Robot Movement Control with Layered PID and PPI Feedback
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing programmable rovers and robots require complex programming for movement control, which can be burdensome for users in educational and entertainment settings, as they need to specify detailed motor signals for wheels or treads, rather than intuitive parameters like speed, time, and direction.
Innovation Solution
A system using a high-level controller to interpret movement commands specifying start and end positions, time, and type (linear or angular), and a low-level controller to correct deviations based on inertia measurement data, allowing users to define movements in terms of velocity, position, and heading, with PID and PPI controllers managing motor signals.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If detailed motor signals are specified for wheel or tread control, then movement precision is improved, but programming complexity increases
Solution Approach 1:
The control system is segmented into two distinct layers: a high-level controller that accepts intuitive movement commands (speed, time, direction) and a low-level controller that generates precise motor signals. This segmentation allows each layer to specialize - the high-level layer handles user-friendly abstraction while the low-level layer ensures precise execution, thereby reducing programming complexity without sacrificing movement precision.
Solution Approach 2:
The high-level controller acts as an intermediary between the user and the low-level motor control system. It translates intuitive movement parameters into detailed motor signals, shielding the user from the complexity of direct motor control while maintaining precise movement execution through the low-level controller's interpretation of high-level commands.
2Ease of operation
If intuitive movement parameters are used, then ease of operation is improved, but control precision deteriorates
Solution Approach 1:
The control system dynamically adapts its level of detail based on the operational layer. The high-level controller dynamically generates appropriate motor control strategies based on the movement type (linear or angular) and parameters, while the low-level controller dynamically adjusts motor signals in real-time to achieve precise movement. This dynamic adaptation allows intuitive parameters to be translated into precise control actions without requiring the user to understand the underlying complexity.
3Measurement precision
If deviation correction is continuously applied, then movement accuracy is improved, but system complexity increases
Solution Approach 1:
The low-level controller implements a feedback mechanism that continuously monitors actual device movement and compares it with the intended trajectory. When deviations are detected, the controller automatically generates corrective motor signals to bring the device back on course. This feedback loop ensures high movement accuracy while keeping the high-level controller simple, as the correction logic is isolated in the low-level controller.
Data Source
AI summary
Methods and systems are disclosed for controlling device movement based on a movement command. Issues on accurately controlling movement of a device such as a programmable robot and rover are addressed by first determining a command type of the movement command, followed by determining specific types of controllers for a high-level controller and a low-level controller based on the determined command type. When the command type is a linear movement, a Proportional-Integral-Derivative (PID) controller is used at the high-level controller and a Proportional/Proportional-Integral (PPI) controller is used at the low-level controller to accurately control a target distance. When the command type is an angular movement, the PPI controller is used at the high-level controller and the PID controller is used at the low-level controller to accurate control the end-heading of the device.


