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