ROS使用hector_slam+衫川雷达建图(二)——树莓派上运行雷达

在树莓派上运行雷达的步骤与PC上运行的步骤完全相同。
重点在于添加了ROS多机通讯

本文主线

1.ROS多机通讯
2.树莓派上SLAM


一、ROS多机通讯

在树莓派上跑SLAM首先要完成多机通讯的配置,有关ROS多机通讯的博客很多,但个人总结下来最简洁的方法是:

①将树莓派设为主机,PC设为从机;

②分别在各自的 /etc/hosts 文件中添加对方的 IP 和 name (测试能否相互ping通)

③在从机(PC)上的 .zshrc / .bashrc 中设置 ROS_MASTER_URI
详细步骤请参考:https://blog.csdn.net/qq_43481884/article/details/108895044

原因(坑):
1、将PC设为主机,树莓派设为从机,则树莓派上无法使用 roslaunch命令,这将带来极大的麻烦。需要在launch文件中使用 <machine>标签指定运行机器,并提供环境变量文件 env-loader,已有的 launch 文件都得修改;而在PC机上,即使ROS_MASTER_URI 不是本机,只要树莓派启动 roscore 并能正常通讯,则PC机仍旧可以使用roslaunch 命令(不知道为什么,请大佬们指教)。
2、树莓派算力较低,利用 ssh + vncviwer 的远程操作十分缓慢,修改配置文件十分难受,而且出现修改后,环境变量长时间未更新,source命令多次也没用的情况。

二、树莓派上SLAM

主线:
1.树莓派上开启雷达节点
2.树莓派上开启控制小车运动节点
3.电脑端启动 hector 节点
4.电脑端启动 rviz 显示小车模型


1.树莓派上开启雷达节点 (发布 /scan)

开启自己的雷达即可,例如

roslaunch delta_lidar delta_lidar.launch
2.树莓派上开启控制小车运动节点

注意,如果使用 hector_slam 则不需要里程计信息,启动小车运动节点就是为了移动建图而以;如果使用 gmapping ,则需要提供里程计信息 /odom ,则还需启动自己写的相关节点来发布 /odom。

ros_launch car_move.launch
3.电脑端启动 hector 节点

请参考上篇博文,对实际参数进行配置。

roslaunch robot_description hector_slam.launch
4.电脑端启动 rviz 显示小车模型
roslaunch robot_description display_arm.launch

并在 rviz 中订阅 /scan 、 /map 等话题,移动小车,即可建图。

在这里插入图片描述

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值