코딩 및 기타

MAVLink란?

정지홍 2025. 8. 17. 16:16

MAVLink - 위키백과, 우리 모두의 백과사전

 

MAVLink == Micro Air Vehicle Link

  • "소형 무인기"들과 "자체내의 서로 다른 컴포넌트"와 통신하기 위한 프로토콜이다.
    • 즉, uav와 지상 관제소 사이의 통신을 위해 설계된 "경량화 메시징" 프로토콜.
      이는 "낮은 대역폭"과 "높은 신뢰성"이 요구되는 통신환경에 최적화 되어있음.
  • 헤더 전용 메시지 마샬링 라이브러리로 설계됨.
  • 주요 특성
    • 경량성
    • 신뢰성
    • 유연성
    • 크로스 플랫폼
  • 여러 메시지 타입 예시
    • HEARTBEAT ==> 드론과 지상 관제소 간의 연결 상태를 확인하기 위해서 주기적으로 전송되는 메시지
    • ATTITUDE ==> 드론의 pitch roll yaw 정보를 전송
    • GLOBAL_POSITION_INT ==> 드론의 위도,경도,고도 정보를 정수 형태로 전송한다.
    • MISSION_ITEM ==> 드론이 수행할 미션의 각 waypoint 정보를 정의함.
    • COMMAND_LOG ==> 이륙,착륙 , 모터 시동등 특정한 명령을 드론에 내릴때 사용
  • MAVLink 통신 흐름 
    • 1. 메시지 생성
      • 드론의 비행 컨트롤러(ex. pixhawk )가 'sensor data'나 비행 상태 정보를 기반으로 MAVLink패킷을 생성
    • 2. 패킷 전송
      • 생성된 패킷은 드론의 통신 모듈을 통해서 지상 관제소로 전송된다.
    • 3. 패킷 수신
      • 지상 관제소를 통신 묘듈을 통해서 패킷을 수신함
    • 4. 데이터 처리
      • 수신된 패킷은 체크섬 검증을 거쳐서 데이터의 유효성을 확인하고, 페이로드에서 실제 데이터를 추출
    • 5. 정보 표시 및 제어