Disclaimer: This model and the simulation are still in development and subject to change. If you want to contribute to the project, contact us with your plans Discord.
This repository contains a URDF representation of ExoMy, that can be used in the visualization tool rviz2 and the simulation environment Gazebo.
The software is supposed to run on a more powerful machine than the Raspberry Pi. It was tested on a laptop with Ubuntu 20.04.
-
Clone this repository
git clone https://github.com/esa-prl/ExoMy_Model
next to theExoMy_Software
folder -
Be sure to be on the branch
ros2/foxy
on both repositories -
To allow programs being opened from within the docker container run
xhost +local:docker
-
Change to the folder
ExoMy_Model/docker
-
Start the Docker container with
docker-compose run --name exomy_sim exomy_sim
-
Inside the docker run
colcon build
-
Followed by
source install/setup.zsh
-
Launch the simulation with
ros2 launch exomy_sim_launch simulation.launch.py
-
Rviz2 and gazebo should open and you can drive around with the gamepad
-
If you wanna use the web GUI you have to start another terminal in the container
-
You can do that from the host with
docker exec -it exomy_sim zsh
-
Change to the directory
exomy_ws/src/exomy/gui
-
The commands to start the http-server and ros webbridge were put in a script
-
Start the script with
sh run_gui.sh
-
It should show you an ip address that you can click on or copy into your browser
-
The Web GUI should show up and you can use it to drive around
When running on a slower system, e.g a Virtual Machine, the spawn_entity.py
script could fail, due to a slow startup time of Gazebo.
For this case the launch file spawn_exomy.launch.py
is provided.
To use it the line spawn_rover
in the return LaunchConfiguration()
needs to be commented out.
Then the simulation.launch.py
can be run.
When Gazebo is launched properly the spawn_exomy.launch.py
can be run.