欢迎来到学术参考网
当前位置:发表论文>论文发表

slam研究论文

发布时间:2023-03-07 14:32

slam研究论文

本文仅供学习使用,并非商业用途,全文是针对哈尔滨工业大学刘文之的论文《移动机器人的路径规划与定位技术研究》进行提炼与学习。论文来源中国知网,引用格式如下: [1]刘文之. 基于激光雷达的SLAM和路径规划算法研究与实现[D].哈尔滨工业大学,2018.

相关坐标系转换原理已经在前一篇文章写完了,直接上转换方程。

这里他的运动模型选择的是基于里程计的运动模型,还有一种基于速度的运动模型,其实都差不多,整体思想都一样。里程计是通过计算一定时间内光电编码器输出脉冲数来估计机器人运动位移的装置,主要是使用光电码盘。根据光电码盘计算出此时轮子的速度,然后通过已知的轮子半径来获得单位时间 每个轮子 的位移增量。

高等数学可知单位时间位移增量就是速度,对速度在一定时间上进行积分就得到这一段时间所走过的路程。

根据上图,我们可以求出来机器人航向角角速度、圆弧运动半径和机器人角度变化量,由此可以解的机器人在当前时刻的位姿。

实际上也是有误差,所以单独依靠里程计会与实际结果产生较大误差,所以必须引入其他的外部传感器对外部环境的观测来修正这些误差,从而提高定位精度。

首先肯定需要将激光雷达所测得的端点坐标从极坐标、机器人坐标中转换到世界坐标中。

这张略过,暂时不需要看这个

路径规划算法介绍:

因为该算法会产生大量的无用临时途径,简单说就是很慢,所以有了其他算法。

了解两种代价之后,对于每一个方块我们采用预估代价与当前路径代价相加的方法,这样可以表示每一个路径点距离终点的距离。在BFS搜索过程的基础上,优先挑选总代价最低的那个路径进行搜索,就可以少走不少弯路。(算法讲解 )

在局部路径规划算法之中,我们选用DWA算法(dynamic window approach),又叫动态窗口法。动态窗口法主要是在速度(v, w)空间中采样多组速度,并模拟机器人在这些速度下一定时间内的轨迹。在得到多组轨迹后,对这些轨迹进行评价,选取最优的轨迹所对应的速度来驱动机器人运动。 state sampling就是按照之前给出的全局路径规划,无论是Dijkstra还是A* 都可以方便的得到state sampling,DWA算法所需要提前建立的action sampling有两种:

但是无论是什么情况,上述所做的工作就是把机器人的位移转化到世界坐标中来,而不是机器人坐标系。速度采样结束之后,只需要对小车的轨迹进行评判,就可以得到最优解了。下面介绍速度采样的办法。

对速度进行采样一般有以下三个限制:

当确定了速度范围之后,就需要根据速度分辨率来对小车速度离散化,在每一时刻将小车在不同直线速度角速度组合下所即将要行驶的距离都可视化出来。

其中每一条轨迹都是很多小直线连接起来的。

需要用评价函数来对上述轨迹进行选择,选择最适合的轨迹

最后为了让三个参数在评价函数里所发挥的作用均等,我们使用归一化处理来计算权重。

算法流程整体如下:

slam研究重点在论文还是代码

代码。slam是定位与地图构建,研究内容是代码,所以重点是代码,不是论文,同时估计自己的运动。

本科毕业论文,选了基于slam的机器人算法研究,请问该怎么上手?

学视觉slam十四讲,把一些框架拿过来运行一下,再把框架之中的内容改成自己想要的即可。

机器人爆炸式增长的一个主要问题是不能在不同的机器人平台上重复使用代码。然而,ROS中的硬件抽象层及其消息服务允许创建可用于许多不同机器人平台的新代码。而且,ROS提供了一套稳定的机器人软件包,公认的SLAM评估方法都依赖于机器人社区可用的标准数据集。

所有SLAM的结果都使用占用网格作为最终输出,使用地图相似性的性能指标进行分析。 重点是放在地图质量,而不是姿态估计误差,因为映射输出受到本地化问题的高度影响。

SLAM的典型应用领域:

地图建模。SLAM可以辅助机器人执行路径规划、自主探索、导航等任务。国内的科沃斯、塔米以及最新面世的岚豹扫地机器人都可以通过用SLAM算法结合激光雷达或者摄像头的方法,让扫地机高效绘制室内地图,智能分析和规划扫地环境,从而成功让自己步入了智能导航的阵列。

国内思岚科技(SLAMTEC)为这方面技术的主要提供商,SLAMTEC的命名就是取自SLAM的谐音,其主要业务就是研究服务机器人自主定位导航的解决方案。

深度特征点法SLAM进展

目前特征点法SLAM开源框架就是ORBSLAM了。基本上没得挑,PTAM太老更麻烦,自己写精度上比不过主流水平。

ORB-SLAM是二值化的特征点,而训练出来的特征点一般为浮点值,这个是主要矛盾。
要么将ORB前端改了,由于在ORBSLAM系统中其实只有第一次初始化用到了原始描述点,其后就是用的BoW找到的对应,这个改成浮点描述子是可以完成的,而且速度上损失不会太多。
要么将深度网络二值化。

目前研究二值化论文挺多的,我研究下这个问题的需要其实只用二值化激活层就可以,权重不需要二值化。
二值化本身都会有精度上损失(具体任务不同),而如果只是有限的得到二值输出其实损失应该不会很高。
所以主要关注点是二值化网络最后一层

loss 函数就是hanming距离

训练十几个epoch的结果

其实网络还是能学到对应的,但是就是这个上限有点低啊。

在提取特征点描述patch时候,直接把边界值复制扩展比较好,因为这里面涉及到假设就是边界之外同边界大概率是相似的。

上一篇:文献是论文嘛

下一篇:浅谈三国毕业论文