网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

自主机器人自定位模块的设计

  摘要:介绍了基于AT89C2051微处理器的机器人自定位模块的设计方法。为了解决用到的测程法存在*累计误差的问题,将光电开关测得的信息与电子罗盘测得的角度信息进行融合,提高了定位的精度。通过硬件和软件的设计及具体实现证明了该方法的可行性和很好的鲁棒性。

  1 引言

  定位是根据先验的环境信息,结合当前的机器人位置信息以及传感器输入信息,准确地确定机器人位姿的过程。可靠定位是移动机器人研究中备受关注和富有挑战性的一个重要研究主题。

  机器人定位技术可分为绝对定位和相对定位技术两类,绝对定位主要采用导航信标、主动或被动标识、地图匹配或卫星导航技术(GPS) 进行定位。相对定位是通过测量机器人相对于初始位置的距离和方向来确定机器人的当前位置,通常也称为测程法。绝对定位和相对定位各有优缺点,具有互补性,将两者结合能形成更加准确可靠的定位系统。本实验模块的设计就是先用测程法进行相对定位,然后利用电子罗盘进行纠正。

  2 定位原理及硬件设计

  2.1定位原理

  本设计对应的机器人是前后轮独立驱动的,在两个后轮的内侧分别装上两个光电开关。本设计中应用的光电开关[1]是集发射器和接收器于一体的光电传感器。轮子的轴线共有6根,当轮子旋转轴线阻挡了光电开关的发射器发射的光线时,光电开关输出端会产生一个从低到高的跳变,单片机的计数器会对此种跳变进行计数。根据计得的数就可以算得轮子转过的圈数,从而可以分别算出机器人左右轮移动的距离。从而可以得出机器人转过的角度等等,进而可以得出机器人的准确位置。由于轮子存在打滑现象,并且轮间距,轮径,几何中心的重合精度也会带来一定的误差,而本设计中电子罗盘的作用就是对机器人移动的角度误差进行适时地纠正,减少误差。

  2.2定位模块硬件设计

  本实验用的处理单元是AT89C2051。 AT89C2051是一带有2K字节闪速可编程可擦除只读存储器,高性能8位CMOS微型计算机。它有2个16位的计数器,15根可编程的I/O口线,5个中断源。通过在单块芯片上组合通用的CPL1和闪速存储器,ATMEL AT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的解决办法。用到的电子罗盘为TDCM3,有8个引脚,3种模式状态,设计中应使RX=1,即选取状态为normal mode。本设计中还用到了NE555P组成的单稳态电路,用于对光电开关产生的开关信号进行整型,消除干扰。硬件电路结构图如下图所示:

达普IC芯片交易网 www.ic72.com

  3、定位算法介绍

  假设轮直径为2R,轮子的轴线数为6,在时间内光电开关输出的脉冲数为N,车轮运行的距离为S,L为小车左右轮的间距,则有:

  算法分析图如下:

达普IC芯片交易网 www.ic72.com

  图中A(x,y,α )为小车后轮轴的中点,α 为小车中轴与X轴的夹角,SL,S,SR分别为小车左轮、小车、小车右轮的运行距离,假设小车在水平面内做纯滚动运动,在时间内小车从A点到B( x + Δx, y + Δy,α + Δα )点,则有

达普IC芯片交易网 www.ic72.com

   4 软件流程

  定位主程序处于无限循环中,每经过一段延时时间,对电子罗盘TDCM3和T0 T1进行读数,然后数据送入2051进行处理。TDCM3有三种工作模式,程序中应令RX=1即进入Normalmode。Init()为初始化函数,DelayTime()为延时子程序,Get_dir()为TDCM3读角度子程序,process()为AT89C2051处理子程序,flag为状态标志。TR1和TR0为计数器T1 和T0启动控制位。程序流程图如下图所示:

达普IC芯片交易网 www.ic72.com

  5 显示测试

  定位的硬件模块设计并制做完成后,为了测试模块的性能,可以在AT89C2051单片机的端口接上由MAX7219和LED组成的显示模块,将程序烧写到2051中后,定位模块测得的数据会显示在LED上。该定位模块成本低,定位的测量误差基本可以满足误差的要求,可以在应用于诸多场合。

  6 结论

  本文对定位模块的设计方法进行了阐述,重点介绍了定位模块的软硬件设计及相应的算法。测程法在短期内能提供很高的定位精度,但其无限的误差累积是最大的缺点,而将光电开关测得的数据信息与电子罗盘测得的角度信息进行融合,可以有效地克服这一缺点。在测程法中由于做了一些近似,会带来一定的舍入误差,所以在计算时要使用双精度数据以减小这一误差。

热门搜索:PS240810 2839240 48VDCSPLITTER N060-002 CC2544RHBR TLP808NETG 2804623 TLP1210SATG 6NX-6 BT-M515RD SBBSM2120-1 SS240806 TLP606B 01T5001JF UL800CB-15 PS3612RA 01M1002SFC2 RBC11A SBBSM2106-1 2839211 LED12-C2 PS361220 2839570 2838319 BT137S-600D118
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质