C plus plus LANGUAGE SUPPORT FOR GUARANTEED INITIALIZATION, SAFE TERMINATION AND ERROR RECOVERY IN ROBOTICS.
Ingemar Johansson Cox · UCL Discovery (University College London) · 1988
Software issues related to the reliability of robot systems are considered. It is shown how more reliable robot systems can be built using data abstraction and object-oriented programming, as supported within C plus plus , a general-purpose programming language. It is also shown how the constructor mechanism associated with C plus plus classes can be used to guarantee initialization and self-test of each subsystem of the robot. A complementary destructor mechanism can be used to guarantee safe termination of subsystems under most conditions. These mechanisms are completely transparent to both the user and his application program. Exception handling is discussed and it is shown how object-oriented programming facilities can be used to provide transparent recovery from subsytem failures during program execution, given some hardware redundancy. Most of the examples have been demonstrated and tested using C plus plus running on an autonomous robot vehicle.