PID++: A Computationally Lightweight Humanoid Motion Control Algorithm
Currently robotic motion control algorithms are tedious at best to implement, are lacking in automatic situational adaptability, and tend to be static in nature. Humanoid (human-like) control is little more than a dream, for all, but the fastest computers. The main idea of the work presented in this...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2021-01-01
|
Series: | Sensors |
Subjects: | |
Online Access: | https://www.mdpi.com/1424-8220/21/2/456 |
_version_ | 1797413277747118080 |
---|---|
author | Thomas F. Arciuolo Miad Faezipour |
author_facet | Thomas F. Arciuolo Miad Faezipour |
author_sort | Thomas F. Arciuolo |
collection | DOAJ |
description | Currently robotic motion control algorithms are tedious at best to implement, are lacking in automatic situational adaptability, and tend to be static in nature. Humanoid (human-like) control is little more than a dream, for all, but the fastest computers. The main idea of the work presented in this paper is to define a radically new, simple, and computationally lightweight approach to humanoid motion control. A new Proportional-Integral-Derivative (PID) controller algorithm called PID++ is proposed in this work that uses minor adjustments with basic arithmetic, based on the real-time encoder position input, to achieve a stable, precise, controlled, dynamic, adaptive control system, for linear motion control, in any direction regardless of load. With no PID coefficients initially specified, the proposed PID++ algorithm dynamically adjusts and updates the PID coefficients <inline-formula><math display="inline"><semantics><mrow><mi>K</mi><mi>p</mi></mrow></semantics></math></inline-formula>, <inline-formula><math display="inline"><semantics><mrow><mi>K</mi><mi>i</mi></mrow></semantics></math></inline-formula> and <inline-formula><math display="inline"><semantics><mrow><mi>K</mi><mi>d</mi></mrow></semantics></math></inline-formula> periodically. No database of values is required to be stored as only the current and previous values of the sensed position with an accurate time base are used in the computations and overwritten in each read interval, eliminating the need of deploying much memory for storing and using vectors or matrices. Complete in its implementation, and truly dynamic and adaptive by design, engineers will be able to use this algorithm in commercial, industrial, biomedical, and space applications alike. With characteristics that are unmistakably human, motion control can be feasibly implemented on even the smallest microcontrollers (MCU) using a single command and without the need of reprogramming or reconfiguration. |
first_indexed | 2024-03-09T05:14:47Z |
format | Article |
id | doaj.art-2e48e3b7076a4dd2bcbbf7cafa9439c4 |
institution | Directory Open Access Journal |
issn | 1424-8220 |
language | English |
last_indexed | 2024-03-09T05:14:47Z |
publishDate | 2021-01-01 |
publisher | MDPI AG |
record_format | Article |
series | Sensors |
spelling | doaj.art-2e48e3b7076a4dd2bcbbf7cafa9439c42023-12-03T12:46:04ZengMDPI AGSensors1424-82202021-01-0121245610.3390/s21020456PID++: A Computationally Lightweight Humanoid Motion Control AlgorithmThomas F. Arciuolo0Miad Faezipour1Department of Computer Science & Engineering, University of Bridgeport, Bridgeport, CT 06604, USADepartment of Computer Science & Engineering, University of Bridgeport, Bridgeport, CT 06604, USACurrently robotic motion control algorithms are tedious at best to implement, are lacking in automatic situational adaptability, and tend to be static in nature. Humanoid (human-like) control is little more than a dream, for all, but the fastest computers. The main idea of the work presented in this paper is to define a radically new, simple, and computationally lightweight approach to humanoid motion control. A new Proportional-Integral-Derivative (PID) controller algorithm called PID++ is proposed in this work that uses minor adjustments with basic arithmetic, based on the real-time encoder position input, to achieve a stable, precise, controlled, dynamic, adaptive control system, for linear motion control, in any direction regardless of load. With no PID coefficients initially specified, the proposed PID++ algorithm dynamically adjusts and updates the PID coefficients <inline-formula><math display="inline"><semantics><mrow><mi>K</mi><mi>p</mi></mrow></semantics></math></inline-formula>, <inline-formula><math display="inline"><semantics><mrow><mi>K</mi><mi>i</mi></mrow></semantics></math></inline-formula> and <inline-formula><math display="inline"><semantics><mrow><mi>K</mi><mi>d</mi></mrow></semantics></math></inline-formula> periodically. No database of values is required to be stored as only the current and previous values of the sensed position with an accurate time base are used in the computations and overwritten in each read interval, eliminating the need of deploying much memory for storing and using vectors or matrices. Complete in its implementation, and truly dynamic and adaptive by design, engineers will be able to use this algorithm in commercial, industrial, biomedical, and space applications alike. With characteristics that are unmistakably human, motion control can be feasibly implemented on even the smallest microcontrollers (MCU) using a single command and without the need of reprogramming or reconfiguration.https://www.mdpi.com/1424-8220/21/2/456adaptive motion controlPID++ algorithmhumanoidcomputationally lightweight |
spellingShingle | Thomas F. Arciuolo Miad Faezipour PID++: A Computationally Lightweight Humanoid Motion Control Algorithm Sensors adaptive motion control PID++ algorithm humanoid computationally lightweight |
title | PID++: A Computationally Lightweight Humanoid Motion Control Algorithm |
title_full | PID++: A Computationally Lightweight Humanoid Motion Control Algorithm |
title_fullStr | PID++: A Computationally Lightweight Humanoid Motion Control Algorithm |
title_full_unstemmed | PID++: A Computationally Lightweight Humanoid Motion Control Algorithm |
title_short | PID++: A Computationally Lightweight Humanoid Motion Control Algorithm |
title_sort | pid a computationally lightweight humanoid motion control algorithm |
topic | adaptive motion control PID++ algorithm humanoid computationally lightweight |
url | https://www.mdpi.com/1424-8220/21/2/456 |
work_keys_str_mv | AT thomasfarciuolo pidacomputationallylightweighthumanoidmotioncontrolalgorithm AT miadfaezipour pidacomputationallylightweighthumanoidmotioncontrolalgorithm |