Commit Graph
890 Commits
Author SHA1 Message Date
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
Paul Riseborough 49d82164c6 navigator: check home position horizontal and vertical validity 2017-12-07 08:20:16 +00:00
Nicolas de Palezieux a6ae1fbcaa vehicle command ROI: do not erroneously report command unsupported; handle VEHICLE_CMD_DO_SET_ROI and VEHICLE_CMD_NAV_ROI identically (#8377) 2017-11-27 15:43:39 -05:00
Daniel Agar 246c47e0db RTL land use mavlink critical and log when starting landing 2017-11-26 14:40:13 -05:00
Daniel Agar 8567e3b924 RTL fix RTL_LAND_DELAY check and simplify logic 2017-11-26 14:40:13 -05:00
Daniel Agar 84f07c64b0 Navigator RTL fully initialize mission item in each state 2017-11-14 14:57:34 -05:00
Daniel Agar 98cbd44526 RTL check alt_max before using
- fixes #8257
2017-11-14 14:57:34 -05:00
Dennis Mannhart 05c00855c4 navigator: reset triplets if navigation mode changes (#8285) 2017-11-14 11:32:21 -05:00
Beat Küng c2c8ed6f5c navigator: make FollowTarget::_follow_position_matricies constexpr (#8281)
The matrix is never changed and has a size of 144 bytes.
2017-11-13 12:30:33 -05:00
Lorenz Meier 4028692bfe Navigator: Limit string copy to length of target array 2017-11-13 09:59:54 +01:00
Beat Küng 29af2343e1 fix NAV_TRAFF_AVOID param definition: needs a ;
Without that the parameter was not in parameters.xml, producing the error:
ERROR [lib__controllib] error finding param: NAV_TRAFF_AVOID
2017-10-31 11:18:49 +01:00
Lorenz Meier a1a002f9b6 Navigator: Add the ability to do a low-altitude RTL to avoid traffic
This is a first baseline implementation for collision avoidance with aircraft equipped with transponders. Since the drone-to-drone and drone-to-airplane system will be regulated by a standard, we do carefully avoid to do anything too fancy. This implementation allows to reduce altitude to get close to ground and land immediately or RTL. This is similar to what a human pilot would do and allows to get out of manned airspace which is at higher altitudes.
2017-10-31 09:10:32 +01:00
Julian Oes 6d8d6323cb navigator: bring follow me back to life
The function `mission_item_to_position_setpoint()` is called in
`FollowTarget::update_position_sp()`. The nav_cmd is a
NAV_CMD_DO_FOLLOW_REPOSITION as set earlier in `set_follow_target_item`.

Since `mission_item_to_position_setpointi` returns early because the item
presumably contains no position, the lat/lon of the mission_item are
not copied over to the position_setpoint and therefore the vehicle will
never move in follow me position mode.
2017-10-29 12:58:00 +01:00
Julian Oes 10de946cdf navigator: remove leftover debug variable 2017-10-29 12:58:00 +01: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
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
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
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
Dennis Mannhart bb9f8c3b44 navigator set cruising speed/throttle for reposition (#8096) 2017-10-11 10:30:03 -04: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 80dd87536e navigator fix vehicle_command_ack (don't copy external) 2017-10-06 20:11:19 +02:00
Daniel Agar 352d65a14a navigator delete unused attitude setpoint (#8028) 2017-09-29 11:51:00 -04:00
Daniel Agar 3c18be387c ROI - move handling to navigator (#7939) 2017-09-26 12:25:02 -04:00
Daniel Agar 545ce9ae24 modules remove extra semicolons 2017-09-16 21:29:52 +01:00
sanderux 919b3a218a Factor in reverse pusher delay on mission acceptance radius 2017-09-13 17:25:41 +02: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
Daniel Agar 7a42424411 Navigator resurrect FW GPS failure navigation (#7762) 2017-09-08 12:18:59 -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
Lorenz Meier 447c167d3e Navigator: Add on_inactivation() interface.
This allows to run a command / function once when being deactivated. This avoids having flight modes which are not active run unnecessary code all the time.
2017-08-20 22:47:48 +02:00
Daniel Agar b70b8288b9 px4_includes cleanup incomplete list 2017-08-20 20:42:42 +02:00
José Roberto de Souza c200d0e9a4 Keep initialization of outgoing vehicle_command_s consistent
All others are initialized this way.
2017-08-19 09:04:52 +02:00
sanderux e9516db5b0 Back transition duration based on deceleration m/s/s 2017-08-16 03:06:13 +02:00
sanderux e8a84b4faa Typo 2017-08-09 10:35:44 +02:00
sanderux a2ec771f78 Widen first waypoint max setting for FW 2017-08-09 10:35:44 +02:00
José Roberto de Souza 925efe990d Initialize all outgoing vehicle_command_ack_s and vehicle_command_s
This will initialize those structs with zero in all fields not set
and all fields set will only be change once to the final value not
wasting CPU time zeroing it.

This will guarantee that no non-unitialized structs will have
a trash value on from_external causing it to be sent to the
MAVLink channel without need it.
2017-08-08 21:46:30 +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 6d85a3c4e4 geofence: lock geofence items during a write transfers
- avoids race conditions when geofence data is updated in flight. During
  a transfer, the geofence module will not check for violations, which
  is done with the new dm_trylock method.
- there is an update counter stored in dataman, and for each write
  transaction this is increased, so that the geofence module can reload
  the data upon data change (after it's unlocked).
- single dm item updates are atomic already, so resetting the polygons
  to 0 does not need locking.
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 3d3e6428c2 msg/geofence_update.msg: remove this topic
We'll use dataman to check for geofence data updates.
2017-08-04 18:08:51 +02:00
Beat Küng ed478f40fd geofence: implement circular areas 2017-08-04 18:08:51 +02:00
Beat Küng 32491626b6 mavlink mission: set mission_type in mavlink_mission_count_t message 2017-08-04 18:08:51 +02:00
Beat Küng 401d6a1a6f navigator status: print how many polygons there are currently loaded 2017-08-04 18:08:51 +02:00
Beat Küng 4c1328483d geofence: disable altitude check if not configured
It currently cannot be configured via mavlink mission protocol.
2017-08-04 18:08:51 +02:00