挑战:在求解六轴机器人手臂的逆运动学方程后,无需装配物理测试平台,利用开发测试方程和NI LabVIEW VI的平台,即可仿真测试运动性能并优化设计方法。
解决方案:使用LabVIEW NI SOFtMotion模块设计VI可以运行装配文件并在CAD模型中进行仿真,在SolidWorks创建三维模型构建六自由度(DOF)系统的虚拟物理表现,然后使用NI cRIO-9024嵌入式实时控制器和六个NI 9512模块开发实际装配系统。
"我们探索了所有选项,选择采用LabVIEW作为我们的控制编程工具。在参加了2009年的NIWeek全球图形化系统设计会议后,我们了解许多全新的NI工具包和模块,它们可能是满足我们系统开发需求的良好解决方案。"
Square One是关注满足更多用户技术需求的机器人和自动化公司。我们利用多种技术,通过提供高精度的高级运动学定位系统,满足物理科学研究员和军事应用工程师的需求。将商业机器人和我们正在申请专利的三球机械臂集成到全新和现有的工作单元中,通过提高现有工业标准的效率和精度,帮助改进性能。
专业项目
三球机械臂允许目标位置在六个自由度内精确调节。三球机械臂的基本构造单元是“插槽”机制,它可以在垂直和水平方向调整,且可以在其他水平方向滑动。通过将这些插槽布置为三角架的形状,就可以创建纯运动学调节系统。Square One设计了基于三球的机械臂,让检测传感器、夹具和操作员触觉反馈的精确定位成为可能,这提高了目前无人驾驶地面车辆(UGV)的可用性。三球机械臂提高了工作封套和UGV检测硬件的精度,因此让它能够挖掘和移动残骸、检查车辆车盘和完成大部分现在使用的机器人所无法完成的其他任务。这就是约束区域机器人手臂(CARMA)开发。
将这个项目作为提高设计流程效率并大幅扩展运动控制能力的机会,我们使用了NI原型开发设计工具。之前,我们的方法是完全在SolidWorks中设计定位系统,创建装配用的总成装配图。在完成装配之后,我们基于PC/104设计控制部分,在现有机械设计中满足每个独立项目所需的运动控制规范。将软件开发步骤移到整个设计流程中更高位置让机械设计包含控制硬件所需的传感器和必要空间。通过结合软件和机械设计,我们减少了开发提供过程中的迭代次数和修改次数。
我们的第一步是确定全新的控制方案。通过改变几何参数让我们的软件更为模块化,我们开发了运动控制方程的“逻辑”集合。能够在任何给定的轴之间协调运动,从而大大扩展了三球的功能。另外,测试平台对于验证方程功能而言是十分重要的。在认识到仅仅为了测试而生成多个不同配置并不现实之后,我们转而使用仿真软件作为新技术的测试平台。
在研究了现有软件工具后,我们将选项缩小为The MathWorks, Inc. MATLAB® with Simulink®软件和用于SolidWorks的LabVIEW NI SoftMotion模块。我们在SolidWorks中完成了最初设计,使用MATLAB求解方程。到这里为止,我们只使用LabVIEW开发用户界面。使用Linux可编程机器配置所有电机指令和控制;同时,我们再积极地搜索能够将控制体系结构进行标准化的用户友好的编程软件。
我们探索了所有可用工具,选择了采用LabVIEW进行控制编程。在参加了2009年的NIWeek全球图形化系统设计会议后,我们了解许多全新的NI工具包和模块,它们可以满足我们的系统开发需求。LabVIEW 能够读取运动轨迹的MATLAB代码,LabVIEW NI SoftMotion模块 包含了电机控制和通过NI C系列驱动接口模块用于连接所需的传感器。LabVIEW VI与SolidWorks汇编文件之间的通信是整个项目中关键之处。因此,我们决定为三球机械臂和所有自动化系统开发,使用NI软件和硬件作为设计解决方案。最后,我们决定使用LabVIEW函数组合求解之前在MATLAB完成的高阶数学问题。
仿真
正如我们开发LabVIEW VI运行“逻辑”三球的运动方程求解一样,我们在SolidWorks软件中并行地完成机械设计。在完成VI和固体模型汇编模块之后,我们开始了集成流程。使用LabVIEW工程包含运动控制VI,将SolidWorks汇编文件加入工程中。开始仿真流程、识别模型中的轴并通过VI访问。通过几天的培训,我们理解了DS SolidWorks和LabVIEW之间的连接,开始实现系统仿真并创建了一个虚拟原型系统。
逻辑三球解决方案
我们运行用户界面,测试运动控制VI以验证其功能。我们发现不少轴在VI中被错误识别,但修正这些错误十分容易。此外,不少高级运动控制算法工作不正常,其原因是在代码中遗漏或是使用不正确