This is a project where I modify an RC car to avoid obstacles and stay between lanes. Currently, I have modified an RC car so it can be controlled from a laptop.
RC Car Front | RC Car Back |
---|---|
I plan on having two different strategies that I will use to teach the car to drive.
- Train a Convolutional Neural Network (CNN) using labelled video data
- Find the center of the pair of lanes, and tell the car to center itself at that point. This can be done by looking at the distances to each lane from the center of the camera feed.
Both techniques will use various computer vision techniques such as grayscaling, Gaussian Blur, Canny Edge Detection, and Hough Transformation.
I'm expected the simpler approach, i.e. #2, being a better solution to driving between lanes than the CNN approach, i.e. #1, due to the simplicity of it. However, if I want to do any stop sign detection, I will recuire a CNN, but I can use transfer learning to reuse an existing model that has been designed to do this already.
My next steps are to go through recorded videos and label them that I can then use to feed into a convolutional neural network so it can learn steering inputs. Below are some GIFs of the training data recordings (before any preprocessing was done):