机器人操控电脑,华为天才少年稚晖君再出手,直呼:项目不太难
作者 | 张洁
不难发现,华为的天才少年稚晖君一发作品,便出精品。3月13日,他在B站、微博等平台发布了能动的电脑配件,说是电脑配件,其实是一个机器人,这真是让网友大开眼界了。
这个机器人可不是普通的机器人,它有着迷你的外观,小小的一只十分地惹人喜爱。充当电脑插件的同时,它还能向你做滑稽的表情。除此之外,它还会模仿你的动作,让你知道什么叫“模仿大师”。
说到稚晖君,相信很多人都对他有了一定的了解。除了“稚晖君”这个称号,他还被很多网友称为“华为天才少年”“野生钢铁侠”,其实他的原名叫彭志辉。在2020年,他经过华为的七轮面试,最终拿到offer,成功入职华为。在2021年1月,他还获得B站“2021年度百大UP主”称号。之前的螃蟹号火星车、无人驾驶自行车、可以打游戏的充电宝等设计,让他在社交平台上走红,现在让我们来看看他的最新成果吧~
从圆形LCD想到设计机器人,再由”小可爱“确定把机器人做成配件
平时喜欢收集各种迷你小屏幕的稚晖君,一次偶然淘到了一块圆形的小LCD。对机器人感兴趣的他便心血来潮想到用这个圆形小块来做一个又硬又萌的机器人。
这位大佬的灵感来源于前几年很火的机器人Anki Vector、丰田的对话机器人Kirobo Mini 、索尼的音乐蛋Rolly、长得很像阿童木的迷你机器人Robi等,这些机器人的设计颇有意思,加上它们生涩的动作,格外地引人眼球。
这些“小可爱们”由于体积的原因,导致计算能力和续航都受到了很大的限制。因为它们只能实现固定程序的一些简单功能,比较单一化,而且扩展性和开放性都不强。要想实现稍微智能点的功能,比如语音对话,还得连接耳机,然后借助手机芯片和网络的力量来实现。显然,这不够实用。
所以稚晖君想着换一个思路,来设计一个无需充电,随时待机,又具备强大计算能力的桌面级迷你小机器人。经过验证,稚晖君发现这个想法是可以实现的,解决方法就是把机器人变成一个电脑配件。
对机器人进行结构、电路方面的设计
要想设计一个实用的机器人,首先这个机器人要能动起来,因此稚晖君采用了一套执行单元,并且搭载在小巧的机身内,运动自由度实现尽可能的大。其次他还通过USB和电脑进行取电和通信。最后,采用上文所提到的LCD显示屏做机器人头部的显示面板。
- 结构设计
稚晖君把设计风格设定为圆润可爱的科幻风,整个圆形屏幕作为全面屏的显示面板,双臂可动,而且分别有两个自由度。此外,身体和头部还各有一个自由度,可进行多方面旋转。
值得一提的是,这是稚晖君首次进行T-Spline曲面建模。为了在很小的机身下塞下6个自由度的舵机,他还尝试了一些很有创意的传动方案,比如机器人的手臂可以同时进行前后和左右旋转,但是这块的手臂只有一个硬币的尺寸,不可能在里面塞下一整个舵机的,因此只能把所有的驱动舵机塞进肚子里。
除此之外,华为的天才少年希望两个手臂可以进行反驱。
那么如何在这极限的尺寸之下,把两个舵机的动力传递到手臂,而且还要支持动力双向传递呢?
灵机一动,稚晖君想到了手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动由另一个舵机通过一个T形推杆进行传动。这个设计,正好填满了小机器人空荡荡的肚子。为了使机器人能够笔直地站立,还使用铝CNC加工的底座。
- 电路设计
稚晖君使用了Cortex-M4内核MCU STM32F4,用于驱动屏幕、控制舵机以及进行USB通信,由于芯片本身的USB功能只支持低速或者全速的USB。因此为了提高通信速率,稚晖君在电路上添加了高速的USB-PHY芯片,将理论通信速率提高到400Mbps。
经测试,实际最高速率也能达到将近300Mbps。
相较之下,主板的控制比较简单,只用了两层PCB就搞定了,体积做到了最小,和屏幕的面积一致。
除了主控板放在头部,这个小机器人的身体里面还放了一块传感器板,这上面搭载了一颗摄像头,以及一个红外手势传感器。稚晖君为了让舵机能进行反驱,还对市面上的舵机进行了一通魔改,设计了一个迷你的舵机驱动器,如下图所示。
有表情、能同步动作的机器人做好了
所有的硬件都准备齐全后,就该组装了,经过一系列的操作,一个又硬又萌的机器人诞生了,并取名为电子。它能接收电脑端服务给它发送的信息进行动画显示,而且可以控制各个关节进行运动。
为了进行更直观的交互,开发了一个电脑端的上位机。更有意思的是,稚晖君还在B站找到了一个昵称为oooooohmygosh的up主,并请其制作生动的表情包,真的是相当可爱。
让人想不到的是,稚晖君结合AHK脚本写了一个程序,把机器人当作一个额外的电脑输入设备,来模拟键盘的按键,把机器人的左右手设计成了按键,分别进行音量和亮度的调节。
此外,稚晖君还开发了两个程序,一方面是机身搭载摄像头和红外手持传感器,利用AI算法识别手势,由此实现机器人能够直接打开预先设定好的不同程序,或者切换桌面。
另一方面,他基于OpenPose开发了一款用于单目的人体关键点检测的程序,那这有什么用呢?如果有两台机器人,那么就可以把它当作视频聊天的摄像头设备。但与普通摄像头不同的是,它不仅能采集你的图像,而且还可以把你的脸显示在圆形显示屏上,甚至还可以同步动作。
开源到库
最后,设计者稚晖君的愿景是想要将这款小机器人作为一个工具机器人兼电脑配件,发挥一些更实用的功能。
与此同时,稚晖君还开源了其中运用到的Electron Player库,基于这个库,只需要极其简单的几行代码就能连接和控制机器人、设置播放内容等。
另外,他也在SDK中提供了更底层的Electron LowLevel库,方便开发者在自己所设计的程序中直接进行USB字节流级别的数据处理,并且获得各种传感器的原始数据。
开源地址:GitHub - peng-zhihui/ElectronBot
不得不称赞的是,这个“天才少年”实在太厉害了,当是吾辈楷模!
在最近几年,他的每个设计都让很多网友惊呼不已,有很多网友还表示:一个人顶一个团队。虽然设计过程会耗费他大量的时间跟精力,但功夫不负有心人,得到的结果是非常满意的,非常期待他下个设计的到来。
参考链接:Sina Visitor System
机器人操控电脑,华为天才少年稚晖君再出手,直呼:项目不太难相关推荐
- 华为天才少年稚晖君被曝离职;苹果 A16“挤牙膏”原因曝光;Ruby 3.2.0 发布|极客头条
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- 华为“天才少年”稚晖君被曝离职!两年前加入年薪百万起步的天才少年计划!...
以"天才少年"身份加入华为的稚晖君,被曝已经离职,将开启创业! 虽然本人还没公开确认这一消息,但据华为员工爆料,目前华为内部已经搜不到对应的工号. 要知道,这两年稚晖君即使人在华为 ...
- 华为天才少年稚晖君自制硬萌机器人,开源5小时,GitHub收获317星!
视学算法报道 编辑:桃子 拉燕 [新智元导读]失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot. 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠 ...
- 华为天才少年稚晖君自制硬萌机器人,GitHub收获 1.5K Star!
来源:新智元 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗? 近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了! 虽然跳票了一段时间,但他还是来了.网友纷纷表示:「失踪人口 ...
- 华为天才少年稚晖君自制「电子」机器人!应用OpenPose,项目已开源!
点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:新智元 编辑:桃子 拉燕 [导读]失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又 ...
- 华为天才少年稚晖君自制硬萌机器人,开源 5 天,GitHub 收获 2900 星!
这是「进击的Coder」的第 590 篇分享 来源:新智元 " 阅读本文大概需要 7 分钟. " 你们还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂 Dummy 吗? 近 3 ...
- 太牛了!华为天才少年稚晖君又自制硬萌机器人,代码开源了
文末送书福利,记得看完~ 作者|新智元 编辑|桃子 拉燕 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗? 近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了! 虽然跳票了一段 ...
- 天才少年稚晖君调戏机械臂。加上AI视觉,2小时学会抓螺母
还记得上次那个全栈自研给葡萄缝针的钢铁侠机械臂Dummy吗?这次,华为「天才少年」稚晖君用机械臂实现精准抓取螺母,从模型训练到部署只花了2个小时.喜欢本文点赞支持. 还记得上次那个「全栈自研」的给葡萄 ...
- “天才少年”稚晖君宣布离职再创业 !
近日,华为 "天才少年"稚晖君宣布离职,准备创业 . <新程序员001-004>全面上市,对话世界级大师,报道中国IT行业创新创造!
最新文章
- 面试时写不出排序算法?看这篇就够了
- SameSite Cookie,防止 CSRF 攻击
- vijos p1659——河蟹王国(线段树)(复习)
- 【mysql问题】foreign key without name 解决方法
- 配置phoenix连接hbase_Phoenix4.14不读取hbase配置文件-问答-阿里云开发者社区-阿里云...
- java 类 大全_JAVA集合类汇总
- 微信小程序支付html标签,微信小程序/支付宝小程序 WxParse解析富文本(html)代码...
- volatile关键字——保证并发编程中的可见性、有序性
- React Native微信支付开发爬坑之旅
- 弱投影模型_通过投影增强数据模型
- c++ 函数指针_进化论——从函数指针到被结构封装的函数指针及参数的应用举例...
- 你可能不需要 jQuery!使用原生 JavaScript 进行开发
- 快速删除大文件和大量小文件。
- 第一周周二一天工作总结和周三工作计划——PM(李忠)
- Java代码生成器简介、原理、开发流程和Demo
- 牛客寒假算法集训营1 小a与军团模拟器(启发式合并)
- Cocos2dx中Lua游戏性能优化指南
- M26 SDK开发环境搭建
- Android Studio的Signature Versions选择,分别是什么意思
- Date-如何获取自然天,自然周,自然月,自然年?