Uuv_simulator: Q:水面モデリング?

作成日 2017年09月15日  ·  17コメント  ·  ソース: uuvsimulator/uuv_simulator

質問、波など、水面をモデル化するuuvシミュレーターに何かありますか? (そうでない場合は、風力発電所のビデオでどのようにすてきな表面アニメーションを取得しますか?)

question

最も参考になるコメント

こんにちは、私はガゼボの水上艦の浮力をモデル化することに同様の興味を持っています、そしてこれはそれが議論されている場所のようです。 私は上記のアプローチを使用してある程度の進歩を遂げました。興味があれば喜んで共有したいと思います。

1つ以上のリンクで構成される可能性のあるガゼボプリミティブまたはメッシュを使用して定義されたオブジェクトをサポートする実用的な例があります。 波動場は平面メッシュを使用してモデル化され、世界のシミュレーション時間を使用して同期が維持されるビジュアルと物理の個別のプラグインがあります。 表面メッシュパッケージを使用しているため、CGALライブラリに依存しています。

最初の例は、浮力のみ(減衰力や抗力なし)のユニバーサルジョイントで接続された一連のボックスを示しています。

buoyancy example 1

2番目の例は、浮力といくつかの抗力を受ける波の中にあるいくつかのオブジェクトを示しています。 ボートはオンラインの3Dギャラリーからの在庫であり、浮力の計算に使用される頂点数を減らすために、Blenderを使用して衝突に使用されるメッシュを間引きました。

buoyancy example

全てのコメント17件

こんにちは、現在、水面や波の物理シミュレーションはありません。 これは追加するのに最適な機能ですが、現在、それに取り組む能力はありません。 時間を割いていただける方がいらっしゃいましたらお知らせください。

ビデオやスクリーンショットで見たかもしれない波は純粋な視覚効果であり、材料特性でこれらのシェーダーを使用して実装されています。

ああ、返事をありがとう。 私はhttps://www.gamasutra.com/view/news/237528/Water_interaction_model_for_boats_in_video_games.phpをワールドプラグイン(ガゼボ)として実装することに取り組んでい

はい、できます。 1つの方法は、JONSWAPまたはPierson-Moskowitzモデルを実装し、視覚化用のウェーブを生成するシェーダーと、モデルに対して同様のことを行う1つのGazeboプラグインを用意することです。
私が見ている問題は、これら2つのモジュールがGazeboで分離されていることです(シェーダー@sebastianschererが言って一時停止してシミュレーションを実行すると、ウェーブは引き続き実行されます)。 シェーダーを除いて、環境内の波などを表示する方法は他にありません。
モデルとの相互作用に関して、私が見つけた非常に簡単な方法の1つは、これがケルピーシミュレーターに実装されていることでした。

https://www.researchgate.net/publication/259741742_Kelpie_A_ROS-Based_Multi-robot_Simulator_for_Water_Surface_and_Aerial_Vehicles

実装はとても簡単なようですが、どれだけ良いかわかりません。 私はそれを試したことがありません。
私が目にする最大の問題は、視覚的プラグインと物理的プラグインの同期です。
これを実装する方法について何かアイデアがあれば、私たちに知らせてください。 私はそのようなものに非常に興味があります。

ちなみに、波で空のシナリオを開始するには、実行する必要があります

roslaunch uuv_descriptions ocean_waves.launch

コメントありがとうございます。 最初の投稿で説明されている物理演算を実装しましたが、まだ調整していません。 これまでのところ、最初のカットにはかなり説得力があるように見えます。 波を見るのが理にかなっている前に、私は平らな水でもう少し進歩する必要があると思います。

私が持っているのは、水面モデルとボートモデルを参照するワールドプラグインです。 例えば:

    <plugin name="floating" filename="libfloating.so">
      <water_model>ocean</water_model>
      <boat_models>
        <boat>box</boat>
      </boat_models>
    </plugin>

水モデルはHeightMap(メッシュに変更したい)であり、ボートモデルは船体を表す単一のリンク(今のところ)を持つ三角形メッシュであると想定しています。 次に、メッシュのすべての水中三角形の浮力、粘性摩擦、圧力抗力、およびスラミング力を計算し、それらを各三角形に適用します。

このプラグインをuuv-simulatorに統合しようとするのは理にかなっていますか? この段階で私はrosを避けようとしており、uuv-simulatorはrosなしで実行できるようですが、それに関する多くの情報は見つかりませんでした。 (私はrosの経験がなく、ガゼボはほとんどありません)。 gazeboのデフォルトブランチ(つまりv9)も使用していますが、uuv-simulatorはv8でコンパイルされますか? 物理学には、点火装置への移行に伴い、v8とv9の間で名前が変更された方法がたくさんあることを私は知っています。

uuv_simulator / uuv_world_plugins / uuv_world_plugins /とuuv_simulator / uuv_gazebo_plugins / uuv_gazebo_plugins /の違いは何ですか?

波状の水面に箱を落とす2分間のシミュレーションをアップロードしました: https

そのビデオはすでにかなりクールに見えます!

ROS以外の部分と、純粋なGazeboプラグインから派生したROSプラグインがあるように、すべてのプラグインを分離しようとしました。 これまでのところ、Gazeboプラグインを単独で使用することはなく、roslaunchなどを使用せずにプラグインを実行するにはいくつかの作業が必要になる可能性があります。

これをuuv_simulatorに統合することは理にかなっていると思います。プロトタイプが機能している場合は、統合を支援したいと思います。

まだGazeboバージョン7を使用しています。Gazebo8または9にいつ切り替えるかは、 わかりません

あともう一つだけ。 打ち上げた世界から波を変えたいなら

roslaunch uuv_descriptions ocean_waves.launch

ここでこのマテリアルファイルにさまざまなパラメータを設定できます

https://github.com/uuvsimulator/uuv_simulator/blob/master/uuv_descriptions/Media/materials/scripts/waves.material#L16

たとえば、振幅は非常に低く設定されていますが、他の振幅と周波数を設定して、それが機能することを確認できます。

フィードバックをありがとう、今私は単純な3Dボートモデルを一緒にしようとしています。 そのようなものの経験がないので、少し時間がかかります...

必要に応じてこれを使用できます

https://github.com/uuvsimulator/uuv_simulator/tree/master/uuv_descriptions/world_models/aurora_static

静的です(一種のマーカーとしてのみ使用されます)が、ロボットモデルに変更できます。 また、 https://github.com/kf/kingfisherで入手できるKingfisherのモデルもありhttps://github.com/bsb808/usv_gazebo_pluginsのusv_gazebo_pluginsを使用し

こんにちは、私はガゼボの水上艦の浮力をモデル化することに同様の興味を持っています、そしてこれはそれが議論されている場所のようです。 私は上記のアプローチを使用してある程度の進歩を遂げました。興味があれば喜んで共有したいと思います。

1つ以上のリンクで構成される可能性のあるガゼボプリミティブまたはメッシュを使用して定義されたオブジェクトをサポートする実用的な例があります。 波動場は平面メッシュを使用してモデル化され、世界のシミュレーション時間を使用して同期が維持されるビジュアルと物理の個別のプラグインがあります。 表面メッシュパッケージを使用しているため、CGALライブラリに依存しています。

最初の例は、浮力のみ(減衰力や抗力なし)のユニバーサルジョイントで接続された一連のボックスを示しています。

buoyancy example 1

2番目の例は、浮力といくつかの抗力を受ける波の中にあるいくつかのオブジェクトを示しています。 ボートはオンラインの3Dギャラリーからの在庫であり、浮力の計算に使用される頂点数を減らすために、Blenderを使用して衝突に使用されるメッシュを間引きました。

buoyancy example

こんにちは私も水面シミュレーションを作ってみましたあなたはビデオをチェックすることができます

https://www.youtube.com/watch?v=NHfNfg2vhMc

そしてリポジトリ

https://github.com/PanosMallioris/Autonomous-Marine-Exploration-Water-Simulation-ROS-GAZEBO

やあ、
波状の海をシミュレートするために、ROSと互換性のあるシミュレーターを探していました。
ケルピーの論文を調べましたが、GitHubでパッケージを見つけることができませんでした。 どこで見つけられるか知っていますか?

@srmainwaringあなたのモデルは

@samchamberlinでプロジェクトを見つけることができます: https

@srmainwaring Hey Rhys、私はROSとGazeboに

@JuliusHendrixはい、それは可能だと思いますが、浮力の計算方法が2つのパッケージで異なるため、潜水艇が水面にいるときに波に応答するようにするには、UUVの浮力の計算方法を変更する必要があります。 。 波動シミュレーションパッケージについて質問がある場合は、リポジトリの問題セクションで喜んでお答えします。 UUVパッケージに関する質問については、作成者に問い合わせるのが最善です。

OSRF VRXチーム(https://bitbucket.org/osrf/vrx/src/default/)も、UUVシミュレーターのウェーブビジュアルを利用し、シミュレーションのビジュアルを物理学と同期させるための私の提案を取り入れました。 彼らは、私の使用されている表面力ベースのアプローチではなく、UUVシミュレーターのようなボリュームベースの浮力計算を使用しています。 まず、VRXとUUVのアプローチを組み合わせて、必要に応じて後でより複雑な浮力モデルに移行する方が簡単かもしれません。

@srmainwaringありがとう、調べてみます!

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

Timple picture Timple  ·  24コメント

HashirZahir picture HashirZahir  ·  10コメント

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

bst picture bst  ·  33コメント

Timple picture Timple  ·  7コメント