华为「天才少年」自制硬萌机器人,开源5小时,GitHub收获317星!
来源:新智元
ID:AI_era
51CTO
失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。
还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。
这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。
不如先看看整体效果如何?
01
「电子」机器人如何造?
在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」
众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。
灵光乍现,稚晖君的DNA动了。
简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。
他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。
他打算自己设计一台桌面型的迷你机器人。
上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」
他想设计一款无需充电、随时待机、有强大计算能力的机器人。
他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。
有这等好事,机器人听了都直点头。
因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。
而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。
他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。
同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。
为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。
手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。
而机器人的底座则使用铝CNC进行加工。
下一步,就该到电路设计环节了。
稚晖君使用了Cortex-M4内核MCU,STM32F4。用于驱动屏幕和控制舵机以及USB通信。
由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。
主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。
机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。
还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。
这就有问题了。
在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。
传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。
这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。
这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。
到这里,所有的硬件该有的都有了,也就该组装了。
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。
整个组装过程一般人真搞不定。
稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。
换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...
「电脑」!?
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。
毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。
他给电子开发了一套完整的、多层次的开放SDK。
最上层是Electron Studio,属于纯图形化的交互。
如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。
如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。
对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。
利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。
最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。
如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。
最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。
02
代码开源
视频末,稚晖君附上了软硬件开源地址:
https://github.com/peng-zhihui/ElectronBot
才刚刚发布没几个小时,都已经有90个star,还有6个fork了。
不得不说,天才少年的实力太强了。
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。
关注我获取更多知识或者投稿
华为「天才少年」自制硬萌机器人,开源5小时,GitHub收获317星!相关推荐
- 华为天才少年稚晖君自制硬萌机器人,开源5小时,GitHub收获317星!
视学算法报道 编辑:桃子 拉燕 [新智元导读]失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot. 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠 ...
- 华为天才少年稚晖君自制硬萌机器人,GitHub收获 1.5K Star!
来源:新智元 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗? 近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了! 虽然跳票了一段时间,但他还是来了.网友纷纷表示:「失踪人口 ...
- 华为天才少年稚晖君自制硬萌机器人,开源 5 天,GitHub 收获 2900 星!
这是「进击的Coder」的第 590 篇分享 来源:新智元 " 阅读本文大概需要 7 分钟. " 你们还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂 Dummy 吗? 近 3 ...
- 太牛了!华为天才少年稚晖君又自制硬萌机器人,代码开源了
文末送书福利,记得看完~ 作者|新智元 编辑|桃子 拉燕 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗? 近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了! 虽然跳票了一段 ...
- 封神了,华为天才少年自制硬萌机器人,再次刷屏网络
失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot. 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗? 近3个月没更的华为「天才少年」稚 ...
- 年薪百万的华为「天才少年」:谢凌曦分享「进阶」之路,选题最重要!
转载自:新智元 华为「天才少年」一直备受外界关注. 近日,毕业于清华大学的「天才少年」谢凌曦便分享了自己的「修炼」之路. 游戏中与AI结缘 4月24日,谢凌曦在「华为云·先锋少年论坛」上向大 ...
- 华科博士 201 万,西安交大本科生 100 万!华为「天才少年」校招薪资曝光
点击上方 好好学java ,选择 星标 公众号重磅资讯.干货,第一时间送达 今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多金磊 ...
- 又酸啦!华为「天才少年」校招薪资曝光....
点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 转子自[量子位] 西交大本科毕业年薪100万,华科博士毕业年薪201万. 开出如此天价年薪的正是华为. 果然, ...
- 华科博士201万,西安交大本科生100万!华为「天才少年」校招薪资曝光
金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 西交大本科毕业年薪100万,华科博士毕业年薪201万. 开出如此天价年薪的正是华为. 果然,那个扬言从全世界招募顶尖人才的「天才少年」计划, ...
最新文章
- mysql远程主机强迫关闭了一个现有连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...
- android 详解画图,android画图之贝塞尔曲线讲解详解
- php is_null、empty、isset的区别
- dell 远程访问管理卡iDRAC 7
- JZOJ 4786. 【NOIP2016提高A组模拟9.17】小a的强迫症
- (转)更新Java final常量后,请重新编译你的class
- Cookie 与Session 的区别
- 微信小程序 731 天
- Ubuntu下好用的文档比较工具Meld,代替Notepad++的文档对比功能?
- php 处理树形数据,php设计模式之组合模式——处理树形结构数据
- 后缀表达式(简单示例)
- Processing 自动贪吃蛇脚本
- 2021年焊工(初级)模拟考试及焊工(初级)作业考试题库
- 2016年华为优招面试经验
- Swift 七种手势
- 【SpringCloud】Could not find artifact org.springframework.cloud:spring-cloud-starter-xxx
- 热烈祝贺我公司获得“渣土车智慧监控平台软件著作权登记证书”
- 首发苹果 M2!MacBook Pro 正式开售,更像是一个增强版的 A15?
- python高级编程(6) - 对象引用,可变性和垃圾和回收
- 一维搜索方法/黄金分割法(附matlab代码)