مرحبًا ، أنا أدرك جيدًا أن UUV Simulator قادر على محاكاة العديد من الروبوتات (إحدى نقاط قوتها). ومع ذلك ، لم أتمكن من الحصول على أشجار TF لنظام الروبوتات المتعددة للبقاء على اتصال مع أحد الوالدين المشتركين بإطار TF world
.
عند تشغيل roslaunch uuv_gazebo_worlds ocean_waves.launch
، يتم نشر world
و world_ned
فقط.
بعد ذلك ، إذا قمت بتحميل auv4
URDF المخصص الخاص بي ، فسوف أحصل على شجرة TF متصلة من world
إلى auv4/base_link
.
حتى الآن كل شيء جيد. وبالمثل ، إذا كنت سأعيد تشغيل المحاكي وقمت بتشغيل roslaunch uuv_gazebo_worlds ocean_waves.launch
مرة أخرى ، ولكن هذه المرة قمت بتحميل سيارتي auv3
، أحصل على شجرة TF متصلة من world
إلى auv3/base_link
.
حتى الآن كل شيء جيد. ومع ذلك ، إذا كنت سأحاول تشغيل roslaunch uuv_gazebo_worlds ocean_waves.launch
ثم قمت بتحميل كل من urdfs في وقت واحد عبر ملفات تشغيل منفصلة للتحميل (النموذج يتبع upload_rexrov.launch) ، أحصل على شجرة TF غير متصلة ، مع تشغيل السيارة الثانية عادة غير متصلة من شجرة TF. في هذه الحالة ، تم تحميل auv3 أولاً متبوعًا بـ auv4 ، مما أدى فقط إلى توصيل world
بـ auv3/base_link
ولكن تم فصله من auv4/base_link
.
يحدث شيء مماثل إذا قمت بعكس ترتيب التحميل (auv4 أولاً ثم auv3) ، فسيتم توصيل world
بـ auv4/base_link
ولكن ليس auv3/base_link
.
ربما أفعل شيئًا خاطئًا لأن رقم 396 يغطي نفس المشكلة ولكن بطريقة ما تمكن الملصق الأصلي (OP) من حل المشكلة بنفسه / بنفسها. هل يمكن أن يرشد شخص ما كيف يمكن حل هذه المشكلة للسماح لشجرة TF متصلة بالكامل؟ أفهم حاليًا أن ملف message_to_tf.launch
يساعد في تحويل nav_msgs :: Odometry إلى تحويلات ROS TF. هو موضع تقدير أي مساعدة. شكرا!
مرحبًا 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:
بالانتقال إلى مركبتين فقط ، يمكننا رؤية الرابط الأساسي:
لم أفهم سبب عدم اتصال روابط الإطار بين المذيعين: 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 المتصل بجميع شروط الإطلاق.