Designing Behavior-Based Systems



Similar documents
Dynamic Schema Hierarchies for an Autonomous Robot

Agent Simulation of Hull s Drive Theory

Rules of Golf Test (Answers at Bottom of File)

A Cognitive Approach to Vision for a Mobile Robot

2/26/2008. Sensors For Robotics. What is sensing? Why do robots need sensors? What is the angle of my arm? internal information

A STRATEGIC PLANNER FOR ROBOT EXCAVATION' by Humberto Romero-Lois, Research Assistant, Department of Civil Engineering

understanding sensors

Design Report. IniTech for

Tutorial 1. Introduction to robot

Path Tracking for a Miniature Robot

ExmoR A Testing Tool for Control Algorithms on Mobile Robots

A BRIEF INTRODUCTION TO COMPUTER PROGRAMMING Scratch, LEGO MINDSTORMS, and Visual Basic. July 24, 2015

cs171 HW 1 - Solutions

ROBOTRACKER A SYSTEM FOR TRACKING MULTIPLE ROBOTS IN REAL TIME. by Alex Sirota, alex@elbrus.com

From Self-Organising Mechanisms to Design Patterns

The Basics of Robot Mazes Teacher Notes

Artificial Intelligence

Chapter 4 DEFENSIVE DRIVING

Definitions. A [non-living] physical agent that performs tasks by manipulating the physical world. Categories of robots

Atlanta, Georgia Road Test

UM-D WOLF. University of Michigan-Dearborn. Stefan Filipek, Richard Herrell, Jonathan Hyland, Edward Klacza, Anthony Lucente, Sibu Varughese

Automatic Labeling of Lane Markings for Autonomous Vehicles

Analog control unit for mobile robots

What s Left in E11? Technical Writing E11 Final Report

Particles, Flocks, Herds, Schools

Tracking of Small Unmanned Aerial Vehicles

To determine vertical angular frequency, we need to express vertical viewing angle in terms of and. 2tan. (degree). (1 pt)

Assessment. Presenter: Yupu Zhang, Guoliang Jin, Tuo Wang Computer Vision 2008 Fall

A Reliability Point and Kalman Filter-based Vehicle Tracking Technique

Robotics. Lecture 3: Sensors. See course website for up to date information.

This Document Contains:

AN INTERACTIVE USER INTERFACE TO THE MOBILITY OBJECT MANAGER FOR RWI ROBOTS

Frequently Asked Questions

A Client-Server Interactive Tool for Integrated Artificial Intelligence Curriculum

Robotics. Chapter 25. Chapter 25 1

Introduction to Computer Graphics

Automated Process for Generating Digitised Maps through GPS Data Compression

XPULT INSTRUCTIONS BASIC VERSION

NXT Robot Challenge. Introduction. Educational Goals. References

Intelligent Flexible Automation

Strategic Online Advertising: Modeling Internet User Behavior with

Dave Sly, PhD, MBA, PE Iowa State University

E190Q Lecture 5 Autonomous Robot Navigation

CIM Computer Integrated Manufacturing

Industrial Robotics. Training Objective

Quick Start Guide to computer control and robotics using LEGO MINDSTORMS for Schools

Quick Start Insert compatible for Small World

BENEFIT OF DYNAMIC USE CASES TO EARLY DESIGN A DRIVING ASSISTANCE SYSTEM FOR PEDESTRIAN/TRUCK COLLISION AVOIDANCE

Robotics and Automation Blueprint

Terrain Traversability Analysis using Organized Point Cloud, Superpixel Surface Normals-based segmentation and PCA-based Classification

OVERVIEW OF THE PROJECT...

Topology Control and Mobility Strategy for UAV Ad-hoc Networks: A Survey

Motion. Complete Table 1. Record all data to three decimal places (e.g., or or 0.000). Do not include units in your answer.

The Scientific Data Mining Process

Installation Effects Upon Alien Crosstalk and Equal Level Far End Crosstalk

Scheduling 101 CPM Basics. Phoenix Project Management Systems, LLC

Introduction. Chapter 1

SPINDLE ERROR MOVEMENTS MEASUREMENT ALGORITHM AND A NEW METHOD OF RESULTS ANALYSIS 1. INTRODUCTION

Tutorial for Programming the LEGO MINDSTORMS NXT

2. TEST PITCH REQUIREMENT

Rules for the IEEE Very Small Competition Version 1.0

Chapter 1 Learning to Program With Alice

M1. (a) (i) 4.5 allow 1 mark for correct substitution i.e

What is Visualization? Information Visualization An Overview. Information Visualization. Definitions

Classroom Activities. These educational materials were developed by the Carnegie Science Center <

ABB solar inverters. ABB solar inverters Application note Improving CDD wireless reception

Mean-Shift Tracking with Random Sampling

Microcontrollers, Actuators and Sensors in Mobile Robots

Lego Robot Tutorials Touch Sensors

DYNAMIC RANGE IMPROVEMENT THROUGH MULTIPLE EXPOSURES. Mark A. Robertson, Sean Borman, and Robert L. Stevenson

Project 16 - PLAYING THE STOCK MARKET FOR GAIN OR LOSS

Tutorial for Tracker and Supporting Software By David Chandler

Chapter 8 Detailed Modeling

Blind Deconvolution of Barcodes via Dictionary Analysis and Wiener Filter of Barcode Subsections

Design Simulations Deliver Measurable Performance

Mobile Robotics I: Lab 2 Dead Reckoning: Autonomous Locomotion Using Odometry

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine

Virtual CRASH 3.0 Staging a Car Crash

Disputed Red Light Accidents: A Primer on Signal Control. Jon B. Landerville, MSME, PE Edward C. Fatzinger, MSME, PE Philip S.

INSTRUCTOR WORKBOOK Quanser Robotics Package for Education for MATLAB /Simulink Users

3D Vision An enabling Technology for Advanced Driver Assistance and Autonomous Offroad Driving

How To Make A Town Hall A Successful

Chapter 2 Intelligent Agents

ZMART Technical Report The International Aerial Robotics Competition 2014

Forensic Engineering Determination of the Angle of Lean of a Cycle-Rider System Negotiating a Turn

Maximizing Throughput and Coverage for Wi Fi and Cellular

A Study on SURF Algorithm and Real-Time Tracking Objects Using Optical Flow

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

Chapter I Model801, Model802 Functions and Features

Sensor Based Control of Autonomous Wheeled Mobile Robots

Battery Wall Controller. Manual

TEST ON Driving Safely Among Bicyclists and Pedestrians

Transcription:

Designing Behavior-Based Systems

Objectives Use schema theory to design and program behaviors Design a complete behavioral system Understand how to develop a behavioral table for behaviors Understand how to sequence behaviors

Objectives Use schema theory to design and program behaviors Design a complete behavioral system Understand how to develop a behavioral table for behaviors Understand how to sequence behaviors

Designing Behaviors Issues: More art than science How to build up to integrated systems? Approaches: View behaviors as objects in object-oriented programming (OOP) Sequence behaviors using: Finite state automata Scripts

Behaviors as Objects in OOP Object-Oriented Programming: data-centered view of programming Schema theory is well suited for transferring theoretical concepts to OOP An objectconsists of: Data (attributes) Methods (operations) A Schema contains: Knowledge of how to act and/or perceive (knowledge, data structures, models) Computational process (the algorithms) Following Arbib, a schema as a programming object will be a class

Behaviors as Objects in OOP Coordinated control program: A function that coordinates any methods or schemas in the derived class Perceptual schema: Has at least one method, which takes sensor input and transforms it into a data structure, called a percept Linked to sensor(s) Motor schema: Has at least one method, which transforms percept into a vector representing an action Linked to actuator(s) Behaviorsare composed of at least one perceptual schema and one motor schema

Primitive vs. Abstract Behaviors Primitive behaviors: Only one perceptual schema Only one motor schema No need for coordinated control Usually programmed as single method Abstract behaviors: Behaviors that are assembled from other behaviors or have multiple perceptual schema and motor schema Since they are farther removed from the sensors and actuators than a primitive behavior

Example: Pick Up the Trash 1994 AAAI Mobile Robot Competition: Robot is placed in an empty arena about the size of an office Coca-Cola cans (red) and whitestyrofoam cups at random locations Bluerecycling bin in two corners; two trash bin with a different color in the other two corners The winner robot is the one who picks up the most trash and placed them in the correct bin

Example Primitive Behavior: Move_to_goal Rather than write: Move_to_red Move_to_blue Instead, write a single generic behavior: Move_to_goal(color) Minimizes opportunity for introducing multiple bugs

Move_to_goal as Primitive Behavior how to calculate goal_angle and goal_strength? pfields is a class Attraction is a method within the pfields class

Important Points about Programming with Behaviors Behavior is the glue between perceptual and motor schemas The schemas don t communicate with each other Behavior puts percept created by perceptual schema in a local place where the motor schema can get it Behaviors can (and should) use libraries of schemas E.g., pfields class can encapsulate five primitive potential fields, which any motor schema can use Behaviors can be reused if written properly E.g., go_to_goal can be reused with different colors

More Complex Example: Follow-Corridor Two different implementations possible: First, use primitive potential fields as motor schemas

An Abstract Follow-Corridor Behavior find-wallswill examine the sonar polar plot and extract the relative location of the corridor walls and return the distance to the left wall and the right wall.

Second Implementation: Summation of Behaviors Here, follow corridor composed of two instances of follow wall behavior

Objectives Use schema theory to design and program behaviors Design a complete behavioral system Understand how to develop a behavioral table for behaviors Understand how to sequence behaviors

Steps in Designing a Reactive Behavioral System

Case Study: 1994 Unmanned Ground Robotics Competition Objective: have small unmanned vehicle autonomously navigate around an outdoor course of white lines painted on grass Step 1: Describe the task Follow path with hairpin turns, stationary obstacles, and sand pit Robot that went furthest without going out of bounds is winner Tie breaker: robot that goes fastest Max. velocity: 5mph Penalties: for going out of bounds, for hitting and moving obstacles 3 runs allowed, after 2 days of practice 10 ft wide lane

Case Study (Con t.) Step 2: Describe the robot Usually: robot provided, which gives fixed constraints on what is possible Sensors: only specific sensors available Effectors: max speed, turning radius In this case study, additional constraints specified: Robot footprint within given size at least 3ft by 3.5ft but no bigger than a golf cart Robot carries own power, on-board computing

The Robot Camcorder on a Panning mast 33MHz 486 PC running Lynx (commercial unix) Sonar on a panning mast 3 ft wide Omnibot

Case Study (Con t.) Step 3: Describe the environment Grassy field with gentle slopes Ten-foot wide lane marked in white paint Exact length and layout of course not known in advance Obstacles were stationary, and were bales of hay wrapped in white or red plastic 2x4 ft obstacle that never extended more than 3 feet into the lane Sonar could detect hay bales at 8 feet Run times would be between 9AM and 5PM on May 22, rain or shine

Given the task, the environment and the robot Think about how this robot is able to accomplish its task What might be the potential problems?

Analysis of the Above Identify the affordance for controlling the robot white line, which should have a high contrast to the green grass Potential problem? lighting value of the white line changed with the weather Solution? have the camera pointing directly at one line, instead of trying to see both lines reduction in the signal to noise ratio Have to use computer vision White should be in the center of the image Reflections on grass are white, but random, so average out If stay in the middle, never encounter any obstacle 10-foot wide lane, 2x4 ft obstacle that never extended more than 3 feet into the lane

Case Study (Con t.) Step 4: Describe how the robot should act in response to its environment Define candidate primitive behaviors In case study: follow-line Helpful: Behavior Table

Behavior Table Helpful organizing tool stay-on-pathis reflexive (stimulus-response) and taxis (it orients the robot relative to the stimulus) compute-centroid: extracts an affordance of the centroid of white from the image as being the line

Case Study (Con t.) Step 5: Refine each behavior: Focus on design of each individual behavior Consider: Both normal range of environmental conditions And conditions in which behavior will fail Example: follow-line() Bales of hay are bright compared to grass, change the centroid to cause collision Refinement: Follow line until see an obstacle, then just go straight until things return to normal Sonar! Look to the side and when something is close, it s a bale, so go straight

Oops In case study: Follow-line behavior analysis assumed only white things in environment were lines and plastic bales of hay Other white objects: judges shoes, dandelions, etc.

Case Study (Con t.) Step 6: Test each behavior independently Helpful to use simulation Keep in mind that simulators do not usually incorporate accurate models of the robot s perceptual abilities Often, only way to verify perceptual schema is to try it in real world

Case Study (Con t.) Step 7: Test with other behaviors Integration testing, where behaviors are combined Testing in actual environment In case study: Follow_line fooled by hay bales Perceptual schema included bright pixels from the hay bales Solution: close robot eyes for about 2 seconds if hay bale nearby (detected by sonar)

Finally, $5K Round 1 OOPS: sonar connection off so it hit the bale Round 2 White shoes and dandelions, plus Killer Bale Round 3 Trapped by sand, but $5K richer!

Some Important Points Let the world be its own best representation line wasn t a line, but just centroid of brightest pixels in the image Design process was iterative; rarely get a workable emergent behavior on the first try There is no single right answer Could have been done with subsumption, pfields, rules, whatever

Assemblages of Behaviors Many applications: require some concurrentbehaviors and some behaviors in sequence Question: How to formally represent the releasers so that the robot execute the behaviors correctly, and so that the human designer can understand what is going on? Three common methods for behavior sequencing: Finite state automata (FSA) Scripts Skills Key concept: make world trigger, or release, the next step in the sequence, rather than on an internal model of what the robot has done recently

Recall: FSA Sequencing of Motor Schemas Can sequence motor schemas if one activity needs to be completed before another

Example FSA for Our Case Study

Summary Describe the task Describe the robot Describe the environment Describe how the robot should act in response to its environment Refine each behavior Test each behavior independently Test with other behaviors Repeat as needed

In-Class Team Design Form a group of 2 for your legoproject Discuss what you want to do for your legoproject Design the behavior-based system for your proposed lego project Should at least complete the first three steps