Shop OBEX P1 Docs P2 Docs Learn Events
hypothetical question — Parallax Forums

hypothetical question

SpeakerSpeaker Posts: 34
edited 2007-01-08 04:06 in Robotics

Tom Walker signs off with (Truly Understand the Fundamentals and the Path will be so much easier&#8230[noparse];)[/noparse]. Similarly, I have always thought that a very precisely formulated question will frequently present its own solution. I have a question in my head that is so far beyond me that I cannot even figure out the question, much less an answer.

A robot with many sensors uses one or more of those sensors to avoid an obstacle. As soon as the obstacle is passed, from the robots perspective the obstacle no longer exists. The robot has memory, but it doesn’t remember. How would an internal map be built up from the robots sensory input? How would it be stored? How would it be used?

The inputs would need an order of importance? Touch trumps everything else? As a human, I “see” a very clean window or mirror as a valid physical path. Touch tells me otherwise. And yet touch can be over-ruled. A phantom limb itches so it must exist. Sight says it does not.

External referents are troublesome. As humans we used sun, moon, stars. All of them moved around. On average, half of every day there wasn’t a sun. Later we discovered a magnetic field. But supposedly I shouldn’t rely on it. We shot some satellites up. I can point up at one of them and say, “It’s up there so I must be down here.” And yet an EMP bomb robs me of the use of those. (I guess this hypothetical robot survived the pulse because it was hardened and stored in a shielded bunker. Goodness knows I keep all kinds of things in my shielded bunker.) From here to there becomes difficult when I can’t even say reliably where “here” is. What am I measuring from when I say “here?” The most useful starting point is what the robot can itself see and touch. And yet those things change. A table moves a little. Chair moves a lot. The dog runs all over the house. How can this information be organized so that a robot can use it to navigate?

A couple of years from now I won’t have to feed and water and clean-up-after my Scooba. When its battery is low it will consult its internal map and head to the nearest charging station. While there it will dock itself and refill its water and cleaning solution tank. It will also empty its dirty water tank. It won’t wander, hoping to find a charger before the battery dies. It will check the map. In the normal course of business it will exchange maps with the Roomba in the bedroom and the other Roomba in the den. If den Roomba gets put in the shop, I will get the one from the library and put it in the den. Because they will have passed the maps around, it will already know the layout of the room.

I will never use any of the answers to these questions. I just want to get them out of my head. Can anyone point me in the right direction? Perhaps a book title?

Comments

  • SpeakerSpeaker Posts: 34
    edited 2006-10-28 01:00
    The Roomba will exchange maps with the lawnmower bot who talks to the mail delivery bot etc. Then I hack the Roomba to find out the cleaning schedule at the bank so I can rob it.
  • Mike GreenMike Green Posts: 23,101
    edited 2006-10-28 02:01
    We all build models of the world in our heads and act based on those models. This seems to be true of humans and probably of other animals. Why should robots be any different? There have been research robots that do similar modelling, building up a map of their environment and associating information with the physical map of the world (obstacle here, power source there, here there be dragons).

    A lot depends on the resources available. If you have a multi-gazillion byte memory and peta-flops of processing power, you could do anything on a grand scale. Practically, you'd divide up the memory available for a map and mark where there are things important to the robot like physical obstacles and goal locations. The program would constantly compare the map to its sensors and, if any discrepancies arise, would pay closer attention to the changes found. If there were memory enough, the robot could do some 2nd order analysis like "how much did this change since last time?" and "is there a trend?" ("can I predict anything?").
  • SpeakerSpeaker Posts: 34
    edited 2006-10-28 17:04
    I hadn't even thought about the "can I predict anything" part. I would enjoy reading about this kind of system.
  • DiablodeMorteDiablodeMorte Posts: 238
    edited 2006-10-29 04:11
    Speaker said...
    I hadn't even thought about the "can I predict anything" part. I would enjoy reading about this kind of system.

    As I was sitting on my couch, watching the Sixth Sense,I was trying to think of a situation in my daily life in which patterns on a "basic" level were needed. I seriously can't think of any. I mean there are complex situations in which I notice patterns such as human behavior or general traffic/buissness/school patterns but I can't think of any situations in which I need to notice a pattern and then predict the outcome.

    I have to admit tho. My lack of purposful situations hasn't stopped me thinking. I was think of a room in which a robot would need to traverse. Each testing period there would be a barrier which would apear or disapear at given intervals in which the robot would incounter it and then try to predict a safe time to cross. Each test the barrier's interval would change and so forth..


    I like the Ideas Author. Good job
  • John R.John R. Posts: 1,376
    edited 2006-10-29 17:05
    DiablodeMorte said...
    Speaker said...
    I hadn't even thought about the "can I predict anything" part. I would enjoy reading about this kind of system.

    As I was sitting on my couch, watching the Sixth Sense,I was trying to think of a situation in my daily life in which patterns on a "basic" level were needed. I seriously can't think of any. I mean there are complex situations in which I notice patterns such as human behavior or general traffic/buissness/school patterns but I can't think of any situations in which I need to notice a pattern and then predict the outcome.


    The problem is we do this stuff all the time and don't realize it. We take it for granted. Think about traffic at a stop light. We "learn" the pattern that when the light is green, it's safe to go. Is this not "notice a pattern and then predict the outcome?" Even at "mod block", we look for a break in the pattern of passing cars, and "predict" when that break (or breaks from each direction) will be at our location before we enter traffic. Where and when does "reacting" change to "predicting"? Is there even a difference? Is "reacting" just a shortened version of "predicting"?

    How about weather? How many of us have learned that torrential downpours usually don't last long? Don't we tend to wait for them to let up before we make the dash for the car or take the dog for a walk?

    One of the big challenges in "artificial intellegence" type systems is breaking down the very complex ways our brains work into workable software solutions. This is compounded by the number of things we take for granted, and don't even realize "why" or "how" we know or do things. We go "Nike" and "just do it" because our brains are so fast and complex that we don't "think" about it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    John R.

    8 + 8 = 10
  • Tommy BotTommy Bot Posts: 60
    edited 2006-10-29 17:24
    While driving, I observe what people do and predict the outcome. (Sometimes correctly, sometimes not.) How many of you, based on how a car is moving, know that they are going to change lanes in front of you before a signal or the turn itself is applied?

    How about when your child comes in and says, "daddy you are very handsome today!” don't you immediately think, "Here comes the real question."?

    We see the price of our merchandise, hand the teller a $20 and predict how much change we should get?

    These basic inputs cause us to process possibilities. You might consider them complex, but the building blocks of the complex are basic.
    ·
    We need to use calculators to add, subtract, multiply and divide. It would shock some to find out that processors can only add. In order to subtract, they add a negative, In order to multiply, they add multiple times, in order to divide, they add a negative numbers multiple times.
    ·
    My point is:
    I think everything can be broken down to basic building blocks. If we have the mental capacity to place a whole bunch of basic things together in the proper sequence, then we have the "appearance" of the complex. Mathematics is an example,·life is another. Millions of basic subsystems all are doing the right thing at the right time; viola; life; the illusion of a complex system. Only God has the mental capacity to organize so many basic building blocks together and orchestrate their functions and timing.

    So who are we trying to be like?
    ·
    So the built in "need" that we have to create, and cause something to react to its environment in a predictable way, is this nature or design? We design, we think, we build. We were created in God’s image, and what we do for our hobby gives proof of that fact. We have a need to put basic materials together in a complex pattern, and to sit back with joy observing our work and watching our creation. Modifying here, placing obstacles there until out goal is realized.
    ·
    We can build anything that our intelligence can handle and our creativity can dream. Break everything down to its simplest form, the key is integration. Learning and discovering how to integrate one device or situation with another is the key to unlocking “complex” problems.


    Do we·know enough to ask the right question(s)?

    Do we know who holds the answer(s)?

    We as mankind have collectively tackled some pretty big stuff throughout time.

    But·it's just basics to God.


    (I saw that it was deep so I decided to dive in. No offences intended to those who don't hold to my beliefs.)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    (Frequently heard from other's)

    Tommy, I know it wasn't designed to·x, but can you make it·do x·anyway?



    Post Edited (Tommy Bot) : 10/29/2006 5:38:46 PM GMT
  • John R.John R. Posts: 1,376
    edited 2006-10-29 17:41
    Here are some abstract thoughts in terms of storage and transfer of maps:

    There are (at least) three basic types of map data. They are points or items, regions and networks. To build a map that a robot (or electronic mapping system) can understand, you have to find a way to “model” these items.

    Points or items are things like a gas (charging) station, restaurant (cleaning solution) and the like. They can also be object larger than a “point”, for example a park (table or piece of furniture) and roads or other “line objects”, etc. Depending on how you model things (data structure wise) some of these may transfer over to “Regions”. They can be modeled by creating an object/structure that has a coordinate (or set of coordinates) and data tags specifying the type of object and other information (such as what services are offered). In some modeling systems things like roads (with a start and end point) are not handled as points, but handled as a part of a network. Other systems use a network just to “connect” the other objects that form the networks.

    A Region is an “area” like a city or town (Room). It usually has other items (points, networks, other regions) “contained” or “overlapping” with it. A region can be modeled by a set of points defining a polygon that encloses the area and data tags. If you wanted to get “fancy” you could also throw in curves.

    Networks may or may not apply to your “robot maps” but are a series of interconnected objects. The most common example we can relate to are the roads and highways on a conventional map. Other “network” objects include the electrical grid, sewer systems, water systems, railroads, etc. A network model can either be a way of tying other objects (points or items) together, or may be a combination of the actual item (road) definitions and how they are connected. The data tags will contain information about the item. For example a “road network” for something like a “Streets and Maps” program would have the end points of segments, speed limit, length, class of road, interconnections with other roads (this is how to make a freeway pass over a road with or without entrance ramps) and other data required for planning a route.

    The real secret to making this work is developing the “model” or definitions of all these items, and how they would be stored and interpreted.

    For your robot maps, some concepts might be:

    Service Station 1 Data:

    Coordinates: XY from a given reference
    Region: Living Room (Room the station is located in)
    Services:
    *Charging for Scooba
    *Charging for Roomba

    Service Station 2 Data:

    Coordinates: XY from a given reference
    Region: Kitchen (Room the station is located in)
    Services:
    *Charging for Scooba
    *Charging for Roomba
    *Fresh Cleaning Solution for Scooba
    *Dump Station for Scooba

    Service Station 3 Data:

    Coordinates: XY from a given reference
    Region: Back Hall (Room the station is located in)
    Services:
    *Charging for Scooba
    *Charging for Roomba
    *Dump Station for Roomba

    Coffee Table:

    Point location of leg 1
    Point location of leg 2
    Point location of leg 3
    Point location of leg 4
    Mobility Factor: 2 (0 = Absolute stationary – e.g. wall; 1 = moveable – e.g. major furniture; 2 = moveable and variable – small furniture, may “jiggle” in position; 3 = moves regularly – e.g. kitchen chair, 4 = Moves quickly and erratically - e.g. briefcase, 5 = Highly mobile – e.g. Pets, People, Scooba, Roomba)

    Regions:

    List of end points defining the rooms of the house.

    Networks:

    A list of paths used to move from room to room. These would be defined along the edges of the room to minimize the robots interfering with “everyday life”.

    Examples of some data that might be included for each “leg”:

    Starting Region
    Starting Point
    Ending Region
    Ending Point
    Length
    Time of day restrictions
    Priority (if more than one path from Room A to Room B)
    Traffic Rating (how much "human" traffic is there and how fast can a robot move)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    John R.

    8 + 8 = 10
  • ZootZoot Posts: 2,227
    edited 2006-10-29 23:46
    One of the things to really grapple with after establishing some decent "models" is how to look upon a new situation, i.e., something that hasn't been encountered before, and apply an existing model to come up with a "best guess" about what to do next.

    The 'bot may find itself trapped in a closet that is NOT the last 4 closets it was trapped in -- yet at that point it should be able to say "boy, this is very, very much like the other closets. What did I do that time?" and then try that solution.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    When the going gets weird, the weird turn pro. -- HST
  • lboucherlboucher Posts: 139
    edited 2007-01-03 20:25
    Check out Nueral Networks, A-Star, D-Star, A-Priore data, http://www.isd.mel.nist.gov/documents/scrapper/AprioriSPIE2003.pdf

    The bigger problem is how to create the maps, Robots of this size and cost don't have the sensors needed to create accurate enough maps. And defining meaningful referance points that can be accessed anywhere is a big issue
  • AImanAIman Posts: 531
    edited 2007-01-08 03:30
    It seems to me that there are some common misconceptions underlying your thinking. Not in the sense that you can't think about the·capablilities of a robot.

    Let me explain so, hopefully, you will understand what I mean.

    The reason we know what seasons and days is because of being able to see the planets, stars and sun as we and they rotate around in space. WE have a perception of what should happen because of that we can put a time frame with an event. "Two days ago I was at work", or "Tomorrow I will drive to the grocery store".

    The only way robots have a sense of time is if we give it to them, and for a robot to be able to understand time it would need to think like we do where each passing day, hour, minute or even second, can be recorded.

    We give robots an encoder wheel, a time chip, a GPS or any number of things for it to figure out where it is when. However these are very feeble in comparision to a child ridding his bike to and from the park.

    In other words, a robot would need to be able to record and recall data based not just on a timeline of what happened when but on a structure pertaining to what is or has been. For us thats saying - look, a cup/mug/glass - because we understand they are all things to drink from. To a robot its - I·have a cup in my memory·know what it is, whats a mug?

    In other words you need to look at a robot from the view point of a 5 minute existance or however long its been running or will run. IF the robot has access to lots of memory it could - in theory - have a memory like we do. One reason we can learn is because we can remember. A robot that can't remember is rather stupid.

    One other thing·- remember that Hollywood has really polluted what robots can do and how useful they can be. I would LOVE to be able to program or create a robot like those in Bicentenial Man, I Robot, Terminator, Short Ciruit, D.A.R.Y.L.·...

    In short Mike Green sumed it up when he said a lot depends on your resources.
  • ZactlyZactly Posts: 7
    edited 2007-01-08 04:06
    I think Tommy Bot is on the right track. Personally I belive in God and the Bible, but I also don't expect others to share what I belive. Each man must decide in his own heart what he belives, so no offense to people for what follows.

    The questions you pose are underlying philisophical questions about God and our purpose on earth. Science cannot answer the deepest questions we all face, yet in the end we all give an account for what we think and do.

    Have you read the Greek myths, church stories (especially Catholic), Egyptian archelogy, Roman text, Shakespear, the Bible or even Googled AI History?

    It is actually surprising to study A.I. History and see the times where men came up with very clever machines and they were squelched by a goverment or frightened leaders. There are stories of mechanical butlers that villagers mobbed and crushed, ducks that were steam powered, quacked, ate and excreted, mechanical men that could walk at upwards of 5 mph. Many of these are recorded in church records and also have records from the various discussions that surround the decisions made.

    Consider for a moment the Egyptians - archialogists found lines on the ground that appeared to have no cohesion until a passanger jet flew over and asked who painted the butterfly on the ground. How about the Egyptian tomb that had a full sized functional glider in it?

    Viturally every nationality and every form of religion has some story dealing with technology that is either very clever or what we would view as robotic. Including - are you ready for this - a story of a mechanical lion delivered to a king. Believe it was Leonardo who built it but don't qoute me on it.

    All of these come from texts that are not commonly thought of as science but clearly refer to things that are not philisophical. Think for a moment about the profound impact people of math and science have had on our lives and were religous - Capernicus, Einstien, Newton, Madam Curie - the list goes on.

    Why? Did religion help them grasp fundamentals? Did it help them understand facts? What is the common thread amoung all of them that allowed them to make such leaps forward?·Did they look at things differently? What was it that enabled them to understand what the rest of the world over looked?

    So the short answer is this - Seriously consider looking where you normally wouldn't look. Personally I was shocked at the number of machines that are recorded in annuals of philosphy, history and religion. I have even come across stories of kings from several hundered years BC using electricity and making large stone doors function with a light touch via counter weights or magnetics. There are stories of things being moved and hidden levers being used to trip security devices.

    What about the Ezekele from the Bible who saw a "Wheel within a wheel"? What about Philip in the Bible who vanished from one place and appeared in another? What about Jesus going to "Fill the Universe"? There are so many unexplained questions in life that I want to know truth, not opinion. Truth, not what moderen teachers teach. Isn't truth that which doesn't change? Isn't truth that which people, nations and goverments need and yet don't want?

    The questions posed and the underlying questions can be found but the question is - do you really want to know the truth? Do you really want answers to·the questions asked? Do you really seek to find answers?

    When Pilot and Jesus were talking Pilot asked Jesus "What is Truth?". A profound question, one that we all must answer. In your search for robotics answers the question is what is the truth about what can be done and what is talk, what is truth and what is speculation. What is truth? The truth is out there - do you really want to know truth?

    What if the truth is we can build amazingly complex robots but don't because people hit the uncanny valley? What if the truth is that we don't build complex robots because we get so involved on how complex things can be that we overlook - or discard - things, ideas or people that could leap frog us forward?
    Could we handle a robot that could act like an adult? What about the social implications? We all have heard and know about the protests in the auto world when robots were introduced and the arguments about how robots take away jobs. Could we - would we - trust a robot to care·for us in an intensive care unit? Operate on us? Fill our cavities? Care for us in a nursing home? Care for our childeren? Change a new borns diapers? What about work as a cook? Work sweeping floors?

    Answers exist,·we need to search to find them.


    Post Edited (Zactly) : 1/8/2007 4:30:43 AM GMT
Sign In or Register to comment.