The primary objective of this research is to integrate GPS and local sensory data to allow a robot to operate semi-autonomously outside of a laboratory environment. The Pioneer 3-AT, a robust platform capable of operating in the outdoors, is utilized in this project. The P3-AT has acoustic sensors that can calculate distances to obstacles and encoders that calculate how much each wheel has turned. In a laboratory environment, sensory and encoder information can be used to triangulate position or measure distance and direction traveled from a known starting point. Operating outdoors limits the effectiveness of both systems as the obstacles are not known and wheels can often slip and slide on different surfaces. This necessitates external data to determine the location of the robot. GPS was chosen to provide that data. GPS, acoustic, and encoder data were integrated within MATLAB and provided control signals to the robot.
One of the core tenets of robotics is localization: the ability of a robot to determine its location and orientation within a reference frame. Without knowing where it is in space, a robot is useless. It will be unable to navigate to a goal as it will not know in which direction to travel or even whether to stop should it stumble upon the goal by chance.
In wheeled robotic platforms, localization is conducted with encoders. Encoders measure how much each wheel turns. From a known starting point, a robot's position and orientation can be calculated through this measurement; however, localization based on encoders is susceptible to error outside of a laboratory environment. In a natural environment, the robot's wheels roll across various different surfaces. Wheel slippage encountered when operating on gravel, dirt, grass, or other mediums introduces localization error. To operate effectively in such mediums, additional information is required.
GPS is a 24-hour-a-day, all-weather navigation system. It provides navigation information accurate to within a few meters. By determining the goal in GPS coordinates and utilizing a GPS receiver (BU-353S4) onboard the robot, we see that the system can counter the encoder error and achieve accurate outdoor navigation.
On its own GPS is not enough. At slow speeds GPS has difficulty calculating directional change, and a refresh rate of one Hz leaves time between updates for the robot to move and not know where it is. By combining the two systems — GPS and encoders — the advantages of each are used to counter the other's weaknesses.
The design and testing of the control platform takes place in three steps. First, the GPS signal provided by the BU-353S4 is analyzed using a laptop computer as a test platform. The mobility of the laptop computer is a requirement as there is no GPS signal within the laboratory. Once the signal has been analyzed and a MATLAB platform has been developed to extract the specific information needed for this project from the signal as a whole, that platform is transferred to the SlimPRO SP675P microcomputer mounted on the P3-AT. The second step in the process is to use the SP575P to provide control inputs to the P3-AT and to demonstrate an ability to navigate to a goal defined in GPS coordinates within an environment free of obstacles. This requires comparing the user-defined goal and the robot's current position to determine the distance and direction between the two. Once the robot is able to navigate to a goal, the third and final step is to implement potential field path planning to allow the robot to make decisions and avoid obstacles on its way to the goal.
The platform developed for this project provides a foundation for future research. Incorporating additional sensory components such as a magnetometer or laser range finder creates a robot capable of much more accurate navigation and obstacle avoidance.
This work was done by Connor F. Bench for the Naval Postgraduate School. NPS-0003
This Brief includes a Technical Support Package (TSP).
GPS Enabled Semi-Autonomous Robot
(reference NPS-0003) is currently available for download from the TSP library.
Don't have an account? Sign up here.