A mobile robot is a robot that is capable of locomotion. Mobile robotics is usually considered to be a subfield of robotics and information engineering.During the NASA Sample Return Robot Centennial Challenge, a rover, named Cataglyphis, successfully demonstrated autonomous navigation, decision-making, and sample detection, retrieval, and return capabilities. A mobile robot is a robot that is capable of locomotion. Mobile robotics is usually considered to be a subfield of robotics and information engineering. Mobile robots have the capability to move around in their environment and are not fixed to one physical location. Mobile robots can be 'autonomous' (AMR - autonomous mobile robot) which means they are capable of navigating an uncontrolled environment without the need for physical or electro-mechanical guidance devices. Alternatively, mobile robots can rely on guidance devices that allow them to travel a pre-defined navigation route in relatively controlled space (AGV - autonomous guided vehicle). By contrast, industrial robots are usually more-or-less stationary, consisting of a jointed arm (multi-linked manipulator) and gripper assembly (or end effector), attached to a fixed surface. Mobile robots have become more commonplace in commercial and industrial settings. Hospitals have been using autonomous mobile robots to move materials for many years. Warehouses have installed mobile robotic systems to efficiently move materials from stocking shelves to order fulfillment zones. Mobile robots are also a major focus of current research and almost every major university has one or more labs that focus on mobile robot research. Mobile robots are also found in industrial, military and security settings. Domestic robots are consumer products, including entertainment robots and those that perform certain household tasks such as vacuuming or gardening. The components of a mobile robot are a controller, control software, sensors and actuators. The controller is generally a microprocessor, embedded microcontroller or a personal computer (PC). Mobile control software can be either assembly level language or high-level languages such as C, C++, Pascal, Fortran or special real-time software. The sensors used are dependent upon the requirements of the robot. The requirements could be dead reckoning, tactile and proximity sensing, triangulation ranging, collision avoidance, position location and other specific applications.