样例程序2:获取Mech-Viz规划路径

您正在查看预发布版本(V2.2.0)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持

程序简介

功能说明

机器人触发Mech-Viz工程运行,然后获取路径规划结果,进而执行抓取。

所需工程

Mech-Vision工程和Mech-Viz工程

使用前提

  1. 已完成标准接口通信配置。

  2. 已完成自动标定。

此样例程序仅是示例程序。用户需根据实际情况在此基础上进行修改,请勿直接使用该程序。

程序解读

以下为搭建的示例程序,仅供参考。

sample 2 1

下表为上述程序的逻辑解读。用户单击指令名称的超链接便可查看该指令的详细说明。

流程 代码及说明

初始化通信参数

mm_init_socket

mm_init_socket:初始化通信的指令,参数如下。

sample 1 2
  • 192.168.10.182:工控机的IP地址。

  • 50000:工控机的端口号。

因此,整条指令表示,机器人通过mm_init_socket指令指定通信对象(工控机)的IP地址和端口号。

用户需根据实际情况修改此处的工控机IP地址和端口号,确保与视觉系统设置的参数一致。

移动到拍照点

MoveJ
	path_0
  • MoveJ:机器人的关节角移动指令,表示机器人沿弧线移动至指定位置。

  • path_0:指定机器人移动的目标位置,即示教的相机拍照点。拍照点指相机采集图像时机器人所在的位置。在此位置,机器人手臂应不遮挡相机视野。

用户需示教拍照点,具体示教方法可参考自动标定中“示教标定起始点”的操作。

建立通信

mm_open_socket

机器人通过mm_open_socket指令与视觉系统之间建立TCP协议通信连接。

触发运行Mech-Viz工程

mm_start_viz

mm_start_viz:触发运行Mech-Viz工程的指令,参数如下。

sample 2 2
  • Current Position:将机器人的当前关节角和法兰位姿传入Mech-Viz工程。

  • 90,90,90,90,90,90:上一个参数值为Current Position,因此,此处关节角数据无实际用处,用户无需修改。

因此,整条指令表示机器人触发视觉系统运行Mech-Viz工程,然后Mech-Viz基于Mech-Vision输出的视觉结果规划机器人的抓取路径。

获取规划路径,并移动至各路径点

mm_get_data

mm_get_data:获取数据的指令,参数如下。

sample 2 3
  • From Viz:从Mech-Viz获取数据。

  • mm_get_viz_data:获取规划路径。

  • 1:指定获取路径点的位姿形式为关节角。

  • pose_num:该变量保存视觉系统返回的路径点个数。

  • ss:该变量保存视觉移动路径点(抓取点)在路径中的位置编号。

  • g_mm_status(全局变量):该变量保存指令执行的状态码。

因此,整条指令表示机器人获取Mech-Viz工程返回的规划路径。

由于返回的规划路径保存在机器人内存中,此时用户无法直接获取到规划路径,必须通过后续“转存规划路径”才可访问。

转存规划路径

If g_mm_status==2100

当状态码g_mm_status为2100时,则机器人成功获取到规划路径;否则视觉系统发生异常。用户可根据具体异常状态码做相应的处理。

aaa:=1
loop_0 aaa<=pose_num
	i_pose1:={}
    mm_get_posjps
	MoveJ
		i_pose1
	aaa:=aaa+1
  • aaa:该变量用于控制循环次数,同时用于指定路径点的索引号,初始值为1。

  • loop_0 aaa<=pose_num:通过循环逐个获取路径点数据,并移动至对应位置。

  • i_pose1:该变量用于存放路径点的关节角数据,初始值为{}。

  • mm_get_posjps:转存数据的指令,参数如下。

    sample 2 4
    • mm_get_jps:将某个路径点的关节角、标签和末端工具编号转存到指定变量中。

    • aaa:该变量用于指定转存路径点的索引号,例如,aaa为1,表示将转存第一个路径点的数据。

    • i_pose1:该变量将保存第aaa个路径点的关节角。

    • l1:该变量将保存第aaa个路径点对应的末端工具编号。

    • s1:该变量将保存第aaa个路径点对应的标签。

    因此,整条指令表示将第aaa个路径点的关节角、标签和末端工具编号分别转存至指定变量。

  • MoveJ i_pose1:机器人以关节角移动方式移动至路径点。

  • 变量ss表示视觉移动路径点在路径中的位置编号,因此,路径中的第ss个路径点即为抓取点。

  • 机器人移动到抓取点后,用户可根据实际场景增加设置DO的操作,从而控制末端工具进行抓取。

  • 用户可根据实际场景,在抓取前后添加多个过渡点,从而保证机器人平滑移动,同时避免一些不必要的碰撞。

关闭通信

mm_close_socket

机器人通过mm_close_socket指令断开与视觉系统之间的TCP协议通信连接。

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。