Automatic generation of a motion controller
AssigneeNational Instruments Corporation
InventorSundeep Chandhoke
Life of this patent
Estimating the term…
Abstract
A method for automatically creating a customized motion controller based on user input specifying desired characteristics of the motion controller. The method may compile the program into executable code and download the executable code to a target platform, thus enabling the target platform to function as the specified customized motion controller. User input may specify characteristics of the motion controller system such as: the target platform; the configuration of motors, sensors and I/O devices to be used; the supervisory control functions to be implemented; and the target language for the motion control program.
Claims20
A computer implemented method comprising:
- utilizing a computer to perform:
- receiving user input specifying desired characteristics for a motion controller, wherein the desired characteristics specified by the user input include supervisory control functions and trajectory generation functions;
- automatically generating a motion controller program that realizes the desired characteristics for the motion controller based on the user input, wherein said automatically generating the motion controller program comprises automatically generating program instructions implementing the supervisory control functions and the trajectory generation functions;
- downloading the motion controller program to a hardware platform;
- wherein the hardware platform executes the motion controller program to implement the motion controller having the desired characteristics, and wherein the motion controller program executes on the hardware platform to receive application level commands from a motion control application and generate corresponding control signals for at least one drive unit;
- automatically generating an application programming interface (API) corresponding to the motion controller program, wherein the API provides a software interface to the motion controller program executing on the hardware platform for applications running on a host computer.
A computer-readable memory medium comprising program instructions for automatically generating a motion controller, wherein the program instructions are executable by a processor to implement:
- receiving information from a user regarding characteristics of the motion controller, wherein the desired characteristics specified by the user input include supervisory control functions and trajectory generation functions;
- automatically generating a motion controller program, wherein the motion controller program is executable to implement the motion controller according to said characteristics, wherein the motion controller program is automatically generated without manual user coding of the motion controller program, and wherein said automatically generating the motion controller program comprises automatically generating program instructions implementing the supervisory control functions and the trajectory generation functions, and wherein the motion controller program executes on the hardware platform to receive application level commands from a motion control application and generate corresponding control signals for at least one drive unit;
- downloading executable code corresponding to the motion controller program to a target platform to configure the target platform as the motion controller
- automatically generating an application programming interface (API) corresponding to the motion controller program, wherein the API provides a software interface to the motion controller program executing on the target platform for applications running on a host computer.
A method comprising:
- receiving user input specifying requirements for a motion control program, wherein the requirements specified by the user input include supervisory control functions and trajectory generation functions;
- automatically creating a customized motion control program based on the user input, wherein the customized motion control program is executable to fulfill the requirements, wherein said automatically creating the customized motion control program comprises automatically generating program instructions implementing the supervisory control functions and the trajectory generation functions;
- downloading executable code corresponding to the customized motion control program to a target platform;
- executing the executable code on the target platform, wherein the target platform operates as a motion controller by executing the executable code, and wherein the executable code executes on the hardware platform to receive application level commands from a motion control application and generate corresponding control signals for at least one drive unit;
- automatically generating an application programming interface (API) corresponding to the motion controller program, wherein the API provides a software interface to the motion controller program executing on the target platform for applications running on a host computer.
A system for creating a custom motion controller, the system comprising:
- a controller platform;
- and
- a host computer coupled to the controller platform, wherein the host computer is operable to:
- receive user input specifying desired functionality of the motion controller, wherein the desired functionality specified by the user input includes supervisory control functions and trajectory generation functions;
- automatically generate a motion controller program to implement the motion controller based on the user input specifying the desired functionality of the motion controller, wherein said automatically generating the motion controller program comprises automatically generating program instructions implementing the supervisory control functions and the trajectory generation functions;
- create executable code corresponding to the motion controller program;
- and
- download the executable code corresponding to the motion controller program to the controller platform, wherein the controller platform operates as the motion controller by executing the executable code, and wherein the executable code executes on the controller platform to receive application level commands from a motion control application and generate corresponding control signals for at least one drive unit;
- automatically generate an application programming interface (API) corresponding to the motion controller program, wherein the API provides a software interface to the motion controller program executing on the controller platform for applications running on a host computer.
Dependencies are inferred from the claim text.