<launch>
<node name="hokuyo" pkg="hokuyo_node" type="hokuyo_node" respawn="false" output="screen">
<!-- Starts up faster, but timestamps will be inaccurate. -->
<param name="calibrate_time" type="bool" value="false"/>
<!-- Set the port to connect to here -->
<param name="port" type="string" value="/dev/hokuyo"/>
<param name="frame_id" type="string" value="laser"/> <param name="intensity" type="bool" value="false"/> </node> <node pkg="tf" type="static_transform_publisher" name="base_to_laser" args="0.0 0.0 0.18 0 0.0 0.0 base_link laser 100"/></launch>
投入了接近一天的时间,总算把这个场景搞定了,虽然还有一点小问题,但不影响大局
得意于ros的架构,不同节点间除了topic和service相互独立,可以把这个场景看成四个独立的应用。
第一部分:kobuki,使用命令就可以拉起:
roslaunch turtlebot_bringup minimal.launch
发布topic :/odom
发布tf transform :
odom frame transform:由kobuki nodelete根据读取的左右轮子的电机编码器脉冲数据和陀螺仪数据,计算出来的。如果换个robot,也可以自己设定计算公式。
base_footprint(也就是所说的base_frame):根据odom transform 得出的robot 的transform
base_link :robot上的各个设备和关键位置都基于此坐标系,是base_footprint的子节点。
tf图和hector图
第二部分:hokuyo
2.1. 下载代码: