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

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

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

7 T4 s: X# I+ \: f! F' n- J

4 l1 c% I' I, H6 k8 @; w* k$ r  j失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。
+ S; {: B7 E4 x/ K- s# h6 L% B' C* e7 i5 W" W! G8 @+ o2 c. @
还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?
2 b# ]( ^. k( r" i
21.gif
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!
1 E4 O. ]2 o" T4 g, O7 @2 M: X
22.png
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。) }. _- |, ?6 J8 z' d0 m* w
/ w2 t3 O; T' }1 }1 G' S! M/ A
这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。+ @- [' j; W& w% B
% `+ m( D, ~; B  f8 b: ?" z
不如先看看整体效果如何?5 |8 [+ _& ^+ a1 C  a
23.gif
「电子」机器人如何造?* J& z+ x2 }- x1 N

- \7 a0 c2 X8 g! D* q" j" T' N5 v" U" B在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」2 ]7 d8 R+ p, R3 d7 _

* a/ r. F9 W: {( v& E! [众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。- g' S& V& N1 w) p/ u
24.png
灵光乍现,稚晖君的DNA动了。
( H! T  H$ {" }$ {$ _3 W1 t. O' C8 @  h6 S$ X3 r( E/ W: c
简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。7 j& k# l, Y4 L

' {, v/ k4 G& k/ `8 q+ e" ^他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。( Q, Z6 {% j( G- m1 s8 i& Y+ K" t1 c
25.gif
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。
% G) O' _+ c; ^; W2 K
: [8 B6 n9 R4 g8 y- V他打算自己设计一台桌面型的迷你机器人。) Z5 a# y" x/ A7 J

; j' `: {0 k2 P0 Y1 p; O上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」
( q1 b3 g; {/ F( s
26.gif
他想设计一款无需充电、随时待机、有强大计算能力的机器人。3 U0 F6 n% B. ~5 k# c0 N/ \

4 D3 N( E4 ~# Q( h他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。
5 |% l) f$ T0 G
2 j& m" _2 K3 B' c0 t& F有这等好事,机器人听了都直点头。
  A" y( `& K! B& }$ j
7 v3 I+ M: j) S. |/ K0 z( X3 }# p因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。; u: \9 G7 P; w# ^$ r1 H
27.gif
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。
6 p5 J! V$ p! U
# D7 v: z5 C* I- J/ z而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。
5 Z& d0 ?; j5 z3 ?) Z3 {8 V' K* ^
他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。# j# j- b5 |& K" s: @0 @# _
: `3 V+ S  j( |; @0 D/ j8 a
同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。
: w+ f/ b# z, b* N, x* B! P; w/ R' [& M2 O, m1 t
为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。
! \( J2 K# Z& E2 Z
: O: C0 g1 c* v5 h" `4 v
/ a1 B! ~4 v, o% w+ \
手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。6 _1 O: W, Q6 v. Q  w  s+ u8 L* P
28.gif
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。
. h/ b, E: O$ c/ E' K8 w/ |4 G7 w7 w0 y2 k1 E
而机器人的底座则使用铝CNC进行加工。% y8 M; b% J  v, A
: J9 {  g- W( `. L0 f9 O
, `  k; ]- y2 k4 Q/ e
下一步,就该到电路设计环节了。
$ @& V; E8 X, W7 Q! F# ?( w- z6 }2 U# o% y' b4 H: C: l9 _! K
8 n, @+ i+ J  V: H" y/ ?7 a
稚晖君使用了Cortex-M4内核MCU——STM32F4。用于驱动屏幕和控制舵机以及USB通信。! d. Q% Q& B8 k( S( W7 g

% d( l7 q5 ~! [9 S; K9 I, w

+ I* ]) C" `& d, O0 T% F由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。
% ^8 }, s4 W2 `1 \& w
29.gif
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。
" Z4 I1 I2 X, q! R. E* q6 t; T( ]/ @. }4 `

- n) w8 Z6 \* _; ~+ m3 M主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。
7 m7 h; y" ~& i- M; x8 F
3 U! W1 Z8 r" c/ N
5 p7 S) M1 J/ J
机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。
7 {: K7 e; Q, ~6 `; I5 J. X* _+ X; r
+ V  [: C. l$ o3 Z
" E  n& e, R' c( h1 ~. p6 g
还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。+ L$ P: q5 e7 r7 X6 |
* i( y4 P. p1 K: E7 w+ P* N
+ p0 Q* X: D4 u6 b: R1 O
这就有问题了。+ @$ I2 W: A( Q1 ?* e

4 l# j* @: k) W4 d& W) }
8 I" T+ V" _9 r- q* L3 ?
在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。$ c- y# K8 m) y' {

1 P5 o5 R  z) ]" |  v7 M

6 S+ i& [$ c/ v8 b3 Z. v0 y- h! e传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。/ E. W" \) C' T" v$ V' y

, ~3 Y' [' v) b+ h3 }( p. N

- T8 l6 Z; r8 y( ^9 T' t这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。
3 ~2 C. N% g4 t) [* r+ W* k- r
' `( N- M  J% m

. {; p+ {! M  K$ Q% Z这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。
# J$ Y4 U- d* P" R, W, K到这里,所有的硬件该有的都有了,也就该组装了。, [) q- a/ L2 {. a% S
30.gif
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。: w3 z9 y+ [) H% E2 n4 L
整个组装过程一般人真搞不定。
4 ?# a! J) ]; N3 C稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。2 E5 [) a6 s  G& Q; `4 k
换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...
0 U/ F$ W! A6 i! m( ]: d1 n. ^「电脑」!?- X. ^# c8 D! r, o$ Y
31.png
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。& ~5 v. C# T" x
毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。' r& @: {, O) O( b
他给电子开发了一套完整的、多层次的开放SDK。
( I" f4 ~7 x) F+ k; R7 J
32.png
最上层是Electron Studio,属于纯图形化的交互。
  A# N- K; F9 C' H
) {5 m' M  s8 J3 J' H

* V& t. r" N+ \3 O3 p如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。
( N$ Z9 e. C$ e" _: ?2 W% o/ G
! P* ~/ E" N9 E  a+ X

' g5 l( t! d0 n如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。* [6 \; E3 R! e- D2 b) r0 H  ^) |' K) Z

4 K1 u- z( P" R; Q, y
* a2 O: v. l( G
对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。6 T) L4 m  b8 g5 \5 z
1 N, l) u" V" B/ c5 \5 J

& Y7 W8 M3 X2 Q% J3 x利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。
: J3 H  w; i6 Z* L1 t5 E7 v! q, G
33.gif
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。
, q0 ^$ j/ c# o- o
) J" `+ {  [! E  S% o- R' ?; ]
8 k9 n2 `9 t. Z
最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。
  k& ]5 z9 O' G2 Y* o: k5 l
. |; I2 f2 w7 s7 C' ]

/ ?( {1 z- v2 Y如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。
  u- M5 g, \- k( d* D! q
34.gif
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。
& r- d# r5 M3 J, Q3 V最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。
" r3 Z3 `. s% [1 W/ D
35.gif
代码开源
! f9 L0 V3 m$ _1 _- ]9 |0 H! s; G视频末,稚晖君附上了软硬件开源地址:
+ G+ ^+ x0 H. P$ Ehttps://github.com/peng-zhihui/ElectronBot7 |" S+ R: \, o2 r
才刚刚发布没几个小时,都已经有90个star,还有6个fork了。+ v. i2 o% O' C1 o* [
不得不说,天才少年的实力太强了。
# f- j3 L2 F) b, t4 V
36.jpg
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。
& W( a' P, T$ E0 h
37.jpg
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。1 \6 n+ E4 O1 H# ^3 M  u
收藏 评论0 发布时间:2022-3-15 13:36

举报

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