HITL 시뮬레이션

HITL(Hardware-in-the-Loop)은 일반 PX4 펌웨어가 실제 비행 콘트롤러 하드웨어에서 실행되는 시뮬레이션 모드입니다. 이 접근 방식은 실제 하드웨어에서 대부분의 실제 비행 코드를 테스트할 수 있습니다.

PX4는 멀티콥터(jMAVSim 또는 Gazebo 사용) 및 VTOL(Gazebo 사용)용 HITL을 지원합니다.

HITL 호환 기체

현재 호환 가능한 기체와 시뮬레이터는 아래와 같습니다.

기체

SYS_AUTOSTART

Gazebo

jMAVSim

1000

1001

1002

4001

4011

HITL 시뮬레이션 환경

HITL(Hardware-in-the-Loop) 시뮬레이션을 사용하여, 일반 PX4 펌웨어가 실제 하드웨어에서 실행됩니다. JMAVSim 또는 Gazebo(개발 컴퓨터에서 실행)는 USB/UART를 통하여 비행 콘트롤러 하드웨어에 연결합니다. 시뮬레이터는 PX4와 QGroundControl 간에 MAVLink 데이터를 공유하는 게이트웨이 역할을 합니다.

아래 다이어그램은 시뮬레이션 환경을 나타냅니다.

  • 실제 센서를 시작하지 않는 HITL 설정이 선택되었습니다(QGroundControl를 통하여).

  • jMAVSim 또는 Gazebo는 USB로 비행 컨트롤러에 연결됩니다.

  • 시뮬레이터는 UDP로 QGroundControl에 연결되고, MAVLink 메시지를 PX4에 전송합니다.

  • GazebojMAVSim은 또한 오프보드 API에 연결하고 MAVLink 메시지를 PX4에 전송할 수 있습니다.

  • (선택 사항) 직렬 연결로 QGroundControl에서 조이스틱/게임패드 하드웨어를 연결할 수 있습니다.

HITL 대 SITL

SITL은 시뮬레이션 환경의 컴퓨터에서 실행되며, 해당 환경에서 제작된 펌웨어를 사용합니다. 시뮬레이터에서 가공의 환경 데이터를 제공하는 시뮬레이션 드라이버 이외의 시스템은 정상적으로 작동합니다.

이와 대조적으로, HITL은 일반 하드웨어의 "HITL 모드"에서 일반 PX4 펌웨어를 실행합니다. 시뮬레이션 데이터는 SITL과 다른 지점에서 시스템에 입력됩니다. 커맨더 및 센서와 같은 핵심 모듈에는 시작 시 정상적인 기능 중 일부를 우회하는 HITL 모드가 있습니다.

요약하면, HITL은 표준 펌웨어를 사용하여 실제 하드웨어에서 PX4를 실행하고, SITL은 실제로 더 많은 표준 시스템 코드를 실행합니다.

HITL 설정

PX4 설정

  1. USB로 자동조종장치를 QGroundControl에 연결합니다.

  2. HITL 모드를 활성화합니다.

    1. 설정 열기 > 안전 섹션을 오픈합니다.

    2. HITL 활성화 목록에서 활성화됨을 선택하여 HITL 모드를 활성화합니다.

  3. 기체를 선택합니다.

    1. 설정 > 기체를 오픈합니다.

    2. 테스트할 호환 기체를 선택합니다. 그런 다음 기체 설정 페이지의 오른쪽 상단에 있는 적용 및 재시작을 클릭합니다.

  4. 필요한 경우 RC 또는 조이스틱을 보정합니다.

  5. UDP를 설정합니다.

    1. 설정 메뉴의 일반 탭에서 UDP를 제외한 모든 자동 연결 상자의 선택을 취소합니다.

  6. (선택 사항) 조이스틱과 안정장치를 설정합니다. RC 리모콘 송신기 대신 조이스틱을 사용하려면 이 매개변수를 설정하십시오.

    • COM_RC_IN_MODE를 "조이스틱/RC 검사 없음"으로 변경합니다. 이것은 조이스틱 입력을 허용하고, RC 입력을 비활성화합니다.

    • NAV_RCL_ACT를 '사용 안 함'으로 설정합니다. 무선 제어로 HITL을 실행하지 않으면, RC 안전장치가 간섭하지 않습니다.

QGroundControl 사용 설명서에는 조이스틱가상 조이스틱 설정 방법을 설명합니다.

설정 완료후에는 컴퓨터에서 비행 콘트롤러를 닫고, QGroundControl을 분리합니다.

시뮬레이터별 설정

다음 섹션을 참고하여 특정 시뮬레이터에 대하여 설정하십시오.

Gazebo

  1. Gazebo로 PX4를 빌드합니다(Gazebo 플러그인을 빌드하기 위하여).

    cd <Firmware_clone>
    DONT_RUN=1 make px4_sitl_default gazebo
  2. 차량 모델의 sdf 파일을 오픈합니다(예: Tools/sitl_gazebo/models/iris_hitl/iris_hitl.sdf).

  3. 필요한 경우 serialDevice 매개변수(/dev/ttyACM0)를 변경합니다.

  4. 환경 변수를 설정합니다.

    source Tools/setup_gazebo.bash $(pwd) $(pwd)/build/px4_sitl_default

    Gazebo를 HITL 모드에서 실행합니다.

    gazebo Tools/sitl_gazebo/worlds/hitl_iris.world
  5. QGroundControl을 실행합니다. PX4와 Gazebo에 자동으로 연결되어야 합니다.

jMAVSim(쿼드콥터 전용)

  1. 비행 콘트롤러를 컴퓨터에 연결하고, 부팅시까지 기다립니다.

  2. jMAVSim를 HITL 모드에서 실행:

    ./Tools/jmavsim_run.sh -q -s -d /dev/ttyACM0 -b 921600 -r 250

1. *QGroundControl*을 실행합니다. PX4와 jMAVSim에 자동으로 연결되어야 합니다.

HITL에서 자율 임무 비행

QGroundControl을 사용하여 임무를 실행하고, 차량을 제어할 수 있습니다.

Last updated