In The Name Of God Robot Motion Planning Under Unertainty Presenter: Fatemeh Zamani
Introduction • One of the ultimate goals of robotics research is to create easily autonomousrobots. • Such robots will accept high-level descriptions of tasksspecifying what the user wants done, rather than how to do it.
Introduction • One of the key topics in robotics is motionplanning. • A major limitation of these planners, however, isthat they assume complete and accurate geometric models of the robot and itsworkspace, and perfect control of the robot and robot can sense perfectly.
Introduction • There exists a variety ofoperations whichcannot beachieved reliably by simply executing preplanned paths. • These operationsrequire uncertainty to be taken into account at the planning stage in order togenerate motion strategiesthat combine motion and sensing commands.
Introduction • Motion planning with uncertainty is a critical problem in robotics. • Even the most complex models of the physical world cannot be perfectly accurate. • Increasing model complexity often adversely afects the ability of a robotto plan its actions efficiently. • The use of simplied models seems to be theonly practical way. • All details omitted from these models unite to form uncertainty.
Introduction • Two main application domains have been considered in Motion planning with uncertainty: • part mating for mechanical assembly • mobile robot navigation • Various approaches have been proposed which are applicable to one domain or the other or both.
Taking uncertainty into account at planning time is essential when potential errorsare comparable to or larger than the tolerances. • mechanical: in partmating tasks where both errors and tolerances areusually small. • mobile robot: in navigation tasks where both errors and tolerances may be large.
For such tasks classical path planning methods which usesimple geometric models while assuming null uncertainty are clearly insufficient. • Atbest they produce paths that require frequent replanning to deal with discrepanciesdetected by sensors during execution. • Due to errors in sensing they may alsolead the robot to incorrectly believe that it has achieved some expected state oron the contrary that it has failed to achieve this state.
To generate reliable plansthe planner must choose actions whose execution is guaranteed to makeenough knowledge available to allow the robot to correctly identify the states ittraverses despite execution time errors in control and sensing.
Reasoning in the presence of uncertainty: • This attitude has often led to engineering brittle complicated systems. • Experiments may show that these systems workbeautifully on some tasks but fail on simpler ones. • Prediction is impossible.
The design of a reliable system dealing with uncertainty must be based on: • bounded and well-definedexpectations of what may actually happen in the real world.
A Sound, Complete and Polynomial • Sound: The planner only generates correct plans which are guaranteed to succeed if some predefined assumptionsbounding uncertainty are satisfied. • complete : The planner returnsa correct plan whenever one exists otherwise it declares failure. • Time complexity a function of the size of the input problem (typically the complexity of the robots environment). • .
Several motion planners with uncertainty have been proposed. • soundness and completeness are provablefor only a few of them. • Most known sound and complete planningalgorithms take exponential time.
A powerfull approach • The most powerful known approach to this kind of planning problem is the preimage backchaining. • Preimage backchaining consists of iteratively computingpreimages of the goal , preimages of computed preimages taken as intermediategoals, for various selected motion commands, until a preimagecontains the initial subset.
Assumptions • We assume that the robot is the only agent in a staticworkspace, • Error Sources (Uncertainty): • Control )the robot does not perfectly execute the motion commands • Sensing )the sensors do not return accurate data(
Task ModelingConfiguration space • We are interested in planning the motion of an object A - the robot - in aworkspace W populated by obstacles Bi, i [1, q]. • A configuration of A is aspecification of the position of every point in A with respect to a coordinatesystem embedded in W. • The configuration space of A, denoted by C, is theset of all the possible configurations of A.
Reference point • We assume that A is a two-dimensional object thatcan only translate in the plane R2. • A configuration is represented as q = (x, y) R2, where x and yare the coordinates of a specific point of A, known as the reference point, withrespect to the coordinate system embedded in W.
C-obstacle • Each obstacle Bi maps in C to the subset CBi of configurations where A intersects Bi • Theregion CBi is called a C-obstacle.
C-obstacle • Each obstacle Bi maps in C to the subset CBi of configurations where A intersects Bi, i.e.: where A(q) denotes the subset of W occupied by A at configuration q. • Theregion CBi is called a C-obstacle.
peg-into-hole task • The goal of the task is toinsert A in B's depression.
Free space, contact space, valid space • The union of the C-obstacles, is called the C-obstacle region and is denoted by CB. • The complement of the C-obstacle region in C is called the free space and isdenoted by Cfree. • The subset of configurations q where A(q) intersects with the obstacle regionwithout overlapping its interior is called the contact space and is denoted byCcontact . • The union of the free space and the contact space is called thevalid space and is denoted by Cvalid.
Motion command • A motion command M is a pair (CS, TC). • CS is called the control statement. • TC is called the termination condition.Thecontroller stops the motion when TC evaluates to true. TC's arguments may besensory inputs during the execution of the motion and the elapsed time sincethe beginning of the motion.
generalizeddamper compliance model • The generalized damper control model has been used in most workrelated to preimage backchaining. • It is less sensitive to errors than pure position control. • CS is parameterized by a vector v1called the commanded velocity.
Moving in this model • As long as the configuration of A is in the free space, it moves at constant velocity v1. • When it is in a contact edge, the configuration may move away from the edge, slide along it, or stick to it.
Moving away • If v1 projects positively along the outgoing normal of the edge, it moves away. • Otherwise, the Reaction is dependent on the friction of the surface.
Friction • Let be the friction coefficient. • A generalized damper motion along v1 sticks to a contact edge if the magnitude of the angle between - v1 and the outgoing normal of the edge is less than or equal to tan- 1. • Otherwise it slides.
Uncertainty in control • Letv1be the commandedvelocity. • The effective commanded velocity isa vector v2 . • The magnitude of the angle between v1and v2is less than afixed angle < ½ (control uncertainty cone).
For simplification,we therefore assume that there is no uncertainty in the velocity modulus, i.e.,|| v1 ||=|| v2 ||. • This assumption has no significant impact on the methods we will describe and could be easily retracted. • For further simplification we assume that itis a unit vector,
Motion in free space • During motion, v2 may vary arbitrarily, but continuously, between the twoextreme orientations determined by v1and if A is in the free space, it moves along a trajectory that is contained in the control uncertainty cone.
Motion in contact space • if all vectors v1project positively on the outgoing normal of the edge, then it moves away from the edge. • Instead, if the inverted controluncertainty cone is entirely contained in the friction cone, A sticks to the edge. • But if it is completely outside the friction cone with all the vectors in the controluncertainty cone, A isguaranteed to slide.
Reaction force • In the generalized damper compliance control model, the robot exerts aforce proportional to the effective commanded velocity v1, say Bv. • When the robot is in free space, no reaction force is applied tothe robot and the force exerted by the robot is entirely used to create motion.
Reaction force • When the robot is in contact space and pushes on an obstacle, the obstacleapplies a reaction force.
Uncertainty in sensing • Generally the robot A is equipped with two sensors - a position sensorand a force sensor. • The position sensor measures the current configuration of A. • The sensedconfiguration is denoted by q*, while the current actual configuration isdenoted by q. • The uncertainty in the measurement is modeled as an open disc of fixed radius pqcentered at the sensed configuration q*.
The force sensor measures the reaction force exerted on A. • f lies in an open cone.
Preimage backchaining • Let S be a subset of Cvalid will be the initial regionof the motion plan. • Let G be another subset of Cvalid as the goal region. • Let L be a subset of Cvalid and and M = (v1, TC) be a motion command. • Apreimage of L for M is defined as any subset P of Cvalid such that: if A'sconfiguration is in P when the execution of M starts, then it is guaranteed thatA will reach L (goal teachability) and that it will be in L when TC terminatesthe motion (goal recognizability).
preimage backchaining • Now, suppose that an algorithm is available for computing preimages. • Giventhe initial and goal, preimage backchaining consists of constructing a sequence of preimages p1,p2,…,pp such that:
preimage backchaining • If the backchaining process terminates successfully, the inverse sequence of themotion commands which have beenselected to produce the preimages, [M1, M2,…, Mp] , is the generated motion strategy. • This strategy is guaranteedto achieve the goal successfully, whenever the errors in control and sensingremain within the ranges determined by the uncertainty intervals.
generating the sequence of preimages • The problem of generating the sequence of preimages can be transformedinto that of searching a graph by selecting motion commands from a discretizedset. • The root of this graph is the goal region g, and each other node is apreimage region; each arc is a motion command, connecting a region to apreimage for this command.
maximal preimage • For a givencommanded velocity the ideal preImage computation method would compute the maximal preimage. • maximal preimage: It is not contained in any other prelmage of the state for the defined command.
maximal preimage(Advantages) • A large preimage has more chance toinclude the initial region than a small one. • if it is consideredrecursively as an intermediate goal, a large preimage has more chance to admitlarge preimages than a small one. Thus, considering larger preimages mayreduce the size of the search graph. it may also produce "simpler" strategies,
Computation of preimages Two methods for computing backprojection: • backprojection fromsticking edges. • backprojection from goal kernel. • None of thesemethods compute maximal preimagesbut both of them are easily implementable.
Backprojection from sticking edges • It consists of:
Backprojection from sticking edges • The region L(Js) is called the backprojection of Jsfor v1. • Erdmann gave a simple algorithm to compute the maximal backprojection of a single contact edge.
Step 1 Consider every vertex in Ccontact Mark every non-goal vertex atwhich sticking is possible. Mark every goal vertex if sliding away fromthe vertex in the non-goal edge is possible.
Step 2 • At every marked vertex erect two rays parallel to the sides of theinverted control uncertainty cone. Compute the intersection of these raysamong themselves and with Ccontact . Ignore each ray beyond the first intersection.The remaining segment in each ray is called a free edge.
Step 3 • Trace out the backprojection region. To that purpose, trace the edge L in the direction that leaves the C-obstacle region on the right-hand side, untilan endpoint is attained;then, let all the contact and free edges incident atthis point be sorted clockwise in a circular list; trace the first edge following L in this list.