Skip to main content

Week 5: Fully functional tests and problem solving

In this lab section, the research group have prepared for the first demo function which is the emergency braking system. In this function, the car will use the sonar distance sensor as an emergency detector. The sonar distance sensor returns one hundred distance information to the pi and the pi will decide whether it is should stop and prevent hitting.

In detail, the research used python to write the program. In this function, the user could control the car as scheduled and the car could avoid the car hit a barrier. We used a while loop constantly and put all the judgement statement inside the loop, which runs following the following logic.

The users start the car and control the car by pressing the control keys. The sonar returns distance data by the microsecond. If the data begin to be smaller than 15 centimetres, the car stops automatically and move backwards for 15 centimetres to keep a safe distance and handle the control back to the users.



Problems: 

The sonar distance sensor has a considerable error which may cause several mistakes. For example, during a test, when the car is moving in a path free of barriers, it stopped and said that the front distance is 35 centimetres. According to the codes, the car can only stop when the distance is smaller than 15 centimetres.

To solve this problem, we have to go back to the codes that check whether the distance is smaller than 15 centimetres, which means the sonar distance must have returned a data that is smaller than 15 centimetres. Then, the research group checked the sonar and have it return one hundred data in a second while printing the data on the screen. It shows that there could be several random data appear in normal data. Some errors are large while some are smaller than 15 centimetres, which could lead to the wrong reaction.

Having found the problem, we did some changes on the codes and have a list of returned value checked. Only if all the inputs are smaller than 15 centimetres, the car will react to the system.

Comments

Popular posts from this blog

Week 1: Car Assembling and Raspberry Pi Initializing

Pi2go MK2 Smart car assembling and introduction: In the first week of the project, the research group received the components that will be used in the project. The first thing to do is to assemble the smart car Pi2go MK2. In specific, Pi2go MK2 contains a chip which could control different parts of the car. The raspberry pi uses the GPIO connections to control and power the smart car. Figure 1: GPIO pins to control the car System instaling: Having assembled the car, the research group began to initialize the raspberry pi. According to the instruction, the research group had to instore an operating system into the SD card with SD card formatter and Win 32 Disk Imager. Problem-solving: However, when the raspberry is equipped with the operating system and plugged into a screen, the screen showed the following alert: kernel failure. To solve the problem, the research group tried to restart the pi for several times and it still shows a failure. Then, the researc...

Week 4: Change of Operating System and Problems

Change system and problems In the lab section of this week, the research group had a difficult time. In detail, it is difficult to have the video of the camera been transmitted to the computer. The data flows to the raspberry in the form of coordinate, length and height of the marked blocks. In this way, the processor of the pi could be relaxed. However, in the first place , the basic function of the car is that the user could see what the car sees with the use of camera. If the control system is not visual, it is meaningless to have such a complex system. To make it possible to visualize the streaming video, the research group checked the driver of the camera. It turns out that it is not designed for Raspbian, and this made its function been limited to this system. To solve this problem, the research group had to change the system of the smart car and recode the programs that have been tested. In specific, the driver is designed for a pure Linux environment. Having don...

Remote control test and camera recognize test

In this section, the blog mainly introduces the test of the remote-controlling car and the object recognizing.