技术文章

设计、打造与控制软驱动空中微型机器人

作者 : Kevin Chen 和任智健,麻省理工学院


在麻省理工学院软体与微机器人实验室里,我们的团队创造出昆虫大小的机器人。它虽然只重 0.6 克,却能携带相对重的有效载荷。该载荷达到了机器人自身质量的两倍以上。取得这一成就的关键之一在于人工肌肉,这是一种介电弹性体作动器 (DEA),用于驱动机器人的翅膀。

为了解决各种制造、控制设计和其他难题,我们放弃了使用电磁电机和其他刚性作动器来构建第一个软驱动空中机器人。首先,随着机器人尺寸的缩小,其动态变化愈来愈快,这就需要更高的感应和控制速率。我们的微型机器人按正弦曲线每秒可扇动翅膀 400 次,并动态地平衡了所有翅膀的升力,因此,我们需要以每秒 10,000 次的速度运行反馈控制(图 1)。此外,软体作动器的动力学呈现高度非线性特征。最后,我们必须自己从头开始制造所有机器人,包括其作动器和其他组件。这是一个手动过程,需要小心翼翼地组装超薄的弹性体层,并用激光切割机器人的翅膀、机身和变速器。

图 1. 麻省理工学院软驱动空中微型机器人正扇动着翅膀。

为了应对这些挑战,我们使用了基于 Simulink®、Simulink Real-Time™ 和 Speedgoat® 硬件的建模、仿真和实时测试方法。我们还使用 MATLAB® 自动完成了诸多手动过程,包括表征机器人飞行前准备、消除作动器中的缺陷、评估各种翅膀形状以及进行试验。这种环境加快了我们的研究步伐,因为我们可以专注于研究本身,从而更好地了解实体昆虫的飞行原理,以及昆虫大小的无人机的实际应用。

微型机器人的多级建模

我们广泛运用了建模和仿真,以指引我们的试验,并最大程度减少需要执行的硬件测试次数。为此,我们在 MATLAB 和 Simulink 中创建了各种不同保真度的模型来运行仿真。

在最高级别,我们建立了一个简单的飞行动力学模型。在该模型中,我们将机器人建模为固体颗粒。我们将其(作为被控对象模型)与控制器模型结合使用,以在 Simulink 中运行闭环仿真(图 2)。

麻省理工学院用于空中微型机器人闭环仿真的 Simulink 控制器模型示意图。

图 2. Simulink 控制器模型。

我们使用 MATLAB 开发了一个更细致的模型,将翅膀质量、翅膀惯性以及翅膀和机器人之间的相互作用都考虑在内。这一模型由一个线性四杆变速器控制。该变速器可使软体作动器产生收缩/舒张,从而带动翅膀上下扇动。我们还创建了时变气动力预测模型,以及计算流体力学 (CFD) 模型,用于仿真单翼扇动的动力(图 3)。在每次仿真中,我们都会改变翅膀的形状,以寻找符合我们对力的要求的形状设计。当我们利用这些模型运行仿真,以确定我们想要进行试验性测试的翅膀形状设计之后,我们便会使用之前编写的 MATLAB 脚本自动生成制作实际翅膀所需的激光制造文件。

通过 MATLAB 仿真生成的空中微型机器人单翼扇动的可视化。

图 3. 通过 MATLAB 仿真生成的单翼扇动的可视化。

飞行前准备和表征

我们为每个微型机器人制作的软体作动器各不相同。由于制造过程中充满变数,再加之作动器中可能存在着气泡或其他缺陷,这使得作动器的性能千差万别。

我们通过两个过程来考虑作动器差异和制造问题。这两个过程都是用我们的 MATLAB、Simulink 和 Speedgoat 设置自动完成的。首先,我们会执行一个自清洁过程。在该过程中,我们会不断地向作动器施加高电压使部分电路短路,从而去除作动器中的杂质。这一过程的时间需要十分精确,因为受大电流峰值的冲击,弹性体上可能会形成一个孔,并且作动器可能会损坏。我们的 Simulink 和 Speedgoat 设置的高感应速率和低延迟,无疑在这里发挥了独一无二的价值,原因是系统在检测到高电流后的几微秒内即可迅速关闭电压。

在消除了作动器中的缺陷后,我们对微型机器人进行了静态表征。在这个过程中,我们会夹住微型机器人,使其处于静止状态,再向作动器施加一系列的电压,然后评估机器人的扇翅运动。在施加测试电压时,我们以每秒 22,000 帧的速度捕获扇翅运动。我们运行了之前编写的 MATLAB 脚本来分析所摄视频中微型机器人的运动学特性。接下来,我们将机器人安装在了一个定制的升空支架上。我们再次驱动机器人,录制升空视频,然后使用 MATLAB 脚本提取升空运动,并计算相应的升力。之后,我们使用该分析的结果将电压输入映射到升力输出,并自动应用该映射来参数化我们在闭环仿真中使用的飞行动力学模型。

控制算法的建模、仿真和测试

在开发新控制算法和制定相应策略时,我们首先会通过仿真来改进和验证它们,然后才在真实的硬件上对其进行测试。这些仿真在 Simulink 中运行,而控制器模型和飞行动力学模型利用通过静态表征获得的参数值进行更新。这样,我们便能快速迭代控制设计,同时又能避免不受控制的撞击导致微型机器人受损的风险。

我们一旦有了可随时测试的控制算法,就可以通过四个单元(即四组作动器和翅膀)(图 4)组装一个完整的微型机器人,从而为实时测试做好准备。

麻省理工学院的空中微型机器人,带有四个软体作动器。

图 4. 完整的微型机器人,带有四个软体作动器。

然后,我们使用 Simulink Real-Time 将控制器部署到了 Speedgoat 目标硬件上。Speedgoat 系统从 Vicon 动作捕捉系统接收数据,包括微型机器人的质心坐标,以及俯仰、翻滚和偏航值(图 5)。我们的控制算法会读取这些数据,并基于当前状态计算四个单元中的每个单元都需要产生的力和扭矩。该算法随后会将其中的每个值都映射到正弦信号的相应电压幅值,而这些正弦信号经过放大后会被发送到软体作动器。

麻省理工学院的软驱动空中微型机器人测试环境,包括 Vicon 动作捕捉系统和 Speedgoat 实时目标机。

图 5. 测试环境,包括 Vicon 动作捕捉系统和 Speedgoat 实时目标机。

使用 Speedgoat 平台完成此项工作有诸多优势,其中,主要优势在于其感应速度快、低延迟稳定和易于配置。过去,我们需要组装硬件进行实时测试;这是一个繁琐而枯燥的过程,而且经常因冗长的调试会话而延迟。Speedgoat 硬件则可靠得多。通过以 10,000 赫兹的频率运行我们的控制器,我们可以使用微型机器人表演复杂的空中特技,包括翻筋斗(图 6)。

图 6. 麻省理工学院的空中微型机器人正在表演翻筋斗。

在进行试验时,我们使用之前创建的 MATLAB 应用来简化初始化、飞行控制和传感器控制(图 7)。后来,我们将试验结果与仿真结果进行了比较;例如,真实机器人翻一个筋斗需要 0.16 秒,而我们的仿真预测的时间是 0.13 秒。通过这些比较,我们可以随时验证和改进我们的 Simulink 模型。

麻省理工学院用于空中微型机器人试验的 MATLAB App 截图。

图 7. 用于空中微型机器人试验的 MATLAB App。

计划的功能增强

空中微型机器人有很多潜在的应用,其中,最吸引人的莫过于执行搜救任务。例如,也许有一天,一群微型机器人能够通过人类或大型无人机无法通过的狭窄通道,在倒塌的建筑物中找到幸存者。我们正在积极研究实现此类应用所需的多项先进技术。第一项是电源自给技术。目前,我们的微型机器人由细电线供电,这意味着它们与固定电源紧密相连。我们正致力于将电力电子电路集成到机器人上,这将是迈向无系留飞行的第一步。同样,我们也在寻求研发传感器自给技术。具体来说,我们正在探索各种方法,让微型机器人能够始终保持直立和稳定姿态;这反过来又使我们的控制器设计可以利用带宽低得多的传感器来定位机器人。此外,我们正计划使用现有的 Simulink、Simulink Real-Time 和 Speedgoat 硬件设置,让多达 5 个微型机器人以小型机群的形式同时飞行。

关于作者

Kevin Chen 是麻省理工学院电气工程与计算机科学 (EECS) 系的助理教授。在 Robert J. Wood 教授的指导下,他获得了哈佛大学工程科学博士学位。他的工作重点是开发新型软性人工肌肉,并将其应用于能够在海陆空之间移动和切换的昆虫级机器人。

任智健是麻省理工学院电气工程与计算机科学 (EECS) 系的博士生,也是 MathWorks 研究奖金获得者。

2022 年发布

查看文章,了解相关功能

查看文章,了解相关行业