Programming Khepera II Robot for Navigation and Exploration
and Don't FORGET.......
This project programs the Khepera II robot to autonomously navigate and explore in an office environment using AI and robotics techniques. The research team first investigated the sensing capabilities of the robot for navigation purposes. Based on the experimental results, an appropriate model mimicking a typical office floor layout was constructed. The hybrid robot architecture was used for the robot?s navigation and exploration where a high level, deliberative planning stage is separated from a lower level, reactive behavior execution stage. At the planning stage, the D* algorithm was adapted to find the shortest path between a starting and a destination location. Instructions along the shortest path are executed by the behavior execution stage one instruction at a time. Each instruction is executed by following a behavior until a terminator state is detected. Robot exploration function is activated when discrepancies between the map and the environment, such as unexpected blockage or disappearing wall along the navigation path, is detected. This information is fed back to the planning stage where the map is updated to incorporate the new information, the shortest path is recomputed/updated, and the navigation resumes. A separate visualization module was built to monitor the progress of the navigation and exploration. The tool provides a real time feed for the complete map of the office layout, the highlighted computed/recomputed optimal path, and the updated map information from exploration.
Khepera Basics: To understand the robot we must first understand how the sensors on the robot work. We studied the effective range of the sensors, the variations of the different sensors on a single robot, and the variations of the sensors on different robots. (Link to the Experimental Data)
Behavior Generation: The basic behaviors for the robots to execute during navigation include follow the (left or right) wall, follow the hallway. A behavior is ended when a special terminal state is detected, for example a door to the right appeared. Here is a video of the khepera robot executing the "follow the hallway" behavior (watch video). Here is a video of the khepera robot executing the "follow the wall" behavior (watch video). Here is a video of the khepera robot navigating in an environment (watch video).
Planning: D* Lite algorithm was adapted to calculate the shortest path to go from a source to a destination state.
Exploration: When a discrepancy between the map and the environment is detected, for example when a path blockage, an unexpected door opening/closing, or a disappearing wall is detected, the new information is recorded in the map, and the best path is recalculated. The robot then resumes in the navigation along the new path.
Visualization: A graphical user interface is developed in C# to facilitate the interactive serial communication between the robot and the computer. In addition, the map of the environment, the shortest path computed, the progress of the robot during navigation, as well as the updation of the map during exploration can be directly viewed from the interface.
This material is based upon work supported by NSF grant No. 0431652.