新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > ATmega16与PC机的移动机器人定位系统研究

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

作者:时间:2013-11-12来源:网络收藏

引言  

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

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

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

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

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

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

2 CAN总线与PC机数据接口
2 定位算法
2.1 航迹推算
  设机器人形体中心当前位置为点p0(x0,y0,θ0),在Δt时间内移动到点p1(x1,y1,θ1);θ1是机器人从x0x1的角度增量,是陀螺仪在Δt内测量得到的;Δt时间内被动码盘计量的位移为L;机器人转弯半径设为RO为转弯中心。图3(a)中,机器人走直线,这种情况比较简单。

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

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

其坐标变换如下[3]:

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

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

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

2.2 超声波辅助定位算法  

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


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭