Mavros: هل هناك موضوع مثل / mavros / setpoint_velocity / cmd_vel لكن استخدام إطار الجسم؟

تم إنشاؤها على ٢٥ أغسطس ٢٠١٧  ·  14تعليقات  ·  مصدر: mavlink/mavros

أهلا،
أقوم بالتحكم القائم على الرؤية والكاميرا على الطائرة بدون طيار متجهة لأسفل.
لذا فإن تقدير الموضع يكون في إطار الجسم.
لقد وجدت الموضوع / mavros / setpoint_velocity / cmd_vel يمكن استخدامه لتغيير سرعة الطائرة بدون طيار ولكن يبدو أنه في إطار NED.

هل هناك موضوع مثل / mavros / setpoint_velocity / cmd_vel لكن استخدام إطار الجسم؟

أو أحتاج إلى تحويل نقطة ضبط السرعة الخاصة بي من إطار الجسم إلى إطار NED لتنفيذه؟

حاولت العثور على شيء يمكنني استخدامه ووجدت هذا الرمز. https://github.com/weiweikong/px4_velocity_control_keyboard/blob/master/src/px4_velocity_control_node.cpp

vs_body_axis.twist.linear.x = vs.twist.linear.x * cos(uavYawENU) + vs.twist.linear.y * sin(uavYawENU);
vs_body_axis.twist.linear.y = vs.twist.linear.x * sin(uavYawENU) - vs.twist.linear.y * cos(uavYawENU);

يبدو أن هذا هو أفضل حل يمكن أن أجده.
لست متأكدًا مما إذا كان Yaw من وحدة IMU فقط أو من اندماج IMU والمغناطيسية.
هل لديك بعض التعليقات أو الأفكار حول هذا؟

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

مافروس: 0.17.3
ROS: نيلي
أوبونتو: 14.04

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

APM: المروحية V3.4-dev (fe724032)

سجلات العقدة

bshang2 @ mechatronics-990 : ~ / simulation / ardupilot / ArduCopter $ roslaunch ardupilot_sitl_gazebo_plugin erlecopter_mark.launch
... تسجيل الدخول إلى /home/bshang2/.ros/log/ca9213bc-89bf-11e7-b657-1803733b65bb/roslaunch-mechatronics-990-28079.log
التحقق من دليل السجل لاستخدام القرص. هذا قد يستغرق بعض الوقت.
اضغط على Ctrl-C للمقاطعة
تم التحقق من استخدام قرص ملف السجل. الاستخدام <1 غيغابايت.

بدأ خادم roslaunch http: // mechatronics-990 : 45006 /

ملخص

معلمات واضحة

  • / مافروس /

المعلمات

  • / mavros / cmd / use_comp_id_system_control: خطأ
  • / mavros / conn / heartbeat_rate: 1.0
  • / mavros / conn / system_time_rate: 0.0
  • / mavros / conn / timeout: 10.0
  • / mavros / conn / timesync_rate: 0.0
  • / mavros / fcu_url: tcp: //127.0.0.1 : 5760
  • / mavros / gcs_url: udp: //127.0.0.1@1 ...
  • / mavros / global_position / frame_id: fcu
  • / mavros / global_position / rot_covariance: 99999.0
  • / mavros / global_position / tf / child_frame_id: fcu_utm
  • / mavros / global_position / tf / frame_id: local_origin
  • / mavros / global_position / tf / send: خطأ
  • / mavros / image / frame_id: px4flow
  • / mavros / imu / angular_velocity_stdev: 0.000349065850399
  • / mavros / imu / frame_id: fcu
  • / 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: fcu
  • / mavros / local_position / tf / child_frame_id: رابط_القاعدة
  • / mavros / local_position / tf / frame_id: العالم
  • / mavros / local_position / tf / send: صحيح
  • / mavros / mission / pull_after_gcs: صحيح
  • / mavros / mocap / use_pose: صحيح
  • / mavros / mocap / use_tf: خطأ
  • / mavros / plugin_blacklist: ['actuator_contro ...
  • / mavros / plugin_whitelist: []
  • / mavros / px4flow / frame_id: px4flow
  • / mavros / px4flow / ranger_fov: 0.0
  • / 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_throttle: خطأ
  • / mavros / setpoint_attitude / tf / child_frame_id: الموقف
  • / mavros / setpoint_attitude / tf / frame_id: local_origin
  • / mavros / setpoint_attitude / tf / listen: خطأ
  • / mavros / setpoint_attitude / tf / rate_limit: 10.0
  • / mavros / setpoint_position / tf / child_frame_id: نقطة الضبط
  • / mavros / setpoint_position / tf / frame_id: local_origin
  • / mavros / setpoint_position / tf / listen: False
  • / mavros / setpoint_position / tf / rate_limit: 50.0
  • / 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 / vibration / frame_id: الاهتزاز
  • / mavros / vision_pose / tf / child_frame_id: vision
  • / mavros / vision_pose / tf / frame_id: local_origin
  • / mavros / vision_pose / tf / استماع: خطأ
  • / mavros / vision_pose / tf / rate_limit: 10.0
  • / mavros / vision_speed / listen_twist: خطأ
  • / وصف_الروبوت:
  • / rosdistro: نيلي
  • / rosversion: 1.11.21.0
  • / tf_prefix:
  • / use_sim_time: صحيح

الإيماءات
/
شرفة المراقبة (gazebo_ros / gzserver)
gazebo_gui (gazebo_ros / gzclient)
مافروس (mavros / mavros_node)
spawn_erlecopter (gazebo_ros / spawn_model)

سيد جديد بدء التشغيل التلقائي
العملية [الرئيسية]: بدأت بـ pid [28094]
ROS_MASTER_URI = http: // localhost : 11311

الإعداد / run_id إلى ca9213bc-89bf-11e7-b657-1803733b65bb
العملية [rosout-1]: بدأت بـ pid [28107]
بدأت الخدمة الأساسية [/ rosout]
عملية [mavros-2]: بدأت بـ pid [28126]
العملية [spawn_erlecopter-3]: بدأت بـ pid [28133]
عملية [gazebo-4]: بدأت بـ pid [28134]
عملية [gazebo_gui-5]: بدأت بـ pid [28151]
بدأ البرنامج النصي spawn_model
توقفت عملية [gazebo-4] [pid 28134 ، كود الخروج 255 ، cmd / home / bshang2 / simulation / ros_catkin_ws / src / gazebo_ros_pkgs / gazebo_ros / scripts / gzserver -u -e ode / home / bshang2 / simulation / ros_catkin_ws / src /ardupilot_sitl_gazebo_plugin/ardupilot_sitl_gazebo_plugin/worlds/mark_world/mark.world __name: = gazebo __log: = / home / bshang2 / .ros / log / ca9213bc-89bf-11e7-b657-18037.
ملف السجل: /home/bshang2/.ros/log/ca9213bc-89bf-11e7-b657-1803733b65bb/gazebo-4 .log[INFO] [WallTime: 1503684250.172508] [0.000000] تحميل نموذج xml من معلمة ros[INFO] [WallTime: 1503684250.176886] [0.000000] في انتظار الخدمة / شرفة المراقبة / spawn_urdf_modelتوقفت عملية [gazebo_gui-5] [pid 28151 ، رمز الخروج 255 ، cmd / home / bshang2 / simulation / ros_catkin_ws / src / gazebo_ros_pkgs / gazebo_ros / scripts / gzclient __name: = gazebo_gui __log: = / home. / bshang تسجيل الدخول / ca9213bc-89bf-11e7-b657-1803733b65bb / gazebo_gui-5.log].ملف السجل: /home/bshang2/.ros/log/ca9213bc-89bf-11e7-b657-1803733b65bb/gazebo_gui-5 .log
^ C [spawn_erlecopter-3] القتل عند الخروج
[مافروس -2] قتل عند الخروج
Traceback (أحدث مكالمة أخيرة):
ملف "/ home / bshang2 / simulation / ros_catkin_ws / src / gazebo_ros_pkgs / gazebo_ros / scripts / spawn_model" ، السطر 301 ، في
sm.callSpawnService ()
ملف "/ home / bshang2 / simulation / ros_catkin_ws / src / gazebo_ros_pkgs / gazebo_ros / scripts / spawn_model" ، السطر 267 ، في callSpawnService
initial_pose، self.reference_frame، self.gazebo_namespace)
ملف "/home/bshang2/simulation/ros_catkin_ws/src/gazebo_ros_pkgs/gazebo_ros/src/gazebo_ros/gazebo_interface.py" ، السطر 28 ، في spawn_urdf_model_client
rospy.wait_for_service (gazebo_namespace + '/ spawn_urdf_model')
ملف "/opt/ros/indigo/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py" ، السطر 159 ، في wait_for_service
رفع ROSInterruptException ("rospy shutdown")
rospy.exceptions.ROSInterruptException: إيقاف تشغيل rospy
^ C [روسوت -1] قتل عند الخروج
^ ج [سيد] قتل عند الخروج
جارٍ إيقاف تشغيل شاشة المعالجة ...
... اغلاق تجهيز الشاشة كاملة
منجز
bshang2 @ mechatronics-990 : ~ / simulation / ardupilot / ArduCopter $ roslaunch ardupilot_sitl_gazebo_plugin erlecopter_mark.launch
... تسجيل الدخول إلى /home/bshang2/.ros/log/e483c856-89bf-11e7-bb61-1803733b65bb/roslaunch-mechatronics-990-28603.log
التحقق من دليل السجل لاستخدام القرص. هذا قد يستغرق بعض الوقت.
اضغط على Ctrl-C للمقاطعة
تم التحقق من استخدام قرص ملف السجل. الاستخدام <1 غيغابايت.

بدأ خادم roslaunch http: // mechatronics-990 : 41224 /

ملخص

معلمات واضحة

  • / مافروس /

المعلمات

  • / mavros / cmd / use_comp_id_system_control: خطأ
  • / mavros / conn / heartbeat_rate: 1.0
  • / mavros / conn / system_time_rate: 0.0
  • / mavros / conn / timeout: 10.0
  • / mavros / conn / timesync_rate: 0.0
  • / mavros / fcu_url: tcp: //127.0.0.1 : 5760
  • / mavros / gcs_url: udp: //127.0.0.1@1 ...
  • / mavros / global_position / frame_id: fcu
  • / mavros / global_position / rot_covariance: 99999.0
  • / mavros / global_position / tf / child_frame_id: fcu_utm
  • / mavros / global_position / tf / frame_id: local_origin
  • / mavros / global_position / tf / send: خطأ
  • / mavros / image / frame_id: px4flow
  • / mavros / imu / angular_velocity_stdev: 0.000349065850399
  • / mavros / imu / frame_id: fcu
  • / 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: fcu
  • / mavros / local_position / tf / child_frame_id: رابط_القاعدة
  • / mavros / local_position / tf / frame_id: العالم
  • / mavros / local_position / tf / send: صحيح
  • / mavros / mission / pull_after_gcs: صحيح
  • / mavros / mocap / use_pose: صحيح
  • / mavros / mocap / use_tf: خطأ
  • / mavros / plugin_blacklist: ['actuator_contro ...
  • / mavros / plugin_whitelist: []
  • / mavros / px4flow / frame_id: px4flow
  • / mavros / px4flow / ranger_fov: 0.0
  • / 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_throttle: خطأ
  • / mavros / setpoint_attitude / tf / child_frame_id: الموقف
  • / mavros / setpoint_attitude / tf / frame_id: local_origin
  • / mavros / setpoint_attitude / tf / listen: خطأ
  • / mavros / setpoint_attitude / tf / rate_limit: 10.0
  • / mavros / setpoint_position / tf / child_frame_id: نقطة الضبط
  • / mavros / setpoint_position / tf / frame_id: local_origin
  • / mavros / setpoint_position / tf / listen: False
  • / mavros / setpoint_position / tf / rate_limit: 50.0
  • / 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 / vibration / frame_id: الاهتزاز
  • / mavros / vision_pose / tf / child_frame_id: vision
  • / mavros / vision_pose / tf / frame_id: local_origin
  • / mavros / vision_pose / tf / استماع: خطأ
  • / mavros / vision_pose / tf / rate_limit: 10.0
  • / mavros / vision_speed / listen_twist: خطأ
  • / وصف_الروبوت:
  • / rosdistro: نيلي
  • / rosversion: 1.11.21.0
  • / tf_prefix:
  • / use_sim_time: صحيح

الإيماءات
/
شرفة المراقبة (gazebo_ros / gzserver)
gazebo_gui (gazebo_ros / gzclient)
مافروس (mavros / mavros_node)
spawn_erlecopter (gazebo_ros / spawn_model)

سيد جديد بدء التشغيل التلقائي
العملية [الرئيسية]: بدأت بـ pid [28618]
ROS_MASTER_URI = http: // localhost : 11311

الإعداد / run_id إلى e483c856-89bf-11e7-bb61-1803733b65bb
العملية [rosout-1]: بدأت بـ pid [28631]
بدأت الخدمة الأساسية [/ rosout]
العملية [mavros-2]: بدأت بـ pid [28656]
العملية [spawn_erlecopter-3]: بدأت بـ pid [28657]
عملية [gazebo-4]: بدأت بـ pid [28674]
عملية [gazebo_gui-5]: بدأت بـ pid [28678]
بدأ البرنامج النصي spawn_model
[INFO] [WallTime: 1503684293.653120] [0.000000] تحميل نموذج xml من معلمة ros
[INFO] [WallTime: 1503684293.657344] [0.000000] في انتظار الخدمة / شرفة المراقبة / spawn_urdf_model
[INFO] [WallTime: 1503684294.260952] [0.047500] خدمة الاتصال / شرفة المراقبة / spawn_urdf_model
[INFO] [WallTime: 1503684294.855628] [0.445000] حالة النشر: SpawnModel: نموذج تم إنتاجه بنجاح
انتهت عملية [spawn_erlecopter-3] بشكل نظيف
ملف السجل: /home/bshang2/.ros/log/e483c856-89bf-11e7-bb61-1803733b65bb/spawn_erlecopter-3*.log

التشخيص

bshang2 @ mechatronics-990 : ~ / simulation / ardupilot / ArduCopter $ rostopic echo -n1 / Diagnostics
رأس:
تسلسلها: 6456
ختم:
ثوانى: 6817
nsecs: 500000000
frame_id: "
الحالة:


  • المستوى: 0
    الاسم: مافروس: اتصال FCU
    الرسالة: متصل
    معرف الجهاز:
    القيم:



    • مفتاح: الحزم المتلقاة:

      القيمة: 24635



    • مفتاح: حزم مسقطة:

      القيمة: 0



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

      القيمة: 0



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

      القيمة: 0



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

      القيمة: 58



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

      القيمة: 190



    • مفتاح: إجمالي بايت Rx:

      القيمة: 19770100



    • مفتاح: إجمالي بايت Tx:

      القيمة: 169295



    • مفتاح: سرعة Rx:

      القيمة: inf



    • مفتاح: سرعة TX:

      القيمة: inf


  • المستوى: 0
    الاسم: مافروس: جسر GCS
    الرسالة: متصل
    معرف الجهاز:
    القيم:



    • مفتاح: الحزم المتلقاة:

      القيمة: 3059



    • مفتاح: حزم مسقطة:

      القيمة: 0



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

      القيمة: 0



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

      القيمة: 0



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

      القيمة: 243



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

      القيمة: 0



    • مفتاح: إجمالي بايت Rx:

      القيمة: 51809



    • مفتاح: إجمالي بايت Tx:

      القيمة: 19769923



    • مفتاح: سرعة Rx:

      القيمة: inf



    • مفتاح: سرعة TX:

      القيمة: inf


  • المستوى: 0
    الاسم: مافروس: GPS
    الرسالة: الإصلاح ثلاثي الأبعاد
    معرف الجهاز:
    القيم:



    • مفتاح: الأقمار الصناعية مرئية

      القيمة: 10



    • مفتاح: نوع الإصلاح

      القيمة: 3



    • مفتاح: EPH (م)

      القيمة: 1.21



    • المفتاح: EPV (م)

      القيمة: 2.00


  • المستوى: 0
    الاسم: مافروس: نبضات القلب
    الرسالة: عادي
    معرف الجهاز:
    القيم:



    • مفتاح: دقات القلب منذ بدء التشغيل

      القيمة: 6817



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

      القيمة: 0.952381



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

      القيمة: Quadrotor



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

      القيمة: ArduPilotMega



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

      القيمة: موجه



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

      القيمة: نشط


  • المستوى: 0
    الاسم: مافروس: نظام
    الرسالة: عادي
    معرف الجهاز:
    القيم:



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

      القيمة: 0x0061FD2F



    • مفتاح: تمكين الاستشعار

      القيمة: 0x0061FD2F



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

      القيمة: 0x0061FD2F



    • المفتاح: مستشعر ثلاثي الأبعاد جيروسكوبي

      القيمة: حسنًا



    • المفتاح: Sensor 3D Accel

      القيمة: حسنًا



    • المفتاح: Sensor 3D Mag

      القيمة: حسنًا



    • المفتاح: ضغط مستشعر القيمة المطلقة

      القيمة: حسنًا



    • المفتاح: جهاز استشعار GPS

      القيمة: حسنًا



    • المفتاح: موقف الليزر الاستشعار

      القيمة: حسنًا



    • المفتاح: التحكم في معدل زاوية الاستشعار

      القيمة: حسنًا



    • المفتاح: طعنة موقف الاستشعار

      القيمة: حسنًا



    • المفتاح: موضع الانعراج بالمستشعر

      القيمة: حسنًا



    • المفتاح: Sensor Z / Alt Control

      القيمة: حسنًا



    • المفتاح: جهاز الاستشعار X / Y Pos التحكم

      القيمة: حسنًا



    • المفتاح: مخرجات محرك الاستشعار

      القيمة: حسنًا



    • المفتاح: جهاز استشعار RC

      القيمة: حسنًا



    • المفتاح: AHRS health

      القيمة: حسنًا



    • المفتاح: صحة التضاريس

      القيمة: حسنًا



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

      القيمة: 0.0



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

      القيمة: 0.0



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

      القيمة: 0



    • المفتاح: عدد الأخطاء # 1

      القيمة: 0



    • مفتاح: عدد الأخطاء # 2

      القيمة: 0



    • المفتاح: عدد الأخطاء # 3

      القيمة: 0



    • مفتاح: عدد الأخطاء # 4

      القيمة: 0


  • المستوى 1
    الاسم: مافروس: البطارية
    الرسالة: جهد كهربي منخفض
    معرف الجهاز:
    القيم:



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

      القيمة: 0.00



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

      القيمة: 0.0



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

القيمة: 100.0

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

bshang2 @ mechatronics-990 : ~ / simulation / ardupilot / ArduCopter $ روسرون مافروس checkid
نعم. تلقيت رسائل من 1: 1.


تم استلام 1231 رسالة من عنوان واحد
sys: قائمة
1: 1 0 ، 1 ، 2 ، 136 ، 152 ، 150 ، 24 ، 27 ، 29 ، 30 ، 32 ، 33 ، 162 ، 163 ، 164 ، 165 ، 42 ، 173 ، 178 ، 62 ، 193 ، 74 ، 35 ، 36 ، 241 ، 116

question

التعليق الأكثر فائدة

بالنسبة إلى setpoint_velocity ، سأضيف إصلاحًا يسمح بالاختيار بين LOCAL_NED و BODY_NED ، نظرًا لأنه تم ضبطه حاليًا على LOCAL_NED (https: / /github.com/mavlink/mavros/blob/master/mavros/src/plugins/setpoint_velocity.cpp#L81). في هذه الأثناء ، يمكنك استخدام setpoint_raw وتعيين coordinate_frame إلى FRAME_BODY_NED أو MAV_FRAME::BODY_NED (يجب أن يعمل كلاهما).

ال 14 كومينتر

مرحبا يا من هناك،

يمكنك استخدام setpoint_raw.

http://wiki.ros.org/mavros#mavros.2BAC8 -Plugins.setpoint_raw

في نقطة الضبط المستهدفة ، يمكنك تغيير إطار الإحداثيات.

http://docs.ros.org/api/mavros_msgs/html/msg/PositionTarget.html

بالنسبة إلى setpoint_velocity ، سأضيف إصلاحًا يسمح بالاختيار بين LOCAL_NED و BODY_NED ، نظرًا لأنه تم ضبطه حاليًا على LOCAL_NED (https: / /github.com/mavlink/mavros/blob/master/mavros/src/plugins/setpoint_velocity.cpp#L81). في هذه الأثناء ، يمكنك استخدام setpoint_raw وتعيين coordinate_frame إلى FRAME_BODY_NED أو MAV_FRAME::BODY_NED (يجب أن يعمل كلاهما).

شكرًا AlexisTM و @ TSC21 ردك مفيد. سأحاول ذلك لاحقًا.

@ TSC21AlexisTM شكرا لمساعدتكم! يمكنني التحكم في السرعة في هيكل الجسم الآن. تم تسجيل الفيديو: https://www.youtube.com/watch؟v=dyUQfFYX3pk&feature=youtu.be

rostopic pub /mavros/setpoint_raw/local mavros_msgs/PositionTarget '{header: {stamp: now, frame_id: "world"}, coordinate_frame: 8, type_mask: 3527, velocity: {x: 0.1, y: 0, z: 0}}' -r 10

من الجيد معرفة

مرحبا cnpcshangbo ، شكرا لك على الفيديو.
أنشر هذا لمساعدة الآخرين في إزالة الارتباك الذي كان لدي.
على الرغم من أن قناع الإطار هو FRAME_BODY_NED = 8 ، يجب أن يظل أمر ROS في ENU . يتم الاهتمام بتحويل ENU -> NED بواسطة شركة mavros.
في الواقع ، من الفيديو ، السلوك هو:

  • س = 0.1 -> إلى اليمين
  • ص = 0.1 -> للأمام
    من الواضح أنه لا يزال في ENU. لكن هذا الالتباس كلفني أسبوعًا من نتف الشعر ...

مرحبًا هوانج ،
شكرا لتوضيحكم.
آسف لسماع أن الأمر استغرق منك وقتًا طويلاً.
جهودك تساعد الآخرين.
شكرا
بو

Hoang Minh Chung [email protected] 2018 年 8 17 日 周五 11:09 写道 :

مرحبًا cnpcshangbo https://github.com/cnpcshangbo ، شكرًا لك على الفيديو.
أنشر هذا لمساعدة الآخرين في إزالة الارتباك الذي كان لدي.
على الرغم من أن قناع الإطار هو "FRAME_BODY_NED = 8" ، أمر ROSيجب أن يكون في ENU . سيتم إجراء تحويل ENU -> NED بواسطة
مافروس.
في الواقع ، من الفيديو ، السلوك هو:

  • س = 0.1 -> إلى اليمين
  • ص = 0.1 -> للأمام
    من الواضح أنه لا يزال في ENU. ومع ذلك ، فقد كلفني هذا الارتباك أسبوعًا
    نتف الشعر ...

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/mavlink/mavros/issues/792#issuecomment-413745084 ، أو كتم الصوت
الخيط
https://github.com/notifications/unsubscribe-auth/AEm3NdefOViosyJKxQlf2h0ZweC8lO6uks5uRjP9gaJpZM4PDCb2
.

أليس من المفترض أن تكون x للأمام و y إلى اليسار لـ BODY و x إلى الشرق ، و y إلى الشمال في إطار الخريطةNuno؟

هل أنا محق في حقيقة أن لدينا 3 اصطلاحات هنا:
1) NED: التقدير والتحكم على متن PX4
2) ENU: تنسيق الإدخال القياسي لرسائل أوامر mavros
3) NWU: نظام إحداثيات نموذجي في ROS

لا ، لا يوجد NWU في ROS.
http://www.ros.org/reps/rep-0103.html

لا ينبغي استخدام AlexisTM شمال أو شرق لتحديد اصطلاحات الجسم ، بل توجيهات مثل الجبهة ، اليسار.

تمام. لكن إذا لم أكن مخطئًا ، أعتقد أنه لا يزال لدينا 3 اتفاقيات؟
1) NED: التحكم على متن الطائرة
2) Right-Forward-Up: كيف تفهم مافروس نقاط الضبط الأولية (السرعة)
3) Forward-Left-Up: اتفاقية ROS

hmchung نحن

لاحظ أنه يجب أن يكون هناك اتفاقيتان فقط! NED على Pixhawk و ENU: أي شيء تفعله على ROS.

Forward-Left-Up (FLU) هي اتفاقية ROS لإطار الجسم. شرق-شمال-أعلى (ENU) هو اصطلاح ROS للإطار المحلي / الكلمة.

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