Daniel Agar
b491356d3f
UAVCAN: publish CAN frames to uORB (ORB_ID(can_frame_out))
...
- can frames published to ORB_ID(can_frame_in) are injected
2022-10-09 13:18:38 -04:00
Daniel Agar
f3964513c7
sensors: fix accel/gyro/mag calibration offset units
2022-10-09 13:02:38 -04:00
Daniel Agar
ee4821ed0a
commander: relax COM_ARM_MAG_ANG default to minimize false positives
...
- this check is mainly intended for catching blatant setup problems like a magnetometer that's mounted 90 or 180 degrees off
2022-10-09 12:41:06 -04:00
fkaiser
30150f723a
Tools/px_uploader.py: use monotonic clock if available ( #20352 )
...
Signed-off-by: fkaiser <fabian.kaiser@wingtra.com >
2022-10-06 09:49:05 -04:00
alexklimaj
064f3f86bc
Increase mag calibration max_var_allowed
2022-10-06 08:44:36 -04:00
Hamish Willee
022aa13aa1
mpu9250_i2c - also needs docs update
2022-10-05 20:26:25 -04:00
Hamish Willee
6d612b1ba4
MPU9250 driver doc incorrect
2022-10-05 20:26:25 -04:00
Daniel Agar
8cc39096cb
load_mon: NuttX cpuload use system times for calculation
...
- this is to minimize the impact of any load_mon scheduling jitter in the sampled load percentage
2022-10-05 14:21:38 -04:00
benjinne
29b031c862
Tools/setup/ubuntu.sh update comment to include 22.04
2022-10-05 13:41:47 -04:00
Daniel Agar
5f0a539633
gps_blending: fix blending init to best instance
...
- output GPS publication defaults to best input instance
- blended states are explicitly cleared and then populated with
weighted blend
2022-10-05 10:26:48 -04:00
Beat Küng
f79dad1e63
fix ROMFS: run camera trigger, capture and PPS before pwm_out
...
As they might need to reserve the pwm pins.
2022-10-05 09:13:35 -04:00
Matthias Grob
46e6e83e14
Commander: allow disarmin not-landed boat like rover
...
This is a hotfix and a boat should never even detect a takeoff
in normal operation.
2022-10-05 09:07:18 -04:00
Beat Küng
dafead6f20
logger: add compressed events metadata file if it exists in the ROMFS
...
Allows to decode events not (yet) on main.
The file is currently ~15KB.
2022-10-05 07:44:55 +02:00
Beat Küng
02035d94aa
metadata: sort json output
...
ensures the files don't change arbitrarily
2022-10-05 07:44:55 +02:00
modaltb
06a0aedbdb
modalai_esc: directly using deadband param value instead of converting it to RPM
2022-10-04 20:14:59 -04:00
Thomas Debrunner
0af87ec745
mavlink: initial OPEN_DRONE_ID_BASIC_ID/OPEN_DRONE_ID_LOCATION support
2022-10-04 14:40:59 -04:00
Matthias Grob
b179427b4c
Remove opinionated non-default MPC_TKO_SPEED from airframes
2022-10-04 11:36:57 -04:00
pandafeng1999
e4b4df4e5d
drivers/distance_sensor/gy_us42: add the specified i2c address
2022-10-04 11:35:45 -04:00
Matthias Grob
f96507bb22
vtol_takeoff: fix comment typo
2022-10-04 10:01:04 -04:00
Peter van der Perk
c807d6079d
FMUK66-V3 Enable DMA on SPI
2022-10-04 09:46:04 -04:00
Peter van der Perk
0cf2ecedb9
FMUK66 Disable Telnet to save RAM
2022-10-04 09:46:04 -04:00
Julian Oes
5c77bbcb4c
ms5611: ignore reading 0
...
This prevents publishing a negative pressure which leads to a NAN
altitude estimate further down the line.
2022-10-04 09:37:53 -04:00
Beat Küng
04b1cbb423
vtol_att_control: standard: also do blending for FW controls
...
So that the sum of the control is always 1.
2022-10-04 09:54:11 +02:00
Silvan Fuhrer
6db92b4011
ControlAllocation: remove actuator trim value from actuator_sp to calculate allocated control
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-10-04 07:51:25 +02:00
Zachary Lowell
4520186878
qurt: replacing qurt threads with pthread
2022-10-03 18:01:04 -04:00
bresch
4b687beb3b
ekf2: remove old airspeed fusion code
2022-10-03 10:59:42 -04:00
bresch
299e6058e3
ekf2_test: test airspeed symforce vs sympy generated code
2022-10-03 10:59:42 -04:00
bresch
29ebef1f74
ekf2: migrate fuse_airspeed to SymForce
2022-10-03 10:59:42 -04:00
Daniel Agar
41cda14126
ekf2: add symforce code generation helper target
2022-10-03 10:59:42 -04:00
Daniel Agar
c9441bb48a
boards: px4_fmu-v2/v3 allow optional mpu9250 probe to fail without error
2022-10-02 21:40:18 -04:00
Benjamin Perseghetti
aa2b47845a
new Gazebo simulation handle older gz versions ( #20342 )
2022-10-02 21:30:30 -04:00
PX4 BuildBot
f4d2e176ae
Update submodule sitl_gazebo to latest Sun Oct 2 12:38:54 UTC 2022
...
- sitl_gazebo in PX4/Firmware (2bd1ac005f ): https://github.com/PX4/PX4-SITL_gazebo/commit/b968405a617005ba0a793a8b4703913d4c6eff5f
- sitl_gazebo current upstream: https://github.com/PX4/PX4-SITL_gazebo/commit/e80432759540c91f85a012f47aa6ebb0ee9de7e4
- Changes: https://github.com/PX4/PX4-SITL_gazebo/compare/b968405a617005ba0a793a8b4703913d4c6eff5f...e80432759540c91f85a012f47aa6ebb0ee9de7e4
e804327 2022-10-01 Thomas Stauber - set lidar measurements to 0.0 if out of range (#914 )
7ed1da6 2022-09-27 Karthik S - Advanced Lift-Drag Plugin (#901 )
669d7f5 2022-09-08 Oleg Kalachev - Fix local addr assignment for qgc and sdk sockets
2022-10-02 10:54:31 -04:00
PX4 BuildBot
f7a5c91fb3
Update submodule libcanard to latest Sun Oct 2 12:38:56 UTC 2022
...
- libcanard in PX4/Firmware (8e144eece9e9cd5a23dbeb6723591f214cad631a): https://github.com/opencyphal/libcanard/commit/db87ea32aa092c48ea103963138b6346dd3e9008
- libcanard current upstream: https://github.com/opencyphal/libcanard/commit/2e3b11f6b8325080c160d38521b169b0bbb6b1c7
- Changes: https://github.com/opencyphal/libcanard/compare/db87ea32aa092c48ea103963138b6346dd3e9008...2e3b11f6b8325080c160d38521b169b0bbb6b1c7
2e3b11f 2022-07-15 Pavel Kirienko - Follow-up for #197 -- fix minor issues discovered by Sonar (#198 )
106ceaf 2022-07-11 Dmitry Ponomarev - Fix cast-align warnings on ARM
8953fe6 2022-07-06 Dmitry Ponomarev - Add ARM build to github workflow
2022-10-02 10:54:05 -04:00
PX4 BuildBot
644a836d0a
Update submodule libevents to latest Sun Oct 2 12:39:02 UTC 2022
...
- libevents in PX4/Firmware (ddc1e6d6c5c2707be5522d4c4d7434403202cf45): https://github.com/mavlink/libevents/commit/82dabdb914d7bd640c281900e2852d0afc074b68
- libevents current upstream: https://github.com/mavlink/libevents/commit/a89808bffd1efb0543e66f17a7fa12dfce5e6bf0
- Changes: https://github.com/mavlink/libevents/compare/82dabdb914d7bd640c281900e2852d0afc074b68...a89808bffd1efb0543e66f17a7fa12dfce5e6bf0
a89808b 2022-09-26 Beat Küng - combine.py: sort json keys
2022-10-02 10:53:28 -04:00
PX4 BuildBot
cf0cd4ebf2
Update submodule mavlink to latest Sun Oct 2 12:39:04 UTC 2022
...
- mavlink in PX4/Firmware (65bd1fd4c000a7fa0de2a0e8dce1ba9b2a62fa86): https://github.com/mavlink/mavlink/commit/c46af523263ff0dad59afe018fe387c1df030442
- mavlink current upstream: https://github.com/mavlink/mavlink/commit/dda5a18ddb002a871ba301bb584893ee6378e2f3
- Changes: https://github.com/mavlink/mavlink/compare/c46af523263ff0dad59afe018fe387c1df030442...dda5a18ddb002a871ba301bb584893ee6378e2f3
dda5a18d 2022-09-28 WickedShell - Support a return to default speed for DO_CHANGE_SPEED (#1890 )
4e04dbbf 2022-09-24 Hamish Willee - MAV_FRAME_BODY_FRD - match to implementations and sanity (#1894 )
89a61214 2022-09-23 Hamish Willee - DO_CHANGE_SPEED - clarify lifetime of speed setting (#1892 )
11414f88 2022-09-21 Søren Friis - Clarify swarm fields (#1891 )
5cdf8b60 2022-09-08 Hamish Willee - HOME_POSITION - clarify local frame means NED (#1886 )
551e3b49 2022-09-07 Julian Oes - Fix CI (#1888 )
d99ee9b6 2022-09-07 Julian Oes - pymavlink: update submodule to latest master (#1887 )
92d2a58d 2022-09-01 Hamish Willee - common.xml:TIMESYNC docs and extensions (#1878 )
c424dc65 2022-09-01 Julian Oes - minimal: try to make component ID less confusing (#1876 )
153939bd 2022-09-01 Hamish Willee - Fix typo MAV_CMD_DO_SET_MISSION_CURRENT
5043a1e0 2022-09-01 Hamish Willee - MAV_CMD_DO_SET_MISSION_CURRENT - allow mission resetting (#1870 )
90aa7bfc 2022-08-31 Chikirev Sirguy - Update common.xml (#1815 )
554ccadd 2022-08-31 Hamish Willee - common: OpenDroneID messages no longer WIP (#1882 )
06448cf6 2022-08-24 Hamish Willee - MAV_ODID_ARM_STATUS entries update to naming convention (#1883 )
ff649224 2022-08-18 Patrick José Pereira - Fix gibberish descriptions ualberta.xml (#1881 )
11f4b236 2022-08-18 Hamish Willee - Mission item - document values for autocontinue (#1868 )
fb8ac31b 2022-08-18 Julian Oes - development: remove MISSION_CHANGED (#1879 )
76b794c2 2022-08-18 Julian Oes - common: extend MISSION_CURRENT (#1869 )
1ae3edc4 2022-08-15 Andrew Tridgell - common: added OPEN_DRONE_ID_SYSTEM_UPDATE message (#1880 )
aa25f4df 2022-08-11 Andrew Tridgell - common: added OPEN_DRONE_ID_ARM_STATUS (#1873 )
2022-10-02 10:53:00 -04:00
Daniel Agar
2bd1ac005f
.gitmodules update branches master -> main
2022-10-01 12:22:22 -04:00
Silvan Fuhrer
9b3cb6c758
FW Attitdue controller: fix throttle in acro (use _rate_sp.throttle_body) ( #20330 )
...
* FW Attitdue controller: fix throttle in acro (use _rate_sp.throttle_body)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
* FW Attitude controller: do manual control polling before attitude setpoint polling
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-30 13:45:20 +02:00
Silvan Fuhrer
34b6786f79
actuator_controls.msg: fix NUM_ACTUATOR_CONTROLS (9)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 14:25:16 -04:00
Beat Küng
64ae0049de
mission: add support for NAV_CMD_DO_SET_ACTUATOR
2022-09-29 14:23:16 -04:00
Daniel Agar
a27aeb30bf
mc_pos_control: fix trajectory setpoint copy
...
- trajectory_setpoint and vehicle_local_position_setpoint used to be
the same data type
- we got extremely lucky here that this didn't cause any issues due to
all the fields still aligning
2022-09-29 14:17:00 -04:00
bresch
20b46ad33f
ekf2_test: test validity of local position when not at rest
...
At rest, the zero velocity update keeps the local position valid all the
time. Deactivate it to be able to test the validity checks
2022-09-29 14:16:36 -04:00
bresch
1914053db2
ekf2: synchronize z_valid and v_z_valid
...
mc_pos_control doesn't handle all the cases at the moment
2022-09-29 14:16:36 -04:00
bresch
f753b92cff
ekf2: start fake pos fusion after dead-reckoning timeout
...
Starting the fake position as soon as all the aiding sources stop makes
the local position immediately invalid while we could continue to navigate
for a couple of second with inertial dead-reckoning
2022-09-29 14:16:36 -04:00
bresch
bb790c9bec
ekf2: add vertical dead-reckoning timeout check for height validity
2022-09-29 14:16:36 -04:00
Thomas Stastny
da99387215
welford mean: protect against negative variances
2022-09-29 14:14:16 -04:00
Thomas Stastny
d3849c0265
welford mean: convert to matrix only template
2022-09-29 14:14:16 -04:00
Daniel Agar
d4e5876d4c
vehicle_imu: only reset raw accel/gyro Welford mean periodically
...
- vehicle_imu_status can publish immediately on any measured sample
rate change or sensor error increment, but the windowed mean/variance
shouldn't necessarily reset that often
2022-09-29 14:14:16 -04:00
Benjamin Perseghetti
f9522e831c
Gazebo Simulation Enablement ( #20319 )
2022-09-29 13:49:31 -04:00
Silvan Fuhrer
f89df9d986
VTOL: make const and return when either of mc or fw att sp isn't updated
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
fdcbabeb9e
VTOL Tailsitter: don't use the fw attitude sp for determing the initial pitch if not recent
...
Use a pitch of 0 to initialize the ramp otherwise.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
9c5a423753
VTOL: in update_transition_state(): check that needed virtual attitude setpoints are recent
...
This is to prevent that that data from non-recent publications of the virtual
attitude setpoints are used in the transition code.
It removes the previous implementation where the update_transition_state()
method was only run when both mc and fw virtual att sp where recent, independetly
of whether both are used or not.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
dd2e6bd416
ROMFS: SITL configs: enable airmode by default for all VTOLs
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
fbc7e6a435
ROMFS: tiltrotor sitl config: use tilt for yaw in hover as opposed to differential thrust
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Silvan Fuhrer
97e3b76a2e
VTOL: improve readability of VT_FWD_THRUST_EN param
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-29 16:01:43 +02:00
Roman Bapst
20457c5e2e
position_setpoint: replaced loiter_direction integer by boolean ( #20317 )
...
* position_setpoint: replaced loiter_direction integer by boolean (loiter_direction_counter_clockwise)
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-09-29 11:06:10 +02:00
Yang Hau
5d39fdba6d
fix: Add boundary protection for array access
2022-09-29 08:11:03 +02:00
Yang Hau
2dcde93d96
fix: Fix misuse of atoi()
2022-09-29 08:11:03 +02:00
Yang Hau
e2f3157ecb
fix: Add missing comma for const strings
2022-09-29 08:11:03 +02:00
David Sidrane
99ef597719
Nuttx with backport of stm32h7:SDMMC fix unaligned access
2022-09-29 07:56:46 +02:00
Ville Juven
59e86c490d
Remove include <log.h> from defines.h
...
The reason for this is that log.h includes drv_hrt.h which sucks in
half the project's include files with it, which causes strange build
issues
2022-09-29 07:56:24 +02:00
Daniel Agar
1f7080a710
ekf2: extend sensor bias stability requirement
...
- for accel/gyro/mag estimated bias only consider them stable (valid
for calibration updates) if the value isn't changing (10% of limit) over
the validity period
2022-09-28 10:40:52 -04:00
Daniel Agar
16f8adb4b3
hysteresis: avoid subtracting unsigned integers
...
- avoid potential errors with timestamp passed in from different sources
2022-09-28 09:51:16 -04:00
bresch
06f2004580
Mag: fix estimated bias save to calibration
...
Clear the calibration at the end only otherwise everything gets erased
at the end of the first iteration of the outer loop
2022-09-28 10:43:54 +02:00
Karthik S
70d73c8690
Advanced Plane Airframe for SITL Advanced Lift-Drag Plugin ( #20207 )
...
* Changed sitl_gazebo to the advanced liftdrag plugin fork.
* Added advanced plane and its associated parameters to PX4. Also tweaked one of the plugins to fix a compilation error (upcasting from float to double).
* Switched gazebo back to main branch, to avoid merge conflicts.
* Change simulator bridge back to what it was in main branch
* Changed sitl_gazebo to match the PX4 main branch's (commit hash b968405)
* Changed SimulatorIgnitionBridge to match most recent main.
2022-09-27 23:09:27 +02:00
jmackay2
0ee4d89744
drivers/osd/msp_osd: fix uorb_to_msg isnan floating-point check ( #20309 )
2022-09-27 14:41:43 -04:00
Eric Katzfey
a5bfc3fbc2
Added a self test feature to the VOXL 2 muorb module ( #20307 )
...
* Removed exit after dsp signature generation.
* First full test suite
* Cleaned up the muorb tests
* Improved VOXL 2 self test trigger in startup file
* Removed unneeded include file
2022-09-26 16:25:24 -04:00
Daniel Agar
7bc79b491f
sensors/vehicle_magnetometer: more granular in flight mag cal reset on parameter changes
...
- if mag calibration parameters change only reset any inflight mag cal
for the corresponding magnetometer
2022-09-26 12:42:32 -04:00
Daniel Agar
462d0af384
uORB: fix static orb_exists call for protected build
...
- unify ORBSet to maximum code coverage
2022-09-26 12:38:58 -04:00
Silvan Fuhrer
2717137982
RTL params: remove some unnecessary param constraints
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-26 13:32:35 +02:00
Silvan Fuhrer
b0a7d206f3
RTL params: increase max of RTL_RETURN_ALT and improve description
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-26 13:32:35 +02:00
Charles Cross
cfdaba35cc
Adds reset counter logic to EV height fusion
2022-09-26 11:48:18 +02:00
Daniel M. Sahu
779e738143
MSP OSD Revision
2022-09-24 18:40:47 -04:00
chris1seto
770f8080c0
CRSF: Validate unknown packet sizes to be smaller than max packet size
...
Co-authored-by: Chris Seto <chris1seto@gmail.com >
2022-09-24 16:36:17 -04:00
Daniel Agar
57bdac2b26
cmake: px4_parse_function_args re-enable failure on unparsed (invalid) arguments
2022-09-24 13:48:51 -04:00
Daniel Agar
ca0465aeca
Tools/generate_board_targets_json.py: properly exclude VOXL2 for now
2022-09-24 11:27:31 -04:00
Daniel Agar
e58275e6f5
platforms/posix: restore none SITL helper target for replay
2022-09-23 19:20:01 -04:00
chris1seto
77fdce9f3c
drivers/rc/crsf_rc: update standalone driver for CRSF and direct support for lq/rssi ( #20084 )
...
Co-authored-by: Chris Seto <chris1seto@gmail.com >
2022-09-23 19:19:25 -04:00
chris1seto
86cddc6a52
fw_autotune_attitude_control : Add better support for RC TX control while in FW AT ( #20069 )
...
Co-authored-by: Chris Seto <chris1seto@gmail.com >
2022-09-23 19:17:51 -04:00
Daniel Agar
b7fab39165
icm20948_i2c_passthrough: PX4_ERR is reset/configure fails and check temperature for validity
2022-09-23 19:16:10 -04:00
Daniel Agar
eb2a714aa5
ak09916: PX4_ERR if reset/configure is failing after 5s
2022-09-23 19:16:10 -04:00
Daniel Agar
16b4149492
Tools/generate_board_targets_json.py exclude VOXL2 for now (dev environment not yet available to github)
2022-09-23 16:40:56 -04:00
Thomas Debrunner
32277f6332
uavcan rgbled: Scale brightness for constant illumination
2022-09-23 14:33:20 -04:00
Eric Katzfey
d30ccb2b1d
initial board and platform support for the ModalAI VOXL 2 (POSIX + QuRT)
2022-09-23 12:03:05 -04:00
David Sidrane
e6b292b693
Revert "boards: px4_fmu-v6x_default remove gyro_fft to save flash (will be restored later)"
...
This reverts commit ed16354413 .
2022-09-23 09:32:43 -04:00
David Sidrane
d749389f95
fmu-v6x:CUAV HW Version changes
2022-09-23 09:32:43 -04:00
bresch
cddade2047
ekf2: use validated airspeed from airspeed sensor only
...
don't use synthetic measurements to prevent circular dependency
2022-09-23 09:26:47 -04:00
Julian Oes
8080ca966a
boards/platform: remove confusing override
...
This removes the odd px4_i2c_bus_external override which was confusing
me and lead to odd and inconsistent results.
The function is now only available with an int as the argument.
2022-09-23 20:54:08 +12:00
Junwoo Hwang
13d565d707
payload_deliverer: Add gripper state output to "status" CLI output
...
- Previously it was hard to check which state the gripper was in
(GRAB/GRABBED/ etc), not even whether it was correctly initialized, this
commit adds that functionality
2022-09-23 07:41:51 +02:00
Junwoo Hwang
e65d48c070
payload_deliverer: Fix Gripper unitialized message spamming
...
- When the gripper was uninitialized, the error message popped up
everytime the module had 'any' vehicle command received. But we should
be spamming only when we do actually get 'DO_GRIPPER' command received,
this commit adds that feature
- Also converted error messages for CLI when gripper test functinality
fails, so that user would get a feedback (originally, the PX4_DEBUG was
of course not outputting everything)
2022-09-23 07:41:51 +02:00
alexklimaj
fdf4b668eb
Ark flow rev 3 with PAA3905"
...
Add AFBR-S50LX85D
2022-09-22 20:36:43 -04:00
Daniel Agar
38d332a553
ekf2: inhibit accel bias dynamically when fake position/height fusion active
...
- inhibit accel bias learning dynamically depending on the angle between an accelerometer and the vertical axis when fake position fusion is active
2022-09-22 20:32:20 -04:00
Daniel Agar
1806f0d2b4
boards: delete broken flywoo_gn-f405_rtps
2022-09-22 17:44:24 -04:00
Silvan Fuhrer
300288b57e
FW Attitude Controller: fix polling of rate setpoint for tailsitter
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-22 19:13:36 +02:00
Daniel Agar
ed16354413
boards: px4_fmu-v6x_default remove gyro_fft to save flash (will be restored later)
2022-09-22 11:36:16 -04:00
David Sidrane
e284d4aa52
fmu-v6x:CUAV HW Version changes
2022-09-22 11:36:16 -04:00
CUAVmengxiao
21daa0f398
drivers: add support for ICP101XX and ICP201XX
2022-09-22 11:36:16 -04:00
CUAVmengxiao
9493008dbb
px4_fmu-v6X: add CUAV board
2022-09-22 11:36:16 -04:00
Silvan Fuhrer
0df878bc18
Navigator: use NAV_FW_ALTL_RAD only for FW landings, not VTOL landings
...
Also containst a mini refactor by removing the unnecessary function
get_default_altitude_acceptance_radius().
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-22 16:52:51 +02:00
Silvan Fuhrer
c6c7733587
FW Position control: add option to scale min airspeed wtih wind magnitude
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-22 16:39:27 +02:00
Beat Küng
e8ac9b266b
px4events: add @skip-file tag
2022-09-22 09:42:39 -04:00
Daniel Agar
54c97db8b2
ekf2: fix covariance comment typo
2022-09-21 15:29:07 -04:00
Silvan Fuhrer
d7fab74727
VTOL: remove _flag_was_in_trans_mode from standard vtol (not used)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-21 14:18:43 -04:00
Silvan Fuhrer
828f629413
VTOL: remove some pwm hackery leftovers from legacy mixing systems
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-21 14:18:43 -04:00
Beat Küng
d948fcd72b
fix control_allocator: check if 2. thrust and torque sp topic is valid
...
Otherwise the 2. setpoint is equal to the first one. This is only an issue
if the 2. instance isn't advertised.
2022-09-21 15:11:11 +02:00
Silvan Fuhrer
a53e1277dd
remove fixedwing example module
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-21 09:03:35 -04:00
Daniel Agar
a96187cb18
drivers/optical_flow: paw3902/paa3905 refactor into simple state machine for reset/configure/read
2022-09-20 18:59:00 -04:00
vincentpoont2
d5f7763817
add V5X005001 V5X005002 to start correct sensor
2022-09-21 10:40:04 +12:00
RomanBapst
e41913a699
vtol_type: removed unused "was_in_trans_mode" function
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-09-20 16:50:07 +02:00
RomanBapst
2a6cd4a409
vtol_att_control: avoid using non-recent attitude setpoint during beginning
...
of transition
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-09-20 16:50:07 +02:00
Julian Oes
5aa873aed5
fmu-v6x: alias, add VX43
...
- alias from hw_mft_list_v0650 to hw_mft_list_v0600 as it is the same
- add V6X50 again
2022-09-20 08:26:16 -04:00
Julian Oes
d78de90fc8
fmu-v5x: alias for duplicates, remove commented
...
- Removed commented out config data.
- hw_mft_list_v0540 was the same as hw_mft_list_v0500
2022-09-20 08:26:16 -04:00
Daniel Agar
a47895e809
[DO NOT MERGE] px4_i2c_device_external hacks
2022-09-20 10:31:26 +12:00
Julian Oes
b922307ddb
px4_fmu-v6c: Move I2C 4 back to External
...
This is a revert of the revert.
This reverts commit 1080855f4d .
2022-09-20 10:31:26 +12:00
Julian Oes
94c8a4a840
fmu-v6c: internal baro and mag on external bus
...
This swaps the internal baro and mag back to the bus which is both
internal an external but configured as external for this case.
2022-09-20 10:31:26 +12:00
Silvan Fuhrer
13fc5918cc
AirspeedValidator: keep data stuck test but only enable in FW mode
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-19 17:44:44 +02:00
Silvan Fuhrer
1a5d0f4347
AirspeedValidator: add new check (variance after boot) and disable data stuck check by default
...
This new check is inteded to trigger if there is no data variation published by
the airspeed driver for the first 10s after the first data is published.
This is to capture malfunctioning sensors/drivers that do publish a value, this
value though does not come from real sensor measurements.
Previously this was captured by the data stuck check, but it has shown that
some drivers can publish a stuck value without being actually malfunctioning
(e.g. when the airspeed is outside of their measurement range). Checking for
any data variation is the more conservative check that still catches the above
described failure case.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-19 17:44:44 +02:00
Daniel Agar
0a5c9d4951
position_setpoint delete unused landing_gear
2022-09-19 11:16:45 -04:00
Daniel Agar
11dd924bd4
position_setpoint delete unused SETPOINT_TYPE_FOLLOW_TARGET
2022-09-19 11:16:45 -04:00
Beat Küng
c707997b9e
lockstep_scheduler: use PRIu64 for timestamp printf
2022-09-19 10:04:31 -04:00
Daniel Agar
87815d8869
simulator_ignition_bridge: add simple esc_status publication
...
- ideally we'd get this from the actual joint velocity, but this is
good enough to start
2022-09-19 09:49:12 -04:00
Daniel Agar
3440f543f1
simulator_ignition_bridge: wait for first clock set before returning successfully
2022-09-16 21:37:09 -04:00
Daniel Agar
98036f93c5
msp_osd: fix module documentation
2022-09-16 18:54:14 -04:00
modaltb
e1098c328e
modalai_esc: maintenance release 1 ( #20225 )
2022-09-16 14:52:28 -07:00
Daniel Agar
07c34f7446
boards: px4_fmu-v6x update bootloader
2022-09-16 12:11:25 -04:00
chris1seto
cfb98e44c9
MSP telemetry and OSD support ( #19515 )
...
Co-authored-by: Chris Seto <chris.seto@bossanova.com >
2022-09-16 11:46:08 -04:00
Daniel Agar
eaa9eae472
simulator_ignition_bridge: fix double promotions
2022-09-16 11:36:35 -04:00
Daniel Agar
085ec0e8ef
flight_mode_manager: StickAccelerationXY minimize setpoint oscillations around 0
2022-09-16 07:54:12 +02:00
Ville Juven
f300ec1da2
px4_platform_common/atomic.h: fetch_add/sub were really fetch_inc/dec
...
fetch_add/sub were really inc/dec for the __atomic_always_lock_free == true
branch. This fixes them so that the arg "num" is actually used.
2022-09-15 21:11:08 -04:00
Daniel Agar
ff196a7363
crsf_rc: trivial compile fixes for updated vehicle_gps_position and removed NAVIGATION_STATE_AUTO_LANDENGFAIL
2022-09-15 21:01:53 -04:00
Daniel Agar
97f239d3ab
boards/flywoo/gn-f405: fix code style
2022-09-15 20:06:01 -04:00
chris1seto
b682b30ab1
drivers/rc/crsf_rc: create new standalone CRSF driver
2022-09-15 20:00:20 -04:00
David O
b910c1dcf4
Update mavlink_main.cpp
...
Corrected
2022-09-15 19:49:49 -04:00
David O
8f7233b1e2
Tailsitters need ATTITUDE_QUATERNION to display properly the artificial horizon
2022-09-15 19:49:49 -04:00
Daniel Agar
05850e2fc0
mavlink: eliminate timestamped_list dynamic allocation
2022-09-15 19:27:39 -04:00
David Sidrane
eaac84ab20
px4_fmu-v6x_bootloader:Ensure PWM pins are low from boot
2022-09-15 19:24:50 -04:00
Oleg Kalachev
585e81fc30
mavlink: fix path for mavlink_types.h include
2022-09-15 19:20:11 -04:00
Daniel Agar
5fcdffc8c0
drivers/device/nuttx/I2C: only issue I2C_RESET() if retrying, and only before the next retry
2022-09-15 18:42:30 -04:00
Claudio Micheli
30e867d4de
navigator_main: use camera_trigger driver for single captures
...
Signed-off-by: Claudio Micheli <claudio@auterion.com >
2022-09-15 18:15:25 -04:00
Julian Oes
fc89705ef8
navigator: stop capturing images on mission exit
...
When a mission starts capturing images using the
MAV_CMD_IMAGE_START_CAPTURE command, it should also stop it again, in
case it is stopped early, e.g. with RTL.
2022-09-15 18:15:25 -04:00
Zhengtian
70194f52cd
boards: New target flywoo goku-gn-f405s-aio ( #20131 )
2022-09-15 18:11:49 -04:00
Ville Juven
3b9936edd2
hrt_ioctl: Move common code under /common folder
...
The HRT ioctl is common code, so move it out of chip specific code
2022-09-15 17:57:40 -04:00
Bruce Meagher
b1c7098c54
Initial version of log history support.
2022-09-15 14:15:34 -04:00
Beniamino Pozzan
2e83c3a465
Fixed fastrtps version reading in microRTPS generation
...
Issue addressed: ROS2 is built from source and
no system-wide version of fastrtps is installed
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@phd.unipd.it >
2022-09-15 13:36:40 -04:00
vincentpoont2
4951ce0ed7
Add PX4 vision v1.5 Airframe
2022-09-15 13:33:04 -04:00
Ville Juven
328bc5b8c2
image_toc.c: Check that the ToC actually lies within the first entry
...
As the first entry is used to sign / authenticate the ToC, make sure
the ToC is actually in the first entry.
2022-09-15 13:32:08 -04:00
murata
9e2ff11d45
fmu-v6x: Add sd_bench command
2022-09-15 13:25:34 -04:00
Travis Bottalico
9c0750776d
voxl2_io: initial board support
2022-09-15 13:19:01 -04:00
Silvan Fuhrer
5a74f07a74
RTL: always fill loiter_radius field, indpendent on vehicle type
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-15 13:17:36 -04:00
Silvan Fuhrer
e9f349a2fc
RTL: set WP type to LOITER_TO_ALT for FW in Return stage
...
Such that the loiter (orbit) status can be displayed on groundstation
and the WP is accepted once within loiter radius
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-15 13:17:36 -04:00
Silvan Fuhrer
5f0fc7aaf1
FW Position Controller: fix publishing of negative loiter directions (CCW)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-15 13:17:36 -04:00
Silvan Fuhrer
7a760c8c6e
RTL: use loiter radius from mission for loiter before enganging mission in RTL
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-15 13:17:36 -04:00
Alex Klimaj
0ce76679b7
boards: add new ARKV6X ( #20191 )
2022-09-15 13:13:49 -04:00
Alvin Sun
80243aef53
remove microdds from rtps target
2022-09-15 13:10:23 -04:00
Alvin Sun
c3e6421549
add v4 rtps build
2022-09-15 13:09:35 -04:00
mcsauder
b885c920d8
Breakout header file from sensors.cpp and delete unnecessary #includes.
2022-09-15 13:09:04 -04:00
Junwoo Hwang
e3dff5c074
board_identity: Add UUID/MFGUID/GUID unit tests
...
- To check stack smashing (buffer overflow)
- To check if the buffer without enough length gets appropriate values
filled
- To check if the format has expected length
2022-09-15 13:06:15 -04:00
Junwoo Hwang
f5215e8207
board_identity: Fix UUID format function buffer overflow bug
...
- Previously, not having a proper boundary check caused overflows in the
buffer (wrong memory access)
- Moreoever, negative size values getting introduced to snprintf &
strncat were also being truncated to unsigned value, hence causing
overflow, so index check needed to be added before both functions
- Fixed typo in board_common.h
2022-09-15 13:06:15 -04:00
bresch
facf01d69d
ekf2: report combined vertical position test ratio
2022-09-15 08:51:19 -04:00
Daniel Agar
54b5d4c5b8
drivers/rc_input: don't allow starting on the px4io serial port
2022-09-14 21:23:30 -04:00
Jaeyoung Lim
9245d71397
Fixedwing att control rate loop cleanup
2022-09-14 13:53:58 +02:00
Silvan Fuhrer
b4f27c9abb
MissionBlock: loiter exit condition based on vector operation instead of atan
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-14 10:47:21 +02:00
Silvan Fuhrer
27780308c0
MissionBlock: base loiter course exit condition on a constant value instead of MIS_YAW_ERR
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-14 10:47:21 +02:00
Konrad
5a7f098b8d
Enable multiple simulated imu and magnetometers in gazebo
2022-09-14 10:27:04 +02:00
Silvan Fuhrer
f9b6edab07
Navigator/FW Position Control: VTOL front towards specified transition heading if available
...
If the current yaw setpoint is valid we should use it to make the transition in this direction.
For a VTOL_TAKEOFF the yaw_setpoint is used to specify the transition direction (the
vehicle is aligned towards it and then transition is started). The current yaw can be
a bit off (e.g. because MIS_YAW_ERR is large), and it is better to track the actual setpoint.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-09-14 08:55:20 +02:00
alexklimaj
82b28bc72f
Add BMP390 to BMP388 driver
2022-09-13 09:33:24 -04:00
Vojtech Spurny
7ca16cd504
increased rate of Lidar Lite driver over I2C
2022-09-13 09:11:12 -04:00
David Sidrane
1080855f4d
Revert "px4_fmu-v6c Move I2C 4 to External"
...
This reverts commit 6b2509cbba .
2022-09-13 01:06:17 -04:00
alexklimaj
ba1b6f4d2c
Standardize AFBR irq lock calls
2022-09-12 19:14:18 -04:00
alexklimaj
3398380262
Switch to async AFBR measurement calls and use schedule.
2022-09-12 13:00:25 -04:00
Shriv
3dffa5e6df
gps: add UART2 Baudrate Configurability and New UBX Mode. ( #20133 )
2022-09-12 14:13:17 +02:00
Daniel Agar
b8fb5dfa51
merge px4_sitl_ign into px4_sitl_default ( #20188 )
...
- for convenience merge px4_sitl_ign into px4_sitl_default, but allow simulator_ignition_bridge to quietly skip inclusion if ignition-transport isn't available
- simulator_ignition_bridge only try setting the system clock in
lockstep builds
- this simplifies usage and CI system dependencies
2022-09-10 16:18:02 -04:00
bresch
34d8bd7988
update EKF2 change indicator
2022-09-10 12:29:29 -04:00
bresch
6bd81c0eb7
ekf2: do not store delayed baro sample in class
...
the sample is popped from the buffer and directly used; there is no
need to keep a local copy of it
2022-09-10 12:29:29 -04:00
bresch
ae1e12a6b5
ekf2: remove baro accumulation from initializeFilter
2022-09-10 12:29:29 -04:00
bresch
fe4a6ce8de
ekf2: allow initialization without baro data when fusion is disabled
2022-09-10 12:29:29 -04:00
bresch
a54fa7b9b1
ekf2: add fake height fusion logic
...
When there is no vertical aiding, fake height is started to constrain
the vertical channel of the EKF
2022-09-10 12:29:29 -04:00
bresch
aa716936bf
ekf2: move synthetic_position flag to control_status.flags.fake_pos
2022-09-10 12:29:29 -04:00
Julian Oes
86f7e15f7a
libuavcan: update submodule
...
This fixes a Python 3.10 issue for me.
2022-09-09 20:41:11 -04:00
Daniel Agar
8f25acd428
sih remove gps and use standalone sensor_gps_sim
2022-09-09 18:00:50 -04:00
Daniel Agar
bfe0d71a21
sih remove baro and use standalone sensor_baro_sim
2022-09-09 18:00:50 -04:00
Daniel Agar
c5336abba2
sih remove mag and use standalone sensor_mag_sim
2022-09-09 18:00:50 -04:00
Daniel Agar
99a20646e2
simulator sih add local position ground truth and cleanup
2022-09-09 18:00:50 -04:00
Daniel Agar
355f184f06
boards/px4/fmu-v3: allow optional ms5607 startup to fail quietly (no error)
2022-09-09 17:32:18 -04:00
Alvin Sun
238fdadfee
Add attitude and bodyrate control to RTPS
2022-09-09 22:21:02 +02:00
Daniel Agar
3f3a5f19f0
parameters: open export files O_TRUNC to discard previous data
...
- rcS parameter backup try to directly restore param (FRAM) from backup (in case SD card is removed before successful export)
- rcS parameter backup logging rearrange to capture more logging output (param_import_fail.txt)
- posix rcS try to keep param backup and restore roughly in sync with NuttX rcS
- tinybson fix debug printf format
- param_export_internal ensure file descriptor positioned at 0 (precaution)
2022-09-09 16:20:16 -04:00
Igor Mišić
296b1704c5
invensense/icm42688p: add additional state FIFO_RESET
...
This state is added to give extra time between FIFO flush command. Some icm42688p IMUs need more time between config -> FIFO reset -> FIFO read. More about the issue #20181
2022-09-09 16:19:10 -04:00
Alex Klimaj
efcf4c95fd
drivers/uavcannode: Add RTCMStream subscriber and fix RTCMStream Publisher ( #20056 )
...
* Add cannode RTCMStream subscriber
* Fix uavcan RTCMStream publisher
* Break out CANNODE_SUB_RTCM and CANNODE_SUB_MBD
2022-09-09 15:16:09 -04:00
Daniel Agar
9d1aeb6aa7
platforms/posix: cleanup macos legacy
2022-09-09 13:05:06 -04:00
matthewoots
b09329f287
boards/matek/h743: add fix to resolve no startup of imu for matek_h743 target ( #20184 )
...
* Add fix for matek_h743 target that resolves no startup of imu for h743-wing v3 and h743-wlite boards
* Added imu driver according to spi bus (https://www.mateksys.com/?portfolio=h743-wing-v2#tab-id-7 )
2022-09-09 13:02:38 -04:00
Agata Barcis
e268e69265
Fixed fastrtps version reading in microRTPS generation for ROS2 built from sources
2022-09-09 15:11:11 +01:00
Daniel Agar
b45daac0e8
commander: fix angular velocity validity
...
- vehicle_angular_velocity timestamp can be newer than saved now
2022-09-09 09:14:09 -04:00
Daniel Agar
15fece7e14
delete SYS_CTRL_ALLOC
2022-09-09 09:14:09 -04:00
Daniel Agar
13f9eabd70
delete unused actuator_controls_3
2022-09-09 09:14:09 -04:00
Daniel Agar
55be169e18
delete remaining PWM_MAIN/PWM_AUX/PWM_EXTRA parameters
2022-09-09 09:14:09 -04:00
Daniel Agar
4ec9e2f216
uavcan: delete unused ESC idle and soft_stop
2022-09-09 09:14:09 -04:00
Daniel Agar
bdec17a9d4
drivers/pwm_out_sim: add perf counters (sync with drivers/pwm_out)
2022-09-09 09:14:09 -04:00
Daniel Agar
baa05b2631
drivers/pwm_out: remove custom module boilerplate (dual output bank handling)
2022-09-09 09:14:09 -04:00
Daniel Agar
ce337a3d80
delete unused PWM IOCTLs
2022-09-09 09:14:09 -04:00
Daniel Agar
bcdd2203d3
delete systemcmds/motor_test and msg/test_motor.msg
2022-09-09 09:14:09 -04:00
Daniel Agar
72efe84b80
delete MOT_ORDERING
2022-09-09 09:14:09 -04:00
Daniel Agar
a7bbcd5b04
delete lib/mixer and mixer_module static mixing
2022-09-09 09:14:09 -04:00
Daniel Agar
0019ffbea6
delete drv_mixer.h
2022-09-09 09:14:09 -04:00
Daniel Agar
d3312f955f
delete systemcmds/pwm
2022-09-09 09:14:09 -04:00
Daniel Agar
5dd1e5a018
delete systemcmds/mixer
2022-09-09 09:14:09 -04:00
Daniel Agar
cac9c51ac8
ROMFS: purge old mixing system
...
- SYS_USE_IO is now off by default (enabled by default per board)
2022-09-09 09:14:09 -04:00
Julian Oes
ed10146e9f
fmu-v6: disable Rev 0, Rev 1 for HB Mini, and CM4
...
As I understand it, only Rev 3 and Rev 4 were shipped by HB for Mini and
CM4, and are likely to be used for it.
It would be nice to have all combinations but it requires quite some
flash in the current implementation.
2022-09-08 20:54:19 -04:00
Julian Oes
f05fccebb7
fmu-v5x: disable rev0 for HB Mini and CM4 base
...
As I understand it, only Rev 1 and Rev 2 were shipped by HB, and likely
to be used for the Mini and CM4.
2022-09-08 20:54:19 -04:00
Julian Oes
6bd020e848
platforms: decrease flash usage by type for bus id
...
My assumption is that the bus are numbered < 127.
This saves about 100 bytes of flash.
2022-09-08 20:54:19 -04:00
vincentpoont2
4fe90322db
update fmu-v6x rc.board_sensors, add V6X004003
2022-09-08 20:54:19 -04:00
vincentpoont2
167c3da99d
update fmuv5x rc.board_sensors with V5X004000
2022-09-08 20:54:19 -04:00
Vincent Poon
70321ed610
update v5x rc.board_sensors
...
add V5X004002
2022-09-08 20:54:19 -04:00
Vincentpoont2
f476ebdcbf
Correct BOARD_NUM_SPI_CFG_HW_VERSIONS at board_config.h
2022-09-08 20:54:19 -04:00
Vincentpoont2
9d5adf8bab
Fix Error on manifest.c
2022-09-08 20:54:19 -04:00
Vincentpoont2
e91295e5db
Fix Error on board_config.h Define on FMUv5X & FMUv6X
2022-09-08 20:54:19 -04:00
Vincentpoont2
b16a53018d
Add Holybro Pixhawk Pi CM4 Baseboard Support
2022-09-08 20:54:19 -04:00
Don Gagne
0987bb2e8e
Fix bug with yaw only reposition
...
Fix formatting
2022-09-08 17:55:30 -04:00
Matthias Grob
da01dd9eeb
mission_block: explicitly (re)set the acceptance radius to default for takeoff items
...
otherwise a previously adjusted or uninitialized radius from the last flight
can cause problems during the new takeoff
2022-09-08 14:49:32 +02:00
Matthias Grob
b825b61a20
mission_block: minimal acceptance radius of 1mm
...
to avoid float rounding errors leading to tiny acceptance radii
getting considered
2022-09-08 14:49:32 +02:00
Ville Juven
9c204774f1
px4_userspace_init: Fix NULL dereference for px4_spi_buses in user space
...
For targets that define the SPI buses via px4_spi_buses_all_hw, a call
to px4_set_spi_buses_from_hw_version() is needed. Otherwise a NULL
de-reference will occur when trying to access px4_spi_buses.
Fixes a system crash in px4_fmu-v5_protected:
up_assert: Assertion failed at file:armv7-m/arm_memfault.c line: 101 task: wq:lp_default
2022-09-08 07:05:11 +02:00
Justin
88bf1030b5
Update CI to use the main branches.
2022-09-07 20:03:19 -04:00
Ville Juven
d4cce452cf
modules/dataman: Increase stack size by 100B
...
Fixes:
WARN [load_mon] dataman low on stack! (276 bytes left)
Seen on px4_fmu-v5_protected target.
2022-09-07 20:02:26 -04:00
Junwoo Hwang
2542b1bb26
Implement Pacakge delivery via Gripper during mission
...
This feature allows user to use a Gripper type pacakge delivery
mechanism on a drone to trigger the delivery during a mission via the
mission item `DO_GRIPPER`.
This is a minimal change that is intended to have simplest pacakge
delivery feature on PX4, however the future scope would extend this
feature out of Navigator, and rather move towards a federated PX4
(flight-mode flexibility) architecture. But until then, this will serve
the purpose.
Update Tools/sitl_gazebo submodule to remove sdf file overwrite error
- There was an error happening due to .sdf file being overwritten, it
was caused by a wrongfully added. sdf file.
- This update pulls in the PR commit: https://github.com/Auterion/sitl_gazebo/pull/147
Initial cut on supporing PAYLOAD_PLACE mission item
Tidy and comment on navigation.h to clarify mission item definition
- Convert vehicle command ack subscription data type to
SubscriptionData, to not care about having a dedicated struct for
copying the latest data
- Tidy and comment on navigation.h to clarify the definition of
mission_item_s, which is confusing as it is an intergration of MAVLink
Standard into PX4's internal Mission Item structure
Rename mission_block's mission item reached function & cleanup navigator
- Isolated Handle Vehicle Commands function inside the Navigator
- Rename mission_block's mission item reached function to 'reached or
completed', as the navigation command can also be an action (e.g.
DO_SET_SERVO, which doesn't make sense to refer to as 'reached' when we
have successfully done executed the command)
Include MAVLink PR commit to include payload_drop message
More changes to add payload_drop MAVLink message support
- Comitting for testing purposes
Add mission item payload_drop to vehicle command payload drop link
- Now with a mission item with the nav_cmd set to 'payload drop', the
appropriate 'payload drop' vehicle command will be issued
Make Payload drop executable via Mission Plan
Implement payload_drop module to simulate payload delivery
- Simple module that acknowledges the payload drop vehicle command after
certain time, to simulate a successful delivery
Additional changes - payload drop module not working yet
- Need to do more thread stuff to make it work :(
Fix Payload Drop enum mismatch in vehicle_command enums
- First functional Payload Drop Implementation MVP
- Simple Ack & resuming mission from Navigator tested successfully
Hold the position while executing payload drop mission item
- Still the position hold is not solid, maybe I am missing something in
the position setpoint part and all the internal implications of
Navigator :(
Add DO_WINCH command support
Some fixes after rebase on develop branch
- Some missed brackets
- Some comment edits, etc
Add DO_WINCH command support
- Still has a problem of flying away from the waypoint while the
DO_WINCH is being executed, probably position setpoint related stuff :(
Apply braking of the vehicle for DO_WINCH command
- Copies the behavior of NAV_CMD_DELAY, which executes a smooth, braking
behavior when executing the delay because of the braking condition in
`set_mission_items` function
- This will not apply to Fixed wings
- The payload deploy getting triggered may be too early, as right now as
soon as the vehicle approaches the waypoint within the acceptance
threshold, the payload gets deployed
Add DO_GRIPPER support
Implement Gripper actual Hardware triggering support
- Currently not working, possibly in the mixer there's a bug
- Implemented the publishing of actuator_controls_1 uORB topic
- Implemented the test command for the payload_drop module, to test the
grpiper functionality
- Edited px4board file to include the payload_drop module
- Added Holybro X500 V2 airframe file, to enable testing on X500 V2
- Created new Quad X Payload Delivery mixer, which maps the actuator
controls 1 topic's data into the MAIN pin 5 output
Make Payload Drop Gripper Work
- Initialization of the Gripper position to CLOSED on Constructor of the
payload_drop module
- Setting the OPEN and CLOSED value to the appropriate actuator controls
input
Set vehicle_command_ack message's timestamp correctly
- By not setting the timestamp, the ack commands were not correctly
graphed in PlotJuggler!
Rename payload drop module to payload deliverer
- I think it's a more complex name (harder to type), but more generic
Add Gripper class (WIP)
Add Gripper class functionalities
- Add gripper uORB message
- Add gripper state machine
Use Gripper class as main interface in payload_deliverer
- Utilizes Gripper class functions for doing Gripper functionality
Remove mixer based package delivery trigger logic
- Remove custom mixer files that mapped actuator controls to outputs
statically
Additional improvements of the payload_deliverer
Fix payload_deliverer module not starting
- _task_id wasn't geting set appropriately in task_spawn function, which
led to runtime failure
Add Gripper Function to mixer_module
- Still not showing up as function mapping in QGC, needs fix
Add parameters to control gripper behavior
- Now user can enable / disable gripper
- Also select which type of gripper to use
Applying review from nuno
Remove timeout fetching from mission item and use gripper's timeout
- Previously, it was planned to use a custom DO_GRIPPER and DO_WINCH
MAVLink message definitions with information on timeout, but since now
we are using original message definition, only relevant timeout
information is defined in the payload_deliverer class
- This change brings in the timeout parameter to the Navigator, which
then sets the timeout in the mission_block class level, which then
processes the timeout logic
Make payload deployment work for Allmend test :P
Support gripper open/close test commands in payload_deliverer
Move enum definition for GRIPPER_ACTION to vehicle_command.msg
Remove double call for ` ${R}etc/init.d/rc.vehicle_setup`
- Was introduced during the rebase
- Was causing module already running & uORB topic can't be advertised
errors
Fix format via `make format` command
Modify S500 airframe file to use for control allocation usage
- Added Control allocation related parameters as default to not have it
reset every time the airframe is selected
Implement mission specific payload deploy timeout and more changes
Switch payload_deliverer to run on work queue
Remove unnecessary files
- Airframe changes from enabling control allocation are removed
Address review comments
- Remove debug messages
- Remove unnecessary or verbose comments & code
- Properly call parameter_update() function
Switch payload_deliverer to scheduled interval work item & refactor
- Switch to Schedeuled on Interval Work Item, as previous vehicle
command subscription callback based behavior led to vehicle comamnd ack
not being sent accordingly (since the Run() wouldn't be called unless
there's a new vehicle command), leading to ack command not being sent
out
- Also, old vehicle commands were getting fetched due to the
subscription callback as well, which was removed with this patch
- Fix the wrong population of floating point param2 field of vehicle
command by int8_t type gripper action by creating dedicated function
- Refactor and add comments to increase readability
Add gripper::grabbing() method and handle this in parameter update
- Previously, the intermediate state 'grabbing' was not considered, and
when the parameter update was called after the first initialization of
the gripper, the grab() function was being called again, which would
produce unnecessary duplicate vehicle command.
- Also replaced direct .grab() access to sending vehicle comamnd, which
unifies the gripper actuation mechanism through vehicle commands.
Navigator: Change SubscriptionData to Subscription to reduce memory usage
- Also removed unused vehicle command ack sub
PayloadDeliverer: Remove unnecessary changes & Bring back vehicle_command sub cb
2022-09-07 08:11:52 +02:00
Matthias Grob
e115095f70
Functions: correct interpolate function for N points
2022-09-07 08:00:27 +02:00
Beat Küng
4087c27e84
control_allocator: handle saturation flags for helicopters
2022-09-07 08:00:27 +02:00
alexklimaj
aa8d594e9b
Add heli servo trim
2022-09-07 08:00:27 +02:00
Matthias Grob
667e99be81
Helicopter: fix unit test after default throttle curve was changed
2022-09-07 08:00:27 +02:00
Matthias Grob
115cf4d572
Helicopter: More intuitive yaw direction configuration for the common cases
2022-09-07 08:00:27 +02:00
Matthias Grob
f233f2167e
generic_250, px4vision: remove zero manual thrust without airmode
...
When hitting zero thrust by stick there is 0 torque authority
without airmode. So 0% minimum manual thrust should never be the default
without airmode.
2022-09-07 08:00:27 +02:00
Matthias Grob
8a25d06ed7
heli_defaults: comment and spacing
2022-09-07 08:00:26 +02:00
Beat Küng
cecef7e3f6
control_allocator: update heli throttle + collective curve defaults
2022-09-07 08:00:26 +02:00
Beat Küng
d38c02fd6a
commander: increase maximum COM_SPOOLUP_TIME to 30s (for helis)
2022-09-07 08:00:26 +02:00
Beat Küng
2635e2c386
airframes: replace blade with generic helicopter
2022-09-07 08:00:26 +02:00
Beat Küng
7e75b497ae
helicopter: add switch to engage main motor
...
For helicopters it's useful (e.g. during bringup) to be able to disable
the main rotor while the tail is still controlled to safely land.
2022-09-07 08:00:26 +02:00
Matthias Grob
f32d931117
helicopter: add yaw sign parameter & expose settings in UI
2022-09-07 08:00:26 +02:00
Matthias Grob
349f152601
Helicopter: throttle spoolup upon arming
...
Uses COM_SPOOLUP_TIME to slowly ramp the throttle and allow the
tailrotor to compensate in a coordinated way based on the yaw
compesation from throttle, see CA_HELI_YAW_TH_S.
This coordinated spoolup is necessary to avoid unsafe yaw twitches
because of the heli rotating until the correct compensation kicks in
through the feedback controller.
2022-09-07 08:00:26 +02:00
Matthias Grob
7bf62373ae
Helicopter: refactor complicated throttle curve logic
2022-09-07 08:00:26 +02:00
Matthias Grob
2edb35b1b5
Functions: add gradual function with arbitrary number of corner points
2022-09-07 08:00:26 +02:00
Matthias Grob
6a9a049f1e
Helicopter: add unit testing for throttle curve
2022-09-07 08:00:26 +02:00
Matthias Grob
9ba6f4efb7
Helicopter: add yaw compensation from throttle CA_HELI_YAW_TH_S
2022-09-07 08:00:26 +02:00
Matthias Grob
554d965a2d
Helicopter: use absolute value for yaw compensation from collective pitch
2022-09-07 08:00:26 +02:00
Beat Küng
608ab9ff9c
control_allocator: extend description for CA_SP0_ANGx
2022-09-07 08:00:25 +02:00
Beat Küng
e346190e63
helicopter: use tail motor & add CA_HELI_YAW_CP_S
2022-09-07 08:00:25 +02:00
Julian Oes
5ece24cdc4
setup: attempt to fix macOS CI
...
Somehow the wheel install of pymavlink fails without future, let's try
to work around that.
2022-09-07 13:49:37 +12:00
Peter van der Perk
8f0c2f4146
UCANS32K1 Enable some sensors by default
2022-09-06 09:43:11 -04:00
bresch
92fbd86b46
ekf2: add gps altitude drift test
2022-09-05 10:28:37 -04:00
bresch
a2a5093881
ekf2: relax zero velocity update
...
The ZVU is too strong and prevents the EKF from following variations in
the height aiding sources, creating large innovations.
2022-09-05 10:28:37 -04:00
Daniel Agar
d996af4647
ekf2: pass gpsSample around where required
...
- this minimizes potential misuse accessing _gps_sample_delayed and
makes the dependency clear
2022-09-05 10:27:19 -04:00
RomanBapst
0c860fa227
airspeed_selector: don't declare wind estimate valid if estmator is not initialised
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2022-09-05 10:21:38 -04:00
Ville Juven
9ed35debec
board_ctrl: Clean up usage of VBUS, nARMED from user/kernelspace
...
Move logic implemented in the header files to source files, this way
it will be simpler to define which is compiled to kernel space and
which to user space
Also allows to remove some headers that pull in half the universe
from the board definitions (which should just be pin definitions and
no functionality)
2022-09-05 07:37:28 +02:00
Benjamin Perseghetti
a56f654651
Multi-Vehicle Ignition Gazebo Simulation ( #20154 )
2022-09-04 21:10:29 -04:00
Daniel Agar
7bbdc220f5
ekf2: initialiseFilter() simplify mag heading init and resetQuatStateYaw
...
- most of resetQuatStateYaw doesn't apply to initial heading init, so
removing the special case keeps it simple
2022-09-02 08:46:10 -04:00
Ville Juven
e467d11990
boards/px4/fmu-v5/toc: The RD certificate signature points to the wrong place
...
The signature end address is incorrect
2022-09-02 08:00:27 +02:00
Daniel Agar
5dfd2f39ef
boards/cubepilot/cubeorange: initialize all I2C pins immediately
2022-09-01 20:46:09 -04:00
Daniel Agar
e93a3a2a3a
ak09916: enable retries and reset perf count
2022-09-01 20:45:20 -04:00
Daniel Agar
f66b5ce204
simulation: ignition bridge allow IMU or pose callbacks to update system time if newer than clock
...
* requires HRT lockstep changes to eliminate offset (PR #20146 )
2022-09-01 20:42:21 -04:00
Daniel Agar
c52f2143d2
posix lockstep remove HRT offset and use full sim time
2022-09-01 20:40:37 -04:00
Daniel Agar
3da0293369
simulator_ignition_bridge: init error handling
2022-09-01 18:54:59 -04:00
Beat Küng
43c5f14aa0
commander: update arming & health protocol, add modes to event hash
2022-09-01 17:07:23 -04:00
Beat Küng
f57321d365
simulator_mavlink: fix esc_status publication
2022-09-01 17:07:23 -04:00
Beat Küng
295caaea60
events/enums.json: remove redundant manual_control_input
2022-09-01 17:07:23 -04:00
Beat Küng
2c96bb3746
px4_parameters.hpp.jinja: explicitly set .name attribute
...
Fixes the compile error on llvm:
mixture of designated and non-designated initializers in the same initializer list is a C99 extension [-Wc99-designator]
2022-09-01 17:07:23 -04:00
Beat Küng
1370cc0d74
log.h: add PRINTF_LOG option for direct printf to reduce dependencies
2022-09-01 17:07:23 -04:00
Beat Küng
a9c1415337
Makefile: allow to set CMAKE_ARGS via CLI
2022-09-01 17:07:23 -04:00
Beat Küng
4e940fab83
perf_counter: remove unused include sys/queue.h
2022-09-01 17:07:23 -04:00
Beat Küng
9eff6dd049
commander: cleanup param value description for COM_POSCTL_NAVL
2022-09-01 17:07:23 -04:00
Beat Küng
0e130eac83
refactor commander: move code inside run() into separate methods
2022-09-01 17:07:23 -04:00
Beat Küng
dcb9b712bb
refactor commander: move vehicle control mode to ModeUtil
2022-09-01 17:07:23 -04:00
Beat Küng
f197c8884d
commander: move esc checks to arming check
2022-09-01 17:07:23 -04:00
Beat Küng
c9037f115b
refactor commander: split out home position
2022-09-01 17:07:23 -04:00
Beat Küng
f17f38197d
commander: move estimator checks to arming check
2022-09-01 17:07:23 -04:00
Beat Küng
cfe3d793bf
commander: move battery handling into arming checks
2022-09-01 17:07:23 -04:00
Daniel Agar
5cb44a521c
ekf2: estimator interface handle sample time with signed integers
...
- this prevents unsigned integer overflow if the timestamp is smaller
than the configured delay (mostly a simulation edge case)
2022-09-01 09:47:29 -04:00
dagar
75f6f22223
[AUTO COMMIT] update change indication
2022-08-31 08:52:30 -04:00
Daniel Agar
1948c5057a
ekf2: handle all time on delayed horizon (except for newest sample checks)
...
- a growing number of samples come into the backend with the time
already delayed (sensor's interrupt setting timestamp sample)
- if the incoming timestamp is already delayed then the new data checks
(relative to latest IMU) can be slightly wrong
- handle almost all timestamps and checks on delayed time horizon,
except for explicit checks of new samples
- isRecent() and isTimedOut() helpers use delayed time
- add new isNewestSampleRecent() used for checking the incoming
timestamp of the incoming (adjusted) data
2022-08-31 08:52:30 -04:00
Jukka Laitinen
d6a4e158cf
Add call-gates to px4_crypto for protected build
...
This adds kernel-userspace interfaces to crypto layer
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-08-31 09:48:49 +02:00
Beat Küng
d681782c7f
fix flashfs: find_entry: do not go to the next sector if the CRC is invalid
2022-08-31 09:42:59 +02:00
Beat Küng
4f52cda504
flashfs: ensure no address past the end of a sector is dereferenced
...
As it might result in a hardfault if it's the last flash sector.
2022-08-31 09:42:59 +02:00
Beat Küng
2776b723ea
holybro/kakuteh7: switch to flash-based params
2022-08-31 09:42:59 +02:00
Hamish Willee
e780a583cd
Fix typo follow height: FLW_TGT_HT
2022-08-29 13:25:35 +02:00
Ben Berry
734d3e4aa0
Reverted changes that broke Level Horizon calibration
2022-08-29 09:54:36 +02:00
Beat Küng
afc99749b8
px4/fmu-v5/uavcanv0perith: disable gps to reduce flash usage
2022-08-25 22:02:15 -04:00
Beat Küng
715afd27f5
ROMFS: exclude mixers on v2 & disable mixer command
...
The dynamic mixing is now the default
2022-08-25 22:02:15 -04:00
Beat Küng
f0295cf596
px4/fmu-v2/defconfig: disable PROCFS
...
Reduces flash usage by ~7.3KB
2022-08-25 22:02:15 -04:00
Beat Küng
ad222760dd
platforms: move CONFIG_FS_PROCFS_MAX_TASKS definition to cpuload.h
...
So it's used for both cases
2022-08-25 22:02:15 -04:00
Beat Küng
70ec3493c5
px4/fmu-v5/stackcheck: disable distance sensors to reduce flash
2022-08-25 22:02:15 -04:00
Beat Küng
666b84027d
GyroFFT: disable 4096 for IMU_GYRO_FFT_LEN
...
saves around 10.5KB flash on px4-fmu-v5
2022-08-25 22:02:15 -04:00
Beat Küng
060738cae1
src: avoid use of double precision pow & exp
...
saves around 5KB flash on px4-fmu-v5
2022-08-25 22:02:15 -04:00
Beat Küng
983a9815eb
libevents: update submodule
2022-08-25 22:02:15 -04:00
Beat Küng
4c41934bb4
commander: inline HealthComponentIndex::HealthComponentIndex
...
Saves around 1KB flash
2022-08-25 22:02:15 -04:00
Beat Küng
1c89b0c9c8
commander: use actuator_function for ESC reporting
2022-08-25 22:02:15 -04:00
Beat Küng
13c93db11a
commander: use circuit breaker params directly in arming checks
2022-08-25 22:02:15 -04:00
Beat Küng
4230eee24f
commander: print 'ready for takeoff' to console for sitl after startup
2022-08-25 22:02:15 -04:00
Beat Küng
2fccb576ad
commander: remove unused includes and variables
2022-08-25 22:02:15 -04:00
Beat Küng
dbb814ff24
HealthAndArmingChecks: CONSOLE_PRINT_ARMING_CHECK_EVENT & reduce flash usage
...
- print list of events whenever they change if
CONSOLE_PRINT_ARMING_CHECK_EVENT is set, instead of on each update call
- reduce flash usage by moving out templated code into non-template method
2022-08-25 22:02:15 -04:00
Beat Küng
b2cb164c12
commander: replace health flags with health_report from arming checks
2022-08-25 22:02:15 -04:00
Beat Küng
6d1fb92eb7
commander: rework arming checks to use the events interface
2022-08-25 22:02:15 -04:00
Beat Küng
b4a3597c7d
posix rcS: set PWM_AUX_OUT
...
Prevents a shell error in rc.interface
2022-08-25 22:02:15 -04:00
Beat Küng
b3fe0eeae8
mavlink_events: send reset sequence out immediately on startup
2022-08-25 22:02:15 -04:00
Beat Küng
552d08176f
posix rcS: set MAV_PROTO_VER to 2
...
For SITL it's important that the GCS receives the first events messages
that reset the sequence number, in case the user does not press 'Disconnect'
when restarting SITL.
2022-08-25 22:02:15 -04:00
Beat Küng
c7b64e3c01
commander: check for ack when calling 'commander takeoff'
2022-08-25 22:02:15 -04:00
Beat Küng
406b0bbc86
commander: handle VEHICLE_CMD_RUN_PREARM_CHECKS
2022-08-25 22:02:15 -04:00
Beat Küng
8f9be0541f
HealthAndArmingChecks: add support for legacy mavlink_log reporting
2022-08-25 22:02:15 -04:00
Beat Küng
f23363f88c
HealthAndArmingChecks: add unit tests for Report
2022-08-25 22:02:15 -04:00
Beat Küng
2507f0a143
px4events: fix known_groups list
2022-08-25 22:02:15 -04:00
Beat Küng
fcadc69e52
mavlink_receiver: set timestamp to gps_inject_data_topic
2022-08-25 22:02:15 -04:00
Beat Küng
c95192d050
orb_print_message_internal: handle 64 bit bitsets
2022-08-25 22:02:15 -04:00
Beat Küng
b7a6de05df
arming checks: add health topic
2022-08-25 22:02:15 -04:00
Beat Küng
07afcf4586
commander preflight checks: new structure using events interface
...
- Reporter class that keeps track of results (list of events + whether
arming is possible + health).
And only reports when one or more checks change.
2022-08-25 22:02:15 -04:00
Beat Küng
04f7df3848
SubscriptionMultiArray: use Subscription instead of SubscriptionInterval
...
Saves ~3KB RAM on fmu-v5.
2022-08-25 22:02:15 -04:00
Daniel Agar
9b0b0d1168
ekf2: update test change indication csv
2022-08-25 15:55:45 -04:00
Ville Juven
f60f6d2425
Remove px4_work_queue from the kernel side LD command
...
The comment is right, it is not needed -> get rid of it
2022-08-25 13:30:11 -04:00
Daniel Agar
2786239ca6
Jenkinsfile: HIL remove delete airframe from test
2022-08-25 09:48:49 -04:00
Benjamin Perseghetti
02c9ec6085
Add thumbnails for x500.
2022-08-25 09:10:03 -04:00
Benjamin Perseghetti
0e8e38e698
Add x500 ignition (replaces x3)
2022-08-25 09:10:03 -04:00
Daniel Agar
4040e4cdf2
simulation organization and cleanup
...
- new modules/simulation directory to collect all simulators and related modules
- new Tools/simulation directory to collect and organize scattered simulation submodules, scripts, etc
- simulation module renamed to simulator_mavlink
- sih renamed to simulator_sih (not a great name, but I wanted to be clear it was a simulator)
- ignition_simulator renamed to simulator_ignition_bridge
- large sitl_target.cmake split by simulation option and in some cases pushed to appropriate modules
- sitl targets broken down to what's actually available (eg jmavsim only has 1 model and 1 world)
- new Gazebo consistently referred to as Ignition for now (probably the least confusing thing until we fully drop Gazebo classic support someday)
2022-08-25 09:10:03 -04:00
David Sidrane
6b2509cbba
px4_fmu-v6c Move I2C 4 to External
2022-08-25 08:46:51 -04:00
FARHANG
8b4df8ceb2
airframes: re-add Holybro X500v2 with dynamic control allocation
2022-08-25 07:52:18 +02:00
Jukka Laitinen
f8f1213841
board_adc: Small fix for printf formatter
...
Print sizeof type with %zu to be compatible with 64 bit targets, where it is unsigned long
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-08-25 07:50:23 +02:00
bresch
0061ef8b89
[AUTO COMMIT] update change indication
2022-08-24 09:16:11 -04:00
bresch
090d03eea2
ekf2: publish GNSS, rng and EV height biases
2022-08-24 09:16:11 -04:00
bresch
a2a29ba0dd
ekf2: verify parameter configuration for height sources
2022-08-24 09:16:11 -04:00
bresch
8dd5d0d1a3
ekf2: don't reset height when in conditional range aiding
2022-08-24 09:16:11 -04:00
bresch
20cd599bb7
ekf2: fix param migration
2022-08-24 09:16:11 -04:00
bresch
2d39097f60
ekf2: move rng height to file
2022-08-24 09:16:11 -04:00
bresch
28b4cd0579
ekf2: move GNSS hgt control to file
2022-08-24 09:16:11 -04:00
bresch
b6f76b5eaa
ekf2: move ev control to file
2022-08-24 09:16:11 -04:00
bresch
f555281c94
ekf2: move height control-related function to file
2022-08-24 09:16:11 -04:00
bresch
d87feee5b0
ekf2: move baro control logic to file
2022-08-24 09:16:11 -04:00
bresch
12e25eba62
ekf2: add common height fusion timeout parameter
2022-08-24 09:16:11 -04:00
bresch
52f726c5b7
ekf2: in bias estimator, use psd instead of var for prediction
...
PSD is independent from the sampling time while variance isn't
2022-08-24 09:16:11 -04:00
bresch
b04d61c411
ekf2: param migration for rng aid, aid mask (gps) and hgt mode
2022-08-24 09:16:11 -04:00
bresch
3fb218600a
ekf2_test: add multi height source unit tests
2022-08-24 09:16:11 -04:00
bresch
aba2eac0df
ekf2: publish GNSS, rng and EV height biases
2022-08-24 09:16:11 -04:00
bresch
6833c7e311
ekf2: adjust ekf2 aid parameters in configs
2022-08-24 09:16:11 -04:00
bresch
8962cf2d25
ekf2: GPS, baro and range finder control parameters
...
Also remove the legacy "range aid" than can be achieved by setting the
height reference to range finder and the range finder control parameter
to "conditional".
Conditional range aiding cal also be set when the height reference isn't
the range finder. This prevents the ratchetting effect due to switching
between references.
2022-08-24 09:16:11 -04:00
bresch
578e1339ca
ekf2: re-implement range aid
...
range aid simply forces the range finder to be the height reference when
starting
2022-08-24 09:16:11 -04:00
bresch
88ac5ea210
ekf2_test: add test case for accel clipping handling
2022-08-24 09:16:11 -04:00
bresch
375753eba8
ekf2_test: add inertial nav falling detection tests
2022-08-24 09:16:11 -04:00
bresch
66ce1a002b
ekf2_test: rename VisionHeight -> ExternalVisionHeight
2022-08-24 09:16:11 -04:00
bresch
82ec7a495a
ekf2: refactor inertial nav falling check
2022-08-24 09:16:11 -04:00
bresch
f9188b2a14
ekf2: refactor vertical acceleration check for multiple height sources
2022-08-24 09:16:11 -04:00
bresch
8fd79688c0
ekf2: enable multiple height sources fusion
...
Instead of having a single height source fused into the EKF and the
other ones "waiting" for a failure or the primary sensor, fuse all
sources in EKF2 at the same time. To prevent the sources from fighting against each
other, the "primary" source is set as reference and the other ones are
running a bias estimator in order to make all the secondary height
sources converge to the primary one.
If the reference isn't available, another one is automatically selected
from a priority list. This secondary reference keeps its current bias
estimate but stops updating it in order to be the new reference as close
as possible to the primary one.
2022-08-24 09:16:11 -04:00
bresch
f5f31006a0
Ekf2: create HeightBiasEstimator class
...
Contains some logic common to all height bias estimators
2022-08-24 09:16:11 -04:00
JacobCrabill
57125a4c8f
cyphal: Fix FMUv5 config; throw error if no CAN driver exists
2022-08-23 21:24:24 -04:00
huiyulhy
c81efd0174
Fix velocity smoothing functional test
2022-08-23 21:11:35 -04:00
Beat Küng
7b810bb776
boards: update px4 io binary
2022-08-23 21:07:18 -04:00
Beat Küng
b260df711c
Makefile: force serial build for px4io_update
2022-08-23 21:07:18 -04:00
Beat Küng
bae275898b
rc/sbus: restart parser after sucessful decoding & increase time limit
...
Instead of directly passing the next packet to the parser after successful
parsing, switch the state to SBUS2_DECODE_STATE_SBUS_START and search for
the start byte again.
The timeout is increased as the IO main loop also takes a bit of time
(max ~0.7ms).
Tested on v5x with Futaba R7008SB (60Hz update rate) and FrSky X8R (111Hz
update rate).
Background:
When using the Futaba R7008SB, I noticed there's additional bytes added in
between packets. Often it's a null byte, but sometimes more. There's some
consistency but I did not find any documentation for it.
Sample data:
a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 34 00 0f 05 ec
1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 04 00 c0 8b
00 0f 04 ec 1f a8 fb 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00
14 00 0f 04 ec 1f a8 fb 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80
00 24 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10
80 00 34 00 0f 05 ec 1f 30 60 bf 1c bd 07 16 5b 81 05 d4 a0 06 20 00 01 08
40 00 02 10 80 00 34 00 0f 07 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01
08 40 00 02 10 80 00 04 00 03 c0 31 00 0f 05 fc 1f a8 fb 07 16 5b 81 05 d4
a0 06 20 00 01 08 40 00 02 10 80 00 14 00 0f 05 fc 1f a8 fb 07 16 5b 81 05
d4 a0 06 20 00 01 08 40 00 02 10 80 00 24 00 0f 04 ec 1f a8 fd 07 16 5b 81
05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 34 00 0f 04 ec 1f a8 fd 07 16 5b
81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 04 00 03 c4 00 00 0f 04 ec 1f
a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 14 00 0f 04 ec
1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 24 00 0f 04
ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 34 00 0f
05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 04 00
03 c0 31 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02
10 80 00 14 00 0f 05 fc 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00
02 10 80 00 24 00 0f 05 fc 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40
00 02 10 80 00 34 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08
40 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80
00 04 00 03 c0 31 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08
40 00 02 10 80 00 14 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01
08 40 00 02 10 80 00 24 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00
01 08 40 00 02 10 80 00 34 00 0f 05 f4 1f a8 fb 07 16 5b 81 05 d4 a0 06 20
00 01 08 40 00 02 10 80 00 04 00 03 c4 00 00 b0 60 7f 1c bd 07 16 5b 81 05
d4 a0 06 20 00 01 08 40 00 02 10 80 00 14 00 0f 05 ec 1f a8 fd 07 16 5b 81
05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 24 00 0f 05 ec 1f a8 fd 07 16 5b
81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 34 00 0f 05 ec 1f a8 fb 07 16
5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 04 00 03 c0 31 00 b0 60 bf
1c bd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 14 00 0f 04 f4
1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 24 00 30 70
7f 1c bd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 34 00 0f 05
f4 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10 80 00 04 00 03
c4 00 00 0f 05 fc 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01 08 40 00 02 10
80 00 14 00 0f 05 ec 1f b0 60 bf 1c bd 07 16 5b 81 05 d4 a0 06 20 00 01 08
40 00 02 10 80 00 14 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00 01
08 40 00 02 10 80 00 24 00 0f 05 ec 1f a8 fd 07 16 5b 81 05 d4 a0 06 20 00
This was causing the parser to skip entire packets resulting in an update
rate of ~31Hz on the FMU side.
With this patch the update rate increases to 42-48Hz.
The investigation was triggered by an RC glitch with a packet containing
random channel data. It's likely, although not completely verified that
the frequent desync randomly happend to pass the CRC check with garbage
data.
2022-08-23 21:07:18 -04:00
Daniel Agar
b58f70726f
ekf2: scale delta angle and delta velocity bias to particular IMU sample
2022-08-23 21:06:13 -04:00
Ville Juven
213d5dac2a
platforms/nuttx: Fix hard coded path for karch library
...
Use CONFIG_ARCH instead of arm
2022-08-23 21:05:41 -04:00
Ville Juven
4f6d523c95
mixer_module: Fix linking of mixer_module
...
The module has a hard dependency on mixer library, so link them together
2022-08-23 21:04:58 -04:00
bresch
f89044cfbe
ekf2: fix replay EKF2 start when CONSTRAINED_FLASH
2022-08-23 11:14:15 -04:00
modaltb
40149ecabc
boards: modalai_fc-v2 configure SPI6, disable unused SPI3/4 ( #20093 )
2022-08-22 20:58:44 -04:00
alexklimaj
913bae9924
Revert "drivers/uavcan: update libuavcan"
...
This reverts commit deb938fcea .
2022-08-22 20:57:06 -04:00
Daniel Agar
cfc579542e
new Ignition Gazebo simulation interface architecture ( #20057 )
...
- much simpler direct interface using Ignition Transport
- in tree models and worlds
- control allocation output configuration, no more magic actuator mapping to mavlink and back
- currently requires no custom Gazebo plugins (keeping things as lightweight and simple as possible)
Co-authored-by: Jaeyoung-Lim <jalim@ethz.ch >
2022-08-22 10:58:19 -04:00
Silvan Fuhrer
889a2fddea
FW Position Control: remove unnsed params
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 19:06:07 +02:00
Silvan Fuhrer
e3e021a1c2
FW Attitude Control: rename att_control to angular_acceleration_setpoint
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
e595952ed4
FW Attitude Control: add @brief, @param and @return for control_attitude()
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
f67d80460f
FW Attitude controller: update copyright headers
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Jaeyoung Lim
bcdf61b65f
Fix format
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
b87afb138c
Update src/modules/fw_att_control/FixedwingAttitudeControl.cpp
...
reduce code duplication
Co-authored-by: Mathieu Bresciani <brescianimathieu@gmail.com >
2022-08-19 09:40:48 +02:00
Jaeyoung Lim
70134296ed
Fix parameter description from review comments
...
This commit makes the parameter description of the fixewing attitude controller more descriptive
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
70d7070307
ROMFS: plane airframe: make tuning tighter
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
c54f62e17a
FW attitude control: fix ff terms and constrain outputs to (-1, 1)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
dadd4f39ad
FW attitude control: fix yaw rate publishing
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
6724e4af26
FW attitude control: manual stick input sets yaw rate setpoint, not rudder directly
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
22067a1128
FW attitude control: set FF gains for rate controller to 0 as FF controls is handles outside
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
57e052d02d
FW attitdue controller: use allocator status for anti-windup
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
6aab44e425
ControlAllocator: publish allocator_status from all active matrices (2 for VTOL, otherwise 1)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
a9b848cae3
FW attitue controller: fix publishing of rate controller status
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
5a2127d026
fixed-wing: update rate controller integrator handling
...
-always reset roll/pitch/yaw integrators at the same time
-reset them while waiting for launch or during FW Takeoff before Climbout
-reset wheel rate integrator only when disarmed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
cd080289c6
FW attitude controller: constrain rates correctly
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
15c95a7b6a
FW attitude controller: improve readability and fix euler rate sp vs. body rate sp
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Silvan Fuhrer
e0a998e6ad
FW attitude controller: remove unused control_input.scaler
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Jaeyoung Lim
33d068cfb2
Added feedforward terms in fw att control
2022-08-19 09:40:48 +02:00
Jaeyoung Lim
958c61dbba
Populate rate control setpoints properly
2022-08-19 09:40:48 +02:00
JaeyoungLim
6f24f4cd1c
Update src/modules/fw_att_control/fw_att_control_params.c
...
Co-authored-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-19 09:40:48 +02:00
Jaeyoung Lim
dcff481219
Map derivative gains for rate controls
2022-08-19 09:40:48 +02:00
Jaeyoung-Lim
f2877ce585
Replace rate controller with RateControlLibrary
...
This commit makes the fw attitude controller take share the rate controller as a library with the mc_rate_control module
2022-08-19 09:40:48 +02:00
Thomas Debrunner
44a18acd51
Fix race condition in px4io serial driver ( #20005 )
...
* px4io: prevent memory corruption on corrput io data
* px4io_serial: Prevent race between handling wait timeout case and interrupt posting semaphore
2022-08-18 17:46:47 +02:00
bresch
02c4e0361c
MCPosControl: fix horizontal anti-reset windup algirithm
...
Since the horizontal and vertical velocity controllers are now
decoupled, it can be that the horizontal acceleration produced by the
controller is actually greater than the desired one (by design). This
condition would actually make the ARW run "backwards", degrading the
controller performance.
2022-08-18 14:19:10 +02:00
mcsauder
87a5705960
Rename math::gradual() to math::interpolate() and add unit tests to cover additional corner cases.
2022-08-18 14:18:02 +02:00
bresch
021b23826d
wind_replay: allow estimated local vel and GNSS vel sources
...
local vel by default, set --gnss to use GNSS vel instead
2022-08-18 14:09:23 +02:00
bresch
be6acb0a68
wind_est: add python script to replay wind estimator equations
2022-08-18 14:09:23 +02:00
bresch
4d21c90cbb
wind_est: generate wind estimator equations for python use
2022-08-18 14:09:23 +02:00
Kalyan Sriram
deb938fcea
drivers/uavcan: update libuavcan
2022-08-16 11:05:51 -04:00
Daniel Agar
1c72f86761
Update src/drivers/imu/analog_devices/adis16470/ADIS16470.cpp
...
Co-authored-by: Kabir Mohammed <kabir@corvus-robotics.com >
2022-08-16 08:40:43 -04:00
Daniel Agar
49d87f1907
adis16470: fix accel and gyro scaling
2022-08-16 08:40:43 -04:00
bresch
616b5689ba
Python: move symforce to optional requirements
...
symforce requires python 3.8 which isn't available by default on ubuntu
18.04.
2022-08-15 21:14:07 -04:00
Silvan Fuhrer
a7a8daaf4d
ROMFS: tiltrotor sitl config: some small tuning improvements in hover
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-16 02:48:44 +02:00
Silvan Fuhrer
771dbf9395
ROMFS: tiltrotor sitl config: adapt CA params to new output indexes
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-16 02:48:44 +02:00
Silvan Fuhrer
09f83016c9
update sitl_gazebo (tiltrotor index fixes)
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-16 02:48:44 +02:00
Junwoo Hwang
d7a962b426
mavlink: fix PX4_DEBUG message formats
2022-08-12 09:43:12 +02:00
Junwoo Hwang
0c218e6628
atl/mantis-edu: enable mavlink ftp
2022-08-12 09:43:12 +02:00
Silvan Fuhrer
ffb8fb4383
Allocation: add SteeringWheel type control surface
...
Directly use yaw controls for it, and don't add it to the allocation matrix,
as that would have an effect on rudder scaling if the wheel also would have
a yaw effectiveness.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-12 09:43:12 +02:00
Silvan Fuhrer
9e18b351bc
Allocation: add Single Channel Aileron to CS types
...
This is the control surface type for airframes that have only a
single aileron servo or have the ailerons on a single output channel.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-12 09:43:12 +02:00
Silvan Fuhrer
c6d1b1f50f
Allocation: add A-tail servo type
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-08-12 09:43:12 +02:00
Beat Küng
f454dcef6b
ROMFS: set control allocation parameters for airframes
...
Removes some airframes:
- 1000_rc_fw_easystar.hil
- 10015_tbs_discovery
- 10016_3dr_iris
- 10018_tbs_endurance
- 13001_caipirinha_vtol
- 13002_firefly6
- 13003_quad_tailsitter
- 13004_quad+_tailsitter
- 13005_vtol_AAERT_quad
- 13006_vtol_standard_delta
- 13007_vtol_AAVVT_quad
- 13008_QuadRanger
- 13009_vtol_spt_ranger
- 13012_convergence
- 13050_generic_vtol_octo
- 14001_tri_y_yaw+
- 14002_tri_y_yaw-
- 15001_coax_heli
- 2105_maja
- 2200_mini_talon
- 3031_phantom
- 3032_skywalker_x5
- 3033_wingwing
- 3036_pigeon
- 3100_tbs_caipirinha
- 4003_qavr5
- 4009_qav250
- 4019_x500_v2
- 4030_3dr_solo
- 4031_3dr_quad
- 4051_s250aq
- 4072_draco
- 4080_zmr250
- 4090_nanomind
- 4100_tiltquadrotor
- 50003_aion_robotics_r1_rover
2022-08-12 09:43:12 +02:00
Beat Küng
4d60fadc05
ROMFS: set control allocation parameters for sitl airframes
...
Removes some airframes:
- if750a
- solo
- iris_ctrlalloc
- typhoon_h480_ctrlalloc
2022-08-12 09:43:12 +02:00
Beat Küng
f2db7b8deb
control_allocator: hide motor positions for fixed-wings
...
should not be set for now
2022-08-12 09:43:12 +02:00
Beat Küng
923a90d78b
control_allocator: set default control surface type to (not set)
...
Before it was set to left aileron, but the torque values were all 0.
2022-08-12 09:43:12 +02:00
Beat Küng
720cf5a485
config: enable dynamic control allocation by default (SYS_CTRL_ALLOC=1)
2022-08-12 09:43:12 +02:00
Oleg
6ea3c6a7d2
mavlink_ftp: fix to correctly trim reply messages
...
Clear any not used payload data to correctly trim mavlink ftp message reply to avoid sending long ACK and NACK messages.
2022-08-12 08:53:33 +02:00
David Sidrane
cd971948da
NuttX Backport critical F7 Ethernet issues
2022-08-12 08:22:55 +02:00
Matthias Grob
1f81101994
mc_att_control_main: do not jump throttle scaling when taking off
...
2fbb70d9ca made the lowest possible
throttle value commanded by stick in Stabilized mode before taking off 0.
The real world problem with this is that when takeoff is detected then
the entire throttle scaling range jumps from
[0, MPC_MANTHR_MIN]
to [MPC_MANTHR_MIN, MPC_MANTHR_MIN].
As a result whenever MPC_MANTHR_MIN is not zero there is a thrust jump
on every takeoff just at the moment takeoff is detected even when the
stick is moved continuously.
Because of this I suggest to revert to having a higher throttle value
from the beginning on because it's less complicated and there's
no obvious value in starting out with zero thrust if anyways not
possible to go back to zero for safety once takeoff is detected.
2022-08-11 14:18:54 +02:00
Matthias Grob
5b1b6f6080
mc_att_control_main: use gradual() for throttle curve rescale without hover thrust
2022-08-11 14:18:54 +02:00
Matthias Grob
7cb6a47714
TIME_ESTIMATE_TO_TARGET: fill unsupported fields with value representing unavailability
2022-08-11 07:27:04 +02:00