You can consider Roomba which has good functions. I have some and they are working very well. However, the price can decide some quality.
I agree Roomba is the most powerful robot vacuum for carpets. If you want to clean floors then the budget price robot vacs can do a good job, but for carpets you need a strong one like Roomba.