See here how to build and program our meter device.
Before starting, here you can check how to run a standalone (without ROS) Gazebo Simulator on Docker.
Our image can be found here, and integrates both, Gazebo+Turtlebot Worlds+ROS2.
First of all, you need to build a Docker image (attention, it is a large image ~6GB):
$ git clone git@github.com:S2-group/ros-configurations.git
$ cd ros-configuration/docker/ros2/gazebo/large/
$ docker build -t gazebo-ros2 .
Now you need to configure your OS for Docker to run GUI apps. Note that the right thing would be to connect to the Gazebo server (gzserver) from a remote client (gzclient). However, we want to reduce network overhead. Therefore, we choose to run Docker apps with Rocker.
Install the Rocker:
$ pip install rocker
Running with NVidia display cards:
$ rocker --nvidia --x11 --home gazebo-ros2
Running with other/generic cards:
$ rocker --devices /dev/dri/card0 --x11 --home gazebo-ros2
From now on (if you followed the previous commands) you will be in the Docker container shell.
Set the environment variables:
# source source.sh
Run a simulation example:
# ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
Remember to kill the Gazebo server before running something else:
# plill gzserver
This will help you to run a complete experiment with a simulated turtlebot.
Compile your ROS1+Gazebo+Turtlebot image:
$ git clone git@github.com:S2-group/ros-configurations.git
$ cd ros-configuration/docker/ros/gazebo/large/
$ docker build -t ros-gazebo-turtlebot .
Run your image:
$ rocker --devices /dev/dri/card0 --x11 --home ros-gazebo-turtlebot
Set the environment variables:
# source /opt/ros/melodic/setup.sh
Follow the section 6.1.2 of the Robotis tutorial.
...
Follow this tutorial.
...
Play with other models available here.