Halo,
Saya mencoba menerapkan kendaraan di UUV Sim, dan saya mencoba membuat kendaraan saya mengapung, dan saya bahkan menetapkan tag <neutrally_buoyant>1</neutrally_buoyant>
seperti yang ditunjukkan, tetapi kendaraan saya terus tenggelam begitu diunggah. Adakah saran yang bisa Anda berikan untuk membantu kendaraan ini mengapung secara netral atau bahkan apung positif?
Hai,
terima kasih telah melaporkan, saya akan memeriksanya. Sementara itu, Anda dapat membuat kendaraan Anda apung positif jika Anda menyetel bendera neutrally_buoyant
ke nol dan mengatur volume sebagai gantinya, seperti pada model rexrov
https://github.com/uuvsimulator/uuv_simulator/ blob/master/uuv_descriptions/models/rexrov/urdf/rexrov.gazebo.xacro#L32.
Volume tersebut kemudian digunakan untuk menghitung vektor gaya apung.
Halo,
Saya mencoba mengatur volume menjadi cukup besar. Tidak sebesar rexrov
, dan masih tenggelam. Saya akan mencobanya dan kembali kepada Anda, tetapi saya mencoba untuk menaikkan volume saya dan menurunkan massa saya untuk memaksanya mengapung. Saya akan kembali kepada Anda dengan hasil dalam satu detik.
Jadi saya mengatur volume saya ke 3.1093918 m3
dan massa saya ke 0.123497
, dan kendaraan saya masih tenggelam. Saya mungkin mencoba mengaturnya persis seperti yang Anda setel rexrov
untuk volumenya, dan bahkan menyetel tag <box>
ke apa yang dimiliki rexrov
serta model hidrodinamiknya . Jadi saya tidak tahu di mana harus memeriksa masalah.
Apakah Anda menetapkan <neutrally_buoyant>0</neutrally_buoyant>
?
@musamarcusso saya mencoba mengatur <neutrally_buoyant>
ke 0
dan 1
. Tidak ada perubahan nyata.
Hai @atomoclast , apakah ini kendaraan yang ingin Anda modelkan?
http://www.videoray.com/images/specsheets/2016/2016_P4STANDARDBASE_FINAL.pdf
Saya akan mencoba mengganti parameter ini di sini untuk mereproduksi ini.
@musamarcusso Ya, ini adalah kendaraan yang saya coba modelkan.
Saya memiliki file mesh jika Anda membutuhkannya.
Saya baru saja mencoba meluncurkan kotak uji dengan apa yang saya pahami adalah plugin daya apung dan mencobanya dengan tag neutrally_buoyant
disetel ke 0
serta 1
, dan kotak masih tenggelam dua kali. Itu juga mencetak kesalahan [Wrn] [UnderwaterObjectPlugin.cc:207] Relative angular acceleration is invalid -nan
berulang-ulang.
Saya memiliki kedua file di bawah ini untuk Anda tinjau. Tidak yakin apa masalahnya. Saya menambahkan ekstensi .txt
sehingga saya dapat mengunggah di komentar.
Segera setelah Anda melihat kesalahan Relative angular acceleration is invalid
UnderwaterObjectPlugin kami tidak akan menerapkan gaya atau torsi apa pun lagi, karena ini adalah indikator yang jelas bahwa mesin fisika rusak.
Saya telah melihat definisi kotak Anda:
<inertia ixx="0" ixy="0" ixz="0" iyy="0" iyz="0" izz="0" />
Ini adalah pelakunya. Tidak ada benda tegar yang memiliki momen inersia atau massa nol. Karena cara Gazebo menghitung percepatan dari gaya/torsi, ini akan menghasilkan pembagian dengan nol.
Beri tahu kami jika ini menyelesaikan masalah Anda.
@sebastianscherer Itu masuk akal. Saya baru saja menggunakan ellipsoid dasar untuk memperkirakan inersia saya untuk kendaraan saya, dan itu mengambang sekarang.
Untuk mencari tahu plugin Thruster! Saya mendapatkan beberapa masalah di sana juga.
Di terminal gazebo saya melihat:
[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
Di terminal pendorong, saya melihat:
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
[]
Saya baru saja menjalankan rosrun tf view_frames
dan ini adalah hasilnya. Saya melihat pohon TF menunjukkan transformasi antara base_link dan pendorong...
frame.pdf
Frame antara world dan base_link kendaraan dihasilkan oleh node message_to_tf
, yang merupakan bagian dari paket hector_localization
. Contoh file peluncuran model RexROV adalah ini
Bagaimana Anda menyatakan ini dalam file peluncuran?
@musamarcusso Sesuai tutorial wiki, saya memanggil transformasi sebagai berikut:
<!-- 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>
Tampaknya berbeda dari garis yang Anda panggil di atas. Saya akan mencobanya sekarang.
Bisakah Anda mencoba mengganti blok yang Anda kirimkan kepada saya dengan ini
<include file="$(find uuv_descriptions)/models/common/launch/message_to_tf.launch">
<arg name="namespace" value="$(arg namespace)"/>
</include>
Jika perbaikan ini berhasil, saya akan segera memperbaiki tutorialnya.
Saya mencoba mengganti blok saya dengan blok Anda, tetapi tidak berhasil. Satu-satunya cara kerjanya adalah kedua blok dipanggil bersama.
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
Sekarang saya perlu melihat mengapa tidak bisa mendapatkan TF dari thruster 3.
Saya dapat meluncurkan versi joy_velocity.launch
, tetapi saya tidak dapat mengontrol kendaraan dengan pengontrol saya.
Saya telah mencoba untuk men-debug berbagai hal, dan saya membandingkan output dari visualisasi rqt_graph
dari node. Ini adalah dua jaringan yang saya lihat. Tidak yakin mengapa itu tidak bekerja dengan tepat.
Pembaruan lain yang baru saya sadari:
Wiki memanggil: <xacro:property name="prop_mesh_file" value="file://$(find uuv_descriptions_example)/models/rov_example/mesh/propeller.dae"/>
Seharusnya: <xacro:property name="prop_mesh_file" value="file://$(find uuv_descriptions)/models/rexrov/mesh/prop.dae"/>
Hai @atomoklas ,
tidak, itu benar dalam tutorial. Contoh di tutorial bukan contoh fungsional, makanya saya taruh README.md ini di folder mesh, jadi prop_mesh_file
ini harus diedit oleh orang yang membuat model kendaraan baru.
joy_velocity
didefinisikan per default untuk pemetaan pengontrol Xbox. Apa model pengontrol yang Anda miliki?
Apakah Anda memiliki file Anda di suatu tempat di Github? Saya bisa mencoba menjalankannya dan memberi Anda umpan balik.
@musamarcusso saya telah mengunggah repo di sini: https://github.com/atomoclast/videoray_description/tree/feature/DEEP-291
Halo @musamarcusso , apakah Anda memiliki kesempatan untuk melihat repo ini?
Ya, saya mengkloningnya. Saya akan memberikan umpan balik hari ini.