I have been using robot vacs for a long time (Neato, Roomba, etc). After trying a Roborock a few months ago I have been hooked. I have since purchased 3 vacs in the past couple of months. Anyway, I bought a S4 for my upstairs two weeks ago and have run into problems with it. I have a rug in my master bedroom that is a mixture of colors (white, light grey, and dark grey). No other vacuums that I have had ran into problems with this, but the Roborock goes nuts with this rug. It literally will spin in circles for HOURS and will eventually get stuck. I assume that the dark fibers are making the robot think that it is nearing the edge of something and so it spins around, and just does that forever.
So to prevent this, I created a virtual barrier and that has fixed the problem. But I really want my rug to be cleaned also. The last vacuum I had upstairs was a Neato, and it had no issue with the same rug.
So I would ask that the algorithm could be tweaked to perhaps make it more reliable.
The other thought I had, was creating another barrier type (like the virtual barrier) that would be a "no cliff sensor" area. That way I could put that over rugs and things that might cause a problem and it would just ignore it in those locations.
For what it is worth, I was reading some reviews recently and found another person complaining about the same issue, so it is not just me. 🙂