以前joint_state_publisherを紹介しました。
http://ros-robot.blogspot.com/2010/11/jointstatepublisher.html
http://www.ros.org/wiki/joint_state_publisher
詳しいやり方を書かなかったので自分のためのメモです。
まず、joint_state_publisherをゲットします。
そのためにはmercurialというソフトを必要としますので、いれましょう。
$ sudo apt-get install mercurial
次に以下のコマンドでjoint_state_publisherを取得します。
$ hg clone https://kforge.ros.org/robotmodel/visualization
そうしたら、hoge_descriptionというパッケージにurdf/hoge.xmlというurdfファイルを作ったとすると、以下のようなlaunchファイルを用意して、
パラメータにファイルを読み込ませ、joint_state_publisherを駆動し、robot_state_publisherを動かし、rvizで表示します。
joint_state_publisherがsensor_msgs/JointStateを発行し、それをrobot_state_publisherがtfに変換します。それをrvizが表示するのです。
<launch>
<param name="robot_description" textfile="$(find hoge_description)/urdf/hoge.xml"/>
<param name="use_gui" value="true"/>
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
<node name="rviz" pkg="rviz" type="rviz"/>
</launch>