slam学习

最近学习增强现实(AR),从各种渠道学习相关的知识,这里也记录一下,方便后面自己查看


SLAM,即Simultaneous Localization and Mapping,及时定位与地图创建

写slam相关的程序,可以在linux环境下,例如ubuntu,会用到的库可能包括OpenCV, PCL, g2o

PCL就是Point Cloud Library啦,处理点云的必备工具。PCL官网(http://pointclouds.org)

还记得几个月前搞了opencv的库,读入一张图片,进行了canny边缘检测的尝试,配好依赖,写程序简单,就是读入一个图像,然后调用opencv中的canny函数就可以了。

【图像转换为点云】

将图像转换为点云,是后期处理地图的基础。最简单的点云地图即是把不同位置的点云进行拼接得到的。

当我们使用深度相机:RGB-D相机时,会从相机里读到两种数据:彩色图像和深度图像。例如 Kinect和ros

(kinect它是一种3D体感摄影机(开发代号“Project Natal”),同时它导入了即时动态捕捉、影像辨识、麦克风输入、语音辨识、社群互动等功能。

Kinect Kinect
玩家可以通过这项技术在游戏中开车、与其他玩家互动、通过互联网与其他Xbox玩家分享图片和信息等。

ROS(Robot Operating System,下文简称“ROS”)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。
ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。

相机姿态:


R
R
t t 是相机的姿态。 R R 代表旋转矩阵, t t 代表位移矢量
### 关于SLAM学习教程与入门指南 对于希望深入理解并掌握SLAM技术的人来说,存在多种途径可以获取高质量的学习资料和支持。下面是一些建议: #### 利用开源项目作为学习起点 一个非常有价值的资源来自于名为《自己动手做一台SLAM导航机器人》的项目指南[^1]。此文档不仅提供了详细的理论讲解和技术实现细节,还包含了具体的实例操作说明,帮助读者逐步建立起自己的SLAM实验环境。 #### 探索专门针对SLAM的技术社区和工具集 slam-tricks是一个被广泛推荐的知识库,适合各个层次的研究人员和技术爱好者使用[^2]。这里汇聚了大量的实战经验和技巧分享,能够加速个人技能的成长过程。 #### 针对特定主题的在线课程 如果倾向于结构化的教学方式,则可以选择参加一些专业的培训计划。例如,“具身智能”系列课程就非常适合那些渴望全面了解包括但不限于SLAM在内的前沿科技的人士[^4]。这些课程通常会提供系统的知识点覆盖,并配有讲师指导下的实操环节。 #### 实践案例分析 为了更好地理解和应用所学知识,可以通过具体应用场景加深印象。比如,在点云数据处理方面,Point Cloud Library (PCL) 提供了一套完整的解决方案框架,涵盖了从输入输出到可视化等多个重要步骤[^5]。熟悉这类实用型软件包有助于提高解决实际问题的能力。 ```python import pcl cloud = pcl.load_XYZRGB('test_pcd.ply') # 加载点云文件 filter_voxel_grid = cloud.make_voxel_grid_filter() filter_voxel_grid.set_leaf_size(0.05, 0.05, 0.05) filtered_cloud = filter_voxel_grid.filter() # 对点云进行体素化降采样过滤 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值