专栏首页大数据文摘机器狗是怎么动起来的?这个up主花三个月自制硬核“机器人心脏”,可承载机械战甲

机器狗是怎么动起来的?这个up主花三个月自制硬核“机器人心脏”,可承载机械战甲

大数据文摘出品

作者:牛婉杨

还记得今年3月火遍b站的技术宅稚晖君吗?他的一则自制迷你电视的视频在b站有着397万的播放量,更是超越众多二次元视频荣登全站排行榜第5名。

为什么这则视频这么火?因为这个电视相当“硬核”,内行外行看了都觉得厉害的那种。

其实这是个长成电视模样的迷你Linux电脑,连个鼠标就能用!而且它还集人脸识别、语音助手等AI技术于一体,可以检测到人脸,还能用语音唤醒,充当一个迷你的语音助手。

稚晖君,一位自称野生钢铁侠的AI算法工程师,他自己也做过不少机器人项目。前不久,他带着新的作品来了,他自制了一款FOC(Field-Oriented Control)驱动器。

这块驱动器的厉害之处就在于,是稚晖君独自一人耗时三个月制成,软硬件通通由他一人开发。而且这块驱动器有“机器人心脏”之称,就连业界在制作机器人的时候也常会用到此方法来做驱动,比如MIT Mini Cheetah四足机器人的驱动单元中就用到了FOC制作的基础部件。

不仅如此,这块驱动器还被稚晖君称为“全能开发板”,除了应用在机器人领域,还能用来模拟各种物理效果!

话不多说,一起来看看。

驱动器变身全功能开发板,理论上能承载“机械外骨骼”

稚晖君表示,这个驱动器可以驱动市面上几乎所有类型的无刷电机,而且可以添加很多自定义功能。

这就是驱动器的全貌~ 带有CAN、USB、I2C等通信接口,单路最大驱动电流超过100A。除此之外,还有一块小小的OLED屏幕,分辨率为128x80。

迷你版双通道无刷电机驱动器

这块板子能干嘛呢?它可以同时驱动两个无刷电机和两个舵机。有点难懂?来看下面的例子。

比如通过控制电机1(下方),电机0(上方)也能随之驱动:

上面这个是最基础的,稍微调整一下,还可以变成单向驱动的棘轮。如下图所示,电机0可以跟随电机1在顺时针方向同步旋转,而电机0却无法逆时针回转,它只能做单向间歇运动。

看了这么多,那这两个电机有什么用途?接下来就要展示这个板子最酷的成果了——模拟机器人零件之间的协作,展示一下机器人是怎么动起来的。

现在这两个电机彼此之间是没有感应的,也就是说,当其中一方受到阻力,另一方是不知道的,显然这样是做不成机器人的。所以需要做一些调整,让其中一方感受到力的反馈。

于是,稚晖君又在固件里面新建了一个用户APP,把电机1的位置同步到电机0,同时把电机0的力矩缩小5倍之后同步给电机1。从下图中可以看到,电机1收到电机0的反馈后能明显感到阻力~

所谓的机械战甲、机械外骨骼就是人用肢体动作控制机器人外壳做出一模一样的动作。看到稚晖君展示的效果,是不是觉得有内味儿了~

稚晖君做了这样一个驱动器,明显是要搞事情啊!没错,这块板子就是稚晖君为后面的一个机器人项目准备的零件之一,这块板子将作为“机器人的心脏”。他之前还开发了一款夸克核心版,将作为这个机器人项目的“大脑”。

左手“心脏”,右手“大脑”

让我们小小的期待一下稚晖君的这个机器人项目吧~

话说回来,再看看稚晖君是怎么做成这块板子的吧。

花费三个月,经历数次失败,终于做出这块“机器人的心脏”

稚晖君感叹道,这是他在所有设计中,做的最曲折的一块板子,花了将近3个月的时间。因为这个是电流达到几十安的大功率器件,焊好的板子不能有一点bug,否则就废掉了。

稚晖君做废的板子~

一次次的失败也让稚晖君感到十分沮丧,但他并没有放弃,经过软硬件几十次的修复,终于成功的做出了这款FOC矢量控制驱动器~

稚晖君表示,这款驱动器的硬件设计参考了VESC和ODrive,在此基础上他进行了一些改进,也添加了很多功能。改进后的板子长这样?

迷你版双通道无刷电机驱动器

别看板子这么小,接口可真不少,带有CAN、USB、I2C等通信接口,单路最大驱动电流超过100A。除此之外,还有一块小小的OLED屏幕,分辨率为128x80。

最重要的是,这款驱动器还带有两路可配置的PWM输出,也就是说这个板子可以同时驱动两个无刷电机和两个舵机。

这块板子只是稚晖君的其中一种设计,他还设计了一种分立叠板式的驱动器。分立式设计的好处就是可以把控制电路和驱动电路分离,如果想换成更大功率的电机,替换下面的驱动电路的可以了。

但他也表示,自己还是喜欢第一种的一体式设计。

文摘菌在这里也给出原视频,感兴趣的同学可以看看~

除了机器人领域,这块驱动器还可以用来模拟各种物理效果

稚晖君称,这款驱动器的电路设计其实不算很复杂,其核心在于FOC算法和固件代码的实现。

FOC(Field-Oriented Control),直译是磁场定向控制,也被称作矢量控制(VC,Vector Control),是目前无刷直流电机(BLDC)和永磁同步电机(PMSM)高效控制的最优方法之一。FOC旨在通过精确地控制磁场大小与方向,使得电机的运动转矩平稳、噪声小、效率高,并且具有高速的动态响应。

FOC算法可以对无刷电机进行力矩、速度和位置三个闭环控制,FOC驱动器可以驱动无刷电机在极地的转速下保持力矩,而且超高转速也完全能hold住。这也是无刷电机被广泛用于机器人项目的重要原因。

更多关于FOC算法以及相关理论实现,可以在稚晖君的博客看到?

http://pengzhihui.xyz/2020/07/02/foc/#more

最后,再来感受一下稚晖君口中的这块“全能驱动器”。之所以全能,是因为除了机器人领域,力矩控制还可以用来模拟各种物理效果。

比如,可以将这个无刷电机模拟成各种旋钮的效果

可以把它调整为带弹簧的旋钮:

如果设置一定的阻尼,弹簧就可以这样慢慢回弹:

还能变成多档开关的效果:

最后,还可以让它放飞自我:

看到这里,有没有觉得很酷呢~

在视频最后,稚晖君表示在这个“机器人心脏”上还有一个脑洞,文摘菌也小小的期待一下,下期视频见~

本文分享自微信公众号 - 大数据文摘(BigDataDigest),作者:文摘菌

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 为什么谷歌、Facebook的AI研究员都坐在CEO身边?

    大数据文摘
  • 伯克利BAIR最新研究:让机器人自己学会使用工具

    动物学习使用工具的技能大多来自观察学习和实践。例如通过观察,黑猩猩学会了用树枝“捕捉”昆虫,卷尾猴会用棍子将食物扫到身边。虽然我们不知道它们是否只是“机械模仿”...

    大数据文摘
  • AI大事件 | TensorFlow开发者峰会,DeepMind重回巴黎,谷歌云提供文字转语音服务

    大数据文摘
  • 人工智能机器人或许更喜欢人类直接点

    人类文明程度让人们倾向于用委婉的词汇、习语和非字面表达来呈现礼貌,但对于机器人和人工智能来说,你说的礼貌用语只不过是“冗余代码”。来自科罗拉多矿业大学 (Col...

    机器人网
  • Redis从认识安装到实现CURD(增删改查)

    我们前面所学习的MySQL数据库是典型的的SQL数据库也就是传统的关系型数据库,而我们今天学习的Redis数据库则是一款NoSQL数据库,也叫作非关系型数据库,...

    BWH_Steven
  • redis的学习

    silentcow
  • protobuf简单测试应用

    protobuf是google推出的一种数据交换协议,比较适合应用于底层服务交互,nodejs提供protobufjs包的实现,下面是一个简单的测试demo: ...

    用户1141560
  • 全新的机器人家庭,邀您一起来体验

    镁客网
  • 为什么应该使用微服务(Microservices) ?

    如今,微服务非常流行。几乎每个人都喜欢。不仅仅是Netflix、亚马逊或谷歌,似乎几乎每个人都采用了这种架构风格。虽然微服务已经存在了很长一段时间,也有很多关于...

    程序你好
  • protobuf简单测试应用

    protobuf是google推出的一种数据交换协议,比较适合应用于底层服务交互,nodejs提供protobufjs包的实现,下面是一个简单的测试demo: ...

    用户1141560

扫码关注云+社区

领取腾讯云代金券