Skip to content

luispri2001/gps_ignition_simulation

Repository files navigation

GPS Navigation for Ignition Fortress and Gazebo Classic

Code Size Last Commit GitHub issues GitHub pull requests Contributors

Tested Systems and ROS 2 Distro

System ROS 2 Distro Ignition Fortress Gazebo Classic Build Status
Ubuntu 22.04 Humble Build Status

This repository is based on the original navigation2_tutorials repository. It has been extensively modified to support migration to Ignition Fortress. In addition to migrating the TurtleBot simulation, new robots such as the Leo Rover and Unitree Go2 have been added, along with new maps—primarily of the University of Leon campus.

Changes and Improvements

  • Adaptation of code for compatibility with ROS 2 Humble and migration to Ignition Fortress.
  • Migration of the TurtleBot simulation to Ignition Fortress.
  • Addition of new robot models, including the Leo Rover and Unitree Go2.
  • Inclusion of new maps, focusing on the campus of the University of Leon.

Usage

To clone this repository and compile it within a ROS 2 Humble workspace:

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone --recurse-submodules https://github.com/luispri2001/gps_ignition_simulation.git
cd ~/ros2_ws
rosdep update
rosdep install --from-paths src --ignore-src -y
colcon build --symlink-install
source install/setup.bash

Map Visualization with Mapviz

For visualizing maps in Mapviz, we use a Docker container based on danielsnider/docker-mapproxy-googlemaps.

Setup and Launch

To start the Mapproxy Docker container, run:

docker run -p 8080:8080 -d -t -v ~/mapproxy:/mapproxy danielsnider/mapproxy

How It Works

  • This container fetches Google Maps tiles and serves them locally.
  • Mapviz can then access these tiles from http://localhost:8080.
  • The -v ~/mapproxy:/mapproxy option ensures that cached tiles are stored persistently in ~/mapproxy.

Launching the Simulation

Leo Rover in Ignition Fortress

To launch the simulation with the Leo Rover and visualize it in RViz and Mapviz, use the following command:

ros2 launch nav2_gps_waypoint_follower_demo leo_ign_gps_waypoint_follower.launch.py use_rviz:=true use_mapviz:=true

Unitree Go2 in Gazebo Classic

To launch the Unitree Go2 simulation in Gazebo Classic with GPS support, use:

ros2 launch nav2_gps_waypoint_follower_demo go2_gps_waypoint_follower.launch.py use_rviz:=true use_mapviz:=true

Moving to Clicked Points on the Map

To move the robots to points that are clicked on the map, launch the following node:

ros2 run nav2_gps_waypoint_follower_demo interactive_waypoint_follower

Funding

This work has been funded under the following research projects:

SELF-AIR Project

Supporting Extensive Livestock Farming with the use of Autonomous Intelligent Robots

SELF_AIR_logo

Grant TED2021-132356B-I00 funded by MCIN/AEI/10.13039/501100011033 and by the “European Union NextGenerationEU/PRTR”

SELF_AIR_EU eu_logo

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors