Mechanics of Manipulation - shivamvats/notes GitHub Wiki
- Alternating Sticking Contact: When solving for a contact trajectory (where to apply force and how much) for a desired object trajectory, it is much more efficient and simpler to assume that there is always a sticking contact between the object and the manipulator (finger, gripper, etc.). The location of the sticking contact may change. See alternating-sticking-contact.
- Rigid-body Dynamics: Torque balance equation describes the object dynamics using a non-linear cross-product.
- Geometric Consistency: Expensive to compute distance functions.
- Contact Mechanics: Complementarity constraints make the problem non-differentiable and hence harder to optimize.
-
Holonomic Constraints: Constraints on the position of a system of particles. It may or may not involve time.
g(x, y, z) = 0
. Eg, a book lying on a table (plane) can't penetrate the table. -
Non-holonomic Constraints: Constraints that constrain the velocity of particles but not their positions. Eg, a bicycle can't move perpendicular to its direction of motion (velocity).
-
Complemetarity Constraints: A complementarity constraint enforces that two variables are complementary to each other, i.e, (for scalar x and y)
x.y = 0, x >= 0, y >= 0
. What this means is that the two variables can't both be positive at the same time. Eg, letd = distance of hand from table
andf = force applied by table on hand
. Clearly,d
andy
are complementary to each other. -
Twist: The twist
xi_hat \in se(3)
is a4 x 4
matrix.xi \in R6
represents its twist coordinates. They represent the generalized velocity of a rigid body (linear and angular velocities):xi = [v w]
.so(n)
represents the space of alln x n
skew-symmetric matrices.se(n)
addsR3
to that. -
Wrench: Represents a generalized force acting on a rigid body:
F = [f tau]
, wheref
is the linear component andtau
is the rotational component. -
Centroidal Dynamics: Under quasi-static assumptions (low velocities, low inertia), the equation of motion for a manipulator reduces to
M(q)ddq(t) = tau_g(q) + H(q)F
which can be decoupled into translational and rotational components. See centroidal-equations.
-
Generalized Friction Cone:
-
Rigid-body Dynamics: Using Newton's equations:
ma = sum(Fi)
andIa = sum(ri x Fi)
- Euler Equations: Describes the rotation of a rigid body under external torque using a moment tensor defined in the (rotating) body frame. It can also be converted into the spatial frame by transforming the moment tensor to the spatial frame.
-
Geometric Consistency: Avoid penetration:
g(pi) >= 0
. -
Contact Mechanics: To model forces that emerge when contact happens. Typically, Coulomb's law of friction is used. This is expressed as complementarity constraints:
g(pi) = 0 => fi in Friction Cone i
, otherwiseg(pi) > 0 => fi = 0
. - D'Alembert's Principle of Virtual Work: Useful to solve systems dynamics under constraints. Also used to derive Lagrange's equations.
[v w]' = J(q)q_dot
q_dot = J_inv(q)[v w]'
The URDF contains information only about the physical joints on the robot. Often, additional joints need to be defined to specify the pose of the root link on the robot with respect to a world coordinate system. In such cases, a virtual joint is used to specify this connection. E.g., a mobile robot like the PR2 that moves around in the plane is specified using a planar virtual joint that attaches the world coordinate frame to the frame of the robot. A fixed robot (like an industrial manipulator) should be attached to the world using a fixed joint.