Commit Graph

54 Commits

Author SHA1 Message Date
Dennis Mannhart edb2e3256f FlightTask: getConstraints method and member 2018-07-20 09:26:18 +02:00
Dennis Mannhart 5a4701c7de Flighttask: update comments 2018-07-20 09:26:18 +02:00
Dennis Mannhart 97be84b0e4 FlightTask: introduce method for limits and adjust accordingly for all the tasks 2018-07-20 09:26:18 +02:00
Dennis Mannhart 73b4f452cc FlightTask: add distance to bottom 2018-07-20 09:26:18 +02:00
Dennis Mannhart e2ac12ef2c FlightTask: comment fixes 2018-07-20 09:26:18 +02:00
Dennis Mannhart b7f729e432 FlightTask: split _evalutateVehiclePosition into _evaluateVehicleLocalPosition
and _evaluateVehicleGlobalPosition
2018-07-20 09:26:18 +02:00
Dennis Mannhart 913932ff9e FlightTask: move geo-lib include to FlightTaskAuto where it is required
for conversion from global to local
2018-07-20 09:26:18 +02:00
Dennis Mannhart a401778038 FlightTask: remove global to local map 2018-07-20 09:26:18 +02:00
Dennis Mannhart 816f2d12d5 FlightTaskAuto minor clean up 2018-07-20 09:26:18 +02:00
Dennis Mannhart 6e62beb560 FlightTaskAuto: abstract class for mapping triplets to quadruple
FlightTaskAuto: add type that corresponds to triplet type

FligthTaskAuto: set all setpoints if invalid in xy

FlightTaskAuto: cast triplet type to WaypointType

FlightTaskAutoLine: class for px4 legacy auto

FlightTaskAutoLine: methods prototype

FlightTaskAuto: change sp to wp (=Waypoint)
add params

FlightTaskAutoLine: follow waypoints along line based on flight state
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 309237c4a2 FlightTasks: replace setpoint setters with members
I realized that instead of using the setpoint setters inline
in real world tasks everyone started to have its own setpoint
member variable and only call the setter in the end for all the
privatly generate setpoints. This makes the setter useless and
therefore I switched to member setpoints in the architecture.
They bring more felxibility which is obviously needed but also
less structure which is the price to pay.
2018-04-05 07:30:12 +02:00
Matthias Grob f135e6dda0 FlightTasks: switch field name from thr to thrust + some code spacing 2018-04-05 07:30:12 +02:00
Alessandro Simovic 01ecb05341 snapdragon: changed constexpr to const in FlightTask so that it would compile 2018-04-05 07:30:12 +02:00
Dennis Mannhart 85a263c7bd vehicle local position setpoint: use array for thrust setpoint 2018-04-05 07:30:12 +02:00
Dennis Mannhart 76ad00497b FlightTasks and local setpoint: add thrust setpoint 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 4bb3692020 FlightTask: remove unused declaration of old position evaluation method 2018-04-05 07:30:12 +02:00
Matthias Grob d9c7e6321f FlightTasks: Introduce the empty setpoint to reset the setpoint for every loop iteration and return it in case of no task running 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 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 e44733a03c FlightTasks: small refactor for review comments 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
Matthias Grob 071b09c65d FlightTasks: initialize task state based on subscriptions after the SubscriptionArray was initialized 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 99eb051c0f FlightTasks: adapt POSIX convention to return negative values on error 2018-04-05 07:30:12 +02:00
Matthias Grob 8a4d51c630 FlightTasks: replaced all hrt_elapsed() calls and unneeded hrt_ calls to safe performance 2018-04-05 07:30:12 +02:00
Matthias Grob 9fdb3ace0c FlightTask: added setter for yawspeed and removed newlines in comments 2018-04-05 07:30:12 +02:00
Matthias Grob dd53d1df5f FlightTask: use copyToRaw matrix method in setpoint setters 2018-04-05 07:30:12 +02:00
Matthias Grob 2dd61f71d1 FlightTask: fix doxygen comment /**< instead of /*< 2018-04-05 07:30:12 +02:00
Matthias Grob c1056d307c FlightTask: move setter back into header and switched argument to reference to have them inlined by the compiler 2018-04-05 07:30:12 +02:00
Matthias Grob e193240e98 FlightTask: fix CI: static field requiring definition in cpp file, errors with clang linker (CI) but not with GCC 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 e49f80eaa8 FlightTasks: switched output setpoint to reference getter, FlightTask holds it's data 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 0aeea44780 FlightTask: fixed time initialization issues 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 f2250c1952 FlightTasks: made a FlightTask inherit from SuperBlock to have Block::Subscription s
FlightTask Manual: subscription made setpoint conversion according to vehicle attitude work
2018-04-05 07:30:12 +02:00
Matthias Grob a8a2b4b6f3 FlightTasks: switched output position setpoint to be pointer based
changed "NULL"-pointers to "nullptr" for better compliance
2018-04-05 07:30:12 +02:00
Matthias Grob 28f4d18062 FlightTasks: added FlightTaskManual as replacement for the current stick based position controlled flight
it's a draft and only works for velocity setpoints oriented in NED frame yet

# Conflicts:
#	src/lib/FlightTasks/tasks/FlightTaskOrbit.cpp
2018-04-05 07:30:12 +02:00
Matthias Grob 88bf40e3cb FlightTasks: added simple task switching with possibility do disable FlightTasks completely 2018-04-05 07:30:12 +02:00
Matthias Grob 37cb8c1a59 FlightTasks: added access to prepared velocity state for every task 2018-04-05 07:30:12 +02:00
Matthias Grob 8da1d3b16e FlightTasks: give every FlightTask access to prepared stick input and position state 2018-04-05 07:30:12 +02:00
Matthias Grob 225f99af16 FlightTasks: created an array for all tasks and a method to set the general input pointers for all of them 2018-04-05 07:30:12 +02:00