The Design and Control of the Flexible Spine of a Fully Tendon-Driven Humanoid Kenta
一个完全由肌腱驱动的人形Kenta的柔性脊柱的设计和控制
Ikuo Mizuuchi, ..., Hirochika Inoue
2002 IEEE/RSJ Conference on Intelligent Robots and Systems
摘要
我们正在努力实现一个具有灵活性的类人机器人。如果类人机器人有灵活的结构,安全和多样的姿态将会实现。我们特别关注人的脊柱和肌肉驱动系统的作用。通过拥有一个灵活的脊椎,类人生物将有安全和多种自由度来实现各种各样的姿势。通过张力可控的肌腱驱动关节,可以控制关节的柔韧性。我们开发了一种全身肌腱驱动的可弯曲脊椎类人生物,名为Kenta。本文介绍了Kenta系统的设计与控制,重点介绍了脊柱的设计。脊柱由十个关节、椎骨和橡胶圆盘、肋骨和四十块装有张力传感器的肌肉组成。设计参考了人体脊柱的结构。本文还提出了脊柱的各种控制方法。一个使用几何虚拟机器人模型,另一个基于直接教学。用这些方法,一些全身运动被提出。
1.介绍
几乎所有的类人生物[1、2、3、4]都有刚体,而且由于刚体的存在,它们的运动常常受到限制。这种灵活性将是下一阶段人形研究的关键之一。从这个角度来看,我们开发了一个全身肌腱驱动的类人生物,它有一个可伸缩的脊椎。人形机器人的名字是Kenta[5](图1)。为了实现类人运动,为了实现充分有效的实用自由度,需要灵活的脊柱。利用全身的有张力感的肌腱,关节和脊柱可以是适应性的(灵活的),也可以是僵硬的。脊柱灵活性的可变性使脊柱也能起到支撑上半身的作用。本研究的目的是开发一种像人的脊柱一样具有可变柔性结构的类人生物,并为这一领域的研究指明方向。
2.可弯曲的脊椎类人与肌腱
2.1仿人机器人的灵活性
人们期望类人机器人在人类的领域工作,但我们常常觉得它们的运动似乎不自然或受到限制,因为它们的身体是刚性的。几乎所有曾经被开发的人形机器人都是如此的僵硬以至于有伤害人类的危险。如果一个类人机器人有意拥有一些灵活的结构,那么避免危险的可能性就会增加。我们特别关注柔性脊柱结构和肌腱(肌肉)驱动系统。灵活的脊椎带来了安全与自由度的扩展。通过肌腱与拉力传感器一起驱动关节,关节有可能改变刚度。
柔性机器人[6]或多关节结构机器人[7,8]的研究尚未应用于人形躯干。另一方面,虽然已经有一些关于在人形机器人[9]的躯干中嵌入可移动机构的研究,但这些机器人的躯干只能绕一个集中轴旋转。髋关节和脊柱的区别在于后者有更多的自由度。脊椎比臀部有更多可能的姿势。利用脊柱,机器人可以更有效地移动。例如,当一个具有柔韧性的类人脊椎从地板上抬起上半身时,它可以将每个关节一个接一个地从颈部关节移动到髋关节。与仅使用髋部或胯部关节相比,此操作可减少运动过程中的最大扭矩或最大力。此外,柔性类人机器人的运动更接近于自然类人机器人。
2.2变柔度
灵活性的可变性非常重要。在某些情况下,脊柱或关节需要是柔软的,而在另一些情况下,它们必须支持结构对抗重力。对机械可调弹性和粘度[10]接头进行了研究。结构的可调柔度与关节的可调柔度有所不同。在柔性关节的情况下,吸收冲击的能力往往是削弱了大量的后代环节,相比柔性结构。柔性脊柱是一种柔性结构。
2.3可弯曲脊椎的控制
曾有一项关于柔性脊柱人形机器人[11]的研究。在这项工作中,一个由五个关节组成的灵活脊柱是由装有张力传感器的8块肌肉(肌腱)控制的。肌肉长度的测定是通过几何计算来完成的,在此过程中不考虑肌肉和/或身体之间的干涉。如果某些肌肉的长度发生冲突,则使用拉力传感器对拉伸肌肉进行控制,以使张力不超过极限。由于存在许多冲突,用这种方法进行控制可能会失败。在本文所描述的机器人中,肌肉要多得多,经常出现控制失败的情况。本文就如何解决这一问题进行了论述。
3.可弯曲脊柱类人Kenta的设计
3.1柔性脊柱的设计
遵循人体脊柱的优势。Kenta的脊柱结构设计遵循以下基本原则:通过对人体脊柱结构和特征的调查,尽可能的遵循设计和功能。
脊椎的基本设计。图2显示了Kenta脊柱的结构。脊柱由10个球窝关节组成。每个关节有三个自由度。关节的组成部分可与人的脊椎相比较。相邻椎体之间有一个由弹性硅橡胶制成的椎间盘,相邻椎体之间也有由张力弹簧制成的韧带。椎间盘的高度略大于相邻椎体之间的间隙大小。因此,橡胶要预先加压(预压)。每个韧带(弹簧)连接点之间的距离略大于弹簧的自然长度;因此弹簧是预先放好张力(预紧力)的。当脊柱姿势与中立姿势不同时,椎间盘的平衡压力和韧带的平衡张力就会消失,从而产生一些力使脊柱恢复到中立姿势。这种恢复力有助于执行机构对抗重力。
十个关节的脊柱由40块肌肉驱动,每块肌肉都有一个张力传感器。肌肉越多,脊柱姿势的变化就越多。执行机构的数量是设计中的一个决定。
脊椎的S形曲线。脊椎部位有两种十度的倾斜度。图2右侧为两种脊椎倾斜度。通过两种倾斜度的组合,脊柱的姿态呈S型曲线,如图2左侧所示。(图中为右后位)
椎骨。每个椎体的上表面有两个球形凸点,下表面有两个球形凹点。一个下半椎体的球形突起与一个上半椎体的球形凹陷相匹配,这个结构组织了一个球窝关节。在缝隙中插入一个硅橡胶圆盘。另一个凸起和凹痕是关节的机械极限,为了使关节不过度弯曲。人的脊柱虽然结构不同,但功能相同。
每个椎体有另外三个突出物,它们不是球形的。背向、向左和向右投射(图2),这些是用来连接韧带的。
肋骨。Kenta的脊椎有三根肋骨。Kenta没有肋骨保护的内部器官。通过把肌肉的末端放在肋骨上,肌肉的位置与关节的旋转中心分开。通过旋转中心的分离,肌肉对脊柱姿态改变的作用将更大。
执行器。有40个马达来移动脊柱;肩部20个,臀部20个。在肩胛骨上,十个在右肩胛骨上,另外十个在左肩胛骨上;在臀部,十个在右边,另外十个在左边。内侧面的电机是动力而不是速度,外侧面的电机是速度而不是动力。这是由齿轮传动比的差异造成的。
图3显示了肌肉的排列。在前面,肌肉横过前面的表面,而在后面,所有的肌肉都固定在脊椎的棘突(背部突起)上。在左右两侧,肌肉横过表面。
3.2.身体的其他部分
在腿和胳膊上,除了膝盖和肘部,所有的关节都是球窝关节,每个球窝关节都由四条肌腱驱动,并装有拉力传感器。每个膝盖和肘部都有一个自由度,由两个带有张力传感器的肌腱驱动。
颈部的结构就像一个小型的脊椎。颈部有五个球窝关节,就像脊椎一样。它由六块肌肉驱动。结构的姿态是由肌肉张力、橡胶圆盘力和包含重力的外力的平衡决定的。
3.3.传感器
肌肉长度传感器。肌肉的长度是用马达的旋转编码器来计算的。需要注意的是,编码器和肌肉长度之间的关系不是线性的,因为使用滑轮。
肌肉张力传感器。Kenta的每块肌肉都有一个张力传感器。图4显示了附着在肌肉上的张力传感器单元。当肌肉的张力发生变化时,圆柱体中弹簧圈的长度也会发生变化。通过测量活塞头与气缸底之间的距离,检测出活塞的拉力。距离的测量是由一个使用红外LED和红外光电晶体管的光断续器来完成的。
电机电流传感器。在电机驱动电路中,电源线上串联有一个0.5[]电阻。通过电阻器测量电压的降,可以检测到电机电流。
视觉传感器。眼球内装有两台CCD彩色摄像机。利用这两个摄像头,可以通过立体镜计算深度。实现了深度图、三维光流、颜色标注、平面段查找[12]等功能。
3d加速度计和陀螺仪。有八个3轴加速度计;在臀部,五块椎骨,胸部和头部。它们通过探测重力的方向来帮助探测脊柱的姿势和Kenta倾斜度的信息。
触觉传感器。Kenta有62个触觉传感器单元(FSR:力觉寄存器)。通过使用它们,Kenta可以获得与环境接触的信息。这些传感器也可以用于直接的姿势教学。通过直接触摸触觉传感器,人类可以教姿势和动作。
3.4.交流系统
Kenta拥有96个电机和350多个传感器(7种);一个多输入/输出系统。机上分布着43个微处理器。这些是通过onbody网络连接的。网络的四个集线器(网关)从连接到几个本地传感器的分布式处理器收集传感器信息,并将它们发送到远程主机[13]。集线器还接收来自远程主机的执行器信息,并将其分发到连接到几个本地电机驱动器的分散处理器上,这些驱动器驱动执行器。除了集线器外,每个微处理器都控制局部执行器。
远程主机的最低层作为硬件抽象层。这一层与onbody网络的集线器通信。它也是一个TCP/IP套接字服务器,当来自上层软件的连接请求时,它打开连接并开始从上层发送/接收传感器/执行器信息。
4.全身运动
如何利用Kenta脊柱或人体的复杂结构来产生全身运动是一个重要而又困难的问题。本文给出了一些简单的解决方法。
4.1虚拟机器人模型和肌肉控制模式
一种管理身体的方法是使用一个几何虚拟机器人模型结合一些控制模式的肌肉[11]。该模型可以近似人体任何姿势的肌肉长度。近似是这样做的。每块肌肉都有两端位置的信息。当一些关节移动时,两个位置都随着所附连杆的移动而移动。当被问及肌肉的长度时,模型根据Kenta当前的姿势,通过计算所有肌肉每两个位置之间的直线距离来回答肌肉的长度。
根据姿势的不同,上述计算的肌肉长度的误差范围可以是一定的。当肌肉和身体之间或肌肉之间有一些干扰时,电动机就必须产生大的转矩。为了避免这种情况,肌肉可以在其他控制模式下使用张力传感器信息进行控制。通过使用张力传感器的信息,可以限制肌肉的张力。
在图5中,Kenta通过眼球、脖子和脊柱的协调来跟踪一个彩色物体。目标跟踪的视觉处理是在远程主机上完成的。目标跟踪有三个独立的控制循环;眼球在移动,以便看到视野中心的物体,颈部和脊柱也在以同样的方式移动。这三个控制回路是相互独立的,通过这三个回路的组合,实现眼球、颈部和脊柱的跟踪运动。控制回路的参数由人工调整。
利用该模型计算了关节角与肌肉长度之间的关系。例如,在脊柱控制回路中,根据视觉信息计算出脊柱关节所需的姿态变化,然后利用几何虚拟机器人模型计算出肌肉长度所需的变化。
4.2.直接示教
对一个复杂结构进行全身运动的简单而有力的方法是直接教学。通过控制所有肌肉的张力控制模式,每个肌肉的张力都保持在一个恒定的值。在这种情况下,当我们直接改变机器人((T1)和(图6中的T2))的姿态时,所有肌肉的长度都被修改以保持张力。通过直接教学时记录长度,我们可以得到可能的长度组合。在回放阶段,肌肉被控制在长度控制模式,以重现姿势或动作。
图6显示了使用一些直接教过的姿势的动作。在(T1)和(T2)中,两种姿势是由一个人直接接触来教的。(P1)、(P2)和(P3)展示了回放的三种姿势。(P2)和(P3)分别与(T1)和(T2)对应。通过直接教的体式组合,可以实现一些动作。
4.3.姿势数据
为了帮助直接教学,我们提出了姿态数据库。图7显示了姿态数据库的概念。这个数据库是在机器人移动时自动创建的。数据库中的一个元素包括肌肉长度和3d加速度计的信息。根据传感器信息对元素进行分段。当即时数据与数据库中每个元素之间的距离大于阈值时,将向数据库添加由数据创建的新元素。在图7中,pose1到pose9在某些动作中自动生成。Pose10和pose11是在A到b的另一个运动中创建的。数据库的元素保证是肌肉长度的组合,没有干扰。与时刻记录体位相比,应记录的数据量可以减少。我们可以利用数据库中的姿势来发展动作。
图8显示了一个包括spinemotion在内的全身动作,它是通过直接教学和使用posture-database和posture-history生成的。所实现的运动是单独教的脊柱运动和腿运动的融合运动。
5.总结及结论
提出了一种利用人体肌腱驱动的柔性脊柱类人Kenta的设计方案。灵活的脊柱由椎骨、肋骨、椎间盘、韧带和40块带有张力传感器的肌肉组成。脊柱的结构灵感来自于人类的脊柱。还介绍了一些产生全身运动的简单方法。一种是将几何虚拟机器人模型与多种肌肉控制模式相结合。利用该方法实现了Kenta的眼球、颈部和脊柱对物体的跟踪运动。使用另一种基于直接教学的方法,也展示了一些全身运动。
仍然有许多问题需要解决。Kenta是可弯曲脊椎类人的原型。甚至设计和控制方法也可以更加复杂。我们相信这项工作将是下一阶段的人形研究的一个立足点。