Why the robot goes in circles
It looks like a software problem and it almost never is. Check the wheels, the caster and the sensors before you reset anything.

A robot circling is nearly always mechanical. One drive wheel turning more slowly than the other, a front caster packed with hair so it drags, or a dirty sensor feeding the robot bad position data. All three are free to fix and all three take under ten minutes.
The behavior looks like confusion, so people reach for a factory reset — which wipes the maps and the no-go zones and does not fix a dragging caster. Work through the physical causes first.
The checks, in order
1. The front caster
The small swivelling wheel at the front. Hair wraps around its axle where you cannot see it, and once packed the caster drags rather than rolls. Because it is on one side of the center line on many designs, a dragging caster pulls the robot into a consistent arc — which is exactly the circling behavior.
Power the robot off, pull the caster straight out — most pop out with firm pressure — and clear the hair from the axle and the housing. Refit and try a run.
2. The drive wheels
Both should spin freely by hand and should spring back down when pressed up into the body. A wheel that does not rebound, or that turns with noticeably more resistance than the other, is the cause. Check for hair around the axle and for anything wedged in the tread. If one wheel motor is genuinely failing the robot will also usually be noisier on that side.
3. The sensors
Dust on the cliff sensors, the wall-follow sensor on the side of the body, or the LiDAR window makes the robot's picture of the room inconsistent. It corrects, over-corrects, and circles. Wipe all of them with a dry cloth. On a dark floor there is a specific version of this that is not a dirt problem at all — see dark floors.
4. The surface
Deep pile compresses under the wheels, so the distance the robot travels per wheel rotation is less than it expects. Its position estimate drifts, and on a large area of deep carpet that drift can be enough to produce circling. Worth ruling out by running it on a hard floor: if it tracks straight there, the carpet is the cause and no repair will change that.
Circling in one room only
If it only happens in one place, the room is the cause rather than the robot. Look for a large mirror or glass panel at robot height, an area of deep carpet, or a dark floor. All three produce localization problems in one location while the rest of the house behaves normally.
Circling right after docking
A short spiral at the start of a run is normal on some models — it is how they establish orientation before heading off. If it settles into a straight path within a few seconds, nothing is wrong. If the spiral never resolves, go back to the caster.
Questions people actually ask
+ Why does my robot vacuum keep going in circles?
Nearly always mechanical: a drive wheel turning slower than the other, a front caster packed with hair so it drags, or a dirty sensor. Check all three before resetting anything.
+ Should I factory reset my robot vacuum?
Only after the mechanical checks. A factory reset wipes maps, room names and no-go zones, and it will not fix a dragging caster. A soft reset clears a stuck state without losing the map and is worth trying first.
+ Why does it only circle in one room?
The room is the cause. Look for a mirror or glass at robot height confusing the laser, an area of deep carpet causing wheel slip, or a dark floor confusing the cliff sensors.
+ Is a short spiral at the start of a run normal?
On some models, yes — it is how they establish orientation before setting off. If it resolves into a straight path within seconds, nothing is wrong. A spiral that never resolves is the caster.
+ Can deep carpet cause circling?
Yes. Compressible pile means the robot travels less distance per wheel rotation than it expects, and the resulting drift can be enough to produce circling on a large carpeted area. Test on a hard floor to confirm.