そこで、
Subscribed Topics
マップを作るために入力されるデータ
tf (tf/tfMessage)
レーザーと本体と推定された現在位置を変換するために必要
scan (sensor_msgs/LaserScan)
マップを作るための赤外線データ自己位置をパブリッシュするためには、 Odometryを取ってこないといけない。
navigationスタックを利用して、自己位置(オドメトリ)をパブリッシュするコードを書く。
http://www.ros.org/wiki/navigation/Tutorials/RobotSetup/Odom
上のリンク先にパブリッシャのコードが載っている
ただ、navigationのチュートリアルはgroovyに対応していないので、
多少書き換える必要がある
$ cd catkin_ws/src
$ catkin_create_pkg robot_odom_test roscpp tf geometry_msgs nav_msgs
パッケージ作成時にnav_msgsを追加する
パッケージ名は適当に、robot_odom_test
$ cd src
$ emacs odom_test.cpp &
でsrcフォルダ内にodom_test.cppを作成し、リンク先のコードをコピペ
$ cd ..
$ emacs CMakeLists.txt &
でrobot_odom_test直下に戻り、CMakeList.txtの末尾に
add_executable(odom_test src/odom_test.cpp) target_link_libraries(odom_test ${catkin_LIBRARIES})
を追加
catkin_wsに戻って、
$ catkin_make
パブリッシュされてるか確認
$ roscore
$ rosrun robot_odom_test odom_test
$ rostopic list
/odom
/rosout
/rosout_agg
/tf
今度はリスナーを書く(そっちの方が難しそう・・・)
参考にする
http://www.ros.org/wiki/ja/navigation/Tutorials/RobotSetup/TF
0 件のコメント:
コメントを投稿