Slashdot Mirror


Denver Couple Unveils Homemade Service Robot

An anonymous reader writes "Jim & Louise Gunderson, owners of a Denver-based computer software tool development company, have finally unveiled their autonomous robot, Basil. Basil is completely home built, runs Linux with some instructions in Java, uses a sonar-based 'reification' logic system, and can go get you a beer or a pot of tea. Quoting: 'The plan is this: The Gundersons will ask Basil to go to the bar, request a couple of stouts from the bartender, and then, once they're placed on the titanium tray perched on his head, bring them back to his creators. They haven't told him how to do this — there's no set script in his processors that tells him to roll a certain distance southwest, speak a certain command, then come back. He'll have to figure it all out on his own, using a basic knowledge of bars and beers and so on, reasoning skills and an ability to understand certain parts of the world. When his sonars capture the image of a person, for example, he knows it's a person, not just a nameless object to be avoided. And he knows that, in this case, that person wants a beer.'"

6 of 140 comments (clear)

  1. Re:FAAAAAKKKEE by Daniel+Dvorkin · · Score: 2, Interesting

    I know the people involved. They're not fraudsters.

    --
    The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
  2. Interesting by Yogiz · · Score: 5, Interesting

    I for one, really like the way they decided to proceed when making this robot. It works by a healthy mix of abstracting and trial and error.

    Let's take the wooden chair, that is used as an example in TFA. As far as I understand it, learning about it and using this information for the robot goes like this.

    They put the robot in front of the chair and let it use it's sonars on it from different angles and distances. I imagine that in the case of a typical wooden chair with a back it sees four points for the legs and a line for the back. At least I believe that it abstracts it as such. For the first time it will be input to it that the thing it sees is a wooden chair and it knows that all things that have four points about so far from each other in a squared manner and have a line above two of the side points can be regarded as a wooden chair. If it sees another chair made of metal without the back for example, it might consider that to be a wooden chair as well because it's similar enough and in that case the makers correct it's assumption and say it's a metal chair. Sure, it will start to think that all the chairs without the back are metal chairs, but if that's the case in their home, so what, it's right. If it understands anything wrong enough that it fails at its task it can always be corrected and its knowledge about the world as it sees it will increase. Now when performing tasks it can treat the chair as an abstract object, now that it can recognize it. It can memorize where it stands, it can learn to avoid it or push it or whatever, as long as humans correct its assumptions and choices. Now these abstractions could be abstracted even further. The idea is to let it do very simple things and then combine them into larger tasks, much like programmers think about and solve programming problems: If you want to solve a large problem and you don't know how to, you break it into smaller pieces until you get a piece, that is simple enough to be solved. You solve it and see the next piece. Then you combine the solutions to a solution to the bigger problem and you finally end up with the first and biggest problem getting solved. This robot 'learns' the exact opposite way.

    It seems to me that the biggest concern in this case is abstracting the objects it 'sees' into such a form, that they take minimal memory but can still be used in the recognition process.

    That came out as ranting. I have no knowledge in the subject and have no idea what I'm talking about but that should make this a good enough Slashdot comment.

  3. Re:Denning Mobile Robotics in the '80s by Enigma2175 · · Score: 5, Interesting

    I have a project on-line that allows you to build a basic robot for $500. It has PWM motor control and basic tips on building the base. It uses a PS/2 mouse to do wheel encoders. (cheap) and using a USB A-D/D-A board to control stuff.

    I am a current user of your software, I found your site when looking for a way to implement wheel encoders for my robot. It has been extremely useful to me.

    For the I/O hardware on my robot, I have implemented drivers for both a Pontech SV203 and Arduino Diecimila board. I also wrote an encoder driver to use the Linux event interface rather than the ps2 interface so I could use a USB mouse encoder. On top of your software I have written a Player driver to allow me to use the robot within their framework, opening up a massive amount of new high-level functions for the robot.

    I just wanted to thank you for making your software freely available, it has helped me transform my robot from nothing to something that can localize, navigate and avoid obstacles. It has done real work sanding my deck and vacuuming my floor, now if I can only get a snowblower attachment going I will be set.

    --

    Enigma

  4. Re:FAAAAAKKKEE by ElectricTurtle · · Score: 2, Interesting

    It seems to me that you have missed (what I believe is) the point. The robot has an initial, object-based, dimensionally-limited/understood model of its environment. If somebody 'moves a chair' when not in the sensory view of the robot, the robot isn't going to get confused, it's just going to process the basics of the space (such as the walls not moving) see that a previous element in that space is now not there, delete that object from its model, add the same object back in its new location. A robot doesn't care about 'continuity' like a human being does unless you program it to care. If the robot just needs a working model to move through a space, all it cares about is where things are now in relation to a larger, dimensional baseline for the model. If anything, the most confusing thing for something like this would likely be a door, worse a really big door like a garage door, that would alter the space the robot perceives.

    --
    I support the Slashcott and will not be reading or commenting from 2/10/14 to 2/17/14. Beta is steaming pile of dog shit
  5. NOOOOT FAAAAAKE! by d3ac0n · · Score: 2, Interesting

    I don't think there's anyway to distinguish what sort've material an object is made of with just sound.

    Modern military-grade sonar can EASILY tell materials just by the sound quality bounceback. So can whales, dolphins, bats and pretty much any creature with ears, including humans.

    Try this: Walk into an empty room with sheetrock walls and a wood floor and clap your hands. Now do it in a similar room with a tile floor and wood paneling on the walls. Now an all-concrete cinderblock room. You will notice that, even though the source sound is the same (your hands clapping) the return sound has a different quality in each room. However, the sound quality in a single room will always be the same, regardless of the number of claps you make.

    Now try it blindfolded, and see if you can differentiate the rooms. You will be able to, unless you are hearing-impaired in some manner.

    It's the same principle with the robot. Once taught about an item, it can continue to identify the item even though it can't "see" it.

    --
    Official Heretic from the "Church of Global Warming". Proven right thanks to whistle blowers. AGW = Flat Earth Theory
  6. Re:FAAAAAKKKEE by Greyhart · · Score: 2, Interesting

    As one of the Friends of Basil (The people helping to build him) I can assure you that it is not fake. Yes, Basil was taught that a certain sonar return equals a wooden chair, and another sonar return equals a person. Remember, he has 12 sonars to work with. If he gets the return from those 12 sonars for the wooden chair, he calls it such. If he gets a return that is similar, he will say that it could be a wooden chair, or it could be something else. If he's not sure, he would have to orbit the unknown object taking sonar readings, and comparing them to what he already knows about. If all the readings seem to indicate a wooden chair, that's what he calls it. If not, he logs the object until someone tells him what it is. Technically, it doesn't matter what he decides to call it as long as he can distinguish it from any other object. The only reason to tell him what the new object is, would be to facilitate communication. After all, I have no idea what he means when he talks about object 362, but if I tell him that object 362 is a refrigerator, I can now tell him to get me a beer from the refrigerator, and he'll know what to do.