Calculating RobTargets
in RobotStudio
Hello Friends,
Does anyone have an application to calculating "RobTargets"?
For example, in palletizing applications, it is necessary create some positions 0 A? and 90 A?, the algorithm would create these positions automatically and randomly.
Thank you.
Luis Rivas
Project Coodinator - SEE Sistemas
Does anyone have an application to calculating "RobTargets"?
For example, in palletizing applications, it is necessary create some positions 0 A? and 90 A?, the algorithm would create these positions automatically and randomly.
Thank you.
Luis Rivas
Project Coodinator - SEE Sistemas
Luis Rivas
Projects Coordinator - Robotics
Projects Coordinator - Robotics
0
Comments
-
How to calculate a robtarget... is pretty simple if you keep in mind the four composite data types of a robtarget. What is not simple is how to determine the required method to derive teh required compsite data type elements -
They areData type Name Description pos trans x, y and z coordinates orient rot Orientation confdata robconf Specifies robot axes angles extjoint extax Specifies positions for up to 6 additional axes.
The value is set to 9E9 where no additional axis is used.For the most part most palletizing apps do not use external axis - so you can set it to the default.The next not so obvious data type to set for a robtarget is the configuration data required for this position. It will be influenced by the actual quadrant axis 1 needs to be in which in turn influences axis 6 - axis 6 confdata is also dependent on the tool orientation required for the operation (pick or place) and can be -180 -90, 0, +90 +180 - (bet you did not see that coming) - so yes there are 5 possible orientations. The +/- 180 are the same - but may not be reachable depending on the limits imposed on axis 6 due to upper arm cable managment - etc. traditionaly, a robtarget is stored for the specific station at 0 degrees, which stores the robconf data required for 0 degrees orientation - then we add or subtract to axis 6 robconf to get it in the required quadrant for the required tool orientation. This dictates that each station needs to be handled exclusively. So somewhere there needs to be a robtarget for the station (example robtarget ThisStation). All this assumes the wrist orientation is down and the mounting flange is parallel with the floor (like a 640 or 660).The actual transform (X,Y,Z) whould be some increment based on the case position, layer and pick and place cycle you are peroforming at the time. They are usually a multiple of the case dimensions determined before the robtarget is to be computed. For this example, they are already computed in global variables x_product,y_product,z_product.PROC ThisStationsConf(
INOUT confdata config,
num tool_orient)
config:=ThisStation.robconf;
config.cf6:=config.cf6-tool_orient DIV 90;
ENDPROCUsing the method above, we can call that procedure for the specific station to build the rest of the robtarget, and return it using a function for example.FUNC robtarget ComputeMyPosition(num tool_orient)VAR robtarget pResult;pResult.rot:=OrientZYX(180+tool_orient,0,180);ThisStationsConf pResult.robconf, tool_orient;!add a check here to make sure xonfig data is within capable limits, correct if not.pResult.extax:=[9e9,9e9,9e9,9e9,9e9,9e9];psresult.trans:=[0,0,0];
pResult:=Offs(pResult,x_product,y_product,z_product);!All would be with in respect to a normalized workobject coplanar with wobj0 with only an orientation in Z with respect to the workobject for a 4 axis robot assuming the robot is level and plumb with the stations.
RETURN pResult;
ERROR!your error handler hereENDFUNCThomas H. Johnston
PACs Application Engineer0
Categories
- All Categories
- 5.5K RobotStudio
- 396 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 310 IRC5
- 59 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 786 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 5 Job listings