基于CAN总线的仿人机器人力信息检测系统
扫描二维码
随时随地手机看文章
在国家863计划支持下,国防科技大学机器人实验室于2003年研制出一台新型仿人机器人;同时与合肥智能机械研究所合作,在该机器人脚掌上安装了可检测地面反力信息的集成五维力/力矩传感器。本文通过对仿人机器人运动控制系统结构和传感器电路结构的分析,提出了一种基于CAN总线的力信息检测系统;通过实验表明,该力信息检测系统能够满足力信息采集的基本要求,为其他外部环境信息的采集建立了一定基础。
仿人机器人控制结构分析与外部传感信息采集结构
将仿人机器人控制系统的大开环变成大闭环对控制系统的上位计算机处理能力、上下位机与传感器信息之间的传输通道结构以及传感器信息采集与处理提出了挑战。它要求上位计算机具备实时多任务处理能力,控制系统具有便于扩展的多传感器信息采集与处理通道。增加外部信息传感器是控制结构改进的最基本条件。
增加外部信息传感器,首先要在现有控制系统硬件结构的基础上,扩展外部信息采集与处理模块,形成开放的分层信息采集与处理结构。结构的底层节点由多个传感器信息采集和预处理模块(包括解耦和滤波等)构成,得到的处理信息通过合适的物理通道传送到决策层计算机,形成一个从环境信息到机器人动作序列产生的过程。
选择实时性强且易于扩展的物理通道,可以增强控制系统的外部传感扩展能力。在仿人机器人运动控制系统中,上下位机之间通过PC/104总线和RS232串行总线交换信息。当系统需要扩展外部传感器时,由于PC/104总线的有限驱动能力,通过PC/104总线只能扩展相当有限的外部信息传感器且扩展不便(涉及到地址的重新分配等问题);RS232串行总线不能满足高速实时信息传输与处理要求,因此考虑采用现场总线方式,如CAN总线,作为外部信息传输通道,同时设计其与上位机的通信接口。理想信息采集结构如图1所示。
图1 理想的信息采集网络
图1所示的信息采集结构,具有较强的易扩展性和较高容错性能。每一个外部信息传感器都可以独立设计;在整个信息采集结构中,每个模块都是对等的,之间可以点对点通信;上位机可对各个传感器信息处理模块的广播,信息处理模块的增减不会对整个信息传输通道产生影响,有利于传感器及其处理模块的扩展和维护。另外,从底层通信协议角度而言,这种采集结构亦具有较高容错性能。
力/力矩传感器的电路结构及工作原理
五维力/力矩传感器的电路结构如图2所示。传感器基本采集处理原理:当传感器受到外力或外力矩作用时,弹性体产生形变,导致全桥桥路中的应变片阻值发生改变,改变桥路输出电压;桥路输出电压通过前置滤波与放大进入SoC,通过A/D变换得到的数字信号通过CAN总线或
RS232传输到上位机。
力/力矩传感器与控制系统的电路接口设计方法
接口电路的基本功能
仿人机器人底层控制器与上位机接口采用PC/104总线方式,力/力矩传感器信息传输采用CAN总线结构,因此需设计CAN总线与PC/104总线之间的接口,实现已有控制系统与传感器之间的通信及对力/力矩信息的预处理,如图3所示。
图2 传感器电路原理
图3 接口电路基本功能和结构
接口电路的硬件结构与基本设计原理
综合考虑接口电路对主处理器的要求,如对力/力矩信息的实时处理能力、外设扩展能力等,选用TMS320LF2407作为主处理器,通过对CAN总线和双端口RAM的读写控制,实现力信息的读取、预处理和上传。接口电路基本原理如图4所示。[!--empirenews.page--]
选用TMS320LF2407作为主处理器。它采用实时信号处理体系结构,可达到30×106条指令/s的执行速度,供电电压为3.3V,功耗低,片内外设中集成有控制器局域网络(CAN)2.0B模块和SCI模块。
传输数据主要包括两个力/力矩传感器的五维力信息和经过预处理得到的数据,因此双端口RAM选用IDT7132(2K×8bit)。一个端口接PC/104总线的数据线、低位地址线、高位地址译码产生的选通信号以及读写信号,译码通过MAX7032,根据上位机的空闲地址分配RAM地址;另一个端口接经过电平转换的DSP数据线低位地址线、高位地址译码产生的选通信号以及读写信号,通过SN74LV08A译码,分配的地址为F800~FFFF,通过SN74LV245A完成总线驱动和电平转换。
图4 接口电路原理图
图5 力信息采集与预处理基本流程
选取PCA82C250T作为驱动CAN控制器和物理总线间的接口,提供对总线的差动发送和接收功能。同时利用DSP的SCI模块扩展了一路RS232串口,选用3.3V供电的RS232驱动器MAX3320作为串口驱动器,与PC机进行通信。
接口电路的软件流程
接口电路驱动程序中,首先对DSP进行初始化设置,包括定时器初始化和CAN模块初始化以及在IDT7132中设置平滑数据队列等;然后向发送邮箱中写入0或1,即对传感器清零或者请求发送数据;接收到数据之后,将数据从接收邮箱中读入平滑数据队列中,进行平滑数据处理,供上位机查询和读取。
在DSP的初始化设置中,首先通过设置MCR寄存器来配置CAN引脚;初始化位定时器主要是设置寄存器BCR1和BCR2,决定CAN控制器的通信波特率、同步跳转宽度、采样次数和重同步方式。对邮箱的初始化主要是设置邮箱的标识符;对发送的数据区赋初值,需要清零传感器返回值时,数据区赋值0,需要读取数据时,数据区赋值1。发送信息首先要使能发送邮箱,然后设置发送请求位,等待发送中断标志位置位,若为1,则发送成功,最后清除发送中断标志位和发送应答位。接受信息时,要对接收邮箱进行初始化,设置标识符以及与标识符相关的局部屏蔽寄存器(LAM);然后等待接收中断标志位MIFn置位,若MIFn=1则接收成功,最后清除接收中断标志位和接收信息悬挂位。接收数据后,根据传感器解耦矩阵完成数据解耦及平滑滤波。
根据文中提出的设计方法,已设计相应的电路,实现了对力信息的实时采集和传送。所设计的系统能够完成力信息采集和平滑预处理工作,但还没有加入对力信息的数字滤波设计。通过对所采集的力信息数据的特性分析,下一步将在软件流程中增加数字滤波部分,使获取的力信息能够更加真实地反映机器人所受到的地面反力信息,使力信息能够应用于仿人机器人的大回路控制。