首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于ARM9的嵌入式仿人机器人传感器系统设计

基于ARM9的嵌入式仿人机器人传感器系统设计

0 引 言
    传感器技术是仿人机器人研究的关键技术之一。仿人机器人之所以能在已知或未知的环境中完成一定的作业功能,是因为它能够通过传感器感知外部环境信息和自身状态,获得反馈信息,实现系统的闭环控制。目前在仿人机器人中应用的传感器种类繁多,例如视觉传感器、电子罗盘、加速度计和超声波传感器等都是仿人机器人中常用的传感器。
    DF-1机器人是我院自主研制的一款仿人机器人。本文首先对DF-1机器人总系统进行了介绍,然后根据DF-1机器人需要实现的功能,设计DF-1机器人的传感器系统,然后实现传感器系统的具体工作电路,利用ARM9实现了传感器系统信息的采集,最后对传感器系统的效果进行了试验验证。

1 DF-1仿人机器人简介
    DF-1机器人模仿人体外形结构,利用舵机结构实现人类关节的功能,如图1所示。DF-1身长45 cm,共设有17个自由度,具体分配为:踝关节2×2=4个自由度,膝关节2×1=2个自由度,胯关节2×2=4个自由度,肩关节2×2=4个自由度,肘关节2×1=2个自由度,头部1个自由度。DF-1机器人内部采用ARM9微处理器,主要用来完成信息的融合、决策和规划等任务。DF-1机器人已经能够实现的功能有步行、做俯卧撑、上楼梯、打太极拳,这些功能的实现是建立在:DF-1机器人具有良好机械结构基础上的,通过人工调试,设定具体程序完成的。为提高机器人动作的稳定性,实现DF-1机器人的智能控制,需要对机器人配置传感器系统,使机器人能够感知自身状态和外界环境。


2 传感器系统设计
    DF-1机器人的胸腔部位安装了三个超声传感器,分别用来测量机器人正前、左前和右前方向的障碍物。在该传感器系统中,采用了ARM9微处理器作为信息的采集、数据预处理和通信单元。由于超声波传感器存在多次反射问题,在超声波相对应的位置安装了三个红外测距传感器用来解决这一问题。传感器系统获取的信息采用定长字节格式通过RS 232接口传送给上位机。传感器系统的基本结构如图1所示。

2.1 加速度计传感器
    判定机器人姿态的传感器有陀螺仪和加速度计等传感器,由于陀螺成本较高,而DF-1机器人在运动变化上较为缓慢,故本文采用了成本较低的加速度计来感知机器人的姿态。加速度计是物体运动测试中的重要元件,它的输出与物体的加速度成比例。传感器系统所采用加速度计的具体型号为AD公司生产的双轴加速度计ADXL202。ADXL202具有两种输出,一种是从XFILT和YFILT引脚输出模拟信号;另一种是直接从XOUT和YOUT引脚输出经调制后的DCM信号。在具体使用中,选用了加速度计的DCM信号输出,这样就可省去使用模拟信号需要引入的A/D转换环节,简化了电路设计难度。
2.2 超声传感器
    用来测距的传感器主要有红外传感器、超声波传感器、激光测距仪等,为了能在测量距离的同时判断出物体的大致形状,应设计成多传感器测距系统。考虑到机器人的安装空间以及成本问题,主要选用了超声波传感器进行距离的测量。
    超声波传感器主要用来完成机器人到周围障碍距离信息的测量,超声波在测距过程中存在多次反射问题,即超声波遇到障碍物体时,没有沿着原路返回发射接收点,而是经过多次反射后才返回发射接收点,这样测量到的距离信息不再真实,情况严重时会“丢失”目标。本文选用DEVANTECH公司生产的SFR05。SFR05的体积小,信号稳定,便于在机器人中安装,而且SFR05的测量距离为1 cm~4 m,在最小测量距离上可认为该传感器不存在盲区。
2.3 红外传感器
    为了弥补超声传感器在测距中多次反射的问题,在超声波相对应的位置安装了三个红外测距传感器。当超声波传感器测量的距离远远大于同方向上红外传感器测量的距离时,可以据此推断出超声波已经进行了多次反射,并用红外传感器测量的距离信息来取代超声波传感器的信息。本文使用的红外传感器为SHARP公司生产的GP2D12,可测距离为10~80 cm。GP2D12加上电源就可工作,输出电压为0.3~2.8 V。GP2D12传感器在测量距离时受外界光强度、物体外表反射率及物体颜色的影响较小。




3 软件实现
    传感器系统数据采集与处理单元采用ARM9微处理器,主要完成以下功能:实现对加速度计的控制和加速度的测量,并根据加速度值,计算机器人的倾角;实现对超声波传感器的控制,完成距离信息的计算;实现对红外传感器的控制,完成距离信息的获取;对获得的倾角、超声波测距和红外测距数据,按照规定的通信协议发送给上位机,程序主流程如图3所示。


    程序首先要初始化,主要包括系统时钟的选择、管脚的分配、中断优先级、定时器时钟和工作方式的选定等。在ARM9内部资源中,具有PCA定时器单元和A/D单元,这些方便了对本传感器系统的数据采集。防止超声波传感器之间发生串扰,对超声波传感器采用轮流测量的方式。由于超声波传感器的工作周期为50 ms,当工作时间少于50 ms时,超声波传感器会误认为下次测量发送超声波产生的干扰为本次的回波,造成距离测量上的失真,而红外传感器建立电压的时间只需要5 ms,所以在编程上,利用定时器0产生50 ms延迟,依次对3对超声波传感器和红外传感器进行数据采集。由于加速度传感器和红外、超声传感器之间是独立的,而且数量只有一个,它的采集过程只依赖于PCA捕捉模块捕捉到的时刻,所以加速度计信息的采集和预处理工作可贯穿于150 ms以内。在完成对传感器系统的信息采集和预处理后,还要将获取的数据发送给上位机,为上位机的决策提供必要的数据。
4 实验验证
4.1 加表实验
    由于当机器人倾斜的时候,重力加速度会在加速度两轴上产生分量,这时加速度值为Ax=gsin α和Ay=gsinβ。在加速度计水平放置的时候,Ax=gsin α,由于条件的限制,很难使加速度计达到绝对水平。在α=0附近,sin α变化幅度大,这样会影响标定效果,而在a=π/2附近,sin α变化幅度较小。为了得到较好的加速度计标定效果,采用了竖直标定的方法,即将PCB电路板用细线悬挂起来,分别得到g和-g时的值,通过计算就可得到加速度在0g时的值。由于ADXL202的输出含有高斯白噪声,应用直接采来的数据会有较大的误差,因而需要对采集来的数据进行处理后再加以应用。
    通过平均值滤波可降低噪声的影响,假设Xi为直接采集来的数据,Yi为平均值滤波后的数据,Yi=(∑xi)/n,由概率论知识可知,EYi=EXi,DYi=DXi/n。从中可看出平均值滤波的效果与平均点数n有关,n越大,滤波效果越好。考虑到机器人的运动情况,可取n=15,即噪声的方差变为原来的1/15。图4是DF-1机器人在运动过程中获取的倾斜角度值。其中L1表示了机器人的俯仰角度,L2表示了机器人的横滚角度。



    由于DF-1仿人机器人体型较小,运动较为缓慢,在障碍距离测量上,能够对付2 m以内的障碍就可满足应用要求。在2 m以内不同距离上放置平面障碍,利用超声波和红外传感器测量这些距离信息,测得的距离与实际距离如表1所示。

    从表中可以看出,超声波测量距离的误差在2%以内,红外传感器测量距离的误差在4%以内,可以满足DF-1仿人机器人的应用要求。

5 结语
    本文针对DF-1机器人要实现的功能,基于ARM9微处理器设计了传感器系统。试验结果证明,本传感器系统基本可以满足机器人的功能需求,具有一定的应用价值。具备传感器系统的DF-1机器人对外界环境和自身状态有了一定的感知能力,为上位机进行动作决策提供可靠的依据,提高了机器人的智能性。
返回列表