荆欣蕊,张前进
(河南理工大学,河南 焦作 454003)
众所周知,位置感知在人们的日常生活中扮演着一个重要角色。那么如何实现对人和物的实时定位、高精度定位以及稳定定位便成了一个热门研究方向。室内机器人、AGV 小车、医院、停车场等设备以及场所也对定位有着相当高的要求。文中以小车为结构载体,设计了一款基于栅格地图与路径规划的室内定位小车。
本系统由小车部分和上位机部分两大部分组成。小车部分作为主要的控制对象主要完成按照上位机规划的路径坐标信息进行移动的任务,然后通过DW1000 定位芯片实时测量运动中小车与基站间的距离信息并传输给上位机;上位机完成的工作主要包括按照实际情况制作等比例的栅格地图、在制作的地图上可以实时显示小车的当前位置并且可以放置障碍和目标点,按照小车的当前位置和设置的目标点寻找最优路径并通过串口发送给小车。系统总体设计框图如图1 和2 所示。
图1 小车控制设计框图
本设计采用ST 公司的STM32F103 作为中央处理器,它的功耗很低,具有32 位ARM Cortex-M3 结构,有着高达64kB 的SRAM 和512kB 的FLASH、多个丰富的定时器(2 个基本定时器、2 个高级定时器以及4 个通用定时器)等,是一款性价比极其强悍的芯片,因此我们选择了它作为我们的中央处理芯片。
L298N 也是ST 公司的产品,其内容包含了4 通道逻辑驱动电路,含有两个H 桥的高电压大电流双全桥式驱动器,来接收标准的TTL 逻辑电平信号,而且还可以驱动46V、2A 以下的电机,使用PWM 信号即可实现电机的调速。本设计中该模块主要完成控制小车移动的工作。
图2 上位机控制设计框图
蓝牙模块是指具有用于短距离无线通信蓝牙功能的集成电路。本设计中使用的蓝牙模块为ATK-HC05-V11。该模块具有主从一体的特性,可以同多种携带蓝牙功能的智能终端匹配,性价比极高。且该模块使用方便,易于操作,因此选择其作为无线通讯的一种方式。
DW1000 单片无线收发芯片,是基于超宽带技术,支持实时定位系统中的物体,在室内精度为10cm,功耗低,电池可以支持长时间的运行,在本设计中该模块的主要作用是完成对小车的定位功能。
GY-901 模块由精度很高的陀螺仪、地磁场传感器和加速度计组成,它采用了高性能的微处理器和先进的动力学结算与卡尔曼滤波算法,可以快速求解出实时运动姿态,而且稳定性很高。在本设计中该模块的主要功能是实时检测小车的姿态,来控制小车走直线。
3.1.1 下位机开发软件是KeilμVision5
KeilμVision5 是美国 Keil Software 公司开发的产品,它是KeilμVision 的第5 代产品。它不仅支持C 语言编写,而且也为宏汇编等提供了完整的开发方案。作为新一代的嵌入式编程软件,KeilμVision5 为开发人员提供了简易的开发方式,极大提高了开发人员的开发效率。
3.1.2 上位机开发软件——Qt Creator
Qt Creator 是跨平台的Qt IDE,是Qt 被Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此IDE不仅可以跨平台运行,而且支持的系统包括Linux、Mac OS X 以及Windows。本设计中利用这个软件来完成开发任务。
下位机主要由小车和测距组成。小车的程序框图如图3 所示。小车调速是用的PWM 调速,PWM 又称脉冲宽度调制(Pulse Width Modulation),是一种在输出信号周期(使能输出周期和非使能周期的总和)不变的情况下,改变使能输出信号的周期和非使能周期,即改变使能输出周期占输出信号周期比例的大小,从而控制输出功率的方法,就是通过改变脉冲的占空比D=t/T,就可以改变电机的转速。测距部分程序框图如图4 所示。本设计中的DW1000 测距采用的是双向测距(double-sided Two-way Ranging)。
图3
图4
通过下位机,我们将DWM1000 模块测量的距离信息封装成帧通过串口发送给上位机在接收到数据后需要根据协议将每个基站间的距离和标签到基站的距离都计算出来,然后绘制栅格地图,我们需根据串口的位置信息在栅格地图中显示出来。
我们已知由基站0 到基站1 的距离,标签到基站0 的距离,标签到基站1 的距离组成的三角形各边的边长和由基站0 到基站2 的距离,标签到基站0 的距离,标签到基站2 的距离组成的三角形各边的边长,如图5 所示,则我们就可以通过海伦公式将小车的坐标实时展现出来。然后用A*算法进行路径规划,A*算法经常应用于路径查找和图形遍历,它有较好的性能和准确度。A*算法过程是首先遍历起点周围邻近的点,再遍历已经遍历过点的邻近点,然后按照这个过程逐步向外扩散,直到通过遍历找到终点。当上位机搜索完路径后,我们需要将规划的路径坐标发送给下位机,让小车去执行。
图5
本文通过对目前主流的室内技术进行比较与分析,并对超宽带定位技术的定位方法和定位算法进行了研究;对目前的定位算法进行了分析和比较,并使用A*算法对路径进行规划。但是定位技术和路径规划技术是综合诸多学科的技术,本文对其的研究尚存不足。在后续的学习工作中,将在超宽带定位技术和优化A*算法方面进一步探究,做更深层次的研究与学习。