{'fraction_non_alphanumeric': 0.019130434782608695, 'fraction_numerical': 0.0034782608695652175, 'mean_word_length': 5.466292134831461, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Centralized processing and distributed I/O for robot control

Historically, the architecture of robot controllers has been dictated by technology constraints. When computers and networks were slow, it was necessary to logically distribute the computation but to physically centralize both the computation and I/O. This is represented by a controller comprised of large rack of embedded processors, with cables to all robot sensors and actuators. As technology improved, it became feasible to distribute both computation and I/O, as illustrated by systems that use a field bus to connect a central controller to low-level processors embedded near or within the robot. This paper advocates a new architecture, centralized processing and distributed I/O, that is enabled by current computer and network technology. This architecture provides benefits in academic environments because it simplifies development of robot control software. The feasibility of this approach is demonstrated by a custom robot controller that uses IEEE 1394 (FireWire) to provide direct communication between a central computer and non-intelligent peripheral hardware devices.