Autonomous robots are intelligent machines capable of performing tasks in the world independently of either direct human control or fixed programming. Examples range from autonomous drones, to industrial production robots, to your robotic vacuum cleaner. They combine expertise from the fields of artificial intelligence, robotics, and information science.The autonomous robot must have the ability to perceive its environment, analyze situational data in order to make decisions based on what it perceives, and then modify its actions based on these decisions. For example, the scope of autonomy could include starting, stopping, maneuvering around obstacles, communicating to obstacles, and using appendages to manipulate obstacles. There are few autonomous robots in operation today. Even most sophisticated, dynamic robots such as those used in an automotive factory perform according to static programming. And most autonomous robots are only semi-autonomous and will likely remain so even as more fundamental autonomy becomes technically feasible. For example, the Roomba vacuum cleaner does not move according to a pre-programmed route and can modify its route dynamically as its environment changes. However, it has a very limited degree of freedom that is determined by its programming.