Skip to content

Jacenty00/arena-rosnav-3D

 
 

Repository files navigation

arena-rosnav-3D

This repository combines the 3D ROS simulator Gazebo with Pedsim to provide realistic dyanmic 3D scenarios and tasks to evaluate and and benchmark ROS navigation approaches. It is fully compatible with the planning algorithms trained and developed with arena-rosnav (2D). This presents an essential step in deploying the navigation approaches from arena-rosnav towards real robots.

The repo currently contains:

  • Task generator with 3 modes: random, scenario and manual tasks
  • Multiple detailed scenario-worlds
  • Different robot models
  • Creation of random 3D-words with static and dynamic obstacles
  • Realistic behavior patterns and semantic states of dynamic obstacles (by including pedsim's extended social force model)
  • Implementation of intermediate planner classes to combine local DRL planner with global map-based planning of ROS Navigation stack
  • Testing a variety of planners (learning based and model based) within specific scenarios
  • Integration with arena-tools map generator and LIRS-World_Construction_Tool. Providing seamless conversion from randomly generated ROS maps to actual Gazebo worlds.
  • "Random world" task mode, where with each Task reset, a new Gazebo world is loaded
  • Modular structure for extension of new functionalities and approaches

1. Installation

Please refer to Installation.md for detailed explanations about the installation process.

2. Usage

For a finer user experience we provide a Python GUI, please have a look at GUI.md for more information. Picture of GUI

Otherwise please refer to Usage.md for command-line use, as well as detailed explanations about agent, policy and training setups.

Sample usage

After successful installation, run the following command with your python-env activated (workon rosnav).

roslaunch arena_bringup start_arena_gazebo.launch local_planner:=teb task_mode:=random world:=small_warehouse actors:=6 

3. Examples

Random mode

random.mp4

Arena Generated

arena_gen.mp4

Scenario mode

  • Use the supplied scenario or create your own using arena-tools.
  • In scenario mode, all objects will be spawned at their specified position and everything will reset back to this position once the robot reaches its goal.
scenario_mode.mp4

Training

Arena-Rosnav's training functionality is not yet included

Miscellaneous

Used third party repos:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 48.2%
  • C++ 38.0%
  • CMake 9.1%
  • Jupyter Notebook 4.5%
  • Other 0.2%