APP下载

ATmega16与PC机的移动机器人定位系统研究*

2010-03-20张磊蒋刚肖志峰叶登金

单片机与嵌入式系统应用 2010年12期
关键词:码盘PC机移动机器人

张磊,蒋刚,肖志峰,叶登金

(西南科技大学制造科学与工程学院,绵阳621010)

引 言

移动机器人定位系统的可靠性决定机器人工作的可靠度。目前,机器人定位系统的通信多使用串口通信的方式。串口通信速度较慢,通信正确率波动较大,且易受干扰。所以定位系统以CAN总线作为桥梁,使AVR与PC机能快速通信,有机结合,功能互补。AVR单片机AT-mega16做底层数据采集有它简单性与廉价性的特点。ATmega16与PC连为一体的系统设计又使系统有较好的兼容性,基于PC平台的机器人其他程序可以较好地融合进来,通用性较好。定位系统所用定位航迹算法是用光纤陀螺仪感应机器人角度变化,被动光电码盘计算机器人坐标位置;超声波传感器在有标记位置消除定位误差,起辅助定位作用。

图1 基于ATmega16的数据采集节点

1 传感器数据传输系统设计

光纤陀螺仪、被动光电码盘和超声波传感器输出数据由ATmega16的I/O口PA 1读入,如图1所示。

数据经AT-mega16处理后通过CANL及CANH[1-2]接口将数据传送给PC节点,如图2所示。

图2 CAN总线与PC机数据接口

2 定位算法

2.1 航迹推算

设机器人形体中心当前位置为点p0(x0,y0,θ0),在Δt时间内移动到点p1(x1,y1,θ1);θ1是机器人从x0到x1的角度增量,是陀螺仪在Δt内测量得到的;Δt时间内被动码盘计量的位移为L;机器人转弯半径设为R,O为转弯中心。图3(a)中,机器人走直线,这种情况比较简单。

图3 基于码盘+陀螺仪的定位算法

其坐标变换如下[3]:

图3(b)中,机器人走曲线的情况,其航迹推算如下:

当然根据转弯方向的不同,式(8)有所不同。式(8)可更改为:

2.2 超声波辅助定位算法

超声波传感器放置在机器人的前端,如图4所示。CAN总线的数据传输方式使添加超声波传感器数据采集节点方便可行,不需要改变其他数据采集点的程序。

图4 超声波传感器定位

根据余弦定理

其中θ′表示机器人位置相当地标1的角度变化。地标的位置在机器人运行轨迹的两侧。在机器人轨迹有2处定位误差校正点。这些地标位置确定,当机器人靠近地标时,可以用公式(10)求机器人精确坐标。

3 算法实现步骤

Step1:ATmega16采集光纤陀螺仪数据,总线传输数据。

Step2:采集被动码盘数据,数据发送至CAN总线。

Step3:PC机接收陀螺及码盘数据,根据2.1节算法进行机器人定位运算;是否接受超声波传感器数据,接受超声波数据程序转Step4,不接受超声波校正数据程序转至Step1。

Step4:接受超声波传感器数据,进行定位误差校正;根据第2节算法,修正移动机器人定位误差,程序转Step1。

4 实验结果及分析

4.1 数据来源

机器人实验场地为地板砖地面。实验场地坐标及场地中地标位置如图5所示。在“*”位置进行定位误差校正。

图5 实验场地坐标

4.2 结果分析

在上述工作场地用两种不同的定位系统分别作了20次定位实验:定位系统1为单片机与PC间通信采用串口通信方式;定位系统2为本文所设计定位系统结果如表1所列。

表1 两种定位系统定位结果对比

两种定位方法因为实验相同的定位算法,所以定位精度没有太大区别。机器人在使用定位系统2的软、硬件进行定位时20次实验成功率100%;而定位系统1成功率只有90%,有两次机器人飞车。

结 语

本文详细阐述了基于ATmega16和PC机的移动机器人定位系统的电路与定位算法。基于CAN总线的定位系统工作的机器人能较可靠运行;根据需要可以方便增添传感器节点,而不改动其他节点程序。

[1]凌威,赵向阳.AVR单片机的CAN总线分析仪设计[J].单片机与嵌入式系统应用,2008(9):54-57.

[2]范伟成,王文良,沈孟良.基于ATmega128单片机的CAN总线接口设计及应用[J].测控技术,2008,27(10):48-50.

[3]王晓娟.基于多传感器信息的移动机器人定位研究[D].杭州:浙江大学,2010.

猜你喜欢

码盘PC机移动机器人
移动机器人自主动态避障方法
三角码盘定位机构相对于十字码盘的准确度分析和补偿计算
DA42NG飞机空调系统组成及日常维护
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
基于Twincat的移动机器人制孔系统
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
VIVID3彩色超声仪结构原理及维修
轧机码盘改造的探讨与实践
极坐标系下移动机器人的点镇定