TeensyNanoExoCode
Loading...
Searching...
No Matches
ControllerData.h
Go to the documentation of this file.
1
11#ifndef Controllerdata_h
12#define ControllerData_h
13#include <stdint.h>
14
15#include "Arduino.h"
16
17#include "Board.h"
18#include "ParseIni.h"
19#include <stdint.h>
20
21// forward declaration
22class ExoData;
23
24
26{
27 namespace zero_torque
28 {
29 const uint8_t use_pid_idx = 0;
30 const uint8_t p_gain_idx = 1;
31 const uint8_t i_gain_idx = 2;
32 const uint8_t d_gain_idx = 3;
33 const uint8_t num_parameter = 4;
34 }
35
36 namespace stasis
37 {
38 const uint8_t num_parameter = 0;
39 }
40
41 namespace proportional_joint_moment
42 {
43 const uint8_t stance_max_idx = 0; // parameter for peak exo torque during stance
44 const uint8_t swing_max_idx = 1; // parameter for peak exo torque during swing
45 const uint8_t is_assitance_idx = 2;
46 const uint8_t use_pid_idx = 3;
47 const uint8_t p_gain_idx = 4;
48 const uint8_t i_gain_idx = 5;
49 const uint8_t d_gain_idx = 6;
50 const uint8_t torque_alpha_idx = 7;
51 const uint8_t num_parameter = 8;
52 }
53
54 namespace heel_toe
55 {
56 const uint8_t flexion_torque_setpoint_idx = 0;
58 const uint8_t use_pid_idx = 2;
59 const uint8_t p_gain_idx = 3;
60 const uint8_t i_gain_idx = 4;
61 const uint8_t d_gain_idx = 5;
62 const uint8_t num_parameter = 6;
63 }
64
65 namespace extension_angle
66 {
67 // parameters for maximum exo extension and flexion torque.
68 const uint8_t flexion_setpoint_idx = 0;
69 const uint8_t extension_setpoint_idx = 1;
70 // Parameter for fraction of peak flexion angle where mode will switch to extension angle.
72 // Parameter for flag to reset the the peak range of motion angles.
73 const uint8_t clear_angle_idx = 3;
74 // angle where the system will switch from extension assistance to flexion assistance
75 const uint8_t angle_threshold_idx = 4;
76 // Velocity where the system will switch from flexion assistance to extension assistance, if velocity inverts before the target_flexion_percent_max
77 // !! Value should be NEGATIVE !!
78 const uint8_t velocity_threshold_idx = 5;
79 const uint8_t use_pid_idx = 6;
80 const uint8_t p_gain_idx = 7;
81 const uint8_t i_gain_idx = 8;
82 const uint8_t d_gain_idx = 9;
83 const uint8_t num_parameter = 10;
84 }
85
86 namespace bang_bang
87 {
88 // parameters for maximum exo extension and flexion torque.
89 const uint8_t flexion_setpoint_idx = 0;
90 const uint8_t extension_setpoint_idx = 1;
91 // Parameter for fraction of peak flexion angle where mode will switch to extension angle.
92 const uint8_t is_assitance_idx = 2;
93 // Parameter for fraction of peak flexion angle where mode will switch to extension angle.
95 // Parameter for flag to reset the the peak range of motion angles.
96 const uint8_t clear_angle_idx = 4;
97 // angle where the system will switch from extension assistance to flexion assistance
98 const uint8_t angle_threshold_idx = 5;
99 // Velocity where the system will switch from flexion assistance to extension assistance, if velocity inverts before the target_flexion_percent_max
100 // !! Value should be NEGATIVE !!
101 const uint8_t velocity_threshold_idx = 6;
102 const uint8_t use_pid_idx = 7;
103 const uint8_t p_gain_idx = 8;
104 const uint8_t i_gain_idx = 9;
105 const uint8_t d_gain_idx = 10;
106 const uint8_t num_parameter = 11;
107 }
108
109 namespace late_stance
110 {
111 // parameters for late stance torque.
112 const uint8_t resistance_setpoint_idx = 0;
113 // Parameter for fraction of peak flexion angle where mode will switch to extension angle.
114 const uint8_t angle_on_off = 1;
115 // Parameter for flag to reset the the peak range of motion angles.
116 const uint8_t clear_angle_idx = 2;
117 // Velocity where the system will switch from on to off,
118 // !! Value should be NEGATIVE !!
119 const uint8_t velocity_threshold_idx = 3;
120 const uint8_t use_pid_idx = 4;
121 const uint8_t p_gain_idx = 5;
122 const uint8_t i_gain_idx = 6;
123 const uint8_t d_gain_idx = 7;
124 const uint8_t num_parameter = 8;
125 }
126
127 namespace gait_phase
128 {
129 // parameters for gait phase torque.
130 const uint8_t flexion_setpoint_idx = 0;
131 const uint8_t extension_setpoint_idx = 1;
132 // Parameter for fraction of peak flexion angle where mode will switch to extension angle.
134 const uint8_t flexion_end_percentage_idx = 3;
137 //Parameter to set slope of line between each point (for "smoothing" purposes)
138 const uint8_t slope_idx = 6;
139 //Flag for PID contorl and associated gains
140 const uint8_t use_pid_idx = 7;
141 const uint8_t p_gain_idx = 8;
142 const uint8_t i_gain_idx = 9;
143 const uint8_t d_gain_idx = 10;
144 const uint8_t num_parameter = 11;
145 }
146
147 namespace parabolic
148 {
149 // parameters for gait phase torque.
150 const uint8_t flexion_setpoint_idx = 0;
151 const uint8_t extension_setpoint_idx = 1;
153 const uint8_t flexion_end_percentage_idx = 3;
156 const uint8_t num_parameter = 6;
157 }
158
159 namespace zhang_collins
160 {
161
162 const uint8_t torque_idx = 0; //Magnitude of Peak Torque in Nm
163 const uint8_t peak_time_idx = 1; //Time when peak torque occurs (% of gait cycle)
164 const uint8_t rise_time_idx = 2; //Time from zero torque until peak torque (Expressed as a % of gait cycle)
165 const uint8_t fall_time_idx = 3; //Time from peak torque until zero torque (Expressed as a % of gait cycle)
166 const uint8_t direction_idx = 4; //Flag to flip torque from PF to DF
167 const uint8_t use_pid_idx = 5; //Flag to use PID control
168 const uint8_t p_gain_idx = 6; //Value of P Gain for PID control
169 const uint8_t i_gain_idx = 7; //Value of I Gain for PID control
170 const uint8_t d_gain_idx = 8; //Value of D Gain for PID control
171 const uint8_t num_parameter = 9;
172 }
173
174 namespace franks_collins_hip
175 {
176 const uint8_t mass_idx = 0; //Mass of the User in kg
177 const uint8_t trough_normalized_torque_Nm_kg_idx = 1; //Extension Torque in Nm/kg
178 const uint8_t peak_normalized_torque_Nm_kg_idx = 2; //Flexion Torque in Nm/kg
179 const uint8_t start_percent_gait_idx = 3; //Percent of Gait Cycle where the curve starts (does not start at 0 so that there is no discontinuity)
180 const uint8_t trough_onset_percent_gait_idx = 4; //Percent of Gait Cycle where curve for extension torque starts
181 const uint8_t trough_percent_gait_idx = 5; //Percent of Gait Cycle where peak extension torque occurs
182 const uint8_t mid_time_idx = 6; //Time from when curve starts until midpoint of zero torque period between extension and flexion torques
183 const uint8_t mid_duration_idx = 7; //Time of zero torque period between extension and flexion torques
184 const uint8_t peak_percent_gait_idx = 8; //Percent of Gait Cycle where peak flexion torque occurs
185 const uint8_t peak_offset_percent_gait_idx = 9; //Percent of Gait Cycle where torque stops being applied
186 const uint8_t use_pid_idx = 10; //Flag to determine whether or not PID used
187 const uint8_t p_gain_idx = 11; //Value of P Gain for PID control
188 const uint8_t i_gain_idx = 12; //Value of I Gain for PID control
189 const uint8_t d_gain_idx = 13; //Value of D Gain for PID control
190 const uint8_t num_parameter = 14;
191 }
192
193 // namespace user_defined
194 // {
195 // const uint8_t num_sample_points = 50; // not an index
196
197 // const uint8_t mass_idx = 0;
198 // const uint8_t use_pid_idx = 1;
199 // const uint8_t p_gain_idx = 2;
200 // const uint8_t i_gain_idx = 3;
201 // const uint8_t d_gain_idx = 4;
202 // const uint8_t curve_start_idx = 5;
203 // const uint8_t curve_stop_idx = curve_start_idx+num_sample_points;
204 // const uint8_t num_parameter = curve_stop_idx+1;
205 // }
206
207 namespace sine
208 {
209 const uint8_t amplitude_idx = 0; // amplitude in Nm
210 const uint8_t period_idx = 1; // period in ms
211 const uint8_t phase_shift_idx = 2; // phase shift in rad
212 const uint8_t use_pid_idx = 3;
213 const uint8_t p_gain_idx = 4;
214 const uint8_t i_gain_idx = 5;
215 const uint8_t d_gain_idx = 6;
216 const uint8_t num_parameter = 7;
217 }
218
219 namespace perturbation
220 {
221 const uint8_t amplitude_idx = 0; // amplitude in Nm
222 const uint8_t threshold_start_idx = 1; // percent gait start
223 const uint8_t threshold_end_idx = 2; // percent gait end
224 const uint8_t direction_idx = 3; // direction (0 = plantarflexion, 1 = dorsiflexion)
225 const uint8_t num_parameter = 4;
226 ;
227 }
228
229 namespace constant_torque
230 {
231 const uint8_t amplitude_idx = 0;
232 const uint8_t direction_idx = 0;
233 //const uint8_t upper_idx = 0; // amplitude in Nm
234 //const uint8_t lower_idx = 1;
235 //const uint8_t iterations_idx = 2;
236 const uint8_t num_parameter = 3;
237 ;
238 }
239 /*
240 * Add phase delayed controller for hip
241 * peak and trough magnitude defined.
242 * Delay based on percent gait.
243 *
244 */
245
246
247 namespace elbow_min_max
248 {
249 const uint8_t amplitude_idx = 0; // amplitude in Nm
250 const uint8_t fsr_threshold_idx = 1;
251 const uint8_t fsr_threshold1_idx = 2;
252 const uint8_t num_parameter = 3;
253
254
255 }
256
257
258 namespace ptb_general
259 {
260 const uint8_t ptb_mode_idx = 0;
261 const uint8_t ptb_settings_1_idx = 1;
262 const uint8_t ptb_settings_2_idx = 2;
263 const uint8_t ptb_settings_3_idx = 3;
264 const uint8_t ptb_settings_4_idx = 4;
265 const uint8_t use_pid_idx = 5;
266 const uint8_t p_gain_idx = 6;
267 const uint8_t i_gain_idx = 7;
268 const uint8_t d_gain_idx = 8;
269 const uint8_t ptb_settings_9_idx = 9;
270 const uint8_t num_parameter = 10;
271
272 }
273
274 namespace propulsive_assistive
275 {
276 const uint8_t plantar_scaling = 0;
277 const uint8_t dorsi_scaling = 1;
278 const uint8_t timing_threshold = 2;
279 const uint8_t spring_stiffness = 3;
280 const uint8_t neutral_angle = 4;
281 const uint8_t damping = 5;
282 const uint8_t propulsive_gain = 6;
283 const uint8_t kp = 7;
284 const uint8_t kd = 8;
285 const uint8_t num_parameter = 9;
286 }
287
288 namespace calibr_manager
289 {
290 const uint8_t calibr_cmd = 0;
291 const uint8_t num_parameter = 1;
292 }
293
294 const uint8_t max_parameters = franks_collins_hip::num_parameter;//user_defined::num_parameter; // this should be the largest of all the num_parameters
295}
296
302 public:
303 ControllerData(config_defs::joint_id id, uint8_t* config_to_send);
304
310 void reconfigure(uint8_t* config_to_send);
311
317 uint8_t get_parameter_length();
318
319
320 uint8_t controller;
322 // These were made floats to dummy proof the math for people but will double the data needed to be sent over SPI, we double the speed of the SPI if we move to fixed point.
323 float setpoint;
332 // Variables for Auto Kf in the PID Controller
333 float kf = 1;
336 float max_measured = 0;
337 float max_setpoint = 0;
339 // Variables for GAsP Controller
340 float reference_angle = 0;
344 float neutral_angle = 0.0f;
346 const float cal_neutral_angle_alpha = 0.01f;
347 float level_entrance_angle = 0.0f;
349 const float cal_level_entrance_angle_alpha = 0.01f;
351 // Variables for the ElbowMinMax Controller
358 int i_elbow = 0;
359 int fsr_toe_array_elbow [50] = {0};
360 int fsr_heel_array_elbow [50] = {0};
367 float elbow_cmd = 0;
368
369 // Variables for the Generalizable Perturbation Controller (ptbGeneral)
370 bool isPerturbing = false;
371 bool ptbDetermined = false;
374 //uint8_t ptbHead = 0;
375 //uint8_t ptbTail = 0;
376 //uint8_t iPercentGait= 0;
377 bool ptbApplied = false;
379 //bool ptbWait4ANewStep = true;
380 //uint8_t ptbFrequency = 0;
381 uint16_t ptb_iStep = 0;
382 //uint16_t ptb_totalSteps = 0;
383 bool ptb_newIsSwing = true;
384 bool ptb_oldIsSwing = true;
385 //uint16_t fsrThreshold = 0.3;
386 uint8_t ptb_frequency = 0;
387 uint16_t ptb_iiStep = 0;
388 uint16_t ptb_setpoint = 0;
389 bool ptb_fsrGotHigh = false;
390
391 // Variables for the Calibration Manger "Controller"
392 bool calibrComplete = false;
393 uint16_t iCalibr = 0;
394 int PIDMLTPLR = 0;
395 bool calibrStart = false;
396 float calibrSum = 0;
397
398
399 // Variables for the Zhang-Collins Controller
400 float previous_cmd = 0;
401};
402
403#endif
Declares the functions needed and defines mapping between the INI keys and the exo components.
class to store information related to controllers.
Definition ControllerData.h:301
float fsr_toe_previous_elbow
Definition ControllerData.h:365
float setpoint
Definition ControllerData.h:323
float level_entrance_angle
Definition ControllerData.h:347
int fsr_toe_array_elbow[50]
Definition ControllerData.h:359
bool reference_angle_updated
Definition ControllerData.h:342
uint8_t parameter_set
Definition ControllerData.h:326
uint8_t controller
Definition ControllerData.h:320
float fsr_heel_max_elbow
Definition ControllerData.h:355
float time_current_ptb
Definition ControllerData.h:372
bool ptbDetermined
Definition ControllerData.h:371
int i_elbow
Definition ControllerData.h:358
bool is_first_fsr_reading_elbow
Definition ControllerData.h:364
uint16_t iCalibr
Definition ControllerData.h:393
uint16_t ptb_iStep
Definition ControllerData.h:381
float fsr_heel_previous_elbow
Definition ControllerData.h:366
float kf
Definition ControllerData.h:333
float fsr_heel_sum_elbow
Definition ControllerData.h:357
float max_measured
Definition ControllerData.h:336
float time_previous_ptb
Definition ControllerData.h:373
float neutral_angle
Definition ControllerData.h:344
float prev_calibrate_level_entrance
Definition ControllerData.h:348
float reference_angle
Definition ControllerData.h:340
bool ptbRandomIsFirstRun
Definition ControllerData.h:378
bool calibrComplete
Definition ControllerData.h:392
uint16_t ptb_setpoint
Definition ControllerData.h:388
float ff_setpoint
Definition ControllerData.h:324
float fsr_toe_min_elbow
Definition ControllerData.h:352
float fsr_toe_max_elbow
Definition ControllerData.h:353
float fsr_toe_sum_elbow
Definition ControllerData.h:356
config_defs::JointType joint
Definition ControllerData.h:321
int fsr_heel_array_elbow[50]
Definition ControllerData.h:360
const float cal_level_entrance_angle_alpha
Definition ControllerData.h:349
float max_setpoint
Definition ControllerData.h:337
float prev_max_measured
Definition ControllerData.h:334
uint8_t get_parameter_length()
Get the parameter length for the current controller.
Definition ControllerData.cpp:80
float previous_cmd
Definition ControllerData.h:400
float filtered_squelched_supportive_term
Definition ControllerData.h:343
bool isPerturbing
Definition ControllerData.h:370
bool ptb_fsrGotHigh
Definition ControllerData.h:389
bool is_first_run_elbow
Definition ControllerData.h:361
bool prev_calibrate_trq_sensor
Definition ControllerData.h:345
void reconfigure(uint8_t *config_to_send)
reconfigures the the controller data if the configuration changes after constructor called.
Definition ControllerData.cpp:50
float fsr_heel_min_elbow
Definition ControllerData.h:354
float parameters[controller_defs::max_parameters]
Definition ControllerData.h:325
float reference_angle_offset
Definition ControllerData.h:341
bool ptb_newIsSwing
Definition ControllerData.h:383
float filtered_torque_reading
Definition ControllerData.h:328
float output_limit_elbow
Definition ControllerData.h:362
float prev_max_setpoint
Definition ControllerData.h:335
int PIDMLTPLR
Definition ControllerData.h:394
bool calibrStart
Definition ControllerData.h:395
bool ptbApplied
Definition ControllerData.h:377
uint8_t ptb_frequency
Definition ControllerData.h:386
const float cal_neutral_angle_alpha
Definition ControllerData.h:346
float calibrSum
Definition ControllerData.h:396
uint16_t ptb_iiStep
Definition ControllerData.h:387
float filtered_cmd
Definition ControllerData.h:329
float fsr_min_max_elbow
Definition ControllerData.h:363
float filtered_setpoint
Definition ControllerData.h:330
bool ptb_oldIsSwing
Definition ControllerData.h:384
float elbow_cmd
Definition ControllerData.h:367
Class to store all the data related to the exo.
Definition ExoData.h:38
joint_id
Definition ParseIni.h:106
JointType
Definition ParseIni.h:81
const uint8_t use_pid_idx
Definition ControllerData.h:102
const uint8_t num_parameter
Definition ControllerData.h:106
const uint8_t is_assitance_idx
Definition ControllerData.h:92
const uint8_t d_gain_idx
Definition ControllerData.h:105
const uint8_t clear_angle_idx
Definition ControllerData.h:96
const uint8_t p_gain_idx
Definition ControllerData.h:103
const uint8_t extension_setpoint_idx
Definition ControllerData.h:90
const uint8_t target_flexion_percent_max_idx
Definition ControllerData.h:94
const uint8_t velocity_threshold_idx
Definition ControllerData.h:101
const uint8_t angle_threshold_idx
Definition ControllerData.h:98
const uint8_t flexion_setpoint_idx
Definition ControllerData.h:89
const uint8_t i_gain_idx
Definition ControllerData.h:104
const uint8_t calibr_cmd
Definition ControllerData.h:290
const uint8_t num_parameter
Definition ControllerData.h:291
const uint8_t amplitude_idx
Definition ControllerData.h:231
const uint8_t num_parameter
Definition ControllerData.h:236
const uint8_t direction_idx
Definition ControllerData.h:232
const uint8_t num_parameter
Definition ControllerData.h:252
const uint8_t fsr_threshold_idx
Definition ControllerData.h:250
const uint8_t fsr_threshold1_idx
Definition ControllerData.h:251
const uint8_t amplitude_idx
Definition ControllerData.h:249
const uint8_t i_gain_idx
Definition ControllerData.h:81
const uint8_t angle_threshold_idx
Definition ControllerData.h:75
const uint8_t d_gain_idx
Definition ControllerData.h:82
const uint8_t clear_angle_idx
Definition ControllerData.h:73
const uint8_t flexion_setpoint_idx
Definition ControllerData.h:68
const uint8_t p_gain_idx
Definition ControllerData.h:80
const uint8_t num_parameter
Definition ControllerData.h:83
const uint8_t use_pid_idx
Definition ControllerData.h:79
const uint8_t extension_setpoint_idx
Definition ControllerData.h:69
const uint8_t target_flexion_percent_max_idx
Definition ControllerData.h:71
const uint8_t velocity_threshold_idx
Definition ControllerData.h:78
const uint8_t use_pid_idx
Definition ControllerData.h:186
const uint8_t mid_duration_idx
Definition ControllerData.h:183
const uint8_t mid_time_idx
Definition ControllerData.h:182
const uint8_t num_parameter
Definition ControllerData.h:190
const uint8_t p_gain_idx
Definition ControllerData.h:187
const uint8_t d_gain_idx
Definition ControllerData.h:189
const uint8_t trough_onset_percent_gait_idx
Definition ControllerData.h:180
const uint8_t peak_percent_gait_idx
Definition ControllerData.h:184
const uint8_t peak_normalized_torque_Nm_kg_idx
Definition ControllerData.h:178
const uint8_t trough_normalized_torque_Nm_kg_idx
Definition ControllerData.h:177
const uint8_t peak_offset_percent_gait_idx
Definition ControllerData.h:185
const uint8_t mass_idx
Definition ControllerData.h:176
const uint8_t start_percent_gait_idx
Definition ControllerData.h:179
const uint8_t trough_percent_gait_idx
Definition ControllerData.h:181
const uint8_t i_gain_idx
Definition ControllerData.h:188
const uint8_t flexion_start_percentage_idx
Definition ControllerData.h:133
const uint8_t extension_setpoint_idx
Definition ControllerData.h:131
const uint8_t num_parameter
Definition ControllerData.h:144
const uint8_t i_gain_idx
Definition ControllerData.h:142
const uint8_t slope_idx
Definition ControllerData.h:138
const uint8_t use_pid_idx
Definition ControllerData.h:140
const uint8_t flexion_end_percentage_idx
Definition ControllerData.h:134
const uint8_t extension_end_percentage_idx
Definition ControllerData.h:136
const uint8_t d_gain_idx
Definition ControllerData.h:143
const uint8_t p_gain_idx
Definition ControllerData.h:141
const uint8_t flexion_setpoint_idx
Definition ControllerData.h:130
const uint8_t extension_start_percentage_idx
Definition ControllerData.h:135
const uint8_t i_gain_idx
Definition ControllerData.h:60
const uint8_t extension_torque_setpoint_idx
Definition ControllerData.h:57
const uint8_t p_gain_idx
Definition ControllerData.h:59
const uint8_t d_gain_idx
Definition ControllerData.h:61
const uint8_t flexion_torque_setpoint_idx
Definition ControllerData.h:56
const uint8_t use_pid_idx
Definition ControllerData.h:58
const uint8_t num_parameter
Definition ControllerData.h:62
const uint8_t i_gain_idx
Definition ControllerData.h:122
const uint8_t velocity_threshold_idx
Definition ControllerData.h:119
const uint8_t clear_angle_idx
Definition ControllerData.h:116
const uint8_t d_gain_idx
Definition ControllerData.h:123
const uint8_t p_gain_idx
Definition ControllerData.h:121
const uint8_t angle_on_off
Definition ControllerData.h:114
const uint8_t num_parameter
Definition ControllerData.h:124
const uint8_t use_pid_idx
Definition ControllerData.h:120
const uint8_t resistance_setpoint_idx
Definition ControllerData.h:112
const uint8_t flexion_end_percentage_idx
Definition ControllerData.h:153
const uint8_t extension_setpoint_idx
Definition ControllerData.h:151
const uint8_t flexion_setpoint_idx
Definition ControllerData.h:150
const uint8_t flexion_start_percentage_idx
Definition ControllerData.h:152
const uint8_t extension_end_percentage_idx
Definition ControllerData.h:155
const uint8_t num_parameter
Definition ControllerData.h:156
const uint8_t extension_start_percentage_idx
Definition ControllerData.h:154
const uint8_t num_parameter
Definition ControllerData.h:225
const uint8_t threshold_end_idx
Definition ControllerData.h:223
const uint8_t amplitude_idx
Definition ControllerData.h:221
const uint8_t direction_idx
Definition ControllerData.h:224
const uint8_t threshold_start_idx
Definition ControllerData.h:222
const uint8_t torque_alpha_idx
Definition ControllerData.h:50
const uint8_t swing_max_idx
Definition ControllerData.h:44
const uint8_t stance_max_idx
Definition ControllerData.h:43
const uint8_t use_pid_idx
Definition ControllerData.h:46
const uint8_t i_gain_idx
Definition ControllerData.h:48
const uint8_t num_parameter
Definition ControllerData.h:51
const uint8_t is_assitance_idx
Definition ControllerData.h:45
const uint8_t p_gain_idx
Definition ControllerData.h:47
const uint8_t d_gain_idx
Definition ControllerData.h:49
const uint8_t plantar_scaling
Definition ControllerData.h:276
const uint8_t num_parameter
Definition ControllerData.h:285
const uint8_t timing_threshold
Definition ControllerData.h:278
const uint8_t kd
Definition ControllerData.h:284
const uint8_t damping
Definition ControllerData.h:281
const uint8_t spring_stiffness
Definition ControllerData.h:279
const uint8_t neutral_angle
Definition ControllerData.h:280
const uint8_t dorsi_scaling
Definition ControllerData.h:277
const uint8_t propulsive_gain
Definition ControllerData.h:282
const uint8_t kp
Definition ControllerData.h:283
const uint8_t ptb_settings_3_idx
Definition ControllerData.h:263
const uint8_t use_pid_idx
Definition ControllerData.h:265
const uint8_t ptb_mode_idx
Definition ControllerData.h:260
const uint8_t d_gain_idx
Definition ControllerData.h:268
const uint8_t ptb_settings_9_idx
Definition ControllerData.h:269
const uint8_t p_gain_idx
Definition ControllerData.h:266
const uint8_t ptb_settings_4_idx
Definition ControllerData.h:264
const uint8_t ptb_settings_2_idx
Definition ControllerData.h:262
const uint8_t ptb_settings_1_idx
Definition ControllerData.h:261
const uint8_t i_gain_idx
Definition ControllerData.h:267
const uint8_t num_parameter
Definition ControllerData.h:270
const uint8_t num_parameter
Definition ControllerData.h:216
const uint8_t use_pid_idx
Definition ControllerData.h:212
const uint8_t p_gain_idx
Definition ControllerData.h:213
const uint8_t d_gain_idx
Definition ControllerData.h:215
const uint8_t phase_shift_idx
Definition ControllerData.h:211
const uint8_t i_gain_idx
Definition ControllerData.h:214
const uint8_t amplitude_idx
Definition ControllerData.h:209
const uint8_t period_idx
Definition ControllerData.h:210
const uint8_t num_parameter
Definition ControllerData.h:38
const uint8_t p_gain_idx
Definition ControllerData.h:30
const uint8_t use_pid_idx
Definition ControllerData.h:29
const uint8_t i_gain_idx
Definition ControllerData.h:31
const uint8_t num_parameter
Definition ControllerData.h:33
const uint8_t d_gain_idx
Definition ControllerData.h:32
const uint8_t d_gain_idx
Definition ControllerData.h:170
const uint8_t direction_idx
Definition ControllerData.h:166
const uint8_t peak_time_idx
Definition ControllerData.h:163
const uint8_t use_pid_idx
Definition ControllerData.h:167
const uint8_t num_parameter
Definition ControllerData.h:171
const uint8_t torque_idx
Definition ControllerData.h:162
const uint8_t i_gain_idx
Definition ControllerData.h:169
const uint8_t p_gain_idx
Definition ControllerData.h:168
const uint8_t rise_time_idx
Definition ControllerData.h:164
const uint8_t fall_time_idx
Definition ControllerData.h:165
Definition ControllerData.h:26
const uint8_t max_parameters
Definition ControllerData.h:294