Fast-Racing: An Open-Source Strong Baseline for SE(3) Planning in Autonomous Drone Racing

Z. Han, Z. Wang, N. Pan, Y. Lin, C. Xu and F. Gao, โ€œFast-Racing: An Open-Source Strong Baseline for Planning in Autonomous Drone Racing,โ€ in IEEE Robotics and Automation Letters, vol. 6, no. 4, pp. 8631-8638, Oct. 2021, doi: 10.1109/LRA.2021.3113976.

Publisher Link

์•ž์„œ ICRA ๋…ผ๋ฌธ๊ณผ ๊ฒฝ๋กœ ์ƒ์„ฑ ๋ฐฉ์‹์€ ๋™์ผํ•˜์ง€๋งŒ ๋“œ๋ก  ๋ชจ๋ธ๋ง / GPU ์‚ฌ์šฉ / ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ ์ œ์•ˆ ๋“ฑ์„ ํ•˜๋ฉฐ ์•ž์œผ๋กœ์˜ SE(3) ๊ฒฝ๋กœ ๊ณ„ํš ๋…ผ๋ฌธ๋“ค์— ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ค€์„ ์ œ์‹œํ•˜์˜€๋‹ค.

nonlinear constraints ๋ฅผ cubic and max function ์œผ๋กœ ๋ฐ”๊ฟ” unconstrained optimization problem ์„ quasi-Newton method๋กœ ํ•ด๊ฒฐํ•˜๋Š” ๋‚ด์šฉ์€ ๊ฐ™์œผ๋‚˜, ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์‹์„ ํ‘œํ˜„ํ•˜์—ฌ ์ฐธ๊ณ ํ•˜๊ณ  ์ด๋ฅผ ๋ณ‘๋ ฌ ์ปดํ“จํŒ…์œผ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ ์ ๋„ ์ฃผ๋ชฉํ• ๋งŒ ํ•˜๋‹ค.

Introduction

๋“œ๋ก  ๋ ˆ์ด์‹ฑ์—์„œ planning ์— ๋Œ€ํ•œ ๋ฒค์น˜๋งˆํฌ๊ฐ€ ์—†๊ณ  planning ์—์„œ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋œ baseline๋„ ๋ถ€์žฌํ•˜๋‹ค.

The reason is that SE(3) planning is much more complicated than traditional planning in because the former requires group operations while conventional optimizers require decision variables in Euclidean spaces.

Todo

  • ์™€ ์—์„œ์˜ planning ์ฐจ์ด ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

Dataset and AirSim

  1. A. Antonini, W. Guerra, V. Murali, T. Sayre-McCord, and S. Kara-man, โ€œThe Blackbird Dataset: A large-scale dataset for UAV perception in aggressive flight,โ€ in Proc. Int. Symp. Exp. Robot., Springer, 2018, pp. 130โ€“139.
  2. J. Delmerico, T. Cieslewski, H. Rebecq, M. Faessler, and D. Scaramuzza, โ€œAre we ready for autonomous drone racing? The UZH-FPV drone racing dataset,โ€ in Proc. IEEE Int. Conf. Robot. Automat., 2019, pp. 6713โ€“6719.
  3. R. Madaan et al., โ€œAirSim drone racing lab,โ€ in Proc. NeurIPS Competition Demonstration, PMLR, 2020, pp. 177โ€“191.

์ฃผ์š” contribution

  • simulation platform designed for SE(3) planning
  • trajectory optimization based on parallel computing

ํŠนํžˆ, ๋‹คํ•ญ์‹๊ณผ ์œผ๋กœ ์ •๋ฆฌ๋˜๋Š” ๋ชฉ์ ํ•จ์ˆ˜์˜ gradient๋ฅผ total time, constraints point์˜ discretization number ์— ๋Œ€ํ•ด GPU ์“ฐ๋ ˆ๋“œ / ๋ธ”๋Ÿญ์œผ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์—ฐ์‚ฐํ•˜๋Š” ๋ฐฉ์‹์„ ์ œ์•ˆํ•œ ๊ฒƒ์ด ์ธ์ƒ์ ์ด์—ˆ๋‹ค.

๋ฌธ์ œ์ 

  1. a known map / static racing tracks; ์ข์€ ํ‹ˆ์€ ๋ฌผ๋ก  ์ „์ฒด ์ง€๋„์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๊ณ , ๋™์  ์žฅ์• ๋ฌผ์— ๋Œ€ํ•œ ํšŒํ”ผ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค
  2. a global trajectory offline before the racing starts; ์ฒ˜์Œ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ์ „์—ญ ๊ฒฝ๋กœ ์ƒ์„ฑ์ด ํ•„์š”ํ•˜๋‹ค

ํฐ ๋‚ด์šฉ์ด ์—†์–ด ์„ ํ–‰ ์—ฐ๊ตฌ ๋ฌธ์ œ์  ์งš์€ ๊ฑฐ ์ •๋„๋งŒ ์š”์•ฝ

A. Autonomous Drone Racing

๋“œ๋ก  ๋ ˆ์ด์‹ฑ๊ณผ ๊ฐ™์€ ํ™˜๊ฒฝ์—์„œ์˜ visual-based ์˜ ์ƒํƒœ ์ถ”์ •(state estimation)์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ์…‹๋“ค๋กœ Blackbird dataset[4] ๊ณผ UZH-FPV dataset[5] ๋ฅผ ์ œ์‹œํ•˜์˜€๋‹ค.

B. SE(3) Planning

Configuration spaces with neglected attitude of the drone

  1. D. Mellinger and V. Kumar, โ€œMinimum snap trajectory generation and control for quadrotors,โ€ in Proc. IEEE Int. Conf. Robot. Automat., 2011, pp. 2520โ€“2525.
  2. F. Gao, W. Wu, Y. Lin, and S. Shen, โ€œOnline safe trajectory generation for quadrotors using fast marching method and Bernstein basis polynomial,โ€ in Proc. IEEE Int. Conf. Robot. Automat., 2018, pp. 344โ€“351.
  3. B. Zhou, F. Gao, L. Wang, C. Liu, and S. Shen, โ€œRobust and efficient quadrotor trajectory generation for fast autonomous flight,โ€ IEEE Robot. Automat. Lett., vol. 4, no. 4, pp. 3529โ€“3536, Oct. 2019.
  4. X. Zhou, Z.Wang, H. Ye, C. Xu, and F. Gao, โ€œEGO-Planner: An ESDF-free gradient-based local planner for quadrotors,โ€ IEEE Robot. Automat. Lett., vol. 6, no. 2, pp. 478โ€“485, Apr. 2021.

์•ž์„  ๋…ผ๋ฌธ๋“ค์—์„œ๋„ ํ•„์ˆ˜์ ์œผ๋กœ ์ธ์šฉ๋˜๋Š” [12] ์—์„œ๋Š” differentially flat system ๊ณผ time vector ์™€ ๋‹คํ•ญ์‹ ๊ณ„์ˆ˜๋ฅผ ํ†ตํ•ด state์™€ control input์„ ์–ป์–ด ๋‚ด์—ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์œ„ ๋…ผ๋ฌธ๋“ค์€ ๋“œ๋ก ์˜ ์ž์„ธ(attitude)๊ฐ€ ๊ณ ๋ ค๋˜์ง€ ์•Š์€ configuration space๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค.

์•„๋ž˜ ๋…ผ๋ฌธ๋“ค์€ SE(3) planning ๋ฌธ์ œ๋ฅผ ๋งค์šฐ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๊ณ , ๊ณ ์ •๋œ attitude constraints ์— ๋Œ€ํ•ด์„œ๋งŒ ๊ฒฝ๋กœ๋ฅผ ๊ณ„ํšํ•  ์ˆ˜ ์žˆ๋‹ค.

over-simplify SE(3) planning and fixed attitude constraints

  1. D. Falanga, E. Mueggler, M. Faessler, and D. Scaramuzza, โ€œAggressive quadrotor flight through narrow gaps with onboard sensing and computing using active vision,โ€ in Proc. IEEE Int. Conf. Robot. Automat., 2017, pp. 5774โ€“5781.
  2. G. Loianno, C. Brunner, G. McGrath, and V. Kumar, โ€œEstimation, control, and planning for aggressive flight with a small quadrotor with a single camera and IMU,โ€ IEEE Robot. Automat. Lett., vol. 2, no. 2, pp. 404โ€“411, Apr. 2017.
  3. T. Hirata and M. Kumon, โ€œOptimal path planning method with attitude constraints for quadrotor helicopters,โ€ in Proc. Int. Conf. Adv. Mechatronic Syst., 2014, pp. 377โ€“381.

์ด์ œ ์ฒ˜์Œ ์‚ดํŽด๋ดค๋˜ Liu et al. ๋…ผ๋ฌธ์ด kinodynamic searching ๋ฐฉ์‹์œผ๋กœ resolution completeํ•œ SE(3) planner๋ฅผ ์ œ์•ˆํ•˜์˜€์œผ๋‚˜, search-based method์˜ ํ•œ๊ณ„๋กœ ์—ฐ์‚ฐ ์‹œ๊ฐ„์ด๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์†Œ์š”๊ฐ€ ๋งค์šฐ ์ปค์„œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค.

๋ณธ์ธ๋“ค์ด ๋‚ธ ๋…ผ๋ฌธ์ธ GCOPTER ๊ฐ€ high-quality ์˜ SE(3) ๊ถค์ ์„ ๋งŒ๋“ค์–ด๋‚ด์—ˆ๋‹ค๊ณ  ์–ธ๊ธ‰ํ•˜์˜€์ง€๋งŒ, ์ด ๋…ผ๋ฌธ๋„ ์ ์šฉ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์™„์ „ํžˆ ํ•ด๊ฒฐํ•ด๋‚ด์ง€๋Š” ๋ชปํ•˜์˜€๋‹ค. (๋ณ‘๋ ฌ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•œ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ„ํ•œ ์–ธ๊ธ‰์œผ๋กœ ๋ณด์ž„)

GCOPTER

  1. Z. Wang, X. Zhou, C. Xu, and F. Gao, โ€œGeometrically constrained trajec- tory optimization for multicopters,โ€ 2021, arXiv:2103.00190.

๋”ฐ๋ผ์„œ ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ผ๋ฐ˜์ ์ธ ํ˜•์ƒ์˜ ๋“œ๋ก ์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๋ณ‘๋ ฌ ๊ตฌ์กฐ์˜ ์ตœ์ ์ œ์–ด๋ฅผ ์‹ค์ œ๋กœ ์ ์šฉํ•˜์—ฌ baseline์œผ๋กœ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ œ๊ณตํ•œ๋‹ค.

A High-Performance SE(3) Planner

์ด์ „ ๋…ผ๋ฌธ๋“ค์€ ๊ฒฝ๋กœ ์ƒ์„ฑ(trajectory generation)๋“ค ์œ„์ฃผ๋กœ ๋‹ค๋ค˜๋‹ค๋ฉด ๋ณธ ๋…ผ๋ฌธ์€ ๊ฒฝ๋กœ ๊ณ„ํš(trajectory planning)์— ๋” ๋ชฉ์ ์„ ๋งž์ท„๋‹ค๊ณ  ๋ณด์•„์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋ž˜์„œ input ์œผ๋กœ๋Š” grid map, initial and goal states ์ด๊ณ  output ์œผ๋กœ๋Š” feasible ํ•œ SE(3) ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค์–ด๋‚ธ๋‹ค.

A. Safe Constraint

์žฅ์• ๋ฌผ ํšŒํ”ผ๊ฐ€ ๋ณด์žฅ๋œ ๊ฒฝ๋กœ ์ตœ์ ํ™”์— ์‚ฌ์šฉ๋  safe constraint ๋กœ flight corridor๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์ด ๊ฐœ๋…์€ convex polyhedron ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋“œ๋ก ์˜ ๋ชจ๋ธ๋กœ๋ถ€ํ„ฐ ์ฃผ์–ด์ง„ ๋งต๊ณผ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ณด์žฅํ† ๋ก ํ•œ๋‹ค.

  1. ์‹œ์ž‘ ์ง€์ ์œผ๋กœ๋ถ€ํ„ฐ ๊ฒฝ๋กœ ํƒ์ƒ‰์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
  2. ์ •ํ•ด๋†“์€ ์ œํ•œ ๊ฑฐ๋ฆฌ๋ฅผ ๋„˜์ง€ ์•Š๋Š” ๊ฐ€์žฅ ๋จผ ๋ฅผ ๋ถ€ํ„ฐ ์ฐพ๋Š”๋‹ค. path search ์ด๋ฏ€๋กœ collision-free ํ•˜๋„๋ก ํ•œ๋‹ค.
  3. RILS ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 2. ์—์„œ ์–ป์€ ์ง์„ ์—์„œ convex polyhedron ์„ ์ƒ์„ฑํ•œ๋‹ค.
  4. ์ง์„ ์˜ ์ค‘๊ฐ„ ์ง€์ ์„ ์ƒˆ๋กœ์šด ๋กœ ํ•˜์—ฌ 2. ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•˜๊ณ  convex hull ์•ˆ์— ๋งˆ์ง€๋ง‰ ์ง€์ ์ด ํฌํ•จ๋  ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค.

RILS

  1. S. Liu et al., โ€œPlanning dynamically feasible trajectories for quadrotors using safe flight corridors in 3-D complex environments,โ€ IEEE Robot. Automat. Lett., vol. 2, no. 3, pp. 1688โ€“1695, Jul. 2017.

Yang et al. ์—์„œ polyhedrons ๊ด€๋ จ ๋…ผ๋ฌธ ์—์„œ ์ธ์šฉ๋œ ๋…ผ๋ฌธ์ด๊ธฐ๋„ ํ•˜๊ณ  ์—ฐ๊ด€์„ฑ ์žˆ๋Š” ๋…ผ๋ฌธ๋„ ์žˆ์–ด์„œ ๋‚˜์ค‘์— ํ•œ๋ฒˆ ๋ด๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

B. Problem Formulation

๋Œ€๋‹ค์ˆ˜์˜ ๋‚ด์šฉ์ด GCOPTER ๋…ผ๋ฌธ๊ณผ Yang et al. ๊ณผ ์œ ์‚ฌํ•˜๋‹ค.

๋“œ๋ก ์˜ differentially flat system ์„ ํ†ตํ•ด ๋ชจ๋ธ๋งํ•œ vertex ๋ฅผ ์ •์˜ํ•˜๊ณ  ์ด๋ฅผ polyhedron ์œผ๋กœ ์ •์˜ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹คํ•ญ์‹์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” position ์„ ์‹œ๊ฐ„์— ๋Œ€ํ•ด ๋ถ„ํ• ํ•˜์—ฌ ๊ฒฝ๋กœ๋ฅผ ์ˆ˜์‹์œผ๋กœ ํ‘œํ˜„ํ•˜์—ฌ optimal problem์„ ์ •์˜ํ•œ๋‹ค.

์•ž์„œ ํƒ€์›์ฒด, ์ง์œก๋ฉด์ฒด์™€ ๋‹ฌ๋ฆฌ ๋ณธ ๋…ผ๋ฌธ์€ ์—ฌ๋Ÿฌ ๋‹ค๋ฉด์ฒด๋กœ ํ‘œํ˜„๋˜๋Š” ๋ชจ๋ธ๋กœ ์ •์˜ํ•˜์˜€๋‹ค.

์ด๋ฅผ k-DoP (the Boolean intersection of extents along k directions) ํ˜น์€ ์ง์ ‘ ์ •์˜ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ ๋Š” ๋“œ๋ก ์˜ ์ž์„ธ๋ฅผ ํ‘œํ˜„ํ•ด์ฃผ๋Š” rotation matrix ์ด๋‹ค. ๋Š” ๊ผญ์ง“์ ‘์˜ ์ˆ˜ ์ด๊ณ  ๋Š” ๋ฒˆ์งธ ๊ผญ์ง“์ ์˜ ์ขŒํ‘œ์ด๋‹ค. (๋‹น์—ฐํžˆ ๊ฐ€ ๊ณฑํ•ด์ง€๊ณ  ๊ฐ€ ๋”ํ•ด์ง€๋ฏ€๋กœ body frame ์ด๋‹ค.)

polyhedron์œผ๋กœ ์ •์˜ํ•˜๋Š” flight corridor ๋Š” ์•„๋ž˜ ์ด๋ฏธ์ง€๋กœ ๋Œ€์ฒดํ•˜๊ณ  ํŒจ์Šคโ€ฆ

๊ทธ๋ž˜์„œ constraints ๋ฅผ ๊ณ ๋ คํ•œ ๊ฒฝ๋กœ ์ตœ์ ํ™” ๋ฌธ์ œ๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค.

์€ cubic penalty function ์ด๋‹ค. () ๋‚˜๋จธ์ง€ ์ด์–ด์ง€๋Š” ์ˆ˜์‹๋“ค๋„ ๋ชจ๋‘ nonlinear constraints ๋ฅผ cubic penalty term์œผ๋กœ ๋ฐ”๊ฟ” unconstrained optimization ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•œ ๋‚ด์šฉ์œผ๋กœ, GCOPTER ๋…ผ๋ฌธ๊ณผ Yang et al. ์— ๋” ์ž์„ธํžˆ ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค.

๋‹ค๋งŒ ๊ทธ ์ „์—๋Š” normalized ํ•œ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ๊ฐ ๊ฒฝ๋กœ๊ฐ„() ์ƒ๋Œ€์  resolution ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์—ฌ๊ธฐ์—์„œ๋Š” ๊ณ ๋ ค๋œ ๊ฒƒ์ธ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

๋˜ํ•œ, ๊ฐ๊ฐ penalty term์— ๊ฐ€์ค‘์น˜ ๊ฐ€ ์žˆ์–ด์„œ ์ธ์ง€ ์—ฌํƒœ๊นŒ์ง€์˜ ๋…ผ๋ฌธ๋“ค์—์„œ control effort ์— ๋Œ€ํ•ด ๋กœ ํ‘œํ˜„๋˜์–ด ๋”ํ•ด์ง„ ๊ฐ€์ค‘์น˜ ๊ฐ€ ์—†์–ด์กŒ๋‹ค.

์œ„ ์ˆ˜์‹์—์„œ ๋Š” vertex์˜ ๊ฐฏ์ˆ˜์ด๊ณ  ๋Š” hyperplane์˜ ๊ฐฏ์ˆ˜์ด๋‹ค.

์ตœ์ ๊ฐ’์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฏธ๋ถ„ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๊ฒƒ์— ๋Œ€ํ•ด์„œ๋Š” ์ดํ›„ ์ฑ•ํ„ฐ์—์„œ ๋‹ค๋ฃฌ๋‹ค. ๊ทธ๋ฆฌ๊ณ  gradient ํ‘œํ˜„์„ ๋‹จ์ˆœํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด smoothness cost ๋ฅผ ๋กœ ํ‘œ๊ธฐํ•œ๋‹ค.

C. Gradient Calculation

๋‹คํ•ญ์‹ ๊ถค์ ์—์„œ ๊ณ„์ˆ˜ ํ–‰๋ ฌ์„ ๋กœ ํ•˜๊ณ  ์‹œ๊ฐ„ ๋ฒกํ„ฐ ๋กœ ํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฒˆ์งธ ๊ถค์ ์„ ํ‘œํ˜„ํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์ „์ฒด ๊ถค์ ์— ๋Œ€ํ•œ ๊ณ„์ˆ˜ ํ–‰๋ ฌ (the coefficient matrix) ์™€ ์‹œ๊ฐ„ ํ• ๋‹น ๋ฒกํ„ฐ (time allocation vector) ๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์•ž์„  ๋ชฉ์ ํ•จ์ˆ˜ ๋ฅผ ์˜ ํ•จ์ˆ˜ ๋กœ ํ‘œํ˜„๊ฐ€๋Šฅํ•˜๋‹ค.

์ด์ œ gradient๋ฅผ ๊ณ„์‚ฐํ•ด๋ณด์ž.

optimization problem ์„ ์œ„์™€ ๊ฐ™์ด ๋งค์• ์šฐ ๊ฐ„๋žตํžˆ ํ‘œํ˜„ํ•ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด gradient ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ˆ˜์‹์„ ์กฐ๊ธˆ ์ž์„ธํžˆ ๋ณด๋ฉด ๋ถ€๋ถ„์ด ๋กœ ๋ฐ”๋€ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. continuous ํ•œ ๊ณต๊ฐ„์—์„œ๋Š” ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฏ€๋กœ ์ด๋ฅผ dicretization factor ๋กœ ๋ถ„ํ• ํ•ด์ฃผ์—ˆ๋‹ค.

smoothness cost ๋Š” ๋‹คํ•ญ์‹์˜ ์ฐจ ๋ฏธ๋ถ„์ด๋ผ์„œ ์—ฐ์‚ฐํ•˜๊ธฐ ์‰ฌ์šฐ๋ฏ€๋กœ ์š”์†Œ๋“ค๋งŒ ๋ฏธ๋ถ„์— ๋Œ€ํ•ด ์œ ๋„ํ•ด๋ณด๋ฉด ๋œ๋‹ค.

๋””ํ…Œ์ผํ•œ ์ˆ˜์‹์ „๊ฐœ๋Š” ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜์—ฌ ์•„๋ž˜ ์ด๋ฏธ์ง€๋กœ ๋Œ€์ฒดํ•œ๋‹ค.

Todo

  • gradient ์ˆ˜์‹ ์ „๊ฐœ ์œ ๋„

GCOPTER ๋…ผ๋ฌธ์—์„œ ์ฆ๋ช…ํ•œ Optimality condtion ์— ์˜ํ•˜๋ฉด ์ตœ์ ํ•ด(the minimum control effort peicewise-polynomial trajectory) ๋Š” ์ค‘๊ฐ„ ์ง€์ ์˜ ์ƒํƒœ ๊ฐ€ ์ฃผ์–ด์ง„ ๋งˆ๋‹ค ์ฐจ๊นŒ์ง€ ์—ฐ์†์ ์ด๊ณ  ๋ฏธ๋ถ„๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ฅผ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๋กœ ๋‘์–ด snap ์ด ํ•ญ์ƒ ์—ฐ์†์ ์ด๋„๋ก ํ•˜์˜€๋‹ค. ์ค‘๊ฐ„ ์ง€์  ์ด๋ฏ€๋กœ waypoints ์ด ํ•„์š”ํ•˜๋‹ค. (์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•ž์„œ ์ •๋ฆฌํ•œ question ๋ถ€๋ถ„ ์ฐธ๊ณ . notation ์ด ํ•œ ์ฐจ์ˆ˜์”ฉ ๋ฐ€๋ ค์„œ ๋‹ฌ๋ผ๋ณด์ด์ง€๋งŒ ๋™์ผํ•œ ์ˆ˜์‹์ด๋‹ค.)

Question

  • ์ค‘๊ฐ„ ์ง€์ ์˜ ์ƒํƒœ๊ฐ€ ์ ๊ฒŒ ํ•„์š”ํ•  ์ˆ˜๋ก = ๊ฐ€ ์ž‘์„ ์ˆ˜๋ก
  • ์—ฐ์†์ ์ด๊ณ  ๋งˆ๋ถ„๊ฐ€๋Šฅํ•œ ์ฐจ์ˆ˜๊ฐ€ ํด ์ˆ˜๋ก = ๊ฐ€ ํด ์ˆ˜๋ก ์ข‹์€ ๊ฒƒ ์•„๋‹Œ๊ฐ€?
  • ๊ทธ๋ ‡๋‹ค๋ฉด ์œผ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ (์ดˆ๊ธฐ๊ฐ’, ์ตœ์ข…๊ฐ’์˜ state๊ฐ€ ๊ฐ€์†๋„ ๊นŒ์ง€ ์žˆ์œผ๋ฏ€๋กœ boundary conditions ์ด๋‹ค.)
  • ์‚ฌ์‹ค ๋Š” ์ •ํ•ด์ ธ ์žˆ๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€?( ๊ฐ€ ์ž‘์•„์ง€๊ฑฐ๋‚˜ ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก quality ๋Š” ์•ˆ์ข‹์•„์ง€๋ฏ€๋กœ)

์ด์ œ ๋Š” ๋ชจ๋‘ ๋กœ๋งŒ ์—ฐ๊ด€๋˜์–ด ์ •์˜๋˜๋Š” non-singular mapping matrix ๊ณผ ์—ฐ๊ด€์ง€์–ด ์ง„๋‹ค.

์ด ์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ์ •์˜๋Š” GCOPTER ๋…ผ๋ฌธ์— ๋‚˜์™€ ์žˆ๋‹ค.

์ด non-singular ํ•˜๋ฏ€๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

Question

  • ์˜ dimension ์ด ์–ด๋–ป๊ฒŒ ๋˜๋Š” ๊ฒƒ์ธ์ง€? ์„ ์•Œ์•„์•ผ ์ •ํ™•ํ•˜๊ธด ํ•˜๊ฒ ์ง€๋งŒ, ๊ฐ ์š”์†Œ๋“ค์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ๋ณด์ธ๋‹ค.
  • initial and final state ๋‚˜ waypoints ๋Š” ๋ชจ๋‘ ์œ„์น˜๊ฐ’๋งŒ ์žˆ๋Š” ํฌ๊ธฐ 3์˜ ๋ฒกํ„ฐ์ธ๋ฐ, ๋Š” ์ด๋ฏ€๋กœ snap ๊นŒ์ง€ ํฌํ•จํ•œ ํฌ๊ธฐ์ด๋‹ค. ๋ฌผ๋ก  0์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ธด ํ•˜์ง€๋งŒโ€ฆ

Solved ?

  • ์ด์ „ ๋…ผ๋ฌธ์— ์กฐ๊ธˆ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…๋˜์–ด ์žˆ์–ด ์ฐธ๊ณ ํ•˜์—ฌ ํ•ด๊ฒฐ.
  • ๋กœ ๋˜์–ด ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ด๋‹ค.
  • ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์ด์—ˆ์œผ๋ฏ€๋กœ non-singular ํ•œ M๊ณผ ๋ชจ๋‘ ์ด์ „ ๋…ผ๋ฌธ๊ณผ ๋™์ผํ•œ ํฌ๊ธฐ๋ฅผ ๊ฐ–๋Š”๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์œ„ ์งˆ๋ฌธ์— ์ ์–ด๋†“์€ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ๋Š” ํฌ๊ธฐ๊ฐ€ 3์ธ ๋ฒกํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ, ์ฐจ ๊นŒ์ง€ state ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  (e.g. ) ์—ฌ๊ธฐ์„œ๋Š” ์œ„์น˜, ์†๋„, ๊ฐ€์†๋„์ด๋‹ค.
  • ๊ทธ๋ ‡์ง€๋งŒ ์—ฌ์ „ํžˆ ์€ ์ดํ•ด๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐ€ ์œ„์น˜๊ฐ’๋งŒ ์žˆ์œผ๋ฏ€๋กœ ๋‚˜๋จธ์ง€ ์†๋„, ๊ฐ€์†๋„์— ๋Œ€ํ•ด ์˜๋ฒกํ„ฐ๋ฅผ ๋„ฃ์–ด์ค€ ๊ฒƒ์ด๋ผ๋ฉด ์ด ์•„๋‹ˆ๋ผ ํ˜น์€ 2 ์—ฌ์•ผ ํ•˜์ง€ ์•Š๋‚˜?
  • ๊ทธ๋ฆฌ๊ณ  ์ด ๋งž์•„ ๋–จ์–ด์ง€๋ ค๋ฉด ๊ฐœ์˜ state ์ •๋ณด๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ, ๋Š” ๊ฐœ๊ฐ€ ๋งž์ง€๋งŒ, ๋Š” ๊ฐœ ์ด๋‹คโ€ฆ ์ฐธ๊ณ 

์–ด์จŒ๋“ , ๊ถค์ ์€ ์— ์˜ํ•ด ์™„์ „ํžˆ ์ •ํ•ด์ง„๋‹ค. (uniquely determined)

๊ทธ๋ž˜์„œ ์ตœ์ ํ™” ๋ฌธ์ œ์™€ gradient ๊ณ„์‚ฐ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ํ•„์š”๋กœ ํ•˜๋Š” ๋Š” ์˜ ๋ณต์žก๋„๋กœ ์–ป์–ด๋‚ผ ์ˆ˜ ์žˆ์Œ์„ ์ด์ „ ๋…ผ๋ฌธ์—์„œ ์ฆ๋ช…ํ•˜์—ฌ ์—ฌ๊ธฐ์„œ๋„ linear complexity ๋ผ๊ณ  ์–ธ๊ธ‰ํ•˜์˜€๋‹ค. ์ด๋กœ์จ, unconstrained optimization problem์ด ๋˜์–ด quasi-Newton method๋กœ ํ’€์–ด๋‚ธ๋‹ค.

D. High-Performance Implementation of SE(3) Planner

๊ฒฝ๋กœ ์ƒ์„ฑ์— ํ•„์š”ํ•œ ์—ฐ์‚ฐ์€ ๊ฐ๊ฐ์˜ ์กฐ๊ฐ์˜ ๋‹คํ•ญ์‹ ๊ถค์ ์„ ๋งŒํผ ์ด์‚ฐํ™”ํ•˜์—ฌ ์—ฐ์‚ฐํ•˜๋ฏ€๋กœ ์— ์—ฐ๊ด€๋œ ์ƒ์ˆ˜ ์‹œ๊ฐ„ ๋ฅผ ์ •์˜ํ•˜์˜€์„ ๋•Œ, ์ „์ฒด ๊ถค์ ์˜ gradient ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํฐ ์Šค์ผ€์ผ์˜ ๊ฒฝ๋กœ ์ƒ์„ฑ์—์„œ๋Š” ์—ฌ์ „ํžˆ ํฐ ์‹œ๊ฐ„ ์†Œ์š”์— ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ๊ฐ์˜ constraint point์— ๋Œ€ํ•ด gradient๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ๋…๋ฆฝ์ ์ด๋ฏ€๋กœ (i.e. ) ์ด๋ฅผ ๋ณ‘๋ ฌ ๊ตฌ์กฐ๋กœ ๋‚˜๋ˆ  GPU๋ฅผ ํ†ตํ•ด ๊ฐ€์†ํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ๊ฐ iteration์— ๊ฑธ๋ฆฌ๋Š” ์—ฐ์‚ฐ ์‹œ๊ฐ„์€ ๋กœ ๊ฐ์†Œํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  zero-copy๋กœ ๋””๋ฐ”์ด์Šค์— ๋„˜๊ฒจ์ฃผ์–ด ๋ฐ์ดํ„ฐ ์ „์†ก์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ค„์˜€๋‹ค๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฐ ๋ถ€๋ถ„์€ GPU ์ตœ์ ํ™” ๊ด€๋ จ์ด์ง€๋งŒ, ๋…ผ๋ฌธ์— ๊ฐ™์ด ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„์ด ์‹ ๊ธฐํ–ˆ๋‹ค.

๊ตฌ์ฒด์ ์ธ ๊ณผ์ •์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. ์ตœ์ ํ™” ๋ฌธ์ œ๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋ฉด GPU ์ปค๋„์„ ์‹คํ–‰ํ•œ๋‹ค.
  2. ๊ฐ iteration ๋งˆ๋‹ค ๊ถค์  parameter ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ ์‹ ํ˜ธ๋ฅผ CPU ์—์„œ GPU ๋กœ ๋ณด๋‚ธ๋‹ค. ๋ฒˆ์งธ ๊ถค์  () ์˜ ๋ฒˆ์งธ discretization point () ์˜ gradient ๋Š” ๊ฐ๊ฐ ๋ฒˆ์งธ ๋ธ”๋ก์˜ ๋ฒˆ์งธ ์“ฐ๋ ˆ๋“œ์— ํ• ๋‹น๋˜์–ด ์—ฐ์‚ฐ๋œ๋‹ค. local shared memory ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค๊ณ  ํ•œ๋‹ค.(GPU ์ตœ์ ํ™” ๋ถ€๋ถ„, ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ธ๋‹ค.)
  3. ๊ฐ ๋ธ”๋ก์˜ local memory ์— ์ €์žฅ๋œ gradient ๋ฅผ reduce and sum ์—ฐ์‚ฐ์„ ํ•˜์—ฌ ์„ ์–ป๋Š”๋‹ค.
  4. ๊ทธ๋ฆฌ๊ณ  ์—ฐ์‚ฐ์ด ์™„๋ฃŒ๋˜๋ฉด zero-copy ๋˜์–ด ์žˆ๋Š” gradient ๊ฐ€ ๋ชจ๋‘ ํ•ฉ์‚ฐ๋˜์–ด ๋ชจ๋“  ๊ถค์ ์— ๋Œ€ํ•œ gradient ๊ฐ€ ์–ป์–ด์ง„๋‹ค.

SE(3) Drone Racing Simulation

๊ตฌ์ฒด์ ์ธ ์ ์šฉ๊ณผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ตฌ์กฐ, ํƒ€ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ์˜ ๋น„๊ต ๋ฐ ๋ฉ”ํŠธ๋ฆญ์€ ์ƒ๋žต.

Evaluation

์—ฌ๊ธฐ ์ฑ•ํ„ฐ์—์„œ๋„ ํฌ๊ฒŒ ์‚ดํŽด๋ณผ ๋‚ด์šฉ์€ ์—†์ง€๋งŒ, CUDA ๋ธ”๋ก์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ์„ค๋ช…์ด ์žˆ๋‹ค.

RTX 2060 GPU ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๊ณ  ์ฝ”์–ด๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค. ์€ 64๋กœ ์„ ํƒํ•˜์—ฌ ๊ฒฝ๋กœ ๋ถ„ํ• ์„ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

์•„๋งˆ ๋ธ”๋Ÿญ ์ˆ˜์™€ ๋‚ด๋ถ€์—์„œ matrix multiplication ์—ฐ์‚ฐ์„ ์ตœ์ ํ™”ํ•œ๋‹ค๋ฉด ๋” ๋น ๋ฅธ ์—ฐ์‚ฐ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜๋„ ์žˆ์–ด ๋ณด์ธ๋‹ค.