俗话说“模仿是最真诚的恭维”。好吧,在波兰开发人员 Tomasz Tomanek 的机器人项目中,模仿是他的机器人 Mariola 的目标。
Tomanek 开发了一个时髦的小机器人,它使用预训练的机器学习模型来实现人机交互。该机器人的主控制器是Jetson Nano 2GB。
PoseNet 模型的使用使 Mariola能够识别人的姿势和动作,然后使用这些模型使机器人模仿或复制这些人类动作。正如 Tomanek 所说,“使用 Jetson Nano 可以非常简单直接地实现这一目标。”
如您所见,Mariola 能够驾驶轮子、移动手臂、转动头部和做鬼脸。嵌入在机器人身体每个部分的单独的 Arduino 控制器可以实现这些操作。伺服电机的独立控制器控制手臂和头部的运动。该机器人有四个麦克纳姆轮,因此它可以全方位移动。
Mariola 的面部表情使用由 NeoPixel LED 构建的单独微控制器,每只眼睛一组两个,嘴巴一组八个。它们以菊花链形式连接在一起,由一个单独的 Arduino NANO板驱动,该板可管理颜色变化和眨眼的外观。
根据 Tomanek 的说法,Mariola 构建的一个关键想法是让每个子系统成为一个单独的单元,并让它们通过内部总线进行通信。有一个 UART/BT 接收器 Arduino nano,它的作用是从用户那里获取命令并解码它需要去哪个子控制器并通过CAN BUS发送。
每个子控制器从 CAN BUS 获取其命令,并为车轮、伺服系统(手和头部移动)或面部(NeoPixels)创建相应的动作。
Tomanek 在NVIDIA 开发者论坛中指出,机器人背面的 Jetson Nano 是运行带有 resnet18-body 的定制 Python 脚本的大脑,当它检测到人的关节时会返回其平面坐标。这些坐标通过 IK 模型重新计算以获得舵机的位置,并将结果通过 UART 发送到主 Arduino。Arduinos 完成了剩下的动作。
目前,Mariola 将一次检测并模仿一个人的动作。如果机器人看不到任何人,或者检测到超过一个人,则不会发生任何动作。
为什么 Tomanek 为这个项目选择了 Jetson Nano?正如他所指出的,“Jetson 可用的预训练模型的潜在力量,以及 [Jetson Nano] 的可负担性,让我使用 2GB 版本来学习和了解它是如何工作的。”
“对我来说,这是一个正在进行的工作和学习项目,”托马内克指出。虽然马里奥拉没有明确的目标,但他认为这是一个试验和学习使用这项技术可以实现什么的机会。“迄今为止最好的结果是,通过机器学习模型驱动的那些行为,这个小型机器人有一定的自主权。”
当人们第一次与马里奥拉互动时,Tomanek说: “它总是会产生微笑。这是人机交互的一个非常有趣的方面。”
更多有趣案例:
当AI工程师开始逗猫