9.28.2010

Day 7: HERE, HAVE SOME LEGO

or "If you try super hard, you can get some to stick together!"
   (or "i spent an inordinately long time trying to find an appropriate link! oh my gosh!!")

A bit of a gearshift today, from robotics to legos!
(oh man, my life is totally way too much fun sometimes)

Starting off kind of easy, you know,
something like
AN INVINCIBLE, UNBREAKABLE, UNBOXABLE BOX?

yes indeed. working on building things that are super strong today!

But, after a few hours of fiddling my box is looking less than super strong-
I call it 'box impossible!'
which is kind of an issue if I am going to drop it from a height of 2 meters!
(two)
(meters)
which is exactly what I plan to do.

The issue i suppose is more that i start something and then know it is silly and then keep going.
something like a triangular box because 'can you do that?'

so, can you?
the short answer is 'not really because legos are not meant to build triangles'
the long answer (two and half hours of playing with legos long) is 'sort of kind of'

'sort of kind of but dropping is will maybe not work'

Looks like someday this week will be scrapping this diversion and making a super reinforced and super compact lego cube.

still.
triangles.
pretty neat.

9.24.2010

Day 6: I'M SORRY DAVE, I'M AFRAID I CAN'T DO THAT.

port swapped 
and suddenly every thing was peachy!
look how much nicer that is
IF either sensor is over the black, THEN the code corrects for this and navigates any turns.
ELSE the robot proceeds straight.
(swapping sensor and motors around leads to massive freakouts and general robotic sadness)

perfectly straight.
that little chunk with the R and L ensures that.
using the counters in either motor we can make sure that neither motor gets ahead on rotations, regardless of friction or anything at all really.
a really helpful feedback loop!


and so, at 80 percent power so it doesn't shoot right off the line-

(music is from Also sprach Zarathustra by Richard Strauss)
(ps, that's me!)

Day 6: TROUBLESHOOTING RULE #1: IS IT PLUGGED IN?

or "BLUH!!!"

SO. This is where we started today-
with that block of code from day 5 for line following with sobriety.
i am completely in love with nested if-then-else statements
but try as we might, we couldn't get it to work.
SO. several hours of confused coding and hair pulling later we have a workspace that looks something like this.
horrible.
that is not one or two but four different code for the same thing.
none of which work. 
at all.
(that is not all! there were several scrapped attempts from other angles! 
including several wait until's 
and parallel sensor-motor programs 
and attempts to recalibrate the sensor values
and 
etc 
etc 
etc)


but then. we addressed the obvious.

see.

The problem with working in code is that the world is not as nice as a simulation.
and sometimes. robots are not as nice as a simulation.


and sometimes-

sensors are plugged into slightly broken ports.

Day 6: DO CYBORG ARBORETUM DREAM OF ELECTRIC SHEEP?

or "this is what happens when you google 'cyborg arboretum'"

Today we talked a little bit about what a robot really is.
that is to say, what makes a robot different from a computer or simply a machine.
we concluded that it is the combination of actuators and programmability.
And some how sensors fit in, but are maybe not required?

this coincided with a lovely discovery via 50 POSTS ABOUT CYBORGS--

a cyborg arboretum is a collection of several different experiments in combining and integrating robots and plants.

I highly encourage you to check it out as my mind is just way too blown right now to even explain how mind blowing this is.

And while rather interesting, I do have a more pressing question.
What does that make
a player piano?

9.21.2010

Day 5: DOUBLE UPDATE, SO INTENSE!

or "yes, I did actually just say that"

we wrapped up the day by trying to address the issue of 'sobriety' in the black line challenge.
The old code-
man, THIS again.
lead to weaving and bobbing and general robotic drunkenness when implemented.

This new code is meant to address that.
They tried to make me go to rehab, I said no no no
Not that it actually works right now, but the general idea is to nest if-then-else statements to address straight lines (this whole two CS classes thing is starting to pay off a tiny bit!)
So when neither sensor is over the line it goes straight, and only turns when it has to to negotiate a turn or the fact that the motors don't go straight.
Hopefully!

Day 5: THE PURSUIT OF HAPPINESS

or "You cant always get what you want except for when you do"
     (or "They are watching Glee in here instead of listening to the Rolling Stones, I am so confused??")

Today, we worked on getting something that worked perfectly okay to work better.
by nixing some 'wait until's and increasing the resistance and fiddling and fiddling and fiddling we came up with a whole new code that works a whole lot better-
the filename is 'search and seizure'??
That whole monstrous if-then-else block pretty much means that-
If one sensor reads higher than the other, the robot turns in that direction!
Complete with search function where it turns in a circle to find the light before proceeding forward!!
Observe-

ROBOTS MAN, THEY CAN DO STUFF. CRAZY!
(ps. those are also my shoes)
(commentary by Kami)

Day 4: REDUCE REUSE RECYCLE

or "the three R's"
       (or "Man I love Jack Johnson but what is up with these guys?")

HEY GUYS CHECK THIS OUT
where have we seen this before?
with a little bit of old code
and with some totally huge new eyes
totally huge new eyes
dreams CAN come true-

(totally excellent music comes from the game World of Goo by 2dBoy)
(totally excellent shoes come from those are my shoes)

9.17.2010

Day:4 NICE WEATHER WE'RE HAVING, HUH?

or "HAVE YOU SEEN THIS? HAVE YOU?"

This update brought to you a few days late, because I came down with a case of NICE DAY SYNDROME.
THIS IS A SERIOUS BUSINESS CONDITION 
So, here we go!

Friday was a productive day!
Still working with the RDS crickets, but with a new partner
(Kami can be found at kamibots.blogspot.com ! check it out!)

The challenges continue with line following-
Follow the line little robot
This little stack of code makes the bot follow a line!  For real!
See, sensors 1 and 3 are reflectance sensors- they shoot out lights outside the visible spectrum and measure how much bounces back.  From these numbers we can tell what color is beneath each sensor.

There are two sensors, on either side of the bot.
And both trigger the 'wait until' to relinquish control to the next step in the code once the sensors read higher than 500 (which happens when over the black)
By associating the sensor with the motor on the opposite side the (currently nameless) robot turns on say... the right motor when the left is triggered.
The robot then goes to the left and moves the left motor off the line until the right sensor is triggered.
etc
etc
ad nauseum.
or "until you grab it and shut the robot off manualy'-eum.

LIKE THIS-
you can just watch it go around, and around and around.

Cool yeah?
Very cool.

With narration by partner Kami!
(you can check out her blog at http://kamibots.blogspot.com/)

PS SNEAK PEAK!!!???-

9.15.2010

Day 3: RETROSPECTIVE TWO, THE RETROSPECTIVING

or  "So awesome!!"
MAN, LOOK AT THIS
This-
GUTS. EVERYWHERE.
PicoBlock guts.
That-
is what a picoblocks file looks like if you open it up in gedit because you don't have a program that can read .pb files and have forgotten what the file is even in there fore.

Day 3: A RETROSPECTIVE

or "words words WORDS"

So, posted a day late because I took somewhere between 3 and 4 naps yesterday instead of updating,
I present RDS DAY 3: A RETROSPECTIVE.

LOOK AT THIS NEATO THING-
MO "the monster" Mortimer
Mortimer is an RDS Cricket, a bigger, brawnier and better cricket.
He's got a pair of monster motors that can keep track of revolutions, an infrared sensor and a touch switch on the front end.  
And thats not all! there are a tonne of slots where inputs and outputs can be plugged in-
    3 motors even! (amazing!)

AND A WHOLE BUNCH OF CODING HAPPENED TOO!
CHALLENGE "a rather excessive number of code stacks" 2
Counter and clock turn Mo left and right by turning only one motor on at a time. It's pretty dang chill.
Bounce and Bounce2 over in the lower left allow Mo to bounce back and stop when he collides with a wall, or hand, or cat, or rocketship or whatever.  Also pretty dang chill.

Part of challenge two is getting Mo to stop at 1.5 meters by various means.

First by simply turning on the motors for a set time.
     but of course that is too easy.  That is where stack RDtimer comes in.  With this we can measure the amount of time it takes by running Mo the distance then stopping him with the touch sensor.
     works out pretty neatly, but gosh did we need a lot of help to sort that out.

Then by using the rotation counter built into the wheels.  
    That's RDcount  It works a lot like RDtimer to allow us to know what number to plug into the stack to it's right, which runs the motor 'till it reaches that number. 
     1500 (what the heck kind of unit is it? I don't know, I don't know)
     
And darkstop uses the light sensor to stop Mo at a line of electrical tape.  
Changing the resistors in the RDSCricket made the sensor much more responsive-
    Sometimes he even stops when shadows from his wires get in the way! Bonus!

OH MAN, BUT EVEN COOLER THAN ALL THAT JAZZ-
ESCAPE.
THE COOLEST THING.
Using the randomization function and the bounce2 stack we built before we can get Mo to traverse and escape from an obstacle course.
Definitely the coolest thing.

9.10.2010

day 2: BREAKING NEWS



It does random noises now too!
(Did I mention that I am really, REALLY into the randomize block?)

day 2: THUMBS UP

Made some progress today, 
the deathmachine now has an edge trigger at its heart instead of a level trigger, so now you can just press it on and off instead of holding it on.




It was actually really tough to get it to do two things at once; The concession I guess is that now it makes grinding noises all the time. fun fun fun. 
This computer logic is actually really, really hard, but I think I am beginning to figure it out.


There are some pretty cool tools in this picoblocks program,
it offers a really simple way to chain together code then use 'boxes' to store them and invoke them with a single 'block' later.


We chained up three today, 
one to be an edge triggered switch,
one to operate the motor
and one which randomizes the color of the light, way cool!
(I am way, way into the randomize function)


Deathmachine code update, with boxes.


The only thing is how sometimes it hits itself off. oops.
(It occurs to me now that we could have just moved the switch. oops.)

9.07.2010

Day1: HOUSTON WE HAVE A PROBLEM



It flails wildly! It blinks rapidly! It plays annoying music and jingles!

And! Best of all! It demonstrates quantum mechanics!

- In that is does not work when you have a class full of people observing it.

Day1: WE HAVE LIFTOFF!

or "Man, I love this movie"
Me and my new best robo-bud, Lucia. Also the deathmachine


Robotic Design Studio day one!  Great Success!
We have built a mechanism that spins and blinks when you run a program that looks like this:
Deathmachine code
We are the masters of all technology!
and itty bitty computers called 'Crickets.'

OH.HEY, PS- you can check out Lucia's blog at www.luciabuildsarobot.blogspot.com for more on the death machine and even more embarrassing videos!