Webotsロボットシミュレーションプラットフォーム(2)ROSとの通信

1 Webot UbuntuクライアントはROSと通信します

1.1 webots_rosパッケージを設定する

ステップ1:webotコードをgithubにダウンロードします:https://github.com/cyberbotics/webots(このファイルは約4 GBです。githubでダウンロードが失敗した場合は、Baiduネットワークディスクからダウンロードできます)
ステップ2projects / languages / ROSは見つけるwebots_rosのディレクトリをし、コピー全体webots_rosの独自のROSのワークスペースにディレクトリを。

ステップ3:ディレクトリのプロジェクト/デフォルト/コントローラ/ ROS /含めるディレクトリSRVMSGにフォルダをcatkin_ws / SRC / webots_ros /

1.2 webots_rosパッケージを起動します

ステップ1:ワークスペースをコンパイルする

cd catkin_ws
catkin_make

Step2:新しいターミナルの開始

roscore

ステップ3:モデルをロードし
、顧客サービス端末で開く新しい世界。モデルのUbuntuクライアントでの選択。pioneer3at.wbtモデル、それはROSに接続されていることをモデルショーをロードした後に確認してくださいインターフェイスの下部ことを確認この時点では、車は静的な状態である必要があります。
ここに画像の説明を挿入
ここに画像の説明を挿入
ステップ4:スタートノード
ROS環境に戻り、新しい端末を作成します

source devel/setup.bash
rosrun webots_ros pioneer3at 

この時点で、車はすでに動いていることがわかります。rostopic llistを使用して、webotによって発行されたトピックを表示できます。
ここに画像の説明を挿入
ここに画像の説明を挿入

1.3 gmappingマッピングテスト

次に、シミュレーション環境によって出力されたLIDARデータを使用して、2Dマップを作成します。ステップ1
rosを開始する新しいターミナルを作成します。

roscore

ステップ2: Webotクライアントを開始する
ステップ3:新しい端末を作成する

source devel/setup.bash
rosrun webots_ros pioneer3at 

ステップ4: gmappingノードを開始し、lidarトピック(/ pioneer3at / Sick_LMS_291 / laser_scan / layer0)にサブスクライブします。

rosrun gmapping slam_gmapping scan:=/pioneer3at/Sick_LMS_291/laser_scan/layer0 _xmax:=30 _xmin:=-30 _ymax:=30 _ymin:=-30 _delta:=0.2

RVIZでマップのトピックを追加すると、次の現象を確認できます
ここに画像の説明を挿入

1.4キーボードリモコンWebotロボット

新しいターミナルを作成します。ここで環境変数を設定する必要があることに注意してください[4]

source devel/setup.bash
export WEBOTS_HOME=/usr/local/webots
roslaunch webots_ros keyboard_teleop.launch

このコマンドは、Webotsクライアントを自動的に起動し、マウスを使用してWebotsインターフェイスを選択します。このとき、キーボードの矢印キーを使用して、ロボットを前後左右に移動するように制御します。キーボードデータは、「/ XXX / keyboard / key」という名前のトピックに送信されます
ここに画像の説明を挿入

2 Webot WindowsクライアントはROSと通信します

Webotsデバイス間で共有されるROSサービスの場合は、前の手順1から手順5など、ubuntuでwebots_rosコードを構成します。

ステップ1:webotコードをgithubにダウンロードします:https://github.com/cyberbotics/webots(このファイルは約4 GBです。ダウンロードがgithubで失敗した場合は、Baiduネットワークディスクにダウンロードできます)
ステップ2:ディレクトリprojects / languages / ROSは見つけるwebots_rosのディレクトリをし、コピー全体webots_rosの独自のROSのワークスペースにディレクトリを。

ステップ3:ディレクトリのプロジェクト/デフォルト/コントローラ/ ROS /含めるディレクトリSRVMSGにフォルダをcatkin_ws / SRC / webots_ros /

手順4:ワークスペースをコンパイルする

cd catkin_ws
catkin_make

手順5:モデルをカスタマーサービスに読み込む

開きpioneer3at.wbtモデルで世界新モデルでは(\プログラムファイル\ Webots \プロジェクト\言語\ ROS \世界:Cアドレス)Windowsクライアントを
ここに画像の説明を挿入
ステップ6:スタートノード
ROS環境に戻り、新しいターミナルを作成

source devel/setup.bash
rosrun webots_ros pioneer3at 

ここで注意:ROSで開始されたノードの名前は、ロードしたモデルの名前と同じです。たとえば、上記の場合、ロードしたモデルの名前はpioneer3atであり、使用するROS起動コマンドはrosrun webots_ros [node_name]
step7:環境を変更しますROSホストアドレス:
コントローラーを変更し、ros(ubuntuからコピーする必要があります)またはros_pythonを選択し、コントローラーのホストアドレスを変更します。
ここに画像の説明を挿入

3参照

[1] http://docs.ros.org/kinetic/api/webots_ros/html/index-msg.html
[2] webotsマニュアル:https://www.cyberbotics.com/doc/reference/index
[3] webotsユーザーガイド:https : //www.cyberbotics.com/doc/guide/using-ros
[4] https://blog.csdn.net/weixin_38172545/article/details/105212645前
 
Webotロボットシミュレーションプラットフォーム( 1)システムのインストール次:Webotロボットシミュレーションプラットフォーム(3)新しい環境モデル

記事があなたに役立つと思われる場合は、私にいいねをください。O(∩_∩)O

コメントエリア([email protected])で交流し、議論する皆を歓迎します。

おすすめ

転載: blog.csdn.net/crp997576280/article/details/105207737