华为天才少年稚晖君自制硬萌机器人,开源 5 天,GitHub 收获 2900 星!

本文主要是介绍华为天才少年稚晖君自制硬萌机器人,开源 5 天,GitHub 收获 2900 星!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

460dfdf9f92c6c0e7c69bad9e0f70ec5.png

这是「进击的Coder」的第 590 篇分享

来源:新智元

阅读本文大概需要 7 分钟。

你们还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂 Dummy 吗?

bef139a51541b295bbd9a280ad8f1fca.gif

近 3 个月没更的华为「天才少年」稚晖君带着他的最新视频来了!

d5694b24c7f988160a18626f217bbdea.gif

虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。

这次的项目叫 ElectronBot,是个支线项目。稚晖君表示,整体难度不高。

不如先看看整体效果如何?

2748cac2ab4a277886698c3f585a8d35.gif

「电子」机器人如何造?

在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」

众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的 LCD 屏幕。

f1fa73add42425e26d32a3043155b97f.gif

灵光乍现,稚晖君的 DNA 动了。

简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。

他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。

17aea8472a89d1db30d773a46d22fcee.gif

但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。

他打算自己设计一台桌面型的迷你机器人。

上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」

a335f4afbae4c0dcae5eca98d487655d.gif

他想设计一款无需充电、随时待机、有强大计算能力的机器人。

他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着 USB 充着电。

有这等好事,机器人听了都直点头。

因为 LCD 屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。

5916a3213125a9e41308c6732741a608.gif

稚晖君表示,这是他第一次尝试用 T-Spline 曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。

而且稚晖君这人能处,有 6 个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。

他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。

同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能 pass 了。

为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。

手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过 T 型推杆进行传动。

5fce92ac19a7e78462eb0b5ab2c93723.gif

这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞得满满的。真是强迫症的福音啊。

而机器人的底座则使用铝 CNC 进行加工。

下一步,就该到电路设计环节了。

稚晖君使用了 Cortex-M4 内核 MCU,STM32F4。用于驱动屏幕和控制舵机以及 USB 通信。

由于芯片本身的 USB 功能只支持全速或是低速的 USB,稚晖君在电路上添加了高速的 USB-PHY 芯片,成功将理论通信速率提高到了 400Mbps。而最后实际的最高通信速率也有 300Mbps。

3105c311a58e63b34655d248d5f4934a.gif

这个速度远高于 UART、I^{2}C、SPI 等短总线。这也给后续的软件开发提供了更多可能性。

主控板的设计相对就比较简单了,两层 PCB 就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。

机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。

还有一块驱动板。因为市面上的舵机只能接收 pwm 信号,进行角度控制。

这就有问题了。

在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。

传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统 3g 舵机魔改了一通,设计了一个迷你的舵机驱动器。

7c7a641235b5ff9d38cbb4efa1fc0da1.gif

这个小驱动器支持 I^{2}C 总线通信,PID 闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。

这样一来,原本 6 个普普通通的舵机,被稚晖君巧手一点,就成了 6 个热乎乎的智能舵机。

到这里,所有的硬件该有的都有了,也就该组装了。

e317dc53cf7e697824452a36d00f9044.gif

看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。

整个组装过程一般人真搞不定。

稚晖君给自己设计的小机器人起名叫 Electron(电子)。Electron 通过 USB 线和计算机相连,作为计算机的配件。

换句话说,机器人叫「电子」,那通过 USB 连接的计算机就是「电子」的「脑子」,简称...

「电脑」!?

187c203122f1d4eb9e200b6a67622e2a.gif

如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。

毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。

他给电子开发了一套完整的、多层次的开放 SDK。

97c7b6456fc13b991d9fe90c5d5f27ed.png

最上层是 Electron Studio,属于纯图形化的交互。

如果想用自己写的程序控制电子的话,稚晖君还提供了 Electron Player 库。只通过极其简单的代码,便可链接和控制机器人,还可以设置播放内容。

如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的 Electron LowLevel 库。

对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。

利用机器人机身搭载的摄像头和红外手持传感器,开发了通过 AI 算法识别手势的程序。

f45b661f69868209a49ce6bd13af0d51.gif

当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。

最有意思的一个应用是,稚晖君基于 OpenPose 开发了一个程序,用于单目的人体关键点检测。

如果有 2 台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。

aeb5ceeb8e759c24165c3a111422714c.gif

稚晖君还给这个应用起了一个特别的名字「量子纠缠」。

最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。

da2b5a8f619c2c8ca99b2b947b3e885c.gif

代码开源

视频末,稚晖君附上了软硬件开源地址:

https://github.com/peng-zhihui/ElectronBot

此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。

17fcc99180e68c4559398ae3d135616b.gif

网友:重新定义「软核」

重新定义「软核」

f1d50e2dbdfc1ba14cbc7c3cb41ad3c9.png

有网友希望下次稚晖君可以出一期「如何高效学习」的视频。

b8825b5cb797f2603d59c1ceec2418e2.png

参考资料:

 https://b23.tv/SYUguUw

558e72a7196e873d4fdc1d55ceb84e4b.png

End

崔庆才的新书《Python3网络爬虫开发实战(第二版)》已经正式上市了!书中详细介绍了零基础用 Python 开发爬虫的各方面知识,同时相比第一版新增了 JavaScript 逆向、Android 逆向、异步爬虫、深度学习、Kubernetes 相关内容,‍同时本书已经获得 Python 之父 Guido 的推荐,目前本书正在七折促销中!

内容介绍:《Python3网络爬虫开发实战(第二版)》内容介绍

9afcf0a650621e638a85a970da28270c.png

扫码购买

71314bea03b82013bbd1a56750ea3752.png

好文和朋友一起看~

这篇关于华为天才少年稚晖君自制硬萌机器人,开源 5 天,GitHub 收获 2900 星!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/991711

相关文章

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用。如果你看不懂,请留言。 完整代码: <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><ti

探索Elastic Search:强大的开源搜索引擎,详解及使用

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、

华为---OSPF的DR与BDR(六)

9.6 OSPF的DR与BDR 9.6.1 原理概述 在OSPF的广播类型网络和NBMA类型网络中,如果网络中有n台路由器,若任意两台路由器之间都要建立邻接关系,则需要建立n×(n-1)/2个邻接关系,即当路由器很多时,则需要建立和维护的邻接关系就很多,两两之间需要发送的报文也就很多,这会造成很多内容重复的报文在网络中传递,浪费了设备的带宽资源。因此在广播和NBMA类型网络中,OSPF协议定义

青龙面板2.9之Cdle傻妞机器人编译教程

看到有的朋友对傻妞机器人感兴趣,这里写一下傻妞机器人的编译教程。 第一步,这里以linux amd64为例,去官网下载安装go语言安装包: 第二步,输入下方指令 cd /usr/local && wget https://golang.google.cn/dl/go1.16.7.linux-amd64.tar.gz -O go1.16.7.linux-amd64.tar.gz

华为某员工爆料:偷偷跑出去面试,被面试官鄙视了。第一句话就问:华为淘汰的吧,35岁了,这个年龄在华为能混得下去吗?身体没啥毛病吧

“你都35岁了,难不成是被华为淘汰的?在华为混不下去了吧?身体没啥毛病吧,我们这体检可是很严的。” 近日,一位华为员工在朋友圈爆料,自己在面试时遭到了面试官的无理取闹和人身攻击,原因仅仅是因为他35岁了,曾经在华为工作过。 这番话,充满了傲慢与偏见,让人听了义愤填膺。这位面试官的言行,不仅是对求职者的不尊重,更是对职场规则的践踏。 面试本应是双向选择的过程,企业和求职者在相互了解的基

今天又有了别的收获。青云怎么这么厉害呢- -。。感觉无论付出多么大的努力,和他差不多就行~~

1.第一个收获就是一个宏这个宏第一个参数是函数的类型,第二个是名字,第三个其实就是setRow(),getRow(),两个方法,为的就是让我们得到对象。嘿嘿,收获不小~~ 2.比如我们定义了一个宏#define WC (6) 我们调用一个方法,suShi->m_imgIndex=rand()%WC  ;表示取0-WC-1的整数值。。 3.为了更好的适配各种环境在applicatio

高性能并行计算华为云实验五:

目录 一、实验目的 二、实验说明 三、实验过程 3.1 创建PageRank源码 3.2 makefile的创建和编译 3.3 主机配置文件建立与运行监测 四、实验结果与分析 4.1 采用默认的节点数量及迭代次数进行测试 4.2 分析并行化下节点数量与耗时的变化规律 4.3 分析迭代次数与耗时的变化规律 五、实验思考与总结 5.1 实验思考 5.2 实验总结 E

HarmonyOS NEXT:华为开启全新操作系统时代

在全球科技浪潮的汹涌澎湃中,华为再次以创新者的姿态,引领了一场关于操作系统的革命。HarmonyOS NEXT,这一由华为倾力打造的分布式操作系统,不仅是对现有技术的一次大胆突破,更是对未来智能生活的一次深邃展望。 HarmonyOS NEXT并非简单的迭代升级,而是在华为多年技术积淀的基础上,对操作系统的一次彻底重构。它采用微内核架构,摒弃了传统的宏内核模式,实现了模块化和组件化的设计理念

git clone [github]下载速度慢问题解决

将下面两个ip加入HOST 192.30.253.113 github.com 151.101.185.194 github.global.ssl.fastly.net 如果不起作用,登录 http://github.com.ipaddress.com/ (需要翻墙)输入 github.global.ssl.fastly.net 和 github.com查询对应的ip,修改host文件中的i

示例:推荐一个基于第三方开源控件库DataGridFilter封装的FilterColumnDataGrid,可以像Excel拥有列头筛选器

一、目的:基于第三方开源控件库DataGridFilter封装的FilterColumnDataGrid,可以像Excel拥有列头筛选器,感兴趣的可以去下方链接地址查看开源控件库地址。本控件封装的目的在于将第三方库的皮肤和样式封装到皮肤库中可统一设置样式,同时生成nuget方便调用 二、效果如下 三、环境 VS2022 Net7 四、使用方式 1、安装nuget包:H.Con