This is a ROS 2 (Humble) version of the Sawppy the Rover. A C++ version and a Python version of the lx16a controller are included. Besides, a PS3 joy controller and a hokuyo laser can be used.
cd ~/ros2_ws/src
git clone https://github.com/mgonzs13/ros2_rover
cd ~/ros2_ws
rosdep install --from-paths src -r -y
colcon build
You can create a docker image to test this repo. Use the following common inside the directory of ros2_rover.
docker build -t rover .
After the image is created, run a docker container with the following command.
docker run -it --rm rover
ros2 launch rover_bringup rover.launch.py
A Linux service can be created to control the execution and launch everything at boot time. To create the rover service, the following commands are used:
cd ~/ros2_ws/src/ros2_rover/rover_service
sudo ./install.sh
Check rover service:
sudo service rover status
ros2 launch rover_gazebo moon.launch.py
ros2 launch rover_gazebo mars.launch.py
ros2 launch rover_gazebo forest.launch.py
The v0.7
version has been used in the work Comparison of Concentric Surface Planetary Explorations Using an Ackerman Rover in a Lunar Simulation
from the 2024 International Conference on Space Robotics (iSpaRo)
.
@INPROCEEDINGS{10685849,
author={González-Santamarta, Miguel Á. and Rodríguez-Lera, Francisco J.},
booktitle={2024 International Conference on Space Robotics (iSpaRo)},
title={Comparison of Concentric Surface Planetary Explorations Using an Ackerman Rover in a Lunar Simulation},
year={2024},
volume={},
number={},
pages={239-244},
keywords={Spirals;Navigation;Moon;Cameras;Sensors;Visual odometry;Testing},
doi={10.1109/iSpaRo60631.2024.10685849}
}