Back
engineering and technologyNews

A robot that knows what it doesn’t know: navigating with a single cheap camera

digital media
Share

Every time you walk across a dimly lit room without stubbing your toe, you quietly solve a problem that has troubled robotics for years: how to move safely when you cannot see the world perfectly. You slow down where you are unsure, speed up where you are confident, and you do it almost without thinking. For a robot this is surprisingly hard and it is hardest of all when the robot must rely on a single, ordinary camera. In our group at the University of Tartu, we set out to give small robots and drones exactly that ability: to find their way through cluttered, unfamiliar spaces using nothing but one cheap camera.

Why is navigating with one camera so hard?

Many robots that move confidently are expensive. They carry spinning laser scanners or pairs of cameras that judge distance the way our two eyes do. These sensors are heavy, power-hungry, and costly – fine for a self-driving car, but a real problem for a palm-sized drone or a compact ground robot, where every gram and watt counts. A single ordinary camera would be the ideal sensor: light, cheap, and low-power.

The difficulty is depth. A single photograph is flat. It tells you what things look like, but not how far away they are. In recent years, artificial intelligence models trained on millions of images have learned to estimate the depth of a single photo, which seemed to open the door to camera-only navigation. But those guesses are noisy and unreliable and noisiest exactly where it matters most, in close quarters, where a small error is the difference between a clean pass and a collision.

When a robot builds a map from these shaky guesses and trusts it as fact, it tends to do one of two bad things: drive into “empty” space that is not actually empty, or freeze in front of obstacles that are not really there.

Figure 1. A drone finding its way through a cluttered room with nothing but a single ordinary camera — a famously hard problem. One camera can’t directly measure how far away anything is; the AI methods that guess depth from a single image are too noisy to trust in clutter; and the obstacle maps built from those shaky guesses tend to make a robot either crash or freeze. Here’s ours doing it anyway. (Left: an outside view of the flight. Right: the drone’s own read of the obstacles, in green, and the path it plans toward its goal.)

What did we do differently?

Our central idea was to stop pretending the camera’s guess is exact. Instead of asking the system for the distance to the nearest obstacle, we trained it to predict a range of plausible clearances for any proposed movement, together with a sense of how confident it should be.

The difference is between a system that says “the obstacle is exactly two meters away” (and is often wrong) and one that says “probably around two meters, but I am genuinely unsure; it could be as little as one and a half.”

A planner that receives this honest, hedged answer can act intelligently on it: keep a wider safety margin in the directions it is unsure about, and move faster where it is confident. Our robot does this continuously, re-planning its path dozens of times every second.

How do you teach a robot to doubt itself?

The key turned out to be not uncertainty itself, but well-calibrated uncertainty. An overconfident robot crashes; an under-confident one is paralyzed by imaginary dangers. What we want is a robot whose sense of doubt matches reality, much like a good weather forecaster, who is “calibrated” in the sense that on the days they announce a 30% chance of rain, it really does rain about three times in ten.

We reach this with a simple training idea. Rather than teaching the part that estimates clearance and the part that judges risk separately, we train them together. During training, the model’s predicted uncertainty is turned into a risk estimate and then compared against what actually happened was the route genuinely safe or not? When the two disagree, the model is corrected: too cautious, and its uncertainty was too wide; too bold, and it was too narrow. Squeezed from both sides, run after run, the model’s doubt settles at just the right level.

Figure 2. We compare the performance of a classical planner, the ROS Navigation stack (ROSNAV), with our planner across 2 scenarios. In the robot ’s-eye view, the green points are what its camera thinks it sees, and the red points are where things actually are (Technically, we call them point clouds, so the green points are estimated point clouds and the red points are the true/ground-truth point clouds) — shown side by side only so you can judge the camera’s accuracy. The blue lines are the routes the robot is weighing up, and the cyan line is the one it chooses. Crucially, the robot never sees the red (true) points during planning; it works entirely from its noisy green estimate.

Does it work?

Yes, and by a clear margin. In experiments with both a wheeled robot and a quadcopter moving through cluttered rooms, the honest-uncertainty approach reduced collisions roughly fourfold compared with a version trained without the calibration step, and by up to seven times compared with a conventional navigation system – using nothing but a single cheap camera, in the kind of crowded indoor space that normally demands expensive laser scanners. Just as importantly, it runs in real time: fast enough on a modest laptop, and even on the small, low-power computers that fit on a little drone.

We also pushed it into harder conditions. It keeps working in low light, where the camera image becomes noisier, precisely the situation its honest uncertainty is built to handle. It even copes with people walking through its path. We never trained it to predict where a person will step next; but because it re-plans so many times a second, each fresh glimpse of the room produces a fresh safe route, and the robot simply flows around whoever steps in front of it.

Why does this matter in the real world?

The immediate payoff is practical: cheaper, lighter, lower-power navigation for small drones and compact robots that cannot carry bulky sensors, opening up uses in cost-sensitive settings. But the wider lesson reaches further. Almost every machine that operates in the messy real world — a self-driving car guessing where a pedestrian will go, a delivery robot acting on an imperfect estimate of its own position is making decisions under uncertainty. The ones that do it well are not the ones that pretend to be certain, but the ones that measure their own ignorance honestly and plan around it.

What comes next?

Our approach still has limits. It has no memory of what it saw a moment ago, which can occasionally make it hesitate in very tight spaces, and it reacts to moving obstacles rather than anticipating them. Our next steps are to give the robot a short-term memory of past views to handle environments that change over time, and to explore training perception and planning together as a single system. The broader goal stays the same: robots that move through the real world safely and cheaply, precisely because they know what they don’t know.

This article was written by Basant Sharma (doctoral researcher in Computer Engineering at the University of Tartu, Institute of Technology) and is based on joint work with Prajyot Jadhav, Pranjal Paul, K. Madhava Krishna and Arun Kumar Singh. The research was published in IEEE Robotics and Automation Letters (2026). Project page: sites.google.com/view/monompc


If this story clicked with you, consider it a successful human–robot interaction! Our next article is about how Researchers developed a low-cost social robot that helps students to learn!

Read more

Get our monthly newsletterBe up-to-date with all the latest news and upcoming events