四足仿生机器狗设计
2022-11-21邢晓红宣继伟
王 海,邢晓红,宣继伟,李 铮
(南京航空航天大学金城学院,江苏 南京 211156)
0 引言
随着机械制造行业技术水平的提高及机械电子、计算机、材料等学科的发展,机器人被应用到了更广泛的行业领域内。机械仿生、光机电一体化、机械电子、电子商务、网络型金融机构等高新技术向传统产业不断渗透,成为提升和引领高新技术产业发展的关键性因素。高新技术及产业发展有利于提升传统产业的发展水平,加速了传统产业的高技术发展[1]。人工智能、机器学习和机器人技术的快速发展将推动人类工作方式的变革。以特斯拉为代表的公司已经在工厂推行“熄灯”生产:全自动化的生产流程完全能够在黑暗中运行,而无需人工操作。与此同时,在机器人大会灯火辉煌的大厅里,展示着一台台能够打乒乓球、做饭,甚至交谈的机器。计算机现在不仅可以开发新的围棋对局策略,据说还能谱出让人听之落泪的交响乐曲。有的计算机已经披上了白色实验服或穿上了虚拟西装,被应用于癌症的鉴别或法律策略的开发。在美国,人们正尝试通过机器学习训练的方式实现货运卡车的无人驾驶,也许人类即将告别辛苦劳作的时代[2]。
由于人类探索活动的广度和深度不断提高,加速了机器人的发展与应用。自然环境中约有50%的地形,轮式或履带式车辆到达不了,而这些地方(如森林、草地、湿地、山林等)拥有巨大的资源。足式机器人以其固有的移动优势成为探测这些地区的首选方式;另外,足式机器人在海底和极地的科学考察和探索中,也具有明显的优势。因而,足式机器人的研究得到世界各国的广泛重视。曾长期作为人类主要交通工具的马、牛、驴、骆驼等四足动物,因其优越的野外行走能力和负载能力成为人们研究足式机器人的重点仿生对象。因而四足机器人在足式机器人中占有很大的比例,一直以来也是国内外机器人领域的研究热点。作为机器人的一个极其重要分支,四足移动机器人相对于两足步行机器人具有较强的承载能力、较好的稳定性,而且结构又比六足、八足步行机器人简单,深受各国研究人员的重视。在四足移动机器人中,足设计是机器人设计的关键,设计得当可大大简化控制方案。研究生物体的结构、功能和性能机理,并将这些机理移植于工程技术之中,发明出性能更加优越的仪器、装置或机器,创造新技术,是仿生机械的主要目的[3]。本次设计是通过观察狗等四足动物,将其运动状态和生理结构与机械结构相结合,在设计之中充分考虑设计的系统性、知识性、新颖性、趣味性和应用性。本次设计旨在于做出一款便于携带,体积小,性能稳定,质量轻且能够适用于各种地形的轻型四足机器人。
1 国内外研究概况
早在20世纪国内外便开始对四足机器人进行研究。到目前为止,国内外关于四足机器人在驱动方式、运动形式和稳定性等方面都进行了各种技术探索和科学尝试。随着科技发展,微处理器的性能得到很大提升,先进的理论和算法被应用到四足机器人中使机器人在各种环境下都可以稳定运行。
卡耐基美隆大学研制的Big Dog是美国的四足机器人典型代表(见图1)。其外形体特和比例很像一条凶猛的猎犬,是机器狗中最像仿生对象的机器人之一。它能够在泥泞地面或粗糙的瓦砾地面以不同步态自如行走,最大负载52 kg,具有很强的野外行走能力。其最大的特点是在剧烈的侧面冲击作用下,仍具有很好的机体平衡能力,能保持平衡而不倒,如图1所示。目前,Big Dog已实现多种动态移动,如平衡、走、爬行、跑等,并具备识别粗糙地形、运载货物能力、自主控制能力等[4]。
图1 Big Dog
对于国内市场,四足机器人发展的障碍主要是市场和技术两方面。不同于无人机、清洁搬运机器人、自动驾驶汽车,这些已经逐步走入人们的生活的产品,大狗们尚未真正实现市场落地。一方面是大量的日常的场景,如搬运、陪伴等,可以通过更低成本的轮式或其他形式实现,不用涉及成本高,难度大的行走控制机构。另一方面,适合发挥四足机器人优势的场景如极端恶劣的环境、人迹罕至的山路等用户多是军队、救援组织等,不但市场规模相对较小,而且就目前的技术还达不到这些用户需求。在技术方面,能够实现快速响应、保证精度的电机系统以及高度还原行走过程的动力学特征,需要海量数据支持。
相对而言,最可能产品化、商业化的是宠物陪伴机器人,虽然跟人形陪伴机器人只是同一种类,但“机器狗”产品对其核心技术比如控制模块、伺服舵机平衡、感知和决策规划以及机械材料等方面都是在挑战行业技术的前沿,其科研、探索价值和产业化的可能性非常大。
2 四足仿生机器狗设计
2.1 设计目标
笔者在了解移动机器人现状的基础上,分析了各种机器人的结构特点,拟定总体方案,进行四足仿生移动机器狗结构设计。本研究利用三维软件绘制新型四足仿生移动机器狗,将动物的运动状态和生理结构与机械结构相结合,在设计之中充分考虑设计的系统性、知识性、新颖性、趣味性和应用性。本次设计旨在做出一款便于携带、体积较小、性能稳定、质量较轻且能够适用于各种地形的轻型四足机器狗。
2.2 方案确定
为实现在复杂环境下的稳定运动,笔者对四足机器狗提出以下要求:(1)实现稳定运动;(2)可以负载一定重量;(3)实现稳定控制;(4)有足够的强度但质量较小。
根据仿生学,腿的结构一般分为髋关节、大腿、膝关节、小腿、腕部(见图2)。为使整条腿有较好的灵活性和稳定性,至少需要3个自由度来控制。
图2 狗的腿部结构
使用的材料包括:(1)3 mm和4 mm碳纤维板和玻纤板;(2)防水舵机和电池;(3)24路舵机驱动板;(4)stm32f103c8t6;(5)ps2遥控器;(6)12 v航模电池;(7)1×DC-DC电源模块(12-5 V/3 A)//将锂电池提供的12 V电压转换为舵机所需的5 V电压;(8)部分3D打印材料。
机器狗的技术参数包括:(1)平均机动速度,速度可自由调节为0.12 m/s左右;(2)爬行能力为能够适应不平崎岖的道路;(3)操作方式为芯片自动控制;(4)动力特性为电驱动。
2.3 机械结构及传动设计
大腿和肩部连接处安装一个舵机1,此舵机1可以让整条腿在空间内绕X轴自由转动(见图3)。与大腿直接相连一个舵机3,此舵机3带动大腿直接自由转动。舵机3下方安装一个舵机2,此舵机2通过连杆结构传动,连杆结构带动小腿可以自由转动。连杆与腿之间安装推力球轴承,不仅可以减少连杆之间的摩擦,而且精度和刚度较高,消耗较少,拆装方便。由于腿部需要承受主体的主要重量,受力较重,所以传动结构主体材料为3 mm的碳纤维板,通过内径为3 mm的铜柱支撑柱连接。大腿和主体间的关节件是采用光固化光敏树脂打印,不仅硬度和精度高,而且表面光滑,与连接舵机的舵盘之间摩擦小。小腿与大腿关节部分是将内径为4 mm,外径为8 mm,厚度为3 mm的轴承通过嵌入大腿和小腿互相接触部分,通过M3的塞打螺丝连接。为了减小碳板和碳板之间的摩擦力,本设计在碳板和碳板之间增加了金属垫片,并加润滑剂的方法润滑。为了增大机器狗在不同地面上的行走能力且更好地吸收机器狗足部落地的冲击力,本研究选用邵氏硬度55橡胶材料来制作机器狗的足部。
图3 机械腿结构
2.4 驱动方案的选择与分析
通过对比市面上常用的几种机械结构,本研究选定了舵机的驱动方式,以下为机器人常见驱动方式:步进电机,液压伺服马达,直流伺服电机,舵机。(1)交流伺服电机可以用数字直接对其控制,结构简单,可控性好,但空间分辨率较低且体积较大,基本上不具有过载能力,适于传动功率小的小型或关节机器人的功率偏小。(2)液压伺服马达有较大的功率密度且负载能力很大。但其液压系统经常会漏油,且其费用较高。(3)直流伺服电机相对功率大,控制技术成熟,响应速度快,在调速特性上具有良好优势,价格介于直流伺服电机和步进电机之间。(4)相对于上面3种电机,应用在四足机器人上的舵机不仅满足了机器人的需要,而且相对容易控制,方便固定和拆卸,体积小质量轻,操作简单,所以综合分析,最后选用舵机作为本设计的驱动。
2.5 整体设计
本次设计的难点就在于:如何做到机器人体积小且结构稳定,并尽可能减少零件的数量,满足方便安装的要求。所以在设计的时候采用模块化的设计,整个机器人分为腿部模块和主体模块(见图4),便于拆装机器人及日后维修。此外,为尽可能减轻四足机器人的腿部重量,将小腿与大腿之间的舵机放在了大腿舵机的下面。传动结构采用连杆结构,连杆结构适用于宽广的载荷范围,可实现不同的运动轨迹,提高传动效率。推力球轴承使原来的杆之间的摩擦力大大减少,使得机器人的运动更加流畅(见图5)。
图4 整体结构
图5 实物图
本设计选用的舵机为20 kg舵机,即其标称扭矩为20 kg·cm,将其转化为标准单位即2 N·m。以此为舵机输出力的依据,本研究对四足机器狗的负载进行以下简要计算:
首先,取其左后腿为主要研究对象进行分析,由于每条腿结构一致,仅需将最终分析结果乘以4即可。
每条腿的上下运动都有两个舵机进行控制,分别控制小腿和大腿,而在机器人达到最大负载的时候,必定有其中一个舵机输出力达到最大,但由于不知道上下哪个舵机先达到最大负载,在此需要建立舵机输出力与地面对脚的力方程,受力分析如图6所示。
当大腿舵机输出任意一个力矩M1时,先假设小腿舵机可以输出足够的力矩M2保持当前状态(不难判断M1和M2的方向一定是图6的情况),那么可以暂时将大腿AF和小腿FH看作一个整体,大腿上舵机作用在H点的力为F1(F1垂直于AH)。AH长度为130 mm,也就是0.13 m,根据力矩公式可得,F1=(M1/0.13)。AH与竖直夹角为9.5°,则F1方向为与水平夹角为9.5°,根据三角函数公式,可得F1向下的分力和向左的分力F1x和F1y
其次,通过计算小腿舵机受力来验证整体假设。当小腿舵机输出轴B输出一个力矩M2时,该力首先通过摇杆BC传递到二力杆CD,根据二力杆基本性质可知,杆CD受力方向为F4和F5两个力所示方向。而F4与BC夹角为47°,则F4与BC法线夹角为43°,由于BC长为0.024 m,可得F4大小,同理可得F5表示为:
将零件ADE视作一个A点固定的可旋转零件,那么力F5将在此零件上产生一个力矩。由于AD=0.02 m,且F5与AD夹角为47°,那么F5与AD法线夹角也为43°,由此可计算出M3大小:
不难发现,EG也是一个二力杆,其受F6和F7两个力,AE长度为0.025 m,F6与AE夹角为46°,则F6与AE法线夹角为44°,根据二力杆性质,则可以求出F7的大小与F6相同。
将零件GFH视作可绕F点旋转的零件,则可知F2受力方向如图6所示。参数FG长0.027 m,F7与FG夹角为47°,则F7与FG法线夹角为43°。可得零件GFH受力矩M4大小,所以M4矩的大小为:
图6 受力分析
由于FH长度为0.133 m,且F2与竖直方向夹角为57°所以:
再将整条腿视作一个整体,则其只受地面的支持力。由此可知,F1x和F2x相互抵消,得:
化简可得:M2= 2.656M1。
化简得:N=2.334M2。
由于M2一定大于M1,所以当负载最大时,M2扭矩为2 Nm,N= 4.668 N。
综上所述,四足机器人最大负载为4·N= 18.67 N。
2.6 工作原理
2.6.1 舵机驱动板和STM32通信
舵机是让机器人动起来的关键器件。通常设计中为了不影响处理器供电或主控功率,都会另外制作一块板子用作舵机驱动,也叫舵机控制板。采用I2C总线与主控芯片进行通信,可以实现24路PWM脉冲、控制独立精准、编程简单灵活,以其为基础实现的舵机控制能够有效减少硬件和软件设计的复杂度,具有高可靠性。MCU通过姿态解算函数解算出每个舵机需要转动的角度,通过I2C通信发送给PCA9685舵机控制板。控制板将接收到的信号转化为每一路舵机所需要的PWM波。
2.6.2 PS2手柄遥控
PS2手柄由手柄与接收器两部分组成。手柄主要负责发送按键信息;接收器与单片机相连,通过SPI通信,用于接收手柄发来的信息,并传递给单片机,单片机也可通过接收器,向手柄发送命令,配置手柄的发送模式。
对SPI通讯时钟进行初始化,通过接收的来自遥控器的数据来改变机械狗的模式,控制机械狗在初始化、站立、行走、奔跑等模式的切换,所有模式存放在一个结构体中,姿态函数根据结构体变量来对各个行为模式进行姿态解算。
2.6.3 姿态控制
足式运动的步态是指腿的摆动和支撑运动以及这些运动之间的相对时间关系。不同的步态规则决定了不同的足式运动方式,从而形成了不同的步态形式。
行走:通过观察生物狗在运动过程中的步态可以发现,狗始终有三条腿处于支撑相,至多只有一条腿处于摆动相,即在行走步态中四条腿以左前→右后→右前→左后→左前的运动方式进行运动,此过程中任意时刻均有且只有三条腿处于支撑相。
姿态控制上层数据由PS2手柄流入,进入不同的模式后,计算出分别对应三个关节需要移的角度,可以是负数,存入Joint_A,Joint_B,Joint_C,选择腿号1~4分别对应:右前、左前、左后、右后。根据舵机的运动时间来控制每个舵机运动的顺序,最后传入下层PCA9685舵机控制板。
具体代码如下:
While(mpu_dmp_get_data(&pitch,&rol1,&yaw)==1);//获取角度数据
LED=~LED;
if(pitch>3)
{
pitch_move=pitch_move+1;
}
if(pitch<-3)
{
pitch_move=pitch_move-1;
}
if(roll>3)
{
roll_move=roll_move+1;
}
if(roll<-3)
{
roll_move=roll_move-1;
}
PCA_CtrL(1,RH_B_Initial_angle+(pitch_move×1.2×1.75)+(rol1_move×1.2×1.75));
PCA_CtrL(2,RH_C_Initial_angle+pitch_move×1.2+(rol1_move×1.2);
PCA_CtrL(4,LH_B_Initial_angle-(pitch_move×1.2×1.75)+(rol1_move×1.2×1.75));
PCA_CtrL(5,LH_C_Initial_angle-pitch_move×1.2+(rol1_move×1.2);
PCA_CtrL(7,LT_B_Initial_angle-(pitch_move×1.2×1.75)-(rol1_move×1.2×1.75));
PCA_CtrL(8,LT_C_Initial_angle-pitch_move×1.2-(rol1_move×1.2);
PCA_CtrL(10,RT_B_Initial_angle+(pitch_move×1.2×1.75)-(rol1_move×1.2×1.75));
PCA_CtrL(11,RT_C_Initial_angle+pitch_move×1.2-(rol1_move×1.2);
vo1d Leg_movements (char Leg_num,int Mov_time,int Mov_rate,int Joint_A,Joint_B,Joint_C)
{
CPU_SR_ALLOC();
OS_ERR err;
int i;
float Mov_time_ave,Joint_A_ave,Joint_B_ave,Joint_C_ave;
Mov_time_ave=Mov_time/Mov_rate;
Joint_A_ave=Joint_A/Mov_rate;
Joint_B_ave=Joint_B/Mov_rate;
Joint_C_ave=Joint_C/Mov_rate;
if(Leg_num==1)
{
for(i=0;i { OS_CRITICAL_ENTER();//进入临界区 RH_A_Current_angle=RH_A_Current_angle+Joint_A_ave; RH_B_Current_angle=RH_B_Current_angle+Joint_B_ave; RH_C_Current_angle=RH_C_Current_angle+Joint_C_ave; PCA_CtrL(0,RH_A_Current_angle); PCA_CtrL(1,RH_B_Current_angle); PCA_CtrL(2,RH_C_Current_angle); OS_CRITICAL_EXIT();//调出临界区 0STimeDLyHMSM(0,0,0,Mov_time_ave,OS_OPT_TIME_HMSM_STRICT,&err); } } 本款机器狗四足机器人的核心应用场景是在相对危险和较为复杂的环境中,如地震灾区、战场边境等区域,帮助人类完成野外探测、安防巡检等任务。在这样的特种场景下,四足动物不仅有着比人类更强大的运动能力,也比履带式或者轮式机器人更好适应非结构化场景,是对现有履带式和轮式机器人在安保、仓储物流、工程建设、应急响应等应用场景的补充和替代。此外,四足机器人还可以投入人类日常生活之中,通过搭载摄像头实现对目标的识别和障碍的规避,比如在日常生活中快递的拿取,特别是疫情防控期间无接触有着非常重要的意义,不仅降低了人与人的接触风险,也方便了人们的生活[5]。另外,本机器人主体较小,拆卸简单,可以作为小朋友的玩具,开发智力以及动手能力。3 预期应用前景