콘텐츠로 건너뛰기
쿼드(QUAD) 드론연구소

쿼드(QUAD) 드론연구소

  • 👨‍✈️ 초보 파일럿
  • 🎖️ 개발자
  • 🥇 전문가
  • 💎 다이아몬드
  • 🛠️ Tech-Tip
  • 📝 블로그
  • ⚠️ 저작권
login
쿼드(QUAD) 드론연구소
쿼드(QUAD) 드론연구소

🕰️PX4와 ArduPilot의 개발 배경

4
  • ArduPilot 주요 개발자
  • ArduPilot
  • PX4 주요 개발자
  • PX4

📚드론 개발 라이브러리

10
  • 1.드론 개발자 로드맵(Load-Map)
  • 2.드론 개발 소프트웨어 개요
  • 3.MAVLINK
  • 4.PyMAVLink
  • 5.MavProxy
  • 6.MAVSDK
  • 7.MAVROS
  • 8.PX4 uORB with ROS 2
  • 9.자율주행드론 개발 프로세스
  • 10.학습 로드맵(Road-map)

🧩자율주행드론 시스템 아키텍처

4
  • Smart UAV is Robot!
  • PX4 System 아키텍쳐
  • PX4 Software 아키텍쳐
  • 쿼드(QUAD) 자율주행드론 UAV 시스템 아키텍처

🐧Linux (Ubuntu) 기초

14
  • Ubuntu 22.04 설치 (PC에 직접 설치)
  • Windows 10/11 WSL2 설치
  • Linux 개요
  • 리눅스 쉘 기본 명령어
  • 자주쓰는 명령어 정리 (Ubuntu 사용)
  • 자주 사용하는 터미널 명령어
  • Linux Package 에 대한 이해
  • su와 sudo 명령어 활용법
  • 리눅스 파일 시스템 이해하기
  • 리눅스 권한에 대한 이해
  • 빌드 시스템에 대한 이해
  • Make(Makefile) 사용 가이드
  • CMake 의 이해
  • CMake 사용 가이드

픽스호크(Pixhawk) 기초

29
  • 쿼드(QUAD) 자율주행 드론(UAV) 개발 키트
  • 픽스호크 드론의 기초 개요
  • 드론에 사용되는 물리학
  • 멀티콥터의 동작 원리
  • ArduPilot vs. PX4 선택
  • PX4 시스템 아키텍처
  • 지상국(Ground Control System) 선택
  • Pixhawk 6C 비행 컨트롤러
  • Pixhawk 6X 비행 컨트롤러
  • 드론에서 사용되는 센서간 통신제어 방식
  • Pixhawk 배선
  • Pixhawk 전원 공급
  • GPS/나침반
  • 거리 측정기 (LiDAR)
  • 고도(Altitude) 이해
  • 컴패니언 컴퓨터
  • 오프보드(Offboard) 제어
  • 컴패니언 컴퓨터 GPIO를 이용한 FC 제어
  • ESC(전자속도제어기)
    • ESC (전자속도제어기)
    • BLHeli32 및 BLHeli_S ESC
    • DShot ESC
    • DroneCAN ESC
    • PWM, OneShot 및 OneShot125 ESC
  • 무선제어시스템(Radio)
    • 무선 제어 시스템 (Radio)
    • 조종기/수신기
    • 수신기 RSSI 강도 표시
  • Telemetry 라디오
    • Telemetry 라디오
    • SiK Radio 설정
    • 다중 Point-to-Point 설정

Q250 사용 가이드

17
  • Q250 빠른 시작 가이드
  • QGroundControl 설치
  • Q250 펌웨어 재설치 (선택)
  • Q250 파라메터 설정
  • FS-i6x 조종기와 수신기 설정
  • 비행 모드
  • 전원 설정
  • Actuators (모터) 설정
  • Flight Behavior 설정
  • 텔레메트리 연결
  • GPS 연결
  • 컴패니언컴퓨터 전원 공급장치(UBEC) 사용 가이드
  • LED 컨트롤러 사용 가이드
  • 컴패니언 컴퓨터와 FC의 UART 케이블 연결
  • Optical-Flow & LiDAR 설정
  • 지자계 간섭 문제 해결
  • fake_gps (가상 GPS)

Q500 사용 가이드

10
  • Q500 사용 가이드 개요
  • QGroundControl 설치
  • Q500 펌웨어 설정
  • Q500 파라메터 설정
  • Radiomaster 조종기 설정
  • 수신기의 전파 수신 강도(RSSI) 설정
  • Pixhawk 6X Ethernet 설정
  • 컴패니언 컴퓨터와 FC 연결 설정
  • 시뮬레이터 사용 가이드
  • fake_gps (가상 GPS)

Q650 사용 가이드

9
  • Q650 사용 가이드 개요
  • QGroundControl 설치
  • Q650 펌웨어 설정
  • Q650 파라메터 설정
  • 조종기 설정
  • 수신기의 전파 수신 강도(RSSI) 설정
  • Pixhawk 6X Ethernet 설정
  • 컴패니언 컴퓨터와 FC 연결 설정
  • H-Flow 설정 가이드

첫 비행 및 튜닝

12
  • 첫 비행 및 튜닝 개요
  • 첫 비행 지침
  • 수동비행 지침
  • 임무 비행
  • 지오펜스
  • 안전지점(Rally Points)
  • 비행 모드
  • 지형 추적/유지
  • PID 튜닝
  • 비행 기록 분석
    • 비행 기록 분석
    • Flight Review를 이용한 로그 분석
    • 비행기록 분석 실습

PX4-Toolchain 개발환경 구성

4
  • Windows 10/11 WSL2 설치
  • ROS(1) + PX4 Toolchain 구성
  • Gazebo Classic 시뮬레이터 사용하기
  • ROS2 + PX4 Toolchain 구성

MAVLink-Python 프로그래밍

17
  • MAVLINK 개요
  • Python MAVLink 라이브러리 사용
  • 드론에 연결하기(Connect)
  • MAVLINK 메시지 주고받기
  • 비행 모드 (PX4 멀티콥터)
  • MAV_CMD
  • PX4 ‘OFFBOARD” 와 Ardupilot ‘GUIDED’ 모드 차이
  • PX4 Offboard 모드에서만 유효한 주요 MAV_CMD
  • 드론에 시동걸기(MAV_CMD_COMPONENT_ARM_DISARM)
  • 이륙하기(MAV_CMD_NAV_TAKEOFF)
  • 이동하기(SET_POSITION_TARGET_GLOBAL_INT)
  • 이동하기(SET_POSITION_TARGET_LOCAL_NED)
  • 기수 방향과 속도 변경
  • [별첨]참고 자료
  • MAVLINK 신뢰성 보장
    • MAVLINK 신뢰성 보장
    • MAVLINK 2 메시지 서명
    • [참고]HMAC-SHA256이란?

🛠️Tech-Tip

2
  • MAVLink Router
  • 쿼드(QUAD) 자율주행 드론용 컴패니언컴퓨터 소프트웨어 – Jetson Orin-Nano 용 (Ver.3.1-Ubuntu 22.04)
카테고리 보기
  • Home
  • Docs
  • MAVLink-Python 프로그래밍
  • Python MAVLink 라이브러리 사용

Python MAVLink 라이브러리 사용

1 min read

개요

pymavlink 패키지에는 메시지를 인코딩 및 디코딩하고 서명을 적용 및 확인하는 저수준 기능을 제공하는 언어별 생성 모듈이 포함되어 있습니다.

pymavlink 패키지 의 모듈 세트는 다음과 같습니다.

  • \dialects\v20\* 및 \dialects\v10\* : 각각 MAVLink v2 및 v1에 대한 각 소스 XML 메시지 정의 에 해당하는 Dialect(전문) 모듈입니다 . 각 dialects 모듈에는 다음이 포함됩니다.
    • XML 파일에 정의된 모든 열거형 및 열거형 값에 대한 상수.
    • 메시지 식별자에 대한 상수 집합입니다.
    • XML 파일에 정의된 MAVLink 메시지의 각 유형에 대한 클래스.
    • 메시지를 보내고 받는 데 사용할 수 있는 MAVLink 클래스:
      • 각 메시지 유형에 대한 _send _decode기능을 가지고 있습니다.
      • 서명을 확인하고 적용하는 방법이 있습니다.
      • 데이터 압축 및 구문 분석을 위한 하위 수준 메서드가 있습니다.

Dialect 이름

용도/설명

common

모든 MAVLink 시스템이 공통적으로 사용하는 메시지

ardupilotmega

ArduPilot 펌웨어에서 사용하는 확장 메시지 포함

px4

PX4 프로젝트 전용 확장 메시지 포함

minimal

최소 메시지만 포함 (테스트/초경량 장비용)


pymavlink 모듈

  • mavutil : 통신 링크 설정, 메시지 수신 및 디코딩, 주기적인 작업 실행 등을 위한 MAVLink 유틸리티 기능
    • mavutil.mavlink_connection(device, baud, ...)(처음에) 메시지를 수신하거나 채널(예: udp, 직렬 등)에서 메시지를 보내기 위한 링크를 설정합니다. 이것은 연결을 나타내는 객체를 반환합니다. 당신이 사용할 수있는:
      • mav메시지를 인코딩하고 보내기 위해 선택한 언어/프로토콜 모듈에 액세스하기 위한 속성
      • setup_signing()서명 설정을 위해
      • recv_match()특정 이름 또는 필드 값이 있는 메시지 캡처
    • 연결을 통해 다른 많은 유용한 작업을 수행할 수 있습니다. 모든 자동 조종 매개변수 가져오기, 수신된 각 유형의 마지막 메시지에 액세스, 현재 비행 모드 또는 무장 상태를 포함한 자동 조종 원격 측정 가져오기 등.
  • mavwp : 웨이포인트, 지오펜스, 랠리 포인트를 로드/저장합니다.
  • mavparm : MAVLink 매개변수 세트를 로드/저장합니다.
  • mavextra : 값과 메시지를 변환하는 데 유용한 기능(예: 미터/초를 Km/h로, 오일러를 라디안으로 쿼터니언 등).
  • maveexpression (internal): MAVLink 표현식 평가 함수.

일반적으로 대부분의 개발자는 통신 채널을 설정하고 관리하는데 mavutil 모듈을 사용합니다. 시작하기가 매우 쉽기 때문입니다. 이 모듈은 링크 설정, 메시지 송수신, 현재 활성화된 비행 모드와 같은 몇 가지 기본 자동 조종 장치 속성 쿼리를 위한 간단한 메커니즘을 제공합니다. 속성(mav)을 통해 메시지를 인코딩, 디코딩 및 서명하는 데 사용되는 모듈에 대한 액세스를 제공합니다.

mavutil을 사용할 때 알아야 할 몇 가지 주요 주의 사항이 있습니다 .

  • 링크는 동일한 포트에서 실행 중인 여러 시스템을 제대로 처리하지 않습니다. 다중 차량 네트워크가 필요한 경우 source-system-filtering 샘플을 참조하십시오 .
  • 이 모듈은 ArduPilot에 최적화되어 있으며 일부 기능은 다른 자동 조종 장치에서 제대로 작동하지 않을 수 있습니다.
  • mavutil은 여전히 ​​상대적으로 낮은 수준의 MAVLink API입니다. 가장 일반적인 MAVLink 마이크로 서비스에 대한 지원도 제한적입니다 .

mavutil을 사용할 필요는 없지만 처음부터 작성해야 하는 유용한 코드가 많이 포함되어 있습니다. 특히 들어오는 메시지를 필터링하는 연결 코드 및 방법은 모든 자동 조종 장치에 유용합니다.

나. pymavlink 설치

Copy

pip3 install pymavlink
업데이트된 날짜 2025년 12월 08일

당신의 감정은 어떤가요?

  • Happy
  • 보통
  • 슬픈

이 문서 공유 :

  • Facebook
  • X
  • LinkedIn
  • Pinterest

제공 BetterDocs

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

© 2025 쿼드(QUAD) 드론연구소 - Kadence WP의 워드프레스 테마

  • 👨‍✈️ 초보 파일럿
  • 🎖️ 개발자
  • 🥇 전문가
  • 💎 다이아몬드
  • 🛠️ Tech-Tip
  • 📝 블로그
  • ⚠️ 저작권
Korean
English