Robot fails to climb up slanted edge

vic_tvic_t Member

I have a house with two floors and have been using the i9 to clean my lower floor for a year now, much to my delight. Now I decided to get one for the upper floor, too.

On that floor, I have one room that I'm using as a gym. Part of the floor is covered with thick rubber pads to protect the floor. These pads are slanted on their edge which, at least in theory, should make it easy for any robot cleaner to get up or down the pad.

Unfortunately, the i9 refuses to go up 9 times out of 10. Not only that, it seems deeply confused about these edges and spends much time around them unnecessarily.

A picture says more than a thousand words, I'll attach two.

The first one shows a general view of the floor. The second shows the mentioned edge from the side. As you can see, the pad is about 3cm high which by itself should already be possible for the i9 to handle but seeing as how the edge is slanted, it should make things easier for the robot. Instead, it seems to do the opposite.

I hope the firmware can be improved in such a way that the robot can handle these slanted edges better.


  • magnus_lindhemagnus_lindhe Member ✭✭

    Hi, thanks for documenting your question so well!

    The official threshold/edge height limit for the Pure i9 is 22 mm. Sometimes it can climb slightly higher than that, but unfortunately I think your 30 mm are our of the range, even with the slanted edge. The problem is that, even if the slanted edge would allow the robot to push its front over it, later the wheels would need to flex out so far that they risk losing traction because the downforce is too low, which would make the robot stuck. This is why we've programmed the robot to avoid climbing if the edge is too high, even if it looks slanted.

    When it comes to spending time at the edges, this is because climbing an edge contains two decision points. First, when the robot is cleaning the floor, if it sees an edge that could be a threshold, it notes that and later comes back to evaluate it again. This decision has a high height limit, to avoid missing some threshold because of uncertain measurements. Second, the robot returns to the edge and does a detailed scanning to determine if the edge is safe to climb. This decision uses a stricter height limit just above 22 mm, and if it fails, the robot tries in several places along the edge, to make sure that it doesn't miss a section that could be climbed. I'm guessing that this is the "confused" part that you've observed.

    For the moment we don't dare to increase the height limit, because of the mechanics of the robot. So I'd recommend something of the following:

    • Use the FloorPlanner function to make CleanZones of the rest of your upper floor, so the robot cleans only there. That will save you the time to scan the rubber pads.
    • Put something that is 40-50 mm high along the edges, so the robot doesn't even consider climbing.
    • Try adding a "step" of 10-15 mm thick material, ~80 cm wide and ~50 cm deep, somewhere along the current edge. That should allow the robot to do two climbs, each low enough and with space to come to rest after the edge.
  • ptrbkptrbk Member

    Thanks for explaining the algorithm. I have one door threshold that the robot does not want to cross even though it looks pretty much like the others. Maybe it is just in the border of the 22mm. The robot manages higher thresholds in other places in the house.

    Could you please make a configuration in the app to allow users to adjust the threshold height limit when necessary?

    Thanks in advance.

Sign In or Register to comment.