Closed zenozeng closed 9 years ago
机器视觉下阶段:更好的色相分割值寻找,更好的上下分割线。
我们做了很多选择。
简单的无线通讯能力
直接无线网卡发射 wifi,可以非常简单地实现通讯。
高级编程语言接口
汇编、C语言编程效率太低。一样的功能要写更长的时间。 高级语言使得我们拥有快速开发、模块化、规模化的能力。
较强的计算能力
这样机器视觉组件可以直接运行在小车上,避免数据传输的复杂性与高昂时间成本。 事实上,我们现在已经用 opencv 直接写了,跑在小车上,运行良好。
便利的硬件接口
可以方便的与步进电机、舵机、超声波、黑白循迹片等交互。
所以我们选择 Pcduino。
我们的方案是 Node.JS 和 C++ 混合方案。
Node.JS
Node.JS 帮助我们实现快速开发。无需编译。 具有类似 Matlab 的 REPL 能力,边写边调。 快速搭建 Web 服务器,实现 API 交互。 模块化,并有大量来自社区的库。
C++
C++ 帮助我们解决性能敏感部分。(数字脉冲调制、底层交互、机器视觉)
在开发过程中,我们也遇到了一些使用的库的限制,为此我们封装了 yapcduino.js. Yet another nodejs library for pcduino (extends jheising's node.pcduino but provide simple API and some extra function) 这个库我们已经开源,并发布在 github 和 npm 上,回馈社区,供大家使用。
项目
思路
硬件
软件