技术文章和通讯

iCub仿人机器人先进控制软件的开发

由意大利技术研究院(IIT)Daniele Pucci、Diego Ferigo和Silvio Traversaro撰写


iCub项目于2004年启动,是RobotCub欧洲项目的一部分,该项目的主要目标是研究具身认知——一种有机体在与环境互动时发展认知技能的理论(见边栏)。iCub项目的主要成果是一个1米高、53自由度的类人机器人,目前由意大利理工学院(IIT)开发。多年来,iCub机器人一直被用作各种应用机器人领域的研究平台,包括平衡、遥控行走和机器人-人协作(图1)。

从左上角开始顺时针方向:iCub射箭,摆瑜伽姿势,通过远程操作控制行走,并与人类一起站立。

iCub配备了50多个电机、力扭矩传感器、惯性测量单元以及数十个编码器和加速度计。为这样复杂的机器人开发控制算法是一项艰巨的挑战。我们在印度理工学院的团队动态交互控制基于Simulink创建了一个开发工作流金宝app®以及Si金宝appmulink Coder™,即使是没有经验的团队成员也可以快速实现新的控制功能,通过仿真验证它们,并在iCub机器人上运行它们,而无需编写任何低级代码。

IIT的iCub研究

印度理工学院的iCub项目包括几个研究方向。动态交互控制团队专注于三个领域:现实存在、智能体-机器人协作(智能体是一个人或另一个类人机器人)、空中类人机器人。

远程存在使人类能够通过机器人化身虚拟地存在于另一个位置。在我们的远程存在实验中,iCub在现实世界中行走和操纵对象,而人类在虚拟环境中行走和操纵对象。当人体迈出一步时,我们处理人体运动,并向iCub发送参考信号,使其迈出一步。同样,当人类合上一只手时,会发出一个信号,使iCub的手合上。

我们对智能体与机器人协作的研究集中在人类与机器人合作的方式上。在我们的一个实验中,一个人帮助幼崽从坐姿站起来。人类穿着一套专门设计的服装,提供实时运动学和动力学数据,使我们能够在Simulink中跟踪并模拟人类的运动和机器人的运动的肌肉压力。金宝app我们最近扩展了人-机器人协作实验,推出了一个机器人-机器人协作版本,其中一个iCub帮助另一个iCub站立(图2)。

图2。交互协作。人-机

空中类人机器人是我们最活跃的研究领域之一。我们正在开发一个配备喷气背包的iCub版本。它将能够飞到指定的位置,着陆,并开始行走并与环境交互(图3)。具有这些功能的机器人将在高风险的灾难和搜救场景中非常有用,如地震、洪水或野火。在这些情况下,让机器人能够从一座建筑飞到另一座建筑,寻找幸存者,打开门,关闭气阀,进入建筑的价值是不可估量的。

图3。左图:在类似灾难场景的检查演习中,一架配备喷气背包的模拟iCub。右图:重新设计的带有喷气背包的iCub人形机器人。

原型iCub控制器

我们使用Simulink和印度理工学院(IIT)开发的开源“全身工具箱”(Who金宝apple Body Toolbox)来制作控制软件的原型。Whole Body Toolbox基于BlockFactory数据流框架,我们创建该框架是为了为数据流编程提供c++接口。我们首先在Simulink中对控制器建模,包括传感器、执行器和常用的机器人算法金宝app。然后,Whole Body Toolbox创建与真实的或模拟的iCub的接口(图4)。

图4。整个身体工具箱中的块。

我们最常在涉及动态平衡的项目中使用全身工具箱:机器人控制器调节机器人与环境之间的接触力,使机器人即使受到人类的推或其他干扰也能保持平衡。作为第二项任务,机器人试图保持操作员选择的姿势,过滤掉任何改变其平衡和稳定性的姿势。

我们在Simulink中对控制模型与Gazebo机器人模拟器中的iCu金宝appb模型进行了联合仿真(图5)。联合仿真使我们能够在对实际机器人进行测试之前修复缺陷,将损坏机器人或危及人类的风险降至最低。

图5。在Simulink中对一个简单的控制模型与Gazebo中iCub的物理模型进行金宝app了同步仿真。

例如,通过我们的协同模拟设置,我们可以确定在意外快速移动的情况下,一组给定的增益是否会在机器人中产生不稳定的行为。

iCub流测量来自传感器在100赫兹。这些测量结果由我们的机器人中间件YARP通过网络发布。我们通常将控制器的更新速率与输入测量的速率同步。

一旦我们通过仿真验证了控制器,我们就在实验室的一个真正的iCub上测试它。在我们的测试设置中,Simulink运金宝app行在带有标准x86处理器的PC上,并通过YARP中间件和TCP/UDP与iCub进行通信。在Simulink中运行的控制器向机器人发送扭矩命令金宝app,使机器人能够在保持平衡的同时遵循一个轨迹。一个实时同步模块,为整个身体工具箱开发,同步机器人在现实世界中的移动与控制模型。

部署控制器

我们的网络配置方便快速设计迭代,但它让iCub依赖于TCP/UDP通信链路。为了打破这种依赖,使iCub能够更加独立地运行,我们将控制器部署在机器人大脑内部的x86处理器上,消除了网络通信的需要,以及相关的延迟和通信错误的风险。

我们使用Simulink Coder从控制模型生成c++代码,编译它,并使用与之前在Simulink金宝app中运行控制器时相同的网络配置来验证它。然后,我们在安装在iCub头部的x86处理器上运行代码,使iCub可以作为一个单独的单元独立运行,而不是在单独的控制PC上。

便携式控制设计

如今,全世界约有40个iCub机器人被研究机构使用。尽管硬件设计不同,但每个版本都可以使用相同的控制器设计。这种可移植性是通过Simulink控制模型中的配置块实现的,该配置块加载了一个统一机器人描述格式(URDF)文件,该文件描述了每个机器人的运金宝app动学和动力学。使用这个配置文件,我们可以在IIT 120公斤、1.85米高的模拟随身听上运行相同的控制器,就像在一个33公斤、1米高的iCub上运行一样。

展望未来

我们相信,我们的研究将在许多现实世界中得到应用。例如,在未来,远程存在可以用来帮助身体残疾的人执行需要力量或灵巧的任务。在这些情况下,机器人化身将在现实世界中移动和行动,由残疾人远程控制。

我们的研究人机协作是创造机器人在家庭和工作场所帮助人类的基础——例如,帮助老年人进行日常生活活动,帮助工厂工人执行涉及肌肉骨骼压力的任务。最后,我们正在开拓的机器人技术的新分支,空中人形机器人,具有多种应用。喷气动力、重型有效载荷空中平台可以从飞行的仿人机器人衍生而来,用于灾难响应期间的药物和食品输送、重型有效载荷最后一英里输送、消防员救援平台以及人类执行高压电线塔检查的平台。

为了将我们的研究成果转化为实际应用,我们与开发、维护和不断更新iCub类人机器人的机构密切合作,iCub在世界各地的研究机构中有40多个副本在使用。

2019年出版的

查看相关功能的文章