It's a sheep, it's a dolly, it's a following robot. Born to be cloned.
Packages for launching Dolly demo, which uses ROS 2 and either Gazebo or Ignition.
Gazebo | Ignition |
---|---|
Dolly is known to work on the following systems.
Branch | ROS | Gazebo-classic | Ignition | OS |
---|---|---|---|---|
crystal | Crystal | Gazebo 9 | ❌ | Ubuntu Bionic |
dashing | Dashing | Gazebo 9 | ❌ | Ubuntu Bionic, macOS Sierra |
eloquent | Eloquent | Gazebo 9, Gazebo 11 | Citadel | Ubuntu Bionic |
foxy | Foxy | Gazebo 11 | Citadel | Ubuntu Focal |
This repository contains the following packages:
dolly
: Metapackage which provides all other packages.dolly_follow
: Provides node with follow logic.dolly_gazebo
: Robot model, simulation world and launch scripts for Gazebo-classic.dolly_ignition
: Robot model, simulation world and launch scripts for Ignition.
It's encouraged that you build Dolly from source, to learn about how to develop your own packages. But in case you just want to give it a quick try, there are binaries available too.
Dolly has been released into several ROS distros:
ROS | Packages |
---|---|
Dashing | ros-dashing-dolly |
ros-dashing-dolly-follow |
|
ros-dashing-dolly-gazebo |
|
Eloquent | ros-eloquent-dolly |
ros-eloquent-dolly-follow |
|
ros-eloquent-dolly-gazebo |
Install instructions for Ubuntu Bionic.
-
Install the appropriate ROS 2 version as instructed here.
-
Clone Dolly, choose the branch according to your ROS distro:
mkdir -p ~/ws/src cd ~/ws/src git clone https://github.com/chapulina/dolly -b <distro>
-
Ignition only, for Eloquent and earlier, clone the bridge:
git clone https://github.com/ignitionrobotics/ros_ign -b <distro>
-
Install dependencies:
cd ~/ws rosdep install --from-paths src --ignore-src -r -y \ --skip-keys=ignition-math6 \ --skip-keys=ignition-msgs5 \ --skip-keys=ignition-transport8 \ --skip-keys=ignition-gazebo3
Tip: On Ubuntu Focal, there's no need to skip keys.
-
Build and install:
cd ~/ws colcon build
If you had Gazebo installed when compiling Dolly's packages, Gazebo support should be enabled.
-
Setup environment variables (the order is important):
. /usr/share/gazebo/setup.sh . ~/ws/install/setup.bash
Tip: If the command
ros2 pkg list | grep dolly_gazebo
comes up empty after setting up the environment, Gazebo support wasn't correctly setup. -
Launch Dolly in a city (this will take some time to download models):
ros2 launch dolly_gazebo dolly.launch.py world:=dolly_city.world
-
Launch Dolly in an empty world:
ros2 launch dolly_gazebo dolly.launch.py world:=dolly_empty.world
-
Setup environment variables:
. ~/ws/install/setup.bash
Tip: If the command
ros2 pkg list | grep dolly_ignition
comes up empty after setting up the environment, Ignition support wasn't correctly setup. -
Launch Dolly in a station:
ros2 launch dolly_ignition dolly.launch.py
- QConSF 2018
- InfoQ
- ROS Developers Live Class
- ROSConJP 2019
- ROS Developers Day 2020