Bryn Mawr College Home Page

Department

People

Curriculum
Research
Resources

Course Navigation

 Course Home Page

Robot Lab Wiki

WeeklyReactions

Week 7

Timothy Ambrogi

Lawrence Bomback

I wanted to see some tasks that robots were able to perform using subsumption architecture. I found a website from the University of Michigan that designed a number of robots that ran subsumption architectures and it was amazing how many different tasks can be simultaneously performed. Three were particularly interesting.

One robot, Herbert, was able to distinguish empty soda cans from other soda cans and then discard them. Herbert has 30 infrared sensors and can perform obstacle avoidance and wall following in addition to distinguishing cans from non-cans and empty cans from full cans. This last ability is what really impresses me. I wonder how the robot distinguishes full from empty cans. If it’s based on weight, what type of sensor is Herbert using to calibrate weight? There’s no way that an analog sensor would be able to distinguish one weight from another, and I don’t see how an infrared sensor could do that either.

Another robot, Attila, was designed to exhibit the abilities of both low-level survival and walking. It is a much more complicated robot with 150 sensors (must have cost a fortune!) and 23 actuators, which read the signal and convert it into a physical action. This made me wonder if we were using any actuators in our robots so far, and if so what were they?

Finally, Seymour is a robot in progress that uses subsumption architecture and 10 cameras in order to be able to track, follow, and chase a moving object. Each camera feeds a different subsumption layer, allowing some to get images of the ceiling and others to get images of obstacles in front of it. This made me think about how the layers were arranged. Which cameras superceded others? Essentially, what’s more important to this robot – the obstacles or the light? I would assume the ceiling light cameras because from the experiments we’ve done, it was imperative that the “following” robots were reading light.

Jacqueline Chew

At this point in the labs and in the course I am re-evaluating my thoughts on whether or not we are making intelligent robots. The last lab, with the robot navigating through a maze seemed, to my friends to be very impressive. More impressive, at least, than the past labs. From their point of view, i can understand this because it seems amazing that the robot could, on its own, zig zag through walls, finding an opening, much like a rat or another lab animal which we know to posses intelligence. However, knowing the very simple commands that went into it, i am very doubtful that the robots are displaying intelligence. When i explained to my friends that the robot had simply been asked to turn when it bumped into something, and then just go straight until bumping into something else, their opinions changed drastically.

Catherine Chiu

When it comes to a robot solving a maze, is there any way for a robot to remember where it has been? In other words, if a robot had a choice of three different paths and it chose a path with a dead end, how could we program it to reverse the last steps that it took to return back to the intersection that it was at previously? For example, in the screensaver we were looking at last week, it would pick a maze and then try to solve it and we clearly saw that there was a lot of backtracking. Could we do the same thing with our robots? I suppose that one way that we could get the robots to backtrack is by simply telling it that once it hits a wall, turn left or right, much like the lab we just completed, but there is as much a chance that the robot would wonder its way back to the beginning of the maze as there is the chance that the robot will make it to the end. Is there a way to program the robot to remember a paths it has taken so process of elimination could be used? Or is this simply too complex for a robot to do? To be fair to the robots though, I suppose if most humans were put in a maze where the walls and angles were uniform, there would be a good chance that we would end up in the beginning of the maze as well.

Jason Coleman

When doing the obsticle avoidence lab, we (Matt and I) first programmed just the two instructions given in the assignment: if I bump into something on the left, go right AND if I bump into something on the right, go left. And if both were bumped, we programmed the robot to go right. We thought to do just the bare minimum and test how that works and figure out ways to make it better. It turned out that those simple commands were all that was needed to traverse the simple mazes in lab, so we didn't dare change anything, but we had a few ideas, and other groups did too... like if I bump into a wall repeatedly in a short time, I should notice that I'm stuck and do something about it (like turn more next time.) These kind of advanced features weren't needed to "pass the lab", and sometimes hindered the robot (as when the robot would turn around TOO far when it was stuck in a corner). So it seems that it is possible to make a robot TOO intelligent for its own good. There are numerous examples of "robots that knew too much" beyond maze traversing robots. (Does anyone remember the movie RoboCop, where he goes beserk and wants to arrest everyone?!?) Deepak mentioned that we could add some randomness to the robots turning and backing-up functions to make the robot avoid getting stuck in walls, and this seems like a more elegant solution to the wall-stuck problem. I think it is ironic that adding randomness, instead of more precision, would cause the robot to perform better in such a precise act.

Ian Harrison

Since we didn’t discuss anything from the last week in class, to Ananya, yes, most random number generators are programs that use a function based on a seed value, normally the time on the system clock. This means that if you kept the system clock at the same time, you could always generate the same sequence of random numbers, hence making any program that relies on random numbers as predictable as any other program. From what I understand, there are hardware random number generators that are truly random, in that there’s no way to ever determine what number they will produce beforehand. Predictability seems to be one of the lines that people feel computers need to cross in order to qualify as intelligent. Since a computer only does what the human programmer tells it to do, there doesn’t seem to be intelligence inherent in the machine or in the software, save for the intelligence of the programmer. Tim writes that people are actually programmed similarly. While it’s true that a lot of what we do is a response to our environment, Tim seems to arguing from a behaviorist perspective, a viewpoint that’s highly flawed when it comes to explaining intelligent behavior. If creativity were merely a learned response, than most people immersed from a young age in the world of music should eventually become at least a pretty good composer. The complexity of human language, for instance, did come about as a learned response to our environment, because there was no environment that required language at all until we created that environment. For evolutionary purposes, rudimentary communication skills would’ve sufficed. If you want, you could call the structure of the human brain part of the environment, and then say all learning is therefore environmental, but then you seem to be saying that it is the environment itself that’s learning. Point being, there seems to be a randomness to what people do, something we call free will or consciousness. For a computer to demonstrate this, it would have to behave in a way that could not be predicted simply by examining it’s programming, then examining it’s environment. A general learning algorithm, on it’s own, would not produce non-deterministic behavior. It would still only do what it had learned to do in accordance with the learning algorithm.

Nicholas Kerr

If someone offered my the chance to have my brain replaced with a computer that would give me all of the same features of my current brain except that my reflexes would be hundreds of times faster, I would definitely take them up on it. I would like to think of this new brain as a supercomupter that could monitor all of my senses and decide what to do when changes occur in my surroundings faster than any other computer in the world! This to me is the most interesting example of parallel processing that could possibly occur in the real world. I was reading today about the proposals originating during the Reagan administration for a united states homeland missile defense system. The system would monitor the nuclear weapons sites of china and russia and be able to tell if either of the countries were launching missiles. If it found that missiles were being launched, the defense system would shoot chemical lasers at the missiles within seconds of their leaving the ground and try to destroy them before they entered the upper atmosphere. This is another example of a really neat parallel processing system. If one were to put these two computer ideas together, I imagine they would get a ninja. Ninjas have the ability to monitor an enormous amount of information about their surroundings all at once and to react quickly if they at any point find themselves in danger. As a child, I envied ninjas in a playful way, mostly because my only knowledge of ninjas was through the teenage mutant ninja turtles series, which glorified their capabilities. As a young adult and aspiring computer scientist, I envy ninjas for their ability to parallel process at such an incredible rate, rather than their cartoon appeal. My envy of ninjas is why I would submit myself to have my brain replaced by the small computer, even though there would be terrible side effects to such an operation, such as loss of ability to have a conscience. I don’t think the idea is very practical though.

Ananya Misra

I think Juan has an interesting point on randomness not always being all that random after all, just extremely difficult to predict. In that sense, computer-generated randomness is random, too, unless you designed it or otherwise know the algorithm being used. So although I'd still say that a computer is in essence programmed, un-mysterious and maybe even predictable (by those who enjoy tedious calculations), it should retain at least some mystery for most people. I expect it would be hard to find someone who knew in detail the workings of all aspects of a given artificial intelligence system, from the hardware and software to anything that any part of it is based on. But for some reason, just a basic overall knowledge with a few details seems to dispel the mystery. Is it because we know that human beings created the system, and hence assume that we could acquire more in-depth knowledge/understanding relatively easily if we wanted to?

By the way, on another topic, if we were intelligent enough to understand how our brain works, we'd probably try to find ways to improve it next, which could really smudge the difference between natural and artificial intelligence.(Sounds like science fiction + philosophy, huh? Think what fun you'd have coming up with dangerous consequences of these attempts at improvement, all going to show that your super-enhanced human race is still not smart enough to know what's good for it...)

James Racanelli

Again on the issue of randomness, there seems to be a big connection between computers exhibiting random behavior (behavior that is not hard coded) and computers being intelligent. In many fields involving computing, the ability to generate truly random sequences of numbers is very desirable, and although people keep finding ways to create sets of numbers that are ?more random?, it seems that the sequences are still always periodic, just with an enormous period. For example, in astronomy, there are many calculations that rely heavily on random number generators, and I once heard a story from a professor at Haverford about someone who thought that they had proved some incredible fact about the orbit of so and so?s about such and such?s (or something of the sort) after months of hard work. It turned out that he was only able to prove such a fact because the random number generator that he used started repeating itself because he needed such long sequences of random numbers for the calculations. The moral of the story is that we in the computing world seem to often be held back by the issue of being able to create randomness in computers. In artificial intelligence, if we are trying to create computers that can act like humans, then perhaps randomness does not need to be as much of a priority. I say this because of the rock, paper scissor programs that Deepak mentioned in class that detect patterns in how a human opponent plays the game. Perhaps human behavior is not as random as we think, but rather, it is just very hard to predict. So maybe the random generators that we have now which are impressive in that they are very hard to predict are random enough to mimic the ?randomness? in human behavior.

Juan Ramos

On the issue of randomness, I think that, in some cases, randomness results from a lack of data on how a number is generated or obtained, depending on the case. We call the rolling of a dice to be random, yet I imagine that if, say, a physicist performed an experiment in which he accounted for all the possible forces acting on the dice, including the dice's rotation and how strong one throws it, then that person could predict what number was going to come up. Similarly, a program that generates a random number might look as if it generates completely random numbers, yet in some cases, it might just be running a specific algorithm that picks numbers under a set of defined rules, which eliminates the random factor.

I've found that as we've learned new material and discussed increasingly complex algorithms for programming robots, it seems that the notion of intelligent computers has become more difficult to define and/or believe. Before taking this course, I wondered what code a robot ran to exhibit 'cool-looking' behaviors. After I saw the code, I felt that in a certain sense, programming a simple robot was no different from writing sowftare. As the robots get more complex, I'm beginning to feel that the mysticism is maybe a part of what makes me think robots are intelligent. Some of the reactions I have heard vary from amazement to indifference, making me think that the whole notion on intelligent robots depends on whether one knows how the observable behavior is being processed as software. This is also kind of intriguing for me: do we think we are intelligent simply because we don't know how our mind works? If we did learn how the brain really functions, would we consider ourselves intelligent?

Matthew Rushton

First, a word on the robots. After completing the last lab and beginning to work on this next lab I still don't think I can make a definitive answer to the question we had asked earlier: are the robots intelligent? On one hand I understand the algorithm the robot is using and am completely demystified as to what is going on, which I would not classify as intelligent. On the other hand, stepping back and just watching the robot, it would appear it does possess some sort of intelligence. It all comes down to the way we define intelligence. If it is based on the specific physical processes than no the robot isn't at all intelligent. However if it is based on observed behavior than the robot is indeed intelligent. Part of me feels like we have to use the second definition simply because we don't understand how the mind works. As far as random number generators go, randomness can and does occur in processes that are entirely non-random. In terms of computers, using a clock may not be random, but it does effectively produce random numbers, almost as an emergent behavior. You could in theory flip a coin, which abides by all physical laws, and predict whether it will be heads or tails, yet it most certainly can be shown to exhibit 'random' behavior. I think true randomness is just another example of inexact human knowledge. Who knows to what extent actual randomness occurs.

Tina Tan

I never looked at randomness before as intelligent. Some of the points brought up earlier seem to show how randomness can produce more desired results, like when our robots would get stuck in the corners. However, I don’t think I see how random behavior exhibits any intelligence. In The Thinking Machine, it was stated by a scientist that (I know the film is over 40 years old, but the definition seems to still make a lot of sense to me) intelligent behavior is rule abiding behavior. If intelligence is about making optimal and logically decisions, true random acts only seem to be intelligence if the act were, by chance, the desired output. In my opinion, I feel like that is where a few people stated that maybe random behavior isn’t really random, just hard to predict. If a program runs randomly and after a number of runs it develops a pattern, I just don’t feel like that is random anymore.

As for whether we would still consider ourselves intelligent if we were to someday fully understand how our mind works, I don’t see ourselves ever thinking we aren’t intelligent. I think in terms of artificial intelligence that is somewhat true, the bar rises every time an advancement is improved upon. Yet in terms of our body, even though so much has been learned about how certain organs, for example, work, it doesn’t change the level complexity of these functions. I see intelligence and overall brain function in the same way.


ViewWiki | EditWiki | Webmaster@wiki.cs