找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于LabVIEW的视觉伺服机械臂控制系统

[复制链接]
admin 发表于 2013-3-26 09:39:16 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 关键词: 机械臂; 图像处理; 运动控制卡; 人机交互
       LabVIEW是由美国国家仪器公司(NI)开发的一种图形化编程语言,广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件,具有可视化、编程方便等特点[1]。本文利用LabVIEW软件作为开发环境,它的IMAQ Vision Builder模块是建立在交互式模式和“假设分析”的环境基础上,可快速开发出图像处理软件。将运动控制卡的函数共享库导入LabVIEW,通过编程及调试本文开发出了视觉伺服控制的实验平台。利用LabVIEW图像化的编程的特点,用户可以更好地学习和二次开发。
1 系统的硬件结构及原理
     本文采用的机器人是固高公司生产的GRB-400机器人,硬件结构如图1所示,主要包括以下几个部分:GRB-400 SCARA型工业机械臂、GRB四轴驱动电器箱、GT-400-SG-PCI四轴伺服运动控制卡、CCD摄像头、计算机和图像采集卡。机械部分的关节1、2、4为旋转关节(与图1中电机1、2、4相对应),使用交流伺服电机和谐波减速器驱动;关节3为直线关节,采用交流伺服电机和滚珠丝杠驱动。GRB400机器人关节1连杆长度200 mm,运动范围±100°;关节2连杆长度200 mm,运动范围±50°;直线关节3行程±48 mm;关节4运动范围±170°。关节4安装了电磁手爪,利用控制器的直接数字量输出控制,可以抓取工件。机械臂本体上引出4个关节控制轴的电机控制信号、编码器角度反馈信号和关节轴限位信号,通过连接电缆与控制器连接。
    20121107045517538294861.gif
       该机器人伺服系统工作过程可概括为:(1)系统利用图像采集卡对工件的图像进行采集并存入计算机内存,通过对图像进行一系列处理,识别出工件并得到工件的位置坐标;(2)利用基于位置的运动学反解的方法,计算出1、2轴的运动控制指令,以驱动1、2轴到达目标位置;(3)通过对手抓的控制实现对目标物体的抓取。
2 图像采集及处理
2.1图像采集

     图像采集卡使用的是天敏VC4000图像采集卡,通过此图像采集卡和摄像头采集到工件的图像,在LabVIEW中进行一系列处理,利用图像采集卡的函数编写采集图像的程序,大致流程为:初始化图像采集卡、设置视频捕获帧率、打开设备、开始视频预览、采集图像并保存(并在此设置好保存路径)、释放资源。
2.2 图像处理
2.2.1图像二值化

     图像的二值化处理就是将256个亮度等级的灰度图像通过适当的阈值选取获得仍然可以反映图像整体和局部特征的二值化图像[2]。要进行灰度图像的处理,首先要进行二值化,得到二值化图像,利于做进一步的图像处理,使处理变得简单,所有灰度大于或等于阈值的像素判定属于特定物体(在此属于工件),其灰度值设为255,否则这些像素点灰度设为0,认为是背景或者其他物体区域。阈值的获取有以下几种算法:
     图2为灰度值图,其中i为灰度值,k为阈值,h(i)为每个灰度值对应的像素点个数,N为灰色图像中像素总数,n为图像像素总数。
    20121107045517616414862.gif
    20121107045517647664863.gif     
   3 机械臂控制系统的设计
     首先在开始工件抓取之前要对机械臂进行回零,其次利用上面图像处理得到的工件位置坐标进行关节角度反解,进而转化脉冲输入到每轴对应的电机的控制器中,驱动机械臂运动到工件实际位置进行抓取。
3.1机械臂的回零
      在机械臂工作之前,首先要进行机械臂的回零,在机械臂的工作台上原点对应的位置坐标(x,y)已经确定,将其通过角度反解转化为关节角度对应的脉冲输入到回零函数中,实现机械臂的回零,下面对每个轴的回零进行阐述。
     (1)轴1轴2:首先通过机械臂运动时捕获限位开关(利用控制函数获取轴的状态值,其14 bit是设定Home开关信号捕获标志),再利用限位开关捕获原点。具体实现是利用获得当前轴的实际位置值,再用(其中offset是原点位置坐标角度反解得到的脉冲)使其回到零点。
     (2)轴3:利用原点开关捕获原点,通过GT_SetPos(pos+maxPositiveOffset)、GT_SetPos(pos-maxPositiveOffset)结合GT_GetSts(&str)捕获到原点。
20121107045517694544864.gif
     根据几何关系得出轴1轴2的关节角度,再转化为关节1、2对应电机需要的脉冲数,然后输入到运动控制函数GT_SetPos( )设置当前轴的目标位置。
3.3 视觉抓取的程序设计
     在机械臂的视觉抓取程序中,为了使用户可以了解机器人采集图像及处理图像的过程,编写了视觉处理及抓取工件的程序,图4是程序的前面板。
    20121107045517741414865.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-28 21:45 , Processed in 0.057388 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表