This repository provides a ROS2 wrapper for the ugv_nav4d library, which is a path planning library designed for autonomous vehicle navigation. The ugv_nav4d_ros2
package enables easy integration of ugv_nav4d into ROS2 environments and provides visualizations for MLS (Multilayered Surface Maps) and TravMap3D (Traversability Map 3D).
- ROS2 integration of the ugv_nav4d library.
- Visualization tools for MLS and TravMap3D in RViz.
- ROS2: Ensure you have
ROS2 Humble
installed on your system. - ugv_nav4d: You will need the original
ugv_nav4d
library. Install it using the instructions here. Source theenv.sh
after installation to make ugv_nav4d library visible for ROS2. See details in documentation of ugv_nav4d. - Build: Build the ROS2 workspace
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
- Launch:
Hint: Adjust the arguments pointcloud_topic and goal_topic. The pointcloud_topic expects a pointcloud map generated and corrected based on a SLAM algorithm. Alternatively, one could also use a PLY file to generate a MLS. See example files here. Most of the parameters in the params.yaml are explained in the original documentation of ugv_nav4d. Please find some new parameters created just for this wrapper explained below.
ros2 launch ugv_nav4d_ros2 ugv_nav4d.launch.py
Parameter | Type | Default Value | Description |
---|---|---|---|
read_cloud_from_ply |
Boolean | false |
Whether to read the point cloud from a PLY file. If false , the cloud is expected from a pointcloud topic. |
read_pose_from_topic |
Boolean | true |
Whether to read the current pose from a topic. If false , the pose is read using TF2 with robot_frame and world_frame . |
map_ply_path |
String | 'path to ply file' |
Path to the PLY file containing the pointcloud map, used when read_cloud_from_ply is true . |
mls_gap_size |
Double | '0.1' |
The gap size used to decide on whether stacked MLS patches can be merged into one patch |
dist_max_x |
Double | '50' |
Maximum length of MLS along x-axis (in meters). |
dist_max_y |
Double | '50' |
Maximum length of MLS along y-axis (in meters). |
dist_max_z |
Double | '50' |
Maximum length of MLS along z-axis (in meters). |
dist_min_x |
Double | '-50' |
Mininum length of MLS along x-axis (in meters). |
dist_min_y |
Double | '-50' |
Mininum length of MLS along y-axis (in meters). |
dist_min_z |
Double | '-50' |
Mininum length of MLS along z-axis (in meters). |
To search for bugs or report them, please use GitHubs [Issue-Tracker](https://github.com/dfki-ric/ugv_nav4d_ros2/issues