Matthias Grob
169a0f580d
HelicopterCoaxial: correct constraining for minimum 2 swash plate servos
2023-09-28 08:55:06 +02:00
Matthias Grob
20f2df4410
HelicopterCoaxial: handle yaw saturation
...
This had to be done for the integrators to work at all.
2023-09-28 08:55:06 +02:00
Matthias Grob
cf40d95ef0
HelicopterCoaxial: adjust for coaxial allocation
2023-09-28 08:55:06 +02:00
Matthias Grob
b3b373e074
control_allocator: add coaxial helicopter effectiveness
...
It's now just a copy of the helicopter such that changes get well
visible in the history.
2023-09-28 08:55:06 +02:00
Matthias Grob
b56e7a036c
control_allocator: allow for only 2 swash plate servos
...
This is required to support fixed pitch propeller helicopters that have
no collective but only cyclic pitch with two degrees of freedom and
hence only two servos.
The amount of thrust in the body z axis is then controlled using the
motor speed which makes particularly sense on coaxial helicopters
that need to control yaw with changing motor speeds already.
2023-09-28 08:55:06 +02:00
Matthias Grob
35b32e8cb0
ActuatorEffectivenessHelicopter: spacing
2023-09-28 08:55:06 +02:00
Matthias Grob
2be687a84c
Helicopter: add collective pitch offset to Actuator UI parameters
2023-09-28 08:55:06 +02:00
Matthias Grob
99e2acf89c
ActuatorEffectivenessHelicopter: explicitly handle unsaturated case
...
This became necessary otherwise
the allocation reports saturation all
the time and the rate integrator doesn't work.
2023-09-28 08:53:35 +02:00
Daniel Agar
14a967e2ca
ekf2: remove aid src status fusion_enabled flag
2023-09-26 10:30:16 -04:00
bresch
99197919d7
ekf2: access state covariance using helper functions
2023-09-26 06:41:04 +02:00
Daniel Agar
aa97ef9d50
EKF: covariance remove extra semicolon
2023-09-25 12:26:12 -04:00
Mathieu Bresciani
b3f460f30c
ekf2: update quaternion covariance at yaw reset( #22123 )
...
- Preserve tilt variance while doing a yaw reset
- Yaw variance is now correctly set instead of increased
---------
Co-authored-by: Dominique <dominique.leblanc@donecle.com >
Co-authored-by: bresch <[brescianimathieu@gmail.com ](mailto:brescianimathieu@gmail.com )>
2023-09-25 09:36:42 -04:00
bresch
514e0330e5
ekf2_terrain: handle height reset
2023-09-25 09:34:14 -04:00
bresch
db97a38a9d
ekf2 rng kin: allow check to become true during horizontal motion
...
Even if there is some horizontal motion, a passing check should be
accepted as the terrain can be flat. However, the vehicle must not be
moving horizontally to invalidate the consistency as a change in terrain
can make the kinematic check temporarily fail.
2023-09-22 09:02:35 -04:00
Silvan Fuhrer
5590ab3caa
FW Position Controller: handle IDLE waypoints in FW_POSCTRL_MODE_AUTO, also with NAN setpoints ( #22114 )
...
A setpoint of type IDLE can be published by Navigator without a valid position,
and should be handled in the auto function in FW_POSCTRL_MODE_AUTO. If it wouldn't be
handled there the controller would switch to mode FW_POSCTRL_MODE_OTHER, in which case
no attitude setpoint is published and the lower controllers would be stuck with the
last published value (incl. thrust).
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-21 17:27:54 +02:00
Silvan Fuhrer
acec07fb25
Update src/modules/mc_att_control/mc_att_control_main.cpp
...
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2023-09-21 17:25:53 +02:00
Matthias Grob
710f977349
mc_att_control: ramp thrust in after spoolup time
2023-09-21 17:25:53 +02:00
Matthias Grob
4ca366c04f
mc_att_control: respect spoolup time in Stabilized mode
2023-09-21 17:25:53 +02:00
Matthias Grob
24111df176
mc_att_control_main: zero minimal thrust when landed
...
but this time compared to
2fbb70d9ca
the minimum thrust is ramping to not produce a thrust jump.
The better long term solution will be to always have airmode but
with the effect limited to a magnitude of MPC_MANTHR_MIN.
2023-09-21 17:25:53 +02:00
Jari Nippula
7239e8473e
microxrce_client to use px4_poll for uorb subs
...
Subscribe to poll uorbs instead of sleeping px4_usleep to
allow more accurate timing.
2023-09-21 08:30:28 -04:00
bresch
9e962f3efa
ekf2: update more hardcoded indexes
2023-09-21 08:27:52 -04:00
bresch
ebf962bf68
ekf2: remove size in name of state vector and matrix types
...
Then the state vector size can be changes without having to update the
name
2023-09-21 08:27:52 -04:00
RomanBapst
4f1682c3c8
UTM_GLOBAL_POSITION: prevent uint16 overflow
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2023-09-21 08:21:56 -04:00
Matthias Grob
be56f74c1d
mc_acro_params: beginner/tuning friendly defaults
...
high rates and (super) expo are necessary for
- acrobatic flying
- fpv
- racing
but they are not useful for:
- a typical vehicle's rate control tuning
- beginners
The defaults that I set in #8036 were put with the assumption Acro mode
is mainly used on racing drones for acrobatic manouvers but instead
users including me use it most of the time to tune any drone.
When tuning the rates are lowered and expo disabled.
My suggested strategy is to make the beginner friendly rates without
expo which are good for tuning the default and document more clearly
how this can be raised for acrobatic flying in documentation and later
on hopefully also directly in the ground station UI
on an Acro mode specific page.
2023-09-20 17:45:07 -04:00
Matthias Grob
77c2df2e04
mc_acro_params: separate parameter group
2023-09-20 17:45:07 -04:00
Matthias Grob
189fa6831a
mc_acro_params: more readable descriptions
2023-09-20 17:45:07 -04:00
Matthias Grob
df3a0de734
mc_rate_control: move acro parameter to separate file
2023-09-20 17:45:07 -04:00
Silvan Fuhrer
ec7db4b30d
FW Positon Controller: set references to 0 if not provided by local_position ( #22101 )
...
* FW Positon Controller: set altitude_ref to 0 if not provided by GPS
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
* FW Positon Controller: set lat/lon reference to 0 if not provided in local_position
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
---------
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-20 15:45:32 +02:00
RomanBapst
6d71224cdb
vtol_takeoff: use global position for takeoff location instead of home position.
...
- home position and takeoff position don't necessarily need to match
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2023-09-19 20:00:54 +03:00
bresch
dac337efc4
ekf2: auto-generate state vector size constant
2023-09-19 09:37:50 -04:00
Daniel Agar
8a9a303354
ekf2: update include guards
2023-09-19 09:37:50 -04:00
bresch
51dbd8ee4c
ekf2: simplify state var constraint
2023-09-19 09:37:50 -04:00
bresch
779ea3f4d1
ekf2: access state covariance using enum
2023-09-19 09:37:50 -04:00
Silvan Fuhrer
1cbaa78eba
Takeoff: don't use Home altitude but current altitude
...
If no altitude setpoint is specified then takeoff to the default
altitude above the current global position, not above Home.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-19 10:04:30 +02:00
Silvan Fuhrer
de5b769093
Navigator: Use MIS_TAKEOFF_ALT only as default, not as min
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-19 10:04:30 +02:00
Silvan Fuhrer
71f8f47f62
Navigator: remove deprecated calculate_takeoff_altitude()
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-19 10:04:30 +02:00
Silvan Fuhrer
48acf98fd5
Navigator: remove deprecated _can_loiter_at_sp and _need_takeoff
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-19 10:04:30 +02:00
Silvan Fuhrer
bb212ea6ec
Navigator: refactor logic that aligns altitude prior to starting mission
...
New: always climb to altitude of active waypoint if mission is started/resumed.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-19 10:04:30 +02:00
Silvan Fuhrer
93dbf17eab
Navigator: rename WORK_ITEM_TYPE_TAKEOFF to WORK_ITEM_TYPE_CLIMB
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-19 10:04:30 +02:00
Silvan Fuhrer
15641f62d2
Navigator: rename WORK_ITEM_TYPE_ALIGN to WORK_ITEM_TYPE_ALIGN_HEADING
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2023-09-19 10:04:30 +02:00
Maciej Małecki
18e47f9b65
Landing Target Estimator: fix param group casing consistency
...
`target` -> `Target`. Useful to users of machine-readable documentation.
2023-09-19 09:12:40 +02:00
Daniel Agar
efbed3bfc1
sensors/vehicle_optical_flow: don't publish interval lower than configured rate
2023-09-18 12:46:39 -04:00
Daniel Mesham
15036c1761
Allow changing parameters during replay ( #22071 )
...
* replay: add scheduled parameter changes
* replay: store scheduled parameter change events as structs
2023-09-18 18:38:09 +02:00
Daniel Agar
153f7bbced
ekf2: update all copyright headers
2023-09-15 10:02:09 -04:00
Daniel Agar
1e9f0ad2c6
ekf2: add kconfig for barometer support (enabled by default)
2023-09-15 10:02:09 -04:00
Daniel Agar
10b54d08fc
ekf2: add dedicated EKF2_CONFIG_TERRAIN in kconfig
...
- new estimator_aid_src_terrain_range_finder for HAGL RNG
2023-09-15 10:02:09 -04:00
Daniel Agar
845b01a00d
ekf2: add kconfig for magnetometer support (enabled by default)
2023-09-15 10:02:09 -04:00
PX4 BuildBot
3107860a89
Update submodule mavlink to latest Wed Sep 13 20:14:21 UTC 2023
...
- mavlink in PX4/Firmware (06b8477f853bf0234d0a894dcf6af4718597989f): https://github.com/mavlink/mavlink/commit/58435f6a83b7ba8b1be67d87264f19534a67857e
- mavlink current upstream: https://github.com/mavlink/mavlink/commit/81524c2b34aa08768f13091b1d94c421e64f96c3
- Changes: https://github.com/mavlink/mavlink/compare/58435f6a83b7ba8b1be67d87264f19534a67857e...81524c2b34aa08768f13091b1d94c421e64f96c3
81524c2b 2023-09-13 Hamish Willee - Update pymavlink - for fixed wireshark (#2038 )
fe14d798 2023-08-31 Matthias Grob - common: extend MANUAL_CONTROL with auxiliary continuous inputs (#2031 )
546edec2 2023-08-30 Peter Barker - common.xml: display GIMBAL_MANAGER_STATUS.flags as bitmask (#2035 )
16754498 2023-08-28 Richard Allen - fix RC_CHANNELS_SCALED inactive channel (#2032 )
a31bf384 2023-08-24 Hamish Willee - Fix c_library_vX build order (#2026 )
5887a6af 2023-08-17 auturgy - reserve range in all.xml (#2030 )
2023-09-13 18:31:37 -04:00
Thomas Stastny
28fe15d829
FixedwingPositionControl: initialize the airspeed slew rate controller with trim airspeed in the constructor
2023-09-13 16:18:16 -04:00
Thomas Stastny
a1cd4fd5df
Commander: make sure unsupported do reposition command result is published
...
todo: need to consolidate the command ack strategy in this function
2023-09-13 15:29:31 -04:00