Programme d’exemple 18 : MM_S18_Viz_GetUserData

Vous consultez actuellement la documentation pour la dernière version (2.1.2). Pour accéder à une autre version, cliquez sur le bouton "Changer de version" situé dans le coin supérieur droit de la page.

■ Si vous n’êtes pas sûr de la version du produit que vous utilisez, veuillez contacter le support technique Mech-Mind pour obtenir de l’aide.

Introduction du programme

Description

Lorsque le robot obtient la trajectoire de prise, il obtient également les données de sortie personnalisées du projet Mech-Vision.

Chemin du fichier

Vous pouvez accéder au répertoire d’installation de Mech-Vision et Mech-Viz et trouver le fichier en utilisant le chemin Communication Component/Robot_Interface/KUKA/sample/MM_S18_Viz_GetUserData.

Projet

Projet Mech-Vision (un ou plusieurs ports personnalisés doivent être ajoutés à la Sortie Étape) et projet Mech-Viz (l’outil est un grippeur à vide de dépalletisation)

Prérequis

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 section décrit le programme d’exemple MM_S18_Viz_GetUserData.

Par rapport au programme d’exemple MM_S15_Viz_GetDoList, ce programme d’exemple ne contient que la modification suivante (le code de cette modification est en gras). En conséquence, seule la modification est décrite dans la section suivante. Pour obtenir des informations sur les parties de MM_S16_Viz_GetDirection qui sont identiques à celles de MM_S15_Viz_GetDoList, consultez Programme d’exemple 15 : MM_S15_Viz_GetDoList.
DEF  MM_S18_Viz_GetUserData ( )
;---------------------------------------------------
; FUNCTION: trigger Mech-Viz project, then get
; planned path and get custom data from Mech-Vision
; using command 210
; 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]
   ;trigger Mech-Viz project
   MM_Start_Viz(2,init_jps)
   ;get planned path
   MM_Get_PlanData(0,3,pos_num,vis_pos_num,status)
   ;check whether planned path has been got from Mech-Viz successfully
   IF status<> 2100 THEN
      ;add error handling logic here according to different error codes
      ;e.g.: status=2038 means no point cloud in ROI
      halt
   ENDIF
   ;get gripper control signal list
   MM_Get_Dolist(0,0)
   ;save waypoints of the planned path to local variables one by one
   FOR count=1 TO pos_num
     MM_Get_PlanJps(count,3,pick_point[count],move_type[count],tool_num[count],speed[count])
   ENDFOR
   Xpick_point1=pick_point[1]
   Xpick_point2=pick_point[2]
   Xpick_point3=pick_point[3]
   ;save received custom data
   offset_x=MM_UserData[1]
   offset_y=MM_UserData[2]
   offset_z=MM_UserData[3]
   ;follow the planned path to pick
   ;move to approach waypoint of picking
PTP pick_point1 Vel=50 % PDAT1 Tool[1] Base[0]
   ;move to picking waypoint
PTP pick_point2 Vel=10 % PDAT2 Tool[1] Base[0]
   ;add object grasping logic here
   halt
   ;set gripper control signal
   MM_Set_Dolist(0)
   ;move to departure waypoint of picking
PTP pick_point3 Vel=50 % PDAT3 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 CPDAT3 Tool[1] Base[0]
   ;move to placing waypoint
LIN drop Vel=0.3 m/s CPDAT4 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 CPDAT3 Tool[1] Base[0]
   ;move back to robot home position
PTP HOME Vel=100 % DEFAULT
END

Le flux de travail correspondant au code de programme d’exemple ci-dessus est illustré dans la figure ci-dessous.

sample18

Le tableau ci-dessous décrit le code en gras. Vous pouvez cliquer sur l’hyperlien du nom de la commande pour consulter sa description détaillée.

Feature Code et description

Stocker les données personnalisées des points de passage

;save received custom data
offset_x=MM_UserData[1]
offset_y=MM_UserData[2]
offset_z=MM_UserData[3]
Dans le projet Mech-Viz, les données de sortie personnalisées désignent les données émises par le(s) port(s) personnalisé(s) de la Sortie Étape dans Mech-Vision, puis transmises par Mech-Viz.

Le robot exécute la commande MM_Get_PlanData pour obtenir les données Vision Move des points de passage et les données personnalisées des points de passage, puis exécute la commande MM_Get_PlanJps pour enregistrer les données Vision Move et les données personnalisées stockées dans la mémoire du robot dans les tableaux globaux MM_Plan_Results et MM_UserData, respectivement.

Le code ci-dessus affecte les données de sortie personnalisées MM_UserData[1], MM_UserData[2] et MM_UserData[3], qui représentent trois points de passage Vision Move (points de prise), respectivement à offset_x, offset_y et offset_z.

Vous pouvez définir la signification de offset_x, offset_y et offset_z. Par exemple, ils peuvent représenter le décalage du robot sur chaque axe de la coordonnée XYZ lorsqu’il se déplace vers le point de prise.

Cette page est-elle utile ?

Veuillez nous indiquer comment améliorer :

Nous accordons de l’importance à votre vie privée

Nous utilisons des cookies pour vous offrir la meilleure expérience possible sur notre site web. En continuant à utiliser le site, vous reconnaissez accepter l’utilisation des cookies. Si vous refusez, un cookie unique sera utilisé pour garantir que vous ne soyez pas suivi ou reconnu lors de votre visite sur ce site.