ros激光雷达建图基本步骤

1.先根据雷达类型,下载相应的雷达驱动;
2.创建激光雷达的串口别名(这一步不是必要步骤,只不过方便后面程序文件中的表示,比ttyUSB端口更容易辨认);
3.制作雷达驱动启动文件,以rplidar为例:


  "rplidarNode"          pkg="rplidar_ros"  type="rplidarNode" output="screen">
  "serial_port"         type="string" value="/dev/ttyUSB0"/>  
  "serial_baudrate"     type="int"    value="115200"/>
  "frame_id"            type="string" value="laser"/>
  "inverted"            type="bool"   value="false"/>
  "angle_compensate"    type="bool"   value="true"/>
  

  "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"/>

其中主要注意的几个点如下:
serial_port:后面的值是雷达插的相应的usb端口名,如果前面创建过串口别名,也可以写相应的串口别名。
frame_id:注意后面值的对应关系。
tf参数设置:tf后面的args参数需要根据实际的机器人和雷达的相应位置进行修改,具体修改方法参考ros wiki。

4.制作建图导航启动文件,该启动文件主要有三个部分组成:
laser driver:上面制作的雷达驱动程序
Gmapping:建图启动程序
move base:导航启动程序

制作完以上文件后,就可以进行激光雷达建图导航了,下面以turtlebot为例:
启动机器人:

roslaunch turtlebot_bringup minimal.launch

启动上面制作好的建图导航启动文件:

roslaunch turtlebot_navigation rplidar_gmapping_demo.launch

启动键盘或游戏手柄,方便控制机器人运动建图(以下以手柄为例):

roslaunch rbx1_nav joystick_teleop.launch 

启动rviz,实时查看建图情况:

roslaunch turtlebot_rviz_launchers view_navigation.launch

你可能感兴趣的:(ROS学习)