用户故事

德国航空航天中心(DLR)机器人与机电一体化中心开发基于模型设计的自主类人机器人

挑战

为53自由度的双臂移动类人机器人开发控制系统

解决方案

使用MATLAB和Simulink进行基于模型的设计,对控制器和工厂进行建模,金宝app生成用于HIL测试和实时操作的代码,优化轨迹,并自动校准传感器

结果

  • 消除编程缺陷
  • 复杂的功能在数小时内实现
  • 由学生支持高级控制开发

“基于模型的设计和自动代码生成使我们能够处理敏捷Justin的53个自由度的复杂性。如果没有基于模型的设计,就不可能为如此复杂的具有硬实时性能的机器人系统构建控制器。”

Berthold Bäuml, DLR

德国中心für Luft- und Rundfahrt (DLR,德国航空航天中心)机器人和机电中心(RMC)的工程师和研究人员正在开发能够学习环境并与环境互动的机器人。其中包括敏捷贾斯汀它是世界上最先进的双臂移动人形机器人之一。敏捷贾斯汀有53个自由度,其中上半身有19个自由度,手部有26个自由度,移动平台有8个自由度。它通过头部的立体摄像头和RGB-D传感器、所有关节处的扭矩传感器以及手指皮肤上的触觉传感器来感知环境。

DLR RMC团队使用基于模型的设计和MATLAB®和仿真软金宝app件®为敏捷贾斯汀开发先进的控制、校准和路径规划算法。

DLR自主学习机器人实验室负责人Berthold Bäuml说:“基于M金宝appATLAB和Simulink的基于模型的设计涵盖了先进机器人系统设计所需的广泛软件领域。”“它能够模拟复杂的机电系统和控制器,实时HIL测试的代码生成,信号和图像处理,以及数据分析和可视化。”

挑战

先进的类人机器人需要控制系统能够快速处理来自各种传感器的输入,规划连续的轨迹,并同时管理数十个关节的运动。

最初,DLR RMC工程师在C/ c++中为机器人的手和手臂手动编写了单独的控制算法。当他们开始为从指尖到肩膀的所有自由度创建一个单一的控制循环时,他们发现这个系统太复杂了,无法手工编码。

DLR开发了一种新的机器人软件框架aRDx,以帮助解决这一挑战,但他们也需要能够使他们从设计模型自动生成代码并执行硬件在环(HIL)测试的工具。此外,他们想要研究生可以用来快速开发自己的机器人控制系统的工具。

解决方案

DLR RMC采用基于模型的设计与MATLAB和Simulink为敏捷贾斯汀和其他自主机器人开发先进的金宝app控制系统。

对于单个关节,该团队使用微分方程创建了一个植物模型,并将其作为s函数集成到Simulink中。金宝app

他们使用Simulink和Control System Toolbox™创建了一个比例-积分-导数(PID)控制器,并通过仿真调整控制参数。金宝app

他们使用Si金宝appmulink Coder™从控制器模型生成C代码,并将其部署到运行QNX实时操作系统的PC上。HIL测试使他们能够补偿传感器噪声和精度,以及关节齿轮的显著弹性和电机扭矩的非线性。

在验证控制器设计后,该团队为他们的生产目标——德州仪器™DSP生成了C代码。

然后,他们为具有多个关节(如躯干和手臂)的敏捷贾斯汀组件开发了运动控制器。为了处理这些更大、更重的机构的更复杂的动力学,该团队在Simulink中设计了一个笛卡尔阻抗控制系统。金宝app

与单关节控制器一样,该团队在Simulink中调整参数,并使用Simulink Coder为HIL测试生成代码。金宝app

在测试期间,小组使用statflow®对抓取和举起篮子等任务进行排序。

他们应用了Optimization Toolbox™中可用的顺序二次规划算法来执行一个有约束的非线性优化,用于规划整个身体的运动——例如,最大化Agile Justin可以投掷的球的距离。

该团队在MATLAB中开发了自动校准算法,使用图像处理工具箱™从立体声和RGB-D摄像机捕获的图像中识别手上的标记。该算法使用信号处理工具箱中的巴特沃斯滤波器从标记定位中去除噪声。

DLR正在使用基于模型的设计来开发新的控制器,这将提高敏捷贾斯汀从环境中学习的能力。

结果

  • 消除了编程缺陷。“使用Simulink Coder生成代码消金宝app除了在C/C+中手动编写控件设计时引入的编程缺陷,”Bäuml说。“功能缺陷已经减少了80%左右,尽管我们正在设计比手工编码更复杂的算法。”
  • 复杂的功能在数小时内实现。“对于投掷运动,贾斯汀的控制器协调20个自由度,以产生最佳的TCP轨迹,”Bäuml说。“我们用MATLAB、Simulink和优化工具箱只用了一个下午就完成了这项工作。”金宝app
  • 由学生支持高级控制开发。“有了基于模型的设计,工程系的学生只要和我们一起工作6个月,就可以为一个拥有53个自由度的机器人开发复杂的控制系统,因为他们不需要编写代码,”Bäuml指出。“金宝appSimulink使他们能够处理多个反馈循环的交互,并以图形化的方式构建和执行复杂的算法。”