Download presentation
Presentation is loading. Please wait.
1
CS 326A: Motion Planning Kynodynamic Planning + Dealing with Moving Obstacles + Dealing with Uncertainty + Dealing with Real-Time Issues
2
2 Kinodynamic Planning Problem Plan a robot’s trajectory that satisfies a dynamic equation of motion of the form: s’ = f(s,u) where: –s is robot’s state configuration x velocity at time t –u is control input at time t avoids collision with moving obstacles Outcome: (Piecewise-constant) control function u(t)
3
3 Problem Plan a robot’s trajectory that satisfies a dynamic motion constraint of the form: s’ = f(s,u) where: –s is robot’s state configuration x velocity at time t –u is control input at time t avoids collision with moving obstacles Outcome: (Piecewise-constant) control function u(t) Note similarity with non-holonomic constraint q’ = f(q,u)
4
Nonholonomic vs. Dynamic Constraints Nonholonomic constraint: f(q,q’) = 0 Dynamic constraints: f(q,q’,q’’) = 0 s = (q,q’) g(s,s’) = 0 Kinodynamic planning is done in state (configuration x velocity) space rather than in configuration space The dimensionality of state space is twice that of configuration space
5
5 Similarity of Method Construction of a tree, by integrating equation of motion with selected control inputs However, planning occurs in state space, instead of configuration space Hence, PRM-like planner rather than deterministic one, to deal with greater dimensionality of the space
6
6 air bearing gas tank air thrusters Robot created to study issues in robot control and planning in no-gravity space environment Example: Space Robot
7
7 Navigation Among Moving Obstacles
8
8 Model, Sensing, and Control The robot and the obstacles are represented as disks moving in the plane The position and velocity of each disc are measured by an overhead camera every 1/30 sec x y robot obstacles
9
9 Model, Sensing, and Control The robot and the obstacles are represented as disks moving in the plane The position and velocity of each disc are measured by an overhead camera within 1/30 sec The robot controls the magnitude f and the orientation of the total pushing force exerted by the thrusters x y f robot obstacles
10
x y t Moving Obstacles in ConfigurationxTime Space
11
straight line segments Traditional PRM
12
12 s g Kinodynamic Planning with PRM in State x Time Space The roadmap is a tree oriented along the time axis (because of the moving obstacles) endgame region Bi-directional search? t=1 t=2 t=3 t=2 t=1 t=4 t=2 t=3 t=4 t=5 t=3
13
13 s g PRM in State x Time Space The roadmap is a tree oriented along the time axis endgame region Compare!
14
endgame region Sampling Strategy 1 1 1 2 1 1 1 1 2
15
Goal Region Bi-Directional Search: Forward & Backward Integration
16
16 Example Run t x y Obstacle map to cylinders in configuration time space
17
17 Other Examples
18
18 But executing this trajectory is likely to fail... 1)The measured velocities of the obstacles are inaccurate 2)Tiny particles of dust on the table affect trajectories and contribute further to deviation Obstacles are likely to deviate from their expected trajectories 3)Planning takes time, and during this time, obstacles keep moving The computed robot trajectory is not properly synchronized with those of the obstacles The robot may hit an obstacle before reaching its goal [Robot control is not perfect but “good” enough for the task]
19
19 But executing this trajectory is likely to fail... 1)The measured velocities of the obstacles are inaccurate 2)Tiny particles of dust on the table affect trajectories and contribute further to deviation Obstacles are likely to deviate from their expected trajectories 3)Planning takes time, and during this time, obstacles are moving The computed robot trajectory is not properly synchronized with those of the obstacles The robot may hit an obstacle before reaching its goal [Robot control is not perfect but “good” enough for the task] Planning must take both uncertainty in world state and time constraints into account
20
20 Dealing with Uncertainty The robot can handle uncertainty in an obstacle position by representing the set of all positions of the obstacle that the robot think possible at each time For example, this set can be a disc whose radius grows linearly with time t = 0 t = T t = 2T Initial set of possible positions Set of possible positions at time 2T Set of possible positions at time T
21
21 Dealing with Uncertainty The robot can handle uncertainty in an obstacle position by representing the set of all positions of the obstacle that the robot think possible at each time For example, this set can be a disc whose radius grows linearly with time t = 0 t = T t = 2T The robot must plan to be outside this disc at time t = T
22
22 Dealing with Uncertainty The robot can handle uncertainty in an obstacle position by representing the set of all positions of the obstacle that the robot think possible at each time (belief state) For example, this set can be a disc whose radius grows linearly with time The forbidden regions in configuration time space are cones, instead of cylinders The trajectory planning method remains essentially unchanged
23
23 Dealing with Planning Time Let t=0 the time when planning starts. A time limit is given to the planner The planner computes the states that will be possible at t and use them as the possible initial states It returns a trajectory at some t , whose execution will start at t Since the PRM planner isn’t absolutely guaranteed to find a solution within , it computes two trajectories using the same roadmap: one to the goal, the other to any position where the robot will be safe for at least an additional . Since there are usually many such positions, the second trajectory is at least one order of magnitude faster to compute
24
Safe Region endgame region Planning an Escape Trajectory
25
25 Are we done? Not quite ! The uncertainty model may be itself incorrect, e.g.: There may be more dust on the table than anticipated Some obstacles have the ability to change trajectories But if we are too careful, we will end up with forbidden regions so big that no solution trajectory will exist any more So, it might be better to take some “risk” The robot must monitor the execution of the planned trajectory and be prepared to re-plan a new trajectory
26
26 Are we done? The robot must monitor the execution of the planned trajectory and be prepared to re-plan a new trajectory Execution monitoring consists of using the camera (at 30Hz) to verify that all obstacles are at positions allowed by the robot’s uncertainty model If an obstacle has an unexpected position, the planner is called back to compute a new trajectory. Note tradeoff between uncertainty model and number of re-plans
27
27 Experimental Run with Re-Planning12 3 4 5 6 7
28
28 12 3 4 5 6 7 Experimental Run with Re-Planning
29
29 Another Experimental Run Total duration : 40 sec X
30
30 Another Experimental Run
31
31 Example in Simulation 8 replanning operations
32
32 Is this guaranteed to work? Of course not : Thrusters might get clogged The robot may run out of air or battery The granite table may suddenly break into pieces Etc... [Unbounded uncertainty]
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.