mm_vision_pick_and_place

该程序实现了一个简单的拾取和放置任务,适用于简单的单拍单抓或者单拍多抓。

加载程序

进入 TMflow 的专案界面,按下图所示打开程序。

mm vision pick and place1

配置说明

点位配置

点位管理员 中可设置以下点位。

示教点位需要用户示教,自动计算点位无需示教,根据 Mech-Vision 的结果自动计算。

示教点位

AbovePickArea:类似于 home 点,可以方便地到达 detect 点位和 dropoff 点位

Detect:拍照点

Dropoff:放置点

自动计算点位

Pick:根据 Mech-Vision 的结果赋值的点位

PrePick:用于抓取之前的线性接近运动,由 Pick 沿其 z 轴偏移

PostPick:用于抓取后的直线后退动作,由 Pick 沿机器人基座 z 轴的点偏移

属性配置

init 组件

程序中所有的网络装置统一使用 init 装置,此组件可修改 init 装置的 IP 地址(此 IP 为工控机网口的 IP)。

修改 init 装置的 IP 地址请参考 设置要连接的工控机 IP 地址

Run Vision 组件

用户在该程序中需要手动配置触发 Mech-Vision 的属性,单击 Run Vision 组件左上角的 tm interface program icon4进行属性配置。

配置属性请参考 触发 Mech-Vision (Run Vision)

程序说明

运动程序

拍照(detection_sequence)

detection sequence

抓取(pick_sequence)

抓取目标物的运动流程:远点 → 上方点 → 抓取点 → 上方点 → 远点。

pick sequence

grasp_object 功能块是不完整的,用户可以在此修改属性,控制夹爪闭合。

同时,用户可以在 config 功能块中设置上方点到抓取点之间的距离。

放置(place_sequence)

place sequence

release_object 功能块是不完整的,用户可以在此修改属性,控制夹爪打开。

主程序

首先,需要在程序的最开始加入 init 组件建立通信连接,可以在 init 组件的设置中修改 IP 地址,确保机器人 IP 与工控机 IP 在同一网段下。

mm vision pick and place2

在 socket 连接成功之后,添加 detection_sequence 流程,让机器人运动到拍照点。

接着,可以添加 Run Vision 组件,以启动 Mech-Vision,同时在此组件中可以配置属性和设置配方。

接着,添加 Receive Vision 组件,以获取 Mech-Vision 的视觉结果,此组件有四个出口,客户可以对程序进行自己的修改。 如果点云为空,客户想要再重新运行一次 Mech-Vision,可以将 EMPTY_ROI 和 mm_v01_runvis1 组件相连接,这取决于用户实际需求。

mm vision pick and place3

此时,获取到的 Mech-Vision 结果以字符串数组(string[])的形式保存在 g_mm_socket_recv_array 这个全局变量中。

以下的步骤为对 g_mm_socket_recv_array 中的数据进行处理,判断所有的点是否一次全部接收完毕,如果没有接收完,程序会跳转到 mm_v01_recvvis1 组件处运行,运行完之后将点位保存到 g_mm_total_point 全局变量中。

mm vision pick and place4

最后将接收的 Mech-Vision 目标点位赋值给相应的点位进行运动。

mm vision pick and place5

我们重视您的隐私

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