WebotとROS通信
1 Webot UbuntuクライアントはROSと通信します
1.1 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 /含めるディレクトリSRVとMSGにフォルダを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 /含めるディレクトリSRVとMSGにフォルダを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])で交流し、議論する皆を歓迎します。