Carpet cleaning setting
I think the robot should have a carpet selection:
1. Normal => clean carpets
2. Don't clean "thick" carpets => avoid "thick" carpets
3. Ignore carpets => just continue to clean the floor normally
The reason to "ignore" carpets is that the robot is spending too much time at the carpet edges, and that in turn is tearing on the carpet edges!
This will be avoided with "normal" cleaning pattern, i.e. "Ignore carpets".