Autonomous Navigation?

This has puzzled me for quite some time, I want to build a sqaurebot that can navigate through a tunnel with no user help at all.

The code cannot be programmed in verbatim (You cannot tell it the exact layout of the course when to turn ect)

I have been trying to come up with a way to do this with the sensors I have.

Right now I have

1 x ultrasonic
1 x light sensor
2 x limit switches (I can make more)
2 x bumper switches
2 x shaft encoders

I would prefer that the robot does not run into the walls and turn with bumper switches.

If you guys have any ideas please tell me.

tricky…hmm…if the lght sensor was very precise you could drive and follow the light from the end of the tunnel :smiley: that would be very difficult though as the light changes would by mediocre

the only thing i can think of is rotating ultrasonic sensor that rotates 180+ degrees and then chooses which direction based on the farthest point, you can also incorporate a light sensor by making sure you are at the end of the tunnel after a certain number of turns or time (i guess that could count as verbatim?), you can use the limit switches to stop the turning platform because you’d need a regular motor and not a servo (better yet use the optical encoders to be able to go to a precise location)

i probably have more ideas, im guessing you dont really want a robot stalling every 3 seconds to check its surrondings?