研一小白,课题暂定为SLAM方向,而且大概是水面环境的SLAM技术,还不大清楚应该去了解哪方面的内容,先自己搭建一个简单的实验平台跑跑各种算法,了解一下slam技术。

搭建了一台阿克曼小车,使用了某宝wheeltec店铺的车模以及驱动板
传感器使用的是激光雷达,思岚A1M8的,最普通的版本
底盘控制使用的是STM32F103C8T6单片机,运行了一个FreeRTOS系统
底盘上搭载的传感器有编码器(13线霍尔编码器)和陀螺仪(MPU6050)
此外还有一个微型PC作为slam算法和ROS的运行平台,我使用的Jetson nano(4GB)
小车的架构不是很难,调试了一周半基本以及都完成了,当然后续应该还会再单片机上加入一些数据处理的算法,值得一提的是这个车架的舵机结构有点鸡肋,前轮的稳定性也不是很够,需要改进一下。
开发板上安装了Ubuntu18.04以及melodic版本的ROS,目前已经试着跑通了gampping算法,下面两张图是扫的2D图像(没跑完时建的图),以及实景场地


在建图过程中也是发现了一些问题:
图像在转弯时经常会出现严重的便宜,建成的图像会整个旋转一个角度,导致建图失败了。
图像会出现沿行进方向的平移,这个大概率是因为编码器的值不准确或是轮胎打滑所造成的。
接下来的工作安排:
跑完常用的激光雷达slam算法,试着对比集中算法在建图中的不同。
试着搭一个更大的场地。
开展一些理论的学习研究,寻找水面slam技术的发展方向。
试着运行一些视觉slam算法
最后
希望能得到大佬的指点,也欢迎各类伙伴一起学习。