You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-9
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,19 @@
1
1
# TOGT-Planner
2
2
3
-
**Time-Optimal Gate-Traversing (TOGT) Planner** is a light-weight racing trajectory generator that can accommondate a broad range of race tracks comprising gates with diverse shapes and sizes. It provides high trajectory quality in terms of dynamically feasibility by employing differential-flat nature of quadrotor systems and incorporating single-rotor thrust constriants.
3
+
**Time-Optimal Gate-Traversing (TOGT) Planner** is a lightweight trajectory generator for racing drones that can accommodate a broad range of race tracks comprising gates with diverse shapes and sizes. It provides high trajectory quality in terms of dynamic feasibility by employing the differential-flat nature of quadrotor systems and incorporating single-rotor thrust constraints.
4
4
5
5
## Related Papers
6
6
7
-
If the TOGT planner helps your academic projects, please cite our paper. Thank you!
7
+
If the TOGT planner helps your academic projects, please cite our papers. Thank you!
8
8
9
9
-**Time-Optimal Gate-Traversing Planner for Autonomous Drone Racing**, Chao Qin, Maxime SJ Michet, Jingxiang Chen, and Hugh H.-T. Liu, IEEE International Conference on Robotics and Automation (ICRA-2024)
10
10
11
11
-**Time-Optimal Planning for Quadrotors: Reaching Constant Computation Costs for Arbitrary Distance**, Chao Qin, Jingxiang Chen, Yifan Lin, Abhishek Goudar, and Hugh H.-T. Liu, (On-going)
12
12
13
13
## Updates:
14
14
15
-
-**Feb. 19, 2024** - First version released
16
15
-**May. 2, 2024** - Add three different variances of the TOGT planner and make the project public
16
+
-**Feb. 19, 2024** - First version released
17
17
18
18
## Install on Ubuntu
19
19
@@ -39,17 +39,16 @@ make
39
39
```
40
40
41
41
## Visualize the TOGT trajectory
42
-
The default race track `race_uzh_7g_multiprisma.yaml` contains 7 gates with different shapes. They are triangle, rectangle, pentagon, rectangle, rectangle, hexagon, and ball gates in order. The resulting lap time is `8.23` s.
42
+
The default race track `race_uzh_7g_multiprisma.yaml` contains 7 gates with different shapes, respectively, triangle, rectangle, pentagon, rectangle, rectangle, hexagon, and ball gates in order. The resulting lap time is `8.23` s.
43
43
```
44
44
cd ../scripts/plots
45
45
python3 plot_togt_traj.py
46
-
47
46
```
48
47
49
48

50
49
51
50
## Visualize the TOGT-Refined trajectory
52
-
The TOGT trajectory can be refined to reach true time optimality. We take the optimal gate-traveral point as the waypiont, and use the obtained time allocation to compute a proper node number for each segment bewteen two consecutive waypoints. Then, we warm-start the multiple-shooting method with the planned TOGT trajectory. The following python script conducts the refinement for us. The resulting lap time is `7.01` s.
51
+
The TOGT trajectory can be refined to reach true time optimality. We take the optimal gate-traversal point as the waypoint and use the obtained time allocation to compute a proper node number for each segment between two consecutive waypoints. Then, we warm-start the multiple-shooting method with the planned TOGT trajectory. The following Python script conducts the refinement for us. The resulting lap time is `7.01` s.
## Visualize the AOS trajectory for waypoint flight
62
61
63
-
Another example is the Split-S track provided in [this](https://www.science.org/doi/full/10.1126/scirobotics.abh1221) paper. It consists of 19 waypoints in total with a tolerance of 0.3 m for each point. Below is our generated trajectory. The AOS stands for automatic optimal synthesis, a novel framework to address time-optimal planning problem. It is part of the result from the second reference above. It takes around 6 s to solve the minimum-time trajectory that originally requires\~50 minutes in previous methods. The resulting lap time is only 1\~2% longer than the optimal solution. We will provide in-depth analytical analysis in the paper about its distance-insensitive nature. The resulting lap time is `17.93` s while the true optimal is `17.56` s.
62
+
Another example is the Split-S track provided in [this](https://www.science.org/doi/full/10.1126/scirobotics.abh1221) paper. It consists of 19 waypoints in total with a tolerance of 0.3 m for each point. Below is our generated trajectory. The AOS stands for Automatic Optimal Synthesis, a novel framework to address time-optimal planning problems. It is part of the result from the second reference above. It takes around 6 seconds to solve the minimum-time trajectory that originally required\~50 minutes in previous methods. The resulting lap time is only 1\~2% longer than the optimal solution. We will provide an in-depth analytical analysis in the paper about its distance-insensitive nature. The resulting lap time is `17.93` s while the true optimal is `17.56` s.
64
63
65
64
66
65
```
@@ -71,7 +70,7 @@ python3 plot_aos_traj.py
71
70
72
71
## Visualize the AOS-TOGT trajectory
73
72
74
-
The TOGT and AOS planners can be seemly integrated, contributing to a super efficienct and accurate method to solve the time-optimal gate-traversing problem. The code below can visualize the result. The resulting lap time is `16.83` s, which is 4% faster than time-optimal waypoint flights.
73
+
The TOGT and AOS planners can be seamlessly integrated, contributing to a highly efficient and accurate method to solve the time-optimal gate-traversing problem. The code below can visualize the result. The resulting lap time is `16.83` s, which is 4% faster than time-optimal waypoint flights.
75
74
76
75
```
77
76
cd ../scripts/plots
@@ -82,7 +81,7 @@ python3 plot_aos_togt_traj.py
82
81
83
82
## Acknowledgements
84
83
85
-
- We use [LBFGS-Lite](https://github.com/ZJU-FAST-Lab/LBFGS-Lite) as the internal solver: An Easy-to-Use Header-Only L-BFGS Solver.
84
+
- We use [LBFGS-Lite: An Easy-to-Use Header-Only L-BFGS Solver](https://github.com/ZJU-FAST-Lab/LBFGS-Lite) as the internal solver.
86
85
- We use [GCOPTER](https://github.com/ZJU-FAST-Lab/GCOPTER) for geometric constraint elimination.
87
86
- We use several utility functions in [Agilicious](https://github.com/uzh-rpg/agilicious) to facilitate development.
88
87
- We refer to [FastFly](https://github.com/BIT-KAUIS/Fast-fly) for the implementation of the multiple shooting method.
0 commit comments