找回密码
 立即注册

QQ登录

只需一步,快速开始

本帖最后由 lou 于 2020-4-22 16:18 编辑

Geek专栏:在 Scratch 中玩转机器人:Python、Deep Learning、Posenet and Robot!




今天Geek专栏为大家带来
乐聚机器人王松博士的
“在Scratch 中玩转机器人:
Python、Deep Learning、Posenetand Robot! ”

在Scratch 中玩转机器人:Python、DeepLearning、Posenet and Robot!
所有的边界都被打破了 --《Mindstorms》

开场视频:先打个响指

打响指控制机器人
https://v.qq.com/x/page/g0874rc7rwx.html

Scratch 是一门编程语言,上榜过编程语言 Top 20,实际它是一门少儿编程语言(如果你成年了请先不要急着走)。Scratch基于图形化的编程,通过拖拉搭积木的方式进行编程,整个过程就像是在玩乐高积木,其实 Scratch 项目受到乐高的赞助,乐高与 Scratch 之间可以说是互相影响。

一个正经的程序员,在看到 Scratch 的卡通界面和图形化编程风格时,可能会嗤之以鼻,认为它看上去不像是严肃的编程语言,低龄化或者太简单了。刚开始我对 Scratch 的认知亦是如此。

@wwj718在 Scratch3 上做了大量出色的工作,Scratch3 原本不支持运行 Python,利用 Scratch3 原生的插件拓展机制,采用 Websocket 来传递消息,这就像一个间谍,负责 Scratch 内部与外部的通信。消息源源不断地以话题/订阅的方式在网络中传播,这就让 Scratch 不再受限于浏览器网页中。我终于意识到,Scratch 可以做任何事!

60.png

从上图看出,整个系统可以看做是三个部分:

  • Scratch3:负责 Block 代码生成与运行,通过 websocket 传输消息;
  • Codelab-Adapter:响应 Scratch 消息,Python 插件管理;
  • Python 插件集合:负责连接万物!
按照这样的设计,Scratch获得了 Python 的能力,可以将 Python 丰富的生态和库统统接入 Scratch,比如 TensorFlow、ML、DL,甚至可以是树莓派、灯泡、门锁、空调、机器人、游戏 ...
Bret Victor 在《Kill Math》中说道
理解并预测量化世界的能力不应该只属于那些能够熟练运用抽象数学符号的人。
而现在编程的能力也不应该只掌握在程序员的手上,不是所有人都要去学编程,在 Codelab-Scratch 中,用户可以快速和轻松地使用这些能力。
为了向你证明这一切,下面是我在 Scratch3 中做的一个演示。

人体姿态估计:Posenet
Javascript版 PoseNet 是 TensorFlow 与谷歌创意实验室合作一款机器学习模型,可以在浏览器中实时估计人体姿态。只要电脑或手机有摄像头,就可以直接在网页浏览器中体验这一有趣的技术。Scratch3 也是纯网页端的,所以将 PoseNet 做成插件的话,Scratch 积木块就具有视觉的能力!

61.gif

对PoseNet,@wwj718 已经在Codelab-Scratch3 中接入了,智能硬件接口开放的话,接入 Scratch 中,就可以让原本功能单一的产品很容易地获得视觉能力。我相信这就是为我今天的演示所准备的,做一个 Scratch 版本的机甲猎人!

64.png

接入机器人到 Scratch3

首先硬件设备需要有开放的接口,比如开放的蓝牙协议、串口协议或者 Wi-Fi 协议等,Python 有非常成熟的库可以对这些接口进行调用(不开放也没关系,可以 Hack)。
我已提交Aelos 机器人 Adapter 插件,感兴趣的可以参考我的PR
codelab_adapter_extensions/pull/13
codelab_adapter_extensions/pull/14

手势控制演示

手势控制机器人前后左右翻滚

65.png

翻跟斗演示视频
https://v.qq.com/x/page/q087453zq2i.html

姿态模仿演示

66.png

下面是姿态模仿演示,请大家忽略我羞耻又沙雕的动作,和不协调的肢体
姿态模仿演示视频
https://v.qq.com/x/page/k0874r1m246.html

最后

如果你也对这一块感兴趣,欢迎加入社区一起折腾。
https://www.codelab.club

相关链接


  • Kill-Math
  • Aelos Edu Robot
  • scratch3.codelab.club
  • codelab-adapter-docs.codelab.club
  • Pose Detection in the Browser
  • codelab_adapter_extensions/pull/13
  • codelab_adapter_extensions/pull/14
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册