定位是根据先验的环境信息,结合当前的机器人位置信息以及传感器输入信息,准确地确定机器人位姿的过程。可靠定位是移动机器人研究中备受关注和富有挑战性的一个重要研究主题。
机器人定位技术可分为绝对定位和相对定位技术两类,绝对定位主要是采用导航信标、主动或被动标识、地图匹配或卫星导航技术(GPS) 做定位。相对定位是经过测量机器人相对于初始位置的距离和方向来确定机器人的当前位置,通常也称为测程法。绝对定位和相对定位各有优缺点,具有互补性,将两者结合能形成更加准确可靠的定位系统。本实验模块的设计就是先用测程法进行相对定位,然后利用电子罗盘进行纠正。
本设计对应的机器人是前后轮独立驱动的,在两个后轮的内侧分别装上两个光电开关。本设计中应用的光电开关[1]是集发射器和接收器于一体的光电传感器。轮子的轴线根,当轮子旋转轴线阻挡了光电开关的发射器发射的光线时,光电开关输出端会产生一个从低到高的跳变,单片机的计数器会对此种跳变进行计数。根据计得的数就可以算得轮子转过的圈数,从而能够分别算出机器人左右轮移动的距离。从而能够得出机器人转过的角度等等,进而能得出机器人的准确位置。由于轮子存在打滑现象,并且轮间距,轮径,几何中心的重合精度也会带来一定的误差,而本设计中电子罗盘的作用就是对机器人移动的角度误差进行适时地纠正,减少误差。
本实验用的处理单元是AT89C2051。 AT89C2051是一带有2K字节闪速可编程可擦除只读存储器,高性能8位CMOS微型计算机。它有2个16位的计数器,15根可编程的I/O口线个中断源。通过在单块芯片上组合通用的CPL1和闪速存储器,ATMELAT89C2051是一强劲的微型计算机,它对许多嵌入式控制应用提供一高度灵活和成本低的处理方法。用到的电子罗盘为TDCM3,有8个引脚,3种模式状态,设计中应使RX=1,即选取状态为normal mode。本设计中还用到了NE555P组成的单稳态电路,用于对光电开关产生的开关信号进行整型,消除干扰。硬件电路结构图如下图所示:
假设轮直径为2R,轮子的轴线,在时间内光电开关输出的脉冲数为N,车轮运行的距离为S,L为小车左右轮的间距,则有:
图中A(x,y,α )为小车后轮轴的中点,α 为小车中轴与X轴的夹角,SL,S,SR分别为小车左轮、小车、小车右轮的运行距离,假设小车在水平面内做纯滚动运动,在时间内小车从A点到B( x + Δx, y + Δy,α + Δα )点,则有
定位主程序处于无限循环中,每经过一段延时时间,对电子罗盘TDCM3和T0 T1进行读数,然后数据送入2051做处理。TDCM3有三种工作模式,程序中应令RX=1即进入Normalmode。Init()为初始化函数,DelayTime()为延时子程序,Get_dir()为TDCM3读角度子程序,process()为AT89C2051处理子程序,flag为状态标志。TR1和TR0为计数器T1 和T0启动控制位。程序流程图如下图所示:
定位的硬件模块设计并制做完成后,为了测试模块的性能,可以在AT89C2051单片机的端口接上由MAX7219和LED组成的显示模块,将程序烧写到2051中后,定位模块测得的数据会显示在LED上。该定位模块成本低,定位的测量误差基本能满足误差的要求,可以在应用于诸多场合。
本文对定位模块的设计办法来进行了阐述,重点介绍了定位模块的软硬件设计及相应的算法。测程法在短期内能提供很高的定位精度,但其无限的误差累积是最大的缺点,而将光电开关测得的数据信息与电子罗盘测得的角度信息进行融合,可以轻松又有效地克服这一缺点。在测程法中由于做了一些近似,会带来一定的舍入误差,所以在计算时要使用双精度数据以减小这一误差。
本设计是基于测程法的定位模块的设计,但是存在界的累积误差,而用电子罗盘对其角度进行修正,可以轻松又有效地减小误差。
本设计中用到了由NE555P组成的单稳态电路,能够很好地滤除突发脉冲的干扰,从而使得2051对电子开关产生跳变的计数更加准确。
关键字:编辑:什么鱼 引用地址:基于AT89C2051单片机和GPS技术实现机器人定位模块的设计
3各种PID控制 这节将介绍常规PID,史密斯补偿控制,模糊控制等,C语言程序及程序中变量均放在单片机中,没有用到扩展内存,由于STC89C52单片机的程序存储器容量为8K,所以,程序限制在8K以内,数据存储器用到了低128字节RAM和高128字节RAM(C语言中用idata声明),也用到了内部扩展256字节RAM(C语言中用xdata声明)。 3.1理想PID控制 PID算法如下: Gc(s)=Kc(1+1/(Ti*s)+Td*s) PID算法的数值计算方式是将∫用Σ代替,de用Δe代替,dt用Δt代替,因此理论上讲只有Δt趋于零时,才得到理想PID算法,但实际上,即无可能,也无必要,做到Δt趋于零,究
玩PID控制—从理想PID控制至先进PID控制_7 /
第一个问题,究竟要玩哪一个芯? 今年真是变幻莫测的一年,芯片的真是流水账的价格,一天一个样,翻翻自己的抽屉,一堆的板卡,不知玩弄哪一个,一直想玩弄一下新塘的片子,可惜论坛没怎么做过新塘的开发板评测活动(也有一定的可能做过,可能我只是一个新人),看到很多项目都用N76E003这个片子,今天就来研究一下,给大家一个提示哈,别指望我写太深的东西! 先来介绍一下新塘官方的样板:NuTiny-SDK-N76E003,究竟长啥样子,看下面的图就知道了,有一种一份为二的冲动,的确有时候也能这么玩,设计的初衷就是让你掰着玩的。 板卡长这样(虽然我没有) 这块板卡我虽然没有具体用过,也没有拿到新塘官方的样板,但是这颗Target Ch
随着电子技术的发展,MP3播放器向着大容量,小型化发展。但播放器与存储器一体化的设计使得MP3难以扩充容量以容纳更多的歌曲。将播放器与存储器分离是MP3目前发展的另一方向。本文介绍了一种利用AVR控制以HOST USB方式读取U盘的音乐文件并将其解码的播放的解决方案。本方案同时具备读取音乐标签,U盘电子书,贪吃蛇游戏等功能,具有商业经济价值。 1系统功能简介 本设计主要完成对存储在U盘中的音乐及文本等信息的读取操作,能完成U盘内MP3音乐数据的播放及标签信息的显示,实现播放器与存储器分离,并在此基础上完成电子书,贪吃蛇游戏等功能。 2系统芯片选择 本设计MCU选择ATMEL公司的ATmega64作为主控芯
的U盘MP3设计与实现 /
近几年,MCU产品研究开发客户的设计周期不断缩短、上市速度不断加快,在这种情况下,分销商仅仅提供参考设计已经不能够满足客户的需求。目前,MCU产品开发非常需要产品集成开发环境的支持。面对新形势,国内知名分销商在提供MCU集成开发环境方面做了很多工作,通过自行开发或者原厂提供的方法加快客户产品的上市周期。同时,针对8位和32位MCU应用的不同需求,分销商也采用不同的服务策略,力争实现用户的多种需求。 提供强大开发环境 简单、易用、功能强大的开发工具和开发环境是保证客户MCU应用产品研究开发成功的关键。因此,益登科技、丰宝、武汉力源等国内知名分销商很注重提供此类产品。 益登科技资深业务工程师冯重农在接受《中国电子报》记者采访
1、PIC单片机振荡电路中如何明智的选择晶体 对于一个高可靠性的系统模块设计,晶体的选择很重要。尤其设计带有睡眠唤醒(往往用低电压以求低功耗)的系统。这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振。这一现象在上电复位时并不特别明显,原因是上电时电路有足够的扰动很容易建立振荡;在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易。在振荡回路中晶体既不能过激励(容易振到高次谐波上)也不能欠激励(不容易起振)。晶体的选择至少一定要考虑谐振频点、负载电容、激励功、率温度特性、长期稳定性 2、怎么样来判断电路中晶振是否被过分驱动? 电阻RS常用来防止晶振被过分驱动。过分驱动晶振会渐渐损耗减少晶振的接触电镀,这将引
随着现代工业的发展和社会进步,人类对电能种类的需求持续不断的增加,如要求电能有多种制式:直流稳压电源、交流工频电源、中高频感应加热电源、高压电解电源等,而且需求的数量也在持续不断的增加。要提供这些制式的电能,就要有许多不同的电源变换装置。此外,为满足各种电气设备对电源的特别的条件,也需要一些装置对电源进行变换和控制。这些装置品种繁多,其原理和构造各不相同,且一般只有有限的功能,难以相互替代。因此,设计出一种通用的电源装置,使它在原理和结构上不作改动即能提供多制式的电源,具备极其重大的现实意义 。然而,利用60年代的晶闸管以及70年代的自关断器件(如GTR、GTO)构成的电气装置,由于器件的工作频率低下,难以逾越20kHz这一大关,因而效率较低,原材
和PSD设计的数制化电源 /
随着世界计算机技术和信息技术的发展,全球的信息时代已来临,各国都在高科技领域制订对自己最合适的发展道路,我国政府正在致力于国民经济信息化的建设,以“金卡工程”为代表的信息化应用工程使我们加速向全球经济一体化迈进。作为金卡工程的代表,IC技术无疑是当今世界最优秀应用技术。它从早期的投币式,过渡到磁卡式,直到现在的IC卡式。IC卡即智能卡,又称集成电路卡,它将一个集成电路芯片镶嵌于塑料基片中,封装成卡的形式,其外形与覆盖磁条的磁卡相似,开发IC卡技术的最大的目的是实现现金支付和存兑的电子化、减少现金的流通量、实现电子商务、实现公用事业预付费等。 IC卡燃气表是近十几年发展起来的新型燃气表,一般由计量传感器电路、微功耗单片机、微功耗阀门
的智能IC卡燃气表中的应用 /
一。 指针变量的定义 指针变量定义与一般变量的定义类似,其形式如下: 数据类型 [存储器类型1] * [存储器类型2] 标识符; [存储器类型1] 表示被定义为基于存储器的指针。无此选项时,被定义为一般指针。这两种指针的不同之处在于它们的存储字节不同。一般指针在内存中占用三个字节,第一个字节存放该指针存储器类型的编码(由编译时由编译模式的默认值确定),第二和第三字节分别存放该指针的高位和低位地址偏移量。存储器类型的编码值如下: 存储类型IIdata/data/bdataxdatapdataCode编码值0x000x010xFE0xFF [存储类型2]用于指定指针本身的存储器空间。 1、 char * c_ptr; int *
指针变量的定义及应用 /
(刘宏新主编)
研讨会 : 用于感测应用 带可配置信号链元素的新型 MSP430™ MCU
报名赢【挂灯、浴巾】等好礼|TI MSPM0家用电器和电机控制应用详解
参赛冲击【万元大奖】啦|2023 DigiKey“智造万物,快乐不停”创意大赛
2023 DigiKey KOL 系列——将TinyML融入IoT物联网应用中
Microchip 喊你快来打造你的理想型单片机,智能门铃、百元京东卡等【80份】好礼等你赢!
【下载】LAT1289 Keil、IAR、CubeIDE中变量不被初始化方法
【下载】LAT1288 STM32 G474中Triggered-half模式的实现
【下载】LAT1309 一步一步创建STM32WBA BLE_Custom工程
【课程】STM32 & X-Cube-TouchGFX GUI开发实践
【直播】STM32H5系列:强大的ARM® CORTEX®-M33 MCU让高性能和安全性唾手可得
【直播】STM32U5系列扩充新成员-探索更安全,更高效,更节能的设计
【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性
【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU
【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®
STM32Cube.AI开发者云:只需四个步骤,轻松将AI集成到MCU
射频识别技术,主要是一种非接触式的自动识别技术,在其应用的过程中,需要在电磁原理的基础上利用射频信号来对目标对象进行信息的获取, ...
短距离无线传输具有抗干扰性能强、可靠性高、安全性好、受地理条件限制少、安装灵活等优点,在许多领域存在广泛的应用前景。低功耗、微 ...
自动追踪红外线源机器人主要由三部分所组成:红外线感应接收部分、微处理器和电机驱动部分。各部分功能:红外线感应接收部分检测载波频率 ...
摘要: 在场效应管关断后让LED的负极电压升高,使得LED关闭。当场效应管导通时,LED的负极电压被拉低,使得LED发光。PWM调节方式使得驱动 ...
1 引言定位是根据先验的环境信息,结合当前的机器人位置信息以及传感器输入信息,准确地确定机器人位姿的过程。可靠定位是移动机器人研究 ...
AT89C52单片机与PC机之间的无线单片机对足浴器温度控制管理系统的设计
综合资讯51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程