NimbRo ROS Soccer Package
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cap_gait_config.h
1 // Capture step gait configuration parameters
2 // File: cap_gait_config.h
3 // Author: Philipp Allgeuer <pallgeuer@ais.uni-bonn.de>
4 
5 // Ensure header is only included once
6 #ifndef CAP_GAIT_CONFIG_H
7 #define CAP_GAIT_CONFIG_H
8 
9 // Includes
10 #include <config_server/parameter.h>
11 #include <string>
12 
13 // Capture step gait namespace
14 namespace cap_gait
15 {
21  struct CapConfig
22  {
23  public:
26  : CONFIG_PARAM_PATH("/cap_gait/config/")
27 
28  , armLinkLength (CONFIG_PARAM_PATH + "robotSpec/armLinkLength", 0.01, 0.005, 0.6, 0.2)
29  , legLinkLength (CONFIG_PARAM_PATH + "robotSpec/legLinkLength", 0.01, 0.005, 0.6, 0.2)
30  , shoulderWidth (CONFIG_PARAM_PATH + "robotSpec/shoulderWidth", 0.01, 0.005, 0.6, 0.2)
31  , hipWidth (CONFIG_PARAM_PATH + "robotSpec/hipWidth", 0.01, 0.005, 0.6, 0.2)
32  , trunkHeight (CONFIG_PARAM_PATH + "robotSpec/trunkHeight", 0.01, 0.005, 1.0, 0.4)
33  , trunkLinkOffsetX (CONFIG_PARAM_PATH + "robotSpec/trunkLinkOffsetX", -0.3, 0.005, 0.3, 0.0)
34  , trunkLinkOffsetY (CONFIG_PARAM_PATH + "robotSpec/trunkLinkOffsetY", -0.3, 0.005, 0.3, 0.0)
35  , trunkLinkOffsetZ (CONFIG_PARAM_PATH + "robotSpec/trunkLinkOffsetZ", -0.3, 0.005, 0.7, 0.2)
36  , comOffsetX (CONFIG_PARAM_PATH + "robotSpec/comOffsetX", -0.25, 0.005, 0.25, 0.0)
37  , comOffsetZ (CONFIG_PARAM_PATH + "robotSpec/comOffsetZ", 0.0, 0.005, 1.0, 0.2)
38  , footWidth (CONFIG_PARAM_PATH + "robotSpec/footWidth", 0.01, 0.005, 0.3, 0.1)
39  , footLength (CONFIG_PARAM_PATH + "robotSpec/footLength", 0.01, 0.005, 0.5, 0.2)
40  , footOffsetX (CONFIG_PARAM_PATH + "robotSpec/footOffsetX", -0.25, 0.005, 0.25, 0.0)
41  , footOffsetY (CONFIG_PARAM_PATH + "robotSpec/footOffsetY", -0.15, 0.005, 0.15, 0.0)
42  , footOffsetZ (CONFIG_PARAM_PATH + "robotSpec/footOffsetZ", 0.0, 0.005, 0.2, 0.0)
43  , neckHeight (CONFIG_PARAM_PATH + "robotSpec/neckHeight", 0.0, 0.005, 0.3, 0.0)
44  , headOffsetX (CONFIG_PARAM_PATH + "robotSpec/headOffsetX", -0.2, 0.005, 0.2, 0.0)
45  , headOffsetZ (CONFIG_PARAM_PATH + "robotSpec/headOffsetZ", 0.0, 0.005, 0.3, 0.1)
46 
47  , armThickness (CONFIG_PARAM_PATH + "robotVis/armThickness", 0.005, 0.005, 0.2, 0.03)
48  , legThickness (CONFIG_PARAM_PATH + "robotVis/legThickness", 0.005, 0.005, 0.3, 0.05)
49  , headDiameter (CONFIG_PARAM_PATH + "robotVis/headDiameter", 0.01, 0.005, 0.4, 0.15)
50  , jointDiameter (CONFIG_PARAM_PATH + "robotVis/jointDiameter", 0.005, 0.002, 0.1, 0.025)
51  , visOffsetX (CONFIG_PARAM_PATH + "robotVis/visOffsetX", -2.0, 0.01, 2.0, 0.0)
52  , visOffsetY (CONFIG_PARAM_PATH + "robotVis/visOffsetY", -2.0, 0.01, 2.0, -0.5)
53  , visOffsetZ (CONFIG_PARAM_PATH + "robotVis/visOffsetZ", -2.0, 0.01, 2.0, 0.0)
54  , markVectors (CONFIG_PARAM_PATH + "robotVis/markVectors", false)
55 
56  , footHeightHysteresis (CONFIG_PARAM_PATH + "robotModel/footHeightHysteresis", 0.0, 0.001, 0.1, 0.005)
57 
58  , enableMotionStances (CONFIG_PARAM_PATH + "general/enableMotionStances", false)
59  , gaitFrequency (CONFIG_PARAM_PATH + "general/gaitFrequency", 0.3, 0.02, 5.0, 3.0)
60  , gaitFrequencyMax (CONFIG_PARAM_PATH + "general/gaitFrequencyMax", 0.3, 0.02, 5.0, 3.0)
61  , leftLegFirst (CONFIG_PARAM_PATH + "general/leftLegFirst", true)
62  , stanceAdjustGcvMax (CONFIG_PARAM_PATH + "general/stanceAdjustGcvMax", 0.0, 0.01, 1.0, 0.4)
63  , stanceAdjustRate (CONFIG_PARAM_PATH + "general/stanceAdjustRate", 0.1, 0.05, 5.0, 1.0)
64  , stoppingGcvMag (CONFIG_PARAM_PATH + "general/stoppingGcvMag", 0.005, 0.005, 0.5, 0.05)
65  , stoppingPhaseTolLB (CONFIG_PARAM_PATH + "general/stoppingPhaseTolLB", 2.0, 0.1, 20.0, 5.0)
66  , stoppingPhaseTolUB (CONFIG_PARAM_PATH + "general/stoppingPhaseTolUB", 2.0, 0.1, 20.0, 5.0)
67  , supportCoeffRange (CONFIG_PARAM_PATH + "general/supportCoeffRange", 0.0, 0.01, 1.0, 1.0)
68  , useServoModel (CONFIG_PARAM_PATH + "general/useServoModel", true)
69 
70  , gcvBiasLinVelX (CONFIG_PARAM_PATH + "gcv/gcvBias/linVelX", -1.0, 0.01, 1.0, 0.0)
71  , gcvBiasLinVelY (CONFIG_PARAM_PATH + "gcv/gcvBias/linVelY", -1.0, 0.01, 1.0, 0.0)
72  , gcvBiasAngVelZ (CONFIG_PARAM_PATH + "gcv/gcvBias/angVelZ", -1.0, 0.01, 1.0, 0.0)
73  , gcvAccForwards (CONFIG_PARAM_PATH + "gcv/gcvAccLimits/accForwards", 0.05, 0.01, 1.0, 0.2)
74  , gcvAccBackwards (CONFIG_PARAM_PATH + "gcv/gcvAccLimits/accBackwards", 0.05, 0.01, 1.0, 0.2)
75  , gcvAccSidewards (CONFIG_PARAM_PATH + "gcv/gcvAccLimits/accSidewards", 0.05, 0.01, 1.0, 0.2)
76  , gcvAccRotational (CONFIG_PARAM_PATH + "gcv/gcvAccLimits/accRotational", 0.05, 0.01, 1.0, 0.2)
77  , gcvDecToAccRatio (CONFIG_PARAM_PATH + "gcv/gcvAccLimits/decToAccRatio", 0.4, 0.01, 2.5, 1.0)
78  , gcvAccJerkLimitX (CONFIG_PARAM_PATH + "gcv/gcvAccJerk/accJerkLimitX", 0.005, 0.005, 0.2, 0.05)
79  , gcvAccJerkLimitY (CONFIG_PARAM_PATH + "gcv/gcvAccJerk/accJerkLimitY", 0.005, 0.005, 0.2, 0.05)
80  , gcvAccJerkLimitZ (CONFIG_PARAM_PATH + "gcv/gcvAccJerk/accJerkLimitZ", 0.005, 0.005, 0.2, 0.05)
81  , gcvPrescalerLinVelX (CONFIG_PARAM_PATH + "gcv/gcvPrescaler/linVelX", 0.0, 0.05, 4.0, 1.0)
82  , gcvPrescalerLinVelY (CONFIG_PARAM_PATH + "gcv/gcvPrescaler/linVelY", 0.0, 0.05, 4.0, 1.0)
83  , gcvPrescalerAngVelZ (CONFIG_PARAM_PATH + "gcv/gcvPrescaler/angVelZ", 0.0, 0.05, 4.0, 1.0)
84 
85  , limArmAngleXBuf (CONFIG_PARAM_PATH + "poseLimits/armAngleXBuf", 0.0, 0.01, 0.5, 0.1)
86  , limArmAngleXMax (CONFIG_PARAM_PATH + "poseLimits/armAngleXMax", 0.2, 0.02, 2.0, 0.8)
87  , limArmAngleXMin (CONFIG_PARAM_PATH + "poseLimits/armAngleXMin", -2.0, 0.02, 0.2, 0.0)
88  , limArmAngleXUseLimits (CONFIG_PARAM_PATH + "poseLimits/armAngleXUseLimits", true)
89  , limArmAngleYBuf (CONFIG_PARAM_PATH + "poseLimits/armAngleYBuf", 0.0, 0.01, 0.5, 0.1)
90  , limArmAngleYMax (CONFIG_PARAM_PATH + "poseLimits/armAngleYMax", 0.0, 0.02, 2.0, 0.8)
91  , limArmAngleYMin (CONFIG_PARAM_PATH + "poseLimits/armAngleYMin", -2.0, 0.02, 0.0, -0.8)
92  , limArmAngleYUseLimits (CONFIG_PARAM_PATH + "poseLimits/armAngleYUseLimits", true)
93  , limFootAngleXBuf (CONFIG_PARAM_PATH + "poseLimits/footAngleXBuf", 0.0, 0.01, 0.5, 0.1)
94  , limFootAngleXMax (CONFIG_PARAM_PATH + "poseLimits/footAngleXMax", 0.2, 0.01, 1.0, 0.4)
95  , limFootAngleXMin (CONFIG_PARAM_PATH + "poseLimits/footAngleXMin", -1.0, 0.01, 0.2, -0.4)
96  , limFootAngleXUseLimits (CONFIG_PARAM_PATH + "poseLimits/footAngleXUseLimits", true)
97  , limFootAngleYBuf (CONFIG_PARAM_PATH + "poseLimits/footAngleYBuf", 0.0, 0.01, 0.5, 0.1)
98  , limFootAngleYMax (CONFIG_PARAM_PATH + "poseLimits/footAngleYMax", 0.0, 0.01, 1.0, 0.4)
99  , limFootAngleYMin (CONFIG_PARAM_PATH + "poseLimits/footAngleYMin", -1.0, 0.01, 0.0, -0.4)
100  , limFootAngleYUseLimits (CONFIG_PARAM_PATH + "poseLimits/footAngleYUseLimits", true)
101  , limLegAngleXBuf (CONFIG_PARAM_PATH + "poseLimits/legAngleXBuf", 0.0, 0.01, 0.5, 0.1)
102  , limLegAngleXMax (CONFIG_PARAM_PATH + "poseLimits/legAngleXMax", 0.2, 0.01, 1.0, 0.5)
103  , limLegAngleXMin (CONFIG_PARAM_PATH + "poseLimits/legAngleXMin", -1.0, 0.01, 0.2, -0.2)
104  , limLegAngleXUseLimits (CONFIG_PARAM_PATH + "poseLimits/legAngleXUseLimits", true)
105  , limLegAngleYBuf (CONFIG_PARAM_PATH + "poseLimits/legAngleYBuf", 0.0, 0.01, 0.5, 0.1)
106  , limLegAngleYMax (CONFIG_PARAM_PATH + "poseLimits/legAngleYMax", 0.0, 0.01, 1.0, 0.6)
107  , limLegAngleYMin (CONFIG_PARAM_PATH + "poseLimits/legAngleYMin", -1.0, 0.01, 0.0, -0.5)
108  , limLegAngleYUseLimits (CONFIG_PARAM_PATH + "poseLimits/legAngleYUseLimits", true)
109  , limLegExtBuf (CONFIG_PARAM_PATH + "poseLimits/legExtBuf", 0.0, 0.001, 0.05, 0.0)
110  , limLegExtMin (CONFIG_PARAM_PATH + "poseLimits/legExtMin", 0.0, 0.001, 0.05, 0.0)
111  , limLegExtUseLimits (CONFIG_PARAM_PATH + "poseLimits/legExtUseLimits", true)
112 
113  , startBlendPhaseLen (CONFIG_PARAM_PATH + "OL/phase/startBlendPhaseLen", 0.0, 0.05, 4.0*M_PI, 2.0*M_PI)
114  , stopBlendPhaseLen (CONFIG_PARAM_PATH + "OL/phase/stopBlendPhaseLen", 0.0, 0.05, 2.0*M_PI, M_PI)
115  , doubleSupportPhaseLen (CONFIG_PARAM_PATH + "OL/phase/doubleSupportPhaseLen", 0.0, 0.01, 1.5, 0.1*M_PI)
116  , swingStartPhaseOffset (CONFIG_PARAM_PATH + "OL/phase/swingStartPhaseOffset", 0.0, 0.01, 1.0, 0.0)
117  , swingStopPhaseOffset (CONFIG_PARAM_PATH + "OL/phase/swingStopPhaseOffset", 0.0, 0.01, 1.0, 0.1*M_PI)
118  , swingMinPhaseLen (CONFIG_PARAM_PATH + "OL/phase/swingMinPhaseLen", 0.1, 0.01, 1.0, 0.3)
119  , suppTransStartRatio (CONFIG_PARAM_PATH + "OL/phase/suppTransStartRatio", 0.0, 0.01, 1.0, 0.5)
120  , suppTransStopRatio (CONFIG_PARAM_PATH + "OL/phase/suppTransStopRatio", 0.0, 0.01, 1.0, 0.5)
121  , filletStepPhaseLen (CONFIG_PARAM_PATH + "OL/phase/filletStepPhaseLen", 0.0, 0.01, 1.5, 0.0)
122  , filletPushPhaseLen (CONFIG_PARAM_PATH + "OL/phase/filletPushPhaseLen", 0.0, 0.01, 1.5, 0.0)
123 
124  , haltArmExtension (CONFIG_PARAM_PATH + "OL/haltPose/armExtension", 0.0, 0.005, 0.8, 0.0)
125  , haltArmAngleX (CONFIG_PARAM_PATH + "OL/haltPose/armAngleX", -0.1, 0.01, 0.6, 0.0)
126  , haltArmAngleXBias (CONFIG_PARAM_PATH + "OL/haltPose/armAngleXBias", -0.2, 0.005, 0.2, 0.0)
127  , haltArmAngleY (CONFIG_PARAM_PATH + "OL/haltPose/armAngleY", -1.3, 0.01, 1.3, 0.0)
128  , haltLegExtension (CONFIG_PARAM_PATH + "OL/haltPose/legExtension", 0.0, 0.005, 0.8, 0.0)
129  , haltLegExtensionBias (CONFIG_PARAM_PATH + "OL/haltPose/legExtensionBias", -0.3, 0.005, 0.3, 0.0)
130  , haltLegAngleX (CONFIG_PARAM_PATH + "OL/haltPose/legAngleX", -0.1, 0.01, 0.6, 0.0)
131  , haltLegAngleXBias (CONFIG_PARAM_PATH + "OL/haltPose/legAngleXBias", -0.2, 0.005, 0.2, 0.0)
132  , haltLegAngleXNarrow (CONFIG_PARAM_PATH + "OL/haltPose/legAngleXNarrow", -0.1, 0.01, 0.6, 0.0)
133  , haltLegAngleY (CONFIG_PARAM_PATH + "OL/haltPose/legAngleY", -1.0, 0.005, 1.0, 0.0)
134  , haltLegAngleZ (CONFIG_PARAM_PATH + "OL/haltPose/legAngleZ", -0.6, 0.005, 0.6, 0.0)
135  , haltFootAngleX (CONFIG_PARAM_PATH + "OL/haltPose/footAngleX", -0.4, 0.005, 0.4, 0.0)
136  , haltFootAngleXBias (CONFIG_PARAM_PATH + "OL/haltPose/footAngleXBias", -0.2, 0.005, 0.2, 0.0)
137  , haltFootAngleY (CONFIG_PARAM_PATH + "OL/haltPose/footAngleY", -0.4, 0.005, 0.4, 0.0)
138  , haltEffortArm (CONFIG_PARAM_PATH + "OL/haltPose/effortArm", 0.0, 0.01, 1.0, 0.0)
139  , haltEffortHipYaw (CONFIG_PARAM_PATH + "OL/haltPose/effortHipYaw", 0.0, 0.01, 1.5, 0.0)
140  , haltEffortHipRoll (CONFIG_PARAM_PATH + "OL/haltPose/effortHipRoll", 0.0, 0.01, 1.5, 0.0)
141  , haltEffortHipPitch (CONFIG_PARAM_PATH + "OL/haltPose/effortHipPitch", 0.0, 0.01, 1.5, 0.0)
142  , haltEffortKneePitch (CONFIG_PARAM_PATH + "OL/haltPose/effortKneePitch", 0.0, 0.01, 1.5, 0.0)
143  , haltEffortAnklePitch (CONFIG_PARAM_PATH + "OL/haltPose/effortAnklePitch", 0.0, 0.01, 1.5, 0.0)
144  , haltEffortAnkleRoll (CONFIG_PARAM_PATH + "OL/haltPose/effortAnkleRoll", 0.0, 0.01, 1.5, 0.0)
145 
146  , armSagSwingMag (CONFIG_PARAM_PATH + "OL/armMotion/sagSwingMag", 0.0, 0.01, 1.0, 0.0)
147  , armSagSwingMagGradX (CONFIG_PARAM_PATH + "OL/armMotion/sagSwingMagGradX", 0.0, 0.01, 1.0, 0.25)
148 
149  , legExtToAngleYGain (CONFIG_PARAM_PATH + "OL/legMotion/extToAngleYGain", -1.0, 0.05, 3.0, 0.0)
150  , legHipAngleXLegExtGain (CONFIG_PARAM_PATH + "OL/legMotion/hipAngleXLegExtGain", 0.0, 0.005, 0.5, 0.2)
151  , legStepHeight (CONFIG_PARAM_PATH + "OL/legMotion/stepHeight", 0.0, 0.005, 0.4, 0.1)
152  , legStepHeightGradX (CONFIG_PARAM_PATH + "OL/legMotion/stepHeightGradX", 0.0, 0.005, 0.4, 0.0)
153  , legStepHeightGradY (CONFIG_PARAM_PATH + "OL/legMotion/stepHeightGradY", 0.0, 0.005, 0.4, 0.0)
154  , legPushHeight (CONFIG_PARAM_PATH + "OL/legMotion/pushHeight", 0.0, 0.005, 0.4, 0.05)
155  , legPushHeightGradX (CONFIG_PARAM_PATH + "OL/legMotion/pushHeightGradX", 0.0, 0.005, 0.4, 0.0)
156  , legSagSwingMagGradXBwd (CONFIG_PARAM_PATH + "OL/legMotion/sagSwingMagGradXBwd", 0.0, 0.005, 0.4, 0.10)
157  , legSagSwingMagGradXFwd (CONFIG_PARAM_PATH + "OL/legMotion/sagSwingMagGradXFwd", 0.0, 0.005, 0.4, 0.10)
158  , legSagLeanGradAccXBwd (CONFIG_PARAM_PATH + "OL/legMotion/sagLeanGradAccXBwd", -0.5, 0.02, 3.0, 0.0)
159  , legSagLeanGradAccXFwd (CONFIG_PARAM_PATH + "OL/legMotion/sagLeanGradAccXFwd", -0.5, 0.02, 3.0, 0.0)
160  , legSagLeanGradVelXBwd (CONFIG_PARAM_PATH + "OL/legMotion/sagLeanGradVelXBwd", -0.05, 0.005, 0.15, 0.0)
161  , legSagLeanGradVelXFwd (CONFIG_PARAM_PATH + "OL/legMotion/sagLeanGradVelXFwd", -0.05, 0.005, 0.15, 0.0)
162  , legSagLeanGradVelZAbs (CONFIG_PARAM_PATH + "OL/legMotion/sagLeanGradVelZAbs", -0.15, 0.005, 0.15, 0.0)
163  , legLatSwingMagGradY (CONFIG_PARAM_PATH + "OL/legMotion/latSwingMagGradY", 0.0, 0.005, 0.4, 0.10)
164  , legLatHipSwingBias (CONFIG_PARAM_PATH + "OL/legMotion/latHipSwingBias", -0.3, 0.005, 0.3, 0.0)
165  , legLatHipSwingMag (CONFIG_PARAM_PATH + "OL/legMotion/latHipSwingMag", 0.0, 0.005, 0.3, 0.05)
166  , legLatHipSwingMagGradX (CONFIG_PARAM_PATH + "OL/legMotion/latHipSwingMagGradX", -0.15, 0.005, 0.3, 0.0)
167  , legLatHipSwingMagGradY (CONFIG_PARAM_PATH + "OL/legMotion/latHipSwingMagGradY", 0.0, 0.005, 0.3, 0.0)
168  , legLatPushoutMagGradX (CONFIG_PARAM_PATH + "OL/legMotion/latPushoutMagGradX", 0.0, 0.005, 0.3, 0.0)
169  , legLatPushoutMagGradY (CONFIG_PARAM_PATH + "OL/legMotion/latPushoutMagGradY", 0.0, 0.005, 0.3, 0.0)
170  , legLatPushoutMagGradZ (CONFIG_PARAM_PATH + "OL/legMotion/latPushoutMagGradZ", 0.0, 0.005, 0.3, 0.0)
171  , legLatLeanGradXZBwd (CONFIG_PARAM_PATH + "OL/legMotion/latLeanGradXZBwd", 0.0, 0.01, 1.0, 0.0)
172  , legLatLeanGradXZFwd (CONFIG_PARAM_PATH + "OL/legMotion/latLeanGradXZFwd", 0.0, 0.01, 1.0, 0.0)
173  , legRotSwingMagGradZ (CONFIG_PARAM_PATH + "OL/legMotion/rotSwingMagGradZ", 0.0, 0.005, 0.4, 0.10)
174  , legRotVPushoutMagGradZ (CONFIG_PARAM_PATH + "OL/legMotion/rotVPushoutMagGradZ", 0.0, 0.005, 0.4, 0.0)
175 
176  , tuningNoArms (CONFIG_PARAM_PATH + "tuning/noArms", false)
177  , tuningNoArmSwing (CONFIG_PARAM_PATH + "tuning/noArmSwing", false)
178  , tuningNoArmFeedback (CONFIG_PARAM_PATH + "tuning/noArmBasicFeedback", false)
179  , tuningNoLegs (CONFIG_PARAM_PATH + "tuning/noLegs", false)
180  , tuningNoLegLifting (CONFIG_PARAM_PATH + "tuning/noLegLifting", false)
181  , tuningNoLegSwing (CONFIG_PARAM_PATH + "tuning/noLegSwing", false)
182  , tuningNoLegHipSwing (CONFIG_PARAM_PATH + "tuning/noLegHipSwing", false)
183  , tuningNoLegPushout (CONFIG_PARAM_PATH + "tuning/noLegPushout", false)
184  , tuningNoLegLeaning (CONFIG_PARAM_PATH + "tuning/noLegLeaning", false)
185  , tuningNoLegVirtual (CONFIG_PARAM_PATH + "tuning/noLegVirtual", false)
186  , tuningNoLegFeedback (CONFIG_PARAM_PATH + "tuning/noLegBasicFeedback", false)
187  , tuningNoLegSuppCoeff (CONFIG_PARAM_PATH + "tuning/noLegSupportCoeff", false)
188 
189  , basicGlobalEnable (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/globalEnable", false)
190  , basicEnableArmAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableArmAngleX", false)
191  , basicEnableArmAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableArmAngleY", false)
192  , basicEnableComShiftX (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableComShiftX", false)
193  , basicEnableComShiftY (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableComShiftY", false)
194  , basicEnableFootAngleCX (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableFootAngleCtsX", false)
195  , basicEnableFootAngleCY (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableFootAngleCtsY", false)
196  , basicEnableFootAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableFootAngleX", false)
197  , basicEnableFootAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableFootAngleY", false)
198  , basicEnableHipAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableHipAngleX", false)
199  , basicEnableHipAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableHipAngleY", false)
200  , basicEnableTiming (CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableTiming", false)
201  , basicEnableVirtualSlope(CONFIG_PARAM_PATH + "CL/basicFeedback/enable/enableVirtualSlope", false)
202 
203  , basicFeedBiasArmAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasArmAngleX", -0.5, 0.01, 0.5, 0.0)
204  , basicFeedBiasArmAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasArmAngleY", -0.5, 0.01, 0.5, 0.0)
205  , basicFeedBiasComShiftX (CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasComShiftX", -0.1, 0.001, 0.1, 0.0)
206  , basicFeedBiasComShiftY (CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasComShiftY", -0.1, 0.001, 0.1, 0.0)
207  , basicFeedBiasFootAngleX(CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasFootAngleX", -0.5, 0.01, 0.5, 0.0)
208  , basicFeedBiasFootAngleY(CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasFootAngleY", -0.5, 0.01, 0.5, 0.0)
209  , basicFeedBiasFootAngCX (CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasFootAngleCtsX", -0.5, 0.01, 0.5, 0.0)
210  , basicFeedBiasFootAngCY (CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasFootAngleCtsY", -0.5, 0.01, 0.5, 0.0)
211  , basicFeedBiasHipAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasHipAngleX", -0.5, 0.01, 0.5, 0.0)
212  , basicFeedBiasHipAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/feedbackBias/biasHipAngleY", -0.5, 0.01, 0.5, 0.0)
213 
214  , basicFusedEnabledLat (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/enabledLat", false)
215  , basicFusedEnabledSag (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/enabledSag", false)
216  , basicFusedFilterN (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/filterN", 1, 1, 50, 10)
217  , basicFusedDeadRadiusX (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/deadbandRadiusX", 0.0, 0.01, 1.0, 0.0)
218  , basicFusedDeadRadiusY (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/deadbandRadiusY", 0.0, 0.01, 1.0, 0.0)
219  , basicFusedExpXSinMag (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/expectedXSinMag", 0.0, 0.005, 0.3, 0.0)
220  , basicFusedExpYSinMag (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/expectedYSinMag", 0.0, 0.005, 0.3, 0.0)
221  , basicFusedExpXSinOffset(CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/expectedXSinOffset", -0.3, 0.005, 0.3, 0.0)
222  , basicFusedExpYSinOffset(CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/expectedYSinOffset", -0.3, 0.005, 0.3, 0.0)
223  , basicFusedExpXSinPhase (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/expectedXSinPhase", -M_PI, 0.05, M_PI, 0.0)
224  , basicFusedExpYSinPhase (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/expectedYSinPhase", -M_PI, 0.05, M_PI, 0.0)
225  , basicFusedGainAllLat (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/gainAllLat", 0.0, 0.05, 4.0, 1.0)
226  , basicFusedGainAllSag (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/gainAllSag", 0.0, 0.05, 4.0, 1.0)
227  , basicFusedArmAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/gainArmAngleX", 0.0, 0.05, 4.0, 0.0)
228  , basicFusedArmAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/gainArmAngleY", 0.0, 0.05, 4.0, 0.0)
229  , basicFusedComShiftX (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/gainComShiftX", 0.0, 0.01, 1.0, 0.0)
230  , basicFusedComShiftY (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/gainComShiftY", 0.0, 0.01, 1.0, 0.0)
231  , basicFusedFootAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/gainFootAngleX", 0.0, 0.01, 1.0, 0.0)
232  , basicFusedFootAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/gainFootAngleY", 0.0, 0.01, 1.0, 0.0)
233  , basicFusedHipAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/lat/gainHipAngleX", 0.0, 0.01, 1.0, 0.0)
234  , basicFusedHipAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/fused/sag/gainHipAngleY", 0.0, 0.01, 1.0, 0.0)
235 
236  , basicDFusedEnabledLat (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/enabledLat", false)
237  , basicDFusedEnabledSag (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/enabledSag", false)
238  , basicDFusedFilterN (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/filterN", 1, 1, 50, 35)
239  , basicDFusedDeadRadiusX (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/lat/deadbandRadiusX", 0.0, 0.01, 1.0, 0.0)
240  , basicDFusedDeadRadiusY (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/sag/deadbandRadiusY", 0.0, 0.01, 1.0, 0.0)
241  , basicDFusedGainAllLat (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/lat/gainAllLat", 0.0, 0.05, 4.0, 1.0)
242  , basicDFusedGainAllSag (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/sag/gainAllSag", 0.0, 0.05, 4.0, 1.0)
243  , basicDFusedArmAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/lat/gainArmAngleX", 0.0, 0.05, 4.0, 0.0)
244  , basicDFusedArmAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/sag/gainArmAngleY", 0.0, 0.05, 4.0, 0.0)
245  , basicDFusedComShiftX (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/sag/gainComShiftX", 0.0, 0.01, 1.0, 0.0)
246  , basicDFusedComShiftY (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/lat/gainComShiftY", 0.0, 0.01, 1.0, 0.0)
247  , basicDFusedFootAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/lat/gainFootAngleX", 0.0, 0.01, 1.0, 0.0)
248  , basicDFusedFootAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/sag/gainFootAngleY", 0.0, 0.01, 1.0, 0.0)
249  , basicDFusedHipAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/lat/gainHipAngleX", 0.0, 0.01, 1.0, 0.0)
250  , basicDFusedHipAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/dFused/sag/gainHipAngleY", 0.0, 0.01, 1.0, 0.0)
251 
252  , basicIFusedEnabledLat (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/enabledLat", false)
253  , basicIFusedEnabledSag (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/enabledSag", false)
254  , basicIFusedFilterN (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/filterN", 1, 1, 50, 1)
255  , basicIFusedHalfLifeTime(CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/halfLifeTime", 0.05, 0.05, 20.0, 5.0)
256  , basicIFusedTimeToDecay (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/timeToDecay", 0.5, 0.5, 60.0, 20.0)
257  , basicIFusedTimeToFreeze(CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/timeToFreeze", 0.1, 0.05, 2.0, 0.1)
258  , basicIFusedGainAllLat (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/lat/gainAllLat", 0.0, 0.01, 1.0, 0.0) // Note: This gets multiplied by 1e-3
259  , basicIFusedGainAllSag (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/sag/gainAllSag", 0.0, 0.01, 1.0, 0.0) // Note: This gets multiplied by 1e-3
260  , basicIFusedArmAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/lat/gainArmAngleX", 0.0, 0.05, 4.0, 0.0)
261  , basicIFusedArmAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/sag/gainArmAngleY", 0.0, 0.05, 4.0, 0.0)
262  , basicIFusedComShiftX (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/sag/gainComShiftX", 0.0, 0.01, 1.0, 0.0)
263  , basicIFusedComShiftY (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/lat/gainComShiftY", 0.0, 0.01, 1.0, 0.0)
264  , basicIFusedFootAngleCX (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/lat/gainFootAngleCtsX", 0.0, 0.01, 1.0, 0.0)
265  , basicIFusedFootAngleCY (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/sag/gainFootAngleCtsY", 0.0, 0.01, 1.0, 0.0)
266  , basicIFusedFootAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/lat/gainFootAngleX", 0.0, 0.01, 1.0, 0.0)
267  , basicIFusedFootAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/sag/gainFootAngleY", 0.0, 0.01, 1.0, 0.0)
268  , basicIFusedHipAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/lat/gainHipAngleX", 0.0, 0.01, 1.0, 0.0)
269  , basicIFusedHipAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/iFused/sag/gainHipAngleY", 0.0, 0.01, 1.0, 0.0)
270 
271  , basicGyroEnabledLat (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/enabledLat", false)
272  , basicGyroEnabledSag (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/enabledSag", false)
273  , basicGyroFilterN (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/filterN", 1, 1, 50, 35)
274  , basicGyroDeadRadiusX (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/lat/deadbandRadiusX", 0.0, 0.01, 1.0, 0.0)
275  , basicGyroDeadRadiusY (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/sag/deadbandRadiusY", 0.0, 0.01, 1.0, 0.0)
276  , basicGyroExpX (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/lat/expectedGyroX", -1.0, 0.01, 1.0, 0.0)
277  , basicGyroExpY (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/sag/expectedGyroY", -1.0, 0.01, 1.0, 0.0)
278  , basicGyroGainAllLat (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/lat/gainAllLat", 0.0, 0.05, 4.0, 1.0)
279  , basicGyroGainAllSag (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/sag/gainAllSag", 0.0, 0.05, 4.0, 1.0)
280  , basicGyroArmAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/lat/gainArmAngleX", 0.0, 0.05, 4.0, 0.0)
281  , basicGyroArmAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/sag/gainArmAngleY", 0.0, 0.05, 4.0, 0.0)
282  , basicGyroComShiftX (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/sag/gainComShiftX", 0.0, 0.01, 1.0, 0.0)
283  , basicGyroComShiftY (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/lat/gainComShiftY", 0.0, 0.01, 1.0, 0.0)
284  , basicGyroFootAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/lat/gainFootAngleX", 0.0, 0.01, 1.0, 0.0)
285  , basicGyroFootAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/sag/gainFootAngleY", 0.0, 0.01, 1.0, 0.0)
286  , basicGyroHipAngleX (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/lat/gainHipAngleX", 0.0, 0.01, 1.0, 0.0)
287  , basicGyroHipAngleY (CONFIG_PARAM_PATH + "CL/basicFeedback/gyro/sag/gainHipAngleY", 0.0, 0.01, 1.0, 0.0)
288 
289  , basicTimingFeedDeadRad (CONFIG_PARAM_PATH + "CL/basicFeedback/timing/feedDeadRadius", 0.0, 0.01, 1.0, 0.0)
290  , basicTimingGainSlowDown(CONFIG_PARAM_PATH + "CL/basicFeedback/timing/gainSlowDown", 0.0, 0.1, 20.0, 5.0)
291  , basicTimingGainSpeedUp (CONFIG_PARAM_PATH + "CL/basicFeedback/timing/gainSpeedUp", 0.0, 0.1, 20.0, 3.0)
292  , basicTimingWeightFactor(CONFIG_PARAM_PATH + "CL/basicFeedback/timing/weightFactor", 0.0, 0.05, 5.0, 1.0)
293 
294  , basicComShiftXBuf (CONFIG_PARAM_PATH + "CL/basicFeedback/comShift/comShiftXBuf", 0.0, 0.001, 0.1, 0.0)
295  , basicComShiftXMax (CONFIG_PARAM_PATH + "CL/basicFeedback/comShift/comShiftXMax", 0.0, 0.001, 0.1, 0.0)
296  , basicComShiftXMin (CONFIG_PARAM_PATH + "CL/basicFeedback/comShift/comShiftXMin", -0.1, 0.001, 0.0, 0.0)
297  , basicComShiftXUseLimits(CONFIG_PARAM_PATH + "CL/basicFeedback/comShift/comShiftXUseLimits", true)
298  , basicComShiftYBuf (CONFIG_PARAM_PATH + "CL/basicFeedback/comShift/comShiftYBuf", 0.0, 0.001, 0.1, 0.0)
299  , basicComShiftYMax (CONFIG_PARAM_PATH + "CL/basicFeedback/comShift/comShiftYMax", 0.0, 0.001, 0.1, 0.0)
300  , basicComShiftYMin (CONFIG_PARAM_PATH + "CL/basicFeedback/comShift/comShiftYMin", -0.1, 0.001, 0.0, 0.0)
301  , basicComShiftYUseLimits(CONFIG_PARAM_PATH + "CL/basicFeedback/comShift/comShiftYUseLimits", true)
302  , basicFootAnglePhaseLen (CONFIG_PARAM_PATH + "CL/basicFeedback/footAngle/transitionPhaseLen", 0.3, 0.01, 1.5, 0.5)
303 
304  , virtualSlopeOffset (CONFIG_PARAM_PATH + "CL/basicFeedback/virtualSlope/virtualSlopeOffset", -0.2, 0.005, 0.2, 0.0)
305  , virtualSlopeGainAsc (CONFIG_PARAM_PATH + "CL/basicFeedback/virtualSlope/virtualSlopeGainAsc", 0.0, 0.02, 2.0, 0.0)
306  , virtualSlopeGainDsc (CONFIG_PARAM_PATH + "CL/basicFeedback/virtualSlope/virtualSlopeGainDsc", 0.0, 0.02, 2.0, 0.0)
307  , virtualSlopeMidAngle (CONFIG_PARAM_PATH + "CL/basicFeedback/virtualSlope/virtualSlopeMidAngle", -0.5, 0.01, 0.5, 0.0)
308  , virtualSlopeMinAngle (CONFIG_PARAM_PATH + "CL/basicFeedback/virtualSlope/virtualSlopeMinAngle", 0.0, 0.01, 1.0, 0.1)
309 
310  , cmdAllowCLStepSizeX (CONFIG_PARAM_PATH + "CL/cmd/allowCLStepSizeX", false)
311  , cmdUseCLStepSize (CONFIG_PARAM_PATH + "CL/cmd/useCLStepSize", false)
312  , cmdUseCLTiming (CONFIG_PARAM_PATH + "CL/cmd/useCLTiming", false)
313  , cmdUseNonZeroZMP (CONFIG_PARAM_PATH + "CL/cmd/useNonZeroZMP", false)
314  , cmdUseRXFeedback (CONFIG_PARAM_PATH + "CL/cmd/useRXFeedback", false)
315  , cmdUseTXStepSize (CONFIG_PARAM_PATH + "CL/cmd/useTXStepSize", false)
316  , cmdUseTXTiming (CONFIG_PARAM_PATH + "CL/cmd/useTXTiming", false)
317  , mgC (CONFIG_PARAM_PATH + "CL/mg/LIPM/C", 0.0, 0.2, 40.0, 10.0)
318  , mgAlpha (CONFIG_PARAM_PATH + "CL/mg/LIPM/Alpha", -1.0, 0.01, 1.0, 0.0)
319  , mgDelta (CONFIG_PARAM_PATH + "CL/mg/LIPM/Delta", -1.0, 0.01, 1.0, 0.0)
320  , mgOmega (CONFIG_PARAM_PATH + "CL/mg/LIPM/Omega", -1.0, 0.01, 1.0, 0.0)
321  , mgSigma (CONFIG_PARAM_PATH + "CL/mg/LIPM/Sigma", -2.0, 0.02, 2.0, 0.0)
322  , mgGamma (CONFIG_PARAM_PATH + "CL/mg/LIPM/Gamma", -1.0, 0.02, 3.0, 0.0)
323  , mgLatency (CONFIG_PARAM_PATH + "CL/mg/latency", 0.0, 0.002, 0.4, 0.050)
324  , mgZmpXMin (CONFIG_PARAM_PATH + "CL/mg/zmpXMin", -1.0, 0.01, 1.0, 0.0)
325  , mgZmpXMax (CONFIG_PARAM_PATH + "CL/mg/zmpXMax", -1.0, 0.01, 1.0, 0.0)
326  , mgZmpYMin (CONFIG_PARAM_PATH + "CL/mg/zmpYMin", -1.0, 0.01, 1.0, 0.0)
327  , mgZmpYMax (CONFIG_PARAM_PATH + "CL/mg/zmpYMax", -1.0, 0.01, 1.0, 0.0)
328  , mgComOffsetX (CONFIG_PARAM_PATH + "CL/mg/comOffsetX", -1.0, 0.01, 1.0, 0.0)
329  , mgComOffsetY (CONFIG_PARAM_PATH + "CL/mg/comOffsetY", -1.0, 0.01, 1.0, 0.0)
330  , mgComOffsetYBias (CONFIG_PARAM_PATH + "CL/mg/comOffsetYBias", -0.2, 0.005, 0.2, 0.0)
331  , mgFusedOffsetX (CONFIG_PARAM_PATH + "CL/mg/fusedOffsetX", -0.5, 0.005, 0.5, 0.0)
332  , mgFusedOffsetY (CONFIG_PARAM_PATH + "CL/mg/fusedOffsetY", -0.5, 0.005, 0.5, 0.0)
333  , mgMaxStepRadiusX (CONFIG_PARAM_PATH + "CL/mg/maxStepRadiusX", 0.0, 0.01, 2.0, 0.4)
334  , mgMaxStepRadiusY (CONFIG_PARAM_PATH + "CL/mg/maxStepRadiusY", 0.0, 0.01, 2.0, 0.4)
335  , mgMaxComPositionX (CONFIG_PARAM_PATH + "CL/mg/maxComPositionX", -1.0, 0.01, 1.0, 0.0)
336  , mgPostStepStateCorrAng (CONFIG_PARAM_PATH + "CL/mg/postStepStateCorrAng", -1.0, 0.01, 1.0, 0.0)
337  , nsGain (CONFIG_PARAM_PATH + "CL/noiseSuppression/gain", 0.0, 0.01, 2.0, 1.0)
338  , nsFusedXRangeLBnd (CONFIG_PARAM_PATH + "CL/noiseSuppression/fusedXRangeLBnd", -0.5, 0.01, 0.5, 0.0)
339  , nsFusedXRangeUBnd (CONFIG_PARAM_PATH + "CL/noiseSuppression/fusedXRangeUBnd", -0.5, 0.01, 0.5, 0.0)
340  , nsFusedYRangeLBnd (CONFIG_PARAM_PATH + "CL/noiseSuppression/fusedYRangeLBnd", -0.5, 0.01, 0.5, 0.0)
341  , nsFusedYRangeUBnd (CONFIG_PARAM_PATH + "CL/noiseSuppression/fusedYRangeUBnd", -0.5, 0.01, 0.5, 0.0)
342  , nsMaxAdaptation (CONFIG_PARAM_PATH + "CL/noiseSuppression/maxAdaptation", 0.0, 0.01, 1.0, 1.0)
343  , nsAdaptationGain (CONFIG_PARAM_PATH + "CL/noiseSuppression/adaptationGain", 0.0, 0.05, 5.0, 1.0)
344  , nsStepNoiseTime (CONFIG_PARAM_PATH + "CL/noiseSuppression/stepNoiseTime", 0.05, 0.01, 1.0, 0.1)
345  {
346  // Set up robot specification callbacks
347  boost::function<void (const float&)> robotSpecCallback = boost::bind(&CapConfig::callRobotSpecCallbacks, this);
348  armLinkLength.setCallback(robotSpecCallback);
349  legLinkLength.setCallback(robotSpecCallback);
350  shoulderWidth.setCallback(robotSpecCallback);
351  hipWidth.setCallback(robotSpecCallback);
352  trunkHeight.setCallback(robotSpecCallback);
353  trunkLinkOffsetX.setCallback(robotSpecCallback);
354  trunkLinkOffsetY.setCallback(robotSpecCallback);
355  trunkLinkOffsetZ.setCallback(robotSpecCallback);
356  comOffsetX.setCallback(robotSpecCallback);
357  comOffsetZ.setCallback(robotSpecCallback);
358  footWidth.setCallback(robotSpecCallback);
359  footLength.setCallback(robotSpecCallback);
360  footOffsetX.setCallback(robotSpecCallback);
361  footOffsetY.setCallback(robotSpecCallback);
362  footOffsetZ.setCallback(robotSpecCallback);
363  neckHeight.setCallback(robotSpecCallback);
364  headOffsetX.setCallback(robotSpecCallback);
365  headOffsetZ.setCallback(robotSpecCallback);
366  }
367 
370  const std::string CONFIG_PARAM_PATH;
371 
375  config_server::Parameter<float> armLinkLength;
376  config_server::Parameter<float> legLinkLength;
377  config_server::Parameter<float> shoulderWidth;
378  config_server::Parameter<float> hipWidth;
379  config_server::Parameter<float> trunkHeight;
380  config_server::Parameter<float> trunkLinkOffsetX;
381  config_server::Parameter<float> trunkLinkOffsetY;
382  config_server::Parameter<float> trunkLinkOffsetZ;
383  config_server::Parameter<float> comOffsetX;
384  config_server::Parameter<float> comOffsetZ;
385  config_server::Parameter<float> footWidth;
386  config_server::Parameter<float> footLength;
387  config_server::Parameter<float> footOffsetX;
388  config_server::Parameter<float> footOffsetY;
389  config_server::Parameter<float> footOffsetZ;
390  config_server::Parameter<float> neckHeight;
391  config_server::Parameter<float> headOffsetX;
392  config_server::Parameter<float> headOffsetZ;
393 
397  config_server::Parameter<float> armThickness;
398  config_server::Parameter<float> legThickness;
399  config_server::Parameter<float> headDiameter;
400  config_server::Parameter<float> jointDiameter;
401  config_server::Parameter<float> visOffsetX;
402  config_server::Parameter<float> visOffsetY;
403  config_server::Parameter<float> visOffsetZ;
404  config_server::Parameter<bool> markVectors;
405 
409  config_server::Parameter<float> footHeightHysteresis;
410 
414  config_server::Parameter<bool> enableMotionStances;
415  config_server::Parameter<float> gaitFrequency;
416  config_server::Parameter<float> gaitFrequencyMax;
417  config_server::Parameter<bool> leftLegFirst;
418  config_server::Parameter<float> stanceAdjustGcvMax;
419  config_server::Parameter<float> stanceAdjustRate;
420  config_server::Parameter<float> stoppingGcvMag;
421  config_server::Parameter<float> stoppingPhaseTolLB;
422  config_server::Parameter<float> stoppingPhaseTolUB;
423  config_server::Parameter<float> supportCoeffRange;
424  config_server::Parameter<bool> useServoModel;
425 
429  config_server::Parameter<float> gcvBiasLinVelX;
430  config_server::Parameter<float> gcvBiasLinVelY;
431  config_server::Parameter<float> gcvBiasAngVelZ;
432  config_server::Parameter<float> gcvAccForwards;
433  config_server::Parameter<float> gcvAccBackwards;
434  config_server::Parameter<float> gcvAccSidewards;
435  config_server::Parameter<float> gcvAccRotational;
436  config_server::Parameter<float> gcvDecToAccRatio;
437  config_server::Parameter<float> gcvAccJerkLimitX;
438  config_server::Parameter<float> gcvAccJerkLimitY;
439  config_server::Parameter<float> gcvAccJerkLimitZ;
440  config_server::Parameter<float> gcvPrescalerLinVelX;
441  config_server::Parameter<float> gcvPrescalerLinVelY;
442  config_server::Parameter<float> gcvPrescalerAngVelZ;
443 
447  config_server::Parameter<float> limArmAngleXBuf;
448  config_server::Parameter<float> limArmAngleXMax;
449  config_server::Parameter<float> limArmAngleXMin;
450  config_server::Parameter<bool> limArmAngleXUseLimits;
451  config_server::Parameter<float> limArmAngleYBuf;
452  config_server::Parameter<float> limArmAngleYMax;
453  config_server::Parameter<float> limArmAngleYMin;
454  config_server::Parameter<bool> limArmAngleYUseLimits;
455  config_server::Parameter<float> limFootAngleXBuf;
456  config_server::Parameter<float> limFootAngleXMax;
457  config_server::Parameter<float> limFootAngleXMin;
458  config_server::Parameter<bool> limFootAngleXUseLimits;
459  config_server::Parameter<float> limFootAngleYBuf;
460  config_server::Parameter<float> limFootAngleYMax;
461  config_server::Parameter<float> limFootAngleYMin;
462  config_server::Parameter<bool> limFootAngleYUseLimits;
463  config_server::Parameter<float> limLegAngleXBuf;
464  config_server::Parameter<float> limLegAngleXMax;
465  config_server::Parameter<float> limLegAngleXMin;
466  config_server::Parameter<bool> limLegAngleXUseLimits;
467  config_server::Parameter<float> limLegAngleYBuf;
468  config_server::Parameter<float> limLegAngleYMax;
469  config_server::Parameter<float> limLegAngleYMin;
470  config_server::Parameter<bool> limLegAngleYUseLimits;
471  config_server::Parameter<float> limLegExtBuf;
472  config_server::Parameter<float> limLegExtMin;
473  config_server::Parameter<bool> limLegExtUseLimits;
474 
478  config_server::Parameter<float> startBlendPhaseLen;
479  config_server::Parameter<float> stopBlendPhaseLen;
480  config_server::Parameter<float> doubleSupportPhaseLen;
481  config_server::Parameter<float> swingStartPhaseOffset;
482  config_server::Parameter<float> swingStopPhaseOffset;
483  config_server::Parameter<float> swingMinPhaseLen;
484  config_server::Parameter<float> suppTransStartRatio;
485  config_server::Parameter<float> suppTransStopRatio;
486  config_server::Parameter<float> filletStepPhaseLen;
487  config_server::Parameter<float> filletPushPhaseLen;
488 
492  config_server::Parameter<float> haltArmExtension;
493  config_server::Parameter<float> haltArmAngleX;
494  config_server::Parameter<float> haltArmAngleXBias;
495  config_server::Parameter<float> haltArmAngleY;
496  config_server::Parameter<float> haltLegExtension;
497  config_server::Parameter<float> haltLegExtensionBias;
498  config_server::Parameter<float> haltLegAngleX;
499  config_server::Parameter<float> haltLegAngleXBias;
500  config_server::Parameter<float> haltLegAngleXNarrow;
501  config_server::Parameter<float> haltLegAngleY;
502  config_server::Parameter<float> haltLegAngleZ;
503  config_server::Parameter<float> haltFootAngleX;
504  config_server::Parameter<float> haltFootAngleXBias;
505  config_server::Parameter<float> haltFootAngleY;
506  config_server::Parameter<float> haltEffortArm;
507  config_server::Parameter<float> haltEffortHipYaw;
508  config_server::Parameter<float> haltEffortHipRoll;
509  config_server::Parameter<float> haltEffortHipPitch;
510  config_server::Parameter<float> haltEffortKneePitch;
511  config_server::Parameter<float> haltEffortAnklePitch;
512  config_server::Parameter<float> haltEffortAnkleRoll;
513 
517  config_server::Parameter<float> armSagSwingMag;
518  config_server::Parameter<float> armSagSwingMagGradX;
519 
523  config_server::Parameter<float> legExtToAngleYGain;
524  config_server::Parameter<float> legHipAngleXLegExtGain;
525  config_server::Parameter<float> legStepHeight;
526  config_server::Parameter<float> legStepHeightGradX;
527  config_server::Parameter<float> legStepHeightGradY;
528  config_server::Parameter<float> legPushHeight;
529  config_server::Parameter<float> legPushHeightGradX;
530  config_server::Parameter<float> legSagSwingMagGradXBwd;
531  config_server::Parameter<float> legSagSwingMagGradXFwd;
532  config_server::Parameter<float> legSagLeanGradAccXBwd;
533  config_server::Parameter<float> legSagLeanGradAccXFwd;
534  config_server::Parameter<float> legSagLeanGradVelXBwd;
535  config_server::Parameter<float> legSagLeanGradVelXFwd;
536  config_server::Parameter<float> legSagLeanGradVelZAbs;
537  config_server::Parameter<float> legLatSwingMagGradY;
538  config_server::Parameter<float> legLatHipSwingBias;
539  config_server::Parameter<float> legLatHipSwingMag;
540  config_server::Parameter<float> legLatHipSwingMagGradX;
541  config_server::Parameter<float> legLatHipSwingMagGradY;
542  config_server::Parameter<float> legLatPushoutMagGradX;
543  config_server::Parameter<float> legLatPushoutMagGradY;
544  config_server::Parameter<float> legLatPushoutMagGradZ;
545  config_server::Parameter<float> legLatLeanGradXZBwd;
546  config_server::Parameter<float> legLatLeanGradXZFwd;
547  config_server::Parameter<float> legRotSwingMagGradZ;
548  config_server::Parameter<float> legRotVPushoutMagGradZ;
549 
553  config_server::Parameter<bool> tuningNoArms;
554  config_server::Parameter<bool> tuningNoArmSwing;
555  config_server::Parameter<bool> tuningNoArmFeedback;
556  config_server::Parameter<bool> tuningNoLegs;
557  config_server::Parameter<bool> tuningNoLegLifting;
558  config_server::Parameter<bool> tuningNoLegSwing;
559  config_server::Parameter<bool> tuningNoLegHipSwing;
560  config_server::Parameter<bool> tuningNoLegPushout;
561  config_server::Parameter<bool> tuningNoLegLeaning;
562  config_server::Parameter<bool> tuningNoLegVirtual;
563  config_server::Parameter<bool> tuningNoLegFeedback;
564  config_server::Parameter<bool> tuningNoLegSuppCoeff;
565 
569  config_server::Parameter<bool> basicGlobalEnable;
570  config_server::Parameter<bool> basicEnableArmAngleX;
571  config_server::Parameter<bool> basicEnableArmAngleY;
572  config_server::Parameter<bool> basicEnableComShiftX;
573  config_server::Parameter<bool> basicEnableComShiftY;
574  config_server::Parameter<bool> basicEnableFootAngleCX;
575  config_server::Parameter<bool> basicEnableFootAngleCY;
576  config_server::Parameter<bool> basicEnableFootAngleX;
577  config_server::Parameter<bool> basicEnableFootAngleY;
578  config_server::Parameter<bool> basicEnableHipAngleX;
579  config_server::Parameter<bool> basicEnableHipAngleY;
580  config_server::Parameter<bool> basicEnableTiming; // Note: To enable basic timing feedback, cmdUseCLTiming must also be true!
581  config_server::Parameter<bool> basicEnableVirtualSlope;
582 
583  config_server::Parameter<float> basicFeedBiasArmAngleX;
584  config_server::Parameter<float> basicFeedBiasArmAngleY;
585  config_server::Parameter<float> basicFeedBiasComShiftX;
586  config_server::Parameter<float> basicFeedBiasComShiftY;
587  config_server::Parameter<float> basicFeedBiasFootAngleX;
588  config_server::Parameter<float> basicFeedBiasFootAngleY;
589  config_server::Parameter<float> basicFeedBiasFootAngCX;
590  config_server::Parameter<float> basicFeedBiasFootAngCY;
591  config_server::Parameter<float> basicFeedBiasHipAngleX;
592  config_server::Parameter<float> basicFeedBiasHipAngleY;
593 
594  config_server::Parameter<bool> basicFusedEnabledLat;
595  config_server::Parameter<bool> basicFusedEnabledSag;
596  config_server::Parameter<int> basicFusedFilterN;
597  config_server::Parameter<float> basicFusedDeadRadiusX;
598  config_server::Parameter<float> basicFusedDeadRadiusY;
599  config_server::Parameter<float> basicFusedExpXSinMag;
600  config_server::Parameter<float> basicFusedExpYSinMag;
601  config_server::Parameter<float> basicFusedExpXSinOffset;
602  config_server::Parameter<float> basicFusedExpYSinOffset;
603  config_server::Parameter<float> basicFusedExpXSinPhase;
604  config_server::Parameter<float> basicFusedExpYSinPhase;
605  config_server::Parameter<float> basicFusedGainAllLat;
606  config_server::Parameter<float> basicFusedGainAllSag;
607  config_server::Parameter<float> basicFusedArmAngleX;
608  config_server::Parameter<float> basicFusedArmAngleY;
609  config_server::Parameter<float> basicFusedComShiftX;
610  config_server::Parameter<float> basicFusedComShiftY;
611  config_server::Parameter<float> basicFusedFootAngleX;
612  config_server::Parameter<float> basicFusedFootAngleY;
613  config_server::Parameter<float> basicFusedHipAngleX;
614  config_server::Parameter<float> basicFusedHipAngleY;
615 
616  config_server::Parameter<bool> basicDFusedEnabledLat;
617  config_server::Parameter<bool> basicDFusedEnabledSag;
618  config_server::Parameter<int> basicDFusedFilterN;
619  config_server::Parameter<float> basicDFusedDeadRadiusX;
620  config_server::Parameter<float> basicDFusedDeadRadiusY;
621  config_server::Parameter<float> basicDFusedGainAllLat;
622  config_server::Parameter<float> basicDFusedGainAllSag;
623  config_server::Parameter<float> basicDFusedArmAngleX;
624  config_server::Parameter<float> basicDFusedArmAngleY;
625  config_server::Parameter<float> basicDFusedComShiftX;
626  config_server::Parameter<float> basicDFusedComShiftY;
627  config_server::Parameter<float> basicDFusedFootAngleX;
628  config_server::Parameter<float> basicDFusedFootAngleY;
629  config_server::Parameter<float> basicDFusedHipAngleX;
630  config_server::Parameter<float> basicDFusedHipAngleY;
631 
632  config_server::Parameter<bool> basicIFusedEnabledLat;
633  config_server::Parameter<bool> basicIFusedEnabledSag;
634  config_server::Parameter<int> basicIFusedFilterN;
635  config_server::Parameter<float> basicIFusedHalfLifeTime;
636  config_server::Parameter<float> basicIFusedTimeToDecay;
637  config_server::Parameter<float> basicIFusedTimeToFreeze;
638  config_server::Parameter<float> basicIFusedGainAllLat;
639  config_server::Parameter<float> basicIFusedGainAllSag;
640  config_server::Parameter<float> basicIFusedArmAngleX;
641  config_server::Parameter<float> basicIFusedArmAngleY;
642  config_server::Parameter<float> basicIFusedComShiftX;
643  config_server::Parameter<float> basicIFusedComShiftY;
644  config_server::Parameter<float> basicIFusedFootAngleCX;
645  config_server::Parameter<float> basicIFusedFootAngleCY;
646  config_server::Parameter<float> basicIFusedFootAngleX;
647  config_server::Parameter<float> basicIFusedFootAngleY;
648  config_server::Parameter<float> basicIFusedHipAngleX;
649  config_server::Parameter<float> basicIFusedHipAngleY;
650 
651  config_server::Parameter<bool> basicGyroEnabledLat;
652  config_server::Parameter<bool> basicGyroEnabledSag;
653  config_server::Parameter<int> basicGyroFilterN;
654  config_server::Parameter<float> basicGyroDeadRadiusX;
655  config_server::Parameter<float> basicGyroDeadRadiusY;
656  config_server::Parameter<float> basicGyroExpX;
657  config_server::Parameter<float> basicGyroExpY;
658  config_server::Parameter<float> basicGyroGainAllLat;
659  config_server::Parameter<float> basicGyroGainAllSag;
660  config_server::Parameter<float> basicGyroArmAngleX;
661  config_server::Parameter<float> basicGyroArmAngleY;
662  config_server::Parameter<float> basicGyroComShiftX;
663  config_server::Parameter<float> basicGyroComShiftY;
664  config_server::Parameter<float> basicGyroFootAngleX;
665  config_server::Parameter<float> basicGyroFootAngleY;
666  config_server::Parameter<float> basicGyroHipAngleX;
667  config_server::Parameter<float> basicGyroHipAngleY;
668 
669  config_server::Parameter<float> basicTimingFeedDeadRad;
670  config_server::Parameter<float> basicTimingGainSlowDown;
671  config_server::Parameter<float> basicTimingGainSpeedUp;
672  config_server::Parameter<float> basicTimingWeightFactor;
673 
674  config_server::Parameter<float> basicComShiftXBuf;
675  config_server::Parameter<float> basicComShiftXMax;
676  config_server::Parameter<float> basicComShiftXMin;
677  config_server::Parameter<bool> basicComShiftXUseLimits;
678  config_server::Parameter<float> basicComShiftYBuf;
679  config_server::Parameter<float> basicComShiftYMax;
680  config_server::Parameter<float> basicComShiftYMin;
681  config_server::Parameter<bool> basicComShiftYUseLimits;
682  config_server::Parameter<float> basicFootAnglePhaseLen; // Determines how quickly the foot angle feedback fades in (and out) after a foot becomes the support foot
683 
684  config_server::Parameter<float> virtualSlopeOffset;
685  config_server::Parameter<float> virtualSlopeGainAsc;
686  config_server::Parameter<float> virtualSlopeGainDsc;
687  config_server::Parameter<float> virtualSlopeMidAngle;
688  config_server::Parameter<float> virtualSlopeMinAngle;
689 
693  config_server::Parameter<bool> cmdAllowCLStepSizeX;
694  config_server::Parameter<bool> cmdUseCLStepSize;
695  config_server::Parameter<bool> cmdUseCLTiming;
696  config_server::Parameter<bool> cmdUseNonZeroZMP;
697  config_server::Parameter<bool> cmdUseRXFeedback;
698  config_server::Parameter<bool> cmdUseTXStepSize;
699  config_server::Parameter<bool> cmdUseTXTiming;
700  config_server::Parameter<float> mgC;
701  config_server::Parameter<float> mgAlpha;
702  config_server::Parameter<float> mgDelta;
703  config_server::Parameter<float> mgOmega;
704  config_server::Parameter<float> mgSigma;
705  config_server::Parameter<float> mgGamma;
706  config_server::Parameter<float> mgLatency;
707  config_server::Parameter<float> mgZmpXMin;
708  config_server::Parameter<float> mgZmpXMax;
709  config_server::Parameter<float> mgZmpYMin;
710  config_server::Parameter<float> mgZmpYMax;
711  config_server::Parameter<float> mgComOffsetX;
712  config_server::Parameter<float> mgComOffsetY;
713  config_server::Parameter<float> mgComOffsetYBias;
714  config_server::Parameter<float> mgFusedOffsetX;
715  config_server::Parameter<float> mgFusedOffsetY;
716  config_server::Parameter<float> mgMaxStepRadiusX;
717  config_server::Parameter<float> mgMaxStepRadiusY;
718  config_server::Parameter<float> mgMaxComPositionX;
719  config_server::Parameter<float> mgPostStepStateCorrAng;
720  config_server::Parameter<float> nsGain;
721  config_server::Parameter<float> nsFusedXRangeLBnd;
722  config_server::Parameter<float> nsFusedXRangeUBnd;
723  config_server::Parameter<float> nsFusedYRangeLBnd;
724  config_server::Parameter<float> nsFusedYRangeUBnd;
725  config_server::Parameter<float> nsMaxAdaptation;
726  config_server::Parameter<float> nsAdaptationGain;
727  config_server::Parameter<float> nsStepNoiseTime;
729 
730  // Manage callbacks for robot specifications
731  void resetRobotSpecCallbacks() { m_robotSpecCallbacks.clear(); }
732  void addRobotSpecCallback(const boost::function<void ()>& callback) { m_robotSpecCallbacks.push_back(callback); callback(); }
733  void callRobotSpecCallbacks() { for(std::vector<boost::function<void ()> >::iterator it = m_robotSpecCallbacks.begin(); it != m_robotSpecCallbacks.end(); it++) (*it)(); }
734 
735  private:
736  // Callback list for robot specifications
737  std::vector<boost::function<void ()> > m_robotSpecCallbacks;
738  };
739 }
740 
741 #endif
742 // EOF
config_server::Parameter< float > hipWidth
Horizontal separation between the two hip joints (length of the hip line)
Definition: cap_gait_config.h:378
config_server::Parameter< float > legThickness
Approximate thickness of the leg segments (not for analytic calculation)
Definition: cap_gait_config.h:398
config_server::Parameter< float > haltEffortAnkleRoll
Halt pose: Joint effort to use for the leg ankle roll (in the range [0,1])
Definition: cap_gait_config.h:512
config_server::Parameter< float > gcvPrescalerAngVelZ
Prescaler for the gcv angular velocity Z that is then used by the open loop gait (allows easy scaling...
Definition: cap_gait_config.h:442
config_server::Parameter< float > haltFootAngleY
Halt pose: Pitch angle of the feet relative to the trunk (positive is what would make the robot lean ...
Definition: cap_gait_config.h:505
config_server::Parameter< float > gcvBiasLinVelX
Bias added to the linear x-velocity component of the received gait command vector so as to produce ze...
Definition: cap_gait_config.h:429
config_server::Parameter< float > limArmAngleXMin
Minimum allowed arm angle X to be commanded by the gait (for left arm)
Definition: cap_gait_config.h:449
config_server::Parameter< float > haltLegAngleXBias
Halt pose: Additive anti-symmetric roll angle of the legs (positive is a roll rotation about the posi...
Definition: cap_gait_config.h:499
config_server::Parameter< bool > limArmAngleYUseLimits
Boolean flag whether to use the specified arm angle Y min/max limits.
Definition: cap_gait_config.h:454
config_server::Parameter< float > comOffsetX
Forward offset of the CoM in front of the hip line.
Definition: cap_gait_config.h:383
config_server::Parameter< float > footHeightHysteresis
The minimum required foot height difference in the robot model to unlock the possibility of the model...
Definition: cap_gait_config.h:409
config_server::Parameter< float > legSagSwingMagGradXFwd
Gradient of the sagittal leg swing magnitude (nominally zero radians) with respect to the biased gait...
Definition: cap_gait_config.h:531
config_server::Parameter< float > haltArmAngleXBias
Halt pose: Additive anti-symmetric roll angle of the arms (positive is a roll rotation about the posi...
Definition: cap_gait_config.h:494
config_server::Parameter< float > stoppingPhaseTolLB
Gait phase tolerance below 0 and π, in units of nominal phase increments (see gaitFrequency and the r...
Definition: cap_gait_config.h:421
config_server::Parameter< bool > limLegAngleYUseLimits
Boolean flag whether to use the specified leg angle Y min/max limits.
Definition: cap_gait_config.h:470
config_server::Parameter< float > visOffsetY
Global y offset to the robot model where the RobotModelVis visualisation should be displayed...
Definition: cap_gait_config.h:402
config_server::Parameter< float > limLegExtBuf
Buffer for soft limiting of the leg extension to be commanded by the gait (see rc_utils::coerceSoftMi...
Definition: cap_gait_config.h:471
config_server::Parameter< float > limFootAngleYMin
Minimum allowed foot angle Y to be commanded by the gait.
Definition: cap_gait_config.h:461
config_server::Parameter< float > stanceAdjustGcvMax
The maximum GCV at which stance adjustments are allowed to occur during stopping. ...
Definition: cap_gait_config.h:418
config_server::Parameter< float > armSagSwingMag
Magnitude in radians of the arm swing to use at zero biased gait command velocity (for a total peak-t...
Definition: cap_gait_config.h:517
config_server::Parameter< bool > markVectors
Boolean flag whether to publish arrow markers showing the various vector quantities of the robot mode...
Definition: cap_gait_config.h:404
config_server::Parameter< float > limArmAngleYMin
Minimum allowed arm angle Y to be commanded by the gait.
Definition: cap_gait_config.h:453
config_server::Parameter< float > legStepHeightGradY
Gradient of legStepHeight with respect to the absolute biased gait command y-velocity.
Definition: cap_gait_config.h:527
config_server::Parameter< float > limLegAngleXMin
Minimum allowed leg angle X to be commanded by the gait (for left leg)
Definition: cap_gait_config.h:465
config_server::Parameter< float > gcvAccJerkLimitY
Jerk (acceleration slope) limit for the calculation of the gait command acceleration from m_gcv (line...
Definition: cap_gait_config.h:438
config_server::Parameter< float > footOffsetX
Backward offset from the foot plate geometric center to the ankle joint (along x-axis) ...
Definition: cap_gait_config.h:387
config_server::Parameter< bool > tuningNoLegFeedback
Disable all leg basic feedback components.
Definition: cap_gait_config.h:563
config_server::Parameter< float > legLatHipSwingMagGradX
Gradient of the lateral hip swing magnitude with respect to the absolute biased gait command x-veloci...
Definition: cap_gait_config.h:540
config_server::Parameter< float > limLegAngleXBuf
Angle buffer for soft limiting of the leg angle X to be commanded by the gait (see rc_utils::coerceSo...
Definition: cap_gait_config.h:463
config_server::Parameter< float > legLatHipSwingMag
Nominal lateral hip swing magnitude (hip roll angle, units of radians) to use at zero biased gait com...
Definition: cap_gait_config.h:539
config_server::Parameter< float > limArmAngleXBuf
Angle buffer for soft limiting of the arm angle X to be commanded by the gait (see rc_utils::coerceSo...
Definition: cap_gait_config.h:447
config_server::Parameter< float > virtualSlopeOffset
A constant offset to the virtual slope to continuously apply while walking.
Definition: cap_gait_config.h:684
config_server::Parameter< float > gcvAccForwards
Gait command acceleration limit for positive linear x command velocities (scale by gcvDecToAccRatio t...
Definition: cap_gait_config.h:432
config_server::Parameter< float > haltArmAngleY
Halt pose: Pitch angle of the central axis of the arms (positive is moving the arms towards the back ...
Definition: cap_gait_config.h:495
config_server::Parameter< float > headOffsetZ
Upward offset from the neck joint to the center of the head (not for analytic calculation) ...
Definition: cap_gait_config.h:392
config_server::Parameter< bool > cmdUseTXTiming
If cmdUseCLTiming is true: Boolean flag whether the closed loop timing calculated by the TX model sho...
Definition: cap_gait_config.h:699
config_server::Parameter< float > legSagLeanGradVelXFwd
Gradient of the sagittal lean (nominally zero radians) with respect to the biased gait command x-velo...
Definition: cap_gait_config.h:535
config_server::Parameter< bool > tuningNoLegs
Disable all gait leg motions.
Definition: cap_gait_config.h:556
config_server::Parameter< float > legLatHipSwingMagGradY
Gradient of the lateral hip swing magnitude with respect to the absolute biased gait command y-veloci...
Definition: cap_gait_config.h:541
config_server::Parameter< float > footOffsetY
Inward offset from the foot plate geometric center to the ankle joint (along y-axis) ...
Definition: cap_gait_config.h:388
config_server::Parameter< bool > cmdUseRXFeedback
Boolean flag whether the capture gait feedback from RX to MX should be activated (i.e. whether adaptation is used)
Definition: cap_gait_config.h:697
config_server::Parameter< float > legStepHeightGradX
Gradient of legStepHeight with respect to the absolute biased gait command x-velocity.
Definition: cap_gait_config.h:526
config_server::Parameter< float > filletStepPhaseLen
Nominal size, in terms of approximate phase duration, of the fillets to the leg extension stepping wa...
Definition: cap_gait_config.h:486
config_server::Parameter< float > stoppingPhaseTolUB
Gait phase tolerance above 0 and -π, in units of nominal phase increments (see gaitFrequency and the ...
Definition: cap_gait_config.h:422
config_server::Parameter< bool > tuningNoArmSwing
Disable all arm swing components.
Definition: cap_gait_config.h:554
config_server::Parameter< float > limFootAngleXMax
Maximum allowed foot angle X to be commanded by the gait (for left foot)
Definition: cap_gait_config.h:456
config_server::Parameter< float > headDiameter
Approximate diameter of the head (not for analytic calculation)
Definition: cap_gait_config.h:399
config_server::Parameter< float > haltLegAngleY
Halt pose: Pitch angle of the central axis of the legs (positive is moving the legs towards the back ...
Definition: cap_gait_config.h:501
config_server::Parameter< float > legRotVPushoutMagGradZ
Gradient of the rotational leg V pushout magnitude (nominally zero radians) with respect to the absol...
Definition: cap_gait_config.h:548
config_server::Parameter< bool > limLegAngleXUseLimits
Boolean flag whether to use the specified leg angle X min/max limits.
Definition: cap_gait_config.h:466
config_server::Parameter< float > armSagSwingMagGradX
Gradient of armSagSwingMag with respect to the biased gait command x-velocity.
Definition: cap_gait_config.h:518
config_server::Parameter< float > haltEffortArm
Halt pose: Joint effort to use for the arms (in the range [0,1])
Definition: cap_gait_config.h:506
config_server::Parameter< float > legSagLeanGradAccXBwd
Gradient of the sagittal lean (nominally zero radians) with respect to the gait command x-acceleratio...
Definition: cap_gait_config.h:532
config_server::Parameter< float > filletPushPhaseLen
Nominal size, in terms of approximate phase duration, of the fillets to the leg extension pushing wav...
Definition: cap_gait_config.h:487
config_server::Parameter< float > haltEffortKneePitch
Halt pose: Joint effort to use for the leg knee pitch (in the range [0,1])
Definition: cap_gait_config.h:510
config_server::Parameter< float > legLatPushoutMagGradY
Gradient of the outwards hip-roll-based lateral leg pushout (nominally zero radians) with respect to ...
Definition: cap_gait_config.h:543
config_server::Parameter< float > legPushHeight
Nominal support leg push height (into the ground, in units of leg extension) to use at zero biased ga...
Definition: cap_gait_config.h:528
config_server::Parameter< float > footWidth
Width of the robot foot (along y-axis, the foot plate is assumed to be rectangular) ...
Definition: cap_gait_config.h:385
config_server::Parameter< bool > tuningNoArmFeedback
Disable all arm basic feedback components.
Definition: cap_gait_config.h:555
config_server::Parameter< float > gcvBiasAngVelZ
Bias added to the angular z-velocity component of the received gait command vector so as to produce z...
Definition: cap_gait_config.h:431
config_server::Parameter< float > virtualSlopeGainDsc
Gradient of the virtual slope with respect to the fused pitch angle (after deadband has been applied)...
Definition: cap_gait_config.h:686
config_server::Parameter< float > doubleSupportPhaseLen
Length of the double support phase.
Definition: cap_gait_config.h:480
config_server::Parameter< float > gaitFrequencyMax
Maximum allowed frequency of the gait.
Definition: cap_gait_config.h:416
config_server::Parameter< float > haltLegExtension
Halt pose: Extension of the legs (0 = Fully extended, 1 = Fully contracted, see AbstractLegPose) ...
Definition: cap_gait_config.h:496
config_server::Parameter< float > legHipAngleXLegExtGain
Gain that determines how much the appropriate leg is shortened to try to keep the feet level vertical...
Definition: cap_gait_config.h:524
config_server::Parameter< float > virtualSlopeMinAngle
Minimum radius of the fused pitch angle from virtualSlopeMidAngle before virtual slope starts being a...
Definition: cap_gait_config.h:688
config_server::Parameter< bool > limFootAngleYUseLimits
Boolean flag whether to use the specified foot angle Y min/max limits.
Definition: cap_gait_config.h:462
config_server::Parameter< float > haltEffortHipPitch
Halt pose: Joint effort to use for the leg hip pitch (in the range [0,1])
Definition: cap_gait_config.h:509
config_server::Parameter< float > virtualSlopeMidAngle
Fused pitch angle for which the (offset-less) virtual slope should be zero.
Definition: cap_gait_config.h:687
config_server::Parameter< float > footLength
Length of the robot foot (along x-axis, the foot plate is assumed to be rectangular) ...
Definition: cap_gait_config.h:386
config_server::Parameter< float > legSagSwingMagGradXBwd
Gradient of the sagittal leg swing magnitude (nominally zero radians) with respect to the biased gait...
Definition: cap_gait_config.h:530
config_server::Parameter< float > legSagLeanGradAccXFwd
Gradient of the sagittal lean (nominally zero radians) with respect to the gait command x-acceleratio...
Definition: cap_gait_config.h:533
config_server::Parameter< float > haltLegAngleXNarrow
Halt pose: Roll angle of the legs (positive is away from the body for both legs) for the narrow feet ...
Definition: cap_gait_config.h:500
config_server::Parameter< float > limFootAngleYMax
Maximum allowed foot angle Y to be commanded by the gait.
Definition: cap_gait_config.h:460
config_server::Parameter< float > legLatPushoutMagGradZ
Gradient of the outwards hip-roll-based lateral leg pushout (nominally zero radians) with respect to ...
Definition: cap_gait_config.h:544
config_server::Parameter< float > virtualSlopeGainAsc
Gradient of the virtual slope with respect to the fused pitch angle (after deadband has been applied)...
Definition: cap_gait_config.h:685
config_server::Parameter< bool > cmdUseCLTiming
Boolean flag whether computed closed loop step timing should be used to control the gait...
Definition: cap_gait_config.h:695
config_server::Parameter< bool > tuningNoArms
Disable all gait arm motions.
Definition: cap_gait_config.h:553
config_server::Parameter< float > gcvAccJerkLimitX
Jerk (acceleration slope) limit for the calculation of the gait command acceleration from m_gcv (line...
Definition: cap_gait_config.h:437
config_server::Parameter< bool > tuningNoLegLeaning
Disable all leg leaning components.
Definition: cap_gait_config.h:561
config_server::Parameter< float > limArmAngleXMax
Maximum allowed arm angle X to be commanded by the gait (for left arm)
Definition: cap_gait_config.h:448
config_server::Parameter< float > haltFootAngleX
Halt pose: Roll angle of the feet relative to the trunk (positive is tilting onto the inner feet for ...
Definition: cap_gait_config.h:503
config_server::Parameter< float > limLegAngleYMin
Minimum allowed leg angle Y to be commanded by the gait.
Definition: cap_gait_config.h:469
config_server::Parameter< float > legRotSwingMagGradZ
Gradient of the rotational leg swing magnitude (nominally zero radians) with respect to the biased ga...
Definition: cap_gait_config.h:547
config_server::Parameter< float > limLegAngleXMax
Maximum allowed leg angle X to be commanded by the gait (for left leg)
Definition: cap_gait_config.h:464
config_server::Parameter< float > gcvBiasLinVelY
Bias added to the linear y-velocity component of the received gait command vector so as to produce ze...
Definition: cap_gait_config.h:430
config_server::Parameter< float > gcvPrescalerLinVelY
Prescaler for the gcv linear velocity Y that is then used by the open loop gait (allows easy scaling ...
Definition: cap_gait_config.h:441
config_server::Parameter< float > legStepHeight
Nominal swing leg step height (out of the ground, in units of leg extension) to use at zero biased ga...
Definition: cap_gait_config.h:525
config_server::Parameter< bool > tuningNoLegSwing
Disable all leg swing components.
Definition: cap_gait_config.h:558
config_server::Parameter< bool > tuningNoLegLifting
Disable all leg lifting.
Definition: cap_gait_config.h:557
config_server::Parameter< float > legPushHeightGradX
Gradient of legPushHeight with respect to the absolute biased gait command x-velocity.
Definition: cap_gait_config.h:529
config_server::Parameter< float > trunkLinkOffsetY
Leftward offset of the trunk link tf frame from the hip midpoint.
Definition: cap_gait_config.h:381
config_server::Parameter< float > haltEffortHipYaw
Halt pose: Joint effort to use for the leg hip yaw (in the range [0,1])
Definition: cap_gait_config.h:507
config_server::Parameter< bool > enableMotionStances
Boolean flag whether to enable the use of motion stances (changes to the halt pose during stopping to...
Definition: cap_gait_config.h:414
config_server::Parameter< bool > tuningNoLegPushout
Disable all leg pushout components.
Definition: cap_gait_config.h:560
config_server::Parameter< bool > limFootAngleXUseLimits
Boolean flag whether to use the specified foot angle X min/max limits.
Definition: cap_gait_config.h:458
config_server::Parameter< float > haltFootAngleXBias
Halt pose: Additive anti-symmetric roll angle of the feet relative to the trunk (positive is a roll r...
Definition: cap_gait_config.h:504
config_server::Parameter< float > gcvPrescalerLinVelX
Prescaler for the gcv linear velocity X that is then used by the open loop gait (allows easy scaling ...
Definition: cap_gait_config.h:440
config_server::Parameter< float > suppTransStartRatio
Ratio that governs the start of support transitioning, via linear interpolation (0 => At start of dou...
Definition: cap_gait_config.h:484
config_server::Parameter< float > legLinkLength
Length of each/both the upper and lower leg links.
Definition: cap_gait_config.h:376
config_server::Parameter< float > shoulderWidth
Horizontal separation between the two hip joints (length of the hip line)
Definition: cap_gait_config.h:377
config_server::Parameter< float > haltArmAngleX
Halt pose: Roll angle of the arms (positive is away from the body for both arms)
Definition: cap_gait_config.h:493
config_server::Parameter< bool > useServoModel
Flag specifying whether to use raw joint commands (i.e. no servo model, false), or use the servo mode...
Definition: cap_gait_config.h:424
config_server::Parameter< float > supportCoeffRange
The required difference between the symmetric support coefficients during walking (e...
Definition: cap_gait_config.h:423
config_server::Parameter< float > gcvAccJerkLimitZ
Jerk (acceleration slope) limit for the calculation of the gait command acceleration from m_gcv (angu...
Definition: cap_gait_config.h:439
config_server::Parameter< float > haltLegExtensionBias
Halt pose: Additive one-sided bias of the extension of one of the legs (+ve = Left leg only is shorte...
Definition: cap_gait_config.h:497
config_server::Parameter< float > startBlendPhaseLen
The amount of time, in terms of gait phase, to take to blend from the halt pose to the moving calcula...
Definition: cap_gait_config.h:478
config_server::Parameter< float > haltEffortHipRoll
Halt pose: Joint effort to use for the leg hip roll (in the range [0,1])
Definition: cap_gait_config.h:508
Configuration struct for the capture step gait.
Definition: cap_gait_config.h:21
config_server::Parameter< float > visOffsetX
Global x offset to the robot model where the RobotModelVis visualisation should be displayed...
Definition: cap_gait_config.h:401
config_server::Parameter< float > limLegExtMin
Minimum allowed leg extension to be commanded by the gait.
Definition: cap_gait_config.h:472
config_server::Parameter< float > legLatPushoutMagGradX
Gradient of the outwards hip-roll-based lateral leg pushout (nominally zero radians) with respect to ...
Definition: cap_gait_config.h:542
config_server::Parameter< float > legLatLeanGradXZBwd
Gradient of the lateral lean (nominally zero radians) with respect to the biased gait command x (abso...
Definition: cap_gait_config.h:545
config_server::Parameter< float > swingStopPhaseOffset
Offset from the start of the double support phase back to the end of the previous swing phase (a posi...
Definition: cap_gait_config.h:482
config_server::Parameter< bool > cmdUseCLStepSize
Boolean flag whether computed closed loop step sizes should be used to control the gait...
Definition: cap_gait_config.h:694
config_server::Parameter< float > gaitFrequency
Nominal frequency of the gait.
Definition: cap_gait_config.h:415
const std::string CONFIG_PARAM_PATH
Path for the capture step gait configuration parameters on the config server.
Definition: cap_gait_config.h:370
config_server::Parameter< float > visOffsetZ
Global z offset to the robot model where the RobotModelVis visualisation should be displayed...
Definition: cap_gait_config.h:403
config_server::Parameter< float > limFootAngleXBuf
Angle buffer for soft limiting of the foot angle X to be commanded by the gait (see rc_utils::coerceS...
Definition: cap_gait_config.h:455
config_server::Parameter< float > limFootAngleXMin
Minimum allowed foot angle X to be commanded by the gait (for left foot)
Definition: cap_gait_config.h:457
config_server::Parameter< bool > cmdUseNonZeroZMP
Boolean flag whether the target ZMPs calculated in the LimpModel should be used during walking (i...
Definition: cap_gait_config.h:696
config_server::Parameter< bool > limLegExtUseLimits
Boolean flag whether to use the specified leg extension min limit.
Definition: cap_gait_config.h:473
config_server::Parameter< float > legSagLeanGradVelZAbs
Gradient of the sagittal lean (nominally zero radians) with respect to the absolute value of the bias...
Definition: cap_gait_config.h:536
config_server::Parameter< float > headOffsetX
Forward offset from the neck joint to the center of the head (not for analytic calculation) ...
Definition: cap_gait_config.h:391
config_server::Parameter< float > gcvAccBackwards
Gait command acceleration limit for negative linear x command velocities (scale by gcvDecToAccRatio t...
Definition: cap_gait_config.h:433
config_server::Parameter< float > haltArmExtension
Halt pose: Extension of the arms (0 = Fully extended, 1 = Fully contracted, see AbstractArmPose) ...
Definition: cap_gait_config.h:492
config_server::Parameter< bool > leftLegFirst
Flag specifying whether the first leg to step with when starting walking should be the left leg...
Definition: cap_gait_config.h:417
config_server::Parameter< float > limLegAngleYMax
Maximum allowed leg angle Y to be commanded by the gait.
Definition: cap_gait_config.h:468
config_server::Parameter< float > footOffsetZ
Upward offset from the foot plate geometric center to the ankle joint (along z-axis) ...
Definition: cap_gait_config.h:389
config_server::Parameter< float > armThickness
Approximate thickness of the arm segments (not for analytic calculation)
Definition: cap_gait_config.h:397
config_server::Parameter< float > suppTransStopRatio
Ratio that governs the stop of support transitioning, via linear interpolation (0 => At end of double...
Definition: cap_gait_config.h:485
config_server::Parameter< float > stanceAdjustRate
The dimensionless rate at which motion stance adjustment occurs while stopping walking.
Definition: cap_gait_config.h:419
config_server::Parameter< float > swingMinPhaseLen
Minimum allowed length of the swing phase (used as a check only, should have no effect on gait phase ...
Definition: cap_gait_config.h:483
config_server::Parameter< float > neckHeight
Height of the neck joint vertically above the center of the shoulder line (not for analytic calculati...
Definition: cap_gait_config.h:390
config_server::Parameter< float > stopBlendPhaseLen
The amount of time, in terms of gait phase, to take to blend from the moving calculated gait pose to ...
Definition: cap_gait_config.h:479
config_server::Parameter< float > limFootAngleYBuf
Angle buffer for soft limiting of the foot angle Y to be commanded by the gait (see rc_utils::coerceS...
Definition: cap_gait_config.h:459
config_server::Parameter< float > limArmAngleYBuf
Angle buffer for soft limiting of the arm angle Y to be commanded by the gait (see rc_utils::coerceSo...
Definition: cap_gait_config.h:451
config_server::Parameter< float > legLatSwingMagGradY
Gradient of the lateral leg swing magnitude (nominally zero radians) with respect to the biased gait ...
Definition: cap_gait_config.h:537
config_server::Parameter< float > trunkHeight
Vertical height of the trunk from the hip line to the shoulder line.
Definition: cap_gait_config.h:379
config_server::Parameter< float > trunkLinkOffsetX
Forward offset of the trunk link tf frame from the hip midpoint.
Definition: cap_gait_config.h:380
CapConfig()
Constructor.
Definition: cap_gait_config.h:25
config_server::Parameter< float > haltEffortAnklePitch
Halt pose: Joint effort to use for the leg ankle pitch (in the range [0,1])
Definition: cap_gait_config.h:511
config_server::Parameter< float > haltLegAngleZ
Halt pose: Yaw angle of the legs (toe-out is positive for both legs)
Definition: cap_gait_config.h:502
config_server::Parameter< float > haltLegAngleX
Halt pose: Roll angle of the legs (positive is away from the body for both legs)
Definition: cap_gait_config.h:498
config_server::Parameter< float > armLinkLength
Length of each/both the upper and lower arm links.
Definition: cap_gait_config.h:375
config_server::Parameter< bool > tuningNoLegHipSwing
Disable all leg hip swing components.
Definition: cap_gait_config.h:559
config_server::Parameter< float > stoppingGcvMag
Unbiased gait command velocity 2-norm below which immediate walk stopping is allowed.
Definition: cap_gait_config.h:420
config_server::Parameter< float > legLatLeanGradXZFwd
Gradient of the lateral lean (nominally zero radians) with respect to the biased gait command x (abso...
Definition: cap_gait_config.h:546
config_server::Parameter< float > legLatHipSwingBias
Constant bias to the lateral hip swing waveform (hip roll angle, units of radians), used to try to correct for robot walking asymmetries.
Definition: cap_gait_config.h:538
config_server::Parameter< float > jointDiameter
Diameter of the joints (not for analytic calculation)
Definition: cap_gait_config.h:400
config_server::Parameter< float > trunkLinkOffsetZ
Upward offset of the trunk link tf frame from the hip midpoint.
Definition: cap_gait_config.h:382
config_server::Parameter< float > comOffsetZ
Height of the CoM above the hip line.
Definition: cap_gait_config.h:384
config_server::Parameter< float > gcvDecToAccRatio
Multiplicative scale factor to obtain the gait command deceleration limits from the gait command acce...
Definition: cap_gait_config.h:436
config_server::Parameter< float > legExtToAngleYGain
Gain that determines how much the leg extension is also applied to the leg angle Y in order to modify...
Definition: cap_gait_config.h:523
config_server::Parameter< bool > cmdUseTXStepSize
If cmdUseCLStepSize is true: Boolean flag whether the closed loop step size calculated by the TX mode...
Definition: cap_gait_config.h:698
config_server::Parameter< float > limArmAngleYMax
Maximum allowed arm angle Y to be commanded by the gait.
Definition: cap_gait_config.h:452
config_server::Parameter< float > swingStartPhaseOffset
Offset from the end of the double support phase to the start of the swing phase.
Definition: cap_gait_config.h:481
config_server::Parameter< float > legSagLeanGradVelXBwd
Gradient of the sagittal lean (nominally zero radians) with respect to the biased gait command x-velo...
Definition: cap_gait_config.h:534
config_server::Parameter< float > gcvAccRotational
Gait command acceleration limit for angular z command velocities (scale by gcvDecToAccRatio to get th...
Definition: cap_gait_config.h:435
config_server::Parameter< bool > tuningNoLegSuppCoeff
Disable all variations in the leg support coefficients (makes them equal by default instead) ...
Definition: cap_gait_config.h:564
config_server::Parameter< bool > tuningNoLegVirtual
Disable all leg virtual slope components.
Definition: cap_gait_config.h:562
config_server::Parameter< float > gcvAccSidewards
Gait command acceleration limit for linear y command velocities (scale by gcvDecToAccRatio to get the...
Definition: cap_gait_config.h:434
config_server::Parameter< float > limLegAngleYBuf
Angle buffer for soft limiting of the leg angle Y to be commanded by the gait (see rc_utils::coerceSo...
Definition: cap_gait_config.h:467
config_server::Parameter< bool > limArmAngleXUseLimits
Boolean flag whether to use the specified arm angle X min/max limits.
Definition: cap_gait_config.h:450