Method and system for generating multi-dimensional motion profiles
AssigneeRockwell Automation Technologies, Inc.
InventorsJuergen K. Weinhofer, Jatin P. Bhatt, William C. Schwarz
Life of this patent
Estimating the term…
Abstract
A motion control system comprises control logic and a programming interface. The programming interface is configured to permit a user to specify a plurality of non-tangential path segments, and the control logic is configured to generate a plurality of additional connecting path segments substantially extending between and connecting the non-tangential path segments. The motion control system is configured to generate control signals to control operation of a plurality of motors to drive movement of a controlled element along a path defined by the non-tangential path segments and the additional connecting path segments.
Claims21
A motion control system comprising control logic and a programming interface, the programming interface being configured to permit a user to specify a plurality of non-tangential path segments, and the control logic being configured to generate a plurality of additional transitioning path segments substantially extending between the non-tangential path segments, wherein the control logic is configured to generate control signals to control operation of a plurality of motion axes to drive movement of a controlled element along a path defined by the non-tangential path segments and the additional transitioning path segments, wherein the control signals include position reference values, and wherein the control logic includes a plurality of interpolators configured to generate the position reference values substantially simultaneously along a plurality of different coordinate axes.
A motion control system comprising control logic and a programming interface, the programming interface being configured to permit a user to specify a plurality of non-tangential path segments, and the control logic being configured to generate a plurality of additional transitioning path segments substantially extending between the non-tangential path segments, wherein the control logic is configured to generate control signals to control operation of a plurality of motion axes to drive movement of a controlled element along a path defined by the non-tangential path segments and the additional transitioning path segments, wherein the plurality of path segments include a first path segment and a second path segment, wherein the first path segment and the second path segment are non-coplanar such that no plane exists which contains both the first path segment and the second path segment, and wherein the control logic is configured to generate a transitioning path segment that extends between the first path segment and the second path segment.
A motion control system comprising control logic and a programming interface, the programming interface being configured to permit a user to specify a plurality of non-tangential path segments, and the control logic being configured to generate a plurality of additional transitioning path segments substantially extending between the non-tangential path segments, wherein the control logic is configured to generate control signals to control operation of a plurality of motion axes to drive movement of a controlled element along a path defined by the non-tangential path segments and the additional transitioning path segments, wherein the programming interface is configured to permit the user to specify the plurality of non-tangential path segments in a first coordinate system, wherein the plurality of motion axes comprise a plurality of motors, wherein the plurality of motors define a second coordinate system which is different than the first coordinate system, and wherein the control logic includes coordinate transformation logic configured to perform coordinate transformations between the first coordinate system and the second coordinate system.
A motion control system comprising control logic and a programming interface, the programming interface being configured to permit a user to specify a plurality of non-tangential path segments, and the control logic being configured to generate a plurality of additional transitioning path segments substantially extending between the non-tangential path segments, wherein the control logic is configured to generate control signals to control operation of a plurality of motion axes to drive movement of a controlled element along a path defined by the non-tangential path segments and the additional transitioning path segments, and wherein the programming interface includes an instruction which permits the commanded path profile to be changed dynamically from a first path profile to a second path profile while the first path profile is being executed before a user-specified endpoint of the first path profile is reached.
A motion control system comprising control logic and a programming interface, the programming interface being configured to permit a user to specify a plurality of non-tangential path segments, and the control logic being configured to generate a plurality of additional transitioning path segments substantially extending between the non-tangential path segments, wherein the control logic is configured to generate control signals to control operation of a plurality of motion axes to drive movement of a controlled element along a path defined by the non-tangential path segments and the additional transitioning path segments, and wherein, during movement along the transitioning path segments, the controlled element transitions from the first user-specified path segment to the second user-specified path segment without spikes in acceleration.
A motion control system comprising control logic and a programming interface, the programming interface being configured to permit a user to specify a plurality of non-tangential path segments, and the control logic being configured to generate a plurality of additional transitioning path segments substantially extending between the non-tangential path segments, and wherein the control logic is configured to generate control signals to control operation of a plurality of motion axes to drive movement of a controlled element along a path defined by the non-tangential path segments and the additional transitioning path segments,
- wherein the programming interface permits the user to specify a merge type,
- wherein, according to a first merge type, (1) any currently executing coordinated motion instructions involving the same specified coordinate system are terminated and prior motion is merged into the current move, and (2) any currently executing system single axis motion instructions involving any axes defined in the specified coordinate system are not affected, and
- wherein, according to a second merge type, (1) any currently executing single axis motion instructions involving any axes defined in the specified coordinate system are terminated, (2) any currently executing coordinated motion instructions involving the same specified coordinate system are terminated, and (3) the prior motion is merged into the current move.
A control method for controlling movement of a controlled element in a multi-dimensional coordinate system, the multi-dimensional coordinate system being defined by at least first and second motion axes of a motion control system, comprising:
- controlling movement of a controlled element along a first user-specified path segment, the first user-specified path segment being specified in one or more instructions in a user program;
- controlling movement of the controlled element along a transition path segment, the transition path segment transitioning movement of the controlled element from a first trajectory along the first user-specified path segment to a second trajectory along a second user-specified path segment, the first and second trajectories having different orientations in the multi-dimensional coordinate system, and the transition path segment being generated by control logic and not being user-specified;
- and
- controlling movement of the controlled element along the second user-specified path segment, the second user-specified path segment being specified by the one or more instructions in the user program;
- and
- wherein, during movement along the transition path segment, the controlled element transitions from the first user-specified path segment to the second user-specified path segment without spikes in acceleration.
A control method for controlling movement of a controlled element in a multi-dimensional coordinate system, the multi-dimensional coordinate system being defined by at least first and second motion axes of a motion control system, comprising:
- controlling movement of a controlled element alone a first user-specified path segment, the first user-specified path segment being specified in one or more instructions in a user program;
- controlling movement of the controlled element along a transition path segment, the transition path segment transitioning movement of the controlled element from a first trajectory along the first user-specified path segment to a second trajectory along a second user-specified path segment, the first and second trajectories having different orientations in the multi-dimensional coordinate system, and the transition path segment being generated by control logic and not being user-specified;
- and
- controlling movement of the controlled element along the second user-specified path segment, the second user-specified path segment being specified by the one or more instructions in the user program;
- and
- wherein the first user-specified path segment and the second user-specified path segment are located in different planes of a three dimensional space.
A control method for controlling movement of a controlled element in a multi-dimensional coordinate system, the multi-dimensional coordinate system being defined by at least first and second motion axes of a motion control system, comprising:
- controlling movement of a controlled element along a first user-specified path segment, the first user-specified path segment being specified in one or more instructions in a user program;
- controlling movement of the controlled element along a transition path segment, the transition path segment transitioning movement of the controlled element from a first trajectory along the first user-specified path segment to a second trajectory along a second user-specified path segment, the first and second trajectories having different orientations in the multi-dimensional coordinate system, and the transition path segment being generated by control logic and not being user-specified;
- and
- controlling movement of the controlled element along the second user-specified path segment, the second user-specified path segment being specified by the one or more instructions in the user program;
- and
- wherein the transition path segment has a shape which is a circular segment.
A motion control system for controlling movement of a controlled element, the movement of the controlled element being driven by first and second motors, comprising:
- a first interpolator, the first interpolator generating a first set of position commands to control operation of the first and second motors, the first set of position commands being configured to control movement of the controlled element in a direction that is tangential to a trajectory of the controlled element throughout movement of the controlled element;
- and
- a second interpolator, the second interpolator generating a second set of position commands to control operation of the first and second motors, the second set of position commands being configured to control movement of the controlled element in a direction that is non-tangential to the trajectory of the controlled element throughout movement of the controlled element.
A motion control system for controlling three-dimensional movement of a controlled element, the movement of the controlled element being driven by first, second, and third motors, comprising:
- a first interpolator, the first interpolator generating a first set of position commands to control operation of the first, second, and third motors, the first set of position commands being configured to control movement of the controlled element in a direction of a first vector;
- a second interpolator, the second interpolator generating a second set of position commands to control operation of the first, second, and third motors, the second set of position commands being configured to control movement of the controlled element in a direction of a second vector;
- a third interpolator, the third interpolator generating a third set of set of position commands to control operation of the first, second, and third motors, the third set of position commands being configured to control movement of the controlled element in a direction of a third vector;
- and
- coordinate transformation logic, the coordinate transformation logic being configured to transform the first, second and third sets of source system position commands from a source coordinate system defined by a trajectory of the controlled element to a target coordinate system defined by first, second, and third motion axes;
- wherein one of the first, second, and third vectors is tangential to a trajectory of the controlled element throughout movement of the controlled element, and wherein the remaining ones of the first, second, and third vectors are normal to the trajectory of the controlled element and normal to each other throughout movement of the controlled element.
Dependencies are inferred from the claim text.