Week 4: Finalising Week

 

What was done in Week 4

Week 4 was used by the team as a problem solving week to solve some movement related issues the vehicle was experiencing which could have been caused by a number of different possibilities. Week 4 allowed full visual representation from the data that was stored in the SD Card into a heat map.


Vehicle movement troubles 

The autonomous vehicle's turning capabilities was becoming a minor problem. Left and right 90-degree turns was coming slightly under and over and the vehicle was not able to preform any turn when faced with rougher terrain. Although the minor overshooting of the turns may still be part of the final vehicle, the group was able to highlight the possible factors that could have caused it to occur.
  • The first possibility that could have caused the turning issues, is the motors not receiving enough power. The L298N motor controllers contain transistors that can give a 1.4V voltage drop across each leg, which in turn decreases the overall voltage value that is entering the motors to power the wheels. If further development could take place a stronger supply source would have been used.
  • The group was able to observe that the car did not perform on rough terrain like carpet however, when it came to smooth flat surfaces the car was able to turn multiple times. If we was to improve this, better traction wheels would be bought.
  • Another factor that had unexpectedly come about in the final weeks was the alignment of the front 2 wheels. Although we had the wheels tightened to the motors, the issue was still the same with the wheels slanting inwards and causing irregular turns and separating the vehicle from the fixed path it was supposed to follow. If the group had longer time mend this, it was decided that 2 different approaches could be taken. Firstly, a new set of wheels could be bought that can fix into the chassis and stay in place without being pushed out from turning or moving. Secondly, in order to save time for waiting for parts, code could be created that can auto set the vehicle to the path it needs to follow if it moves out of line.

MATLAB Data Representation

In week 4, we worked on how MATLAB takes the data stored on the SD card to create a heatmap that represents the location of each sample taken by the autonomous car.

First, the code implemented into the Arduino board from the Arduino IDE writes the collected data (x position, y position, temperature, and humidity) to a CSV file. Each row containing a single set of measurements with the format: (xPosition, yPosition, temperatureMean, humidityMean).

Then, we use MATLAB to do the following:
  • Read the data from the CSV file.
  • Process the data to organize it based on unique (x, y) positions.
  • For simplicity, we chose to display either temperature or humidity data in the heatmap.
  • Generate and display the heatmap.

Position Tracking Issues 

We had issues with position tracking as we couldn’t find a way to make the robot car stop when say the wall was 15cm away from the car and measure the distance at the same time, so it kept crashing into the wall. After several tests/experiments, we concluded that we could program it to move forward for a set amount of time, and we relate that to a given distance. This was done in a systematic/procedural manner to both measure the distance and coordinate movement as well. The other important point we had to make sure worked well along with this code was that the vehicle would have enough distance before it it reaches the wall so that it can detect it and stop. To ensure the point mentioned before happens the distance travelled each time by the car was easily adjustable.



Poster


Final Car




 


Comments

Popular posts from this blog

Week 1: Setting responsibilities, goals and making a start on our project

Week 2: Project progress & combining functionalities