Up:Tutorial? Previous:RoboCupCamp? ROSノードの利用 †はじめに †ここでは既存のROSノードをSIGVerseで利用する方法を紹介します。ROSのサンプルプログラムTurtleSimで使用されている亀アバターの制御ノードをそのまま用いて、SIGVerse内のロボットを操作することを目的とします。 ※このチュートリアルはUbuntu12.04LTS上のSIGVerse v2.2.0以降に対応しています。また、少なくとも、http://wiki.ros.orgのチュートリアル:http://wiki.ros.org/ROS/Tutorials/WritingPublisherSubscriber%28c%2B%2B%29 (catkin) まで実施済みの環境を想定しています。 SIGVerse内ロボット制御のためのコントローラの作成 †まず、制御ノードからのメッセージを浮け、SIGVerse内のロボットを動かすためのコントローラとなるノードを作成します。ここでは、catkin_make を行うディレクトリは、例えば、ユーザ名を UserNameとし、ROS用ワークスペースを catkin_ws とすると、 /home/UserName/catkin_ws にて行われるものとします(以降<catkin_ws>と表記)。 $ tar xvfz ros_if.tar.gz -C <catkin_ws>/src
これを、例えば次のように環境に応じて変更します。 コントローラをビルドします。 $ cd <catkin_ws> $ mkdir devel/lib/libros_if $ catkin_make 次のコマンドでファイルが作成されたことを確認してください。 $ ll devel/lib/libros_if/sig_if_ctrl.so ファイルが存在しない旨のメッセージが表示される場合は、catkin_make時に何らかのエラーが生じているはずです。それらをチェックし、適宜修正してください。ビルドが確認できたら、SIGVerseの世界ファイルをコピーします。 $ cp src/ros_if/ros_world.xml devel/lib/libros_if/ SIGVerseの起動 †まず、これまでに作業を行っていた端末(terminal)とは別に新しく端末を立ち上げ、そこでROSを立ち上げます。 $ roscore 起動が確認できたら、別のウィンドウあるいはタブで新しく端末を立ち上げます。その端末で、次のコマンドによりSIGVerseを起動します。 $ cd <catkin_ws> $ source devel/setup.bash $ cd devel/lib/libros_if $ sigserver.sh -w ./ros_world.xml SIGViewerの起動とシミュレーションの開始 †
制御ノードの起動 †
制御ノードの動作確認 †
メッセージ送受信の様子の図示 †
Up:Tutorial? Previous:RoboCupCamp?
Counter: 4196,
today: 2,
yesterday: 0
|