Commit Graph

491 Commits

Author SHA1 Message Date
Daniel Agar ecb2511a7b add matrix copyTo 2017-02-25 11:04:02 +01:00
aivian 7a77e27a79 fixed wing offboard attitude setpoint fix (#6112) 2017-02-15 23:51:50 -05:00
Daniel Agar ff68d63143 fw_pos_control_l1 force heading hold at flare 2017-02-12 11:03:51 +01:00
Daniel Agar 94d6a92f41 fw_pos_control_l1 publish quat in att_sp 2017-02-12 11:03:51 +01:00
Daniel Agar e927f3e040 clang-tidy modernize-use-nullptr 2017-02-01 22:15:50 -05:00
Daniel Agar 830cb44b9c astyle src/modules/fw_pos_control_l1 2017-01-29 01:18:32 +01:00
Lorenz Meier 0e09f072e1 L1: Header cleanup 2016-12-27 21:00:51 +01:00
Roman a61b1e089c make sure to update the reset counters every time the topic updates
Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
Roman 76f862de33 fw_pos_control_l1: when doing a position reset just reset position controller
- do not try to shift the target waypoints when a reset occurs in position
control mode. Just make it lock into the current heading.

Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
Roman 7ba49aeb80 fw_pos_control_l1: make TECS handle height ekf height resets properly
Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
Roman 8155044b40 fw_pos_control_l1: put comments for lat/lon wrapping
Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
Roman f80b4f8732 fw_pos_ctrl_l1: added wrapping of lat lon coordinate after addition of
delta reset

Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
Roman b3f9114b1c fw_pos_control_l1: added missing alitude reset counter update
Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
Roman d4c87d62f1 fixed code style
Signed-off-by: Roman <bapstroman@gmail.com>
2016-11-21 07:29:21 +01:00
tumbili b2410460a5 made position controllers handle estimator state resets 2016-11-21 07:29:21 +01:00
Daniel Agar a8369c6ac8 FW use loiter to achieve waypoint altitude
- fixes #5061
2016-11-05 10:30:36 +01:00
Beat Küng 241fd629ce ERROR macro: get rid of the many 'oddly, ERROR is not defined for c++', use PX4_ERROR 2016-09-30 13:50:51 +02:00
Lorenz Meier 17a1d31b79 Update L1 controller stack 2016-09-30 09:16:36 +02:00
Julian Oes 8ff237c69f Remove size optimization for individual modules
It makes more sense to set the optimization flags on a platform basis
instead of individually for each module. This allows for different
optimization options for SITL, NuttX, Snapdragon, etc.
2016-09-30 08:11:51 +02:00
Daniel Agar fb75240ee9 FW init TECS with PSP_OFF and constrain TAS error 2016-09-27 08:49:45 +02:00
Daniel Agar 9fd0513be3 vtol remove unused vehicle_status 2016-09-27 08:49:45 +02:00
Roman ab4731a99f fw_pos_control_l1: for tailsitters we need to rotate the body acceleration
vector as it has it's reference in the mc frame

Signed-off-by: Roman <bapstroman@gmail.com>
2016-09-13 14:32:00 +02:00
Daniel Agar 2a15578f8d FW implement MAV_CMD_DO_GO_AROUND 2016-08-06 20:56:53 +02:00
Beat Küng aefa319fc4 fw_pos_control_l1: fix compiler problem (implicit float conversion) (#5198)
issue (GCC 6.1.1):
../src/modules/fw_pos_control_l1/fw_pos_control_l1_main.cpp:1284:27: error: implicit conversion from ‘float’ to ‘double’ to match other operand of binary expression [-Werror=double-promotion]
  if ((fabs(air_gnd_angle) > M_PI) || (ground_speed_2d.length() < 3.0f)) {
2016-08-02 00:04:44 -07:00
Daniel Agar 2de66b1a9d FW navigation in high winds (#5097) 2016-07-29 06:05:48 -07:00
sander 0ce08ed9f8 Code style 2016-07-28 16:44:27 +02:00
sander ce3749d04f Make tecs init airspeed mode dependent 2016-07-28 16:44:26 +02:00
sander 0cf77a30b1 Init tecs with transition airspeed for vtols without airspeed sensor 2016-07-28 16:44:26 +02:00
Andreas Antener 50175ca7ea manual condition includes threshold values 2016-07-25 08:56:19 +02:00
Roman aea7bd5b47 fw_attitude_control: calculate attitude setpoint for STAB mode
- attitude setpoint generation for stabilized mode was shifted back
to the fw attitude controller. since the fw position controller is polling
on global position attitude setpoints were not generated when global
position was not published.

Signed-off-by: Roman <bapstroman@gmail.com>
2016-07-25 08:56:19 +02:00
Andreas Antener 254358ef86 fixed implicit conversion 2016-07-25 08:56:19 +02:00
Andreas Antener 89a2f5057f fixed code style 2016-07-25 08:56:19 +02:00
Andreas Antener 6ff65cd8b2 reset attitude setpoint where necessary 2016-07-25 08:56:19 +02:00
Andreas Antener 0a997577f5 allow manual yaw in all manual modes and also use it as threshold to snap into heading lock 2016-07-25 08:56:19 +02:00
Andreas Antener 9f7f6e4d3d removed roll lock for altitude hold 2016-07-25 08:56:19 +02:00
Roman 6226a0c77d fw_pos_control_l1: fixed code style
Signed-off-by: Roman <bapstroman@gmail.com>
2016-07-25 08:56:19 +02:00
Roman ec334f7c9b fw_pos_control_l1: limit max roll and pitch setpoints for manual modes
Signed-off-by: Roman <bapstroman@gmail.com>
2016-07-25 08:56:18 +02:00
tumbili 8c8120e2fc fw position controller: logic cleanup
cleaned up logic when not to use pitch setpoint from TECS

Signed-off-by: tumbili <roman@px4.io>
2016-07-25 08:56:18 +02:00
tumbili fd51bf44d5 fw position / fw attitude control: move attitude setpoint generation to
position controller

- attitude setpoints for all modes are now computed in the fw position
controller

Signed-off-by: tumbili <roman@px4.io>
2016-07-25 08:56:18 +02:00
Roman e3f3233ee4 fw position controller: fixup attitude setpoint generation
- generate complete attitude setpoint for position and altitude
control mode
- fix generation of roll setpoint for position control which lead to
wing rock
- add roll and pitch setpoint offsets so that they are logged as well

Signed-off-by: Roman <bapstr@ethz.ch>
2016-07-25 08:56:18 +02:00
Daniel Agar de14418e93 fw_pos_ctrl_l1 var naming consistency and effc++ 2016-07-12 23:40:39 +02:00
Beat Küng 9c73eae941 sensor_combined: replace accel & gyro integral with value, use float for dt
Reason: the value is easier to read & handle (for example plotting). In
most places the value is needed, not the integral.

Note that this breaks the replay format for sdlog2 replay
2016-07-07 11:35:50 +02:00
Beat Küng d846ad5dac sensors: move voting into sensors module
- voting is now at a central place instead of duplicated within the
  estimators
  -> this also means that estimators that did not do voting so far,
     now have voting, like ekf2
- estimators requiring more than that can still subscribe to the raw
  sensors
- allows sensors_combined to be 3 times smaller
  - reduces logger, memcpy (cache) & RAM overhead
- all modules requiring only 1 or 2 sensor values now automatically get
  the voted result
- this also adds voting to baro
2016-07-07 11:35:50 +02:00
Beat Küng b4ecc5a8d9 sensor_combined cleanup: remove many unneeded fields
Decreases the message size from 780 to 280 bytes.
In particular, all modules using sensor_combined must use the integral now.
The sensor value can easily be reconstructed by dividing with dt.

Voters now need to be moved into sensors module, because error count and
priority is removed from the topic.

Any module that requires additional data from a sensor can subscribe to
the raw sensor topics.

At two places, values are set to zero instead of subscribing to the raw
sensors (with the assumption that no one reads them):
- mavlink mavlink_highres_imu_t::abs_pressure
- sdlog2: sensor temperatures
2016-07-07 11:35:50 +02:00
Daniel Agar 377726a9a7 sitl gazebo plane fix land detector startup order (#4932) 2016-06-30 13:56:06 +02:00
sander 3002852bfa Allow throttle updates below 10% 2016-06-23 09:08:35 +02:00
sander 9d59ba125d remove debug info 2016-06-23 09:08:35 +02:00
sander 37531c018a Implement MAV_CMD_DO_CHANGE_SPEED throttle 2016-06-23 09:08:35 +02:00
Roman Bapst 37108870e1 fw_pos_control_l1: added roll setpoint for logging (#4869)
in altitude control mode for fixed wings the roll setpoint was not
logged because the position controller publishes the attitude setpoint
but the desired roll setpoint is calculated in the attitude control
module. Now the position controller calculates the roll setpoint as well
for the sake of logging.

Signed-off-by: tumbili <roman@px4.io>
2016-06-22 15:19:11 +02:00
Daniel Agar 924fb49bf5 fw_pos_control_l1 shorten task name
-limited to 16 chars
2016-06-22 13:51:39 +02:00