Commit Graph

12900 Commits

Author SHA1 Message Date
Daniel Agar 2a2d9e9eba logger: keep typical log path within a single mavlink message 2020-05-06 08:31:40 +02:00
Daniel Agar ca998c1822 IMU: parameterize IMU integration time (IMU_INTEG_RATE)
- default integration rate now 200 Hz (5000 us interval)
 - set update rate for all drivers and simulators using PX4Accelerometer/PX4Gyroscope
2020-05-05 20:34:09 -04:00
Matthias Grob cdf37ca557 PositionControl: deconflict hover thrust estimator, acceleration control
- Avoid constantly adjusting the velocity gains with the HTE
- Make sure the hover thrust integral update doesn't break
  even though its unit is acceleration and not unit thrust anymore

We need to convert the velocity gains to not contain/depend on the
hover thrust. In horizontal direction it doesn't make sense to scale
them with the hover thrust and in vertical direction the adjustments are
already done in the acceleration to collective thrust conversion.
2020-05-04 22:17:56 +02:00
Daniel Agar 466b5db36f uORB::Publication improvements and cleanup (#14784)
- create common uORB::PublicationBase
 - uORB::PublicationQueued types are now type aliases
 - ORB_PRIO use enum type everywhere to avoid accidental misuse
 - PX4Accelerometer/PX4Gyroscope/etc driver libs explicitly advertise on construction, unadvertise on destruction. This is a workaround for any potential issues that might appear when accel/gyro cdev and uORB indexing doesn't align.
2020-05-04 11:09:30 -04:00
Matthias Grob 8e2c52a31a mc_pos_control: suppress vertical acceleration feed-forward during takeoff ramp
Because the takeoff ramp is a vertical velocity limit ramp for the
nice user experience but the acceleration feed-forward can
add on top of the output and depending on trajectory generation
result in unwanted thrust changes during the ramp.
2020-05-04 16:10:36 +02:00
rfu 8787780de4 some printf format and conversion fixes 2020-05-04 09:49:23 +02:00
David Jablonski 09180b9d4a mavlink: increment cmd confirmation field (#14808) 2020-05-04 09:21:01 +02:00
kamilritz 960ad0693f fix format 2020-05-03 18:25:00 +01:00
kamilritz 9137813472 Received quaternion represents body to world 2020-05-03 18:25:00 +01:00
kamilritz 0cdf2c2e29 Use ground truth uorb topic for ground truth mavlink message 2020-05-01 21:00:24 -04:00
Mohammed Kabir 5ffe88672e vehicle_odometry: add timestamp_sample field for latency monitoring 2020-04-28 13:58:43 -04:00
kritz ccaa103164 ekf2: Stop getting velocity variance from pose covariance matrix (#14779) 2020-04-28 10:05:30 -04:00
ealdaz-seesai efa0e1bf0f Rover land detection (#13769)
* Land Enabled

* Declared Subscriptor in header as originally intended.

In the header it caused SIGSEGV in my machine so that's why it was moved
to .cpp

* Code Style fixed

* Removed confusing comments

* Comment update

Co-authored-by: Julian Oes <julian@oes.ch>
2020-04-28 10:59:24 +02:00
Silvan Fuhrer f78847b26f VTOL: Pusher assist: add configuration for enabling it in LAND /disable below some altitude (#14706)
* VTOL type: add new parameter VT_FWD_TRHUST_EN for customizing pusher/tilt assist

Depending on the setting of this param, the pusher assist is:
-completely disabled (default)
-enabled in pos, alt and auto mode (except LAND)
-enabled in pos, alt and auto mode if above MPC_LAND_ALT1
-enabled in pos, alt and auto mode if above MPC_LAND_ALT2
-enabled in pos, alt and auto mode
(before it was always disabled in LAND mode)

-change default of VT_FWD_THRUST_SC from 0 to 0.7

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-04-28 10:44:57 +02:00
Julian Oes 48c60d354d mavlink: move tune publication to separate class
This makes it easier to allocate in MavlinkReceiver.
2020-04-28 08:45:39 +02:00
Julian Oes 2d5184fcfe mavlink: copy tune to buffer to play later
Instead of blocking the receiver thread while playing a tune we now copy
the tune to a buffer and check if we can play the next note on each
iteration of the receiver thread.

The buffer and tune object is only created on the heap if we receive a
tune to play once and doesn't use resources otherwise.
2020-04-28 08:45:39 +02:00
Julian Oes 6f707bf7b5 mavlink: add support for PLAY_TUNE_V2 2020-04-28 08:45:39 +02:00
Julian Oes 5f676b6795 mavlink: move tune publication to a method 2020-04-28 08:45:39 +02:00
Julian Oes 06f40042e9 mavlink: use static_cast instead of C-style cast 2020-04-28 08:45:39 +02:00
Julian Oes 18b39545ab mavlink: add missing uORB publication of tunes
The old tune device interface is not working anymore and we need to
publish to uORB tune_control.

This solution is not optimal though because blocks the receiving thread.
2020-04-28 08:45:39 +02:00
baumanta 48cf38d623 support mag power compensation with battery_status instance 1 2020-04-28 08:36:44 +02:00
Daniel Agar 326d8efc16 move attitude controllers to new wq:attitude_ctrl 2020-04-27 21:34:35 -04:00
RomanBapst 2b276a3ad8 FixedWingPositionControl: set waypoint straight ahead for front transition
- this fixes the case where the navigator publishes a loiter waypoint or any
waypoint which is too close to the vehicle.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-26 22:59:07 -04:00
RomanBapst 0779a0502c takeoff: only set _can_loiter_at_sp if takeoff position has been set
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-26 22:59:07 -04:00
Daniel Agar 8cd848fcd6 temperature_compensation: enable parameters set reboot_required
- min/max are unnecessary with boolean
2020-04-26 22:38:35 -04:00
David Jablonski a0f5002685 navigator: fix loiter_time for FW missions 2020-04-25 09:13:09 -04:00
xdwgood d922678ea0 tailsitter: remove unused code 2020-04-24 13:33:51 +03:00
Daniel Agar 31f3a21849 update ecl/EKF with improved covariance prediction stability and change default IMU integration period 4000 us -> 2500 us
- bring in PX4/ecl#795 "EKF: Improve covariance prediction stability"
    - the ecl/EKF filter update period has changed from 8 ms to 10 ms
 - change default integration period 4000 us -> 2500 us (aligns with new EKF filter update period)
2020-04-23 13:55:34 -04:00
Konstantin Petrykin 5819c82678 vmount: Fixes max AUX number for MNT_MAN_ROLL, MNT_MAN_PITCH and MNT_MAN_YAW parameters. 2020-04-23 08:55:29 +02:00
Silvan Fuhrer 172e435ec0 VTOL: add parameter to set the PWM_OUTPUT_DEVICE_PATH (#14732)
The device path is needed to apply PWM limits on the motors that are not
used for FW flight (switch them off). With this parameter the device path can be set
to either IO or FMU, depending on whether the motors are on the IO or FMU port.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-04-22 20:42:23 +02:00
bresch d29344cb9c MCLandDetector: fix low thrust detection in stabilized mode
HTE runs based on the position controller so, even if we whish to use
the estimate, it is only available in altitude and position modes.
Therefore, we need to always initialize the hoverThrottle using the hover
thrust parameter in case we fly in stabilized
2020-04-22 11:07:04 -04:00
Matthias Grob 809b45eac8 FlightTasks: do not adjust tilt limit of the position control
Adjusting the tilt limit can lead to diverging position control
and should only be used by setting a sanity limit for the controller
and not to adjust during the descent phase of a Land or RTL.
Otherwise it leads to flyaways in important failsafe modes when
there's stronger disturbance e.g. wind.
2020-04-21 09:35:52 +02:00
Hamish Willee 8236b8da81 Fix up doc links to point to master branch 2020-04-21 08:58:40 +02:00
bresch c05b70bf86 MPC: initialize hover thrust with parameter even if using HTE
The hover thrust estimator (HTE) starts to run after the first thrust
setpoint is published. Until then, the feedforward of the vertical
velocity controller was unitialized (= 0). This is now set to hover
thrust parameter until the estimate is available.
2020-04-20 20:54:31 +02:00
Todd Colten 7c533e5a53 commander: Clarify airspeed calibration failure warning msg 2020-04-18 13:02:29 -04:00
Matthias Grob ffa9fdbd56 posix rcS: always disable CPU load check 2020-04-17 18:25:07 +02:00
flbernier 2fca03e1bd Update default rover parameters Ki and Kd 2020-04-17 08:18:10 +02:00
flbernier 45e88aa8d3 Correct Ki and Kd inversion in rover pid_set_parameters 2020-04-17 08:18:10 +02:00
Matthias Grob 8b76c0c023 PreFlightCheck: add checks for CPU and RAM load 2020-04-16 11:45:50 +02:00
mcsauder 6548fde024 Whitespace cleanup to quiet new blank line at EOF git hook. 2020-04-15 23:00:39 -04:00
Julian Oes d67ecc971c commander: add check for VTOL airfame on fmu-v2 (#14633)
* commander: add check for VTOL airfame on fmu-v2

This adds a preflight check when a VTOL airframe is configured
on a fmu-v2 where VTOL is no longer included.

* commander: address code review comments
2020-04-15 21:20:42 +02:00
Daniel Agar b761060c9b perf counters fix perf free and cleanup naming 2020-04-15 16:22:06 +02:00
Daniel Agar dc2254aa34 WIP: mavlink send hacks 2020-04-15 16:22:06 +02:00
baumanta 050d5de93b add home pos check into global pos check 2020-04-15 11:02:48 +02:00
baumanta 9710289f5f PreFlightCheck: check for RC action switches 2020-04-15 11:02:48 +02:00
Julian Oes e2b8fd7b11 commander: fix preflight check spam 2020-04-14 10:17:43 -04:00
RomanBapst 338dd45022 vtol: do not control deceleration during backtransition manual, acro or stabilized
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-14 11:25:09 +02:00
Daniel Agar 7b4f6b6918 sensors/vehicle_angular_velocity: check filter based on time threshold instead of samples
- fixes #14303
2020-04-11 16:07:11 -04:00
Daniel Agar 322671ea27 mc_pos_control: align updates with ekf2 2020-04-10 13:04:06 -04:00
Matthias Grob 38093e4887 mc_pos_control: correct sign of acceleration state
Non-functional change, just change the sign in the correct place to
avoid further confusion.
2020-04-09 17:15:46 +02:00