Mixer: Added 3D thrust capability to the multirotor and 6-dof mixers

- Added 3D thrust definitions to actuator controls and multirotor motor limits messages
This commit is contained in:
Azarakhsh Keipour
2020-01-21 18:23:06 -05:00
parent d7f61e41d8
commit a878d6823d
5 changed files with 54 additions and 36 deletions
+4 -1
View File
@@ -9,10 +9,13 @@ uint8 INDEX_FLAPS = 4
uint8 INDEX_SPOILERS = 5
uint8 INDEX_AIRBRAKES = 6
uint8 INDEX_LANDING_GEAR = 7
uint8 INDEX_X_THRUST = 8
uint8 INDEX_Y_THRUST = 9
uint8 INDEX_Z_THRUST = 10
uint8 GROUP_INDEX_ATTITUDE = 0
uint8 GROUP_INDEX_ATTITUDE_ALTERNATE = 1
uint64 timestamp_sample # the timestamp the data this control response is based on was sampled
float32[8] control
float32[11] control
# TOPICS actuator_controls actuator_controls_0 actuator_controls_1 actuator_controls_2 actuator_controls_3
# TOPICS actuator_controls_virtual_fw actuator_controls_virtual_mc
+15 -11
View File
@@ -1,14 +1,18 @@
uint64 timestamp # time since system start (microseconds)
uint16 saturation_status # Integer bit mask indicating which axes in the control mixer are saturated
# 0 - True if the saturation status is valid
# 1 - True if any motor is saturated at the upper limit
# 2 - True if any motor is saturated at the lower limit
# 3 - True if a positive roll increment will increase motor saturation
# 4 - True if negative roll increment will increase motor saturation
# 5 - True if positive pitch increment will increase motor saturation
# 6 - True if negative pitch increment will increase motor saturation
# 7 - True if positive yaw increment will increase motor saturation
# 8 - True if negative yaw increment will increase motor saturation
# 9 - True if positive thrust increment will increase motor saturation
# 10 - True if negative thrust increment will increase motor saturation
uint8 INDEX_VALID = 0 # True if the saturation status is valid
uint8 INDEX_MOTOR_POS = 1 # True if any motor is saturated at the upper limit
uint8 INDEX_MOTOR_NEG = 2 # True if any motor is saturated at the lower limit
uint8 INDEX_ROLL_POS = 3 # True if a positive roll increment will increase motor saturation
uint8 INDEX_ROLL_NEG = 4 # True if negative roll increment will increase motor saturation
uint8 INDEX_PITCH_POS = 5 # True if positive pitch increment will increase motor saturation
uint8 INDEX_PITCH_NEG = 6 # True if negative pitch increment will increase motor saturation
uint8 INDEX_YAW_POS = 7 # True if positive yaw increment will increase motor saturation
uint8 INDEX_YAW_NEG = 8 # True if negative yaw increment will increase motor saturation
uint8 INDEX_X_THRUST_POS = 9 # True if positive X thrust increment will increase motor saturation
uint8 INDEX_X_THRUST_NEG = 10 # True if negative X thrust increment will increase motor saturation
uint8 INDEX_Y_THRUST_POS = 11 # True if positive Y thrust increment will increase motor saturation
uint8 INDEX_Y_THRUST_NEG = 12 # True if negative Y thrust increment will increase motor saturation
uint8 INDEX_Z_THRUST_POS = 13 # True if positive Z thrust increment will increase motor saturation
uint8 INDEX_Z_THRUST_NEG = 14 # True if negative Z thrust increment will increase motor saturation