Commit Graph
233 Commits
Author SHA1 Message Date
Beat Küng 5cacf17e47 navigator mission: simplify reset logic
This can be simplified because we now only activate Mission while armed.
2020-01-24 08:42:16 +01:00
Daniel Agar 350268ee68 navigator: mission WORK_ITEM_TYPE_MOVE_TO_LAND altitude isn't relative 2020-01-21 23:27:22 +01:00
RomanBapst 3e90cbe686 mission: explicitly set backtransition mission item altitude
Signed-off-by: RomanBapst <bapstroman@gmail.com>
2020-01-17 12:59:36 -05:00
Silvan Fuhrer 574b482fdb Navigator: make weather vane work in all auto modes, not just mission (#13761)
- rename of flag in position sp: from allow_weather_vane to disable_weather_vane
 - flag now doesn't have to be set for all auto modes, meaning that weather vane is also active outside of mission
 - flag is set before front transition to align with wp, and unset after alignment is over

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-12-28 12:13:15 -05:00
Julian Oes abf174282f navigator: fix VTOL RTL corner case
This fixes a corner case for VTOL RTL with RTL_TYPE 1.
RTL_TYPE 1 means that the VTOL skips all waypoints on RTL and jumps to
the land waypoint at the end.

During a mission in fixedwing mode it will continue to fly in fixedwing
mode and then do a transition before landing.

However, if RTL is engaged right at the moment of the front transition,
the transition waypoint is not inserted and the VTOL will try to land in
fixedwing mode at the mission land location.

This corner case is fixed in this patch by also considering the
"transition after takeoff" state.
2019-12-09 12:27:46 -05:00
Julian Oes cbea76f62a navigator: fix triplet resetting/publication logic (#13534)
The navigator has a notion of resetting the triplets which means the
triplet setpoints are set to invalid and therefore not to be used by
downstream modules such as flight tasks.

However, before this patch, the triplets were not published if invalid
meaning that a valid triplet would stay the truth until a new valid
triplet would get published.

E.g. this lead to the corner case case where we publish a valid triplet
with an IDLE setpoint on ground in HOLD and then don't update the
triplet while flying in POSCTL mode. Later, when RTL is engaged, the
flight task will use IDLE until navigator (which runs slower) has
published the next triplet.

The fix involves two main changes:
- Publish invalid triplets to avoid stale triplets.
- Avoid publishing the triplet on every iteration in manual modes by not
  setting `_pos_sp_triplet_published_invalid_once = false`.

When testing this I realized that a mission upload during RTL would stop
RTL. This is because the mission is updated while the mission navigation
mode is not active and reset_triplets() is called from there. This is
now only done for the case where we are actually in mission navigation
mode. The fact that a mission is updated when not active also seems
wrong and is something to fix another time.
2019-11-23 10:29:41 -05:00
Silvan Fuhrer 0ce9329803 Safe Landing Points: Added new RTL_TYPE: closest between home, mission landing and safe points
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>

Co-authored by Martina Rivizzigno <martina@rivizzigno.it>
2019-10-28 09:54:59 +01:00
Dusan Zivkovic 7ebaf9a1cb mission: ensure precland::on_inactivation() is called once landed 2019-10-25 09:28:09 +02:00
ToppingXu 35e0554ace navigator: fix save mission state. (#12468) 2019-10-14 11:58:42 +02:00
dusan19 8c4d32ff4b navigator: when setting pos_sp_triplet yaw, also set the yaw valid flag to true 2019-10-07 20:53:40 -04:00
Silvan Fuhrer 8a8cc3b52b Navigator: VTOL: set heading of transition of a VTOL_TAKEOFF to the VTOL_TAKEOFF waypoint (and enforce heading)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-21 10:08:04 +02:00
Silvan Fuhrer ab28f1e4f7 Navigator: VTOL: disable weather vane during yaw aligning before front transition
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-21 10:08:04 +02:00
Timothy Scott a134da6e12 Removed is_rotor_wing, replaced with vehicle_type 2019-06-13 10:04:26 +02:00
Daniel Agar e4ad994763 navigator move to new uORB::Subscription 2019-06-05 20:28:44 -04:00
bresch f3990c84fc Parameter update - Rename variables in modules/navigator
using parameter_update.py script
2019-04-03 15:38:50 +02:00
Alessandro Simovic d5aad58c92 navigator: reset vehicle_roi on mission update 2019-02-25 09:11:24 -05:00
Alessandro Simovic cb9d483cb8 navigator: removed "using" C++ directive
There is only one occurence of the namespace specified,
so it's more readable to simply specify the full namespace in this case.
2019-02-21 09:20:06 -05:00
Alessandro Simovic 168f1a5d51 navigator: offboard_mission -> mission 2019-02-21 09:20:06 -05:00
Dennis Mannhart c76621bdb2 RLT: set yaw to current yaw during climb 2018-08-03 08:24:34 +02:00
Dennis Mannhart e61131cf9c mission heading_sp_update: remove everthing except of MC and ROI logic. 2018-08-03 08:24:34 +02:00
Philipp Oettershagen 79f172eb92 Navigator: Fix fixed-wing first order altitude hold (#9850)
i.e. the altitude reference oscillations caused by it in LOITER mode
2018-07-15 23:54:08 -04:00
Florian Achermann 4697bf428b Navigator Fix: Do not set the closest mission item in normal mission mode (#9646)
- fixes #9606
2018-06-12 12:11:14 -04:00
Daniel Agar d0bde9ab2a replace geo _wrap_pi with matrix::wrap_pi 2018-06-12 09:00:52 +02:00
Florian Achermann 84578748f4 Navigator Mission RTL (#8749)
* Add return to land to mission

This method uses the planned mission for rtl. If a landing sequence
is present it will continue the mission and land. If not it will
fly back the mission and loiter/land at the home position.
2018-05-27 12:07:06 -04:00
Daniel Agar 29b3950747 move geo and geo_lookup to PX4/ecl 2018-03-26 23:16:55 -04:00
Beat Küng 76aa044105 navigator mission: add yaw offset to vehicle's yaw for ROI cmds and disabled gimbal yaw 2018-03-19 09:42:41 +01:00
Beat Küng f2dddc65a5 navigator: use new Param class 2018-03-13 17:35:15 +01:00
Lorenz Meier d8164377a8 Navigator: Move mission param into mission params
This is important for the compile scope.
2018-01-22 15:56:42 +01:00
Nicolas de Palezieux 7ae3884944 heading towards ROI: do not require setting the MIS_YAWMODE param to enable multicopters yawing towards ROIs
ROI yaw control: configure yawing capability of mount in vmount parameters.
If configured that mount has no yaw control, vehicle will yaw towards ROI, irrespective of MIS_YAWMODE.
Vehicle will behave according to MIS_YAWMODE when there is no ROI.
2018-01-22 15:56:42 +01:00
Nicolas de Palezieux aa4c6c038d navigator : add support for precision landing 2018-01-15 10:27:23 +01:00
Daniel Agar 916d6a15fd Mission merge offboard + onboard and simplify 2018-01-14 12:53:53 +01:00
Daniel Agar 956935141e Navigator simplify mission 2018-01-14 12:53:53 +01:00
Daniel Agar 545f8c4452 RTL optionally use planned mission landing (#8487)
- adds new RTL_LAND_TYPE parameter
2018-01-04 23:42:01 -05:00
Daniel Agar f87402b16c navigator remove redundant param updates 2018-01-04 09:21:17 +01:00
Daniel Agar e8624f8afe navigator takeoff alt check use altitude acceptance (#8480) 2017-12-17 01:39:53 -05:00
lamping7 63718bf27b fix MISSION_ITEM REACHED message broadcast (#8332) 2017-12-10 02:30:58 -05:00
Daniel Agar 4416c4ddb3 navigator move parameters out of MissionBlock
- MissionBlock is an interface with > 10 implementations
2017-10-26 22:43:53 +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
Dennis Mannhart 8a0a8e20e1 mc_pos_control: use correct altitude as limit
fadfdasf
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
Daniel Agar 3c18be387c ROI - move handling to navigator (#7939) 2017-09-26 12:25:02 -04:00
Dennis Mannhart 5b03c5f68e navigator: reset triplets during onboard/offboard mission update 2017-09-11 02:08:22 -07:00
Dennis Mannhart c1199d1202 mission don't apply slewrate for altitude 2017-09-11 02:08:22 -07:00
Dennis Mannhart 2655c72cea mission: remove altitude foh for rotarywing 2017-09-11 02:08:22 -07:00
Nicolas de Palezieux a6ce2b320c mission: add heading towards ROI mode for multicopters 2017-09-08 12:50:15 -04:00
Lorenz Meier 52ba62d6c4 Navigator: Pause and unpause camera triggering on entering and exiting a mission 2017-08-20 22:47:48 +02:00
Beat Küng b1730b67e4 mission: keep 'offboard mission updated' printf as a warning
Useful to see when a in-flight mission update happens from the log.
2017-08-04 18:08:51 +02:00
Beat Küng cb580c5268 navigator/mission.cpp: check result of dm_lock
and remove duplicated output, mavlink_log_critical already outputs to the
console
2017-08-04 18:08:51 +02:00
Beat Küng 7206bf86dc navigator mission: fix printf log levels 2017-08-04 18:08:51 +02:00
Daniel Agar 9fb5c4f0e9 navigator land abort use reposition (#7574) 2017-08-01 18:59:12 -04:00