Kemal Ficici

Kemal Ficici

Autonomous Car-Finding the right computer/microcontroller — February 11, 2016

Autonomous Car-Finding the right computer/microcontroller

For the first part of designing and building the device, we first need to find the right computer/microcontroller to build our device off of. Before that, though, we need to know what we will plan on using so we can find the best controller for our device.

Current idea

What I am thinking about the car’s hardware is that it needs some sort of object recognition and obstacle sensing, probably both. We probably want a camera so that we can use computer vision in order to detect certain objects, such as other cars, lane markers, and other things. For the obstacle sensing, I should probably use a few ultrasonic sensors, they are relatively cheap and easy to work with.

Finding the right controller

First, before starting anything, we need to find a microcontroller/computer that can handle all of the needed tasks while fitting into a small form factor, since I’m planning to actually build/mod an RC car, since it is cheaper and easier to work with.

What do I need/want in my controller?

What we need it to be able to do is image processing. Image processing is hard and requires some serious processing power. I will most probably start with OpenCV for the image processing, it’s relatively easy to use once you know python. I also need it to control motors, and steering, so that will probably use up 4 DC Motors, and a servo. we will also use ultrasonic sensors, and those components can be used with minimal effort and processing power. Also, if I am going to make multiple of these cars, I would like the computer/processor to be cheap, so I can easily afford 30 of them later on.

Pi_Zero_v1.2.png
A Pi Zero that I can’t seem to get my hands on. (Source: raspberrypi.org)

I’ll using the Pi Zero(duh), because it is very, very tiny for a computer. It can handle basic image processing(has the same processor as the pi B+, also has more RAM), and it has 40 GPIO pins, more than enough for what I’m working on. It has only one USB OTG, but that can be fixed with USB hubs. It also doesn’t have WiFi, but I can just plug in a WiFi dongle whenever I need to install software, or I could just download it and put it on a flash drive.

What I need first is the Pi Zero, but unfortunately, they are either out of stock, or sold for $40(why is it called a $5 computer then?) alone. Until then, I will most likely work on other projects until I can get myself at least one.

 

New Project-Building a Better Autonomous Car — February 3, 2016

New Project-Building a Better Autonomous Car

So, for the past week, school was closed due to the snow, and I wasn’t able to do much on the PCR project(Still going on, it’s not finished, yet). But recently, I got a new idea for a project—to build an autonomous car, or at least to build a smaller version of one as a proof-of-concept. I finally decided to start once the Pi Zero came out but it was never in stock anywhere, so I waited until I could find a sub-$10 one to buy. Yesterday, the Adafruit Pi Zero contest came out. So I started my project on Hackaday.io.

What is my project?

So my next project is basically going to be a self driving car. But I didn’t know where to start. So I looked at the issues in current land transportation and developing autonomous cars. The usual self-driving car that gets all the hype is either overly expensive, overkill, or just plain stupid. Like, really stupid. What I wanted to do was build a better car—but not just the car. I decided that I needed to build/design/develop an infrastructure to support such cars. Why did I decide to do that? Take a look at Google’s Self Driving Car. While it is a huge step in the advancement of driverless cars, it is very expensive. And it has safety issues, although Google has reported that most of the accidents were not of the car’s fault, rather other drivers.

So how/why will I make a better one?

Like I said before, I looked at some issues with current transportation and self driving cars. In current transportation, we can see that there are serious traffic issues and there are only too many accidents happening every day. How can we prevent such issues? Almost all of the time, a car accident happens due to human error—a distracted driver, an inexperienced driver, or just a simple slip of a hand. We can hugely decrease or even eliminate the amount of accidents happening everywhere by replacing a human driver with a computer. But self-driving cars aren’t the best either. They can still crash due to errors in detecting obstacles, they drive slowly and cautiously most of the time, they halt unnecessarily and they still need improvement. This will not help the traffic issue. But what if the cars acted together?They would communicate between each other, maintain their distance from one another, save fuel, navigate with only the most efficient route, be informed of local accidents and obstacles on the road to avoid, and we can theoretically have no traffic jams. Ever. Wouldn’t that be nice? Also, if we need self driving cars to be even more efficient, why don’t we just make our own traffic rules? I’ll probably use Bluetooth communication for the cars to communicate with each other, and for a basic prototype of a device that collects data and communicates with other devices, I will most probably use a cheap microcontroller or computer(I REALLY WISH I COULD GET A PI ZERO RIGHT NOW).

What hardware?

So my first goal is to start with a device that can navigate easily on its own. I’ll probably have a pi zero or some other microcontroller control an RC car, simply because I am 15, and I don’t have too much money, so I can’t buy an actual car. For now, at least. It will have a camera(openCV?) and some other proximity sensor(LIDAR, RADAR?) to detect objects, obstacles and traffic markings to stay on the “road”. Later on, I’ll get/make more devices and then I’ll work on communication and traffic rules. Eventually, if I can get far enough with this project, and maybe even get funding(Who knows?), I might actually be able to buy and mod(or design from scratch) a few cars so I can develop and test them out with actual vehicles. One important thing to consider(If I ever get that far) would be security, and that is a very, very important concern, but right now, I need to actually research and build it first.