Skip to content

🤖🐑 It's a sheep, it's a dolly, it's a following robot. Dolly was born to be cloned.

License

Notifications You must be signed in to change notification settings

chapulina/dolly

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

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

Dolly has been tested on:

  • ROS 2 version:
    • ROS Crystal: crystal branch
    • ROS Dashing: dashing branch
    • ROS Eloquent: master branch
  • Gazebo version:
    • Gazebo 9
  • Ignition version:
    • Citadel
  • Operating system:
    • Ubuntu Bionic
    • OSX Sierra (thanks, @Karsten1987 !)

Install

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:

     mkdir -p ~/ws/src
     cd ~/ws/src
     git clone https://github.com/chapulina/dolly
    
  4. Ignition only: clone the bridge:

     git clone https://github.com/ignitionrobotics/ros_ign -b dashing
    
  5. 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
    
  6. 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
    

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.

Featured