Commit Graph

10045 Commits

Author SHA1 Message Date
ChristophTobler 9be8d6acc9 add subscriber handler and status displays 2017-10-24 13:15:14 +02:00
Finwood ba11e0dc44 use tabs for indentation 2017-10-22 22:05:56 +02:00
Lasse e2a359143d use altitude acceptance radius for MC takeoff check
When checking a mission, the takeoff altitude is being checked
against the waypoint acceptance radius to ensure the MAV being
clear from ground before heading to the next waypoint.
However, until now the _horizontal_ acceptance radius was being
used, instead of the altitude reference value.

Targets PX4/Firmware/#7379
2017-10-22 22:05:56 +02:00
Daniel Agar a133b12635 delete fw_pos_control_l1/mtecs 2017-10-22 21:56:06 +02:00
Paul Riseborough 3fc7aba178 TECS: Use version in ECL library
This change updates a number of interfaces to use the new TECS implementation from the ECL library.
2017-10-22 21:56:06 +02:00
Lorenz Meier 4923d0cba3 Remove TECS from system codebase
The TECS controller belongs really into the ECL (estimation & control library) where we have collected a number of vehicle control systems. It is being replaced by a new implementation of the algorithm, contributed by Paul Riseborough.
2017-10-22 21:56:06 +02:00
DonLakeFlyer 8693c51cba Fix bad meta data 2017-10-21 20:17:41 +02:00
Paul Riseborough c9f44531c2 logger: Add logging profile to support comparison of multiple sensors (#8134) 2017-10-20 09:30:55 -04:00
ChristophTobler d7c8d53489 use get() for BlockParam 2017-10-18 11:08:58 +02:00
ChristophTobler 40b8d8bd48 use distance to ground if on ground an distance is out of range 2017-10-18 11:08:58 +02:00
Julian Oes 787931f04f navigator: check distances between waypoints
Instead of just checking whether the first waypoint is too far away from
home it makes sense to also check between waypoints.
This can prevent
- flyaways due to user errors, or
- catch the corner case where a takeoff waypoint is added to a mission
  and therefore the first waypoint is not too far away, however, the
  subsequent waypoints are still too far away.
2017-10-18 08:42:20 +02:00
Beat Küng 8b797d9b05 logger: use int for loop counter 2017-10-18 08:40:32 +02:00
Beat Küng d930ad4e9e mavlink_orb_subscription: reduce orb_exists() check from 10Hz to 3Hz
Checking with 3Hz for new topics should be fast enough.
2017-10-18 08:40:32 +02:00
Beat Küng 7381ea8222 logger: remove unused topics commander_state & rc_channels
flight review now uses vehicle_status & manual_control_setpoint
2017-10-18 08:40:32 +02:00
Beat Küng deaf125c81 logger: check for newly published topics while not logging
If logger is started very early, orb_exists() will fail for a lot of
topics, they will be advertised within the next few seconds.
Logger already dynamically adds subscriptions during logging, but if we
do that before as well, we'll avoid any delays and having to subscribe
to a lot of topics all at once.
2017-10-18 08:40:32 +02:00
Beat Küng 3be252289a logger: use orb_exists to check if we need to subscribe to the first instance
To keep track of the configured interval, we store it as negative file
descriptor, until we do the subscription.

This frees up a considerable amount of file descriptors in most use-cases.
2017-10-18 08:40:32 +02:00
Beat Küng 4c4b528842 uORBManager: fix code style 2017-10-18 08:40:32 +02:00
Beat Küng 2f2c0440c4 orb_exists: change semantics from (is published or subscribed) to (is published)
Existing users of orb_exists:
- logger (dynamic subscribe to multi-instances)
- mavlink (orb subscription)
- sdlog2
- preflightcheck (check for home_position)
- wait_for_topic shell command (it's not used)
- orb_group_count() (sensors: dynamic sensor addition)

All use-cases benefit from the changed semantics: they are really only
interested if there is a publisher, not another subscriber.
2017-10-18 08:40:32 +02:00
Daniel Agar d83073f016 move RTPS to dedicated px4fmu-v{3,4,4pro,5}, posix, sdflight builds (#8113) 2017-10-17 16:29:55 -04:00
Matthias Grob e12bfa30d4 mc_att_control: defualt parameters set maximal acro rates to 2/1.5 turns per second for roll,pitch/yaw 2017-10-17 16:54:16 +02:00
Matthias Grob 8b09eaf124 mc_att_control: use SuperExpo input curve for acro mode to further enhance the stick feel 2017-10-17 16:54:16 +02:00
Matthias Grob 3ce5525b7c mc_att_control: use expo input for acro mode to allow for high input rates without loosing input sensitivity 2017-10-17 16:54:16 +02:00
Beat Küng 291872a28d mavlink: fix flight_information: use COM_FLIGHT_UUID instead of the board id
The board id was used as flight id which does not make sense.
2017-10-17 09:56:01 +02:00
Beat Küng 85e82dca0d commander: add COM_FLIGHT_UUID param, increased upon disarm 2017-10-17 09:56:01 +02:00
Beat Küng fa8453443f fix commander: remove arming_state_changed, check for was_armed != armed.armed instead
arming_state_changed was not set in all places where an arming transition
occurred, for example when calling arm_disarm() from auto-disarm.

We did not notice because the state is published with at least 5 Hz already.
2017-10-17 09:56:01 +02:00
José Roberto de Souza 239de7191f dataman: Prevent database corruption
The size in g_per_item_size[item] is the real struct size
+ DM_SECTOR_HDR_SIZE bytes of header and the backend functions were
not taking in care it. So a call to dm_write() with more bytes than
the real struct is allowed, causing corruption in the header of the
next item.

Kudos to jeonghwan-lee for finding it. https://github.com/PX4/Firmware/issues/7927
2017-10-16 23:38:03 +02:00
sanderux fd6f2192ac Code style 2017-10-15 15:34:59 +02:00
sanderux b01d887700 When switching to land in VTOL, update land target during back transition 2017-10-15 15:34:59 +02:00
Beat Küng 98e6ba858d logger: change SDLOG_PROFILE into a bitset
This is more flexible, allowing a combination of sets.

The default enables the same set & rates as before
2017-10-14 14:21:11 +02:00
Beat Küng be6079bc52 logger: add high rate & debug profiles 2017-10-14 14:21:11 +02:00
Beat Küng 30bc248138 rc_check: cleanup mavlink log messages 2017-10-13 15:50:37 +02:00
Daniel Agar c47cd972a8 attitude_estimator_q remove unused (#8106) 2017-10-13 00:54:52 -04:00
Beat Küng 4da4093839 logger status output: print 'Not logging' if not actually logging 2017-10-12 16:40:47 +02:00
acfloria 9d2da611f6 Fix mixer issue with undefined return in callback and non value initialized variables. 2017-10-12 12:03:22 +02:00
Daniel Agar 651df03f76 RTPS and micro-CDR build system cleanup (#8084) 2017-10-11 13:05:44 -04:00
Dennis Mannhart bb9f8c3b44 navigator set cruising speed/throttle for reposition (#8096) 2017-10-11 10:30:03 -04:00
Sugnan Prabhu 81809be7cd Add include guard in headers files (#8108)
Signed-off-by: Sugnan Prabhu S <sugnan.prabhu.s@intel.com>
2017-10-11 09:47:52 -04:00
Dennis Mannhart 8a0a8e20e1 mc_pos_control: use correct altitude as limit
fadfdasf
2017-10-10 10:28:07 +02:00
Dennis Mannhart 115e7246b0 battery: only propagate warning state in upwards 2017-10-10 10:28:07 +02:00
Dennis Mannhart f9b8afc006 Navigator: Use maximum flight altitude to limit missions
This change limits all mission items to the maximum flight altitude. The mission will still be executed and flown,
but the vehicle will never exceed the mission altitude. This ensures the vehicle can always reach the mission
items. Wether or not the entire mission should be rejected if it falls outside of the fenced area is enforced
in the mission feasibility checker function.
2017-10-10 10:28:07 +02:00
Dennis Mannhart 29cdb655c3 landdetector: remove outdated comment 2017-10-10 10:21:09 +02:00
Dennis Mannhart 44a71d90f5 mc_pos_control: takeoff threshold to 0.65 2017-10-09 19:05:15 +02:00
Julian Oes 7229ec2a37 Move throttle check from land detector to posctrl
This commit is an attempt to fix a race condition happening on takeoff
between the land detector and the multicopter position controller.

Previously, an auto-takeoff leads to the following events:

1. A takeoff setpoint is given.
2. The thrust setpoint spikes because we don't enter smooth takeoff yet.
3. The land detector detects a takeoff because of the high thrust.
4. The position controller sees the landed state transition and
   initiates the smooth takeoff. Thrust goes back down.
5. Depending on control gains the takeoff is successful or fails
   if the smoothing takes too long which causes thrust to be too low, so
   the land detector detects land again.

The two obvious problems with this are:
- The intermittent spike.
- The failed takeoff because of the smoothing leads to a delay..

With this change, the logic for a takeoff detection is moved from the
land detector to the position controller.

The events are now:

1. A takeoff setpoint is given.
2. The position controller detects the takeoff setpoint and initiates
   the smooth takeoff.
3. As thrust ramps up, the land detector detects the take off.

In the same way, we now detect the intent to takeoff in manual,
altitude, control, position control in the position controller instead
of in the land detector.
2017-10-09 19:05:15 +02:00
Dario Röthlisberger 3dd4454a87 version: include FIRMWARE_TYPE in vendor version 2017-10-09 14:41:58 +02:00
Dario Röthlisberger 257e54b304 logger: write vendor version if existent 2017-10-09 14:41:58 +02:00
Dennis Mannhart 0d7d6e59f5 mc_pos_control: description fix 2017-10-09 10:20:29 +02:00
Matthias Grob 2b7dcd3f34 mc_pos_control: multiple small fixes in position controller we acumulated over time during our PX4 deployment and want to contribute back 2017-10-09 10:20:29 +02:00
Matthias Grob c177d6491a mc_pos_control: simplify unnecessary complicated boolean conditions 2017-10-09 10:20:29 +02:00
Paul Riseborough ed950d70ce ekf2: Add missing documentation 2017-10-09 08:58:01 +02:00
Paul Riseborough dbc3a13236 ekf2: remove unused parameter
The logging of replay data is now controlled by the logging module
2017-10-09 08:58:01 +02:00