Commit Graph

555 Commits

Author SHA1 Message Date
Dennis Mannhart 4627d5d6e4 mc_pos_control_main smooth takeoff: enable position-xy/yaw control once above 0.5m from takeoff reference 2018-10-16 11:13:00 -04:00
Dennis Mannhart 345d3278d1 mc_pos_control smooth takeoff: if velocity is valid, the control velocity in xy during takeoff 2018-10-16 11:13:00 -04:00
Dennis Mannhart 4b70584cf4 mc_pos_control takeoff: control velocity if velocity estimation is available, otherwise
just keep thrust vector pointing upward
2018-10-16 11:13:00 -04:00
Dennis Mannhart dbd1e1432a mc_pos_control: for sanity distinguish between velocity and position setpoint during
smooth-takeoff. This is only required if someone writes a FlightTask where both position
and velocity setpoints are finite
2018-10-16 11:13:00 -04:00
Dennis Mannhart c3ba2687ac FlightTask: if not in air, reActivate the task which will set the setpoints to current
vehicle state.
2018-10-10 10:30:48 -04:00
Dennis Mannhart 2f833a26d1 mc_pos_control: check if position-control setpoint update succeeded.
refactor use_obstacle_avoidance method
2018-10-10 10:29:46 -04:00
Martina e73c50ad9c mc_pos_control_main: enable continuos update of vehicle_trajectory_waypoint
desired such that it's possible to use it in manual modes
2018-10-02 09:45:48 -04:00
Beat Küng 079a43238f mc_pos_control: print Failsafe message only once when entering failsafe 2018-09-28 08:59:22 +02:00
Beat Küng 720b3307d8 mc_pos_control: limit flight task init failure printf's
There were cases where the console was continuously spammed with activation
failure messages.
2018-09-28 08:59:22 +02:00
Beat Küng ff69158836 mc_pos_control: add missing orb_unsubscribe 2018-09-28 08:59:22 +02:00
Beat Küng f7b65c577b mc_pos_control: refactor to use ModuleBase 2018-09-28 08:59:22 +02:00
Roman ad88ef14e1 weathervane: use a single parameter to enable
- in auto mode we always run weather vane
- in manual model we just use it in position control mode

Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 96f3feb088 weathervane: get rid of passive strategy
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 0e835cb498 Weathervane: pass quaterionon as constant reference
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman ccaeb58708 WeatherVane lib: address review comments 2018-09-19 08:27:07 +02:00
Roman ce7272a39c WeatherVane: calculate rotation matrix directly when updating
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman d6b6a1d0b3 addressed comments from review
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 4ad11484ca mc_pos_control: moded weathervane parameters to weathervane lib
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Roman 8abcf2defa mc_pos_control: use weathervane library to make vehicle turn into relative wind
Signed-off-by: Roman <bapstroman@gmail.com>
2018-09-19 08:27:07 +02:00
Martina Rivizzigno 21f6ca4a1f mc_pos_control: fix desired trajectory waypoint. (#10372)
- The first waypoint contains the vehicle current position and the desired velocity setpoint
2018-08-31 17:28:15 -04:00
Daniel Agar 223dacee64 multicopter position controller use const references 2018-08-31 14:37:49 -04:00
Daniel Agar d131fea899 vehicle trajectory limit unnecessary updates and reduce logging (#10347)
- fixes #10345
2018-08-30 09:21:13 -04:00
Dennis Mannhart e2e8d6d135 mc_pos_control_main: fix comment and remove line that is not used 2018-08-30 09:27:48 +02:00
Dennis Mannhart 72f1fca55c mc_pos_control: lower LOITER_TIME_BEFORE_DESCEND from 1 second to 0.2 2018-08-30 09:27:48 +02:00
Dennis Mannhart 81c5025ad8 mc_pos_control: enter FlighttaskFailsafe if Flighttask wants to be started, but all of
the Flighttask fail. A failure of the Flighttask can occur if the demanded Flighttask does
not have the required data.
2018-08-30 09:27:48 +02:00
Dennis Mannhart 06c10f61c1 mc_pos_control: go into Failsafe only after 1 second flighttask.update() continous to fail 2018-08-30 09:27:48 +02:00
Dennis Mannhart 3ff8cd33a1 mc_pos_control: smooth takeoff requires current position as reference 2018-08-28 10:14:54 +02:00
Martina Rivizzigno 854e4ef3de mc_pos_control_main: fix typo (#10274) 2018-08-20 10:56:43 -04:00
ChristophTobler b14839ab2b mc_pos_ctrl: send vehicle cmd if task fails and task should be switched
without this tasks will be switched all the time and the drone starts driftig
2018-08-16 09:48:59 +02:00
Martina aef41a1378 remove empty lines 2018-08-09 16:38:47 -04:00
Martina da2191b721 mc_pos_control: check parameter MPC_OBS_AVOID to enable obstacle avoidance 2018-08-09 16:38:47 -04:00
Martina 0694abf916 mc_pos_control: do not execute updateSetpoint twice if obstacle avoidance
active
2018-08-09 16:38:47 -04:00
Martina 4b54050358 mc_pos_control: get empty avoidance waypoint from fligth task so that code
isn't duplicated
2018-08-09 16:38:47 -04:00
Martina 8190242e02 mc_pos_control: port trajectory interface to the new mc_pos_control
structure (flight task refactor)
2018-08-09 16:38:47 -04:00
ChristophTobler 8090708f76 FlightTasks: generate tasks depending on target
- rename flight tasks to use camelCase
- add core tasks to flight tasks cmake
- add additional tasks in targets (TODO)
- add templates
- generate hpp and cpp which contain all specified tasks
2018-08-08 13:44:49 +02:00
Dennis Mannhart 18a3c08659 mc_pos_control: idle to armed state delay controlled by parameter MPC_IDLE_TKF 2018-07-20 09:26:18 +02:00
Dennis Mannhart ab1ae1fb4e mc_pos_control_main: trigger failsafe if no setpoint along D-direction is valid 2018-07-20 09:26:18 +02:00
ChristophTobler 80867343ab mc_pos_control: trigger failsafe if no pos, vel or thrust pair is valid 2018-07-20 09:26:18 +02:00
Dennis Mannhart 260284571d mc_pos_control: move failsafe logic into method 2018-07-20 09:26:18 +02:00
Dennis Mannhart ac2c49218d mc_pos_control: remove mavlink_log_info 2018-07-20 09:26:18 +02:00
Dennis Mannhart f11a65a74f mc_pos_control: fix overwrite for state velocity 2018-07-20 09:26:18 +02:00
Dennis Mannhart f2d559a4c2 mc_pos_control: minor refactor 2018-07-20 09:26:18 +02:00
Dennis Mannhart b5731e0ccd FlightTaskOffboard: only start task if control mode flags are met 2018-07-20 09:26:18 +02:00
Dennis Mannhart bf4ac7a9d6 mc_pos_control: for terrain following use range sensor climbrate for velocity estimate 2018-07-20 09:26:18 +02:00
Dennis Mannhart e51e1bbe74 mc_pos_control: replace legacy refactor
Until now we replaced legacy position controller functionality inside
the flight task architecture to split up the huge position control
module into the different tasks and have a modular setup with a clear
setpoint interface. This commit removes all the legacy code and hard
switches to using the flight task architecture for multicopter.

This is done because maintaining and testing everything in parallel is
not sustainable. The architecture is by now tested to cover all basic
legacy functionality and missing corner cases can be fixed a lot easier
with the new architecture.
2018-07-20 09:26:18 +02:00
Martina 064a6dd2fd mc_pos_control: fix rebase mistake 2018-07-12 16:36:11 -04:00
Martina d6ea735b18 make format 2018-07-12 16:36:11 -04:00
Martina 492e40a139 mc_pos_control: enable obstacle avoidance only in mission and rtl 2018-07-12 16:36:11 -04:00
Martina da2df5708b mc_pos_control: refactor to use vehicle_trajectory_waypoint 2018-07-12 16:36:11 -04:00
Martina 33b1b13432 mc_pos_control: replace define with parameter to enable/disable obstacle
avoidance
2018-07-12 16:36:11 -04:00