The origin point in different robot arms tends to vary between manufacturers. To have truly plug and play arms, we need common ground on this. Thats is why the first thing the user should do is to calibrate the origin and apply the necessary corrections through parameters.
Although the robots are totally different (surely your robot is not identical to those described in the images), take the general structure of the arms into account. The following figure shows where the origin should be placed on different arm configurations:
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 the image shows, these configurations can be generalized 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 axes will rotate with the robot.
The manufacturer explains where the origin of the robot is (and how it differs from the definition above), so you have to change the origin though 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 fine | 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|
Take into account that the first value affects the following ones