Hai, Saya sangat menyadari bahwa Simulator UUV mampu mensimulasikan banyak robot (salah satu poin kuatnya). Namun, saya tidak bisa mendapatkan pohon TF dari sistem multi robot untuk tetap terhubung dengan bingkai TF induk tunggal yang sama world
.
Saat menjalankan roslaunch uuv_gazebo_worlds ocean_waves.launch
, hanya world
dan world_ned
yang diterbitkan.
Selanjutnya, jika saya mengunggah auv4
URDF kustom saya, saya mendapatkan pohon TF yang terhubung dari world
ke auv4/base_link
.
Sejauh ini semua baik. Demikian pula, jika saya me-restart simulator dan menjalankan roslaunch uuv_gazebo_worlds ocean_waves.launch
lagi, tetapi kali ini mengupload kendaraan auv3
saya, saya mendapatkan pohon TF yang terhubung dari world
ke auv3/base_link
.
Sejauh ini semua baik. Namun, jika saya mencoba menjalankan roslaunch uuv_gazebo_worlds ocean_waves.launch
dan kemudian mengunggah kedua urdf secara bersamaan melalui file upload.launch yang terpisah (templat mengikuti upload_rexrov.launch), saya mendapatkan pohon TF yang terputus, dengan kendaraan kedua yang diluncurkan biasanya terputus dari pohon TF. Dalam hal ini, auv3 diunggah terlebih dahulu diikuti oleh auv4, hanya menghasilkan world
terhubung ke auv3/base_link
tetapi terputus dari auv4/base_link
.
Hal serupa terjadi jika saya membalik urutan unggahan (auv4 terlebih dahulu kemudian auv3), kemudian world
terhubung ke auv4/base_link
tetapi tidak auv3/base_link
.
Saya mungkin melakukan sesuatu yang salah karena # 396 mencakup masalah yang sama tetapi entah bagaimana Poster Asli (OP) berhasil menyelesaikan masalah sendiri. Bisakah seseorang memandu tentang bagaimana masalah ini dapat diselesaikan untuk memungkinkan pohon TF yang terhubung sepenuhnya? Saat ini saya memahami bahwa file message_to_tf.launch
membantu mengonversi nav_msgs::Odometry menjadi ROS TF transforms. Bantuan apa pun dihargai. Terima kasih!
Hai @HashirZahir Saya belum punya waktu, tetapi saya akan mencoba mereproduksi kesalahan Anda dan mencari solusi
@HashirZahir Saya juga tertarik dengan masalah yang sama. Saya mencoba meluncurkan 3 kendaraan Eca_a9 secara bersamaan dengan cara yang sama setelah menjalankan _roslaunch uuv_gazebo_worlds ocean_waves.launch_. Saya bisa mendapatkan paling banyak dua kendaraan Eca_a9 bekerja sekaligus -- Apakah Anda memiliki kemajuan lebih lanjut tentang masalah ini?
Bisakah Anda membagikan langkah-langkah untuk mereplikasi agar 2 kendaraan Eca_a9 berjalan bersama (dan pohon TF masing-masing?) Dalam kasus saya, saya dapat menelurkan kedua kendaraan dalam simulasi tetapi pohon TF rusak / terputus, sehingga lebih sulit untuk dilakukan perhitungan/algoritma multi-auv
Ada yang beruntung @pxalcantara ?
Maaf @HashirZahir , tapi belum, saya sangat sibuk tetapi saya akan mencoba memeriksanya minggu ini.
Bisakah Anda membagikan langkah-langkah untuk mereplikasi agar 2 kendaraan Eca_a9 berjalan bersama (dan pohon TF masing-masing?) Dalam kasus saya, saya dapat menelurkan kedua kendaraan dalam simulasi tetapi pohon TF rusak / terputus, sehingga lebih sulit untuk dilakukan perhitungan/algoritma multi-auv
Maaf untuk respon yang lambat. Saya memiliki file peluncuran untuk meluncurkan 3 (atau lebih) Eca UUV di bawah ruang nama yang berbeda menggunakan upload.launch. Saya menggunakan file peluncuran lain untuk meluncurkan pengontrol pelacakan geometrik untuk masing-masing dari 3 kendaraan. Tanpa mengetahui alasannya, ini umumnya berfungsi untuk 2/3 UUV, dengan yang ke-3 tidak responsif dan rusak (seperti yang telah Anda jelaskan) ... Jadi saya dapat mengontrol, mengirim titik arah, menggemakan semua topik untuk 2 UUV. Perhatikan bahwa ini tidak selalu konsisten dan terkadang hanya satu UUV yang muncul dengan benar. Sayangnya saya tidak memiliki wawasan lagi tentang masalah ini.
Adakah yang berhasil mendapatkan wawasan tentang masalah ini? Kemampuan multi-Robot dari simulator ini luar biasa tetapi saya merasa beberapa skrip pohon TF sederhana menyebabkan pohon TF rusak, meskipun saya belum dapat menemukan sumber masalahnya.
@HashirZahir
Saya mengalami masalah yang sama dengan @Joel-Lindsay dengan tautan rusak dengan eca_a9s. Saya memperbaikinya dengan mengedit file /eca_a9/eca_a9_description/robots/eca_a9_default.urdf.xacro.
inersia_reference_frame="$(arg inersia_reference_frame)"
diubah menjadi:
inersia_reference_frame="dunia"
Ini memperbaiki pohon tf saya yang juga terputus.
Hai, @ErinWetter ,
Ini adalah bagian atas pohon tf dengan 4 eca_a9 yang berfungsi:
Turun ke hanya dua kendaraan kita dapat melihat tautan pangkalan:
Saya belum tahu mengapa tautan bingkai antara penyiar: ground_truth_to_uuv# dan /uu#/robot_state_publisher tidak terhubung sebelum melakukan hardcoding penerbit status robot agar cocok, tetapi saya tidak terbiasa dengan proses pembuatan model robot xacro/urdf.
Saya telah menjalankan beberapa tes pada satu kendaraan yang membandingkan urutan peluncuran node penyiaran pada Eca dan RexRov (yang tidak memiliki masalah pohon tf yang rusak dan saya telah menggunakan untuk simulasi multi-kendaraan). Untuk satu Eca_a9, pohon tf akan terputus di /base_link jika saya memulai /ground_truth_to_uuv# node di terminal daripada di dalam file "upload_eca_a9.launch". Saat melakukan hal yang sama dengan RexRov /base_link terhubung dengan semua kondisi peluncuran.