Commit Graph
100 Commits
Author SHA1 Message Date
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 d5e68bc05a mathlib: NotchFilter delete unused update method 2020-10-27 12:30:59 -04:00
Daniel Agar f36f8928e3 distance_sensor/vl53l1x: fix code style 2020-10-27 11:43:11 -04:00
Daniel AgarandPaul Riseborough 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
Daniel Agar d5245a22d3 logger: limit default estimator_optical_flow_vel logging 2020-10-26 14:10:25 -04:00
Daniel Agar 8435742dd5 logger: double actuator_controls_0 and vehicle_attitude_setpoint default log rate 2020-10-26 00:36:02 -04:00
Daniel Agar 6d2f592c16 logger: add vehicle_constraints to default set 2020-10-26 00:36:02 -04:00
Daniel Agar 614a0ac2a2 experimental/gyro_fft: improve peak detection, add start parameter
- add new parameter `IMU_GYRO_FFT_EN` to start
 - add 75% overlap in buffer to increase FFT update rate
 - space out FFT calls (no more than 1 per cycle)
 - increase `IMU_GYRO_FFT_MIN` default
 - decrease main stack usage
2020-10-25 23:48:21 -04:00
Daniel AgarandMatthias Grob 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 6285e06fe2 mc_pos_control: split out header and name consistently 2020-10-23 15:06:04 -04:00
Daniel Agar 81765bc06a commander: PreFlightCheck remove HIL special cases
- skipping these sensor checks in HIL no longer makes sense as each
sensor has a normal publication (sensor_accel/gyro/etc) regardless of
simulation
2020-10-23 11:25:50 -04:00
Daniel Agar 0b74076265 msg: only include orb_test messages if PX4_TESTING enabled 2020-10-20 15:17:09 -04:00
Daniel Agar 2201424dfd micrortps_bridge: don't reuse msg_files variable (now global) 2020-10-20 11:05:47 -04:00
Daniel Agar 1eb3c59277 systemcmds/topic_listener: use msg_files list from msg/ 2020-10-20 11:05:47 -04:00
Daniel Agar 16119f0e8c mavlink debug messages disable on CONSTRAINED_FLASH boards
- mavlink messages DEBUG/DEBUG_FLOAT_ARRAY/DEBUG_VECT/NAMED_VALUE_FLOAT move to separate stream headers and don't include if CONSTRAINED_FLASH
 - mavlink receiver DEBUG/DEBUG_FLOAT_ARRAY/DEBUG_VECT/NAMED_VALUE_FLOAT handling excluded if CONSTRAINED_FLASH
 - msg: skip debug_array.msg, debug_key_value.msg, debug_value.msg, debug_vect.msg if CONSTRAINED_FLASH
2020-10-20 11:05:47 -04:00
Daniel Agar be0f884dde commander: preflight check don't read mag device_id 2020-10-19 23:01:02 -04:00
Daniel Agar b08b83ba48 logger: logged topics support up to 4 accels/baros/gyros 2020-10-19 18:30:22 -04:00
Daniel AgarandAlex Mikhalev 224be8ba24 drivers/uavcan: RGB LED support (publish uavcan::equipment::indication::LightsCommand)
Co-authored-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
2020-10-17 12:33:09 -04:00
Daniel Agar d985887468 ekf2: use new Param<> reset method 2020-10-15 08:32:05 +02:00
Daniel Agar 7255f5feac parameters: add param_reset_no_notification()
- add reset() to Param<>
2020-10-15 08:32:05 +02: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 34ad85557e Revert "mavlink: increase stack 2650 -> 2848 bytes (#15821)"
This reverts commit e792c46f20.
2020-10-12 20:58:35 -04:00
Daniel Agar 5c2cc53134 Revert "logger: log_writer_file increase stack 1170 -> 1472 bytes (#15765)"
This reverts commit d676e65294.
2020-10-12 20:58:35 -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 0a985638e3 simulator: add inject failure messages for logging 2020-10-10 20:03:50 -04:00
Daniel Agar 76602b3a8f mavsdk_tests: longer climb (5 -> 10 seconds) in fly forward altctl/posctl tests 2020-10-10 20:03:50 -04:00
Daniel Agar da37f63bbd ROMFS: posix adjust standard vtol (1040) tuning 2020-10-10 20:03:50 -04:00
Daniel Agar 5fa1e8e8ba mavlink: stream rename GROUND_TRUTH -> HIL_STATE_QUATERNION 2020-10-10 19:49:41 -04:00
Daniel Agar cb4d974977 mavlink: move GROUND_TRUTH stream to separate file 2020-10-10 19:49:41 -04:00
Daniel Agar 283264603a mavlink: move PING stream to separate file 2020-10-10 19:49:41 -04:00
Daniel Agar 97dc988f86 mavlink: move ORBIT_EXECUTION_STATUS stream to separate file 2020-10-10 19:49:41 -04:00
Daniel Agar 826dfa1941 mavlink: move OBSTACLE_DISTANCE stream to separate file 2020-10-10 19:49:41 -04:00
Daniel Agar 28efc95e29 ROMFS: posix rcS remove airframe specific defaults being applied everywhere
- these need to be set per airframe
2020-10-10 12:49:09 -04:00
Daniel Agar dfbaf6607a sensors/vehicle_imu: continue integrating queued raw data if falling behind 2020-10-10 12:30:26 -04:00
Daniel Agar f26d4f2b6b mavlink: stop unnecessarily passing around time 2020-10-09 10:30:30 -04:00
Daniel Agar 97cf714c7a mavlink: move HIGH_LATENCY2 stream to streams folder in a single header 2020-10-09 10:30:30 -04:00
Daniel Agar 94146a7b16 mavlink: move RAW_RPM stream to separate file 2020-10-09 10:30:30 -04:00
Daniel Agar 9c4abf334b mavlink: move ESC_INFO stream to separate file 2020-10-09 10:30:30 -04:00
Daniel Agar 1ddfd61d34 mavlink: move ESC_STATUS stream to separate file 2020-10-09 10:30:30 -04:00
Daniel Agar b51322e160 mavlink: name existing stream headers consistently and add include guards 2020-10-09 10:30:30 -04:00
Daniel Agar 674cd1e3b5 mavlink: move EXTENDED_SYS_STATE stream to separate file 2020-10-09 10:30:30 -04:00
Daniel Agar eecf2e7a1e sensors: allow up to 4 accels, gyros, and baros and add configurable rotations for accel & gyro 2020-10-08 19:01:44 -04:00
Daniel Agar 28956e0399 Github actions: MAVSDK SITL tests fix log upload on failure 2020-10-08 13:10:08 -04:00
Daniel AgarandPX4 BuildBot 88c4876bac Update submodule mavlink v2.0 to latest Thu Oct 8 12:40:37 UTC 2020
- mavlink v2.0 in PX4/Firmware (3332f77773460a2a1463d6d7a14e5613eab166e7): https://github.com/mavlink/c_library_v2/commit/cc4220a4d4dcdf02ff3521764c120e9a4e974285
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/894599e6cba3ca6e8a32a68065b15d1a91c35af2
    - Changes: https://github.com/mavlink/c_library_v2/compare/cc4220a4d4dcdf02ff3521764c120e9a4e974285...894599e6cba3ca6e8a32a68065b15d1a91c35af2

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-10-08 09:40:04 -04:00
Daniel AgarandPX4 BuildBot 3f56cfe66e Update submodule mavlink v2.0 to latest Wed Oct 7 12:40:52 UTC 2020
- mavlink v2.0 in PX4/Firmware (d3ddca8bf3b409abcf7e0b7cc2b979a00cdbec73): https://github.com/mavlink/c_library_v2/commit/e3d00c443602ff81cc57123fbc3b50c250b3e9ad
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/cc4220a4d4dcdf02ff3521764c120e9a4e974285
    - Changes: https://github.com/mavlink/c_library_v2/compare/e3d00c443602ff81cc57123fbc3b50c250b3e9ad...cc4220a4d4dcdf02ff3521764c120e9a4e974285

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-10-07 14:13:11 -04:00
Daniel Agar 378cb155d6 simulator: support accel/gyro instances and stuck failure
- expand simulator to 3 accels and gyros
 - PX4Accelerometer/PX4Gyroscope switch to old param usage due to copy constructor issues with ModuleParams
2020-10-07 13:20:13 -04:00
Daniel AgarandRomanBapst c01fabaf11 FW move altitude first order hold (FOH) and loiter to position special cases from navigator to position controller
Co-authored-by: RomanBapst <bapstroman@gmail.com>
2020-10-06 16:57:12 -04:00
Daniel Agar 9838e340e0 systemcmds/tune_control: add play error documentation 2020-10-06 10:21:15 -04:00
Daniel Agar f01c4e769f sensors/vehicle_imu: vehicle_imu_status add mean accel/gyro
- this makes it slightly easier to gather long term data for an Allan Variance
 - fixes https://github.com/PX4/Firmware/issues/6250
2020-10-05 22:18:03 -04:00
Daniel Agar 08bf71b73d drivers/tone_alarm and tune_control small improvements/cleanup
- drivers/tone_alarm: move to ModuleBase and purge CDev (/dev/tone_alarm0)
 - drivers/tone_alarm: only run on tune_control publication (or scheduled note) rather than continuously
 - drivers/tone_alarm: use HRT to schedule tone stop (prevents potential disruption)
 - msg/tune_control: add tune_id numbering
 - systemcmds/tune_control: add "error" special case tune_id
 - move all tune_control publication to new uORB::PublicationQueued<>
 - start tone_alarm immediately after board defaults are loaded to fix potential startup issues
 - for SITL (or other boards with no TONE output) print common messages (startup, error, etc)
2020-10-05 21:39:26 -04:00
Daniel Agar 016ee6ea59 battery: fix duplicate uORB publish and minor cleanup
- run battery_status module on adc_report publications rather than a fixed schedule
2020-10-05 11:01:58 -04:00
Daniel Agar be28c4d309 lib/rc: dsm_bind() add debug output for binding
- trivial code style cleanup
2020-10-04 22:23:47 -04:00
Daniel Agar ddce711acb drivers/rc_input: command line bind use vehicle_command 2020-10-04 22:23:47 -04:00
Daniel Agar 1bf0218c87 boards: mRo Control Zero F7 fix RC input and cleanup sensors init 2020-10-04 22:23:47 -04:00
Daniel Agar eabbd19c1c commander: PreFlightCheck param_find all parameters immediately
- this ensures the relevant parameters are marked active immediately
before parameter sync
 - fixes https://github.com/PX4/Firmware/issues/15872
2020-10-03 14:43:21 -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 23aa9ac70f cmake nuttx add STM32H7 debug helpers 2020-10-02 11:31:18 -04:00
Daniel Agar c1936dab1f commander: accel & gyro subsystem health set within IMU check 2020-09-30 12:17:48 -04:00
Daniel Agar 25c537bae9 commander: don't impose additional timeouts in sensor checks
- the sensors hub is responsible for sensor timeouts
2020-09-30 12:17:48 -04:00
Daniel Agar c9c20666a2 sensors: sanity check differential pressure temperature (#15845)
- if valid temperature unavailable then use ICAO Standard Atmosphere 15 degrees celcius
2020-09-29 09:35:34 -04:00
Daniel Agar 24ffed827f ROMFS: 50000_generic_ground_vehicle remove fmu-v2 exclude
- this allows px4_fmu-v2_rover to function until we have a better mechanism for including or excluding ROMFS dependencies #15711
2020-09-28 22:43:28 -04:00
Daniel Agar f1feaf45d3 EKF2: move vehicle_odometry publish to method 2020-09-28 18:34:49 -04:00
Daniel Agar faccb0d948 Jenkins: HIL script minor improvements
- periodically send newline while checking for output or command completion (back to nsh prompt)
 - mtd test
 - fix adc test (now board_adc)
2020-09-28 16:41:28 -04:00
Daniel Agar fe6a1ce882 simulator: fix airspeed temperature
- HIL_SENSOR temperature is only being sent with barometer data
2020-09-28 12:56:56 -04:00
Daniel Agar 828134c56f sensor_calibration: add link dependencies 2020-09-28 12:26:38 -04:00
Daniel Agar cf26f24387 msg: add quaternion euler angle pretty print 2020-09-28 10:13:43 -04:00
Daniel AgarandPX4 BuildBot 6a08e16351 Update submodule mavlink v2.0 to latest Sat Sep 26 15:30:19 UTC 2020
- mavlink v2.0 in PX4/Firmware (aab65cdc3261a4ca315d5b91d65e0dd3e39940d0): https://github.com/mavlink/c_library_v2/commit/09524c98db4eb389d3d50f7905a17805b216a9ea
    - mavlink v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/e3d00c443602ff81cc57123fbc3b50c250b3e9ad
    - Changes: https://github.com/mavlink/c_library_v2/compare/09524c98db4eb389d3d50f7905a17805b216a9ea...e3d00c443602ff81cc57123fbc3b50c250b3e9ad

Co-authored-by: PX4 BuildBot <bot@px4.io>
2020-09-26 13:14:25 -04:00
Daniel Agar e792c46f20 mavlink: increase stack 2650 -> 2848 bytes (#15821) 2020-09-25 21:42:02 -04:00
Daniel Agar f37d0a85e2 Jenkins: remove remaining SITL tests (MC_avoidance/MC_safe_landing)
- MC_avoidance and MC_safe_landing are currently failing intermittently and will be migrated to Github Actions
2020-09-25 12:28:26 -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 c57a48682e Tools: ecl analysis handle estimator_innovations/estimator_innovation_variances size inconsistencies 2020-09-25 10:35:01 -04:00
Daniel Agar 2ccf664e95 commander: disarm from safety relax land detector timeout
- ensure land detector is updated before safety is checked
2020-09-25 09:41:53 -04:00
Daniel Agar 60252dde08 Jenkins: SITL tests disable ninja build to reduce build parallelism
- test slaves have limited memory
2020-09-24 15:56:57 -04:00
Daniel Agar bbdc57a662 cmake: remove sitl_gazebo build -j2
- allow ninja build to automatically determine parallelism
2020-09-24 15:56:57 -04:00
Daniel Agar 0dc8bb9c86 uORB: increase ORB_MULTI_MAX_INSTANCES 4 -> 10
- put more realistic bounds on maximum number of battery instances, gps, etc
2020-09-24 11:01:28 -04:00
Daniel Agar f04f0c89ca boards: CUAV Nora/X7pro fix BOARD_DSHOT_MOTOR_ASSIGNMENT
- BOARD_DSHOT_MOTOR_ASSIGNMENT isn't needed if there's no remapping
2020-09-24 10:53:54 -04:00
Daniel Agar 762d925d20 boards: cubepilot orange/yellow fix BOARD_DSHOT_MOTOR_ASSIGNMENT 2020-09-24 10:53:54 -04:00
Daniel Agar 0a607bdc67 boards: CUAV CAN_GPS v1.2 cannode (stm32f412) with UAVCAN bootloader 2020-09-23 14:30:54 -04:00
Daniel Agar 8579b5dd26 uORB: Subscription add copy/move constructor and assignment 2020-09-23 10:04:54 -04:00
Daniel Agar d5295ef4e1 mavlink: add static asserts to keep MAV_SENSOR_ROTATION in sync with PX4 ROTATION 2020-09-22 11:10:31 -04:00
Daniel Agar 00e955cc3e rotations: sync rotation enum, SENS_BOARD_ROT, CAL_MAGx_ROT with MAV_SENSOR_ORIENTATION 2020-09-22 11:10:31 -04:00
Daniel Agar 8b26b84fd1 Jenkins: hardware disable holybro durandal bootloader update
- this is currently bricking the board
2020-09-21 22:51:11 -04:00
Daniel Agar 43903dcb79 Jenkins: temporarily disable catkin build on ROS workspace 2020-09-21 22:48:33 -04:00
Daniel Agar d676e65294 logger: log_writer_file increase stack 1170 -> 1472 bytes (#15765) 2020-09-21 22:17:31 -04:00
Daniel Agar e4a408bc55 cmake nuttx build modify copied nuttx repo .git to point to actual git dir
- this fixes builds that contain a px4io and use the Makefile generator rather than Ninja
2020-09-21 12:39:29 -04:00
Daniel Agar 4d97772756 vscode: SITL debug add gazebo world select 2020-09-21 11:56:25 -04:00
Daniel Agar 2728af4264 boards: cubeorange and cubeyellow disable serial console (used for ADSB on new carrier boards)
- add console builds (cubepilot_cubeorange_console) for hardware test rack and developers
2020-09-21 11:53:49 -04:00
Daniel Agar 09af5e0637 commander: mag calibration use expected WMM sphere radius to reject samples if GPS is available 2020-09-20 12:22:56 -04:00
Daniel Agar 940dc9cca0 cmake NuttX build fix path to git dir
- this relative path was incorrect for the px4io when using the Makefile generator and built for inclusion within another build (eg px4_fmu-v5_default)
2020-09-18 21:18:36 -04:00
Daniel Agar abbd335e4e uavcannode: use correct PYTHON_EXECUTABLE and support stm32h7
- sync CMakeLists.txt with drivers/uavcan
2020-09-18 13:03:07 -04:00
Daniel Agar d61fd0e4ca update all px4-dev-base and px4-dev-nuttx container usage uniformly 2020-09-18 13:03:07 -04:00
Daniel Agar 41a2fe5bdf gitmodules update NuttX branches 2020-09-18 12:10:34 -04:00
Daniel Agar 12ab762adc sensor_calibration: silence error if priority is -1 (uninitialized parameter value) 2020-09-16 12:32:40 -04:00
Daniel Agar 033f74b1c8 sitl_run.sh remove xtrace leftover from debugging 2020-09-16 10:43:29 -04:00
Daniel Agar 2b18b05a8a vscode updates and improvements
- fix gazebo SITL debug
     - now prompts you to select vehicle
 - devcontainer.json container support https://code.visualstudio.com/docs/remote/containers
     - this allows you to jump straight into working within a container (px4-dev-nuttx) on a fresh machine
     - also helps with Codespaces https://github.com/features/codespaces
 - plugin updates
    - cpp extension pack, spell checking, CTest support
 - cleanup intellisense
     - the backup tag parser was a resource hog and didn't work very well
 - fix problemMatcher support so that you can click on a build failure
2020-09-16 09:07:54 -04:00
Daniel Agar 0e9a4cc65f boards: px4/sitl sync all build variants and fix none default package 2020-09-15 21:13:04 -04:00
Daniel Agar 5e4e4a4573 boards: aerotenna ocpoc fix package (new ROMFSROOT was missing) 2020-09-15 21:13:04 -04:00
Daniel Agar c41f053c7b vehicle_imu/vehicle_magnetometer add calibration indicator to message
- vehicle_imu/vehicle_magnetometer add monotonically increasing `calibration_count` field so that downstream subscribers are aware of calibration changes
2020-09-15 13:12:57 -04:00
Daniel Agar 87471a988d land_detector: use hover thrust if it was valid recently
- the hover thrust estimate will often invalidate upon ground contact, but before the land detector ground_contact triggers
 - use same time throughout call to avoid subtle timing surprises
2020-09-15 10:17:25 -04:00