| This definition implies that a device can only be called a | | | | invisible to a light sensor. Therefore, it may be harder |
| “robot” if it contains a movable mechanism, | | | | (less reliable) to detect darker objects this way than |
| influenced by sensing, planning, and actuation and | | | | lighter ones. In the case of object distance, lighter |
| control components. It does not imply that a minimum | | | | objects that are farther away will seem closer than |
| number of these components must be implemented in | | | | darker objects that are not as far away. This gives |
| software, or be changeable by the “consumer” | | | | you an idea of how the physical world is |
| who uses the device; for example, the motion behavior | | | | partially-observable. Even though we have useful |
| can have been hard-wired into the device by the | | | | sensors, we do not have complete and completely |
| manufacturer. | | | | accurate information. |
| | | | | |
| So, the presented definition, as well as the rest of the | | | | Another source of noise in light sensors is |
| material in this part of the Book, covers not just | | | | ambient light. The best thing to do is subtract the |
| “pure” robotics or only “intelligent” robots, | | | | ambient light level out of the sensor reading, in order to |
| but rather the somewhat broader domain of robotics | | | | detect the actual change in the reflected light, not the |
| and automation. This includes “dumb” robots | | | | ambient light. How is that done? By taking two (or |
| such as: metal and woodworking machines, | | | | more, for higher accuracy) readings of the detector, |
| “intelligent” washing machines, dish washers and | | | | one with the emitter on, and one with it off, and |
| pool cleaning robots, etc. These examples all have | | | | subtracting the two values from each other. The result |
| sensing, planning and control, but often not in individually | | | | is the ambient light level, which can then be subtracted |
| separated components. For example, the sensing and | | | | from future readings. This process is called sensor |
| planning behavior of the pool cleaning robot have been | | | | calibration. Of course, remember that ambient light |
| integrated into the mechanical design of the device, by | | | | levels can change, so the sensors may need to be |
| the intelligence of the human developer. | | | | calibrated repeatedly. |
| | | | | |
| Robotics is, to a very large extent, all about system | | | | Break-beam Sensors |
| integration, achieving a task by an actuated mechanical | | | | |
| device, via an “intelligent” integration of | | | | We already talked about the idea of |
| components, many of which it shares with other | | | | break-beam sensors. In general, any pair of compatible |
| domains, such as systems and control, computer | | | | emitter-detector devices can be used to produce such |
| science, character animation, machine design, computer | | | | a sensors: |
| vision, artificial intelligence, cognitive science, | | | | an incandescent flashlight bulb and a photocell |
| biomechanics, etc. In addition, the boundaries of | | | | red LEDs and visible-light-sensitive photo-transistors |
| robotics cannot be clearly defined, since also its | | | | or infra-red IR emitters and detectors |
| “core” ideas, concepts and algorithms are being | | | | |
| applied in an ever increasing number of | | | | Shaft Encoding |
| “external” applications, and, vice versa, core | | | | |
| technology from other domains (vision, biology, | | | | Shaft encoders measure the angular rotation of an |
| cognitive science or biomechanics, for example) are | | | | axle providing position and/or velocity info. For |
| becoming crucial components in more and more | | | | example, a speedometer measures how fast the |
| modern robotic systems. | | | | wheels of a vehicle are turning, while an odometer |
| | | | | measures the number of rotations of the wheels. |
| This part of the WEBook makes an effort to define | | | | |
| what exactly is that above-mentioned core material of | | | | In order to detect a complete or partial rotation, we |
| the robotics domain, and to describe it in a consistent | | | | have to somehow mark the turning element. This is |
| and motivated structure. Nevertheless, this chosen | | | | usually done by attaching a round disk to the shaft, and |
| structure is only one of the many possible | | | | cutting notches into it. A light emitter and detector are |
| “views” that one can want to have on the | | | | placed on each side of the disk, so that as the notch |
| robotics domain. | | | | passes between them, the light passes, and is |
| | | | | detected; where there is no notch in the disk, no light |
| In the same vein, the above-mentioned | | | | passes. |
| “definition” of robotics is not meant to be | | | | |
| definitive or final, and it is only used as a rough | | | | If there is only one notch in the disk, then a rotation is |
| framework to structure the various chapters | | | | detected as it happens. This is not a very good idea, |
| | | | | since it allows only a low level of resolution for |
| Components of robotic systems | | | | measuring speed: the smallest unit that can be |
| | | | | measured is a full rotation. Besides, some rotations |
| | | | | might be missed due to noise. |
| | | | | |
| | | | | Usually, many notches are cut into the disk, and the |
| | | | | light hits impacting the detector are counted. (You can |
| | | | | see that it is important to have a fast sensor here, if |
| | | | | the shaft turns very quickly.) |
| | | | | |
| This figure depicts the components that are part of all | | | | An alternative to cutting notches in the disk is to paint |
| robotic systems. The purpose of this Section is to | | | | the disk with black (absorbing, non-reflecting) and white |
| describe the semantics of the terminology used to | | | | (highly reflecting) wedges, and measure the |
| classify the chapters in the WEBook: “sensing”, | | | | reflectance. In this case, the emitter and the detector |
| “planning”, “modeling”, “control”, etc. | | | | are on the same side of the disk. |
| | | | | |
| The real robot is some mechanical device | | | | In either case, the output of the sensor is going to be a |
| (“mechanism”) that moves around in the | | | | wave function of the light intensity. This can then be |
| environment, and, in doing so, physically interacts with | | | | processes to produce the speed, by counting the |
| this environment. This interaction involves the | | | | peaks of the waves. |
| exchange of physical energy, in some form or another. | | | | |
| Both the robot mechanism and the environment can | | | | Note that shaft encoding measures both position and |
| be the “cause” of the physical interaction | | | | rotational velocity, by subtracting the difference in the |
| through “Actuation”, or experience the | | | | position readings after each time interval. Velocity, on |
| “effect” of the interaction, which can be | | | | the other hand, tells us how fast a robot is moving, or if |
| measured through “Sensing”. | | | | it is moving at all. There are multiple ways to use this |
| | | | | measure: |
| Robotics as an integrated system of control interacting | | | | measure the speed of a driven (active) wheel |
| with the physical world. | | | | use a passive wheel that is dragged by the robot |
| | | | | (measure forward progress) |
| Sensing and actuation are the physical ports through | | | | |
| which the “Controller” of the robot determines | | | | We can combine the position and velocity information |
| the interaction of its mechanical body with the physical | | | | to do more sophisticated things: |
| world. As mentioned already before, the controller can, | | | | move in a straight line |
| in one extreme, consist of software only, but in the | | | | rotate by an exact amount |
| other extreme everything can also be implemented in | | | | |
| hardware. | | | | Note, however, that doing such things is quite difficult, |
| | | | | because wheels tend to slip (effector noise and error) |
| Within the Controller component, several sub-activities | | | | and slide and there is usually some slop and backlash |
| are often identified: | | | | in the gearing mechanism. Shaft encoders can provide |
| | | | | feedback to correct the errors, but having some error |
| Modelling. The input-output relationships of all control | | | | is unavoidable. |
| components can (but need not) be derived from | | | | |
| information that is stored in a model. This model can | | | | Quadrature Shaft Encoding |
| have many forms: analytical formulas, empirical look-up | | | | |
| tables, fuzzy rules, neural networks, etc. | | | | So far, we've talked about detecting position and |
| | | | | velocity, but did not talk about direction of rotation. |
| The name “model” often gives rise to heated | | | | Suppose the wheel suddenly changes the direction of |
| discussions among different research “schools”, | | | | rotation; it would be useful for the robot to detect that. |
| and the WEBook is not interested in taking a stance in | | | | |
| this debate: within the WEBook, “model” is to be | | | | An example of a common system that needs to |
| understood with its minimal semantics: “any | | | | measure position, velocity, and direction is a computer |
| information that is used to determine or influence the | | | | mouse. Without a measure of direction, a mouse is |
| input-output relationships of components in the | | | | pretty useless. How is direction of rotation measured? |
| Controller.” | | | | |
| | | | | Quadrature shaft encoding is an elaboration of the |
| The other components discussed below can all have | | | | basic break-beam idea; instead of using only one |
| models inside. A “System model” can be used | | | | sensor, two are needed. The encoders are aligned so |
| to tie multiple components together, but it is clear that | | | | that their two data streams coming from the detector |
| not all robots use a System model. The “Sensing | | | | and one quarter cycle (90-degrees) out of phase, thus |
| model” and “Actuation model” contain the | | | | the name "quadrature". By comparing the output of the |
| information with which to transform raw physical data | | | | two encoders at each time step with the output of the |
| into task-dependent information for the controller, and | | | | previous time step, we can tell if there is a direction |
| vice versa. | | | | change. When the two are sampled at each time step, |
| | | | | only one of them will change its state (i.e., go from on |
| Planning. This is the activity that predicts the outcome | | | | to off) at a time, because they are out of phase. |
| of potential actions, and selects the “best” one. | | | | Which one does it determines which direction the shaft |
| Almost by definition, planning can only be done on the | | | | is rotating. Whenever a shaft is moving in one direction, |
| basis of some sort of model. | | | | a counter is incremented, and when it turns in the |
| | | | | opposite direction, the counter is decremented, thus |
| Regulation. This component processes the outputs of | | | | keeping track of the overall position. |
| the sensing and planning components, to generate an | | | | |
| actuation setpoint. Again, this regulation activity could or | | | | Other uses of quadrature shaft encoding are in robot |
| could not rely on some sort of (system) model. | | | | arms with complex joints (such as rotary/ball joints; |
| | | | | think of your knee or shoulder), Cartesian robots (and |
| The term “control” is often used instead of | | | | large printers) where an arm/rack moves back and |
| “regulation”, but it is impossible to clearly identify | | | | forth along an axis/gear. |
| the domains that use one term or the other. The | | | | |
| meaning used in the WEBook will be clear from the | | | | Modulation and Demodulation of Light |
| context. | | | | |
| | | | | We mentioned that ambient light is a problem because |
| Scales in robotic systems | | | | it interferes with the emitted light from a light sensor. |
| | | | | One way to get around this problem is to emit |
| The above-mentioned “components” description | | | | modulated light, i.e., to rapidly turn the emitter on and off. |
| of a robotic system is to be complemented by a | | | | Such a signal is much easier and more reliably |
| “scale” description, i.e., the following system | | | | detected by a demodulator, which is tuned to the |
| scales have a large influence on the specific content | | | | particular frequency of the modulated light. Not |
| of the planning, sensing, modelling and control | | | | surprisingly, a detector needs to sense several |
| components at one particular scale, and hence also on | | | | on-flashes in a row in order to detect a signal, i.e., to |
| the corresponding sections of the WEBook. | | | | detect its frequency. This is a small point, but it is |
| | | | | important in writing demodulator code. |
| Mechanical scale. The physical volume of the robot | | | | |
| determines to a large extent the limites of what can | | | | The idea of modulated IR light is commonly used; for |
| be done with it. Roughly speaking, a large-scale robot | | | | example in household remote controls. |
| (such as an autonomous container crane or a space | | | | |
| shuttle) has different capabilities and control problems | | | | Modulated light sensors are generally more reliable |
| than a macro robot (such as an industrial robot arm), a | | | | than basic light sensors. They can be used for the |
| desktop robot (such as those “sumo” robots | | | | same purposes: detecting the presence of an object |
| popular with hobbyists), or milli micro or nano robots. | | | | measuring the distance to a nearby object (clever |
| Spatial scale. There are large differences between | | | | electronics required, see your course notes) |
| robots that act in 1D, 2D, 3D, or 6D (three positions and | | | | |
| three orientations). | | | | Infra Red (IR) Sensors |
| | | | | |
| Time scale. There are large differences between | | | | Infra red sensors are a type of light sensors, which |
| robots that must react within hours, seconds, | | | | function in the infra red part of the frequency |
| milliseconds, or microseconds. | | | | spectrum. IR sensors consist are active sensors: |
| | | | | they consist of an emitter and a receiver. IR sensors |
| Power density scale. A robot must be actuated in | | | | are used in the same ways that visible light sensors |
| order to move, but actuators need space as well as | | | | are that we have discussed so far: as break-beams |
| energy, so the ratio between both determines some | | | | and as reflectance sensors. IR is preferable to visible |
| capabilities of the robot. | | | | light in robotics (and other) applications because it |
| | | | | suffers a bit less from ambient interference, because it |
| System complexity scale. The complexity of a robot | | | | can be easily modulated, and simply because it is not |
| system increases with the number of interactions | | | | visible. |
| between independent sub-systems, and the control | | | | |
| components must adapt to this complexity. | | | | IR Communication |
| | | | | |
| Computational complexity scale. Robot controllers are | | | | Modulated infra red can be used as a serial line for |
| inevitably running on real-world computing hardware, so | | | | transmitting messages. This is is fact how IR modems |
| they are constrained by the available number of | | | | work. Two basic methods exist: |
| computations, the available communication bandwidth, | | | | bit frames (sampled in the middle of each bit; |
| and the available memory storage. | | | | assumes all bits take the same amount of time to |
| | | | | transmit) |
| Obviously, these scale parameters never apply | | | | bit intervals (more common in commercial use; |
| completely independently to the same system. For | | | | sampled at the falling edge, duration of interval |
| example, a system that must react at microseconds | | | | between sampling determines whether it's a 0 or 1) |
| time scale can not be of macro mechanical scale or | | | | |
| involve a high number of communication interactions | | | | Ultrasonic Distance Sensing |
| with subsystems. | | | | |
| | | | | As we mentioned before, ultrasound sensing is based |
| Background sensitivity | | | | on the time-of-flight principle. The emitter produces a |
| | | | | sonar "chirp" of sound, which travels away from the |
| Finally, no description of even scientific material is ever | | | | source, and, if it encounters barriers, reflects from |
| fully objective or context-free, in the sense that it is | | | | them and returns to the receiver (microphone). The |
| very difficult for contributors to the WEBook to | | | | amount of time it takes for the sound beam to come |
| “forget” their background when writing their | | | | back is tracked (by starting a timer when the "chirp" is |
| contribution. In this respect, robotics has, roughly | | | | produced, and stopping it when the reflected sound |
| speaking, two faces: (i) the mathematical and | | | | returns), and is used to compute the distance the |
| engineering face, which is quite “standardized” in | | | | sound traveled. This is possible (and quite easy) |
| the sense that a large consensus exists about the | | | | because we know how fast sound travels; this is a |
| tools and theories to use (“systems theory”), | | | | constant, which varies slightly based on ambient |
| and (ii) the AI face, which is rather poorly standardized, | | | | temperature. |
| not because of a lack of interest or research efforts, | | | | |
| but because of the inherent complexity of | | | | At room temperature, sound travels at 1.12 feet per |
| “intelligent behaviour.” The terminology and | | | | millisecond. Another way to put it that sound travels at |
| systems-thinking of both backgrounds are significantly | | | | 0.89 milliseconds per foot. This is a useful constant to |
| different, hence the WEBook will accomodate sections | | | | remember. |
| on the same material but written from various | | | | |
| perspectives. This is not a “bug”, but a | | | | The process of finding one's location based on sonar |
| “feature”: having the different views in the | | | | is called echolocation. The inspiration for ultrasound |
| context of the same WEBook can only lead to a | | | | sensing comes from nature; bats use ultrasound |
| better mutual understanding and respect. | | | | instead of vision (this makes sense; they live in very |
| | | | | dark caves where vision would be largely useless). Bat |
| Research in engineering robotics follows the bottom-up | | | | sonars are extremely sophisticated compared to |
| approach: existing and working systems are extended | | | | artificial sonars; they involve numerous different |
| and made more versatile. Research in artificial | | | | frequencies, used for finding even the tiniest fast-flying |
| intelligence robotics is top-down: assuming that a set of | | | | prey, and for avoiding hundreds of other bats, and |
| low-level primitives is available, how could one apply | | | | communicating for finding mates. |
| them in order to increase the “intelligence” of a | | | | |
| system. The border between both approaches shifts | | | | Specular Reflection |
| continuously, as more and more “intelligence” is | | | | |
| cast into algorithmic, system-theoretic form. For | | | | A major disadvantage of ultrasound sensing is its |
| example, the response of a robot to sensor input was | | | | susceptibility to specular reflection (specular reflection |
| considered “intelligent behaviour” in the late | | | | means reflection from the outer surface of the object). |
| seventies and even early eighties. Hence, it belonged | | | | While the sonar sensing principle is based on the sound |
| to A.I. Later it was shown that many sensor-based | | | | wave reflecting from surfaces and returning to the |
| tasks such as surface following or visual tracking could | | | | receiver, it is important to remember that the sound |
| be formulated as control problems with algorithmic | | | | wave will not necessarily bounce off the surface and |
| solutions. From then on, they did not belong to A.I. any | | | | "come right back." In fact, the direction of reflection |
| more. | | | | depends on the incident angle of the sound beam and |
| | | | | the surface. The smaller the angle, the higher the |
| | | | | probability that the sound will merely "graze" the |
| | | | | surface and bounce off, thus not returning to the |
| Robotics Technology | | | | emitter, in turn generating a false long/far-away |
| | | | | reading. This is often called specular reflection, |
| Most industrial robots have at least the following five | | | | because smooth surfaces, with specular properties, |
| parts: | | | | tend to aggravate this reflection problem. Coarse |
| | | | | surfaces produce more irregular reflections, some of |
| Sensors, Effectors, Actuators, Controllers, and | | | | which are more likely to return to the emitter. (For |
| common effectors known as Arms. | | | | example, in our robotics lab on campus, we use sonar |
| | | | | sensors, and we have lined one part of the test area |
| Many other robots also have Artificial Intelligence and | | | | with cardboard, because it has much better sonar |
| effectors that help it achieve Mobility. | | | | reflectance properties than the very smooth wall |
| | | | | behind it.) |
| This section discusses the basic technologies of a | | | | |
| robot. Click one of the links above or use the | | | | In summary, long sonar readings can be very |
| navigation bar menu on the far right. | | | | inaccurate, as they may result from false rather than |
| | | | | accurate reflections. This must be taken into account |
| Robotics Technology - Sensors | | | | when programming robots, or a robot may produce |
| | | | | very undesirable and unsafe behavior. For example, a |
| Most robots of today are nearly deaf and blind. | | | | robot approaching a wall at a steep angle may not |
| Sensors can provide some limited feedback to the | | | | see the wall at all, and collide with it! |
| robot so it can do its job. Compared to the senses | | | | |
| and abilities of even the simplest living things, robots | | | | Nonetheless, sonar sensors have been successfully |
| have a very long way to go. | | | | used for very sophisticated robotics applications, |
| | | | | including terrain and indoor mapping, and remain a very |
| The sensor sends information, in the form of electronic | | | | popular sensor choice in mobile robotics. |
| signals back to the cfontroller. Sensors also give the | | | | |
| robot controller information about its surroundings and | | | | The first commercial ultrasonic sensor was produced |
| lets it know the exact position of the arm, or the state | | | | by Polaroid, and used to automatically measure the |
| of the world around it. | | | | distance to the nearest object (presumably which is |
| Sight, sound, touch, taste, and smell are the kinds of | | | | being photographed). These simple Polaroid sensors |
| information we get from our world. Robots can be | | | | still remain the most popular off-the-shelf sonars (they |
| designed and programmed to get specific information | | | | come with a processor board that deals with the |
| that is beyond what our 5 senses can tell us. For | | | | analog electronics). Their standard properties include: |
| instance, a robot sensor might "see" in the dark, detect | | | | |
| tiny amounts of invisible radiation or measure | | | | 32-foot range |
| movement that is too small or fast for the human eye | | | | |
| to see. | | | | 30-degree beam width |
| | | | | sensitivity to specular reflection |
| Here are some things sensors are used for: | | | | shortest distance return |
| | | | | |
| Physical Property | | | | Polaroid sensors can be combined into phased arrays |
| Technology | | | | to create more sophisticated and more accurate |
| | | | | sensors. |
| Contact Bump, Switch | | | | |
| Distance Ultrasound, Radar, Infra Red | | | | One can find ultrasound used in a variety of other |
| Light Level Photo Cells, Cameras | | | | applications; the best known one is ranging in |
| Sound Level microphones | | | | submarines. The sonars there have much more |
| Strain Strain Gauges | | | | focused and have longer-range beams. Simpler and |
| Rotation Encoders | | | | more mundane applications involve automated |
| Magnetism Compasses | | | | "tape-measures", height measures, burglar alarms, etc. |
| Smell Chemical | | | | |
| Temperature Thermal, Infra Red | | | | Machine Vision |
| Inclination Inclinometers, Gyroscope | | | | |
| Pressure Pressure Gauges | | | | So far, we have talked about relatively simple sensors. |
| Altitude Altimeters | | | | They were simple in terms of processing of the |
| | | | | information they returned. Now we turn to machine |
| Sensors can be made simple and complex, | | | | vision, i.e., to cameras as sensors. |
| depending on how much information needs to be | | | | |
| stored. A switch is a simple on/off sensor used for | | | | Cameras, of course, model biological eyes. Needless to |
| turning the robot on and off. A human retina is a | | | | say, all biological eyes are more complex than any |
| complex sensor that uses more than a hundred million | | | | camera we know today, but, as you will see, the |
| photosensitive elements (rods and cones). Sensors | | | | cameras and machine vision systems that process |
| provide information to the robots brain, which can be | | | | their perceptual information, are not simple at all! In fact, |
| treated in various ways. For example, we can simply | | | | machine vision is such a challenging topic that it has |
| react to the sensor output: if the switch is open, if the | | | | historically been a separate branch of Artificial |
| switch is closed, go. | | | | Intelligence. |
| | | | | |
| Levels of Processing | | | | The general principle of a camera is that of light, |
| | | | | scattered from objects in the environment (those are |
| To figure out if the switch is open or closed, you | | | | called the scene), goes through an opening ("iris", in the |
| will need to measure the voltage going through the | | | | simplest case a pin hole, in the more sophisticated |
| circuit, that's electronics. Now lets say that you have | | | | case a lens), and impinging on what is called the image |
| a microphone and you want to recognize a voice and | | | | plane. In biological systems, the image plane is the |
| separate it from noise; that's signal processing. Now | | | | retina, which is attached to numerous rods and cones |
| you have a camera, and you want to take the | | | | (photosensitive elements) which, in turn, are attached to |
| pre-processed image and now you need to figure out | | | | nerves which perform so-called "early vision", and then |
| what those objects are, perhaps by comparing them | | | | pass information on throughout the brain to do |
| to a large library of drawings; that's computation. | | | | "higher-level" vision processing. As we mentioned |
| Sensory data processing is a very complex thing to | | | | before, a very large percentage of the human (and |
| try and do but the robot needs this in order to have a | | | | other animal) brain is dedicated to visual processing, so |
| "brain". The brain has to have analog or digital | | | | this is a highly complex endeavor. |
| processing capabilities, wires to connect everything, | | | | |
| support electronics to go with the computer, and | | | | In cameras, instead of having photosensitive rhodopsin |
| batteries to provide power for the whole thing, in order | | | | and rods and cones, we use silver halides on |
| to process the sensory data. Perception requires the | | | | photographic film, or silicon circuits in charge-coupled |
| robot to have sensors (power and electronics), | | | | devices (CCD) cameras. In all cases, some information |
| computation (more power and electronics, and | | | | about the incoming light (e.g., intensity, color) is detected |
| connectors (to connect it all). | | | | by these photosensitive elements on the image plane. |
| | | | | |
| Switch Sensors | | | | In machine vision, the computer must make sense out |
| | | | | of the information it gets on the image plane. If the |
| Switches are the simplest sensors of all. They | | | | camera is very simple, and uses a tiny pin hole, then |
| work without processing, at the electronics (circuit) | | | | some computation is required to compute the |
| level. Their general underlying principle is that of an | | | | projection of the objects from the environment onto |
| open vs. closed circuit. If a switch is open, no current | | | | the image plane (note, they will be inverted). If a lens is |
| can flow; if it is closed, current can flow and be | | | | involved (as in vertebrate eyes and real cameras), |
| detected. This simple principle can (and is) used in a | | | | then more light can get in, but at the price of being |
| wide variety of ways. | | | | focused; only objects a particular range of distances |
| | | | | from the lens will be in focus. This range of distances |
| Switch sensors can be used in a variety of ways: | | | | is called the camera's depth of field. |
| contact sensors: detect when the sensor has | | | | |
| contacted another object (e.g., triggers when a robot | | | | The image plane is usually subdivided into equal parts, |
| hits a wall or grabs an object; these can even be | | | | called pixels, typically arranged in a rectangular grid. In a |
| whiskers) | | | | typical camera there are 512 by 512 pixels on the |
| limit sensors: detect when a mechanism has moved | | | | image plane (for comparison, there are 120 x 10^6 |
| to the end of its range | | | | rods and 6 x 10^6 cones in the eye, arranged |
| shaft encoder sensors: detects how many times a | | | | hexagonally). Let's call the projection on the image |
| shaft turns by having a switch click (open/close) every | | | | plane the image. |
| time the shaft turns (e.g., triggers for each turn, allowing | | | | |
| for counting rotations) | | | | The brightness of each pixel in the image is |
| | | | | proportional to the amount of light directed toward the |
| There are many common switches: button | | | | camera by the surface patch of the object that |
| switches, mouse switches, key board keys, phone | | | | projects to that pixel. (This of course depends on the |
| keys, and others. Depending on how a switch is | | | | reflectance properties of the surface patch, the |
| wired, it can be normally open or normally closed. | | | | position and distribution of the light sources in the |
| This would of course depend on your robot's | | | | environment, and the amount of light reflected from |
| electronics, mechanics, and its task. The simplest yet | | | | other objects in the scene onto the surface patch.) As |
| extremely useful sensor for a robot is a "bump switch" | | | | it turns out, brightness of a patch depends on two |
| that tells it when it's bumped into something, so it can | | | | kinds of reflections, one being specular (off the |
| back up and turn away. Even for such a simple idea, | | | | surface, as we saw before), and the other being |
| there are many different ways of implementation. | | | | diffuse (light that penetrates into the object, is |
| | | | | absorbed, and then re-emitted). To correctly model light |
| Light Sensors | | | | reflection, as well as reconstruct the scene, all these |
| | | | | properties are necessary. |
| Switches measure physical contact and light sensors | | | | |
| measure the amount of light impacting a photocell, | | | | Let us suppose that we are dealing with a black and |
| which is basically a resistive sensor. The resistance | | | | white camera with a 512 x 512 pixel image plane. Now |
| of a photocell is low when it is brightly illuminated, i.e., | | | | we have an image, which is a collection of those |
| when it is very light; it is high when it is dark. In that | | | | pixels, each of which is an intensity between white and |
| sense, a light sensor is really a "dark" sensor. In | | | | black. To find an object in that image (if there is one, |
| setting up a photocell sensor, you will end up using the | | | | we of course don't know a priori), the typical first step |
| equations we learned above, because you will need to | | | | ("early vision") is to do edge detection, i.e., find all the |
| deal with the relationship of the photocell resistance | | | | edges. How do we recognize them? We define |
| photo, and the resistance and voltage in your | | | | edges as curves in the image plane across which |
| electronics sensor circuit. Of course since you will be | | | | there is significant change in the brightness. |
| building the electronics and writing the program to | | | | |
| measure and use the output of the light sensor, you | | | | A simple approach would be to look for sharp |
| can always manipulate it to make it simpler and more | | | | brightness changes by differentiating the image and |
| intuitive. What surrounds a light sensor affects its | | | | look for areas where the magnitude of the derivative |
| properties. The sensor can be shielded and | | | | is large. This almost works, but unfortunately it |
| positioned in various ways. Multiple sensors can be | | | | produces all sorts of spurious peaks, i.e., noise. Also, |
| arranged in useful configurations and isolate them from | | | | we cannot inherently distinguish changes in intensities |
| each other with shields. | | | | due to shadows from those due to physical objects. |
| | | | | But let's forget that for now and think about noise. |
| Just like switches, light sensors can be used in many | | | | How do we deal with noise? |
| different ways: | | | | |
| | | | | We do smoothing, i.e., we apply a mathematical |
| Light sensors can measure: | | | | procedure called convolution, which finds and eliminates |
| light intensity (how light/dark it is) | | | | the isolated peaks. Convolution, in effect, applies a filter |
| differential intensity (difference between photocells) | | | | to the image. In fact, in order to find arbitrary edges in |
| break-beam (change/drop in intensity) | | | | the image, we need to convolve the image with many |
| | | | | filters with different orientations. Fortunately, the |
| Light sensors can be shielded and focused in different | | | | relatively complicated mathematics involved in edge |
| ways | | | | detection has been well studied, and by now there are |
| | | | | standard and preferred approaches to edge detection. |
| Their position and directionality on a robot can make a | | | | |
| great deal of difference and impact | | | | Once we have edges, the next thing to do is try to |
| | | | | find objects among all those edges. Segmentation is |
| Polarized light | | | | the process of dividing up or organizing the image into |
| | | | | parts that correspond to continuous objects. But how |
| "Normal" light emanating from a source is | | | | do we know which lines correspond to which objects, |
| non-polarized, which means it travels at all orientations | | | | and what makes an object? There are several cues |
| with respect to the horizon. However, if there is a | | | | we can use to detect objects: |
| polarizing filter in front of a light source, only the light | | | | |
| waves of a given orientation of the filter will pass | | | | We can have stored models of line-drawings of |
| through. This is useful because now we can | | | | objects (from many possible angles, and at many |
| manipulate this remaining light with other filters; if we | | | | different possible scales!), and then compare those |
| put it through another filter with the same characteristic | | | | with all possible combinations of edges in the image. |
| plane, almost all of it will get through. But, if we use a | | | | Notice that this is a very computationally intensive and |
| perpendicular filter (one with a 90-degree relative | | | | expensive process. This general approach, which has |
| characteristic angle), we will block all of the light. | | | | been studied extensively, is called model-based vision. |
| Polarized light can be used to make specialized | | | | |
| sensors out of simple photocells; if you put a filter in | | | | We can take advantage of motion. If we look at an |
| front of a light source and the same or a different filter | | | | image at two consecutive time-steps, and we move |
| in front of a photocell, you can cleverly manipulate | | | | the camera in between, each continuous solid objects |
| what and how much light you detect. | | | | (which obeys physical laws) will move as one, i.e., its |
| | | | | brightness properties will be conserved. This hives us a |
| Resistive Position Sensors | | | | hint for finding objects, by subtracting two images from |
| | | | | each other. But notice that this also depends on |
| We said earlier that a photocell is a resistive | | | | knowing well how we moved the camera relative to |
| device. We can also sense resistance in response to | | | | the scene (direction, distance), and that nothing was |
| other physical properties, such as bending. The | | | | moving in the scene at the time. This general approach, |
| resistance of the device increases with the amount it | | | | which has also been studied extensively, is called |
| is bent. These bend sensors were originally | | | | motion vision. |
| developed for video game control (for example, | | | | |
| Nintendo Powerglove), and are generally quite useful. | | | | We can use stereo (i.e., binocular stereopsis, two eyes |
| Notice that repeated bending will wear out the | | | | cameras/points of view). Just like with motion vision |
| sensor. Not surprisingly, a bend sensor is much less | | | | above, but without having to actually move, we get |
| robust than light sensors, although they use the same | | | | two images, which we can subtract from each other, if |
| underlying resistive principle. | | | | we know what the disparity between them should be, |
| | | | | i.e., if we know how the two cameras are organized |
| Potentiometers | | | | positioned relative to each other. |
| | | | | |
| These devices are very common for manual | | | | We can use texture. Patches that have uniform |
| tuning; you have probably seen them in some controls | | | | texture are consistent, and have almost identical |
| (such as volume and tone on stereos). Typically | | | | brightness, so we can assume they come from the |
| called pots, they allow the user to manually adjust the | | | | same object. By extracting those we can get a hint |
| resistance. The general idea is that the device | | | | about what parts may belong to the same object in |
| consists of a movable tap along two fixed ends. As | | | | the scene. |
| the tap is moved, the resistance changes. As you | | | | |
| can imagine, the resistance between the two ends is | | | | We can also use shading and contours in a similar |
| fixed, but the resistance between the movable part | | | | fashion. And there are many other methods, involving |
| and either end varies as the part is moved. In | | | | object shape and projective invariants, etc. |
| robotics, pots are commonly used to sense and tune | | | | |
| position for sliding and rotating mechanisms. | | | | Note that all of the above strategies are employed in |
| | | | | biological vision. It's hard to recognize unexpected |
| Biological Analogs | | | | objects or totally novel ones (because we don't have |
| | | | | the models at all, or not at the ready). Movement helps |
| All of the sensors we described exist in biological | | | | catch our attention. Stereo, i.e., two eyes, is critical, and |
| systems | | | | all carnivores use it (they have two eyes pointing in the |
| | | | | same direction, unlike herbivores). The brain does an |
| Touch/contact sensors with much more precision and | | | | excellent job of quickly extracting the information we |
| complexity in all species | | | | need for the scene. |
| | | | | |
| Bend/resistance receptors in muscles | | | | Machine vision has the same task of doing real-time |
| | | | | vision. But this is, as we have seen, a very difficult task. |
| Reflective Optosensors | | | | Often, an alternative to trying to do all of the steps |
| | | | | above in order to do object recognition, it is possible to |
| We mentioned that if we use a light bulb in | | | | simplify the vision problem in various ways: |
| combination with a photocell, we can make a | | | | |
| break-beam sensor. This idea is the underlying principle | | | | Use color; look for specifically and uniquely colored |
| in reflective optosensors: the sensor consists of an | | | | objects, and recognize them that way (such as stop |
| emitter and a detector. Depending of the arrangement | | | | signs, for example) |
| of those two relative to each other, we can get two | | | | |
| types of sensors: | | | | Use a small image plane; instead of a full 512 x 512 |
| reflectance sensors (the emitter and the detector | | | | pixel array, we can reduce our view to much less, for |
| are next to each other, separated by a barrier; objects | | | | example just a line (that's called a linear CCD). Of |
| are detected when the light is reflected off them and | | | | course there is much less information in the image, but |
| back into the detector) | | | | if we are clever, and know what to expect, we can |
| break-beam sensors (the emitter and the detector | | | | process what we see quickly and usefully. |
| face each other; objects are detected if they interrupt | | | | |
| the beam of light between the emitter and the | | | | Use other, simpler and faster, sensors, and combine |
| detector) | | | | those with vision. For example, IR cameras isolate |
| | | | | people by body-temperature. Grippers allow us to |
| The emitter is usually made out of a light-emitting | | | | touch and move objects, after which we can be sure |
| diode (an LED), and the detector is usually a | | | | they exist. |
| photodiode/phototransistor. | | | | |
| | | | | Use information about the environment; if you know |
| Note that these are not the same technology as | | | | you will be driving on the road which has white lines, |
| resistive photocells. Resistive photocells are nice and | | | | look specifically for those lines at the right places in the |
| simple, but their resistive properties make them slow; | | | | image. This is how first and still fastest road and |
| photodiodes and photo-transistors are much faster | | | | highway robotic driving is done. |
| and therefore the preferred type of technology. | | | | |
| | | | | Those and many other clever techniques have to be |
| What can you do with this simple idea of light | | | | employed when we consider how important it is to |
| reflectivity? Quite a lot of useful things: | | | | "see" in real-time. Consider highway driving as an |
| object presence detection | | | | important and growing application of robotics and AI. |
| object distance detection | | | | Everything is moving so quickly, that the system must |
| surface feature detection (finding/following markers | | | | perceive and act in time to react protectively and |
| tape) | | | | safely, as well as intelligently. |
| wall/boundary tracking | | | | |
| rotational shaft encoding (using encoder wheels with | | | | Now that you know how complex vision is, you can |
| ridges or black & white color) | | | | see why it was not used on the first robots, and it is |
| bar code decoding | | | | still not used for all applications, and definitely not on |
| | | | | simple robots. A robot can be extremely useful without |
| Note, however, that light reflectivity depends on | | | | vision, but some tasks demand it. As always, it is critical |
| the color (and other properties) of a surface. A light | | | | to think about the proper match between the robot's |
| surface will reflect light better than a dark one, and a | | | | sensors and the task. |
| black surface may not reflect it at all, thus appearing | | | | |