NONDETERMINISTIC UNCERTAINTY & SENSORLESS PLANNING Sensing error Partial observability Unpredictable dynamics Other agents UNCERTAINTY MODELS This class: Nondeterministic uncertainty f(x,u) -> a set of possible successors Probabilistic uncertainty P(x’|x,u): a probability distribution over successors x’, given state x, control u UNCERTAINTY IN MOTION: REASONING WITH STATE SETS x’ = x + e, e [-a,a] t=0 -a -2a a t=1 2a Belief State: x(t) [-ta,ta] t=2 BELIEF STATE DYNAMICS F(x,u) = { x’ | x’=f(x,u) is a possible successor } e.g., F(x,u) = [x+u-e , x+u+e] BELIEF STATE DYNAMICS F(x,u) = { x’ | x’=f(x,u) is a possible successor } e.g., F(x,u) = [x+u-e , x+u+e] Belief prediction: given x(0) X0 and u(0),…,u(t-1), Find the set Xt such that any point in Xt is a possible realization of x(t) 𝑋𝑡 = 𝑥∈𝑋𝑡−1 𝐹(𝑥, 𝑢 𝑡 − 1 ) BELIEF STATE DYNAMICS F(x,u) = { x’ | x’=f(x,u) is a possible successor } e.g., F(x,u) = [x+u-e , x+u+e] Belief prediction: given x(0) X0 and u(0),…,u(t-1), Find the set Xt such that any point in Xt is a possible realization of x(t) 𝑋𝑡 = 𝑥∈𝑋𝑡−1 𝐹(𝑥, 𝑢 𝑡 − 1 ) Boundary-tracking on a grid: level set methods Applicable to low dimensions (up to ~4) SENSORLESS PLANNING MARBLE IN A TILTING MAZE EXAMPLE Use natural dynamics of compliance to ensure that uncertainty stays bounded / shrinks Command On contact, certainty is increased Uncertain outcome A guaranteed solution QUESTIONS Is a solution possible? How is uncertainty represented / transformed? Need for actions that reduce uncertainty GOLDBERG (1998): ORIENTING POLYGONAL PARTS WITHOUT SENSING A single parallel jaw gripper can orient parts that have a polygonal convex hull. ASSUMPTIONS: All motions appear in the plane The gripper has two parallel jaws The gripper moves orthogonally to its jaws The object’s convex hull behaves rigidly The object is presented in isolation The object is initially between the jaws Both jaws make contact simultaneously with the object Once contact is made, the jaws stay in contact with the object throughout the grasping motion. There is no friction between the jaws and the object SQUEEZE ACTIONS Let a squeeze action, α, be the combination of orienting the gripper at angle α w.r.t. a fixed world frame, closing the jaws as far as possible, and then opening the jaws. To avoid squeezing the object right at its endpoints, a squeeze action, α, can always be followed by closing the gripper at angle α + ε, rotating it by -ε, and then opening it. ORIENTING A RECTANGLE A 00 squeeze action, followed by a 450 squeeze action can orient a rectangular part up to symmetry. DIAMETER FUNCTIONS The diameter function, d:S1->R, describes how the distance between jaws varies, if they were to make contact with the object at angle θ. the diameter of the grasped object at direction θ is defined to be the maximum distance between two parallel supporting lines at angle θ. SQUEEZE FUNCTIONS The squeeze function, s:S1->S1, is a transfer function, such that if θ is the initial orientation of the object w.r.t. the gripper, then s(θ) is the object’s orientation after the squeeze action is completed. Define an s-interval to be [a,b), s.t. a, b are points of discontinuity in the squeeze function. Define the s-image of a set, s(Θ), to be the smallest interval containing the following set: {s(θ)|θ is in Θ}. ORIENTING A RECTANGLE (CONTINUED) SQUEEZE FUNCTIONS (CONTINUED) Θ1 – is an example of an s-interval s(Θ1) – is the s-image of Θ1 ORIENTING A RECTANGLE (CONTINUED) Possible Orientations Before the Squeeze Action Gripper Orientatio n Possible Orientations After the Squeeze Action 1. 2. 3. 4. THE ALGORITHM Goal: Given a list of n vertices describing the convex hull of a polygonal part, find the shortest sequence of squeeze actions guaranteed to orient the part up to symmetry. THE ALGORITHM Compute the squeeze function; Find the widest single step in the squeeze function and set Θ1 equal to the corresponding s-interval; While there exists an s-interval Θ s.t. |s(Θ)|<|Θi|: 1) 2) 3) • • 4) Set Θi+1 equal to the widest such s-interval Increment i; Return the list (Θ1 , Θ2 , …, Θi ). ORIENTING A RECTANGLE (CONTINUED) The squeeze function plots illustrate steps 2 and 3 of the algorithm: The output list is: (Θ1 , Θ2) RECOVERING THE ACTION PLAN Goal: Given a list of i s-intervals (Θ1 , Θ2 , …, Θi ) generated by the described algorithm, construct a plan, ρi ,consisting of i squeeze actions (ai , ai-1 , …, a1) that collapses all orientations in Θi to the unique orientation s(Θ1). RECOVERING THE ACTION PLAN Observe that for the list (Θ1 , Θ2 , …, Θi ,.. Θn): |s(Θi+1)|<|Θi|, therefore we could collapse the interval s(Θi+1) to a point with a single squeeze action at angle 0 if s(Θi+1) could be aligned with Θi. This can be done by rotating the gripper by: s(θi+1) - θi = ai degrees, where θi and s(θi+1) can be taken as the start of the sinterval Θi and the start of the s-image of s(Θi+1), respectively. ORIENTING A RECTANGLE (CONTINUED) One possible way of aligning s(Θ2) with Θ1 for the rectangular part example is to rotate the gripper by 450, which results in shifting s(Θ2) by -450 = -π/4. ALGORITHM ANALYSIS Correctness: Completeness: For any plan ρ, ρ(θ + T) = ρ(θ) + T, where T is the smallest period in the object’s squeeze function. Thus, the plan ρ orients the part up to symmetry. It also does it in the minimal number of steps (see the paper). Given a starting s-interval, we can either find a larger sinterval that has a smaller s-image, or the starting sinterval is a period of symmetry in the squeeze function. Therefore, we can generate a sequence of s-intervals (Θ1 , Θ2 , …, Θi ) of increasing measure. Complexity: Runs in time O(n2log n) and finds plans of length O(n2) (Note: there are newer derivations of lower complexity) EXTENSION: PUSH-GRASP ACTIONS Assuming simultaneous contact is unreliable Let a push-grasp action, α, be the combination of orienting the gripper at angle α w.r.t. a fixed world frame, translating the gripper in direction α + π/2 for a fixed distance, closing the jaws as far as possible, and then opening the jaws. Can derive a push-grasp squeeze function as before and apply the same algorithm NONDETERMINISM IN SENSING Achieve goal for every possible sensor result in belief state Move 1 2 Minimizing # of sensor results reduces branching factor Sense 3 4 Outcomes INTRUDER FINDING PROBLEM robot’s visibility region hiding region cleared region robot 1 2 3 4 5 6 A moving intruder is hiding in a 2-D workspace The robot must “sweep” the workspace to find the intruder Both the robot and the intruder are points DOES A SOLUTION ALWAYS EXIST? No ! Easy to test: “Hole” in the workspace Hard to test: No “hole” in the workspace INFORMATION STATE a = 0 or 1 c = 0 or 1 b = 0 or 1 (x,y) 0 cleared region 1 hidding region Example of an information state = (x,y,a=1,b=1,c=0) An initial state is of the form (x,y,1, 1, ..., 1) A goal state is any state of the form (x,y,0,0, ..., 0) CRITICAL LINE b=1 a=0 a=0 b=1 Information state is unchanged b=0 a=0 Critical line CRITICALITY-BASED DISCRETIZATION A E B C D Each of the regions A, B, C, D, and E consists of “equivalent” positions of the robot, so it’s sufficient to consider a single position per region CRITICALITY-BASED DISCRETIZATION (C, 1, 1) A (B, 1) E B C D (D, 1) CRITICALITY-BASED DISCRETIZATION (C, 1, 1) A (B, 1) (D, 1) E B C D (C, 1, 0) (E, 1) CRITICALITY-BASED DISCRETIZATION (C, 1, 1) A (B, 1) (D, 1) E B C D (C, 1, 0) (B, 0) (D, 1) (E, 1) CRITICALITY-BASED DISCRETIZATION (C, 1, 1) A (B, 1) (D, 1) E B C D Discretization chosen explicitly to get small search trees (C, 1, 0) (B, 0) (D, 1) (E, 1) REMARKS Planners that use nondeterministic uncertainty models optimize for the worst case In general, devising good discretizations / information state representations takes a bit of ingenuity NEXT TIME Probabilistic uncertainty