هذا هو تعقب الأخطاء والميزات فقط ، يرجى استخدامه
للإبلاغ عن الأخطاء أو طلب الميزات.
مرحبا بالجميع،
أنا أعمل في مشروع داخلي للطائرة بدون طيار ، وقد لاحظت مؤخرًا شيئًا سيئًا:
يتم تحديث الموضوعات بمعدل منخفض جدًا (أقل من 1 هرتز) (بما في ذلك موضوع mavros / local_position / الوضع المهم للتحكم في الطائرة بدون طيار في وضع OFFBOARD).
إنه يجعل التحكم في الرحلة صعبًا من خلال موضوع الإعداد لأن الطائرة بدون طيار لا تعرف ارتفاعها الصحيح في الوقت الفعلي. عندما أختبر خوارزمية الاختبار هذه (تطير مترًا واحدًا وتحتفظ بمكانها) ، في Gazebo Simulator ، يتم تحديث موضوعات Mavros بمعدل جيد.
من أجل التحقق مما إذا كانت المشكلة تتعلق بنظام القياس عن بُعد ، قمت باختبار معدل تحديث المعلومات على QGroundControl وعندما أقوم بتحريك الطائرة بدون طيار ، يتم تحديث المعلومات على الفور. بعد ذلك ، أفترض أن نظام القياس عن بُعد (رابط راديو 3DR) ليس هو المشكلة.
أقوم بتشغيل mavros بواسطة هذا الأمر:
roslaunch mavros px4.launch fcu_url: = / dev / ttyUSB0: 57600
إذا كانت هناك طريقة لحل هذه المشكلة (زمن انتقال مرتفع عند تحديث الموضوع باستخدام التتبع عن بُعد) ، فيرجى إخباري.
مافروس: 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 / 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: "
الحالة:
نعم. تلقيت رسائل من 1: 1.
تم استلام 371 رسالة من عنوان واحد
sys: قائمة
شكرا للمساعدة!
مع معدل البث بالباود في رابط القياس عن بُعد هذا ، يبدو من الطبيعي تمامًا أن تحصل على البيانات بهذه المعدلات ، مع الأخذ في الاعتبار أن ملفات تعريف معدل الارتباط الخاصة بـ 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
للتأكد من اكتمالها ، إليك تفاصيل الإعداد الخاصة بي:
مافروس: 1.4
روس: لحني
أوبونتو: 18.04
PX4
الإصدار: v1.10.1
PX4_FMU_V5 (V500)
NuttX ، v7.29.0
التعليق الأكثر فائدة
لقد قمت بحل هذه المشكلة فقط بتغيير المعلمة "MAV_0_RATE" (من 1200 (افتراضي) إلى 57600) بدون تغيير معلمات معدل الباود. في السابق كنت أحاول تغيير معلمة SER_TEL1_BAUD (من 57600 إلى 115200) لكنها لم تحل المشكلة ولم يعمل القياس عن بُعد مع معدل الباود هذا. ثم اختبرت MAV_0_RATE فقط وعملت بشكل جيد.