The code looks great.
So to build the rover, I will use two continuous servos and one regular servo for the sonic ping. I do not know where the arm fits in. Maybe an updated photo will help.
Q1) The continous servos: Do I need to calibrate them so that they can go forward and backwards? Maybe your code only handles forward.