Generic languages provide an alternative to controller-specific languages for programming robots. “Generic” means a high-level multi-purpose language, for example, C++, that has been extended in some way to provide robot-specific functionality. This is particularly common in research environments, where generic languages are extended to meet the needs of the research project. The choice of the base language varies, depending upon what the researchers are trying to achieve. A language developed in this way may be aimed at system programming or application level programming.
The most common extension to a multi-purpose language is a robot abstraction, which is a set of classes, methods, or similar construct that provides access to common robot functions in a simple way. They remove the needs to handle low-level functionality such as setting output port high to turn on motors or translating raw sensor data. It might also provide higher-level abstractions, such as methods to make the robot move to a point using path planning. It is common now for a research robot from a manufacturer to provide such a system with their robots.
To improve this situation, many researches have developed their own robot abstraction systems. Player/stage is commonly used robot programming systems, which provides drivers for many robots and abstractions for controlling them. To prevent the abstractions from being limited to one robot architecture, they use Java classes to provide common abstractions and programming interfaces.
No comments:
Post a Comment