Skip to content

yuwei-wu/GCOPTER

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GCOPTER

This is a revised version for benchmarking used by the Kumar Lab.

Branches Overview

  • main: ROS1 implementation
  • ros2: ROS2 implementation (ros2 branch)
  • noros: Pure C++ implementation without ROS (noros branch)

Each branch contains detailed usage instructions specific to its environment.

Useage

Prerequisites

Make sure you have ROS1 installed if you are using the main branch. Additionally, install the following dependencies:

sudo apt update
sudo apt install libpcl-dev libompl-dev

Build and Run

mkdir -p test_ws/src
cd test_ws/src
git clone https://github.com/yuwei-wu/GCOPTER.git
cd ../
catkin build
source devel/setup.bash
roslaunch gcopter global_planning.launch

ROS Topics Overview

/move_base_simple/goal (geometry_msgs/PoseStamped)
    - Uses 2D Nav Goal to send start and end poses
/voxel_map (sensor_msgs/PointCloud2)
    - Publishes a 3D voxel grid map of the environment

/visualizer/body_rate (geometry_msgs/Vector3Stamped)
/visualizer/edge (visualization_msgs/Marker)
/visualizer/mesh (visualization_msgs/Marker)
/visualizer/route (nav_msgs/Path)
/visualizer/speed (std_msgs/Float32)
/visualizer/spheres (visualization_msgs/Marker)
/visualizer/tilt_angle (std_msgs/Float32)
/visualizer/total_thrust (std_msgs/Float32)
/visualizer/trajectory (nav_msgs/Path)
/visualizer/waypoints (visualization_msgs/Marker)

GCOPTER is an efficient and versatile multicopter trajectory optimizer built upon a novel sparse trajectory representation named MINCO. User-defined state-input constraints for dynamics involving nonlinear drag effects are supported.

About

If our repo helps your academic projects, please cite our paper. Thank you!

Author: Zhepei Wang and Fei Gao from ZJU FAST Lab.

Paper: Geometrically Constrained Trajectory Optimization for Multicopters, Zhepei Wang, Xin Zhou, Chao Xu, and Fei Gao, IEEE Transactions on Robotics (T-RO), Regular Paper.

@article{WANG2022GCOPTER,
    title={Geometrically Constrained Trajectory Optimization for Multicopters}, 
    author={Wang, Zhepei and Zhou, Xin and Xu, Chao and Gao, Fei}, 
    journal={IEEE Transactions on Robotics}, 
    year={2022}, 
    volume={38}, 
    number={5}, 
    pages={3259-3278}, 
    doi={10.1109/TRO.2022.3160022}
}

Powerful Submodules

About

A Revised Version of GCOPTER (ROS1 & ROS2 compatible)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.9%
  • CMake 2.1%