The European Robotic Arm (ERA) is an eleven-meter robot for external servicing on the Russian segment of the International Space Station. ERA will be used to assist cosmonauts in installing solar arrays, unloading cargo, maintenance and inspection operations.
The European Robotic Arm (photo: ESA)
Main features of ERA include:
My involvement in the ERA project was at beginning as software engineer, then as project leader and finally as program manager for the Application Layer software, that is, the higher level part of the onboard software, in charge of mission planning, command and telemetry handling, health checking and collision detection.
The ERA onboard software is completely written in Ada.
As designers of the ERA onboard software, one of our major challenges was the development of the online collision detection. Given the wide working area of the robot and its maximum payload capacity of 3000 kg, a collision with the space station or with another part of the robot itself could be easily catastrophic. The ERA collision detection is a predictive algorithm that runs continuously when the robot is in motion, in order to anticipate potential collisions, so to immediately stop the arm in case of danger.
The peculiarity of our approach with respect to the most common collision detection algorithms is that, given the very tight CPU and memory budgets, the optimization of the geometrical calculations and models was pushed to the extreme. The complete ERA onboard software (collision detection is just a piece of it) runs indeed on a ERC32 processor, with 2 MB RAM and only 16 MHz clock speed.
In the above picture, I'm first from the left in the bottom row. The picture was taken during a testing campaign of one of the preliminary software versions of ERA.
F. Fusco, R. Gallerini, European Robotic Arm: the problem of detecting collisions (PDF, 974 KB), Proceedings of the 6th ESA Workshop on Advanced Space Technologies for Robotics and Automation 'ASTRA 2000', 5-7 December 2000 ESTEC, Noordwijk, The Netherlands.