damn : a distributed architecture for mobile navigation julio k. rosenblatt presented by: chris...
Post on 22-Dec-2015
216 views
TRANSCRIPT
DAMN:
A Distributed Architecture for Mobile Navigation
Julio K. Rosenblatt
Presented By: Chris Miles
Goal
• Behavior based systems
• Easy arbitration between all kinds of behaviors– Working towards different objectives– Different time scales
• Work towards simultaneous objectives
Motivation
• Behavior based systems are good
• It is difficult to arbitrate between the desired actions of different nodes however
• To overcome this an arbitration architecture should be imposed
• Fixed Priorities – Certain nodes always have precedence over other nodes
• Vector Sum / Potential Fields – Average desired actions
Other Arbitration Methods
Problems
• Lose information
• Nodes cannot specify their range of desired behavior, only their optimal solution
• Often times the 90% solution is enough
• Leads to two party system
• Does not find actions that satisfy multiple objectives simultaneously
Potential Field Problems
• Behaviors cannot easily specify the actions they want / do not want
• Undesired behavior– Do anything but drive into that rock– Point strongly away
• Non-specific behavior– just kinda go left– Cannot be done
Simultaneous Objectives
• In many cases in both robot and human life one is working towards a number of objectives simultaneously
• It is best to perform actions that help reach all or many of them at once, versus only focusing on a single objective at a time
DAMN Arbitration
• Behaviors vote across the range of possible behaviors
• Each possibility is given a value from -1 to 1 representing the nodes preference towards that action
• Each node has a weight, which determines how many votes it gets– allows for meta level control
Example – Collision Detection
• A obstacle avoidance behavior– Determines how long each action will take to
lead to a collision• If I turn left, how long until I hit the wall
– Votes for each action based on that time– Since this behavior has a very strong weight,
any actions leading to collision are strongly discouraged
The DAMN arbiters
• The actions voted on are discretized along appropriate dualities
• Turn – left, straight, right
• Speed– Fast, Slow, Stop, Reverse
• Field of Regard– Where to look / point cameras
Counting The Votes
• Vote in discrete space• Combine them into continuous space –
Similar to defuzzification• Add up those votes• Smooth the resultant• Fit a parabola to the optimal + neighboring
values• Take the peak of the parabola as the
action
Collision Detection
• Similar to my example, only vote lower for paths that lead to near collisions as well
Vehicle Dynamics
• Vote against behaviors that exceed the vehicles capabilities– Vital for any robot that moves more then
2 mph
• Aimed at keeping the robot from rolling over as it turns
• Note: curvature is proportional to center of gravity– An SUV twice as high as a car can take half the turn
Goal Directed Behaviors
• Paper describes a number of high level behaviors
• DAMN does not restrict behaviors from operating at different voting frequencies – Slower behaviors vote less often
• Not sure what happens between those votes
• Planners vote for actions that move too satisfy their objectives
Weights
• Determine how strongly this behaviors opinion counts
• Low level behaviors have higher weights – Obstacle avoidance takes precedence over
path following
• Behaviors can vote for flat areas where any behavior is good
• The less weighted behaviors vote is then the deciding factor
Example
• Planner says turn either 25 degrees right, 15 degrees left, or 170 degrees right
• Obstacle Avoidance says don’t turn left there is a wall
• Vehicle dynamics behavior says don’t turn more then 30 in either direction based on current speed
• The other behaviors rule out the two unsafe behaviors associated with the planner
• No interference in the planners final preference
Conclusions
• DAMN uses voting to arbitrate between behaviors
• Very natural behaviors
• Combine for powerful results
Other Arbitration Schemes In DAMN
• Other arbitration schemes can be implemented in DAMN
• Nodes voting entirely for a single field = Priority based
• If nodes vote in triangular fashion – Potential fields
Pros
• Behaviors are insanely obvious
• Natural and powerful idea
• Beats the electoral system
• General Objective Designed Distributed Architecture for Mobile Navigation systems are even more powerful