isaac_ros_hesai#

Source code available on GitHub.

https://gitlab-master.nvidia.com/isaac/isaac/-/raw/release-4.3/docs/nvidia-isaac-ros//resources/isaac_ros_docs/repositories_and_packages/isaac_ros_nova/hesai_xt32.png/

Overview#

A LIDAR uses light in the form of a pulsed laser to measure ranges (variable distance) as part of a perception for understanding of the robot and its environment.

The isaac_ros_hesai driver provides support for the XT32 mid-range LIDAR that provides 32 beam, 360 degree sensing with from 0.05m to >100m with a field of view of -16 to 31 degrees.

Quickstart#

Set Up Development Environment#

  1. Set up your development environment by following the instructions in getting started.

  2. (Optional) Install dependencies for any sensors you want to use by following the sensor-specific guides.

    Note

    We strongly recommend installing all sensor dependencies before starting any quickstarts. Some sensor dependencies require restarting the development environment during installation, which will interrupt the quickstart process.

Build isaac_ros_hesai#

  1. Launch the Docker container using the run_dev.py script:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
    ./scripts/run_dev.py
    
  2. Install the prebuilt Debian package:

    NVIDIA Internal: Run these commands to add the internal apt repository:

    sudo apt install curl -y
    k="/usr/share/keyrings/nvidia-isaac-ros.gpg"
    curl -fsSL https://isaac.download.nvidia.com/isaac-ros/repos.key | sudo gpg --dearmor | sudo tee -a $k > /dev/null
    f="/etc/apt/sources.list.d/nvidia-isaac-ros.list" && sudo touch $f
    s="deb [signed-by=$k] https://urm.nvidia.com/artifactory/sw-isaac-staging-debian-local jammy release-3.3"
    grep -qxF "$s" $f || echo "$s" | sudo tee -a $f
    
    pin_content=$'package: *\nPin: origin isaac.download.nvidia.com\nPin-Priority: 400'
    echo "$pin_content" | sudo tee /etc/apt/preferences.d/isaac-ros
    
    sudo apt-get update
    
    sudo apt-get install -y ros-humble-isaac-ros-hesai
    

Run Launch File#

  1. Continuing inside the Docker container, launch the Hesai driver:

    ros2 launch isaac_ros_hesai hesai.launch.py
    

Visualize Results#

  1. Open a new terminal inside the Docker container:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
       ./scripts/run_dev.py
    
  2. Use rviz2 to visualize the point cloud:

    rviz2 -d $(ros2 pkg prefix --share isaac_ros_hesai)/config/hesai.rviz
    
    hesai_rviz

Troubleshooting#

Isaac ROS Troubleshooting#

For solutions to problems with Isaac ROS, see troubleshooting.

API#

Usage#

ros2 launch isaac_ros_hesai hesai.launch.py namespace:=<Namespace> replay:=<Enable replay from rosbag>

ROS Topics Published#

ROS Topic

Interface

Description

/hesai_lidar/lidar_packets

hesai_ros_driver/msg/UdpFrame

Lidar UDP packets.

/hesai_lidar/lidar_points

sensor_msgs/msg/PointCloud2

Lidar point cloud.