자율주행 구현

chelseey·2025년 12월 2일

드론 자율주행

Jetson Orin Nano 상에서 동작하는
Python/ROS 코드(비전·경로계획·Offboard 제어)구현

  • Pixhawk는 저수준 자세 제어와 안전 로직을 담당,
    Jetson은 이미지 인식과 고수준 비행 의사결정을 맡음

QGC의 비행 모드

상황비행 모드조종 입력 주체PX4 입장에서
조종기 스틱 직접 조종POSITIONRC(조종기)Onboard + RC
QGC 미션 업로드 후 자동 비행MISSIONPX4 내부 미션 엔진Mission 모드
Jetson이 setpoint 스트림 전송OFFBOARDJetson(동반 컴퓨터)Offboard 모드

다이어그램(하드웨어 블록, 작동 순서)

자율 비행 작동 흐름

1단계: 준비 및 이륙

  • 조종기나 QGC를 통해 드론을 안전한 높이까지 이륙

2단계: 모드 전환 (QGC)

  • 준비가 끝나면 QGC에서 비행 모드를 'Offboard'로 변경
  • 이 순간부터 Pixhawk는 Jetson이 보내는 명령을 기다리기 시작

3단계: 자율주행 반복 루프 (Jetson, Pixhawk)

  • 빠른 속도로 무한 반복

  • Jetson (판단)
    : 카메라로 이미지 촬영.
    AI 모델이 이미지 속에서 목표물이나 장애물을 찾음.
    이동 경로를 판단하고, 이를 Pixhawk가 이해할 수 있는 속도 명령
    (ex. x=0.5m/s, y=0.2m/s)으로 변환.

  • Pixhawk (실행)
    : Jetson이 보낸 속도 명령을 받음.
    Pixhawk의 센서로 현재 상태를 확인하고,
    명령받은 속도를 내기 위해 모터를 어떻게 돌려야 할지 계산하여 실행.

4단계: 종료 또는 비상 상황 (Failsafe)

  • 미션이 완료되었거나, Jetson이 멈추거나, 배터리가 부족하거나, Pixhawk와 Jetson 사이의 통신이 끊기면 루프를 탈출.

  • Pixhawk는 즉시 설정된 안전 조치(Failsafe)를 수행.
    (ex. 제자리 비행, 출발지로 자동 복귀, 자동 착륙)

0개의 댓글