Software Architecture-Based Self-Adaptation in Robotics