In a general aspect, this invention relates to machines that are designed to repeatably and reliably manipulate objects or move them to a specific location. Such machines, often called "manipulators," are typically found on industrial robots, milling machines, coordinate measuring devices and the like. In a more specific sense, the present invention is directed to industrial robots.
Industrial robots are used for a variety of purposes and tasks. Our society is looking more and more to robots for performing the more tedious and mundane jobs of life. Making automobiles and microcomputers are just a few of their many applications.
One of the simplest types of industrial robots is the so-called "pick and place" robot. This type of robot may be, for example, electrically, pneumatically, or hydraulically driven; and is usually characterized by movement between predetermined limits, which are set by hard stops or microswitches. Another type of robot is a "continuous path" robot, which is somewhat more sophisticated than pick and place robots in that it can be driven to many different positions within its operating space. One example of a continuous path robot is the Unimate PUMA robot.
Robot manipulators typically share certain features and characteristics. Each manipulator usually includes a base, several rigid bodies connected by joints, and a tool or end effector. While the base of the robot manipulator is usually stationary, the joints are free to move. These joints are usually either "revolute" or "prismatic." Revolute joints are hinged; they may be compared to human elbows and knees. Prismatic joints are telescopic or extendable; they may be compared to telescopes or car antennae. The end of the manipulator, called the "tool" or "end effector," is also typically free to move. This tool is like the hand of the robot manipulator and may include a mounted gripper or some other device useful for manipulating objects. After grasping the object with the gripper, the robot can move or change the position of the object. When the robot is automated or computer-programmed, it can be made to perform these tasks over and over. Thus, computers in the robot can be programmed to "tell" the robot what to do.
One way to improve a robot's reliability, which is rather time consuming, is to "show" or "teach" the robot what to do. Here, the robot manipulator is manually taken through its operational path, from the point where it grasps the object or workpiece to the point where it releases it. At certain points in its operational path, the manipulator may be stopped, and its joint values taken and recorded. Many conventional robots have internal systems that automatically report joint values. These joint values can be fed to the robot memory for later reference. When the time comes for the robot to do its job, it "remembers" the joint values that correspond to the desired position and performs its task accordingly. Such manual methods of collecting position data (commonly called "teaching") can be time consuming, tedious, and inconvenient. Each time a joint is adjusted or replaced or a new workpiece is placed in the work space, the operator must repeat the data collecting process.
Another way to improve reliability is to "tell" the robot how to perform a given task. This is usually better than "showing" because it can be done automatically, e.g., by computer. But it is also usually more complicated. The mechanical relationships, i.e., the distances and angles, between the joints must be converted to mathematical relationships. When robots are "told" how to move, they are told using a mathematical language. If the mathematical language is not accurately translated into mechanical language, the manipulator will not always move as it is told.
Manipulator calibration is an important part of "telling" a robot how to perform a task. Generally speaking, calibration involves determining the proper relationship between the position of the manipulator tool and its working environment, or work space. One type of calibration is called "work space calibration," which involves determining the position and orientation of a robot base relative to a fixture in the work space.
Another type of calibration is called "kinematic calibration," which is somewhat more sophisticated. This is often called "Level II calibration", and involves "mapping" joint configurations. Essentially this "mapping" is done by measuring joint-tool relationships at a number of locations and performing a regression analysis to fit model parameters to the measurements. Various mathematical algorithms are available for calibration. But prior to calibration, the joint-tool measurements, or "position data," must first be collected.
A problem often lies in collecting these "position data." Mathematical models are available for calculating the relationship between the tool and the joints. But for various reasons which include manufacturing tolerances, the mathematical relationship does not always correspond to the real-life mechanical relationship.
Various sensor devices, calibration methods, and position measuring devices have been used to collect measurements. These approaches may involve physical pointers, theodolite systems, sonic systems, electronic sparking mechanisms, and even lasers. But these approaches collectively have problems.
For example, sonic calculations are sometimes sensitive to temperature and humidity. Other systems are prone to human error and hence are unreliable. Other systems, which employ light beams, rely on manipulator velocity and angles of intersection between the light beams. Others are complex or expensive to produce. Still others such as the theodolite method are tedious and time consuming. Collectively, the shortcomings of conventional devices and methods demonstrate a continuing need for a better system for kinematic calibration.