The structure of the robot is parsed from the json
configuration file. The parameter file prescribes the individual legs with the respective parameters:
name
- leg namebase_T
- base transformation of the legdh_params
- Denavit-Hartenberg parameters of the legtheta_default
- leg joint angles in the default (standing) position of the robotjoint_dirs
- compensation of difference between the DH notation and the physical mounting of the servomotors
Name to identify the leg in the robot model.
(type: string)
(example (left-front leg):
"name":"L1",
)
Rigid body transformation matrix between the base frame of the robot and the coordinate frame of the leg.
(type: 4x4 matrix of float)
(example:
"base_T": [
[0.86602,-0.5,0,0.313],
[0.5,0.86602,0,0.181],
[0,0,1,0],
[0,0,0,1]
],
)
The Denavit-Hartenberg parameters of the leg written in format: alpha [rad], phi [rad], d [m], a [m]
(type: array(n x 4) of float)
(example(3 DoF leg in yaw, pitch, pitch configuration):
"dh_params":[
[1.5707,0,0.06,0.0],
[0,0,0,0.325],
[0,0,0,0.325]
],
)
The leg joint angles in the default (standing) position [rad].
(type: vector(n) of float)
(example:
"theta_default":[0,0.0,-1.5],
)
(default: 0)
The optional parameter of joint directions applied on the output signals to compensate the difference between the DH description of the leg and the actual positive direction of the real servomotors given their mounting on the robot.
(type: vector(n) of float)
(example:
"joint_dirs":[1,-1,1]
)