一种小型仿人机器人的设计、制作与舞蹈功能的实现

2019-01-07 11:57,,,,
计算机测量与控制 2018年12期
关键词:双足舵机结构设计

,,,,

(1.北京理工大学 机电学院,北京 100081; 2.中央民族大学附中,北京 100081)

0 引言

小型仿人双足机器人的研发过程既涉及对各学科基础知识的掌握与学习,又涉及对多领域关键技术的综合与应用。本文的目标是研发一款小型仿人双足机器人,要求机器人具有模块化构型、拼插式安装、多元化编程、结构精炼、功能齐备、运动灵活、控制简单、成本低廉、易于制作等特点。为实现以上设计目标,需将理论研究、性能分析、功能设计、样机制作、组装调试、动作编程等环节有机结合,完成机器人的机械结构设计、硬件系统设计、软件系统设计,具体工作如图1所示。

图1 小型仿人双足机器人开发任务图

1 研究的策咯与内容

1.1 研究思路

从本质上看,小型仿人双足机器人属于比较复杂的机电一体化系统,要完成其研发工作,首要要完成其总体设计方案。在总体方案的引导下,再进行具体的机械结构设计、硬件系统设计和软件系统设计。因此,本文的研究思路是贯彻“四个结合”,即设计目标与功能要求相结合,实体造型与虚拟仿真相结合,样机制作与实物验证相结合,动作编排与运动特性相结合。

1.2 研究内容

小型仿人双足机器人的研发过程是机械、电子、控制、仿生等多学科知识综合使用的过程。因此,此次研发也将围绕机械结构设计、硬件系统设计、软件系统设计三部分内容开展,具体研究内容见图2。

图2 小型仿人双足机器人总体设计

机械结构设计是机器人研制工作的基础。机械结构设计主要完成以下工作:一是根据仿生学目标进行自由度分配;二是依据研发任务选择驱动元件;三是使用solidworks软件进行机器人结构实体造型设计;四是建立机器人运动学模型并进行运动学分析;五是完成实验样机的结构组装。硬件系统设计是机器人研制工作的关键。硬件系统设计主要完成以下工作:一是选择核心器件(CPU、传感器);二是使用PCB设计软件Altium Designer进行核心电路设计(MUC外围电路、电源电路、传感器检测电路、无线模块电路、遥控器电路);三是通过实体PCB加工机器人电路;四是调试机器人硬件系统。软件系统设计是机器人研制工作的核心。软件系统设计主要完成以下工作:一是通过“插补法”、“分时细分”进行机器人关节舵机的驱动控制;二是使用IAR等嵌入式编程软件进行传感器驱动程序设计;三是进行机器人控制系统上位机软件设计;四是进行机器人运动调试工作。

在此基础之上,需要通过机器人实验来验证机器人的研发成果。机器人实验主要包括仿真实验与样机实验,以此验证机器人设计方案的合理性与可行性。

2 小型仿人双足机器人的设计

2.1 机器人构型设计思路

小型仿人双足机器人的拟人特征与行走特性决定了其机械结构设计过程存在的矛盾:一是仿生学特征与机械设计难度之间的矛盾,要以人体结构为蓝图,进行机器人身体比例分配、自由度分配、重量分配,并使得其尽可能仿人化,这本身就会带来若干矛盾;二是机器人性能尽可能卓越的要求与结构尽可能简化之间的矛盾,因为人们通常会要求在实现机器人性能的前提下要最大限度的优化机器人结构,保证其设计合理、比例协调、结构紧凑;三是机器人成本与鲁棒性之间的矛盾,在控制机器人成本的前提性,要求研发的小型仿人机器人具有较好的鲁棒性。

结合机器人设计开发的矛盾与要求,以图3所示内容为依托,提出小型仿人双足机器人机械结构设计过程中的具体任务:第一,完成机器人自由度的分析与配比;第二,根据机器人的运动扭矩选取驱动元件;第三,以人体比例为蓝图,设计机器人各部位的机械结构,确定各关键距离,优化结构参数;第四,建立机器人数学模型,进行正、逆运动学分析;第五,完成机器人板件的加工与装配。在此,机器人的自由度分配和器件选型是基础,结构设计是核心,数学模型建立和运动学分析是关键。

图3 小型仿人双足机器人机械结构设计内容

2.2 机器人自由度分析与配比

小型仿人双足机器人自由度数量的选择是在两个极端之间寻求平衡。自由度数量与机器人仿人性、控制精确程度成正比,与结构简化程度、研发生产成本成反比。只有保证各自由度的协调配合才能实现机器人的基本功能。因此,约束小型仿人双足机器人自由度分配的要点如下:一是保证结构紧凑,控制机器人体积大小;二是保证成本低廉,避免自由度过多造成的高成本与陡增的控制难度;三是保证机器人基本功能的实现,尽量实现其结构的简单化;四是保证机器人直立行走和完成各类运动的能力。

经过综合分析,确定该小型仿人双足机器人为10自由度配置。综合考虑机器人整体尺寸和伺服电机的驱动力矩,确定机器人的中心位置为腰部,以腰部为分界线,自由度分配从上肢、下肢两个角度进行阐述。机器人上肢自由度配置:人体上肢主要包括颈关节、肩关节、肘关节和腕关节,以及其他较小的关节[1],为契合机器人研制目标,不再对如此数量庞大的自由度逐个还原,仅保留两个重要关节:肩关节和肘关节。将肩关节的运动简化为前后摆动,将肘关节的运动简化为里外摆臂,上肢共设计4个自由度。机器人下肢自由度配置:下肢的自由度分配将影响机器人行走功能[2],一旦下肢自由度配置不合理,便可能出现无法行走或稳定性较差的现象。类比于机器人上肢自由度的分配,机器人下肢自由度的分配也不能照抄人体结构,应结合设计要求,简化分配[3]。因此,下肢共设计6自由度,每条腿分配3个自由度,其中踝关节2个自由度,髋关节1个自由度[4]。

该机器人各自由度之间可串行连接或并行连接[5],两种连接方式的比较[6]如表1所示。

表1 自由度连接方式对比

综合分析并系统考虑后,该机器人设计采用串行连接方式,其10个自由度分配如图4所示。

图4 小型仿人双足机器人自由度分配图

小型仿人双足机器人具体自由度分配方案见表2。

表2 小型仿人双足机器人自由度分配表

2.3 驱动电机选型

驱动元件作为机器人的动力源是其运动功能的基础[6]。直流伺服电机、舵机、步进电机是三种常见的机器人驱动元件,这三种驱动元件各具特色,下文将进行简要对比,以筛选出适合本次机器人研制的驱动元件[7]。三种驱动元件对比结果可见表3[8]。

表3 驱动元件对比表

经过详尽分析与仔细对比,最终选用舵机作为此次机器人研制的动力元件。舵机通常由控制电路、电机、减速齿轮等多个零件组成[9]。控制信号通过舵机信号调制芯片产生直流偏置电压,以舵机基准电路提供的基准信号为参考,产生电压差,决定舵机正反转和转动角度。舵机一般都有最大旋转角度,即只能在该角度范围内转动,不能实现360°的转动。区别于普通直流电机,舵机可以反馈位置信号,通常可在机器人关节运动中使用[10]。普通舵机分解如图5所示。

图5 普通舵机分解图

根据控制方式的不同,舵机分为模拟舵机和数字舵机。数字舵机和模拟舵机在机械结构上基本一致,不同之处表现在控制电路、控制方式、控制效果上,具体对比见表4。

表4 模拟舵机与数字舵机的差异

综上所述,在对控制精度没有特殊要求的情况下,该机器人可采用模拟舵机,本处采用模拟舵机SG90作为机器人关节。图6为模拟舵机SG90外观图。

图6 SG90舵机外观图 图7 SG90舵机模型图

SG90舵机的主要技术参数如表5所示。

经过分析计算,舵机SG90符合该小型仿人双足机器人的设计需要。现使用Solidworks对SG90舵机进行三维建模,仿真模型图如图7所示。

表5 SG90舵机技术参数一览表

如前分析,小型仿人双足机器人采用串联方式模拟人类关节结构,其踝关节采用十字轴的设计方法,即在一个位置实现两个方向的旋转,以此简化结构、节省工件。同时,为提升中小学生动手能力,该机器人拟采用拼插方式进行组装。

2.4 机器人上肢结构设计

首先使用三维实体造型软件Solidworks设计该机器人的肘关节与肩关节结构。综合考虑关节舵机与板材加工工艺,设计与关节舵机匹配且可以顺利完成加工任务的结构件。最后,安装电机和结构件,并进行干涉分析和强度校核。该机器人肘关节设计模型如图8所示,肩关节设计模型如图9所示。

图8 机器人肘关节设计模型图 图9 机器人肩关节设计模型图

完成机器人结构设计以后,根据自由度模型调整并优化机器人结构,确定关键尺寸。关键尺寸标示见图10。

图10 关键尺寸标示图

机器人上肢各关键尺寸数据如表6所示。

表6 机器人上肢结构关键尺寸一览表

2.5 机器人下肢结构设计

使用Solidworks设计机器人下肢结构,设计对象包含膝关节、踝关节与髋关节。为简化设计方案,将膝关节活动范围限制在钝角以内,以稳定机器人行走时的重心位置。综合考虑关节舵机与板材加工工艺,设计与关节舵机匹配且可以顺利加工完成的结构件。图11所示为机器人踝关节结构模型图,图12所示为机器人髋关节结构模型图。

图11 踝关节设计模型图 图12 髋关节设计模型图

完成机器人结构设计后,根据自由度模型调整并优化机器人的结构,确定关键尺寸,其关键尺寸标示见图10,各关键尺寸数据如表7所示。

表7 机器人下肢结构关键尺寸一览表

2.6 机器人整体结构设计

将2.4节与2.5节中设计好的机器人上肢和下肢连接,安装舵机,进行干涉分析和强度校核,最终完成机器人身体结构仿真(如图13所示)。

图13 小型仿人双足机器人整体设计造型图 图14 小型仿人双足机器人组装实体样机

在该机器人设计过程中,为减轻机器人重量,实现顺利安装,对部分构件进行了镂空设计。按照人体结构比例,使机器人各部位的运动能够协调一致,最终确定机器人的身高为221 mm,重量为348 g。

2.7 机器人的加工制作

为减轻小型仿人双足机器人的整体重量,其零件材料采用ABS工程塑料制作。首先在AutoCAD中将三维设计模型转为可用于激光切割加工的二维图纸,便于采用激光切割机加工。采用经激光切割获得的板材进行组装后所得机器人样机如图14所示。

3 小型仿人双足机器人舞蹈动作的设计与实现

本文通过对所构建的小型仿人双足机器人进行软件编程,设计了一个专用于该机器人的“舞蹈”程序,以实现该机器人的舞蹈动作。在相关过程中,通过分层的软件架构方法,设计了驱动层、应用层和执行层,使机器人软件系统的各个部分分工明确,且使小型机器人在跳舞过程中能够保持各部位的协同运动,同时保证机器人重心稳定,不会摔倒,最终实现了小型仿人双足机器人的各种“舞蹈”动作。

在对机器人动作控制的程序设计中,需要解决两方面问题:一是要解决机器人身体各关节在执行动作时的协同运动问题,二是要解决机器人在运动过程中因重心不稳而摔倒的问题[11]。本文希望通过编程设计来同时解决这两个问题。为此,首先要对机器人的关节舵机进行控制,进而实现机器人身体各部分的协同运动(舵机是由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。通过发送信号,指定输出旋转角度控制机器人的动作幅度与方向),其次是在机器人动作设计中,通过控制其动作“速率”保证机器人在动作执行过程中不会摔倒。

3.1 基本思路

通过系统分析和科学实验的方法,得到舵机从一个角度运动到另一个角度的最佳时间。通过“定时插补”调速算法实现对小型仿人双足机器人舵机速率的控制;再通过“分时细分”控制算法,实现对机器人各部位的联动控制;最后通过软件系统的编程设计实现该机器人的“舞蹈”动作。

其次,早期的区块链应用记录的是源于母体的数字货币,区块链自产自销的是原生虚拟资产。这是一个封闭的数字价值世界,不需要与物理世界打交道就可以运转,匿名也是完全可行的。但到了区块链的2.0时代(具备智能合约和平台化等),区块链上记录和交易的不再来自区块链,而是来自物理世界的股权、版权和产权等。如果区块链上所映射的是匿名资产,从法律意义上就是无效合同。

3.2 设计过程

第一步,通过实验得到该机器人信号发出后的等待时间。该机器人身体各部分的运动是通过有序控制舵机来实现的。例如,机器人手脚的运动就是控制机器人关节驱动舵机以一定角速度从一个角度A转动到另一个角度B的过程,如舵机要保持该位置,需一直发送相应的PWM波。假设转动一定角度需要消耗的时间为ΔT,而CPU发出运动到某角度B的PWM信号后,需要等待一定的时间,记为Tw。理论上,当Tw≥ΔT时,舵机能够转动到指定位置;当Tw<ΔT时,舵机不能转动到指定位置;当Tw=ΔT时,舵机运动最快,系统动作最连贯。而本次使用的机器人有10个舵机,并且10个舵机的负载存在差异,需要通过实验测试的方法,得到舵机的Tw数据(见表8),进而对软件程序的可行性进行分析。

表8 舵机Tw数据实验表格一览表

第二步,通过“定时插补”调速算法实现对该机器人舵机速率的控制。小型仿人双足机器人的舵机本身是不能控制自己的速度的,对舵机速度进行控制是通过软件编程,给定其初始位置、最终位置以及时间,然后进一步通过细化时间和角度来实现的。舵机运动过程中的流畅性和时间细分的程度紧密相关,但是受到自身性能的影响与限制,又不能对舵机的时间进行无限细分,因此需要通过调速算法,找到舵机运行的流畅度和性能的平衡点。对此,本文采用“定时插补”调速方法,在程序设计中使用定时器中断来对时间进行细化。假设,在时间T内使用定时器进行了N次中断,则每一次中断的时间dt为:

(1)

设初始位置角度为ω0,目标位置角度为ωn,ω0变化到ωn角度差为dp,所需时间为Ten,细化后每进行一次变化的角度为dp0,细化的次数n,则:

dp=ωn-ω0

(2)

(3)

(4)

每进行一个时间周期,角度变化dp0,并且设置一个计数器m,每当角度变化一次dp0,则进行m+1,当m=n时,舵机变化到指定位置。针对舵机速率的控制算法,本文给出的软件系统设计流程如图15所示。

图15 小型仿人双足机器人算法实现流程图

第三步,要实现小型仿人双足机器人的舞蹈运动功能,就需要对机器人的所有舵机进行联动控制。在此处,本文采用“分时细分”控制算法,具体做法是将舵机PWM周期分为8个小段,每个时间小段里分别控制一个舵机,因此,特别设计了一个定时器来控制8个相关舵机,2个定时器就能够控制16个舵机,而本次使用的小型仿人双足机器人拥有10个舵机,因而使用2个定时器就能够满足分时控制需求。针对多个舵机的联动控制算法,将机器人软件系统设计流程图分为3部分,即主程序、2.5 ms中断程序和10 μs终端程序,分别如图16所示。

图16 小型仿人双足机器人软件系统设计流程图

图17 小型仿人双足机器人软件执行流程图

需要注意的是,串口通信需要先扫描出可以使用的串口[12],在此我们使用的是“try-catch”语句对串口进行扫描,发现能够使用的串口时便将该串口返回给主程序。舵机的控制程序主要由上述两个算法组成。基于上述算法与程序的小型仿人双足机器人舞蹈动作编排界面如图18所示。

图18 小型仿人双足机器人舞蹈动作编排界面截图

基于上述思想与方法完成程序编排和动作展示的小型仿人双足机器人舞蹈动作(部分片段)则如图19所示。

4 结语

本项目取得了以下成绩:

1)解决了小型仿人双足机器人各部位联动控制的问题,保证了机器人在舞蹈过程中的流畅性与精确性。

图19 小型仿人双足机器人舞蹈动作(部分片段)

2)通过对小型仿人双足机器人运动速率和动作幅度的控制,确保了该机器人在舞蹈过程中的稳定性与鲁棒性。

3)实现了小型仿人双足机器人比较复杂的“舞蹈”动作,发挥了机器人的部分教育、示范、引导功能,使得像我们一样对机器人技术充满兴趣的青少年学生能通过对机器人的程序控制和动作编排,了解并掌握机器人的控制技术,为将来的腾飞奠定必要的技术基础。

猜你喜欢
双足舵机结构设计
超限高层建筑结构设计与优化思考
人防结构设计疏漏的思考
直升机某型舵机自动测试系统设计分析
结构设计优化在房屋建筑结构设计中的应用
高层建筑结构设计分析探讨
基于速度观测的双余度电液舵机系统容错同步控制
冰冻的梦
基于STM32双足竞步机器人的研究与设计
超音速舵机保护器
菜鸟看模型