VIO 동작상태 확인/검증

저작권: 쿼드(QUAD) 드론연구소 https://smartstore.naver.com/maponarooo

첫 비행 전에 VIO가 제대로 작동하는지 확인하려면 다음 점검을 수행하십시오 .

  • QGroundControl MAVLink Inspector를 사용하여 ODOMETRY MAVLink 메시지를 확인할 수 있습니다.

  • ODOMETRY메시지의 쿼터니언이 절대 쿼터니언(q=1, x=y=z=0)에 매우 가까워질 때까지 차량을 요잉합니다 .

    • 이 시점에서 몸체 프레임은 외부 포즈 시스템의 참조 프레임(NED)과 정렬됩니다.

    • 차량을 굴리거나 피칭하지 않고 단위 쿼터니언에 가까운 쿼터니언을 얻을 수 없다면 프레임에 여전히 피치 또는 롤 오프셋이 있을 수 있습니다. 이런 경우에는 진행하지 말고 좌표계를 다시 확인하세요.

  • 정렬되면 지상에서 차량을 들어올릴 수 있으며 위치의 z 좌표가 감소하는 것을 볼 수 있습니다. 차량을 앞쪽으로 이동하면 위치의 x 좌표가 증가해야 합니다. 차량을 오른쪽으로 이동하면 y 좌표가 증가합니다.

  • 메시지의 선형 속도가 FRD 본체 프레임 참조 프레임에 표현되어 있는지 확인하십시오.

  • PX4 매개변수를 MAV_ODOM_LP다시 0으로 설정합니다. PX4는 ODOMETRY메시지 스트리밍을 중지합니다 .

해당 단계가 일관되면 첫 번째 비행을 시도할 수 있습니다.

  1. 차량을 지상에 내려놓고 ODOMETRY피드백 스트리밍을 시작합니다(MAV_ODOM_LP=1). 스로틀 스틱을 낮추고 모터를 작동시키십시오.

    이때 왼쪽 스틱을 가장 낮은 위치에 놓고 위치 제어로 전환합니다. 녹색불이 들어와야 합니다. 녹색 표시등은 위치 피드백이 가능하며 이제 위치 제어가 활성화되었음을 나타냅니다.

  2. 차량이 고도를 유지할 수 있도록 스로틀 스틱을 중앙(불감대)에 놓습니다. 스틱을 올리면 기준 고도가 증가하고, 값을 낮추면 기준 고도가 감소합니다. 마찬가지로 다른 스틱도 지면 위의 위치를 ​​변경합니다.

  3. 스로틀 스틱의 값을 높이면 차량이 이륙합니다. 직후에 다시 중앙으로 이동합니다.

  4. 차량이 위치를 유지할 수 있는지 확인하십시오.

ROS VIO 노드 동작 상태 점검

주행 거리 측정( Odometry) 토픽 메시지는 nav_msgs/Odometry 타입 입니다. /mavros/odometry/out에 게시됩니다.

header:
  seq: 5621
  stamp:
    secs: 1694053370
    nsecs: 487026691
  frame_id: "camera_odom_frame"
child_frame_id: "camera_pose_frame"
pose:
  pose:
    position:
      x: 0.000324692897266
      y: -1.65936489793e-05
      z: -0.000116684459499
    orientation:
      x: -0.00248622288927
      y: 0.0260733067989
      z: 0.000532980484422
      w: 0.99965685606
  covariance: [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001]
twist:
  twist:
    linear:
      x: -0.00130794872198
      y: -0.000798925085239
      z: 0.00156955926236
    angular:
      x: -0.000592835264468
      y: 0.00404630604533
      z: -0.00977199409233
  covariance: [0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.001]

mavros_msgs/CompanionProcessStatus 유형의 시스템 상태 메시지가 /mavros/companion_process/status 토픽에 게시되어야 합니다. 이는 구성요소를 MAV_COMP_ID_VISUAL_INERTIAL_ODOMETRY(197)로 식별하고 state을 표시해야 합니다. 권장되는 상태 값은 다음과 같습니다.

  • MAV_STATE_ACTIVE(4)VIO 시스템이 예상대로 작동할 때,

  • MAV_STATE_CRITICAL(5)VIO 시스템이 작동하지만 신뢰도가 낮을 ​​때,

  • MAV_STATE_FLIGHT_TERMINATION시스템이 실패했거나 추정 신뢰도가 허용할 수 없을 정도로 낮은 경우.

Tip!

  • MAV_STATE_CRITICAL(5) 가 나올경우 카메라를 흔들거나 USB 케이블을 뺏다가 다시 꼽아보면 정상 상태로 돌아 옵니다.

Last updated