面向 Robotics 的 Mono

  • Jonathan Allen
  • 李剑

2008 年 2 月 12 日

话题:.NET语言 & 开发

微软已经在帮助.NET 进入嵌入式编程领域方面投入了越来越多的努力。首先是.NET Compact Framework,它在智能手机、PDA 和 XBox 360 上得到了应用。然后又有了.NET Micro Framework,用于诸如传感器之类的微型设备上。接下来又是依靠.NET 的Microsoft Robotics Studio

但是微软并不是唯一一个试图进入机器人技术领域的。Cogmation Robotics 已经通过使用开源的.NET 运行时——Mono,向圈内迈出了一步。在它们的旗舰产品robotFoundary中就用到了 Mono,还有 VB 和 C#。

Cogmation Robotics 选用 Mono 的原因是,使用 Mono 以后,他们就不需要在每一个平台上对交叉编译器进行分离。在机器人行业中需要和大量 CPU 打交道,所以这一点实为关键。他们写到

我们需要一个可移植的、跨平台、跨系统架构的编译器系统,这样我们可以在一个 OS 或者系统架构上开发代码,在另一个上面进行部署而无需重新编译。用 gcc 存在一个问题,对每一个目标 OS 或是系统架构,我们都需要一个单独的交叉编译器。另外,维护或是开发这样的工具需要很大的工作量。

在我们评估 3D 引擎的时候,我们发现了 Mono。Mono 已经被用于开发视频游戏,而且它的速度快得出奇。我们进行一个小测试,对 Python 和 C# Mono 的速度进行对比,结果我们被 Mono 以大比例胜出的结果给震撼了。除了速度提升和可移植性以外,我们还拥有了允许我们的用户在任意一种.NET 语言中编写脚本的能力。

还令人感到惊奇的是,他们把组合了 robotFoundary 和 robotSim 的robotSuite的第一个 Beta 版本,发布在了针对 Intel i386 和 PPC 芯片上的 OS X 上。他们计划在今年初发布 Windows 版本。

查看英文原文Mono for Robotics

.NET语言 & 开发