드론 이동
앞·옆 이동의 기준이 회전 후에도 같다고 생각하면 Path가 어긋납니다. Coordinate Frame을 계산으로 먼저 확인합니다.
실습 전에
01 회전한 뒤의 앞으로 이동은 어느 축을 따를까요?
설명
Body Frame의 전방을 따르므로 World Frame에서의 이동 방향은 yaw에 따라 달라집니다.
02 명령 순서가 달라져도 도착점이 같을까요?
설명
이동과 회전의 순서는 일반적으로 교환되지 않습니다. Path를 좌표로 누적해 대조합니다.
실행 조건
이 실습은 좌표 시뮬레이션입니다. 실제 비행으로 확장할 때는 제공 장비의 좌표계·단위와 명령 응답 방식을 별도로 대조합니다.
1. 이동 명령의 좌표 확인
시작 조건
시작 위치 (0,0) m, yaw=0°. 전방은 body +x, 오른쪽은 body -y, yaw는 반시계방향입니다. 제공 commands 5개를 사용합니다.
진행 방법
- 각 명령 후의 Body Frame에서의 Displacement·World Frame에서의 Displacement·누적 위치·yaw를 표에 한 행씩 기록하세요.
- body_to_world 함수를 사용해 예상한 위치를 코드와 비교하세요.
- XY Path에 명령 순서 번호와 축 단위를 표시하세요.
남길 결과
기록 항목과 확인할 점
- 명령
-
- Body Frame에서의 Displacement [m]
-
- World Frame에서의 Displacement [m]
-
- 누적 (x,y) [m]
-
- yaw [deg]
-
확인할 점
- yaw 명령만 실행했을 때 위치가 바뀌지 않는가?
- 회전 변환 전후 변위 벡터의 길이가 같은가?
2. 같은 목적지의 다른 Path
시작 조건
첫 명령열의 최종 위치를 목적지로 두고, yaw=0을 유지하는 world 축 정렬 Path를 새로 만듭니다.
진행 방법
- 직접 정한 두 번째 명령열을 명시하세요.
- 두 Path의 최종 위치 오차·총 이동 거리·회전 횟수를 비교하세요.
- 최단 거리와 실제 명령 수행 편의가 같은 기준인지 설명하세요.
남길 결과
기록 항목과 확인할 점
- Path
-
- 최종 위치
-
- 목적지 오차 [m]
-
- 이동 거리 [m]
-
- 회전 횟수
-
확인할 점
- 두 Path의 시작점과 목적지를 같게 두었는가?
- 평면 좌표를 비행 SDK의 실제 Coordinate Frame과 동일하다고 가정하지 않았는가?
3. 명령 오차를 넣은 Path
시작 조건
이동 길이에 각각 ±5% 오차를 넣습니다. seed=7, 반복 30회로 고정하고 yaw 오차는 0으로 둡니다.
진행 방법
- 각 반복에서 거리 명령만 perturb하고 최종 위치를 저장하세요.
- 최종 위치 산점도와 목적지 거리 오차의 평균·최댓값을 구하세요.
- 오차율을 0%,5%,10%로 바꾸어 결과를 비교하세요.
남길 결과
기록 항목과 확인할 점
- 오차율
-
- 반복 수
-
- 평균 위치 오차 [m]
-
- 최대 오차 [m]
-
확인할 점
- seed와 오차 분포를 기록했는가?
- 오차 0%에서 기준 Path의 목적지로 돌아가는가?
공식 예제·데이터