Skip to content

Corners: stop short, turn, merge

The first back-yard mow with the 3D lidar (backyard-raised-2) ended against the fence. On the outer lap, 35 cm from the lawn's edge, the robot drove right up to each corner before turning. That put its nose 14 cm past the edge, and at the fence the safety gate saw the fence inside its stop field and stopped the robot for good, 0.36 m away. Against a wall it would simply have hit it.

Why the corner was wrong

A lap is a line the robot's axle follows. The planner offset it from the edge by half the body's width plus 5 cm, which is right for driving along an edge. At a corner the robot drives towards the next edge, and the nose sticks out 49 cm ahead of the axle. Stripes already knew this: they end 75 cm from the edge (nose plus 26 cm of reach). The lap didn't.

The new corner

Where a sharp turn would put the body or the nose's reach outside the lawn, the planner now:

  1. stops short of the corner, where the nose's reach is still inside the lawn, as at a stripe end;
  2. turns in place to face along the next side;
  3. eases out onto the next side with a half-cosine blend over 1 to 3 m, so it leaves the stop straight and joins the lap straight.

The corner's tip is left for the inner lap and the trimmer. Transits that join the lap also had a problem: a full turn in place on the outer lap swung the body 22 cm outside. Now each lap gets a lead-in and a lead-out, so the robot turns where a full turn fits and eases onto the lap from there.

A new test checks the body itself, not hand-worked offsets. It drives the robot's footprint along every plan, turning in place at each vertex as the mission does, on a rectangle, an L, a triangle, a rotated rectangle and a lawn with a bed. The body must stay within 1 cm of the lawn.

Back in the simulator

Run Zone Reachable coverage Body > 10 cm off the lawn Safety stops Ended
backyard-raised-2 (before) Back yard, 3D lidar stopped at the fence yes, at every corner 1, permanent stuck
backyard-corners-1 (after) Back yard, 3D lidar, 4 cm grass 99.2% 0 0 docked
raised-6-margin (after) Test patch, raised-bed margin 96.4% 0 0 docked

The back yard took 36 minutes of sim time, 766 m of mowing, and never came within the gate's stop field of anything.

What's next

The same test, run for other robot bodies, found three more ways a corner can go wrong. That's the next post.