User-Programmable Motion Controller via Automated Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemotion control function reliabilityVSAvoiduser-programmability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improveuser-programmabilityVSAvoidprogram creation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #25Self-service

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

Engineering Contradiction:
Improvecustomization capabilityVSAvoidprogram creation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9285801B2Automatic generation of a motion controller
Publication Date: 2016.03.15 NATIONAL INSTRUMENTS CORP
  • US9285801B2 patent drawing
  • US9285801B2 patent drawing
  • US9285801B2 patent drawing

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.