SOFTWARE ARCHITECTURES FOR ROBOTICS