西储大学的学生设计了一种自动割草机,通过限定割草路径来割草,并避开障碍。该小组集合了传感器,控制算法,系统控制和图像处理进行工程实践。2010年6月,该小组获得了第七届导航学会(ION)自动割草机竞赛第一名。以下介绍了他们是如何做到的。
学生被要求在一个学期内,快速组合机器人设计所需的工程组件。机器人的控制系统要求兼容部件的连接,包括传感器和制动器的结合,控制算法,以及先进的图像处理。NI LabVIEW 软件为学生提供了一个完整的工程实践开发环境。
放大图片
硬件API
使用NI 9401 C系列数字I/O模块,小组利用编码器来测量速度和位置。通过与硬件的紧密结合,他们可以快速的从多个传感器中获得数据。
分析库
为了确定机器人的状态,该小组采用了数学函数进行卡尔曼滤波。他们利用了LabVIEW 内置的数学函数,对传感器测量的数据进行了内联分析。
自定义用户界面
为了检测到障碍物,学生利用NI视觉软件进行采集,处理并显示来自摄像头的图像。利用用户界面,学生通过色彩和视觉纹理来识别障碍。
部署目标
机器人采用嵌入式实时处理器和现场可编程门阵列(FPGA)实现高级控制。模块化I/O系统与传感器和制动器连接,来进行实时图像处理。
技术方法
学生利用FPGA技术的优点来采集时序要求严格的数据,以控制机器人。与VHDL相比,LabVIEW 图形化编程简化了嵌入式FPGA程序编程的复杂性。
设计方法
为了整合现有的代码,学生采用了调用库函数节点,将ANSI C中开发的算法合并到LabVIEW程序中。结合LabVIEW中的多种编程方式,学生实现了代码重用和开发优化。