After deciding to go with the Raspberry Pi route rather than the Mojo FPGA board, I now have decided what peripherals I need in order to make the omputeollision prevention research project a reality. The most important thing was that I now knew I had to work around the Raspberry Pi.
Using the Raspberry Pi 3 Model B, and having to have a power supply in order to use the device in the car, I decided to first invest in a car charger that conformed to the power specifications of the Raspberry Pi 3 Model B. This is why I got a USB car charger, and also cable, that are compatible with the Pi’s 2.5A 5V requirement.
The Raspberry Pi 3 Model B has 4 USB ports and a single camera serial interface port. Due to our critical application where more frequent data could save the driver from a collision and also potentially save a life, choosing the best suitable camera module was the hardest part in preplanning our project. The first thing I looked into were USB webcams. Many USB webcams on the market are prefocused which is perfect for our application because we only cared about possible collision objects which are going to be greater than a few feet from where the camera is going to be mounted on the windshield. Also, USB webcams usually tend to have a wide field of view which is very beneficial to our application. USB webcams can also be mounted far away from the board which is another perk.
USB webcams have a lot of downsides. One of the biggest downsides is that their exposure setting isn’t made to handle low light and very dynamic lighting scenes, which are very prevalent in outdoor driving conditions. Another big downside is they utilize the CPU unless the encoding is done on the actual camera. In addition, not all webcams are capable of recoding 60fps. The Raspberry Pi Cam V2 actually solves most of these problems as it can record 120fps at 720p and uses a high quality Sony sensor. The Raspberry Pi Cam V2 also utilizes the GPU to perform the encoding instead of hogging up the CPU’s resources. The only issue with the Raspberry Pi Cam is that there is only one Serial Camera Port on the Raspberry Pi 3 Model B and in order to use two, we would have to use the Raspberry Pi Compute Module. We also don’t want to be ideally using two different types of cameras as its easier to stick with a single type of camera.
The products we need to purchase for our project involve the actual physical part of the collision prevention which is triggering the brake pedal. One initial solution was using a solenoid to actually push the brake pedal to activate the brakes. This isn’t an ideal solution since the affordable solenoids on the market didn’t have enough force to push a brake pedal. On the other hand, we came up with a possible pulley system that would only require a high-torque motor which pulls a string attached to a stationary weight that holds the motor. This solution seems to be practical to use for our test scenarios.
To conclude, finding what actually parts we can get from the market with a certain project budget was very difficult however I managed to find solutions to meet our needs which haven’t changed the requirements of the project. We have a number of options to choose from especially for what camera and motor we can use in our project. The part of the project that remains right now is actually getting the parts, integrating them and developing custom software that uses all this hardware.