使用NILabVIEW令“20岁”的机器人恢复活力
扫描二维码
随时随地手机看文章
Products:
CompactRIO,FPGAModule,Real-TimeModule
TheChallenge:
为已经丢失控制器的20岁工业机器人替换新的控制器,并对其进行扩展,使之具有现代机器人控制软件中的典型功能。创建可通过直观图形化用户界面(GUI)操作的、适于本科生实验课程的系统。
TheSolution:
使用NICompactRIO控制器作为机器人驱动器和编码器与LabVIEW8.5软件、比例-积分-微分(PID)工具箱、3D图像渲染和VI服务器间的接口,实现机器人运动软件,并可以通过图形界面进行访问。
"使用CompactRIO和LabVIEW,我们可以在单个编程环境中,从零开始构建完整的机器人驱动和控制系统。"
在过去的几十年里,工业机器人技术经历了飞速的发展。自二十世纪80年代以来,它们已经从只能以有限精度沿着预订轨迹运动的抓放式机器人,发展成具有高精度、可以在手术室中应用,并且灵活适应环境,同时可经常与视觉系统及生产单元中的其它机器人进行交互的系统。这就是我们在大学的仓库中发现20岁的三菱Movemaster机器人时,第一反应是决定把它送给博物馆的原因。但是,一个教师决定把它交给我——当时我还只是一名帝国理工学院的本科生,来使机器人“复活”。
项目目标
早先的时候,三菱Movemaster机器人配有一个手持式教学盒、一个微波炉大小的驱动单元和一个可通过串行接口将所有机器关节所需的角位置传输到驱动单元的可选计算机。但是现在所有外设都丢失了,所以我们需要修复机器人底座上的36根未定义管脚,使其恢复原有的功能。我们需要替换以前用于从PC机的可视化用户界面来控制机器人的过时的编程语言。考虑到需要保留可能作为教学辅助的应用,我们需要创建出一种可以允许学生在未来进行便捷扩展的系统(特别是不同的控制算法)。
设计选项
在我们试图对机器人进行逆向工程后,我们需要通过两个主要步骤确定系统的总体布局。首先,我们需要开发I/O解决方案驱动机器人的5个直流电机,并同时读取编码器信号。第二,我们需要将信息传输到标准PC机上并将其在图形界面上显示出来。
系统所需的通道数(15路脉宽调制[PWM]数字输出和10路数字输入)和采样速率(PWM为1kHz而输入采样速率为100kHz)都没有超出标准微控制器电路板的个性化解决方案的范畴。但是,编程环境的多样性和开发这样系统所面临的挑战,超出了本科生项目的时限和范围。由于美国国家仪器公司的产品,可以提供从数据采集到高级图形用户界面开发等全部所需的功能,显而易见可以作为我们的选择之一。
我们选择了CompactRIO可编程自动控制器,利用它来实时采集和处理所需数量的信号。虽然产品的花费超出了典型本科生项目的预算,但考虑到CompactRIO的全面性和易用性,我们还是选择了它。我们可以在5分钟内设定好CompactRIO控制器(包括接线和所有软件的部署),而且可以在其他项目中共用这一个控制器。
信号I/O
CompactRIO控制器的现场可编程门阵列(FPGA)背板,能够以完全并行化的方式读取、输出和处理I/O模块通道。利用数量充足的可编程门电路,我们能够以1kHz的频率输出5个独立的PWM信号,输出10个数字信号到外部的马达驱动芯片,同时以100kHz频率对10条编码通道进行采样。在FPGA上,我们将每个机器人关节上的两个编码器上获得的信号,显示成整数以表示相对的关节角度。使用NI网站上提供的VI帮助我们进一步缩短了FPGA上VI的开发时间。两个高速切换的数字输出和数字输入模块为我们的应用提供了充足的通道数。
图形化用户界面
上述硬件接口的功能一定程度上受到FPGA技术能力的限制,但是系统的用户界面在WindowsPC上运行,可以充分利用LabVIEW8.5的特性。使用基于事件的界面,用户可以通过输入位置向量或上下、左右和前后增量式移动机器人,来设定机器人终端效应器的笛卡尔坐标位置和方向。然后进行坐标变换,计算出每个机器人关节所需的关节角。这些数据会反馈给控制器子VI,从所需和实际的关节角中计算出电机命令信号。
为了允许学生们在将来实现不同的控制算法,只要模板定义的前面板元件存在,控制器子VI在每次运行时都加载并可以包含任意的逻辑。这非常有用,因为学生们可能不能使用LabVIEW环境下的所有功能,而只能使用缺少LabVIEWFPGA和LabVIEWReal-TimeModule的学生版本。虽然学生版软件不能打开全部的机器人软件,但学生们仍然可以使用它开发机器人控制器,并在机器人上进行测试。
我们的“老”机器人的可靠性是整个项目中的一个问题,我们需要一个机器人仿真以便我们在机器人维修时继续工作。使用LabVIEW3D图像控制,我们创建了机器人的示意原理图。使用图形化用户界面,用户可以得知软件是否精确表示了当前机器人的位置。当可视化与现实不符合时,用户可将机器人送到启动原点,并按下按钮重新启动软件。
结论
使用CompactRIO和LabVIEW,我们可以在同一个编程环境中,从零开始构建完整的机器人驱动和控制系统。借助于CompactRIO控制器的易用性,使用高科技的FPGA技术来唤醒我们的“古董”机器人简直轻而易举。作为本科生的我,利用不到九个月的兼职项目工作,就开发出了包括软件和硬件的整个系统。
致谢
我在医药机电一体化实验室中完成了这个项目,指导者是FerdinandoRodriguezyBaena博士。该项目是在ChristopherBurton已有工作的基础上进行的。