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

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

[复制链接]
STMCU-管管 发布时间:2022-3-15 13:36
【天才设计】华为天才少年稚晖君自制电脑配件——硬萌机器人
' @- s1 M( Y9 t
( I- a7 \1 r6 t  O! E
失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。, I  J" r- S4 F. g; s. L, W, d
, @9 F/ d, }% m( g6 X
还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?
; R: Y; b* ]3 F. q, {
21.gif
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!5 J1 w/ F, m( N5 J* r9 Z
22.png
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。
8 q3 ^" a) X$ }4 D  Q9 ~8 g& R1 D( T
+ b0 Q% A* r4 W4 ^这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。4 T9 B) a1 H4 `
1 h% I& t6 e* H- d: R$ c. ~
不如先看看整体效果如何?3 y4 Z! O9 z  o) R& H9 T. K
23.gif
「电子」机器人如何造?- f- r+ W+ g  E7 P  y0 W6 C) s

; i+ V# I& c% ^$ z5 U; w. l在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」
6 m: j: y7 q6 a2 f
+ ~; c& B0 s, T2 o: X4 r& p众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。
9 l' k4 [6 W0 _9 J# H1 x
24.png
灵光乍现,稚晖君的DNA动了。
! u4 v' i% Y+ Q5 Q" ~
: L8 ]. t  p2 {8 M& O8 h. _2 a简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。3 h$ D4 o" l! ]' B) N' }$ L, |
. Q: P/ p7 i2 n6 p& B1 Z: ^
他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。
/ Z' C1 _6 h6 ~: ~* {
25.gif
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。
+ H+ g3 Z, m' _3 R: L% o# q0 i+ w$ o: s1 }) @* ^
他打算自己设计一台桌面型的迷你机器人。
9 p! }; ~1 h( {3 Q3 a! O$ F5 Y% T1 y
上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」
( F; J- {+ ?) ^* D
26.gif
他想设计一款无需充电、随时待机、有强大计算能力的机器人。  s0 c) F9 k- n& D0 u7 ^

8 |) l: A' B2 K  b" f/ L8 y他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。' S8 G/ E0 l4 S% ~

6 m- ]. T5 V7 @0 k7 {$ F有这等好事,机器人听了都直点头。
; k3 d2 x% Y% h2 x3 \0 G6 f+ |1 Q. t' C) \. C9 x, a3 q
因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。
: G, A8 O. A' z9 `/ |
27.gif
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。4 J5 D4 v, P5 y. b9 e# {/ t
0 Q7 v+ u, ~/ k8 X5 j1 H
而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。' o2 Q4 A; a1 r. |, `* H
1 H( e( Q( x# ]- @$ v
他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。- P( g7 `, u; f
! p! ~! i/ {+ Z6 W( t# F9 B
同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。% R  L" C: v0 D. v5 u: Y. v% [
& B* h/ J9 O/ x
为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。
/ L) S7 j: o  o. k
3 ?8 |' \! G) C$ k7 G9 }

! ~' M: {  j& [# t* R8 z手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。% C& d" g- J& y! Z, \+ y
28.gif
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。2 n$ B( b6 e" }% w2 J0 f# B7 a

5 y  u( t. ~4 W! G/ {) J而机器人的底座则使用铝CNC进行加工。
# W8 X5 N  ?+ S- [  H7 c: s. i3 N3 F
0 T! Q. R) [7 e. [1 ?
下一步,就该到电路设计环节了。* {& v8 l/ l* q2 |6 {. h

, n( L  e& _% N9 e

. B6 X( ?2 \3 J" m5 a稚晖君使用了Cortex-M4内核MCU——STM32F4。用于驱动屏幕和控制舵机以及USB通信。
7 L2 y$ B% \2 O9 ^4 L8 H
/ A. E* }. [3 B
/ V3 N$ m/ F8 @" @- y1 G# T
由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。
3 x( e* n% {  g
29.gif
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。
% A# U/ d& j7 f) o/ ]2 }) ^/ k; R4 U4 y
3 q$ |0 d% _& b6 d0 n
主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。: h1 H5 b( i9 K5 p% y
4 q, M) R) G  d! j7 c& K

8 A$ N8 y# ]- Q# a机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。7 d/ H$ s6 h+ Q
, V1 }4 v! F- e$ u
+ K) f7 Y& }/ D, [1 c  j7 [
还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。+ w5 N: R3 G, W6 _4 P" \

% p' P6 `# O! o" }+ t4 |6 [; p

$ `# r% b. F! r) B2 k/ X5 l# ?6 Y这就有问题了。
- e& N5 S$ ^& B* ~9 k! L2 Y# y- S! U" D0 P

$ e# F+ Q) L, W: }9 R- c! l3 x在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。
2 K$ Q$ \1 R. ~" v$ p- n' I" r1 v% J. ]
! J. H: n1 A) X6 p6 R2 |
传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。) P& T& s% U) Y5 f1 H

7 s: _$ L4 W& G7 n

! Q9 u0 n/ s& ~- N这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。% Y; G( q0 B: I3 H
7 p2 e7 i7 U9 L$ L* B! [

6 T$ R6 E/ x: h4 W; R/ k  _这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。
8 t- ~% c! @- s1 j% }% _到这里,所有的硬件该有的都有了,也就该组装了。
5 w4 r+ u2 Z$ E; j0 o- }+ g8 r* Y
30.gif
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。5 r/ X! @7 ~% a9 N6 I( L% j: I, o
整个组装过程一般人真搞不定。) t. U" E) O7 E: h2 J) h
稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。" y/ l" j2 g) Q- A: u+ X& t% ]7 Y) A
换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...- a- Z$ ]4 T; ?1 k: O7 y
「电脑」!?
) t0 w; b9 s# G! _8 S2 v8 M
31.png
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。. q$ j* u4 ]& J' Q! V5 h
毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。
( w  v& U3 K$ ~; Z8 Z4 I  E他给电子开发了一套完整的、多层次的开放SDK。
6 J( k; x# z7 r: r& S
32.png
最上层是Electron Studio,属于纯图形化的交互。
9 c, ]2 o0 o% P/ I$ ^' Z8 e: l* t7 z! h: _" L* m' r
. l& j& E4 l& w$ x: g1 n) ?' e
如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。) T% Q  r4 t" V( i# F
8 c$ H1 [6 O2 ^  t# H

& x( b) ]# d# E; _如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。
; F: w5 u/ c& u0 W; \
- J1 z, F5 q' ]& \: c
0 s1 t, i' a, K4 B: l9 S
对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。
3 D) S6 H  p; I. j* l' Q
" l/ Q1 [# O' d- G9 \) k/ M8 i0 a
% b" n& c+ e5 I% ~
利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。
! @0 Q# W1 D. `9 ?6 F
33.gif
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。+ p; \8 Q! P- B/ Y) Z
+ I7 j% L+ w/ _- K4 G. U9 q* U
3 w4 t+ P0 r) f
最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。7 T% `" y. P% ~( u1 W) r6 J& n2 t

6 G* W$ G; x$ p2 Y6 g

' @, s3 p4 x/ K/ @3 u0 t9 ^如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。
$ D8 k' N$ `$ Y$ a; {
34.gif
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。
5 P1 m( z6 f( ~' Q: [9 n最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。
1 ]# \& E' k, A# a3 F) z8 a0 a
35.gif
代码开源  n* }$ M7 A& n8 k4 h/ Z5 n
视频末,稚晖君附上了软硬件开源地址:
1 c4 \7 J7 p8 \9 a! C0 m  Yhttps://github.com/peng-zhihui/ElectronBot4 m) O3 @( S) |
才刚刚发布没几个小时,都已经有90个star,还有6个fork了。$ n6 K6 I; z& I. [3 N$ t# p
不得不说,天才少年的实力太强了。
0 n2 r. T* J. J6 }: t% G
36.jpg
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。
  ]8 p- g* L, R5 L
37.jpg
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。% h2 b1 a% O: @
收藏 评论0 发布时间:2022-3-15 13:36

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版