- 3.0.2 models module.
HyQ.h
Go to the documentation of this file.
1 /**********************************************************************************************************************
2 This file is part of the Control Toolbox (https://github.com/ethz-adrl/control-toolbox), copyright by ETH Zurich.
3 Licensed under the BSD-2 license (see LICENSE file in main directory)
4 **********************************************************************************************************************/
5 
6 #pragma once
7 
8 #include <Eigen/Core>
9 #include <Eigen/StdVector>
10 
11 #include "generated/declarations.h"
12 #include "generated/forward_dynamics.h"
13 #include "generated/inertia_properties.h"
14 #include "generated/inverse_dynamics.h"
15 #include "generated/jacobians.h"
16 #include "generated/jsim.h"
17 #include "generated/transforms.h"
18 #include "generated/link_data_map.h"
19 #include "generated/traits.h"
20 
21 #include <ct/rbd/rbd.h>
22 
23 // these will be undefined later, DO NOT USE!
24 
25 #define ROBCOGEN_NS HyQ // defines the NS of the robot in robcogen, e.g. iit::<ROBCOGEN_NS>
26 #define TARGET_NS \
27  HyQ // defines the NS where all robot definitions go. Here ct::models::TestHyQ. This defines ct::models::TestHyQ::Dynamics etc.
28 
29 // define all links of the robot, names as in robcogen
30 #define CT_BASE fr_trunk // base link name
31 #define CT_L0 fr_LF_hipassembly
32 #define CT_L1 fr_LF_upperleg
33 #define CT_L2 fr_LF_lowerleg
34 #define CT_L3 fr_RF_hipassembly
35 #define CT_L4 fr_RF_upperleg
36 #define CT_L5 fr_RF_lowerleg
37 #define CT_L6 fr_LH_hipassembly
38 #define CT_L7 fr_LH_upperleg
39 #define CT_L8 fr_LH_lowerleg
40 #define CT_L9 fr_RH_hipassembly
41 #define CT_L10 fr_RH_upperleg
42 #define CT_L11 fr_RH_lowerleg
43 
44 // number of endeffectors
45 #define CT_N_EE 4
46 
47 // definition of an end-effector
48 #define CT_EE0 fr_LF_foot //name of end-effector. Same as frame in RobCoGen
49 #define CT_EE0_IS_ON_LINK 3 // to which link is the end-effector rigidly attached to?
50 #define CT_EE0_FIRST_JOINT 0 // which is the first joint in the kinematic chain from base to end-effector?
51 #define CT_EE0_LAST_JOINT \
52  2 // which is the last joint in the kinematic chain? THEY NEED TO BE IN ORDER, NO GAPS ALLOWED!
53 
54 #define CT_EE1 fr_RF_foot
55 #define CT_EE1_IS_ON_LINK 6
56 #define CT_EE1_FIRST_JOINT 3
57 #define CT_EE1_LAST_JOINT 5
58 
59 #define CT_EE2 fr_LH_foot
60 #define CT_EE2_IS_ON_LINK 9
61 #define CT_EE2_FIRST_JOINT 6
62 #define CT_EE2_LAST_JOINT 8
63 
64 #define CT_EE3 fr_RH_foot
65 #define CT_EE3_IS_ON_LINK 12
66 #define CT_EE3_FIRST_JOINT 9
67 #define CT_EE3_LAST_JOINT 11
68 
70 
71 #include "HyQUrdfNames.h"