Commit Graph

612 Commits

Author SHA1 Message Date
Martina 33b1b13432 mc_pos_control: replace define with parameter to enable/disable obstacle
avoidance
2018-07-12 16:36:11 -04:00
Martina 6cceca6fe5 mc_pos_control_params: add parameter to enable and disable obstacle
avoidance
2018-07-12 16:36:11 -04:00
Martina 1144b66a70 mc_pos_control: temporary solution to enable and disable the execution of
obstacle avoidance waypoints
2018-07-12 16:36:11 -04:00
Martina c5d62b5524 mc_pos_control: use local frame position setpoint from triplets calculated
in the pos_control and not coming from navigator. Refactor method
update_avoidance_waypoint_desired since all waypoints have the same type
2018-07-12 16:36:11 -04:00
Martina 26ca09f824 mc_pos_control: fix typo 2018-07-12 16:36:11 -04:00
Martina 59c7fc5d96 mc_pos_control: use one method to wrap yaw speed instead of triplicate
code
2018-07-12 16:36:11 -04:00
Martina 8b20c66cfc mc_pos_control: use desired velocity to calculate vel_sp_along_track_prev
if obstacle avoidance is running
2018-07-12 16:36:11 -04:00
Martina d39b969e72 mc_pos_control: refactor the update of the desired waypoints for avoidance
to eliminate duplicated code
2018-07-12 16:36:11 -04:00
Martina 9bdc9aada2 mc_pos_control: use defines for point size and number of points in
trajectory_waypoint
2018-07-12 16:36:11 -04:00
Martina a11c6235fe mc_pos_control: uses consistent naming for desired waypoints 2018-07-12 16:36:11 -04:00
Martina 272d7ca4cd mc_pos_control: use consistent naming for position waypoints 2018-07-12 16:36:11 -04:00
Martina 3fa094cb6b mc_pos_control: use same notation for velocity waypoints 2018-07-12 16:36:11 -04:00
Martina 31d675fd95 mc_pos_control: add interface to send desired position and velocity
waypoint to the obstacle avoidance module
2018-07-12 16:36:11 -04:00
Martina b33a708215 mc_pos_control: add vel_sp_desired to send desired velocity to the
obstacle avoidance
2018-07-12 16:36:11 -04:00
Martina 47f2db67b6 mc_pos_control: execute yaw or yaw speed of the obstacle avoidance
waypoint
2018-07-12 16:36:11 -04:00
Martina df19610e69 mc_pos_control: add execution of position waypoint coming from the
obstacle avoidance
2018-07-12 16:36:11 -04:00
Martina 5d6771753d mc_pos_control: add execution of velocity waypoint coming from the
obstacle avoidance module
2018-07-12 16:36:11 -04:00
Martina f511d3a399 mc_pos_control: add method to constrain velocity setpoint 2018-07-12 16:36:11 -04:00
Martina 14444af38c mc_pos_control: subscribe to trajectory_waypoint message 2018-07-12 16:36:11 -04:00
Hamish Willee 7402d8223b Fix up references to pixhawk.org 2018-07-02 13:11:15 +02:00
Beat Küng 76c94b08f1 PositionControl: use constant references instead of pass-by-value for structs 2018-06-13 16:19:34 +02:00
Daniel Agar d0bde9ab2a replace geo _wrap_pi with matrix::wrap_pi 2018-06-12 09:00:52 +02:00
Paul Riseborough c84d35e3d7 mc_pos_control: rework height limiter to stay in velocity mode 2018-06-09 13:38:04 +02:00
Paul Riseborough d26da5fa3b mc_pos_control: Improve maximum height limiter
Implements a better method of determining when to switch from velocity to altitude control to keep height limit from being exceeded.
This method removes the overshoot and transients in height caused by the switching of the previous algorithm.
2018-06-09 13:38:04 +02:00
Paul Riseborough f0a1cd197e mc_pos_control: formatting fixes 2018-06-09 13:38:04 +02:00
Paul Riseborough b77845a3c0 mc_pos_control: Fix bug in calculation of altitude limit
The correction for stopping distance applied to the maximum altitude limiter uses the vertical velocity estimate and gives the same offset for both positive (down) and negative (up) velocity.
This calculation has been corrected and simplified and variable names changes to make the functionality clearer.
2018-06-09 13:38:04 +02:00
Mohammed Kabir c1169eb38b mc_pos_control : update to use new navigation limits architechture 2018-06-09 13:38:04 +02:00
Mohammed Kabir b3c5e53333 Unify optical flow height limiting 2018-06-09 13:38:04 +02:00
Paul Riseborough 0113212b34 mc_pos_control: Update parameter descriptions 2018-06-09 13:38:04 +02:00
Paul Riseborough 0dc2377c2f mc_pos_control: format fixes 2018-06-09 13:38:04 +02:00
Paul Riseborough 2c325414f9 mc_pos_control: limit maximum height when reliant on optical flow data 2018-06-09 13:38:04 +02:00
Paul Riseborough 9028592c5f mc_pos_control: control height above ground when reliant on optical flow 2018-06-09 13:38:04 +02:00
Daniel Agar 222a91c6be mathlib delete Matrix, Quaternion, Vector 2018-05-23 17:27:09 -04:00
Daniel Agar 4e32cb17df clang-tidy modernize-use-equals-default 2018-05-18 22:48:55 +02:00
Beat Küng 13ab5ed0d0 px4_main_t: fix method declaration throughout the code base
px4_main_t is defined as:
typedef int (*px4_main_t)(int argc, char *argv[]);
which matches with the definition in NuttX, given to task_create
2018-05-09 07:59:46 +02:00
Daniel Agar 2e92484325 ecl update to latest master with separate libraries (#9406) 2018-05-03 23:48:09 -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
Beat Küng 12e967173d MC: set default MPC_THR_MAX & MPC_MANTHR_MAX to 1
With the updated mixer (#9062) it's safe to set maximum thrust to 1 (in
both cases, if MC_AIRMODE is set, or not set).
So I see no reason to limit the maximum thrust.
2018-04-26 14:37:48 +02:00
Beat Küng 90513e719e ASSERT: remove some inappropriate asserts
Since assertions lead to crashes, we need better failure handling. In all
the cases in this patch, the assert is not required.

All the ones with the task id should be replaced with the module base
class.

Ah yes, and this reduces flash space, since the ASSERT macro will expand to
a printf that contains the source file name.
2018-04-11 07:47:06 +02:00
Beat Küng 0eaa6222a2 flight tasks: refactor BlockParam -> Param and handle param updates 2018-04-11 07:47:06 +02:00
Beat Küng 2e620cf1d4 mc_pos_control: refactor BlockParam -> Param 2018-04-11 07:47:06 +02:00
Daniel Agar 735c5544ae tests add ctlmath and use float FLT_EPSILON 2018-04-09 02:23:26 -04:00
Dennis Mannhart 48fa3fbca3 PositionControl: thrust setpoint check with fabsf 2018-04-05 07:30:12 +02:00
Dennis Mannhart 26ffda5079 PositionControl: replace matrix length() method with simple dot-product to safe compuation 2018-04-05 07:30:12 +02:00
Dennis Mannhart 0c6c771620 ControlMath: remove unused methods 2018-04-05 07:30:12 +02:00
Dennis Mannhart 81da94ff46 PositionControl: Anti-windup that uses max in NE based on tilt limit and remaining throttle
excess
2018-04-05 07:30:12 +02:00
Matthias Grob f99471f34c PositionControl: refactor remove Data define for Vector
This define results in super unreadable code.
2018-04-05 07:30:12 +02:00
Matthias Grob 2405baa2c9 FlightTasks: fix manual mode takeoff
With the new position control architercture manual mode and
potition mode run through the same logic and as a result
it had a throttle thershold for smooth takeoff also in
manual mode. This is fixed by by ignoring the threshold for
any mode which doesn't control the climb rate.
2018-04-05 07:30:12 +02:00
Dennis Mannhart e15240d3ad FlightTask: only allow for position and alitude control without smoothing.
This commit is only done to enable incremental testing of Flighttask.
2018-04-05 07:30:12 +02:00
Matthias Grob dc60bc8766 mc_pos_control: enable flight tasks
instantiate flight tasks and the refactored position controller class
only use the new functionality if a temporary parameter is set for testing
2018-04-05 07:30:12 +02:00