6980浏览
查看: 6980|回复: 5

[项目] Arduino/Genuino 101 神经网络开发工具 CurieNeurons Tool 入门教程

[复制链接]
本帖最后由 Raspberry_Chen 于 2016-8-24 18:41 编辑

CurieNeurons工具的介绍
为了方便开发者和极客们的对神经元使用, general Vision这家公司提供了CurieNeurons这个工具。
我们将要进行的CurieNeurons_andIMU实验正是这个工具中的一个例程


General Vision 的介绍:
正如大家所知,Arduino101与其他arduino最大的不同之处是arduino 101采用了intel curie 模组。
这个模组采用NeuroMem技术,从而具有强大的学习和识别能力。
而NeuroMem技术正是由General Vision这家公司开发


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

所需材料:
arduino 101 和数据线
dfrobot或其他适配扩展板(可选: 方便固定arduino101,让神经元准确识别相应模式)

准备工作
1. 下载并正确安装arduino IDE和添加对arduino 101 的支持

   参考:http://bbs.makercollider.com/?/article/19

2. 下载并正确安装CurieNeurons免费版

    参考:http://bbs.makercollider.com/?/article/20

操作流程:

参考视频链接:http://v.qq.com/x/page/m0316zbpx77.html?start=2
   
1. 上传“CurieNeurons_andIMU”示例程序到arduino 101
   
    务必在上传前检查端口和开发板
   
   



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











2. 按提示信息等待5s后,打开串口监视器
   


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



CurieNeurons_andIMU建议我们训练的三种模式:
输入“1”并按下回车或点击“发送”按钮,来训练开发板识别开发板的垂直状态;
输入“2”并按下回车或点击“发送”按钮,来训练开发板识别开发板的水平状态;
输入“0”并按下回车或点击“发送”按钮,来训练开发板识别开发板的任何其他动作或状态;
Motion unknown是开发板开始的第一次运动识别,因为还没有进行训练,所以是未知。
为了方便放置,我们先为开发板加上一个扩展板,如果你手边没有扩展板可以找些其他的东西固定开发板



3. 根据串口监视器的示例信息,我们先垂直放好arduino101。
   然后在“串口监视器”界面的输入框中输入“1”,并按下回车或点击“发送”按钮。
   这一步是告诉CurieNeurons垂直的状态是1





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

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


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



4. 同理,我们再把开发摆放到水平状态,来训练开发板进行水平状态的识别。


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

5.学习完成后在水平和竖直状态中进行随机摆放




可以看到每次的识别速度都是瞬间识别的~
垂直和水平这两个都只是简单的状态识别,接下来我们来做点复杂的运动状态识别。

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

补充说明:
1.以下是对该例程的详细解释,如有疏漏之处,还请各位网友指出
setup()函数:采用了一系列的初始化和校准,包括串口,设备和神经元的初始化,对加速度计和陀螺仪的校准。

loop()函数中:刚开始垂直状态,当没有回车键按下,也就是没有指定学习状态时,神经元处于识别的状态,此时由于未指定状态从而motion unknown。
当数字输入回车键按下,神经元处于学习状态,会短时间内连续输出对垂直状态的识别。
此时若当没有回车键按下,改变开发板位置到水平状态,从而motion unknown;若再改变开发板位置到垂直状态,则可以继续识别。

2.当然目前为止我们仅仅熟悉了CurieNeurons的主要功能,如何开发出更加有趣,好玩的东西,还需各位共同努力
3.关于CurieNeurons免费版和收费版:免费版很强大,收费版更强大!

收费版可使用的函数更多,识别的动作相对更加精准
4. 更多有关CurieNeurons开发库的信息,请参阅GeneralVision的官方API文档和技术指南https://www.general-vision.com/products/curieneurons/


     



凌风清羽  中级技匠

发表于 2016-8-25 21:43:11

学习了~~~
回复

使用道具 举报

dsweiliang  初级技神

发表于 2016-8-26 08:24:35

学习学习
回复

使用道具 举报

iooops  中级技匠

发表于 2016-8-31 19:28:40

我靠 大神们开发的Curie板
回复

使用道具 举报

iooops  中级技匠

发表于 2016-8-31 19:29:06

啊好神奇
回复

使用道具 举报

liweilin  高级技师

发表于 2017-2-8 22:54:26

这个学习功能好玩
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail