Learning Agile, Vision-based Drone Flight: from Simulation to Reality 리뷰

신희준·2025년 12월 11일

[Learning Agile, Vision-based Drone Flight: from Simulation to Reality] ([2304.04128] Learning Agile, Vision-based Drone Flight: from Simulation to Reality) (Davide Scaramuzza, Elia Kaufmann / ISRR, 2022)

https://www.youtube.com/watch?v=giridPDPAB0

Notes

  • RPG-UZH 교수님이 직접 쓰신 짧은 abstract paper.
    → 위에 첨부한 스피치 영상을 보는게 재밌긴 함
  • Agile, vision-based quadrotor flight를 위한 deep sensorimotor policy 방법론에 대해 간단 소개
  • 그리고 sim2real 문제 해결하기 위한 방법들 소개 → 이전 여러 연구들로 설명

Introduction

Current robots are far from human performance in agility, versatility, robustness.

→ Agile autonomous drone은 아직 unsolved.

  • 기존의 자율비행 드론 연구는 대부분 아래와 같이 여러 module로 나누어 문제를 풀었지만, 이 방법에는 몇 가지 문제가 있다.

  • 일단 모듈이 많아질수록 perception → action까지 딜레이가 증가하며, 앞 모듈의 작은 error들이 뒤로 갈수록 누적되므로 전체 시스템이 효율적이지 못하다.

  • 추가적으로 이러한 방법론들은 PID나 MPC control에 의존하는데, 이는 튜닝이 매우 어렵고, 복잡한 dynamics에 대처하기가 매우 어렵다.

  • 그래서 새롭게 대두되는 방식이 End-to-End sensorimotor policy learning이다.
    → 즉, 중간 모듈인 perception / planning / control 모듈을 가능한 하나의 학습된 정책으로 통합하는 것.
  • 즉, 결국에는 인간과 비슷하게 raw observation에서 직접 행동을 출력하는 방식이 되어야 한다.
    ✅ 꼭 end-to-end로 raw → action까지는 아니더라도 그 중간 과정들을 NN으로 통합하여 이 문제들을 해결할 수 있을 것이다.
  • 하지만 이 방법도 몇 가지 고려해야하는 점이 분명 있음
    1. 먼저 robust한 policy를 학습하기 위해서 더무나 많은 데이터가 필요하다.
      → 그래서 보통 시뮬레이션에서 학습한다.
    2. 근데 시뮬레이션과 현실 사이에는 차이가 있기 때문에 현실에선 잘 작동하지 않을 수 있다.

➡️ 이러한 문제를 어떻게 해결할 수 있을지 한번 알아보자.

  • Domain randomization 적용

  • Sensor observation의 abstraction 활용

  • 특히, 이러한 문제들을 address할 수 있는 몇 가지 task를 선정하여 연구

    • Wild Navigation
    • Autonomous Drone Acrobatics
    • Drone Racing

High-Speed Flight in the wild

https://www.youtube.com/watch?v=m89bNn6RFoQ

[Learning High-Speed Flight in the Wild] ([2110.05113] Learning High-Speed Flight in the Wild(Antonio Loquercio, Elia Kaufmann, René Ranftl, Matthias Müller, Vladlen Koltun, Davide Scaramuzza / Sci. Robot. , 2021)

  • 해당 연구에서는 자연 환경에서 온보드 센서와 컴퓨팅만으로 10m/s정도의 고속 자율 주행이 가능했다.

  • 핵심 아이디어는 noisy sensory observation을 직접 collision-free trajectory로 mapping한 것
    → 실시간으로 sensor값을 보고 local trajectory를 바로 출력하도록 CNN을 학습
    → map search & building / safe corridor 계산 / optimization 등 없음.
    → processing latency가 줄고, noisy & incomplete perception에 robust함.

  • Privileged learning을 활용해서 시뮬레이션에서 학습함
    → 시뮬레이션의 모든 정보를 활용하는 expert (=motion planning algorithm)를 모방하도록 agent를 학습한 것.
    • 여기서 모든 정보라 함은 full state, reference trajectory, environment 3d map.
      ✔️ reference trajectory는 주어졌다고 가정하고 이것은 꼭 collision free일 필요는 없고, 그냥 드론의 long-term goal을 의미
      ⇒ 이 정보를 기반으로 perfect local trajectory를 생성
    • student인 agent는 오직 on-board sensor값만 가지고 real time으로 collision free trajectory를 출력.
    • teacher인 expert가 출력한 trajectory를 이용해 supervised training
      ✔️ 그리고 이 trajectory를 onboard controller가 MPC로 track하는 구조
  • 이때, policy input으로는 depth abstraction을 활용
    → stereo matching 알고리즘을 활용해서 depth 이미지 추출하고 policy input으로 활용
    1. Depth image는 충돌 회피를 위한 충분한 정보를 제공
    2. 이미지에 비해서 sim2real domain gap이 훨씬 적음.
    ✔️ 정확하게는 depth image와 드론의 vel, att, 비행 방향이 input으로 들어감
    ✔️ 비행 방향은 1초뒤 reference point까지의 벡터방향
  • 추가적으로 realistic sensor noise를 시뮬레이션에 추가하여 학습.

➡️ dense forest, snow-covered terrain, collapsed building 등 다양한 실 세계 환경에서 zero-shot transfer 성공

⭐ 즉, Planning을 NN으로 대체하는 연구

Acrobatic Flight

https://www.youtube.com/watch?v=2N_wKXQ6MXA

[Deep Drone Acrobatics] ([2006.05768] Deep Drone Acrobatics (Elia Kaufmann, Antonio Loquercio, René Ranftl, Matthias Müller, Vladlen Koltun, Davide Scaramuzza / RSS , 2020)

  • Acrobatic Flight는 높은 가속과 정교한 제어가 필요하여 매우 어려운 task
  • 이번에는 센서 관측값 (visual + IMU)를 통해 직접 control action을 예측하도록 네트워크를 학습

  • 이번에도 마찬가지로 시뮬레이션에서 정확한 state 정보를 알고 있는 expert controller를 imitate하도록 학습.

    • expert와 learned policy 모두 acrobatic maneuver를 위한 reference trajectory는 주어졌다고 가정
    • expert는 reference trajectory를 기반으로 MPC를 활용해서 collective thrust와 body rate를 출력함
    • student policy는 오직 forward-facing camera와 IMU만 가지고 control command를 추출
  • 100% simulation에서 학습하였으며, domain gap 줄이기 위해서 여기서도 sensor abstraction 사용

    • 이러한 intermediate representation은 sim과 real 사이에 훨씬 더 consistent
    • 여기서는 VINS-Mono frontend를 사용해 이미지 상에 feature tracks (i.e., motion of salient keypoints in the image plane)을 사용했다고 함.

⭐ 즉, Control을 NN으로 대체하는 연구

Autonomous Drone Racing

  • Drone Racing은 정해진 게이트를 순서대로 가장 빠르게 통과하는 것이 목표인 task.
    • Drone Racing에 필요한 sensorimotor skill은 실제 산업/안전 분야에 적극적 활용 가능 → 복잡하고 좁은 구조물에서 빠르게 이동

    • 인간 조종사와 직접적으로 비교가 가능한 객관적인 test bed

      ➡️ 이러한 이유로 Drone racing은 자율비행드론 분야에서 연구가치가 높은 task


[Time-Optimal Planning for Quadrotor Waypoint Flight] ([2108.04537] Time-Optimal Planning for Quadrotor Waypoint Flight (Philipp Foehn, Angel Romero, Davide Scaramuzza / Sci. Robots. 2021)

  • 첫번째로 생각할 수 있는 방법은 미리 계산된 time-optimal trajectory를 그대로 따라가도록 하는것.
    • 하지만 레이스 트랙 전체 레이아웃을 미리 알고 있어야하며, 상태 추정이 매우 정확해야한다.
    • VIO는 drift가 누적되기 때문에 긴 race에서는 오차가 크고
    • SLAM은 drift를 줄일 수 있지만 계싼량이 많아서 real-time onboard 힘듬

→ 그래서 globally consistent state estimate를 쓰는 대신에 NN으로 waypoint를 예측하도록 방법을 활용

→ 그래서 이 다음 waypoint를 어떻게 표현할지가 중요해짐.


[Deep Drone Racing: Learning Agile Flight in Dynamic Environments] ([1806.08548] Deep Drone Racing: Learning Agile Flight in Dynamic Environments (Elia Kaufmann, Antonio Loquercio, Rene Ranftl, Alexey Dosovitskiy, Vladlen Koltun, Davide Scaramuzza / CORL, 2018)

  • Global optimal reference trajectory를 미리 계산하고, imitation learning을 활용해서 waypoint를 계산하는 네트워크
  • 네트워크는 image coord 상에서 goal directiondesired navigation speed를 출력

  • Reference trajectory 생성 → full state 활용해서 expert policy 생성
    1. Position pcp_c 주어졌을 때, prediction horizon만큼 떨어진 global reference trajectory 위의 pgp_g를 계산

    2. pgp_g 를 image plane에 projection해서 이미지 상의 goal direction xgx_g 계산

    3. Desired velocity는 pcp_c 에서 global reference traj까지 가장 가까운 점 pcp_{c′}에서의 속도.

      → 이렇게 GT goal direction과 desired speed를 만듬

  • 이제 Perception network는 위 데이터를 활용해 이미지를 받고, 그때의 goal direction과 desired speed를 맞추도록 학습
  • 2d point를 3d (local)로 역투영 하고, desired speed를 통해 minimum-jerk trajectory 생성 → controller

⭐ 즉, Perception을 NN으로 대체하는 연구


[Beauty and the Beast: Optimal Methods Meet Learning for Drone Racing] ([1810.06224] Beauty and the Beast: Optimal Methods Meet Learning for Drone Racing (Elia Kaufmann, Mathias Gehrig, Philipp Foehn, René Ranftl, Alexey Dosovitskiy, Vladlen Koltun, Davide Scaramuzza / ICRA, 2019)

  • 그래서 global optimal trajectory를 기반으로 waypoint를 예측하지 않고, FPV 영상에서 다음 게이트의 위치를 파악하고, 이것을 waypoint로 활용하기로 함.
  • 이렇게하면 서로다른 track에서도 작동할 수 있지만, 학습을 위해 엄청나게 많은 real-world 데이터가 필요. (gate의 모양이나 색이라도 바뀌면 큰일)

[Deep Drone Racing: From Simulation to Reality with Domain Randomization] ([1905.09727] Deep Drone Racing: From Simulation to Reality with Domain Randomization (Antonio Loquercio, Elia Kaufmann, René Ranftl, Alexey Dosovitskiy, Vladlen Koltun, Davide Scaramuzza / IEEE T-RO, 2019)

https://www.youtube.com/watch?v=DGjwm5PZQT8

  • 다음 연구는 그래서 시뮬레이션에서만 데이터를 수집하며, sim2real을 가능하게 하기 위해 domain randomization을 수행.
  • illumination, gate shape, floor texture, background 등을 랜덤화하여 학습

→ NN이 appearance보다 geometry에 집중하도록.


[AlphaPilot: Autonomous Drone Racing] ([2005.12813] AlphaPilot: Autonomous Drone Racing (Philipp Foehn, Dario Brescianini, Elia Kaufmann, Titus Cieslewski, Mathias Gehrig, Manasi Muglikar, Davide Scaramuzza / RSS, 2021)

  • 위 여러 연구 방법론들을 합친 연구

  • Perception

    • VIO를 활용하여 시작 위치로부터 상대적 위치 추정 → 속도 높아질수록 drift 커짐
    • Gate Detection
      • corner detection 기반
  • State Estimation

    • VIO drift를 막기 위해서 gate detection output과 VIO, laser rangefinder를 fusion → EKF 활용
    • 미리 주어진 gate 정보와 계산된 gate map과 비교하여 VIO 보정
  • Planning and Control

    • 주어진 global gate map과 계산된 state estimate를 기반으로 드론의 현재 state로부터 앞으로 N개 gate까지의 time-optimal path를 계획
    • gate를 지나거나, gate map estimation이나 VIO drift가 크게 업데이트 될 때마다 path를 다시 계획

Future Work

  • 이러한 연구들을 쭉 살펴보면, 아직 자율비행이 인간의 수준에는 멀었음.

  • 앞으로 아래와 같은 부분에 대해 더 많은 발전이 필요함

  • Generalization

    • 현재 대부분 연구들은 모두 특정 task에 최적화된 전용 정책

    • 새로운 task에 적용하려면 새로 학습을 해야함.

      → hierarchical learning

      Latent space policies for hierarchical reinforcement learning (PMLR, 2018)

      → Optimize policy parameters on a learned manifold

      Learning agile robotic locomotion skills by imitating animals (RSS, 2020)

  • Continual Learning
    • 현재 대부분 연구들은 학습이 끝난 후에는 실제 적용될 때 네트워크가 static.

    • 하지만 실제 환경에서 계쏙해서 학습해나갈 수 있는 에이전트가 있다면 훨씬 더 좋을 것

      → adaptive laerning, meta learning …

profile
공부하고 싶은 사람

0개의 댓글