A Flexible MATLAB/Simulink Simulator for Robotic Floating-base Systems in Contact with the Ground: Theoretical background and Implementation Details

📄 arXiv: 2405.08092v1 📥 PDF

作者: Nuno Guedelha, Venus Pasandi, Giuseppe L'Erario, Silvio Traversaro, Daniele Pucci

分类: cs.RO

发布日期: 2024-05-13

备注: 17 pages, 4 figures, 1 table, equal contribution by authors Nuno Guedelha and Venus Pasandi. arXiv admin note: substantial text overlap with arXiv:2211.09716

期刊: International Journal of Semantic Computing 0 Ahead of Print (2024) 1-17

DOI: 10.1142/S1793351X24300036


💡 一句话要点

提出一种灵活的MATLAB/Simulink机器人浮动基座系统仿真器,支持地面接触。

🎯 匹配领域: 支柱一:机器人控制 (Robot Control)

关键词: 机器人仿真 MATLAB/Simulink 浮动基座机器人 地面接触 刚体动力学

📋 核心要点

  1. 现有机器人仿真器在灵活性和可定制性方面存在不足,难以快速适应不同机器人构型和环境交互。
  2. 该论文提出一种基于MATLAB/Simulink的仿真器,利用其模块化特性,实现物理引擎、交互模型和状态演化的灵活配置。
  3. 该仿真器支持多种机器人模型,包括开链和闭链结构,并能模拟与地面的交互,提供了一键安装和简易的Simulink界面。

📝 摘要(中文)

本文介绍了一个开源的MATLAB/Simulink物理仿真器,用于刚体铰接系统,包括机械臂和浮动基座机器人。该仿真器利用MATLAB系统类和Simulink函数块等特性,结合了程序化和基于模块的方法,从而实现了灵活的设计。这意味着不同的部分,包括物理引擎、机器人-地面交互模型和状态演化算法,都可以简单地访问和编辑。此外,通过使用Simulink动态掩码块,该仿真器支持集成开链和闭链运动学的机器人模型,这些模型可以具有任意数量的与地面交互的连杆。该仿真器还可以集成二阶执行器动力学。此外,该仿真器受益于一键安装和易于使用的Simulink界面。

🔬 方法详解

问题定义:现有的机器人仿真器通常在灵活性和可定制性方面存在局限性。针对特定机器人或环境,需要进行大量的代码修改和重新编译。此外,对于浮动基座机器人与地面接触的仿真,需要精确的动力学模型和数值求解方法,实现难度较高。

核心思路:该论文的核心思路是利用MATLAB/Simulink的模块化特性,将仿真器分解为多个可独立配置和修改的模块,包括物理引擎、机器人模型、地面交互模型和状态演化算法。通过这种方式,用户可以根据自己的需求,灵活地定制仿真器,而无需深入了解底层代码。

技术框架:该仿真器的整体架构基于MATLAB/Simulink环境。它主要包含以下几个模块:1) 机器人模型模块:用于定义机器人的几何结构、质量属性和运动学约束。2) 物理引擎模块:用于计算机器人的动力学方程和模拟物理交互。3) 地面交互模块:用于模拟机器人与地面之间的接触力、摩擦力和碰撞。4) 状态演化模块:用于根据动力学方程和交互力,更新机器人的状态。这些模块通过Simulink的信号线连接,形成一个完整的仿真系统。

关键创新:该论文最重要的技术创新点在于其灵活的设计。通过MATLAB系统类和Simulink函数块,仿真器的各个模块都可以简单地访问和编辑。此外,Simulink动态掩码块的使用,使得仿真器可以支持具有任意数量连杆的开链和闭链机器人模型,并能模拟与地面的交互。这种灵活性使得该仿真器可以快速适应不同的机器人构型和环境交互。

关键设计:该仿真器的关键设计包括:1) 基于刚体动力学的物理引擎,采用高效的数值积分方法求解动力学方程。2) 基于惩罚法的地面交互模型,通过定义接触刚度和阻尼系数,模拟机器人与地面之间的接触力。3) 基于Simulink的模块化设计,使得用户可以方便地添加、删除和修改仿真器的各个模块。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

该仿真器提供了一键安装和易于使用的Simulink界面,降低了用户的使用门槛。通过Simulink动态掩码块,该仿真器支持集成开链和闭链运动学的机器人模型,这些模型可以具有任意数量的与地面交互的连杆。此外,该仿真器还可以集成二阶执行器动力学,更真实地模拟机器人的运动。

🎯 应用场景

该仿真器可应用于机器人控制算法的开发与验证、机器人运动规划、人机交互仿真、以及机器人教育等领域。它能够帮助研究人员和工程师快速搭建机器人仿真环境,评估控制策略的性能,并优化机器人设计。此外,该仿真器还可以用于虚拟现实和增强现实应用,为用户提供沉浸式的机器人操作体验。

📄 摘要(原文)

This paper presents an open-source MATLAB/Simulink physics simulator for rigid-body articulated systems, including manipulators and floating-base robots. Thanks to MATLAB/Simulink features like MATLAB system classes and Simulink function blocks, the presented simulator combines a programmatic and block-based approach, resulting in a flexible design in the sense that different parts, including its physics engine, robot-ground interaction model, and state evolution algorithm are simply accessible and editable. Moreover, through the use of Simulink dynamic mask blocks, the proposed simulator supports robot models integrating open-chain and closed-chain kinematics with any desired number of links interacting with the ground. This simulator can also integrate second-order actuator dynamics. Furthermore, the simulator benefits from a one-line installation and an easy-to-use Simulink interface.