고도를 측정하는 요소로써 가장 많이 사용하는것이 GPS 고도와 압력계이다.
하지만 GPS의 고도의 경우 해수면 고도를 기준이므로 비행제어에 부적합하며 압력고도계의 경우 바람등의 외란의
영향에 매우 취약하다.
따라서 이를 대체하기 위해서 Lidar센서를 활용한 고도측정을 보조 수단으로 사용한다.
물론 Lidar의 경우 빛의 반사로 고도를 측정하기 때문에 지표면과의 거리를 측정하는 것이 아니라 Lidar와 물체간의
거리를 측정한다.
이전 포스팅인
Pixhawk IR-Lock를 사용한 정밀 착륙 -2-
기능을 수행하기 위해서는 Lidar가 반드시 필요하다. X,Y축으로는 IR-Lock sensor가 보정을 하지만 고도의 경우는
Lidar로 정밀 착륙을 수행한다.
환경은 아래와 같다.
FCC : Pixhawk
Firmware : ArduPilot
Lidar : Lightware SF3
SF30은 I2C를 지원한다 Lidar를 Pixhawk의 I2C 포트에 연결한다.
Mission Planner에서 3가지의 파라미터를 수정하여야 한다.
1. RNGFND1_TYPE
2. RNGFND1_MAX_CM
3. RNGFND1_MIN_CM
사용하고 있는 Lightware SF30은 RNGFND1_TYPE이 7로 설정이 되어있다. 다른 모델의 경우 아래 링크에서 확인
할 수 있다
ardupilot.org/copter/docs/parameters.html#rngfnd1-type
RNGFND1_MAX_CM // RNGFND1_MIN_CM 값은 Lidar의 스펙대로 입력한다.
그러면 이제 Lidar의 값을 Mission Planner에서 확인이 아래 사진과 같이 가능하다.