• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人

欢迎!在我们之前的教程“ 用你的思想控制一个机器人”和 IBM Bluemix 物联网中,我们介绍了 Joshua Carr 使用 Emotiv Insight 耳机用他的思想控制一个星球大战 BB-8 机器人。如果您不相信我,请查看或观看下面的视频。

一些令人惊叹的消费类硬件和 IBM Bluemix 与物联网的集成使这成为可能。

在今天的教程中,我将引导您完成对 IT 咨询专家 Rob Peeren 的采访。他在顶部制作了精选视频,展示了他如何使用臂章和手臂手势来控制 BB-8 以足够准确地踢足球(或某些人所说的无脑震荡足球)。

我们还可能会继续这个关于 IBM Bluemix 和物联网 (IoT) 的系列,并提供有关如何尝试更多自己的项目的具体分步教程。请让我们知道您希望在未来看到更多关于哪些类型的 IoT 主题。 

与往常一样,请在下面的评论中分享您的想法和反馈,或直接在 Twitter  @reifman上与我联系。您还可以通过 @robobob或通过 @IBMCloud 联系Rob Peeren。

臂章控制器组件

以下是Peeren臂章示范的元素:

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第1张

  • Myo 手势控制臂章

  • 蓝色Raspberry Pi 从臂章接收输入并将其发送到 Bluemix 云(未图示)

  • 银色 Raspberry Pi ,通过低功耗蓝牙 将数据从 Bluemix 传输到 BB-8

  • Sphero 星球大战 BB-8 机器人

  • 未显示高尔夫球和达斯维德(可能在他们的明星预告片中闲逛)

您可以以 199 美元的价格购买黑色或白色的 Myo 臂章:

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第2张

这里有一些关于 Myo Armband 的介绍视频,观看起来很有趣,尤其是如果您以前没有看过它。 

当然, 这里又是 BB-8 以及它是如何形成的:


构建应用程序

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第3张

现在,让我们深入了解 Peeren 如何使用IBM Bluemix Internet of Things构建演示。在今天的节目中,我将概述我对 Peeren 的采访。有可能在不久的将来我们会一步一步地一起做——如果你对此感兴趣,请在下面的评论中告诉我们!

下面的屏幕截图显示了 Bluemix 如何与设备和 IoT 一起工作:


使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第4张

这是 Peeren 视频中 Bluemix 和每个 Raspberry Pi 之间发生的事情的高级架构图(在此处了解有关 MQTT的更多信息):

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第5张

设置 Bluemix 应用程序

由于我不会逐步指导您完成应用程序设置,因此您可能会对 IBM 设计主管 Tarun Gangwani 提供的 Bluemix 应用程序 UX 之旅感兴趣:

基本上,您可以从任何 Bluemix 样板(包括Internet of Things Platform Starter)创建应用程序。

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第6张

这是 Peeren 的物联网仪表板,其中包括 nodeJS 的SDK和他用来从 Myo 臂章接收数据并将其发送到 BB-8 的物联网平台:

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第7张

根据您的动作校准臂章

Peeren 建议您在校准后使用 Myo 臂章进行练习。这是一个来自创建 Myo Armband 的自定义校准的视频, 它显示了它是如何工作的(另请参阅Myo armband 实际上可以做什么):

基本上,你用几个简单的手势来校准它,然后练习你的动作,这样它就可以捕捉到你的意图。Peeren 在视频中使用了以下手势:

  • 挥手向左转

  • 挥手向右转

  • 拳头让它停止

  • 张开手指让它去

  • 举起你的手臂旋转 180 度(托尼霍克会很自豪然后说,“在半空中做机器人!”)

正如 Carr 花费数小时来训练 Emotiv Insight 一样,Peeren 说使用 Myo 需要练习。控制系统还不是完全自动化的——你不能只是戴上头盔就可以准确地驾驶直升机(很抱歉让你们动作电影作家失望了。)

将 Armband 遥测数据发送到 Bluemix

正如我上面提到的,蓝色的 Raspberry Pi 从臂章接收输入并将其发送到 Bluemix 云。它通过运行 python 代码和MQTT与 Bluemix 通信来实现这一点。

本质上,Myo Armband 通过蓝牙将遥测数据发送到 Raspberry Pi 上的蓝牙适配器。然后,Python 代码获取遥测数据并将其发送到云中的 Bluemix。所有数据都以 JSON 有效负载的形式出现。

下面是 Peeren 的 Python 代码截图:

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第8张

如果您想深入研究该领域,我建议您查看Thalmic Labs 开发人员门户 及其 非官方库页面。您还可以查看有关指导 Raspberry Pi 轮式机器人的 Myo 臂章的相关视频(它有很棒的配乐):

在 Bluemix 中,可以使用 Node-RED 可视化编辑器转换数据。我们需要将传入的 Myo 手势转换为 BB-8 在其驱动程序/语言中可以理解的命令。

例如,armband up 翻译为 BB-8:开始和停止。这是 Peeren 的 Node-RED 翻译流程的屏幕截图:

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第9张

向 BB-8 下达命令

为了从 Bluemix 向机器人获取命令,它们通过 Internet 从 Bluemix 发送到 NodeJS 和银色 Raspberry Pi 上的 Cylon.js SDK。银色 Pi 通过蓝牙向 BB-8 机器人发送命令。

Cylon.js是用于机器人、物理计算和物联网的javascript框架。它使指挥机器人和设备变得异常容易。Sphero 的 BB-8还有一个特定的Cylon.js SDK。另请参阅GitHub 上的 Cylon.js 驱动程序。

这是一些 Peeren 的 Cylon 代码,通过以下方式连接Bluemix via MQTT到 BB8 cylon-sphero-ble:

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第10张

一旦 BB-8 接收到命令,其内部系统就会激活每个命令,从而创建机器人的运动和灯光效果。

关键要点

我问 Peeren 在这项工作中最难的是什么,他回答说:“实际上相当简单。” 他说他只是连接一堆api。 

“我没有在这里建造任何东西。我没有编写任何设备驱动程序或更低级别的代码。我正在使用 API 并通过 MQTT 协议以标准方式连接到 Bluemix。我不需要发明任何东西来让它发挥作用。”

Peeren 想激励我们考虑以更大的方式使用 Bluemix。当然,Bluemix 对 Emotiv Insight 耳机、Myo Armband 和 Raspberry Pi 硬件所做的一切都让我深受启发。令人难以置信的是,这个行业已经走了多远。

十几岁的时候,我尝试了语音信号捕获并梦想着识别。在大学里,我尝试了数位板以及手写识别的工作原理(一个下午晚些时候向Nathan Myhrvold演示 帮助我在 Microsoft 找到了我的第一份工作。)但现在,这大部分都可以通过 Bluemix 和物联网实现。

Peeren 说:“基本管道非常简单。” Bluemix 提供超过 120 种企业就绪服务;“这不仅仅是关于臂章和机器人。” 或者麦克风和语音识别——还有更多。

他建议尝试使用Bluemix 分析引擎来提高手势解释的智能或其视觉识别能力。

当您在 Bluemix 中构建自己的应用程序时,您将所有内容都集中在一个地方。你不必去不同的平台。业务规则、报告规则引擎、  Hadoop等的一个地方。可能性几乎是无穷无尽的。

下一步是什么?

希望您喜欢我们的 IBM Bluemix 物联网视频演示和教程。也许您会受到启发,尝试构建自己的演示。

Peeren 向我提到,Bluemix IoT 最好的部分是没有什么是非常复杂的。他能够通过结合 Bluemix 和第三方供应商提供的构建块来实现他的目标。

IBM 还通过其developerWorks 站点为 Bluemix 提供一系列培训和认证 。以下是一些相关资源:

  • IBM Bluemix 在线课程入门

  • 快速启动应用程序、代码、教程和视频

  • 200 天的 Bluemix

  • Bluemix 论坛

如果您想了解有关 Bluemix 和 IoT 的更多信息,请告诉我们 — 在评论中发帖或通过 Twitter @reifman或 Rob Peeren @robobob 或通过@IBMCloud 与我们联系。如果您构建了一个很酷的物联网设备应用程序,请告诉我们,也许我们会为您编写一个功能!

您可以在我的 Envato Tuts+ 讲师页面上查找我未来的各种教程。我希望您还可以查看我的两个系列 How to Program With Yii2 和 Building Your Startup With php 关于构建 Meeting Planner的内容。

使用手臂手势和IBM Bluemix 物联网控制星球大战BB-8机器人  第11张

如果您想了解有关 IBM Bluemix 和物联网的更多信息,请访问 http://ibm.com/bluemix。

相关链接


文章目录
  • 臂章控制器组件
  • 构建应用程序
    • 设置 Bluemix 应用程序
    • 根据您的动作校准臂章
    • 将 Armband 遥测数据发送到 Bluemix
    • 向 BB-8 下达命令
  • 关键要点
  • 下一步是什么?
  • 相关链接