All Projects → VladyslavUsenko → Ewok

VladyslavUsenko / Ewok

Ewok: Real-Time Trajectory Replanning for MAVs using Uniform B-splines and 3D Circular Buffer

Labels

Projects that are alternatives of or similar to Ewok

Rl ardrone
Autonomous Navigation of UAV using Reinforcement Learning algorithms.
Stars: ✭ 76 (-61.03%)
Mutual labels:  uav
Ardupilotblue
Howto use BeagleBone Blue with ArduPilot
Stars: ✭ 118 (-39.49%)
Mutual labels:  uav
Mav control rw
Control strategies for rotary wing Micro Aerial Vehicles using ROS
Stars: ✭ 154 (-21.03%)
Mutual labels:  uav
Mavgcl
In-Flight Analysis for PX4
Stars: ✭ 96 (-50.77%)
Mutual labels:  uav
Uav Mapper
UAV-Mapper is a lightweight UAV Image Processing System, Visual SFM reconstruction or Aerial Triangulation, Fast Ortho-Mosaic, Plannar Mosaic, Fast Digital Surface Map (DSM) and 3d reconstruction for UAVs.
Stars: ✭ 106 (-45.64%)
Mutual labels:  uav
Sapog
Sapog - advanced multiplatform ESC firmware
Stars: ✭ 139 (-28.72%)
Mutual labels:  uav
Mrs uav system
The entry point to the MRS UAV system.
Stars: ✭ 64 (-67.18%)
Mutual labels:  uav
Awesome Geospatial Companies
🌐 List of 500+ geospatial companies (GIS, Earth Observation, UAV, Satellite, Digital Farming, ..)
Stars: ✭ 184 (-5.64%)
Mutual labels:  uav
Bebop autonomy
ROS driver for Parrot Bebop Drones 1.0 & 2.0
Stars: ✭ 111 (-43.08%)
Mutual labels:  uav
Libcanard
A compact implementation of the UAVCAN/CAN protocol in C for high-integrity real-time embedded systems
Stars: ✭ 151 (-22.56%)
Mutual labels:  uav
Jagcs
Just another ground control station
Stars: ✭ 99 (-49.23%)
Mutual labels:  uav
Awesome Dronecraft
Resources to fully understand how autonomous drones work.
Stars: ✭ 104 (-46.67%)
Mutual labels:  uav
Bbbmini
BeagleBone ArduPilot DIY Cape
Stars: ✭ 140 (-28.21%)
Mutual labels:  uav
Dune
DUNE: Unified Navigation Environment
Stars: ✭ 77 (-60.51%)
Mutual labels:  uav
Uwb Localization
Accurate 3D Localization for MAV Swarms by UWB and IMU Fusion.
Stars: ✭ 155 (-20.51%)
Mutual labels:  uav
Paparazzi
Paparazzi is a free and open-source hardware and software project for unmanned (air) vehicles. This is the main software repository.
Stars: ✭ 1,178 (+504.1%)
Mutual labels:  uav
Interop
Interoperability System for the AUVSI SUAS Competition.
Stars: ✭ 123 (-36.92%)
Mutual labels:  uav
Xtdrone
UAV Simulation Platform based on PX4, ROS and Gazebo
Stars: ✭ 185 (-5.13%)
Mutual labels:  uav
Gym Pybullet Drones
PyBullet Gym environments for single and multi-agent reinforcement learning of quadcopter control
Stars: ✭ 168 (-13.85%)
Mutual labels:  uav
Qgroundcontrol
Cross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)
Stars: ✭ 2,026 (+938.97%)
Mutual labels:  uav

Ewok: Real-Time Trajectory Replanning for MAVs using Uniform B-splines and 3D Circular Buffer

For more information see https://vision.in.tum.de/research/robotvision/replanning

teaser

1. Related Papers

If you use this code, please cite the respective publications:

  • Real-Time Trajectory Replanning for MAVs using Uniform B-splines and 3D Circular Buffer, V. Usenko, L. von Stumberg, A. Pangercic, D. Cremers, In 2017 International Conference on Intelligent Robots and Systems (IROS) [DOI:10.1109/IROS.2017.8202160] [arXiv:1703.01416].

2 Installation

The system has been tested with Ubuntu 20.04 (ROS Noetic) and Ubuntu 18.04 (ROS Melodic). For Ubuntu 16.04 (ROS Kinetic) switch to ubuntu_16_04_kinetic branch.

Follow the tutorials to install ROS Noetic for 20.04 or ROS Melodic for 18.04 (desktop-full) and to set up catkin workspace.

Install dependencies. For Ubuntu 20.04 (ROS Noetic):

sudo apt-get install git python python3-matplotlib python3-numpy libeigen3-dev libgoogle-glog-dev libatlas-base-dev libsuitesparse-dev protobuf-compiler libnlopt-dev libnlopt-cxx-dev ros-noetic-octomap ros-noetic-octomap-ros ros-noetic-octomap-msgs ros-noetic-tf-conversions ros-noetic-eigen-conversions

For Ubuntu 18.04 (ROS Melodic):

sudo apt-get install git python3-matplotlib python3-numpy libeigen3-dev libgoogle-glog-dev libatlas-base-dev libsuitesparse-dev protobuf-compiler libnlopt-dev ros-melodic-octomap ros-melodic-octomap-ros ros-melodic-octomap-msgs ros-melodic-tf-conversions ros-melodic-eigen-conversions

Navigate to the source folder of your catkin workspace, download and build the software:

cd ~/catkin_ws/src
git clone --recursive https://github.com/VladyslavUsenko/ewok.git
cd ..
catkin_make

Some of the provided examples (trajectory_replanning_big_forest.launch) depend on the forest_gen dataset. With the above commands it should already be downloaded as a git submodule. Please check https://github.com/ethz-asl/forest_gen for more information about the dataset.

3. Simulation example

In separate terminal windows:

Start roscore:

roscore

Start visualization:

roscd ewok_simulation/rviz/
rviz -d simulation.rviz

Launch the system and simulator:

roslaunch ewok_simulation trajectory_replanning_simulation.launch

Now you should be able to see Rviz visualization of the system running in simulator. Due to performance reasons GUI of the Gazebo simulator is disabled by default. To enable it, change the following parameter in ewok_simulation/launch/trajectory_replanning_simulation.launch:

<arg name="gui" default="true"/>

4. Circular Buffer vs Octomap benchmarking

In separate terminal windows:

Start roscore:

roscore

or, if you already have it running, make sure you are not using simulated time:

rosparam set use_sim_time false

Start visualization:

roscd ewok_ring_buffer/rviz/
rviz -d ring_buffer.rviz

Run benchmarking script. It will download the dataset, run the computations and show the plots with insertion times:

roscd ewok_ring_buffer/benchmarking/
./benchmark.py

5. B-spline optimization example

In separate terminal windows:

Start roscore:

roscore

or, if you already have it running, make sure you are not using simulated time:

rosparam set use_sim_time false

Start visualization:

roscd ewok_optimization/rviz/
rviz -d optimization_example.rviz

Run optimization example:

rosrun ewok_optimization spline_optimization_example3

6. License

Ewok was developed at the Technical University of Munich. The open-source version is licensed under the GNU Lesser General Public License Version 3 (LGPLv3).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].