跳转到主要内容

Are you ready?打开Curie Neurons王国的正确姿势

editor 提交于

<br>看过了之前这么多的CurieNuerons的介绍,是不是还不知道怎么用?下面,我们来告诉大家打开瑰丽多彩的CurieNuerons王国的正确姿势!</br>

1、准备好一个 Arduino/Genuino 101 和一个方口的USB数据线。

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5617-111.jp…; alt="" width="600"></center>

<br>2、将你的Arduino/Genuino 101 连接至电脑。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5618-222.jp…; alt="" width="600"></center>

<br>3、下载并安装Arduino IDE</br>

ArduinoIDE 下载地址:https://www.arduino.cc/en/Main/Software

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5619-3.jpg&…; alt="" width="600"></center>

<br>使用浏览器打开下载地址,并根据你所使用的系统版本下载安装包。</br>

点击下载链接后会跳转至“捐助页面”

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5620-4.jpg&…; alt="" width="600"></center>

<br>这里你可以选择进行一定金额的捐助,或者点击“JUSTDOWNLOAD”直接下载。</br>

下载完成后运行安装程序,根据提示进行安装。

4、在“开发板管理器”中安装 Arduino/Genuino 101的支持。

打开ArduinoIDE

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5621-5.jpg&…; alt="" width="600"></center>

<br>在菜单栏中依次点击“工具→开发板→开发板管理器”</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5622-6.jpg&…; alt="" width="600"></center>

<br>在输入框里输入“intel”,并找到“Intel Curie Boards by Intel”点击安装。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5623-7.jpg&…; alt="" width="600"></center>

<br>如果出现下载失败的话,可以参照下面链接中的教程进行离线安装。</br>

Arduino/Genuino 101离线安装教程:http://www.arduino.cn/thread-19423-1-1.html

Windows系统下在安装过程中会跳出一些提示框,请全部点击“允许”或“始终安装此驱动软件”

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5624-8.jpg&…; alt="" width="600"></center>

<br>PS:这里的离线安装教程暂时只适用于Windows系统。</br>

5、下载并安装“免费版 CurieNeurons ”

打开GENERAL VISION官网的下载地址:http://www.general-vision.com/products/tools/

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5625-91.jpg…; alt="" width="600"></center>

<br>在左侧填入你的姓名和邮箱,点击“Suscribe”按钮,随后下会发送到你邮箱。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5626-10.jpg…; alt="" width="600"></center>

<br>点击邮件中的“Yes,subscribe me to this list.”会确认订阅并跳转到下载页面。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5627-11.jpg…; alt="" width="600"></center>

<br>点击“DownloadNow”即可开始下载。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5628-12.jpg…; alt="" width="600"></center>

<br>下载下来的文件是名为“CurieNeurons.zip”的压缩文件,在MacOS X系统下有可能会自动解压为一个名为“CurieNeurons”文件夹。</br>

接下来我们打开ArduinoIDE,来安装这个CurieNeurons。

在菜单栏中依次点击“项目→加载库→添加一个.ZIP库…”

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5629-13.jpg…; alt="" width="600"></center>

<br>找到刚刚下载的“CurieNeurons.zip“压缩文件,或“CurieNeurons”文件夹。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5630-14.jpg…; alt="" width="600"></center>

<br>点击“打开”按钮。此时对话框消失,ArduinoIDE的主界面会显示“库已经加入”。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5631-15.jpg…; alt="" width="600"></center>

<br>6、上传“CurieNeurons_andIMU”示例程序。</br>

这个示例主要是用来带我们体验如果根据Curie自带的混合传感器(加速度计和陀螺仪)所采集的数据,进行对Curie当前运动状态和姿态的训练和识别。

在菜单栏中依次点击“文件→示例→CurieNeurons→CurieNeurons_andIMU”

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5632-16.jpg…; alt="" width="600"></center>

<br>打开后示例代码会在弹出在新的窗口。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5633-17.jpg…; alt="" width="600"></center>

<br>不过现在还不能使用,需要对代码做一些修改。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5634-18.jpg…; alt="" width="600"></center>

<br>由于我们使用的是免费版的CurieNeurons,所以需要把这里的代码修改为:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5635-19.jpg…; alt="" width="600"></center>

<br>再找到下面这行代码:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5636-20.jpg…; alt="" width="600"></center>

<br>然后把这里的代码注释掉:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5637-21.jpg…; alt="" width="600"></center>

<br>最后在确认一下,你的开发板和端口都选择的是 “Arduino/Genuino101”。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5638-22.jpg…; alt="" width="600"></center>

<br>然后点击“√”按钮,上传程序到Arduino/Genuino 101</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5639-23.jpg…; alt="" width="600"></center>

<br>随后会进入上传状态,上传成功后会显示如下状态:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5640-24.jpg…; alt="" width="600"></center>

<br>这样就上传成功了。</br>

7、体验“CurieNeurons_andIMU”示例程序

程序上传完成后,在菜单栏中依次点击“工具→串口监视器”。

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5641-25.jpg…; alt="" width="600"></center>

<br>这里会显示板中程序的加载信息,并可以对Arduino/Genuino101发送指令,在发送指令之前,我们需要将结束符设置为换行符:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5642-26.jpg…; alt="" width="600"></center>

<br>我们设置好后可以根据向导来对Arduino/Genuino 101进行训练和实时查看识别结果。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5643-27.jpg…; alt="" width="600"></center>

<br>这里是CurieNeurons_andIMU建议我们训练的三种模式:</br>

输入“1”并按下回车或点击“发送”按钮,来训练开发板识别开发板的垂直状态;

输入“2”并按下回车或点击“发送”按钮,来训练开发板识别开发板的水平状态;

输入“0”并按下回车或点击“发送”按钮,来训练开发板识别开发板的任何其他动作或状态;

Motionunknown是开发板开始的第一次运动识别,因为还没有进行训练,所以是未知。

为了方便放置,我们先为开发板加上一个扩展板,如果你手边没有扩展板可以找些其他的东西来固定开发板。

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5644-28.jpg…; alt="" width="600"></center>

<br>我们先把开发板竖直放置:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5645-29.jpg…; alt="" width="600"></center>

<br>然后在“串口监视器”界面的输入框中输入“1”,并按下回车或点击“发送”按钮:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5646-30.jpg…; alt="" width="600"></center>
<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5647-31.jpg…; alt="" width="600"></center>

<br>这里“Learning motion category 1”表示开发板已经学习并记下了当前的状态。学习结束后自动进行了当前状态的识别,这里我们看到他已经识别出当前的状态为“#1”,也是就竖直的状态。</br>

那么竖直还有其他几种方式:

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5648-32.jpg…; alt="" width="600"></center>

<br>我们一对这几种状态进行多次学习,建议每种状态训练两次以上。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5649-33.jpg…; alt="" width="600"></center>

<br>可以看到,每次的学习新的状态或动作的时候,Neurons的数量都会增加,这代表着所使用的硬件神经元数量随着你训练的动作复杂度增加而增加。</br>

那么这里我们已经给开发板训练了三种垂直状态,我来看看效果,把开发板在下面三种状态之间循环摆放试试:

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5650-34.jpg…; alt="" width="600"></center>

<br>我们可以在“串口监视器”中看到识别效果:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5651-35.jpg…; alt="" width="600"></center>

<br>“串口监视器”每个动作的识别都是在一瞬间完成的。</br>

我们再把开发摆放到水平状态,来训练开发板进行水平状态的识别:

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5652-36.jpg…; alt="" width="600"></center>

<br>我们可以把开发板分别放置为以上两种水平状态,在“串口监视器”界面中输入“2”并按下回车或“发送”按钮。建议每个状态至少训练两次。</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5653-37.jpg…; alt="" width="600"></center>

<br>学习完成后我在水平和竖直状态中进行随机摆放试试:</br>

<center><img src="http://intel.eetrend.com/files/2016-07/wen_zhang_/100001937-5654-38.jpg…; alt="" width="600"></center>

<br>可以看到每次的识别速度都是瞬间识别的~</br>

垂直和水平这两个都只是简单的状态识别,接下来我们来做点复杂的运动状态识别。

因为人手的会有一定幅度的晃动和不稳定性,所以我们在体验环节采用较为稳定的方法进行试验。但在实际项目应用中,可能需要多次训练来提高准确性。

文章来源:<a href="http://www.makercollider.com/activity/detail?id=76"&gt;创客大爆炸