Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/open-rmf/rmf_traffic_editor
GUI, CLI, and ROS 2 messages for robot traffic flows in buildings
https://github.com/open-rmf/rmf_traffic_editor
Last synced: 19 days ago
JSON representation
GUI, CLI, and ROS 2 messages for robot traffic flows in buildings
- Host: GitHub
- URL: https://github.com/open-rmf/rmf_traffic_editor
- Owner: open-rmf
- License: apache-2.0
- Created: 2019-10-30T07:15:00.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-06-14T20:48:21.000Z (6 months ago)
- Last Synced: 2024-07-30T12:13:50.941Z (5 months ago)
- Language: C++
- Homepage:
- Size: 33.7 MB
- Stars: 132
- Watchers: 33
- Forks: 63
- Open Issues: 47
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-robotic-tooling - traffic-editor - A graphical editor for robot traffic flows. (Planning and Control / Vector Map)
- awesome-robotic-tooling - traffic-editor - A graphical editor for robot traffic flows. (Planning and Control / SLAM)
README
[![](https://github.com/osrf/traffic_editor/workflows/ci/badge.svg)](https://github.com/osrf/traffic_editor/actions/workflows/ci.yaml)
[![](https://github.com/osrf/traffic_editor/workflows/pycodestyle/badge.svg)](https://github.com/osrf/traffic_editor/actions/workflows/pycodestyle.yaml)# rmf_traffic\_editor
Welcome!
![](docs/rmf_traffic_editor_gui.png)
This repository has the following directories:
* `rmf_traffic_editor`: GUI for annotating floorplans to create traffic patterns
* `rmf_building_map_tools`: Python-based tools to use and manipulate the map files created by `rmf_traffic_editor`, such as:
* `building_map_server`: a ROS 2 node to serve maps using `rmf_building_map_msgs`
* translators to simulators such as Gazebo
* translators to navigation packages such as `rmf_core` (e.g. `rmf_ros2`)
* scripts that handle downloading of gazebo models. `pit_crew`, `building_map_model_downloader`...
* `rmf_traffic_editor_assets`: Gazebo model thumbnails, in used by `traffic_editor` GUI## Installation
This repository is structured as a collection of ROS 2 packages and can be built using `colcon`.
For full installation of RMF, please refer to [here](https://github.com/open-rmf/rmf).The `rmf_building_map_tools` package requires the following Python 3 dependencies to generate worlds:
```
sudo apt install python3-shapely python3-yaml python3-requests
```## Usage
`rmf_traffic_editor` consists of a interface and tools to create a simulation `.world` file from a sketched building floor plan.
These simulation `.world` file can be used by other applications, not just limited to RMF.![](docs/building_map_generation.png)
### Traffic Editor GUI
Instructions of `traffic_editor` is located [here](https://osrf.github.io/ros2multirobotbook/traffic-editor.html)
To run traffic_editor GUI, run:
```bash
source install/setup.bash
traffic-editor
```### Building Map Tools
Once done with the editing of the building map with `traffic_editor`, user can now generate the simulated world file from the saved `.building.yaml` file (`${building_map_path}`).**Generate a world file from building map**
```bash
ros2 run rmf_building_map_tools building_map_generator gazebo \
${building_map_path} ${output_world_path} ${output_model_dir}
```
_switch arg `gazebo` to `ignition` for generating a world file for ignition_**Download models used in newly created traffic editor building map.**
```bash
ros2 run rmf_building_map_tools building_map_model_downloader \
${building_map_path} -f -e ~/.gazebo/models
```**Generate Traffic Navigation Path File**
```bash
ros2 run rmf_building_map_tools building_map_generator nav \
${building_map_path} ${output_nav_graphs_dir}
```