Phase 2 was to be experimentation with a range of optical and ultrasonic sensors, for odometry, navigation, object finding and object avoidance.
Like most two-wheel drive buggies this one followed a curved path because the left and right drive trains were not perfectly matched, so odometry was the first thing tackled with the initial objective of getting it to run in a straight line. I had no experience with optical sensors, but Gordon McComb's excellent Robot Builder's Bonanza contained some ideas so I bought a few cheap IR LEDs and phototransistors and started to experiment.
The photograph shows a homemade reflective IR sensor bolted to the chassis and a laser printed disc attached to the inner side of the wheel. The arrangement was tested on the bench, with the wheel rotating and pulses from the sensor displayed on the oscilloscope and counted by a PIC program running on the TOPIC board, and worked well.
When I started to incorporate the wheel sensing into the interrupt level of the program, with closed loop control to maintain the required speed, the software became a lot more complex. The complexity could have been managed, with careful structuring, but I also found that I was increasingly having to count processor cycles to make sure that each small routine could execute in the processor time available. That is not a good place to be, especially for a hobby project: processing power is cheap and I would rather have more than enough of it than burn midnight oil making sure that everything fits.
The solution I chose was to offload the pwm and speed control, using the code already written, into a separate PIC that would do nothing else. Possibly an additional PIC, in the future, would deal with inputs and sensors, leaving the main processor to implement the high level logic. PICs, originally conceived as Peripheral Interface Controllers, are quite well suited to this sort of arrangement.
I started to think about how the PICs would communicate, and designed a new PIC pcb, with the same form factor as the motor controllers. One or more of these new, smaller PIC boards would be mounted above the motor controllers - that's why the motor controllers have pillars on top.
The pcb design was completed - I know that because I still have it on my PC - but that is as far as the project got.
This was a time of turbulence in my professional life, with increased pressure of work and a fair measure of work-induced stress. Hobbies were put on the back burner and the buggy started to gather dust. When things slackened off a little I started to buy Lego Technic and Mindstorms (on eBay) so that when there was time to play I could take on smaller, less challenging projects. When I did have more time I chose to start work on a micromouse (Odds & Ends page) which, in its turn, was shelved when the turbulence erupted again.
I have retired now, and I have more time, but I also have a lot of things I want to do - such as this website, for example, and several smaller projects. When I get round to larger projects, my priority will be the micromouse. The first robot buggy was fun, though, and I probably learned more from that project than any other before or since.
And I still like the basic concept - so I might get back to it yet!