Commit Graph

34523 Commits

Author SHA1 Message Date
Daniel Agar 050fa47aca IMU handle accel/gyro FIFO as separate type 2021-02-16 09:18:10 -05:00
PX4 BuildBot cf2ffb1086 Update submodule ecl to latest Tue Feb 16 12:39:08 UTC 2021
- ecl in PX4/Firmware (4de4b8012999a53b3401701fe63fafb4056fa58f): https://github.com/PX4/PX4-ECL/commit/ffab483504a6c2eb3b61ae10d612cb35c8fbc550
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/d4258cc66d24c6871688ae83f42de3b46c96d033
    - Changes: https://github.com/PX4/PX4-ECL/compare/ffab483504a6c2eb3b61ae10d612cb35c8fbc550...d4258cc66d24c6871688ae83f42de3b46c96d033

    d4258cc 2021-02-15 Mathieu Bresciani - yaw emergency: check angle between vel observation and estimate (#975)
2021-02-16 08:34:02 -05:00
Daniel Agar 44df0fb7a2 Analog Devices ADIS16448 rewrite
- new IMU driver structure with state machine (no sleeps in bus thread)
 - verify all configured registers and trigger reset on failure
 - detect if DIO1 or DIO2 are actually connected for data ready interrupt usage
 - don't use CRC-16 on burst transfers except for verified lots
2021-02-16 10:29:07 +01:00
mcsauder 59b31e3c5b Minor cleanup/error checking, static_casts, print_status() additions, and formatting in the heater driver. 2021-02-16 08:20:14 +01:00
Ramon Roche 15392f8e53 silent success and log failures
Co-authored-by: Nuno Marques <n.marques21@hotmail.com>
2021-02-15 20:28:19 +01:00
CAI Dongcai 2ad1cb24cc fix empty log file "micrortps_bridge.log" 2021-02-15 20:28:19 +01:00
Tim 540e4f9464 Uuv position control extension (#16688)
* Commit for the Integration of a position controller for the a Underwater vehicle.
This module is an extension of the uuv_att_control to control an Underwater vehicle to any position, given by the SET_POSITION_TARGET_LOCAL_NED which includes x y z yaw.
Since the position control is designed for a 6DOF Robot, the roll and pitch angle are controlled to be 0.
Additionally there is a stabilization control, which holds the robot at a defined depth, and not move in any direction.

In general the idea is to have this position module to control the position of the uuv. The position module reseives the desired position of the uuv and sends appropriate attitude setpoints to the uuv_attitude_control module.

Additionally the mixer file is adapted, to include the 6 different inputs(x y z roll pitch yaw).

* Commit for the Integration of a position controller for the a Underwater vehicle.
This module is an extension of the uuv_att_control to control an Underwater vehicle to any position, given by the SET_POSITION_TARGET_LOCAL_NED which includes x y z yaw.
Since the position control is designed for a 6DOF Robot, the roll and pitch angle are controlled to be 0.
Additionally there is a stabilization control, which holds the robot at a defined depth, and not move in any direction.

In general the idea is to have this position module to control the position of the uuv. The position module receives the desired position of the uuv and sends appropriate attitude setpoints to the uuv_attitude_control module.

Additionally the mixer file is adapted, to include the 6 different inputs(x y z roll pitch yaw).

Currently not solved/missing:
 - Problem with gazebo model(propeller moving chaotically).
 - Mixer correct gazebo vs real life (has to be tested in the future)
 - correct integration in uuv.apps (when choose which module)
 - very basic controller chosen (could be improved a lot in the future)

* Remove error caused by unused variables and a different build error

* added better description of the parameter. Additionally the group is changed.

* added better description of the parameter. Additionally the group is changed.
Fixed bug about parameter

* Added EOF to the files.

* Removed parameter for direct position control for safety reasons.

* small bugfix
2021-02-15 18:40:28 +01:00
Daniel Agar 0618f048f2 commander: use control mode flags and cleanup arm_disarm
- keep `vehicle_control_mode` last state in commander and use appropriate flags in place of various main_state and nav_state checks
 - consolidate scattered arming requirements in `arm_disarm()`
   - there were a number of different requirements from arming via RC vs Mavlink that don't make any sense
        - if geofence enabled require valid home before arming
        - throttle requirements for manual modes
 - remove unnecessary mavlink feedback that differs between arming interfaces (mavlink vs RC)
      - let the preflight/prearm checks respond directly in most cases 

Co-authored-by: Matthias Grob <maetugr@gmail.com>
2021-02-15 12:03:21 -05:00
Jari Nippula 37f78537c3 protocol-splitter: Additional protocol layer added 2021-02-15 14:00:39 +01:00
Daniel Agar 40a452dcd2 ekf2: selector improve timeout handling and reporting
- relax estimator_status timeout unless attitude hasn't published recently
2021-02-14 21:08:56 -05:00
Lorenz Meier 4c5d2363d4 Rover control: Use roll sticks
It is more intuitive to use the roll stick as lateral control input given that drones defined this category, plus this is how consumer car / rover radio controls have been working already.
2021-02-14 11:17:28 +01:00
Lorenz Meier 4c9b2c65b5 Support v5X build variants
This adds support for the different implementation variants of the v5X standard.
2021-02-14 11:17:28 +01:00
Lorenz Meier 2be482c5ae Sensors: New parameter for baro priority
This allows to give external barometers priority if they are present.
2021-02-14 11:17:28 +01:00
Jaeyoung-Lim fdd9b3ea51 Add support for stabilized flight mode for rovers
This commit adds support for stabilized flight mode for rovers, which enables the rover tracking a fixed heading that is set with a manual input
2021-02-14 11:17:28 +01:00
Jaeyoung-Lim 3c12573e93 Use uORB::Subscription for rover_pos_control
Modernize rover position control
2021-02-14 11:17:28 +01:00
Lorenz Meier 8d78b8a01d Change wording in GPS failure handling
This matches better the different platforms that are using this functionality.
2021-02-14 11:17:28 +01:00
Lorenz Meier cc11fb2818 Multicopter rate controller: Protect for full throttle scaling
PX4 supports -1 to 1 as input and this module was not protected against the input range.
2021-02-14 11:17:28 +01:00
Lorenz Meier 66d86aae2e Flight mode manager: Protect for full throttle scaling
PX4 supports -1 to 1 as input and this module was not protected against the input range.
2021-02-14 11:17:28 +01:00
Lorenz Meier ec2cf70276 Rover position controller: Modernize implementation
This commit moves the steering output from yaw to the roll channel to better reflect the lateral control input / reaction mapping. It also removes old unused parameters and modernizes the mainloop to remove unnecessary polling.
2021-02-14 11:17:28 +01:00
Lorenz Meier bb0b4db028 ROMFS: Better defaults for rover 2021-02-14 11:17:28 +01:00
Lorenz Meier 3135e4d31a SITL: Set correct L1 period 2021-02-14 11:17:28 +01:00
Lorenz Meier 15219fbfe5 MC att control: Robustify for throttle scaling
PX4 can support negative (reverse) throttle and the multicopter controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier 548e070b91 FW pos control: Robustify for throttle scaling
PX4 can support negative (reverse) throttle and the fixed wing controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier 6d489a4b4d FW att control: Robustify for throttle scaling
PX4 can support negative (reverse) throttle and the fixed wing controller is not expecting this input range. This hardens it against it.
2021-02-14 11:17:28 +01:00
Lorenz Meier 0d3676e5b0 Safety switch: Default to safety off
90% of all real-world vehicle configs default to this and it is something that users stumble over if they configure a new system. There are valid cases where this would not be desired - for these it can be still switched off.
2021-02-14 11:17:28 +01:00
Lorenz Meier 8a448718b9 RC update: Do not constrain throttle
If the user calibrated to negative throttle, enable them to use it.
2021-02-14 11:17:28 +01:00
Lorenz Meier 9d20dea3b8 Rover: remove unused parameter 2021-02-14 11:17:28 +01:00
Daniel Agar fb2a199621 delete unmaintaned mkblctrl driver 2021-02-14 10:38:15 +01:00
Lorenz Meier c04d23645c IO: Fix reverse mapping
The reverse mapping was off-by-one in the IO driver.
2021-02-13 15:21:10 -05:00
Ryan Johnston 5a58f25d6a boards: MRO Control Zero F7 OEM Support 2021-02-13 11:16:55 -05:00
Daniel Agar ce552a3364 navigator: RTL don't get invalid params 2021-02-13 00:34:56 +01:00
Daniel Agar 1981519aad L1 position controller: use double precision floating point for all lat/lon 2021-02-12 21:59:56 +01:00
Silvan Fuhrer 31a6edff07 Fixed-wing: remove roll offset param (FW_RSP_OFF)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-02-12 13:57:15 -05:00
Silvan Fuhrer a70cf950f4 fw_pos_control_l1: apply pitch setpoint offset centrally
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2021-02-12 13:57:15 -05:00
Daniel Agar f61d8539cb fw_pos_control_l1: add takeoff minimum pitch parameter
- remove mavlink mechanism for setting minimum pitch
2021-02-12 13:57:15 -05:00
PX4 BuildBot 89f19fd657 Update submodule v2.0 to latest Fri Feb 12 12:42:14 UTC 2021
- v2.0 in PX4/Firmware (c76477963097ac72b7bd2f165a845a493ffb724e): https://github.com/mavlink/c_library_v2/commit/43f2f3180a49720804c5f006377889a164fabadb
    - v2.0 current upstream: https://github.com/mavlink/c_library_v2/commit/4e25dfa47b28adc177ea7badad837d8b84173712
    - Changes: https://github.com/mavlink/c_library_v2/compare/43f2f3180a49720804c5f006377889a164fabadb...4e25dfa47b28adc177ea7badad837d8b84173712

    4e25dfa4 2021-02-12 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/e4269aaf680b0797ba594b130d4e92dda889100c
82dcec27 2021-02-12 PX4BuildBot - autogenerated headers for rev https://github.com/mavlink/mavlink/tree/08e57d08ad17f1218334b74fa3766a0177783ea6
2021-02-12 16:31:28 +01:00
Daniel Agar 15e76ad993 PWM12 mode for pwm_out and dshot 2021-02-12 09:19:18 -05:00
Daniel Agar 0614789db3 tests: add simple parameter custom default testing 2021-02-12 08:27:47 -05:00
Daniel Agar e6bc6438e8 ROMFS: airframes use new param default mechanism 2021-02-12 08:27:47 -05:00
Daniel Agar b67aa77d29 ROMFS: use new param default mechanism 2021-02-12 08:27:47 -05:00
Daniel Agar a257120e8d boards: use new param default mechanism 2021-02-12 08:27:47 -05:00
Daniel Agar ce64951578 parameter_update.msg: add basic status info 2021-02-12 08:27:47 -05:00
Daniel Agar b8b13bb882 parameters runtime defaults 2021-02-12 08:27:47 -05:00
Daniel Agar da1a38b44e parameters: merge generated files ito single static constexpr header
- store parameter type and if volatile separately (saves kilobytes of flash)
 - use Bitset for tracking active and changed parameters
 - use atomic for autosave_enabled flag
 - compile at ${MAX_CUSTOM_OPT_LEVEL} (-O2 on non flash constrained boards)
2021-02-12 08:27:47 -05:00
PX4 BuildBot 71c7c69c9d Update submodule ecl to latest Fri Feb 12 12:42:24 UTC 2021
- ecl in PX4/Firmware (2292cf3ed4f8c4391131870936881331bc870260): https://github.com/PX4/PX4-ECL/commit/602e65146c975c12482560fafab7e05bf43b0029
    - ecl current upstream: https://github.com/PX4/PX4-ECL/commit/ffab483504a6c2eb3b61ae10d612cb35c8fbc550
    - Changes: https://github.com/PX4/PX4-ECL/compare/602e65146c975c12482560fafab7e05bf43b0029...ffab483504a6c2eb3b61ae10d612cb35c8fbc550

    ffab483 2021-02-11 Loic Dubois - Waiting for the filter to be initialized to set global origin
2021-02-12 08:26:10 -05:00
Daniel Agar c3172a91d9 ekf2: try reselecting distance_sensor on timeout 2021-02-12 08:25:27 -05:00
Matthias Grob a002a07ed5 sdcardCheck: minor refactor
I was late for the review.
2021-02-12 00:17:43 -05:00
Daniel Agar 5db906314a uavcan: stm32h7 driver silence debug output 2021-02-11 23:08:17 -05:00
Daniel Agar dcb35e9a8c Update submodule mavlink v2.0 to latest Fri Feb 12 00:38:48 UTC 2021 2021-02-11 23:06:40 -05:00
Daniel Agar 8a0bf15b9e boards: CUAV X7Pro fix BMI088 orientation 2021-02-11 23:05:48 -05:00