Kinematics of Objects in Contact using Dual Vectors and its Applications

George Paul
doctoral dissertation, tech. report CMU-RI-TR-97-40, Robotics Institute, Carnegie Mellon University, December, 1997


Download
  • Adobe portable document format (pdf) (3MB)
Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Abstract
This thesis proposes a general method for representing the motion of an object while maintaining contact with other fixed objects. We also propose a method to classify the instantaneous freedom of an object in contact. The motivation for our work is the assembly plan from observation (APO) system. The APO system observes a human perform an assembly task. It then analyzes the observations to reconstruct the assembly plan used in the task. Finally, the APO converts the assembly plan into a program for a robot which can repeat the demonstrated task.

The position and orientation of an object, known as its configuration, can be represented using dual vectors. We use planar quaternions to represent the configuration of objects in the plane and dual quaternions to represent the configuration of objects in 3D space. When an object maintains a set of contacts with other fixed objects, its configuration will be constrained to lie on a surface in configuration space called the c-surface. The c-surface is determined by the geometry of the object features in contact. We propose a general method to represent c-surfaces in dual vector space. Given a set of contacts, we choose a reference contact and represent the c-surface as a parametric equation. The contacts other than the reference contact will impose constraints on the parameters. The reference contact and the constraints constitute the representation of the c-surface. WE show that the use of dual vectors simplifies our representation considerably. Once we define our c-surface representation, we propose methods to compute the projection of a point in configuration space onto the c-surface and to interpolate between points on the c-surface.

Another aspect of kinematics of an object in contact is its instantaneous freedom. We can represent this freedom as a system of linear inequalities in screw space. We classify this freedom into a finite number of contact states. We define the contact state of the object as a topologically distinct polyhedral convex cone in screw space.

We used our theory to implement the APO system both in the plane and in 3D space. We used our c-surface representation to correct approximate configuration of the objects at each observed instant of the demonstrated task. We interpolated between corrected points on the c-surface to obtain segments of the assembly path. The complete assembly path used in the observed task is then a concatenation of these path segments. Given a set of contacts, we also show how our theory of contact states can be used to find the minimum contacts needed to define the c-surface. Finally, we used the reconstructed assembly path to program a six degree of freedom robot arm to repeat the observed assembly task.


Notes
Sponsor: ONR, NSF
Grant ID: N00014-95-1-0591, IRI-9224521
Associated Center(s) / Consortia: Vision and Autonomous Systems Center
Number of pages: 114

Text Reference
George Paul, "Kinematics of Objects in Contact using Dual Vectors and its Applications," doctoral dissertation, tech. report CMU-RI-TR-97-40, Robotics Institute, Carnegie Mellon University, December, 1997

BibTeX Reference
@phdthesis{Paul_1997_457,
   author = "George Paul",
   title = "Kinematics of Objects in Contact using Dual Vectors and its Applications",
   booktitle = "",
   school = "Robotics Institute, Carnegie Mellon University",
   month = "December",
   year = "1997",
   number= "CMU-RI-TR-97-40",
   address= "Pittsburgh, PA",
}