87 Commits

Author SHA1 Message Date
Daniel Agar
326d8efc16 move attitude controllers to new wq:attitude_ctrl 2020-04-27 21:34:35 -04:00
RomanBapst
2b276a3ad8 FixedWingPositionControl: set waypoint straight ahead for front transition
- this fixes the case where the navigator publishes a loiter waypoint or any
waypoint which is too close to the vehicle.

Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-04-26 22:59:07 -04:00
RomanBapst
b6a80253d7 run l1 during transition 2020-04-02 13:45:52 +03:00
Silvan Fuhrer
477092fa24 Fw pos control move to local pos: minimal changes to make it compile
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2020-03-31 15:03:23 +03:00
Daniel Agar
59a7262c31 FW use lpos 2020-03-31 15:03:23 +03:00
Daniel Agar
a89b69b0ea
vehicle_global_position: remove velocity fields (duplicates of local vx, vy, vz)
* attitude_estimator_q: get velocity from local position (if available)
2020-03-11 23:57:43 -04:00
Matthias Grob
f90d3671c0 vehicle_attitude_setpoint: get rid of unused q_d_valid flag 2020-02-27 09:17:52 +01:00
Daniel Agar
3dc23afb3e fw_pos_control_l1: move to px4::params 2020-02-02 21:04:21 -05:00
Daniel Agar
6630087654 TECS: remove height rate complementary filter 2020-01-16 11:04:28 -05:00
David Jablonski
3d60ef9383 FW: Allow counterclockwise loiter
Before, this check was always true, thus always falling back to
NAV_LOITER_RAD, which can't be negative.
2020-01-08 12:30:50 -05:00
Daniel Agar
22a005c9f4
delete module's redundant print_status()
- we can already get the running status from ModuleBase and the other misc information is already available through perf or uORB
2019-11-30 18:22:19 -05:00
Daniel Agar
0cc250194d
VTOL: explicitly start all FW & MC controllers in VTOL mode 2019-11-30 12:58:36 -05:00
Silvan Fuhrer
ebdc29bc5f Airspeed Selector: enable airspeed_validated in control modules (#12887)
* FW attitude controller, FW position controller and VTOL attitude controller subscribe to airspeed_validated topic
* add possibility to switch off the airspeed valid checks
* remove airspeed valid checks from commander
* clean up of VTOL transition logic
* Airspeed Selector: remove dynamic allocation of airspeed validators (depending on number of connected sensors) but do it statically for the maximum number allowed. Check for number of connected sensors not only during start up, but always when vehicle is disarmed.
* Airspeed Selector: change work queue from lp to att_pos_ctrl as this module is safety-critical
* add airspeed selector to px4_fmu-v2 defaults
2019-11-21 14:14:25 -05:00
Daniel Agar
a475d71ca9
astyle shift module documentation to bottom of files
- Astyle chokes on the module description strings, so for now we can keep them near the bottom of each file.
2019-11-02 10:58:47 -04:00
JaeyoungLim
71fbe58e20 fw_pos_ctrl_l1: enable loiter type offboard position setpoint for Fixedwing vehicles
* Use NAV_LOITER_RAD when provided offboard position setpoints
2019-10-28 17:42:27 -04:00
Daniel Agar
26364d44c9
px4_work_queue: command line status output and shutdown empty queues
* adds a work_queue systemcmd that will bring a tree view of all active work queues and work items
 * WorkQueues now track attached WorkItems and will shutdown when the last WorkItem is detached
2019-10-02 12:23:17 -04:00
Daniel Agar
c8e59c4e39 parameter_update use uORB::Subscription consistently 2019-09-29 10:49:03 -04:00
Daniel Agar
fd67bd0680 uORB: SubscriptionCallback cleanup naming 2019-09-28 13:43:56 -04:00
Silvan Fuhrer
702c6f6df4 FW pos C: fix altitude control for VTOL/FW by also publishing attitude sp if in altitude, not only if position or velocity controlled
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-10 13:20:07 -04:00
Daniel Agar
7162000e80 fw_pos_control_l1: update orb_publish to uORB::Publication<> 2019-09-02 16:20:44 -04:00
Jaeyoung-Lim
914417f580 Enable offboard local position setpoints for fixed wing position control 2019-08-21 12:12:29 +02:00
Daniel Agar
c66fc85630
fw_pos_control_l1: move to WQ with uORB callback scheduling 2019-08-07 23:13:21 -04:00
Daniel Agar
e43e37cc46 fw_pos_control_l1 add new simple min groundspeed 2019-08-07 18:50:42 +02:00
Daniel Agar
a917f22b65
sensors: create vehicle_acceleration module (#12597) 2019-08-07 05:05:48 -04:00
Daniel Agar
2ad12d7977
sensors: create vehicle_angular_velocity module (#12596)
* split out filtered sensor_gyro aggregation from mc_att_control and move to wq:rate_ctrl
2019-08-06 12:55:25 -04:00
Timothy Scott
a134da6e12 Removed is_rotor_wing, replaced with vehicle_type 2019-06-13 10:04:26 +02:00
Daniel Agar
4bef573497 fw_pos_control_l1 move to new uORB::Subscription 2019-06-06 20:00:02 -04:00
Julian Oes
2ac8841f35 vtol/fw/mc: fix VTOL enum shadowing
This changes the enums used for various VTOL states to enum classes
which makes them type-safe and should avoid shadowing.

This change was motivated by a Clang warning about shadowing of the
enum const TRANSITION_TO_FW which was declared twice, once in
vtol_type.h and once in standard.h.

This change only removes the shadowing but presumably these enums could
be cleaned up and consolidated further.
2019-05-29 23:51:10 -04:00
Daniel Agar
9bad61b86b
Improve robustness to bad and lost airspeed data (#11846) 2019-04-30 03:08:23 -04:00
Roman
2bd8b517c5 FwPositionControl: don't do takeoff help for vtol
- takeoff help is used for fixed wings, it increases the altitude setpoint
after a launch. A vtol does not need this as it's already sufficiently
high up in the air.

Signed-off-by: Roman <bapstroman@gmail.com>
2019-04-30 02:45:49 -04:00
Daniel Agar
ec3bc4ee5b fw_pos_control_l1 reset internal takeoff and landing state when arming 2019-04-03 08:48:30 +02:00
Daniel Agar
45d7165eb3 fw_pos_control_l1 skip wind > max airspeed logic if airspeed invalid
- cleanup airspeed validity check logic
2019-01-12 14:19:53 +01:00
Alvar Martti
63651da309 FW bug in checking if landing point has been passed
* the bearing difference between the waypoints and aircraft to landing point should be wrap_pi'ed
2018-12-21 10:03:31 -08:00
Roman Bapst
90bfdb6f0a VTOL rate control architecture improvements (#10819)
* attitude and rate setpoint message: use 3D array for thrust demand
* FixedWingAttitudeControl: rework airspeed scaling
  * move airspeed and scaling calculation into separate method
  * if vtol in hover and airspeed disabled use minimum airspeed instead of trim airspeed
2018-11-21 20:32:40 -05:00
CarlOlsson
82106cc4c1 fw_l1_control: add underscores to perf for consistency 2018-10-22 09:26:06 -04:00
Roman
e17f0802cc tecs msg: changed flight_path_angle to height rate as clearly we are
looking at height rates

Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-17 10:27:08 -04:00
Daniel Agar
5207c420c3 generic position controller status/feedback message 2018-08-31 14:43:51 -04:00
Philipp Oettershagen
c997159e32 Fixed-wing autoland: Introduce parameter to enable/disable the early activation of the landing configuration 2018-08-24 10:13:07 -04:00
Philipp Oettershagen
20c02ae093 Fixed-wing autoland: Adapt according to @dagar's and @antiheavy's comments. 2018-08-24 10:13:07 -04:00
Philipp Oettershagen
08ceddaddb Fixed-wing autoland: ALWAYS flare when close to the ground, independently of the horizontal distance to the land WP. This avoids that we crash into the ground at negative pitch and guarantees that the flare always starts at the same altitude above ground. However, the motor shutoff still depends on the horizontal distance to the LAND WP, thus avoiding that the motor is shut off prematurely 2018-08-24 10:13:07 -04:00
Philipp Oettershagen
4c4f585ad5 Fixed-wing autoland: 1) The landing configuration (flaps, different airspeed) is now already set during the loiter down instead of at the start of the landing approach. This is done to avoid any mode changes (which can cause altitude/airspeed jumps) so close to the gorund. 2) A scaling factor for the TECS throttle time constant was added which allows tighter throttle control during the landing (i.e. close to the ground) than high up in the air 2018-08-24 10:13:07 -04:00
Roman Bapst
8b1381ead9 update ecl l1 and usage for new roll angle setpoint slew rate limit (#10005)
* added ability to slew rate limit the roll angle output of the l1 controller
* FixedWingPositionControl: this avoids the steps in roll angle setpoint which occur when the controller
switches to a new waypoint
* GroundRoverPositionControl: adapted to new l1 API
2018-08-01 14:01:41 -04:00
TSC21
ca42483794 update msgs fields from camelCase to snake_case so rosidl_generate_interfaces() is able to generate code for ROS IDL files 2018-07-30 21:40:28 +02:00
Daniel Agar
9a4de09325 sensors remove airspeed negative check 2018-07-16 01:09:19 -04:00
Thomas Stastny
8a7919bcb6 fw att+pos ctrl: use enum for flaps configs 2018-07-11 08:08:13 +02:00
Thomas Stastny
0c3399433d fw att+pos ctrl: add takeoff flaps setting 2018-07-11 08:08:13 +02:00
Daniel Agar
9fa882119d fw_pos_ctrl_l1 remove unnecessary orb rate limits 2018-07-05 12:16:44 -04:00
Daniel Agar
cf74166801 double promotion warning fix or ignore per module 2018-07-01 09:36:55 +00:00
Philipp Oettershagen
753ad0e0df Fixed-wing autoland: Fix bug that could cause a steep pitch increase and thus aircraft stall during the flare (#9674) 2018-06-14 11:29:03 -04:00
Daniel Agar
0e823c82b6
FW landing check if prev valid before using (#9284) 2018-04-21 12:03:46 -04:00