Commit Graph

26134 Commits

Author SHA1 Message Date
Thomas Stastny 37015c3dbe FixedwingPositionControl: track single point when no prev point exists for waypoint following
make sure correct local position setpoint output is logged
2023-09-12 11:22:22 -04:00
Thomas Stastny 7160da741d FixedwingPositionControl: correct navigation method param description typos 2023-09-12 11:22:22 -04:00
Thomas Stastny db48b04281 FixedwingPositionControl: follow (infinite) lines instead of waypoints during takeoff and landing 2023-09-12 11:22:22 -04:00
Thomas Stastny da8dcc4942 FixedwingPositionControl: handle degenerate tangent setpoint in navigatePathTangent() 2023-09-12 11:22:22 -04:00
Thomas Stastny 7c2c288c09 npfg: update signed track error state 2023-09-12 11:22:22 -04:00
Thomas Stastny 30870e50c0 FixedwingPositionControl: fix / clarify navigate waypoint logic 2023-09-12 11:22:22 -04:00
Julian Oes 3896df3e72 mavlink: improve readability
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-09-12 11:22:04 -04:00
Julian Oes 56fcabf0b1 mavlink: Support voltages > 65v in battery status
If the measured voltage is more than 65v we need to split the voltage
over multiple cells in order to avoid overflowing the uint16. This is
according to the MAVLink spec.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-12 11:22:04 -04:00
Julian Oes 7b60737f9a mavlink: fix BATTERY_STATUS extension
The extension fields need to be 0 by default according to the MAVLink
spec. This is because extensions are 0 by default and need to be 0 when
unknown/unused for backwards compatibility.

The patch also simplifies the flow slightly in that it doesn't create a
temporary array but just fills in the cell voltages directly.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-12 11:22:04 -04:00
alexklimaj d54e488288 Add IIM42653 and ARKV6X Rev 2 2023-09-05 13:09:45 -04:00
Christian Rauch c5fc5c83d2 pca9685_pwm_out: add parameter PCA9685_RATE to set update frequency 2023-08-08 12:49:21 -04:00
Christian Rauch ac1a157740 remove unused debug.h 2023-08-08 12:49:21 -04:00
Christian Rauch 8af893348a BMI0xx: remove unused board_dma_alloc.h 2023-08-08 12:49:21 -04:00
Christian Rauch 251e24bccb ADIS16497: replace NuttX specific up_udelay with HAL version px4_udelay 2023-08-08 12:49:21 -04:00
bresch 61036599db mag_cal: fix mag bias estimate to mag cal
- since last_us is set to 0 every time the bias is not observable, the
  total time was also reset -> needed 30 consecutive seconds in mag 3D
  to be declared "stable"
- after landing, the mag_aligned_in_flight flag is reset. Using this for
  bias validity makes it invalid before we have a chance to save it to
  the calibration.
2023-07-18 07:38:47 -07:00
bresch eb23779c57 ekf2 - preflt checks: scale flow innovation checks
Opt flow raw innovations can be really large on ground due to the small
distance to the ground (vel = flow / dist). To make the pre-flight check
more meaningful, scale it with the current distance.
2023-07-17 11:13:43 -04:00
bresch a07b8c08ab ekf2: report dist bottom also when using flow for terrain
Terrain height can be estimated using a range finder and/or optical flow
2023-07-17 11:13:43 -04:00
alexklimaj 36ec1fa811 Add EKF2_OF_QMIN_GND to handle 0 optical flow quality when on ground 2023-07-17 11:13:43 -04:00
alexklimaj 694501b782 Apply code review changes from @dagar 2023-07-17 11:13:43 -04:00
Eric Katzfey 7dd8e3f614 Removed the huge HAGL fuse timeout increase 2023-07-17 11:13:43 -04:00
Eric Katzfey fe335344e7 Cleaned up some comments and debug code 2023-07-17 11:13:43 -04:00
mjturi-mai 343c7fcd52 actual fixes for velocity estimate errors and bad rng fusion 2023-07-17 11:13:43 -04:00
Loic Fernau 66df5c1bd1 drivers: rework NXP UWB driver (#21124)
* UWB driver rework that uses 2 UWB MKBoards - 1 as Controller (Initiator), one as Controllee (Anchor)

Co-authored-by: NXPBrianna <108274268+NXPBrianna@users.noreply.github.com>
2023-07-12 11:49:40 -04:00
Ramon Roche 090f929659 drivers/barometer/invensense/icp201xx: increase delay after configuration (#21765)
- fixes wrong altitude reporting
2023-07-11 20:20:13 +02:00
alexklimaj 89b238f094 Revert "rover_pos_control: thrust normalization for joystick input (#20885)"
This reverts commit 22f7d913bd.
2023-07-11 08:26:09 -07:00
Matthias Grob ecd1e9f730 rc_update: fix on-off-switch with negative threshold values 2023-07-11 15:59:19 +02:00
Junwoo Hwang cca59843cc netman: fix line too long (#21829)
Signed-off-by: Julian Oes <julian@oes.ch>
Co-authored-by: Julian Oes <julian@oes.ch>
2023-07-11 00:07:43 +02:00
Matthias Grob 1806a7cec8 drv_pwm_output: remove unused PWM_ defines 2023-07-10 19:00:52 +02:00
Matthias Grob 856b2e6178 UUV: stop motors when commanding zero speed 2023-07-10 19:00:52 +02:00
Matthias Grob e0e5b38c0e Boats: stop motors when commanding zero speed 2023-07-10 19:00:52 +02:00
Matthias Grob d0d113405a Rovers: stop motors when commanding zero speed 2023-07-10 19:00:52 +02:00
Matthias Grob 4ff03e4a06 TiltrotorVTOL: allow stopping front tilted motors in fast forward flight 2023-07-10 19:00:52 +02:00
Matthias Grob 8eb34ce8ce TailsitterVTOL: allow explicitly stop forward motor with zero thrust 2023-07-10 19:00:52 +02:00
Matthias Grob 62077908a3 StandardVTOL: explicitly stop forward motor with zero thrust 2023-07-10 19:00:52 +02:00
Matthias Grob cb2cc65eff FixedWing: explicitly stop forward motor with zero thrust
This allows PWM and all other output methods to configure
stopped, idling and full thrust points and use them consistently.
The fact that a fixed wing motor can be stopped when zero thrust
is demanded is explicit and could in principle even be disabled.
The mechanism is the same as for a standard VTOL stopping the
multicopter motors in the fixed wing flight phase.
2023-07-10 19:00:52 +02:00
Matthias Grob 4fc3f07cb1 ActuatorEffectiveness: add function to delectively stop motors with zero thrust 2023-07-10 19:00:52 +02:00
Matthias Grob 9b092d6d35 Set default minimum and maximum PWM for motors
This allows to consistently define:
Motor stopped - disarmed PWM
Motor idling - minimum PWM
Motor at full thrust - maximum PWM

Any allocation can then distinctly decide if
a motor should be running or not depending
on the context and also explicitly command that.
2023-07-10 19:00:52 +02:00
Silvan Fuhrer 8838ebd77d Navigator: Loiter: always establish new Loiter with center at current pos
When switching into Hold mode establish a Loiter around current position,
even if we were before already loitering (eg in Mission mode).

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-07-04 17:03:14 +02:00
JaeyoungLim 682190a21f Support quadtailsitter in SITL 2023-06-29 15:21:20 +02:00
Alex Klimaj e0a2e0b223 GPS RTCM selection fixes (#21666)
* uavcan rtcm set max num injections
* Subscribe to all instances of gps_inject_data and mirror uavcan rtcm pub mirror gps driver
* Minor logic refactor in gps and uavcan gps inject data
2023-06-20 11:24:06 -04:00
Silvan Fuhrer d9585bf3d3 FWRateController: use param find for VT_DIFTHR_EN as pure FW build doesn't have VTOL module built
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-19 11:00:23 +02:00
Matthias Grob 2374937388 FixedwingRateControl: rework VTOL differential thrust saturation
Co-authored-by: Silvan Fuhrer <silvan@auterion.com>
2023-06-19 11:00:23 +02:00
Matthias Grob ce8c4094a8 RateControl: allow setting individual saturation flags
This helps for more complicated cases where certain axes are controlled
through and get feedback from a different allocator.
2023-06-19 11:00:23 +02:00
Matthias Grob 11436f4109 esc_calibration: handle timeout wraps better
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2023-06-16 15:48:20 +02:00
Matthias Grob db89bd5b5e esc_calibration: allow to calibrate ESCs without battery detection
Before this the ESC calibration aborts if battery detection doesn't work.
The problem is if the user still connects the battery as he gets instructed
and the calibration aborts then the ESCs are in calibration mode and
after abortion calibrate to the wrong value.

Also I realized there's no additional safety by aborting the calibration
if the battery cannot be detected during the timeout because a pixhawk
board without power module will report a battery status from the
ADC driverand in it that no battery is connected which is the best
it can do. In this situation the motors will still spin if the
ESCs are powered.
2023-06-16 15:48:20 +02:00
Matthias Grob ae678e8e2f esc_calibration: adjust timing to work with all tested ESCs
Some ESCs e.g. Gaui enter the menu relatively quickly if the
signal is high for too long. To solve that it's kept high shorter.
Also all tested ESCs detect the low signal within a shorter time
so no need to wait longer.
2023-06-16 15:48:20 +02:00
Matthias Grob 53bcb8789f esc_calibration: Improve readability and robustness
- Change timings for a more reliable calibration.
- Make sure there's an error message when battery measurement is not
available also when it gets disabled after system boot in the power
just above the calibration button.
- Safety check if measured electrical current goes up after issuing the
high calibration value for the case the user did not unplug power
and the detection either fails or is not enforced.
2023-06-16 15:48:20 +02:00
Matthias Grob afa56d21c5 mixer_module: consistent PWM/oneshot calibration range 2023-06-16 15:48:20 +02:00
Matthias Grob 8cb7a67819 actuator_test: condition order refactoring 2023-06-16 15:48:20 +02:00
Matthias Grob c89f0776f6 Unify MixingOutput constructor calls
to make them easy to search for and check the arguments.
2023-06-16 15:48:20 +02:00