仿人机械手的触觉传感器和关节驱动及控制系统设计与实现
2018-03-01肖南峰陈星辰
肖南峰,巢 娅,陈星辰
(华南理工大学 计算机科学与工程学院, 广州 510006)
仿人机械手作为仿人机器人的末端执行器,经历了若干代的发展,目前已进入了相对成熟的发展阶段,但是受其触觉传感器和关节驱动及控制系统的影响,仿人机械手执行任务的广泛性和复杂性还存在着诸多问题。由于现有的仿人机械手大多采用基于腱的传动方式和仿效人手的驱动原理,故存在以下缺点:① 腱的刚度有限;② 必须对腱进行预紧;③ 腱的张力和波动很大;④ 腱的机械特性和数量对于手的性能有较大影响。此外,一些高档仿人机械手的控制方法基本上是对手指尖处装配有独立力/力矩传感器的手指进行位置和力反馈控制或阻抗控制。但是,这些控制方法均没有考虑或控制手指和手掌表面上众多触觉点(触觉传感器)的接触力影响,这也极大地限制了仿人机械手的推广普及。
触觉传感器是仿人机械手感知外部环境的重要媒介,它对于仿人机械手正确地操作目标物体极其重要。在仿人机械手灵活自如运动的前提下,要求触觉传感器能够准确地感知外部环境,以便实现对目标物体的各种精准操作。迄今为止,国内外学术界对于触觉传感器构造、柔性敏感材料及其力学特性、触觉力数学建模和精确解耦等已经进行了广泛的探讨[1-15],目的是研制出具备多种测量功能的复合型触觉传感器,以便为仿人机械手提供获取更多外部综合信息和更加先进的触觉感知技术。为此,本文设计了一种具有柔性和触觉力及触摸检测能力的分布触觉传感器。同时,还要利用直流步进电机作为仿人机械手各个关节的驱动机构,并且要研制相应的单关节及多关节并发驱动控制电路及驱动控制算法。此外,在考虑手指和手掌表面上众多触觉点接触力的情况下,设计仿人机械手位置和力反馈及速度反馈控制等方法,以实现仿人机械手的抓、握、捏、夹、推、拉、插、按、剪、切、敲、打、撕、贴、牵、拽、磨、削、刨、搓等灵巧作业功能。
1 分布触觉传感器研究现状
触觉传感器研究始于20世纪70年代,此后有许多物理传感器开始应用于触觉传感领域[1]。触觉传感器研究现在所面临的最大问题在于柔性化、多维触觉信号检测及处理、融合方法。目前,国外许多学者从触觉感知机理、触觉传感材料、触觉信息获取、触觉图像识别、传感器实用化等方面进行了大量的研究,由此产生了很多新型的触觉传感器及触觉信号处理方法[2-14]。例如,加拿大Simon Fraser大学Dargahi[2]开发了由3片PVDF薄膜构成的触觉传感器;美国德克萨斯克里斯蒂安大学Kolesar和Dyson[3-4]开发了覆盖PVDF薄膜CMOS器件的8×8矩阵传感器,它能在50 ms内扫描64点数据,很适合于仿人机械手指应用,如图1(a)所示。日本东京大学Ando和Shinoda[5]利用超声波原理制作了结构呈柔软圆球状的触觉传感器,4块PVDF薄膜片组成的超声传感器矩阵镶嵌在物体重心,如图1(b)所示。
图1 国内外的各类触觉传感器
近年来,我国研制成功了以下几种触觉传感器:① 电容式触觉阵列传感器[6-7],其原理是通过受力使得极板间相对位移发生变化,从而使电容发生变化,通过检测电容变化量来测量触觉力,如图1(c)所示。② 光波导触觉传感器[8],其中单向力触觉传感器原理如图1(d)所示,当外力F作用于物体时,橡胶垫下部分圆锥触头阵列将产生形变,在压痕处形成光斑,CCD图像传感器摄取此光斑图像并送入计算机对橡胶垫进行力学分析,得到外力F与光斑面积之间的数量关系,并检测法向力大小。③ 光纤式触觉传感器[9],其对光纤内传输的光进行调制使光强度(振幅)、相位、频率或偏振态等特性发生变化,通过测量被调制过的光信号从而得出被测量,原理如图1(e)所示。④ 基于导电橡胶的柔性阵列触觉传感器[10-12],是由重庆大学杜彦刚等提出的3维力触觉检测传感器。中国科大徐菲等也采用“整体液体成型”技术设计了一种具有柔韧性和测量多维力特征信息能力的多维阵列触觉传感器,如图1(f)所示。⑤ 压阻阵列触觉传感器[13],是由杭州电子工业学院罗志增等提出的一种由外层薄橡胶、柔性电极、各向异性导电橡胶敏感层、阵列电极底板以及金属封装等组成的压阻式触觉传感器,如图1(g)所示。
2 分布触觉传感器硬件设计
分布触觉传感器是仿人机械手的核心组成部件,它类似于人手的皮肤。本节利用30个FlexiForce压力传感器[14](美国Tekscan公司生产的一种超薄型柔性压力传感器)和8个触摸开关传感器[15]来制作分布触觉传感器,以增加仿人机械手的触觉探测范围和提高探测精度。由于FlexiForce传感器的压迫点阻值受压后发生变化会产生交变电流,因此采用它来作为各个触觉点的检测机构。分布触觉传感器主要分布在5个手指和1个手掌与被抓取物体的直接接触点处。本节设计分布于5个手指和1个手掌上的所有触觉点配置及其相互关系,开发这些触觉点的触觉数据信号采集和传送及融合方法。分布触觉传感器设计主要解决触觉信号检测和传输及融合等问题。当仿人机械手各个手指和手掌上的所有触觉点配置确定后,要根据触觉点和导电机构来研制分布触觉传感器的检测控制电路,以及融合和处理来自于各个手指和手掌上触觉信号的算法。因此,检测出分布于各个手指和手掌上众多触觉点的触觉信号,融合和处理这些触觉信号以及各个手指尖处触觉力反馈是本节要解决的关键技术问题。
2.1 仿人机械手的触觉点配置
为了稳定地实现仿人机械手的各种灵巧作业功能,各个指尖表面采用曲面形式不可欠缺。因此,仿人机械手指外形采用薄铝板弯曲成平面,在手指尖及指腹部粘上薄塑料片等使其成为曲平面形状,如图2(a)所示。这样仿人机械手指可以像人手指一样抓握物品及完成各种灵巧的作业。触觉传感器和触摸开关传感器主要分布在仿人机械手的手指指尖和指腹及手掌,以便充分地贴合被抓物体,从而对物体受力情况进行感知,实现稳定抓取。仿人机械手触觉点配置为:拇指、食指、中指、无名指、小拇指尖和指腹及指根各设置1个触觉传感器,手掌上设置4个触摸开关传感器,如图2(b)所示。
图2 手指表面触觉传感器和触摸开关传感器配置
2.2 压力和触摸传感器结构
FlexiForce压力传感器[14]具有纸薄结构、灵活性和力测量能力,可以测量几乎任何2个表面之间的力,以及更好地力感测性能、线性度、滞后和漂移及温度敏感性,并且耐用性足以承受大多数环境,如图3(a)所示。它的有效传感区域是传感器末端的圆,由2层基板构成,该基板由聚酯膜(或在高温传感器情况下为聚酰亚胺)构成。在每一层上施加导电材料(银),随后施加压敏油墨层,然后使用粘合剂将2层基底层压在一起以形成传感器。在压敏油墨顶部的银圆圈限定“有源感测区域”。导电材料(银)从感测区域延伸到传感器另一端的连接器形成导电引线和可以焊接的方形针脚。此外,每路触摸开关传感器[15]如图3(b)所示,它是一个基于触摸检测IC(TTP223B)的电容式点动型触摸开关模块。该模块常态下输出低电平,模式为低功耗模式;当用手指触摸相应位置时,该模块会输出+5 V高电平,模式切换为快速模式;当持续12 s没触摸时,模式又切换为低功耗模式。每路触摸开关传感器具有如下特点:① 点动型:初态为低电平,触摸为高电平,不触摸为低电平;② 低功耗,供电电源可为2~5.5 V DC;③ 正反面均可作为触摸面;④ 控制接口有3个引脚,其中GND为地,VCC为供电电源,SIG为数字信号输出脚,触摸区域类似指纹的图标内部区域,手指轻轻触摸即可触发。
图3 FlexiForce压力传感器和1路触摸开关传感器
2.3 压力和触摸信号检测电路
1) 压力传感器检测电路[14]。将FlexiForce传感器集成到触觉力检测应用中的方法是将其结合到压力-电压电路中,将压力输出转换为电压工程单位。根据设置可进行调整以增加或降低传感器的灵敏度。检测电路如图3(c)所示,它由-5 V直流电源驱动。该电路使用反相运算放大器装置,以基于传感器电阻Rs和固定参考电阻Rf产生模拟输出。可以使用模数转换器将该电压转变为数字输出。在该电路中,可以通过改变参考电阻Rf或驱动电压VT来调节传感器灵敏度;较低的参考电阻或驱动电压将会使得传感器不太敏感,难于增加其有效力范围。在图3(c)中,FlexiForce传感器的动态力范围可以通过改变参考电阻Rf或通过改变驱动电压Vout来调节。经过运算放大器检出与压力对应的电压信号Vout后送给(北京瑞博华公司产)AD7202板A/D变换器,再由该公司产的IO700板I/O口送PC机进行分析和处理及融合,即可检测、融合、处理所有触觉点信号,实现仿人机械手的分布触觉机能。
特别要注意的是,FlexiForce传感器的整个传感区域被视为单个接触点。为此,施加的负载应均匀地分布在感测区域上,以确保准确和可重复的压力读数。如果负载分布在感测区域上变化,读数可能会略有不同。注意感测区域仅是传感器顶部的银圆。同样重要的是传感器被一致地加载,或每次以相同的方式加载。如果施加的负载覆盖区小于感测区域,则负载不应该放置在感测区域的边缘附近,以确保均匀的负载分布。确保感测区域是整个负载路径并且负载不受感测区域外部的区域支持也是重要的。FlexiForce传感器读取垂直于传感器平面的力。若是施加“剪切”力的应用,则可能会降低传感器的寿命。如果实际应用要在传感器上施加“剪切”力,则应通过采用更具弹性的材料覆盖来保护[14]。
2) 一路触摸开关检测电路。由于一路触摸开关传感器的初态为0电平,触摸后变为+5 V高电平,不触摸时为0电平,所以使用时只需要将其控制接口的3个引脚(GND、VCC、SIG)分别直接与AD7202板I/O端口相联接就可检测出触摸信号。
3 仿人机械手关节驱动设计
本节确定仿人机械手的机械结构与人手的构造基本一致[16]。其中,每个手指有3个关节(3个自由度),手掌有1个关节(1个自由度),整个仿人机械手共有16个关节(16个自由度)。各个手指第1关节的运动可以实现内收和外展,其余关节均能完成前屈和翻转运动。仿人机械手的驱动系统设计会影响和制约它的机构尺寸、驱动方式、控制系统等方面。为此,仿人机械手采取N驱动方式,即手指的每一个关节对应一个电机,每个关节单独用一个电机驱动可以使手指控制简便、累积误差小,抓取稳定性好。每根手指关节之间的指段采用整体构件式设计,手指为中空形式,由指尖贯穿到指根,所有驱动电机及其配套减速装置均嵌入到每个手指的指节内和手掌内部。这样的设计可使仿人机械手的物理尺寸和结构紧凑、控制方式简便。
本文选用国产直流步进电机[17]作为各个关节的驱动器,各个电机的配置如图4(a)所示。在5个手指的远指节(远指关节)处分别使用输出力矩及体积都较小的24BYJ-48型直流步进电机作为关节驱动器,如图4(b)所示。在5个手指的2个指节(近指节、中指节)及其指掌关节和近指关节处与手掌关节及拇指根部的2个关节处,使用输出力矩较大的28BYJ-48型直流步进电机,图4(c)所示为其内部减速齿轮结构。该电机为4相8拍电机,电压为DC5V~DC12V。当对其施加1个脉冲信号时,对应地,步进电机的某一相或两相绕组的通电状态将改变1次,转子会转过一定角度(步距角、每个脉冲转角)。24/28BYJ- 48型步进电机可控制范围均为0~360°,步距角是5.625°,完全符合手指关节角度范围及控制精度要求。由于360°/5.625°=64,所以64个脉冲就能步进电机转子转1圈。但是,由于电机转子到输出轴有齿轮减速器连接,减速比为64,那么电机转子转64圈,输出轴才转1圈,所以需64×64=4 096个脉冲才能使电机输出轴旋转一圈。
图4 仿人机械手和手掌关节电机配置及驱动电机
4 仿人机械手控制系统设计
仿人机械手控制系统分为硬件子系统和软件子系统[16,18],其结构分别如图5(a)、(b)所示。图5(b)中的关节驱动层应用单关节驱动算法驱动单个关节;并行逻辑驱动层单独作为一层,目的是为了不使并行驱动算法与单关节驱动算法相混淆,以便进一步地扩展为多关节驱动算法;逻辑控制层主要包括运动规划、手势控制等应用逻辑控制[16-22]。
1) 单关节控制算法[16,18]。单关节控制算法可为仿人机械手的逻辑控制提供简单和清晰的控制方式,步进电机控制要依据它的脉冲控制范围和关节角度限制来确定。根据步进电机可控精度得出每个基本脉冲对应的角度,由需要角度相对于现有角度的基础变化值,从而获得需要发出脉冲个数。单关节基本控制算法为:① 获得脉冲控制范围PWM- Scope =|脉冲宽度上限-脉冲宽度下限|×δ;② 取得关节角度控制范围Angel-Scope=角度上限-角度下限;③ 计算脉冲变化数PWM-Times=PWM-Scope / Δθ;④ 获得每个驱动脉冲的控制精度,基本脉冲角度Basic-Pulse-Angle=Angel-Scope/PWM-Times。其中:脉冲宽度范围δ是扩大比例因子,放大控制精度,减少累计误差,实际取δ=10;而脉冲变化数Δθ是脉冲的变化最小值,通过对步进电机测试获得可以控制的脉冲变化最小值,取Δσ=0.2。通过上面步骤可计算出每个关节的控制角度。有了单关节电机的基本控制,对单关节控制进行基本扩展,本节使用2种方式定位角度:① 绝对角度定位:控制端提供需要定位的关节名和角度,底层保证定位界限,并返回定位后角度。② 相对角度定位,在关节原有角度基础上加(减)Δθ度。对于2种控制方式,底层驱动程序可保证关节在所设的极限位置内运动。
图5 仿人机械手控制系统结构
图6 单(多)关节控制算法
2) 多关节并发控制算法[16,18]。仿人机械手控制要达到人手的灵巧性还需要优化控制算法,即要开发多关节并发控制算法。因此,控制端提供需要定位的关节和相应的角度队列,底层按FIFO序列依次转动关节到相应角度。在此基础上有2种控制方式:① 依次到位型控制,每个关节先后定位。如图6(a)所示,依据关节名称和需要定位的角度,依次驱动电机定位到相应的角度。该控制方式直观,但很难满足灵巧性要求。② 依次单位驱动控制,如图6(b)所示。这种控制方式中,每个关节切分为单位脉冲次数,每次驱动数个关节的单位角度定位,依次驱动每个关节。这种控制算法可以在一定程度上使仿人机械手的各个手指联动和操作灵巧。由于控制角度在精度单位控制内,故控制方式非常安全。
实际设置每个指关节能屈伸±90°,指尖力为10 N,整个仿人机械手的16个驱动电机加上触觉传感器的总质量不超过1 500 g,仿人机械手抓握物品的总质量不超过3 kg。并且仿人机械手尺寸大小与成年人的手几乎一样,可以很方便地装在各种机械臂手腕上。本节将2只完全一样的仿人机械手(左手、右手)分别安装到2台6自由度机械臂(工业机器人)手腕处,以便最终能够实现双手和双腕及双臂协调控制。为此,本节设计的直流步进电机驱动电路和AD及IO接口板如图7(a)、(b)所示。
图7 电机控制信号AD接口板和IO接口板
下面根据每个手指(配有3个FlexiForce传感器)反馈的触觉力和手掌表面的4个触摸开关传感器输出信号,计算并导出控制仿人机械手的各个手指和手掌关节运动的关节角和角速度目标值,进而对各个手指和手掌分别进行力和位置及速度反馈控制,以实现仿人机械手的灵巧操作。首先,通过同次变换和代数学方法建立仿人机械手的正(逆)向运动学和正(逆)动力学及雅可比矩阵,如图8、9所示。根据仿人机械手的5个手指和手掌协调控制特征,建立各个手指和手掌关节的数据构造和扩展雅可比行列式。接着,根据每个手指的触觉力反馈和手掌表面上触觉点的接触力,计算并导出控制仿人机械手各个手指和手掌关节运动的关节角和角速度目标值,进而对仿人机械手各个手指分别进行力和位置及速度反馈等控制,原理如图10所示。
图8 仿人机械手结构与指关节构成[16,18]
5 仿人机械手仿真实验
为了检验仿人机械手设计的有效性和验证整个仿人机械手的功能,本节对设计和实现的仿人机械手进行实际测试及仿真实验。实际测试结果表明:手指和手掌表面的触觉传感器检测精度高,触觉信号稳定,实时性好,满足实际需要。同时,手掌表面的触摸开关传感器灵敏度高。仿真实验系统主要由前面设计的2个(左手、右手)仿人机械手构成,实验程序由VC++6.0等编写。仿真实验是通过建立的正(逆)向运动学和正(逆)动力学及雅可比矩阵和力、位置、速度反馈控制算法检验2个仿人机械手是否能够相互协作完成抓、握、推、夹、托、挤、撕、插、剪、钳等灵巧作业。仿真实验结果表明:设计的仿人机械手能有效地完成作业,如图11所示。
图11 仿人机械手部分灵巧作业仿真控制实验
6 结束语
本文建立了仿人机械手的数学模型和手指及手掌的控制方法,使用直流步进电机制作了仿人机械手各个手指和手掌关节的驱动机构,设计了分布触觉传感器和触摸传感器检测电路,开发了分布触觉信息融合和处理算法,实现了仿人机械手的分布触觉功能。通过实测和仿真实验证明了所提出的数学模型和控制方法及仿人机械手装置是可行的。其次,建立了仿人机械手的前向(逆向)运动学方程和动力学方程及雅可比矩阵,为仿人机械手各个手指关节和手掌的协调控制奠定了基础。今后的工作是根据仿人机械手的协调控制特征,控制仿人机械手各个触觉点的接触力,并且要将混合型位置和力反馈控制算法、速度反馈控制算法和常规PID控制算法等用于控制一双仿人机械手及其手腕和手臂,以便最终实现双手及其双腕和双臂的协调控制,完成现抓、握、捏、夹、推、拉、插、按、剪、切、敲、打、撕、贴、牵、拽、磨、削、刨、搓等灵巧作业功能。
[1] 白韶红.触觉传感器的发展[J].自动化仪表,1995(5):4-8.
[2] 潘孝业,胡挺,刘凤臣,等.基于PVDF的欠驱动多指手滑触觉硬件系统[J].机电工程,2012(3):318-321.
[3] 秦佳.传感器在机器人中的应用[J].科技与企业,2012(13):340.
[4] 叶伟强.磁流变弹性体压阻特性测试及应用研究[D].宁波:宁波大学,2011.
[5] 赵冬斌,张文增,都东,等.机器人用PVDF触觉传感器的国外研究现状[J].压电与声光,2001,23(6):428- 432.
[6] 孙一心,钟莹,王向鸿,等.电容式触觉传感器信号检测系统的设计[J].纳米技术与精密工程,2015(1):28-33.
[7] 沈国伟.电容式触觉阵列传感器的原理与设计[J].传感器世界,2007(3):13-15.
[8] 潘英俊,付果元.光波导三向力触觉传感技术的研究[J].仪器仪表学报,2000,21(6):614-617.
[9] 郝华丽.光纤触觉传感器的研究[D].大连:大连理工大学,2012.
[10] 王珣.非均匀触觉传感阵列数据采集系统的研究[D].重庆:重庆大学,2014.
[11] 赵小文,黄英,陆伟,等.一种炭黑-硅橡胶足底压力分布测量系统[J].华中科技大学学报(自然科学版),2011,(S2):169-171.
[12] 黄钰,黄英,刘平,等.炭黑/纳米 Al2O3 填充柔性压敏导电硅橡胶体系的研究[J].传感技术学报,2009,22(7):923-927.
[13] 罗志增,张启忠,叶明.压阻阵列触滑觉复合传感器[J].机器人,2001(2):166-170.
[14] 潇潇雨龙.Flexiforce 传感器中文技术手册[EB/OL].(2017-08-17].[2017-12-24].https://wenku.baidu.com/view/131edbe06294dd88d0d26bdd.html.
[15] FUNCO_小风.Arduino的基本读入操作及获取开关状态(这里以触摸传感器为例) [EB/OL].(2017-04-02).[2017-12-24].http://blog.csdn.net/qq_23937195/article/details/68951653.
[16] 李基亮,肖南峰.五指形仿人机械手的设计与实现及示教[J].计算机工程与应用,2008,44(1):193-196.
[17] 嵩阳书院.24BYJ48步进电机使用手册[EB/OL].(2012-12-31).[2017-12-24].http://www.doc88.com/p-909280442094.html.
[18] 韦婷,肖南峰.基于数据手套的仿人机械手示教控制系统[J].计算机应用研究,2009,30(7):1707-1711.