That is our 2006 robot fully functional and tracking the light. We have made several circuits of our computer lab since we got it running. It will back off if the light moves too high and will move forward if the light gets too low. The driving has also been integrated with the light so that we can translate sideways and forward/backward while still facing the light to make it easier to place tubes during normal play.
This year’s bot will have an almost identical drive train so updating the code will involve some gain changes but otherwise be “effortless”.
Yes, that does use PID control. The pan servo on the camera uses a PD control, and the drive base uses a PI control using the pan servo and a yaw rate sensor. It is of course a holomonic drive, so rotation is very natural for the drive base. In addition this allows us to very easily both move towards the light and turn to face the light at the same time.
The robot will be able to see the light at the top of the rack, but at the moment, we’ve got it aiming low. That enables us to easily move the light around while we’re doing code development and have the robot follow us around like a little puppy dog. Once we have this year’s camera on this year’s robot (that’s last year’s camera and bot), we’ll put the light up at the proper height so we can finish autonomous mode.