Automatic programming systems provide little or no direct control over the program code the robot will run. Instead, robot code is generated from information entered into the system in a variety of indirect ways. Often a robot system must be running while automatic “programming” is performed, and these systems have been referred to as “online” programming systems. However, automatic programming may also be performed on simulated or virtual robots, for example in industrial robotic CAD systems. In this case the real robot is off-line but the virtual robot is online. For example, the IGRIP (2003) system provides full simulation capabilities for creating and verifying robot programs.
The three categories that automatic systems can be placed into: learning systems, programming by demonstration (PbD) and instructive systems. Learning systems create a program by inductive inference from user provided examples and self-exploration by the robot. In the long run it will be crucial for a robot to improve its performance in these ways.
Examples include a hierarchy of neural networks developed for learning the motion of a human arm in 3D (Billard and Schall, 2001), and a robot that can learn simple behaviours and chain these together to form larger behaviours. Smart and Kaelbing (2002) propose reinforcement learning for programming mobile robots. In the first phase the robot watches as the task is performed. In the second phase the robot attempts to perform the t ask on its own.
No comments:
Post a Comment