Model ElementConstraint_PTCV defines a higher pair constraint. A fixed point
on one body slides on a curve that is fixed on a second body. The point is not allowed to
lift off the curve.
Element identification number, (integer>0). This number is unique among all
Constraint_PTCV elements.
label
The name of the Constraint_PTCV element.
i_marker_id
Specifies a Reference_Marker that defines the connection on the
first body. The origin of this Reference_Marker defines the point
that is required to slide on the curve. The body containing this
Reference_Marker may be a rigid body, a flexible body or a point
body.
The parameter is mandatory.
j_marker_id
Specifies a Reference_Marker that defines the coordinate system in
which the curve points are defined. The curve is defined on the body containing this
Reference_Marker and moves with this body. The body containing the
curve must be a rigid body or a point body.
The parameter is mandatory.
zi_direction
Enforces the z-axis of i_marker_id to be either PERPENDICULAR
(normal) or PARALLEL (tangential) to the curve. If this parameter is not defined, the
orientation of the z-axis in respect to the curve can be arbitrary.
This parameter is optional.
curve_id
The ID of the curve that is fixed on the second body.
Example
The image below shows a robot used for spray painting cars. During the spray painting
operation, the tip of the robot arm containing the spray gun is to follow a specified path
in 3D space. The path is shown in blue in the image.Figure 1. A Spray Painting Robot
The spray painting system has the following properties:
The system is modeled in length units of millimeters, and time units of seconds.
The curve is defined in the global coordinate system, and is represented by
Reference_ParamCurve 1.
The curve is defined in the coordinate system of Reference_Marker
21, which belongs to ground.
Reference_Marker 11 defines the tip of the end effector.
The initial contact point on the curve, defined with respect to the global coordinate
system, is [263.2, 1342.7, 2343.02].
The initial sliding velocity of the point along the curve is 50.23 mm/sec.
The Constraint_PTCV object for the above system is:
Constraint_PTCV defines a higher
pair constraint, where a fixed point on one body (Body-1) is required to slide along a
curve defined on a second body (Body 2). This is shown schematically in the image below.
The curve can be 3D and is represented parametrically using a
Reference_ParamCurve element.Figure 2. An illustration of a Point-on-Curve Constraint
The origin of marker I defines a fixed point on Body-1. Body-1 may be any kind of
body - Body_Rigid, Body_Flexible or
Body_Point.
The curve is "etched" on Body-2. The curve points
remain fixed with respect to Body-2 and are defined in the coordinate system of
Reference_MarkerJ.
The constraint does not ensure that the contact point
will stay within the range of data specified for the curve. Additional forces at the end
need to be defined by the user to satisfy this requirement.
Both open and closed curves are supported. For a closed
curve, the first and last points must be the same.
The curves are required to be smooth to second order. In
other words, have continuous first and second derivatives with respect to the curve
parameter everywhere. A non-smooth curve will cause numerical difficulties.
The function PTCV(...) may be used to extract a component
of the reaction force at the contact point in any direction. See MotionSolve Functions for more information.
Constraint_PTCV does not permit
lift-off. You can look at the reaction force to determine if there is a tendency for the
point follower to lift-off the curve. If the component of the reaction force along the
common normal is positive, the "contact" force is repulsive. If the component is negative,
the "contact" force is attractive, and therefore the point-follower would have separated
from the curve if the constraint were not there.
If you notice an "attractive" reaction force, you might
consider modeling the subsystem using the Force_Contact object that
allows lift-off to occur.