Mavros: Tingkat pembaruan rendah pada topik Mavros

Dibuat pada 20 Feb 2019  ·  7Komentar  ·  Sumber: mavlink/mavros

Ini hanya bug dan pelacak fitur, silakan gunakan
untuk melaporkan bug atau meminta fitur.


Detail masalah

Halo semuanya,
Saya sedang mengerjakan proyek drone dalam ruangan dan baru-baru ini saya melihat sesuatu yang buruk:
topik sedang diperbarui dalam kecepatan yang sangat rendah (kurang dari 1Hz) (termasuk topik mavros/local_position/pose yang penting untuk mengontrol drone pada mode OFFBOARD).
Ini mengubah kontrol penerbangan menjadi sulit dengan topik setposisi karena drone tidak mengetahui ketinggian yang benar secara real time. Ketika saya menguji algoritma pengujian ini (terbang 1 meter dan menahan posisinya), di Gazebo Simulator, topik Mavros diperbarui dengan kecepatan yang bagus.
Untuk memverifikasi apakah masalahnya adalah sistem telemetri, saya menguji tingkat pembaruan informasi di QGroundControl dan ketika saya memindahkan drone, informasi diperbarui secara instan. Kalau begitu, saya kira sistem telemetri (3DR Radio Link) tidak masalah.

Saya meluncurkan mavros dengan perintah ini:

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

Jika ada cara untuk mengatasi masalah ini (latensi tinggi pada pembaruan topik menggunakan telemetri) tolong beri tahu saya.

Versi dan platform MAVROS

Mavros: 0.18.4
ROS: Lunar 1.13.7
Ubuntu: 16.04

Jenis dan versi autopilot

[ ] ArduPilot
[X] PX4

Versi: 3.7.1 (PX4FMU_V3) Pixhawk 2

Log simpul

memulai server roslaunch http://lucas-Inspiron-7460 :40689/

RINGKASAN

PARAMETER BERSIH

  • /mavros/

PARAMETER

  • /mavros/cmd/use_comp_id_system_control: Salah
  • /mavros/sambungan/detak_detak jantung: 1.0
  • /mavros/conn/system_time_rate: 1.0
  • /mavros/sambungan/waktu habis: 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/orientasi: PITCH_270
  • /mavros/distance_sensor/hrlv_ez4_pub/send_tf: Benar
  • /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/orientasi: PITCH_270
  • /mavros/distance_sensor/laser_1_sub/subscriber: Benar
  • /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/orientasi: PITCH_270
  • /mavros/distance_sensor/lidarlite_pub/send_tf: Benar
  • /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/orientasi: PITCH_270
  • /mavros/distance_sensor/sonar_1_sub/subscriber: Benar
  • /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: Benar
  • /mavros/fake_gps/satellites_visible: 5
  • /mavros/fake_gps/tf/child_frame_id: perbaiki
  • /mavros/fake_gps/tf/frame_id: peta
  • /mavros/fake_gps/tf/listen: Salah
  • /mavros/fake_gps/tf/rate_limit: 10.0
  • /mavros/fake_gps/tf/send: Salah
  • /mavros/fake_gps/use_mocap: Benar
  • /mavros/fake_gps/use_vision: Salah
  • /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: peta
  • /mavros/global_position/rot_covariance: 99999.0
  • /mavros/global_position/tf/child_frame_id: base_link
  • /mavros/global_position/tf/frame_id: peta
  • /mavros/global_position/tf/global_frame_id: bumi
  • /mavros/global_position/tf/send: Salah
  • /mavros/global_position/use_relative_alt: Benar
  • /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: peta
  • /mavros/local_position/tf/child_frame_id: base_link
  • /mavros/local_position/tf/frame_id: peta
  • /mavros/local_position/tf/send: Salah
  • /mavros/local_position/tf/send_fcu: Salah
  • /mavros/misi/pull_after_gcs: Benar
  • /mavros/mocap/use_pose: Benar
  • /mavros/mocap/use_tf: Salah
  • /mavros/odometri/estimator_type: 3
  • /mavros/odometry/frame_tf/desired_frame: ned
  • /mavros/plugin_blacklist: ['safety_area', '...
  • /mavros/plugin_whitelist: ['sys_*', 'perintah...
  • /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: Salah
  • /mavros/setpoint_attitude/reverse_thrust: Salah
  • /mavros/setpoint_attitude/tf/child_frame_id: target_attitude
  • /mavros/setpoint_attitude/tf/frame_id: peta
  • /mavros/setpoint_attitude/tf/listen: Salah
  • /mavros/setpoint_attitude/tf/rate_limit: 50.0
  • /mavros/setpoint_attitude/use_quaternion: Salah
  • /mavros/setpoint_position/mav_frame: LOCAL_NED
  • /mavros/setpoint_position/tf/child_frame_id: target_position
  • /mavros/setpoint_position/tf/frame_id: peta
  • /mavros/setpoint_position/tf/listen: Salah
  • /mavros/setpoint_position/tf/rate_limit: 50.0
  • /mavros/setpoint_velocity/mav_frame: LOCAL_NED
  • /mavros/startup_px4_usb_quirk: Benar
  • /mavros/sys/disable_diag: Salah
  • /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: peta
  • /mavros/vision_pose/tf/listen: Salah
  • /mavros/vision_pose/tf/rate_limit: 10.0
  • /mavros/vision_speed/listen_twist: Salah
  • /rosdistro: lunar
  • /rosversion: 1.13.7

NODA
/
mavros (mavros/mavros_node)

mulai otomatis master baru
proses[master]: dimulai dengan pid [2541]
ROS_MASTER_URI= http://localhost :11311

setel /run_id ke 9a6d39f0-3495-11e9-b342-d80f99bfeedd
proses[rosout-1]: dimulai dengan pid [2554]
memulai layanan inti [/rosout]
proses[mavros-2]: dimulai dengan pid [2558]

Diagnostik

```
kepala:
seq: 2138
stempel:
detik: 1550618079
nsecs: 476350000
frame_id: ''
status:


  • tingkat: 0
    nama: "mavros: koneksi FCU"
    pesan: "terhubung"
    hardware_id: "/dev/ttyUSB0:57600"
    nilai:



    • kunci: "Paket yang diterima:"

      nilai: "3164"



    • kunci: "Paket yang jatuh:"

      nilai: "0"



    • kunci: "Buffer overruns:"

      nilai: "0"



    • kunci: "Kesalahan penguraian:"

      nilai: "0"



    • kunci: "Nomor urut Rx:"

      nilai: "40"



    • kunci: "Nomor urut Tx:"

      nilai: "56"



    • kunci: "Rx total byte:"

      nilai: "2350842"



    • kunci: "Tx total byte:"

      nilai: "915507"



    • kunci: "Kecepatan rx:"

      nilai: "661.000.000"



    • kunci: "Tx kecepatan:"

      nilai: "320.000000"


  • level 2
    nama: "mavros: GPS"
    pesan: "Tidak ada satelit"
    hardware_id: "/dev/ttyUSB0:57600"
    nilai:



    • kunci: "Satelit terlihat"

      nilai: "0"



    • kunci: "Perbaiki jenis"

      nilai: "0"



    • kunci: "EPH (m)"

      nilai: "99,99"



    • kunci: "EPV (m)"

      nilai: "99,99"


  • tingkat: 0
    nama: "mavros: Detak jantung"
    pesan: "Biasa"
    hardware_id: "/dev/ttyUSB0:57600"
    nilai:



    • kunci: "Detak jantung sejak startup"

      nilai: "2793"



    • kunci: "Frekuensi (Hz)"

      nilai: "0.999995"



    • kunci: "Jenis kendaraan"

      nilai: "Quadrotor"



    • kunci: "Jenis pilot otomatis"

      nilai: "PX4 Autopilot"



    • kunci: "Modus"

      nilai: "MANUAL"



    • kunci: "Status sistem"

      nilai: "Siaga"


  • tingkat: 0
    nama: "mavros: Sistem"
    pesan: "Biasa"
    hardware_id: "/dev/ttyUSB0:57600"
    nilai:



    • kunci: "Sensor hadir"

      nilai: "0x00000000"



    • kunci: "Sensor diaktifkan"

      nilai: "0x00000000"



    • kunci: "Sensor kesehatan"

      nilai: "0x00000000"



    • kunci: "Pemuatan CPU (%)"

      nilai: "28,8"



    • kunci: "Tingkat penurunan (%)"

      nilai: "0,0"



    • kunci: "Kesalahan comm"

      nilai: "0"



    • kunci: "Kesalahan dihitung #1"

      nilai: "0"



    • kunci: "Kesalahan dihitung #2"

      nilai: "0"



    • kunci: "Kesalahan dihitung #3"

      nilai: "0"



    • kunci: "Kesalahan menghitung #4"

      nilai: "0"


  • tingkat: 0
    nama: "mavros: Baterai"
    pesan: "Biasa"
    hardware_id: "/dev/ttyUSB0:57600"
    nilai:



    • kunci: "Tegangan"

      nilai: "10,18"



    • kunci: "Saat ini"

      nilai: "0,0"



    • kunci: "Sisa"

      nilai: "0,0"


  • level 2
    nama: "mavros: Sinkronisasi Waktu"
    pesan: "Tidak ada acara yang direkam."
    hardware_id: "/dev/ttyUSB0:57600"
    nilai:



    • kunci: "Sinkronisasi waktu sejak startup"

      nilai: "0"



    • kunci: "Frekuensi (Hz)"

      nilai: "0,000000"



    • kunci: "dt terakhir (ms)"

      nilai: "9,376617"



    • kunci: "Mean dt (ms)"

      nilai: "0,000000"



    • kunci: "Waktu sistem terakhir"

      nilai: "3023.959504000"



    • kunci: "Offset waktu (s)"

nilai: "1550615055.404127836"

Periksa ID


BAIK. Saya mendapat pesan dari 1:1.

Menerima 371 pesan, dari 1 alamat
sys:comp daftar pesan

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

Terima kasih untuk bantuannya!

question

Komentar yang paling membantu

Saya memecahkan masalah ini hanya dengan mengubah parameter "MAV_0_RATE" (dari 1200 (default) menjadi 57600) tanpa mengubah parameter baud rate. Sebelumnya saya mencoba mengubah parameter SER_TEL1_BAUD (dari 57600 menjadi 115200) tetapi tidak menyelesaikan masalah dan telemetri tidak berfungsi dengan baud rate ini. Kemudian saya menguji hanya MAV_0_RATE dan itu bekerja dengan baik.

Semua 7 komentar

Dengan baud rate di tautan telemetri itu, terlihat sangat normal bahwa Anda mendapatkan data dengan kecepatan tersebut, mengingat profil kecepatan tautan PX4 untuk jenis tautan ini cukup rendah. Saya akan mengikuti https://docs.px4.io/en/peripherals/serial_configuration.html dan mencoba mengatur baud rate tautan Anda ke 115200.

TSC21 yang terhormat,

Terima kasih telah membalas saya.

Saya mengikuti apa yang Anda rekomendasikan kepada saya tetapi saya tidak berhasil. Ketika saya mengubah baudrate tautan ke 115200, saya tidak dapat mengakses drone melalui telemetri. QGroundControl hanya menampilkan: "Menunggu Koneksi Kendaraan". Saya mencoba mengikuti tautan yang Anda posting di sini dan saya mengubah parameter ini (bertujuan untuk mengubah tautan baudrate):

SER_TEL1_BAUD - dari "57600" hingga "115200"
MAV_0_RATE - dari "1200" hingga "115200"
MAV_0_MODE - dari "0" hingga "1" (normal -> kustom)

Jika ada yang salah dalam prosedur ini, tolong beri tahu saya.

Terima kasih banyak.

Tolong bawa masalah ini ke PX4 Slack.

Saya memecahkan masalah ini hanya dengan mengubah parameter "MAV_0_RATE" (dari 1200 (default) menjadi 57600) tanpa mengubah parameter baud rate. Sebelumnya saya mencoba mengubah parameter SER_TEL1_BAUD (dari 57600 menjadi 115200) tetapi tidak menyelesaikan masalah dan telemetri tidak berfungsi dengan baud rate ini. Kemudian saya menguji hanya MAV_0_RATE dan itu bekerja dengan baik.

Saya memecahkan masalah ini hanya dengan mengubah parameter "MAV_0_RATE" (dari 1200 (default) menjadi 57600) tanpa mengubah parameter baud rate. Sebelumnya saya mencoba mengubah parameter SER_TEL1_BAUD (dari 57600 menjadi 115200) tetapi tidak menyelesaikan masalah dan telemetri tidak berfungsi dengan baud rate ini. Kemudian saya menguji hanya MAV_0_RATE dan itu bekerja dengan baik.

Hai, bagaimana Anda mengubah MAV_0_RATE? Saya telah mencarinya di daftar parameter di Mission Planner tetapi tidak dapat menemukannya.

Saya memecahkan masalah ini hanya dengan mengubah parameter "MAV_0_RATE" (dari 1200 (default) menjadi 57600) tanpa mengubah parameter baud rate. Sebelumnya saya mencoba mengubah parameter SER_TEL1_BAUD (dari 57600 menjadi 115200) tetapi tidak menyelesaikan masalah dan telemetri tidak berfungsi dengan baud rate ini. Kemudian saya menguji hanya MAV_0_RATE dan itu bekerja dengan baik.

Hai, bagaimana Anda mengubah MAV_0_RATE? Saya telah mencarinya di daftar parameter di Mission Planner tetapi tidak dapat menemukannya.

Itu tergantung pada versi PX4 yang Anda jalankan. Saya mengakses parameter ini dengan QGroundControl. Anda dapat memeriksa parameter di sini:

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

Jika Anda tidak menemukan parameter dengan QGroundControl, saya sarankan Anda mengatur parameter ini dengan baris perintah PX4

Bagi yang masih mencari solusi.

Saya ingin meningkatkan tingkat penerbitan pesan Odometry & HIGHRES_IMU.

Inilah cara saya memecahkan masalah ini:

1- Tingkatkan kecepatan baud komunikasi serial dengan mengubah parameter PX4 ini di QGroundControl, lalu reboot UAV.

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

Referensi:

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- Ubah kecepatan publikasi pesan ODOMETRY/ HIGHRES_IMU Mavlink. Ini dapat dilakukan dengan menulis perintah ini pada kartu microSD di PX4. Bagaimana?

  • Keluarkan kartu dari Pixhawk dan sambungkan ke PC Anda. Lalu pergi ke ./fs/etc/extras.txt

  • Jika direktori ini (atau sebagian darinya) tidak ada, buatlah. Kemudian, di dalam extras.txt, kita harus menulis:

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

Referensi:
https://dev.px4.io/v1.9.0/en/concept/system_startup.html#starting -additional-applications

Untuk kelengkapan, berikut adalah detail pengaturan saya:

Versi dan platform MAVROS

Mavros: 1.4

ROS: Melodi

Ubuntu: 18.04

Jenis dan versi autopilot

PX4

Versi: v1.10.1

PX4_FMU_V5 (V500)

NuttX, v7.29.0

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

Changliu52 picture Changliu52  ·  6Komentar

TSC21 picture TSC21  ·  12Komentar

TeixeiraRafael picture TeixeiraRafael  ·  4Komentar

SubMishMar picture SubMishMar  ·  5Komentar

trishantroy picture trishantroy  ·  10Komentar