主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

金宝appSimulinkと凉亭間のコシミュレ,ションの実行

この例では,金宝app仿真软件™と露台の間で同期されたシミュレーションを設定し,露台にコマンドを送信し露台からデータを受信する方法を説明します。

凉亭シミュレ,ション環境の設定

この例では,凉亭を含む独自のLinux環境を使用するか,提供されているROSおよび凉亭を含むバ,チャルマシンをダウンロ,ドします。このバ,チャルマシン(vm)の/home/user/src/GazeboPlugin。に,必要な凉亭プラグ代课员ンがあります。

ソフトウェア要件は次のとおりです(虚拟机に含まれる)。

オペレ,ティングシステム:Ubuntu Xenial XerusまたはUbuntu仿生海狸

依存するソフトウェア:CMake 2.8, gazebo9およびlibgazebo9-dev

独自のLinux環境を使用する場合は,凉亭プラグaapl .ンの手動aapl .ンストaapl .ルの手順に従ってください。それ以外の場合は,凉亭シミュレ,ション環境の起動を参照してください。

凉亭プラグaapl .ンの手動aapl .ンストaapl .ル

プラグンのソスコドをzipパッケジとして取得します。次の関数は,GazeboPluginというフォルダ,を現在の作業ディレクトリに作成してGazeboPlugin.zipに圧縮します。

packageGazeboPlugin

GazeboPlugin.zipを,次の要件を満たすLinuxマシンにコピ,します。

パッケ,ジをLinuxプラットフォ,ム上で解凍します。この例では/home/user/src/GazeboPluginに展開します。

タミナルで次のコマンドを実行して,プラグンをコンパルします。

cd /home/user/src/GazeboPlugin

构建フォルダ,が既に存在する場合は,削除します。

Rm -r构建

プラグ@ @ンを@ @ンスト@ @ルします。

Mkdir build CD build cmake ..使

プラグ@ @ンの場所は/home/user/src/GazeboPlugin /出口/ lib / libGazeboCoSimPlugin.soです。

生成されたプラグンをホストコンピュタから削除します。

如果存在(“GazeboPlugin”“dir”)删除文件夹(“GazeboPlugin”“年代”);结束如果存在(“GazeboPlugin.zip”“文件”删除()“GazeboPlugin.zip”);结束

凉亭シミュレ,ション環境の起動

Linux VMまたは独自のオペレーティングシステムでターミナルを開き,次のコマンドを実行して露台シミュレーターを起動します。

cd/home/user/src/GazeboPlugin /出口出口SVGA_VGPU10 = 0露台. . /世界/ multiSensorPluginTest.world——详细

これらのコマンドは,次をも凉亭シミュレタを起動します。

  • 2台のレ、ザ、距離計:hokuyo0hokuyo1

  • 2台のRGBカメラ:camera0camera1

  • 2台の深度カメラ:depth_camera0depth_camera1

  • 2台のimuセンサ:imu0imu1

  • ユニットボックスモデル:unit_box

multiSensorPluginTest.world/home/user/src/GazeboPlugin /世界フォルダ,にあります。このワルドファルは,。xml本文の次の行により,金宝app仿真软件とのコシミュレーション用露台プラグインを含めています。

<插件名称=“GazeboPlugin”文件名=“lib / libGazeboCoSimPlugin.so”> < portNumber > 14581 < / portNumber > < /插件>

文件名フィールドは,コンパイルされた露台プラグインの場所をポイントしていなければなりません。このパスは,露台自体が起動される場所に対する相対パスにするか,次を実行して露台プラグインの検索パスに追加することができます。

出口GAZEBO_PLUGIN_PATH = $ {GAZEBO_PLUGIN_PATH}: / home / user / src / GazeboPlugin /出口

凉亭コシミュレ,ションの構成

performCoSimulationWithGazeboモデルを開きます。これは,これらのシミュレートされたセンサーからセンサーデータを受信する方法と,仿金宝app真软件からユニットボックスモデルを作動させる方法を示します。

open_system (“performCoSimulationWithGazebo”

モデルのシミュレ,ションを行う前に,露台Pacerブロックを使用して凉亭コシミュレ,ションを構成します。

hilite_system (“performCoSimulationWithGazebo /露台Pacer”

ブロックを開いて[凉亭のネットワ、クおよびシミュレ、ション設定の構成]リンクをクリックします。

open_system (“performCoSimulationWithGazebo /露台Pacer”

[ネットワ,クアドレス]ドロップダウンから自定义を選択します。LinuxマシンのIPアドレスを入力します。凉亭の既定の[ポ,ト]14581です。[応答タ电子邮箱ムアウト]を10秒に設定します。

[テスト]ボタンをクリックして,実行中の凉亭シミュレ,タ,への接続をテストします。

センサ,デ,タの取得

露台读ブロックを使用して,3のセンサから特定のトピックに関するデタを取得します。

  • IMU:/露台/违约/ imu / imu / imu0 /链接

  • 激光雷达スキャン:/露台/违约/ hokuyo0 /联系/激光/扫描

  • RGBカメラ:/露台/违约/ camera0 /联系/相机/形象

MATLAB®函数ブロックを使用して,IMUの読み取り値を表示し,激光雷达スキャンとRGBイメージを可視化します。

凉亭モデルの作動

凉亭应用命令ブロックを使用して,ユニットボックスに,その加速度が / 年代 2 になるz方向の一定の力を加えます。凉亭空白消息を使用して,空白のApplyLinkWrenchメッセ,ジを作成します。总线分配ブロックを使用して,unit_box /链接エンティティに力を加えるためのメッセ,ジの要素を指定します。露台读を使用して,ボックスのグラウンドトゥル,ス姿勢を出力します。1秒間でのボックスの変位は0.5米近くになるはずです。

コシミュレ,ションの実行

コシミュレ,ションを開始するには,[実行]をクリックします。[ステップを進める]を使用して,シミュレ,ションをステップ実行することもできます。コシミュレ,ションの実行中に[ステップを戻す]はサポ,トされません。

シミュレーションの実行中,露台シミュレーターと仿真软件の時金宝app間が同期していることがわかります。

このモデルは,MATLAB函数ブロックとMATLABのプロット機能を使用して,露台のセンサーデータを可視化します。以下に凉亭カメラから取得したメジデタのスナップショットを示します。

以下に激光雷达スキャンメジのスナップショットを示します。

ユニットボックスブロックのz方向の位置の時間プロットは,デタンスペクタを使用して表示できます。このブロックの変位は,その期間の一定加速により放物線の形状を示します。

シミュレーション終了時におけるユニットボックスの位置は1.001であるため,変位は0.5001となり,予測値の0.5とわずかに異なります。これは凉亭の物理エンジンの誤差によるものです。この誤差を小さくするには,凉亭物理エンジンの最大ステップサ电子邮件ズを小さくします。

時間の同期

コシミュレ,ション中,[一時停止]を使用してS金宝appimulinkとGazeboシミュレタをいでも一時停止できます。

メモ:凉亭はシミュレ、ションの1タ、ムステップ前で一時停止します。

これは次のコシミュレ,ションの時間シ,ケンスによるものです。

センサ、デ、タと作動コマンドは、正しいタ、ムステップで交換されます。実行では,まず凉亭,次にSimuli金宝appnkの順序でステップするように選択されます。シミュレ,ションの実行はまだt + 1にあり,金宝appSimulinkはモデルが再開されるまで前のステップ時間に留まります。

次のステップ