# clone the repo
git clone https://github.com/PUTvision/LunarSim
# change the working directory to LunarSim
cd ./LunarSim
# build docker image
docker build -t lunarsim:latest .
# run docker container
bash ./run.sh
# run the simulator
./LunarSim.x86_64
Note: DO NOT SOURCE ROS IN TERMINAL WHERE YOU RUN LUNARSIM
# connect to container
docker exec -it lunarsim bash
# source ROS environment
source /opt/ros/humble/setup.bash
# then you can run sanity checks and display topics
ros2 wtf
ros2 topic list
You can find sample image sequences generated with the simulator here.
We also provide our real images recorded during analogue lunar missions (link).
-
/cmd_vel
(geometry_msgs/Twist)The velocity command for the robot.
-
/lunarsim/gt/pose
(geometry_msgs/PoseStamped)The ground truth pose of the robot.
For example, you can use terminal command
ros2 topic pub --once /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 1.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
-
/lunarsim/imu
(sensor_msgs/Imu)The IMU data.
-
/lunarsim/camera_left/raw
(sensor_msgs/Image)or
/lunarsim/camera_left/compressed
(sensor_msgs/CompressedImage)The left camera image.
-
/lunarsim/camera_right/raw
(sensor_msgs/Image)or
/lunarsim/camera_right/compressed
(sensor_msgs/CompressedImage)The right camera image.
-
/lunarsim/camera_depth/depth
(sensor_msgs/Image)The depth image.
-
Object detection – embedded device
./examples/jetson_nx_od_yolo
-
Visual odometry – x64-based mini-PC
./examples/amd64_stella_vslam
-
Simple moving-average filter – microcontroller
./examples/raspberry_pico_smaf
-
image segmentation – FPGA
./examples/versal_vck190_segment
If you use this code for your research, please cite our paper:
@Article{app132212401,
AUTHOR = {Pieczyński, Dominik and Ptak, Bartosz and Kraft, Marek and Drapikowski, Paweł},
TITLE = {LunarSim: Lunar Rover Simulator Focused on High Visual Fidelity and ROS 2 Integration for Advanced Computer Vision Algorithm Development},
JOURNAL = {Applied Sciences},
VOLUME = {13},
YEAR = {2023},
NUMBER = {22},
ARTICLE-NUMBER = {12401},
URL = {https://www.mdpi.com/2076-3417/13/22/12401},
ISSN = {2076-3417},
DOI = {10.3390/app132212401}
}