从表面上看,LabView 和 Microsoft Robotics Studio 在我看来具有非常相似的编程范式和环境。
比较这两种产品是否公平,或者它们属于不同的联盟?
我希望使用过这两种产品的人能帮助比较和对比它们,以便我了解何时适合使用其中一种。
从表面上看,LabView 和 Microsoft Robotics Studio 在我看来具有非常相似的编程范式和环境。
比较这两种产品是否公平,或者它们属于不同的联盟?
我希望使用过这两种产品的人能帮助比较和对比它们,以便我了解何时适合使用其中一种。
免责声明。我没有使用过 Microsoft Robotics Studio。我只看了情况说明书和一些文件。但是我对LabVIEW有很多了解。所以这个答案可能(并且可能是)有偏见。
从历史角度看,LabVIEW 已经存在了 20 年,并且具有以下 MSRS 所没有的特性(乍一看)。
与 LabVIEW 代码相比,VPL (MSRS) 看起来非常笨拙,看起来 MS 并没有真正转向可视化编程(或者第三方专利不允许这样做)。
价格方面,MSRS 有一个免费的“爱好者”版本,价格便宜得多,而 LabVIEW 基础版的起价约为 1300 美元。
附加的 MSRS 不在机器人上运行,它仅通过机器人 API(蓝牙或有线)控制机器人,而 LabVIEW(以及更具体的 NXT-G)在机器人内部的处理器上独立运行。
可能重要的是LabVIEW是NI的主要软件产品,而MSRS是MS的众多产品之一,因此支持和开发应该具有更高的优先级。
吨
我已经使用 MSRDS 进行了广泛的编程,并在较小程度上使用了 LabVIEW,这是我的看法。早些时候,我们的大多数软件过去都是使用 LabVIEW 开发的,但在过去的几年里,我们一直将其中的大部分软件转移到 C#,因为使用像 C# 这样的语言进行面向对象的编程要容易得多。我个人觉得 MSRDS 尤其是并发协调运行时 (CCR) 被低估了,部分原因是文档不够详细。尽管 MSDN 论坛非常棒,但我们还是需要搜索它们以找出我认为应该包含在文档中的一些内容。另一个值得参考的优秀信息来源是 Kyle Johns 和 Trevor Taylor 所著的“Professional Microsoft Robotics Developer Studio”一书。
回到比较上,我觉得 LabVIEW 和 MSRDS(虽然我不确定 LabVIEW Robotics)都遵循不同的编程方法。尽管它已针对机器人技术,但 MSRDS 用于在任何应用程序中利用异步行为。CCR 具有一些出色的协调原语(例如 Joins 和 Interleaves),它使异步编程变得更加容易。DSS 用于开发面向服务的应用程序,这些应用程序分布在位于同一台机器或不同机器上的多个节点上。我们开发了一个使用 MSRDS 开发实验室自动化系统的框架。该框架用于开发基于分布式组件的软件,该软件既是线程安全的又是响应式的。
还值得一提的是,.NET 4.5 中的任务并行库数据流基于 CCR 概念以及 .NET RX 的概念。我建议你也考虑看看它们。
谢谢,
文卡特
我认为 Ton 击中了它的鼻子,但有几个关键点我不同意。
独立于价格 LabView 是一个非常出色的自动化和嵌入式编程系统。然而,如果没有许可证,LabView 会多次破产。根据您的目标平台,您可以轻松地花费数千美元购买开发环境。
两个系统都有编译器。有一段时间,LabView 仅限于少数嵌入式环境,但随着 ARM 编译器的添加,现在有大量受支持的硬件系统。LabView 是在您编程时实时编译的,MSDS 是根据要求编译的(据我所知)。
LabView 绝对针对机器人技术。NI 已经为机器人应用推出了许多工具,并且从自动化中获得的许多想法都可以直接融入机器人环境中。有趣的是,FIRST 机器人竞赛只使用 NI 硬件(cRIO),而 LabView 是一种流行的编程选项。
RDS 的可视化编程和 LabView 的可视化编程没有可比性。它们不按照相同的范式运作。
RDS 确实创建了机器代码,并且代码可以在机器人上运行而无需干预。
如果您想购买完整的机器人系统以使用 LabView 进行开发,请查看此页面:http ://www.ni.com/robotics/how_to_buy.htm
作为背景知识,我是一名经过认证的 LabView 开发人员,并且作为讲师使用了带有乐高 NXT 系统的 RDS。