你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【天才设计】华为天才少年稚晖君自制电脑配件——硬萌机器人

[复制链接]
STMCU-管管 发布时间:2022-3-15 13:36
【天才设计】华为天才少年稚晖君自制电脑配件——硬萌机器人

' d( a) l' d% q4 V3 n, v
0 T+ u, o) Q( \1 {
失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。& s6 M4 D# l9 C- o  j

, g6 ]* ^8 S" q  E+ Y还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?9 V/ B. q, k( Z! R! e5 O4 V4 e5 U
21.gif
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!7 p+ O" n! g- S, }$ i; {
22.png
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。) i8 X" d" c1 M

4 Z  `& K# `  c- Z4 R) A这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。
/ g5 V, b+ `8 g% }( H' N+ d4 G. h; n% v/ B1 a: {, }7 W; m+ b
不如先看看整体效果如何?
( c% H/ G9 q$ Z# g3 h
23.gif
「电子」机器人如何造?
8 g' d  y5 j& Z# E* x' k0 g" m6 Z
3 i) K" U! x3 l' r在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」
, F  U3 e/ D: C+ l, v
7 e! ~) _, ^% s( @# Z2 j0 g3 ~" q8 t众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。5 g9 g6 p0 ]- d* n9 ~, U: J
24.png
灵光乍现,稚晖君的DNA动了。
3 P' H; ~- k7 C4 f# F) l7 U3 N! j* @: b( |9 s& S% \: R6 D4 f
简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。
" R* X- R6 N$ E0 P0 p
: ^$ s. G' x( w* j( I1 ?( N/ C他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。3 y. \/ j/ V7 N' j2 ?* b* }
25.gif
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。$ {' A7 x/ e9 [" s, z
6 C4 r! b. k- [  a! t  i& v- n" Y
他打算自己设计一台桌面型的迷你机器人。. K6 J6 D2 g3 o; Y
. p" j: i" _  T1 P3 h
上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」& x  I- w$ i" a; O3 ?0 A% k
26.gif
他想设计一款无需充电、随时待机、有强大计算能力的机器人。: u+ F% U. M: o0 A' Y5 L

8 i3 T0 x. i: N. g' D# b1 \他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。* ]2 L/ d+ c' Y" I% U. O- ~+ z
) ], b; N3 g. c! h& ~) Z; [
有这等好事,机器人听了都直点头。" }% ]' F% w( s  ^

9 f4 u0 `3 Q* w/ C0 U2 V: J1 v因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。" Z2 s1 x! v( O( Z- p( X9 u
27.gif
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。
2 d3 l3 G0 |5 }; z  e
* |( X! h+ x+ {而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。( l  o1 r  S- c

% z  Z. f  v9 Y0 h: z他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。; r- l7 [2 C1 x' r
% `3 a  P4 d4 S# r1 F, ~4 k, F
同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。+ a7 X+ B" I5 R) q

# Q) p: q1 |# m为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。: b% n1 i. c; `4 @7 e. q

: _: M# V8 u4 G6 U

% s5 S5 O2 B1 l5 T手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。
) y% ^% \9 z5 b. v
28.gif
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。! J4 ^# }# F8 f( e) k4 Y- p
$ `+ n1 T& i2 e6 o2 L) I6 G
而机器人的底座则使用铝CNC进行加工。
! l4 ?2 x' U) B+ H/ r2 |& |) k0 c% e0 H! B8 F. h
8 j$ c$ P! j. l/ ~5 O
下一步,就该到电路设计环节了。
1 t3 `' m& _7 y, `/ ], B
0 [8 s( ?% ?& g3 o2 U  ?0 L
" \* N. j( A; ]
稚晖君使用了Cortex-M4内核MCU——STM32F4。用于驱动屏幕和控制舵机以及USB通信。/ a. ~: M) V, e% U1 d

; w' s5 @& L2 g. @* t
6 j/ P6 S2 O$ q! B. L) C
由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。' e5 z1 L4 Z2 H! W; G4 c
29.gif
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。
; |9 {. N; f, H+ Z3 R& i# P1 u- {* C. C8 T* @5 ~% K1 y) b

( S. l" M3 M( s. Z- o( s主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。) y( m# ~$ S; ]9 `) E* _: J
! `$ Q, R" [" z4 u  L

' P. S- V1 G/ R. Z( w' P机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。1 d8 K: s" I6 T6 g$ N) A

# O7 p) C8 Y3 J0 D' n6 B) K$ C
6 q3 q5 `6 n  h! n3 X
还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。
$ O% z8 k6 q4 \/ F1 q
, L7 t" |& U) |# ]) z) j. R
6 u+ ~0 F) H( N
这就有问题了。
6 g% O3 i5 G; E" T
/ I8 R# l' D; b

/ f) `. K: Z' ?- o在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。
/ i+ x  v8 q( t' R
- ~( I5 @+ b* `* w" ?
4 I$ X; g- X5 U
传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。
2 t  ~# S  o2 L6 |7 p! X% V
. E! `4 I2 v6 H- V+ O: I9 M
/ H- a* ~1 w& m4 o
这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。
! r/ E0 U( t8 K& k0 i% ^' ~# `9 R0 ^% E( w
' A# _$ a, L+ d% `0 D
这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。2 }! o# B* C# J1 Q0 r: j
到这里,所有的硬件该有的都有了,也就该组装了。4 u5 r' t# O4 a/ P" ~# `
30.gif
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。5 ^$ h7 k: ]3 X: s  l0 V# l2 s2 ]
整个组装过程一般人真搞不定。2 f' V9 M. {- c4 {! S
稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。4 V: ]) m) J: y. k% B
换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...) M8 i% B8 E' d; F( S$ a3 x5 C( y
「电脑」!?; E$ T3 P0 F! X" o
31.png
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。3 a3 r% \: [" a1 N
毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。7 g) c  K' R% Q, O4 r
他给电子开发了一套完整的、多层次的开放SDK。3 [) Q& s# J$ J& e+ a% n
32.png
最上层是Electron Studio,属于纯图形化的交互。
4 v6 Y& M- l* I! I% I. `7 X! M1 }5 y7 E1 l1 J
& B: O+ H4 [+ b. o- b. i+ P& ~
如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。
2 P, @* _# b  N6 ]2 K
7 U; r5 [0 w  \5 @' N5 U
, k/ Y3 W& V$ }9 L. i$ P
如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。2 J4 Z& d. Y8 z! y# K$ p

5 W$ R" N: J. y7 [7 B

* W- `' @' R+ S* e- f对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。1 h$ s& o6 n0 t; t2 ]4 C$ \& P
+ \9 ]+ \5 V) }

7 g' I9 T' F5 f/ H- a- O8 t利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。, D$ M) ~* `$ b
33.gif
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。
5 P8 |( ]) Z# t5 B6 u' r& m8 R; o" |3 d3 x
* r9 K; y& m8 g" R1 Z
最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。( {; f* Y0 ?: h( N- M
& U, N! X6 S; C% X
4 h5 @. E0 ^0 }
如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。
6 i7 I! [' I9 }. D) {
34.gif
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。; i1 s* A4 ~& F
最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。
0 s9 X- e) K: u7 x; O. h0 h
35.gif
代码开源; O; c$ h  w, ]- X4 ~
视频末,稚晖君附上了软硬件开源地址:
* _* A& G* p! ?# v  t" khttps://github.com/peng-zhihui/ElectronBot
* q+ W+ C2 E5 d: p) R  ~才刚刚发布没几个小时,都已经有90个star,还有6个fork了。  W: o" U/ A2 p. {
不得不说,天才少年的实力太强了。5 [4 b, u2 c/ T7 J: X1 @) {% N; q
36.jpg
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。
3 k# k* M0 e+ l  ~9 d$ w" X6 h5 A# L
37.jpg
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。
+ `# F  J6 v4 \" M0 i, |
收藏 评论0 发布时间:2022-3-15 13:36

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版