Commit Graph

38114 Commits

Author SHA1 Message Date
Rishabh
ce48b82500 AC_WPNav: remove brake 2019-06-13 09:02:46 +09:00
Rishabh
00f6dc9b05 Copter: brake moved in from AC_WPNav 2019-06-13 09:02:46 +09:00
Peter Barker
c59dde78c6 AP_HAL_SITL: dump stack trace as part of panic() 2019-06-13 09:25:42 +10:00
Peter Barker
dd68b14f46 AP_HAL_SITL: move dump_strack_trace into HAL 2019-06-13 09:25:42 +10:00
Peter Barker
c3a99c8eb0 AP_HAL: move dump_strack_trace into HAL
Use a weak definition to allow subclasses to override
2019-06-13 09:25:42 +10:00
Randy Mackay
cceab9c88f AC_Avoidance: fix BendyRuler when outside polygon fence 2019-06-12 14:54:33 +09:00
Peter Barker
de5ace24fd Sub: remove duplicate EV log message definition 2019-06-12 10:05:59 +10:00
Peter Barker
cc7044b360 AP_Scheduler: include internal error count in PM log message 2019-06-12 10:05:59 +10:00
Peter Barker
733b7b7f1a AP_Logger: include internal error count in log structure 2019-06-12 10:05:59 +10:00
Peter Barker
5f877294c9 AP_Logger: re-add lost validate_structure loop
Lost with bad rebase
2019-06-12 10:05:59 +10:00
Peter Barker
cd0265644d AP_Logger: disable float-mult-zero sanity check for the time being 2019-06-12 10:05:59 +10:00
Peter Barker
ae85994c59 GCS_MAVLink: include internal error count as errors4 in SYS_STATUS 2019-06-12 10:05:59 +10:00
Peter Barker
256b6703f1 AP_InternalError: keep count of number of errors having occured 2019-06-12 10:05:59 +10:00
Andrew Tridgell
7c44ad04b6 Copter: check for EKF lane switch to avoid EKF failsafe
this fixes an issue with mismatch between the EKF lane switch
threshold and the copter EKF failsafe threshold
2019-06-12 09:52:20 +10:00
Andrew Tridgell
99316a191c AP_AHRS: added check_lane_switch() 2019-06-12 09:52:20 +10:00
Andrew Tridgell
60831c2878 AP_NavEKF3: added checkLaneSwitch()
this allows the vehicle code to ask the EKF to change lanes if it is
about to do an EKF failsafe
2019-06-12 09:52:20 +10:00
Andrew Tridgell
3073c4da7a AP_NavEKF2: added checkLaneSwitch()
this allows the vehicle code to ask the EKF to change lanes if it is
about to do an EKF failsafe
2019-06-12 09:52:20 +10:00
Francisco Ferreira
82369a0602 azure: fix builds 2019-06-12 09:51:17 +10:00
Peter Barker
82dd2438b9 waf: add -Werror=parentheses
This warns on some of our compilers in CI, but doesn't flag it as an
error ATM
2019-06-11 21:50:53 +10:00
Peter Barker
f385a4a329 GCS_Common: fix compiler warnings on missing parentheses 2019-06-11 21:50:53 +10:00
Randy Mackay
6ed09d83f3 GCS_MAVLink: send_home_position uses const Location reference 2019-06-11 13:13:22 +09:00
Randy Mackay
0a86bbdc9a AC_Avoidance: add license to cpp file 2019-06-11 13:13:22 +09:00
Randy Mackay
c233c3aff3 Rover: integrate OAPathPlanner 2019-06-11 13:13:22 +09:00
Randy Mackay
70e9881880 AR_WPNav: integrate OAPathPlanner 2019-06-11 13:13:22 +09:00
Randy Mackay
af80070ed9 AP_OAPathPlanner: path planning around obstacles
implements both bendy ruler and dijkstra's algorithms

includes many changes after peer review including:
removed unused airspeed and turn-rate arguments
renamed constants to start with OA_BENDYRULER_
removed fence_ptr check from update function that could cause bendy ruler to fail when fences were disabled
AC_Fence's fence-margin is not used and instead we always use a hard-coded 2m limit
vehicle's heading is used instead of ground-course when speed is below 0.2m/s
static assert added to ensure OA_BENDYRULER_BERAING_INC constant is defined correctly
replace BAD_MARGIN/GOOD_MARGIN with FLT_MAX/-FLT_MAX
use calc_margin_from_xxx function's return values
calc-margin-from-proximity-sensors fails if copy-locations fails
remove debug
remove unused singletons

and other changes including:
integrate fence rename to get_boundary_points
adapt to fence return point and duplicate final point from not being returned
create bendyrule and dijkstra objects on init
add pre-arm-check to ensure they've been created successfully
Dijkstra's detects polygon fence changes
minor fix to Dijkstra's return path
allow update_visgraph to accept 0,0 as extra point

and these fixes from peer reviews:
remove unused methods
add note about dangers of operator[]
reduce memory consuption of ShortPathNode
remove unused methods including print_all_nodes and print_shortest_path
replace OA_DIJKSTRA_POLYGON_VISGRAPH_INFINITY_CM with FLT_MAX
update method gets check that ekf origin has been set
fix indexing bug in inner fence creation
fix whitespace error
find-node-from-id uses switch statement instead of 3 IF statements
update_visgraph comments added to clarify usage of extra_position argument
find-closest-node-idx always uses node_index instead of int16_t
static assert that OA_DIJKSTRA_POLYGON_FENCE_PTS < 255
some looping style changes
AP_OABendyRuler: fix to ground course calculation
AP_OAPathPlanner: pre_arm_check writes to caller's buffer
remove unnecessary hal and stdio.h includes
rename fence_ptr local variable to fence
add sanity check to OADijkstra's set_fence_margin
add sanity check to OABendyRuler's set_config
BendyRuler's test_bearing local constants changed to be float constants
BendyRuler's ahrs_home made local constant
BendyRuler's proximity margin calcs lose margin_found local variable (use FLT_MAX instead)
BendyRuler's calc-margin-from-circular-fence performance improvement by removing one sqrt
AP_OABendyRuler: fix probe directions to be 5deg offsets from dir to destination
AP_OADijkstra: fixes after peer review
remove unnecesary initialisations
replace safe_sqrt(sq()) with length()
remove unnecessary block
comment fixes
AP_OAPathPlanner: add logging of final an intermediate location
2019-06-11 13:13:22 +09:00
Randy Mackay
c7b1ad3443 AP_Logger: add Write_OA 2019-06-11 13:13:22 +09:00
Randy Mackay
beb9ecbdcb AC_Fence: add get_boundary_update_ms
this allows callers to detect changes in the underlying polygon fence
2019-06-11 13:13:22 +09:00
Randy Mackay
0f6e61bc33 AC_Fence: add is_polygon_valid accessor 2019-06-11 13:13:22 +09:00
Randy Mackay
9c3812e384 AP_Proximity: move copy_locations to backend
also remove unused get_locations
also fix comment for copy_locations method
2019-06-11 13:13:22 +09:00
Tom Pittenger
b792fe4b26 AP_Proximity: add Location* object and accessors 2019-06-11 13:13:22 +09:00
Randy Mackay
c2bcc0d5f0 AP_Math: define Vector2f::perpendicular 2019-06-11 13:13:22 +09:00
Randy Mackay
071e340827 AP_Math: Polygon_closest_distance_line returns neg numbers
value is negative distance from intersection to p2
2019-06-11 13:13:22 +09:00
Andrew Tridgell
6eb816fd3b AP_Math: add Polygon_closest_distance_line
Also add optimisations
2019-06-11 13:13:22 +09:00
Andrew Tridgell
a5fd7ac5ca AP_Math: add vector2f::closest_distance_between_line_and_point_squared
also add vector2f::closest_distance_between_line_and_point and vector2f::closest_distance_between_lines_squared
2019-06-11 13:13:22 +09:00
Andrew Tridgell
2457bf71d4 AP_Math: add simplified vector2f::closest_point
this simpler version assumes the line segment originates at the origin
2019-06-11 13:13:22 +09:00
Andrew Tridgell
c8e49259a0 AP_Math: add vector2f::closest_distance_between_radian_and_point_squared 2019-06-11 13:13:22 +09:00
Andrew Tridgell
dbf337e1b3 AP_Math: move closest_point to cpp 2019-06-11 13:13:22 +09:00
Andrew Tridgell
bfc28dfde9 AP_Math: move normalize, reflect, project and perpendicular to cpp 2019-06-11 13:13:22 +09:00
Andrew Tridgell
01e541b7d1 AP_Math: minor formatting changes to length method 2019-06-11 13:13:22 +09:00
Andrew Tridgell
4c4de1f021 AP_Math: vector2f::length_squared always returns float 2019-06-11 13:13:22 +09:00
Andrew Tridgell
46617e6c72 AP_Math: remove unused include from Vector2 2019-06-11 13:13:22 +09:00
Andrew Tridgell
69781cda42 AP_Math: add Vector2::angle 2019-06-11 13:13:22 +09:00
Rajat Singhal
bc22aeb4da GCS_Mavlink: Correct format specifier in UART panic message 2019-06-11 13:36:03 +10:00
Peter Barker
68d7e0c22f AP_RangeFinder: correct macro being used for parameter definition 2019-06-11 12:47:56 +10:00
Peter Barker
8cd5e3103f AP_RangeFinder: remove use of removed AP_PARAM_FLAG_IGNORE_ENABLE 2019-06-11 11:38:10 +09:00
SergeyBokhantsev
300ee173ce Copter: fix user aux functions 2019-06-11 10:28:15 +09:00
Michael du Breuil
40753ab14e AP_Param: Remove non functional AP_Param ignore flags 2019-06-11 10:28:45 +10:00
Michael du Breuil
cc7d13e9ef AP_BattMonitor: Remove param ignore flags 2019-06-11 10:28:45 +10:00
heitiane
931367a7ea AP_HAL: fix RCOutput, RCOutput2 and RCInputToRCOutput examples to prevent the failure of reading and writing channels. 2019-06-11 10:27:44 +10:00
Peter Barker
676d75c391 Copter: correct namespacing of Copter modes
This makes us look like Rover and Plane in terms of namespacing for the
Mode classes, and removes a wart where we #include mode.h in the middle
of the Mode class.

This was done mechanically for the most part.

I've had to remove the convenience reference for ap as part of this.
2019-06-11 09:18:22 +09:00