MAVROS란?

  • MAVLink 프로토콜을 이용하여 ROS에서 동작하는 node를 개발하는 프로젝트입니다.
  • Onboard 시스템에 설치되며 FC <-> Onboard <-> Ground Station 통신을 담당합니다.
  • Ground Control Station을 위한 proxy를 포함하고 있다.

개요

  • MAVROS 패키지에는 MAVLink 통신 프로토콜로 자동 비행에 필요한 통신 드라이버를 제공한다.
  • 추가로 UDP MAVLink bridge를 제공하여 Ground Control Station과 연결할 수 있다.

Node

  • mavros_node
  • gcs_bridge
  • event_launcher

사용

  • mavros/launch 디렉토리에 있는 예제 launch file이 있다.
  • PX4 native stack에 있는 autopilot을 사용한다면 다음과 같이 사용한다.
    • > roslaunch mavros px4.launch
  • ARduPilot/APM stack 펌웨어의 autopilot을 사용한다면 다음과 같이 사용한다.
    • > roslaunch mavros ap.launch
  • 다양한 mavros plugin에 대한 설정은 유사한 이름을 가진 yaml 파일을 참고하자.
  • HW 공지 :
    • APM2.5/2.6은 APM stack 사용
    • Pixhawk 구매한 상태에서는 APM stack이 들어가 있다.
    • QGC를 이용하여 펌웨어를 업로드하는 경우 PX4 firmware가 업로드된다.

Connection URL

  • 연결은 URL로 정의하며, FCU와 GCS가 지원하는 타입을 사용할 수 있다.
  • 지원하는 schemas
    • Serial : /path/to/serial/device[:baudrate]
    • Serial : serial:///path/to/serial/device[:baudrate][/?ids=sysid,compid]
    • UDP: udp://[bind_host][:port]@[remote_host][:port][/?ids=sysid,compid]
    • TCP client: tcp://[server_host][:port][/?ids=sysid,compid]
    • TCP server: tcp-l://[bind_host][:port][/?ids=sysid,compid]
  • 주의
    • URL에 있는 ids는 system_id와 component_id 파라미터에서 주어진 ids를 무효화시킨다.
    • baudrate의 기본값은 57600 이다.
    • bind_host 기본값은 “0.0.0.0”이다.
    • remote_host의 기본값은 unknown이다. mavros는 bind_host:port로 data를 기다린다.
    • server_host의 기본값은 “localhost”이다.
    • port 기본값: UDP bind는 14555, UDP remote는 14550, TCP는 5760이다.
    • discovery stage에는 UDP broadcast가 사용되고 나중에 GCS address로 변경된다.
    • 현재 IPv4만 지원

     

유틸 명령

  • mavcmd
  • mavftp
  • mavparam
  • mavsafety
  • mavsetp
  • mavsys
  • mavwp

Plugin

mavros_node에서 로드되는 통신 플러그인의 표준 집합

  • 3dr_radio
  • actuator_control
  • hil_control
  • command
  • ftp
  • global_position
  • imu_pub
  • local_position
  • manual_control
  • param
  • rc_io
  • safety_area
  • setpoint_accel
  • setpoint_attitude
  • setpoint_position
  • setpoint_raw
  • setpoint_velocity
  • sys_status
  • sys_time
  • vfr_hud
  • waypoint
[개발] MAVROS란?

Leave a Reply

Your email address will not be published. Required fields are marked *