Uuv_simulator: Terapkan simulasi sensor sonar yang lebih realistis

Dibuat pada 2 Mei 2017  ·  33Komentar  ·  Sumber: uuvsimulator/uuv_simulator

Saat ini kami menyalahgunakan sensor laser Gazebo dan menyebutnya sonar.

Simulasi sensor sonar yang lebih realistis ( sonar pemindaian samping dan multibeam ) akan menambah banyak nilai pada uuv_simulator dan membuatnya lebih menarik untuk komunitas baru yang lebih besar.

enhancement help wanted

Komentar yang paling membantu

Hai, kami juga sedang mengerjakan simulasi sensor di uuv_simulator . Saat ini, kami memiliki sesuatu yang mirip dengan pemindaian samping, yang memberi kami gambar air terjun. Lebih penting lagi, kami sedang bekerja menuju sensor FLS yang bagus di sini: https://github.com/smarc-project/smarc_simulations/blob/master/smarc_gazebo_plugins/smarc_gazebo_ros_plugins/src/gazebo_ros_image_sonar.cpp . Itu dibangun di atas sim yang dijelaskan dalam makalah "Simulator sonar berbasis GPU baru untuk aplikasi waktu nyata". Gazebo membuatnya agak sulit, jadi itu bergantung pada penyalahgunaan kamera kedalaman yang disimulasikan, tetapi masih cukup efisien.

Jika masih ada minat dalam hal ini, saya akan memberikan beberapa contoh tentang bagaimana sonar terlihat dan mungkin bekerja untuk menyelesaikan semuanya dan membuat PR untuk repo ini.

Semua 33 komentar

Hai, kami juga sedang mengerjakan simulasi sensor di uuv_simulator . Saat ini, kami memiliki sesuatu yang mirip dengan pemindaian samping, yang memberi kami gambar air terjun. Lebih penting lagi, kami sedang bekerja menuju sensor FLS yang bagus di sini: https://github.com/smarc-project/smarc_simulations/blob/master/smarc_gazebo_plugins/smarc_gazebo_ros_plugins/src/gazebo_ros_image_sonar.cpp . Itu dibangun di atas sim yang dijelaskan dalam makalah "Simulator sonar berbasis GPU baru untuk aplikasi waktu nyata". Gazebo membuatnya agak sulit, jadi itu bergantung pada penyalahgunaan kamera kedalaman yang disimulasikan, tetapi masih cukup efisien.

Jika masih ada minat dalam hal ini, saya akan memberikan beberapa contoh tentang bagaimana sonar terlihat dan mungkin bekerja untuk menyelesaikan semuanya dan membuat PR untuk repo ini.

@nilsbore beberapa contoh akan sangat bagus. Saya juga sangat tertarik dengan ini.

Hai @nilsbore , semua kontribusi sangat diterima :) Jika Anda ingin membuat permintaan tarik, saya akan dengan senang hati meninjaunya. Solusi lain adalah menambahkan informasi tentang dokumentasi simulator UUV bagaimana mengintegrasikan plugin Anda juga, sehingga lebih banyak orang dapat menggunakannya :)

Hai @musamarcusso , dan terima kasih atas kerja keras Anda di simulator ini! Saya akan melihat berapa banyak yang diperlukan untuk membuat PR bersih ke repo ini, dan ikuti salah satu jalur yang diusulkan, terima kasih!

Hai @nilsbore ,

Saya menantikan kemajuan Anda dalam mengadaptasi sonar ke simulator UUV. Tolong beritahu kami! =D

Apakah ada kemajuan yang dibuat di FLS? Saya juga ingin memanfaatkan.

Halo @nilsbore! Sudah lama thread ini dimulai, namun bolehkah saya tahu bagaimana perkembangan simulasi FLS sejauh ini? Saya berharap dapat memanfaatkan simulasi sonar yang sedang Anda kerjakan di Gazebo juga dan semoga Anda memiliki lebih banyak kemajuan setelah itu

* setelah pembaruan terakhir yang Anda miliki di sini.

Hai semua, maaf saya belum bisa membuat banyak kemajuan dalam topik ini. Simulasi sensor bersifat open source dan tersedia di sini: https://github.com/smarc-project/smarc_simulations/tree/master/smarc_gazebo_plugins/smarc_gazebo_ros_plugins . Ini disebut gazebo_ros_image_sonar . Meskipun kami menggunakan versi uuv_simulator yang agak ketinggalan zaman, plugin ini hanya bergantung pada gazebo dan seharusnya berfungsi di mana saja. Di uuv_simulator, Anda dapat memasukkannya dengan memasukkan urdf ini: https://github.com/smarc-project/smarc_simulations/blob/master/smarc_sensor_plugins/smarc_sensor_plugins_ros/urdf/sonar_snippets.xacro , dan menambahkan sesuatu seperti cuplikan ini di urdf kendaraan Anda :

<xacro:forward_looking_sonar
      namespace="${namespace}"
      suffix="down"
      parent_link="${namespace}/base_link"
      topic="forward_sonar"
      mass="0.015"
      update_rate="10"
      samples="100"
      fov="1.54719755"
      width="260"
      height="120">
      <inertia ixx="0.00001" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.00001" />
      <origin xyz="0.83 0 -0.22" rpy="0 ${0.2*pi} 0" />
      <visual>
      </visual>
    </xacro:forward_looking_sonar>

Anda kemudian akan dapat melihat sesuatu seperti gambar ini pada topik ros: video .

Ketika waktu memungkinkan (setelah tenggat waktu), saya akan mencoba memecah sensor ini ke dalam paketnya sendiri yang dapat digunakan oleh siapa saja yang ingin menggunakan sim FLS dan tidak ada yang lain.

Terbaik,
nihil

Tercatat @nilsbore ! Terima kasih banyak atas pembaruannya. Saya akan mencoba dan melakukan perbaikan untuk sensor ini juga sehingga kinerjanya dapat ditingkatkan.

Pembaruan dan kemajuan yang sangat bagus sejauh ini! Menantikan pembaruan lebih lanjut tentang proyek ini dan pekerjaan yang sangat bagus @nilsbore!

Saya telah memilih dari @NickSadjoli dan @nilsbore untuk mencoba dan mendapatkan FF sesuatu dari master. Sepertinya Anda berdua telah menyimpang dengan cara yang berbeda.

Akan menyenangkan jika kalian melihat dan berkomentar/komit sehingga ini dapat digunakan oleh orang lain.

Maaf atas keterlambatan balasan @willcbaker ! Saya menyimpang dari @nilsbore karena saya mencoba mengimplementasikan kodenya ke dalam proyek saya sendiri yang tampaknya memiliki parameter berbeda di lingkungan. Namun, kodenya bekerja dengan sempurna di lingkungan saya, meskipun dengan beberapa perbaikan yang dapat diterapkan untuk membuatnya lebih mirip dengan implementasi yang disebutkan dalam makalah "Simulator sonar berbasis GPU baru untuk aplikasi waktu nyata".

FLS upgraded-turbidwater

Sayangnya saya belum membuat banyak kemajuan dalam membuat perbaikan pada kode karena masalah lain, tetapi saya akan memastikan untuk memposting pembaruan ketika saya punya waktu untuk melakukannya.

Dalam hal komit yang Anda buat, saya dapat dengan aman mengatakan bahwa tambahan yang Anda buat persis sama dengan yang saya lakukan untuk cabang saya. Seharusnya bekerja sempurna dengan Gazebo sekarang dan Anda bisa mendapatkan gambar sonar dari topik "rexrov/depth/image_sonar".

Saya harus mencatat bahwa saat ini namanya terkait erat dengan topik "/ kedalaman" karena implementasi sensor memerlukan penggunaan kamera kedalaman untuk saat ini. Kita harus melihat apakah ini dapat ditingkatkan untuk menghindari kemungkinan kebingungan dan semoga pembaruan lebih lanjut dapat segera menyusul.

Hai @NickSadjoli , bisakah Anda menautkan ke repositori tempat sonar ini diimplementasikan, jika ada?

@musamarcusso Mohon maaf karena tidak memberikan tautan sebelumnya. Saya memiliki cabang yang berfungsi yang memiliki contoh kerja sonar ini ke UUV Rexrov, tetapi harap perhatikan bahwa cabang ini berisi kode eksperimental lain yang tidak berfungsi yang saya coba sebelumnya untuk membuat ulang FLS yang disebutkan dalam makalah yang dirujuk. Cabang terhubung di bawah ini:

https://github.com/NickSadjoli/uuv_simulator/tree/realistic-sonar-sim-48

Hal-hal lain atau perubahan yang perlu diperhatikan yang ditambahkan atau digunakan di cabang ini:

  • Dunia pengujian yang disesuaikan bernama "test_turbid_water.world" yang sangat didasarkan pada "subsea_bop_panel.world" yang telah saya modifikasi untuk digunakan dalam proyek penelitian saya.
  • Model rexrov yang berfungsi yang berisi implementasi FLS dari Niels ada di direktori "uuv_descriptions/robots/rexrov_test.xacro", awalnya berdasarkan model "rexrov_sonar.xacro". Model mengomentari fls m450 atau p900 sebelumnya dan menggantinya dengan fls sonar xacro yang direkomendasikan oleh Niels di atas.
  • Tampilan "rexrov_fls.rviz" yang disesuaikan yang membuat Rviz langsung ditampilkan ke /rexrov/depth/image_raw_sonar dan topik default_camera depan.
  • File peluncuran khusus, "test_turbid_water.launch" digunakan untuk meluncurkan semua kombinasi perubahan di atas, yang secara langsung merujuk ke dunia khusus dan Rviz

Jika organisasi file di cabang saat ini terlalu membingungkan, harap berikan umpan balik kepada saya di utas ini, sehingga saya dapat membuat versi yang lebih bersih dari cabang ini untuk Anda tarik.

Terima kasih dan nantikan tanggapan/pendapat Anda

  • Nick Sadjoli

EDIT: Lupa melampirkan tautan repositori

Hai, @NickSadjoli
Saya mencoba uuv_simulator-realistic-sonar-sim-48 Anda. Kesalahan pertama yang saya dapatkan adalah "missing uuv_laser_to_sonar/launch" selama instalasi catkin_make. Saya membuat folder peluncuran kosong sebagai solusi. Kemudian saya menjalankan "roslaunch uuv_gazebo_worlds test_turbid_water.launch" dan mendapatkan beberapa kesalahan, termasuk

  1. [Err] [gazebo_ros_image_sonar. cpp:160 ] Kami tidak memiliki klip.
  2. gzserver: kesalahan pencarian simbol: /home/cchien/catkin_ws3/devel/lib/libimage_sonar_ros_plugin.so: simbol tidak terdefinisi: _ZN2cv3Mat6createEiPKii.
    serta beberapa peringatan termasuk "Konversi tipe sensor [kedalaman] tidak didukung".
    Akibatnya, tidak ada gambar sonar yang ditampilkan di rviz. Apakah saya melewatkan sesuatu? Ada komentar atau saran? Saya menguji kode Anda di ubuntu 16.04, ROS kinetik, dan opencv 3.4. Terima kasih. C. Chien

Hai, @NickSadjoli
Setelah melacak kesalahan, ternyata lib opencv tidak ditautkan dengan benar. Sebagai solusi, saya menambahkan lib opencv yang diperlukan secara eksplisit ke image_sonar_ros_plugin. Tolong beri tahu saya jika ada cara yang lebih baik untuk memperbaiki kesalahan asli.

Saya juga memperhatikan my_frame (dan peta) tidak ditentukan atau tidak mendapatkan tf dari dunia. Adakah ide bagaimana cara memperbaiki masalah? Terima kasih atas kontribusi Anda. C. Chien

Halo @chyphen777!

Mohon maaf bahwa ini adalah jawaban yang sangat terlambat untuk pertanyaan Anda.

Kesalahan pada file peluncuran yang hilang kemungkinan disebabkan karena saya memasukkan beberapa direktori yang tidak digunakan dalam simulasi FLS, menyebabkan CMake-s berantakan. Saya telah memperbarui cabang saya untuk membersihkan ini, yang seharusnya memperbaiki kesalahan seperti itu sekarang. Namun sayangnya sepertinya saya tidak sengaja menghapus beberapa file yang diperlukan di cabang ini yang menyebabkan GUI Gazebo diluncurkan dengan kesalahan dan kesalahan segmentasi. Namun perhatikan bahwa topik gazebo yang sebenarnya masih diluncurkan dan RViz terkadang masih dapat diluncurkan dengan benar, jadi belum sepenuhnya rusak.

Saya akan mencoba memperbaiki masalah ini dengan cabang, dan mengembalikannya ke komit sebelumnya jika masalah masih berlanjut. Perhatikan bahwa ini mungkin memakan waktu cukup lama karena saya juga mengurus hal-hal lain di pekerjaan saya, jadi saya mungkin tidak punya banyak waktu.

Adapun kesalahan "Kami tidak memiliki klip" dan "Konversi tipe sensor [kedalaman] tidak didukung", saya tidak yakin apakah itu kemungkinan penyebab gambar sonar tidak muncul di RViz, karena saya masih bisa memiliki gambar yang ditampilkan di RViz saya bahkan dengan kesalahan yang muncul. Saya pikir itu kemungkinan besar dikaitkan dengan kesalahan pencarian simbol yang sayangnya belum saya temui di repo lokal saya.

Pada catatan terkait, saya tidak yakin apakah lib opencv perlu ditautkan secara eksplisit ke CMakeLists juga karena saya dapat meluncurkan dunia dengan baik tanpa memerlukannya. Saya akan mencoba untuk melihat ke dalam ini juga namun. Terima kasih telah memberikan kesalahan band-aid juga untuk pengguna lain yang mungkin mengalami masalah serupa.

Hai @chyphen777 ,

Saya baru saja membuat beberapa modifikasi kecil pada cabang saat ini dan tampaknya berfungsi dengan baik di mesin saya sekarang, jadi Anda seharusnya dapat beralih ke cabang ini dan semuanya dikompilasi dengan catkin_make install.

Namun, perlu dicatat bahwa cabang terkadang tidak stabil dan Anda mungkin mengalami jenis kesalahan berikut:

current_branch_not_stable

Jika Anda menemukan kesalahan seperti itu, Anda harus dapat menutup dan meluncurkan kembali file peluncuran untuk mengaktifkan dan menjalankan Gazebo dan RViz (setidaknya itulah yang dapat saya lakukan). Ketidakstabilan ini tentu sangat mengganggu dan saya akan coba mencari tahu lebih dalam apa penyebabnya agar cabang bisa lebih stabil.

Juga, sayangnya saya juga belum melihat lebih dekat sehubungan dengan my_frame dan peta untuk tidak didefinisikan atau tidak diperbarui dari tf. Saya menduga itu mungkin karena sisa dari upaya saya sebelumnya menggunakan solusi FLS lain yang belum berhasil. Sekali lagi, saya akan mencoba melihat ini setelah saya memiliki lebih banyak waktu dan kembali kepada Anda setelah saya memiliki lebih banyak pembaruan.

Semangat dan terima kasih atas tanggapan Anda C. Chien! -Nicholas S

Hai, @NickSadjoli :

Terima kasih atas balasan, perbaikan, dan informasi yang bermanfaat. Saya dapat menjalankan simulator sonar Anda. Maaf karena terlambat membalas. Saya dilacak ke proyek lain. Harap beri tahu kami tentang pembaruan apa pun.
Salam, C.Chien.

@NickSadjoli
Pertama, kerja bagus dengan implementasi FLS untuk simulator UUV ini, ini adalah aset besar bagi komunitas! Saya punya beberapa pertanyaan tentang itu karena saya berencana untuk membuat beberapa perubahan kecil agar FLS cocok dengan perangkat keras yang biasanya saya gunakan di lapangan.

  1. Bagaimana saya bisa menambahkan sonar lain, misalnya, satu melihat ke depan dan satu melihat ke belakang? Sepertinya ada banyak ketergantungan pada kamera sehubungan dengan pembuatan gambar FLS, mohon bimbingannya.

  2. Ini didasarkan pada sonar apa dan bukaan vertikalnya apa? Jika saya ingin bagaimana cara mengubah aperture vertikal sonar?

  3. Berapa kisaran maksimal sensor dan bagaimana saya mengubahnya jika saya mau?

  4. Dalam file rexrov_test.xacro, di blok untuk memulai FLS apa yang dimaksud dengan "sampel = 100"?

John

@NickSadjoli
Mencari untuk mengutip ini dengan benar dalam beberapa pekerjaan yang akan datang. Saya akan menggunakan kutipan simulator UUV tetapi apakah ada karya lain yang perlu dikutip? Mungkin "Simulator sonar berbasis GPU baru untuk aplikasi waktu nyata?"

@ jake3991 Setidaknya implementasi asli saya didasarkan pada makalah yang Anda maksud. Saya tidak tahu apakah @NickSadjoli telah menambahkan konsep dari karya lain.

Kerja bagus!

@nilsbore Saya mencoba memahami implementasi Anda dan pembentukan gambar sonar pencitraan. Bisakah Anda mengarahkan saya ke persamaan yang digunakan untuk mengimplementasikan ConstructSonarImage dan ConstructScanImage ? Misalnya, mengapa SNR dihitung sebagai cv::Mat SNR = SL - 2.0*TL - (NL-DI) + TS; ?

cv::Mat GazeboRosImageSonar::ConstructSonarImage(cv::Mat& depth, cv::Mat& normals)
{
  std::vector<cv::Mat> images(3);
  cv::split(normals, images);

  float intensity = 100.; // target strength
  float SL = 200.; // source level
  float NL = 30; // noise level
  float DI = 0.0; // directivity index

  if (dist_matrix_.empty()) {
    // Compute dist_matrix_ once
    // ...
  }

  cv::Mat TS = intensity*images[2]; // target strength, probably dir should be DI

  cv::Mat TL = 5*depth; // transmission loss
  cv::multiply(TL, dist_matrix_, TL);

  cv::Mat SNR = SL - 2.0*TL - (NL-DI) + TS;
  SNR.setTo(0., SNR < 0.);

  // ...

@witignite Kode ini berasal dari beberapa waktu yang lalu dan saya tidak ingat persis di mana saya mendapatkan persamaan itu. Sejujurnya, fokus saat menerapkan ini lebih pada menciptakan gambar yang tampak realistis daripada model sonar yang sepenuhnya benar. Awal yang baik mungkin dengan melihat makalah yang dirujuk @jake3991 .

Bagi mereka yang tertarik dengan Multibeam Sonar di Gazebo, saya telah membuat plugin Sonar Multibeam di proyek Dave yang juga menyertakan uuv_simulator. Ini menggunakan perpustakaan Nvidia Cuda dan menghitung data intensitas/rentang hingga kecepatan refresh 10 Hz dengan frekuensi 900 kHz, rentang 10 m. Untuk detail lebih lanjut, https://github.com/Field-Robotics-Lab/dave/wiki/Multibeam-Forward-Looking-Sonar
image

Hai, Saya sangat menyesal baru membalas utas ini setelah waktu yang sangat lama, karena saya sedang menangani bagian/komponen besar lainnya untuk proyek saya.

Ini secara efektif juga berarti bahwa saya tidak lagi sepenuhnya mengerjakan pengembangan simulator karena saya telah menyerahkan beban kerja ini kepada rekan saya yang telah menanganinya sejak tahun lalu. Sayangnya saya lupa menyebutkan utas ini kepadanya jika ada pertanyaan yang diposting mengenai perkembangan apa pun.

Juga untuk klarifikasi: selama saya menangani model sonar, saya tidak melakukan kode tingkat yang lebih rendah (yaitu kode sumber C) yang ditulis oleh @nilsbore untuk sonar. Namun, rekan saya mungkin telah melakukan beberapa penyesuaian kecil untuk mengubah beberapa perilakunya agar lebih realistis mensimulasikan perilaku FLS di lingkungan bawah air yang keruh.

@jake3991 Untuk menjawab pertanyaan Anda:

  1. Dari apa yang saya pahami, rekan saya sejauh ini hanya berhasil 'memutar' sonar dengan mengubah beberapa parameter URDFnya. Saya akan mencoba bertanya kepadanya bagaimana hal itu dilakukan secara lebih rinci jika Anda masih tertarik.
  2. Awalnya sonar masih berbasis sonar Blueview yang digunakan @nilsbore . Namun, baru-baru ini rekan saya telah menemukan cara mengubah aperture untuk mengikuti spesifikasi sonar yang berbeda, khususnya sonar Blueview M750D . Saya yakin dia berhasil melakukannya dengan menambahkan beberapa parameter ke dalam panggilan xacro, tetapi sekali lagi saya perlu menanyakan detail lebih lanjut untuk implementasi itu.
  3. Jawaban yang sama dengan 2
  4. Sayangnya, tidak berhasil bermain-main dengan perangkat lunak untuk mendapatkan jawaban pasti tentang ini. Perlu bertanya pada rekan yang satu ini.

Harap perhatikan juga bahwa rekan saya berencana untuk menerbitkan makalah tentang simulator berbasis uuv_simulator yang sedang dia kerjakan. Jadi rincian lebih lanjut tentang implementasi saat ini untuk proyek kami perlu diarahkan kepadanya. Saya akan mencoba menghubungkannya ke utas ini jika perlu untuk menjawab pertanyaan lebih lanjut tentang implementasi proyek kami.

Sehubungan dengan model sonar yang sebenarnya "akurat", tampaknya pekerjaan yang ditautkan oleh @woensug-choi mungkin merupakan model yang lebih "akurat" karena menggunakan implementasi ray-traced yang lebih langsung. Meskipun saya sendiri tidak sepenuhnya yakin seberapa baik ini untuk pengembangan berbasis simulasi secara keseluruhan.

Apakah rekan saya akan memeriksa implementasi dan melihat seberapa baik itu dapat diintegrasikan ke simulator proyek saya.

Sekali lagi permintaan maaf yang sebesar-besarnya kepada semua orang yang terlambat membalas utas ini.

@jake3991 Juga untuk klarifikasi mengenai kutipan simulator proyek kami: Karena kami belum mendapatkan publikasi makalah yang benar-benar berhasil pada simulator, saya sarankan Anda tetap menggunakan makalah yang Anda tautkan serta

Setelah publikasi kami pada publikasi diterima atau dilakukan, maka kutipan untuk makalah kami mungkin juga dapat digunakan.

Perhatikan bahwa saya menggunakan https://github.com/uuvsimulator/uuv_simulator dari @musamarcusso yang telah mengintegrasikan modul sonar @nilsbore .
Untuk memperjelas @NickSadjoli pada pertanyaan @jake3991 :

  1. Kami menambahkan URDF untuk sonar itu sendiri. jadi dengan menambahkan URDF lain dan memetakan kembali nama parameter, Anda dapat memiliki 2 sonar di simulator Anda.

2.Seperti yang dikatakan @NickSadjoli , kami merujuk dari sonar Blueprint.
Untuk men-tweet VFOV sonar:
Dalam file xacro URDF sonar, Anda diminta untuk menentukan HFOV, lebar dan tinggi gambar. Gazebo kemudian menghitung Focal length berdasarkan lebar gambar dan HFOV. Menggunakan panjang fokus yang sama, mereka menghitung mundur VFOV menggunakan ketinggian gambar. Jadi untuk menentukan VFOV yang Anda inginkan, Anda perlu menghitung tinggi gambar.

Panjang fokus = (Lebar/2) / tan( deg2rad(HFOV)/2) atau Panjang fokus = (Tinggi/2) / tan( deg2rad(VFOV)/2)

3.Anda diminta untuk men-tweet kode C++ dari sonar. Dalam kode C++ sonar oleh @nilsbore , saya menambahkan pelanggan ke nilai "Range" alih-alih memiliki Range konstan seperti karya asli

  1. Dalam xacro "FLS", param "sampel" tidak digunakan. Di xacro untuk "Multibeam", ia menggunakan titik laser gazebo untuk menyambungkan multi beam. Oleh karena itu lihat ini: http://gazebosim.org/tutorials?tut=ros_gzplugins di bawah "laser GPU."

Semoga ini membantu.

@nilsbore dan @NickSadjoli ,

  1. Di sonar_snippets.xacro, apa artinya ${width} dan ${height} ? apakah itu berhubungan dengan lebar dan tinggi sonar gambar yang dihasilkan? Jika ya, saya mencoba mengatur nilai ${width} dan ${height} lalu saya mencetak nilai height dan width dari topik gambar sonar. Tetapi nilai-nilai itu berbeda. Bisakah Anda menjelaskan kepada saya, mengapa itu terjadi?
  2. Apakah mungkin untuk mendapatkan jangkauan sonar yang lebih luas, sehingga saya dapat melihat hambatan yang lebih jauh di gambar sonar?

@Jenanaputra Silakan lihat komentar saya di atas.....

  1. Bagaimana Anda menetapkan topik? Apakah Anda mengubah parameter{$topik}dalam file xacro? Atau apakah Anda memodifikasi kode C++ ke topik tertentu yang ingin Anda miliki? (bagi saya memodifikasi kode terdengar lebih menggugah selera)
  2. Sonar sebenarnya adalah modifikasi dari kamera kedalaman gazebo, dalam plugin kamera gazebo ${width} dan ${height} mempengaruhi VFOV dan HFOV sensor (persamaan disebutkan pada posting saya sebelumnya). Biasanya untuk kamera lebarnya 1280 dan tinggi 720. Untuk sonar, saya mengatur lebarnya menjadi 1280 dan menghitung tingginya menggunakan rumus. Dengan cara ini saya mendapatkan VFOV dari sensor yang saya inginkan.
  3. Seperti yang disebutkan sebelumnya pada posting saya sebelumnya, modifikasi rentang mengharuskan Anda untuk memodifikasi kode C++. Rentang saat ini adalah nilai tetap kode keras.
    Terakhir jangan lupa untuk catkin clean dan catkin make setelah memodifikasi kode C++ (asumsi Anda menggunakan paket ROS)

@loguna123 Terima kasih atas replay Anda. Apakah Anda tahu cara mendapatkan / mengetahui nilai kedalaman yang digunakan dalam plugin fls ini?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

tve picture tve  ·  17Komentar

Timple picture Timple  ·  7Komentar

dbcesar picture dbcesar  ·  5Komentar

atomoclast picture atomoclast  ·  23Komentar

Timple picture Timple  ·  24Komentar