利用LabVIEW NI SoftMotion模块和SolidWorks改进设计流程
SolidWorks装配图CARMA机械臂
作者:
Lisa Mosier - Square One Systems Design Inc.
行业:
Manufacturing
产品:
CompactRIO, NI SoftMotion开发模块, NI 9512, LabVIEW
挑战:
在求解六轴机器人手臂的逆运动学方程后,无需装配物理测试平台,利用开发测试方程和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中被错误识别,但修正这些错误十分容易。此外,不少高级运动控制算法工作不正常,其原因是在代码中遗漏或是使用不正确的符号(±)。如果没有仿真,我们不可能在开发阶段的早期发现这些错误。由于错误在仿真中发现,而不是在运行物理系统中发现,就避免了这些错误的严重后果。
CARMA解决方案
下一步是将仿真为CARMA项目的专用尺寸和运动需求进行定制。我们完成并适当扩展了SolidWorks模型。在LabVIEW工程中,工程结构让我们可以打开全新文本文件详细描述CARMA机械臂的尺寸以及运动的范围极限。实际上,我们复制了现有的“逻辑”三球工程,重命名为CARMA,并将CARMA文本文本作为默认文件,在每次运行用户界面时都会打开。成功的仿真帮我们的设计团队将机械臂运动范围实现完全可视化,更重要的是,我们能够在SolidWorks模型中沿着所有旋转轴测量角度。
结果
仿真过程让我们能够测试运动的极限条件,在装配之前确定关键组件的尺寸。通过仿真创建并测试LabVIEW VI,让过渡到为实际CARMA汇编模块编写控制变得容易。我们需要其他VI支持复杂的运动控制、机器视觉和自治系统特性,但是基本控制已经存在。在装配组件之后,我们无需修改运行仿真的软件,就可以操作最终实现的机械臂,这在Square One的历史上是第一次。在早期和SolidWorks汇编模块一起实现运动控制软件,大大提高了设计流程的效率,我们还实现了在软件开发设计中包含机械团队的目标。