0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Simulink和Simscape构建人形机器人头部的数字孪生

MATLAB 来源:MATLAB 2023-07-20 10:34 次阅读

作者: Mattia Fussi、Mattia Salvi、Michele Gesino、Ugo Pattacini 和 Marco Maggiali,意大利技术研究所 (IIT)

我们的团队隶属于意大利技术研究所 (IIT) 下设的 iCub Tech 机构,负责设计、开发和构建 iCub 开源机器人平台。目前,iCub 人形机器人广泛应用于全球 50 多个研究中心和研究所。它身高 1 米,具有 53 个自由度,其中头部有 6 个自由度,颈部有 3 个自由度,眼部有 3 个自由度。这款机器人还配备有 50 多个电机,以及力扭矩传感器和惯性测量单元。我们主要研究机电设计和低级控制固件,而我们在其他研究领域的同事负责开发更高级别的先进控制软件以支持各种应用,包括人与机器人接口和分身机器人系统。

iCub 平台十分复杂,这使得设计理念很难在硬件中真正实现之前得到验证。例如,过去,我们在 CAD 工具中完成设计,并在三维机器人仿真器(如 Gazebo)中运行高级仿真,但这需要编写自定义代码,以对复杂的动力学进行建模。我们也只有在完成了新设计,用控制固件运行了测试,并手动调节了控制器增益后,才能了解新设计的效果如何。我们面临的许多挑战都源于无法使用机器人机械设计的逼真模型进行精确的动态仿真。

为了应对这些挑战,我们的团队最近验证了一种新方法,即使用 SimulinkSimscape 创建 iCub 机器人头部和颈部的数字孪生。此模型使我们能够自动调节控制增益,并显著改进轨迹跟踪性能。此外,它还让我们可以精准放置质点,轻松引入真实的非线性效应,并精确仿真作动系统,而这些功能对于设计可以安全应用于机器人的可靠控制算法至关重要。

CAD 装配体的导入和模型的线性化

首先,我们使用 Simscape Multibody Link 插件将颈部装配体从 PTC Creo CAD 软件导出到 Simscape Multibody(图 2)。该插件让我们可以很轻松地从 CAD 中导出模型。导出模型时会生成一组几何形状文件(每个刚性部件对应一个文件),以及一个唯一的 XML 文件(包含有关如何装配每个部件的信息)。此 XML 文件由 smimport 函数解析,该函数会自动创建一个定义所有模型参数的数据结构体,以及一个将此数据结构体加载到其模型工作区中的 Simscape Multibody 模块图。以这个导入的基线装配体作为起点,我们用 Simscape Multibody 创建了机器人颈部的电缆差动系统的精确模型,并用 Simscape Driveline 创建了其传动系统模型(图 3)。

wKgaomS4nVKAEgdDAAD1re9wXuY456.jpg

图 2. iCub 颈部机制模型,左图渲染自 CAD 软件,右图渲染自 Simscape。

wKgZomS4nVKAOAPdAAB0R-sXDEE576.jpg

图 3. 电缆差动系统模型(左)和外部传动系统模型(右)。

接下来,我们使用 Simulink Control Design 中的模型线性化器,以交互方式对头部垂直放置的 Simscape 模型进行了线性化。在线性化后,该模型包含 38 个状态。我们随后使用 Control System Toolbox 中的模型降阶器将其减至 18 个状态。

虽然我们能为此模型创建一个稳定的控制器,但我们觉得它仍过于复杂。线性化过程中产生了带有许多状态的大型矩阵。这未能很好地反映实际设计。部分原因在于我们构建 CAD 模型的方式。该模型中的某些刚性元素并未显式定义为此类元素,这使得导出表示具有额外的自由度。为了纠正这一错误,我们在 PTC Creo 中更新了装配体,从而在降低了复杂度的同时,保持系统的主要动力学特性不变。然后,我们将更新的模型重新导入 Simscape,并再次运行线性化过程。我们最终得到了一个更小型、更简单也更易于追溯的模型,便于我们理解频率响应和传递函数。例如,我们使用 Robust Control Toolbox 分别为俯仰和滚动关节创建了不确定的线性化状态空间模型。这些模型包含不确定的参数(我们为这些参数定义了各种可能的值),使我们能够识别一组分离的传递函数(图 4)。对于每个关节,我们都在下面三个不同的工况点处运行了线性化过程:头部处于垂直状态、头部完全倾斜至最小角度,以及头部完全倾斜至最大角度。

wKgaomS4nVKAWE9bAACbfvK810k843.jpg

图 4. 具有不确定参数的系统的频率响应,这些参数表示分离的俯仰角。

提高控制器的跟踪性能

有了更精确的 iCub 头颈模型,我们就可以开始调节俯仰和滚动离散比例-积分-微分 (PID) 控制器的增益了。我们为调节过程定义了软目标和硬目标,并使用 Control System Toolbox 中的 systune 函数来调节控制器增益。

此前,我们已经凭经验基于对实际头颈装配体的多次试验确定了一组增益值。Simulink 中的调节过程表明,我们需要显著提高这些根据经验确定的值的增益。特别是,我们需要将积分增益提高近 30 倍,因为这对于补偿作用于头部的重力至关重要(表 1)。

wKgaomS4nVKAQhtuAABAab1h_JE280.png

表 1. PID 增益的原始值和调节后的值。

我们在 Simulink 中使用 Simscape 被控对象模型测试了基本控制器模型的新增益。在这些测试中,我们让头部移过 minimum-jerk 多项式轨迹上的一系列路径点,该轨迹是我们用 Robotics System Toolbox 生成的(图 5)。

图 5. 在 Simscape 中仿真的俯仰和滚动角动力学动画,同时显示跟踪 minimum-jerk 轨迹。

仿真结果表明,轨迹跟踪性能有了显著提高。例如,对于俯仰跟踪,均方根误差 (RMSE) 减少了 80% 以上,而对于滚动跟踪,均方根误差则减少了 75% 以上。然后,我们在 iCub 机器人上测试了新的增益值,结果证实了我们在仿真中观测到的跟踪误差和仿真时间有了显著改进(表 2)。

wKgZomS4nVKATAswAABXRw4fGNw950.png

表 2. 俯仰和滚动跟踪的仿真与测量 RMSE 以及默认增益值与调节后的增益值。

验证我们的模型和方法

通过简单的目测就能清楚地看出,我们的 Simscape 模型能够准确表示真实机器人的运动(图 6)。

图 6. 颈部装配体的真实移动和仿真移动。

然而,为了进一步验证该模型,我们对仿真和测量的俯仰角和滚动角进行了直接比较。我们发现,仿真结果和真实测试结果之间几乎没有差别(图 7)。

wKgZomS4nVKAEwxOAACyKuXBoTg126.jpg

图 7. 仿真测试(蓝色)与真实机器人测试(红色)期间俯仰角和滚动角随时间变化的图。

在物理硬件上测试之前,我们可以采用仿真流程。通过该流程,我们成功地提高了控制器性能,这也验证了我们的整体方法。我们相信,这种方法可应用于其他 iCub 肢体和组件,从而帮助构建机器人的完整数字孪生。我们已将这种方法运用到了另一个关于 ergoCub 机器人的项目,旨在确保物理机器人可供测试之前,控制器的所有性能要求都得到了满足。

展望未来,我们计划在模型中添加复杂的非线性效应,如皮带松弛、皮带轮压扁和摩擦等,并继续在生产之前尽早仿真新硬件功能的动态特性。凭借精确建模和仿真物理现象的功能,我们还可以在将来开始对我们的机器人平台执行预测性维护。

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48093

    浏览量

    740051
  • 机器人
    +关注

    关注

    206

    文章

    27033

    浏览量

    201396
  • Simulink
    +关注

    关注

    22

    文章

    513

    浏览量

    61564
  • 人形机器人
    +关注

    关注

    2

    文章

    285

    浏览量

    16202
  • 数字孪生
    +关注

    关注

    4

    文章

    991

    浏览量

    11800

原文标题:iCub Tech | 使用 Simulink 和 Simscape 构建人形机器人头部的数字孪生

文章出处:【微信号:MATLAB,微信公众号:MATLAB】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为什么人形机器人更讨人喜欢?

    液压组件控制行动。其体内和腿上安装了可以使其保持平衡的传感器,并在头部安装了光学雷达和双目视觉传感器等立体视觉设备,帮助其躲避障碍、判断地貌、进行导航。人形机器人的各活动关节配置了伺服器。伺服器越多
    发表于 05-12 09:55

    有人玩过人形机器人吗?

    有没有人玩过人形机器人?就是那种能跳舞的那种。我突然心血来潮,想买一个过来玩玩。编几个程序,拿来跳舞玩玩。这种东西自己制作的话,应该也不难吧??!本来想*宝买的,但是不清楚那些东西是不是舵机搞的,特此来论坛问问
    发表于 01-29 06:36

    疯壳人形机器人开发实战全套文档教程(含工具)pdf

    疯壳人形机器人开发实战全套文档教程(含工具)pdf
    发表于 02-25 19:52

    基于仿真的数字孪生系统构建与应用

    概述数字孪生充分融合建模仿真技术、人工智能、工业物联网等新技术,建立物理对象(或过程)的虚拟映射。通过数据驱动的仿真来构建物理对象全生命周期的虚拟生命线,实现更加智能的产品评估优化-虚拟验证-运营
    发表于 07-05 09:59

    Simulink模型与Lego机器人结合使用

    Simulink模型与Lego机器人结合使用可提供令人愉悦的基于模型的设计体验支持LEGO MINDSTORMS NXT作为产品标准功能。即使没有ECRobot NXT,您也可以玩乐高游戏
    发表于 12-20 07:15

    【开发教程1】人形街舞机器人-套件检测教程

    多自由度人形双足舞蹈机器人套件检测教程——机器人开发系列配套资料:https://www.fengke.club/GeekMart/su_fV1WzKsGQ.jsp 配套视频:https
    发表于 04-22 14:14

    【开发教程4】人形街舞机器人-PC上位机在线调试

    多自由度人形双足舞蹈机器人 PC 上位机调试软件简介 ——疯壳·机器人开发系列 首先在我们提供的文件中找到上位机调试软件 robotCtrl,双击打开,界面如下。 图 1 界面中的舵机图标如同一个
    发表于 05-13 10:51

    【开发教程4】疯壳·人形街舞机器人-PC 上位机在线调试

    多自由度人形双足舞蹈机器人——疯壳·机器人开发系列PC 上位机在线调试 首先在我们提供的文件中找到上位机调试软件 robotCtrl,双击打开,界面如下。 图 1 界面中的舵机图标如同一个
    发表于 07-19 15:09

    【教程1】人形街舞机器人-套件检测教程

    多自由度人形双足舞蹈机器人——疯壳·机器人开发系列套件检测教程内容简介本文档主要介绍在如何验证多自由度人形双足街舞机器人套件正常,包括具体线
    发表于 08-12 15:55

    【教程4】人形街舞机器人-PC 上位机在线调试

    多自由度人形双足舞蹈机器人——疯壳·机器人开发系列PC 上位机在线调试 首先在我们提供的文件中找到上位机调试软件 robotCtrl,双击打开,界面如下。 图 1 界面中的舵机图标如同一个
    发表于 08-15 16:58

    高动态人形机器人“夸父”通过OpenHarmony 3.2 Release版本兼容性测评

    深圳开鸿数字产业发展有限公司(以下简称”深开鸿“)OpenHarmony生态建设能力和在新兴行业领域的技术创新实力,也标志着OpenHarmony在新兴行业领域又向前迈进了一步。 夸父人形机器人由深开
    发表于 12-20 09:31

    导电率导电滑环在服务机器人头部中的作用是什么

    在剖析机器人头部应用导电性导电滑环的作用之前,先说下机器人为什么要旋转。机械工程师作为的爸爸妈妈们,他们在方案设计他们的机器人宝宝的状况下,普遍会被一个一样的难点给疑惑。比如机器人
    发表于 03-30 11:55 444次阅读

    人形机器人发展现状

    人形机器人发展现状 人形机器人的概念由来已久。不管是科幻小说还是电影里,我们时常可以见到人类与人形机器人
    的头像 发表于 01-06 14:37 1378次阅读

    DIY会说话的人形机器人头

    电子发烧友网站提供《DIY会说话的人形机器人头.zip》资料免费下载
    发表于 06-16 14:54 0次下载
    DIY会说话的<b class='flag-5'>人形</b><b class='flag-5'>机器人头</b>

    人形机器人火热 OpenAI入局人形机器人 英伟达等巨头入局机器人行业

    人形机器人火热 OpenAI入局人形机器人 英伟达等巨头入局机器人行业 人形
    的头像 发表于 02-26 17:21 487次阅读