When controlling the real-time system that is a robotic joint, reliability is the chief concern.
Implementing controllers via embedded software imposes several limitations on the controller frequency, such as algorithm latency and supplemental processes (like networking) competing for execution time. If these obstacles prevent a controller from finishing a cycle before its period expires, stability cannot be guaranteed. A developer of embedded software controls ought to be able to prove the timeliness of the controller based on analysis and validation. Otherwise, the choice of controller frequency is arbitrary, without any guarantee of stability in worst-case scenarios. This work realized a truly distributed control system for a humanoid robot by migrating a portion of the joint controller to the low-level. While the central computer is still responsible for determining a joint torque to properly realize whole-body objectives, the low-level processor executes force control locally to produce that torque via a linear actuator. Decoupling the force controller from networking reduced its latency and variability, allowing it to execute several times between receiving desired forces.
Furthermore, a real-time operating system was added on top of the existing firmware to enforce and verify timing constraints. Preemptive threading modules within the real-time kernel allow the processor to prioritize controller execution above all other activities, aiding its routine completion. The chosen RTOS provides powerful instrumentation and debugging tools to efficiently verify proper execution and quickly resolve errors. These changes allowed the controller to demonstratively operate at a greater frequency with a full guarantee that timeliness is enforced under all possible circumstances. Verification was performed on a robotic joint test stand to prepare for deployment on a full-scale humanoid robot. / Master of Science / A "control algorithm", or simply "controller", can be made to balance a humanoid robot by taking a snapshot of the robot's pose and motion to calculate how to manipulate each motor to maintain stability. This process repeats many times per second. The precise rate is a design choice termed as the controller's "frequency". While a higher frequency generally yields better performance, too great a frequency means the algorithm cannot finish before it is time to repeat, resulting in malfunction. This work implements tools for developers to observe exactly how long a controller algorithm takes to run. This helps the developer choose a frequency fast enough to maintain robot balance within the computer's capabilities.
Identifer | oai:union.ndltd.org:VTETD/oai:vtechworks.lib.vt.edu:10919/118134 |
Date | 23 February 2024 |
Creators | Stelmack, Maxwell Asher |
Contributors | Electrical and Computer Engineering, Leonessa, Alexander, Chantem, Thidapat, Williams, Ryan K. |
Publisher | Virginia Tech |
Source Sets | Virginia Tech Theses and Dissertation |
Language | English |
Detected Language | English |
Type | Thesis |
Format | ETD, application/pdf |
Rights | In Copyright, http://rightsstatements.org/vocab/InC/1.0/ |
Page generated in 0.002 seconds