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

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

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

; h# X2 a  A7 ]

3 u) W$ H, [3 G1 L* _6 F6 m+ Y% J  u% r失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。
6 h! r1 e& x2 `/ z* t- l+ S4 e1 x0 ]( b1 c4 a2 n$ l
还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?
$ C$ ?7 L: p2 O# M
21.gif
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!
  x( D+ l7 o  A6 h$ h$ p# G' ]8 R
22.png
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。
/ ?( ^* V* r4 g% K7 z+ p
6 R9 s8 w0 ]# S6 x; a8 m! o$ E这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。6 p4 i# ]% T! P
$ ^; g$ k1 p7 [: T/ w" A
不如先看看整体效果如何?' w5 |! J8 r; q0 i
23.gif
「电子」机器人如何造?# q3 n$ O2 r3 g
/ K$ |$ O  x# L: E) ?0 a/ q
在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」8 Y( B* m% u! A& v' V% Q
) T7 Z$ `' n6 G: Z, _. R' f
众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。) u# d1 J3 y1 s! u
24.png
灵光乍现,稚晖君的DNA动了。/ T# p/ r# {0 S5 ~" x9 K* J" Y
  [$ |! B0 q$ \& R& s* M
简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。4 c6 S2 Q2 j4 V+ Z. G2 C+ }0 H  X
% k( L9 I* v4 ^9 l3 ?, e" i( T
他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。) x3 ^: s  |2 I% P1 M, S
25.gif
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。# g0 b) m* N7 M- v) K- c. j

3 [$ S) g. k) f% [: B* h* f他打算自己设计一台桌面型的迷你机器人。
, R. q$ t6 Y' x% @) s/ N  ]  \) f7 P2 v- w! ^. q6 l
上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」
. D4 Y/ C  p/ R! s
26.gif
他想设计一款无需充电、随时待机、有强大计算能力的机器人。
, X$ ]: [& @  ?! i1 i$ v- t. j8 _  ?( r0 ?1 X2 B6 y
他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。
1 v) f8 g* `: V, k8 B3 q  t
$ Y* x% ]1 I/ @! ]4 j有这等好事,机器人听了都直点头。
" ^$ a4 C: B, k) h3 H4 V! Q
$ z$ l: `! j* e5 V$ T% `  p" q) ]因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。. |% L) k! n( s9 D  A
27.gif
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。1 s( Y% P0 a# V& @/ H6 z% u0 j
) j  j7 J# O, T
而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。
4 C* M6 O; J+ d
! e* ]3 }8 y6 o他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。! [) N" L) S! [0 Q

" G+ O* S$ ^( Y  L1 b, S同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。
* s- \6 @* I! N1 f6 A) @
) L2 a) P1 c4 b7 l' H为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。
6 j5 b' s7 T0 Z* C2 \0 T
% h; [0 T$ O# L

& l. n! o& c% @4 ]8 z: t: U手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。
1 r6 L" D- e' J# \
28.gif
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。+ r; n4 E1 E6 s& A* B2 N5 t5 n0 t

+ K, x& P5 Z  ?3 V2 h- t( b而机器人的底座则使用铝CNC进行加工。
/ t' a1 _8 G& E, W7 `+ z5 }7 u% D* s# z3 Q! N( y& ^! Q
+ e5 J4 T* x! }
下一步,就该到电路设计环节了。
; Z  o7 e! \( C7 |! g# \
6 ]" s9 G) O4 W% p9 p0 ~

- f- L$ G0 l: E稚晖君使用了Cortex-M4内核MCU——STM32F4。用于驱动屏幕和控制舵机以及USB通信。
7 M( F; C$ a. }# Q
5 J( g* U3 L8 g( q

+ c  }! G% A% W' z由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。% |; S7 Q) K4 S0 }& I# E
29.gif
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。" S8 A9 C. Z8 Q6 N
' W1 C4 `* O7 U! w# L

, ]) a" N; m% z6 r& r主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。+ l7 V% ^; ?/ |( x

$ J! Q- h& c, c9 b6 ^/ I0 K+ e
; L2 {- J* Q, e) r" [
机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。
, P( N1 `. u$ t: R+ P. h4 W/ M' v5 B* C" O: S
- g* M. l  y( p: X
还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。; D% O8 ^5 C& X1 w. x( ]
8 u7 O8 G% x1 {7 z
) v0 t2 H# n' N3 z4 S2 d7 r
这就有问题了。
' T0 O- A& \9 m- l+ s  ]( I* S" N. `" m+ f/ r, g5 |
1 m# E0 [: E( o4 I; B
在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。; c/ b! y% V; T' ?1 s; E- y
: D' [3 E3 r, x, Q5 D
3 f$ K2 L& f# ~/ r$ O
传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。
* v3 m9 B" T! R$ m" _/ r! D
# Y2 U8 r' h- s

& l9 Q2 Q4 _/ ^9 q% z这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。
# G$ T7 N! n, l- {9 F8 \1 w2 n9 K3 h6 B: Z, t
: a, _4 ?$ D8 r# K/ y& R. g
这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。
' l  d5 @8 E0 X3 g到这里,所有的硬件该有的都有了,也就该组装了。
. ]* v/ \/ M/ x- R) a) Q+ u
30.gif
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。# }9 J" w: z$ W6 h! d0 ^/ q
整个组装过程一般人真搞不定。
0 e  V6 n1 B' R2 o/ n' x稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。
$ M' R4 C6 K. K  {- K. m7 z& x# q换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...0 t' [; p  \6 E: I
「电脑」!?" R$ m+ v+ G- K# I# c
31.png
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。
& ~+ ?) C/ o$ ]* ?/ G毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。2 W3 K; m( S1 p0 U
他给电子开发了一套完整的、多层次的开放SDK。
, \* C. x. {6 v$ d# c" h3 a. ^
32.png
最上层是Electron Studio,属于纯图形化的交互。$ C" ]& N. u; Y# D

7 {; R8 Z- _" D1 X6 x' F' j
8 n0 T2 t! W/ d# p! y- ~
如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。1 H3 O0 V  E6 a8 \1 |
/ d" ~0 g+ k. y

5 {5 d, Y9 E/ x如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。
: U& y; P- K& z7 r
; [' k% |* h) o, `4 m' }

3 w5 i; C7 v! m7 \5 e; v. h对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。
- L% v$ O8 K/ J: j/ |" O; `& S3 Y
: X5 S) [+ C6 \  x0 j
2 x- A1 \% D( z% @& J6 W
利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。* w& A* e  r# g+ z' O
33.gif
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。. ~+ T2 l  N6 F4 k1 O& [" a
6 `: U  w- E! [, s/ V5 h

1 a; T! x9 E  w4 I最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。
/ V  N  W$ J0 u$ `, [6 l' A/ s# `1 w! E) u0 G( |5 ~, _' P; J
5 }$ v' r1 ]2 s% o1 p7 N3 w
如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。
0 L$ t! a: E) g; ]2 H0 j1 W( L
34.gif
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。
1 Y0 V8 g' C* ~7 |! T0 q最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。
2 i' S$ h, @  m3 u% `
35.gif
代码开源2 Y: _3 _$ ~" x* q
视频末,稚晖君附上了软硬件开源地址:
. D; w# D2 y  o. i  M# ^9 ^https://github.com/peng-zhihui/ElectronBot$ W0 n4 n# ~9 v( Y8 [& C' u
才刚刚发布没几个小时,都已经有90个star,还有6个fork了。
8 O# R# [* j% h不得不说,天才少年的实力太强了。
# N5 G; `$ J4 L* T* R/ v
36.jpg
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。
! s; r/ y" _) X) o! l
37.jpg
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。' U+ T* e5 ?6 G! y# ]: l" E7 I1 H
收藏 评论0 发布时间:2022-3-15 13:36

举报

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