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 |
galactic | Galactic, Rolling | Gazebo 11 | Edifice, Fortress | 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.dolly_tests
: Simulation-based automated tests
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. These are the currently supported ones:
ROS | Packages |
---|---|
Foxy | ros-foxy-dolly |
ros-foxy-dolly-follow |
|
ros-foxy-dolly-gazebo |
|
ros-foxy-dolly-ignition |
|
Galactic | ros-galactic-dolly |
ros-galactic-dolly-follow |
|
ros-galactic-dolly-gazebo |
|
ros-galactic-dolly-ignition |
|
Rolling | ros-rolling-dolly |
ros-rolling-dolly-follow |
|
ros-rolling-dolly-gazebo |
|
ros-rolling-dolly-ignition |
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>
-
Install dependencies:
cd ~/ws rosdep install --from-paths src --ignore-src -r -y
-
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
- The Construct's ROS tutorials
- 🎥 ROS Developers LIVE Class #70: How to Control a Robot with ROS2 (Dashing)
- 🎥 ROS Developers Live Class n.71: How to visualize sensor data in ROS2
- 🎥 Exploring ROS2 with wheeled robot - #1 - Launch ROS2 Simulation
- 🎥 Exploring ROS2 with wheeled robot - #2 - How to subscribe to ROS2 laser scan topic
- 🎥 Exploring ROS2 using wheeled Robot - #3 - Moving the Robot
- ROSConJP 2019
- ROS Developers Day 2020