From 49640c488823ffc681dfa714bd049efbebed0c29 Mon Sep 17 00:00:00 2001 From: Matthias Holoch Date: Mon, 28 Oct 2024 11:30:09 +0100 Subject: [PATCH 1/4] add humble ci badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f1e3e65..ea448d98 100644 --- a/README.md +++ b/README.md @@ -223,4 +223,5 @@ For the necessary localization of the robot relative to the mesh, we recommend u | ROS Distro | GitHub CI | Develop | Documentation | Source Deb | Binary Deb | |-------------|-----------|---------|---------------|------------|------------| +| **Humble** | [![Humble CI](https://github.com/naturerobots/mesh_navigation/actions/workflows/humble.yaml/badge.svg)](https://github.com/naturerobots/mesh_navigation/actions/workflows/humble.yaml) | N/A | N/A | N/A | N/A | | **Noetic** | [![Noetic CI](https://github.com/uos/mesh_navigation/workflows/Noetic%20CI/badge.svg)](https://github.com/uos/mesh_navigation/actions?query=workflow%3A%22Noetic+CI%22) | [![Build Dev Status](http://build.ros.org/buildStatus/icon?job=Ndev__mesh_navigation__ubuntu_focal_amd64)](http://build.ros.org/job/Ndev__mesh_navigation__ubuntu_focal_amd64) | [![Build Doc Status](http://build.ros.org/buildStatus/icon?job=Ndoc__mesh_navigation__ubuntu_focal_amd64)](http://build.ros.org/job/Ndoc__mesh_navigation__ubuntu_focal_amd64) | [![Build Src Status](http://build.ros.org/buildStatus/icon?job=Nsrc_uF__mesh_navigation__ubuntu_focal__source)](http://build.ros.org/job/Nsrc_uF__mesh_navigation__ubuntu_focal__source) | [![Build Bin Status](http://build.ros.org/buildStatus/icon?job=Nbin_uF64__mesh_navigation__ubuntu_focal_amd64__binary)](http://build.ros.org/job/Nbin_uF64__mesh_navigation__ubuntu_focal_amd64__binary) | \ No newline at end of file From 02b35ed6e1b39713051029533f73f2375ae1f1c9 Mon Sep 17 00:00:00 2001 From: Matthias Holoch Date: Mon, 28 Oct 2024 11:58:24 +0100 Subject: [PATCH 2/4] update readme: add header, add installation guide, add links to mesh nav tutorials, slightly change order of chapters --- README.md | 146 +++++++++++++++++++++++++++++------------------------- 1 file changed, 78 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index ea448d98..d554e398 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,47 @@ -This is the active ROS2 branch of this repository. -If your are looking for the old ROS1 version, checkout the [noetic branch](https://github.com/naturerobots/mesh_navigation/tree/noetic). +
+

+Mesh Navigation +

+
+ +
+ Tutorials +   •   + Documentation +   •   + Videos +   •   + Move Base Flex +   •   + Mesh Tools + +
+
+ +--- -# Mesh Navigation The *Mesh Navigation* bundle provides software for efficient robot navigation on 2D manifolds, which are represented in 3D as triangle meshes. It enables safe navigation in various complex outdoor environments by using a modularly extensible layered mesh map. Layers can be loaded as plugins representing specific geometric or semantic metrics of the terrain. This allows the incorporation of obstacles in these complex outdoor environments into path and motion motion planning. The layered *Mesh Map* is integrated with *Move Base Flex (MBF)*, which provides a universal ROS action interface for path planning, motion control, and for recovery behaviors. We also provide additional planner and controller plugins that run on the layered mesh map. -Maintainers: -* [Matthias Holoch](mailto:matthias.holoch@naturerobots.com) -* [Sebastian Pütz](mailto:sebastian.puetz@naturerobots.com) +
Demo Gif
-Author: [Sebastian Pütz](mailto:spuetz@uos.de) - -Contents: +# Contents * [Publications](#publications) * [Installation](#installation) +* [Usage Examples and Demos](#usage-examples-and-demos) * [Software Stack](#software-stack) -* [Usage](#usage) * [Mesh Map](#mesh-map) * [Planners](#planners) * [Controllers](#controllers) * [Simulation](#simulation) -* [Demos](#demos) +* [Maintain and Contribute](#maintain-and-contribute) * [Build Status](#build-status) -Demo Gif -## Publications + +# Publications Please reference the following papers when using the navigation stack in your scientific work. #### Continuous Shortest Path Vector Field Navigation on 3D Triangular Meshes for Mobile Robots @@ -54,28 +68,49 @@ Please reference the following papers when using the navigation stack in your sc } ``` -## Installation +# Installation -Please use the official released ros package or install more recent versions from source. +### ROS Version +This is the active ROS2 branch of this repository, which targets `humble`. +If your are looking for the old ROS1 version, checkout the [noetic branch](https://github.com/naturerobots/mesh_navigation/tree/noetic). -`sudo apt install ros-melodic-mesh-navigation` +### Installation from source +* Prerequisite: A working ROS 2 installation +* Go into a ROS 2 workspace's source directory `cd $YOUR_ROS_WS/src`. +* Clone the repo `git clone git@github.com:naturerobots/mesh_navigation.git` +* Get the tutorial's ROS 2 dependencies + * Clone source dependencies: Run `vcs import --input mesh_navigation/source_dependencies.yaml` in your ROS 2 workspace source directory. + * Get packaged dependencies: Run `rosdep install --from-paths . --ignore-src -r -y` from within your ROS 2 workspace source directory. +* Build: Go to workspace root `cd $YOUR_ROS_WS` and run `colcon build --packages-up-to mesh_navigation`. -**Installation from source** -All dependencies can be installed using rosdep -`rosdep install mesh_navigation` +Use the **[pluto_robot](https://github.com/uos/pluto_robot)** package for example HDF5 map datasets, Gazebo simulations, and example configurations. -As explicit dependencies we refer to the following ROS packages, which are also developed by us: +# Usage Examples and Demos -* **[lvr2](https://github.com/uos/lvr2)** -* **[mesh_tools](https://github.com/uos/mesh_tools/)** -* **[move_base_flex](https://github.com/magazino/move_base_flex/)** +Recommended entrypoint for new users: Check out the **[mesh_navigation_tutorials](https://github.com/naturerobots/mesh_navigation_tutorials/tree/main)** for a ready-to-use mesh navigation stack. Complete with simulated environment, rviz config, mesh nav config, etc. -Use the **[pluto_robot](https://github.com/uos/pluto_robot)** package for example HDF5 map datasets, Gazebo simulations, and example configurations. +See the **[pluto_robot](https://github.com/uos/pluto_robot)** bundle for example configurations of the mesh navigatoin stack and usage (ROS 1). + +## Demos -## Software Stack +In the following demo videos we used the developed VFP, i.e., the wavefront_propagatn_planner. +It will be renamed soon to vector_field_planner. + +| Dataset and Description | Demo Video | +| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | +| Botanical Garden of Osnabrück University | [![Mesh Navigation with Pluto](http://img.youtube.com/vi/qAUWTiqdBM4/0.jpg)](http://www.youtube.com/watch?v=qAUWTiqdBM4) | +| Stone Quarry in the Forest Brockum | [![Mesh Navigation with acron19](http://img.youtube.com/vi/DFmv3wnIxug/0.jpg)](https://youtu.be/DFmv3wnIxug) | -This **[mesh_navigation](https://github.com/uos/mesh_navigation)** stack provides a navigation server for -**[Move Base Flex (MBF)](https://github.com/magazino/move_base_flex)**. It provides a couple of configuration files and launch +### Stone Quarry in the Forest in Brockum + +| Colored Point Cloud | Height Diff Layer | RGB Vertex Colors | +| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | +| ![StoneQuarryPointCLoud](docs/images/stone_quarry/cloud.png?raw=true "Stone Quarry Point Cloud") | ![StoneQuarryHeightDiff](docs/images/stone_quarry/height_diff.jpg?raw=true "Stone Quarry Height Diff") | ![StoneQuarryVertexColors](docs/images/stone_quarry/mesh_rgb.jpg?raw=true "Stone Quarry Vertex Colors") | + +# Software Stack + +This **[mesh_navigation](https://github.com/naturerobots/mesh_navigation)** stack provides a navigation server for +**[Move Base Flex (MBF)](https://github.com/naturerobots/move_base_flex)**. It provides a couple of configuration files and launch files to start the navigation server with the configured layer plugins for the layered mesh map, and the configured planners and controller to perform path planning and motion control in 3D (or more specifically on 2D-manifold). @@ -120,23 +155,8 @@ The package structure is as follows: - `mesh_client` Is an experimental package to additionally load navigation meshes from a server. -## Usage - -See the **[pluto_robot](https://github.com/uos/pluto_robot)** bundle for example configurations of the mesh navigatoin stack and usage. - -### Mesh map configuratoin -TODO - -### Planner and Controller configurations - -TODO - -### Path Planning and Motion Control - -Use the *MeshGoal* tool from the MeshTools bundle to select a goal pose on the shown mesh in *RViz*. This can be added to the top panel *RViz*. - -## Mesh Map +# Mesh Map ### Mesh Layers @@ -154,27 +174,24 @@ below. | **RidgeLayer** | `mesh_layer/RidgeLayer` | local radius based distance along normal | ![RidgeLayer](docs/images/costlayers/ridge.jpg?raw=true "RidgeLayer") | | **InflationLayer** | `mesh_layers/InflationLayer` | by distance to a lethal vertex | ![InflationLayer](docs/images/costlayers/inflation.jpg?raw=true "Inflation Layer") | -## Planners - -### Usage with Move Base Flex - +# Planners Currently the following planners are available: -#### Dijkstra Mesh Planner +### Dijkstra Mesh Planner ``` - name: 'dijkstra_mesh_planner' type: 'dijkstra_mesh_planner/DijkstraMeshPlanner' ``` -#### Continuous Vector Field Planner +### Continuous Vector Field Planner ``` - name: 'cvp_mesh_planner' type: 'cvp_mesh_planner/CVPMeshPlanner' ``` -#### MMP Planner +### MMP Planner ``` - name: 'mmp_planner' @@ -193,33 +210,26 @@ The planners are compared to each other. If you want to test the mesh navigation stack with Pluto please use the simulation setup and the corresponding launch files below for the respective outdoor or rough terrain environment. The mesh tools have to be installed. -We developed the **[Mesh Tools](https://github.com/uos/mesh_tools)** as a package consisting of message definitions, RViz plugins and tools, as well as a +We developed the **[Mesh Tools](https://github.com/naturerobots/mesh_tools)** as a package consisting of message definitions, RViz plugins and tools, as well as a persistence layer to store such maps. These tools make the benefits of annotated triangle maps available in ROS and allow to publish, edit and inspect such maps within the existing ROS software stack. -## Demos - -In the following demo videos we used the developed VFP, i.e., the wavefront_propagatn_planner. -It will be renamed soon to vector_field_planner. - -| Dataset and Description | Demo Video | -| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | -| Botanical Garden of Osnabrück University | [![Mesh Navigation with Pluto](http://img.youtube.com/vi/qAUWTiqdBM4/0.jpg)](http://www.youtube.com/watch?v=qAUWTiqdBM4) | -| Stone Quarry in the Forest Brockum | [![Mesh Navigation with acron19](http://img.youtube.com/vi/DFmv3wnIxug/0.jpg)](https://youtu.be/DFmv3wnIxug) | - -### Stone Quarry in the Forest in Brockum - -| Colored Point Cloud | Height Diff Layer | RGB Vertex Colors | -| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | -| ![StoneQuarryPointCLoud](docs/images/stone_quarry/cloud.png?raw=true "Stone Quarry Point Cloud") | ![StoneQuarryHeightDiff](docs/images/stone_quarry/height_diff.jpg?raw=true "Stone Quarry Height Diff") | ![StoneQuarryVertexColors](docs/images/stone_quarry/mesh_rgb.jpg?raw=true "Stone Quarry Vertex Colors") | - ## Mesh Localization For the necessary localization of the robot relative to the mesh, we recommend using RMCL: [https://github.com/uos/rmcl](https://github.com/uos/rmcl). We presented the combination of both software packages at [ROSCon 2023](https://vimeo.com/879000775): MeshNav ROSCon 2023 Video -## Build Status +# Maintain and Contribute +Maintainers: +* [Matthias Holoch](mailto:matthias.holoch@naturerobots.com) +* [Sebastian Pütz](mailto:sebastian.puetz@naturerobots.com) + +Author: [Sebastian Pütz](mailto:spuetz@uos.de) + +We are happy to receive improvements to the mesh navigation stack. Just open an issue. PRs welcome! + +# Build Status | ROS Distro | GitHub CI | Develop | Documentation | Source Deb | Binary Deb | |-------------|-----------|---------|---------------|------------|------------| From fb80ba8db81b97b888d4cd091189b4e81c7c6e3b Mon Sep 17 00:00:00 2001 From: Matthias Holoch Date: Mon, 28 Oct 2024 12:19:33 +0100 Subject: [PATCH 3/4] add logo --- README.md | 8 +++----- docs/images/mesh_navigation_logo.png | Bin 0 -> 14473 bytes 2 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 docs/images/mesh_navigation_logo.png diff --git a/README.md b/README.md index d554e398..1d31bf61 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,7 @@ -
-

-Mesh Navigation -

+
+ Mesh Navigation
- +

Mobile Robot Navigation in 3D Meshes

Tutorials   •   diff --git a/docs/images/mesh_navigation_logo.png b/docs/images/mesh_navigation_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6ba3ffd8f9b2cf0392dada388b2e3ad80bed3a2e GIT binary patch literal 14473 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 SX}q5;1Y{)@C91@Xg8v76ld3ZS literal 0 HcmV?d00001 From 9c201d3a32de6d76f3d70f2cceccfa03044d78bf Mon Sep 17 00:00:00 2001 From: Matthias Holoch Date: Mon, 28 Oct 2024 12:22:15 +0100 Subject: [PATCH 4/4] change source deps to not create subdirs for orgas --- source_dependencies.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source_dependencies.yaml b/source_dependencies.yaml index f9a6977a..89938dfc 100644 --- a/source_dependencies.yaml +++ b/source_dependencies.yaml @@ -1,15 +1,15 @@ # Every repository listed here will get cloned and built during CI runs. # Use this for repositories that cannot be installed via rosdep. repositories: - uos/lvr2: + lvr2: type: git url: https://github.com/uos/lvr2.git version: humble - naturerobots/mesh_tools: + mesh_tools: type: git url: https://github.com/naturerobots/mesh_tools.git version: humble - naturerobots/move_base_flex: + move_base_flex: type: git url: https://github.com/naturerobots/move_base_flex.git version: humble