http://wiki.ros.org/robot_state_publisher/Tutorials/Using%20the%20robot%20state%20publisher%20on%20your%20own%20robot
当您使用具有许多相关框架的机器人时,将它们全部发布到tf成为一项相当的任务。 robot state publisher(机器人状态发布者)是您做这项工作的工具。
机器人状态发布者可以帮助您将机器人的状态广播到tf变换库。 机器人状态发布者内部具有机器人的运动学模型; 因此给予机器人的关节位置,机器人状态发布者可以计算和广播机器人中每个链接的3D姿态。
您可以使用机器人状态发布者作为独立的ROS节点或库:
1、作为ROS节点运行
运行机器人状态发布器的最简单的方法是作为一个节点。 对于普通用户,这是推荐的用法。 您需要两件事来运行机器人状态发布者:
在参数服务器上加载的一个urdf xml机器人描述。
作为sensor_msgs / JointState发布联合位置的源。
http://wiki.ros.org/urdf/Tutorials/Using%20urdf%20with%20robot_state_publisher
1、创建URDF文件
这是一个大致接近R2-D2的7链接模型的URDF文件。 将以下链接保存到您的计算机。
2、发布状态
现在我们需要一个指定机器人的状态的方法。为此,我们必须指定所有三个关节和总体测距。 首先创建一个包:
cd %TOP_DIR_YOUR_CATKIN_WS%/src
catkin_create_pkg r2d2 roscpp rospy tf sensor_msgs std_msgs