User-Programmable Motion Controller via Automated Code Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Dedicated motion control boards are not user-programmable, limiting their usefulness and cost-effectiveness, as they require manual coding in graphical or text-based programming environments, which can be challenging for users without programming expertise.
Innovation Solution
A user-programmable motion control system that allows users to specify desired characteristics and functions, with a host computer generating executable code for a hardware platform, enabling programmatic generation of motion controllers without direct user coding, using a graphical or text-based interface.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a dedicated motion control board is used, then motion control functions are performed reliably, but the system lacks user-programmability and flexibility
Solution Approach 1:
The motion control board transitions from a static, fixed-function design to a dynamic, reconfigurable system. The microcontroller can be reprogrammed with different firmware to change motion control algorithms, supported motion types, and system behavior, allowing the same hardware to adapt to different application requirements while maintaining reliable motion control performance.
Solution Approach 2:
The system allows modification of key parameters including supported motion types (linear, rotary, multi-axis), communication protocols, and control algorithms through firmware updates. This enables the motion control board to be customized for specific applications without changing the physical hardware, resolving the contradiction between reliability and adaptability.
2Adaptability or versatility
If manual coding in graphical or text-based programming environments is required, then user-programmability is achieved, but the complexity and difficulty of creating motion control programs increases
Solution Approach 1:
A configuration utility software acts as an intermediary between the user and the motion control board's firmware. This tool provides a simplified interface that automatically generates appropriate code and configuration settings based on user-specified requirements, eliminating the need for users to manually code complex motion control programs while still achieving full user-programmability.
Solution Approach 2:
The system includes automated code generation capabilities where the configuration utility automatically creates the necessary firmware code, configuration files, and integration routines based on user inputs. This self-service approach reduces program creation complexity by handling the complex coding tasks automatically while maintaining user control over the motion control system's behavior.
3Adaptability or versatility
If manual coding is required for motion control programs, then customization is possible, but the time and expertise required for program creation increases
Solution Approach 1:
The configuration utility performs preliminary actions by pre-configuring motion control parameters, generating optimized code templates, and setting up default configurations based on common application types. This preliminary setup reduces the time required for program creation while maintaining full customization capability, as users only need to modify pre-generated code rather than write everything from scratch.
Solution Approach 2:
The configuration utility serves as a mediator that translates high-level user requirements into detailed motion control code automatically. This intermediary tool handles the time-consuming tasks of code generation, compilation, and configuration optimization, allowing users to achieve customized motion control programs much faster than manual coding would permit.
Data Source
AI summary
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.


