Commit Graph
331 Commits
Author SHA1 Message Date
Lorenz Meier ad3d0391ab Navigator: Only update params as they change 2017-02-25 11:04:52 +01:00
Lorenz Meier 3e88b2f2b1 Rate-limit navigator update rate 2017-02-24 08:52:10 +01:00
ChristophTobler 6a60ff9dc3 fix code style 2017-02-13 21:11:25 +01:00
ChristophTobler 1f7fdb2386 allow local position for takeoff (e.g. flow) 2017-02-13 21:11:25 +01:00
Daniel Agar 96e51f7c59 clang-tidy remove redundant 2017-02-01 22:15:50 -05:00
Daniel Agar e927f3e040 clang-tidy modernize-use-nullptr 2017-02-01 22:15:50 -05:00
Daniel Agar c280358e32 navigator fix code style 2017-01-07 01:03:18 -05:00
Julian Oes a985c27ab0 navigator: reset reached flag, not reached seq
It doesn't make sense to reset the reached sequence, especially not to
false since it's an int.
2017-01-03 08:22:34 +01:00
Julian Oes a394d148a1 navigator: don't reset current waypoint
We don't want to reset the current waypoint because this means that the
ground stations see a current waypoint of 0 if the current waypoint is
not updated e.g. when we're not in mission mode.

However, it is wrong to send 0 as the current waypoint because if we
switch back to mission mode, it will actually go to the last current
waypoint and not 0.
2017-01-03 08:22:34 +01:00
Lorenz Meier 4c8e353df7 Fix navigator build error after re-integration 2016-12-28 12:02:25 +01:00
Simon Wilks 647fafe9bc Allow for immediate cruise speed changes at any time during a mission. 2016-12-28 11:53:19 +01:00
Andreas Antener e0fc0a847c Mission:
- weathervane on takeoff
- separate cruising speeds for VTOL in MC and FW
- cruising speed resets
- mission work item logic is more clear
- fixed double execution of certain work item states
- enable cruise speed change on the fly by command
- moved VTOL transition target position generation to mission code and set always
2016-12-28 11:53:19 +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
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
Daniel Agar c17c8884d1 implement MAV_CMD_DO_LAND_START 2016-11-19 15:48:10 +01:00
Daniel Agar 8ac4dd04ae implement MAV_CMD_MISSION_START 2016-11-06 15:24:34 +01: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
Daniel Agar 7c0a567eaa navigator explicitly invalidate position setpoint 2016-09-26 23:11:08 +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
Daniel Agar 2a15578f8d FW implement MAV_CMD_DO_GO_AROUND 2016-08-06 20:56:53 +02:00
Lorenz Meier 0481c002df Navigator: Initialize subscription and disallow copy constructors for classes that have pointer members 2016-08-05 10:13:52 +02:00
sander e4f20f98cd Implement altitude acceptance radius 2016-07-30 11:43:52 +02:00
sander 4b414d96eb Init _mission_throttle 2016-07-28 16:44:27 +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
Lorenz Meier 0a40034159 Takeoff: Fix coordinate scaling (#4947) 2016-06-30 16:26:05 +02:00
sander f2e425b75b commenting 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
Lorenz Meier de675845af Fix navigator timeout logic 2016-06-22 00:04:31 +02:00
Julian Oes 739d1cfd3f navigator: always run the loop, even without GPS
If the navigator stops when no more position updates arrive, it won't
switch to land mode when DESCEND is requested by the commander.
2016-06-21 10:21:34 +02:00
Lorenz Meier ba9e9397aa Navigator: Be more efficient 2016-05-29 16:27:27 +02:00
Lorenz Meier 3c22c1c525 Make navigator message a bit more informative 2016-05-19 22:17:41 +02:00
Mark Whitehorn 87e5499ad2 stop spamming console with timeout warnings 2016-05-19 22:16:29 +02:00
Daniel Agar eae726e345 FW add mavlink NAV_CONTROLLER_OUTPUT 2016-05-13 12:56:04 +02:00
Lorenz Meier a700b02f77 Navigator: Do not publish an empty triplet 2016-05-13 11:03:35 +02:00
Lorenz Meier 8960ab3402 Navigator: differentiate between takeoff and reposition commands, perform calculations for repositions only when armed. 2016-05-10 13:58:42 +02:00
Lorenz Meier 09d8476c1d Navigator: update header 2016-05-10 10:12:10 +02:00
Lorenz Meier b9333d95f4 Navigator: Run faster 2016-05-09 23:01:54 +02:00
Lorenz Meier 5c70b44d0a Navigator: Support finer granularity of RTL and failsafe actions 2016-04-25 08:44:51 +02:00
Lorenz Meier a1e90f4aa7 Better loiter handling 2016-04-24 20:03:05 +02:00
Lorenz Meier 588133e85d Commander: Only change flight mode immediately if GCS requested it 2016-04-24 12:10:23 +02:00
Lorenz Meier 2244ff167f Navigator: execute on reposition commands 2016-04-24 11:54:20 +02:00
Lorenz Meier 05aae9410c Navigator: Handle reposition commands. Untested 2016-04-23 20:12:11 +02:00
Lorenz Meier 82d51c5d17 Support more failsafe actions on data link and RC loss 2016-04-23 16:31:03 +02:00
Julian Oes 1f44fb1efd commander: internalize system status bools
Most condition bools in the commander are not used anywhere but in the
commander. It therefore makes sense to move them to a different internal
struct and remove them from the vehicle_status message.

Also, the land_detected should be used by all the modules instead of
getting it through the commander and system_status.
2016-04-11 18:01:47 +02:00
Andreas Antener 7f5a2b1bac only use the default acceptance radius for checking mission feasibility 2016-04-08 22:40:02 -07:00