PickerController.yaml 3.24 KB
Newer Older
1
# Mass of the crazyflie
2
mass_CF : 32
3
# Mass of the letters
4
5
6
mass_E : 3.2
mass_T : 2.9
mass_H : 3.3
7

8
9
10
11
12
13
# Thickness of the object at pick-up and put-down, in [meters]
# > This should also account for extra height due to 
#   the surface where the object is
thickness_of_object_at_pickup  : 0.02
thickness_of_object_at_putdown : 0.03

14
15
16
17
# (x,y) coordinates of the pickup location
pickup_coordinates_xy : [-0.3, 0.0]

# (x,y) coordinates of the drop off location
18
19
20
dropoff_coordinates_xy_for_E : [0.20, 0.0]
dropoff_coordinates_xy_for_T : [0.24, 0.0]
dropoff_coordinates_xy_for_H : [0.28, 0.0]
21

22
23
24
# Length of the string from the Crazyflie
# to the end of the Picker, in [meters]
picker_string_length : 0.38
25

26
27
28
29
30
31
# Max setpoint change per second
max_setpoint_change_per_second_horizontal  :  0.20 # [meters]
max_setpoint_change_per_second_vertical    :  0.10 # [meters]
max_setpoint_change_per_second_yaw_degrees : 90.00 # [degrees]


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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96



# THE FOLLOWING PARAMETERS ARE USED
# FOR THE LOW-LEVEL CONTROLLER

# Frequency of the controller, in hertz
vicon_frequency : 200
control_frequency : 200

# 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


# The LQR Controller parameters for "mode = 3"
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]


# 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]


# > 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]

#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]