Commit Graph
41259 Commits
Author SHA1 Message Date
Junwoo Hwang 4b33632615 Only command Gripper grab when we are actually initializing gripper
- Previously, on every parameter update, gripper grab was being
commanded
- This commit narrows that scope to only when we are actually
initializing the gripper
2022-10-07 12:23:56 +02:00
Junwoo Hwang 5b94731f35 payload_deliverer & gripper: Improve intermediate state & vcmd_ack
Gripper:
- Don't command gripper (via uORB `gripper` topic, which maps into an
actuator via Control Allocation) if we are already at the state we want
(e.g. Grabbed / Released) or in the intermediate state to the state we
want -> This prevents spamming on `gripper` topic

Payload Deliverer:
- Add read-once function for Gripper's released / grabbed state
- Send vehicle_command_ack for both release/grab actions.

TODO: target_system & target_component for the released/grabbed vcmd_ack
is incomplete, since we are not keeping track of the vehicle_command
that corresponds to this. This needs to be dealt with in the future, not
sure what the best solution it is for now.

Possible solutions:
- Queue-ing the vehicle command?
- Tying the gripper's action to specific vehicle command one-on-one, to make sure if we send multiple vehicle commands, we know
which command resulted in the action exactly?)
2022-09-30 11:39:40 +02:00
Junwoo Hwang 7f95c6486f Fix wrong GRIPPER_ACTION conversion from floating point to int32_t
- Due to the MAVLink spec, we actually just convert enums into floating
point, so in PX4 we need to convert the float directly into integer as
well (although there can be precision issues on large numbers)
- This is a limitation in MAVLink spec, and should hopefully be
changed in MAVLink v2
2022-09-30 10:36:15 +02:00
Junwoo Hwang 634b650b9c [NEED-UPSTREAMING] Send IN_PROGRESS command ack when actuating gripper
- This hopefully then alerts the GCS that the command is getting
processed
- Referenced commander's `handle_command` function to implement this. As
it seems like GCS needs the acknowledgement of the command being
processed to execute such commands properly
- Also send FAILED command ack if we can't actuate the gripper
2022-09-30 10:33:50 +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
chris1setoandChris Seto 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
chris1setoandChris Seto 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
chris1setoandChris Seto 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