Designing a robotcontroller that can optimally manage limited resources in a deterministic, real-time manner can be challenging. Behavior-based architectures, which split autonomy into levels, are very popular but ne...
详细信息
ISBN:
(纸本)9781424466757
Designing a robotcontroller that can optimally manage limited resources in a deterministic, real-time manner can be challenging. Behavior-based architectures, which split autonomy into levels, are very popular but neither have real-time features that enforce timing constraints nor support determinism. Even though real-time features are not included, it seems like a natural fit to make each level in the behavior-based architecture its own task or process. The only that thing that it lacks are the timing features. This has already been implemented using Suns Java Real-Time System. It has also been shown that timing constraints effect performance. This brings us to the question;why not use the more traditional language of C or C++ to implement this behavior-based real-time architecture? Are we not taught that Java is useful but slow compared to C and C++? If so why not use C++ and the features of open robot control software (OROCOS) to implement the architecture. This paper answers the question of does it really matter what language is used in a behavior-based real-time architecture. We implemented the architecture using OROCOS/C++ running on UBUNTU. Then compared our implementation to two other implementations of the architecture: Java/Player on Fedora;and Suns Java Real-Time System (RTS) on Solaris. Results, from experiments on a robot, show that our OROCOS/C++ implementation performed similarly to the Java RTS implementation. Both the OROCOS and Java RTS implementations performed better than the Player/Java implementation. This suggests that Java is in fact feasible for a behavior-based real-time robot architecture but it needs to be run using Java RTS not the regular version.
暂无评论