The experience of learning basic automatic drive
1.learning C
Although there are some similar sentences between python and C(because I learn python at first),they are totally different. For example, when I learning C, I need to think about how the memory of the computer works, instead of just using it by remembering all kinds of formulas. I start to learn about something deeper into the computer, and I can finally connect programming with the hardware knowledge from my school. The feeling is just like the first time I learn programming, it is like a whole new world is showing in front of me.
During this time, I also learnt the history of computer. I suddenly found that computer was designed to solve Maths problems. I found I could connect a subject I had already learnt for years with a subject I started to contact with. I found that all different subjects could be associated, and everything had something to do with Maths.
2.first time to contact with Arduino
In fact, I used arduino before, when I was in my junior high, but what I did was only using a software with completed setting and choosing the function of devices, like starting the motor. It was so simple that I don’t need to know any programming.
After learning the C, it was the first time for me to contact with some hardware by using the codes from myself. Before, I did not know any method to control the hardware devices by using the programming language I learnt before; while at that time, I first knew that it was programmed by C/C++, and I gradually connected the computer world(software) and the reality (hardware). There are also some special codes to control the hardware devices, like the motor, so that I suddenly found it easy to complete this task. Then we learnt to control the light on the circuit board, what I only needed to do was choosing the right serial port and turning it on.
3.the simplest sensor
We used infrared sensor at first, which could only detect white and black(the intensity of light). Actually, it was simple because I only needed to set a boundary to distinguish white and black, then what it would do when detecting white. Soon, the ‘car’ could go according to a black line on the ground, which truly encouraged my confidence. Meanwhile, I found some problems: if it ran too fast, it would rush away and lose the direction when reaching the turning. Apart from slowing it down, I could also make both of the wheels turning in different direction when it needed to change the direction. I found that there wasn’t only one way to solve the problem. Finally, my ‘car’ could ran at a fast speed along with the circle track.
4.open mv sensor
I used open mv before when doing the CTB competition(garbage classification). Last time, I used it to identify the garbage, while this time I needed it to recognize the colours around. It became quite difficult as the 1-dimension turned to 2-dimension. I needed to make it detect a special point on the picture the camera caught, and also the size of it to calculate the distance. Then it was also difficult for me to control the direction of the car according to the point on the picture. All kinds of problems came together, I felt helpless at that moment. I started to found it was not a simple task to control the car to drive automatically, even if I was doing the simplest kind of auto-driving.
5.new experience to assemble the devices
Thanks to this experience, I tried many tools for assembling the electronic components. I learnt how to create a 3-D mode and 3-D printer; I tried how to use hot glue guns, which I had seen online for many times; I also watched the welding process……
At the first time, I knew how this machines were produced, and I even found that if I had this tools, I could create something cool just like the ‘we media’ online.
6.more thoughts about daily use
I also found that threshold value was quite important. If I set the region larger, it might follow other object with similar colours, such as red and orange. If I set the region much larger, when the target was in a little darker place, it couldn’t be recognized. When the problem come to the daily situation, there will be more kinds of uncertain problems around a car, so disadvantages like this will be enlarger unpredictably. Consequently, I would consider auto-driving as an absolutely hard task to complete.
However, at my stage, what I can come up with is my work after learning. My tiny car can only run along with the line, although I tried my best to make it more accurate and faster. I find it can be used to delivery some goods in the warehouse. For example, we can stick some QR code at the crossing of the ways to different kinds of goods, and when the cars pass, they can scan the code to get the information to get the right goods. This will help save a lot of human resource.
At the same time, I can connect my car with a project that I’m doing, which is to help a company sell its goods. In addition to the vending machine, we can also set some auto-cars to wander around to make the advertisement, so that not only more people will know the goods but also the customers can follow the line to find where the goods are.