基于虚拟仿真技术的足式机器人创新实验平台开发

2024-04-13 06:53郭智辉杨亮余志杰
电子设计工程 2024年7期
关键词:步态质心步行

郭智辉,杨亮,3,余志杰

(1.电子科技大学中山学院计算机学院,广东中山 528402;2.电子科技大学计算机科学与工程学院,四川成都 611731;3.中山大洋电机股份有限公司,广东 中山 528400)

当前,机器人技术[1-3]的研发、制造、应用已经成为衡量一个国家科技创新和高端制造业水平的重要标志。我国在《国家创新驱动发展战略纲要》中将机器人技术作为战略发展任务之一,在《“十四五”机器人产业发展规划》中进一步突出了以机器人技术为核心的新一代信息技术深度融合在智能城市、物联网、工业制造、特种环境作业领域的重要地位和核心应用。因此,如何培养具有创新精神和工程能力的高素质工程技术人才,尤其是机器人领域的应用型人才是我国高校人才培养模式改革中亟须探索的课题[4-6]。

机器人涉及计算机、自动化、机械等多门学科[7],具有一定的难度。其中,足式机器人相较于传统轮式[8-9]、履带式机器人在运动的灵活性和环境的适应性下有着显著优势,能更好地完成特定任务,因而具有重要的理论研究价值和应用前景。足式机器人研发的难点在于如何将多学科的理论知识与实践经验有效结合,具体体现在以下两个方面:①机器人算法的抽象性。足式机器人算法强调实际运动规律,该特性导致算法不易被直观理解,加大了教学的难度。②实验的复杂性。受到实验环境难以搭建、实验成本高、空间的动态性和危险性大等条件的限制,足式机器人实验没有大规模实际开展的可能性。为了解决上述问题,有必要在机器人相关课程中引入虚拟仿真实验[10-11]。

因此,文中提出了一种基于虚拟仿真技术的足式机器人创新实验平台设计方案,突破了传统机器人实验受限于场地、成本、安全等多方面限制的困境。该平台采用虚拟机器人+仿真实验平台的架构,具有实验成本低、高度可定制化的优点,能够完成足式机器人步态规划、步行控制等算法的仿真验证等任务。

1 总体设计方案

基于虚拟仿真技术的创新实验平台由足式机器人虚拟本体、仿真实验平台两部分组成。仿真实验平台主要负责机器人轨迹规划、运动控制、数据分析等功能;足式机器人为主要执行的载体,包含电机、躯干、支架等。平台总体设计如图1 所示。

图1 足式机器人创新实验平台总体设计框图

仿真实验平台共设四大模块,分别为初始化模块、步态规划模块、步行控制模块和性能测试模块。初始化模块用于加载机器人模型和调试基本参数,根据控制算法由步态规划和步行控制模块驱动足式机器人运动,实验结果通过性能测试模块可视化输出。

针对传统实验平台存在软件复杂、上手难度高、通用性差等问题,该实验平台采用PyBullet 这一轻量级物理引擎作为仿真环境支撑,设计了一种基于虚拟仿真技术的足式机器人创新实验平台。PyBullet 是一个广泛用于机器人物理仿真的Python 模块,提供正向动力学仿真、逆向动力学计算等功能,具有内存占用小(仅80 MB)、图形化界面、通用操作接口、高度可定制化的优点,非常适合科学研究和实验教学中需要个性化定制机器人的应用场景。

2 机器人仿真平台设计与实现

2.1 仿真平台搭建

仿真实验平台采用典型的三层架构,分别是表示层、控制驱动层和数据层,其软件架构图如图2所示。

图2 软件架构图

控制驱动层建立在表示层之下,通过PyBullet 接口及初始化模块获取控制指令、机器人模型和基本参数,基于ZMP 预观控制算法[12]和三次样条插值算法[13]计算运行轨迹,通过步行控制模块驱动足式机器人运动。数据层依靠性能测试模块和PyBullet 提供的机器人仿真模块完成数据可视化输出,例如Bullet 负责模拟计算机器人物理运动,OpenGL 负责机器人3D 运动场景的展示。

2.2 机器人模型的设计与导入

根据机器人仿真实验平台的要求,在SolidWorks中建立了一个3D 型足式机器人。该机器人[14]高121.4 cm,重8.2 kg,拥有13 个自由度,其中踝关节2个,膝关节1个,髋关节3个,最后一个自由度用于躯干的转动。机械结构主要由电机、支架和躯干部分组成。

机器人的舵机等同于机器人的“肌肉”,提供了运动所需的动力,因此整体机械结构围绕舵机所连接。每一个舵机提供一个自由度。以Y轴正方向为前进方向,设置在髋关节的3 个舵机提供3个自由度,分别为俯仰(pitch)、偏航(yaw)和翻滚(roll),对应机器人的抬脚、移动质心和转向。膝关节的1 个舵机提供俯仰,负责机器人抬脚。踝关节的2 个舵机提供俯仰和翻滚,负责机器人下蹲和移动质心。躯干的1 个舵机提供翻滚,负责躯干的转动。

在SolidWorks 上对15 个零部件进行设计并导入至装配体组成完整的机器人,配置质量、转动惯量、最大关节力矩等参数后转换为URDF 格式文件导入初始化模块,其他场景模型的设计与导入方法类似。机器人模型导入PyBullet 平台的效果图如图3所示。

图3 基于PyBullet平台的双足机器人装配效果图

为测试机器人自主步行、上楼梯等功能,搭建了长320 cm 的直路以及长320 cm、高130 cm、层高10 cm 的楼梯作为测试环境。通过设计步态规划和步行控制模块,能够完成足式机器人步态规划、步行控制等算法的仿真验证等任务。

2.3 步态规划及步行控制模块设计

首先对足式机器人步行基本概念进行简述。足式机器人步行过程可以分解为起步、周期步行和止步三个阶段。在步行周期中,足式机器人一只脚着地作为支撑脚,另一只脚摆动前进,摆动脚从离地到落地的过程称为单脚支撑期,摆动脚落地后机器人进入双脚支撑期,此时机器人移动质心保持平衡,为下一次迈步做准备。左右脚各迈一个步长为一个步行周期。机器人步态轨迹如图4 所示。

图4 机器人步态轨迹示意图

以先迈右脚为例,足式机器人下蹲并向左移动质心为迈步做准备。进入单脚支撑周期:迈出右脚,同时质心向右移动保持平衡(图4 中①);落地后进入双脚支撑周期:向右移动质心;再次进入单脚支撑周期:迈出左脚,同时质心向左移动(图4 中②)。上述运动步骤构成足式机器人的一个步行周期。一个步行周期内质心、左右脚的运动状态如表1 所示。

表1 步行周期中质心、左右脚运动状态

在步态规划模块中,机器人起脚点、摆动腿至高点、落脚点构成一条曲线,即摆动腿期望轨迹。同时,基于ZMP 预观控制算法由摆动腿轨迹计算出质心轨迹,基于几何算法计算出膝关节轨迹。为了提高机器人运动的连贯性和稳定性,规划的轨迹曲线应尽可能平滑,故采用三次样条插值算法优化曲线平滑度。系统控制流程如图5 所示。

图5 系统控制流程

在步行控制模块中,根据单脚支撑周期时间、双脚支撑周期时间和时间片大小将连续的期望轨迹分割成多个离散的坐标点,并转换为欧拉角输入至机器人。

由于机器人晃动等不稳定因素的干扰,机器人实际落脚点与期望落脚点存在一定偏差,因此步行周期结束时,步行控制模块通过将实际落脚点与期望落脚点的偏移量补偿至下一个步行周期的期望落脚点,从而提高仿真的精确度。

3 系统测试

在性能测试模块中,为更好地展示机器人算法的性能,平台基于Matplotlib 实现性能数据的可视化输出。Matplotlib 是一个Python 绘图库,通过Matplotlib开发者可以用简短的代码绘制直方图、散点图、折线图等。平台同时对实验数据进行存储,便于实验员对算法执行前后性能数据进行比对分析。

仿真实验平台对机器人稳定性主要判断依据为ZMP(Zero-Moment Point)判据[15-17]。ZMP 的概念由Vukobratovic 和Juricic 于1969 年正式提出,它选取地面上的一个点,地面反力(Ground Reaction Force,GRF)在该点等效力矩的水平分量为零。因此,ZMP落在其稳定裕度内即保证了机器人运动的稳定性。

设机器人驱动关节的数目为n,则ZMP在x、y方向分量的表达如式(1)所示:

其中,Iix、Iiy分别为连杆i转动惯量的x、y方向分量,、分别为连杆i绕x轴、y轴的角加速度。根据公式即可通过机器人各连杆位置、加速度和各关节的加速度等状态参数求得ZMP。

实践表明,该平台在仿真验证步态规划、步行控制等算法时效果良好,成功测试了粒子群优化算法[18]、基于增量学习的控制算法等,其中传统方法和采用增量学习方法的ZMP 轨迹对比如图6 所示[19-22]。

图6 传统方法和采用增量学习方法的ZMP轨迹对比

4 结束语

机器人是当下最流行的研究课题之一,涉及计算机、自动化、机械等诸多学科,且具有一定的趣味性,是学科中理论与实践结合的典范。文中提出基于虚拟仿真技术的足式机器人创新实验平台设计方案,通过设计不同功能模块,能够完成对机器人算法的仿真验证和性能评估,具有实验成本低、高度可定制化的优点。同时,基于该平台研发机械设计、软件开发等课程,能够提高学生的综合实践能力,培养学生多学科知识交融的开放性思维,有利于智能机器人课程实践教学开展。测试结果表明,该方案研制的足式机器人创新实验平台激发了学生的创造力和学习热情,为学校开展机器人仿真实验提供有效途径。

猜你喜欢
步态质心步行
小蚂蚁与“三角步态”
重型半挂汽车质量与质心位置估计
基于GNSS测量的天宫二号质心确定
步行回家
攀山擅离步行道自拍,不幸坠落身亡谁担责?
基于面部和步态识别的儿童走失寻回系统
基于Kinect的学步期幼儿自然步态提取
从步行到奔跑
便宜假肢能模仿正常步态
一种海洋测高卫星质心在轨估计算法