GPS를 활용한 자율 운항 선박의 좌표계

Update:     Updated:

카테고리:

태그:

참고 블로그

🐢 아래 내용은 위 블로그에서 설명하고자 하는 내용을 학습하고자 제 블로그에 정리하는 내용들입니다. 🐢

Coordinate and Noation

각종 좌표계 및 사용처

GPS의 경우 지구 중심을 원점으로 하는 지구고정좌표계(ECCF)로 표현되어(이하 지구고정좌표계) DD.MMMMMM 형식의 위도와 경도 좌표를 실시간으로 수신해 사용한다.

알고리즘의 주요 좌표계는 ENU 좌표계를 이용한다. 임의의 한 점은 원점(Origin, $ O $)으로 설정하고 지북 방향(North)을 X축, 동쪽(East)를 Y축으로 한다. 이를 편의상 ‘항법 좌표계’라고 부르며, 센싱 데이터의 표현부터 목표 회전각 계산 및 시각화 등 모든 부분에서 기본적 대표적으로 사용하는 좌표계이다.

image

일반적으로 Y축을 위쪽 방향으로, X축을 오른쪽 방향으로 향하도록 설정하나, 위 블로그에서는 위쪽 즉 북쪽 방향을 X축으로 삼았다. 그 이유는 연산의 복잡성 및 복잡한 케이스 발생의 가능성을 줄이기 위함이라고 한다.

위와 같이 북쪽 방향을 X축, 동쪽을 Y축으로 사용한 이유는 보트의 선수각이 y축을 기준으로 연산을 하기 때문에 이렇게 축을 설정할 경우 각 사분면에서 서로 다른 계산식을 사용해 예외처리를 일일히 진행해야 하기 때문에, 오류 발생의 가능성이나 시간 복잡도, 코드 구현 복잡도 등 여러 방면에서 어려움을 느끼게 된다.

IMU의 센서로부터 센싱된 데이터를 바탕으로 보트의 선수각을 계산할 때 자북을 기준으로 동쪽으로 회전할 수록 (+)의 값을, 서쪽으로 회전할수록 (-)의 값을 보이며, 따라서 자북을 0도로 하고 [-180도, 180도]의 선수각 값 범위를 가진다.

항법 좌표계를 사용할 시 단순한 덧뺄셈으로도 정확하고 일관적인 각도 계산을 할 수 있으며 시각화까지 편리하게 할 수 있다.

image

좌표계의 기준점 및 각 축이 동체(보트)에 따라 움직이는 동체 좌표계도 사용하여, 선수각 방향을 $ x_b $, 우현 방향을 $ y_b $ 로 삼는다.

해당 좌표계는 주로 LiDAR 스캐닝 데이터의 처리에 사용한다. LiDAR는 $ x_i $축이 센서의 후방, 즉 보트의 선미 방향이고 $ y_i $축은 보트의 우현 방향이며, 데이터는 LiDAR를 원점으로 하는 극좌표계 형식으로 쉽게 변환할 수 있다.

최종적으로 Servo Motor에 제어 명령을 내릴 때 현재 상태로부터 회전시켜야 할 각을 계산하므로 LiDAR 스캐닝 결과로 장애물의 위치를 판단하고 최적의 회전각을 도출할 때 항법 좌표계로의 복잡한 재변환 없이도 단순히 동체 좌표계를 사용해 연산할 수 있다.

정확한 동체 좌표계는 동체의 무게중심에 좌표계의 기준점을 두지만, 위 블로그에서는 단순히 센서의 설치 위치, 즉 보트의 선수를 기준점으로 한다.

아래는 동체 좌표계와 LiDAR 좌표계의 예시이다.

image

주요 Notation 및 용어 정리

  • (x, y) : 항법 좌표계로 나타낸 보트의 실시간 위치이다.
  • $ \psi $(heading) : 자북에 대한 선수각이다. 자북 방향을 0도라고 했을 때, 선수가 우측으로 회전해 있으면 [0, 180]의 양수를, 좌측으로 회전해 있으면 [-180, 0]의 음수를 출력하며, 항법 좌표계의 표현에 해당한다.

image

  • $ \psi _d$(desire) : 자북을 가리키는 X축에 대해 선수각이 위치하길 원하는 각도이다.(이하 목표 선수각 혹은 목표각). 호핑투어에서는 원점 $ O $에서 다음 지정 위치까지 이은 선분과 X축의 사이각을 말한다. 자율운항에서는 장애물에서는 장애물 회피 및 목표 지점에 도달하기 위하여 회전해야 하는 각도로, 역시 X축을 기준으로 나타낸 항법 좌표계에 해당된다.
  • $ \psi_g $(goal) : 자율운항에서만 쓰이는 기호로, 보트와 최종 게이트를 이은 선분과 현재 선수방향의 사이각을 말한다. 목표 지점이 선수 방향을 기준으로 우측에 있으면, 즉 보트를 우현 방향으로 돌려야 할 경우에는 [0, 180]의 양소 값을 그 반대의 경우에는 [-180, 0]의 음수 값을 가져 동체 좌표계식 표현이다.
  • $ \psi_e $(error) : $ \psi = \psi _d $가 되기 위하여 선수를 돌려애 하는 각을 말한다.(이하 에러각 혹은 차이각). $ \psi _g $와 유사하게 작동한다. 역시 ‘동체 좌표계’식 표현이다.

image

🐢 현재 공부하고 있는 자율주행/자율운항을 학습하며 기록 및 정리를 하기위한 내용들입니다. 🐢

개발 과정

감사합니다.😊

Autonomous_Concept 카테고리 내 다른 글 보러가기

댓글남기기