implement main robot functions