Description of [robot]_algo.json File
[robot]_algo.json is a robot configuration file which records the parameter information of the robot. It defines the robot type, DH parameters, range of motion, home position of joints, rotation of joints, etc.
The code fragment below is extracted from [robot]_algo.json file as an example.
{
"algo_type": "SphericalWrist_SixAxis",
#DH parameters [meter]
"dh": [ A, B, C, D, E, F ],
"dhPassive": [ A1X, A1Z, B0X, B0Z, B2X, B2Z ],
#joint limits [degree]
"min_limits": [ J1 min, J2 min, J3 min, J4 min, J5 min, J6 min ],
"max_limits": [ J1 max, J2 max, J3 max, J4 max, J5 max, J6 max ],
"link3_dynamic_limits": [Min, Max],
#joint positions at standard pose [degree]
"mastering_joints": [ J1, J2, J3, J4, J5, J6 ],
#joint orientations [0/1]
"axis_flip": "J1J2J3J4J5J6",
#robot base location [meter,meter,meter,degree,degree,degree]. If robot has not been moved, robot base frame equals to World frame.
"robot_frame_in_robot_base_frame": [ x, y, z, rx, ry, rz ],
#robot flange frame orientation [x/y/z]
"flange_frame_orientation": "z"
}
[robot]_algo.json File
Robot Configurations
Parameter |
algo_type |
Example |
"algo_type": "SphericalWrist_SixAxis" |
Description |
The configuration type of the robot.
|
Robot DH Parameter
Parameter |
dh |
Example |
"dh": [ 0.465, 0.2, 0.88, 0.21, 1.100, 0.225 ] |
Description |
The DH parameters of the active joints of the robot.
|
Parameter |
dhPassive |
Description |
The DH parameters of the passive joints of the robot. For more information about the definition and calculation methods, please refer to the illustrations in the Robot Configurations.
|
Robot Joint Motion Range
Parameter |
minlimits |
Example |
"min_limits": [ -160, -65, -77, -360, -125, -360 ] |
Description |
This parameter defines the minimum motion range of axes of the robot. |
Parameter |
maxlimits |
Example |
"max_limits": [ 160, 120, 90 , 360, 125, 360 ] |
Description |
This parameter defines the maximum motion range of axes of the robot. |
|
Parameter |
link3_dynamic_limits |
Example |
"link3_dynamic_limits": [-204,80] |
Description |
The parameter of dynamic limits. |
Parameter |
link4_dynamic_limits |
Description |
The parameter of dynamic limits. |
Pose of the Robot with the Angle of Each Axis Being 0°
Parameter |
mastering_joints |
Example |
"mastering_joints": [ -90, 0, 0, 0, 0, 90 ] |
Description |
This parameter defines the pose of the robot with the angle of each axis being 0°.
|
For some robots such as KUKA robots of all series, when the value of J2 and J3 are set to 0, its pose is not same as the default pose in Mech-Viz, and therefore the value of J2 and J3 in mastering_joints should be adjusted. |
Rotation Directions of the Robot Axes
Parameter |
axis_flip |
Example |
"axis_flip": "101010" |
Description |
This parameter defines the rotation directions of the robot axes. |
|
Robot Reference Frame Parameter
Parameter |
robot_frame_in_robot_base_frame |
Description |
This parameter defines the position of the robot reference frame with respect to the robot foundation. |
|
Robot Flange Frame Orientation
Parameter |
"robot_flange_orientation": "x/y/z" |
Example |
"robot_flange_orientation": "x" |
Description |
For the robots of some brands such as TURIN, the Z-axis of their flange frames is not pointing outward relative to the flange surface as usual. Instead, the X-axis of the flange reference frame points outward. By configuring the parameter as "robot_flange_orientation": "x", you can change the axis pointing outward to the X-axis in the flange reference frame. When this parameter is not specified, the axis pointing outward defaults to the Z-axis. |
Notes When Using a Newly Created Robot Model
When using a newly created robot model, please make sure that the settings of the following parameters correspond with the real robot:
-
axis_flip
Compare the axis rotation direction of the real robot with that of the simulated robot in Mech-Viz to see if they agree.
-
dh
You can check if the pose of the simulated robot in Mech-Viz corresponds to that of the real robot by using the following two methods.
-
Synchronize the JPs to compare the TCP.
-
Synchronize the TCP to compare JPs.
The closer the DH parameters of the real robot are to the theoretical values in the parameter file, the more precise the robot is. An error within 1mm is generally considered acceptable.
-
-
mastering_joints
Check if the pose of the simulated robot in Mech-Viz corresponds to that of the real robot.
Please pay attention to axis-1, axis-4, and axis-6 while checking.
-
min_limits/max_limit
Check if the pose of the simulated robot in Mech-Viz corresponds to that of the real robot.
The soft limits of the robot must not exceed its hard limits.