还记得几个月前风靡全网的自动驾驶自行车吗?可以说是火出了圈!
没错。四个月前,今天的主角还是那位华为天才少年-“稚晖君”,最后一次发来智慧军的视频。就像智慧君自己说的,“智慧君鸽子越久,事情就越大!”
事实上,他这次带来的项目之前早就暗示过,他希望打造一台属于自己的机械臂,'s这次的作品是他完全自己开发设计的机械臂,名为Dummy。
先看一个整体画面:
这种配色很像钢铁侠的经典红色。虽然智慧君一直自称狂野钢铁侠,但他自己对这种配色的解释是,
野生钢铁侠的作品如果要有配色的话,那就是中国红!充满了爱国情怀!
说完外观,我们直接进入主题吧,首先我们来看看细节
我们先从机械结构设计说起,的结构设计首先需要解决的问题是精度。在机器人的硬件设计中,我们常说机器人的三大核心部件包括:电机、减速器和驱动器。
无刷伺服电机用于真正的工业机器人,在动态响应、转矩保持、精度等方面都特别优秀,但缺点是其驱动系统各方面都特别复杂,不适合这种紧凑的一体化结构。
最后稚晖君选用了步进电机
步进电机的精度也比较高。缺点是高速时扭矩比较小,所以为了解决扭矩问题,我们通常会给步进电机配备减速器,减速器就是类似于汽车的变速箱。
本次使用的是工业机械臂经常使用的谐波减速器
最后是司机。同样,为了保证精度和最小化体积,稚晖君为此设计了一体闭环驱动器
结构设计
驱动方案确定后,接下来就是结构设计了,
为了这个项目,惠均设计了150多个版本。整体风格是结构紧凑,科幻风格。总共使用了6个步进电机和6个谐波减速器。同时,为了保证机身的强度和精度,机身的主题是铝合金数控加工。
装饰部件由3D打印制成。
所有的控制电路都集成在主体上,充分保持了它的美观,可以说是细节满满。
电路系统
结构介绍完了,接下来我们介绍介绍电路系统,
整个电路系统相当复杂,因为涉及到电源模块、电机驱动、计算模块、通信模块等。事实上,在这个机械手中有多达12个用于光信号的MCU,并且为了使后期的可扩展性足够强,并在交互性方面进行有趣的创新,他具有wifi,蓝牙,2.4G等许多无线功能。
电路部分最重要的就是主控制器和电机伺服驱动器,,前面提到的集成闭环驱动器,支持多种控制协议,最后集成所有控制线,只需要四条线。
这款驱动器的性能可以说是非常暴力了,
该方案采用FOC加斩波恒流。因为闭环控制的高精度磁编码,所以不会出现失步问题,同时在自动速度和效率方面也不是。
像3D打印机上的步进电机能比的如果说驱动器是心脏的话,那控制器就是机械臂的小脑了, 稚晖君也为此自己设计了机器人框架 - REF,用在基于Cotex-M4内核的stm32F4
MCU上,除了主控制器 stm32F4,控制电路上还板载了一个 ESP32 作为协控制器,一方面作为 stm32
的安全备份,另一方面可以使其具有wifi、蓝牙等能力
以上所有的零件就备齐了:
组装完后,硬件整体出来了,中国红版的机械臂!
▍软件算法部分
硬件完成啦,当然这还仅仅是开始,接下来开始注入灵魂!
对于机械臂来,最核心的软件内容在于运动学正逆解的算法,以及动力学模型的实现,其中前者告诉了我们机械臂的每个关节角度,和最终末端的位置之间的正逆解求解关系,而后者则用于现实碰撞检测、柔性控制、力学反馈等很多功能,其中设计大量计算复杂的矩阵和偏微分计算,
现在看来,稚晖君这次项目涉及到的知识面包括太多了,有电子、机械、算法、数学等等。
软件部分还包括命令行和图形化的上位机,手机端的APP以及无线示教器固件等
对于机械臂的交互方式,稚晖君总共实现了7种
第一种,最简单的方式,通过串口,机械臂使用USB连上电脑,使用串口命令来控制机械臂,而且可以选择多种坐标方式,比如关节坐标系、世界坐标系、工具坐标系等等,所有的机械臂姿态都是在机械臂本体内完成的
第二种,使用命令行,通过自己设计的REF自带的RPC框架,可以实现更大自由度的机械臂控制,和各种参数设置
第三种,图形化上位机控制,我们可以在上位机中进行傻瓜式的拖拽交互,而且这个交互是双向的,即可以把动作下发给机械臂,也可以在软件中实时同步机械臂的姿态
以上几种,都基本实现了机械臂的交互控制,不过好戏才刚刚开始哦!
第四种,手动协作示教控制,只需要手动教它一遍运动的流程,它就可以自动学习重复动作
还没有完,手动示教其实是很多机械臂都具有的功能,所以还不算炫酷!
第五种,机械臂当然少不了示教器啦!稚晖君为此设计了一个无线智能小终端,也是这台机械臂的伴侣,它可以通过低功耗蓝牙和机械臂进行无感连接,连接之后可以实时显示机械臂的各种状态信息,可以切换各种功能,切换控制模式
第六种,来玩点比较前沿的技术,比如说AR,结合增强显示技术,就可以实现这样的效果
你以为这就完了吗?稚晖君的宗旨就是追求完美,注意,前方高能!
第七种,同步现实,使用华为昇腾的Atlas边缘计算平台,接下来实时的获取位姿信息,会进行复杂的坐标换算,通过无线的方式发送给机械臂,机械臂收到之后响应执行
事情到这里还没完,机械臂的核心能力并不只是动一下而已,可以更换不同的末端效应器,可以使机械臂实现不同的功能
稚晖君也为此设计了一个带力反馈的微型夹爪,以及一个手持控制器,并带有AHRS装置,那么就有了下面这种功能:
可能你会觉得,何必这么麻烦呢?直接用手操作,不更香吗?不不不,事情并没有那么简单,通过机械臂操作,可以进行很多人手无法达到的效果,更重要的是可以实现远程操作完成这种手术,像这样:
这样才是最终极的交互方式呀! 当然,正如稚晖君所说,这台机械臂能实现的功能还有无限的潜力等待我们来发现
由于稚晖君本人工作的原因,时间也是非常有限的, 以上这些项目都是他利用休息时间肝出来的,但这丝毫不影响他一个人完成一个团队的项目!
他也表示,希望自己以后做的每个项目,都是迄今为止最为复杂的项目,相信这为天才少年也会继续给我们带来更令人惊叹的作品,让我们拭目以待吧!
由于篇幅原因,文章就介绍到这里了,稚晖君表示, 为了方便大家学习,他本次的项目会全部开源到github,有兴趣复现的同学快去看看吧!