Mavros: معدل تحديث منخفض على موضوع مافروس

تم إنشاؤها على ٢٠ فبراير ٢٠١٩  ·  7تعليقات  ·  مصدر: mavlink/mavros

هذا هو تعقب الأخطاء والميزات فقط ، يرجى استخدامه
للإبلاغ عن الأخطاء أو طلب الميزات.


تفاصيل المشكلة

مرحبا بالجميع،
أنا أعمل في مشروع داخلي للطائرة بدون طيار ، وقد لاحظت مؤخرًا شيئًا سيئًا:
يتم تحديث الموضوعات بمعدل منخفض جدًا (أقل من 1 هرتز) (بما في ذلك موضوع mavros / local_position / الوضع المهم للتحكم في الطائرة بدون طيار في وضع OFFBOARD).
إنه يجعل التحكم في الرحلة صعبًا من خلال موضوع الإعداد لأن الطائرة بدون طيار لا تعرف ارتفاعها الصحيح في الوقت الفعلي. عندما أختبر خوارزمية الاختبار هذه (تطير مترًا واحدًا وتحتفظ بمكانها) ، في Gazebo Simulator ، يتم تحديث موضوعات Mavros بمعدل جيد.
من أجل التحقق مما إذا كانت المشكلة تتعلق بنظام القياس عن بُعد ، قمت باختبار معدل تحديث المعلومات على QGroundControl وعندما أقوم بتحريك الطائرة بدون طيار ، يتم تحديث المعلومات على الفور. بعد ذلك ، أفترض أن نظام القياس عن بُعد (رابط راديو 3DR) ليس هو المشكلة.

أقوم بتشغيل mavros بواسطة هذا الأمر:

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

إذا كانت هناك طريقة لحل هذه المشكلة (زمن انتقال مرتفع عند تحديث الموضوع باستخدام التتبع عن بُعد) ، فيرجى إخباري.

إصدار MAVROS والنظام الأساسي

مافروس: 0.18.4
ROS: القمر 1.13.7
أوبونتو: 16.04

نوع وإصدار الطيار الآلي

[] ArduPilot
[X] PX4

الإصدار: 3.7.1 (PX4FMU_V3) Pixhawk 2

سجلات العقدة

بدأ خادم roslaunch http: // lucas-Inspiron-7460 : 40689 /

ملخص

معلمات واضحة

  • / مافروس /

المعلمات

  • / mavros / cmd / use_comp_id_system_control: خطأ
  • / 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 / الاتجاه: PITCH_270
  • / mavros / Distance_sensor / hrlv_ez4_pub / send_tf: صحيح
  • / 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 / المشترك: صحيح
  • / 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 / الاتجاه: PITCH_270
  • / mavros / Distance_sensor / lidarlite_pub / send_tf: صحيح
  • / 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 / المشترك: صحيح
  • / 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: صحيح
  • / mavros / fake_gps / satellites_visible: 5
  • / mavros / fake_gps / tf / child_frame_id: الإصلاح
  • / mavros / fake_gps / tf / frame_id: map
  • / 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: صحيح
  • / mavros / fake_gps / use_vision: خطأ
  • / mavros / fcu_protocol: v2.0
  • / mavros / fcu_url: / dev / ttyUSB0: 57600
  • / mavros / gcs_url:
  • / mavros / global_position / child_frame_id: رابط_القاعدة
  • / mavros / global_position / frame_id: map
  • / mavros / global_position / rot_covariance: 99999.0
  • / mavros / global_position / tf / child_frame_id: رابط_القاعدة
  • / mavros / global_position / tf / frame_id: map
  • / mavros / global_position / tf / global_frame_id: الأرض
  • / mavros / global_position / tf / send: خطأ
  • / mavros / global_position / use_relative_alt: صحيح
  • / mavros / image / frame_id: px4flow
  • / mavros / imu / angular_velocity_stdev: 0.000349065850399
  • / mavros / imu / frame_id: رابط_القاعدة
  • / mavros / imu / linear_acceleration_stdev: 0.0003
  • / mavros / imu / Magnetic_stdev: 0.0
  • / mavros / imu / orientation_stdev: 1.0.0
  • / mavros / local_position / frame_id: map
  • / mavros / local_position / tf / child_frame_id: رابط_القاعدة
  • / mavros / local_position / tf / frame_id: map
  • / mavros / local_position / tf / send: خطأ
  • / mavros / local_position / tf / send_fcu: خطأ
  • / mavros / mission / pull_after_gcs: صحيح
  • / mavros / mocap / use_pose: صحيح
  • / mavros / mocap / use_tf: خطأ
  • / مافروس / قياس المسافات / المقدر: 3
  • / mavros / odometry / frame_tf / wish_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: خطأ
  • / mavros / setpoint_attitude / reverse_thrust: خطأ
  • / mavros / setpoint_attitude / tf / child_frame_id: target_attitude
  • / mavros / setpoint_attitude / tf / frame_id: map
  • / mavros / setpoint_attitude / tf / listen: خطأ
  • / mavros / setpoint_attitude / tf / rate_limit: 50.0
  • / mavros / setpoint_attitude / use_quaternion: خطأ
  • / mavros / setpoint_position / mav_frame: LOCAL_NED
  • / mavros / setpoint_position / tf / child_frame_id: target_position
  • / mavros / setpoint_position / tf / frame_id: map
  • / 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: خطأ
  • / 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 / الاهتزاز / frame_id: base_link
  • / mavros / vision_pose / tf / child_frame_id: vision_estimate
  • / mavros / vision_pose / tf / frame_id: map
  • / mavros / vision_pose / tf / استماع: خطأ
  • / mavros / vision_pose / tf / rate_limit: 10.0
  • / mavros / vision_speed / listen_twist: خطأ
  • / rosdistro: قمري
  • / rosversion: 1.13.7

الإيماءات
/
مافروس (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
nsecs: 476350000
frame_id: "
الحالة:


  • المستوى: 0
    الاسم: "مافروس: اتصال FCU"
    الرسالة: "متصل"
    Hardware_id: "/ dev / ttyUSB0: 57600"
    القيم:



    • key: "الحزم المتلقاة:"

      القيمة: "3164"



    • key: "إسقاط الحزم:"

      القيمة: "0"



    • المفتاح: "تجاوز المخزن المؤقت:"

      القيمة: "0"



    • المفتاح: "تحليل الأخطاء:"

      القيمة: "0"



    • المفتاح: "رقم تسلسل Rx:"

      القيمة: "40"



    • المفتاح: "رقم تسلسل Tx:"

      القيمة: "56"



    • key: "Rx إجمالي بايت:"

      القيمة: "2350842"



    • key: "إجمالي Tx بايت:"

      القيمة: "915507"



    • المفتاح: "Rx speed:"

      القيمة: "661.000000"



    • المفتاح: "Tx speed:"

      القيمة: "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"



    • المفتاح: "التردد (هرتز)"

      القيمة: "0.999995"



    • المفتاح: "نوع السيارة"

      القيمة: "Quadrotor"



    • المفتاح: "نوع الطيار الآلي"

      القيمة: "الطيار الآلي PX4"



    • المفتاح: "الوضع"

      القيمة: "MANUAL"



    • المفتاح: "حالة النظام"

      القيمة: "الاستعداد"


  • المستوى: 0
    الاسم: "mavros: System"
    الرسالة: "عادي"
    Hardware_id: "/ dev / ttyUSB0: 57600"
    القيم:



    • المفتاح: "جهاز الاستشعار موجود"

      القيمة: "0x00000000"



    • key: "جهاز الاستشعار ممكّن"

      القيمة: "0x00000000"



    • المفتاح: "أداة الاستشعار"

      القيمة: "0x00000000"



    • المفتاح: "تحميل وحدة المعالجة المركزية (٪)"

      القيمة: "28.8"



    • المفتاح: "معدل الإسقاط (٪)"

      القيمة: "0.0"



    • المفتاح: "أخطاء بالاتصال"

      القيمة: "0"



    • key: "عدد الأخطاء رقم 1"

      القيمة: "0"



    • المفتاح: "عدد الأخطاء رقم 2"

      القيمة: "0"



    • المفتاح: "عدد الأخطاء رقم 3"

      القيمة: "0"



    • المفتاح: "عدد الأخطاء رقم 4"

      القيمة: "0"


  • المستوى: 0
    الاسم: "mavros: Battery"
    الرسالة: "عادي"
    Hardware_id: "/ dev / ttyUSB0: 57600"
    القيم:



    • المفتاح: "الجهد"

      القيمة: "10.18"



    • المفتاح: "الحالي"

      القيمة: "0.0"



    • المفتاح: "المتبقية"

      القيمة: "0.0"


  • المستوي 2
    الاسم: "mavros: Time Sync"
    الرسالة: "لم يتم تسجيل أي أحداث."
    Hardware_id: "/ dev / ttyUSB0: 57600"
    القيم:



    • key: "Timesyncs منذ بدء التشغيل"

      القيمة: "0"



    • المفتاح: "التردد (هرتز)"

      القيمة: "0.000000"



    • المفتاح: "آخر dt (مللي ثانية)"

      القيمة: "9.376617"



    • المفتاح: "متوسط ​​dt (مللي ثانية)"

      القيمة: "0.000000"



    • المفتاح: "آخر وقت (أوقات) النظام"

      القيمة: "3023.959504000"



    • المفتاح: "معادلة (إزاحات) الوقت"

القيمة: "1550615055.404127836"

تحقق من الهوية


نعم. تلقيت رسائل من 1: 1.

تم استلام 371 رسالة من عنوان واحد
sys: قائمة

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 فقط: "في انتظار اتصال السيارة". حاولت اتباع هذا الرابط الذي نشرته هنا وقمت بتغيير هذه المعلمات (بهدف تغيير ارتباط معدل البث بالباود):

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- قم بزيادة معدل الباود للاتصال التسلسلي عن طريق تغيير معلمات PX4 على QGroundControl ، ثم إعادة تشغيل الطائرة بدون طيار.

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-configuration-a-port

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

2- قم بتغيير معدل نشر Mavlink لرسائل ODOMETRY / HIGHRES_IMU. يمكن القيام بذلك عن طريق كتابة هذا الأمر على بطاقة microSD في PX4. كيف؟

  • قم بإزالة البطاقة من Pixhawk واتصل بجهاز الكمبيوتر الخاص بك. ثم انتقل إلى ./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

روس: لحني

أوبونتو: 18.04

نوع وإصدار الطيار الآلي

PX4

الإصدار: v1.10.1

PX4_FMU_V5 (V500)

NuttX ، v7.29.0

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات