一种应用于机器人的仿生脊柱
文献发布时间:2023-06-19 11:30:53
技术领域
本发明属于机器人动力应用领域,具体实现仿生机器人的脊柱运动功能。
背景技术
在仿生机器人研发中,要使一款仿生机器人具有类人的灵活度,给其配备一条仿生脊柱是必不可少的。目前机器人中应用仿生脊柱的较少,主要原因是功能不够灵活、没有通用接口、控制复杂度高。
发明内容
本发明提出了一种依据电磁原理驱动的仿生脊柱,具有通用的控制接口,控制简单方便,并且灵活度较高。
图1有(a)、(b)、(c)三幅图,分别表示圆柱形电磁铁的构造、顶视图、底视图。
图1(a)所示的圆柱形电磁铁是一个上有锥形凹槽下有锥形凸出的电磁铁,外形整体看上去是一个圆柱形加一个漏斗,各名称及功能如下。
凹磁感线,在由凹外铁芯、线圈凹面、凹内铁芯构成的锥形凹槽中,当线圈通电铁芯被磁化后,假设磁极是上N下S,则凹槽内的磁感线路线就是图1(a)中的路线,由铁芯出来进入凹外铁芯。
锥形凹槽,是一个虚构线,主要目的是便于直观的看到由凹外铁芯、线圈凹面、凹内铁芯构成的锥形凹槽。
凹外铁芯和凹内铁芯,为电磁铁的上半部分的外侧和内侧磁感线提供磁通路,同时可以有效的形成如图所示的均匀的凹形磁场。由图1(b)所示的顶视图可以看出,在凹内铁芯中,磁感线是最密集的,然后飞过线圈进入了凹外铁芯。所以,在线圈凹面附近,越接近线圈端面位置磁感线就越密集。另外,在凹内铁芯的底部是平底的,如图中的平底所示。
出线孔,线圈引线端的导线过孔,接外部的线圈驱动电路,是凹外铁芯的壁厚开孔。
线圈,图1(a)中嵌于凹外铁芯和凹内铁芯之间的圆柱形线圈,但是线圈的上下侧端面是漏斗状,上端面是凹形漏斗,下端是凸形漏斗。线圈在上下端面处的绕制需要特别注意贴合线圈骨架(虚线图形),上端面是向内斜的,下端面是向外斜的。只有紧贴线圈骨架端面绕制的线圈,才会有漏斗形端面的磁场。否则当外部有磁场压制时,比如同性磁极排斥时,就会将端面的磁感线压制到内部形成了大量的漏磁,达不到端面作用力的效果。
凸外铁芯和凸内铁芯,为电磁铁的下半部分的外侧和内侧磁感线提供磁通路,同时可以有效的形成如图所示的均匀的锥形磁场。由图1(c)所示的底视图可以看出,在凸内铁芯中,磁感线是最密集的,然后飞过线圈进入了凸外铁芯。所以,在线圈凸面附近,越接近线圈端面位置磁感线就越密集。另外,在凸内铁芯的顶部是平顶的,如图中的平顶所示。
锥形凸出,是一个虚构线,主要目的是便于直观的看到由凸外铁芯、线圈凸面、凸内铁芯构成的锥形漏斗。
凸磁感线,在由凸外铁芯、线圈凸面、凸内铁芯构成的锥形凸出中,当线圈通电铁芯被磁化后,假设磁极是上N下S,则圆锥内的磁感线路线就是图1(c)中的路线,由凸外铁芯进入凸内铁芯。
图2是本发明用到的第二种电磁铁,它仅有凹形磁感线的端面,线圈的下端直接用铁芯作为磁回路进行连接,如图2中的磁回路所示,其凹槽的电磁特性与图1所示的上端面相同。在圆锥的底部有一部分是平底的,如图中的平底所指的位置。
图3是本发明用到的第三种电磁铁,它仅有锥形磁感线的端面,线圈的上端直接用铁芯作为磁回路进行连接,如图3中的磁回路所示,其圆锥的电磁特性与图1所示的下端面相同。在圆锥的顶部有一部分是平顶的,如图中的平顶所指的位置。
以上三种形式的电磁铁构成了本发明的电磁力的基本驱动单元,以下将说明仿生脊柱的工作原理。
仿生脊柱的力来自于3个互为120°排列的电磁铁对,如图4所示。在以限位球为圆心的3个互为120度角的平面上,安装有力臂Lat、Lbt、Lct,上层力臂在圆心的一端都固定在限位环上,它们的末端都安装有一个凸型电磁铁,在力臂和限位环的上方,安装有一个圆盘架,用于安装控制电路。下层力臂Lab、Lbb、Lcb是固定在一起的,并从交叉点垂直固定连接有定位柱,作为上层圆盘架的支撑,下层的电磁铁都是凹型电磁铁,如此上下就可以很好的在接触面产生作用力,并且当有排斥作用力时即便力臂有摆幅也可以均匀的输出电磁力。下层力臂上的圆盘用于安装总控制电路和对外电路接口。
例如图4中,在Lct的末端安装有Mc_top锥形电磁铁,在Lcb的末端安装有Mc_btm槽型电磁铁,Mc_top和Mc_btm在空间位置上是对应的,也就是Mc_top的圆锥正对着Mc_btm圆槽并且陷于其中,当没有通电的时候,它们的磁力作用面是直接零距离接触的。通电后的磁极如图中所示,则因同向排斥力作用,上面的Mc_top会被Mc_btm顶上去一定的高度,从而通过力臂Lct带动固定的圆盘倾斜一定的角度。
Ma_top/Ma_btm、Mb_top/Mb_btm的作用原理与Mc_top/Mc_btm相同。
由于上面的圆盘架是活动的,下面的圆盘架是固定的。下面的圆盘架相当于是底座,而上面的圆盘架在定位柱的拉力和凸型电磁铁的推力下,向不同的方向倾斜,如果电磁铁的作用力到最大的时候使得圆锥完全被推出了圆槽,就会使上面的圆盘发生旋转。所以为了避免上面的圆盘旋转,设计时定位柱的高度需要保证,无论圆盘如何倾斜圆锥都不得完全推出圆槽。
为了使圆盘架可以自由的以定位柱为中心,在任意水平方位倾斜任意角度,将定位柱的限位装置设计成了一个球体,同时圆盘中间的限位环也设计成了与限位球密切配合的圆环形状,以实现圆盘架在任意水平方位倾斜任意角度的目的。
在图4的右方是一个以O为原点的三轴坐标系:z轴表示定位柱,y轴表示水平线0度,x轴表示水平面正前方方位。
z轴表示的定位柱是垂直于水平面的y轴的。
倾斜的角度在坐标上表示为圆盘架偏移了水平面y轴多少度,如图中的y1偏移了水平面20度,表示圆盘以限位球为圆心倾斜了20度。注意这里的水平倾斜20度并不是说左右倾斜了20度,仅仅只是图中看上去是左右倾斜了,而是限位球的任意方位都有可能,具体倾斜角度由x轴决定。
x轴表示向限位球的哪个方位倾斜,x轴相当于一个水平面上的钟面指针,绕着坐标系原点O旋转,在图4表示在限位球的什么方位上倾斜。比如图中x1表示在正前方偏左30的位置倾斜。
将以上的x、y、z一起解读就是:上圆盘架在正前方偏左30度的位置倾斜了20度。
倾斜方位x的值由Ma(Ma_top、Ma_btm)、Mb(Mb_top、Mb_btm)、Mc(Mc_top、Mc_btm)三对电磁铁的矢量合成结果决定,如图5所示。将x轴所在的钟表面画成了平面图,并标记了前后左右。Fa表示正前方力臂Lat的力,Fb表示右后方力臂Lbt的力,Fc表示左后方力臂Lct的力,它们以限位球为原点进行力的合成,其结果就是倾斜方位。
比如图5中的x1就是由Fc和Fa合成的,因为本发明使用的是电磁铁的排斥力,所以在做矢量图的时候需要使用负向的力,也就是力臂Lat的力Fa1需要取负为-Fa1,以及力臂Lct的力Fc1需要取负为-Fc1,然后通过-Fa1、-Fc1做矢量图得出x1,也就是Fa和Fc矢量合成的方位是正右方。表示图4中的圆盘架向正右方倾斜,这里的Fb没有产生作用力,即Fb=0,矢量图可以不考虑。
倾斜多少度则是由电磁力和外部负载共同作用的结果。按照相同的比例增加Fa和Fc,比如到了图示的-Fa2、-Fc2的位置,尽管此时还是保持了正右方的倾斜方位,但是,如果负载没有增加,明显x2时所产生的水平倾斜角比x1所产生的水平倾斜角大。
为了简单明了的画出完整仿生脊柱,图4上部的圆锥形电磁铁圆盘架、图4下部的圆槽型电磁铁圆盘架都需要进行简化,分别如图6(b)、图6(c)所示。图6(b)表示图4所示的上半部分的完整结构,图6(c)表示图4所示的下半部分的完整结构,也就是在以下的分析叙述中,将分别引用图6(b)、图6(c)所示的电路符号表示完整的上圆盘架和下圆盘架结构。
图6(a)所示的电路符号代表的是将图4所示的上圆盘架的凸型电磁铁,更换为图1(a)所示的上凹下凸电磁铁后的完整结构。图6(d)是图4中的定位柱。
图7是一根5骨节的仿生脊柱,由1个锥型架、3个复合架、1个槽型架、4个定位柱构成。
槽型架作为仿生脊柱的底座和控制中心,其输入接口包括控制信号CONTRL和电源DC24V_IN,其输出包括总线信号UART_TX、BACK,以及电源DC24V_OUT,电路原理图如图8所示。
输入电源是DC24V_IN,MCU主机的供电由DC24V经DC/DC转换后提供,而所有电磁铁的动力电源经MCU主机控制的开关SW提供,也就是脊柱要启动就必须要经过安装在底座中的总控制板。主要目的是避免电磁铁非正常状态引起总电源DC24V_IN故障,这是一个隔离开关。
控制接口UART_TX是MCU主机的串口,一个8位二进制的数据写入格式是“角度(2bit)+方位(3bit)+序号(3bit)”,每个8位二进制的格式如图9所示,图中从下到上依次是B0~B7表示一个8位二进制。
[B2:B0]表示骨节的序号,如图7中底座序号为“0”二进制表示为“000”,复合架1为骨节1其序号为“1”二进制表示为“001”……锥形架为骨节4其序号为“4”二进制表示为“100”。
底座上的槽型架仅相当于一个永磁体,并且提供脊柱的底座支撑水平面,也就是骨节0。而当骨节1的运动完成后,骨节1的电磁铁的驱动电流保持,从而使电磁铁的磁场强度形成固定磁场,相对于骨节2就是永磁体的功能。如此一级一级的向上调整,最终达到需要的运动状态。
[B5:B3]表示方位,共8个方位,即将360°的水平钟面分为8个刻度,依次是0°、45°、90°……315°、360°共8个方位刻度。比如[010]表示第二个刻度即45°×2=90°,也就是圆盘架应该在90°的方位倾斜一定的角度。
[B7:B6]表示角度,也就是圆盘与水平面的倾斜夹角,以每个骨节最大倾斜角度为30°计算,则2位二进制可以表示4个角度,分别是0°、10°、20°、30°。比如[01]表示10°×1=10°,也就是圆盘与水平面的倾斜角度为10度。
将以上一个字节的8位二进制连起来就是[01 010 001],完整解析就是:第一个骨节在90度方位倾斜10度。
同理,在数据写入的其他字节也可以解析出骨节2、3、4分别应该在什么方位倾斜多少度。
图8所示的MCU控制系统对脊柱的输出包括动力电源DC24V_OUT,串口发送信号UART_TX,脊柱反馈信号BACK。
DC24V_OUT由MCU主机根据系统命令决定是否启动。
UART_TX是一主多从的串口信号,MCU主机担任串口主机的角色,负责将控制接口的命令解析成数据包发送。这里的解析是通过MCU主机中程序的算法将每个骨节的方位和角度数据,解析成三个电磁铁的驱动矢量。然后脊柱中的MCU从机通过自身的序号匹配自己的数据,解析出本级驱动的三个矢量。最后从机通过自身系统的闭环反馈完成驱动方位和角度的执行。
BACK是OC门形式的多从发送总线,由MCU主机接收。当MCU广播完成一组数据后,接收到数据的从机拉低OC信号并开始执行控制动作,当控制动作完成后释放总线,MCU主机开始广播发送下一组数据,如此循环直到执行完所有数据。
系统控制图接线如图10所示。MCU主机是槽型架的控制电路,也是整个脊柱的控制中心,负责接收系统从控制接口CONTRL发送的命令,同时将其解析成各级需要的控制参数,然后通过UART_TX广播发送到各从机,并通过BACK完成循环执行。每次广播均带有序号,各从机根据广播数据包中的序号与自身的物理序号匹配,如是则执行,不是则舍弃。各MCU从机系统都有一个闭环反馈,用于精准执行矢量值。执行完成后由BACK线反馈告知MCU主机。
闭环反馈由安装在上圆盘架的3个力臂上的3个滑动电位器完成,如图11所示。在力臂Lct上靠近限位球的位置,安装了一个带有复位弹簧的电位器。当力臂Lct受作用力Ft向上抬高时,由于限位球被限位环限制了继续上移,则力臂Lct只能绕限位球向上摆动,弧形叉因为受到力臂Lct的挤压力Fr向电位器方向移动,带动电位器的滑动臂移动使电位器的阻值发生变化,从而力臂Lct的机械位移转为为电位器RPct的电信号变化。
力臂Lat上的电位器RPat、力臂Lbt上的电位器RPbt、力臂Lct上的电位器RPct分别反应了三个力臂的位置变化,可以准确的知道对应力臂上的电磁铁所产生的作用力,是否使此力臂达到了需要的位置,没有则加电流,过了则减少电流,最终使其稳定在此力臂需要的位置。
如果用ADC电源Vcc进行量化,以上的4个位置角度分别对应:0°对应(0*Vcc/3)、10°对应(1*Vcc/3)、20°对应(2*Vcc/3)、30°对应(3*Vcc/3)。也就是当电位器输出0V时表示力臂倾斜了0度,也就是水平位置,(2*Vcc/3)表示力臂倾斜了20度。
结合以上的分析,当给CONTRL写入一组[D0,D1,D2,D3,D4]控制命令时,MCU主机就可以从该数据中解析出需要的控制参数,然后将该参数通过UART_TX以广播带ID(序号)的形式发生到每一级从机,从机根据自身的电位器闭环系统,实时调整恒流驱动电源,使3个电磁铁的矢量和结果,满足控制命令要求的方位和角度。
附图说明
附图1(a)上凹下凸圆柱形电磁铁;(b)顶视图;(c)底视图
附图2圆槽型电磁铁
附图3圆锥形电磁铁
附图4电磁铁对所构成的上圆盘架和下圆盘架
附图5互为120度3个力臂的电磁力矢量图
附图6(a)复合架电路符号;(b)锥形架电路符号;(c)槽型架电路符号;(d)定位柱电路符号
附图7 5个骨节的仿生脊柱
附图8底座槽型架MCU主机系统电路图
附图9命令字节编码格式
附图10仿生脊柱整体总线连接图
附图11位移检测电位器动作示意图
附图12仿生脊柱应用于人形机器人
具体实施方式
图12是仿生脊柱应用于人形机器人的示意图,是从机器人的后背向前看的仿生脊柱,粗线条是仿生脊柱,细线条是机器人的后背轮廓。以下将说明仿生脊柱是如何实现让机器人做向右压腰动作的。
首先机器人的身躯应该是可以弯曲的,四肢是可以活动的;其次脊柱的每个单元都是分别安装在机器人的分节身躯后背的,这样当脊柱运动后分节身躯才会被动的跟着运动。
槽型架的原理图如图8所示,这里从CONTRL端输入的数据为“[0x00,0x91,0x92,0x93,0x94]”,图8所示的MCU主机将从这些数据中解析出驱动参数。
第一个字节“0x00”,根据“角度(2bit)+方位(3bit)+序号(3bit)”数据格式可以解析出相关参数。[B2:B0]=“000”表示序号为0的槽型架,[B5:B3]=“000”表示正前方的倾斜方位,[B7:B6]=“00”表示没有倾斜角度,所以合起来就是底座槽型架保持水平状态。
矢量和的驱动结果为水平状态,根据图5所示只需要保持三个互为120度角的电磁力Fa、Fb、Fc相等即可保持水平状态。
对于图4所示的电磁铁对来讲就是保持底座的槽型架上的电磁铁电流相等,也就是图8所示的恒流A、恒流B、恒流C输出电流相等。最终回到MCU主机所产生的恒流控制信号,控制系统的“驱动”电路使得恒流源A、B、C的输出电流相等,则电磁铁Ma_btm、Mb_btm、Mc_btm保持相等的电磁力,达到底座对复合架1保持水平位置的目的。
第二个字节“0x91”,根据“角度(2bit)+方位(3bit)+序号(3bit)”=“10 010 001”可知,命令是要求第一个骨节在90度方位倾斜20度。
在图12右侧最下面的骨节1的坐标中,按照机器人的方位标示了前后为x轴、左右为y轴的水平面,以及上下为z轴的垂直轴。方位为90度也就是机器人的正右方,y轴的正方向;倾斜20度也就是以坐标原点O为圆心,使Lt1从水平面y轴向下倾斜20度,如图中的坐标(90,20)坐标点所示。
Lt1与x轴的偏移是90度,与y轴偏移是20度,仍然以O为坐标原点。
第三个字节“0x92”,根据“角度(2bit)+方位(3bit)+序号(3bit)”=“10 010 010”可知,命令是要求第二个骨节在90度方位倾斜20度。
在图12右侧骨节2的坐标中,同样按照机器人的方位标示了x轴、y轴、z轴。方位为90度也就是机器人的正右方,同样是y轴的正方向;倾斜20度仍然以O为圆心使Lt2向下倾斜20度,如图中的坐标(90,40)坐标点所示。
这里骨节2的倾斜是在骨节1已经倾斜了水平位置20度的情况下,所以骨节2倾斜相对于底座槽型架共倾斜了20度加20度,等于40度。Lt2与x轴的偏移是90度,与y轴偏移是40度,仍然以O为坐标原点。
第四个字节“0x93”,根据“角度(2bit)+方位(3bit)+序号(3bit)”=“10 010 011”可知,命令是要求第三个骨节在90度方位倾斜20度。
在图12右侧骨节3的坐标中,表示Lt3在正右方倾斜了60度,因为是在骨节2的基础上继续叠加的,如图中的坐标(90,60)坐标点所示,仍然以O为坐标原点。
第五个字节“0x94”,根据“角度(2bit)+方位(3bit)+序号(3bit)”=“10 010 100”可知,命令是要求第四个骨节在90度方位倾斜20度。
在图12右侧骨节4的坐标中,表示Lt4在正右方倾斜了80度,因为是在骨节3的基础上继续叠加的,如图中的坐标(90,80)坐标点所示,仍然以O为坐标原点。
在从最低槽型架到最高的锥形架连续向右倾斜过程中,分4个阶段每20度一动作,从机器人的腰部部到颈部共倾斜了80,所以图12看上去的效果就是:人形机器人在做一个很自然的向右压腰的动作。由于每一级都有自身的闭环反馈回路,无需MCU主机的干预就可以实现动作的自动校准。
- 一种应用于四足机器人的仿生脊柱机构及机器人
- 一种仿生机器人脊柱