Exemple de programme 4 : MM_S4_Vis_ChangeModel
Présentation du programme
Description |
Le robot change la recette de paramètres de Mech-Vision, puis déclenche l’exécution du projet Mech-Vision afin d’obtenir le résultat de vision pour la prise et la dépose. |
||
File path |
Vous pouvez accéder au répertoire d’installation de Mech-Vision et Mech-Viz et trouver le fichier en utilisant le chemin |
||
Project |
Projet Mech-Vision
|
||
Prerequisites |
|
| Ce programme d’exemple est fourni uniquement à titre de référence. Avant d’utiliser le programme, veuillez le modifier en fonction du scénario réel. |
Description du programme
Cette partie décrit le programme d’exemple MM_S4_Vis_ChangeModel.
| La seule différence entre le programme d’exemple MM_S4_Vis_ChangeModel et le programme d’exemple MM_S1_Vis_Basic est que MM_S4_Vis_ChangeModel peut changer la recette de paramètres dans le projet Mech-Vision (le code de cette fonctionnalité est en gras). Ainsi, seule la fonctionnalité de changement de la recette de paramètres est décrite dans la section suivante. Pour les parties de MM_S4_Vis_ChangeModel identiques à celles de MM_S1_Vis_Basic, voir Exemple de programme 1 : MM_S1_Vis_Basic. |
DEF MM_S4_Vis_ChangeModel ( )
;---------------------------------------------------
; FUNCTION: trigger Mech-Vision project after
; switching recipe and get vision result
; Mech-Mind, 2023-12-25
;---------------------------------------------------
;set current tool no. to 1
BAS(#TOOL,1)
;set current base no. to 0
BAS(#BASE,0)
;move to robot home position
PTP HOME Vel=100 % DEFAULT
;initialize communication parameters (initialization is required only once)
MM_Init_Socket("XML_Kuka_MMIND",873,871,60)
;move to image-capturing position
LIN camera_capture Vel=1 m/s CPDAT1 Tool[1] Base[0]
;switch recipe of NO.1 Mech-Vision project, "MM_Switch_Model(Proj_num,Model_num)"
MM_Switch_Model(1,1)
;trigger NO.1 Mech-Vision project
MM_Start_Vis(1,0,2,init_jps)
;get vision result from NO.1 Mech-Vision project
MM_Get_VisData(1,pos_num,status)
;check whether vision result has been got from Mech-Vision successfully
IF status<> 1100 THEN
;add error handling logic here according to different error codes
;e.g.: status=1003 means no point cloud in ROI
;e.g.: status=1002 means no vision result
halt
ENDIF
;save first vision point data to local variables
MM_Get_Pose(1,Xpick_point,label,toolid)
;calculate pick approach point based on pick point
tool_offset={X 0,Y 0,Z -100,A 0,B 0,C 0}
Xpick_app=Xpick_point:tool_offset
;move to intermediate waypoint of picking
PTP pick_waypoint CONT Vel=50 % PDAT1 Tool[1] Base[0]
;move to approach waypoint of picking
LIN pick_app Vel=1 m/s CPDAT2 Tool[1] Base[0]
;move to picking waypoint
LIN pick_point Vel=0.3 m/s CPDAT3 Tool[1] Base[0]
;add object grasping logic here, such as "$OUT[1]=TRUE"
halt
;move to departure waypoint of picking
LIN pick_app Vel=1 m/s CPDAT2 Tool[1] Base[0]
;move to intermediate waypoint of placing
PTP drop_waypoint CONT Vel=100 % PDAT2 Tool[1] Base[0]
;move to approach waypoint of placing
LIN drop_app Vel=1 m/s CPDAT4 Tool[1] Base[0]
;move to placing waypoint
LIN drop Vel=0.3 m/s CPDAT5 Tool[1] Base[0]
;add object releasing logic here, such as "$OUT[1]=FALSE"
halt
;move to departure waypoint of placing
LIN drop_app Vel=1 m/s CPDAT4 Tool[1] Base[0]
;move back to robot home position
PTP HOME Vel=100 % DEFAULT
END
Le flux de travail correspondant au code de l’exemple ci-dessus est illustré dans la figure ci-dessous.
Le tableau ci-dessous décrit le processus de changement de la recette de paramètres dans le projet Mech-Vision. Vous pouvez cliquer sur l’hyperlien du nom de la commande pour en afficher la description détaillée.
| Fonctionnalité | Code et description |
|---|---|
Changer la recette de paramètres de Mech-Vision |
Dans cette instruction entière, la recette de paramètres du projet Mech-Vision dont l’ID est 1 est basculée vers la recette 1. |