Universal Robot 机器人通讯接口
备注
DaoAI机器人程序所用的计量单位为 米-m, 旋转计量单位为 弧度-rad
该协议只适用于DaoAI网页版DaoAI Vision Pilot软件
以下为如何使用 Universal Robot 机器人端的脚本函数示例:
Global Variables/全局变量
mult=10000
DAOAI_ROBOT_TYPE = 7 # UR robot type = 7
DAOAI_META_VERSION = 1
#Pose Object
daoai_tcp_pose = p[0,0,0,0,0,0]
daoai_payload_1 = 0
daoai_payload_2 = 0
daoai_payload_3 = 0
daoai_payload_4 = 0
daoai_payload_5 = 0
daoai_payload_6 = 0
daoai_plane = Base # UR 3D dimension pose is based on its "Base" coordinate
#meta info
daoai_socket_name = "daoai"
daoai_socket
daoai_status = 0
daoai_r_command = 0
daoai_task_id = 0
daoai_num_remaining_objects = 0
Universal Robot 机器人(简称 “UR” )的脚本是使用基于 Python
编程语言撰写的。上方的全局变量可以直接复制黏贴到UR脚本中使用。若需要详细的讲解,这里是一些UR机器人全局变量的注释:
DAOAI_ROBOT_TYPE/机器人类别代码
UR机器人的 机器人类型代码
为 7
,在脚本中定义类型代码为 7
, DaoAI Vision Pilot 系统才能识别当前是UR机器人。
DAOAI_META_VERSION/脚本版本号
DaoAI Vision Pilot 系统当前使用的UR机器人脚本版本号为 1
,若版本更新,请注意文档和脚本的更新。
daoai_tcp_pose/UR机器人坐标变量
UR机器人脚本中的坐标,此变量使用字母 p
和一个长度为 6
的数列来表示: p[1,2,3,4,5,6]
daoai_plane/平面变量
UR机器人脚本中的平面变量,在3D抓取的时候,该变量为 Base(基座)
,UR机器人的3D坐标都是以基座为原点,除非另外定义了新的平面变量。在使用2D抓取时,需要定义2D平面,作为坐标的原点。
Calibration/校准函数
Manual Calibration/手动校准
打开下载后的UR手动校准脚本,通常存放于 脚本目录下\manual calibration\Manual_Calibration.urp
。设置好 UR 机器人连接 后,你会看到脚本的程序部分,如上图所示。
手动校准的脚本中,用户只需要修改所有的手动校准点位:
点击程序中的
Waypoint
变量,属于Move
节点中的变量。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,调整机器人的校准位姿。
修改完成后,点击
OK
保存点位。重复上方步骤,直到调整好校准所需的所有位姿(通常建议13个校准位姿)。
保存脚本,设置好DaoAI Vision Pilot 端的 手动标定 流程。
点击
运行按钮(下方三角按钮)
。
Guidance Calibration/引导校准
打开下载后的UR引导校准脚本,通常存放于 脚本目录下\guidance calibration\Guidance_calibration.urp
。设置好 UR 机器人连接 后,你会看到脚本的程序部分,如上图所示。启动 DaoAI Vision Pilot 的 引导标定 流程,拍照后听取系统的提示信息。
点击程序中的
Waypoint
变量,属于Move
节点中的变量。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,根据系统提示信息调整机器人的校准位姿。
修改完成后,点击
OK
保存点位。
点击
运行按钮(下方三角按钮)
,发送点位至 DaoAI Vision Pilot 。重复上方步骤,直到 DaoAI Vision Pilot 收集到足够的校准位姿。
Auto Calibration/自动校准
打开下载后的UR自动校准脚本,通常存放于 脚本目录下\auto calibration\Auto_calibration.urp
。设置好 UR 机器人连接 后,你会看到脚本的程序部分,如上图所示。然后设置好 DaoAI Vision Pilot 的 自动标定 流程。
备注
2D自动校准和3D的使用流程基本相同,在机器人端唯一区别在于需要使用不同的脚本。具体关于 DaoAI Vision Pilot 是如何操作完成2D标准的,请查看 2D标定 。
点击程序中的中心点位:
center
变量,属于Move
节点中的变量,此变量是自动校准流程中的中心点位。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,根据系统提示信息调整机器人的校准位姿。
修改完成后,点击
OK
保存点位。
点击
运行按钮(下方三角按钮)
,开始自动校准流程。
警告
在做自动标定的时候,请将机器人的速度调至可以反应过来的速度,并随时准备紧急停止,以防止过大的机器人移动距离造成碰撞。
Pick & Place/抓放函数
Teach Pose/示教
打开下载后的UR示教脚本,通常存放于 脚本目录下\pick_n_place\send_pose.urp
。设置好 UR 机器人连接 后,你会看到脚本的程序部分,如上图所示。然后设置好 DaoAI Vision Pilot 的 真实示教 流程。
备注
2D示教和3D的使用流程基本相同,在机器人端唯一区别在于需要使用不同的脚本。具体关于 DaoAI Vision Pilot 是如何操作完成2D标准的,请查看 2D标定 。
点击程序中的
current_pose
变量,属于Move
节点中的变量。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,根据系统提示信息调整机器人的校准位姿。
修改完成后,点击
OK
保存点位。
点击
运行按钮(下方三角按钮)
,发送点位至 DaoAI Vision Pilot 。
Precision Check/精度验证
打开下载后的UR引导校准脚本,通常存放于 脚本目录下\pick_n_place\precision_check.urp
。设置好 UR 机器人连接 后,你会看到脚本的程序部分,如上图所示。然后可以查看视频教学 8. Precision Quick Check 快速精度验证 。
点击程序中的
current_pose
变量,属于Move
节点中的变量。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,根据系统提示信息调整机器人的校准位姿。
修改完成后,点击
OK
保存点位。
点击
运行按钮(下方三角按钮)
,发送点位至 DaoAI Vision Pilot 。
Picking/抓取
打开下载后的UR引导校准脚本,通常存放于 脚本目录下\pick_n_place\Picking.urp
。设置好 UR 机器人连接 后,你会看到脚本的程序部分,如上图所示。然后设置好 DaoAI Vision Pilot 的 抓取应用 。
点击程序中的
detection_pose
变量,属于Move
节点中的变量。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,根据系统提示信息调整机器人的校准位姿。
修改完成后,点击
OK
保存点位。
点击
运行按钮(下方三角按钮)
,发送点位至 DaoAI Vision Pilot 。
下方内容为启用空箱检测功能时的教程。
在默认的情况下, 空箱检测功能 功能在脚本上是隐藏了,可以重新使用该函数用以空箱检测。
点击程序中的
if not daoai_check_box_empty()
语句。点击下方
->·<-
,展开右方选项的显示。
点击
Suppress
,把隐藏的语句重新使用。
在运行脚本的时候该语句就会执行,会进行空箱检测。
Pick and Place/抓取和放置
打开下载后的UR引导校准脚本,通常存放于 脚本目录下\pick_n_place\Picking_and_place.script
。设置好 UR 机器人连接 后,你会看到脚本的程序部分,如上图所示。然后设置好 DaoAI Vision Pilot 的 抓取应用 。
抓取和放置脚本是有3个阶段的,分别是:抓取、纠正和放置。
第一阶段:抓取
在此脚本中,有一个变量 stage
,记录目前的阶段。在程序开始的时候, stage = 0
,此时程序处于刚启动的阶段,需要进行拍照和处理。
首先,需要设置好
detection_pose
探测位姿,在每个阶段、过程之间机器人会在这个位姿离开相机视野并进行拍照。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,根据系统提示信息调整机器人的校准位姿,并保存位姿。
stage
变量改变,stage = 1
。
第二阶段:纠正
需要查看物体被抓取后,与TCP的相对关系,用于放置时的坐标转换。
首先,需要设置好
adjust_det_pose
物体在机器人抓取后的探测位姿,此位姿需要把物体出现在负责检测、纠正姿态的相机视野底下。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,根据系统提示信息调整机器人的校准位姿,并保存位姿。
stage
变量改变,stage = 2
。
第三阶段:放置
需要根据前面记录的物体抓取位姿后,与真实相机拍摄到的放置点位结合,准确把物体放置到目标点位。
首先,需要设置好
place_det_pose
物体在机器人抓取后,相机识别放置点位的探测位姿,此位姿不能阻挡相机拍摄放置点位的视野。点击
Waypoint
中,Command
页面。点击
Set Waypoint
按钮,根据系统提示信息调整机器人的校准位姿,并保存位姿。识别处理结束后,从 DaoAI Vision Pilot 请求到放置点位,记录位姿,准备转化位姿和执行放置。
stage
变量改变,stage = 3
。
对前面保存的各个位姿总合并转化,计算出放置点位的坐标。
移动到物体正上方,往下放置,并且
stage
变量归零,重置阶段stage = 0
。