You will have to design an algorithm but on the power side, use something with enough power and traction.
I recommend either a tamiya twin motor gearbox with compatible wheels or a 2 continuous rotation servo diferential drive as engine.
For sensors, use something like a line follower but 1 front, and 2 on front corners so it can follow the canyon border.
For sensing rocks use whisker sensors or ultrasonic range finder (I think whisker will be better for this task.)
The rest is just algorithm (Think of all the cases that might happen like the robot running straight into the bridge, aiming left, right, etc)