mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-15 03:07:35 +08:00
move IMU integration out of drivers to sensors hub to handle accel/gyro sync
- IMU integration move from drivers (PX4Accelerometer/PX4Gyroscope) to sensors/vehicle_imu - sensors: voted_sensors_update now consumes vehicle_imu - delete sensor_accel_integrated, sensor_gyro_integrated - merge sensor_accel_status/sensor_gyro_status into vehicle_imu_status - sensors status output minor improvements (ordering, whitespace, show selected sensor device id and instance)
This commit is contained in:
+1
-4
@@ -112,15 +112,11 @@ set(msg_files
|
||||
satellite_info.msg
|
||||
sensor_accel.msg
|
||||
sensor_accel_fifo.msg
|
||||
sensor_accel_integrated.msg
|
||||
sensor_accel_status.msg
|
||||
sensor_baro.msg
|
||||
sensor_combined.msg
|
||||
sensor_correction.msg
|
||||
sensor_gyro.msg
|
||||
sensor_gyro_fifo.msg
|
||||
sensor_gyro_integrated.msg
|
||||
sensor_gyro_status.msg
|
||||
sensor_mag.msg
|
||||
sensor_preflight.msg
|
||||
sensor_selection.msg
|
||||
@@ -154,6 +150,7 @@ set(msg_files
|
||||
vehicle_global_position.msg
|
||||
vehicle_gps_position.msg
|
||||
vehicle_imu.msg
|
||||
vehicle_imu_status.msg
|
||||
vehicle_land_detected.msg
|
||||
vehicle_local_position.msg
|
||||
vehicle_local_position_setpoint.msg
|
||||
|
||||
@@ -9,4 +9,8 @@ float32 z # acceleration in the NED Z board axis in m/s^2
|
||||
|
||||
float32 temperature # temperature in degrees celsius
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 4
|
||||
uint32 error_count
|
||||
|
||||
uint8[3] clip_counter # clip count per axis in the sample period
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 8
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint64 timestamp_sample
|
||||
|
||||
uint32 device_id # unique device ID for the sensor that does not change between power cycles
|
||||
|
||||
uint64 error_count
|
||||
|
||||
float32[3] delta_velocity # delta velocity in the NED board axis in m/s over the integration time frame (dt)
|
||||
uint16 dt # integration time (microseconds)
|
||||
uint8 samples # number of samples integrated
|
||||
|
||||
uint8[3] clip_counter # clip count per axis over the integration period
|
||||
@@ -1,17 +0,0 @@
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint32 device_id # unique device ID for the sensor that does not change between power cycles
|
||||
|
||||
uint64 error_count
|
||||
|
||||
float32 temperature
|
||||
|
||||
uint8 rotation
|
||||
|
||||
uint32[3] clipping # clipping per axis
|
||||
|
||||
uint16 measure_rate_hz
|
||||
|
||||
float32 full_scale_range
|
||||
|
||||
float32 vibration_metric # high frequency vibration level in the IMU delta velocity data (m/s)
|
||||
+3
-1
@@ -9,4 +9,6 @@ float32 z # angular velocity in the NED Z board axis in rad/s
|
||||
|
||||
float32 temperature # temperature in degrees celsius
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 4
|
||||
uint32 error_count
|
||||
|
||||
uint8 ORB_QUEUE_LENGTH = 8
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
uint64 timestamp_sample
|
||||
|
||||
uint32 device_id # unique device ID for the sensor that does not change between power cycles
|
||||
|
||||
uint64 error_count
|
||||
|
||||
float32[3] delta_angle # delta angle in the NED board axis in rad/s over the integration time frame (dt)
|
||||
uint16 dt # integration time (microseconds)
|
||||
uint8 samples # number of samples integrated
|
||||
|
||||
uint8[3] clip_counter # clip count per axis over the integration period
|
||||
@@ -1,19 +0,0 @@
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint32 device_id # unique device ID for the sensor that does not change between power cycles
|
||||
|
||||
uint64 error_count
|
||||
|
||||
float32 temperature
|
||||
|
||||
uint8 rotation
|
||||
|
||||
uint32[3] clipping # clipping per axis
|
||||
|
||||
uint16 measure_rate_hz
|
||||
|
||||
float32 full_scale_range
|
||||
|
||||
float32 vibration_metric # high frequency vibration level in the IMU delta angle data (rad)
|
||||
|
||||
float32 coning_vibration # Level of coning vibration in the IMU delta angles (rad^2)
|
||||
@@ -305,6 +305,18 @@ def print_field(field):
|
||||
print("char device_id_buffer[80];")
|
||||
print("device::Device::device_id_print_buffer(device_id_buffer, sizeof(device_id_buffer), message.device_id);")
|
||||
print("PX4_INFO_RAW(\"\\tdevice_id: %d (%s) \\n\", message.device_id, device_id_buffer);")
|
||||
elif field.name == 'accel_device_id':
|
||||
print("char accel_device_id_buffer[80];")
|
||||
print("device::Device::device_id_print_buffer(accel_device_id_buffer, sizeof(accel_device_id_buffer), message.accel_device_id);")
|
||||
print("PX4_INFO_RAW(\"\\taccel_device_id: %d (%s) \\n\", message.accel_device_id, accel_device_id_buffer);")
|
||||
elif field.name == 'gyro_device_id':
|
||||
print("char gyro_device_id_buffer[80];")
|
||||
print("device::Device::device_id_print_buffer(gyro_device_id_buffer, sizeof(gyro_device_id_buffer), message.gyro_device_id);")
|
||||
print("PX4_INFO_RAW(\"\\tgyro_device_id: %d (%s) \\n\", message.gyro_device_id, gyro_device_id_buffer);")
|
||||
elif field.name == 'baro_device_id':
|
||||
print("char baro_device_id_buffer[80];")
|
||||
print("device::Device::device_id_print_buffer(baro_device_id_buffer, sizeof(baro_device_id_buffer), message.baro_device_id);")
|
||||
print("PX4_INFO_RAW(\"\\tbaro_device_id: %d (%s) \\n\", message.baro_device_id, baro_device_id_buffer);")
|
||||
elif is_array and 'char' in field.type:
|
||||
print(("PX4_INFO_RAW(\"\\t" + field.name + ": \\\"%." + str(array_length) + "s\\\" \\n\", message." + field.name + ");"))
|
||||
else:
|
||||
|
||||
@@ -267,40 +267,34 @@ rtps:
|
||||
id: 117
|
||||
- msg: sensor_accel_fifo
|
||||
id: 118
|
||||
- msg: sensor_accel_status
|
||||
id: 119
|
||||
- msg: sensor_gyro_fifo
|
||||
id: 120
|
||||
- msg: sensor_gyro_status
|
||||
id: 121
|
||||
- msg: sensor_accel_integrated
|
||||
id: 122
|
||||
- msg: sensor_gyro_integrated
|
||||
id: 123
|
||||
id: 119
|
||||
- msg: vehicle_imu
|
||||
id: 124
|
||||
id: 120
|
||||
- msg: vehicle_imu_status
|
||||
id: 121
|
||||
- msg: vehicle_angular_acceleration
|
||||
id: 125
|
||||
id: 122
|
||||
- msg: logger_status
|
||||
id: 126
|
||||
id: 123
|
||||
- msg: rpm
|
||||
id: 127
|
||||
id: 124
|
||||
- msg: hover_thrust_estimate
|
||||
id: 128
|
||||
id: 125
|
||||
- msg: trajectory_bezier
|
||||
id: 129
|
||||
id: 126
|
||||
- msg: vehicle_trajectory_bezier
|
||||
id: 130
|
||||
id: 127
|
||||
- msg: timesync_status
|
||||
id: 131
|
||||
id: 128
|
||||
- msg: orb_test
|
||||
id: 132
|
||||
id: 129
|
||||
- msg: orb_test_medium
|
||||
id: 133
|
||||
id: 130
|
||||
- msg: orb_test_large
|
||||
id: 134
|
||||
id: 131
|
||||
- msg: yaw_estimator_status
|
||||
id: 135
|
||||
id: 132
|
||||
########## multi topics: begin ##########
|
||||
- msg: actuator_controls_0
|
||||
id: 150
|
||||
|
||||
+2
-2
@@ -8,8 +8,8 @@ uint32 gyro_device_id # Gyroscope unique device ID for the sensor that
|
||||
|
||||
float32[3] delta_angle # delta angle in the NED board axis in rad/s over the integration time frame (dt)
|
||||
float32[3] delta_velocity # delta velocity in the NED board axis in m/s over the integration time frame (dt)
|
||||
|
||||
uint16 dt # integration period in us
|
||||
uint16 delta_angle_dt # integration period in us
|
||||
uint16 delta_velocity_dt # integration period in us
|
||||
|
||||
uint8 CLIPPING_X = 1
|
||||
uint8 CLIPPING_Y = 2
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
uint64 timestamp # time since system start (microseconds)
|
||||
|
||||
uint32 accel_device_id # unique device ID for the sensor that does not change between power cycles
|
||||
uint32 gyro_device_id # unique device ID for the sensor that does not change between power cycles
|
||||
|
||||
uint32[3] accel_clipping # clipping per axis
|
||||
|
||||
uint32 accel_error_count
|
||||
uint32 gyro_error_count
|
||||
|
||||
uint16 accel_rate_hz
|
||||
uint16 gyro_rate_hz
|
||||
|
||||
float32 accel_vibration_metric # high frequency vibration level in the IMU delta velocity data (m/s)
|
||||
float32 gyro_vibration_metric # high frequency vibration level in the IMU delta velocity data (m/s)
|
||||
float32 gyro_coning_vibration # Level of coning vibration in the IMU delta angles (rad^2)
|
||||
Reference in New Issue
Block a user