mm_vision_pick_and_place
该程序实现了一个简单的拾取和放置任务,适用于简单的单拍单抓或者单拍多抓。
配置说明
点位配置
点位管理员 中可设置以下点位。
示教点位需要用户示教,自动计算点位无需示教,根据 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 组件左上角的 进行属性配置。
配置属性请参考 触发 Mech-Vision (Run Vision) 。
主程序
首先,需要在程序的最开始加入 init 组件建立通信连接,可以在 init 组件的设置中修改 IP 地址,确保机器人 IP 与工控机 IP 在同一网段下。
在 socket 连接成功之后,添加 detection_sequence 流程,让机器人运动到拍照点。
接着,可以添加 Run Vision 组件,以启动 Mech-Vision,同时在此组件中可以配置属性和设置配方。
接着,添加 Receive Vision 组件,以获取 Mech-Vision 的视觉结果,此组件有四个出口,客户可以对程序进行自己的修改。 如果点云为空,客户想要再重新运行一次 Mech-Vision,可以将 EMPTY_ROI 和 mm_v01_runvis1 组件相连接,这取决于用户实际需求。
此时,获取到的 Mech-Vision 结果以字符串数组(string[])的形式保存在 g_mm_socket_recv_array 这个全局变量中。
以下的步骤为对 g_mm_socket_recv_array 中的数据进行处理,判断所有的点是否一次全部接收完毕,如果没有接收完,程序会跳转到 mm_v01_recvvis1 组件处运行,运行完之后将点位保存到 g_mm_total_point 全局变量中。
最后将接收的 Mech-Vision 目标点位赋值给相应的点位进行运动。