Skip to content

LeoRover/leo_simulator-ros2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Packages for simulating Leo Rover in ROS2 and Gazebo

ROS 2 version Gazebo version Branch Binaries hosted at
Humble Fortress humble https://packages.ros.org
Humble Garden humble only from source
Humble Harmonic humble only from source
Iron Fortress iron https://packages.ros.org
Iron Garden iron only from source
Iron Harmonic iron only from source
Jazzy Harmonic ros2 https://packages.ros.org
Rolling Harmonic ros2 https://packages.ros.org

Packages

  • leo_simulator - Metapackage which provides all other packages.
  • leo_gz_bringup - Launch files for starting simulation and adding Leo Rover inside a simulated world.
  • leo_gz_plugins - Gazebo plugins for simulated Leo Rover.
  • leo_gz_worlds - Custom simulation worlds.

Install

This branch supports ROS Rolling. See above for other ROS versions.

Binaries

Rolling binaries are available for Gazebo Harmonic. They are hosted at https://packages.ros.org.

  1. Make sure you've installed ROS from binary repositories.

  2. Install ros-<distro>-leo-simulator package. On Ubuntu with ROS Rolling:

    sudo apt install ros-rolling-leo-simulator
    

From source

  1. Make sure you've installed ROS from binary repositories.
  2. Setup a colcon workspace:
    mkdir -p ~/ws/src
    
  3. Clone this repository into the workspace:
    cd ~/ws/src
    git clone https://github.com/LeoRover/leo_simulator-ros2 -b <distro>
    
  4. Install dependencies using rosdep:
    cd ~/ws
    sudo rosdep init
    rosdep update
    rosdep install --from-paths src -y --ignore-src -r
    
  5. Build the project and source the workspace:
    colcon build --symlink-install
    source install/setup.bash
    

Run Simulation

Run a simulation world with leo rover:

ros2 launch leo_gz_bringup leo_gz.launch.py

Launch agruments:

  • sim_world (default: leo_empty.sdf) - The Gazebo world to use. Refer to the leo_gz_worlds package for available worlds.
  • robot_ns (default: "") - Robot namespace

Example:

ros2 launch leo_gz_bringup leo_gz.launch.py sim_world:=marsyard2021.sdf robot_ns:=leo1

Add another leo rover to an already running gazebo world:

ros2 launch leo_gz_bringup spawn_robot.launch.py robot_ns:=leo2