This repository contains ROS 2 packages for the Robotino4 platform (base drivers, navigation integration and robot description/simulation). Each package in this repository includes a tutorial in its docs/ folder that explains the available launch files and installiation guide for common robotic tasks (simulation, mapping, navigation, teleop, sensor bring‑up).
Supported platform
- Ubuntu 22.04
- ROS 2 Humble
Packages in this repository
- robotino4 — base node, serial drivers, odometry, Nav2 integration.
- robotino4_description — URDF, Gazebo worlds, models, RViz configs and sensor launch files.
Documentation and tutorials
- Each package contains a tutorial under docs/ that focuses on the launch files:
- docs/robotino4/ — explains installiations and launch files.
- docs/robotino4_description/ — explains Robotino in Gazebo simulation use case.
- robotino4/launch/robotino4_base.launch.py
- Purpose: Start the base node, serial interface, odometry and TF for the real robot.
- Use when running on a physical Robotino with proper serial connection.
- robotino4/launch/robotino4_teleop.launch.py
- Purpose: Start teleoperation (keyboard/joystick) mapped to the base.
- Use for manual driving, testing safety limits and tuning.
- robotino4/launch/nav2_robotino.launch.py
- Purpose: Full Nav2 bringup with robot-specific parameters and controllers (DWB).
- Use for autonomous navigation on the real robot (requires sensors and localization).
- robotino4/launch/cartographer_robotino.launch.py
- Purpose: Run Cartographer for SLAM/mapping.
- Use for offline or online map building (see cartographer config in robotino4_description/config).
- robotino4/launch/robotino4_lidar.launch.py
- Purpose: Bring up Sick LMS100 (or configured lidar) driver and topics.
- Use when attaching the specified lidar to the robot.
- robotino4/launch/nav2_seg.launch.py
- Purpose: Nav2 bringup using the Segmentation Costmap Plugin (semantic costmaps).
- Use when you want segmentation-based obstacle handling -see docs/robotino4 for configuration.
- This requires the Segmentation-Costmap-Plugin Package - see our ROS2 Semantic Navigation repository
- robotino4_description/launch/robotino4_gazebo.launch.py
- Purpose: Spawn the Robotino4 model in Gazebo with sensors for simulation.
- Use for simulation, algorithm testing and visualization without hardware.
- robotino4_description/launch/robotino4_realsense.launch.py
- Purpose: Start RealSense (or similar) sensor bridges used in descriptors and perception.
- Use when running perception stacks that require depth/color streams.
- Clone into your ROS 2 workspace:
cd ~/ros2_ws/src git clone <this-repo-url>
- Install dependencies:
rosdep install --from-paths src --ignore-src -r -y
- Build:
cd ~/ros2_ws colcon build
- Source:
source ~/ros2_ws/install/setup.bash
- Examples:
- Real robot base:
ros2 launch robotino4 robotino4_base.launch.py
- Nav2 (real or simulated robots; ensure sensors/localization are running):
ros2 launch robotino4 nav2_robotino.launch.py
- Segmentation-based Nav2:
ros2 launch robotino4 nav2_seg.launch.py
- Gazebo simulation:
ros2 launch robotino4_description robotino4_gazebo.launch.py
- Real robot base:
Where to find the launch-file tutorial
- Open docs// in the corresponding package directory. The tutorial lists:
- Every launch file,
- Required preconditions (hardware, topics, parameters),
- Typical command examples,
- Troubleshooting tips and parameter locations.