EE631 Cooperating Autonomous Mobile Robots
Lecture 5: Collision Avoidance in Dynamic Environments
Prof. Yi Guo
ECE Dept.
Nonholonomic Kinematic Model
Coordinate transformation and input mapping(, are within (-/2,/2)):
Chained form (after transformation):
Assumptions: The Robot 2-dimensional circle with radius R Knowing its start and goal positions Onboard sensors detecting dynamic obstacles
Assumptions: The Environment 2D environment with static
and dynamic obstacles Pre-defined map with static
obstacle locations known Dynamic obstacles
represented by circles with
radius ri
Problem Formulation: Trajectory Planning
Find feasible trajectories for the robot, enrouting from its start position to its goal, without collisions with static and dynamic obstacles.
Feasible Trajectory in Free Space
A family of feasible trajectories:
Boundary conditions In original coordinate:
In transformed coordinate:
Parameterized Feasible Trajectory Imposing boundary conditions, parameterization of the
trajectory in terms of a6:
A, B, Y are constant matrices calculated from boundary conditions
a6 increases the freedom of maneuver accounting for geometric constrains posed by dynamic obstacles
Steering Paradigm
Polynomial steering:
Assume T is the time that takes the robot to get to qf from q0. Choose
then
A quick summary
System model: chained form Feasible trajectories: closed form parameterization Steering control: closed form, piecewise constant
solution (polynomial steering)
Next: Collision avoidance -- explicit condition based
on geometry and time
Dynamic Collision Avoidance Criteria
Time criterion: Assume obstacle moves at constant velocity during sampling
period In original coordinate:
In transformed coordinate :
))1(,[ 00 ss TktkTtt
Dynamic Collision Avoidance Criteria
Geometry criterion: In original coordinate:
In transformed coordinate:
Mapping from x-y plane to z1-z4 planeindicates collision region within a circle of radius ri+R+l/2, since
Dynamic Collision Avoidance Criteria Time criterion + geometrical criterion + path
parameterization
g2, g1i, g0i are analytic functions of their arguments and can be
calculated real time
a6k exists if g2>0
g2>0 holds for every points except boundary points
Global Path Planning Using D* Search
A shortest path returned by D* in 2D environment
Robot path
Static obstacles
Start
Goal
Cost function: ( is distance, is penalty on obstacles)ppf d d=r+ r
Simulations
In 2D environment with static obstacles (In 2D environment with static obstacles (a6=0)
Static obstacles
Feasible trajectory
StartStart
GoalGoal
Collision Trajectory
– Circles are drawn with 5 second spacing– Onboard sensors detect:
obstacle 1: center [23,15], velocity [0.1,0.2] obstacle 2: center [45,20], velocity [-0.1,-0.1]
– Collisions occurs
RobotMoving obstacles
Static obstacles
Global Collision–Free Trajectory
a61=9.4086*10-6, a6
2=4.9973*10-6
RobotMoving obstacles
Static obstacles
Global Collision–Free Trajectory
Moving obstacle changes velocity: Original velocity [-0.15,-0.1], new velocity [0.15,-0.29]
Calculated a62=9.4086*10-6, a6
2=4.9973*10-6
Robot
Moving obstacles
Static obstacles