Up: Corpus of Examples
Back: Block dropped on the ground
Next: Wobbly desk
Any definition of a heap and of the dividing line between two heaps is necessarily somewhat arbitrary.
Declaration: stable(OS : set[object]; S : situation) -- Predicate.
Formalism:
stable(OS,S) < = >
[forall(H) dynamic(H) ^ start(H)=S ^
~exists(F : force ; S1 in H, O in OS) external_force(F,O,S1)] =>
exists(H1) start(H1,H) ^ forall(O in OS) motionless(O,H1).
Declaration: restriction($S$ : situation; OS : set[objects]) : situation --- Function.
Formalism:
restriction(S,OS)=S1 =>
P(OS,objects(S)) ^
[forall(O in OS) value_in(S1,placement(O)) = value_in(S,placement(O)) ^
value_in(S1,velocity(O)) = value_in(S,velocity(O))
Declaration:
support(O2,O1 : object; S : situation) --- Predicate.
direct_support(O2,O1 : object; S : situation) --- Predicate.
Formalism
support(O2,O1,S) < = >
exists(OS1) O1 in OS1 ^ O2 in OS1 ^ stable(OS1,restriction(S,OS1)) ^
~exists(OS2) PP(OS2,OS1) ^ O1 in OS2 ^ stable(OS2,restriction(S,OS2)).
direct_support(O2,O1,S) < = > support(O2,O1,S) ^ holds(S,rcc_EC*(O2,O1)). \noindent
Declaration:
same_heap(O1,O2 : object: S : situation) --- Predicate.
heap(OS: set[object]: S : situation) --- Predicate.
Formalism:
same_heap(O1,O2,S) < = >
[~fixed(O1) ^ ~fixed(O2) ^
[O1=O2 V supports(O1,O2,S) V supports(O2,O1,S)]] V
[exists(O3) same_heap(O1,O3,S) ^ same_heap(O3,O2,S)]. \\ \\
heap(OS,S) < = >
forall(O1,O2 in OS) same_heap(O1,O2,S) ^
forall(O1 in OS ,O2 not in OS) ~same_heap(O1,O2,S).
Characteristics: Statics, set of objects.
Formalism:
[stable(OS,S) ^ O in OS ^ ~fixed(O,S)] =>
exists(OH) heap(OH,S) ^ O in OH.
Characteristics: Statics, probabilistic, set of objects.
Formalism:
ProbS (supports(O1,O2,S) | same_heap(O1,O2,S) ^ holds(S,rcc_EC*(O1,O2)) ^ forall(P) holds(S,P in* O1 intersect* O2) => dot_prod(value(S,out_normal*(O1,P)),up) > 0) ) > 0.9
Characteristics: Statics, probabilistic, set of objects.
Formalism:
ProbOH,S,O1,O2( diameter(O1) < diameter(O2) / 4 | heap(OH,S) ^ O1 in OS ^ O2 in OS ^ O1 != O2 ^ holds(S,middle_heap(O1,OS)) ^ ~exists(OA) support(O1,OA,S) ) > 0.9.
Characteristics: Dynamics, probabilistic, set of objects, external forces.
Formalism:
ProbOS,S( exists(M : momentum) forall(S1,B : impact) [momentum(B) > M ^ strikes(B,OB) ^ OB in OS ^ occurs(B,S,S2)] => exists(O1,O2 in OS) ~same_heap(O1,O2,S1) | heap(OS,S) ^ [forall(O in OS,O1) support(O1,O,S) ^ fixed(O1,S) < = > O1 = OTABLE] ^ [forall(P,O in OS) holds(S,P in* OTABLE intersect O) => [P in upper_surface(OTABLE,S) ^ value(S,out_tangent*(O1,P) = up)] ^ [forall (OX subset OS) ~jammed(OX,S)] [exists(H) kinematic(H) ^ start(H)=S ^ forall(O1,O2 in OS) holds(end(H),DC*(O1,O2))] ) > 0.5
Characteristics: Statics.
Formalism:
support(O1,O2,S) < =>
O1=O2 V direct_support(O1,O2,S) V
exists(O3) support(O1,O3,S) ^ direct_support(O3,O2,S)
Gf.1 Fact: Indirect support is the transitive closure of direct support.
G.1 : Any mobile object in a stable configuration has some direct support.
Gf.3 Fact: Support is not anti-symmetric; there are configurations in which OA supports OB and OB supports OA.
Gd.4 Definition: The relation ``sup1(OA,OB,C)'' is defined to hold if OA and OB are mobile and OA supports OB or OB supports OA in configuration C. The relation ``sup2(OA,OB,C)'' is defined as the transitive closure of sup1, for fixed C over OA,OB. A heap is an equivalence class under sup2; that is, a collection of mobile objects all connected via support relationships.
Gd.5 Definition: A loose heap is a heap in which no subset of the objects is kinematically bound or jammed.
Gf.1: Fact: In any stable configuration, every mobile object is an element of exactly one heap. If all objects are convex, then all heaps are loose heaps.
Gd.6. Definition: A smooth perturbation applied to a heap can consist either of applying a force or torque to some element of the heap; leaning an additional object against an object in the heap; moving the base of the heap; or tilting the base of the heap. An impact perturbation of the heap is an impact against some element of the heap. This can be caused by an external object hitting the heap; or by the heap being picked up and dropped; or by the heap running into some stationary object while it is being carried. The magnitude of the perturbation is related to the magnitude of force or torque; the weight exerted by the leaned object; the accelleration of the base of the heap; the angle of tilt; or the momentum of the impact.
G.1: Any perturbation applied to a heap will tend to affect the structure
of the heap in a degree
and certainty increasing with the size of the perturbation.
A small force or impact applied to the base of the heap is less likely to
cause a change then a force applied to the top of the heap; but any change
that does occur is likely to affect more of the objects in the heap.
Quasi-statics, tendency, prediction.
Gd.7: Definition: Let C1 and C2 be stable configurations. C1 is more stable than C2 if many perturbations result in smaller changes when applied to C1 than when applied to C2, and few perturbations result in smaller changes when applied to C2 than when applied to C1. This "definition" is ambiguous along a number of dimensions:
If a heap is perturbed, the final result is usually that most objects are
no higher than they were at the start.
Dynamics, object collection, probabilistic, prediction.
Definition A stack is a configuration where the objects are linearly ordered O1 ... Ok, where O1 is fixed and Oi is in contact only with Oi-1 and Oi+1.
Definition: A stack is called a simple tower if it meets the following conditions:
A simple tower is stable.
Statics, deterministic, prediction.
The taller and narrower a simple tower, the less stable.
Stability.
A simple tower can be built one block at time from the bottom up. It can
be disassembled one block at a time from the top down.
Quasistatics, deterministic, plan.
Let T1 and T2 be two simple towers. Let O1 be the bottom block of T1 and
let O2 be the top block of T2. If the bottom of O1
fits inside the top of O2, then the following plan is feasible:
Lift the O1 very smoothly and without tilting and place it
on top of O2 so that the bottom of O1 lies entirely within the top of O2. Then
the result is a single simple tower.
Dynamics, deterministic, plan.
Let T be a simple tower. Let OA and OB be consecutive blocks in T. The following plan is feasible: Lift OB very smoothly and without tilting and place it on any flat surface that can contain the bottom of OB. The result will be two towers, one from the bottom of T to OA and the other from OB to the top of T. Dynamics, deterministic, plan.
In a stack, if Oi is in contact with Oi-1 only along a single
line, and Oi is not the top object, then the stack is generally unstable.
Statics, probabilistic, prediction.