Each manufacturer fix a origin point wherever he want. To have a plug and play arm we need that the origin will be the same for all the arms. Thats is why the first thing that the user has to do is to verify the origin, and if it is not in the good point it will change it thanks to a parameters.
Although the robots are totally different (surely the robot is not identical to those described in the images), you have to take into account that the arms follows the general structure. The following figure shows where the origin is place on:
x = the front (in case of not being well defined the front of the robot will be taken as the front the user sees more appropriate)
As you could see the image we can generalize it in three different groups:
In case of placing the robot in another direction (for example, hanging it from the ceiling instead of fixing it on the ground) the axis will rotate with the robot.
The manufacturer explains where is the origin of the robot (different to the defined), so you have to change the origin with parameters.
|x_angle_y_direction||-||rad||Turn the X axis in the direction where the Y axis is|
|x_angle_z_direction||π/2||rad||Turn the X axis in the direction where the Z axis is|
|y_angle_x_direction||-||rad||Turn the Y axis in the direction where the X axis is|
|y_angle_z_direction||π/2||rad||Turn the Y axis in the direction where the Z axis is|
|z_direction||false||true/false||T: the z-axis direction is okey/F: reverse direction|
|x_position||-0.22||m||X axis position according to the marked origin|
|y_position||-0.34||m||Y axis position according to the marked origin|
|z_position||0.0||m||Z axis position according to the marked origin|
taking into account that the first damage the following