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
Matthias Grob
0dcad42f57
mc_pos_control: refactor, indent control block
...
individual commit for the indentation because otherwise
the diff gets unreadable. this indentation is made because
afterwards the entire legacy position control functionality
is in an else case.
2018-04-05 07:30:12 +02:00
Matthias Grob
5ee136fe10
mc_pos_control: refactor, move landed thrust reduction into function
...
and make it use matrix library for flight task compatibility
# Conflicts:
# src/modules/mc_pos_control/mc_pos_control_main.cpp
2018-04-05 07:30:12 +02:00
Matthias Grob
fabf214bca
mc_pos_control: refactor, move smooth takeoff velocity into a function
...
# Conflicts:
# src/modules/mc_pos_control/mc_pos_control_main.cpp
2018-04-05 07:30:12 +02:00
Dennis Mannhart
88cf2aebc6
PositionControl: comment fix + unused parameter removal
2018-04-05 07:30:12 +02:00
Dennis Mannhart
03b3026e18
PositionControl: remove unused parameters
2018-04-05 07:30:12 +02:00
Dennis Mannhart
67900512ab
PositionControl: remove legacy yaw logic
2018-04-05 07:30:12 +02:00
Dennis Mannhart
ec79b2f8c8
ControlMath: don't consider sign when vector length is 0
2018-04-05 07:30:12 +02:00
Dennis Mannhart
bd37c274c6
PositionControl: parameter naming fix
2018-04-05 07:30:12 +02:00
Dennis Mannhart
fc62df856d
ControlMath: reference to by value
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
Dennis Mannhart
6a639373ae
PositionControl: set vel_dot to 0 if thrust setpoint is used
2018-04-05 07:30:12 +02:00
Dennis Mannhart
3d591f4f8c
FlightTaskManualAltitude: thrust along xy depends on thrust along z direction
2018-04-05 07:30:12 +02:00