← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

No route around the fences could be worked out

Act nowMissions, fence, rally points, terrainCopter only

What ArduPilot says:

Dijkstra path planning (OA_TYPE 2 or 3) works out a route to the next waypoint around the fences drawn in the ground station, keeping OA_MARGIN_MAX (5 m by default) away from them. It has failed, and the reason follows; the line repeats every 5 s. While it fails the copter stops and holds its place instead of flying on.

What to do, most likely first

  1. “could not find path”: the waypoint or the copter itself is outside the inclusion area or inside an exclusion area, or the gap between fences is too narrow.

    CheckLook at the map: the copter, the waypoint it is flying to and the fences. A passage must be wider than twice OA_MARGIN_MAX.

    FixTake over in Loiter and fly it home. Then move the waypoint inside the fence, or redraw the fence so that the passage stays open.

  2. “overlapping polygon points” or “overlapping polygon lines”: two fence points lie in the same place, or the edges cross once the margin is added.

    CheckLook in the Plan screen for doubled points, very sharp corners and necks narrower than twice OA_MARGIN_MAX.

    FixRedraw the fence with plain shapes and write it to the copter again.

  3. “too many fence points”: the drawn fences have more points than the planner can handle, about 250 in all.

    FixDraw the fences with fewer points.

  4. “out of memory”: the board has too little free memory for the planner's working data.

    FixUse fewer fence points and free memory by switching off features you do not use.

  5. “no position estimate”: the copter does not know where it is.

    FixLook up the GPS or EKF messages that came with it: the lost position is the real problem.

Parameters to look at

ParameterWhat it is
OA_TYPEObject Avoidance Path Planning algorithm to use
OA_MARGIN_MAXObject Avoidance wide margin distance
FENCE_TYPEFence Type
FENCE_ENABLEFence enable/disable
The code that sends it

Dijkstra: …

libraries/AC_Avoidance/AP_OADijkstra.cpp AP_OADijkstra::report_error() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer