DAMN : A Distributed Architecture for Mobile Navigation Julio K. Rosenblatt Presented By: Chris...

23
DAMN: A Distributed Architecture for Mobile Navigation Julio K. Rosenblatt Presented By: Chris Miles
  • date post

    22-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    0

Transcript of DAMN : A Distributed Architecture for Mobile Navigation Julio K. Rosenblatt Presented By: Chris...

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

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