Commit Graph

153 Commits

Author SHA1 Message Date
Youssef Demitri 170f0032fd updated to master (solve merge conflicts) 2015-11-06 12:18:31 +01:00
Roman Bapst 85605f72f2 Merge pull request #2814 from PX4/mc_pos_guard
MC position controller: Guard against invalid setpoints
2015-11-06 09:17:05 +01:00
tumbili a567b9956f fix position hold logic 2015-11-02 16:11:24 +01:00
Roman 601da2818b do not set position setpoint too early 2015-11-01 10:13:55 +01:00
Youssef Demitri dd59409e31 updated to master (solved merge conflicts) 2015-10-27 09:26:27 +01:00
jgoppert 0106be3e89 Added local position estimator. 2015-10-24 20:34:33 +02:00
Youssef Demitri efe82194af ported control state attitude into mc_pos_ctrl 2015-10-16 16:03:25 +02:00
tumbili b3f912ecc1 reset position setpoint when in velocity control mode 2015-10-16 12:38:53 +02:00
v01d 8133f8d616 disable pos/alt controllers when following velocity setpoints in offboard mode 2015-10-16 11:13:52 +02:00
v01d 44bb50e9ea separate _DZ parameter to XY and Z. this allows disabling pos hold for XY and not Z 2015-10-16 11:13:52 +02:00
v01d 9c49b30118 run position controller in main_task, otherwise position setpoints will not be followed 2015-10-16 11:13:52 +02:00
v01d 42ccc654b5 fix float comparison to 0.0f 2015-10-16 11:13:52 +02:00
v01d da3087e54c expose pos-hold parameters (also allows different behaviours) 2015-10-16 11:13:52 +02:00
v01d 324c27b941 velocity control implemented: tested in SITL under manual mode 2015-10-16 11:13:52 +02:00
tumbili 759d2a3dff mc position control:
- directly use commanded velocity for control
- use position error to derive desired velocity when in position hold mode
2015-10-16 11:13:52 +02:00
Lorenz Meier 104f38eea8 MC position controller: Guard against invalid setpoints 2015-10-15 22:38:58 +02:00
Micah Corah f1cc601ca8 L1 -> unit, L1 easily confused with L1 norm 2015-10-06 17:15:08 -04:00
Andreas Antener 9e1713eb9f constantly reset altitude and yaw setpoint in mc pos control when not in rotary wing mode 2015-08-24 10:38:33 +02:00
Simon Wilks f7e4a4852d Reset the altitude setpoint. 2015-08-24 10:38:33 +02:00
tumbili 044097afbb mc_pos_controller: fix logic for att sp publication 2015-08-13 22:58:32 +02:00
Simon Wilks d786fd4a1b mc pos reset yaw when vtol transitions 2015-08-12 20:33:17 +02:00
tumbili 04f55ce784 vtol fixes:
- mc pos control: publish attitude setpoint when vtol is in trans mode
- fw att control: do not publish attitude setpoint when in transition mode
- introduce flag in_transition_mode in vehicle status message for vtol
- improve tiltrotor code based on flight testing
2015-08-12 20:33:17 +02:00
Lorenz Meier ea7ae7d019 Merged beta into master 2015-08-01 16:58:02 +02:00
Lorenz Meier d94f2aa407 MC pos control: Use separate params for manual control 2015-07-22 17:12:43 +02:00
Lorenz Meier 116bd9a03e MC pos control: Code style fixes 2015-07-18 11:37:12 +02:00
Lorenz Meier 234990fbe4 Merge branch 'release_v1.0.0' of github.com:PX4/Firmware 2015-07-02 01:00:06 +02:00
Lorenz Meier 5982eaaf34 MC pos control: Enforce minimum throttle in manual attitude control mode only if not landed, else default to idle throttle 2015-06-30 09:51:03 +02:00
Lorenz Meier b72ac1428c Merge pull request #2481 from PX4/mc_yawfix
MC yawfix
2015-06-28 23:29:57 +02:00
Lorenz Meier 064c02a817 MC controller: Update use to new uORB API 2015-06-30 15:46:40 +02:00
Lorenz Meier 50ba1f7365 merged release_v1.0.0 into master 2015-06-30 15:30:45 +02:00
Lorenz Meier ba68b70b0b MC pos control: Comment style fixes 2015-06-27 10:53:00 +02:00
Lorenz Meier 0fe01f6eb8 MC pos control: Fix manual yaw handling to not reset yaw in extreme angle conditions 2015-06-27 10:17:15 +02:00
tumbili dcb680f9d6 VTOL: only publish attitude setpoint if in correct mode 2015-06-25 22:08:52 +02:00
Lorenz Meier 454becdae5 Merged release_v1.0.0 branch into master 2015-06-25 21:45:17 +02:00
Lorenz Meier 426b961abd MC pos control: Fix mavlink output 2015-06-22 09:58:40 +02:00
Lorenz Meier 460c6bcf57 MC att control demand: Require a higher minimum throttle 2015-06-15 21:56:44 +02:00
Lorenz Meier c9fefe236b Merged release into master 2015-06-13 11:06:01 +02:00
James Goppert dedd16e36e Modified velocity saturation to maintain direction. 2015-06-12 10:58:33 +02:00
James Goppert adbccfaa1c Saturate velocity command for mc_pos_control. 2015-06-12 10:58:20 +02:00
Lorenz Meier f6dc9c9727 multicopter manual attitude control: Leave some margin for yaw control 2015-06-05 22:45:07 +02:00
Mark Charlebois 1ca05aaa64 orb_advert_t changed to void * and checks changed to nullptr
The existing orb_advert_t use thoughout the code sometimes tries
to treat it as a file descriptor and there are checks for < 0
and ::close calls on orb_advert_t types which is an invalid use
of an object pointer, which is what orb_advert_t really is.

Initially I had changed the -1 initializations to 0 but it was
suggested that this should be nullptr. That was a good recommendation
but the definition of orb_advert_t had to change to void * because
you cannot initialize a uintptr_t as nullptr.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:42:49 -07:00
Mark Charlebois a734fc96d1 extensive orb_advert_t fixes
The calls to orb_advertise were being mishandled throughout the code.
There were ::close() calls on memory pointers, there were checks
against < 0 when it is a pointer to a object and values larger than
0x7ffffffff are valid. Some places orb_advert_t variables were
being initialized as 0 other places as -1.

The orb_advert_t type was changed to uintptr_t so the pointer value
would not be wrapped as a negative number. This was causing a failure
on ARM.

Tests for < 0 were changed to == 0 since a null pointer is the valid
representation for error, or uninitialized.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-27 14:41:33 -07:00
Mark Charlebois 36f5d47ed9 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	src/modules/commander/gyro_calibration.cpp
	src/modules/mavlink/mavlink_ftp.cpp
2015-05-16 15:04:38 -07:00
Mark Charlebois abe61a3d7e Added missing return on error
When mc_pos_control_main.cpp was ported to posix one error condition
retuned 0 instead of 1.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-14 08:32:51 -07:00
tumbili f6bf6c89ff ported mc_pos_controller 2015-05-14 14:58:23 +02:00
Roman Bapst 1d544e028d mc_pos_control: always update previous velocity to avoid spikes due to differentiation 2015-05-07 15:04:59 +02:00
tumbili 5cf8efcc60 copy quaternion setpoint into attitude setpoint topic 2015-05-07 12:36:50 +02:00
Mark Charlebois c5237f7f6f Removed extra abstracton layer in systemlib
The calls to task_spawn_cmd, kill_all, and systemreset  were wrappers
around the px4_{task_spawn_cmd|kill_all|systemreset} implementations.

Removed the wrappers and changed all calls to the px4_ equivalents.

NuttX specific code was moved into px4_tasks.h

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-06 14:43:11 -07:00
Lorenz Meier b1c0176f42 MC pos control: Reduce stack 2015-04-26 14:33:56 +02:00
Daniel Agar 2e824bbeea fix incorrect argc < 1 check for no arguments
-requiring arguments should be argc < 2
2015-04-18 12:02:58 +02:00