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

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

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

9 X# y; D: D$ u/ G* J. `+ T& D) n
( q3 c0 T7 d+ {" ]2 E9 T
失踪人口回归了!华为「天才少年」稚晖君这次带来了一个又萌又硬的桌面小机器人ElectronBot。
- x- i$ _9 s8 h
7 Y( z6 Q7 Z$ b+ I2 M还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗?% z! S0 ?: v; \$ ~5 p( l# c
21.gif
近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了!
2 K4 \0 I7 o6 O3 d
22.png
虽然跳票了一段时间,但他还是来了。网友纷纷表示:「失踪人口回归」。5 ]( h/ v, ~) {7 u5 @$ e
2 D% V* s# m( v5 F- r" o/ P( V
这次的项目叫ElectronBot,是个支线项目。稚晖君表示,整体难度不高。& D2 l3 O. y; J4 o. g+ I
+ g2 Y2 g. Q! B" v
不如先看看整体效果如何?- L5 N/ ?' E) E/ W
23.gif
「电子」机器人如何造?
' b8 p2 T6 C: F7 M. E  Y4 |0 s
) |& f% f3 z) m( D$ I在开始项目之前,稚晖君简单介绍了一下选择这个项目的动机。他戏称:「这是一个捡到一个鼠标垫,想配一台电脑的故事。」
) F% c* `3 [3 J6 F
- |7 e) q; z# a( e# N; g  ^/ p众所周知,稚晖君热衷于收集各式各样的「屏幕」。这次,他不知道从哪搞来了一块圆形的LCD屏幕。
9 c- P; K2 [& o, f" `
24.png
灵光乍现,稚晖君的DNA动了。* I& }. B! t, h4 k
, P% S4 _' K- ~4 S3 s# k+ z
简单的手表、挂件已经满足不了他了。他打算做一个新颖的、「又萌又硬」的机器人。
' q: V/ `3 \, `' b0 w
) p5 }6 t$ C% z9 d( x5 f# T# X! g他的灵感一部分来自于早些年很火的「Anki Vector」、丰田推出的对话机器人「Kirobo Mini」、索尼曾经推出的音乐蛋「Rolly」,还有外形酷似阿童木的迷你机器人「Robi」等等。+ l0 G  M( _$ h2 Q
25.gif
但是稚晖君却表示,这些机器人功能太单一,扩展性和开放性还不强。
! h5 E( d  T) m. Q2 J- E9 n( J& h4 Z1 }
他打算自己设计一台桌面型的迷你机器人。
" U! y  }2 Q8 l
4 n/ U, D3 l) L5 _$ k% K上述的迷你机器人,受限于体积等因素,本身计算能力并不强。并且想要实现稍微智能点的交互,还得依赖手机的芯片。稚晖君锐评:「不够优雅,也不够实用。」$ f! J4 i$ m0 J3 t5 V0 w
26.gif
他想设计一款无需充电、随时待机、有强大计算能力的机器人。
" F2 r  @! j9 c1 N- E3 c: r* o1 v! O1 g$ P2 O2 U
他想到了一个办法,就是把这台机器人设计成一台电脑的配件。那么就可以获得电脑上的应用程序、拥有其强大的算力、还能时刻连着USB充着电。
! x  P. W$ C2 g3 e, ]8 y% `0 p2 |1 {7 G  L" k0 q( B* _1 c3 Z% @
有这等好事,机器人听了都直点头。" z2 F7 ?' @- ~9 r; O, \" |
6 u  B0 y: ~! s
因为LCD屏幕是圆形的,一台圆润可爱科幻风的机器人原型就新鲜出炉了。. k  V7 k0 G$ o: d  @, Q) S$ X
27.gif
稚晖君表示,这是他第一次尝试用T-Spline曲面建模。成品机器人双臂可动,有两个自由度,身体和头部各有一个自由度。, A/ {- U% k+ j" K' V5 d
' L3 W. m/ z: Y
而且稚晖君这人能处,有6个舵机他真塞。这可不简单,机身这么小,稚晖君想了很多有创意的传动方案。
3 s/ F; c. x# O7 B  u' i
, D- S' R+ l9 J* U8 G) f他希望机器人的手臂可以同时前后和左右旋转,而手臂的位置不足以塞下一个舵机,因此只能把舵机都装到肚子里去。
& T. e2 J8 h1 u3 B9 m: D
# n+ a- ^+ e( I同时,稚晖君还希望手臂的两个角度可以进行反驱,所以弹簧扭簧这种东西就只能pass了。
' n1 k/ ~* z& k8 H& C$ m( L5 H! }9 d7 r5 F, m, M
为了解决在狭小的机身中把动力从舵机传递到手臂,还要能实现动力双向传递的问题,他设计了一种独特的结构。4 V9 @0 s* M1 h( _) b/ ~

: W2 Q& P" d" V% f, O6 F3 e. H

* j% e# q1 ?  h0 Y! f手臂前后的运动由一个舵机通过齿轮啮合进行传动,而另一个正交方向的运动,则由另一个舵机,通过T型推杆进行传动。) H0 b9 E* ~0 d
28.gif
这机器人别看小,肚子里一点空间都没浪费,被稚晖君塞的满满的。真是强迫症的福音啊。
# E1 d1 Y3 S% T2 Z- J' g5 P8 i9 @7 Q
, |% {" Y0 j* b; i7 u而机器人的底座则使用铝CNC进行加工。, E/ j) I0 }% t% [* F, \$ F* L6 N

5 c) [+ o- R/ m# A' `7 Z( _. d' A

0 B$ K% |# I& z5 L下一步,就该到电路设计环节了。; I1 t- u- V  Q9 m2 H- g6 L
6 T; k  M' y, J( z# n; b
+ q0 g$ F: O# k. h' Q5 @5 W- B
稚晖君使用了Cortex-M4内核MCU——STM32F4。用于驱动屏幕和控制舵机以及USB通信。
) {; l3 o7 C9 l! e* Z( e$ j: h* \% n( q8 \

3 D# l( j+ e5 D: d( q+ v- T$ C由于芯片本身的USB功能只支持全速或是低速的USB,稚晖君在电路上添加了高速的USB-PHY芯片,成功将理论通信速率提高到了400Mbps。而最后实际的最高通信速率也有300Mbps。
4 @+ R9 K( m9 H( E! |$ b  N+ m
29.gif
这个速度远高于UART、I^{2}C、SPI等短总线。这也给后续的软件开发提供了更多可能性。' y4 E+ Z0 g9 N5 i% F+ N9 S5 f
9 x+ N. v3 r! Z( m' }0 c: A
$ t  P. u6 d& \7 N  S
主控板的设计相对就比较简单了,两层PCB就搞定了。这样体积就做到了最小,和屏幕的面积保持了一致。$ t! I# w7 p3 t% f
9 a/ @! |2 D$ b2 x
/ c- Q( b+ t2 P
机器人的身体内部也有一个传感器的板子,包括一个摄像头,还有一个红外手势传感器。
1 v: Y& E! B1 r6 [% ?4 T2 C9 Q, y: U1 g/ y
' O4 N4 O) p; S+ a
还有一块驱动板。因为市面上的舵机只能接收pwm信号,进行角度控制。
* `7 b. Y' D8 G. d5 ]+ h3 i+ G" {: Q' Y% w

+ x4 f' j5 g# q这就有问题了。
* {$ Q, Q3 y( B/ L. {! L. d/ I8 j! w& k
6 Q1 _# I6 L& V  u& g; w/ |7 X
在这种情况下我们只能发送指令,让舵机运动,却不能接收指令,从而知道它的运动状态。同时,想要让舵机进行反驱,就必须能让舵机随时进行输出力矩的切换。8 S; D7 {) i7 x# M4 L- J' ?7 g8 @
# D0 B# l+ \& Z1 R. ^, ^% N
& {8 M( g6 U) z7 u9 H; @0 p$ X
传统舵机虽然做不到这一点,却难不倒心灵手巧智商高的稚晖君。他对市面上的传统3g舵机魔改了一通,设计了一个迷你的舵机驱动器。
% h, c" Z  [# T' n
) _( C  R* H4 f/ s  H8 D
* k8 c) |- ?2 O$ g1 j4 @9 t
这个小驱动器支持I^{2}C总线通信,PID闭环控制,位置回传,还能设置最大的输出力矩,断电储存参数等等。/ l5 @: j5 t0 H8 I' V9 O6 N9 j
  D$ v+ P& I) G  l! o- U- E! O
) S* N( ~8 K; x! V! L: O4 L9 V* H
这样一来,原本6个普普通通的舵机,被稚晖君巧手一点,就成了6个热乎乎的智能舵机。: ^% T, p' M2 M% F
到这里,所有的硬件该有的都有了,也就该组装了。  d# p4 k6 J8 q: _. M
30.gif
看完稚晖君的组装过程,小编不得不感叹一句,谁说理工男是直男,只是他没对你细腻而已。6 l- G% f# r' a* M5 |  a/ F7 F6 [& F3 h
整个组装过程一般人真搞不定。! ?& {: l: ~( R- G
稚晖君给自己设计的小机器人起名叫Electron(电子)。Electron通过USB线和计算机相连,作为计算机的配件。
# o! D( J2 F! V# B换句话说,机器人叫「电子」,那通过USB连接的计算机就是「电子」的「脑子」,简称...
9 G; V* [; G7 U0 d, H) N6 v「电脑」!?
" N+ N, i: g7 g
31.png
如果只是将其当成一个播放器的话,这个机器人和之前提到的那些没有太大区别。
6 z% ?  G- j$ g: t毕竟,稚晖君设计它的初心就是想把它作为一个工具机器人兼电脑配件,让其能发挥一些更加实用的功能。
0 j. c( a( h' r) y( \他给电子开发了一套完整的、多层次的开放SDK。) L- U: `7 h, P% v8 P# f
32.png
最上层是Electron Studio,属于纯图形化的交互。
+ a) }% r) l/ d
" ^6 Y1 M& X- n. Y- N! b

. |* r* M3 b/ }* Z; m如果想用自己写的程序控制电子的话,稚晖君还提供了Electron Player库。只通过及其简单的代码,便可链接和控制机器人,还可以设置播放内容。$ i% B: V0 {  d8 x
* g8 c) H0 j4 U2 L

  a/ x$ n: _1 x9 B5 _' H, Y如果还想以更硬核的方式进行二次开发,稚晖君还提供了更底层的Electron LowLevel库。+ F8 U$ d0 U4 Z% h7 u0 \

: S4 B" t! M# P& z, m' l

2 h6 @# F& c& U- Z! L/ l3 J% L对此,稚晖君还做了一个范例,通过调节机器人右手实现控制电脑音量和亮度。' {/ q8 o" [" }& Z& Y  d- A  I/ h
5 q7 E! u& K+ p0 Z* Z

+ d9 g8 t8 t+ X$ p4 w$ N$ L- G利用机器人机身搭载的摄像头和红外手持传感器,开发了通过AI算法识别手势的程序。
( \$ S8 Q3 U( h- o. B; D
33.gif
当摆出不同手势类型,就可以打开预先设定好的程序,或者切换桌面。
2 L3 l4 }% o& A* q" s2 ^0 {, i( }8 Z4 G3 ?( X

$ C# c. ]1 {  B# N+ w+ x7 {% g- i  \最有意思的一个应用是,稚晖君基于OpenPose开发了一个程序,用于单目的人体关键点检测。
. |8 U+ g0 ~$ ^3 A* k. k9 v& {
& }" c0 L9 J) d. X  ?

8 Y* J4 H- C) J! V  {如果有2台机器人的话,就可以视频了,而且你还可以通过手势控制机器人运动。+ Q' p3 K; F1 g" f* Y
34.gif
稚晖君还给这个应用起了一个特别的名字「量子纠缠」。# Q+ f2 l/ j8 |3 J0 ^; `( v
最后,稚晖君还顺便给电子做了一个收纳盒,太精巧了。$ _1 J, E, x$ Y: E
35.gif
代码开源
+ K+ O8 g$ J/ M) U& W( S视频末,稚晖君附上了软硬件开源地址:
# G. _6 Y0 ]! L4 F$ X& jhttps://github.com/peng-zhihui/ElectronBot  Q/ H5 c: x" [- o5 E
才刚刚发布没几个小时,都已经有90个star,还有6个fork了。
* q# t1 f6 z& |' B1 U/ Z. ?不得不说,天才少年的实力太强了。
) g( l/ }# B- g8 _) P" R& p
36.jpg
具体使用说明,稚晖君表示自己会稍晚点补充,先补个觉。4 T) l0 v  M7 l$ z* ^
37.jpg
包括此前他做的可以自动驾驶的自行车、机器臂等等,每个项目都会耗费很大精力,再加上稚晖君也有自己的本职工作。
8 y+ I( T& C; ]8 F$ d9 G# R7 Q; _
收藏 评论0 发布时间:2022-3-15 13:36

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版