Archive for February, 2006

My Scribbler had a name……

For the past several weeks, the class has been centered around the exploration of computer language through a small blue robot called a scribbler. It seemed like a toy at first. The box even reads “For Ages 8 and Up!” But the lesson behind this “toy” has led to a plethora of technological knowledge of which we have just begun to scratch the surface.

The field in which we HAVE delved somewhat into however, is computer language. The scribbler no longer needs a petty toy name. To me, it has now become an instrument for learning. In our reading of Dr. Brooks’ Flesh and Machines, the most scintillating moment for me occurred during the conception of ant evolution. The author witnessed an ant and couldn’t figure out why something a fraction of the size of a robot could perform tasks that would take warehouses of information to process. The answer came soon enough.

Evolution was it. By starting with small steps and leading up to more complex ones, the robots of today are more able to simulate life. In lab, we began by seeing the robot performing a series of pre-established programs. In the second lab, it was our turn to do the programming. And this “theory of evolution” helped me greatly. I was able to think like Brooks in the context of “smaller is better.” By assuming that the robot knows nothing, can’t react, and follows instruction to the last word, this lab was like teaching a baby to run before it could walk. In spite of all this, I was able to learn a vast amount about computers in general. Not so much on the logistics of complex programming, but rather more on the basis of why it is necessary. Before the scribbler, I couldn’t understand why robots just couldn’t take over and kill us all. Now I do.

But besides the sci-fi thriller of the week motif, the Scribbler has installed within me a more complex understanding of programming. I realize now that I can’t tie weapons onto the scribbler and have it battle. There’s no simple programming for that. Even having it clean my room would not be a simple task. Everything I have taken for granted before is really just a series of algorithms and programs that someone has created. Just making a square with the robot took a long time! To sum it up, I have learned to teach (in pseudocode). “Do this,” “Don’t do that,” “only if this,” “but if not then that,” are now part of a different vocabulary.

The Scribbler, Not Bad At All. We should play soccer.

The Scribbler generally impressed me. That which I found most frustrating was not really the Scribbler’s inability to understand, but the inaccuracy of its tools. The things that limited the Scribbler most was the rudimentary nature of its sensors, motor, and overall construction. I think the Scribbler could very easily be programmed to draw much more complex shapes if it was equipped with more accurate sensors and was capable of more exact movements. I think drawing from our reading of Flesh and Machines we can realize that the Scribbler is actually capable of rather complex behavior by the standards of the recent past. The robots Allen and Genghis strike me as being at least as inflexible than the Scribbler, and they really only seem more impressive in that their sensors and modes of transportation are more advanced. Allen’s ability to carry on several commands in layers seems its most distinctive advantage over the Scribbler, which processes commands in a serial nature.
The Scribbler strikes me as being particularly similar to Sony’s AIBO, the robotic pet dog. If the Scribbler had legs instead of wheels, could interpret sound accurately enough to follow vocal commands, and had the memory to store all those commands, I wonder in what respect the Scribbler would differ from AIBO. The pet dog has been increasingly programmed by its own owners, who have grown more sophisticated and started reprogramming AIBO using Sony’s R-CODE language. Because AIBO has a computer, a vision system, and modes of acting upon its environment, it is used as an inexpensive platform of artificial intelligence research. In particular, AIBO is used to compete in autonomous soccer competitions. Teams of AIBOs are programmed from the beginning of the match, and then play against the other teams.
I’m excited for the time when we have a Scribbler soccer match.

Pseudocode And Why It Makes Me Happy

Most of us are familiar with the story of the Tower of Babel.  This Christian fable tells us that humans once shared a single language.  They supposedly gathered together on a plain “in the land of Shinar” and thrived.  The common language allowed them to cooperate and coexist with each other.  As their civilization and technologies grew they decided to build a tower of gigantic proportions, a monument that would cement their union as a people.  The Lord looked down upon their work and decided to intervene.  He took the communal language away from his creations lest they do things that challenged his power, so he scattered them across the Earth.  With the communal language no longer accessible the people remained scattered and could not finish the work on the tower and their beautiful city.  According to this story the many languages of the world sprung from God’s whim.

Well, it seems that we did not learn from the several millennium where we struggled to comprehend each other’s babbling attempts to communicate.  With the birth of computers we were given a chance to create a new language that we could collectively develop and enhance to direct our computerized creations.  Alas, we did not do so.  Instead, thousands of computer languages (Bill Kinnersley has listed more than 2,500) were created, some of them with resolvable similarities but others with differences as pronounced as those between English and the !Kung dialect (the orthographically unusual word !Kung refers to a language spoken by a group of San in southern Africa; the more you know).  Here is a brief history of the incredible fragmentation of computer languages.  We decided to tear down our own Tower of Babel, creating languages that often made a certain task simpler, but thoroughly obfuscated the communal understanding of programmers across the globe and across the hall.

Thankfully, we do not have to negotiate between 2,500 languages in this course.  Instead, an alternative language is used that bridges the gap between the other computing languages and simplifies the programming for those without much programming experience.  It is called “pseudocode,” which literally means fake code but can be more appropriately described as simplified and streamlined version of code.  Because of this pseudocode makes me happy.  Very happy.  It has the same fundamental features of computing programs (e.g. ability to perform arithmetic, variables, conditional and loop statements, etc), but it uses a syntax that is based on English commands.  Thus, it allows us to learn about computer languages in general without having to study individual languages.  Thanks to this we can build our own little Tower of Babel, not out of bricks and mortar, but out of the equivalent of children’s building blocks.

“Aha” Moment: Perry Cook’s Computer Models

We’ve covered a lot of interesting and enlightening material thus far in COS 116, but music is my favorite pastime, so I feel compelled to talk about computer music.

I listened to some of the PLOrK on Prof. Cook’s site.  For someone (like me) who is a horrendous drummer, I can definitely see how valuable it would be to be able to “loop” a drumbeat as all of the PLOrK songs do.  Last time I recorded in a studio, I wanted to lay down an electronic drum track over a rythm, and I had to manually hit the buttons in a certain pattern - quite laborious and prone to error.

Another cool aspect of computer music that I picked up on while listening to PLOrK is that the measures of the song are broken up digitally.  This provides that the composer can insert notes with perfect timing.  That is, someone who has never played an instrument (physically) can make an elaborate song if he/she has a knack for music.

What impressed me most about the Prof. Cook’s computer music?  Oddly enough, it was not the fact that he constructed a way to played the trumpet with a coffee mug.  Before his presentation, I had assumed that an instrument could not be reproduced with such exact precision by a computer (or coffee mug).  I had always assumed that by whatever means someone recorded the sound, the reproduction would come out slightly deficient in quality.

The beauty of Prof. Cook’s computer music is that he mathematically modeled the Fourier equations of the trumpet, saxophone, etc.  Theoretically, most or all of nature can be explained by mathematics.  Prof. Cook has started in on the task of uncovering the Fourier (combined sine waves) models that are behind the sound of nickel in a jar, a particular trumpet, or a particular Martin guitar.  As a musician, this allows me to play an instrument without actually learning to play.  If I want to play the sax loudly, the program presumably plugs in a higher value for the variable that commands intensity - or amplitude, rather.

It’s still hard for me to believe, being a naive COS 116 student.  Call me old-fashioned, but at first glance, it feels as if he has tampered with something sacred in nature - like he’s cloned a child or something.  Fortunately, there actually are no ethical consideration surrounding computer music, so I’m on the bandwagon.

Robots, Robots, and more Robots

Professor Arora’s lectures presented how it has been the dream of man to “breathe life into matter.” The existence of Golem, Automata, Frankenstein, and R2D2 have all come to prove this disposition of mankind.

But with new breakthroughs in technology, robots – the manifestation of our dream to ‘breathe life into matter’ – have constantly made progress. HAL or R2D2 may not be a future too far away. Right now, robots are digging up valuable information on Mars (it must be noted that it is much more efficient to have a robot on Mars rather than manually controlling a machine), aiding surgeons, and acting as pets – like Sony’s robot dog AIBO. There are also, of course, cleaning robots in our homes, and our very own Scribbler, which my roommate mistook for a cleaning robot and jumped in joy at the prospect of not having to clean the room anymore. (He did, of course, release a series of rather harsh verbal comments on the Scribbler after he found out its true identity.)

Thus, robots are not everywhere in our culture/society yet, but they are continually increasing in utility and importance. We are beginning to see more of cleaning robots and robot pets like AIBO, and they will become cheaper as time goes by. More sophisticated robots like the ones in a “Da Vinci” robotic surgery system, will continually aid us in implementing more precise operations.

Where are we going with all this? As Brooks says in “Flesh and Machines,” “if the early parallels between computers and robots hold up,” we can expect them to play a pivotal part in our society in terms of economy, culture, and everything else.

Robots will not just be cleaning in our rooms and on our windowsills, but be actively taking part in the economy. Brooks predicts, however, it will take a while for robots to fulfill man’s lazy fantasies, such as bringing all sorts of things like beer, shoes, or underwear at verbal commands. Each can be done, but separately, and for a robot to be able to carry out all these kinds of things, we will have to wait decades.

Scribbizzle, the rogue Scribbler.

I found programming the scribbler in our first lab pretty straightforward as the software is very user friendly and not much previous knowledge of computers is required. The scribbler seemed to follow the actions that were programmed into it fairly accurately and I was pretty impressed with what $100 can buy you until our second lab. Trying to program the scribbler to draw a square proved to be much harder than it sounded as the movement was very jerky and inaccurate and these inaccuracies piled up to alter the angles and distances quite drastically. Also when I used a friend’s scribbler, namely Walter Hopkins, I found his to run far more smoothly and accurately when an identical code was programmed into it. This leads me to believe that that either I have been abusing my scribbler (which I would never do..) or that the manufacturing process is not as thorough as I was lead to believe upon the original reception of Scribizzle (he’s a rogue scribbler). Of course these complications were even more apparent in the construction of a star and a circle. It seems, from reading other blogs that I was not the only one who experienced this problem.

From our reading of “Flesh and machines” by Rodney A. Brooks we notice that W.Grey Walter’s tortoises are very early forms of the scribbler. They have the capability to move forward and backwards, detect objects around them and detect light. In some respects these robots are almost more advanced than the scribbler as they are a lot more autonomous and they’re movement is a lot harder to predict. There is no predefined program within these tortoises as is in the Scribbler, just circuits and motors that respond to certain stimuli. However the scribbler would be a lot more apt for excavation and recon as it is possible to “control” it to a certain extent.

 

Fun with my scribbler

My scribbler experience so far has essentially been an introduction to the workings of simple robots seeing as I’ve never had any experience with them before. I have to say that I am amazed at how such a simple looking toy can be programmed to do so many things. Going into the second lab I was doubting whether or not the scribbler would be able to do most of what we had discussed in class, and further to what I was reading in the lab tests. Once I figured out how to use the program installed on the computers thee lab moved along smoothly. I found it interesting in the second lab between the 6th and 7th tests, how similarly the scribbler reacted to a light source and an obstacle being in front of it. In both instances the scribbler reacted in the same way, with its LED lighting up when neither a light nor an obstacle was in front of it. I was a little surprised to find out that the robot couldn’t detect any obstacles from behind, however, considering that it can move in reverse. Moving into the 3rd lab, things got slightly more complicated in the testing of the scribbler. At first I thought that my lab was in a bit of trouble considering how off my scribbler seemed to have gone while in the box, but after some calibrating it seemed to run a little better. Drawing the square didn’t take too long to figure out, but I had some trouble with the gaps between the lines. When it came to the star, however, my scribbler seemed to have a lot of trouble. Calculating the time for which the scribbler had to spin wasn’t as easy as I had thought. I simply thought that I could take a fraction of the 90 degree turn from the previous test with the square, but this didn’t end up working. After several more or less random attempts it seemed to draw a star to the best of its ability. The circle seemed to be the easiest thing for my scribbler to draw since it worked on the first attempt. After just 2 labs working with the scribbler, I have to say that I am quite impressed. It seems to be that the computer in the scribbler must be similar to that that you can find in these new vacuums that clean all by themselves, detecting and avoiding obstacles. It seems that the scribbler may be a slightly more advanced version of the Tortoise robot that Brooks describes in his book. A main difference being that the Tortoise could not make sounds like the scribbler.