Skip to content

chapulina/dolly

Repository files navigation

Build and test

Dolly the robot

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 Gazebo Dolly Ignition

Versions

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

Packages

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

Install

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.

From binaries

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

From source

Install instructions for Ubuntu Bionic.

  1. Install at least one simulator, Gazebo or Ignition

  2. Install the appropriate ROS 2 version as instructed here.

  3. 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>
    
  4. Install dependencies:

     cd ~/ws
     rosdep install --from-paths src --ignore-src -r -y
    
  5. Build and install:

     cd ~/ws
     colcon build
    

Run

Gazebo-classic

If you had Gazebo installed when compiling Dolly's packages, Gazebo support should be enabled.

  1. 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.

  2. Launch Dolly in a city (this will take some time to download models):

     ros2 launch dolly_gazebo dolly.launch.py world:=dolly_city.world
    
  3. Launch Dolly in an empty world:

     ros2 launch dolly_gazebo dolly.launch.py world:=dolly_empty.world
    

Ignition

  1. 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.

  2. Launch Dolly in a station:

     ros2 launch dolly_ignition dolly.launch.py
    

Featured