mm_vision_pick_and_place
该程序通过运行Mech-Vision工程,以获取视觉结果,进而执行抓取和放置操作。
配置说明
点位配置
该程序共涉及6个点位,其中3个是示教点位,3个是自动计算点位。

-
示教点位:用户需提前示教。
-
AbovePickArea:类似于Home点,可以方便地到达Detect点位和Dropoff点位。
-
Detect:拍照点位。
-
Dropoff:放置点位。
-
-
自动计算点位:根据Mech-Vision返回的视觉结果自动计算,无需用户提前示教。
-
Pick:根据Mech-Vision返回的视觉结果赋值的点位。
-
PrePick:由Pick点位沿Z轴偏移得到的点位,用于抓取前直线接近抓取点。
-
PostPick:由Pick点位沿机器人基座Z轴偏移得到的点位,用于抓取后直线远离抓取点。
-
配置参数
MM init组件
程序中所有的网络装置统一使用MM init生成的网络装置,此组件可修改工控机IP地址和端口号。
Run Vision组件
用户需要手动配置Run Vision组件的参数值,具体方法可参考修改组件参数值。
程序说明
抓取(pick_sequence)
抓取目标物体的运动流程:远点 → 接近点 → 抓取点 → 远离点 → 远点。
grasp_object功能块是不完整的,用户可以在此修改参数值,以控制末端工具抓取。
同时,用户可以在config功能块中设置接近点到抓取点之间的距离。

主程序(mm_v201_vision_pick_and_place)
-
首先,通过mm_v201_init1建立机器人与视觉系统的通信。在mm_v201_init1中可修改连接工控机的IP地址和端口号。
-
在通信连接成功之后,通过detection_sequence让机器人运动到拍照点。
-
通过mm_v201_runvis1运行Mech-Vision工程,同时在mm_v201_runvis1中可以配置参数配方。
-
通过mm_v201_recvvis1获取Mech-Vision输出的视觉结果。mm_v201_recvvis1后面有4个异常出口,用户可根据实际需求进行修改。例如,若点云为空,用户想要再重新运行一次Mech-Vision工程,此时可以将EMPTY_ROI和mm_v201_runvis1相连接。
此时,从Mech-Vision获取的视觉结果以字符串数组(string[])的形式保存在全局变量g_mm_socket_recv_array中。
-
程序对g_mm_socket_recv_array中的数据进行处理,判断所有的视觉点是否一次全部接收完毕。如果没有接收完,程序会跳转到mm_v201_recvvis1处运行,运行完之后,将视觉点位姿保存到全局变量g_mm_total_point中。
-
最后,机器人根据获取的Mech-Vision视觉点位姿进行运动,从而完成抓取和放置。