robotics algorithm design