Skip to content

Collection of Gazebo ROS Simulation environments from various sources, prepared for testing with different ROS packages.

Notifications You must be signed in to change notification settings

yojuna/robot_worlds

Repository files navigation

ROS Gazebo Worlds Collection

Collection of Gazebo ROS Simulation environments from various sources and prepared for testing with different ROS packages.

setup / usage

docker based workflow setup (recommended)

build the docker images (base ros2 > development overlay)

# move to workspace directory
cd ws_robot_worlds
./src/robot_worlds/docker/build_docker.sh 

If the build is successful, run the docker container with the development workspace. The local folders are mounted to the docker workspace when running. this allows you to edit/view your code directly on your filesystem, which runs in the docker container.

run:

./src/robot_worlds/docker/run_docker.sh 

This opens up a bash terminal in a new preconfigured and sourced ROS2 workspace.

Proceed to build and source your workspace

colcon build --symlink-install && source install/setup.bash

manual local setup (linux)

mkdir -p robot_worlds_ws/src
cd robot_worlds_ws

git clone https://github.com/yojuna/robot-worlds

colcon build --symlink-install
source install/setup.bash

handle missing dependencies

rosdep install --from-paths src -y --ignore-src

or install manually if somethings gets missed.

  • index for different launch files to be included eventually.

Le Robots

Turtlebot3 with Open Manipulator X

turtlebot3 open manipulator

run,

ros2 launch robot_worlds tb3_om_gz_moveit.launch.py

Turtlebot3 [Waffle, Waffle Pi, Burger]

turtlebot3 burger empty world

tb3 simulation setup guide: https://emanual.robotis.com/docs/en/platform/turtlebot3/simulation/

cd  src
git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3_simulations.git
cd ../
colcon build --symlink-install && source install/setup.bash

Run the tb3 world simulation

ros2 launch robot_worlds tb3_world.launch

note:

if gazebo throws errors when using with docker: run:

. /usr/share/gazebo/setup.sh

this sets up necessary gazebo environment variables and other things. ref: https://answers.ros.org/question/358847/cannot-launch-gzclient-on-a-launch-file-results-in-shared_ptr-assertion-error/

Worlds

Turtlebot3 Simulations

Turtlebot3 simulation worlds

reference: robotis turtlebot3 E manual

Gazebo House World

gazebo house world

after building, run,

export TURTLEBOT3_MODEL=waffle 
ros2 launch robot_worlds tb3_house.launch.py

This starts gazebo with preconfigured rviz (camera, odom, laserscan in the /odom global frame) and a teleop node to move the turtlebot around. tb3 house gazebo tb3 house rviz

Gazebo World

tb3 gazebo empty world

run,

export TURTLEBOT3_MODEL=waffle 
ros2 launch robot_worlds tb3_world.launch.py

tb3 empty world rviz


credits / sources

This repository would not have been possible without the painstaking work of these references:

Dataset-of-Gazebo-Worlds-Models-and-Maps

  • A set of Gazebo worlds models and maps that I use for testing Navigation2
  • These models are tested using Gazebo 9 and Gazebo 11.

Usage

1- Copy the model you want to use in .gazebo/models directory.

or

  • Set Gazebo model path for the worlds with models directory

2- Gazebo -> Insert -> <World_Model_Name>

or

  • go to gazebo word directory and type gazebo example.world

Most models come with maps.

Models:

AWS Small House

  • export GAZEBO_MODEL_PATH=/home/<user_name>/.gazebo/models/small_house/models/
  • gazebo small_house.world Small_House

AWS Office

  • export GAZEBO_MODEL_PATH=/home/<user_name>/.gazebo/models/office/models/
  • gazebo office.world Office

AWS Bookstore

  • export GAZEBO_MODEL_PATH=/home/<user_name>/.gazebo/models/bookstore/models/
  • gazebo bookstore.world Bookstore

AWS Hospital

  • unzip the models_part# into a dicrectory called models
  • export GAZEBO_MODEL_PATH=/home/<user_name>/.gazebo/models/hospital/models/
  • gazebo hospital.world
  • gazebo hospital_two_floors.world Hospital

Hospital with Two Floors

Hospital_Two_Floors

Custom Factory

  • export GAZEBO_MODEL_PATH=/home/<user_name>/.gazebo/models/factory/models/
  • gazebo factory.model Factory

Dynamic World

  • A world with 9 dynamic obstacles that randomly move around. Dynamic_World

Random World

  • A test model generated by using my random map generation tool. Random World

Robotis Turtlebot 3 World

Turtlebot 3 World

Experiment Rooms

  • export GAZEBO_MODEL_PATH=/home/<user_name>/experiment_rooms/models/
  • cd experiment_rooms/worlds/room1
  • gazebo world_dynamic.model 10x10 rooms

10x10 Rooms with Walls

  • Empty room models with different shapes 10x10 rooms

About

Collection of Gazebo ROS Simulation environments from various sources, prepared for testing with different ROS packages.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published