Task-directed programming of sensor-based robots