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