أهلا،
أحاول تنفيذ مركبة في UUV Sim ، وأحاول فقط جعل سيارتي تطفو ، حتى أنني قمت بتعيين علامة <neutrally_buoyant>1</neutrally_buoyant>
كما هو موضح ، لكن سيارتي تستمر في الغرق في الثانية التي يتم تحميلها فيها. هل هناك أي نصيحة يمكنك تقديمها للمساعدة في جعل هذه السيارة تطفو بشكل محايد أو حتى تطفو بشكل إيجابي؟
أهلا،
شكرًا على الإبلاغ ، سأتحقق من ذلك. في هذه الأثناء ، يمكن أن تكون سيارتك مزدهرة بشكل إيجابي إذا قمت بتعيين علامة neutrally_buoyant
على الصفر وتعيين الحجم بدلاً من ذلك ، كما هو الحال في نموذج rexrov
https://github.com/uuvsimulator/uuv_simulator/ blob / master / uuv_descriptions / Models / rexrov / urdf / rexrov.gazebo.xacro # L32.
ثم يتم استخدام الحجم لحساب متجه قوة الطفو.
أهلا،
حاولت ضبط مستوى الصوت ليكون كبيرًا جدًا. ليست كبيرة مثل rexrov
، وكانت لا تزال تغرق. سأحاول ذلك وأعود إليك ، لكنني حاولت رفع مستوى الصوت وخفض كتلتي لإجبارها على الطفو. ومع ذلك ، سأعود إليك بالنتائج في غضون ثانية.
لذلك قمت بتعيين الحجم على 3.1093918 m3
وكتلتي على 0.123497
، ولا تزال سيارتي تغرق. قد أحاول ضبطه على ما لديك بالضبط rexrov
تعيينه لحجمه ، وحتى تعيين علامة <box>
لما كان عليه rexrov
بالإضافة إلى النموذج الهيدروديناميكي . لذلك لا أعرف من أين أتحقق من وجود مشكلة.
هل قمت بتعيين <neutrally_buoyant>0</neutrally_buoyant>
؟
musamarcusso حاولت تعيين <neutrally_buoyant>
إلى 0
و 1
. لا تغيير حقيقي.
مرحبًا atomoclast ، هل هذه هي السيارة التي تريد
http://www.videoray.com/images/specsheets/2016/2016_P4STANDARDBASE_FINAL.pdf
سأحاول استبدال هذه المعلمات هنا لإعادة إنتاج هذا.
musamarcusso نعم ، هذه هي السيارة التي أحاول
لدي ملف شبكة إذا كنت بحاجة إليه.
لقد حاولت للتو تشغيل مربع اختبار مع ما أفهمه هو المكون الإضافي للطفو وحاولت ذلك باستخدام علامة neutrally_buoyant
تعيينها على 0
بالإضافة إلى 1
، والمربع لا تزال تغرق في المرتين. كما كانت تطبع الخطأ [Wrn] [UnderwaterObjectPlugin.cc:207] Relative angular acceleration is invalid -nan
مرارًا وتكرارًا.
لدي كلا الملفين أدناه لتراجعهما. لست متأكدا ما هي القضية. أضفت الامتداد .txt
حتى أتمكن من التحميل في التعليق.
بمجرد أن ترى الخطأ Relative angular acceleration is invalid
لن يطبق UnderwaterObjectPlugin أي قوى أو عزم دوران بعد الآن ، لأن هذا مؤشر واضح على تعطل محرك الفيزياء.
ألقيت نظرة على تعريف الصندوق الخاص بك:
<inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0" />
هذا هو الجاني. يجب ألا يكون لأي جسم صلب لحظات من القصور الذاتي أو كتلة صفرية. نظرًا للطريقة التي يحسب بها الجازيبو التسارع من القوى / عزم الدوران ، فسيؤدي ذلك إلى القسمة على الصفر.
أخبرنا إذا كان هذا يحل مشكلتك.
sebastianscherer هذا منطقي تمامًا. لقد استخدمت للتو مجسمًا إهليلجيًا أساسيًا لتقدير القصور الذاتي لسيارتي ، وهي تطفو الآن.
لاكتشاف البرنامج المساعد Thruster! أواجه بعض المشكلات هناك أيضًا.
أرى في محطة شرفة المراقبة:
[Msg] Thruster #0 initialized
[Msg] - Link: videoray_pro4/thruster_0
[Msg] - Robot model: videoray_pro4
[Msg] - Input command Gazebo topic: /videoray_pro4/thrusters/0/input
[Msg] - Thrust output Gazebo topic: /videoray_pro4/thrusters/0/thrust
[Msg] Thruster #1 initialized
[Msg] - Link: videoray_pro4/thruster_1
[Msg] - Robot model: videoray_pro4
[Msg] - Input command Gazebo topic: /videoray_pro4/thrusters/1/input
[Msg] - Thrust output Gazebo topic: /videoray_pro4/thrusters/1/thrust
[Msg] Thruster #2 initialized
[Msg] - Link: videoray_pro4/thruster_2
[Msg] - Robot model: videoray_pro4
[Msg] - Input command Gazebo topic: /videoray_pro4/thrusters/2/input
[Msg] - Thrust output Gazebo topic: /videoray_pro4/thrusters/2/thrust
[Msg] JointStatePublisher::robotNamespace=videoray_pro4
في محطة الدفع ، أرى:
process[videoray_pro4/thruster_allocator-1]: started with pid [26422]
[INFO] [1500390755.909692, 0.000000]: ThrusterManager::update_rate=50
output_dir= /home/andrew/Development/ underwater_ws/install/share/videoray_description/config/videoray_pro4
ThrusterManager: updating thruster poses
conversion_fcn= proportional
conversion_fcn_params= {'gain': 0.00031}
transform: /videoray_pro4/base_link -> /videoray_pro4/thruster_0
could not get transform from: /videoray_pro4/base_link
to: /videoray_pro4/thruster_0
[]
لقد قمت للتو بتشغيل rosrun tf view_frames
وكان هذا هو الناتج. أرى شجرة TF تُظهر تحولًا بين الرابط الأساسي والدافع ...
الإطارات. pdf
يتم إنشاء الإطارات بين العالم والرابط الأساسي للمركبة بواسطة العقدة message_to_tf
، والتي تعد جزءًا من حزمة hector_localization
. مثال ملف تشغيل طراز RexROV هو هذا
كيف ذكرت هذا في ملف التشغيل؟
musamarcusso وفقًا لبرنامج ويكي التعليمي ، قمت باستدعاء التحويل على النحو التالي:
<!-- Publish state and tf for in relation to the world frame -->
<group ns="$(arg namespace)">
<node name="ground_truth_to_tf" pkg="message_to_tf" type="message_to_tf" output="screen">
<param name="odometry_topic" value="/$(arg namespace)/pose_gt" />
<param name="frame_id" value="/$(arg world_frame)" />
<param name="tf_prefix" value="$(arg namespace)" />
</node>
</group>
يبدو مختلفًا عن السطر الذي ذكرته أعلاه. يرجى تعطينا المحاولة.
هل يمكنك محاولة استبدال الكتلة التي أرسلتها لي بهذا
<include file="$(find uuv_descriptions)/models/common/launch/message_to_tf.launch">
<arg name="namespace" value="$(arg namespace)"/>
</include>
إذا نجح هذا الإصلاح ، فسوف أقوم بتصحيح البرنامج التعليمي على الفور.
حاولت استبدال الكتلة الخاصة بي بكوكتك ، لكنها لن تنجح. الطريقة الوحيدة التي نجحت بها كانت سيتم استدعاء كلتا الكتلتين معًا.
VelocityControllerNode: initializing node
Thruster #0 - proportional - thrusters/0/input
transform: /videoray_pro4/base_link -> /videoray_pro4/thruster_1
Thruster #1 - proportional - thrusters/1/input
transform: /videoray_pro4/base_link -> /videoray_pro4/thruster_2
Thruster #2 - proportional - thrusters/2/input
transform: /videoray_pro4/base_link -> /videoray_pro4/thruster_3
could not get transform from: /videoray_pro4/base_link
to: /videoray_pro4/thruster_3
[<uuv_thrusters.models.thruster_proportional.ThrusterProportional object at 0x7efc4bdb8a50>, <uuv_thrusters.models.thruster_proportional.ThrusterProportional object at 0x7efc4bdb8c10>, <uuv_thrusters.models.thruster_proportional.ThrusterProportional object at 0x7efc4bd4c190>]
TAM=
[[ 1. 0. 0. ]
[ 0. 0. 0. ]
[ 0. 0.99999968 0.99999968]
[ 0. 0.09999997 -0.09999997]
[ 0.1 0.15249995 0.15249995]
[ 0. 0. 0. ]]
ThrusterManager: ready
ThrusterManager: ready
الآن أنا بحاجة لمعرفة سبب عدم تمكنها من الحصول على TF من الدافع 3.
يمكنني تشغيل الإصدار الخاص بي من joy_velocity.launch
، لكنني غير قادر على التحكم في السيارة باستخدام وحدة التحكم الخاصة بي.
كنت أحاول تصحيح أخطاء الأشياء ، وأقارن مخرجات تصور العقد rqt_graph
. هاتان الشبكتان اللتان أراهما. لست متأكدا لماذا لا يعمل بالضبط.
تحديث آخر أدركته للتو:
ينادي Wiki: <xacro:property name="prop_mesh_file" value="file://$(find uuv_descriptions_example)/models/rov_example/mesh/propeller.dae"/>
يجب أن يكون: <xacro:property name="prop_mesh_file" value="file://$(find uuv_descriptions)/models/rexrov/mesh/prop.dae"/>
مرحبًا atomoclast ،
لا ، هذا صحيح في البرنامج التعليمي. المثال في البرنامج التعليمي ليس مثالًا وظيفيًا ، ولهذا السبب وضعت prop_mesh_file
بواسطة الشخص الذي يصنع طراز السيارة الجديد.
يتم تحديد joy_velocity
لكل افتراضي لتعيين وحدة تحكم XBox. ما هو طراز وحدة التحكم التي لديك؟
هل لديك ملفاتك في مكان ما في جيثب؟ يمكنني محاولة تشغيله وتقديم ملاحظات لك.
musamarcusso لقد قمت بتحميل الريبو هنا: https://github.com/atomoclast/videoray_description/tree/feature/DEEP-291
مرحبًا musamarcusso ، هل سنحت لك فرصة البحث في هذا الريبو حتى الآن؟
نعم ، لقد قمت باستنساخها. سأقدم ملاحظاتك في وقت لاحق اليوم.