Lego Robots We built many robots from Lego kits.

Slides:



Advertisements
Similar presentations
Mobile Robot Locomotion
Advertisements

Robots Introduction Based on the lecture by Dr. Hadi Moradi University of Southern California.
A Brief History of Artificial Intelligence
Artificial Intelligence versus classical Robotics All robot control architectures are build on some ideas of Artificial Intelligence They form also, what.
Behavioral Robots with various Controls Generalized Braitenberg Vehicles.
A Summary of the Article “Intelligence Without Representation” by Rodney A. Brooks (1987) Presented by Dain Finn.
Autonomous Mobile Robots CpE 470/670
The Turtle Laboratory Sequence LMICSE Workshop August , 2006 Villanova University.
Autonomous Mobile Robots CpE 470/670(X) Lecture 2 Instructor: Monica Nicolescu.
Artificial Intelligence
The Turtle Laboratory Sequence LMICSE Workshop June , 2005 Alma College.
Jochen Triesch, UC San Diego, 1 Real Artificial Life: Robots.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Advanced Topics in Robotics CS493/790 (X) Lecture 2 Instructor: Monica Nicolescu.
Introduction to Robotics © M. J. Mataric Introduction to mobile robots -2 Slides modified from Maja Mataric’s CSCI445, USC.
Using LeJOS LMICSE Workshop June , 2005 Alma College.
Advanced Topics in Robotics CS493/790 (X) Lecture 1 Instructor: Monica Nicolescu.
A Robust Layered Control System for a Mobile Robot Rodney A. Brooks Presenter: Michael Vidal.
Topics: Introduction to Robotics CS 491/691(X)
Sensor-Actuator Networks (Braitenburg Vehicles) “Experiments in Synthetic Psychology” OR Steps toward “[really] artifical life” Norm Badler Steve Lane.
Autonomous Mobile Robots CpE 470/670 Lecture 2 Instructor: Monica Nicolescu.

CS206Evolutionary Robotics “Cogito ergo sum.”. CS206Evolutionary Robotics “Cogito ergo sum.” “I think, therefore I am.” “Do I exist?” “There is something.
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
ROBOTICS COE 584 Autonomous Mobile Robots. Review Definitions –Robots, robotics Robot components –Sensors, actuators, control State, state space Representation.
Introduction to mobile robots
Towards Cognitive Robotics Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Christian.
Control Technology and Automation
Robotica Lecture 3. 2 Robot Control Robot control is the mean by which the sensing and action of a robot are coordinated The infinitely many possible.
Robotics Sharif In the name of Allah. Robotics Sharif Introduction to Robotics o Leila Sharif o o Lecture #3: The.
How Solvable Is Intelligence? A brief introduction to AI Dr. Richard Fox Department of Computer Science Northern Kentucky University.
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
1 The main topics in AI Artificial intelligence can be considered under a number of headings: –Search (includes Game Playing). –Representing Knowledge.
Braitenberg Vehicles. A little history… Valentino Braitenberg (born 1926) is a cyberneticist and former director at the Max Planck Institute for Biological.
Brooks’ Subsumption Architecture EEL 6838 T. Ryan Fitz-Gibbon 1/24/2004.
Subsumption Architecture and Nouvelle AI Arpit Maheshwari Nihit Gupta Saransh Gupta Swapnil Srivastava.
Building robots Spring Building Braitenberg Vehicles From Abstraction to Realization.
Braitenberg Vehicles. A little history… Valentino Braitenberg (born 1926) is a cyberneticist and former director at the Max Planck Institute for Biological.
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class3/Lab 2.
Robotics Sharif In the name of Allah Robotics Sharif Introduction to Robotics o Leila Sharif o o Lecture #4: The.
Casne.ncl.ac.uk Taking care of the CrumbleBot Please do NOT stress the robot's motors 1.Do NOT push the robot 2.Do NOT hold the.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
With. Project Overview  Introduction to Factory Automation Numerical Control  Build an autonomous robotic solution  Testing an autonomous robot build.
Sub-fields of computer science. Sub-fields of computer science.
Electrical Engineer Responsibilities
NXT Mindstorms Kit Programming
BEAM Robotics Biology Electronics Aesthetics Mechanics
VEX IQ Curriculum Smart Machines Lesson 09 Lesson Materials:
Chapter 11: Artificial Intelligence
Electrical Engineer Responsibilities
Understanding Communication with a Robot? Activity (60 minutes)
Braitenberg’s Vehicles
Automation as the Subject of Mechanical Engineer’s interest
Business School Computing Division
Introduction to Control Systems Objectives
Artificial Intelligence
Electrical Engineer Responsibilities
Review and Ideas for future Projects
Braitenberg’s Vehicles
Today: Classic & AI Control Wednesday: Image Processing/Vision
Electrical Engineer Responsibilities
Introduction To Intelligent Control
CISC 1003 Exploring Robotics
Topics: Introduction to Robotics CS 491/691(X)
CIS 488/588 Bruce R. Maxim UM-Dearborn
Subsuption Architecture
Robot Intelligence Kevin Warwick.
How electronic systems work using the Systems approach.
Chapter 12: Building Situated Robots
Behavior Based Systems
Presentation transcript:

Lego Robots We built many robots from Lego kits. We experimented with drives We experimented with sensors We experimented with “architectures’

You can buy old Lego for 10-40 dollars in USA

DRIVE SYSTEMS ‘differential steering’ contrast to steering wheel balance other options: tanks, bicycles, etc

Drive System ratios and reduction—why? gears: pro: efficient, accurate, strong con: need precise alignment, backlash pulleys: pro: simplicity, flexibility con: slippage, poor durability motor control: speed, direction, braking note: Connector direction matters .

Example Vehicle Design Differentially-steered vehicle with pulley drive See handout for construction details

More advanced controls in microprocessors and FPGAs

A Brief History of Robotics

A Brief History of Robotics Robotics grew out of the fields of control theory, cybernetics and AI Robotics, in the modern sense, can be considered to have started around the time of cybernetics (1940s) Early AI had a strong impact on how it evolved (1950s-1970s), emphasizing reasoning and abstraction, removal from direct situatedness and embodiment In the 1980s a new set of methods was introduced and robots were put back into the physical world

Why we apply Control Theory in robotics? The mathematical study of the properties of automated control systems Helps understand the fundamental concepts governing all mechanical systems (steam engines, aeroplanes, etc.) Feedback: measure state and take an action based on it Idea: continuously feeding back the current state and comparing it to the desired state, then adjusting the current state to minimize the difference (negative feedback). The system is said to be self-regulating E.g.: thermostats if too hot, turn down, if too cold, turn up

Control Theory through History Thought to have originated with the ancient Greeks Time measuring devices (water clocks), water systems Forgotten and rediscovered in Renaissance Europe Heat-regulated furnaces (Drebbel, Reaumur, Bonnemain) Windmills James Watt’s steam engine (the governor)

Cybernetics Pioneered by Norbert Wiener in the 1940s Comes from the Greek word “kibernts” – governor, steersman Combines principles of control theory, information science and biology Sought principles common to animals and machines, especially with regards to control and communication Studied the coupling between an organism and its environment

Hammond and Miessner automaton: Seleno 1515 WHO WAS REALLY FIRST? Cybernetic Robotics Hammond and Miessner automaton: Seleno (1914) A phototropic dog Roberto Cordeschi, The Discovery of the Artificial, Kluwer Academic Pub. 2002

W. Grey Walter’s Tortoise “Machina Speculatrix” (1953) 1 photocell, 1 bump sensor, 2 motor, 3 wheels, 1 battery Behaviors: seek light head toward moderate light back from bright light turn and push recharge battery Uses reactive control, with behavior prioritization

W. Grey Walter’s Tortoise

Robot is able to exhibit a food-searching instinct Grey W. Walter makes use of psychological terms when he describes his machine as: "spontaneous," "purposeful," "independent" Robot is able to "recognize" itself and other individuals of the same species. Robot is able to exhibit a food-searching instinct (it automatically went towards its 'nest' to recharge its batteries when they were about to run out). Walter admitted that all this could be seen as nothing but a series of tricks. Nonetheless, an outside observer, let us say a biologist, would have used just this mentalistic terminology had he witnessed this behavior in real animals.

Grey W. Walter: Machina speculatrix Cybernetic Robotics A photosensible tortoise Grey W. Walter: Machina speculatrix (1950) It is nice to be a pioneer? Do you want to be a technology pioneer?

Principles of Walter’s Tortoise Parsimony Simple is better Exploration or speculation Never stay still, except when feeding (i.e., recharging) Attraction (positive tropism) Motivation to move toward some object (light source) Aversion (negative tropism) Avoidance of negative stimuli (heavy obstacles, slopes) Discernment Distinguish between productive/unproductive behavior (adaptation)

Artificial Intelligence Robots

Artificial Intelligence Officially born in 1955 at Dartmouth University Marvin Minsky, John McCarthy, Herbert Simon Intelligence in machines Internal models of the world Search through possible solutions Plan to solve problems Symbolic representation of information Hierarchical system organization Sequential program execution

AI and Robotics AI influence to robotics: Knowledge and knowledge representation are central to intelligence Perception and action are more central to robotics New solutions developed: behavior-based systems “Planning is just a way of avoiding figuring out what to do next” (Rodney Brooks, 1987) Distributed AI (DAI) Society of Mind (Marvin Minsky, 1986): simple, multiple agents can generate highly complex intelligence First robots were mostly influenced by AI (deliberative)

Shakey and others At Stanford Research Institute (late 1960s) A deliberative system Visual navigation in a very special world STRIPS planner Vision and contact sensors

Early AI Robots: HILARE Late 1970s At LAAS in Toulouse Video, ultrasound, laser rangefinder Was in use for almost 2 decades One of the earliest hybrid architectures Multi-level spatial representations

Early Robots: CART/Rover Hans Moravec’s early robots Stanford Cart (1977) followed by CMU rover (1983) Sonar and vision

Basic idea of Braitenberg Vehicles reminder and new concepts

Background In Vehicles, Valentino Braitenberg describes a set of thought experiments in which increasingly complex vehicles are built from simple mechanical and electronic components. Braitenberg uses these thought experiments to explore psychological ideas and the nature of intelligence. Throughout the book, we see more intricate behaviors emerge from the interaction of simple component parts and simple behaviors

Vehicles: Experiments in synthetic psychology (1984) V. Braitenberg Vehicles: Experiments in synthetic psychology (1984) “…We will tempted, then, to use psychological language in describing their behavior. And yet we know very well there is nothing in these vehicles that we have not put in ourselves. This will be an interesting educational game” V. Braitenberg - Vehicles: Experiments in synthetic psychology, Cambridge, MA; MIT Press, 1984

Braitenberg Vehicles Valentino Braitenberg (1980) Thought experiments Use direct coupling between sensors and motors Simple robots (“vehicles”) produce complex behaviors that appear very animal, life-like Excitatory connection The stronger the sensory input, the stronger the motor output Light sensor  wheel: photophilic robot (loves the light) Inhibitory connection The stronger the sensory input, the weaker the motor output Light sensor  wheel: photophobic robot (afraid of the light)

Example Vehicles Wide range of vehicles can be designed, by changing the connections and their strength Vehicle 1: One motor, one sensor Vehicle 2: Two motors, two sensors Excitatory connections Vehicle 3: Inhibitory connections Vehicle 1 Being “ALIVE” “FEAR” and “AGGRESSION” Vehicle 2 “LOVE”

V. Braitenberg - Vehicles: Experiments in synthetic psycology, Cambridge, MA; MIT Press, 1984 The vehicle's sensors exert an inhibitory influence on the motors. Vehicle A, turns toward the light source and stops, when it is dose enough to the light source. i.e. as soon as the light stimulation is large enough to exert sufficient inhibitory activation. Vehicle B is similarly inhibited, but it moves away from the source. inhibitory

+ + vehicle 2B: coward vehicle 3A: love excitatory straight excitatory connections vehicle 3A: love straight inhibitory connections + + off on vehicle 2A: aggresive crossed excitatory connections excitatory

MotorTest.java Modes of operation Single motor vehicle import josx.platform.rcx.*; class MotorTest { static final int STOP = 0; static final int RUN = 1; static final int FLOAT = 2; static int mode = STOP; static int power = 0; public static void main(String [] args) { setupButtonListeners(); while (true) { if (mode == RUN) { Motor.A.setPower( power ); // power in range [0, 7]. incremented with each press of View button. Motor.A.forward(); } else if (mode == STOP) { Motor.A.stop(); } else if (mode == FLOAT) { Motor.A.flt(); } ... (button listener code not shown) Modes of operation Single motor vehicle

Mindstorms Light Sensor why the LED? sensor mode: raw vs. percent I/0 graph, compared to mammal eyes spectral response sunlight vs incandescent vs fluorescent

LightTest.java button LCD import josx.platform.rcx.*; class LightTest implements SensorConstants { public static void main(String [] args) throws InterruptedException { Sensor.S1.setTypeAndMode (SENSOR_TYPE_LIGHT, SENSOR_MODE_PCT); Sensor.S1.activate(); while (true) { int lightReading; if (Button.VIEW.isPressed()) { lightReading = Sensor.S1.readRawValue(); } else { lightReading = Sensor.S1.readValue(); } LCD.showNumber( lightReading ); button LCD

Complete Example: “Aggressive.java” import josx.platform.rcx.*; class aggressive implements SensorConstants { public static void main(String [] args) { int minBrightness = 100; final int gain = 12; Sensor.S1.setTypeAndMode (SENSOR_TYPE_LIGHT, SENSOR_MODE_PCT); Sensor.S1.activate(); Sensor.S3.setTypeAndMode (SENSOR_TYPE_LIGHT, SENSOR_MODE_PCT); Sensor.S3.activate(); for (int i = 0; i < 100; i++) { if (Sensor.S1.readValue() < minBrightness) { minBrightness = Sensor.S1.readValue(); } else if (Sensor.S3.readValue() < minBrightness) { minBrightness = Sensor.S3.readValue(); } Thread.sleep(20); Motor.A.forward(); Motor.C.forward(); while (true) { int motorASpeed = (Sensor.S3.readValue() - minBrightness) / gain; int motorCSpeed = (Sensor.S1.readValue() - minBrightness) / gain; setMotorSpeed(Motor.A, motorASpeed); setMotorSpeed(Motor.C, motorCSpeed); aggressive Sensors S1 and S3

Aggressive.java (continued) protected static void setMotorSpeed(Motor m, int motorSpeed) { if (motorSpeed < 1) { m.flt(); // important LCD.showNumber(-1); } else { if (motorSpeed > 7) { motorSpeed = 7; } m.forward(); m.setPower(motorSpeed); LCD.showNumber(motorSpeed); motor floats Limit motor speed motor forward

Observations Closed loop control; lessens importance of mechanical imperfections (e.g. pulley slip). The map is not the territory. Make your own—robots and observations!

Intelligent, Emotional behavior and the origins of Robot’s Control Each of these imaginary vehicles in some way mimics intelligent behavior. Each of them is given a name that corresponds to the behavior that it imitates; – ”Fear”, ”Love”, ”Logic”, etc. Our robots will have names such as « Quantum John » or « Fearful Qubit » or « Fuzzy Mary » to emphasize their brains and not only emotions.

Simple Creatures

Simple Creatures Timid the shadow seeker one motor one threshold light sensor, pointing up, on when in light and off in shadow. Timid will run when it can ”see” the room lights, and stop when it cannot. When the lights are turned on, Timid drives until it gets into shadow, at which point it stops

Simple Creatures Indecisive the shadow edge finder one motor one threshold light sensor, pointing up, on when in light and off in shadow. Indecisive drives forward until it gets to a shadow. At this point, the threshold light sensor no longer sees the overhead lights and its output switches of. The motor reverses and the creature runs back into the light. Indecisive oscillates back and forth at shadow edges.

Simple Creatures Paranoid the shadow-fearing robot two motors one threshold light sensor, pointing up, mounted on an arm sticking out forward, on when in light and off in shadow. Paranoid drives straight forward until its threshold light sensor enters a shadow. Then, triggered by the sensor, its left wheel reverses. It swings around to the left until the protruding sensor has swung back out of the shadow. At this point the left wheel returns to forward motion.

Simple Creatures Dogged – the obstacle avoider one motor two touch sensors, one facing front and one back, each connected to a bumper. or flip-flop When Dogged is started it runs either forward or backward. When either the front or back bumper is pressed, the creature reverses direction. Dogged changes direction every time either bumper gets pressed. It will fall into a pattern of running quickly back and forth between two objects.

Insecure Simple Creatures – the wall follower two motors whisker sensor, on when sufficiently bent and off otherwise (implement using a touch sensor and a strip). inverter Insecure slowly edges its way along walls and around the base of pillars.

Driven Simple Creatures – the light seeker two motors differential light sensor, facing forward (implent it with two light sensors) Driven moves towards a bright light by successive right and left turns. It slowly wiggles its way towards light sources.

More Complex Creatures

MULTISENSORY T:Temperature O:Oxygen F:Food L R T O F L:Light

More Complex Creatures Multi-sensory Persistent – the light seeker with a collision algorithm Attractive and Repulsive – the leading and following pair Consistent – the four state turtle Inhumane – the mouse trap

Philosophical Creatures Frantic – the negative feedback loop Observant – the creature sensitive to the direction of a sound

Idea of “Generalized Braitenberg Vehicles”

Generalized Braitenberg Vehicles Other designs of the vehicle itself. Various types of drives. Braitenberg Head, Braitenberg Mister Potatao, Braitenberg Snake. All kinds of “BraitenbergSomething”. Very many sensors Very many effectors Complex brains Combinational logic replaces with state machines. State machines replaced with Petri Nets and Regular Expressions

Generalized Braitenberg Vehicles State machines replaced with Harel State Charts Adding probability Adding Fuzzy Control Adding Multiple-Valued Control Adding Modal Logic Controls Programming in LISP Reconfigurable change shape of body

ENVIRONMENT ENVIRONMENT sensors Combinational Block actuators Generalized Braitenberg Robot ENVIRONMENT sensors Combinational Block actuators memory Braitenberg Automaton Robot ENVIRONMENT

ENVIRONMENT actuators Fuzzy Combinational Block Fuzzy Memory sensors F/Q Quantum Combinational Block Q/F Quantum memory ENVIRONMENT

Original “Braitenberg Vehicles” are Wheeled Mobile Robots Wheeled Mobile Robot (WMR) A robot capable of locomotion on a surface solely through the actuation of wheel assemblies mounted on the robot and in contact with the surface. A wheel assembly is a device which provides or allows motion between its mount and surface on which it is intended to have a single point of rolling contact. Muir and Newman, 1986 What is the best drive system and mechanical design of a mobile robot?

Drives of “Generalized Braitenberg Vehicles”

Assumptions 1. The robot is built from rigid mechanisms. 2. The robot contains at most one steering link per wheel. 3. All steering axes are perpendicular to the floor. 4. No slip occurs in the orthogonal direction of rolling (non-slipping). 5. No translational slip occurs between the wheel and the floor (pure rolling). Non-slipping and pure rolling

Examples of mobile robots Suitable to make the model Smooth motion Risk of slipping Bi- wheel type robot Exact straight motion Robust to slipping Inexact modeling of turning Caterpillar type robot Free motion Complex structure Weakness of the frame Omnidirectional robot

Subsumption Architecture of Brooks implemented in BV

A simplified version of an elementary Brooks architecture PATHPLAN Level 2 SUPPRESS WANDER Level 1 SENSORS FORWARD TURN MOTOR AVOID Level 0 subsumption

In this case, take the direction pointed at by Light. F ENVIRONMENT F j O w L l M T t If both Temperature sensors are active, then go forward; otherwise go away from the direction pointed at by either one of them unless there is Light. In this case, take the direction pointed at by Light. You do this, unless the Oxygen sensors are active. In such a case, always go their direction unless Food is present. If this is the case, always go in that direction.

IMPLY(X,Y) if X occurs then apply Y UNLESS(X, Z, Y) if X occurs then apply Y unless Z occurs M O w F j L l T t ENVIRONMENT IMPLY(F, ) UNLESS(O,  , ) UNLESS(L,    , ) UNLESS(T,      , )

Readings Vehicles: Experiments in Synthetic Psychology, Valentino Braitenberg, MIT Press; Reprint edition (1986), ISBN: 0262521121 Braitenberg Creatures, D. W. Hogg, F. Martin, M. Resnick. E&L Memo No 13, MIT Media Lab. Cambridge, MA, 1991. http://citeseer.nj.nec.com/hogg91braitenberg.html

Slides and Ideas Used Ernesto Burattini Jong Hwan Kim Edmond Schonberg Davi Geiger Krister Wolf Roberto Cordeschi Guglielmo Tamburrini Arushi Raghuvanshi