rviz中首先有关于世界的基本frame,再有base_link,再到机器人的每一个关节,都会有一个自己的坐标系.
想要在rviz中显示,还要用到两个插件,robot_state_publisher和joint_state_publisher,首先其中robot_state_publisher来进行解析模型文件,即robot_description参数设置的urdf文件(此处设置的参数名可能是固定暂不确定),成功解析将显示tf转换OK,否则j就会报错;
joint_state_publisher此包发布机器人的传感器消息。该包读取robot_description,查找所有非固定关节,并发布定义了所有关节的jointState消息。可以与robot_state_publisher发布服务器节点一起使用,也可以发布所有关节状态的转换。
robot_state_publisher使用参数robot描述指定的urdf和主题关节状态的关节位置来计算机器人的正向运动学,并通过tf发布结果。
从 /joint_states 话题中获取机器人joint角度作为输入, 使用机器人的运动学树模型计算出机器人link的3D姿态, 然后将其发布到话题 /tf 和 /tf_static . joint_state_publisher从ROS参数服务器中读取robot_description
参数, 找到所有non-fixed joint, 发布他们的 JointState 消息到 /joint_states 话题
每个坐标系之间使用tf进行左边转换.