Docker configurations for TraveSim and TraveSim Adapters
This is a Docker image build around TraveSim and TraveSim adapters
The best way to run this image is with rocker, ROS custom docker runner.
If you have ROS repos configured in your computer (see here how to do that), you may install rocker
with the command
sudo apt-get install python3-rocker
If you don't have the ROS repos or you don't use a Debian-based distro, you may also install rocker
with pip
python -m pip install rocker
For Intel integrated graphics cards:
rocker --devices /dev/dri/card0 --x11 --network host ghcr.io/thunderatz/travesim_pkg:stable
For NVidia GPUs:
rocker --nvidia --x11 --network host ghcr.io/thunderatz/travesim_pkg:stable
Running on linux:
docker run -it --rm \
--env="DISPLAY" \
--env="TERM" \
--env="QT_X11_NO_MITSHM=1" \
--env="XAUTHORITY=/tmp/.docker.xauth" \
--volume /tmp/.docker.xauth:/tmp/.docker.xauth \
--volume /tmp/.X11-unix:/tmp/.X11-unix \
--network host \
ghcr.io/thunderatz/travesim_pkg:stable
The container accepts two enviroment variables as running options. To pass enviroment variables to docker or rocker use the option --env NAME[=VALUE] [NAME[=VALUE] ...]
or -e NAME[=VALUE] [NAME[=VALUE] ...]
.
There are two avaible graphical interfaces, TraveSim's gazebo interface and TraveSim Adapters configurers interface. The configurers' interface is always shown, but gazebo in TraveSim can run headless. To do so use the GUI
option, values can be 0 or 1, default is 1, so the default is to show both GUIs.
For example using rocker:
rocker --devices /dev/dri/card0 --env GUI=0 --x11 --network host ghcr.io/thunderatz/travesim_pkg:stable
For example using docker on linux:
docker run -it --rm \
--env="DISPLAY" \
--env="TERM" \
--env="QT_X11_NO_MITSHM=1" \
--env="XAUTHORITY=/tmp/.docker.xauth" \
--env="GUI=0" \
--volume /tmp/.docker.xauth:/tmp/.docker.xauth \
--volume /tmp/.X11-unix:/tmp/.X11-unix \
--network host \
ghcr.io/thunderatz/travesim_pkg:stable
Travesim support games with three or five robots per team. To choose the configuration use the ROBOTS_PER_TEAM
option, passing the number of robots per team, values can be 3 or 5, default is 3.
For example using rocker:
rocker --devices /dev/dri/card0 --env ROBOTS_PER_TEAM=5 --x11 --network host ghcr.io/thunderatz/travesim_pkg:stable
For example using docker on linux:
docker run -it --rm \
--env="DISPLAY" \
--env="TERM" \
--env="QT_X11_NO_MITSHM=1" \
--env="XAUTHORITY=/tmp/.docker.xauth" \
--env="ROBOTS_PER_TEAM=5" \
--volume /tmp/.docker.xauth:/tmp/.docker.xauth \
--volume /tmp/.X11-unix:/tmp/.X11-unix \
--network host \
ghcr.io/thunderatz/travesim_pkg:stable