Skip to content

2026

The ghost on the mound

For a few days the backlog has carried one line: on the bumpy test lawn, with 7 cm grass, the robot sometimes stops for nothing. We'd guessed it was grass on a bump reading too tall. It wasn't. The robot was stopping for a person that didn't exist.

Stuck, and on film

An evening of ways the robot got stuck, and how each one now gets caught: a dock that faces a wall, a lidar that looked at ground it can't see, and a mower that stopped at an angle to its line and waited forever. Plus a new coat for Clover, and a tool that turns every run since day one into film.

What the camera saw

The last post ended with the robot's camera never calling either dog a dog, and a guess why: they came in from the side, and the camera looks forward. So we gave the camera a fair test, with a dog that crosses in front. The guess turned out to be only part of the answer. On the way we found three more problems, all in our own code. The fourth answer is about the simulator itself.

Clover and Moose

The simulated dog that runs at the robot has a name now. Two, actually: Clover and Moose, the two dogs who will share the real lawn with this robot. Clover got a sim model last week. Moose asked (through Chris) not to be left out, so he got one too. Making his turned up a bug that had been quietly spoiling the camera tests, and filming them both showed us something about where a mower's camera can and can't look.

Which way is it facing?

The last post ended with one false alarm left: a fence that "moved" because the robot thought it was facing 7° away from where it really was. 7° doesn't sound like much. At 5 m it moves a fence 60 cm, and that's enough to look like something walking. This post fixes the heading, and on the way found that the simulator had been flattering us.

Things that move

A post in the lawn is an obstacle: stop, go round it. A child is not, even standing still: stop, blade off, and wait until they've gone. The camera will one day say "that's a child". Until then the lidar can still tell one thing apart: something that moves. This post teaches the robot to see that, and to treat anything that moves as a person.

Is the lidar telling the truth?

Every safety check so far trusts the lidar: it stops for the dog, the drop and the steep bank because the lidar saw them. This project's first rule says the lidar is the sensor we believe. So we have to know when it's lying: a muddy window, water on the lens, rain, a driver that hangs. This post adds that check, and breaks the simulated lidar five ways to test it.

Too steep

The second ground hazard after drop-offs: a slope too steep to drive up, or to drive across without sliding. This post gives the robot a slope limit, two ways to see a steep bank coming, and a backstop for when it doesn't.

The edge of the terrace

A mower can hurt itself, or someone near it, without hitting anything. The worst way is driving off an edge: a retaining wall, a step, a pond bank. A fall can't be undone. This post gives the robot two separate ways to stay on top: the map, and its own eyes.