Skip to content

acsl-inha/multirotor_emergency_landing

Repository files navigation

multirotor_emergency_landing

Multirotor control allocation and emergency landing

본 연구에서는 컨벡스 최적화 기법을 이용하여 다중프로펠러 비행체의 고장 대응 알고리듬을 설계한다.

개요

고장대응 알고리듬은 비행체의 고장 검출이 완료되었다는 가정하에 설계되었으며, 고장 검출 직후 실행된다. 알고리듬은 비행체 구동을 위한 roll, pitch, yaw 자세각 명령과 추력 명령을 출력하여 비행체가 고장 위치에서 착륙 가능 조건을 만족하는 가장 가까운 위치로 최소 추력을 사용하여 착륙하도록 한다. 알고리듬에는 다음의 식이 사용되었다.

추력 크기의 차이를 줄이기 위하여 위의 식 (7)을 제한조건으로 사용하였으며, 비행체의 자세를 적당히 유지하여 급기동을 방지하고자 식 (8)을 적용하였다.

비상착륙 알고리듬

  1. 고장 검출이 끝난 시점에서 비행체의 위치와 속도를 초기값으로 한다.
  2. Bisection Method를 이용하여 최적 N을 정한다.
  3. 컨벡스 문제를 N번 풀어 3축 추력 명령을 얻는다.
  4. 가장 첫 번째 step의 추력 명령을 자세각(roll, pitch, yaw)명령과 추력 명령으로 변환한다.
  5. 4에서 계산한 값을 비행체의 자세 명령으로 반환한다.

시뮬레이션 결과

  1. simulation 1
  • 총 시뮬레이션 시간은 10초이며 고장 발생 시간은 3초, 고장 검출에 걸린 시간은 0.2초로 하였다.
  • 착륙 위치 제한은 아래 식과 같다.

  • Mission
time(s) Altitude(m) x(m) y(m) yaw
0~3.5 2 3 1 10

sim1_2D

  • graph 붉은 점선은 고장 시점, 푸른 점선은 알고리듬 적용 시점, 노란 점선은 착륙 시점이다.

sim1_thrust sim1_euler sim1_rotor sim1_body sim1_3D

착륙시 기체가 급기동하는 것을 방지하기 위하여 착륙 직전의 일부 스텝의 추력 명령이 Z축과 이루는 각을 6도로 제한하였다. sim1_angle

Multirotor_lin_sim1

  1. simulation 2
  • 총 시뮬레이션 시간은 12초이며 고장 발생 시간은 6초, 고장 검출에 걸린 시간은 0.2초로 하였다.
  • 착륙 위치 제한은 아래 식과 같다.

  • Mission
time(s) Altitude(m) x(m) y(m) yaw
0~3.5 4 3 2 10
3.5~6.2 4 5 6 10

sim2_2D

  • graph 붉은 점선은 고장 시점, 푸른 점선은 알고리듬 적용 시점, 노란 점선은 착륙 시점이다.

sim2_Thrust sim2_euler sim2_rotor sim2_NED sim2_3D

착륙시 기체가 급기동하는 것을 방지하기 위하여 착륙 직전의 일부 스텝의 추력 명령이 Z축과 이루는 각을 6도로 제한하였다. sim2_angle

Multirotor_lin_sim2

  1. simulation 3
  • 총 시뮬레이션 시간은 12초이며 고장 발생 시간은 6초, 고장 검출에 걸린 시간은 0.2초로 하였다.
  • 착륙 위치 제한은 아래 식과 같다.

  • Mission
time(s) Altitude(m) x(m) y(m) yaw
0~3.5 4 3 2 10
3.5~6.2 4 5 6 10

pol1_2D

  • graph 붉은 점선은 고장 시점, 푸른 점선은 알고리듬 적용 시점, 노란 점선은 착륙 시점이다.

pol1_thrust pol1_euler pol1_rotor pol1_NED pol1_3D

착륙시 기체가 급기동하는 것을 방지하기 위하여 착륙 직전의 일부 스텝의 추력 명령이 Z축과 이루는 각을 6도로 제한하였다. pol1_angle

Multirotor1 (1)

  1. simulation 4
  • 총 시뮬레이션 시간은 12초이며 고장 발생 시간은 6초, 고장 검출에 걸린 시간은 0.2초로 하였다.
  • 착륙 위치 제한은 아래 식과 같다.

  • Mission
time(s) Altitude(m) x(m) y(m) yaw
0~3.5 4 3 2 10
3.5~6.2 4 5 6 10

pol2_2D

  • graph 붉은 점선은 고장 시점, 푸른 점선은 알고리듬 적용 시점, 노란 점선은 착륙 시점이다.

pol2_thrust pol2_euler pol2_rotor pol2_NED pol2_3D

착륙시 기체가 급기동하는 것을 방지하기 위하여 착륙 직전의 일부 스텝의 추력 명령이 Z축과 이루는 각을 6도로 제한하였다. pol2_angle

Multirotor2

  1. simulation 5
  • 총 시뮬레이션 시간은 12초이며 고장 발생 시간은 6초, 고장 검출에 걸린 시간은 0.2초로 하였다.
  • 착륙 위치 제한은 아래 식과 같다.

  • Mission
time(s) Altitude(m) x(m) y(m) yaw
0~3.5 4 3 2 10
3.5~6.2 4 5 6 10

ball1_2D

  • graph 붉은 점선은 고장 시점, 푸른 점선은 알고리듬 적용 시점, 노란 점선은 착륙 시점이다.

ball1_thrust ball1_euler ball1_rotor ball1_NED ball1_3D

착륙시 기체가 급기동하는 것을 방지하기 위하여 착륙 직전의 일부 스텝의 추력 명령이 Z축과 이루는 각을 6도로 제한하였다. ball1_angle

Multirotor3

  1. simulation 6
  • 총 시뮬레이션 시간은 12초이며 고장 발생 시간은 6초, 고장 검출에 걸린 시간은 0.2초로 하였다.
  • 착륙 위치 제한은 아래 식과 같다.

  • Mission
time(s) Altitude(m) x(m) y(m) yaw
0~3.5 4 3 2 10
3.5~6.2 4 5 6 10

ball2_2D

  • graph 붉은 점선은 고장 시점, 푸른 점선은 알고리듬 적용 시점, 노란 점선은 착륙 시점이다.

ball2_thrust ball2_euler ball2_rotor ball2_NED ball2_3D

착륙시 기체가 급기동하는 것을 방지하기 위하여 착륙 직전의 일부 스텝의 추력 명령이 Z축과 이루는 각을 6도로 제한하였다. ball2_angle

Multirotor4

  1. simulation 7
  • 총 시뮬레이션 시간은 12초이며 고장 발생 시간은 6초, 고장 검출에 걸린 시간은 0.2초로 하였다.
  • 착륙 위치 제한은 아래 식과 같다.

  • Mission
time(s) Altitude(m) x(m) y(m) yaw
0~3.5 4 3 2 10
3.5~6.2 4 5 6 10

ball3_2D

  • graph 붉은 점선은 고장 시점, 푸른 점선은 알고리듬 적용 시점, 노란 점선은 착륙 시점이다.

ball3_thrust ball3_euler ball3_rotor ball3_NED ball3_3D

착륙시 기체가 급기동하는 것을 방지하기 위하여 착륙 직전의 일부 스텝의 추력 명령이 Z축과 이루는 각을 6도로 제한하였다. ball3_angle

Multirotor5

About

Multirotor control allocation and emergency landing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages