1.驱动激光URG-04-LX
hokuyo-node对其的驱动只限与ubuntu14.04以下版本,对于kinetic并不适用
具体操作流程如下
第一步:打开一个新终端,配置ROS环境变量;
source ~/catkin_ws/devel/setup.bash
第二步:从github下载源代码到~/catkin_ws/src文件夹下并通过catkin_make编译;
cd ~/catkin_ws/src
git clone https://github.com/ros-drivers/driver_common.git
cd …
catkin_make
cd src
git clone https://github.com/ros-drivers/urg_node.git
cd …
catkin_make
第三步:修改串口权限;
sudo chmod a+rw /dev/ttyACM0
第四步:打开一个新终端,运行roscore;
source ~/catkin_ws/devel/setup.bash
roscore
第四步:打开一个新终端,运行urg_node节点;
source ~/catkin_ws/devel/setup.bash
rosrun urg_node urg_node
PS:这时可能会显示无法找到端口ACM0,此时搜索找到urg_node_driver.cpp找到相应的ACM0改为USB0即可。然后需要重新catkin_make
第五步:打开一个新终端,查看是否正常接收雷达数据;
source ~/catkin_ws/devel/setup.bash
rostopic echo /scan
关键在于在源码文件的修改,因为这决定串口是否可以直接连接。
以上内容参考https://blog.csdn.net/qq_42703283/article/details/84404328
注意点:a. driver_common.git urg_node.git 切忌两个文件分开下载。
b. 编译失败可能缺少这两个依赖包
sudo apt-get install ros-kinetic-urg-c
sudo apt-get install ros-kinetic-laser-proc
c 在以上过程中注意要关闭掉原来的激光雷达,只驱动URG04
2. 参考chuangkezhizao的https://www.ncnynl.com/archives/201707/1848.html 完成tertlebot3基础配置
会发现在远程PC上运行slam.launch时, rviz上会产生一个laser错误,原因是里程的TF转换有误,gmapping需要正确的里程数据。故而在下面的launch文件中添加如下代码,这样方可运行。
turtlebot3_slam.launch
<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"/>