Parallel trajectory generation, interpolation, and control in a motion control application
AssigneeNational Instruments Corporation
InventorSundeep Chandhoke
Life of this patent
Estimating the term…
Abstract
A system and method for performing trajectory generation, interpolation, and control for a motion control application, where the trajectory generation, interpolation, and control are performed in parallel with each other. In one embodiment, an FPGA in a motion control device may be configured to perform the trajectory generation, interpolation, and control in parallel. Performing trajectory generation, interpolation, and control in parallel on an FPGA may increase the efficiency of the motion control application.
Claims45
A method for controlling a motion control device, the method comprising:
- executing a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data;
- executing an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data;
- and
- executing a control algorithm, wherein the control algorithm is operable to control the motion control device using the interpolated trajectory data;
- wherein the trajectory generation algorithm, the interpolation algorithm, and the control algorithm execute in parallel with each other.
A method for controlling a motion control device, the method comprising:
- executing a first loop, wherein the first loop is operable to generate trajectory data;
- executing a second loop, wherein the second loop is operable to interpolate the trajectory data;
- and
- executing a third loop, wherein the third loop is operable to control the motion control device using the interpolated trajectory data;
- wherein the first loop, the second loop, and the third loop execute in parallel with each other.
A method for controlling a motion control device, the method comprising:
- executing a first loop on an FPGA, wherein the first loop is operable to generate trajectory data;
- executing a second loop on the FPGA, wherein the second loop is operable to interpolate the trajectory data;
- and
- executing a third loop on the FPGA, wherein the third loop is operable to control the motion control device using the interpolated trajectory data;
- wherein the first loop, the second loop, and the third loop execute in parallel on the FPGA.
A method for configuring a motion control device, the method comprising:
- configuring the motion control device to execute a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data;
- configuring the motion control device to execute an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data;
- and
- configuring the motion control device to execute a control algorithm, wherein the control algorithm is operable to control the motion control device using the interpolated trajectory data;
- wherein said configuring the motion control to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm comprises configuring the motion control to execute the trajectory generation algorithm, the interpolation algorithm, and the control algorithm in parallel with each other.
A method for generating trajectory data for a motion control application, the method comprising:
- creating a software program which specifies program instructions for generating the trajectory data;
- converting the software program to a hardware executable format;
- configuring an FPGA with the hardware executable format, wherein said configuring the FPGA with the hardware executable format comprises configuring the FPGA to generate the trajectory data;
- and
- executing the FPGA, wherein the FPGA executes to generate the trajectory data.
A method for interpolating trajectory data for a motion control application, the method comprising:
- creating a software program which specifies program instructions for interpolating the trajectory data;
- converting the software program to a hardware executable format;
- configuring an FPGA with the hardware executable format, wherein said configuring the FPGA with the hardware executable format comprises configuring the FPGA to interpolate the trajectory data;
- and
- executing the FPGA, wherein the FPGA executes to interpolate the trajectory data.
A motion control device comprising:
- an FPGA;
- and
- one or more control outputs;
- wherein the FPGA is configured to execute:
- a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data;
- an interpolation algorithm, wherein the interpolation algorithm is operable to interpolate the trajectory data;
- and
- a control algorithm, wherein the control algorithm is operable to send signals to a motor via the one or more control outputs to control the motor;
- wherein the FPGA executes the trajectory generation algorithm, the interpolation algorithm, and the control algorithm in parallel with each other.
A method for controlling motion along multiple axes, the method comprising:
- generating trajectory data, wherein the trajectory data specifies a trajectory along each of the axes;
- and
- executing a plurality of control loops in parallel with each other, wherein each control loop executes to control motion along one of the axes according to the trajectory data.
A method for configuring a motion control device to control motion along multiple axes, the method comprising:
- configuring the motion control device to execute a trajectory generation algorithm, wherein the trajectory generation algorithm is operable to generate trajectory data, wherein the trajectory data specifies a trajectory along each of the axes;
- and
- configuring the motion control device to execute a plurality of control loops, wherein each control loop executes to control motion along one of the axes according to the trajectory data;
- wherein said configuring the motion control device to execute the plurality of control loops comprises configuring the motion control device to execute the plurality of control loops in parallel with each other.
Dependencies are inferred from the claim text.