下肢外骨骼机器人足底压力感知系统设计研究
2021-10-09袁德宇何洪军
方 略,袁德宇,何洪军,高 旭
(中国电子科技集团公司第二十一研究所,上海 200233)
0 引言
下肢外骨骼机器人的功能是在人体背负重物的情况下减轻人体的负重感。足底压力传感器的信息为机器人的步相判断提供依据,控制算法根据步相信息发送相应的控制命令。因此,实时、准确地采集足底压力传感器信息,对于下肢外骨骼的控制尤为重要[1-2]。为此,本文设计了一款下肢外骨骼机器人足底压力感知系统。基于压阻式压力薄膜传感器特性,设计了分压电路;基于TMS320F2812芯片,设计了模拟/数字(analog/digital,A/D)采样电路和RS-232串行接口电路;基于LabVIEW14.0,编写了上位机界面。A/D转化后的数据通过RS-232串行接口电路与上位机软件通信实现足底压力信息的实时监测[3]。
1 系统总体设计
系统总体框架如图1所示。下肢外骨骼机器人足底压力感知系统主要由压力传感器及其外围电路、TMS320F2812控制模块、RS-232串口通信模块、基于LabVIEW的上位机软件模块4个部分组成。
图1 系统总体框架图
TI官方推出的TMS320F2812芯片是一款定点32位的数字信号处理(digital signal process,DSP)芯片。该芯片内部集成有丰富的外设资源。下肢助力外骨骼机器人足底压力感知系统设计中,主要应用12位精度的A/D转换模块和RS-232串行接口模块。信号采集模块感应到压力薄膜传感器敏感区的压力变化。压力变化转化为薄膜压力传感器电阻变化。薄膜压力传感器串联分压电阻,基于分压电阻得到分压电阻的电压量。该电压量对应某一个具体的压力值。模拟电压量输入到TMS320F2812内置的12位A/D转换电路进行模数转换,计算得到传感器的当前时刻压力值。压力值和对应的模拟电压信号通过RS-232串行接口电路与上位机软件模块进行实时通信。上位机软件实时监测传感器的压力值和电压值信息。
2 系统硬件电路设计
2.1 压力传感器及其外围电路
薄膜压力传感器的主要特性是:当其敏感区感受到压力时,薄膜压力传感器电阻发生变化。薄膜压力传感器串联分压电阻,基于分压电阻得到分压电阻的电压量。该电压量即对应某一个具体的压力值。因此,在使用薄膜压力传感器进行足底实际压力值大小测量时,需要设计相应的外围电路对薄膜压力传感器进行标定,得到压力值和输出电压值的一个函数曲线关系。薄膜压力传感器的标定会在后面试验中详细描述。薄膜压力传感器外围电路原理如图2所示。
图2 薄膜压力传感器外围电路原理图
图2中:R1为薄膜压力传感器;R2为分压电阻,通过电压跟随器得到分压电阻的电压值,再通过低通滤波将模拟量输入TMS320F2812的A/D采样端[4]。
2.2 TMS320F2812控制模块
控制模块选择的是TMS320F2812芯片,内部集成有16路12位精度的A/D转换模块和2个RS-232 串行接口等丰富的外设资源,性能稳定,满足应用需求。TMS320F2812芯片模拟电压输入值介于0~3.0 V之间,传感器输出模拟信号经稳压二极管NUP4201MR6限定幅值,在0~3.0 V范围内输入A/D采样端口[5]。模拟信号采集电路如图3所示。
图3 模拟信号采集电路
对TMS320F2812内部的A/D转换模块的采集方式、序列发生器的工作模式、时钟分频和采集通道数等参数进行相应设置后,实现模数转换。TMS320F2812采集到的足底压力所对应的模拟电压值和模数转换后结果寄存器中的数字量换算关系如式(1)所示[6-7]。
(1)
式中:Dresult为结果寄存器中的数字量;UInput为输入模拟电压值;DLO为参考电平,实际使用时,通常与AGND连在一起,此时DLO的值为0。
2.3 RS-232串口通信模块
RS-232串口通信接口电路模块实现了上位机与控制模块之间的数据通信。利用TMS320F2812芯片的SCIA,基于MAX3232芯片设计了RS-232串口通信接口电路[8-9],如图4所示。
图4 RS-232串口通信接口电路
DSP2812的SCIA模块是8位的异步串行通信接口,能够实现半双工、全双工通信,及64 kbit/s通信传输速率。SCIA模块的收发可以通过查询和中断的方式实现。本文采用查询的方式实现足底压力的数据发送。
设置SCIA模块的波特率为9 600 bit/s,数据格式为8位数据位、1位停止位和无奇偶校验位。SCIA模块的串口发送程序如下:
while(1)
{
while(SciaRegs.SCICTL2.bit.TXEMPTY==0){}
SciaRegs.SCITXBUF=((A/DcRegs.RESULT0>>8)&0x00FF);
SciaRegs.SCITXBUF=(A/DcRegs.RESULT0&0x00FF);
......
}
2.4 上位机软件设计
LabVIEW的功能模板包含串行通信常用的功能模块,在LabVIEW中用VISA模块实现数据的收发工作。VISA库中的常用串口通信函数主要有VISA配置串口、VISA读取和VISA关闭[10]等。
通过VISA配置串口和读取程序框图将模块采集板采集到的电压数据信号传送至计算机。
模数转换器(analog to digital converter,ADC)结果寄存器中存放的模拟电压数字信号的值为12位,而发送过程中SCIA模块发送数据寄存器和发送移位寄存器都是8位的寄存器,所以在发送过程中依次发送结果寄存器中的高8位和低8位数据。上位机接收到高、低8位数据后进行重组计算,得到实际的电压采样值,从而实现足底压力数据的读取和显示。串口数据读取程序框图如图5所示。
图5 串口数据读取程序框图
3 试验结果分析
试验中用到的柔性压力传感器由杭州宇博科技有限科技公司生产,型号为REF604DW07GD。该传感器的量程为10 kg。基于该传感器,设计了如图2所示的外围电路。
标定过程的实现如下:通过压力机向薄膜压力传感器敏感区施加10 N、20 N、30 N、40 N、50 N、60 N、70 N、80 N、90 N和100 N的压力值;通过设计的硬件电路采集板分别采集各个压力下传感器外围电路的输出电压,得到10组输入压力值和输出电压值之间的数据关系,如表1所示。
表1 10组输入压力值和输出电压值之间的数据关系
根据以上10组数据,在MATLAB中通过最小二乘法拟合得到薄膜压力传感器所受压力。薄膜压力传感器所受压力和输出电压之间的函数关系曲线如图6所示。
图6 薄膜压力传感器所受压力和输出电压之间的函数关系曲线图
该曲线函数如式(2)所示。
Y= 1 494X3-7 467X2+12 430X-6 871
(2)
式中:X为电压值,V;Y为压力值,N。
得到该函数关系后,将该函数关系写入数据采集板。数据采集板通过采集电压信号得到薄膜压力传感器所受压力的大小。
通过采集一路脚底压力薄膜传感器的模拟电压信号,计算得到实时的压力值,将采集到的模拟电压信号和压力值实时显示在上位机界面上。本文选择的是DSP2812的SCIA模块与计算机进行通信,在DSP程序中设置波特率为9 600 bit/s,数据格式为8个数据位、1个停止位和无奇偶校验位。计算机与DSP2812进行通信,LabVIEW配置串口为COM3,波特率、数据格式都与DSP2812的SCIA模块保持一致。接收电压信号程序框图如图7所示。
图7 接收电压信号程序框图
DSP2812的SCIA模块将采集到的模拟电压数字量传输给计算机,并且在上位机界面中的缓冲区实时显示。LabVIEW前面板功能实时显示足底压力传感器电压动态响应波形图和压力传感器实时压力值的大小。前面板采集电压实时波形如图8所示。图8中显示的是某一段时间内脚底压力传感器在受力情况下输出电压动态响应曲线图。从界面显示的电压波形可以看到,在时间轴为“742”时刻所采集到的电压值为1.82 V。将该电压值代入式(2),可计算得到此时电压对应的压力值为24.589 8 N。从上位机界面的压力值显示框中可以读到当前时刻脚底压力传感器的压力值为24.492 9 N,误差精度为0.096 9%,由此证明该设计能够满足足底压力实际测量的需求。
图8 前面板采集电压实时波形图
4 结论
基于下肢外骨骼机器人控制的实时采集和监测足底压力信号的需求,在数据采集硬件电路和上位机监测软件的基础上设计了一款下肢外骨骼机器人足底压力感知系统。试验表明,下肢外骨骼机器人足底压力感知系统能够准确地采集到足底压力的实时信息,并且能够通过上位机软件对采集到的数据进行实时显示。该感知系统作为下肢外骨骼机器人的重要组成部分,对下肢外骨骼机器人的后续控制策略具有重要意义。