$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
1. إعداد بيئة البرمجيات
تم استخدام محطة عمل مبنية على لينكس تعمل بنظام أوبونتو 20.04 ونظام التشغيل الروبوت (ROS) Noetic كمنصة تطوير رئيسية لتنفيذ أنظمة التوطين الذاتي تحت الماء17. تم تهيئة النظام عن طريق إنشاء مساحة عمل catkin باستخدام mkdir -p ~/catkin_ws/src ثم تهيئتها باستخدام catkin_init_workspace. تم استنساخ حزم uuv_simulator و aruco_ros إلى مجلد المصدر وتجميعها باستخدام أمر catkin_make لدعم نمذجة التدخل تحت الماء.
تم التحقق من الاتصال بين برنامج ROS الوسيط ومحاكي Gazebo 9 من خلال تشغيل عالم تحت الماء افتراضي وتأكيد الاتصال النشط عبر أمر قائمة الروستوبك. تم تنفيذ عقد معالجة الصور وتقدير الوضعية باستخدام بايثون 3.8 ومكتبات ArUco المدمجة لحساب الوضعية النسبية باستخدام OpenCV. تم تكوين بيئة ROS لإدارة التبعيات وتمكين التواصل البياني في الوقت الحقيقي، مما مكن الروبوت من تحديد موقع نفسه بالنسبة لعلامات صناعية متعددة18. كما مكن هذا الإعداد من تقييم أداء اكتشاف العلامات تحت ظروف مختلفة. يوضح الشكل 1 التواصل بين عقد المحاكاة والإدراك والتصور في بيئة ROS–Gazebo.
2. نموذج UUV والمعلمات الهيدروديناميكية
تم الحصول على نموذج مركبة RexRov2 من حزمة uuv_descriptions وأطلق في Gazebo باستخدام ملف تنسيق وصف الروبوت الموحد (URDF) رقم5. تكون نموذج المركبة من وصلات ومفاصل، بكتلة جافة تبلغ 1,863 كجم وإزاحة حجمية 1.838 مترمكعب، مما يعادل الطفو شبه المحايد في المياه بكثافة 1,000 كجم/م3.
تم نمذجة التأثيرات الهيدروديناميكية باستخدام uuv_underwater_object_plugin، بما في ذلك قوى التخميد الخطية والتربيعية. تم تعيين معامل ارتفاع الكتلة المضاف إلى 779.79، وتم معايرة معاملات التخميد بناء على خصائص RexRov2 المبلغ عنها لمحاكاة حركة المركبة الواقعية19. يوضح الشكل 2 البنية العامة للمحاكاة.

الشكل 2: البنية العامة لبيئة المحاكاة. يوضح الشكل دمج نموذج الطائرات بدون مركبة، ومدخلات الحساسات، وأنابيب الإدراك، ووحدات التحكم المستخدمة لتقدير الوضعية والملاحة. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.
3. الكاميرا، والعلامة، وإعداد البيئة
تم تثبيت كاميرا أحادية العين على إطار rexrov2/camera_link. تم ضبط معلمات الكاميرا على 1280 × 720 بكسل و30 هرتز. تم تعريف المعلمات الجوهرية في ملف تكوين الكاميرا ببعد بؤري 554.25 بكسل ونقطة رئيسية عند (640.5، 360.5).
تم وضع علامة ArUco عمودية ثابتة بطول جانبي 0.5 متر، تم اختيارها من قاموس 6×6_250 (المعرف: 582)، عند الإحداثيات (20.0، 0.0، -10.0). تم تكوين البيئة المحاكاة بعمق ماء 10 أمتار وسرعة تيار ثابتة 0.1 م/ث في اتجاه X باستخدام خدمة /uuv_simulation_app/set_current_velocity ROS. تم استخدام شدة ضوء 0.8 لضمان رؤية العلامات9. يوضح الشكل 3 البيئة تحت الماء المحاكاة.

الشكل 3: بيئة تحت الماء محاكاة في جازيبو 9. تشمل البيئة طائرة RexRov2 UUV، وعلامات ArUco الافتراضية، وظروف بيئية محكومة مثل عمق المياه والإضاءة والتيار. يرجى الضغط هنا لعرض نسخة أكبر من هذا الشكل.
4. تقدير الوضعية والتحكم في الملاحة
تم تفعيل خط أنابيب اكتشاف العلامات باستخدام عقدة ArUco ROS، التي كانت مشتركة في موضوع /rexrov2/forward_camera/image_raw. تم تقدير وضعية المركبة باستخدام طريقة المنظور والنقطة (PnP) لحساب مصفوفة الدوران (R) ومتجه الترجمة (t) بالنسبة لهندسة العلامة ثلاثية الأبعاد المعروفة.
تم تحويل الوضعية المقدرة من إطار الكاميرا إلى إطار المرجع العالمي باستخدام ناشر تحويل ثابت. تم استخدام وحدة تحكم PID لتنظيم حركة المركبة عن طريق إرسال أوامر السرعة إلى موضوع /rexrov2/thruster_manager/input. تم تعيين المكاسب النسبية (Kp) لمحوري الزيادة والرفع على 1500 و2000 على التوالي، لضمان أداء تتبع مستقر20.
5. التقييم ومقارنة الحقيقة الأرضية
تم تقييم الاتفاق بين تقديرات الوضعية القائمة على الرؤية والمسار المحاكى باستخدام موضوع /rexrov2/pose_gt الذي توفره إضافة uuv_gazebo_ros_p3d. تمت مقارنة الوضعية المقدرة من خط الأنابيب القائم على ArUco مع بيانات المسافة الأرضية لتقييم استقرار النظام واتساقه.
تم إجراء التقييم من خلال مقارنة المسارات والتصوير اللحظي، حيث تم مراقبة الموقع (X، Y، Z) والاتجاه (الدوران، الميل، الانحراف) باستخدام Rviz و rqt_plot. مكن ذلك من ملاحظة الانحرافات تحت الظروف الاسمية والظروف الناتجة عن الاضطراب.
تركز الدراسة على التقييم النوعي والمقارن. يتم تحديد التقييم الكمي باستخدام متوسط التربيع الجذري (RMSE) كعمل مستقبلي، حيث سيتم استخدام عدة محاكاة لتقييم خطأ الموقع والتوجه.
6. توليد النتائج والتصور
تم استخدام Rviz كأداة تصوير ثلاثية الأبعاد لمراقبة مسار واتجاه الطائرة UUV. تم تصور إطارات الإحداثيات /rexrov2/camera_link و /aruco_marker_frame لتقييم العلاقة المكانية بين المركبة والعلامة2.
تم استخدام أداة rqt_plot لإنشاء مخططات لحظية لوضع المركبة (الدوران، الميل، الانحراف) باستخدام مواضيع /rexrov2/pose_gt و /aruco_pose. تم استخدام أمر سجل rosbag لالتقاط بيانات المحاكاة، بما في ذلك تدفقات الفيديو ومدخلات التحكم، للتحليل النوعي.
أجريت المحاكاة في ظروف بصرية مثالية، مع افتراض إضاءة جيدة وعكارة منخفضة. كان يعتقد أن علامة أروكو بقيت غير معوقة. تم نمذجة تأثيرات التخميد الهيدروديناميكية باستخدام معاملات مبسطة، ولم يتم تضمين ضوضاء المستشعرات.