华为|华为天才少年稚晖君更新!自制同步现实机械臂、可远程做缝合手术( 二 )


一、机械结构设计结构设计中首先要解决的是精度问题,在机器人的硬件设计中,常说的机器人三大核心部件是电机、减速器、驱动器 。真正的工业机器人中使用的电机一般是无刷伺服电机 。
无刷伺服电机不论是在动态响应,力矩保持,精度各方面都非常优秀 。缺点是驱动系统比较复杂,不适合用在本次这样极其紧凑的结构中 。于是稚晖君的方案中,决定使用步行电机 。这类电机的精度最高,但缺点在于高转速下力矩比较小 。
所以为了解决力矩的问题,一般会给电机配备减速器 。减速器就是类似汽车的变速箱,是用于降低输出的转速,而成倍增加输出力矩 。
目前市面上的小型机械臂使用的都是行星减速器,而在本次项目中,使用了工业机械臂里面最常用的谐波减速 。在柔性轮和波发生器的相互作用下,谐波减速器具有零背隙、高减速比,超小体积等优点,非常适用本项目 。
华为|华为天才少年稚晖君更新!自制同步现实机械臂、可远程做缝合手术
文章图片
华为|华为天才少年稚晖君更新!自制同步现实机械臂、可远程做缝合手术
文章图片
谐波减速器的运行原理在电机和减速器确定后,最后是驱动器 。同样为了保证驱动精度以及体积的最小化,稚晖君设计了一个步行电机的一体闭环驱动 。在“第151个设计稿”上,整只机械臂一共使用了6个电机,6个谐波减速器 。
同时为了保证机身强度和精度,机身的主体采用铝CNC加工,而装饰的组件则使用3D打印制作 。所有的控制电路都集成在本体上且充分考虑美观 。
二、电子系统整套设备的电路设计相当复杂,涉及了电源模块、电机驱动、计算模块、通信系统等等 。
实际上这台机械臂上光各种型号的MCU就有12个,而且为了使后续的扩展性足够强,且交互方面能够做一些很有意思的创新,在机体上搭载了Wifi,蓝牙,2.4G等很多种无线能力 。电路方面最主要的是主控制器和电机伺服驱动器,其中后者为了电机一体式的驱动,支持CAN总线和功率机联,所以整套系统将所有的6个电机以及末端执行器连接起来,仅需要4根线 。
华为|华为天才少年稚晖君更新!自制同步现实机械臂、可远程做缝合手术
文章图片
这款驱动器的性能可以说非常暴力,方案使用的是FOC加斩波恒流 。由于添加了高精度的磁铁编码进行闭环控制,所以不会存在传统步金电机丢步的风险 。
同时在最高转速和效率方面,也不是3D打印机上那种驱动器能比拟的 。如果说驱动器是心脏的话,那控制器就是机械臂的小脑了 。在这个项目中,稚晖君使用了之前设计的机器人开发框架REF、基于Corte-M4内核的MCU 。提到这,稚晖君还是考量到后期的性能扩展性,凭借M4自带FPU和DSP的内核,为后面的控制算法中实现涉及到的大量复杂计算,展现出明显的效率提升 。
华为|华为天才少年稚晖君更新!自制同步现实机械臂、可远程做缝合手术
文章图片
另外主控制器采用冗余设计 。除了主控制器REF外,还板载了一个ESP32作为协处理器 。一方面作为STM32的安全备份,另一方面可以用于提供wifi蓝牙等无线能力 。
总之为了解决最开始提到的精度和性能问题,解决方案就是:第一,使用步进电机加一体闭环驱动,第二,使用0背隙的谐波减速器第三,在后续的算法实践中进行高精度补偿 。
三、软件设计对于机械臂来说,最核心的软件内容在于运动学的正逆解的算法以及动力学模型的实现 。
前者告诉我们机械臂的每个关节角度和最终末端的位置之间的正逆解求解关系,后者则用于实现碰撞检测,柔性控制,力学反馈等功能 。其中涉及到大量非常复杂的矩阵和偏微分计算,也是在项目实现中花费时间最多的部分 。
而且可以选择多种坐标方式,比如关节坐标、世界坐标系、工具坐标系等 。所有的姿态结算都是在机械臂内完成 。第二种交互方式是使用命令行,通过前期设计的REF自带的RPC框架,可以实现更大自由度的机械臂控制和各种参数设置 。
华为|华为天才少年稚晖君更新!自制同步现实机械臂、可远程做缝合手术
文章图片
但是前面两种方式偏极客,对于普通人来说,图形化才是更“阳间”的交互方式 。于是也实现了对应的图形化上位机 。在上位机中可以进行傻瓜式的拖拽交互,而且是双向交互 。


推荐阅读