ROS 2 Humble package for the RAIL Group's LoCoBot. This project provides a complete software stack for a mobile robot based on the Kobuki base, equipped with an Intel RealSense camera, RPLidar, and a custom pan-and-tilt camera tower.
- OS: Ubuntu 22.04 (Jammy Jellyfish)
- ROS 2: Humble Hawksbill
- Hardware (Optional for simulation):
- Kobuki Base
- RPLidar A1/A2
- Intel RealSense D435/D455
-
Clone the repository with submodules:
git clone --recursive https://github.com/RAIL-group/rail_robot.git cd rail_robot -
Run the installation script: This script installs ROS 2 dependencies, initializes
rosdep, sets upudevrules, and builds the workspace.chmod +x install.sh ./install.sh
-
Source the workspace: The installation script adds the necessary source commands to your
~/.bashrc. Simply restart your terminal or run:source ~/.bashrc
The most convenient way to launch the robot is using the rail_robot_core.launch.py file, which can handle simulation, hardware, SLAM, and Navigation.
ros2 launch rail_robot rail_robot_core.launch.pyros2 launch rail_robot rail_robot_core.launch.py hardware_type:=gz_classicTo visualize the robot and its sensor data in Rviz:
ros2 launch rail_robot rail_robot_rviz.launch.pyTo launch the physical robot drivers (Kobuki, Lidar, Camera):
ros2 launch rail_robot rail_robot_hardware.launch.pyArguments:
use_camera: Whether to launch the RealSense camera (default:true).
To launch only the simulation environment:
ros2 launch rail_robot rail_robot_simulation.launch.pyArguments:
world_filepath: Path to the Gazebo world file (default:floor.world).robot_name: Namespace for the robot (default:robot).
- SLAM (Mapping):
ros2 launch rail_robot rail_robot_slam.launch.py
- Navigation:
ros2 launch rail_robot rail_robot_navigation.launch.py
rail_robot: Main integration package containing URDF models, launch files, and configurations.rail_msgs: Custom message and service definitions (e.g.,SaveLocation,GoToLocation).pano_camera: Package for panoramic camera processing and imaging.planner: High-level planning utilities and scripts.kobuki: (Submodule) Drivers and nodes for the Kobuki base.realsense-ros: (Submodule) ROS 2 wrapper for Intel RealSense cameras.sllidar_ros2: (Submodule) ROS 2 driver for RPLidar.