Commit Graph
753 Commits
Author SHA1 Message Date
Sander Smeets 3649def02e Fix heading hold for ekf2 mission takeoff 2016-12-27 13:05:26 +01:00
Anton Matosov 3a17c07b1e Implement RC and DL failsafe action handling for multirotors
Move RC and DL failsafe actions handling from navigator to commander (credits to @AndreasAntener)
Separate manual kill switch handling via manual_lockdown to prevent override and release of software lockdown by RC switch

Other changes:
Add failsafe tune
Fix LED blinking for Pixracer
Return back support for rc inputs in simulator but now it is configurable via cmake
2016-12-27 00:38:13 +01:00
David Sidrane dc8c6ea5e5 White space fixes 2016-12-21 08:34:21 +01:00
Julian Oes 3ac056924c navigator: increase stack
The stack size was generally ok but seemed to get exhausted in the case
of a waypoint which is too far away and therefore exercises some more
code in the mission feasability checker.

Generally, we should have more margin in the navigator stack size
because there are a bunch of different code paths that can happen.
2016-12-15 09:05:02 +01:00
Julian Oes a096b97455 Revert "navigator: increase stack"
This reverts commit 6a6e9d02a3.
2016-12-15 09:05:02 +01:00
Julian Oes 6a6e9d02a3 navigator: increase stack
The stack size was generally ok but seemed to get exhausted in the case
of a waypoint which is too far away and therefore exercises some more
code in the mission feasability checker.

Generally, we should have more margin in the navigator stack size
because there are a bunch of different code paths that can happen.
2016-12-15 00:12:54 +01:00
Julian Oes 8a6af658f3 navigator: don't omit printf value
There was a mismatch between the printf arguments and what was defined
in the fmt.
2016-12-15 00:12:54 +01:00
Daniel Agar 17990cf5dc geofence fix combined simple and polygon logic
- require being inside both fences, not either
2016-12-14 08:49:13 +01:00
Julian Oes 1424994bc0 navigator: don't takeoff in loiter on ground
This fixes the following corner case:
1. Upload a mission.
2. Set mission mode.
3. Set loiter mode.
4. Arm.
At this point it will shoot up and go to the takeoff waypoint even
though we're not in mission but in loiter mode.

The fix makes sure that the triplet is reset to invalid (and idle) in
loiter mode if we're landed and disarmed.
It will lead to the vehcle sit in idle on the ground until you issue a
start mission (or takeoff) command.
2016-12-08 15:07:14 +01:00
Daniel Agar c17c8884d1 implement MAV_CMD_DO_LAND_START 2016-11-19 15:48:10 +01:00
Daniel Agar 6cdd188158 geofence max horz/vertical better messages 2016-11-19 15:16:00 +01:00
Daniel Agar c701085ed4 geofence fix code style 2016-11-19 15:16:00 +01:00
Daniel Agar 6f10f8de9a navigator begin fixing code style 2016-11-19 15:16:00 +01:00
Michal Stasiak 9180268a17 Geofence: Param update fix (#5812) 2016-11-06 14:31:59 -05:00
Daniel Agar 8ac4dd04ae implement MAV_CMD_MISSION_START 2016-11-06 15:24:34 +01:00
Michal Stasiak 2bfac7ff4f Mission feasibility: Geofence check fix
Current implementation checks against geofence only if it is in polygon form.
When it's created via params, it accepts all the waypoints as the number of vertices = 0.
Thus, changed the function to the one that is used to check whether geofence is breached in flight.
2016-11-05 11:07:23 +01:00
Daniel Agar a8369c6ac8 FW use loiter to achieve waypoint altitude
- fixes #5061
2016-11-05 10:30:36 +01:00
Sander Smeets 39cc75b4a0 Rebase of vtol_land_weathervane patch 2016-11-04 20:29:45 +01:00
Lorenz Meier 05bc9acfb7 navigator: Wrap get time inside into function call and set time inside to zero
This ensures that the dual-use of the pitch_min / time_inside field is handled
properly between takeoff and non-takeoff items. Flight tested in SITL.
2016-10-23 16:26:03 +02:00
Lorenz Meier ff0d7613b1 Add manual seed to dataman hash to allow later incrementing the seed number for incompatible changes 2016-10-23 16:26:03 +02:00
Lorenz Meier c340974991 Ensure pitch min param is correctly handled 2016-10-23 16:26:03 +02:00
Lorenz Meier eaae1abdaf Simplify use of pitch_min 2016-10-23 16:26:03 +02:00
Lorenz Meier 9821499113 navigator / mission item: Compress fields into bitfield 2016-10-23 16:26:03 +02:00
Lorenz Meier 5899ce715d Navigator: Leverage overlapping fields in logic to save RAM by makeing them overlap in memory as well 2016-10-23 16:26:03 +02:00
Julian Oes 4160b65edb navigator: change default min takeoff alt to 2.5m
Fixedwing aircraft will override this with fw.defaults anyway.
2016-10-23 16:25:15 +02:00
Julian Oes 82f27884df navigator: fix wrong altitude after takeoff
This change fixes a wrong behaviour when a takeoff command is sent.

An example:
- MIS_TAKEOFF_ALT set to 10 meters
- Takeoff command with alt setpoint of 2 meters

Old behaviour:
1. Climb to 10 meters -> takeoff WP reached
2. Go to setpoint at 2 meters

New behaviour:
1. Climb to 10 meters and stay there but notify that altitude was
   overridden.
2016-10-23 16:25:15 +02:00
Julian Oes dcd0df7d02 navigator: fix typo 2016-10-23 16:25:15 +02:00
Julian Oes 4f5fa50efb navigator: fix takeoff jump edge case
In the normal sitl `commander takeoff` case, the takeoff jump was never
actually carried out because the default altitude radius is set to 3m
and the takeoff altitude to ~2m which means that the takeoff waypoint is
"reached" immediately.

This works around this edge case by using the altitude between the home
altitude and takeoff altitude divided by 2 as a acceptance radius.
2016-10-23 16:25:15 +02:00
David Sidrane 44b5b52bcb Add suport for Memory Constrained systems 2016-10-18 00:23:58 +02:00
Julian Oes 9842e49dc6 navigator/mavlink: photos and videos at waypoints
This adds the capability to forward the commands
- MAV_CMD_VIDEO_START_CAPTURE
- MAV_CMD_VIDEO_STOP_CAPTURE
- MAV_CMD_IMAGE_START_CAPTURE
- MAV_CMD_IMAGE_STOP_CAPTURE
at waypoints which will then be sent over mavlink to component id
100 aka MAV_COMP_ID_CAMERA.
2016-10-15 12:37:06 +02:00
Beat Küng c87933d556 navigator: cleanup output messages (don't use warnx) 2016-10-11 13:10:43 +02:00
Julian Oes 7cdf9c31bf navigator: usual usleep after poll fail
We don't want to busy loop after the poll fail if that ever happened.
2016-10-11 13:05:37 +02:00
Julian Oes f6ad9b8283 navigator: only poll for position
We don't need to poll for vehicle commands, we will get them anyway by
doing orb_check. Also, the polling for them wasn't implemented correctly
anyway.
2016-10-11 13:05:37 +02:00
Beat Küng 55bff206be mission: add NAV_CMD_DO_SET_ROI & NAV_CMD_ROI 2016-10-07 10:57:26 +02:00
Beat Küng ce0d31b7d9 mavlink log: ensure all critical & emergency msgs are also logged to console & ulog
Critical messages that the user sees should also go to the log file, so
that the exact error (with time) can later be analyzed from the log file.
2016-09-30 13:50:51 +02: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
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 7c0a567eaa navigator explicitly invalidate position setpoint 2016-09-26 23:11:08 +02:00
Daniel Agar 7b03bce416 Navigator mission FOH use previous loiter altitude
-the previous item altitude wasn't valid if switching from LOITER ->
MISSION
-fixes #5395
2016-09-26 23:11:08 +02:00
Julian Oes 997ae98444 navigator: reset cruise speed when out of mission (#5494)
This reset the cruise speed which can be set by mission items/waypoints
to set a custom speed. Once, switched out of mission, it makes sense to
use the speed set by the param again.
2016-09-26 22:54:15 +02:00
Daniel Agar 1d0a667826 Geofence defaults (#5534)
* geofence messages too frequent

* geofence horz/vert disable with 0 instead of -1

-closes #5430
2016-09-26 22:50:36 +02:00
Beat Küng 3a084fbdb8 position_setpoint_triplet topic: set the timestamp when publishing 2016-09-19 13:03:40 +02:00
Julian Oes 4453e4201b navigator/mavlink: fixes for mission item reached message (#5486)
* navigator/mavlink: always send last reached item

Since we can't rely on mavlink that every message arrives, it makes
sense to continuously send the last reached waypoint.

* navigator: don't report reached for takeoff

If a takeoff waypoint has been inserted, we should not report that we
reached a mavlink mission item because we actually have not.
2016-09-13 21:52:28 +02:00
Beat Küng be4db3c5df vehicle_command topic: use uorb queuing with length 3
Just to make sure we don't lose any messages.
2016-09-07 18:47:12 +02:00
Andreas Antener 06bfecd829 Geofence: use correct types for float params 2016-09-07 08:05:28 +02:00
Nate Weibley 686fd5b125 Convert geofence distance params to float (#5435) 2016-09-02 11:49:53 -04:00
sander e6834579e5 Use altitude acc rad 2016-08-17 23:58:04 +02:00
sander 7afa21ebb7 Revert altitude acceptance radius to combat overshoot 2016-08-17 23:58:04 +02:00
Andreas Antener 2e44fe9edd update previous waypoint before transition command 2016-08-12 11:50:38 +02:00
Daniel Agar 2a15578f8d FW implement MAV_CMD_DO_GO_AROUND 2016-08-06 20:56:53 +02:00