-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1b74b8a
Showing
79 changed files
with
9,489 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
BasedOnStyle: Google | ||
ColumnLimit: 80 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Prerequisites | ||
*.d | ||
|
||
# Compiled Object files | ||
*.slo | ||
*.lo | ||
*.o | ||
*.obj | ||
|
||
# Precompiled Headers | ||
*.gch | ||
*.pch | ||
|
||
# Compiled Dynamic libraries | ||
*.so | ||
*.dylib | ||
*.dll | ||
|
||
# Fortran module files | ||
*.mod | ||
*.smod | ||
|
||
# Compiled Static libraries | ||
*.lai | ||
*.la | ||
*.a | ||
*.lib | ||
|
||
# Executables | ||
*.exe | ||
*.out | ||
*.app | ||
|
||
# CLION excludes | ||
**/cmake-build-debug/* | ||
**/.idea/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
[submodule "rmpcpp_planner/nvblox"] | ||
path = rmpcpp_planner/nvblox | ||
url = [email protected]:Isarm/nvblox.git |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
This is the __preliminary__ code release for ICRA Submission "Obstacle avoidance using raycasting and Riemannian Motion Policies at kHz rates for MAVs" | ||
|
||
While all the code for the policies & planner is included, we will add easy-to-run examples and | ||
documentation soon (and clean up the code). | ||
|
||
### Please check back in approx 2-3 weeks. ### | ||
|
||
|
||
## Prerequisites: | ||
- ROS Noetic | ||
- CUDA (10.2 - 11.5 are tested by nvblox developers, others may or may not work) | ||
|
||
System Dependencies for nvblox (nvblox itself is cloned as a submodule of this repository which is done automatically): | ||
|
||
``` | ||
sudo apt-get install -y libgoogle-glog-dev libgtest-dev libgflags-dev python3-dev | ||
cd /usr/src/googletest && sudo cmake . && sudo cmake --build . --target install | ||
``` | ||
|
||
## Creating the environment and building | ||
The following commands creates a new catkin environment, clones the required repositories and builds. | ||
``` | ||
mkdir rmp_planning | ||
cd rmp_planning | ||
mkdir src | ||
catkin init | ||
cd src | ||
git clone [email protected]:ethz-asl/eigen_catkin.git | ||
wstool update | ||
git clone https://github.com/ethz-asl/reactive_avoidance --recurse-submodules | ||
catkin build | ||
``` | ||
|
||
## Possible issues: | ||
|
||
Gflags dependency conflict (build fails when compiling nvblox with errors about gflags). Go to the src directory and run: | ||
|
||
``` | ||
rm -rf rmpcpp/rmpcpp_planner/nvblox | ||
git clone -b gflags_namespace_fix [email protected]:Isarm/nvblox.git rmpcpp/rmpcpp_planner/nvblox | ||
catkin build | ||
``` | ||
|
||
# Architecture | ||
|
||
All planner types are compiled into the same executable and can be selected via command line arguments. | ||
See the `parser` class for the full list of options. I’ll briefly list the most important classes for the RMP planner. | ||
|
||
The policies are implemented in | ||
- NVBlox Raycasting obstacle avoidance policy: `rmpcpp_planner/src/policies/raycasting_CUDA.cc` | ||
- Lidar ray obstacle avoidance policy: `rmpcpp_planner/src/policies/lidarray_CUDA.cc` | ||
- ESDF policy: `rmpcpp_planner/src/policies/simple_ESDF.cc` | ||
|
||
|
||
The `tester` class sets up testing runs, using the `worldgen` class to generate random worlds or load custom worlds. | ||
There are a lot of options you can pass to the executable, which are all defined in the `parser` class. | ||
Check out `rmpcpp_planner/src/testing/parser.cc` for the full list of options. | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
cmake_minimum_required(VERSION 2.8.3) | ||
project(rmpcpp) | ||
|
||
find_package(catkin_simple REQUIRED) | ||
catkin_simple(ALL_DEPS_REQUIRED) | ||
|
||
|
||
add_definitions(-std=c++17 -Wall -Wextra) | ||
|
||
############# | ||
# LIBRARIES # | ||
############# | ||
cs_add_executable(rmpcpp_example example.cc) | ||
|
||
########## | ||
# EXPORT # | ||
########## | ||
cs_install() | ||
cs_export() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
References | ||
========= | ||
|
||
[1] N. Ratliff, J. Issac, D. Kappler, S. Birchfield, D. Fox; | ||
Riemannian Motion Policies; arxiv:1801.02854v3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: 2addfc989f070a5a38bc2383b01a71af | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Empty file.
Oops, something went wrong.