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

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

[复制链接]
STMCU-管管 发布时间:2022-3-15 13:36
【天才设计】华为天才少年稚晖君自制电脑配件——硬萌机器人
8 V; Y9 F, u) A/ X# U

0 e' V- X8 x/ x/ e# _失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。3 ]: h6 L# _- f; j0 S
0 R3 Z. d- o3 h/ }- Q
还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?
+ l: ^/ \# T% q; b- X0 O; [- S
21.gif
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!* [  o) F$ |7 U! F+ X
22.png
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。
7 O  P: x" W+ [+ a  O& E- M4 i. }4 v5 ^+ s( _5 I
这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。
* Y) D! L9 O! n/ Q( G) `" R" }  @- ?. n  \
不如先看看整体效果如何?
) E1 s- b* }: g9 o0 _' c/ _, Z9 u
23.gif
「电子」机器人如何造?
5 g( q! k4 ?$ u2 @. D5 ]% G% u
9 n. B6 }/ e" p7 ?5 c在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」
8 a$ T' P2 t- W9 w7 i# K3 X1 y9 p) T4 S8 ~$ }- u* Q- q& V
众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。
( e! X( |% `0 R  Q$ T
24.png
灵光乍现,稚晖君的DNA动了。
+ y  D6 F/ z: m% ^$ u, I" M  p7 l3 M" |" r" a& T4 K2 \, D
简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。
0 K& w- B- Y3 L3 Z) J% |& F0 m& C4 ?( ?5 q' L
他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。& v/ o7 r* J1 p" ^
25.gif
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。0 ~  P, m. i2 y0 k6 G" ^; J

/ V0 b2 {1 w  q! T. i1 U/ ?4 \他打算自己设计一台桌面型的迷你机器人。4 a8 t. X% G  h: e

3 i- S4 K) g9 M, G3 q2 I% j上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」
6 ~$ r0 I+ Q3 J' z. t# E- x8 R
26.gif
他想设计一款无需充电、随时待机、有强大计算能力的机器人。. H8 b* y3 e' B2 a
0 f; y: u$ H/ |
他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。
# _1 q3 ?0 r3 b7 J% g( A" h0 Z
) ^) {& w3 R; c3 D6 ^9 I' Y  c/ N有这等好事,机器人听了都直点头。2 ~' T6 G1 H, g( Y2 ?# K+ u/ Z

; X' {: L& K" g5 y因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。
/ G& _' W& }& U- M2 q2 v1 q' s
27.gif
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。
4 T# J# z; l8 a$ I3 o
9 a4 b; G8 r+ r) G0 a8 ~. y% \# [而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。  k4 s; q7 P. P# b
- E+ K' S" @. c: s/ Z% o' `
他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。  n) a* n1 C! u' x# y/ c
" R4 q, _4 q1 g& v
同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。6 e7 N+ @+ G4 m; j$ b
: e9 F7 {. [( E' ]5 Y' f9 W# g
为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。& G1 Z. M* k) p+ B1 `

" S2 h7 V' U$ P, `" E" r3 g: ~* x& e

/ s- G8 }6 |- g手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。6 }5 O3 B; n- |# e) o
28.gif
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。7 L0 K# d! o( Y6 ~! q. ]
- R) R: L' h5 [. Q4 h0 k
而机器人的底座则使用铝CNC进行加工。) j3 N' Z( t+ u* i5 C) S
/ d8 e7 S  c7 F

  r$ Y% X; e3 ]: o& L% `下一步,就该到电路设计环节了。
; i8 [4 M* x# J* |) h- f0 \
# E0 b9 v) Y8 f) K. A& [! E
3 l6 S6 {2 c# r' t5 I. Q
稚晖君使用了Cortex-M4内核MCU——STM32F4。用于驱动屏幕和控制舵机以及USB通信。8 N/ a8 }. R+ O* `

9 ~  {9 }, }8 f
0 L0 [6 M" u! \6 J' ~3 n0 T. Q* Q
由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。- U- L. Q8 @9 ~$ ^0 M6 {2 p: a& d
29.gif
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。
% D/ s  H/ g6 h; l7 R4 {% N% @% @) g9 I2 N( ~$ S' Y) E

& _' d9 q  Q6 F4 \/ j主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。
- E5 k2 ~; T7 n+ G' z- [5 I5 E- k7 S* M. H* s

, L" f7 Z; C0 S# ^" a  j机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。2 f) O  H; O: S& f$ g+ D6 ]
4 K. O9 Q" k  q% l, W
8 M4 h2 c6 t6 \) Q9 d  D. d
还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。% I) V7 A9 D3 e+ p

* J# y) H; [) u  v
6 X: U" ]& E0 g, P/ w
这就有问题了。
, Y$ e" g& O  \" g/ s
! P3 _4 j+ ^7 r# f2 K
* F9 x* Z, Q8 {! ?; Q# A0 J# @0 l$ H& _
在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。/ M' h6 H0 q3 @; _! @7 A, S* `

0 x0 e5 n% N! G- I) `- Z& J/ I7 b7 z

( a- d. o. ?) d7 l. M! J传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。
; z( H& m. m( z& }
0 F, t6 m- E7 ~* r$ J

" S* M2 O# H) S2 f这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。6 |4 K7 w: s: `1 L. C% n+ C

7 ]7 d* Q. ^  [3 `6 b

( d  l8 c0 m& ]! q4 J; Z( A这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。* @1 q6 \* x6 m7 [$ a5 @
到这里,所有的硬件该有的都有了,也就该组装了。1 F) s4 n6 W6 A$ B
30.gif
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。
) c+ d# G3 A5 ~6 ]7 u1 k. e  J整个组装过程一般人真搞不定。
& v) f! t0 g( h1 |9 R+ B稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。
; K! f! l7 n; P! E$ J3 Y; g6 K换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...
; l, }; q; x; @+ p$ u; F2 v+ ^「电脑」!?6 k: P2 g* w4 v! q3 t
31.png
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。
# L4 Y# C+ g& V) j  H" \) |毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。. I$ V, f/ V9 f( r5 U% |
他给电子开发了一套完整的、多层次的开放SDK。' [% \% Q* v2 Q/ @6 P/ `8 v
32.png
最上层是Electron Studio,属于纯图形化的交互。5 ^& _  v" S% C  Z9 e
! i( A9 w% V# s0 K

0 W- V1 x( d- F, S/ T* r1 A  o如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。
$ P7 m# y! u0 p  S! K! r
' l8 h) L2 @/ m

8 h9 g1 R' R8 d' t/ \+ u4 a( h9 i如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。. S/ }7 A" v1 w- ]3 K& E9 B

) Y8 I2 H/ h' A4 U1 {; X

/ a+ G+ k% b: O  c! R对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。
3 h' {+ n! }  V# M3 a
3 M( o; |) o1 W4 u" {( L+ C. K
5 m( v1 Z5 A4 Z/ a, i1 q
利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。
! X! P+ b$ U& ^$ @, w
33.gif
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。
' Q' t% x3 \+ n$ s. I6 D
/ W0 S/ P- F6 ?+ s
( T- F  F4 i8 y4 h5 Z; V
最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。0 B$ z: Y: R* ]# F8 i
% k- m' _! T+ A

. {* s& ?6 [& m4 M/ ?如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。
& @3 O1 M0 j+ ]: l
34.gif
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。; V+ Z- K7 A- Q  ]8 O9 ?: u* v
最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。# n. x7 w8 d  K3 g- L
35.gif
代码开源+ K+ Q: {) V* Z- h( n$ f
视频末,稚晖君附上了软硬件开源地址:
% {# q( ~1 o' W  ihttps://github.com/peng-zhihui/ElectronBot. H  g7 r% [! {+ z7 l2 C  k9 q4 C
才刚刚发布没几个小时,都已经有90个star,还有6个fork了。2 o8 ~+ I% ~  l% Q6 }( q+ s
不得不说,天才少年的实力太强了。0 h7 r) V$ V$ j  }. G" G- R
36.jpg
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。# U* A2 Q) D+ n8 Z% ~7 @
37.jpg
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。& A6 m" i0 O' \+ d$ {4 R
赞 收藏 评论0 发布时间:2022-3-15 13:36

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版