DroneXController.yaml 3.54 KB
Newer Older
1
# Mass of the crazyflie
mastefan's avatar
mastefan committed
2
mass_CF : 28 #32
3
4
5


# Max setpoint change per second
mastefan's avatar
mastefan committed
6
7
max_setpoint_change_per_second_horizontal  :  2.00 # [meters]
max_setpoint_change_per_second_vertical    :  0.4 # [meters] 
8
9
10
11
12
13
14
max_setpoint_change_per_second_yaw_degrees : 90.00 # [degrees]

# Frequency of the controller, in hertz
vicon_frequency : 200



mastefan's avatar
mastefan committed
15
16
17
# controller_mode : 0: Basic Controller
# controller_mode : 1: Angle Controller
controller_mode : 0
18
19
20
21
22
23
24
25
26







# THE FOLLOWING PARAMETERS ARE USED
# FOR THE LOW-LEVEL CONTROLLER
27
28
29
30

# Frequency of the controller, in hertz
control_frequency : 200

31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Quadratic motor regression equation (a0, a1, a2)
motorPoly : [5.484560e-4, 1.032633e-6, 2.130295e-11]

# Boolean for whether to execute the convert into body frame function
shouldPerformConvertIntoBodyFrame : true

# Boolean indiciating whether the (x,y,z,yaw) of this agent should be published or not
shouldPublishCurrent_xyz_yaw : true

# Boolean indiciating whether the "Debug Message" of this agent should be published or not
shouldPublishDebugMessage : true

# Boolean indiciating whether the debugging ROS_INFO_STREAM should be displayed or not
shouldDisplayDebugInfo : false

# A flag for which estimator to use, defined as:
# 1  -  Finite Different Method,
#       Takes the poisition and angles directly as measured,
#       and estimates the velocities as a finite different to the
#       previous measurement
# 2  -  Point Mass Per Dimension Method
#       Uses a 2nd order random walk estimator independently for
#       each of (x,y,z,roll,pitch,yaw)
# 3  -  Quad-rotor Model Based Method
#       Uses the model of the quad-rotor and the previous inputs
estimator_method : 1


mastefan's avatar
mastefan committed
59

60
61
62
63
64
65
66
67
68
69
70
71
72


# The max and minimum thrust for a 16-bit command
command_sixteenbit_min : 1000
command_sixteenbit_max : 60000


# THE POINT MASS KALMAN FILTER (PMKF) GAINS AND ERROR EVOLUATION
# > For the (x,y,z) position
PMKF_Ahat_row1_for_positions  :  [  0.6723, 0.0034]
PMKF_Ahat_row2_for_positions  :  [-12.9648, 0.9352]
PMKF_Kinf_for_positions       :  [  0.3277,12.9648]

73

74
75
76
77
# > For the (roll,pitch,yaw) angles
PMKF_Ahat_row1_for_angles     :  [  0.6954, 0.0035]
PMKF_Ahat_row2_for_angles     :  [-11.0342, 0.9448]
PMKF_Kinf_for_angles          :  [  0.3046,11.0342]
78

79
80
81
#PMKF_Ahat_row1_for_angles     :  [  0.6723, 0.0034]
#PMKF_Ahat_row2_for_angles     :  [-12.9648, 0.9352]
#PMKF_Kinf_for_angles          :  [  0.3277,12.9648]
82
83

# for our integrator (so far just random values)
mastefan's avatar
mastefan committed
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
gainIntegrator :                    [ 0.50, 0.50, 0.50]      # [x,y,z]    (in case we want to go back to old integrator concept, else TODO: delete)
gainIntegratorRate :                [-0.20, 0.20, 0.20]      # [roll, pitch, z]
gainIntegratorAngle :               [-0.20, 0.20, 0.20]      # [roll, pitch, z]

# The LQR Controller
gainMatrixThrust_NineStateVector    :  [ 0.00, 0.00, 0.98, 0.00, 0.00, 0.25, 0.00, 0.00, 0.00]
gainMatrixRollRate                  :  [ 0.00,-6.20, 0.00, 0.00,-3.00, 0.00, 5.20, 0.00, 0.00]
gainMatrixPitchRate                 :  [ 6.20, 0.00, 0.00, 3.00, 0.00, 0.00, 0.00, 5.20, 0.00]
gainMatrixYawRate                   :  [ 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 2.30]







# LQR: get Angles from position error
gainMatrixThrust_SixStateVector:  [ 0.00, 0.00, 0.82, 0.00, 0.00, 0.22]
gainMatrixRollAngle            :  [ 0.00,-0.31, 0.00, 0.00,-0.25, 0.00]
gainMatrixPitchAngle           :  [ 0.31, 0.00, 0.00, 0.25, 0.00, 0.00]

105

mastefan's avatar
mastefan committed
106
107
108
109
#LQR: get Rates from Angle error
gainMatrixRollRatefromAngle           :  [ 4.00, 0.00, 0.00]
gainMatrixPitchRatefromAngle          :  [ 0.00, 4.00, 0.00]
gainMatrixYawRatefromAngle            :  [ 0.00, 0.00, 2.30]