Model Element |
|||||||||||||||||||||
Description |
|||||||||||||||||||||
Constraint_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. |
|||||||||||||||||||||
Format |
|||||||||||||||||||||
<Constraint_PTCV id = "integer" [ label = "string" ] i_marker_id = "integer" j_marker_id = "integer" [ disp_xo = "real" disp_yo = "real" disp_zo = "real" [ vel_o = "real" ] curve_id = "integer" > /> |
|||||||||||||||||||||
Attributes |
|||||||||||||||||||||
id |
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. |
||||||||||||||||||||
disp_x0 disp_y0 disp_z0 |
Defines a guess for the initial contact point on the curve. The coordinates are measured with respect to the global origin and are defined in the global coordinate system. This parameter is optional. See Comment 2 for how this data is used. |
||||||||||||||||||||
vel_0 |
Defines the initial sliding velocity of the origin of i_marker_id with respect to j_marker_id along the tangent at the contact point, as measured by an observer on the curve, placed at the contact point. This parameter is optional. See Comment 4 for how this data is used. |
||||||||||||||||||||
curve_id |
The ID of the curve that is fixed on the second body. |
||||||||||||||||||||
Comments |
|||||||||||||||||||||
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_Marker J.
MotionSolve finds the point P on the curve that is closest to P0. The initial point on the curve is used to calculate an initial value of the curve parameter α0. An iterative process is then used to locate P. Calculation of the initial contact point P0
|
|||||||||||||||||||||
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 3-D space. The path is shown in red in the image. A spray painting robot The aim of this exercise is to determine if the robot arm tip can follow this profile. A secondary goal is to find the time history of joint torques that will cause the end effector to execute the desired motion. The spray painting system has the following properties:
A spray painting robot The Constraint_PTCV object for the above system is: <Constraint_PTCV id = "1" i_marker_id = "11" j_marker_id = "21" disp_xo = "263.2" disp_yo = "1342.7" disp_zo = "2343.02" vel_o = "50.23" curve_id = "1" /> |
Model Element |
|
Description |
|
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. |
|
Declaration |
|
def PTCV(id, LABEL="", I=0, CURVE=0, RM=0, DISP=[0.0, 0.0, 0.0], VEL=0.0): |
|
Attributes |
|
id |
Element identification number (integer>0). This number is unique among all the PTCV elements. |
LABEL |
The name of the PTCV element. |
I |
Specifies the ID of a fixed marker that defines the connection on the first body. The origin of this marker defines the point that is required to slide on the curve. The body containing this marker may be a rigid body, a flexible body, or a point body. The parameter is mandatory. |
CURVE |
Specifies the ID of the curve that is fixed to the second body. |
RM |
Specifies the ID of a fixed marker that defines the coordinate system in which the curve points are defined. The curve is defined on the body containing this marker and moves with this body. The body containing the curve must be a rigid body or a point body. The parameter is mandatory. |
DISP |
Defines a guess for the initial contact point on the curve. The coordinates are measured with respect to the global origin and are defined in the global coordinate system. This parameter is optional. |
VEL |
Defines the initial sliding velocity of the origin of I with respect to RM along the tangent at the contact point, as measured by an observer on the curve, placed at the contact point. |
CommentsSee Constraint_PTCV |
|
ExampleThe example below shows how a PTCV may be defined:PTCV(1,LABEL="PTCV",I=21, CURVE=11,RM=11,DISP=[263.2,1342.7,2343.02], VEL=50.23) |
*PointToCurveJoint() (MDL Model statement)