Skip to content

Configuration

smhty edited this page Dec 6, 2018 · 11 revisions

Introduction

Some of the main parameters that describe the robot behavior are stored in the configuration file. The configuration file is formatted in YAML. YAML is a human-readable language and can be used in many applications where data is being stored.
The configuration file is called config.yaml, and it is located in the main directory of the API. Each parameter is documented, so feel free to look through the files and get familiar with the parameters available to you.

Parameters

Axis

This parameter stores the options for the axes of the robot. The available keys, and associated values are:

  • number: Dorna is a 5-axis robotic arm, and by default the number of axes is set to 5. If you are using the sixth axis, then you can change the number key from 5 to 6. Notice that the only valid values for the number key is 5 or 6.
Key Value Notes
number 5 or 6 Number of axes in the robot

Unit

In this section we set the robot unit system. By setting the unit system, every quantity with that dimension will be interpreted in that unit system, unless otherwise specified. For example if the length unit system is set to mm, then every quantity with the distance dimension will be interpreted in mm. The available keys, and associated values are:

  • length: The two valid length unit systems for the robot are "mm" and "inch".
Key Value Notes
length "mm" or "inch" length unit system, default is inch

Limit

This parameter, set the rotary limit for the three joints, j0, j1 and j2. If a joint has a rotary limit [a , b], then that joint can not go above b degree, and below a degree. So, setting the limits is a very helpful way to make sure that the robot will not crash into itself.

  • j0 : The value is given in an array (list) of size 2, [j0_lower_limit, j0_upper_limit]. The first value is the lower limit, and the second value is the upper limit for the associated joint.
  • j1 : The value is given in an array (list) of size 2, [j1_lower_limit, j1_upper_limit]. The first value is the lower limit, and the second value is the upper limit for the associated joint.
  • j2 : The value is given in an array (list) of size 2, [j2_lower_limit, j2_upper_limit]. The first value is the lower limit, and the second value is the upper limit for the associated joint.
Key Value Notes
j0 [j0_lower_limit, j0_upper_limit] -175 deg< j0_lower_limit < j0_upper_limit < 175 deg
j1 [j1_lower_limit, j1_upper_limit] -175 deg< j1_lower_limit < j1_upper_limit < 175 deg
j2 [j2_lower_limit, j2_upper_limit] -175 deg< j2_lower_limit < j2_upper_limit < 175 deg

Calibrate

This parameter holds the calibration values for the joints j0, j1, j2, j3 and j4. By running the calibration and save the values in a config file, we make sure that the joints always return the true values after homing process. The available keys and values are:

  • j0: The calibration value for joint j0 in degree.
  • j1: The calibration value for joint j1 in degree.
  • j2: The calibration value for joint j2 in degree.
  • j3: The calibration value for joint j3 in degree.
  • j4: The calibration value for joint j4 in degree.

Toolhead

It is necessary to adjust the length of the toolheads every time we change the toolhead. This parameter holds the length of the toolhead:

  • x: Length of the toolhead in the robot length unit system.
Key Value Notes
x toolhead_length The length is given in the robot length unit system

Default Speed

This parameter holds the default speed for the robot during a motion. There are two types of default speed:

  • joint: The default speed of the robot in the joint space, and is given in degree per minutes. This means it will be used only if the "path" parameter in a "move" command is equal to "joint".
  • xyz: The default speed of the robot in the Cartesian (xyz) space, and is given in the robot length unit system per minutes. This only applies to the cases where the "path" parameter in a "move" command is equal to "xyz" or "circle".
Key Value Notes
joint joint_default_speed deg / min
xyz xyz_default_speed length unit / min

Default Jerk

This parameter keeps the default jerk for the robot during a motion. The jerk values are usually very large, and the values here are divided by 1,000,000. Like default speed, there are two types of default jerk:

  • joint: The default jerk of the robot in the joint space as an array (list) of size 5, and each element in the array is given in deg per minutes^3. The default joint jerk only applies to the situation where the "path" parameter in a "move" command is equal to "joint". The 5 elements in the array represents the default jerk for the 5 joints j0 to j4, respectively.
  • xyz: The default jerk of the robot in the Cartesian (xyz) space as an array (list) of size 5. The xyz default jerk only applies to the situation where the "path" parameter in a "move" command is equal to "line", or "circle". The 5 elements in the array represents the default jerk for the 5 axes x, y, z, a and b, respectively. The first 3 axes x, y and z are given in the robot length unit per min^3, and the last 2 axes a and b are given in degree per min^3.
Key Value
joint [j0_jerk, j1_jerk, j2_jerk, j3_jerk, j4_jerk]
xyz [x_jerk, y_jerk, z_jerk, a_jerk, b_jerk]

Motion

This section keeps some of the motion parameters.

  • jt: Also known as the junction integration time is a key to set cornering velocity limits. jt is a normalized scaled factor that is normally set to 1.000. Set to less than 1 for slower cornering (less aggressive), greater than 1 (but probably less than 4) for more aggressive cornering.
  • ct: Also known as the chordal tolerance. Arcs are generated as sets of very short straight lines that approximate a curve. Each line is a "chord" that spans the endpoints of that segment of the arc. Chordal tolerance sets the maximum allowable deviation between the true arc and straight line that approximates it - which will be the value of the deviation in the middle of the line / arc. Setting chordal tolerance high will make curves "rougher", but they can execute faster. Setting them smaller will make for smoother arcs that may take longer to execute. The default value is 0.01 mm.
  • gpa: Path control mode is a parameter to tell the robot how to behave at the end of each path. There are 3 modes for gpa. 0 is the exact path mode (G61), 1 is the exact stop mode (G61.1), and 2 is the continuous mode (G64).
Key Value Notes
jt jt_value min: 0.01, max: 5, default: 1
ct ct_value default: 0.01 mm
gpa 0 = exact path, 1 = exact stop, 2 = continuous Path control mode
Clone this wiki locally