Mavros: Mavros ์ฃผ์ œ์— ๋Œ€ํ•œ ๋‚ฎ์€ ์—…๋ฐ์ดํŠธ ์†๋„

์— ๋งŒ๋“  2019๋…„ 02์›” 20์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: mavlink/mavros

์ด๊ฒƒ์€ ๋ฒ„๊ทธ ๋ฐ ๊ธฐ๋Šฅ ์ถ”์ ๊ธฐ ์ผ ๋ฟ์ด๋ฏ€๋กœ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค
๋ฒ„๊ทธ๋ฅผ๋ณด๊ณ ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋Šฅ์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค.


๋ฌธ์ œ ์„ธ๋ถ€ ์ •๋ณด

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„,
์ €๋Š” ์‹ค๋‚ด ๋“œ๋ก  ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์ด๋ฉฐ ์ตœ๊ทผ์— ๋ญ”๊ฐ€ ๋‚˜์œ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฃผ์ œ๋Š” ๋งค์šฐ ๋‚ฎ์€ ์†๋„ (1Hz ๋ฏธ๋งŒ)๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค (์˜คํ”„ ๋ณด๋“œ ๋ชจ๋“œ์—์„œ ๋“œ๋ก ์„ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๋ฐ ์ค‘์š”ํ•œ ์ฃผ์ œ mavros / local_position / pose ํฌํ•จ).
๋“œ๋ก ์ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ •ํ™•ํ•œ ๊ณ ๋„๋ฅผ ์•Œ์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ค์ • ์ฃผ์ œ๋กœ ๋น„ํ–‰ ์ œ์–ด๋ฅผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ…Œ์ŠคํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ…Œ์ŠคํŠธ ํ•  ๋•Œ (1 ๋ฏธํ„ฐ ๋น„ํ–‰ํ•˜๊ณ  ์œ„์น˜ ์œ ์ง€) Gazebo Simulator์—์„œ Mavros ์ฃผ์ œ๊ฐ€ ์ข‹์€ ์†๋„๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฌธ์ œ๊ฐ€ ์›๊ฒฉ ์ธก์ • ์‹œ์Šคํ…œ์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด QGroundControl์—์„œ ์ •๋ณด ์—…๋ฐ์ดํŠธ ์†๋„๋ฅผ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ๋“œ๋ก ์„ ์ด๋™ํ•˜๋ฉด ์ •๋ณด๊ฐ€ ์ฆ‰์‹œ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์›๊ฒฉ ์ธก์ • ์‹œ์Šคํ…œ (3DR ๋ผ๋””์˜ค ๋งํฌ)์ด ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ช…๋ น์œผ๋กœ mavros๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

roslaunch mavros px4.launch fcu_url : = / dev / ttyUSB0 : 57600

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค๋ฉด (ํ…”๋ ˆ ๋ฉ” ํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ ์ฃผ์ œ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•œ ๋†’์€ ์ง€์—ฐ ์‹œ๊ฐ„) ์•Œ๋ ค์ฃผ์„ธ์š”.

MAVROS ๋ฒ„์ „ ๋ฐ ํ”Œ๋žซํผ

๋งˆ ๋ธŒ๋กœ์Šค : 0.18.4
ROS : ๋‹ฌ 1.13.7
Ubuntu : 16.04

Autopilot ์œ ํ˜• ๋ฐ ๋ฒ„์ „

[] ArduPilot
[X] PX4

๋ฒ„์ „ : 3.7.1 (PX4FMU_V3) Pixhawk 2

๋…ธ๋“œ ๋กœ๊ทธ

roslaunch ์„œ๋ฒ„ ์‹œ์ž‘ http : // lucas-Inspiron-7460 : 40689 /

์š”์•ฝ

๋ช…ํ™•ํ•œ ๋งค๊ฐœ ๋ณ€์ˆ˜

  • / mavros /

๋งค๊ฐœ ๋ณ€์ˆ˜

  • / mavros / cmd / use_comp_id_system_control : False
  • / mavros / conn / heartbeat_rate : 1.0
  • / mavros / conn / system_time_rate : 1.0
  • / mavros / conn / timeout : 10.0
  • / mavros / conn / timesync_rate : 10.0
  • / mavros / distance_sensor / hrlv_ez4_pub / field_of_view : 0.0
  • / mavros / distance_sensor / hrlv_ez4_pub / frame_id : hrlv_ez4_sonar
  • / mavros / distance_sensor / hrlv_ez4_pub / id : 0
  • / mavros / distance_sensor / hrlv_ez4_pub / orientation : PITCH_270
  • / mavros / distance_sensor / hrlv_ez4_pub / send_tf : True
  • / mavros / distance_sensor / hrlv_ez4_pub / sensor_position / x : 0.0
  • / mavros / distance_sensor / hrlv_ez4_pub / sensor_position / y : 0.0
  • / mavros / distance_sensor / hrlv_ez4_pub / sensor_position / z : -0.1
  • / mavros / distance_sensor / laser_1_sub / id : 3
  • / mavros / distance_sensor / laser_1_sub / ๋ฐฉํ–ฅ : PITCH_270
  • / mavros / distance_sensor / laser_1_sub / subscriber : ์ฐธ
  • / mavros / distance_sensor / lidarlite_pub / field_of_view : 0.0
  • / mavros / distance_sensor / lidarlite_pub / frame_id : lidarlite_laser
  • / mavros / distance_sensor / lidarlite_pub / id : 1
  • / mavros / distance_sensor / lidarlite_pub / orientation : PITCH_270
  • / mavros / distance_sensor / lidarlite_pub / send_tf : True
  • / mavros / distance_sensor / lidarlite_pub / sensor_position / x : 0.0
  • / mavros / distance_sensor / lidarlite_pub / sensor_position / y : 0.0
  • / mavros / distance_sensor / lidarlite_pub / sensor_position / z : -0.1
  • / mavros / distance_sensor / sonar_1_sub / id : 2
  • / mavros / distance_sensor / sonar_1_sub / ๋ฐฉํ–ฅ : PITCH_270
  • / mavros / distance_sensor / sonar_1_sub / subscriber : ์ฐธ
  • / mavros / fake_gps / eph : 2.0
  • / mavros / fake_gps / epv : 2.0
  • / mavros / fake_gps / fix_type : 3
  • / mavros / fake_gps / geo_origin / alt : 408.0
  • / mavros / fake_gps / geo_origin / lat : 47.3667
  • / mavros / fake_gps / geo_origin / lon : 8.55
  • / mavros / fake_gps / gps_rate : 5.0
  • / mavros / fake_gps / mocap_transform : True
  • / mavros / fake_gps / satellites_visible : 5
  • / mavros / fake_gps / tf / child_frame_id : ์ˆ˜์ •
  • / mavros / fake_gps / tf / frame_id :์ง€๋„
  • / mavros / fake_gps / tf / listen : False
  • / mavros / fake_gps / tf / rate_limit : 10.0
  • / mavros / fake_gps / tf / send : False
  • / mavros / fake_gps / use_mocap : True
  • / mavros / fake_gps / use_vision : False
  • / mavros / fcu_protocol : v2.0
  • / mavros / fcu_url : / dev / ttyUSB0 : 57600
  • / mavros / gcs_url :
  • / mavros / global_position / child_frame_id : base_link
  • / mavros / global_position / frame_id :์ง€๋„
  • / mavros / global_position / rot_covariance : 99999.0
  • / mavros / global_position / tf / child_frame_id : base_link
  • / mavros / global_position / tf / frame_id :์ง€๋„
  • / mavros / global_position / tf / global_frame_id : ์ง€๊ตฌ
  • / mavros / global_position / tf / send : False
  • / mavros / global_position / use_relative_alt : True
  • / mavros / image / frame_id : px4flow
  • / mavros / imu / angular_velocity_stdev : 0.000349065850399
  • / mavros / imu / frame_id : base_link
  • / mavros / imu / linear_acceleration_stdev : 0.0003
  • / mavros / imu / magnetic_stdev : 0.0
  • / mavros / imu / orientation_stdev : 1.0
  • / mavros / local_position / frame_id :์ง€๋„
  • / mavros / local_position / tf / child_frame_id : base_link
  • / mavros / local_position / tf / frame_id :์ง€๋„
  • / mavros / local_position / tf / send : False
  • / mavros / local_position / tf / send_fcu : False
  • / mavros / mission / pull_after_gcs : ์ฐธ
  • / mavros / mocap / use_pose : ์ฐธ
  • / mavros / mocap / use_tf : False
  • / mavros / odometry / estimator_type : 3
  • / mavros / odometry / frame_tf / desired_frame : ned
  • / mavros / plugin_blacklist : [ 'safety_area', '...
  • / mavros / plugin_whitelist : [ 'sys_ *', 'comman ...
  • / mavros / px4flow / frame_id : px4flow
  • / mavros / px4flow / ranger_fov : 0.118682389136
  • / mavros / px4flow / ranger_max_range : 5.0
  • / mavros / px4flow / ranger_min_range : 0.3
  • / mavros / safety_area / p1 / x : 1.0
  • / mavros / safety_area / p1 / y : 1.0
  • / mavros / safety_area / p1 / z : 1.0
  • / mavros / safety_area / p2 / x : -1.0
  • / mavros / safety_area / p2 / y : -1.0
  • / mavros / safety_area / p2 / z : -1.0
  • / mavros / setpoint_accel / send_force : False
  • / mavros / setpoint_attitude / reverse_thrust : False
  • / mavros / setpoint_attitude / tf / child_frame_id : target_attitude
  • / mavros / setpoint_attitude / tf / frame_id :์ง€๋„
  • / mavros / setpoint_attitude / tf / listen : False
  • / mavros / setpoint_attitude / tf / rate_limit : 50.0
  • / mavros / setpoint_attitude / use_quaternion : False
  • / mavros / setpoint_position / mav_frame : LOCAL_NED
  • / mavros / setpoint_position / tf / child_frame_id : target_position
  • / mavros / setpoint_position / tf / frame_id :์ง€๋„
  • / mavros / setpoint_position / tf / listen : False
  • / mavros / setpoint_position / tf / rate_limit : 50.0
  • / mavros / setpoint_velocity / mav_frame : LOCAL_NED
  • / mavros / startup_px4_usb_quirk : ์ฐธ
  • / mavros / sys / disable_diag : False
  • / mavros / sys / min_voltage : 10.0
  • / mavros / target_component_id : 1
  • / mavros / target_system_id : 1
  • / mavros / tdr_radio / low_rssi : 40
  • / mavros / time / time_ref_source : fcu
  • / mavros / time / timesync_avg_alpha : 0.6
  • / mavros / time / timesync_mode : MAVLINK
  • / mavros / vibration / frame_id : base_link
  • / mavros / vision_pose / tf / child_frame_id : vision_estimate
  • / mavros / vision_pose / tf / frame_id :์ง€๋„
  • / mavros / vision_pose / tf / listen : False
  • / mavros / vision_pose / tf / rate_limit : 10.0
  • / mavros / vision_speed / listen_twist : False
  • / rosdistro : ๋‹ฌ
  • / rosversion : 1.13.7

๋…ธ๋“œ
/
mavros (mavros / mavros_node)

์ƒˆ ๋งˆ์Šคํ„ฐ ์ž๋™ ์‹œ์ž‘
ํ”„๋กœ์„ธ์Šค [๋งˆ์Šคํ„ฐ] : pid๋กœ ์‹œ์ž‘๋จ [2541]
ROS_MASTER_URI = http : // localhost : 11311

/ run_id๋ฅผ 9a6d39f0-3495-11e9-b342-d80f99bfeedd๋กœ ์„ค์ •
ํ”„๋กœ์„ธ์Šค [rosout-1] : pid๋กœ ์‹œ์ž‘๋จ [2554]
ํ•ต์‹ฌ ์„œ๋น„์Šค ์‹œ์ž‘ [/ rosout]
ํ”„๋กœ์„ธ์Šค [mavros-2] : pid๋กœ ์‹œ์ž‘๋จ [2558]

์ง„๋‹จ

```
๋จธ๋ฆฌ๊ธ€:
์‹œํ€€์Šค : 2138
์šฐํ‘œ:
์ดˆ : 1550618079
nsec : 476350000
frame_id : ''
์ƒํƒœ:


  • ๋ ˆ๋ฒจ : 0
    ์ด๋ฆ„ : "mavros : FCU ์—ฐ๊ฒฐ"
    ๋ฉ”์‹œ์ง€ : "์—ฐ๊ฒฐ๋จ"
    hardware_id : "/ dev / ttyUSB0 : 57600"
    ๊ฐ’ :



    • ํ‚ค : "์ˆ˜์‹  ๋œ ํŒจํ‚ท :"

      ๊ฐ’ : "3164"



    • ํ‚ค : "์†์‹ค ๋œ ํŒจํ‚ท :"

      ๊ฐ’ : "0"



    • ํ‚ค : "๋ฒ„ํผ ์˜ค๋ฒ„๋Ÿฐ :"

      ๊ฐ’ : "0"



    • ํ‚ค : "๊ตฌ๋ฌธ ๋ถ„์„ ์˜ค๋ฅ˜ :"

      ๊ฐ’ : "0"



    • ํ‚ค : "Rx ์‹œํ€€์Šค ๋ฒˆํ˜ธ :"

      ๊ฐ’ : "40"



    • ํ‚ค : "Tx ์‹œํ€€์Šค ๋ฒˆํ˜ธ :"

      ๊ฐ’ : "56"



    • ํ‚ค : "Rx ์ด ๋ฐ”์ดํŠธ :"

      ๊ฐ’ : "2350842"



    • ํ‚ค : "Tx ์ด ๋ฐ”์ดํŠธ :"

      ๊ฐ’ : "915507"



    • ํ‚ค : "Rx ์†๋„ :"

      ๊ฐ’ : "661.000000"



    • ํ‚ค : "Tx ์†๋„ :"

      ๊ฐ’ : "320.000000"


  • 2 ๋‹จ๊ณ„
    ์ด๋ฆ„ : "mavros : GPS"
    ๋ฉ”์‹œ์ง€ : "์œ„์„ฑ ์—†์Œ"
    hardware_id : "/ dev / ttyUSB0 : 57600"
    ๊ฐ’ :



    • ํ‚ค : "์œ„์„ฑ ํ‘œ์‹œ"

      ๊ฐ’ : "0"



    • ํ‚ค : "๊ณ ์ • ์œ ํ˜•"

      ๊ฐ’ : "0"



    • ํ‚ค : "EPH (m)"

      ๊ฐ’ : "99.99"



    • ํ‚ค : "EPV (m)"

      ๊ฐ’ : "99.99"


  • ๋ ˆ๋ฒจ : 0
    ์ด๋ฆ„ : "mavros : Heartbeat"
    ๋ฉ”์‹œ์ง€ : "๋ณดํ†ต"
    hardware_id : "/ dev / ttyUSB0 : 57600"
    ๊ฐ’ :



    • ํ‚ค : "์‹œ์ž‘ ์ดํ›„ ํ•˜ํŠธ ๋น„ํŠธ"

      ๊ฐ’ : "2793"



    • ํ‚ค : "์ฃผํŒŒ์ˆ˜ (Hz)"

      ๊ฐ’ : "0.999995"



    • ํ‚ค : "์ฐจ๋Ÿ‰ ์œ ํ˜•"

      ๊ฐ’ : "Quadrotor"



    • ํ‚ค : "Autopilot ์œ ํ˜•"

      ๊ฐ’ : "PX4 Autopilot"



    • ํ‚ค : "๋ชจ๋“œ"

      ๊ฐ’ : "MANUAL"



    • ํ‚ค : "์‹œ์Šคํ…œ ์ƒํƒœ"

      ๊ฐ’ : "๋Œ€๊ธฐ"


  • ๋ ˆ๋ฒจ : 0
    ์ด๋ฆ„ : "mavros : System"
    ๋ฉ”์‹œ์ง€ : "๋ณดํ†ต"
    hardware_id : "/ dev / ttyUSB0 : 57600"
    ๊ฐ’ :



    • ํ‚ค : "์„ผ์„œ ์žˆ์Œ"

      ๊ฐ’ : "0x00000000"



    • ํ‚ค : "์„ผ์„œ ํ™œ์„ฑํ™”"

      ๊ฐ’ : "0x00000000"



    • ํ‚ค : "์„ผ์„œ ์„ ๋ฐ˜"

      ๊ฐ’ : "0x00000000"



    • ํ‚ค : "CPU๋กœ๋“œ (%)"

      ๊ฐ’ : "28.8"



    • ํ‚ค : "๊ฐ์†Œ์œจ (%)"

      ๊ฐ’ : "0.0"



    • ํ‚ค : "์˜ค๋ฅ˜ ํ†ต์‹ "

      ๊ฐ’ : "0"



    • ํ‚ค : "์˜ค๋ฅ˜ ์ˆ˜ # 1"

      ๊ฐ’ : "0"



    • ํ‚ค : "์˜ค๋ฅ˜ ์ˆ˜ # 2"

      ๊ฐ’ : "0"



    • ํ‚ค : "์˜ค๋ฅ˜ ์ˆ˜ # 3"

      ๊ฐ’ : "0"



    • ํ‚ค : "์˜ค๋ฅ˜ ์ˆ˜ # 4"

      ๊ฐ’ : "0"


  • ๋ ˆ๋ฒจ : 0
    ์ด๋ฆ„ : "mavros : ๋ฐฐํ„ฐ๋ฆฌ"
    ๋ฉ”์‹œ์ง€ : "๋ณดํ†ต"
    hardware_id : "/ dev / ttyUSB0 : 57600"
    ๊ฐ’ :



    • ํ‚ค : "์ „์••"

      ๊ฐ’ : "10.18"



    • ํ‚ค : "ํ˜„์žฌ"

      ๊ฐ’ : "0.0"



    • ํ‚ค : "๋‚จ์Œ"

      ๊ฐ’ : "0.0"


  • 2 ๋‹จ๊ณ„
    ์ด๋ฆ„ : "mavros : ์‹œ๊ฐ„ ๋™๊ธฐํ™”"
    ๋ฉ”์‹œ์ง€ : "๊ธฐ๋ก ๋œ ์ด๋ฒคํŠธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."
    hardware_id : "/ dev / ttyUSB0 : 57600"
    ๊ฐ’ :



    • ํ‚ค : "์‹œ์ž‘ ์ดํ›„ ์‹œ๊ฐ„ ๋™๊ธฐํ™”"

      ๊ฐ’ : "0"



    • ํ‚ค : "์ฃผํŒŒ์ˆ˜ (Hz)"

      ๊ฐ’ : "0.000000"



    • ํ‚ค : "๋งˆ์ง€๋ง‰ dt (ms)"

      ๊ฐ’ : "9.376617"



    • ํ‚ค : "ํ‰๊ท  dt (ms)"

      ๊ฐ’ : "0.000000"



    • ํ‚ค : "๋งˆ์ง€๋ง‰ ์‹œ์Šคํ…œ ์‹œ๊ฐ„ (s)"

      ๊ฐ’ : "3023.959504000"



    • ํ‚ค : "์‹œ๊ฐ„ ์˜คํ”„์…‹ (s)"

๊ฐ’ : "1550615055.404127836"

์•„์ด๋”” ํ™•์ธ


ํ™•์ธ. 1 : 1์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.

1 ๊ฐœ ์ฃผ์†Œ์—์„œ 371 ๊ฐœ์˜ ๋ฉ”์‹œ์ง€ ์ˆ˜์‹ 
sys : comp ๋ฉ”์‹œ์ง€ ๋ชฉ๋ก

1 : 1 0, 1, 36, 230, 32, 105, 74, 141, 77, 111, 241, 147, 245, 4, 24, 132, 106, 30

๋„์™€ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ „์†ก ์†๋„ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋งค๊ฐœ ๋ณ€์ˆ˜ "MAV_0_RATE"(1200 (๊ธฐ๋ณธ๊ฐ’)์—์„œ 57600์œผ๋กœ) ๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” SER_TEL1_BAUD ๋งค๊ฐœ ๋ณ€์ˆ˜ (57600์—์„œ 115200์œผ๋กœ)๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๊ณ  ์›๊ฒฉ ์ธก์ •์ด์ด ์ „์†ก ์†๋„๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ MAV_0_RATE ๋งŒ ํ…Œ์ŠคํŠธํ–ˆ๋Š”๋ฐ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  7 ๋Œ“๊ธ€

์›๊ฒฉ ์ธก์ • ๋งํฌ์˜ ์ „์†ก ์†๋„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ๋งํฌ์— ๋Œ€ํ•œ PX4์˜ ๋งํฌ ์†๋„ ํ”„๋กœํ•„์ด ๋งค์šฐ ๋‚ฎ๋‹ค๋Š” ์ ์„ ๊ณ ๋ คํ•  ๋•Œ ํ•ด๋‹น ์†๋„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๋Š” ๊ฒƒ์ด ์™„๋ฒฝํ•˜๊ฒŒ ์ •์ƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. https://docs.px4.io/en/peripherals/serial_configuration.html ์„ ๋”ฐ๋ผ ๋งํฌ ์ „์†ก ์†๋„๋ฅผ 115200์œผ๋กœ ์„ค์ •ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” TSC21,

๋‹ต์žฅ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ๋‚˜๋ฅผ ์ถ”์ฒœ ํ•œ ๊ฒƒ์„ ๋”ฐ๋ž์ง€๋งŒ ์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งํฌ ์ „์†ก ์†๋„๋ฅผ 115200์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์›๊ฒฉ ์ธก์ •์„ ํ†ตํ•ด ๋“œ๋ก ์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. QGroundControl์€ "Waiting for Vehicle Connection"๋งŒ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ๊ฒŒ์‹œ ํ•œ ๋งํฌ๋ฅผ ๋”ฐ๋ผ ๊ฐ€๋ ค๊ณ ํ–ˆ๊ณ  ๋‹ค์Œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค (์ „์†ก ์†๋„ ๋งํฌ ๋ณ€๊ฒฝ์„ ๋ชฉํ‘œ๋กœ ํ•จ).

SER_TEL1_BAUD- "57600"์—์„œ "115200"์œผ๋กœ
MAV_0_RATE- "1200"์—์„œ "115200"๊นŒ์ง€
MAV_0_MODE- "0"์—์„œ "1"(์ผ๋ฐ˜-> ์‚ฌ์šฉ์ž ์ง€์ •)

์ด ์ ˆ์ฐจ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ PX4 Slack์— ๊ฐ€์ ธ ์˜ค์‹ญ์‹œ์˜ค.

์ „์†ก ์†๋„ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋งค๊ฐœ ๋ณ€์ˆ˜ "MAV_0_RATE"(1200 (๊ธฐ๋ณธ๊ฐ’)์—์„œ 57600์œผ๋กœ) ๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” SER_TEL1_BAUD ๋งค๊ฐœ ๋ณ€์ˆ˜ (57600์—์„œ 115200์œผ๋กœ)๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๊ณ  ์›๊ฒฉ ์ธก์ •์ด์ด ์ „์†ก ์†๋„๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ MAV_0_RATE ๋งŒ ํ…Œ์ŠคํŠธํ–ˆ๋Š”๋ฐ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ „์†ก ์†๋„ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋งค๊ฐœ ๋ณ€์ˆ˜ "MAV_0_RATE"(1200 (๊ธฐ๋ณธ๊ฐ’)์—์„œ 57600์œผ๋กœ) ๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” SER_TEL1_BAUD ๋งค๊ฐœ ๋ณ€์ˆ˜ (57600์—์„œ 115200์œผ๋กœ)๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๊ณ  ์›๊ฒฉ ์ธก์ •์ด์ด ์ „์†ก ์†๋„๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ MAV_0_RATE ๋งŒ ํ…Œ์ŠคํŠธํ–ˆ๋Š”๋ฐ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, MAV_0_RATE๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ ํ•˜์…จ๋‚˜์š”? Mission Planner์˜ ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋ชฉ๋ก์—์„œ ์ฐพ์•˜์ง€๋งŒ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ „์†ก ์†๋„ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ๋งค๊ฐœ ๋ณ€์ˆ˜ "MAV_0_RATE"(1200 (๊ธฐ๋ณธ๊ฐ’)์—์„œ 57600์œผ๋กœ) ๋งŒ ๋ณ€๊ฒฝํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” SER_TEL1_BAUD ๋งค๊ฐœ ๋ณ€์ˆ˜ (57600์—์„œ 115200์œผ๋กœ)๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๊ณ  ์›๊ฒฉ ์ธก์ •์ด์ด ์ „์†ก ์†๋„๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ MAV_0_RATE ๋งŒ ํ…Œ์ŠคํŠธํ–ˆ๋Š”๋ฐ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, MAV_0_RATE๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ ํ•˜์…จ๋‚˜์š”? Mission Planner์˜ ๋งค๊ฐœ ๋ณ€์ˆ˜ ๋ชฉ๋ก์—์„œ ์ฐพ์•˜์ง€๋งŒ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์‹คํ–‰์ค‘์ธ PX4 ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. QGroundControl์—์„œ์ด ๋งค๊ฐœ ๋ณ€์ˆ˜์— ์•ก์„ธ์Šคํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://docs.px4.io/v1.9.0/en/advanced_config/parameter_reference.html

QGroundControl์—์„œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ PX4 ๋ช…๋ น ์ค„์—์„œ์ด ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ ์†”๋ฃจ์…˜์„ ์ฐพ๊ณ ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์„ ์œ„ํ•ด.

Odometry ๋ฐ HIGHRES_IMU ๋ฉ”์‹œ์ง€์˜ ๊ฒŒ์‹œ ์†๋„๋ฅผ ๋†’์ด๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•œ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1- QGroundControl์—์„œ ์ด๋Ÿฌํ•œ PX4 ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ์ง๋ ฌ ํ†ต์‹ ์˜ ์ „์†ก ์†๋„๋ฅผ ๋†’์ด๊ณ  UAV๋ฅผ ์žฌ๋ถ€ํŒ…ํ•ฉ๋‹ˆ๋‹ค.

SER_TEL1_BAUD - from "57600" to "115200" 
MAV_0_RATE - from "1200" to "115200" 
MAV_0_MODE - from "0" to "1" (normal -> custom) 

์ฐธ์กฐ :

https://docs.px4.io/master/en/peripherals/serial_configuration.html#how -to-configure-a-port

https://github.com/mavlink/mavros/issues/1182#issuecomment -465672331

2- Mavlink๊ฐ€ ODOMETRY / HIGHRES_IMU ๋ฉ”์‹œ์ง€๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ์†๋„๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” PX4์˜ microSD ์นด๋“œ์—์ด ๋ช…๋ น์„ ์ž‘์„ฑํ•˜์—ฌ ์ˆ˜ํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ?

  • Pixhawk์—์„œ ์นด๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  PC์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ./fs/etc/extras.txt๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค.

  • ์ด ๋””๋ ‰ํ† ๋ฆฌ (๋˜๋Š” ๊ทธ ์ผ๋ถ€)๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ extras.txt ์•ˆ์— ๋‹ค์Œ์„ ์ž‘์„ฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

mavlink stream -d /dev/ttyS0 -s HIGHRES_IMU -r 200 
mavlink stream -d /dev/ttyS0 -s ODOMETRY -r 200 

์ฐธ๊ณ :
https://dev.px4.io/v1.9.0/en/concept/system_startup.html#starting -additional-applications

์™„์ „์„ฑ์„ ์œ„ํ•ด ๋‹ค์Œ์€ ๋‚ด ์„ค์ • ์„ธ๋ถ€ ์ •๋ณด์ž…๋‹ˆ๋‹ค.

MAVROS ๋ฒ„์ „ ๋ฐ ํ”Œ๋žซํผ

๋งˆ ๋ธŒ๋กœ์Šค : 1.4

ROS : ๋ฉœ๋กœ๋”•

Ubuntu : 18.04

Autopilot ์œ ํ˜• ๋ฐ ๋ฒ„์ „

PX4

๋ฒ„์ „ : v1.10.1

PX4_FMU_V5 (V500)

NuttX, v7.29.0

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰