在tertlebot3下用URG-04-LX的gmapping建图

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"/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值