Commit Graph

189 Commits

Author SHA1 Message Date
Matthias Grob 65884960fa Remove ancient submodules
that were accidentally added back without URL in #16471
2021-01-21 10:46:29 +01:00
TheLegendaryJedi e450c5a9d9 [UPDATE] - Crazyflie parameter config 2021-01-20 19:51:45 +01:00
Mathieu Bresciani 8d8b58efc3
Add logging of mag calibration data (mag_worker_data)
Co-authored-by: Julian Kent <julian@auterion.com>
2021-01-20 09:44:45 -05:00
Julien Lecoeur 343cf5603e initial control allocation support
- control allocation module with multirotor, VTOL standard, and tiltrotor support
 - angular_velocity_controller
 - See https://github.com/PX4/PX4-Autopilot/pull/13351 for details

Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Roman Bapst <bapstroman@gmail.com>
2021-01-18 11:25:37 -05:00
Julian Kent d965f1cbc0 Add rtl_flight_time message 2021-01-18 16:26:53 +01:00
TSC21 920d6d84b5 rtps: increase non-alias ID range by reducing the alias space ID 2021-01-18 09:33:14 +01:00
TSC21 54486b995e uorb_rtps_message_ids: add required topics to enable offboard control from DDS 2021-01-18 09:33:14 +01:00
TSC21 7c95e99156 tools: make sure that uORB type names found as part of field names are not capitalized as ROS types 2021-01-12 09:05:59 +01:00
Daniel Agar 4f62355dec
msg: new estimator_status_flags message for more accessible ekf2 status logging
- log all estimator (ekf2) flags as separate booleans in a new dedicated low rate message (only publishes at 1 Hz or immediately on any change)
 - this is a bit verbose, but it avoids the duplicate bit definitions we currently have across PX4 msgs, ecl analysis script, flight review, and many other custom tools and it's much easier for casual log review in FlightPlot, PlotJuggler, csv, etc
 - for compatibility I've left estimator_status filter_fault_flags, innovation_check_flags, and solution_status_flags in place, but they can gradually be removed as tooling is updated

Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com>
2020-12-29 11:27:21 -05:00
Daniel Agar ef6209ba03
new manual_control_switches msg (split out of manual_control_setpoint) (#16270)
- split out switches from manual_control_setpoint into new message manual_control_switches
 - manual_control_switches published at minimal rate (~ 1 Hz) or immediately on change
 - simple switch debounce in rc_update (2 consecutive identical decodes required)
 - manual_control_switches logged at full rate rather than sampled at (5-10% of messages logged)
 - manual_control_setpoint publish at minimal rate unless changing
 - commander handle landing gear switch for manual modes
 - processing of mode_slot and mode_switch is now split so we only do one or the other (not both)
     - a future step will be to finally drop mode_switch and accompanying switches entirely

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2020-12-11 12:11:35 -05:00
TSC21 1d1fbdb1d3 microRTPS: remove byte ordering for nested types 2020-11-28 21:26:50 +01:00
TSC21 b1dc1b1ecd msg: rtps: add IDs for missing estimator_* msgs 2020-10-28 11:58:35 +01:00
TSC21 5b7d1a0496 msg: rtps: add missing ID for orb_test_medium_wrap_around 2020-10-28 10:18:22 +01:00
Daniel Agar df2f26ebdf
rename vehicle_visual_odometry_aligned -> estimator_visual_odometry_aligned
- saves a small amount of work for the ekf2 selector in multi-EKF mode (visual_odometry_aligned now ignored)
 - helps to distinguish the origin/purpose from vehicle_odometry and vehicle_visual_odometry
2020-10-27 12:33:39 -04:00
Daniel Agar 0f411d6820
Multi-EKF support (ekf2)
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
    - in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
 - new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
 - sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
 - existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
 - ekf2 single instance mode is still fully supported and the default

Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
2020-10-27 10:56:11 -04:00
bresch 09cc3120e2 OpticalFlow: add optical flow velocity logging
This is important to align the flow with the IMU data and verify that
the compensation is properly done
2020-10-26 14:10:25 -04:00
Daniel Agar 945c17bc3f
move subsystem_info entirely into commander and remove from uORB
* HealthFlags: define bitfield using 1<<X

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2020-10-25 10:08:15 -04:00
Daniel Agar 8d1b99be31
mavlink: telemetry status only log simple HEARTBEAT validity
* delete telemetry_heartbeat msg
 * delete unused _telemetry_status_mutex
2020-10-13 13:37:10 -04:00
Daniel Agar d71ca37087
navigator: publish navigator mission item changes for logging
- new msg navigator_mission_item for inspecting navigator mission item processing
2020-10-13 12:12:03 -04:00
Daniel Agar f557fa46e8
gyro_fft improve peak finding, parameterize min/max frequencies, remove debug logging
- add min/max frequency parameters for peak detection (IMU_GYRO_FFT_MIN, IMU_GYRO_FFT_MAX)
 - remove full FFT debug logging
 - fix Quinn's second estimator
 - log sensor_gyro_fft
 - fake_gyro use PX4Gyroscope
2020-10-12 15:19:39 -04:00
Daniel Agar 8ee0c62e57
examples: add Gyro FFT using CMSIS 5 on Cortex-m (#15104)
- this is a work in progress experiment to compute real time FFTs from raw gyro FIFO data on Cortex-m hardware (stm32f4/f7/h7, etc)
2020-10-02 11:47:27 -04:00
Daniel Agar cf26f24387
msg: add quaternion euler angle pretty print 2020-09-28 10:13:43 -04:00
Jacob Dahl a24488328f
Move GPS blending from ekf2 to sensors module
- new sensors work item that subscribes to N x sensor_gps and publishes vehicle_gps_position
 - blending is now configurable with SENS_GPS_MASK and SENS_GPS_TAU

Co-authored-by: Jacob Crabill <jacob@volans-i.com>
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2020-09-25 23:28:31 -04:00
Daniel Agar 861e06dfd7
mavlink: handle receiving GENERATOR_STATUS
- only published (ORB_ID(generator_status)) and logged for now
2020-09-25 11:36:58 -04:00
Daniel Agar 60d613ea04
sensors: sensor_preflight_imu -> sensors_status_imu and run continuously
- inconsistency checks now run continuously instead of only preflight
 - keep inconsistencies for all sensors
 - add per sensor data validator state as overall health flag
2020-09-06 22:06:13 -04:00
Daniel Agar dfa82b58fd msg/tools/uorb_to_ros_msgs.py set executable 2020-09-06 23:31:52 +02:00
Daniel Agar 09666c324f msg: add mag device id pretty print decode 2020-09-04 10:48:26 -04:00
Daniel Agar 9ccc1db649 estimator_status split out estimator_states 2020-09-04 10:48:26 -04:00
TSC21 d09cb8d1f0 microRTPS: reduce the number of streams on the bus 2020-08-28 09:22:36 +02:00
Daniel Agar 971b1e4b4d sensors: move mag aggregation to new VehicleMagnetometer WorkItem
- purge all reminaing magnetometer IOCTL usage
 - mag calibration add off diagonal (soft iron) scale factors
2020-08-21 10:12:13 -04:00
TSC21 a091a70470 microRTPS: split the microRTPS client and agent dest directories for better visbility and handling 2020-08-18 17:16:04 +02:00
Daniel Agar 3002e74b4f
mavlink: publish telemetry_status per instance with all HEARTBEATS from the same system
- one telemetry_status publication per mavlink instance
 - each telemetry_status has an array of HEARTBEATS
2020-08-07 12:23:52 -04:00
TSC21 acc3866ac9 generate_microRTPS_bridge: make sure that the ROS2 version of FastRTPS is grabbed in a colcon build 2020-07-31 14:13:10 +01:00
stmoon b457122489 remove unnecessary stderr msg when checking ldconfig 2020-07-27 16:21:58 +01:00
Daniel Agar 81f57bccb6 px4io: servorail_status -> px4io_status and log all flags 2020-07-21 09:56:13 -04:00
Daniel Agar 459abcd035 uORB: print individual bits of fields
- applies to messages with names containing "flags" or "bits" and unsigned fixed width integer type (uint8, uint16, uint32)
2020-07-19 12:25:15 -04:00
Daniel Agar e34bdb4be9
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)
2020-05-30 11:07:54 -04:00
Daniel Agar c5cbc7725d msg: timestamp_sample print elapsed from timestamp 2020-05-11 12:58:52 -04:00
stmoon 9a0c50325b remove exception in case that ROS is not installed 2020-04-04 08:20:35 +01:00
stmoon aaa72b2a25 change how to get ros2 version 2020-04-04 08:20:35 +01:00
TSC21 144c65c92f microRTPS: only use '-typeros2' FastRTPSGen option for Dashing and later ROS2 distros 2020-04-03 18:03:26 +01:00
TSC21 2020b77a43 microRTPS: use FastRTPSGen '-typeros2' option to generate the typenaming required to interface the bridge with ROS2 topics 2020-04-02 14:28:38 +01:00
Julian Oes 07d172dc9c tools: present nicer error for missing packaging
This makes the error more user friendly and suggests what to do to fix
it.
2020-04-01 10:42:18 +01:00
TSC21 c4f8f39ca9 microRTPS: templates: use full version comparison when checking for version 1.7 2020-03-24 17:47:39 +00:00
TSC21 1ea5280299 microRTPS: use package.version to compare FastRTPS lib versions 2020-03-24 13:31:41 +00:00
Paul Riseborough ab92b46e69
Update ecl to add ability to recover from bad magnetic yaw
* msg: Add EKF-GSF yaw estimator logging data
* ecl: update to version with EKF-GSF yaw estimator
* ekf2: Add param control and logging for EKF-GSF yaw estimator
* logger: Add logging for EKF-GSF yaw esimtator
2020-03-15 12:57:25 -04:00
TSC21 69b38c9ced RTPS: add IDs to 'orb_test' related multitopics 2020-03-12 11:10:50 +00:00
TSC21 7612879ffd microRTPS: use FastRTPS version instead of FastRTPSGen version to generate conditional code 2020-03-11 15:13:07 +00:00
Daniel Agar 9585055e9e
uORB: add bitset for faster orb_exists check and remove uORB::Subscription lazy subscribe hack/optimization
- add PX4 bitset and atomic_bitset with testing
 - add uORB::Subscription constructor to take ORB_ID enum
 - move orb test messages into msg/
2020-03-11 09:06:33 -04:00
TSC21 2568d9ae20 mavlink: timesync: readd timesync_status uORB to report Mavlink timesync 2020-03-10 12:15:18 +00:00