您好!欢迎光临工博士商城

KUKA机器人专营店

产品:47    
联系我们
库卡机器人联系方式
  • 联系人:谢经理
  • 电话:18616568600
  • 手机:18616568600
新闻分类
  • 暂无分类
库卡机器人站内搜索
 
首页 > 库卡机器人新闻中心 > KUKA示例挑选程序——库卡机器人
库卡机器人新闻中心
KUKA示例挑选程序——库卡机器人
发布时间:2020-04-10        浏览次数:513        返回列表
 此示例程序要求已安装Pickit并与您的机器人一起设置。有关安装说明,请参阅KUKA机器人安装和设置文章。

 

注意

首次运行库卡机器人程序之前,请确保:

  • 存在有效的机器人摄像机标定
  • 工具中心点(TCP)已指定正确。
  • 机器人的速度被设置为较低的值,所以意外的行为,可以及早发现足以防止机器人与人或环境发生碰撞。
  • Pickit处于机械手模式,该模式Pickit Web界面中启用
库卡机器人

例如节目:PickitSimplePicking 

可以在R1 > 程序 > Pickit中找到该示例程序

注意

此示例程序仅适用于2.2或更高版本的Pickit软件版本。如果您使用的是2.2之前的软件版本,请通过support @ pickit3d与我们联系com,我们将协助您找到解决方案。

DEF  PickitSimplePicking ( )
   ;FOLD INI;%{PE}
   ;FOLD USER INI

   PTP HOME

   IF NOT Pickit_is_running() THEN
       PickitMessages(#info, 1) ;Pickit not in ROBOT mode
       HALT
   ENDIF

   Pickit_configure(5,4)

   BAS(#TOOL,1) ; Tool for picking
   BAS(#BASE,0) ; Robot base

   PTP Detect
   Pickit_detect_with_retr(5)
   WAIT FOR Pickit_get_results()

   LOOP
       IF Pickit_object_found() THEN
           ;Calculate pick points
           F_Pick=Pickit_get_pose()
           F_PrePick=F_Pick:{X 0.0,Y 0.0,Z -100.0,A 0.0,B 0.0,C 0.0}
           F_PostPick={X 0.0,Y 0.0,Z 100.0,A 0.0,B 0.0,C 0.0}:F_Pick

           ; Check if positions are reachable
           PickitAxistest=INVERSE(F_Pick,XAbovePickArea,Pickit_ErrStatCheckPos1)
           PickitAxistest=INVERSE(F_PrePick,XAbovePickArea,Pickit_ErrStatCheckPos2)
           PickitAxistest=INVERSE(F_PostPick,XAbovePickArea,Pickit_ErrStatCheckPos3)
           IF (Pickit_ErrStatCheckPos1==0) AND (Pickit_ErrStatCheckPos2==0) AND (Pickit_ErrStatCheckPos3==0) THEN
               PTP AbovePickArea
               LIN F_PrePick
               LIN F_Pick
               ;Add grasping logic
               LIN F_PostPick
               LIN AbovePickArea
               PTP Detect
               Pickit_detect_with_retr(5)
               PTP Dropit
               ;Add release logic
               WAIT FOR Pickit_get_results()
           ELSE
               PickitMessages(#info,2) ;Object not reachable requesting next object..
               Pickit_next_object()
               WAIT FOR Pickit_get_results()
           ENDIF
       ELSE
           IF Pickit_roi_empty() THEN
               PickitMessages(#info, 3) ;ROI is empty
               EXIT
           ELSE
               PickitMessages(#info, 4) ;No objects found
               Pickit_save_scene()
               EXIT
           ENDIF
       ENDIF
   ENDLOOP
END

该程序的想法如下:

  • 首先,检查Pickit是否处于Robot模式
  • 如果是这样,则机器人将移至该detect姿势并触发检测,否则将暂停机器人程序。
  • 如果找到了对象,则检查机器人的拾取,拾取前和拾取后点是否可达。
  • 如果物体可以到达,则机器人将移至该物体以将其拾取。之后,机器人将移动到固定的放下位置Dropit一旦机器人离开摄像机的视野,就会触发新的Pickit检测,以便在机器人移动的同时处理检测,从而优化了周期时间。
  • 如果无法到达对象,则机器人会请求下一个检测到的对象。
  • 如果ROI为空,程序将停止。
  • 如果未找到任何对象,并且ROI不为空,则快照将保存在Pickit系统中,并且机器人程序将停止。

注意

根据所运行的Pickit软件版本,示例程序可能看起来有所不同,即使功能相同。我们建议使用Kuka connect版本随附的示例程序

定义工具

创建具有实际TCP值的工具。在此示例中,使用#TOOL1

设置正确的输入参数

命令Pickit_configurePickit_detect_with_retr需要输入参数。有关这些参数的更多信息,请参见Pickit通信函数

定义固定点

在此示例程序中,使用了4个固定点。这些点需要根据应用进行定义。

  • 主页:机器人将在其上启动程序的位置。
  • 检测:从何处执行对象检测。
  • AbovePickArea:大致位于拾取区域上方的一点,从该点可以到达以上两个区域而不会发生碰撞。
  • Dropit:放置对象的位置。

抓添加/释放逻辑

F_PickDropit点,分别需要添加抓取和释放逻辑。

执行领料程序

现在您可以运行该程序了。

更多信息请点击:库卡机器人




 

联系热线:18616568600 联系人:谢经理 联系地址:上海市宝山区富联一路98弄6号

技术和报价服务:星期一至星期六8:00-22:00 KUKA机器人专营店

返回
顶部