A ROS2-based autonomous rover platform with navigation capabilities.
Rover0 is a DIY rover platform built with ROS2 (Robot Operating System 2) that integrates:
- Mecanum wheel control
- LiDAR-based mapping and navigation
- IMU-based localization
- Teleoperation capabilities
- Autonomous navigation using Nav2
The system is designed to run on a Raspberry Pi with hardware interfaces for motor control and sensor integration.
- Raspberry Pi (main controller)
- Raspberry Pi Pico (motor controller)
- XV11 LiDAR sensor
- IMU sensor
- Mecanum wheels with encoders
- Custom motor driver board
The project is organized into several modules:
- rover0: Main rover control and ROS2 integration
- motor: Motor control firmware for Raspberry Pi Pico
- lidar: LiDAR sensor control firmware for Raspberry Pi Pico with micro-ROS
- teleop: Teleoperation interface
- uros-agent-lidar: Micro-ROS agent for LiDAR communication
- ROS2 (Humble or later)
- Docker and Docker Compose
- Raspberry Pi with Ubuntu 22.04 or later
- Raspberry Pi Pico with Micro-ROS firmware
-
Clone this repository:
git clone https://github.com/ar90n/rover0.git cd rover0
-
Set up environment variables:
export MOTOR_SERIAL_PORT=/dev/ttyACM0 # Adjust as needed export LIDAR_SERIAL_PORT=/dev/ttyUSB0 # Adjust as needed export FOXGLOVE_WS_PORT=8765 # Optional
docker-compose up
docker-compose -f docker-compose.yml -f overrides/docker-compose.override.rover0.mappning.yml up
rover0 module
docker-compose -f docker-compose.yml -f overrides/docker-compose.override.rover0.dev.yml up
teleop module
docker-compose -f docker-compose.yml -f overrides/docker-compose.override.teleop.dev.yml up
uros-agent-lidar module
docker-compose -f docker-compose.yml -f overrides/docker-compose.override.uros-agent-lidarp.dev.yml up
- Autonomous Navigation: Using ROS2 Nav2 stack
- Mapping: SLAM-based mapping capabilities
- Teleoperation: Remote control via web interface
- Sensor Integration: LiDAR and IMU data fusion
- Simulation Support: Gazebo simulation environment
/modules
: Contains all ROS2 packages and modules/libs
: External libraries and dependencies/overrides
: Docker Compose override files for different configurations/root
: System configuration files
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- ROS2 community
- Nav2 project
- Micro-ROS project