Week 13 - Going for Perfection
Progress This Week
Objective
This week, the goal was to create an Expert Pilot that followed the line perfectly and to replicate the same experiment as last week.
Expert Pilot
To better follow the line, the PID controller I was using proved inefficient as I couldn’t stop the inertia in time. To solve this, I experimented with a classification system. Depending on the angular speed, there were 5 classes with different linear speeds (12, 10, 9, 7, and 5). This approach yielded good results, although not perfect.
You can see the video here: https://youtu.be/bJKTk8FWSfY
General Neural Pilot
With the expert pilot completed, I recorded a dataset on the many curves circuit given that the curves are the hardest part for any pilot.
Afterwards, I trained a pilot with the full set of data, achieving a General Neural Pilot similar to last week. However, this pilot had no regard for the central line and did not perform well. I think it might be a data issue, but I am not sure. What was obvious was that it would not accelerate on straight lines.
Triple Neural Pilot
This pilot operated as described in previous posts, having two experts and a selector to choose which one to consult:
Curves Expert
Trained as in other Triple Neural Pilots, I obtained an expert on following curves. It could complete the circuit alone, this time much better than the General Neural Pilot.
You can see the video here: https://youtu.be/yCArSqjyS64
Straight Lines Expert
Similarly to the curves expert, I used the same dataset but only fed the network with the straight line values. However, this time it accelerated at the start but stopped doing so at some point, making it ineffective as a straight lines expert.
Selector
The selector functioned as always, and it doesn’t really change much.
Result
The results were discouraging. The Expert Pilot seemed to work fine, but the General Neural Pilot was a disaster, the Straight Lines expert was inadequate, and thus the Triple Pilot was ineffective.
I think this might be due to the classification system for linear speed, making it difficult for the neural network to find the right values. However, I am not sure and will continue testing different approaches.
All in all, it has been a really busy and challenging week, and I hope to have better results next time.