学生休息室

分享技术和现实生活的例子,学生可以如何使用MATLAB和Simulink在他们的日常项目#学生成功金宝app

行走机器人建模与仿真

在这篇文章中,我将讨论使用Simulink®、Simscape进行机器人建模和仿真™, 和Simscape多体™. 把事情的来龙金宝app去脉说清楚,我会的你通过一个行走机器人的例子(明白了吗?)

动机

首先,为什么要模拟?我把这些好处分为两类。

  • 安全:机器人会倒下。原型将被破坏。在转移到硬件之前,您可以验证控制算法在模拟中处于良好的起点。通过模拟,您可以在多种场景下测试机器人和控制器设计,而无需构建原型。在模拟中,您还可以获得故意生成不安全条件以及发现意外问题的好处。
  • 效率:物理实验需要花费时间和精力在运行之间设置和重置。通过仿真,您可以获得一个可编程的环境来自动进行实验并离开您的办公桌。如果您的机器人是由嵌入式系统控制的,那么仿真可以让您测试算法的变化,而不必每次都在硬件上移植和重建代码。这种算法和实现的分离还可以帮助您确定新问题是由于算法更改还是物理限制。

机器人仿真组件

现在我们来看一个典型的机器人仿真体系结构,它由多个层组成。根据您的目标,您可能只需要为模拟实现其中的一个子集。

机器人力学

Simscape多体让你建立机器人的三维刚体力学模型。有两种方法可以做到这一点。

  • 从头开始构建:从头开始构建模型可能需要一些初始时间。但是,如果设置正确,则可以轻松更改特性,例如尺寸、横截面、体量等。如果仍处于概念设计阶段,则在浏览不同参数并验证设计时,这会很有用。
  • 从CAD导入:如果你已经创建了一个机器人模型,想要用更真实的几何和惯性特性来模拟它的动力学,这是很有用的。只要CAD模型的运动学保持不变,您就可以在CAD中进行更改并将参数重新导入到模型中。欲了解更多信息,请查看我们的关于导入CAD组件的博客文章

无论您如何创建机器人模型,下一步都是向它添加动力学。

  • 内部力学:可以为模型中的每个关节块(平移或旋转)指定机械刚度、阻尼和初始条件。
  • 外部力学:首先,你可以设定重力的方向和大小。同样重要的是,对于有腿的机器人,你需要建立与地面接触的模型。从R2019b开始,您可以使用空间接触力块在Simscape多体。但是,在以前的版本中,您可以使用文件交换的Simscape多体接触力库

执行器动力学与控制

如前面的仿真结构图所示,执行器是算法和模型(或机器人)之间的“粘合剂”。执行器建模包括两个部分:一个在控制器侧,一个在机器人侧。

  • 致动器控制:通过在Simscape中指定驱动器模型的运动,您可以首先执行驱动器大小调整。这可以让您确定执行机构所需的功率(例如,电动执行机构的电流、扭矩等),以实现所需的执行。一旦有了执行器模型,就可以使用Simulink设计控制器,并在部署之前进行仿真测试。金宝app

  • 执行器动力学:你可以用Simscape建立更详细的执行器模型。这允许你连接机器人的三维机械运动到其他物理领域-例如,电子领域汽车或流体域活塞式执行机构

不同的设计任务可能需要不同的模型细节。基于此,模拟速度可能比实时速度快得多,也可能比实时速度慢得多,这是一个重要的权衡。让我们来看下面的例子。假设你正在设计一个机器人,它既有一个高级运动规划算法,又有一个具有高频脉宽调制(PWM)的低级电子电机控制器。

  • 一个运动计划任务可能需要分钟而电机控制响应的顺序为毫秒
  • 要测试运动规划器,可以假设低级执行器正常工作;对于电子设计,您可能需要深入研究致动器电流瞬变,以确保单个组件不会发生故障。

理想情况下,您希望为不同比例的仿真提供可重用和可配置的模型组件。Simulink通过建模功能(如金宝app变体块库,模型参考

要了解步行机器人执行器模型是如何实现这一点的,请观看下面的视频。

(视频)步行机器人的建模与仿真

运动规划

运动规划可以是开环闭环活动。

你可以阅读更多关于行走机器人的运动规划和控制下一个博客. 在这个例子中,我们已经设计了一个初始的开环行走模式,使我们的模拟机器人能够稳定地行走。要进一步改进此行走模式,可以添加用于稳定性和/或参考跟踪的闭环组件,或者使用优化等技术来优化行走模式。

优化工具在机器人建模和仿真的许多方面都很有用,例如

  • 机器人设计:确定最佳几何结构(尺寸、位置、横截面等)或动力学(质量/刚度/阻尼,或电气或流体致动器中的等效物)。例如,请参见直流电动机参数估计
  • 控制设计:调整控制增益、阈值、速率限制等,以满足性能和安全要求。例如,请参见优化系统性能:直流电机
  • 运动规划:找到满足总体规划目标的运动输入序列。下面的动画和视频显示了这种方法,其中遗传算法用于优化机器人的行走轨迹。

通过优化设计开环运动轮廓可能是一个良好的开端,但这可能不适应物理参数、地形或其他外部干扰的变化。理论上,您可以使用优化和模拟来针对覆盖您在现实世界中预期的所有挑战的场景进行测试。在实践中,一个闭环系统——或者一个可以对环境做出反应的系统——更适合处理这些挑战。

闭环运动控制器需要通过传感器获得环境信息。用于有腿机器人的常见传感器包括关节位置/速度传感器、加速度计/陀螺仪、力/压力传感器、摄像机和距离传感器。然后可以使用基于模型的方法确定总体控制策略,例如内部模型控制,或者使用机器学习技术强化学习

下面的视频演示了如何反复模拟模型并收集结果,以优化步行机器人的开环轨迹。批量运行仿真同样可以帮助您执行任务,例如使用优化和机器学习调整控制器或运动规划算法。

(视频)步行机器人轨迹优化

结论

现在,您已经了解了模拟如何帮助您设计和控制腿部机器人。

想了解更多信息,请观看上面的视频并阅读我们的下一篇关于行走机器人控制的博文.您可以从文件交换GitHub.你也可以找到四条腿的机器人运行的例子在文件交换上。

你在研究有腿的机器人运动吗?我们很想听听你的意见。

——塞巴斯蒂安

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。