Commit Graph

146 Commits

Author SHA1 Message Date
James Goppert 1d6b31d196 Switch to cmake build system. 2015-09-07 20:37:45 -04:00
Lorenz Meier 82280cc327 MC att control: Set tighter angle limits to make response smoother 2015-09-06 15:52:41 +02:00
Lorenz Meier c776082dd8 Merge branch 'beta' 2015-09-03 08:34:46 +02:00
Lorenz Meier d722292381 MC attitude controller: Use tighter attitude control gains 2015-08-30 22:43:07 +02:00
Lorenz Meier ce90c40413 Merged beta to master 2015-08-07 14:41:19 +02:00
Lorenz Meier ebb061764a MC attitude control: Limit yaw rate further to avoid mixer saturation in the first place 2015-08-06 22:09:09 +02:00
Mark Charlebois 009f528266 Fixes for posix-arm and qurt builds
Ifdefed out deadcode in position_estimator_inav_main.c as the
deadcode does not compile for qurt.

Added fixes to get a successful build for posix-arm and qurt targets.
Removed CLOCK_REALTIME def from px4_time.h for qurt and removed unused
variables in att_est_q and mc_att_control.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-08-05 18:34:46 -07:00
Lorenz Meier 454becdae5 Merged release_v1.0.0 branch into master 2015-06-25 21:45:17 +02:00
Lorenz Meier ff39773666 MC: Better attitude control defaults 2015-06-23 09:11:22 +02:00
Lorenz Meier 62b102d0b4 MC attitude controller: Set better defaults 2015-06-21 19:00:06 +02:00
Lorenz Meier 9e3e43c49e Update comments in attitude controller. Fixes #2369 2015-06-14 15:27:24 +02:00
Lorenz Meier c9fefe236b Merged release into master 2015-06-13 11:06:01 +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
Roman 5b6f1b5ca5 fixed rates feedforward: plant for feedforward is given by derivative operator 2015-05-23 13:19:15 +02:00
Roman 16df7e1656 fixed rates feedforward: plant for feedforward is given by derivative operator 2015-05-22 21:12:18 +02:00
Lorenz Meier d906fb8f31 Merged master into linux 2015-05-19 21:00:02 +02:00
Lorenz Meier 5fb99e9300 MC att control: Better param docs 2015-05-19 07:18:41 +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
Mark Charlebois 2f8cad6c00 Fixed bad update of poll to px4_poll change
I updated poll to px4_poll but forgot to change
struct pollfd to px4_pollfd_struct_t.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-30 09:12:39 -07:00
Mark Charlebois b7120f1b9f Fixed call to poll to be px4_poll
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-30 09:02:04 -07:00
Mark Charlebois 190814bc97 Merge remote-tracking branch 'upstream/master' into linux
Signed-off-by: Mark Charlebois <charlebm@gmail.com>

Conflicts:
	src/drivers/rgbled/rgbled.cpp
	src/modules/commander/PreflightCheck.cpp
	src/modules/commander/airspeed_calibration.cpp
	src/modules/commander/calibration_routines.cpp
	src/modules/commander/gyro_calibration.cpp
	src/modules/commander/mag_calibration.cpp
	src/modules/mc_att_control/mc_att_control_main.cpp
2015-04-28 11:48:26 -07:00
Lorenz Meier eba97bba4c MC att control: reduce stack slightly 2015-04-26 14:33:56 +02:00
Mark Charlebois 8c8f57b5b4 Fixed std::isfinite vs isfinite differences
Added PX4_ISFINITE(x) to px4_defines.h to handle the differences on
NuttX and Linux.

This change also picked up some file renaming for virtual character devices

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:34:12 -07:00
Lorenz Meier a2a113ee28 Ported mc_att_control 2015-04-20 11:18:43 -07:00
Mark Charlebois 2cd44a24ea Linux: Added linker script support for param and added mc_att_control
Added linker script to resolve __param_start and __param_end.

Added mc_att_control to list of supported builtins.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:16:26 -07:00
Mark Charlebois 9758112e31 Use px4_config.h instead of nuttx/config.h
Modified code to use OS independent header file for config settings.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:55:41 -07:00
Mark Charlebois bf429188b4 Reverted: Use OS independent API for task creation/deletion
Keep existing API use in code. Bind the use of the OS independent
implementation in the systemlib layer.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:49:44 -07:00
Mark Charlebois ddb32742eb Use OS independent API for task creation/deletion
Calls to task_delete and task_spawn_cmd are now
px4_task_delete and px4_task_spawn_cmd respectively.

The px4_tasks.h header was added to the affected files
and incusions of nuttx/config.h were removed.

Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:49:44 -07: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
Roman Bapst b52d0ed8a2 mc_att_control: implemented anti windup 2015-04-18 11:19:46 +02:00
Mark Whitehorn f23bc38d3e increase default roll/pitch rate limits to 360dps 2015-04-18 11:19:06 +02:00
Mark Whitehorn 77771b2bbf fix comment on MC att controller rate limits 2015-04-18 11:19:06 +02:00
Mark Whitehorn 7f418445f2 add new parameters for roll and pitch angular rate limits 2015-04-18 11:19:06 +02:00
Mark Whitehorn a07712bb1e apply roll/pitch acro_rate_max in MC attitude controller 2015-04-18 11:19:06 +02:00
Mark Whitehorn f1b2efeeaf increase default roll/pitch rate limits to 360dps 2015-04-11 08:10:58 -06:00
Mark Whitehorn 6ccfc222d3 fix comment on MC att controller rate limits 2015-04-11 08:04:37 -06:00
Mark Whitehorn b356508f6b add new parameters for roll and pitch angular rate limits 2015-04-11 08:04:37 -06:00
Mark Whitehorn 6b26594697 apply roll/pitch acro_rate_max in MC attitude controller 2015-04-11 08:04:37 -06:00
tumbili 7236f22f12 added feed-forward for rates 2015-03-10 21:38:10 +01:00
Lorenz Meier 4177078ff0 MC attitude controller: Adjust stack size of handler and app 2015-03-08 08:15:24 +01:00
Lorenz Meier acd5472879 MC att control: Use less RAM 2015-03-01 18:32:07 +01:00
tumbili 1a6dd7d02e removed attitude setpoint generation from mc_att_controller and moved to mc_pos_controller 2015-02-07 17:36:21 +01:00
Thomas Gubler 2728889f78 Merge remote-tracking branch 'upstream/master' into ros_messagelayer_merge_attctlposctl 2015-01-28 16:29:14 +01:00
Roman Bapst 97471bf0aa added references 2015-01-28 09:45:22 +01:00
Thomas Gubler 9b4a210495 missing headers for fmu2 target 2015-01-25 15:55:32 +01:00
Thomas Gubler 96db9e8188 Merge remote-tracking branch 'upstream/master' into ros
Conflicts:
	src/platforms/px4_middleware.h
2015-01-15 12:42:28 +01:00
Lorenz Meier 7d56ae4ed6 mc attitude control: Log sensor time stamp in actuator output 2015-01-11 11:03:56 +01:00
Lorenz Meier 7682160713 mc attitude controller: Log the controller latency 2015-01-11 11:03:55 +01:00