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

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

[复制链接]
STMCU-管管 发布时间:2022-3-15 13:36
【天才设计】华为天才少年稚晖君自制电脑配件——硬萌机器人
1 ^  l" Z0 s$ H+ |& D9 o# n
# d7 D+ r" k4 q* \. Y
失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。
2 ~' o$ j4 |" h- S. i
* a% ~! H& D& g+ r还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?
: T" f0 [. |1 G! u! H
21.gif
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!
" r0 G6 Y) H, Z+ d$ o
22.png
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。
2 t! N4 D" @- X* ^$ s/ ]3 Z7 R& Y' ]$ q& j& M) a1 ~$ s
这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。* U0 [" N* E( m% |7 U& t

+ h9 b: F! T- v; ~4 S8 H: n不如先看看整体效果如何?
9 E/ m2 c8 M. z3 b
23.gif
「电子」机器人如何造?" g$ A  V1 g- E3 O/ ?; B  R

3 [5 S4 k( b. V  b在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」0 P& I; w1 c0 J1 O) ]

. y( U/ |" F9 K# }9 l众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。2 x" W: R# |1 a1 G; I9 ~) z: r* a
24.png
灵光乍现,稚晖君的DNA动了。7 [6 p' P, s' e% a4 ^! i/ o! }

( e9 f' t: T9 M简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。, `+ _2 a5 ~# q0 C, m- [

  m. `% q+ p& a+ H7 u他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。
, ]; F* G- d9 h1 j* r
25.gif
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。* `7 W, n9 L, U

4 [% D0 B2 r7 X: s0 L8 ^6 ]他打算自己设计一台桌面型的迷你机器人。( H7 B6 k) s7 K4 t$ m
) A, R( `1 r4 o. f! t# v
上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」
# t+ W+ U9 G- J" u+ K; P9 l  {
26.gif
他想设计一款无需充电、随时待机、有强大计算能力的机器人。6 e$ Z* f/ X0 R; i8 r

( B' q$ e' A$ |: ?4 ?: U' j他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。
+ `- r7 L: d3 E8 w6 v/ L5 N( v/ ]& Z8 f# h8 u. ?/ [
有这等好事,机器人听了都直点头。& ]9 j; E& n) w

4 q4 _) \  K9 k, P9 f. n, _因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。
7 b" q9 C- |+ G  L0 A2 B
27.gif
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。/ B! ~" n1 @! c0 i6 u0 e
0 ]- y% o6 v% t* m
而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。$ a: E" k( j* A4 u

# u+ [3 C7 f/ K  T# X2 u他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。% e% n- P0 m7 X; E

# n6 t: g, h+ `" i同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。+ y( E1 g4 Q6 ?! }

( K/ P0 z' a7 ~! x8 L为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。0 t5 r# V5 C3 ]" u% C0 d. O* u
- f! z) n8 i$ x' D4 ?

( }6 j- X( j( G2 N/ u手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。4 V3 x; u' O2 x7 e9 F# F& ~% s+ t
28.gif
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。- K% q- E/ g! E: @9 g
9 f& P# Z& G: _, r- O5 v) b
而机器人的底座则使用铝CNC进行加工。
" v4 ?5 N# |2 p9 v3 \$ ^: H  ]5 [, M' T, s' p! k' e
6 D+ i7 o& a& @7 a! u) k
下一步,就该到电路设计环节了。
! t# w- B1 P; B( F
! x/ l2 \! S/ d) w. o" U

% T1 V7 S/ h+ Z4 E3 s" t稚晖君使用了Cortex-M4内核MCU——STM32F4。用于驱动屏幕和控制舵机以及USB通信。  z# t( V; d# y8 l/ X4 H0 z* h7 {
0 d$ h/ Y0 D, h6 P

$ W; w( l% |+ ^# Q# H; U4 W3 i由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。
# U( Y* `) n5 g3 d  p
29.gif
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。
8 Y+ N4 `3 x  J3 S' h- D  C, p4 h" z1 [" R. r) R/ M
) c( w1 H5 W2 C0 @* n2 g
主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。
5 t1 p, u. P: D& G% X
& O; m/ H: w+ A! w
8 N) S+ u$ d: z6 r& _$ \
机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。" }7 H9 ^  x3 I# {* [: r/ T

% B: X0 _0 _6 J- Z/ G* I

% i! Q! _& Q0 l1 ^( _还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。: p$ Y7 I, |, W3 l0 A* e+ i0 N" N
) _$ D. y* f. q# E, u1 B9 Y
6 i! Q/ J1 r9 I' R- ?
这就有问题了。9 J1 I% B7 s8 i" V2 g" t

7 f+ K# R! W5 \: I* I: [+ k, z$ _  `
7 J% `6 x! @0 K! h
在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。& q" p1 F( c, Y- l& h/ b

' [+ k3 [, g$ f; P/ J
, t8 K4 l0 n% d' b3 M
传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。. B4 {1 o6 ?  Y8 t4 z6 T; U+ m

' d; }& U6 q2 p4 G

8 Q: }! o1 D! b( }- S; Y" q这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。: M! w" a  H4 q+ N$ @9 o4 p: I

8 b% t, X2 o; u3 I, _) f7 y1 V3 Y

  A2 T- ]8 e0 \这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。# K7 u5 P2 K/ [
到这里,所有的硬件该有的都有了,也就该组装了。
  B6 W% y5 [: [0 `. b% t
30.gif
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。
8 M# [& k9 R# e6 o( F整个组装过程一般人真搞不定。
# T# y% m  r( F" z( U+ x7 h/ M: q稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。* q0 d' z4 S# m1 u, u
换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...
  X' p9 O: f: U+ d% c/ R「电脑」!?
. j2 x. T  M0 M9 y3 _1 _( Y
31.png
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。
* R2 n' z4 d: k; V  `7 l$ K% H" e毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。/ d7 ]) q" F6 P$ u. ^" h1 z* U
他给电子开发了一套完整的、多层次的开放SDK。
5 ]/ `: p8 C. w4 J* d
32.png
最上层是Electron Studio,属于纯图形化的交互。) z; C1 V  }. \# O* {1 w2 ~2 U4 H$ ~; }
  w% `! I$ @: v% H: P( p

: B4 ?( G$ U7 ^! {如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。% n  q% U" U- ^. O1 [, c& O
  h: D4 _( `" U
3 Z8 G0 P$ X5 ^8 o
如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。( ^) f1 |! r( F) e& e: {

2 y- I/ }1 W6 G7 ]( p
) o: c7 c! i( W4 t) @- e. s# p- J
对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。
5 @1 W* w8 C( @3 z0 b& t* j; c$ {& ?$ N- q3 l- ~

' U, P- s' i) y; |4 ?( D6 d+ _利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。! S2 x' D! M- `5 R
33.gif
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。+ N% _! V* |$ \
# i) g9 P* |- A* {7 F
- u" Q& |) T6 W) @
最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。
. R) o6 {( Z. C0 h- w6 P* X$ T1 [; W
2 e8 o6 g4 \* q: e& v
" @; d0 p0 G* b8 Z0 o
如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。
5 l, N$ q4 ?+ ~4 t
34.gif
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。
  j+ ~6 T* P7 @最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。5 h8 J% w$ _, e; M* z/ k7 n, L
35.gif
代码开源# q. E: e# ^" F
视频末,稚晖君附上了软硬件开源地址:
( a/ D4 d5 P6 ihttps://github.com/peng-zhihui/ElectronBot! r' Z/ I' e7 A: w2 `5 t: W
才刚刚发布没几个小时,都已经有90个star,还有6个fork了。
& l# r, \7 _2 G4 ~; V  j不得不说,天才少年的实力太强了。
- q! C5 T' C4 E5 b! [
36.jpg
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。* f, i" a; v+ T; j9 s; j: T
37.jpg
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。
  |* Q* U& }- m+ T/ @# [
收藏 评论0 发布时间:2022-3-15 13:36

举报

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