L-03-Snakes.ppt

advertisement
Special Topics in Computer Science
Computational Modeling for
Snake-Based Robots
Introduction to
Assembly Modeling
Week 2, Lecture 1
William Regli
Geometric and Intelligent Computing Laboratory
Department of Computer Science
Drexel University
http://gicl.cs.drexel.edu
1
Building Multidisciplinary Model
• Class Goal: create multidisciplinary
engineering models
• Challenge: Learn enough about each
discipline to create integrated models!
• Last week: modeling parts
• Today: putting parts together!
– i.e. creating assemblies
2
Where we stand
• You have a physical design you
prototyped with Legos
• You have your individual 3D models for
the elements of the design
• How to put them together?
3
Transformations to Change
Coordinate Systems
• Issue: the world has many different relative
frames of reference
• How do we transform among them?
• Example: CAD Assemblies & Animation Models
4
5
Example:
A Scanner Head Assembly
6
7
8
9
Goal of Assembly Modeling
• Products are rarely individual parts
• Typically, products are designed top
down as assembly models
• For this class, we are interested in the
data structures for assemblies
10
Assembly Modeling
•
•
•
•
Parts can be defined with
mating features on them.
Features can be mated directly.
An assembly database builds
up automatically.
Assembly knowledge can be
accessed.
•
Information in assembly models
– What parts mate to what parts
– What features define the mates
and where they are on the parts
– What interfaces must be
controlled, plus a formal way of
describing them
– Constraints and rule-checking
• about assembly in the small
• about assembly intent in terms
of features
• about assembly in the large,
including alternate parts
•
•
It is a completely abstract and
general model based on
connectivity
Geometry is an attribute of the
parts
11
Degrees of Freedom
• An object’s location in space
is completely specified when
three translations (X, Y, Z)
and three rotations ( ) are
specified
• How many DOFs are
constrained?
– cube on table (x-y plane)
– cube at floor-wall interface
– cube at floor-two walls
interface
– ball on table
– ball at floor-wall interface
– round peg in blind round
hole
12
Constraints
• Proper constraints provide a single value for
each of a body’s 6 degrees of freedom
– This is done by establishing surface contacts with
surfaces on another part or parts
• If less than 6 dof have definite values, the
body is under-constrained
• If an attempt is made to provide 2 or more
values for a dof, then the body is overconstrained because rigid bodies have only 6
dof
13
Constraints (examples)
14
Constraints (examples)
15
Creating an Assembly
• Parts join at places called assembly features
• Different features constrain different numbers and
kinds of degrees of freedom of the respective parts
(symmetrically)
• Parts may join by
– one pair of features
– multiple features
– several parts working together, each with its own features
• When parts mate to fixtures, dofs are constrained
16
Assembly Features
• Examples
–
–
–
–
–
–
Fixed
Revolute
Planar
Screw
Spherical
Prismatic
17
Example: Phillips “screw”
18
Example Feature
19
Relating Features to
Assembly Models
Does not depend on parts
Depends on parts
20
Data Structures for Assemblies
• Typically an attributed graph or tree
– Vertices == parts
– Edges ==
• Part-to-part contacts
– Usually represented as joints
– Attributes ==
• Kinematic specifications and constraints on the
joints
21
Contact Graph
22
Data Structures for Assemblies:
Example
{ Part
{ Name motor }
{ URL motor.sat }
{ Transform Identity }}
{ Part
{ Name scanner }
{ URL scanner.sat }
{ Transform Identity }}
# List of joints between parts
{ Joint Fixed
{ Name potentiometer_sleeve_screw_potentiometer_to_frame}
{ BasePart potentiometer_sleeve }
{ AttachedPart screw_potentiometer_to_frame }
{ JointFeatures
{ Point potentiometer_sleeve 0 0 0 }
{ Point screw_potentiometer_to_frame 0 0 0 }}}
{ Joint Revolute
{ Name motor_scanner}
{ BasePart motor }
{ AttachedPart scanner }
{ JointFeatures
{ Axis motor 150 60 85 0 0 1 1 0 0 }
{ Axis scanner 150 60 85 0 0 1 1 0 0 }
}{ Articulations { Theta 0 -75 75 }}}
23
Assignment!
• Oct 6
– Mock up v1 of your Lego design
– Photos on Wiki
• Oct 10
– 3D model(s) for your Lego design
• Oct 13
– An “assembly” of your Lego design
24
Introduction to Kinematics
• Kinematics: study of motion independent
of underlying forces
• Degrees of freedom (DoF): the number of
independent position variables needed to
specify motions
• State Vector: vector space of all possible
configurations of an articulated figure. In
general, the dimensions of state vector is
equal to the DoF of the articulated figure.
25
Manipulator Joint Types
1 DOF Joint types
• Revolute
• Prismatic
26
More Joint Types
• Many higher order joint types can be
represented by combining 1-DOF joints
by making axes intersect
27
Forward vs. Inverse
Kinematics
• Forward kinematics: motion of all joints is
explicitly specified
• Inverse kinematics: given the position of
the end effector, find the position and
orientation of all joints in a hierarchy of
linkages; also called “goal-directed
motion”.
28
END
29
What CAD Systems do
• CAD systems analyze “constraints”
– But CAD systems, developers, and researchers
do not mean mechanical constraint, they mean
geometric location consistency
• Many designs called properly constrained by
CAD systems are actually over-constrained
• Different CAD systems do this analysis
different ways and can disagree about the
same assembly
30
What CAD Systems do
• How CAD Systems Test Constraints
–
–
–
–
A closed chain of frames is set up
A numerical test is done to see if the chain closes
If, so, the assembly is called “fully constrained”
Detailed tests for constraint/consistency problems
are done by making small shifts and testing for
interference
– Tolerance studies are done the same way
– Analysis requires detailed geometry
• Results depend on how the model was built
31
32
Mathematical Model
• Basic Math
– Uses 4x4 matrices to relate
adjacent frames
– Permits chaining together of
parts
• same math is used to
describe robots
– The matrix contains a
rotational part and a
translational part
– The matrix is designed to
translate first and then
rotate so that rotation does
not change position of new
frame
– This matrix is a subset of a
more general projection
matrix that includes
perspective
• History
– Basic to Kinematics
(Denavit & Hartenberg)
– Used to model assemblies
in 1970s:
– S N Simunovic Master’s
Thesis, MIT, 1972
– Edinburgh University AI Lab
robot assembly 1976
• Used by CAD researchers
– Steve Coons, 1960’s
– Gossard and others, 1980s
• Used by CAD systems to
locate surfaces wrt each
other
33
Download