- 118 Views
- Uploaded on
- Presentation posted in: General

CS 415 – A.I.

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Slide Set 3

- Representational System – function is to capture the essential features of a problem domain and make the information accessible
- Abstraction – being able to efficiently store the features of the problem domain
- Note: the features will undoubtedly change

- Balance trade-offs between efficiency and expressiveness

- Abstraction – being able to efficiently store the features of the problem domain

Representation in Mobile Robotics

- Kinematics – basic study of how mechanisms move
- Basic goal: given all the angles and movement, what is you point in space at this time
- 2 Frames of Reference
- Global Frame of Reference
- Robot gets through layers of representations (maps, etc)

- Local Frame of Reference
- Don't know what the world looks like
- Remember how far I've traveled

- Global Frame of Reference

- Given global frame of reference
- If the robot moves how do we keep up with where we are in space
- Kinematic Equations
- A system of equations that determines our x,y position and our rotation (angle Θ) after k control steps
- See second page of ARL paper
- Synchro Drive Robots
- Also exist for Differential Drive Robots

- Store as a matrix system
- Perform matrix operations to transform and solve

- Regardless, everyone should work in the same frame of reference
- Homogenous Transform
- Do matrix operations to transform from one frame of reference to another

- Homogenous Transform

How far has the robot moved? reference

- Apply power, robot moves, right?
- Power does not relate well to speed

- So, other options:
- Check the particular motor velocity (left/right)
- Some visual cue for how fast you're going
- Encode inside motor
- How many 'ticks' has the motor made as it rotated
- Use PID, proportional integral derivative
- Integral and derivative → smooths error/gives result

Mapping reference

- How do we abstract a map?
- Efficiency vs Expressiveness
- What are the tradeoffs

- Dealing with Errors
- Examples:
- Synchro Drive
- Differential Drive

- Examples:

Accurate Relative Localization Using Odometry reference

- Drawing Maps
- Depends on relative localization
- Can't escape the use of odometry

- Have error built in

- Depends on relative localization
- Overcoming Error
- Odometry error modeling
- Error Parameters estimation
- Covariance matrix estimation
- 1 and 2 – systematic errors
- 3 – non-systematic errors

Systematic Errors reference

- Define these for the robot based on the appropriate error model for the drive type
- Differential Drive → given in the literature
- Borenstein paper

- Synchro Drive → given in this paper
- Major source: wheel misalignment
- Major source of distortion for theta (angular velocity): drag AND rotate the robot
- Provable by geometric analysis of kinematic equation

- Major source: wheel misalignment

- Differential Drive → given in the literature

Non-systematic Errors reference

- PC (POSTECH CMU)-method
- 1st get the error model
- 2nd use PC-method to generate error parameters and covariance matrix

- Based on sensor-based navigation through the Generalized Voronoi Graph (GVG)
- Voronoi extensively covered in literature
- Creates a well-understood path based on obstacles
- Robot drives it forward (FOP) and backward (BOP)
- 2 diff odom paths, same real-world path

- Give an initial CFOP and CBOP based on error model and initial error parameters guess
- Then, find the error parameters that minimize error between CFOP and CBOP
- Steepest descent method

- Now, build an error covariance matrix based on 3 assumptions and worst-case analysis

A little error, uncorrected, tends to flourish initial error parameters guess

- See Fig 8
- Note: one possible approach, reset the odometry before the error gets too bad

- See Fig 9
- See Fig 12
- See Fig 13

Representation/Search - Considerations initial error parameters guess

- Real-time Systems
- Is it schedulable
- Has a lot to do with efficiency/expressiveness

- How are we storing things (fast to slow)
- I/O
- Memory
- Registers
- Cache

- What Language are we using (fast to slow)
- Assembly
- C
- C++
- Java
- Python

- Is it schedulable

Other Forms of Representation initial error parameters guess

- Example: A robot might be stacking elements from a table on top of one another
- Might give the following predicates (state facts about our domain):
clear(c)

clear(a)

ontable(a)

ontable(b)

on(c,b)

cube(b)

cube(a)

pyramid(c)

- Might also define a set of rules which relate to these predicates
For all X if there does not exist any Y where on(Y,X) than this implies clear(X)

Using Predicate Calculus initial error parameters guess

- Predicates can also be more advanced
hassize(bluebird,small)

hascovering(bird,feathers)

hascolor(bluebird,blue)

hasproperty(bird,flies)

isa(bluebird,bird)

isa(bird,vertebrae)

- Predicates are not functions in the sense of higher-level languages, nor should you think of them in terms of programming
- There is no set of predicate functions
- Any predicate can be defined
- They are strictly useful for representing knowledge in conjunction with rules

Search initial error parameters guess

- What are the possible moves?
- The computer knows because of the knowledge representation
- All moves are either stored or can be inferred from the stored knowledge and set of rules.

- The computer knows because of the knowledge representation
- What is the best move?
- This is the domain of search
- Example: Tic Tac Toe

Limitations of State-Space Search initial error parameters guess

- Not sufficient to automate intelligent behavior
- How big is the state-space for chess?
- 10120 different board configurations
- Larger than # molecules in the universe
- Larger than the number of seconds since the “big bang”

- 10120 different board configurations
- How big is the state-space for human language?
- Untold possibilities

- How big is the state-space for chess?
- State-Space Representation and Search is an important tool only

Exhaustive Search vs. Heuristic Search initial error parameters guess

- Exhaustive Search
- Brute force attempting all possible combinations till an optimized solution is found

- Heuristic Search
- Humans don’t use exhaustive search
- Instead, we use rules of thumb based on what seems most “promising”
- Heuristic – a strategy for selectively searching a state space ---- Examples?

Autonomous Robotics initial error parameters guess

- Key: operating in an unknown environment
- Exploration: the act of moving through an unknown environment while building a map that can be used for subsequent navigation
- The world is not made of right angles

- Kinds of space: Open, Closed, Unknown
- Frontiers: regions on the boundary between open and unknown space

- Exploration: the act of moving through an unknown environment while building a map that can be used for subsequent navigation

The Many Faces of Control initial error parameters guess

- Deliberative Control
- Reactive Control
- Hybrid Control
- Behavior-Based Control
- Emergent Behavior

- Note: some info taken from The Robotics Primer by Maja J. Mataric.
- Highly recommend this book

Deliberative Control initial error parameters guess

- Think Hard, Act Later
- Throw back to the early days of AI
- Example: Chess
- Useful When:
- There's time to do it
- Without strategy, things go bad

- Throw back to the early days of AI
- Planning
- i.e. - Programming Assignment 1
- But, done automatically

- Search
- (DFS, BFS, etc), Goal-Oriented, Forward-Oriented

- i.e. - Programming Assignment 1

Deliberative-planning based architecture initial error parameters guess

- 3 Steps (done in order)
- Sensing
- Planning
- Acting (executing the plan)

- SPA Architectures

- The Good initial error parameters guess
- Can expect to find many (all possible?) paths to the goal
- Can cherry-pick the one that's best
- Optimization

- The Bad
- All the time it takes isn't always necessary
- Assumes you have stored knowledge

- The Ugly
- Not possible except in relatively small search spaces
- Almost never possible in real-time

- Not possible except in relatively small search spaces

Additional Drawbacks initial error parameters guess

- Sensor data is coming all the time
- Planning for all possible actions is memory intensive
- Only need one action really

- World model must always be accurate and updated
- The real world is a dynamic place
- Can't make it hold still while I act

Reactive Control initial error parameters guess

- Don't think, react
- Tight link between sensors and actuators
- Doesn't have a world model
- A set of rules is executed based on sensor states

- Mutually-exclusive Conditions
- One sensor state, one action
- Keeps control system simple
- But, how many sensor states are there? Many.
- Giant lookup table, slow response

- Rules should be generated at Design-Time initial error parameters guess
- Designer thinks, robot does not
- Designer identifies important sensor states / situations

- Actions can get stuck in loop
- Use a little randomness
- Keep a bit of history

- We want our robot to do multiple things (multi-tasking) initial error parameters guess
- Action Selection
- Command Arbitration (choose a command)
- Command Fusion (combine the commands)

- Example
- Avoid Object
- Follow-wall

- Action Selection
- Subsumption Architecture

Hybrid Control initial error parameters guess

- Reactive – fast but inflexible
- Deliberative – slow but smart
- Hybrid – best of both worlds
- 3 components
- A reactive layer (on bottom)
- A planner (on top)
- A layer that links the above two together
- (in the middle)

- 3-layer architecture

- 3 components

Middle Layer initial error parameters guess

- Has to:
- Compensate for shortcomings of reactive and deliberative layers
- Reconcile different time-scales
- Deal with different representations
- Reconcile any contradictory commands

- Gopher bots (hospital deliveries): The What-ifs Problem
- Need to get to room fast, but no plan
- Taking optimal route, suddenly blocked
- By priority personnel, because of outdated map

- Always having to go to same room

- Dealing with changes initial error parameters guess
- This is where the middle layer comes in
- No one “correct” answer
- Dynamic Replanning
- Off-line Planning
- On-line Planning
- Building in domain knowledge

- The middle-layer is hard
- Best solutions are case-specific (so far)

Behavior-based Control initial error parameters guess

- What we know
- Reactive is inflexible, no representation, or learning
- Deliberative systems are slow
- Hybrid systems are hard and complex
- Biology (our model) has evolved from simple and consistent components

- BBC → implemented as collections of behaviors

What are behaviors initial error parameters guess

- Many answers to this, but some commonalities
- Achieve/maintain particular goals
- Take time, are not instantaneous
- More complex than simple actions

- Take input from sensors and other behaviors
- Send output to effectors and other behaviors

- Behaviors can work at multiple levels of abstraction (levels of specificity)

How they are used initial error parameters guess

- Executed in parallel, controller can respond immediately when needed
- Networks of behaviors store state and construct world models
- Designed to work on the same time-scale
- Internal behavior structure is not necessarily one-to-one with external behavior
- Interesting behavior is the result of complex interaction between internal behavior structures
- Example: Robot flocking
- Emergent Behavior

- Key challenge: distributing knowledge over the behavior structure

Example: Mapping initial error parameters guess

- Build a plant-watering robot, also builds a map of plants as it goes
- Distribute map data over behaviors
- Link behaviors that are adjacent in the environment

- Examples:
- Toto: Behavior-based robot for mapping and navigation at MIT