Commit Graph
53 Commits
Author SHA1 Message Date
Dennis Mannhart e408870857 FlightTaskManual: remove unused override 2018-07-20 09:26:18 +02:00
Dennis Mannhart afd02aca92 FlightTask: fail activation if required states are not available 2018-07-20 09:26:18 +02:00
MaEtUgR 70802ba15a FlightTaskManual: Yaw lock with deadzone and expo
More than a year ago I started the easy to use math::Functions to handle
the always used mathematical SISO functions to be tested and available.

I switched x, y and z stick input to the freesh programmed deadzone and
exponential functions from the library to unify and clarify their use.
I just realized yaw was left over because it lead to a drift problem in
certain new use cases.

Now I'm just adding the yaw stick to the already well working method.
2018-07-20 09:26:18 +02:00
Dennis Mannhart 547cdc051c FlightTask: apply gear switch depending on task 2018-07-20 09:26:18 +02:00
Beat Küng 0eaa6222a2 flight tasks: refactor BlockParam -> Param and handle param updates 2018-04-11 07:47:06 +02:00
Matthias Grob eaf4f99e38 FlightTasks: adapt tasks to member setpoints
The FlightTaskManual... tasks already had their internal
setpoint member variables. I switched them to use the
architecture with setpoint member variables as it was
implemented the commit before. They simplify a lot.
2018-04-05 07:30:12 +02:00
Dennis Mannhart 2db2ef824b FlightTaskManual: move all setpoints into base class 2018-04-05 07:30:12 +02:00
Matthias Grob e1a81c7978 FlightTaskManual: remove unnecessary activate method 2018-04-05 07:30:12 +02:00
Dennis Mannhart ad2c16c0ba FlightTaskManual: remove #include px4_defines.h 2018-04-05 07:30:12 +02:00
Dennis Mannhart 3b4870b2c2 FlightTaskManual: define as abstract class 2018-04-05 07:30:12 +02:00
Dennis Mannhart 4b856717b7 FlightTaskManual: replace hold_dz with stick_dz 2018-04-05 07:30:12 +02:00
Dennis Mannhart 720271332d FlightTaskManual/Alt/Position: update comments 2018-04-05 07:30:12 +02:00
Dennis Mannhart 55b6f19367 FlightTaskManual: remove stick_deadzone because base class already has it.
Remove deadzone check for vel in xy/z because expo already contains deadzone
2018-04-05 07:30:12 +02:00
Dennis Mannhart cd1e01d5a0 FlightTaskManual: add px4_defines 2018-04-05 07:30:12 +02:00
Dennis Mannhart e076825d78 FlightTaskManual: remove everything except of stick mapping 2018-04-05 07:30:12 +02:00
Matthias Grob 2b6e356c91 FlightTaskManual: fix for the sideways oscillations in fast foward flight when using the vehicle yaw estimate 2018-04-05 07:30:12 +02:00
Matthias Grob 37e0f91c39 FlightTaskSport: scale maximal stick input to maximal allowed velocity instead of being hardcoded for testing 2018-04-05 07:30:12 +02:00
Matthias Grob 975ac11635 mc_pos_control: enable yawspeed execution for tasks 2018-04-05 07:30:12 +02:00
Matthias Grob a896332746 FlightTaskManual: fixed stick vector index bug and enabled basic yaw setpoint control 2018-04-05 07:30:12 +02:00
Matthias Grob de872ca047 FlightTaskManual: remove the smoothing from the task to add it later in a child class
also separated the velocity scaling to enable sport mode
2018-04-05 07:30:12 +02:00
Matthias Grob 4d0dca5dd5 FlightTask: make applyCommandParameters getting called recursively & pass command by reference 2018-04-05 07:30:12 +02:00
Matthias Grob efd240904f FlightTasks: added possibility to apply task parameters from the vehicle command 2018-04-05 07:30:12 +02:00
Matthias Grob 6ec9ff64d1 FlightTaskManual/Orbit: make sure we are not required stick input data during orbit 2018-04-05 07:30:12 +02:00
Matthias Grob e5d237088c FlightTasks: refactoring for CamelCase naming convention, small comment and declaration order renicements 2018-04-05 07:30:12 +02:00
Matthias Grob 888a63c001 FlightTasks: bool return values for clarity & introduce updateInitialize() to have input data fetching separated from the update() 2018-04-05 07:30:12 +02:00
Matthias Grob 1906b5b635 FlightTasks: remove all remaining unnecessary semicolons 2018-04-05 07:30:12 +02:00
Beat Küng b0fdbf5136 FlightTask: inherit from Block instead of SuperBlock
I think this is more how it's meant to be
2018-04-05 07:30:12 +02:00
Beat Küng 9b571abb47 FlightTasks: add SubscriptionArray class that contains all subscriptions
This is to avoid dynamic (re-)allocations on task switching, due to
orb_{un,}subscribe calls.
2018-04-05 07:30:12 +02:00
Beat Küng b5ecf9824d flight tasks: use placement new to reduce memory overhead and the need for dynamic allocations
In addition, we will need some shared data structure for the uorb
subscriptions.
2018-04-05 07:30:12 +02:00
Matthias Grob e597a9c0a1 FlightTasks: fix review comments 2018-04-05 07:30:12 +02:00
Matthias Grob 23fe822955 FlightTasks: private variables follow underscore name convention, member description comments doxygen style 2018-04-05 07:30:12 +02:00
Matthias Grob 92acbfde3e FlightTasks: FlightTask definition to cpp, fix include chain, fix cmake 2018-04-05 07:30:12 +02:00
Matthias Grob c211c807ad FlightTasks: move method definitions of existing tasks into cpp files, it's not a header library 2018-04-05 07:30:12 +02:00
Matthias Grob d48ba8be72 FlightTask: move position and stick data subscription into tasks, Orbit introduce variable center position 2018-04-05 07:30:12 +02:00
Matthias Grob edd5ed1349 FlightTaskManual: remove unnecessary subscription which is deprecated anyways 2018-04-05 07:30:12 +02:00
Matthias Grob 76a0b9f736 FlightTaskManual: Smooth flight integration: refactored and checked get_acceleration_z 2018-04-05 07:30:12 +02:00
Matthias Grob 6fb4c79234 FlightTaskManual: Smooth flight integration: refactored and checked second half of get_acceleration_xy executing the intention 2018-04-05 07:30:12 +02:00
Matthias Grob 42708ea456 FlightTaskManual: Smooth flight integration: refactored and checked first half of get_acceleration_xy determining the xy user intention 2018-04-05 07:30:12 +02:00
Matthias Grob 56b54d7b85 FlightTaskManual: Smooth flight integration: prepare interface of acceleartion methods for xy and z 2018-04-05 07:30:12 +02:00
Matthias Grob 634a67d058 FlightTaskManual: Smooth flight integration: slewrate now works, set to 0.2m/s^2 in all dimensions for testing 2018-04-05 07:30:12 +02:00
Matthias Grob 0d8d24e36d FlightTaskManual: Smooth flight integration: replace all "dt"s with the local _deltatime 2018-04-05 07:30:12 +02:00
Matthias Grob 1f65717292 FlightTaskManual: Smooth flight integration: Make vel_sp_slewrate without any refactoring compile
analyzing detailed semantic and external uses of the variables still necessary
2018-04-05 07:30:12 +02:00
Matthias Grob 1b858f5e56 FlightTaskManual: Smooth flight integration: Copy over vel_sp_slewrate without any changes 2018-04-05 07:30:12 +02:00
Matthias Grob 5854fa06e9 FlightTaskManual: Smooth flight integration: Make set_manual_acceleration_z without any refactoring compile
analyzing detailed semantic and external uses of the variables still necessary
2018-04-05 07:30:12 +02:00
Matthias Grob 316e85f7ef FlightTaskManual: Smooth flight integration: Copy over set_manual_acceleration_z without any changes 2018-04-05 07:30:12 +02:00
Matthias Grob cb096861d9 FlightTaskManual: Smooth flight integration: Make set_manual_acceleration_xy without any refactoring compile
analyzing detailed semantic and external uses of the variables still necessary
2018-04-05 07:30:12 +02:00
Matthias Grob e6442c7a7c FlightTaskManual: Smooth flight integration: Copy over set_manual_acceleration_xy without any changes 2018-04-05 07:30:12 +02:00
Matthias Grob 6c0e7654ed FlightTasks: added handling for switching to the already active task and success feedback
removed and added comments
2018-04-05 07:30:12 +02:00
Matthias Grob 018581faca FlightTaaskManual: finalized full acceleration manual controlled position flight to work properly 2018-04-05 07:30:12 +02:00
Matthias Grob 4d05193ad7 FlightTasks: switched to a block hierarchy with parameter names like TSK_ORB_RADIUS in mind 2018-04-05 07:30:12 +02:00