-
Notifications
You must be signed in to change notification settings - Fork 25
Configuration
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.
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 to5
. If you are using the sixth axis, then you can change thenumber
key from5
to6
. Notice that the only valid values for thenumber
key is5
or6
.
Key | Value | Notes |
---|---|---|
number |
5 or 6
|
Number of axes in the robot |
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 |
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 |
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 jointj0
in degree. -
j1
: The calibration value for jointj1
in degree. -
j2
: The calibration value for jointj2
in degree. -
j3
: The calibration value for jointj3
in degree. -
j4
: The calibration value for jointj4
in degree.
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 |
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 |
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 jointsj0
toj4
, 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 axesx
,y
,z
,a
andb
, respectively. The first 3 axesx
,y
andz
are given in the robot length unit per min^3, and the last 2 axesa
andb
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] |
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 to1.000
. Set to less than1
for slower cornering (less aggressive), greater than1
(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 is0.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 forgpa
.0
is the exact path mode (G61),1
is the exact stop mode (G61.1), and2
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 |