Wednesday, March 31, 2010

Logochip - Challenge 3: Counting Edges

This challenge can basically be broken down into two different sections. The counting section and the getting the light to blink section. And neither of us having had a cs or programming background, had no idea how to go about doing this. Actually, we didn't even know where to start. We set up the switch and the light but then we sat staring at combinations of two or three pieces that had no chance of working.

We knew that we still had to incorporate the previous challenge because we still had to face the problem of bounce. Beyond that we figured that it had something to do with the recording program so we went back into the tutorial to try and find that section where we created some sort of graph. We tinkled with a lot of stuff and eventually we got a lot of help from Lyn.

When Lyn came over he basically walked us through the logic of how to create the program. The logic behind making programs is very different from other things. It requires a different way of thinking and I think it'll take a little while to figure out the thought processes.

He explained to us that we need to set the program. So start the count and zero. And then we can start the sequence. The sequence was very similar to the one for the toggle challenge. However, what we had to figure out for this one was how to use the 'n' and the print blocks. These were basically what would count the number of times the button was pressed. One of the keys were having the 'n+1'.

Now we had to add the flash which was, surprisingly, simple. We just had to use the 'if' block and make the condition that n=5 and then have the light flash and reset n=0.


Programs always seem so much simpler when they are all done and working. However, they are far from simple to make and when a program doesn't work I find that it's really hard to figure out what is wrong or if the whole entire procedure is wrong.

Logochip - Challenge 2: Toggle Fix

We are trying to connect a switch into the input of the board which then supposedly makes the light (output) turn on and off each time we press the switch. The challenge was supposed to be to fix the switch bounce which was making this program unreliable. However, before we could get to the actual programing and the challenge we ran into many technical difficulties.

We figured out right off the bat that our motor wasn't working properly and so we had to get a new motor.

Next was to get everything actually plugged in and working properly. The motor and the switch were good. The problem here was getting the oscilloscope connected and functional and we ran into multiple problems in trying to do this. First off, our setting weren't right so we had to go through all of it fiddling with trying to get it to work. The only problem with this was that we were testing whether it was working properly or not by turning the circuit on and off but it wasn't connected properly to the circuit so it wasn't reading anything either way. Once had been struggling with this for a while we asked Professor Berg for help. At this time, Professor Berg basically set up the whole thing for us and while is do understand how to connect it better, I'm still not entirely sure I know how to work it and I still an not confident that I could do it on my own. But in better news, the oscilloscope was working now. And the switch-bounce looked like this.

One thing I did learn from this oscilloscope though, is that there are highs and lows. The high is the power source where the '+' is and the low is the ground where the '-' is. I realize that I probably should have know this before, but one step at a time...

So we figured out how long the switch bounce took we started fiddling with programs. First we started with the original wrong program that was shown in class and moved on from there. Actually our first idea was the one below (which actually is the right one) but it wasn't working. So we moved onto other complex (and wrong) programs that involved "if...thens" and other things. Eventually we had to, once again, call Professor Berg over because we were thoroughly our of ideas and frustrated. He walked us through it and brought us back to our first idea. Then it didn't work and Professor Berg we confused also. After which we figured out after all of this frustration that our switch wasn't working properly. So we finally got it to work and this is what the working program looks like.


Logochip - Challenge 1: Getting Started

This assignment is basically a large tutorial in which was are slowly learning how to put together our breadboard of wonderful lights, wires and other gizmos and how to use the picoblocks program.

So far, we have assembled our board with minimal problems. We got the lights to flash in different patterns and such and we connected a little sound maker/speaker device and we got it to play a little tune which was exciting.

The tutorial is not finished as of yet and we are just doing in slowly in between project. However, we have found that it is a little bit confusing trying to keep track of all of the wires and circuits that we have going on. It gets confusing trying to keep track of what we have finished using and what we still need.

More updates on this will follow....

Horsebot - starting to make him work

For some reason our little horsebot is not working as well as he did the first day that we put him together. We think that this is partially due to the fact that horsebot's legs are not moving as they should. At first we liked the fact that his legs didn't move at the same time because it made him more unpredictable and life-like but now it just makes him fall backwards all the time so we're not so excited about it anymore.

Therefore, we made several iterations:
1. We made the back legs with feet on them. If you remeber from the last post, we had taped on lego feet onto the horsebot so we were just making that into delrin. It does help the horsebot to balance a lot better than before.
2. We put a single axle through the motor so that the legs are moving at the same time in relation to each other. This helps with the balance also and this is what we originally wanted so this was a good change.
3. We played around with the weights and the balance of the motor and the battery. We discovered that the balance worked much better when a lot of the weight was on the front so we put the motor at the front end of the base and the battery on the back end of the base. This helps the horsebot to walk because it makes sure the front legs are on the ground to pull it forward instead of just falling backwards.


We still have to reprint the base to make it tight fit so that he can stay together on his own (hopefully) and not have to be taped together!

Wednesday, March 10, 2010

Horsebot - Building It

Our wonderful little horsebot works. We decided to go with the teflon rods because when we were manually turning the axel, the teflon rod one was easier to turn for some reason. We then proceeded to make our motor.

We need a motor that has one axle so that both of the legs turn at the same rate. This is because our design banks on the fact that the legs on one side opens while the legs on the other side closes. This creates the "horse-like" walking of the robot. However, we do not yet have one axle so the legs do not move at the same rate and so our hosebot falls over sometimes.

We placed the motor on the backside of the horsebot to give him better balance. However, when we also placed the batteries back there, it fell backwards. So we put the motor in the back end and the batteries in the front end this way the back end is still heavier than the front end but not so much so that it falls backwards.

and here it is....


As you can see in the video we were experimenting with putting feet on him. We discovered that putting feet on his back legs helped to balance everything out. So no we have to recreate back legs that have feet on them as well as get a single axel for the motor.

As you may also see from the video, horsebot is basically taped together at this point and time. This is so that we could fix the motor and other parts if we realized that there were problems. We were originally planning on heat staking the robot together. However, if we did that we wouldn't be able to get to the motor. Having made a rough version of the horsebot we realize that it would not be a good idea to heat stake everything together because that would mean it would be extremely hard to make any iterations or fix any motor parts if they came loose. We decided to make the sides and the base a "tight fit" together so that it would hopefully not come apart.

Monday, March 8, 2010

Horsebot - Printing out the Pieces

It came time to print out the pieces for our horsebot... and we encountered some complications.

Recall that we wanted to test out using the music wire or the teflon rod for the joints of the horse. However, the holes when using the music wire must be drilled for accuracy. However, we needed the laser cutter to make the specific measurements for where the holes would be on their pieces. We asked the ninja for a solution to this dilemma and what he came up with was this: create a teeny tiny hole in solidworks so that the laser cutter doesn't actually make a hole but just makes enough of a marker so that we can tell where the drill them ourselves. So on solidworks we made the holes .02 mm.

To make the comparison between the two joints we decided to make one side of the horse for each joint. But we can't keep the same solidworks pieces and print out the parts for both joints at once but we had to print out one side and then go back and changes the dimensions and print out the other side. This proved to be extremely time consuming because there is always a line for the laser cutter.


Another problem we encountered when printing the parts out was that our connector/"femur" pieces weren't turning completely red. It had a layer of red and a layer of grey/black and so the laser printer didn't read it just as a cut. As it turns out it wasn't too much of a problem but the laser cutter did etch the lines first before it went back and actually cut through them.

Once our pieces were all cut out we had to drill all of the holes for the wire. This was difficult considering we made our bushings so tiny and holes had to be drilled into them. Luckily my partner is very skilled at using this drill having used it many times before and was able to wonderfully drill all of the holes.

One thing we noticed with the pieces with the teflon rods and joints was that some of the bushings were put too close on the drawing because they somewhat melted into each other. That's one mistake we will be careful to avoid in the future. the circle piece was also melted slightly so we decided that that had to be enlarged to avoid this melting.

The next part in the process is assembling everything, making our motor, figuring out what joints we are going to use and printing out and building the other half of the horse. Not to mention all of the iterations and small changes that we have to do in the process to make it all work.


Saturday, March 6, 2010

Horsebot - Solidworks

We decided to do the horse-bot. One decision we had yet to make was whether we were going to make the "joints" out of music wire or teflon rods. We originally wanted to make it out of music wire therefore we made of the solidworks parts to fit the music wire. These were the pieces we had to make:

1. base for the motor and battery to sit on (1)
2. sides that the axles of the motor to go through (2)
3. circles (2)
4. connecting "femurs" (4)
5. legs (4)
6. bushings (34)
+
7. joints to represent the music wires in the assembly (7)

All of the individual pieces were fairly easy to make because they are simple geometric shapes (circles and rectangles) but the hard part is making the assembly.

The assembly was extremely difficult to do. The center (motor) axis is a pentagon and for some reason you can't concentrically mate a pentagon to a circle or another pentagonal hole. We couldn't quite figure out how to mate up the motor axis with any of the other holes, so we couldn't get the whole apparatus to turn and function because the motor wasn't properly mated to anything else. Besides the fact that the motor wasn't connected to anything and the assembly didn't turn, we ran into other complications along the way as well. This was my fault but when I made the assembly I forgot that we needed bushings so I didn't include them and just mated all of the other parts to each other. Therefore, we had to go back and delete most of the mates to add the bushings in. We have yet to get the stimulation to work for this assembly.

Pictures will follow of the parts and the assembly!!

Motion Module - Another Iteration


We made another iteration of the motion module. The offset circle and the arm of the module weren't aligning very well and we needed a way to force them into the same line. So we basically printed out another base piece. We then smushed the arm and the offset circle between these two base pieces which gave it much more stability. This is what our motion module now looks like. The arm and the circle now have to move between the two base pieces and move in the same plane so that the circle effectively pushes the arm up.