中文 | English
A collection of ROS2 dependency packages for the OSR robot navigation system. This repository consolidates the key ROS2 components required to run the OSR robot, including a LiDAR driver, SLAM mapping, and a local path planner.
osrbot_dependency/
├── Lakibeam_ROS2_Driver/ # ROS2 driver for the LakiBeam series LiDAR
├── ros2_gmapping/ # GMapping SLAM adapted for ROS2
└── teb_local_planner/ # TEB local path planner (ROS2 Humble)
├── teb_local_planner/ # TEB core planning algorithm package
├── costmap_converter/ # Costmap conversion plugin package
└── teb_msgs/ # TEB custom message package
The ROS2 driver for the LakiBeam LiDAR sensor, supporting the LakiBeam1 / LakiBeam1S / LakiBeam1L series. The driver parses point cloud data from incoming UDP packets and publishes it on the /scan (LaserScan) or /pcd (PointCloud2) topics.
Supported Environments:
- Ubuntu 20.04 + ROS2 Foxy
- Ubuntu 22.04 + ROS2 Humble
Key Configurable Parameters:
| Parameter | Description |
|---|---|
hostip |
Target PC IP address (0.0.0.0 to listen on all interfaces) |
port |
Listening port number |
inverted |
Whether the sensor is mounted upside-down |
angle_offset |
Point cloud rotation offset around the Z-axis |
scanfreq |
Scan frequency (10/20/25/30 Hz) |
scan_range_start/stop |
Scan angle range (45°~315°) |
Quick Start:
colcon build
source ./install/setup.bash
ros2 launch lakibeam1 lakibeam1_scan_view.launch.pyReference: Project-MANAS/slam_gmapping
A ROS2 port of the classic OpenSLAM GMapping algorithm, with the following improvements over the original ROS2 adaptation:
- Dynamic parameter handling
- Bug fix for the map update frequency setting
Required Topics: /scan (LiDAR), /odom (Odometry)
Quick Start:
colcon build --packages-select openslam_gmapping slam_gmapping
source ./install/setup.bash
ros2 launch slam_gmapping slam_gmapping.launch.pyKey Configuration Parameters (slam_gmapping/params/slam_gmapping.yaml):
| Parameter | Description |
|---|---|
base_frame |
Robot base frame |
map_frame |
Map frame |
odom_frame |
Odometry frame |
use_sim_time |
Enable simulated clock (set true in simulation environments) |
Adapted for: ROS2 Humble
A ROS2 Humble adaptation of the Timed Elastic Band (TEB) local path planner, integrated with the Nav2 framework. Contains three sub-packages:
Implements the core TEB planning algorithm as a Nav2 local planner plugin. Supports multiple kinematic models including differential-drive, omnidirectional, and Ackermann.
A collection of costmap conversion plugins that transform occupied cells from costmap2d into geometric primitives (points, lines, polygons) for use by the TEB planner.
- License: BSD (some components depend on
MultitargetTracker, which is GPLv3)
Custom ROS2 message definitions for the TEB planner.
After cloning this repository into your ROS2 workspace, run:
cd ~/ros2_ws
# Place the contents of this repository under the src/ directory
colcon build
source ./install/setup.bash- ROS2 Humble (Ubuntu 22.04 recommended)
nav2navigation framework (required by teb_local_planner)pcl,pcl_conversions(required by the LiDAR driver)
Each sub-package follows its original license agreement. Please refer to the LICENSE file within each subdirectory for details.