motor_controller + robot subclasses