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

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

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

- J; u/ u$ Q/ H# ?! I8 w
; s, ]+ g4 C1 ~2 a" v- n
失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。
2 O9 f. \' h; A4 G4 b2 w2 A, s' @% M% I, L
还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?/ p% l$ p* F) R
21.gif
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!% G$ c1 X: q) W1 D; w8 O- M
22.png
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。
4 U: A/ c; Q. k& j. n' x
/ T" {7 T1 L0 O, ]9 V8 B: [) F. h$ _这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。
% s/ @1 y* Z4 C4 n: X- B: u6 @# p7 b; m: d
不如先看看整体效果如何?
$ S/ w% `/ _- I) I
23.gif
「电子」机器人如何造?2 R6 G, [' `7 o, Z: h3 m/ P/ `
7 R! v" F. k# F( y9 {
在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」
# q: ]( G5 T( o  M6 d. }: O! l0 v4 q, @3 L; j' X# {# X. c
众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。
3 d& I: L! r. s6 k( _
24.png
灵光乍现,稚晖君的DNA动了。! T; e" Q2 ^" [# t% i
9 S. j6 Z0 T/ y7 k, N+ \* d. i$ Y5 I
简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。
) g* s: C" q% U% S7 x& P7 P& a4 N% Y9 l9 P
他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。
1 X  Y8 ^# V8 g/ L8 }9 m; x
25.gif
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。9 U' O: `& P+ a- E; @  p1 L
8 b0 _0 P0 ~# r; V" o4 t9 L
他打算自己设计一台桌面型的迷你机器人。& z# H. M2 N" }& i. u
! ]! A) s& O& s, V6 S' J
上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」
3 a5 o8 @" A9 ?: G* Q
26.gif
他想设计一款无需充电、随时待机、有强大计算能力的机器人。
$ v7 b  ?% ^! K/ E  a8 ]2 f# Z+ N4 E  ]
他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。
4 Z7 L3 n( y! V1 ~4 t# u, P
% f  t9 p. F- S/ |- @; L  E有这等好事,机器人听了都直点头。
* _  H: Q3 U/ a* x, Q3 T' e6 K8 [
因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。8 T- |9 R) E" F* h
27.gif
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。% k% d  F$ ^0 A. g1 y
3 F& H. u' P# P, M& R; M2 A; N# u# e
而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。" u8 k. T1 B* X% ]. m
& f( o% @0 ~! E$ x- h% f2 H% B
他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。
+ p$ A. }1 K( t) U) F$ O* ]) k& m0 A6 |; u- o: S4 v
同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。: r, ]% g, E4 P  G4 ]1 o' _2 E+ l( M
  M  C' G; n& Y
为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。
& U3 ^8 p% T0 n( D  g, x% v: Y: y* N
5 {- \/ d( V, U
手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。5 {+ j8 N" K7 L6 X+ p* b1 z
28.gif
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。
- H8 R" n0 B6 z( Q9 R4 Q1 N
" m7 q0 ^5 f% w. x: S: b- H- s/ h而机器人的底座则使用铝CNC进行加工。4 m% y2 W/ l* A
. R$ f( f" @5 B! r( a! V6 [- a

' k( p  C; T9 q! ?4 z3 s: H下一步,就该到电路设计环节了。. w" g! k+ k* c7 n! }1 R: P1 T& ~

! U1 [, c7 r' h! f
! n1 Q. N! k6 X  S( ]9 \/ l
稚晖君使用了Cortex-M4内核MCU——STM32F4。用于驱动屏幕和控制舵机以及USB通信。8 ]) k7 Z/ d1 I: i! V4 c

) {) F6 X3 J5 ~; j" v% u* ^8 E4 |
7 L4 b6 d4 X3 _3 D% A; h" |, T8 Z5 l" o
由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。
+ t( T+ D5 n1 `2 g* q* ?
29.gif
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。9 U: I5 q* E  B1 D4 e: _8 l

' G4 F8 D+ E! P$ i' ^
! I0 S3 W. u! v1 G3 V. ~7 s$ x
主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。7 j. D4 G7 Z$ V" X3 _
. `% G& D) F1 n' {6 Q9 S

* e6 \2 B3 k, D2 Z机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。+ v) w2 f- z+ t6 Z
+ M- q: S& g# K% j
  ~9 E% Y" }7 [, w7 K1 g$ Y# N/ `
还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。
3 T" X5 h. [5 s
9 H* V: P; }1 K
9 x. o6 g! i" m! J7 z5 S+ E
这就有问题了。
$ I% k# s1 X3 s$ u: d
7 v& p9 ~3 G( P0 x* V
, B( w2 e! ~# j, e& O% V
在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。
( c0 B, `4 Q+ S  y, ~  |
+ d# `9 e7 k0 I( M9 l# N+ z

2 L& ?4 c& [- R6 M" [传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。: L+ ^7 @3 R/ G- Y7 g
+ R1 T! Y1 u5 S* _0 Y
5 B# R  k2 v8 Q6 @0 u1 B+ y$ H% j1 L1 x
这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。
4 K% U" t4 }! x7 o" Q' v$ e! V9 U: z/ Z3 k6 M% e/ @0 R9 Q, t7 |3 i' S

$ `: d1 g; L8 [这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。$ a5 Y1 ?4 ^# t( y. {
到这里,所有的硬件该有的都有了,也就该组装了。! x- I7 h2 {6 ?
30.gif
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。
( u! M6 H9 [* W; w8 K整个组装过程一般人真搞不定。
, S$ R$ N  s, `, @9 ?稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。
  n& f$ `6 i. K* }换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...
, V: Y6 m+ e" @6 k) ~「电脑」!?
; @) }7 u: |1 Q9 |  _8 F0 f
31.png
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。
4 V7 G4 y" A6 m2 G$ y毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。
) w# T2 V, n; U# B5 f  s他给电子开发了一套完整的、多层次的开放SDK。
1 ^9 e: U6 y  ]2 D% q
32.png
最上层是Electron Studio,属于纯图形化的交互。
3 p) {. _3 s( l& F$ g0 b6 M1 V1 g, _0 j7 e9 U

7 j  @0 S) C. j+ |6 P7 U如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。6 h8 m+ Q* n3 x6 M  r; ?# H

0 l; N/ L1 H1 [* ?/ z) i  ?

- v7 M( I$ p& d. x+ e如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。% ~& `7 e9 b3 l3 M' r( g* J
2 W5 a1 m* V$ w
, n7 r! D! X; o. I
对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。
2 |- M0 u/ Z7 F) h+ V5 m7 i8 |; M% V2 M9 A0 r

# E4 S) {2 p5 F# w0 p2 E) n利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。
' D' i5 e! T' e  b- u
33.gif
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。
9 a# [# W7 x/ u
0 M$ ^/ N+ C+ M0 x; l, ^
9 S/ w5 l; b- A+ U/ }
最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。& e9 I: W& r) t: B$ p
! ]; y, |  S0 F1 ~5 r

$ W: K% [/ ]8 \) ?2 b# j9 I如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。
7 B- q6 e- f) G$ O
34.gif
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。
- y# a6 L  V% F& a- H- x0 d$ R& o最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。; b7 o- X. D3 P
35.gif
代码开源
( r8 i2 g; ^: W5 b9 |1 b4 @视频末,稚晖君附上了软硬件开源地址:$ h& Y0 h% u8 }6 ^
https://github.com/peng-zhihui/ElectronBot: ^2 L  Z3 t9 e1 E
才刚刚发布没几个小时,都已经有90个star,还有6个fork了。
+ I1 o: T) [; m6 G不得不说,天才少年的实力太强了。
+ }5 M" b# V. j2 m$ y: `
36.jpg
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。! E2 c' L! c" d3 Y* `; P) C
37.jpg
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。
) U( S% j8 b+ B/ }# Z
收藏 评论0 发布时间:2022-3-15 13:36

举报

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