来自方提斯应用科技大学工程系的大三学生接受了在四个月时间内从头开始开发机器人的挑战,以便参加在德国不伦瑞克市举办的《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个团队的机器人展开竞争并且赢得了其中两项比赛的第一名,从而获得了整体最高奖项。机器人在第一项比赛中表现得特别好,其行使速度比第二名快了三倍。
明年,一组新的学生将进一步改进谷神星。拟定的增强措施包括更好地探测种子,改良车轮和和转弯半径以及进一步优化视觉代码。