# GCOPTER-zju **Repository Path**: gchasing/gcopter-zju ## Basic Information - **Project Name**: GCOPTER-zju - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-30 - **Last Updated**: 2024-10-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GCOPTER __GCOPTER__ is an efficient and versatile multicopter trajectory optimizer built upon a novel sparse trajectory representation named [__MINCO__](https://arxiv.org/pdf/2103.00190.pdf). __User-defined state-input constraints__ for dynamics involving [__nonlinear drag effects__](https://github.com/ZJU-FAST-Lab/GCOPTER/blob/main/misc/flatness.pdf) are supported. ## Updates * **July 20, 2022** - Released [__my thesis in chinese__](https://github.com/ZJU-FAST-Lab/GCOPTER/blob/main/Thesis%20-%20ZhepeiWang%20-%20Chinese%20-%20A%20Geometrical%20Approach%20to%20Multicopter%20Motion%20Planning.pdf) with detailed and up-to-dated methodology about corridor generation, multicopter dynamics, trajectory planning, and so on. * **Mar 11, 2022** - A minimal but non-trivial example for global kinodynamic planning is released. Modules for trajectory optimization, quadcopter dynamics with nonlinear drags, [fast iterative region inflation for corridor generation](https://github.com/ZJU-FAST-Lab/GCOPTER/blob/main/gcopter/include/gcopter/firi.hpp), non-uniform MINCO (s=3), etc., are released. * **Mar 15, 2022** - Released non-uniform MINCO for s=2 and s=4. * **May 19, 2022** - Released a doc to detail [differential flatness for multicopters under nonlinear drag effects](https://github.com/ZJU-FAST-Lab/GCOPTER/blob/main/misc/flatness.pdf). Add code links for all projects powered by MINCO. * **Plan** - __More examples are on the way__, including uniform MINCO (s=2,3,4), trajectory generation for tube-shaped and sphere-shaped corridors, local replanner, whole-body SE(3) planner, interfaces for external constraints, augmented Lagrangian, and so on. ## About If our repo helps your academic projects, please cite our paper. Thank you! __Author__: [Zhepei Wang](https://zhepeiwang.github.io) and [Fei Gao](https://scholar.google.com/citations?hl=en&user=4RObDv0AAAAJ) from [ZJU FAST Lab](http://zju-fast.com). __Paper__: [Geometrically Constrained Trajectory Optimization for Multicopters](https://arxiv.org/abs/2103.00190), Zhepei Wang, Xin Zhou, Chao Xu, and Fei Gao, [IEEE Transactions on Robotics](https://doi.org/10.1109/TRO.2022.3160022) (__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} } ``` ## Applications ### Example 1: Global Trajectory Planning This is a minimal yet non-trivial example of our trajectory optimizer for real-time high-quality corridor and global trajectory generation subject to dynamic constraints. For installation, the following terminal commands are helpful. sudo apt update sudo apt install cpufrequtils sudo apt install libompl-dev sudo cpufreq-set -g performance mkdir ROS; cd ROS; mkdir src; cd src git clone https://github.com/ZJU-FAST-Lab/GCOPTER.git cd .. catkin_make source devel/setup.bash roslaunch gcopter global_planning.launch After conduct the command, you will see the windows for rviz and rqt_plot. Please follow the gif below for global trajectory planning in a random map.