Thursday, April 24, 2014

Final report

Name: Michael Franck
Date: 04/13/2014
Course Title:   Applied Robotics
Number:   ETI 4880C
Schedule:  Kendall: W: 6:40PM-9:10 PM
Term:  2013-2 (Spring 2014)
Mapping Robot
The purpose
To build a mapping robot that goes through a maze and maps it out.

Function, Structure and design
The robot will move by a chassis with four wheels. The robot chassis will be powered by its on 7.4V LIPO battery. The robot movement will be controlled by the arduino. The arduino micro controller will power by an 11.1V LIPO battery. The arduino will tell the chassis where to move by the results from the ultra-sonic sensor. The robot uses three ultra sonic sensors. Two will be place on the right side of the chassis to detect if a wall on its right side and the other in the front to detect if a wall is in front of it.  The ultra-sonic sensor will keep the robot a certain distance from the walls. As the robot move, it will keep an equal distance from the side of the walls. When the robot detects a wall in front of it, it will make a left turn.  As it moves through the maze, it will record its movement. It will know that it is in or out of the maze once it detects a black line. Once it completes the maze, it will display a simple view of the routes in the maze on a LCD. From the display maze, the map can be shifted left, right, up, down, zoomed in or out from the push buttons on top of the robot. The 7th key is a zoom multiplier button when pressed, brings up a menu where to zoom multiplier can be set. The zoom multiplier is used to speed the zooming in or out.

Components
Arduino Mega 2560 micro controller
Ultra sonic sensor   x3
Line following sensor
Robot chassis with motor and encoder
Motor controller with encoder
Jumper wires
·         Male to male
·         Male to female
1K Resistors x8
Potentiometer
Graphic LCD
LIPO batteries
·         2 cell 7.4V, 4A, 25C
·         3 cell 11.1V, 1.5A, 20C
Bump sensor x2
Bread board x2
Push button (SPST) x7
Single and double sided tape

Result
Final design (for now) :
 
 
              
   
The above picture is a sample map that the robot created.
This is a video of it in action


Conclusion
This was an amazing challenge. I didn't have any hardware problems throughout this whole project, which gave me time to focus on the software. The cost for all the parts that I used on the robot may estimate to be around $200. Due to the fact I haven’t been able to make a big enough maze to show the true capabilities of my robot, for now the picture above will have to do (didn't really put much thought into building a large more complex maze  until the last minute…).




Wednesday, April 16, 2014

Mapping Robot - update 7

Progress since last milestone
I just realized that I never added a bump sensor to my robot, so i just added one and it's working as attended.


Problems/Difficulty encountered
when i added the bump sensor, the resistor i was using was a 100 ohm, which didn't work to well because the resistance was to low and it was letting most of the power go through, so i added a 1000 ohm resistor and everything was good afterwards.

Proposed progress for the next milestone
Add a second bump sensor to the front so it can cover the other half and also improve the code.

Wednesday, April 9, 2014

Mapping Robot - update 6

Progress since last milestone
I add a three new push buttons to my robot. One of the push buttons is used to zoom out of the map and another to zoom in. For the last push button, i'm using it as a menu button. So far for the menu,  the only thing I have added so far was a zoom multiplier function to speed up the zooming in and out. For example, to zoom 5 time faster or zoom 20 time faster. The reason for the zoom multiplier is that depending how long i let the robot map, the map can size can get very large and zooming in or out by 1 time ( basically shifting everything by 1 pixel at a time) can take a while.
I added a third ultra sonic sensor to the right back of the robot as well, to help keep the robot perpendicular to a wall when moving.
Here's an updated picture of my robot

Problems/Difficulty encountered
I ended up not adding the Intel Galileo due to it only having two fast ports and the rest of the ports input/ output speed is too slow to usable for my robot.

Proposed progress for the next milestone
Hopefully add some new functions to my robot or improve on existing functions.

Friday, March 21, 2014

Mapping Robot - update 5

Progress since last milestone
I've decided to take a new challenge and decided to swap out my Arduino Mega 2560 to the Intel Galileo,  which is a beef up version of the Arduino Uno, but the same pins.

Problems/Difficulty encountered
Since the Intel Gailileo requires a 5V, 3A power supply, I had to order a 5V step down regulator. I ordered the Pololu Step-Down Voltage Regulator D15V35F5S3.
This regulator takes an input voltage range of 4.5V - 24V DC and converts it to 3.3V or 5V DC with up to 3.5 amp current draw. I also ordered another LIPO battery just for the Galileo that is 11.1 V, 3.3 A.

Proposed progress for the next milestone
When the battery and regulator comes in, i"ll add the Galileo to my mapping robot.

Wednesday, March 12, 2014

Mapping Robot - update 4

Progress since last milestone
Well... I basically completed the robot Out of all my milestones, going through a maze is the last thing i need to do. All i need is a maze to show that it can go through a maze, however from the results that i have gathered just for the fact it can follow a wall and make turns, i'm confident that it can go through a maze that that can fit it and have enough room for turns. I also went further by adding four push buttons that allows the view of the map to be scrolled up, down, left or right.

Problems/Difficulty encountered
I had a issue with one of my batteries (9V alkaline) that powered my Arduino micro controller  and everything else except the motor. The problem was that my battery couldn't provide enough current to power everything (basically my LCD back light) so when i would run my robot, my ultra sonic sensors were working sometimes. So to fix this issue, I had an extra 7.4V LIPO battery, i just used that to powered my arduino and everything worked perfectly fine again.

Proposed progress for the next milestone
Hopefully i get a suitable maze to finally show that my robot can properly do as it was intended.

Wednesday, February 26, 2014

Mapping Robot - update 3

Progress since last week
  • I added two ultra sonic sensor to my robot (one facing the front of the chassis and the other facing the right of the chassis).
  • My robot can follow a wall on the right side and turn right when it see's an open path or turn left if threes a wall. 
Here is a picture of my mapping robot so far

A short video of it's operation (preset distance)

Problems/Difficulty encountered
  • I realized that my encoder outputs were faster then my Arduino micro controller could read it when I had multiple serial print statements which was basically was taking longer than the encoder was switching states. Since i removed them from the loop that i was using to count how many times the encoder change state,  the accuracy greatly improved and stayed mostly constant with 1 or 2 state changes every now and again.
Proposed progress for the coming week
  • Well since i completed my progress two weeks in advance, ill spend some time working on  future proposed progress or improving what i did so far.

Wednesday, February 19, 2014

Mapping Robot - update 2

Progress since last week

  • I got both my proximity sensors (ultra sonic and infrared) and both are working. (i'm still testing both to see which ill use for measuring distance).
  • headers for my graphic LCD (haven't soldered it on yet).
  • I can now move my chassis with the arduino micro controller using the motor controller because my jumper wires came in.
  • I can measure my distance traveled with the use of the encoders that came with the chassis.

Problems/Difficulty encountered

  • I haven't gotten the current (amps) reading that each motor is using to work yet
  • I had a problem with my LI-PO batteries because I didn't realize i had to buy an adapter to charge it it, so, I improvised and used jumper wires with alligator clips to charge it.

Proposed progress for the coming week

  • Get my robot to dodge basic obstacles