Manufacturer Terms

  • I've got a little project at work. I am only somewhat familiar with Yaskawa and a little bit of Denso. I am trying to either compare or find out what other manufacturer's lingo is.

    In Yaskawa:

    Coordinate System = A way for a person to jog the robot. This could be JOINT or XYZ (RECT, CYL, TOOL, or USER).

    Motion Type = The way the robot (hardware) moves in a JOB/PROGRAM (MOVJ, MOVL, MOVC, or MOVS)

    Tool Control Point, Tool Center Point, or TCP = is the point used to move the robot to a Cartesian position. The TCP is an offset defined from the robot flange.

    What do other manufacturer's call these and do most have a basic instruction set such as CALL, JUMP, IFTHEN, RETURN, *LABELS exist?

    Thank you,


    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • every robot will have that in one form or another.

    In KRL (KUKA Robot Language) coordinate systems are Axis specific (joint) or Cartesian.

    Several Cartesian coordinate systems exist (tool, world, base, etc.)

    User coordinate systems are called bases and are stored in BASE_DATA[1..32]

    Tool coordinate systems are called tools and are stored in TOOL_DATA[1..16]

    tool load data is stored in LOAD_DATA[1..16]

    but that is just standard ones, one can expand this as needed

    various types of program flow control exist including branching (IF-THEN-ELSE, SWITCH CASE, GOTO LABEL), loops (LOOP/ENDLOOP, WHILE ,REPEAT UNTIL) and calling subprograms and functions.

    then there are interrupts, timers, etc.

    as far as variable types go, there are only four basic types:

    BOOL, INT (32-bit), REAL (32-bit) and CHAR

    CHAR arrays are sued as strings.

    most of the variables are complex type (arrays, structures and enumerations)

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • ABB: Coordinates same, but without cylindrical.

    Motion types, MoveL, MoveL, MoveC, no splines. And has MoveAbsJ, joint targets/angles Forgot RelTool Moves, relative to the tool coordinates system. And Offset moves are cartesian in the coordinate system indicated in the move instruction. Those can be MoveL, MOveJ or MoveC

    ABB uses workobjects which has an object frame superimposed on a user frame. There can be as many as you want to declare in Module or modules.

    Tooldata are also declared in modules, as many as you want. The load data for each is stored also in the tooldata. An additional loaddata type is for payloads that are picked up and dropped off.

    ABB program structures feature IF THEN, ELSEIF and ELSE. FOR NEXT loops WHILE DO loops, TEST CASE. GOTO and LABEL (which are frowned upon by some as being hackneyed). There are Procedures, Traps and Functions, which return a value. You may parameterize routines with optional or required parameters. Datatypes are many. They may be Atomic or aggregate (a record type of data). You may also have arrays in single or multidimensional arrays.

  • Thank you Lemster68 and panic mode.

    So, it would be safe to say if I asked a robot programmer, not a points toucher-upper the following questions are should get a response similar to this?

    Question: What is a coordinate system? Answer: A way for me to jog the robot around.

    Question: What is a motion type/interpolation? Answer: The way the robot moves in a job/program.

    Question: What is a TCP? Answer: A point in space offset from the robot's flange that helps me teach my positions and the controller uses to interpolate the robot's path on a linear, circular, or spline motion type.

    I know a thing or two, because I’ve seen a thing or two. Don't even ask about a third thing. I won't know it.

  • Question: What is a coordinate system? Answer: A way for me to jog the robot around.

    Well...if you are doing a job interview and the answer is the one you listed....I will be a little bit suspicious about the background of the "robot programmer".

    Will be better an answer like: a coordinate system is a reference point for a robot to jog around in a certain way (along their axis, along the cartesian axis, along the TCP axis, etc.)

    My contribution:

    In KAWASAKI you have JOINT, BASE and TOOL. There's a trick to transform the BASE (that are the cartesian of yaskawa) in a USER frame like the motoman's user frame. You have an high level languge called AS (very powerfyl, more powerful the informIII) and the LMOVE, JMOVE, etc. equal to MOVEL, MOVJ, etc. of yaskawa.

  • Sorry......bit late to the party......


    Cartesian Coordinate Systems:

    - BASE, TOOL, FIXED TOOL (defined, used by a transformation variable or a transformation value).

    Interpolation types:


    Standard Motion Types in AS Language:


    Fixed Tool Motion Types:


    Standard Arc Weld Motion Types in AS Language:


    J prefix denotes a joint interpolated motion, L prefix denotes a linear interpolated motion.

    When using Fixed Tool an F prefix is used.

    BASE coordinate reference:

    - All robot variants have a different NULL reference

    Tool Centre Point (TCP):

    - All robot variants have a NULL reference from centre of flange.

    Variable types:

    - Global = Stored in memory, readable, usable, adjustable by all.

    - Local = Defined and executed in program only, not stored in memory.

    - Locations = Precision Points (Joint Angles), Transformation Values (Cartesian XYZOAT).

    - Reals = Numerical.

    - Strings = Characters.

    - Integers = 32 bit Numerical.

    - Return values = TRUE/FALSE, -1/0, ON/OFF



    GOTO label:




    CALL (with parameters)


    ON and ONI (Interrupts).

    There are many scenarios I have come across where I am speaking to a robot programmer.

    Some are copying and pasting and self trained, as opposed to OEM trained, setup, installation, configuration and experienced programming from scratch.

    Not that I am generalising robot programmers here, but there is a huge difference between copying, reading, adjusting and pasting a program and seeing what happens, than actual programming from an empty page and knowing what is going to happen.

    Therefore you are likely to receive a variety of answers using different terminology.

    Question: What is a coordinate system?

    - Defined environments the robot uses as a reference to move around in. within it's envelope specs.

    - All robots reference coordinate systems using dedicated functions and instructions.

    - In Kawasaki they use cartesian XYZOAT, based on left hand rule.

    Question: What is a motion type/interpolation?

    - The way you manually or programmatically intend to move from one position to another.

    - The trajectory you would like to achieve between positions.

    In Kawasaki the following is applicable:

    - Manual motion selectable types (Interpolation) in Kawasaki are JOINT, BASE, TOOL and FIXED TOOL.

    - JOINT interpolation moves individual joints not the TCP.

    - BASE/TOOL/FIXED TOOL interpolation moves the TCP referencing the selected coordinate system..

    - A joint interpolated move will produce an arc trajectory.

    - A coordinate system interpolated move will produce a linear trajectory.

    Question: What is a TCP?

    In order for the robot to move a physical device installed to the flange accurately when using cartesian values, requires a centre point of the physical device to be added to the OEM NULL Tool coordinate system.

    - This physical device is not known by the robot, therefore a point on that device should be set.

    - This is referred to as a TCP (Tool centre point).

    - This is what the robot will be controlling, moving to locations when using coordinate references.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now