<<

The Early Classes of Robots

Slave manipulator teleoperated by a human master Limited-Sequence manipulator Teach-replay Computer-controlled robot Intelligent robot Research Issues Hardware (out of scope) Motor Control Mobility Surfaces – smooth or rough, indoor or outdoor, stairs/holes, obstacles Wheels, legs, tracks Manipulation gripper design, force-feedback, grasp pose Sensing contact/non-contact sensors, laser range-finders, visible light cameras, structured light, sonar Planning representation and mapping of 3D world, navigation, path with workspace, task satisfaction, obstacle avoidance Control integration of motor control, , sensing, navigation, communication, execution monitoring, failure detection/correction Communication human interface, results, monitoring, task specification Outline

Lecture 1; Bristol’s Tortoise (1948-1949) Johns Hopkins’ Ferdinand & Beast (1960) Stanford Cart (1970-1979) SRI’s Shakey (1966 – 1972) Max Planck Tubingen’s Braitenburg’s Vehicles (1984) U Munich’s VaMoRs (1986+) Lecture 2: Honda’s P3 (1986+) MIT’s Subsumption Robots (1986+) CMU’s Dante II (1994-1999) MIT’s Kismet (1998-2000) JPL’s CLARAty and Rocky 7 (2000) Walter’s tortoises (1948-9)

• Grey Walter wanted to prove that rich connections between a small number of brain cells could give rise to very complex behaviors - essentially that the secret of how the brain worked lay in how it was wired up. • His first robots, which he used to call "Machina Speculatrix" and named Elmer and Elsie, were constructed between 1948 and 1949 and were often described as tortoises due to their shape and slow rate of movement - and because they 'taught us’ about the secrets of organisation and life. • The three-wheeled tortoise robots were capable of phototaxis, by which they could find their way to a recharging station when they ran low on battery power.

Video (2:17) http://www.youtube.com/watch?v=lLULRlmXkKo

Ref: http://en.wikipedia.org/wiki/William_Grey_Walter Principles Learned from Walter’s Tortoise

• Parsimony: simple is better

• Exploration or speculation: constant motion to avoid traps

• Attraction (positive tropism): move towards positive stimuli

• Aversion (negative tropism): move away from negative stimuli

• Discernment: distinguish between productive and unproductive behavior Johns Hopkins Ferdinand & Beast

Controlled by dozens of transistors, the Johns Hopkins University Applied Physics Lab's “Ferdinand” and "Beast" wandered white hallways, centering by sonar, avoiding obstacles, stairs, and open doorways, until its batteries ran low. Then it would seek black wall outlets with special photocell optics, and plug Ferdinand itself in by feel with its special recharging arm. After feeding, it would resume Beast patrolling.

Reference: An Overview of Information Processing and Management at APL Ralph D. Semmel, JOHNS HOPKINS APL TECHNICAL DIGEST, VOLUME 24, NUMBER 1 (2003) Stanford Cart (1970-79) The "Stanford Cart" and SRI's "Shakey" were the first mobile robots controlled by computers (room-sized, radio linked).

Both saw with TV cameras.

The Cart followed smudgy white lines seen from a high vantage point in variable illumination quite reliably using adaptation and prediction methods Stanford cart (1977-79)

First experiments with 3D environment mapping. The Stanford Cart crosses a chair-filled room without human assistance. The cart has a TV camera mounted on a rail which takes pictures from multiple angles and relays them to a computer. The computer analyzes the distance between the cart and the obstacles.

• 0.5MHz processor with 1MB memory • 1m every 15 minutes Stanford Cart – Overall Control

1. Calibration: The cart is parked in a standard position in front of a wall of spots. A calibration program notes the disparity in position of the spots in the image seen by the camera with their position predicted from an idealized model of the situation. It calculates a distortion correction polynomial which relates these positions, and which is used in subsequent ranging calculations. 2. The obstacle avoiding program is started. It begins by asking for the cart's destination, relative to its current position and heading. After being told, say, 50 meters forward and 20 to the right, it begins. 3. It activates a mechanism which moves the TV camera, and digitizes about nine pictures as the camera slides (in precise steps) from one side to the other along a 50 cm track. 4. A subroutine called the interest operator is applied to the one of these pictures. It picks out 30 or so particularly distinctive regions (features) in this picture. Another routine called the correlator looks for these same regions in the other frames. A program called the camera solver determines the three dimensional position of the features with respect to the cart from their apparent movement image to image. 5. The navigator plans a path to the destination which avoids all the perceived features by a large safety margin. The program then sends steering and drive commands to the cart to move it about a meter along the planned path. The cart's response to such commands is not very precise. 6. After the step forward the camera is operated as before, and nine new images are acquired. The control program uses a version of the correlator to find as many of the features from the previous location as possible in the new pictures, and applies the camera solver. The program then deduces the cart's actual motion during the step from the apparent three dimensional shift of these features. The motion of the cart as a whole is larger and less constrained than the precise slide of the camera. The images between steps forward can vary greatly, and the correlator is usually unable to find many of the features it wants. The interest operator/correlator/ camera solver combination is used to find new features to replace lost ones. 7. The three dimensional location of any new features found is added to the program's model of the world. The navigator is invoked to generate a new path that avoids all known features, and the cart is commanded to take another step forward. 8. This continues until the cart arrives at its destination or until some disaster terminates the program. Problems?

A method as simple as this is unlikely to handle every situation well. The most obvious problem is the apparently random choice of features tracked. If the interest operator happens to avoid choosing any points on a given obstruction, the program will never notice it, and might plan a path right through it. The interest operator was designed to minimize this danger. It chooses a relatively uniform scattering of points over the image, locally picking those with most contrast. Effectively it samples the picture at low resolution, indicating the most promising regions in each sample area. Objects lying in the path of the vehicle occupy ever larger areas of the camera image as the cart rolls forward. The interest operator is applied repeatedly, and the probability that it will choose a feature or two on the obstacle increases correspondingly. Typical obstructions are generally detected before its too late. Very small or very smooth objects are sometimes overlooked. Video and References

Ref: Moravec, H. P., Obstacle avoidance and navigation in the real world by a seeing robot rover, PhD in Computer Science, Stanford U., 1980.

Video (3:25): http://www.frc.ri.cmu.edu/users/hpm/talks/ Cart.1979/Cart.final.mov Shakey was the first general-purpose mobile robot to be able to reason about its own actions. While other robots would have to be instructed on each individual step of completing a larger task, Shakey could analyze the command and break it down into basic chunks by itself. Due to its nature, the project combined research in robotics, computer vision, and natural language processing. Because of this, it was the first project that melded logical reasoning and physical action. Shakey was developed at the Center of Stanford Research Institute (now called SRI International) in 1966 through 1972 with Charles Rosen as project manager. Other major contributors included Nils Nilsson, Alfred Brain, , Richard Duda, Peter Hart, Richard Fikes, Richard Waldinger, Thomas Garvey, Jay Tenenbaum, and Michael Wilber. The robot's programming was primarily done in LISP. The STRIPS planner it used was conceived as the main planning component for the software it utilized. Shakey had a TV camera, a triangulating range finder, and bump sensors, and was connected to DEC PDP-10 and PDP-15 computers via radio and video links.

Shakey Video

Papers: see http://www.ai.sri.com/shakey/

Video: (24:02) http://video.nytimes.com/video/2010/06/16/ science/1247468057234/shakey.html Braitenberg’s Vehicles (1984)

A Braitenberg vehicle is a concept conceived in a thought experiment by the Italian-Austrian cyberneticist Valentino Braitenberg to illustrate in an evolutive way the abilities of simple agents. The vehicles represent the simplest form of behavior based artificial intelligence or embodied cognition, i.e. intelligent behavior that emerges from sensorimotor interaction between the agent and its environment, without any need for an internal memory, representation of the environment, or inference.

• Created wide range of vehicles

• Vehicles used inhibitory and excitatory influences

• Direct coupling of sensors to motors Examples

The following examples are some of Braitenberg's simplest vehicles.

A first agent has one light-detecting sensor that directly stimulates its single wheel, implementing the following rules: More light produces faster movement. Less light produces slower movement. Darkness produces standstill. This behavior can be interpreted as a creature that is afraid of the light and that moves fast to get away from it. Its goal is to find a dark spot to hide.

A slightly more complex agent has two light detectors (left and right) each stimulating a wheel on the same side of the body. It obeys the following rule: More light right → right wheel turns faster → turns towards the left, away from the light. This is more efficient as a behavior to escape from the light source, since the creature can move in different directions, and tends to orient towards the direction from which least light comes.

In another variation, the connections are negative or inhibitory: more light → slower movement. In this case, the agents move away from the dark and towards the light. Video and Reference

Braitenberg, V. (1984). Vehicles: Experiments in synthetic psychology. Cambridge, MA: MIT Press.

Video (0:20): http://people.cs.uchicago.edu/~wiseman/vehicles/animation-1.mpeg This run has three vehicles, each of a different type, and two lamps. Green is the obsessive one. She single-mindedly and frenetically searches for and attempts to ram the nearest and brightest light source, and has no regard for anything else (behaving like Braitenberg's Vehicle 2b). Blue has more self-control and more intelligence. She likes to find a cozy spot near a lamp and settle down, but she will flee if a predator comes too close. Red is the predator; Light doesn't interest her, only the movement of possible prey. VaMoRs (1980’s)

Ernst Dickmanns and his group at Univ. Bundeswehr Munich (UniBW) built the world's first real robot cars, using saccadic vision, probabilistic approaches such as Kalman filters, and parallel computers

The 5-ton van was re-engineered such that it was possible to control steering wheel, throttle, and brakes through computer commands based on real-time evaluation of image sequences. Software was written that translated the sensory data into appropriate driving commands. For safety reasons, initial experiments in Bavaria took place on streets without traffic. Since 1986 the Robot Car "VaMoRs" managed to drive all by itself, since 1987 at speeds up to 96 km/h, or roughly 60 mph. Video and References Video (2:56) http://www.youtube.com/watch?v=rAFU78Rn49s

Video and References http://www.youtube.com/watch?v=YZ6nPhUG2i0&feature=player_embedded#!

References: Dynamic Vision for Perception and Control of Motion, ED Dickmanns, Springer-Verlag London, 2007 An integrated spatio-temporal approach to automatic visual guidance of autonomous vehicles , Dickmanns, E.D.; Mysliwetz, B.; Christians, T.; IEEE Transactions on Systems, Man and Cybernetics, 20 (6), p 1273 – 1284, 1990 Dynamic Vision-Based Intelligence, Ernst D. Dickmanns, AI Magazine Volume 25 Number 2 (2004)

Honda’s P3

In 1986, Honda commenced the humanoid robot research and development program. Keys to the development of the robot included "intelligence" and "mobility." Honda began with the basic concept that the robot "should coexist and cooperate with human beings, by doing what a person cannot do and by cultivating a new dimension in mobility to ultimately benefit society." This provided a guideline for developing a new type of robot that would be used in daily life, rather than a robot purpose-built for special operations.

first phase of our program was dedicated to the analysis of how a human uses legs and feet to walk.

Reference: http://world.honda.com/ASIMO/P3/ Sensors for Walking

Our sense of equilibrium is ensured by three sensing mechanisms.

Detection of acceleration is provided by the statoliths. Three semicircular canals detect angular velocity.

The bathyestheasia of muscles and skin is responsible for detecting angles, angular velocity, muscular dynamism, pressures on plantae and sense of contact.

The visual sense supports and sometimes compensates for the sense of equilibrium. It also provides information required for normal walking.

Thus, our robot system needed to incorporate G-force and six-axial force sensors to detect the conditions of legs/feet while walking, and an inclinometer and joint-angle sensors to detect the overall posture. Two Leg Operation

For the basis of two-leg/foot operation, specifications were determined for straightforward dynamic movement on a flat surface. The next logical step was to conduct a research and development program for freer walking. The robot developed in the following stages had to be capable of walking over undulations and bumps, inclined surfaces and stairs, as well as more stable autonomous walking without the risk of falling. Technical challenges for ensuring robot stability focused on the following three factors:

1. A controlling technology that eases landing impact and is unaffected by bumps on the walking surface. Such a function had to be supported by the overall mechanisms of the components.

2. A posture controlling strategy to readjust the robot after an unfavorable movement that almost leads to a fall.

3. A variable and adaptive controlling strategy that exactly places the leg/foot on a point of landing that in accordance with the circumstance. The landing point is automatically determined as a result of several management factors. Video

(0:20) http://world.honda.com/ASIMO/P3/movies/ 04.html

(0:15) http://world.honda.com/ASIMO/P3/movies/ 05.html Rod Brooks and Subsumption Examples of Behaviours

• Exploration/directional behaviors (move in a general direction) heading based, wandering • Goal-oriented appetitive behaviors (move towards an attractor) discrete object attractor, area attractor • Aversive/protective behaviors (prevent collision) avoid stationary objects, elude moving objects (escape), aggression • Path following behaviors (move on a designated path) road following, hallway navigation, stripe following • Postural behaviors balance, stability • Social/cooperative behaviors sharing, foraging, flocking • Perceptual behaviors visual search, ocular reflexes • Walking behaviors (for legged robots) gait control • Manipulator-specific behaviors (for arm control) reaching, moving • Gripper hand behaviors (for object acquisition) grasping collision avoidance navigation exploration Conflict resolution priority, max response, weighted response, etc Allen

Allen was the first robot based on subsumption architecture. It had sonar distance and odometry onboard, and used an offboard lisp machine to simulate subsumption architecture. It resembled a footstool on wheels. Genghis Ghenghis (1988) a six-legged walker, which taught itself how to scramble over boards and other obstacles. The secret: Allow each leg to react to the environment independently and you won't need to program every complex step.

Video (1:00): http://groups.csail.mit.edu/lbr/genghis/genghis-short2.mov Rod Brooks and Subsumption (2:08) http://video.mit.edu/watch/rodney-brooks-and-robotics-12116/ (7:25) https://www.youtube.com/watch?v=9u0CIQ8P_qk (3:07) http://video.mit.edu/watch/ai-lab--cog-the-humanoid-robot-2857/

References: see http://people.csail.mit.edu/brooks/publications.html

Classics are: Brooks, R. A. "A Robust Layered Control System for a Mobile Robot", IEEE Journal of Robotics and Automation, Vol. 2, No. 1, March 1986, pp. 14–23; also MIT AI Memo 864, September 1985. Brooks, R. A., "Intelligence Without Representation", Artificial Intelligence Journal (47), 1991, pp. 139–159. Brooks, R. A., "Elephants Don't Play Chess", Robotics and Autonomous Systems (6), 1990, pp. 3–15. Dante II The CMU Field Robotics Center (FRC) developed Dante II, a tethered walking robot, which explored the Mt. Spurr (Aleutian Range, Alaska) volcano in July 1994. High-temperature, fumarole gas samples are prized by volcanic science, yet their sampling poses significant challenge. In 1993, eight volcanologists were killed in two separate events while sampling and monitoring volcanoes. The use of robotic explorers, such as Dante II, opens a new era in field techniques by enabling scientists to remotely conduct research and exploration. Using its tether cable anchored at the crater rim, Dante II is able to descend down sheer crater walls in a rappelling-like manner to gather and analyze high temperature gasses from the crater floor. In addition to contributing to volcanic science, a primary objective of the Dante II program is to demonstrate robotic exploration of extreme (i.e., harsh, barren, steep) terrains such as those found on planetary surfaces. Behavior-based gait

The basic abilities that keep a walking robot safe and stable, and establish its gait cycle, are its ability to stand, posture, step, and walk. Behaviors, implemented as concurrent, task-achieving processes, embody these abilities. They act independently Eight contact foot behaviors to stand, roll, pitch, and clearance behaviors to posture, eight free foot behaviors to step, and one each of raise legs, move body, and lower legs behaviors to walk. These behaviors are networked by links that carry inhibit and exhibit control messages (specifically inhibit enable and disable, and exhibit enable and disable, each two bits). Each process has the same structure: it executes a non-terminating loop waiting for an incoming exhibit or inhibit message. The inhibition/ exhibition logic is simply, “exhibit when receiving one or more exhibit message and no inhibit messages.” When the process exhibits its behavior, it watches for signalled events and sensed conditions, and produces signals and actions. The arbitration among competing behaviors occurs explicitly; when one is exhibited it directly inhibits those with which it competes for resources.

Walking robots need fast reaction to survive bumps and slips, but also foresight and planning to be productive and efficient in an unstructured environment. Dante II video

References: Dante II: Technical Description, Results and Lessons Learned John Bares and David Wettergreen International Journal of Robotics Research, Vol. 18, No. 7, July, 1999, pp. 621-649.

Behavior-based Gait Execution for the Dante II Walking Robot David Wettergreen, Henning Pangels, and John Bares Proceedings of IROS '95, August, 1995, pp. 274 - 279.

Video (14:12): http://www.youtube.com/watch?v=Spe9jivtwZA Kismet (1998-2000)

The Sociable Machines Project develops an expressive anthropomorphic robot called Kismet that engages people in natural and expressive face-to-face interaction. Inspired by infant social development, psychology, ethology, and evolution, this work integrates theories and concepts from these diverse viewpoints to enable Kismet to enter into natural and intuitive social interaction with a human caregiver and to learn from them, reminiscent of parent-infant exchanges. To do this, Kismet perceives a variety of natural social cues from visual and auditory channels, and delivers social signals to the human caregiver through gaze direction, facial expression, body posture, and vocal babbles. The robot has been designed to support several social cues and skills that could ultimately play an important role in socially situated learning with a human instructor. These capabilities are evaluated with respect to the ability of naive subjects to read and interpret the robot's social cues, the robot's ability to perceive and appropriately respond to human social cues, the human's willingness to provide scaffolding to facilitate the robot's learning, and how this produces a rich, flexible, dynamic interaction that is physical, affective, social, and affords a rich opportunity for learning.

Overview of the software architecture Kismet’s behavior hierarchy consists of three levels of behaviors. Top level behaviors connect directly to drives, and boom-level behaviors produce motor responses. Cross exclusion groups (CEG) conduct winner-take-all compeons to allow only one behavior in the group to be acve at a given me. Schemac of movaons and behaviors relevant to aenon. Attention and BEhaviors

Overview of the aenon system. A variety of visual feature detectors (color, moon, and face detectors) combine with a habituaon funcon to produce an aenon acvaon map. The aenon process influences eye control and the robot’s internal movaonal and behavioral state, which in turn influence the weighted combinaon of the feature maps. Displayed images were captured during a behavioral trial session. Video and References home page: http://www.ai.mit.edu/projects/humanoid-robotics- group/kismet/kismet.html

Video overview (4:00) http://www.ai.mit.edu/projects/kismet/Kismet.QT3- T1-10f.mov

Other videos: http://www.ai.mit.edu/projects/sociable/videos.html CLARAty

JPL-lead effort to improve on the 3-level architecture CLARAty has explicit representation of the system layers’ granularity as a third dimension1, and blending of the declarative and procedural techniques for decision making.

deliberave

procedural

reflexive Object-Oriented – each class inherits from above each represents a complete package for that concept: encoded functionality, local planner, state maintenance, test and debug, simulation, The Decision Layer breaks down high level goals into smaller objectives, arranges them in time due to known constraints and system state, and accesses the appropriate capabilities of the Functional Layer to achieve them. Goal Net: The Goal net is the conceptual decomposition of higher level objectives into their constituent parts, within the Decision Layer.

Goals: Goals are specified as constraints on state over time.

Tasks: Tasks are explicitly parallel or sequential activities that are tightly linked.

Commands: Commands are unidirectional specification of system activity.

The Line: The Line is a conceptual border between Decision-making and Functional execution

State: The state of the Functional Layer is obtained by query.

Videos

Systems: http://www-robotics.jpl.nasa.gov/systems/ http://www-robotics.jpl.nasa.gov/videos/ allVideos.cfm http://www-robotics.jpl.nasa.gov/systems/ systemVideo.cfm?System=2&Video=50 References

CLARAty: Coupled Layer Architecture for Robotic Autonomy R. Volpe, I. Nesnas, T. Estlin, D. Mutz, R. Petras, H. Das, Jet Propulsion Laboratory, California Institute of Technology Pasadena, California 91109, December 2000

R. Volpe et al. Rocky 7: A Next Generation Mars Rover Prototype. Advanced Robotics, 11(4):341-358, 1997.

R. Volpe, et.al. “The CLARAty architecture for robotic autonomy,” Proc. of IEEE Aerospace Conference, Montana, March 2001.

Rocky 7 END A Basic Planner – STRIPS (Fikes & Nilsson 1971, SRI)

States: represented as conjunctions of function-free ground literals

Goals: represented as a conjunction of literals and variables (for unspecified things - variables are assumed to existentially quantified)

Actions: represented with 3 components - action description - is what the agent returns to the environment precondition - conjunction of positive literals effect - conjunction of literals

Syntax used follows: OP(Action:Go(there), Precond:At(here) ! Path(here, there), Effect:At(there) ! ¬At(here))

If an operator has variables, it is an operator schema: does not correspond to a single action but rather to a family of actions An operator is applicable if there is some way to instantiate all the variables so that every one of the preconditions is true STRIPS is incomplete: it may not always find a plan even if it exists. The problem is how it handles conjunctive goals. Each problem for STRIPS is a goal to be achieved by a robot operating in a world of rooms, doors and boxes

Solution is a sequence of operators called a plan for achieving the goal Robot’s execution of the plan is carried out by a separate program

World Model: several rooms connected by doors along with some boxes and other objects that the robot can manipulate; world is represented by a set of wff’s of FOPC some formulae are static facts such as which objects are pushable and which rooms are connected; other facts such a current location of objects must be changed to reflect actions of the robot

Operators: each operator has preconditions as to its applicability; application of an operator results in changes to the world model - changes are given by a delete list and an add list specifying the formulae to add or delete Operation

STRIPS operates by searching a space of world models to find one in which the given goal is achieved

Uses a state-space representation in which each state is a pair (world-model, list of goals to be achieved)

Initial state is (M0, (G0)); Terminal state is a world model in which no unsatisfied goal remains STRIPS begins by attempting to prove that the goal is satisfied by the current world model using a theorem prover If this fails, program switches to means-ends analysis, extracting a difference between goal and current model and selecting a relevant operator to reduce the difference The difference consists of any formulae that are outstanding when the proof is abandoned (if many need to choose!) A relevant operator is one whose add list contains formulae that would remove part of the difference; its precondition is added as a new sub-goal