230 likes | 354 Views
Lecture 9: Behavior Languages. CS 344R: Robotics Benjamin Kuipers. Alternative Approaches To Sequencers. Roger Brockett, MDL Hristu-Varsakelis & Andersson, MDLe. Jim Firby, RAPS … there are others … The right answer is not completely clear. M otion D escription L anguages.
E N D
Lecture 9:Behavior Languages CS 344R: Robotics Benjamin Kuipers
Alternative Approaches To Sequencers • Roger Brockett, MDL • Hristu-Varsakelis & Andersson, MDLe. • Jim Firby, RAPS • … there are others … • The right answer is not completely clear.
Motion Description Languages • Problem: Describe continuous motion in a complex environment as a finite set of symbolic elements. • Applicability = sequencing • Termination = condition or time-out. • Roger Brockett defined MDL. • Extended to MDLe by Manikonda, Krishnaprasad, and Hendler.
This is an instance ofour framework for control laws • A local control law is a triple: A, Hi, • Applicability predicate A(y) • Control policy u = Hi(y) • Termination predicate (y)
The Kinetic State Machine • The MDLe state evolution model is: • This is an instance of our general model • There is also: • a set of timers Ti; • a set of boolean features i(y) • U(t, x) is a general control law which can be suspended by the timer Ti or the interrupt i(y)
Q: What is the role of G(x)? • In the state evolution model • x is in Rn. Motor vector U(t,x) is in Rk. • G is an nk matrix whose columns gi are vector fields in Rn. • Each column represents the effect on x of one component of the motor vector.
MDL Programs • The simplest MDL program is an atom • To run an atom, • apply U to the kinetic state machine model, • until the interrupt function (y) goes false, or • until T units of time elapse.
Compose Atoms to Behaviors • Given atoms • Define the behavior • Which means to do the atoms sequentially until the interrupt b or time-out Tb occurs. • Behaviors nest recursively to make plans.
Example Interrupts • (bumper) • (wait T) • (atIsection b) • b specifies 4 bits: whether obstacle is required (front, left, back, right). • Interrupt occurs when a location of that structure is detected.
Example Atoms • (Atom interrupt_condition control_law) • (Atom (wait ) (rotate )) • (Atom (bumper OR atIsection(b)) (go v, )) • (Atom (wait T) (goAvoid , kf, kt)) • (Atom (ri(t)==rj(t)) (align ri rj)) • Select ideas from here for your controllers.
Environment Model • A graph of local maps. • We will study local metrical maps later. • Likewise topological maps. • Edges in the graph represent behaviors. • Compact and effective: • Local metrical maps are reliable. • Describe geometry only where necessary.
Experiment • They built a model of three places in their laboratory. • They demonstrated MDLe plans for travel between pairs of places.
Limitations • Simple sequential FSM model. • No parallelism or combination of control laws. • No success/failure exits from control laws. • Much can pack into the interrupt conditions. • Limited evaluation: • No exploration or learning. • No test of reliability.
Next: Observers • Probabilistic estimates of the true state, given the observations. • Basic concepts: • Probability distribution; Gaussian model • Expectations
Estimates and Uncertainty • Conditional probability density function
Gaussian (Normal) Distribution • Completely described by N(,) • Mean • Standard deviation , variance 2
The Central Limit Theorem • The sum of many random variables • with the same mean, but • with arbitrary conditional density functions, converges to a Gaussian density function. • If a model omits many small unmodeled effects, then the resulting error should converge to a Gaussian density function.
Expectations • Let x be a random variable. • The expected value E[x] is the mean: • The probability-weighted mean of all possible values. The sample mean approaches it. • Expected value of a vector x is by component.
Variance and Covariance • The variance is E[ (x-E[x])2 ] • Covariance matrix is E[ (x-E[x])(x-E[x])T ]
Covariance Matrix • Along the diagonal, Cii are variances. • Off-diagonal Cij are essentially correlations.
Independent Variation • x and y are Gaussian random variables (N=100) • Generated with x=1 y=3 • Covariance matrix:
Dependent Variation • c and d are random variables. • Generated with c=x+y d=x-y • Covariance matrix: