Silvan Fuhrer
2ca4269464
TECS: separate integral gains for throttle and pitch loops
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-01-13 21:21:07 +03:00
RomanBapst
01f891618b
TECS: move to new control loop architecture
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
RomanBapst
d0e8b882a2
TECS: added alpha filter classes to energy rate and tas derivative
...
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2021-01-13 21:21:07 +03:00
Daniel Agar
967d35a6b6
rate limit most parameter_update subscriptions
...
- parameter updates can be quite expensive because they trigger nearly all modules to reload all of their parameters immediately
- limit modules from updating faster than once per second
2021-01-10 21:09:15 -05:00
Silvan Fuhrer
b58e270fd4
FW Position Control: remove manual climbout mode trigger via pitch stick
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-16 14:41:01 +01:00
Silvan Fuhrer
67a0e1993a
FW Position controller: add option to swap throttle and pitch stick
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2020-11-02 22:49:05 +01:00
Daniel Agar and RomanBapst
c01fabaf11
FW move altitude first order hold (FOH) and loiter to position special cases from navigator to position controller
...
Co-authored-by: RomanBapst <bapstroman@gmail.com >
2020-10-06 16:57:12 -04:00
Daniel Agar
560c22e612
fw_pos_control_l1: pass time through from run
2020-08-10 10:51:52 -04:00
Daniel Agar
9a1ca00285
fw_pos_control_l1: replace sensor_baro with vehicle_air_data
...
- controllers shouldn't be accessing raw sensor data directly
2020-07-17 09:42:19 -04:00
Matthias Grob
e9eae1bd76
Refactor: Name manual_control_setpoint the same way everywhere
2020-06-22 12:06:27 -04:00
Daniel Agar
87250ca47f
move ecl L1, TECS, and data validator to PX4/Firmware
2020-06-18 19:26:30 -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
Daniel Agar
59a7262c31
FW use lpos
2020-03-31 15:03:23 +03:00
Daniel Agar
3dc23afb3e
fw_pos_control_l1: move to px4::params
2020-02-02 21:04:21 -05:00
Daniel Agar
21a8d7db7f
WorkItem modules: Run() shouldn't be public
2020-01-22 12:03:03 -05:00
Daniel Agar
6630087654
TECS: remove height rate complementary filter
2020-01-16 11:04:28 -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
Matthias Grob
633469dd8c
FixedWingPositionControl: ommit */ with ///< doxygen comments
2019-11-28 11:21:05 -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
Beat Küng
3198610f85
src/platforms: move all headers to platforms/common/include/px4_platform_common
...
and remove the px4_ prefix, except for px4_config.h.
command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done
Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01: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
7162000e80
fw_pos_control_l1: update orb_publish to uORB::Publication<>
2019-09-02 16:20:44 -04:00
Beat Küng
f8e0441e7b
src/platforms/common: move to platforms/common
...
Script to update include paths:
for i in $(grep -rl 'include <px4_work_queue' src platforms); do sed -i 's/#include <px4_work_queue/#include <px4_platform_common\/px4_work_queue/' $i; done
2019-08-30 07:59:44 +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
Daniel Agar
4bef573497
fw_pos_control_l1 move to new uORB::Subscription
2019-06-06 20:00:02 -04:00
Daniel Agar
2c63e335e9
uORB::Subscription subscribe directly to uORB device node object
2019-06-03 17:06:21 -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
Daniel Agar
60f2a92e3d
replace <cfloat> with <float.h>
...
- <cfloat> isn't available in the NuttX c++ library
2019-01-06 19:20:57 -05: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
Daniel Agar
a6dabbbae7
Landing slope move to standalone library
...
- this is shared by both the FW position controller and navigator's
missiong feasibility checker
2018-08-31 14:43:51 -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
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
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
ea3acb7121
cmake remove circular linking and reorganize
...
- px4_add_module now requires MAIN
- px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Daniel Agar
d75fd72c02
stop manually defining physical constants
2018-04-19 07:24:58 +02:00
Daniel Agar
a78ab02144
fw_pos_control_l1 don't store TECS and L1 parameters
2018-04-12 00:46:49 -04:00
Daniel Agar
29b3950747
move geo and geo_lookup to PX4/ecl
2018-03-26 23:16:55 -04:00
Beat Küng
b512d11e54
refactor fw_pos_control_l1: replace BlockParam* with Param* classes
...
Also change naming convention: add _ prefix to class attributes
2018-03-22 08:19:08 +01:00
Daniel Agar
b6b7fddb9f
TECS and L1 switch to matrix math library ( #9101 )
2018-03-19 18:09:54 -04:00
Daniel Agar
d1dca4e74c
fw_pos_ctrl_l1 move takeoff to control_takeoff()
2018-03-14 16:39:19 -04:00
Daniel Agar
c72340e039
fw_pos_ctrl_l1 move landing to control_landing()
2018-03-14 16:39:19 -04:00