Description of [robot]_algo.json file

[robot]_algo.json is a robot configuration file which records the property 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": "UR_UR5_Like",
     "robot_type": "UR_16E",
     "dh": [ A, B, D, G, F, H ],
     "shoulder_offset": C,
     "elbow_offset": E,
     "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 ],
     "mastering_joints": [ J1, J2, J3, J4, J5, J6 ],     # Unnecessary
     "axis_flip": "J1J2J3J4J5J6"                         # Unnecessary
}

The descriptions of attributes are as follows.

  • algo_type
    The type of configuration of the robot. The robot models are divided into 13 categories in Mech-Viz V1.6.0. For more information about the robot configuration, please refer to Robot Configurations.
  • robot_type
    The type name of the robot, which should be the same as the folder name of the robot model file, or else the robot model cannot be located.
  • dh
    The DH parameters of the joints of the robot.
  • minlimits, maxlimits
    Defines the minimum and maximum range of motion for each axis. Except for FANUC and NACHi, the accurate range of motion for each axis can be found in the product specification for robots of most brands.

    Hint

    With this attribute, each joint will be added with two parameters, i.e., the minimum range of motion and the maximum range of motion. This attribute relates to Axis_flip, and the two parameters and their negative/positive values should be reversed under certain circumstances.

  • mastering_joints
    Defines the positions of joints when their rotation angles are 0 degree. When the value of parameters are all set to 0, the robot pose is the same as the one during modeling.

    Hint

    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 home position in Mech-Viz, and therefore the value of J2 and J3 in mastering_joints should be adjusted.

  • axis_flip
    Defines the direction of rotation of the axes. After modeling the robot, please modify this attribute if the direction of rotation does not match with that of the real robot.

    Hint

    This attribute will affect other attributes such as minlimits, maxlimits, link3_dynamic_limits, link4_dynamic_limits, etc.

When using a newly created robot model, please make sure that the settings of the following attributes correspond with the real robot.

  • axis_flip
    Check if the rotation of the axes of the real robot corresponds to the settings of this attribute.
  • dh (Important)
    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 and compare the TCP

    • Synchronize the TCP and compare JPs

    Hint

    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 of less than 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.

    Hint

    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.

    Hint

    The soft limits of the robot must not exceed its hard limits.