基于ROS的hector-slam使用Kinect V1建图

距离值在ROS中被称为scan,并且姿态(位置+方向)信息会根据相对坐标关系而改变,因此被称为tf(transform)



一.建图实际操作

 

  1. 下载源码测试源码,depthimage_to_laserscan,参考https://blog.youkuaiyun.com/u010925447/article/details/56494680
  2. 解压到你的ros工作空间路径中。
  3. 使用catkin_make编译功能包。
  4. 分析launch文件,修改使其在自己的平台上可用:参考https://www.jianshu.com/p/429e59d48322
  5. 运行launch文件 启动转换节点:roslaunch depthimage_to_laserscan sample_node.launch(包含主节点和深度相机启动节点)

二.利用深度相机仿激光数据创建地图

 

  1. 下载hector_slam_example:下载地址 https://github.com/chenxingzhe/hector_slam_example,编译(cmake)(无需里程计即可建图,核心节点hector_mapping订阅/scan话题)
  2. sudo apt-get install ros-indigo-hector-slam
  3. Install the dependency packages:rosdep install hector_slam_example
  4. 在启动之前如果你用的是kinect,那就修改一下launch文件
  5. 然后就是roslaunch hector_slam_example hec
ROS使用ORB-SLAM进行定位和,需要将相机的像数据发布到ROS中,然后订阅这些像数据,将其传递给ORB-SLAM进行处理。 首先,你需要使用ROS中的相机驱动程序来获取相机的像数据,并将其发布到ROS中。你可以使用任何ROS支持的相机驱动程序,例如USB相机驱动程序或者网络相机驱动程序。在获取到相机像数据后,你需要将它们以像话题的形式发布到ROS中,例如使用`sensor_msgs/Image`消息类型来发布像数据。 然后,你需要在ORB-SLAM节点中订阅这些像话题,并使用ORB-SLAM进行处理。在ORB-SLAM节点中,你需要订阅相机的像话题,例如使用`ros::Subscriber`来订阅`sensor_msgs/Image`消息类型的话题。然后,你需要将这些像数据传递给ORB-SLAM进行处理。ORB-SLAM使用这些像数据进行定位和。 在ORB-SLAM节点中,你还需要发布ORB-SLAM的位姿信息和地数据,以便其他节点订阅并使用。你可以使用`ros::Publisher`来发布ORB-SLAM的位姿信息和地数据,例如使用`geometry_msgs/PoseStamped`消息类型来发布ORB-SLAM的位姿信息,使用`nav_msgs/OccupancyGrid`消息类型来发布ORB-SLAM的地数据。 总之,使用ORB-SLAM进行定位和需要以下几个步骤: 1. 使用ROS相机驱动程序获取相机像数据,并以像话题的形式发布到ROS中。 2. 在ORB-SLAM节点中订阅相机像话题,并使用ORB-SLAM进行处理。 3. 在ORB-SLAM节点中发布ORB-SLAM的位姿信息和地数据,以便其他节点订阅并使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值