# Altos V2 User Guide

**URL:** <https://forum.altosradar.com/t/altos-v2-user-guide/35>\
**Category:** Guides\
**Tags:** demo, support, guide\
**Created:** [July 31, 2024, 1:44pm UTC](https://forum.altosradar.com/t/altos-v2-user-guide/35 "2024-07-31T13:44:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![liniu](https://yyz1.discourse-cdn.com/flex003/user_avatar/forum.altosradar.com/liniu/32/5_2.png) [@liniu](https://forum.altosradar.com/u/liniu)\
**Post date:** [July 31, 2024, 1:44pm UTC](https://forum.altosradar.com/t/altos-v2-user-guide/35/1 "2024-07-31T13:44:03Z")

</div>

# Intro

[V2] Specification: [EN](https://nx35326.your-storageshare.de/s/FMJCp94sgFGCAp6), [CN](https://nx35326.your-storageshare.de/s/Mi3AsQzA7HxSGqz)  
Demo Videos: [YouTube](https://www.youtube.com/@AltosRadar), [bilibili](https://space.bilibili.com/3493282053097802)  
Linkedin: [Link](https://www.linkedin.com/company/altos-radar)  
Papers & Datasets: [Link](https://forum.altosradar.com/t/papers-dataset-with-altos-radar/62)

# Setup

## Hardware Setup

Assemble the cable harness following this guide: [Link to document](https://nx35326.your-storageshare.de/s/tr32SXD34D6qFbm)  
Input Power Requirement: 9–36 V, \>25 W  
Power Connector: 5.5 × 2.1 mm barrel jack (default)  
Ethernet Connector: 100BASE‑T1 or RJ45 (via adapter)  
Further details regarding the CAD file and cable harness are provided in the following sections.

> [@](#):
>
> ### ⚠ Warning
> 
> Please take care when plugging in the connector: [Link to document](https://nx35326.your-storageshare.de/s/XKdFXbF8n8xBxrm)

> [@](#):
>
> ### ⚠ Warning
> 
> Please note that not all USB-A/USB‑C to Ethernet adapters are compatible with the radar sample. Faulty adapters have been known to cause operational issues. Please refer to [Known Good Ethernet to USB-C/USB-A adapters](https://forum.altosradar.com/t/known-good-ethernet-to-usb-c-usb-a-adapters-for-altos-v1-radar/21)

Connect the power source to the device. The board will then begin its power‑on sequence, which typically takes approximately 10–20 seconds to complete.

> [@](#):
>
> ### ⚠ Warning
> 
> Once the sample has powered on and entered normal operation, it will warm up rapidly. Please exercise caution when handling the sample during or immediately after operation.

## Software Setup

SW Requirements for ROS driver: ROS 1 Noetic + Ubuntu 20.04 or ROS 2 (compatible distributions)  
Default IP Address: 192.168.3.10  
Further details regarding the software interface can be found in the following sections.

Open Settings in Linux and navigate to the Network tab.

 ![image](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/e6d283621f4cf303c8c649f67c3e67bc361ee797.png)

If your machine has multiple network interfaces, you will see several devices listed—similar to the screenshot above. Locate the device that corresponds to the Ethernet connection used with the radar sample. In the example shown, a USB‑C adapter was used, so the device appears as “USB Ethernet.”  
Click the gear icon next to the appropriate network device, then switch to the IPv4 tab.  
Under IPv4 Method, select Manual.  
In the Addresses section, add a new entry with the following values:

```auto
Address: 192.168.3.1
Netmask: 255.255.255.0

```

Leave the Gateway field empty. The window should now appear like this.  
Click Apply to save the changes.

 ![image](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/c7548f144a066508eab657d5710397755b733f42.png)

## Changing IP address

With radar powered on and connected to a PC.  
In a web browser, type in address [http://192.168.3.10:3000](http://192.168.3.10:3000)  
Then click on “Network configuration”  
Then type the address and click “Apply”

> [@](#):
>
> ### ⚠ Warning
> 
> Please ensure that the `/24` subnet notation is retained in the radar’s IP address configuration, i.e., the address should be formatted as `xxx.xxx.xxx.xxx/24`.
> 
> The radar and the gateway (data receiver) must be configured with IP addresses that belong to the same subnet, but each must have a unique address within that subnet.  
> For multicast, the IP address of **gateway** must be entered in the ROS driver:
> 
> - [V2] LOCALIP: [altosRadarParse.cpp #L30](https://github.com/Altos-Radar/altosRadarRosV2/blob/main/src/altosradar/src/altosRadarParse.cpp#L30) (ROS1) or [altosRadarParse.cpp#L70](https://github.com/Altos-Radar/altosRadarRos2_V2/blob/main/src/altosradar/src/altosRadarParse.cpp#L70) (ROS2)

 ![change IP](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/72cb79124cd8b5dc94905fabcd8f7fbbed38626c.jpeg)

## Changing Installation Height [V2]

With radar powered on and connected to a PC.  
In a web browser, type in address [http://192.168.3.10:3000](http://192.168.3.10:3000)  
Then click on “Installation Configuration”.  
Then select the box “Flip points below ground” under “Pointcloud”.  
Then type in “Installation height (meters)” and click “Apply”.  
Power cycle the radar and the new height is set.

“Installation height (meters)” is the vertical distance from the center of the radar to the ground.

 ![Installation Height](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/dfa751d721936a5cee892b9e96276286937f844e.png)

> [@](#):
>
> ### ⚠ Warning
> 
> For installation on an AGV, vehicle or mobile robot, where a “ground” exists, please set the correct installation height. The radar should be installed perpendicular to the ground.
> 
> For installation on drone or UAV, or the radar is not installed perpendicular to the ground, please uncheck the box “Flip points below ground”.
> 
> The measured x- and y-coordinates of radar detections will be not affected no matter whether the box is checked or not.

## Changing Multi/Unicast Destination Address

The multi/unicast destination address can be configured in the “Installation Configuration” section.

> [@](#):
>
> For multicast:  
> The destination **IP address** must be entered in the ROS driver:
> 
> - [V2] GROUPIP: [altosRadarParse.cpp#L28](https://github.com/Altos-Radar/altosRadarRosV2/blob/main/src/altosradar/src/altosRadarParse.cpp#L28) (ROS1) or [altosRadarParse.cpp#L36](https://github.com/Altos-Radar/altosRadarRos2_V2/blob/main/src/altosradar/src/altosRadarParse.cpp#L36) (ROS2)

> [@](#):
>
> For unicast:  
> The destination **IP address** must be a unique address within the same subnet as the radar. The data receiver (e.g. the PC) must be configured to use this IP address.  
> The destination **IP address** must be entered in the ROS driver:
> 
> - [V2] LOCALIP: [altosRadarParse.cpp #L30](https://github.com/Altos-Radar/altosRadarRosV2/blob/main/src/altosradar/src/altosRadarParse.cpp#L30) (ROS1) or [altosRadarParse.cpp#L70](https://github.com/Altos-Radar/altosRadarRos2_V2/blob/main/src/altosradar/src/altosRadarParse.cpp#L70) (ROS2)

For both multicast and unicast, the destination **port** must be entered in the ROS driver:

- [V2] GROUPPORT: [altosRadarParse.cpp#L29](https://github.com/Altos-Radar/altosRadarRosV2/blob/main/src/altosradar/src/altosRadarParse.cpp#L29) (ROS1) or [altosRadarParse.cpp#L30](https://github.com/Altos-Radar/altosRadarRos2_V2/blob/main/src/altosradar/src/altosRadarParse.cpp#L30) (ROS2)

## Selecting Operating Mode

[V2] Altos radar supports different max-range mode, like 80m-320m, 40m-120m, 80m-500m, etc.

Take “80m-320m” mode as an example. In each frame of point cloud, the radar outputs 2 sub frames of data, one of 0-80m range (with higher range resolution) and another subframe with point cloud between 80m to 320m (with lower range resolution).

The operating mode can be selected at the drop down manual of “Profile” under “Installation configuration”.

The operating mode can be changed in real time with the radar stopping for seconds.

 ![Operating Mode](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/50ad60428a223f50a50a864434a242fa12711671.png)

## Config with Command Line

In the web GUI, clicking “CURL” besides the button “APPLY” can generate the command line. Change the values in the command line by need.

# Software Interface

The sensor sends out point clouds as UDP packet via Ethernet.  
[V2] C++ Header for UDP: [pointCloud.h](https://github.com/Altos-Radar/altosRadarRosV2/blob/main/src/altosradar/src/pointCloud.h)  
[V2] Interface Control Document: [Link to document](https://nx35326.your-storageshare.de/s/pPem2WrLxLFDEd7)

## ROS Driver

[V2] ROS1 noetic: [Link to repo](https://github.com/Altos-Radar/altosRadarRosV2)  
[V2] ROS2: [Link to repo](https://github.com/Altos-Radar/altosRadarRos2_V2)

UDP data is converted into standard ros msg format: sensor\_msgs/PointCloud2.  
The data fields of pcl::PointXYZHSV:

- x, y, z: coordinates in [m]. The origin point is the center of radar radome. The coordinate system is right-handed: x-forward, y-left and z-up.
- h: measured relative doppler velocity in [m/s].
- s: estimated RCS in [square meter] based on SNR, distance and angle. RCS, [Radar cross section](https://en.wikipedia.org/wiki/Radar_cross_section) indicates the reflection strength from an object and can be used in a certain way for detection confidence or reliability. The value is on a linear scale [sm], not logarithmic [dBsm].
- v: moving status, [-1,0,1] = [moving towards, standing, moving away]. We do not use any external data, e.g. from IMU, but only the radar point cloud to estimate the ego velocity and to determine the point moving status.

> [@](#):
>
> ### ⚠ Warning
> 
> The coordinate system of point clouds in the origin UDP data is: x-forward, y-left and z- **down**.  
> The elevation is flipped in the ROS driver to make the coordinate system right-handed: [altosRadarParse.cpp#L125](https://github.com/Altos-Radar/altosRadarRosV2/blob/main/src/altosradar/src/altosRadarParse.cpp#L125) (ROS1)

## Parser for Non-ROS User [V2]

[Link to repo](https://github.com/Altos-Radar/altosV2Driver/tree/main)  
This is only a C++ parser of UDP data for radar point cloud. Storage, visualization, playback or other functions are not realized.

# PTP and Timestamps

PTP manual: [Link to document](https://nx35326.your-storageshare.de/s/cA8Hm9yoX5RY4JN)  
The example provided in the manual matches the default settings in the configuration page. Please do not change the default settings.

## ROS timestamps

The actual capturing / measurement time of each frame is sent out in the UDP packets, see [pointCloud.h#L24](https://github.com/Altos-Radar/altosRadarRosV2/blob/main/src/altosradar/src/pointCloud.h#L24)  
The default header.stamp uses ros::Time::now() in the PC, since it is easy for visualization in rviz without correct PTP time, see [altosRadarParse.cpp#L223](https://github.com/Altos-Radar/altosRadarRosV2/blob/main/src/altosradar/src/altosRadarParse.cpp#L223)  
After setting up PTP, you can decode the timestamp from UDP packets and save it into header.stamp.  
The timestamp is generated at the midpoint of the modulation.

> [@](#):
>
> ### ⚠ Warning
> 
> Timestamps on point clouds are in [UTC](https://en.wikipedia.org/wiki/Coordinated_Universal_Time) on V2. On V1, timestamps are in [TAI](https://en.wikipedia.org/wiki/International_Atomic_Time) if PTP is configured. If you have a driver that was written for V1, please take this into account. V2 can be configured to use TAI while using PTP by setting utc\_offset in the PTP configuration to 0. utc\_offset should be 37 otherwise.

## FPS limit

The FPS limit is configurable in the “Installation configuration” section.  
The maximum supported FPS is 15Hz.

## Second offset-based triggering

Triggering with a configurable offset from the UTC second can be enabled and adjusted in the “Installation configuration” section. To use the second offset, ⚠ the FPS limit must be activated and set to an integer value; otherwise, some triggers may be skipped.

Each trigger event generates a number of frames equal to the configured FPS limit. The trigger time—or equivalently, the timestamp of the first frame—is aligned with the integer second boundary of the reference time, shifted by the specified second offset.

Trigger timing typically exhibits jitter in the range of tens of microseconds (μs).

 ![image](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/193ef922b941f05c11a8edf882b3526e5e348e18.png)

# Firmware Update

With radar powered on and connected to a PC.  
In a web browser, type in address [http://192.168.3.10:8080](http://192.168.3.10:8080)  
Then drag the \*.SWU files that Altos Radar provided to the software update box on the webpage.

 ![sw update](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/aa3ba836b1f14c7ba46b2d88d44809994b5a82f7.jpeg)

After a minute or so, if it succeeded there will be a message and the radar will restart.  
Alternatively, once the message “SWUPDATE successful !” appeared, it’s OK to power cycle the radar manually.

 ![updated succeed](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/f7ecabcc00ca89a46ce2631b16406b65c9df3970.jpeg)

> [@](#):
>
> ### ⚠ Warning
> 
> There is an issue after firmware update that the webpage could not be accessed with the current browser.  
> Please hard/force refresh the webpage, e.g. Ctrl + Shift + R in Firefox.

## Update with Command Line

`curl --form file='@altos-v2-rootfs-xxxx.swu' http://192.168.3.10:8080/upload`

Replace the swu file name and IP address if changed.  
Wait a few minutes after the curl command completes and the radar will automatically reboot

# CAD File

[V2] [Link to step file](https://nx35326.your-storageshare.de/s/iqQCAMfcy6FWj7Q)

# Cable Harness

Altos radar uses a 2+6 pin radar connector, including DC voltage supply and 100 base-T1.

**Connector Pin Assignment:** [Link to document](https://nx35326.your-storageshare.de/s/8sewmb92iatTtMM)

 ![Altos V2 Pinout](https://canada1.discourse-cdn.com/flex003/uploads/altosradar/original/1X/541dad36bc1e45a20e804576836996c3b261b515.png)

# Errata

[Link to document](https://nx35326.your-storageshare.de/s/mif8eR2kjre5oxf)  
Please ask your contact at Altos Radar for password.

# Interference Avoidance

[V2] We provide a [dedicated SW](https://nx35326.your-storageshare.de/s/ozZMQ5ZCepAq2ne) for interference avoidance between 2-4 Altos V2 radars by using different operation frequencies.  
Please ask your contact at Altos Radar for password.

# Support

If you require further assistance, please contact our team directly at [support@altosradar.com](mailto:support@altosradar.com). We will respond as soon as possible.
