Integrated application resource: Kinematics | ISO 10303-105:2019(E) © ISO |
The subject of the kinematic_motion_representation_schema is the description of motion. It specifies different types of paths that comprise the motion for a kinematic model.
This clause defines the information requirements to which implementations shall conform using the EXPRESS language as defined in ISO 10303-11. The following EXPRESS declaration begins the kinematic_motion_representation_schema and identifies the necessary external references.Short names of entities defined in this schema are described in Annex A. Unambiguous identification of this schema is defined in Annex B.
EXPRESS specification:
*)
SCHEMA kinematic_motion_representation_schema;
REFERENCE FROM
geometry_schema
--
ISO 10303-42
(axis2_placement,
b_spline_curve,
b_spline_surface,
bounded_curve,
cartesian_point,
curve,
geometric_representation_context,
geometric_representation_item,
placement,
transition_code);
REFERENCE FROM
kinematic_state_schema
--
ISO 10303-105
(rotation_about_direction,
spatial_rotation,
ypr_rotation,
mechanism_state_representation);
REFERENCE FROM
kinematic_structure_schema
--
ISO 10303-105
(kinematic_link_representation,
mechanism_representation,
rigid_placement);
REFERENCE FROM
measure_schema
--
ISO 10303-41
(length_measure,
measure_with_unit,
parameter_value,
plane_angle_measure,
unit);
REFERENCE FROM
product_property_representation_schema
--
ISO 10303-41
(shape_representation);
REFERENCE FROM
representation_schema
--
ISO 10303-43
(definitional_representation,
founded_item,
functionally_defined_transformation,
item_defined_transformation,
item_in_context,
parametric_representation_context,
representation,
representation_item,
representation_relationship,
definitional_representation_relationship,
representation_relationship_with_transformation,
using_representations);
(*
NOTE 1 The schemas referenced above are specified in the following parts:
geometry_schema ISO 10303-42 kinematic_state_schema ISO 10303-105 kinematic_structure_schema ISO 10303-105 measure_schema ISO 10303-41 product_property_representation_schema ISO 10303-41 representation_schema ISO 10303-43
NOTE 2 See Annex D for a graphical representation of this schema.
Motion in this part of ISO 10303 is defined in terms of a parameter t. t is a non-decreasing parameter as motion progresses. Several motions may be synchronised by the requirement that the actual state of all motion in a kinematic model is controlled by a single parameter t which appears as an attribute in the kinematic_control and in the kinematic_result.
EXPRESS specification:
*)
TYPE
link_or_shape_representation
=
SELECT
(kinematic_link_representation,
shape_representation);
END_TYPE;
(*
EXPRESS specification:
*)
TYPE
interpolation_type
=
ENUMERATION
OF
(undefined_interpolation_type,
discontinuous_interpolation_type,
synchronous_interpolation_type,
linear_interpolation_type);
END_TYPE;
(*
Enumerated item definitions:
undefined_interpolation_type: an interpolation in which all pair parameters shall match the set of pair parameter values defined in the next configuration definition.
discontinuous_interpolation_type: the pair parameters are changing abruptly.
synchronous_interpolation_type: an interpolation in which all pair parameters are interpolated such that the pair parameters pass from one value to the next one at the same rate. The rate may vary proportionally among the pairs.
linear_interpolation_type: an interpolation in which all pair parameters are interpolated such that the pair parameters pass from one value to the next one at the same rate. The rate remains constant.
EXPRESS specification:
*)
ENTITY interpolated_configuration_representation
SUBTYPE OF (representation);
SELF\representation.context_of_items : geometric_representation_context_with_parameter;
SELF\representation.items : SET[1:?] OF interpolated_configuration_sequence;
END_ENTITY;
(*
Attribute definitions:
context_of_items: an inherited attribute that shall be of type geometric_representation_context_with_parameter.
items: an inherited attribute whose members shall be of type interpolated_configuration_sequence.
EXPRESS specification:
*)
ENTITY interpolated_configuration_sequence
SUBTYPE OF (geometric_representation_item);
segments : LIST[2:?] OF interpolated_configuration_segment;
DERIVE
n_segments : INTEGER := SIZEOF(segments);
closed_interpolation : LOGICAL := segments[n_segments].interpolation <> discontinuous_interpolation_type;
configured_mechanism : mechanism_representation := segments[1].state.represented_mechanism;
WHERE
WR1: SIZEOF(QUERY(ics <* segments | ics.state.represented_mechanism :<>: configured_mechanism)) = 0;
END_ENTITY;
(*
Attribute definitions:
segments: the list of interpolated_configuration_segments for the interpolated_configuration_sequence. There shall exist at least one interpolated_configuration_segment for the interpolated_configuration_sequence.
n_segments: the number of segments.
closed_interpolation: indication of whether the interpolation shall continue with the first segment after the last one is reached, resulting in a cyclic movement.
configured_mechanism: the mechanism_representation that is interpolated by this interpolated_configuration_sequence.
Formal propositions:
WR1: All segments of an interpolated_configuration_sequence shall be based on the same mechanism_representation.
EXPRESS specification:
*)
ENTITY interpolated_configuration_segment
SUBTYPE OF (founded_item);
state : mechanism_state_representation;
t_parameter : parameter_value;
interpolation : interpolation_type;
END_ENTITY;
(*
Attribute definitions:
state: the mechanism_state_representation the interpolated_configuration_segment refers to.
t_parameter: the parameter associated to the interpolated_configuration_segment.
interpolation: the interpolation_type for the interpolated_configuration_segment.
EXPRESS specification:
*)
ENTITY link_motion_relationship
SUBTYPE OF (definitional_representation_relationship, representation_relationship_with_transformation);
SELF\representation_relationship.rep_1 : link_or_shape_representation;
SELF\representation_relationship.rep_2 : link_motion_representation_along_path;
SELF\representation_relationship_with_transformation.transformation_operator : link_motion_transformation;
WHERE
WR1: transformation_operator\item_defined_transformation.transform_item_1 IN rep_1.items;
WR2: transformation_operator\item_defined_transformation.transform_item_2 IN rep_2.items;
END_ENTITY;
(*
Attribute definitions:
rep_1: the link_or_shape_representation that is in motion.
rep_2: the link_motion_representation_along_path that specifies the motion.
transformation_operator: the link_motion_transformation that relates the context_of_items of the related link_or_shape_representation and link_motion_representation_along_path.
Formal propositions:
WR1: The transform_item_1s of transformation_operator shall also be items of rep_1.
WR2: The transform_item_2s of transformation_operator shall also be items of rep_2.
EXPRESS specification:
*)
ENTITY item_link_motion_relationship
SUBTYPE OF (link_motion_relationship);
SELF\representation_relationship.rep_1 : shape_representation;
item : geometric_representation_item;
END_ENTITY;
(*
Attribute definitions:
rep_1: the shape_representation that is in motion.
item: the anchor for the item_link_motion_relationship.
EXPRESS specification:
*)
ENTITY link_motion_transformation
SUBTYPE OF (item_defined_transformation);
SELF\item_defined_transformation.transform_item_1 : rigid_placement;
SELF\item_defined_transformation.transform_item_2 : kinematic_path;
END_ENTITY;
(*
Attribute definitions:
transform_item_1: an inherited attribute that shall be of type rigid_placement for the link_motion_transformation.
transform_item_2: an inherited attribute that shall be of type kinematic_path for the link_motion_transformation.
EXPRESS specification:
*)
ENTITY link_motion_representation_along_path
SUBTYPE OF (representation);
SELF\representation.items : SET[1:?] OF kinematic_path;
SELF\representation.context_of_items : geometric_representation_context_with_parameter;
END_ENTITY;
(*
Attribute definitions:
items: an inherited attribute that shall be of type kinematic_path. There shall exist at least one kinematic_path for the link_motion_representation_along_path.
context_of_items: a geometric_representation_context_with_parameter in which the items are related to form a representation of some concept.
EXPRESS specification:
*)
ENTITY geometric_representation_context_with_parameter
SUBTYPE OF (geometric_representation_context);
parameter_unit :
OPTIONAL
unit;
END_ENTITY;
(*
Attribute definitions:
parameter_unit: specifies an additional parameter for the geometric_representation_context_with_parameter. The value of this attribute need not be specified.
EXPRESS specification:
*)
ENTITY kinematic_path
ABSTRACT
SUPERTYPE OF (ONEOF (kinematic_path_defined_by_nodes,
kinematic_path_defined_by_curves))
SUBTYPE OF (geometric_representation_item);
segments : LIST[1:?] OF kinematic_path_segment;
t_start : parameter_value;
DERIVE
n_segments : INTEGER := SIZEOF(segments);
closed_path : LOGICAL := segments[n_segments].transition <> discontinuous;
WHERE
WR1: SIZEOF(QUERY(using_rep <* using_representations(SELF) | NOT ('KINEMATIC_MOTION_REPRESENTATION_SCHEMA.GEOMETRIC_REPRESENTATION_CONTEXT_WITH_PARAMETER'
IN TYPEOF(using_rep.context_of_items)))) = 0;
END_ENTITY;
(*
Attribute definitions:
segments: the list of kinematic_path_segments for the kinematic_path. There shall exist at least one kinematic_path_segment for the kinematic_path.
t_start: the parameter value at the start of the kinematic_path.
n_segments: a number of segments for the kinematic_path.
closed_path: if the transition_code of the last segment is not discontinuous, then this defines a cyclic movement.
Formal propositions:
WR1: A kinematic_path shall only be used in representations that have a context of type geometric_representation_context_with_parameter.
EXPRESS specification:
*)
ENTITY kinematic_path_defined_by_nodes
SUBTYPE OF (kinematic_path);
SELF\kinematic_path.segments : LIST[1:?] OF path_node;
placement_start : placement;
END_ENTITY;
(*
Attribute definitions:
segments: a list of one or more path_nodes.
placement_start: the initial placement before the first segment.
EXPRESS specification:
*)
ENTITY kinematic_path_defined_by_curves
SUBTYPE OF (kinematic_path);
SELF\kinematic_path.segments : LIST[1:?] OF curve_based_path_with_orientation;
END_ENTITY;
(*
Attribute definitions:
segments: a list of one or more curve_based_path_with_orientations.
EXPRESS specification:
*)
ENTITY kinematic_path_segment
ABSTRACT
SUPERTYPE OF (ONEOF (path_node,
curve_based_path_with_orientation))
SUBTYPE OF (founded_item);
t_end : parameter_value;
transition : transition_code;
END_ENTITY;
(*
Attribute definitions:
t_end: the parameter value at the end of the kinematic_path_segment.
transition: the transition_code that defines on how to continue with the next following segment (if any).
EXPRESS specification:
*)
ENTITY path_parameter_representation
SUBTYPE OF (definitional_representation);
SELF\representation.context_of_items : path_parameter_representation_context;
SELF\representation.items : SET[1:?] OF bounded_curve;
WHERE
WR1: SELF\representation.context_of_items\geometric_representation_context.coordinate_space_dimension = 2;
END_ENTITY;
(*
Attribute definitions:
context_of_items: the path_parameter_representation_context that is a context of the path_parameter_representation.
items: an inherited attribute that shall be of type bounded_curve. There shall exist at least one bounded_curve for the path_parameter_representation.
Formal propositions:
WR1: The attribute context_of_items shall also be of type geometric_representation_context and shall have a coordinate_space_dimension of 2.
EXPRESS specification:
*)
ENTITY path_parameter_representation_context
SUBTYPE OF (geometric_representation_context, parametric_representation_context);
END_ENTITY;
(*
EXPRESS specification:
*)
ENTITY path_node
ABSTRACT
SUPERTYPE OF (ONEOF (point_to_point_path,
circular_path,
linear_path,
curve_based_path))
SUBTYPE OF (kinematic_path_segment);
placement_end : placement;
END_ENTITY;
(*
Attribute definitions:
placement_end: a linear transformation that specifies a local frame on a path.
NOTE The interpolation is left to the software that uses the data.
EXPRESS specification:
*)
ENTITY point_to_point_path
SUBTYPE OF (path_node);
DERIVE
SELF\kinematic_path_segment.transition : transition_code := discontinuous;
END_ENTITY;
(*
Attribute definitions:
transition: an inherited attribute that shall be of type transition_code which value is discontinuous.
EXPRESS specification:
*)
ENTITY circular_path
SUBTYPE OF (path_node);
via_point : cartesian_point;
END_ENTITY;
(*
Attribute definitions:
via_point: an intermediate point through which the circular_path passes.
EXPRESS specification:
*)
ENTITY linear_path
SUBTYPE OF (path_node);
DERIVE
SELF\kinematic_path_segment.transition : transition_code := continuous;
END_ENTITY;
(*
Attribute definitions:
transition: an inherited attribute that shall be of type transition_code which value is continuous.
EXPRESS specification:
*)
ENTITY curve_based_path
SUBTYPE OF (path_node);
path_curve : curve;
END_ENTITY;
(*
Attribute definitions:
path_curve: the curve which defines the translational interpolation between the path_nodes that are connected by the curve_based_path.
EXPRESS specification:
*)
ENTITY curve_based_path_with_orientation
SUBTYPE OF (kinematic_path_segment);
position_curve : bounded_curve;
orientation_curve : bounded_curve;
WHERE
WR1: TYPEOF(position_curve) = TYPEOF(orientation_curve);
END_ENTITY;
(*
Attribute definitions:
position_curve: specifies the curve along which the origin of the link frame is moved.
orientation_curve: specifies the rotation of the link frame relative to the position_curve for the same parametrisation value.
Formal propositions:
WR1: The bounded_curve referenced by position_curve shall match the bounded_curve referenced by orientation_curve.
EXPRESS specification:
*)
ENTITY curve_based_path_with_orientation_and_parameters
SUBTYPE OF (curve_based_path_with_orientation);
parameters : path_parameter_representation;
END_ENTITY;
(*
Attribute definitions:
parameters: specifies the path_parameter_representation that collects the additional parametric curves.
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT kmr_representation_subtypes FOR representation;
ONEOF (interpolated_configuration_representation,
link_motion_representation_along_path);
END_SUBTYPE_CONSTRAINT;
(*
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT kmr_geometric_representation_item_subtypes FOR geometric_representation_item;
ONEOF (kinematic_path,
placement);
END_SUBTYPE_CONSTRAINT;
(*
EXPRESS specification:
*)
SUBTYPE_CONSTRAINT kmr_geometric_representation_context_subtypes FOR geometric_representation_context;
ONEOF (geometric_representation_context_with_parameter,
path_parameter_representation_context);
END_SUBTYPE_CONSTRAINT;
(*
*)
END_SCHEMA; -- kinematic_motion_representation_schema
(*
© ISO 2019 — All rights reserved