Uuv_simulator: より珟実的な゜ナヌセンサヌシミュレヌションを実装する

䜜成日 2017幎05月02日  Â·  33コメント  Â·  ゜ヌス: uuvsimulator/uuv_simulator

珟圚、Gazeboのレヌザヌセンサヌを悪甚しお゜ナヌず呌んでいたす。

゜ナヌセンサヌサむドスキャン゜ナヌずマルチビヌム゜ナヌのより珟実的なシミュレヌションは、uuv_simulatorに倚くの䟡倀を远加し、より倧きな新しいコミュニティにずっおより興味深いものにしたす。

enhancement help wanted

最も参考になるコメント

ねえ、私たちはuuv_simulatorでもセンサヌシミュレヌションに取り組んでいたす。 珟圚、滝の画像を提䟛するサむドスキャンに䌌たものがありたす。 さらに重芁なこずに、ここでは優れたFLSセンサヌに向けお取り組んでいたす https 

それでもこれに関心がある堎合は、゜ナヌがどのように芋えるかに぀いおいく぀かの䟋を瀺し、おそらくすべおを完了しおこのリポゞトリぞのPRを䜜成するために機胜したす。

党おのコメント33件

ねえ、私たちはuuv_simulatorでもセンサヌシミュレヌションに取り組んでいたす。 珟圚、滝の画像を提䟛するサむドスキャンに䌌たものがありたす。 さらに重芁なこずに、ここでは優れたFLSセンサヌに向けお取り組んでいたす https 

それでもこれに関心がある堎合は、゜ナヌがどのように芋えるかに぀いおいく぀かの䟋を瀺し、おそらくすべおを完了しおこのリポゞトリぞのPRを䜜成するために機胜したす。

@nilsboreいく぀かの䟋が玠晎らしいでしょう。 私もこれに本圓に興味がありたす。

こんにちは@nilsbore 、すべおの貢献は倧歓迎です:)プルリク゚ストをしたい堎合は、私はそれをレビュヌさせおいただきたす。 別の解決策は、プラグむンを統合する方法もUUVシミュレヌタヌのドキュメントに情報を远加しお、より倚くの人がそれを䜿甚できるようにするこずです:)

こんにちは@musamarcusso 、そしおこのシミュレヌタヌでの玠晎らしい仕事に感謝したす このレポにクリヌンなPRを䜜成するのにどれくらいかかるかを確認し、提案されたパスの1぀をたどりたす。ありがずうございたす。

こんにちは@nilsbore 、

゜ナヌをUUVシミュレヌタヌに適応させるこずであなたの進歩を芋るのを楜しみにしおいたす。 お知らせください = D

FLSに進展はありたしたか 私も掻甚したいず思っおいたす。

こんにちは@nilsbore このスレッドが開始されおからしばらく経ちたすが、これたでのFLSシミュレヌションの進捗状況を教えおください。 あなたがガれボで取り組んでいる゜ナヌシミュレヌションを利甚するこずを楜しみにしおいたす、そしおうたくいけば、あなたはその埌さらに進歩を遂げるこずができたす

*ここで最埌に曎新した埌。

みなさん、こんにちは。このトピックに぀いおあたり進展が芋られず、申し蚳ありたせん。 センサヌシミュレヌションはオヌプン゜ヌスであり、 https  たす。 これはgazebo_ros_image_sonarず呌ばれたす。 やや叀いバヌゞョンのuuv_simulatorを䜿甚しおいたすが、このプラグむンはgazeboにのみ䟝存しおいるため、どこでも機胜するはずです。 uuv_simulatorでは、次のurdfを含めるこずで含めるこずができたす https 

<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>

これで、rosトピックでこの画像のようなものを芋るこずができるはずです video 。

時間が蚱せば締め切り埌、このセンサヌを独自のパッケヌゞに分割しお、FLSシムだけを䜿甚したい人なら誰でも䜿甚できるようにしたす。

䞀番、
ニルス

@nilsboreに泚目 アップデヌトありがずうございたす。 性胜を向䞊させるために、このセンサヌも改良しおいきたす。

これたでのずころ、本圓に玠晎らしいアップデヌトず進歩です このプロゞェクトのさらなる曎新ず本圓に玠晎らしい仕事@nilsboreを楜しみにしおいたす

@NickSadjoliず@nilsboreからチェリヌを遞んで、マスタヌから䜕かしらのFFを取埗しようずしたした。 あなたは䞡方ずも異なる方法で分岐したようです。

他の人が䜿甚できるように、皆さんに芋おもらい、コメント/コミットしおもらうずよいでしょう。

返信が遅くなっおすみたせん@willcbaker  私は@nilsboreから分岐しおいたす。

FLS upgraded-turbidwater

残念ながら、他の問題のためにコヌドの改善はあたり進んでいたせんが、時間があるずきに必ず曎新を投皿したす。

あなたが行ったコミットに関しおは、あなたが行った远加は私のブランチに察しお行ったものずたったく同じであるず蚀っおも過蚀ではありたせん。 これでGazeboず完党に連携するはずであり、「rexrov / depth / image_sonar」トピックから゜ナヌ画像を取埗できたす。

センサヌの実装では今のずころ深床カメラを䜿甚する必芁があるため、珟圚、名前は「/ depth」トピックず密接に関連しおいるこずに泚意しおください。 混乱を避けるためにこれを改善できるかどうかを確認する必芁がありたす。近いうちにさらに曎新が行われるこずを願っおいたす。

ねえ@NickSadjoli 、もしあれば、この゜ナヌが実装されおいるリポゞトリにリンクできたすか

@musamarcusso以前にリンクを提䟛しなかったこずをお詫びしたす。 この゜ナヌのRexrovUUVぞの動䜜䟋がある動䜜䞭のブランチがありたすが、このブランチには、参照された論文で蚀及されおいるFLSを再䜜成するために以前に詊した他の動䜜しない実隓コヌドが含たれおいるこずに泚意しおください。 ブランチは以䞋にリンクされおいたす

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

このブランチで远加たたは䜿甚されたこずに泚意するその他の事項たたは倉曎

  • 研究プロゞェクトで䜿甚するために倉曎した「subsea_bop_panel.world」に倧きく基づいた「test_turbid_water.world」ずいう名前のカスタマむズされたテストワヌルド。
  • NielsのFLS実装を含む動䜜䞭のrexrovモデルは、ディレクトリ「uuv_descriptions / robots / rexrov_test.xacro」にあり、最初は「rexrov_sonar.xacro」モデルに基づいおいたす。 モデルは以前のm450たたはp900flsをコメントアりトし、䞊蚘のNielsが掚奚したfls゜ナヌxacroに眮き換えたす。
  • カスタマむズされた「rexrov_fls.rviz」ビュヌにより、Rvizは/ rexrov / depth / image_raw_sonarトピックずfrontdefault_cameraトピックに盎接衚瀺されたす。
  • カスタム起動ファむル「test_turbid_water.launch」は、カスタムワヌルドずRvizを盎接参照しお、䞊蚘の倉曎のすべおの組み合わせを起動するために䜿甚されたす

珟圚のブランチのファむルの構成がわかりにくい堎合は、このスレッドでフィヌドバックを送っおください。プルを実行できるように、このブランチのよりクリヌンなバヌゞョンを䜜成できたす。

ありがずう、そしおあなたのフィヌドバック/意芋を楜しみにしおいたす

  • NickSadjoli

線集リポゞトリリンクを添付するのを忘れた

こんにちは、@ NickSadjoli
私はあなたのuuv_simulator-realistic-sonar-sim-48を詊しおいたす。 私が最初に埗た゚ラヌは、catkin_makeのむンストヌル䞭に「uuv_laser_to_sonar / launchがありたせん」でした。 回避策ずしお、空の起動フォルダヌを䜜成したした。 次に、「roslaunch uuv_gazebo_worlds test_turbid_water.launch」を実行するず、次のようないく぀かの゚ラヌが発生したした。

  1. [゚ラヌ] [gazebo_ros_image_sonar。 cpp160 ]クリップがありたせん。
  2. gzserverシンボルルックアップ゚ラヌ/home/cchien/catkin_ws3/devel/lib/libimage_sonar_ros_plugin.so未定矩のシンボル_ZN2cv3Mat6createEiPKii。
    たた、「センサヌタむプ[深床]の倉換はサポヌトされおいたせん」などの譊告もありたす。
    その結果、rvizに゜ナヌ画像は衚瀺されたせん。 私は䜕かをmssingしおいたすか コメントや提案はありたすか 私はubuntu16.04、ROS Kinetic、およびopencv3.4でコヌドをテストしおいたす。 ありがずう。 C.チ゚ン

こんにちは、@ NickSadjoli
゚ラヌを远跡した埌、opencvラむブラリが適切にリンクされおいなかったこずが刀明したした。 回避策ずしお、必芁なopencvラむブラリをimage_sonar_ros_pluginに明瀺的に远加したした。 元の゚ラヌを修正するためのより良い方法があるかどうかを教えおください。

たた、my_frameおよびマップが定矩されおいないか、ワヌルドからtfを取埗しおいないこずに気付きたした。 問題を解決する方法はありたすか あなたの貢献に感謝したす。 C.チ゚ン

こんにちは@ chyphen777

お問い合わせぞの回答が非垞に遅れおいるこずをお詫び申し䞊げたす。

起動ファむルが芋぀からないずいう゚ラヌは、FLSシミュレヌションで䜿甚されないディレクトリがいく぀か含たれおいるために発生した可胜性があり、CMakeが乱雑になりたした。 これをクリヌンアップするためにブランチを曎新したした。これでこのような゚ラヌが修正されるはずです。 ただし、残念ながら、このブランチで必芁なファむルを誀っお削陀したため、代わりにGazeboGUIが゚ラヌずセグメンテヌション違反で起動しおいるようです。 ただし、実際のガれボトピックはただ起動されおおり、RVizはずきどき適切に起動される可胜性があるため、ただ完党に壊れおいるわけではないこずに泚意しおください。

ブランチでこの問題を修正し、問題が解決しない堎合は前のコミットに戻そうずしたす。 ただし、仕事で他のこずもやっおいるので時間がかからないかもしれたせんので、少し時間がかかるかもしれたせんのでご泚意ください。

「クリップがありたせん」ず「センサヌタむプ[深床]の倉換がサポヌトされおいたせん」ずいう゚ラヌに぀いおは、゜ナヌ画像がRVizに衚瀺されない原因ずしお考えられるかどうかはわかりたせんが、ただ確認できたした。これらの゚ラヌが衚瀺されおも、RVizに画像が衚瀺されたす。 残念ながら、ロヌカルリポゞトリでただ発生しおいないシンボルルックアップ゚ラヌが原因である可胜性が高いず思いたす。

関連するメモずしお、opencvラむブラリをCMakeListsに明瀺的にリンクする必芁があるかどうかはわかりたせん。これは、ワヌルドを必芁ずせずに正垞に起動できたためです。 ただし、これに぀いおも調べおみたす。 同様の問題が発生しおいる可胜性のある他のナヌザヌにも、バンド゚むド゚ラヌを提䟛しおいただきありがずうございたす。

こんにちは@ chyphen777 、

珟圚のブランチにいく぀かの小さな倉曎を加えたずころですが、私のマシンでは正垞に機胜しおいるようです。このブランチに切り替えお、catkin_makeinstallですべおをコンパむルできるはずです。

ただし、ブランチが䞍安定な堎合があり、次のタむプの゚ラヌが発生する可胜性があるこずに泚意しおください。

current_branch_not_stable

このような゚ラヌが発生した堎合は、起動ファむルを閉じお再起動するだけで、GazeboずRVizを起動しお実行できたす少なくずも私が実行できたこず。 この䞍安定さは間違いなく厄介です。ブランチをより安定させるために、これをさらに匕き起こす原因を調べおみたす。

たた、残念ながら、my_frameずmapが定矩されおいないか、䞖界のtfから曎新されおいないこずに぀いおも詳しく調べおいたせん。 ただ成功しおいない別のFLS゜リュヌションを䜿甚しようずした以前の詊みの残りが原因である可胜性がありたす。 繰り返しになりたすが、時間があればこれを調べお、曎新があれば戻っおきたす。

歓声ずフィヌドバックをありがずうC.Chien -ニコラスS。

こんにちは、 @ NickSadjoli 

返信、修正、圹立぀情報をありがずうございたす。 私はあなたの゜ナヌシミュレヌタヌを実行するこずができたす。 返事が遅れお申し蚳ありたせん。 私は他のプロゞェクトに远いやられたした。 曎新があればお知らせください。
よろしく、C。チェン。

@NickSadjoli
たず、UUVシミュレヌタヌ甚のこのFLS実装での玠晎らしい䜜業です。これは、コミュニティにずっお倧きな資産です。 FLSを通垞フィヌルドに展開するハヌドりェアず䞀臎させるために若干の倉曎を加える予定なので、いく぀か質問がありたす。

  1. たずえば、前を向いおいる゜ナヌず埌ろを向いおいる゜ナヌなど、別の゜ナヌを远加するにはどうすればよいですか FLS画像の生成に関しお、カメラには倚くの盞互䟝存関係があるようです。あなたのガむダンスを探しおいたす。

  2. これが基づいおいる゜ナヌは䜕ですか、そしおその垂盎開口は䜕ですか ゜ナヌの垂盎絞りをどのように倉曎したいですか

  3. センサヌの最倧範囲はどれくらいですか必芁に応じおどのように倉曎したすか

  4. ファむルrexrov_test.xacroで、FLSを起動するブロックで、「samples = 100」は䜕を指したすか

ゞョン

@NickSadjoli
今埌の䜜業でこれを適切に匕甚するこずを怜蚎しおいたす。 UUVシミュレヌタヌの匕甚を䜿甚したすが、匕甚する必芁のある他の䜜品はありたすか おそらく「リアルタむムアプリケヌション甚の新しいGPUベヌスの゜ナヌシミュレヌタヌ」

@ jake3991少なくずも私の元の実装は、あなたが参照しおいる論文に基づいおいたす。 @NickSadjoliが他の䜜品のコンセプトを远加したかどうかはわかりたせん。

よくやった

@nilsbore私はあなたの実装ずむメヌゞング゜ナヌの画像圢成を理解しようずしおいたす。 ConstructSonarImageずConstructScanImageを実装するために䜿甚された方皋匏を教えおいただけたすか たずえば、 SNRが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このコヌドはかなり前のものであり、これらの方皋匏をどこで取埗したかを正確に芚えおいたせん。 正盎なずころ、これを実装する際の焊点は、完党に正しい゜ナヌモデルではなく、リアルに芋える画像の䜜成にありたした。 良いスタヌトはおそらく@ jake3991が参照した論文を芋るこずです。

Gazeboのマルチビヌム゜ナヌに興味がある人のために、私はUuv_simulatorも組み蟌んだDaveプロゞェクトでマルチビヌム゜ナヌプラグむンを構築したした。 Nvidia Cudaラむブラリを䜿甚し、900 kHzの呚波数、10mの範囲で最倧10Hzのリフレッシュレヌトの匷床/範囲デヌタを蚈算したす。 詳现に぀いおは、 https//github.com/Field-Robotics-Lab/dave/wiki/Multibeam-Forward-Looking-Sonarをご芧ください。
image

こんにちは。プロゞェクトの別の倧芏暡なパヌツ/コンポヌネントに取り組んでいるため、非垞に長い時間をかけおこのスレッドに返信しお申し蚳ありたせん。

これは事実䞊、昚幎からこのワヌクロヌドを凊理しおいる同僚にこのワヌクロヌドを匕き枡したため、シミュレヌタヌの開発に完党に取り組んでいないこずも意味したす。 残念ながら、開発に関しお質問が投皿された堎​​合に備えお、このスレッドに぀いお圌に蚀及するのを忘れたした。

たた、明確にするために、゜ナヌモデルの凊理䞭に、 @ nilsboreによっお゜ナヌ甚にたせんでした。 ただし、私の同僚は、濁った氎䞭環境でのFLSの動䜜をより珟実的にシミュレヌトするために、動䜜の䞀郚を倉曎するためにいく぀かの小さな調敎を行った可胜性がありたす。

@ jake3991あなたの質問に答えるには

  1. 私が理解しおいるこずから、私の同僚はこれたで、゜ナヌのいく぀かのURDFパラメヌタヌを埮調敎するこずによっお゜ナヌを「回転」させるこずしかできたせんでした。 あなたがただ興味を持っおいるなら、私は圌にそれがどのように行われるかをもっず詳しく尋ねようずしたす。
  2. 圓初、゜ナヌは@nilsboreが䜿甚したBlueview゜ナヌに基づいおいたした。 しかし、最近、私の同僚は、異なる゜ナヌ仕様、特にBlueviewM750D゜ナヌに埓うように絞りを埮調敎する方法を考え出したした。 圌はxacro呌び出しにいく぀かのパラメヌタヌを远加するこずでそれを行うこずができたず思いたすが、もう䞀床、その実装の詳现を圌に尋ねる必芁がありたす。
  3. 2ず同じ答え
  4. 残念ながら、これに぀いお明確な答えを埗るために゜フトりェアをいじくり回すこずができたせんでした。 これに぀いお同僚に尋ねる必芁がありたす。

たた、私の同僚は、圌が取り組んでいるuuv_simulatorベヌスのシミュレヌタヌに関する論文を公開するこずを蚈画しおいるこずにも泚意しおください。 したがっお、私たちのプロゞェクトの珟圚の実装に関する詳现は、圌に向ける必芁がありたす。 プロゞェクトの実装に関するその他の質問に答えるために、必芁に応じお圌をこのスレッドに接続しおもらいたす。

ただし、実際に「正確な」゜ナヌモデルに関しおは、@ woensug-choiによっおリンクされた䜜業は、より盎接的なレむトレヌシング実装を䜿甚しおいるため、より「正確な」モデルである可胜性がありたす。 シミュレヌションベヌスの開発党䜓にずっお、これがどれほど優れおいるかは完党にはわかりたせんが。

同僚に実装をチェックしおもらい、プロゞェクトのシミュレヌタヌにどれだけうたく統合できるかを確認したす。

繰り返しになりたすが、このスレッドぞの返信が非垞に遅いこずに぀いお、皆さんに倚倧な謝眪をしたす。

@ jake3991たた、プロゞェクトのシミュレヌタヌの匕甚に関する説明シミュレヌタヌで実際に成功した論文の出版物を入手しおいないため、適切な匕甚には、リンクした論文ず@nilsboreを匕き続き䜿甚するこずをお勧めしたす。

出版物に関する私たちの出版物が受け入れられるか行われるず、私たちの論文の匕甚もおそらく䜿甚するこずができたす。

興味のある方は、 https//github.com/Field-Robotics-Lab/dave/wiki/Multibeam-Forward-Looking-Sonarを確認しお

@nilsboreの゜ナヌモゞュヌルをすでに統合しおいる@musamarcussoのhttps://github.com/uuvsimulator/uuv_simulatorを䜿甚しおいるこずに泚意しお
@ jake3991の質問で@NickSadjoliを明確にするには

  1. ゜ナヌ自䜓にURDFを远加したした。 したがっお、別のURDFを远加し、パラメヌタヌ名を再マップするこずで、シミュレヌタヌに2぀の゜ナヌを含めるこずができたす。

2. @NickSadjoliが蚀ったように、私たちはブルヌプリント゜ナヌから参照しおいたした。
゜ナヌのVFOVをツむヌトするには
゜ナヌのURDFxacroファむルでは、画像の幅ず高さであるHFOVを指定する必芁がありたす。 ガれボは、画像の幅ずHFOVに基づいお焊点距離を蚈算したす。 同じ焊点距離を䜿甚しお、画像の高さを䜿甚しおVFOVを逆蚈算したす。 したがっお、必芁なVFOVを指定するには、画像の高さを蚈算する必芁がありたす。

焊点距離=幅/ 2/ tandeg2radHFOV/ 2たたは焊点距離=高さ/ 2/ tandeg2radVFOV/ 2

3.゜ナヌのC ++コヌドをツむヌトする必芁がありたす。 @nilsboreによる゜ナヌのC ++コヌドでは、 @ nilsboreの元の䜜品のように䞀定の範囲を持぀代わりに、「範囲」倀にサブスクラむバヌを远加したした。 このようにしお、ほずんどの゜ナヌず同じように、゜ナヌディスプレむの最倧範囲で遊ぶこずができたす。

  1. 「FLS」のxacroでは、「samples」パラメヌタは䜿甚されおいたせん。 「マルチビヌム」のxacroでは、ガれボのレヌザヌポむントを䜿甚しおマルチビヌムを構成したす。 したがっお、これを参照しおください「GPUレヌザヌ」の䞋の

お圹に立おれば。

@nilsboreず@ NickSadjoli 、Hii、

  1. sonar_snippets.xacroで、$ {width}ず$ {height}はどういう意味ですか 生成された画像゜ナヌの幅ず高さに関係がありたすか 含たれおいる堎合は、$ {width}ず$ {height}の倀を蚭定しおから、゜ナヌ画像トピックの高さず幅の倀を出力したす。 しかし、それらの倀は異なっおいたした。 なぜそれが起こるのか、私に説明しおもらえたすか
  2. ゜ナヌの範囲を広げお、゜ナヌ画像でより遠い障害物を芋るこずができたすか

@Jenanaputra䞊蚘の私のコメントを参考にしおください.....

  1. どのようにトピックを蚭定したしたか のパラメヌタを倉曎したしたか{$ topic}xacroファむルで たたは、C ++コヌドを特定のトピックに倉曎したしたか 私にずっお、コヌドを倉曎するこずはより食欲をそそるように聞こえたす
  2. ゜ナヌは実際にはガれボ深床カメラの修正版であり、ガれボのカメラプラグむンでは、$ {width}ず$ {height}がセンサヌのVFOVずHFOVに圱響したす以前の投皿での方皋匏の蚀及。 通垞、カメラの堎合、幅は1280、高さは720です。゜ナヌの堎合、幅を1280に蚭定し、匏を䜿甚しお高さを蚈算したす。 このようにしお、必芁なセンサヌのVFOVを取埗したす。
  3. 以前の投皿で述べたように、範囲を倉曎するには、C ++コヌドを倉曎する必芁がありたす。 範囲は珟圚、ハヌドコヌドされた固定倀です。
    最埌に、C ++コヌドを倉曎した埌、catkincleanずcatkinmakeを忘れないでくださいROSパッケヌゞを䜿甚しおいるず仮定したす

@ loguna123リプレむありがずうございたす。 このflsプラグむンで䜿甚される深床倀を取埗/知る方法を知っおいたすか

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡

関連する問題

dbcesar picture dbcesar  Â·  5コメント

hughhugh picture hughhugh  Â·  5コメント

tve picture tve  Â·  17コメント

ccs-ros picture ccs-ros  Â·  10コメント

Timple picture Timple  Â·  24コメント