Uuv_simulator: متعدد الروبوت TF شجرة مكسورة

تم إنشاؤها على ٢٤ مايو ٢٠٢٠  ·  10تعليقات  ·  مصدر: uuvsimulator/uuv_simulator

مرحبًا ، أنا أدرك جيدًا أن UUV Simulator قادر على محاكاة العديد من الروبوتات (إحدى نقاط قوتها). ومع ذلك ، لم أتمكن من الحصول على أشجار TF لنظام الروبوتات المتعددة للبقاء على اتصال مع أحد الوالدين المشتركين بإطار TF world .

عند تشغيل roslaunch uuv_gazebo_worlds ocean_waves.launch ، يتم نشر world و world_ned فقط.

image

بعد ذلك ، إذا قمت بتحميل auv4 URDF المخصص الخاص بي ، فسوف أحصل على شجرة TF متصلة من world إلى auv4/base_link .

image

حتى الآن كل شيء جيد. وبالمثل ، إذا كنت سأعيد تشغيل المحاكي وقمت بتشغيل roslaunch uuv_gazebo_worlds ocean_waves.launch مرة أخرى ، ولكن هذه المرة قمت بتحميل سيارتي auv3 ، أحصل على شجرة TF متصلة من world إلى auv3/base_link .

image

حتى الآن كل شيء جيد. ومع ذلك ، إذا كنت سأحاول تشغيل roslaunch uuv_gazebo_worlds ocean_waves.launch ثم قمت بتحميل كل من urdfs في وقت واحد عبر ملفات تشغيل منفصلة للتحميل (النموذج يتبع upload_rexrov.launch) ، أحصل على شجرة TF غير متصلة ، مع تشغيل السيارة الثانية عادة غير متصلة من شجرة TF. في هذه الحالة ، تم تحميل auv3 أولاً متبوعًا بـ auv4 ، مما أدى فقط إلى توصيل world بـ auv3/base_link ولكن تم فصله من auv4/base_link .

image

يحدث شيء مماثل إذا قمت بعكس ترتيب التحميل (auv4 أولاً ثم auv3) ، فسيتم توصيل world بـ auv4/base_link ولكن ليس auv3/base_link .

ربما أفعل شيئًا خاطئًا لأن رقم 396 يغطي نفس المشكلة ولكن بطريقة ما تمكن الملصق الأصلي (OP) من حل المشكلة بنفسه / بنفسها. هل يمكن أن يرشد شخص ما كيف يمكن حل هذه المشكلة للسماح لشجرة TF متصلة بالكامل؟ أفهم حاليًا أن ملف message_to_tf.launch يساعد في تحويل nav_msgs :: Odometry إلى تحويلات ROS TF. هو موضع تقدير أي مساعدة. شكرا!

question problem

ال 10 كومينتر

مرحبًا HashirZahir ، لم يكن لدي وقت بعد ، لكنني سأحاول إعادة إنتاج الخطأ وإيجاد حل

HashirZahir أنا مهتم أيضًا بنفس المشكلة. أنا أحاول إطلاق 3 مركبات Eca_a9 في وقت واحد بنفس الطريقة بعد تشغيل _roslaunch uuv_gazebo_worlds ocean_wavesunch_. يمكنني تشغيل مركبتين من طراز Eca_a9 كحد أقصى في وقت واحد - هل أحرزت أي تقدم آخر بشأن هذه المشكلة؟

هل يمكنك مشاركة خطوات النسخ المتماثل لتشغيل مركبتين Eca_a9 معًا (وأشجار TF الخاصة بهما؟) حسابات / خوارزميات متعددة

أي حظ pxalcantara ؟

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

هل يمكنك مشاركة خطوات النسخ المتماثل لتشغيل مركبتين Eca_a9 معًا (وأشجار TF الخاصة بهما؟) حسابات / خوارزميات متعددة

عذرا على البطئ في الرد. لدي ملف تشغيل لإطلاق 3 (أو أكثر) من Eca UUVs ضمن مساحات أسماء مختلفة باستخدام Upload.ru. أستخدم ملف تشغيل آخر لتشغيل وحدة التحكم في التتبع الهندسي لكل مركبة من المركبات الثلاث. بدون معرفة السبب ، يعمل هذا بشكل عام مع 2/3 UUVs ، مع كون الثالث غير مستجيب ومتعطل (كما وصفت) ... حتى أتمكن من التحكم في نقاط الطريق وإرسالها وترديد جميع الموضوعات لـ 2 UUVs. لاحظ أن هذا ليس ثابتًا دائمًا ، وأحيانًا يتم إنتاج وحدة UUV واحدة بشكل صحيح. للأسف ، ليس لدي أي فكرة أخرى عن المشكلة.

هل تمكن أي شخص من الحصول على أي فكرة عن هذه القضية؟ تعد قدرات Multi-Robot لهذا المحاكي مذهلة ، لكنني أشعر أن بعض البرامج النصية البسيطة لشجرة TF تتسبب في كسر شجرة TF ، على الرغم من أنني لم أتمكن من العثور على مصدر المشكلة.

تضمين التغريدة
كنت أواجه نفس المشكلة مثل @ Joel-Lindsay مع روابط معطلة مع eca_a9s. لقد أصلحت هذا عن طريق تحرير الملف /eca_a9/eca_a9_description/robots/eca_a9_default.urdf.xacro.

inertial_reference_frame = "$ (arg inertial_reference_frame)"
تم تغييره إلى:
inertial_reference_frame = "العالم"

أدى هذا إلى إصلاح أشجار tf الخاصة بي التي تم فصلها أيضًا.

مرحبًا ، ErinWetter ، هل تمانع في مشاركة صورة لشجرة TF المتصلة؟

هنا هو الجزء العلوي من شجرة tf مع 4 عمل eca_a9:

Four_Eca_short

بالانتقال إلى مركبتين فقط ، يمكننا رؤية الرابط الأساسي:

two_eca_short

لم أفهم سبب عدم اتصال روابط الإطار بين المذيعين: ground_truth_to_uuv # و / uu # / robot_state_publisher لم يكن متصلاً قبل تشفير ناشر حالة الروبوت للمطابقة ولكني لست على دراية بعملية إنشاء نموذج الروبوت xacro / urdf.

لقد أجريت بعض الاختبارات على مركبة واحدة لمقارنة ترتيب تشغيل عقد البث على Eca و RexRov (التي لم تواجه مشكلات شجرة tf المكسورة وكنت أستخدمها في عمليات محاكاة المركبات المتعددة). بالنسبة إلى Eca_a9 واحد ، سيتم قطع شجرة tf في / base_link إذا بدأت العقدة / ground_truth_to_uuv # في المحطة بدلاً من ملف "upload_eca_a9.launch". أثناء القيام بنفس الشيء مع RexRov / base_link المتصل بجميع شروط الإطلاق.

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