Skip to content

NKU-MobFly-Robotics/EDEN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EDEN: Efficient Dual-Layer Exploration Planning for Fast UAV Autonomous Exploration in Large 3-D Environments

IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS

Qianli Dong, Xuebo Zhang, Shiyong Zhang, Ziyu Wang, Zhe Ma, Haobo Xi

arxiv Bilibili Youtube

Contents

1. Overview

EDEN is an Efficient Dual-layer Exploration plaNning method.

Simulations:

Real-World Experiments:

2. Setup

This work is developed in Ubuntu 20.04, ROS noetic.

Prerequisites:

  • Install libraries:
$ sudo apt-get install ros-noetic-joy ros-noetic-octomap-ros python3-wstool python3-catkin-tools protobuf-compiler libgoogle-glog-dev ros-noetic-control-toolbox ros-noetic-mavros libzmqpp-dev ros-noetic-trajectory-msgs
  • Configure Simulation Environment:
    Since we use the simulation environment from FALCON, you need to configure the simulation environment:
  # Install libraries
  sudo apt install libgoogle-glog-dev libdw-dev libdwarf-dev libarmadillo-dev
  sudo apt install libc++-dev libc++abi-dev
  
  # Install cmake 3.26.0-rc6 (3.20+ required)
  wget https://cmake.org/files/v3.26/cmake-3.26.0-rc6.tar.gz
  tar -xvzf cmake-3.26.0-rc6.tar.gz
  cd cmake-3.26.0-rc6
  ./bootstrap
  make 
  sudo make install
  # restart terminal

  # Install Open3D 0.18.0
  cd YOUR_Open3D_PATH
  git clone --depth 1 --branch v0.18.0 https://github.com/isl-org/Open3D.git
  cd Open3D
  mkdir build && cd build
  cmake -DBUILD_PYTHON_MODULE=OFF ..    
  make -j # make -j4 if out of memory
  sudo make install

Clone Code and Make:

$ mkdir -p EDEN/src
$ cd EDEN/src
$ git clone https://github.com/ethz-asl/gflags_catkin.git
$ git clone https://github.com/ethz-asl/glog_catkin.git
$ git clone https://github.com/catkin/catkin_simple.git
$ git clone https://github.com/NKU-MobFly-Robotics/EDEN.git
$ cd ..
$ catkin_make

Run Exploration: Please set the read-write map path before running. Then you can run:

$ source devel/setup.bash
$ roslaunch eden single_exp_demo_darpa_lite_low.launch #darpar tunnel
#or
$ roslaunch eden single_exp_demo_classical_office_lite_low.launch #classical office maze
#or
$ roslaunch eden single_exp_demo_maze4_lite_low.launch #small maze
#or
$ roslaunch eden single_exp_demo_maze3_lite_low.launch #large maze
#or
$ roslaunch eden single_exp_demo_city_lite_low.launch #city
#or
$ roslaunch eden single_exp_demo_large_tunnel_lite_low.launch #very large tunnel

Mamba bless your UAV!

3. Parameters

Find yaml files in resource dir.

Read Write Path:
The blocks of the voxel map will be written to this path and read from this path. You must ensure this path exists.

block_map/Path: /home/charliedog/rosprojects/eden/map

Log Path:
Set the path for logging information(it is not necessary):

Computation/dir: /home/charliedog/data/maze3

Exploration Space:
These parameters determine the exploration space and the map size:

# exploration bounding box
Exp/minX: -20.0
Exp/minY: -20.0
Exp/minZ: 0.0
Exp/maxX: 20.0
Exp/maxY: 20.0
Exp/maxZ: 3.0

# map size (larger than the exploration bounding box)
block_map/minX: -22.5
block_map/minY: -22.5
block_map/minZ: -0.1
block_map/maxX: 22.5
block_map/maxY: 22.5
block_map/maxZ: 3.5

4. Source Code Instruction

block_map_lite bag = Dynamic Voxel Map
mr_dtg_plus bag = Dynamic Topological Graph
MultiDtgPlus::TspApproxiPlan() function = EOHDT
MultiDtgPlus::FindFastExpTarget() fuction = Curvature Penalized Target Decision
GCOPTER_AGGRESSIVE::optimize() fuction = Aggressive and Safe Exploration-Oriented Trajectory Planning

5. Acknowledgements

We use the simulator from FALCON. We use RipNeon(coming soon) for mapping. We use dynamical topological graph (DTG) from GVP-MREP for exploration planning. Our ASEO trajectory is inspired by FASTER and uses the form of MINCO.

Please star our work, we really appreciate your support.

6. Future Work

We plan to extend this work to aerobatic exploration and multi-UAV exploration.

About

EDEN is an Efficient Dual-layer Exploration plaNning method for UAVs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published