Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Getting Started with the Velodyne HDL-32E
Description: Using the Velodyne stack to connect to and display data from a Velodyne HDL-32E LIDARKeywords: Velodyne, HDL-32, LIDAR, point cloud,
Tutorial Level: BEGINNER
Next Tutorial: Getting Started with the Velodyne HDL-64E
Before starting this turorial, please complete installation as described in the ROS installation instructions. This tutorial assumes that Ubuntu is being used. Otherwise, check out and install the code manually from the source control repository
Install Driver
Install the Velodyne stack from the repositories by running
sudo apt-get install ros-VERSION-velodyne
Connect to the LIDAR
- Power the LIDAR via the included adapter
- Connect the LIDAR to an Ethernet port on your computer.
- Statically assign an IP to this port in the 192.168.3.x range.
sudo ifconfig eth0 192.168.3.100
- Add a static route to the LIDAR's IP address. The IP address can be found on the CD case which was included with the LIDAR.
sudo route add 192.168.XX.YY eth0
View Data
- Convert the provided calibration data from the standard Velodyne XML format to the node's YAML format. It is usually kept in the "DSR Viewer" folder on the CD which was included with the LIDAR.
rosrun velodyne_pointcloud gen_calibration.py 32db.xml
- Launch the provided pointcloud generation launchfile, specifying the absolute path of the calibration file that was generated in the previous step.
roslaunch velodyne_pointcloud 32e_points.launch calibration:=/home/user/32db.yaml
- Launch rviz, with the "velodyne" frame as the fixed frame.
rosrun rviz rviz -f velodyne
- In the "displays" panel, click "Add", then select "Point Cloud2", then press "OK".
- In the "Topic" field of the new "Point Cloud2" tab, enter "/velodyne_points"
Troubleshooting
All LIDARs we have seen multicast in the 192.168.3.XX subnet. If this doesn't work, you can use Wireshark to verify the subnet the packets are being sent to.