Commit Graph
876 Commits
Author SHA1 Message Date
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
Beat Küng 2981ece921 geofence: do not show an error for MAV_FRAME_GLOBAL_RELATIVE_ALT{,_INT} items
Since the altitude is not used, we can ignore this as well.
2017-08-04 18:08:51 +02:00
Beat Küng e52491c023 geofence: there is no altitude for geofence vertices, remove the TODO 2017-08-04 18:08:51 +02:00
Beat Küng c4cdaa48e0 dataman, mission_feasibility_checker: remove unneeded uorb includes 2017-08-04 18:08:51 +02:00
Beat Küng 82716012bd geofence_update.msg: notify navigator on geofence update 2017-08-04 18:08:51 +02:00
Beat Küng 328e84117e navigator geofence: switch to new dataman data structure, support multiple polygons
This also removes the 'navigator fence <lon> <lat>' command to simplify
code (I don't think there's still use for that anymore). However the
file loading is still supported.

If goefence.txt does not exist, navigator will not clear the geofence
anymore on startup.
2017-08-04 18:08:51 +02:00
Beat Küng 40c696ff49 navigation.h: add dataman structs for fence & save points 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
Beat Küng 52ca49c682 geofence: remove fence & fence_vertex messages
- this was never read
- it was implemented wrong, leading to memory access violations in
  publishFence (an integer was passed instead of the fence_s struct)
2017-08-04 18:08:51 +02:00
Lorenz Meier 60c96d9dd6 Navigator: Use default scheduling priorities 2017-08-02 21:18:35 +02:00
Daniel Agar 9fb5c4f0e9 navigator land abort use reposition (#7574) 2017-08-01 18:59:12 -04:00
Lorenz Meier cb3222d131 Navigator: Be less verbose 2017-07-18 23:05:43 +02:00
Lorenz Meier dbc7d805f2 Navigator: Fix pause mode to not continue to next waypoint if already set 2017-07-11 13:23:12 +02:00
Lorenz Meier 57a2ea0cd1 Navigator: Do not change target position if user is only changing altitude
This is important for multicopters for drift-free altitude changes and important for fixed wing to keep the current loiter center.
2017-07-10 18:36:03 +02:00
Lorenz Meier 099a6dfd3e Mission feasibility checker: Improve output messages for humans
Text to speech will work better with these messages and some of them exceeded the 50 character limit.
2017-07-09 14:43:24 +02:00