APP下载

基于STM32的仿生六足越障机器人系统设计

2022-08-24张坤之

现代制造技术与装备 2022年7期
关键词:条腿电路板舵机

张坤之 胡 明

(1.聊城鑫泰机床有限公司,聊城 252200;2.山东省机械设计研究院,济南 250031)

在自然界和人类社会中,总有一些人类无法到达的地方,而地形不规则和低洼不平是这些环境的共同点。摸索一条能在这些有风险的复杂境况中进行探索的可行路径,已成为科技发展和人类社会进步的迫切要求。由于人类生活在复杂的环境中,开发一种具有高移动能力和高扩展性的机器人平台已经成为人们的迫切需求。多足步行机器人作为能够满足上述要求的机器人,有着广阔的发展方向和应用前景。

从仿生学角度来讲,仿生机器人主要分为仿人双足机器人和仿动物多足机器人两大类。在众多仿生机器人中,六足机器人通过模仿昆虫或其他节肢动物的生理结构和运动策略,创造具有代表性的机器人。六足机器人又叫仿生蜘蛛机器人,较之于其他机器人具有结构简单、行走平稳、肢体灵活等优点,拥有较好的机动性,在复杂地形中容易实现稳定行走,且对环境的破坏程度小,因此能够应用于多个领域。传统的机器人控制电路板多为51单片机和可编程逻辑控制 器(Programmable Logic Controller,PLC) 单 片机,而本文采用STM32芯片的单片机进行设计开发。STM32 芯片的单片机除了具有性能强、成本低的特点,还拥有众多的外设和软件包,能够满足六足机器人的开发需要,对我国新型基础设施建设具有巨大的推动作用。

本文对蜘蛛的生理结构进行分析,根据蜘蛛肢体结构和机器人功能需要确定设计要求,然后提出机器人各部分的设计方案,并详细阐述了具体实现过程。

1 机械结构设计

1.1 仿蜘蛛的机械结构

1.1.1 腿的分布

六足生物腿的分布方式主要有轴对称分布和均匀分布两种方式。通过对蜘蛛生理结构的研究,发现蜘蛛的6条腿呈现均匀分布,足端大多落在圆或者椭圆范围内,如图1所示。观察分析其运动姿态,发现在行走时重心的投影始终落在支撑状态的腿的连线组成的投影区域内。本设计初步确定腿部采取均匀分布方式。在多足仿蜘蛛机器人行走过程中,将重心投影到支撑足围成的三角形区域内。三角形的边界到重心投影点的最小垂直距离为稳定余量。稳定余量越小,机器人的稳定程度越低。

1.1.2 腿部结构设计

根据分析大自然中蜘蛛的生理结构,腿部机械结构初步设计为3个关节,各关节分别由舵机驱动,如图2所示。通过控制指定关节上舵机的运动,能使机器人有效地模拟蜘蛛的行走方式,完成直行、转向和其他复杂运动。

目前,对六足机器人腿部每节长度的研究还不成熟。参考蜘蛛身体结构和现有六足机器人HEXA进行分析可知:当大腿长度与小腿长度比例达到1∶2时,六足机器人单条腿所能达到的范围最大,此时的运动空间范围和灵活性都较好;当基节与大腿长度的比例为2∶3时,各个结构相互影响的情况较少[1]。因此,本文初步设计腿部每节的长度比例为“基节∶大腿∶小腿=1∶2∶3”。

1.1.3 躯体结构设计

躯干是六足机器人的连接中心及控制部分元器件的安装平台,因此在设计六足机器人躯干部分时需要在保证强度的前提下尽可能多地留出空间以便后续安装驱动部件。此外,合理的躯干形状是保证六足机器人整体稳定性的重要因素。

根据选定的均匀分布的腿布置方案,六足机器人的躯干分为底板和上盖两个部分,且均设计为正六边形[1]。为了方便基节部分安装,将6个顶点改成圆弧,基节部分安装在圆弧的中心。下壳由高性能尼龙3D打印制成,并在部分位置挖空,部分位置加梁。上壳由高性能尼龙3D打印而成,中间留空,便于后续安装和检测。顶盖由同样的材质3D打印制成,部分留空,减轻重量。此外,在上下壳上预留部分突起作为舵机安装位,并设计带螺纹孔的顶盖。

通过SolidWorks软件绘制零件模型,装配的机器人总体机械结构模型,如图3所示。

1.2 步态规划

1.2.1 三角步态

对六足机器人来说,仿蜘蛛的步态是多种多样的。其中,三角步态是在仿生机器人设计中使用最广泛的步态。经前文分析,本设计六足机器人的6条腿采用均匀分布方式。目前,大部分六足机器人采用了该结构,将6条腿分别进行编号,如图4所示。蜘蛛运动时,并不是随机抬腿和放下,而是将6只足分成2组,如图4中身体左侧的A、C及右侧E为一组,右侧的F、D和左侧的B为另一组。通过将6条腿分成2组,分别形成2个中心对称的三角形支架结构,进而支撑起机器人本体。当其中一组三角形支架如A、C、E组所有的足同时提起时,B、D、F组中的足则原地不动。通过调整肢体状态,将机器人的重心落在A、C、E组三角形支架投影的范围内,然后A、C、E组落下作为机器人新的支撑,整个机器人向前运动或者转向。通过不断交换支撑组,能够保持躯体相对地面的高度,易于协调六足机器人的z轴运动,提高整体机器人的稳定性。

根据三角步态介绍,绘制三角步态运动示意图,如图5所示,其中实心为接触地面的腿,空白为抬起的腿。

1.2.2 具体行走方案

前进运动步态示意图,如图6所示。先以A、C、E足为一组支撑足,B、D、F组先提起再向前迈进,等B、D、F着地后,以B、D、F组为支撑组,将A、C、E组提起向前迈进,等A、C、E接触到地面即完成了前进动作。后退动作,同理。

机器人向左转的时候,以A、C、E足作为支撑组,B、D、F足先向上提起向左旋转,然后放下,等着地后,以B、D、F足为支撑组,将A、C、E足先向上提起向左旋转,然后下降着地,6条腿恢复到未旋转时的发布状态,完成向左旋转动作,如图7所示。同理,当向右转时,以A、C、E足作为支撑组,B、D、F足先向上提起向右旋转,然后放下,等着地后,以B、D、F足为支撑组,将A、C、E足先向上提起向右旋转,然后下降着地,6条腿恢复到未旋转时的发布状态,完成向右的旋转动作[2]。

以目前的工作能力,要实现完全意义上的仿生行走是有难度的,只能做到在保证平稳行走的基础上稍微提高速度。在抬起的腿放下的过程中,支撑足同时增加一个向后蹬的动作,即多了一个向前移动的力,使整体行进速度略微加快。

2 控制系统设计

2.1 设计任务及要求

本设计机器人具有6只足,在运动过程中如何保证各足运动协调,不仅是当前六足机器人领域研究的重要部分,也是实现前进和转向的基础。在整个六足机器人系统中,必须将控制系统和机械结构两者有机结合才能获得最佳的性能[3]。为了实现本设计的功能需要,必须满足如表1所示的相关设计要求。

表1 设计要求

针对六足机器人的机械结构设计,搭建控制系统硬件部分电路板并绘制原理图,设计软件部分设计方案,绘制控制流程图,编制主要功能的控制程序和代码分析,最终完成了六足机器人控制系统的硬件设计和软件设计。

2.2 运动模块设计

2.2.1 驱动舵机选择

当舵机接收控制信号时,舵机内部电路板将信号处理后输入电位器,由电位器控制电机转动的方向和速度。电机经过减速齿轮组放慢后,将扭矩传递到输出轴,带动舵机外部部件运动。舵机的输出轴和位置反馈电位计是相连的,舵盘转动带动位置反馈电位计运转,同时电位计将反馈一个比例电压到控制电路板,然后控制电路板根据舵机输出轴的位置决定电机的转动方向和速度。经过这样一个闭环反馈控制,到达预定舵机位置时停止转动。舵机内部控制流程如图8所示。

2.2.2 舵机PWM脉冲控制原理

脉冲宽度调制(Pulse Width Modulation,PWM)通过对一系列脉冲方波的宽度进行调制[4],获得特定的模拟信号即数字编码。只要带宽足够,任何信号都可以用PWM编码[5]。设计采用的RDS3115舵机内部有一个基准电路,产生周期为20 ms、宽度为1.5 ms的基准信号控制信号。只要STM32芯片输出周期20 ms的PWM方波,就能通过改变脉冲时长改变输出轴转角,直到提供另一个宽度的脉冲方波才会再次改变输出轴角度。当脉冲时长为0.5~2.5 ms时,对应输出轴的位置为0°~180°,也就是说该舵机转动幅度不能超出180°,适合用于机器人关节等位置。

2.3 控制系统软件设计

2.3.1 主程序设计

在控制系统电路板上电或复位后,控制系统要检查整个控制系统硬件,并将各个模块初始化,使机器人姿态复位为初始状态。初始化主要包括全局变量初始化、指示灯和蜂鸣器初始化、定时器初始化、输入输出(Input/ Output,I/O)端口初始化以及机器人姿态初始化等过程。单片机通过蓝牙遥控模块或者通用串行总线(Universal Serial Bus,USB)串口电路接收指令,通过指令处理获得相应的控制命令,如图9所示。

2.3.2 前进与转向控制

根据蓝牙遥控软件设计,串口收到的蓝牙数据会在STM32单片机上转化为一个数组,因此只需通过蓝牙串口控制每一个舵机的状态,就能满足六足机器人的运动需要。

3 结语

本仿生六足越障机器人设计分为机械结构设计和控制系统设计两大部分。机械结构设计章节详细介绍了对蜘蛛生理结构的观察分析过程,完成了六足机器人机械结构设计和对运动步态的规划。控制系统设计按照各部分的功能,分为STM32最小系统、动力模块、运动模块、存储模块、蓝牙遥控模块和软件设计6个模块,实现了对六足机器人的控制。

猜你喜欢

条腿电路板舵机
基于AKAZE 算法的大尺寸电路板图像拼接研究
直升机某型舵机自动测试系统设计分析
基于速度观测的双余度电液舵机系统容错同步控制
不会算账的蝉
按属性分类
鸡兔同笼
超音速舵机保护器
菜鸟看模型
画图解题
电路板维修中的问题故障与应对策略