张占胜 王宁佳 李峰 李啸林
摘要:本文设计适合复杂环境的移动机器人定位系统,机器人采用STM32F103单片机为主控芯片,使用以惯性传感器MPU6050为主的定位模块,完成机器人硬件系统的设计和硬件电路的搭建,并结合硬件部分完成机器人算法设计,建立机器人的实时行进状态控制模型。最终机器人可在复杂环境下的进行平面定位导航,很好的解决地面上工作的机器人对位置精度要求较高的问题。
关键词:惯性传感器;复杂环境;STM32F103;平面定位
0 引言
近年来,随着工业的不断发展,移动机器人已经在工业、军事、生活等各方面得到广泛的运用。尤其是在一些不适宜人类进入的复杂环境下需求很大,同时对机器人位置的检测精度,以及行走的航线精度也有了进一步的要求,因此研究适合复杂环境的移动定位机器人很有应用价值。
本文研究的机器人具有定位准确,成本低廉的优点。本研究利用惯性传感器采用主动控制技术,通过对机器人建立坐标系运动加速度和角度采集和计算来确定移动机器人的位置,能够满足在一系列有范围的场地内或者一些具有潜在危险而不适合人类亲自进入的环境中的工作需求。
1 硬件设计
本设计主要的控制系统主要包括供电模块,主控模块,平面定位模块,电机驱动模块以及和上位机相连接的串口模块,整体设计结构如图1所示。
主控模块使用意法半导体(ST)公司出品的STM32F103系列单片机,其内核是Cortex-M3,该内核的优点是高性能、低功耗、低价格。
供电模块主要服务于三个部分——主控模块3.3V,定位系统5V,电机驱动12V。在这里我们设计了一个稳压电源电路(如图2),用到的是LM1117芯片,LM1117是一个低压差电压调节器系列,可通过2个外部电阻可实现1.25~13.8V输出电压范围。
平面定位模块主要用于惯性导航,平面定位,集成了惯性传感器(MPU6050)——陀螺仪、加速度计、编码器等多种传感器(如图3)。通过滤波、融合等方法,可以解算出定位系统中心在其坐标系中的位置姿态信息。
MPU6050为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时间轴之差的问题,减少了大量的封装空间。
2 软件设计
软件部分是基于FreeRTOS嵌入式实时操作系统的三层结构——硬件驱动层、操作系统层和应用功能层。硬件驱动层,其主要负责各个硬件模块和通信接口的配置与读写程序。操作系统层为开源的机器人操作系统(FreeRTOS)。FreeRTOS系統可以提供任务管理、时间管理、信号量、消息队列、内存管理等功能,可满足本研究的需要。应用功能层,机器人的所有基础功能都在这一层实现,负责调用驱动层程序和操作系统接口完成外设数据读取,进而实现数据滤波、地图构建、机器人导航、机器人定位等。软件流程图如图4所示。
3 惯性导航定位的实现
适合复杂环境的移动机器人的研究采用惯性导航的定位方式实现准确的二维平面空间机器人相对定位。实现步骤如下:
①系统初始化。
②初始化完成后,采集用于运动控制器件定位原始数据;进行原始数据的稳定性处理,主要包含有滤波处理、多轴之间去交叉干扰处理、温度补偿处理等。
③进行定位算法,根据三轴陀螺仪原始数据以及上一定位点位置数据计算出运动控制器件目前定位点相对于上一定位点的相对位移。
④利用加速度计的得到的数据,计算目前运动控制器件的姿态角,获得运动控制器件当前定位点绝对位置的相对位移误差补偿量。
⑤根据计算获得的相对位移误差补偿量,补偿步骤③得到的运动控制器件目前定位点相对于上一定位点的相对位移,获得运动控制器件当前定位点绝对位置数据。
4 结束语
本文是在基于STM32单片机的开发平台上对适合复杂环境的移动定位机器人进行了硬件设计和软件调试。在现场实验中,本机器人能够反馈精确的位置信息,实现有效安全的路径规划,具有良好的应用前景。
参考文献:
[1]郭振昊.室内服务机器人定位和导航方案设计与实现[D].电子科技大学,2018.
[2]陈延国,于澎,高振东,张仁彦,王启龙.自主移动机器人定位方法的研究现状[J].应用科技,2002(11):41-43.
[3]徐胜生.室内服务机器人定位与导航的研究和实现[D].合肥工业大学,2012.
[4]陈赢峰.大规模复杂场景下室内服务机器人导航的研究[D].中国科学技术大学,2017.
[5]闫冬.基于加速度计的无陀螺惯性导航系统的研究[D].吉林大学硕士学位论文,2002.
[6]王志文,郭戈.移动机器人导航技术现状与展望[J].机器人,2003,25(5):470-474.
基金项目:“2019年辽宁省大学生创新创业训练计划”资助项目, 项目编号:201910149015。