学生休息室

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

机器人操纵,第2部分:动力学和控制

在这个博客中,塞巴斯蒂安·卡斯特罗将讨论机器人操纵与MATLAB仿真软件。金宝app的之前的部分讨论了运动学(如果你没有读过它,我们推荐你做),而这部分讨论动力学。

- - - - - - - - - - - -

介绍

激励低级机器人机械手控制的重要性,我想介绍几个工程原型。

  • 机器人的程序员通常开始于一个机器人控制联合或终端执行器的位置。机器人如果你是一个程序员,你可能实现运动规划算法与其他软件组件和集成的操纵者,如感知和决策。
  • 机器人设计师有一个目标,使机器人的程序员。如果你是一个机器人设计师,你需要提供一个机械手末端执行器能够安全、可靠地接受联合或命令。您可能会应用在这篇文章中讨论的一些控制设计技术和实现这些控制器的嵌入式系统。

当然,在现实生活中没有那么严格分开。,机器人制造商有可能会提供自己的控制器,但也可能决定暴露控制参数,选项,甚至直接接口驱动器扭矩。

从运动学、动力学

回顾一下前面的一部分,运动学关节机器人机械手的位置映射到一个坐标系的位置和方向——通常感兴趣的效应。动态,另一方面,地图所需的联合部队和力矩的位置,速度,加速度。

从运动学,动力学,我们需要更多的信息关于机械手的力学。具体地说,我们需要以下惯性特性:

  • 质量:牛顿第二定律有关质量力和线性加速度。
  • 惯性:这是一个3×3矩阵,通常被称为惯性张量,相关的扭矩和角加速度。因为这个矩阵是反对称的6,它可以定义参数:
    • 三对角元素,或的转动惯量,这与扭矩轴与加速度相同的轴。
    • 3非对角元素,或下载188bet金宝搏惯性产品,与扭矩轴加速度对其他两个轴。
  • 重心:如果重心不是位于机体坐标系定义,我们需要应用平行轴定理将关于质心的转动转化为对我们感兴趣的坐标系旋转。

通常,您将导入robotics.RigidBodyTree从现有的机械手描述——例如,一个URDF文件。在这种情况下,惯性特性将被自动放置在每一个robotics.RigidBody这包括树。

控制联合部队和扭矩

一个机器人机械手控制器可以包含以下组件。

  • 反馈:使用预期和测量运动计算联合输入。这通常涉及到一个控制律之间的误差最小化所需的运动和测量。
  • 前馈:使用所需的运动只计算联合输入。这通常——但不一定涉及机械力学的模型来计算一个开环输入。

在我们的视频“控制机器人机械手关节”,我们探索两种不同关节控制器的例子,展示了四自由度ROBOTIS OpenManipulator平台。你也可以下载的示例文件MATLAB中央文件交换

(视频)MATLAB和Simu金宝applink机器人领域:控制机器人机械手关节

控制器示例1:逆运动学+关节空间控制器

首先,逆运动学(反向)用于参考终端执行器的位置转换为一组参考关节角。控制器然后独家经营配置空间——也就是说,在关节位置。

  • 前馈长期使用对我们的机械手逆动力学模型。这个计算所需的联合部队/力矩机械手遵循所需的运动,以及补偿重力。
  • 反馈术语使用PID控制。各关节(4转动关节+爪)独立控制器之间的误差最小化期望和测量运动。

平稳运动,我们通常需要一个封闭等轨迹曲线方程。这是因为逆动力学要求位置,速度,加速度计算所需的联合部队/力矩。因此,拥有一个可微的参考轨迹使这更容易。

从理论上讲,逆动力学应该足以控制机器人手臂。然而,有些因素如联合力学(刚度、阻尼、摩擦等),不可测的干扰,传感器/致动器的噪音,甚至数值错误,很容易影响完全开环控制器的鲁棒性。因此,一个额外的反馈补偿器总是推荐。

而前馈和反馈控制部分相对容易实现,计算便宜,这种控制器结构依赖于解决本土知识。正如我们在前面的部分中讨论的,机器人系统工具箱实现使用一个数值解,因此可能需要进行大量的计算。你可以解决这个问题提供了一个很好的初始估计(通常是前面的测量),限制的最大迭代数,或切换到一个本土知识分析解决方案。

控制器示例2:任务空间控制器

第二个控制器执行的控制任务空间——也就是说,在末端执行器的位置和方向。此外,它避免了逆运动学利用的必要性几何雅可比矩阵。

雅可比矩阵几何是一个函数的机器人配置(关节角/职位),这就是为什么它通常被表示为J (q)。雅可比矩阵是一个映射的关节速度世界速度坐标系。然而,一些数学你可以发现它还地图联合力/力矩世界力/力矩。我发现这篇博客是一个有益的参考。

  • 前馈在该控制器只做一件事:补偿重力。
  • 反馈术语对XYZ执行PID控制末端执行器的位置(我们忽略取向,但是你真的不应该!)来计算所需的力量最终效应坐标系。然后,雅可比矩阵转换控制输出力矩和力联合。

下面是这个例子的仿真软件模型控制器的截图。金宝app与上面的示意图中,模型包含其他现实的构件(如过滤器、速率限制器、饱和度和分离爪和基本逻辑控制器。你可以下载这个模型MATLAB中央文件交换

调查显示,控制设计技术

一旦你有模型操纵国,有许多在MATLAB和Simulink工具,可以帮助您设计关节控制器。金宝app这些包括

PID调节器输出的“肩膀”联合ROBOTIS OpenManipulator模型

传统的控制设计依赖线性化,或者找到一个线性近似的非线性模型对一个特定的操作点——例如,“家”,或平衡,机械手的位置。控制器设计了一个近似的线性区域可以变得不那么有效,并有可能不稳定,随着机器人状态偏离。

非线性控制技术可以解决这个问题,考虑到测量的系统状态(在我们的例子中,联合或终端执行器的位置)。前馈逆动力学技术、计算几何雅可比矩阵,可以确保控制器占的非线性模型。另一个流行的方法是获得调度,既可用于传统的控制器MPC控制器

另一个替代方法是使用模范自由技术,如:

  • 优化:您可以使用仿真优化控制参数,通过启用金宝app仿真软件优化设计。而优化不保证稳定,它允许您自动调整宽度等参数,控制努力/速度限制,阈值等,这可能导致好的结果,特别是在高度非线性系统。
  • 机器学习:强化学习,或自动学习,反复试验,是一种常见的技术被用于机器人操作。例如,这个视频显示深度强化学习——换句话说,学习参数的神经网络利用强化学习技术。

结论

现在你已经看到概述机器人机械手的运动学和动力学的设计。我希望这是一个有用的介绍语言在这一领域,在实践中,使用一些常见的技术和MATLAB和Simulink的地方可以帮助你设计和控制机器人。金宝app

我们希望仿真软件可以帮助您金宝app在设计阶段探索不同的体系结构、集成管理逻辑,进行权衡研究等等。同时,仿真软件可以让你回忆金宝app自动生成独立的C / c++代码从你的控制算法,所以他们可以部署硬件或中间件等ROS

如果你想看到更多的材料在操纵机器人,机器人或其他主题,随时给我们评论或电子邮件我们roboticsarena@mathworks.com。我希望你喜欢阅读!

——塞巴斯蒂安

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。