400 likes | 563 Views
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
E N D
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
-a a t=1 -2a 2a t=2 Uncertainty in motion: Reasoning with state sets • x’ = x + e, [-a,a] t=0 Belief State: x(t) [-ta,ta]
Belief State Dynamics • F(x,u) = { x’ | x’=f(x,u) is a possiblesuccessor } • e.g., F(x,u) = [x+u-e, x+u+e]
Belief State Dynamics • F(x,u) = { x’ | x’=f(x,u) is a possiblesuccessor } • e.g., F(x,u) = [x+u-e, x+u+e] • Belief prediction: given x(0) X0and u(0),…,u(t-1), • Find the set Xt such that any point in Xt is a possible realization of x(t)
Belief State Dynamics • F(x,u) = { x’ | x’=f(x,u) is a possiblesuccessor } • e.g., F(x,u) = [x+u-e, x+u+e] • Belief prediction: given x(0) X0and u(0),…,u(t-1), • Find the set Xt such that any point in Xt is a possible realization of x(t) • Boundary-tracking on a grid: level set methods • Applicable to low dimensions (up to ~4)
Marble in a tilting maze example • Use natural dynamics of compliance to ensure that uncertainty stays bounded / shrinks Uncertain outcome Command On contact, certainty is increased 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 Θ}.
Squeeze Functions (continued) Θ1 – is an example of an s-interval s(Θ1) – is the s-imageof Θ1
Orienting a Rectangle (continued) Possible Orientations Before the Squeeze Action Possible Orientations After the Squeeze Action Gripper Orientation 2. 1. 4. 3.
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 Θ1equal to the corresponding s-interval; • While there exists an s-interval Θs.t. |s(Θ)|<|Θi|: • 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 Θito 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 θiand s(θi+1) can be taken as the start of the s-interval Θiand 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: • 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). • Completeness: • Given a starting s-interval, we can either find a larger s-interval that has a smaller s-image, or the starting s-interval 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 Minimizing # of sensor results reduces branching factor Move 1 2 Sense 3 4 Outcomes
cleared region 2 4 5 6 Intruder Finding Problem robot robot’s visibilityregion • 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 hiding region 1 3
Easy to test: “Hole” in the workspace Does a solution always exist? No ! Hard to test: No “hole” in the workspace
a = 0 or 1 c = 0 or 1 b = 0 or 1 (x,y) 0 cleared region 1 hidding region Information State • 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)
b=1 b=0 a=0 a=0 b=1 a=0 Information state is unchanged Critical line Critical Line
A E B C D Criticality-Based Discretization 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
(C, 1, 1) A (B, 1) (D, 1) E B C D 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) (E, 1) (B, 0) (D, 1) Criticality-Based Discretization
(C, 1, 1) A (B, 1) (D, 1) E C D (C, 1, 0) (E, 1) (B, 0) (D, 1) Criticality-Based Discretization B Discretization chosen explicitlyto get small search trees
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