calisi motion

Upload: senthil-kumar

Post on 06-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Calisi Motion

    1/22

    Motion planning, control andMotion planning, control and

    obstacle avoidanceobstacle avoidance

    D. Calisi

  • 8/3/2019 Calisi Motion

    2/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 2

    IntroductionIntroduction

    Robot mobility is a keyfeature for any mobile robot

    Robot motion is eminently

    necessary since, bydefinition, a robot

    accomplishes tasks by

    moving in the real world

    (J.C. Latombe)

  • 8/3/2019 Calisi Motion

    3/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 3

    Problem formalization: configuration spaceProblem formalization: configuration space

    U1

    U2

    U4

    U3

    U2

    U1

    c1

    c2

    Cfree

    Cobst

    Challenges Configuration space is difficult to compute

    Complexity, uncertainty, dynamic environments

    Kinematic and dynamic constraints

    Time constraints

  • 8/3/2019 Calisi Motion

    4/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 4

    Problem decompositionsProblem decompositions

    The problem is hard to solve, mainly because of the time

    constraint The problem is decomposed in two or more levels,

    relaxing some constraints or reducing the search space

    Examples First compute the geometric curve, then add a time-law on it

    Relax some constraints or perform a dimensionality reduction ofthe search space, then use a complete planner with localinformation

    Relax some constraints or perform a dimensionality reduction ofthe search space, then use a reactive method with localinformation

    Latombes decomposition Global path-planner

    Local obstacle avoidance algorithm (or a local planner)

  • 8/3/2019 Calisi Motion

    5/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 5

    ComponentComponent--based subdivision and OpenRDK modulesbased subdivision and OpenRDK modules

    Robot motion

    algorithm

    Environment representation

    Robot model

    Robot current configuration

    Sensor readings

    Target poses

    Motion commands

    Global planner

    Local planner or

    reactive method

    Global mapper

    Local obstacle

    detector

    Robot sensors Actuators

    Global path

    Local trajectory

    Local target

    Motion commands

  • 8/3/2019 Calisi Motion

    6/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009

    Connecting the global planner and the obstacle avoidanceConnecting the global planner and the obstacle avoidance

    The global planner

    can provide different

    kind of information

    to the obstacle avoidance

    algorithm

    A local target is the

    most general and can be

    used straightforwardly

    by most of the well-known

    obstacle avoidancealgorithms

  • 8/3/2019 Calisi Motion

    7/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 7

    PathPath--planner as a serviceplanner as a service

    Path-plannerExplorer

    Obstacle avoidance

    Path requests

    Path answers

    Target pose

    Motion commands

    Local target

  • 8/3/2019 Calisi Motion

    8/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 8

    World models for pathWorld models for path--planningplanning

    The same environment can be

    represented in very differentways

    Grid-maps High memory requirements

    Easy to build and maintain

    Line-maps Line extraction and tracking

    Topological maps Robus to noise

    Difficult to build

  • 8/3/2019 Calisi Motion

    9/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 9

    A*A*--based pathbased path--plannersplanners

    Grid-based environment

    representation

    High resolution required

    Geometric representation

    Roadmap based

    A* path search on a graph

  • 8/3/2019 Calisi Motion

    10/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 10

    Topological path plannersTopological path planners

    Topological

    representations arecompact models

    They use features of theenvironment, rather thandense metric information

    From one hand they aremore robust to sensornoise and localizationerrors

    On the other hand, it can

    be difficult to build andmaintain a topologicalrepresentation

  • 8/3/2019 Calisi Motion

    11/22

    Reactive methods: vector basedReactive methods: vector based

    Potential field methods [Borenstein, 1989]

    Vector field histogram [Borenstein, 1991, 1998, 2000]

    Nearness diagram [Minguez & Montano, 2000]

    In OpenRDK a vector based method has been implemented (YARN)

  • 8/3/2019 Calisi Motion

    12/22

    Limits of vectorLimits of vector--based methodsbased methods

    Nonholonomy and

    dynamic constraints

    are difficult to be

    taken into account

    Oscillations

    (discontinuity in

    control functions)

  • 8/3/2019 Calisi Motion

    13/22

    Reactive methods: curveReactive methods: curve--basedbased

    Curvature-Velocity [Simmons, 1996]

    Dynamic Window Approach [Fox, Burgard, Thrun,

    1997]

  • 8/3/2019 Calisi Motion

    14/22

    A local reactive algorithm (1)A local reactive algorithm (1) Local obstacle map

    Current laser points are integratedwith previous ones

    Laser points are translated tosegments (recursive line fitting)

    A set of trajectories is computed

    Curves (e.g., clothoids)

    Dynamic constraints Obstacles

    An objective function is used tochoose the best trajectory tofollow

    Straightness Target nearness/heading

    Duration/length

    Obstacle distance

    Clothoid curve:

    In car-like vehicles, control is on steering wheel (highways are

    designed using clothoids)

    In differential driven mobile robots, each wheel acceleration is

    bounded

  • 8/3/2019 Calisi Motion

    15/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 15

    A local reactive algorithm (2)A local reactive algorithm (2)

  • 8/3/2019 Calisi Motion

    16/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 16

    Segway experimentSegway experiment

    The user defines a path

    The curve-based navigator follows the path

  • 8/3/2019 Calisi Motion

    17/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 17

    Segway experimentSegway experiment

    The user defines a path

    The curve-based navigator follows the path

  • 8/3/2019 Calisi Motion

    18/22

    Limits of curveLimits of curve--based methodsbased methods

    Parameters in objective function are critical

    Limited or no planning

    [Stachniss, 2002]

  • 8/3/2019 Calisi Motion

    19/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 19

    MoVeME frameworkMoVeME framework

    Simulated experiments

    From papers about

    motion algorithms

    From papers about

    comparisons

    Enriched with otherenvironments/situations

    [Borenstein '91]

    [Minguez '00][Fernandez '04]

    [Stachniss '02]

  • 8/3/2019 Calisi Motion

    20/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 20

    Comparisons of different world modelsComparisons of different world models

    Grid-based map, A* path-planner, Dynamic Window ApproachTopological map, DWATopological map, Vector Field Histogram

  • 8/3/2019 Calisi Motion

    21/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 21

    Thank you for your attentionThank you for your attention

    Questions?

  • 8/3/2019 Calisi Motion

    22/22

    Motion planning, control and obstacle avoidance - OpenRDK Workshop - March 2009 22

    Thank you for your attentionThank you for your attention

    Questions?