利用NI LabVIEW和视觉硬件在国际性的机器人大赛胜利

作者:Frank van Gennip 发布时间:2011-03-23
分享到


方提斯应用科技大学“谷神星”正通过一片玉米地
 

挑战:

为了和具有不同编程技能水平的团队成员一起快速开发自治机器人系统,以便迅速、准确执行《2010年田地机器人竞赛》的复杂任务。

解决方案:

借助National Instruments的LabVIEW和嵌入式视觉系统,使用多核并行循环程序设计,制造必将获得比赛胜利的机器人。

"借助LabVIEW,我们制创造了一个可以比其他软件更快、能够更好执行竞赛任务并且更加容易操作的机器人。”方提斯应用科技大学注重于把学生培养成为全面发展的机械电子和机器人工程师。此项教育的关键要素包括是给学生提供了把工程原理应用到真实世界问题上的亲自实践机会。"

方提斯应用科学大学致力于将学生变成一个全面发展的机电和机器人技术工程师。对这种教育的一个关键因素是让工程原则面对现实问题的实习机会。

来自方提斯应用科技大学工程系的大三学生接受了在四个月时间内从头开始开发机器人的挑战,以便参加在德国不伦瑞克市举办的《2010年田地机器人竞赛》。《田地机器人竞赛》是一个泛欧洲的比赛,由来自欧洲主要大学的20个团队参加。每个团队将建造一台机器人,以执行以下三项关键任务:

在三分钟时间内尽可能远距离独立行驶通过长线型、道路弯曲的玉米地行。

在宽达1米间隙的两行直线型玉米地行之间导航,于三分钟时间内尽可能远地行驶。

探测玉米秆之间的种子、洒水或者对种子进行有效处理。

机器人开发

我们把机器人命名为“谷神星(Ceres)”(以罗马农业女神命名)。谷神星包括两个用于为四个车轮提供动力的马达以及两个用于方向控制的马达。因为机器人的倒车与向前驱动完全一样,从而简化了软件开发。

我们选择LabVIEW实时模块和National Instruments的嵌入式视觉系统,从头开始制造谷神星。视觉系统是一个运行实时OS的嵌入式强固型计算机。我们在嵌入式系统上安装了一个IEEE 1394彩色摄像机,它朝向一个安装好的抛物面镜并且提供机器人周围区域360度景象。通过这种方法,我们用一台摄像机就可以探测机器人周围的物体,极大简化了信号监控和处理。嵌入式计算机使用串行端口与自行开发的马达控制器通信。

可以进行并行处理障碍探测和路径规划的LabVIEW

在2009年的竞赛中,我们的机器人基于安装有Linux系统的计算机并且使用ANSI C算法。但是今年我们想要在较短的时间内开发出具有更复杂的功能(与ANSI C算法相比较)的代码。

对于2010年的竞赛,我们选择LabVIEW图形化系统设计软件进行更快、更容易地开发。没有程序设计经验的团队成员同样可以借助LabVIEW GUI毫不费力地对项目做出贡献。我们还使用LabVIEW 在代码中实施并行处理,无需并行程序设计方面的大量经验。

LabVIEW中的实时处理和视觉整合还能够确保比以往更加无缝的程序设计,节省了短期开发窗口的珍贵时间。我们还在原型开发期间使用网络摄像机,因此我们可以在获得机器人硬件之前开发代码。

摄像机可以获得30每秒帧数的图像, LabVIEW视觉开发模块可以覆盖弯曲的感兴趣区域(ROI)并且采用过度绿色滤波器。这是一种计算密集型的滤波器并且软件根据RGB值重新计算了每个像素值。为了提高计算速度,我们采用LabVIEW 2009中的新增特性 —— 并行For循环,在不同处理器核上自动划分For循环迭代,从而通过多线程处理器可以同时处理For循环的单个迭代。程序以感兴趣区域(ROI)为阈值并且计算x轴上的累积直方图。通过累积直方图,软件程序可以搜索玉米植株的边缘并且相应控制机器人的行驶方向。

结果

借助LabVIEW,我们制造了一个可以比其他软件更快、更好执行竞赛任务并且更加容易操作的机器人。在《田地机器人竞赛》中,谷神星在三项比赛中和16个团队的机器人展开竞争并且赢得了其中两项比赛的第一名,从而获得了整体最高奖项。机器人在第一项比赛中表现得特别好,其行使速度比第二名快了三倍。

明年,一组新的学生将进一步改进谷神星。拟定的增强措施包括更好地探测种子,改良车轮和和转弯半径以及进一步优化视觉代码。

收藏
赞一下
0