Robot recovery
Alright so I am still a newbie and this is my first dive into robot recovery. I have a machine that I've written a program for that makes the robot move in the positive z position to a specified height. I have been able to use this as my recovery program as it can get out of almost any situation by making this move. However The robot does a tool change and during this tool change if the robot was to z up it would crash and damage equipment. I know it is asking a lot but I am not sure where to start with coming up with some sort of recovery in case there is a crash or e-stop during tool change. right now I am using a offset in both the y and z directions to place the tool on the rack. Any help or any point in the right direction would be greatly apricated. Thank you all in advance.
0
Comments
-
You can create a world zone which would encompass the area in which the tool gets changed. Make a virtual output to turn on when inside that zone. In your recovery you can see if that output is on and act accordingly. When you say that you are offsetting in y and z, it sounds to me that you might want to consider using a reltool motion.Lee Justice0
-
So the tool has a bracket on it with two holes on the top and about 2 in down it has a pin the holes line up with two pins on the rack and the pin on the tool goes into a hole on the mount. On top of that below the mount there are sensors that will slap the mount if I go straight up so I have to go 25mm in the z direction then I currently go 200mm in the y direction to clear the mount. I will have to look into what reltool does and see if I can use it. one of the tools dock has the reject bin right above it too so I have to do the same little dance with that one too. I have the tool change program written and all proved out as of now minus the recovery.
If I am understanding you correctly I can make a world zone to encompass the tool change area. If my tool is within that wz I would turn on a virtual output. (I know how to make normal outputs would I just do that or is there a specific way to make a virtual one? Sorry I've never done that.) But with that output I would make a if statement within my zpos program that if vo1 is on then z to said height and then move to said y direction to recover correct? I am assuming I would want to make different wz for each tool and I would use the faceplate of the robot instead of the tcp as that would be closer to the tool rack.
Sorry for the basic question but thank you very much for all your help and patience.0 -
OK, I think that I understand that you are not using x and y offset in one motion but consecutively. So reltoool may or may not be applicable here. Just another tool in your toolbox, if needed.
You make a virtual output by defining it and not mapping it to any unit.
It also sounds like, in your case, that multiple world zones may be necessary.Lee Justice0 -
yes that is correct it is multiple moves. I was thinking of doing a world zone for each tool. Then if that world zone is active then I will move to a specified z height and then move to a specified y distance to clear the tool rack before going home. I will give this a shot and go from there. Thanks again for all the help!!0
-
Follow up question. I am still new with world zones I have only done joint world zone. I am trying to do a box but I am having some difficulty. My assumption is that I am not defining what my work object is. Here is what I have so far. I do have the DO set to read only and have the routine set to run at power up.VAR Shapedata Volume;VAR wzstationary ClipToolRecover;VAR wzstationary WeldToolRecover;PROC ClipToolWZ()CONST pos corner1:=[100,100,400];CONST pos corner2:=[200,200,600];WZBoxDef \Inside, Volume,corner1,corner2;WZDOSet\Stat,ClipToolRecover\Inside,Volume,ClipToolHomeWz,1;ENDPROC0
-
I was playing around with it last night in robot studio and from what I could figure it didn't seem to make a difference what tool I had selected or what work object so I'm assuming that I cannot select what work object or what tool it is looking for. I'm guessing my world zones are just based on no tool and base world zone is that correct.0
-
You are correct in that the pos declarations for the world zone are in base or world coordinates. The only time that they would be different is if the robot is inverted or wall hanging. The current active tcp is taken into consideration regarding being inside or outside of the world zone.Lee Justice0
Categories
- All Categories
- 5.5K RobotStudio
- 396 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.8K Robot Controller
- 316 IRC5
- 61 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 798 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 5 Job listings