Thursday, February 17, 2011
Final Presentation
https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B7H2olq2nI5bYzk5NjRjMGYtZDg1MC00ZTUwLWEzMDYtNmE5NzI0MjliZWU2&hl=en
The presentation went well aside from a slight technical difficulty with the video.
Wednesday, February 16, 2011
Tuesday February 15th
The rest of the evening was spent working on the presentation. I generated this lovely graphic, which looks like it was put together by a 5 year old, in order to explain our programming strategy.
This illustrates the 5 major paths that the robot could take through the area.
The over arching programming strategy was to write code which handled each of these paths. The result was that we created a much larger program than was necessary, and the scale of it prevented us from making the lower level elements robust enough to always function.
-B
Tuesday, February 15, 2011
RSSC meeting was a bust
During the RSSC meeting, there was a lecture about using ROS (Robot Operating System). The lecture was interesting enough to warrant further investigation. It may not be a feasible switch for the robomagellan platform because of the migration and learning barrier.
Wednesday, February 9, 2011
Friday, February 4, 2011
Genetic Counseling
The main concept is to organize projects into independent chunks which can be worked on in parallel or in series. series activities will follow each other on the time line horizontally, and parallel projects can be arranged vertically.
The following is an example of a Gannt chart.
Using the concept of a Gannt chart, Mitchell and I were able to separate our responsibilities and complete the major structural components of our competition robot in a few hours. The result is the Genetic Counseling robot!
The rest of our time was spent mounting and testing the sensors. At one point, the color sensor's ground rail cracked and it had to be re-soldered. Luckily, it is now completely functional. Watch out RSSC we are coming for your trophies!
Thursday, February 3, 2011
Color Sensor
CODE BEGINS:
-------------------------------------------------------------------
symbol redgreen = b3
symbol redblue = b4
symbol greenblue = b5
init:
pwmout 2,99,0
main:
low 1 ;red on
pause 125
readadc 0, b0 ;how much red?
pause 125
high 1 ;red off
low 2 ;green on
pause 125
readadc 0, b1 ;how much green?
pause 125
high 2 ;green off
low 3 ;blue on
pause 125
readadc 0, b2 ;how much blue?
pause 125
high 3 ;blue off
redgreen = b1-b0
redblue = b2-b0
greenblue = b2-b1
;readadc 4, b6
serout 0, N2400, (10,13)
serout 0, N2400, (#b0, " ",#b1, " ", #b2 )
if redgreen > 10 AND redgreen <> 10 AND redblue <150 then red
if redgreen <> 150 AND greenblue > 10 AND greenblue < 150then green
if redblue <> 150 AND greenblue <>150 then blue
low 4
low 5
goto main
red:
pwmout 2, 99, 0
high 4
low 5
goto main
green:
pwmout 2, 99, 150
high 4
high 5
goto main
blue:
high 5
low 4
pwmout 2, 99, 250
goto main
------------------------------------------------------------------------
CODE ENDS:
The sensor activates a 3 state LED which can emit a red green or blue light, and then measures the voltage level on an input pin which is connected to a CDS cell. the theory is that blue objects will reflect more light when a blue object is in front of it, and the resistance of the CDS cell will increase, thereby causing a corresponding voltage change on the input pin. The sensor measures voltage values for each of the color states and makes a decision based on the resultant data. The most difficult part of this project was getting the analogue signal to function properly. I spent at least an hour trying to get a coherent signal from the sensor, only to be informed that I forgot to comment out some of my debugging code.
It works now, and can interface with the vex brain! On to other projects!
Monday, January 31, 2011
Poppin Wheelies
Thursday's Class was dedicated to illustrating the benefits provided by rotation sensors, and how they improve the accuracy of open loop navigation. The above video is my attempt to navigate a maze made out of black tape using a vex robot... while popping a wheelie.
As you can see, I did not get anywhere close to the target of completing the maze. The reasons for this include the considerable slippage of the tires due to the high power levels, and the difficulty of making precise turns when the robot is in the wheelie position.
After the first attempt at the maze, we were asigned our project teams, and were set to work on using sensor data to improve the accuracy of our robot's performance. The rotation sensors allowed us to make estimates of how far the robot had traveled based on its feedback. As you can see from the following video, a more controlled path through the maze was made possible by these sensors.
(Video to be posted once converted)
Thursday, January 27, 2011
Oscilloscope intro
Wednesday's Class was dedicated to mastering the 555 relay, and observing the effects on an oscilloscope. If Properly configured the 555 relay generated a square wave pattern, which looks like this: _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
The rest of the class was spent demonstrating our Hack a toy projects and playing around with software.
-Brian
Wednesday, January 26, 2011
Pan/Tilt Laser platform
A Tilt/Pan Platform (Hobby king has an affordable one)
http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=11442
2 Servo Motors
a DB9 Female connector to PC
a USB to serial cable
and a prolific USB to serial driver.
Once you have the driver installed, wire your DB9 according to the following schematic.
(http://download.cnet.com/Indigo-Terminal-Emulator/3000-2085_4-10260012.html).
Once you have opened a Terminal screen, the WASD controls can be used to point the laser in any direction you want and is only limited by the range of your tilt/pan platform.
Good luck!
Monday, January 24, 2011
Serial in and out
Using the picaxe programming editor, I was able to upload the following code.
Using the Terminal emulator built into the program allows serial communication with the picaxe chip. The next step is to combine serial communication with motor control and the hack a toy project will be complete.
-B
Thursday, January 20, 2011
Microcontrolling the LED
Wednesday Jan 19:
The focus for this class was learning to interact with a pic micro-controller through a USB to serial output. In the photo below, the black 8 pin chip is the pic micro-controller of type 08M.
Part no. 12f683. The white wire at the top of the photograph is the Tx to computer wire, the grey wire on the left side of the photo is the communications FROM the computer, and it is wired in series with a resistor to prevent an overload of the communications pin.
Setting up the board was painless, but getting the serial communication to work took the bulk of the head scratching.
As it turns out, I was trying to program with an old version of the picaxe programming editor. The newest version (v5.3.2) solved my communication problems and it can be found here:
http://www.rev-ed.co.uk/picaxe/software.htm
The rest of the evening was spent trying to get this servo PAN/TILT platform to interface with the pic micro-controller.
The PIC has built in syntax for controlling servo motors;
The code I used to move the servo by changing the amount of light hitting a LDR (Light Dependent resistor) is shown below.
============================================
init: servo 2,125
main:
readadc 4, b0
serout 0, N2400, (#b0)
serout 0, N2400, (10,13)
if b0> 95 then position
if b0< 96 then outdown
goto main
position:
servopos 2, b0
pause 200
goto main
outdown:
servopos 2, 95
pause 200
goto main
=====================================
Wednesday, January 19, 2011
Logical Probing
Points A1 and A2 are measurement points for the current in the circuit. My multimeter has a broken fuse, so I was unable to measure the current in my circuit, but I was able to measure voltage changes across the potentiometer and transistor. A picture of my version of the circuit is detailed below.
The logic probe was the major project for the day. It is the first project which is intended to be a permanent addition to the electrical tool kit, and is assembled from parts which cost less than $5.
The basic model, with one LED, has a default condition of a dim LED when it is connected to power and ground. When it probes a high voltage location the light gets brighter, when it probes a ground location it turns off. The more advanced model contains 2 LEDs, and has a default condition of a dim green LED. When power is probed, the red LED lights, when ground is probed, the green LED gets brighter.
Sunday, January 16, 2011
Wiring, Relays and RC robots
The last breadboard project for the night was to demonstrate the function of an Oscillating Relay. To get a relay to oscillate you need to run the electromagnet in parralell with a capacitor. The schematic is shown below.
When current is applied to the electromagnet and capacitor in paralell some of the current goes into the electromagnet, and some goes into the capacitor. While the capacitor is charging, the majority of the current travels through the electromagnet. When the capacitor discharges, the current breifly ceases to travel through the electromagnet which causes the switch inside the relay to relax to its default state. The capacitor then begins to charge again, which causes current to flow through the magnet and change the switch's position. This process continues as long as there is current in the circut.
To observe the phenomenon you can watch the video below... the comentary at the end is due to the fact that all of our experiments occur late at night.
The last thing we worked on on thursday was to build the squarebot from the vex inventors guide. I made a few adjustments to the design and turned it into a dragster.
Preliminary testing on the dragster shows that it can pop a wheelie and maintain its upright position while driving. I will try to post video of its antics on tuesday.
Wednesday, January 12, 2011
The breaking of the bread(board)
Today we had the breaking in of the breadboards:
behold the glory of 3 Light emitting diodes wired in parallel.
The green one is emitting a small amount of light because it has 2 large resistors regulating is current, (approximately 10400 ohms) the middle LED has a 100 ohm resistor and the top LED is wired to a 1000 ohm resistor. As you can see, the greater the resistance, the less light emitted from the diode.
Today we were introduced to the wonders of the multimeter. We used it to check for continuity in our soldered circuits from day one, we used it to make sure that our 5 volt power supplies were not going to explode when we put them into the wall, and we used it to check voltage and resistance in a circuit built on a breadboard.
Resistors are color coded to display their resistance, and each color represents a decimal value or a power of 10.
The following image explains how this works:
Finally, we were assigned our vex robotics kits today, which we will be using to create a square bot and to build the final project.
Tune in tomorrow, same bat time, same bat channel!
Tuesday, January 11, 2011
January 11 2011 - first class meeting
Summary of activities:
Today's class covered basic soldering techniques, some of which include:
The use of flux
determining the difference between good and bad solder jobs
how not to get injured
To test these theories we attached components haphazardly to a board thusly:
Additionally, we butchered a 5 volt power supply and soldered wires to the positive and negative ends. Then we applied heat shrink to protect the soldered connections.
This tangled mess was the result:
The important part is that the wires on the left end of the picture can be used to power a breadboard! Happy melting, and see you all Wednesday.