linorobot/linorobot2
Autonomous mobile robots (2WD, 4WD, Mecanum Drive)
What it solves
linorobot2 provides a complete foundation for taking a robot from bare hardware to fully autonomous navigation. It eliminates the need to manually wire together complex ROS2 components like Nav2, SLAM Toolbox, and robot_localization, providing a pre-integrated stack that works across both physical hardware and Gazebo simulations.
How it works
The project integrates several key ROS2 packages to handle different aspects of autonomy:
Navigation and Mapping: It uses Nav2 for autonomous navigation and SLAM Toolbox for mapping.
Localization: It employs the robot_localization EKF (Extended Kalman Filter) for precise positioning.
Hardware Integration: It supports 2WD, 4WD, and Mecanum drive configurations. It uses micro-ROS firmware for microcontrollers (like Teensy) to publish odometry and IMU data as ROS2 nodes.
Simulation: It provides a templated URDF for robots equipped with lidar and depth cameras, allowing users to test configurations in Gazebo before deploying to hardware. It also includes tools to convert floor plan images or SLAM maps into 3D Gazebo worlds.
Who it’s for
- Robot builders who want to assemble a physical robot from off-the-shelf parts and achieve autonomy quickly.
- Developers prototyping new hardware designs or testing autonomy code (like path planners and perception pipelines) in a reproducible simulation environment.
- Students and learners using the project as a step-by-step guide to learning the Nav2 stack.
Highlights
- Unified Config: The same YAML configuration files are used for both simulation and physical hardware, ensuring tuning transfers directly.
- Real-World Simulation: Includes
image_to_gazeboandcreate_worlds_from_mapstools to turn real-world floor plans or SLAM maps into accurate 3D simulation environments. - Broad Sensor Support: Out-of-the-box support for a wide variety of 2D lidars (e.g., RPLIDAR, LD06) and RGBD depth cameras (e.g., Intel RealSense, ZED, OAK-D).
- Hardware-to-Sim Sync: Seamless integration with micro-ROS for microcontroller-level data publishing.
Related
- Project
- Project
- Project
- Project
- Project