Uuv_simulator: س: نمذجة سطح الماء؟

تم إنشاؤها على ١٥ سبتمبر ٢٠١٧  ·  17تعليقات  ·  مصدر: uuvsimulator/uuv_simulator

سؤال ، هل يوجد في جهاز محاكاة uuv يصمم سطح الماء مثل الأمواج؟ (وإذا لم يكن الأمر كذلك ، فكيف تحصل على الرسوم المتحركة السطحية الرائعة في فيديو مزرعة الرياح؟)

question

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

مرحبًا ، لدي اهتمام مماثل بنمذجة طفو السفن السطحية في Gazebo ويبدو أن هذا هو المكان الذي تتم مناقشته فيه. لقد أحرزت بعض التقدم باستخدام النهج المذكور أعلاه وسأكون سعيدًا بالمشاركة إذا كان هناك أي اهتمام.

لدي مثال عملي يدعم الكائنات المحددة باستخدام بدائل الجازيبو أو الشبكات التي قد تتكون من رابط واحد أو أكثر. تم تصميم حقل الموجة باستخدام شبكة مستوية وهناك مكونات إضافية منفصلة للعناصر المرئية والفيزياء التي يتم الاحتفاظ بها متزامنة باستخدام وقت محاكاة العالم. هناك اعتماد على مكتبة CGAL حيث أستخدم حزمة شبكة السطح الخاصة بها.

يوضح المثال الأول سلسلة من الصناديق متصلة بواسطة وصلات عالمية ذات طفو فقط (بدون قوى التخميد أو السحب).

buoyancy example 1

يوضح المثال الثاني عددًا من الكائنات في الموجات الخاضعة للطفو وبعض قوى السحب. القوارب مخزنة من مستودع ثلاثي الأبعاد عبر الإنترنت واستخدمت Blender لتدمير الشبكة المستخدمة للتصادمات لتقليل عدد الرؤوس المستخدمة في حساب الطفو.

buoyancy example

ال 17 كومينتر

مرحبًا ، لا توجد حاليًا محاكاة فيزيائية لسطح الماء أو الأمواج. ستكون هذه ميزة رائعة لإضافتها ولكن ليس لدينا حاليًا القدرة على العمل على ذلك. إذا كان هناك أي شخص على استعداد لقضاء بعض الوقت في ذلك ، فيرجى إخبارنا بذلك.

الموجات التي قد تكون شاهدتها على مقاطع الفيديو أو لقطات الشاشة هي تأثيرات بصرية خالصة ويتم تنفيذها باستخدام هذه المظلات في خصائص المواد.

آه ، شكرا على الرد. أنا أعمل على تنفيذ https://www.gamasutra.com/view/news/237528/Water_interaction_model_for_boats_in_video_games.php كمكوِّن إضافي عالمي (gazebo). إحدى المشكلات التي سأواجهها (لست بعيدًا بعد ...) هي كيفية تمثيل الموجات المتحركة. أنا الآن أستخدم خريطة الارتفاع ، والتي تعطيني موجات غير متحركة. هذا جيد بالنسبة للعديد من عمليات المحاكاة (على الرغم من أنها غريبة) ، ولكن ليس كل شيء. بالنظر إلى فصل الخادم / العميل ، أحاول معرفة ما يجب فعله. يبدو أنني بحاجة إلى تشغيل نفس الخوارزمية التي تنتج الموجات على كلا الجانبين. مرة للفيزياء ومرة ​​للتقديم.

نعم ، يمكن فعل ذلك. تتمثل إحدى الطرق في الحصول على تظليل يقوم بتنفيذ نموذج JONSWAP أو نموذج Pierson-Moskowitz ويولد موجات للتصور ومكوِّن إضافي Gazebo يقوم بعمل مماثل للنماذج.
المشكلة التي أراها هي أن هاتين الوحدتين منفصلتين في Gazebo (إذا قمت بتشغيل المحاكاة مع تظليل sebastianscherer قال
فيما يتعلق بالتفاعل مع النماذج ، وجدت إحدى الطرق البسيطة جدًا التي تم تنفيذها في محاكي Kelpie:

https://www.researchgate.net/publication/259741742_Kelpie_A_ROS-Based_Multi-robot_Simulator_for_Water_Surface_and_Aerial_Vehicles

يبدو من السهل جدًا تنفيذه ، لكنني لا أعرف مدى جودته. لم أجربها قط.
أكبر مشكلة أراها هي مزامنة المكون الإضافي المرئي والمادي.
إذا كانت لديك أي أفكار حول كيفية تنفيذ ذلك ، فأخبرنا بذلك. سأكون مهتمًا جدًا بشيء مثله.

بالمناسبة ، لبدء سيناريو فارغ مع الأمواج ، عليك الجري

roslaunch uuv_descriptions ocean_waves.launch

شكرا على التعليقات. لقد تم تنفيذ الفيزياء الموضحة في رسالتي الأولية ، لكن لم يتم ضبطها بعد. حتى الآن يبدو مقنعًا جدًا للقطع الأول. أعتقد أنني بحاجة إلى إحراز المزيد من التقدم في المياه المسطحة قبل أن يكون من المنطقي للغاية النظر إلى الأمواج.

ما لدي هو مكون إضافي عالمي يشير إلى نموذج سطح الماء ونماذج القوارب. على سبيل المثال:

    <plugin name="floating" filename="libfloating.so">
      <water_model>ocean</water_model>
      <boat_models>
        <boat>box</boat>
      </boat_models>
    </plugin>

يفترض أن نموذج المياه عبارة عن خريطة الارتفاع (أريد أن أتغير إلى شبكة) وأن نماذج القوارب عبارة عن شبكات مثلثة ذات رابط واحد (في الوقت الحالي) يمثل الهيكل. ثم يحسب الطفو ، والاحتكاك اللزج ، وسحب الضغط ، وقوى الضرب على جميع المثلثات المغمورة بالشبكة ويطبقها على كل مثلث.

هل يعقل محاولة دمج هذا البرنامج المساعد في uuv-simulator؟ في هذه المرحلة أحاول تجنب ros ويبدو أن uuv-simulator يمكن أن يعمل بدون روس ، لكنني لم أجد الكثير من المعلومات حول ذلك. (ليس لدي خبرة روسية ، وقليل جدًا مع شرفة المراقبة). لقد كنت أستخدم أيضًا فرع الجازيبو الافتراضي (مثل الإصدار 9) ، هل يتم ترجمة uuv-simulator مع الإصدار 8؟ أعلم أن هناك عددًا جيدًا من الأساليب في الفيزياء التي غيرت اسمها بين v8 و v9 مع التحرك نحو مادة الاشتعال.

ما هو الفرق بين uuv_simulator / uuv_world_plugins / uuv_world_plugins / و uuv_simulator / uuv_gazebo_plugins / uuv_gazebo_plugins /؟

لقد قمت بتحميل محاكاة مدتها دقيقتان لإسقاط صندوق في سطح مائي متموج: https://youtu.be/X3bFU9bbL4A هذا أول دليل على المفهوم ...

هذا الفيديو يبدو رائعًا بالفعل!

لقد حاولنا فصل جميع المكونات الإضافية بحيث يوجد جزء بخلاف ROS ومكوِّن إضافي لـ ROS مشتق من المكوِّن الإضافي Gazebo النقي. لم نستخدم حتى الآن مكونات Gazebo الإضافية من تلقاء نفسها وقد يستغرق الأمر بعض العمل لتشغيلها بدون بدء تشغيل roslaunch وما إلى ذلك.

أعتقد أنه من المنطقي دمج هذا في uuv_simulator وسأكون على استعداد للمساعدة في التكامل عندما يكون لديك نموذج أولي عملي.

ما زلنا نستخدم الإصدار 7. من Gazebo. لست متأكدًا من موعد التبديل إلى Gazebo 8 أو 9 ، حيث يجب أن يتناسب مع الجدول الزمني لمشروع SWARMs .

شيء واحد فقط. إذا كنت ترغب في تغيير الموجات من العالم الذي تبدأ به

roslaunch uuv_descriptions ocean_waves.launch

يمكنك تعيين معلمات مختلفة في ملف المواد هذا هنا

https://github.com/uuvsimulator/uuv_simulator/blob/master/uuv_descriptions/Media/materials/scripts/waves.material#L16

يتم ضبط السعة على مستوى منخفض جدًا ، على سبيل المثال ، ولكن يمكنك وضع سعات وترددات أخرى لتراها تعمل.

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

يمكنك استخدام هذا إذا كنت تريد

https://github.com/uuvsimulator/uuv_simulator/tree/master/uuv_descriptions/world_models/aurora_static

إنه ثابت (يستخدم فقط كنوع من العلامات) ، ولكن يمكنك تعديله إلى نموذج روبوت. وهناك أيضًا نموذج Kingfisher الذي يمكنك الحصول عليه هنا https://github.com/kf/kingfisher. يستخدم هذا الأخير usv_gazebo_plugins من هذا المستودع https://github.com/bsb808/usv_gazebo_plugins.

مرحبًا ، لدي اهتمام مماثل بنمذجة طفو السفن السطحية في Gazebo ويبدو أن هذا هو المكان الذي تتم مناقشته فيه. لقد أحرزت بعض التقدم باستخدام النهج المذكور أعلاه وسأكون سعيدًا بالمشاركة إذا كان هناك أي اهتمام.

لدي مثال عملي يدعم الكائنات المحددة باستخدام بدائل الجازيبو أو الشبكات التي قد تتكون من رابط واحد أو أكثر. تم تصميم حقل الموجة باستخدام شبكة مستوية وهناك مكونات إضافية منفصلة للعناصر المرئية والفيزياء التي يتم الاحتفاظ بها متزامنة باستخدام وقت محاكاة العالم. هناك اعتماد على مكتبة CGAL حيث أستخدم حزمة شبكة السطح الخاصة بها.

يوضح المثال الأول سلسلة من الصناديق متصلة بواسطة وصلات عالمية ذات طفو فقط (بدون قوى التخميد أو السحب).

buoyancy example 1

يوضح المثال الثاني عددًا من الكائنات في الموجات الخاضعة للطفو وبعض قوى السحب. القوارب مخزنة من مستودع ثلاثي الأبعاد عبر الإنترنت واستخدمت Blender لتدمير الشبكة المستخدمة للتصادمات لتقليل عدد الرؤوس المستخدمة في حساب الطفو.

buoyancy example

مرحبًا ، لقد حاولت أيضًا إجراء محاكاة لسطح الماء يمكنك التحقق من الفيديو

https://www.youtube.com/watch؟v=NHfNfg2vhMc

والمستودع

https://github.com/PanosMallioris/Autonomous-Marine-Exploration-Water-Simulation-ROS-GAZEBO

أهلا،
كنت أبحث عن جهاز محاكاة متوافق مع ROS لمحاكاة المحيط المتموج.
درست ورقة Kelpie لكنني لم أتمكن من العثور على حزمتها في GitHub. هل تعلم أين يمكنني أن أجد ذلك؟

srmainwaring نموذجك يبدو مذهلاً! أنا أعمل حاليًا على بناء نموذج لقارب يتأرجح على سطح المحيط أيضًا. أنا جديد جدًا في Gazebo ولدي خبرة محدودة في كتابة المكونات الإضافية. هل ستكون على استعداد لمشاركة الكود / المكون الإضافي الذي تستخدمه لمحاكاة الكائنات المتأرجحة؟ أي مساعدة ستكون محل تقدير كبير!

samchamberlin يمكنك العثور على المشروع هنا: https://github.com/srmainwaring/asv_wave_sim.

srmainwaring مرحبًا ريس ، أنا جديد في ROS و Gazebo ، وأوجه نفسي حول كيفية محاكاة سفينة تنزل شيئًا ما في أعماق المحيط. محظوظ بالنسبة لي ، يبدو أنك قدمت حزمة مفيدة جدًا لي لاستخدامها. شكرا جزيلا مقدما! لست متأكدًا تمامًا من كيفية عمل حزم Gazebo ، ولكن هل تعتقد أنه سيكون من الممكن بطريقة ما دمج وظيفة الموجة لحزمتك مع النمذجة تحت الماء لحزمة UUV؟

JuliusHendrix ، أعتقد أن ذلك سيكون ممكنًا ، لكنه سيتضمن تغيير طريقة حساب الطفو لـ UUV إذا كنت تريد أن تستجيب الغاطسة للموجات عندما تكون على السطح لأن الطريقة المستخدمة لحساب قوى الطفو مختلفة في الحزمتين . إذا كان لديك أي أسئلة حول حزمة محاكاة الموجة ، فسيسعدني الإجابة عليها في قسم المشكلات في مستودعها. للأسئلة حول حزم UUV سيكون من الأفضل توجيهها إلى المؤلفين.

استخدم فريق OSRF VRX (https://bitbucket.org/osrf/vrx/src/default/) أيضًا المرئيات الموجية لمحاكاة UUV ودمج اقتراحي لمزامنة المرئيات في المحاكاة مع الفيزياء. يستخدمون حساب حجم قاعدة الطفو مثل محاكي UUV ، بدلاً من النهج القائم على قوة السطح المستخدم في المنجم. لتبدأ ، قد يكون من الأسهل محاولة الجمع بين الأساليب في VRX و UUV والانتقال إلى نموذج طفو أكثر تعقيدًا لاحقًا إذا كنت بحاجة إليه؟

srmainwaring شكرًا لك ،

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

القضايا ذات الصلة

dbcesar picture dbcesar  ·  5تعليقات

Timple picture Timple  ·  24تعليقات

hughhugh picture hughhugh  ·  5تعليقات

bst picture bst  ·  33تعليقات

atomoclast picture atomoclast  ·  23تعليقات