Optical Flow

position estimation을 위해서 아래를 향하는 카메라와 거리 센서를 사용합니다. Optical Flow 기반 네비게이션은 모두 3개 estimator에서 지원합니다. : EKF2, LPE 그리고 INAV (아래 참고)

셋업

위에서 언급한 것처럼 Optical Flow 셋업에는 아래를 향하는 카메라와 거리 센서(LiDAR 선호)가 필요합니다. 각각은 OPTICAL_FLOW_RAD topic 메시지와 DISANCE_SENSOR topic 메시지를 publish합니다.

출력은 다음과 같습니다

MAV의 움직이는 방향 Integrated flow
Forwards + Y
Backwards - Y
Right - X
Left + X

그리고 순전히 회전을 위해서 integraded_xgyro와 integraded_x(각각 integraded_ygyro와 integraded_y)는 동일해야만 합니다.

예제 셋업은 PX4Flow와 LIDAR-Lite입니다.(사진 참고)

카메라

PX4Flow

optical flow를 계산하는 가장 쉬운 방법은 PX4Flow 보드를 사용하는 것입니다. PX4Flow 보드를 사용하기 위해서 I2C에 연결하기만 하면 됩니다. 추천 마운팅 방법은 Sonar 쪽이 전면을 향하게 하는 것입니다.(이미지 참고) 이 설정에서 SENS_FLOW_ROT 파라미터는 270 도입니다.(기본값) PX4Flow 보드가 흔들리지 않도록 합니다.

양질의 optical flow 정보를 얻기 위해서, PX4Flow에 카메라가 비행의 원하는 높이에서 초점이 맞도록 해야합니다. 카메라 초점을 맞추기 위해서 글자가 있는 물체(책)을 놓고 PX4Flow에 USB를 꽂고 QGroundControl를 실행합니다. 셋팅메뉴에서 PX4Flow를 선택하고 카메라 이미지가 나옵니다. 나사를 돌려서 렌즈 초점을 맞춥니다.

Note: 3m 이상을 날리는 경우 카메라는 무한대로 초점이 되며 더 높은 비행에 대해서 변경할 필요가 없습니다

Figure: 책을 이용해서 비행을 원하는 높이에서 flow 카메라 초점을 맞춥니다. 일반적으로 1-3 미터. 3미터가 넘으면 카메라는 무한대로 초점이 되므로 이상의 높이에서 동작합니다

Figure: QGroundControl에서 px4flow 인터페이스는 카메라 초점을 맞추는데 사용

다른 카메라

통합 카메라를 가진 보드/쿼드를 사용하는 것이 가능합니다.(Bebop2, Snapdragon Flight) Optical Flow repo에 대해서 사용 가능. (snap_cam 참고)

Range Finder

일정하고 정확함을 위해 Sonar에서 LIDAR를 사용하는 것을 추천합니다. LIDAR-Lite를 사용할 수 있습니다.

Estimators

Extended Kalman Filter (EKF2)

EKF2 estimator를 사용하기 위해서 SYS_MC_EST_GROUP 파라미터가 2로 설정하고 리부팅합니다. Optical Flow fusion을 위해서 EKF2_AID_MASK 파라미터도 설정해야만 합니다.

Local Position Estimator (LPE)

TODO

results matching ""

    No results matching ""