yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
WLR722 LiDAR📖
1. Lidar Usage
  • 1. PC Software View Lidar
  • 2. Ros Driver Lidar
2. Cartographer Algorithm
  • 1. Cartographer 2D Mapping
  • 2. Cartographer 3D Mapping
3. Lego Loam Algorithm
  • 1. Compile Lego Loam Algorithm
  • 2. Lego Loam Algorithm Mapping
4. Lio Sam Algorithm
  • 1. Compile Lio Sam Algorithm
  • 2. Lio Sam Algorithm Mapping
5. Autoware Algorithm
  • 1. Compile Autoware Algorithm
  • 2. Autoware Navigation Lidar Adaptation
6. ROS2 Basic Course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
Download
  • 3D_Model_File
  • Source Code
  • PC Software
  • Data Manual
Download ZIP

Welcome to WLR722 LiDAR repository

2. Autoware Navigation Lidar Adaptation

Autoware Navigation Lidar Adaptation

Disclaimer: This lesson has been successfully compiled on the Orin-Nano motherboard. Orin-Nano motherboard system environment: Ubuntu22.04+ROS2-Humble, the compiled autoware algorithm is Autoware.Universe. Since the actual motherboards used are different, the content of this chapter only provides reference source code and reference tutorials. It explains how to use the 32-line lidar point cloud and IMU data from our product in Autoware navigation. The actual Autoware navigation also needs to adapt to your own vehicle chassis. This part requires you to do the adaptation yourself. This lesson does not explain how to adapt your own chassis.

From the official navigation startup tutorial, it can be seen that when Autoware starts, it subscribes to lidar point cloud data and IMU data. The node that subscribes to the lidar point cloud data is /pointcloud_converter, and the node that subscribes to IMU data is /localization/twist_estimator/gyro_odometer. Then, obtain the information of these two nodes through ros2 node as follows,

​x
ros2 node info /pointcloud_converter
/pointcloud_converter
  Subscribers:
    /parameter_events: rcl_interfaces/msg/ParameterEvent
    /sensing/lidar/pointcloud: sensor_msgs/msg/PointCloud2
  Publishers:
    /parameter_events: rcl_interfaces/msg/ParameterEvent
    /rosout: rcl_interfaces/msg/Log
    /sensing/lidar/concatenated/pointcloud: sensor_msgs/msg/PointCloud2
  Service Servers:
    /pointcloud_converter/describe_parameters: rcl_interfaces/srv/DescribeParameters
    /pointcloud_converter/get_parameter_types: rcl_interfaces/srv/GetParameterTypes
    /pointcloud_converter/get_parameters: rcl_interfaces/srv/GetParameters
    /pointcloud_converter/list_parameters: rcl_interfaces/srv/ListParameters
    /pointcloud_converter/set_parameters: rcl_interfaces/srv/SetParameters
    /pointcloud_converter/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomically
  Service Clients:

  Action Servers:

  Action Clients:

From the above, we can see that the lidar point cloud node subscribed by /pointcloud_converter is /sensing/lidar/pointcloud

xxxxxxxxxx
ros2 node info /localization/twist_estimator/gyro_odometer
/localization/twist_estimator/gyro_odometer
  Subscribers:
    /parameter_events: rcl_interfaces/msg/ParameterEvent
    /sensing/imu/imu_data: sensor_msgs/msg/Imu
    /sensing/vehicle_velocity_converter/twist_with_covariance: geometry_msgs/msg/TwistWithCovarianceStamped
  Publishers:
    /diagnostics: diagnostic_msgs/msg/DiagnosticArray
    /localization/twist_estimator/gyro_twist: geometry_msgs/msg/TwistStamped
    /localization/twist_estimator/gyro_twist_raw: geometry_msgs/msg/TwistStamped
    /localization/twist_estimator/twist_with_covariance: geometry_msgs/msg/TwistWithCovarianceStamped
    /localization/twist_estimator/twist_with_covariance_raw: geometry_msgs/msg/TwistWithCovarianceStamped
    /parameter_events: rcl_interfaces/msg/ParameterEvent
    /rosout: rcl_interfaces/msg/Log
  Service Servers:
    /localization/twist_estimator/gyro_odometer/config_logger: logging_demo/srv/ConfigLogger
    /localization/twist_estimator/gyro_odometer/describe_parameters: rcl_interfaces/srv/DescribeParameters
    /localization/twist_estimator/gyro_odometer/get_parameter_types: rcl_interfaces/srv/GetParameterTypes
    /localization/twist_estimator/gyro_odometer/get_parameters: rcl_interfaces/srv/GetParameters
    /localization/twist_estimator/gyro_odometer/list_parameters: rcl_interfaces/srv/ListParameters
    /localization/twist_estimator/gyro_odometer/set_parameters: rcl_interfaces/srv/SetParameters
    /localization/twist_estimator/gyro_odometer/set_parameters_atomically: rcl_interfaces/srv/SetParametersAtomically
  Service Clients:

  Action Servers:

  Action Clients:

From the /localization/twist_estimator/gyro_odomete node information queried above, the subscribed imu topic is /sensing/imu/imu_data. Therefore, we get two key pieces of information: the lidar point cloud topic and IMU data topic subscribed by autoware navigation are: /sensing/lidar/pointcloud and /sensing/imu/imu_data. When the 32-line radar publishes topic data, it is necessary to modify the radar and IMU topics to /sensing/lidar/pointcloud and /sensing/imu/imu_data. In the function package we provide, the adaptation has already been done. Enter the following command in the terminal to start the launch file for the 32-line radar adapted to Autoware navigation,

xxxxxxxxxx
ros2 launch vanjee_lidar_sdk start_autoware.py

The parameter table config_autoware.yaml for radar startup is as follows,

xxxxxxxxxx
common:
  msg_source: 1                                   # 0: not use lidar
                                                  # 1: Message from online lidar
                                                  # 2: Message from pcap
                                                  # 3: Message from packet (rostopic)
  send_point_cloud_ros: true                      # true: Send point cloud to ROS for viewing
  send_imu_packet_ros: true                       # true: Send IMU to ROS for viewing
  send_device_ctrl_state_ros: false               # true: Send device state interaction data to ROS for viewing
  recv_device_ctrl_cmd_ros: false                 # true: Subscribe to device state setting topic
  send_packet_ros: false                          # true: Send radar protocol data packet to ROS for viewing
  send_lidar_parameter_ros: false                 # true: Send lidar parameters to ROS for viewing
  recv_lidar_parameter_cmd_ros: false             # true: Receive lidar parameter query/set topic
lidar:
  - driver:
      lidar_type: vanjee_722                        # LiDAR type (for supported radar models, refer to README_CN.md)
      connect_type: 1                               # Connection method 1-udp  2-tcp 3-serial port
      host_msop_port: 3001                          # Host port number for receiving point cloud data
      lidar_msop_port: 3333                         # Radar port number
      start_angle: 270                                # Point cloud start angle
      end_angle: 90                              # Point cloud end angle
      wait_for_difop: true                          # Whether to wait for angle calibration table parameter import
      min_distance: 0.3                            # Point cloud minimum distance
      max_distance: 70                              # Point cloud maximum distance
      use_lidar_clock: false                         # true: Use radar time as message timestamp
                                                    # false: Use computer host time as message timestamp
      pcap_path:                                    # pcap file absolute path
      pcap_repeat: true                             # Whether to loop playback pcap
      pcap_rate: 1                                  # pcap playback speed
      config_from_file: false                       # Get parameters from configuration file
      angle_path_ver:                               # Vertical angle configuration file address
      angle_path_hor:                               # Horizontal angle configuration file address
      imu_param_path:                               # imu parameter configuration file address
      dense_points: false                           # true-Invalid point coordinates are 0, false-Invalid point coordinates are NAN
      ts_first_point: true                          # Whether the point cloud timestamp is the first point's time true-first point's time, false-last point's time
      use_offset_timestamp: true                    # Use relative timestamp true-Each point in the point cloud uses time difference relative to the topic, false-Each point uses UTC time
      publish_mode: 0                               # Echo mode 0-Publish first echo, 1-Publish second echo; 2-Publish both;
      group_address: 0.0.0.0                        # Multicast address
      host_address: 192.168.2.88                    # Host IP address for receiving point cloud data
      lidar_address: 192.168.2.86                   # Radar IP address
      x: 0                                          # x direction offset m
      y: 0                                          # y direction offset m
      z: 0                                          # z direction offset m
      roll: 0                                       # Roll angle offset °
      pitch: 0                                      # Pitch angle offset °
      yaw: 0                                        # Yaw angle offset °
    use_vlan: false                                 # Whether the Packet in PCAP file contains VLAN layer
    ros:
      ros_frame_id: vanjee_lidar                                          # Frame id of packet message and point cloud message
      ros_send_point_cloud_topic: /sensing/lidar/pointcloud                       # Topic used to send point cloud through ROS
      ros_send_imu_packet_topic: /sensing/imu/imu_data                # Topic used to send imu through ROS
      ros_send_device_ctrl_state_topic: /vanjee_lidar_device_ctrl_state   # Topic used to send device ctrl state through ROS
      ros_recv_device_ctrl_cmd_topic: /vanjee_lidar_device_ctrl_cmd       # Topic used to recv device ctrl command through ROS
      ros_packet_topic: /vanjee_lidar_packet                              # Topic used to send packet through ROS
      ros_send_lidar_parameter_topic: /vanjee_lidar_parameter_upload      # Topic used to send lidar parameter through ROS
      ros_recv_lidar_parameter_cmd_topic: /vanjee_lidar_parameter_acquire # Topic used to recv lidar parameter through ROS

In the end, we modified the point cloud topic and IMU data topic to /sensing/lidar/pointcloud and /sensing/imu/imu_data.

The location of the radar parameter table is in the vanjee_lidar_sdk function package directory,

xxxxxxxxxx
vanjee_lidar_sdk/config/config_autoware.yaml

After Autoware is adapted to the radar, start the Autoware navigation launch file. After calibrating the initial position, rviz is shown as follows,

image-20260427155200298

Autoware reference startup navigation command:

xxxxxxxxxx
ros2 launch autoware_launch autoware.launch.xml  map_path:=$HOME/autoware_map/my_map   vehicle_model:=sample_vehicle   sensor_model:=sample_sensor_kit   vehicle_id:=sample_vehicle rviz:=true

This command is for reference only. Actually running it also requires starting the vehicle chassis and writing the Autoware interface for the lower-level control, as well as requiring point cloud maps and other map files. This part needs to be resolved by yourself.

Compile Autoware Algorithm
Introduction to ROS2

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文