什么是Embedded Coder Robot NXT?
Embedded Coder Robot NXT一个为LEGO MINDSTORMS NXT设计的基于MATLAB®和Simulink®的开发环境。Embedded Coder Robot NXT为提供了一个编程(建模)功能,用来完成NXT的控制策略、设备动态特性和在3D图形虚拟环境中模拟/呈现这些模型部件。它也提供了nxtOSEK对于真实NXT硬件的对象调度,它是基于Real-Time Workshop® Embedded Code的。MATLAB和Simulink是由The MathWorks生产的专有软件,目前主要被广泛地应用在控制工程中。不幸的是, MATLAB & Simulink也许不适合个人使用,因为它的价格非常昂贵。尽管如此,大学/学院的学生还是有机会使用MATLAB学生版本的。 Embedded Coder Robot NXT可以从这里免费下载和使用。 上图是一个使用Embedded Coder Robot NXT构造的走线机器人样例(包含在压缩包内)。右边是Simulink的结构图窗口,显示了这个机器人的物理行为、传感器/发动机特性以及一个位图(走线地图)。左边显示了一个程序和nxtOSEK设置,它们是用以生成和上传代码到真实的NXT的。结构图窗口后面是一个3D虚拟图形仿真环境。在Simulink的仿真中,走线机器人程序和机器人的物理程序是同时运行的,并且机器人的行为是可以使用用户自定义的地图在3D虚拟图形仿真环境测试的。
在3D虚拟图形仿真环境中,走线机器人自动探测黑线并且沿着它走。用户可以通过修改那个位图文件来设计多种的地图来测试机器人,并且可以在地图中设计墙面用于更多的程序(比如走迷宫机器人)。这个3D机器人的模型是使用MLCAD(LDraw)设计的,它使用了Philo的NXT积木块库,然后被转换为VRML格式。 如何使用Web浏览器查看走线机器人模型? Embedded Coder Robot NXT使用了MATLAB和Simulink。然而,Simulink提供了一个叫做"Export to Web" 的功能,它可以将模型输出为HTML之类的网页文件来查看结构图。请单击下图在浏览器中查看走线机器人结构图。 Simulink提供了多种类型的模块(从最基本的数学运算到复杂的数学方程式, 机器状态/流程图以及用户自定义模块)。并且,用户可以用线连接模块来指定模块间的数据流。 Embedded Coder Robot NXT的另外一个高科技亮点是,我们可以使用Real-Time Workshop Embedded Coder将一个Simulink结构图(模型)编译为ANSI-C代码。Real-Time Workshop Embedded Coder生产的ANSI-C代码不需要指定运行环境,所以用户可以使用ANSI-C编译工具针对多种硬件(8位/16位/32位微型控制器、DSP和PC)生成代码。
|