作者:彽丶蜩哋嫙侓 | 来源:互联网 | 2023-09-07 07:52
一、 系统设计 关键部件:
2 关键技术选型 2.1 基于二维码+轮子里程计的机器人定位方案 主流方案 效果 循线 根据电磁线行走存在路线固定的问题 纯视觉 室内相似场景较多,存在重定位问题 纯激光 成本高,存在漂移,环境中移动物体过多时容易出错 UWB 定位误差十几厘米,信号容易遮挡 视觉二维码 + 轮子里程计
对比后最优方案是 视觉二维码+轮子里程计
基于二维码+轮子里程计方法,主要的传感器数据来源是机器人顶部的摄像头采集到的二维码图像信息以及轮子里程计在一个时间片内的脉冲数。轮子里程计信息属于高频信息,图像为低频信息。 根基机器人运动学来将轮子信息计算得到机器人的速度和位置,从图像信息中提取二维码的ID与位置,同时结合之前的二维码信息以及上一时刻的机器人位置来估计机器人坐标与新观测到的二维码坐标。 估计二维码的坐标通常采集的两幅图像之间会有十几帧轮子的信息,为降低计算量,我们可以采用滑动窗口的方法将采集的图像与轮子里程计数据放入窗口内,假设一个窗口中总共有十帧有效图像,将窗口中的机器人基于图像推测的状态和基于轮子信息推测的状态进行最小二乘优化,为降低计算量,可以采用谷歌的ceres库和eigen库来进行计算。
2.2 机器人建图方案 所谓建图就是定一个原点,然后测量出室内所有二维码标签相对于原点的空间坐标。 在选择机器人的位置后,通过控制机器人在室内移动,来实时计算机器人的位置以及室内二维码的位置,实现二维码slam的过程。 将机器人走的轨迹以及二维码坐标都保存在图片中。
建图技巧 :在建图时最好让机器人走的轨迹形成一个闭环,这样slam算法会将机器人位置与整个地图中的二维码标签坐标进行优化,从而提高地图的精度。同时在建图过程中先让机器人走一些小环,然后再走一些大环,会比只走一个大环的效果要好。建图过程中走的轨迹要尽量远离障碍物,
2.3 机器人避障方案 方案一: 深度相机 在机器人下方安装深度相机,保证深度相机的视野可以覆盖机器人下一个控制周期内可以到达的位置空间。为了充分利用深度相机的视野,通常将相机斜向上30-45度安装,可以检测到地面以上的障碍物和空中的干扰物体。
方案二:激光雷达
2.4 主控系统方案 方案一:采用工控机 + linux + ros + qt,该方案适合应用于前期的功能验证,但是后期随着附加功能增多,开发效率会降低,成本变大。 方案二:全志arm主板+android + app,该方案便于后期的运维以及良好的人机交互体验,基于Java开发app也可以简单快捷。将上面开发的机器人定位导航系统打包成可执行程序,然后将机器人位置以及相关交互信息通过Restful接口与应用层程序进行通信。 在android中通过开发者模式进入调试工具中来调试日志,用户模式来给用户进行人脸识别,点餐送餐,点歌曲等app的使用。
2.5 机器人底盘方案 底盘包括电气控制和机械结构。 采用单片机作为底盘的嵌入式控制器,以说stm32f4系列为例,需要具备电机编码器接口,CAN接口,串口,电源管理系统,电机控制接口等。
2.6 相机自标定系统(应用于大批量生产中) 2.7 机器人定位校准系统(应用于大批量生产中) 2.8 机器人建图交互和地图修改软件(应用于大规模推广中) 2.9 配送app开发(餐厅实际使用中) 2.10 多机调度系统(应用于多机器人在拥挤室内工作) 2.11 机器人大数据管理系统(将机器人日常的数据采集到云端)