230 likes | 359 Views
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.
E N D
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
Other Arbitration Methods • Fixed Priorities – Certain nodes always have precedence over other nodes • Vector Sum / Potential Fields – Average desired actions
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
Why a Parabola? • Keeps the solution from being smoothed into no-zones
DAMN Behaviors • They mention a number of behaviors, how they vote and why they are important
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
Cons • Have to vote across the array of all possible actions • Many degrees of freedoms -> many continuums to vote over • Difficulties in dealing with interwoven continuums – speed / turn reactions • Vehicle Dynamics behavior seems to deal with that very well