Skip to content

Latest commit

 

History

History
 
 

vlp_ws

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Velodyne Workspace

Simulation Setup

Add description in defined robot

  1. Declared necessary argument and your own robot_gazebo.urdf.xacro

    <xacro:arg name="gpu" default="false"/>
    <xacro:arg name="organize_cloud" default="false"/>
    <xacro:property name="gpu" value="$(arg gpu)" />
    <xacro:property name="organize_cloud" value="$(arg organize_cloud)" />
  2. Include the velodyne_description package

    <xacro:include filename="$(find velodyne_description)/urdf/VLP16.urdf.xacro" />
  3. Add LiDAR in the robot

    <xacro:VLP-16 parent="base_footprint" name="velodyne" topic="/velodyne_points" organize_cloud="${organize_cloud}" hz="10" samples="440" gpu="${gpu}">
        <origin xyz="0 0 0.1" rpy="0 0 0" />
    </xacro:VLP-16>
  • You could refer to more information from veloyne_simulator/velodyne_description/urdf/template.urdf.xacro

Launch LiDAR driver with simulated LiDAR

  • Launch example robot with LiDAR

    ros2 launch velodyne_description example.launch.py
  • Launch the LiDAR data process without driver in another terminal

    ros2 launch vlp_cartographer vlp_driver.launch.py is_sim:=True

Sample Robot

  • A given turtlebot waffle model with VLP-16 is provided in velodyne_simulator/velodyne_simulator/urdf/sample_robot.urdf.xacro

  • Launch the sample robot

    ros2 launch velodyne_description example.launch.py robot:=1

LiDAR setup

Hardware Setup

  • Connect the LiDAR to power.
  • Connect the LiDAR to the computer or router using the provided ethernet cable.

Directly Using Computer

  • Connect the LiDAR to the computer using the ethernet cable.
  • Open the computer settings and navigate to Network > Wired.

  • Set the IPv4 configuration to 'manual' and configure the settings as shown in the image below:

Launch the Driver

Pipeline

  • Data process as following: raw data -> pointcloud -> laser scan -> slam method

  • Velodyne driver: velodyne_driver get the raw data from LiDAR.

  • Transform the raw data to pointcloud: velodyne_pointcloud

  • Transform the pointcloud to laser scan: velodyne_laserscan

Operating in a single launch file

ros2 launch vlp_cartographer vlp_driver.launch.py
  • By the above command, the driver, pointcloud and laserscan will be launched.

Published topics

Topic Type Description
/velodyne_packets velodyne_msgs/VelodyneScan raw data
/velodyne_points sensor_msgs/PointCloud2 Point cloud message
/scan sensor_msgs/LaserScan laser scan message

Test with cartographer

  • In another terminal, launch the cartographer node:

    ros2 launch vlp_cartographer cartographer_demo.launch.py

Bringup

  • Build the docker image and workspace

    docker compose up --build
  • LiDAR driver

    docker exec -it ros2-vlp-ws /home/ros2-essentials/vlp_ws/scripts/lidar-driver-bringup.sh
  • After launching the driver, launch the cartographer in another terminal

    docker exec -it ros2-vlp-ws /home/ros2-essentials/vlp_ws/scripts/lidar-slam-bringup.sh

Reference