Home Theory AI & PCT Robotics Consulting Blog FAQ About
PCT in robotics — control, not commands

The robot doesn't follow instructions.
It controls what it perceives.

Every industrial arm, every balancing drone, every walking machine runs on control loops. PCT says most of them are built with the wrong architecture. Here is the alternative — and the evidence behind it.

// the_control_problem

Robotics has a control problem — and it's architectural

The standard approach to robot control looks like this: build a mathematical model of the robot, compute the optimal control inputs using that model, then apply those inputs and hope the real world matches the math. Linear-Quadratic Regulators (LQR), Model Predictive Control (MPC), computed torque methods — they all share the same dependency on accurate models. When the model is wrong — and in the physical world, it is always at least slightly wrong — performance degrades. Sometimes gracefully. Sometimes catastrophically.

PCT takes a fundamentally different approach. Instead of computing what the robot should do, you define what it should perceive. The controller acts to keep sensory feedback at a reference value. No model of the plant dynamics is needed. No inverse kinematics. No trajectory optimization. Just a closed loop between perception and action, running continuously, correcting for whatever disturbances the real world throws at it.

"The output of a control system is not the controlled quantity. The output is whatever the system does to affect the controlled quantity through the environment."

— William T. Powers, Behavior: The Control of Perception, 1973

This is not a philosophical distinction. A PCT-controlled inverted pendulum needs one gain parameter and one reference signal. An LQR controller for the same task needs a full state-space model, a cost function with tuned weights, and a Riccati equation solver. Both keep the pendulum upright. But push the pendulum harder than the model predicts, change its mass, add friction — the PCT controller keeps working. The LQR controller needs to be redesigned.

// hierarchical_architecture

Eleven levels deep — the hierarchy that scales

The power of PCT in robotics is not a single loop. It is the hierarchy. Powers proposed 11 levels of perceptual control, from intensity signals at the bottom to system-concept control at the top. In robotics, this translates directly: low-level loops control joint torques, mid-level loops control end-effector positions, high-level loops control task-level goals like "pick up the cup" or "maintain 0.5 meters from the human."

Each level operates autonomously. The high-level loop does not compute joint torques — it has no idea what a joint torque is. It outputs a reference signal for the level below. That level outputs a reference for the level below it. And so on, down to the hardware. Disturbances at any level are corrected at that level. A gust of wind pushing a drone is handled by the lowest stabilization loop before the navigation loop even registers a deviation. This is how biological motor control works — your cerebellum handles balance corrections that your prefrontal cortex never sees.

The practical advantage is modularity. You can swap the physical robot — different actuators, different sensors — and only the lowest-level loops need to change. The task-level architecture remains identical. Try doing that with a monolithic MPC controller optimized for a specific kinematic chain.

// pct_vs_classical

PCT vs. LQR, MPC, and PID — an honest comparison

01 // pct

Perceptual Control

No plant model required. Hierarchical loops. Inherent disturbance rejection. Scales through adding control levels. Weakness: no trajectory optimality guarantees, requires manual identification of controlled variables.

02 // lqr

Linear-Quadratic Regulator

Optimal for linear systems with quadratic cost. Well-understood stability margins. Requires accurate linearized model and full state observation. Degrades with model mismatch, nonlinearities, and unmodeled dynamics.

03 // mpc

Model Predictive Control

Handles constraints explicitly. Optimizes over a prediction horizon. Computationally expensive — real-time feasibility depends on model complexity. Powerful but brittle when model accuracy drops below threshold.

04 // pid

PID Control

Simple, robust, well-understood. The workhorse of industrial control. Limited to single-loop applications. Multi-loop PID systems require careful tuning of interaction effects. PCT's hierarchy provides what PID cannot: structured multi-level control without cross-coupling headaches.

// in_practice

Twenty lines of code — the entire controller

A PCT control loop is stunningly simple in implementation. Here is a complete single-level controller in Python — the same logic that scales to 11 hierarchical levels when loops are stacked:

# PCT single-loop controller
import time

def pct_loop(sensor, actuator, reference, gain, dt=0.01):
    """Minimal PCT control loop."""
    while True:
        perception = sensor.read()        # What the robot perceives
        error = reference - perception    # Gap between desired and actual
        output = gain * error             # Action to reduce the gap
        actuator.write(output)            # Act on the environment
        time.sleep(dt)                    # Loop rate

# Hierarchical: high-level output becomes
# low-level reference signal. That's it.
# reference_low = output_high

That is the entire algorithm. No Kalman filter. No Jacobian. No optimization solver. The complexity of PCT-based robotics lies not in the control law — it lies in identifying the right controlled variables and structuring the hierarchy correctly. The engineering challenge shifts from "how do I solve this differential equation" to "what should this robot perceive, and in what order of priority." That is a fundamentally different — and arguably more productive — question.

PCT vs. LQR — The Full Technical Comparison

Inverted pendulum benchmarks, disturbance rejection tests, and tuning complexity analysis.

Read the Analysis
// frequently_asked

Robotics FAQ — 17 questions, no filler

What is PCT-based robot control?

+

PCT-based robot control uses closed-loop perceptual feedback to maintain desired sensor states. Instead of computing optimal trajectories, the robot continuously compares its current perception — joint angles, forces, distances — against internal reference signals and acts to minimize the difference. This makes the system inherently robust to disturbances without needing explicit disturbance models.

How does PCT differ from LQR in robotics?

+

LQR computes optimal control inputs by minimizing a cost function over a linearized system model. PCT does not require a system model at all — it uses direct perceptual feedback. LQR needs accurate state estimation and breaks down when the real system deviates from the model. PCT controllers handle model uncertainty naturally because they respond to actual perceptual error, not predicted error.

Can PCT replace Model Predictive Control?

+

PCT does not aim to replace MPC in all applications. MPC excels where precise trajectory optimization over a known horizon is critical — industrial chemical processes, spacecraft maneuvering. PCT offers advantages where real-time disturbance rejection matters more than trajectory optimality: legged locomotion, dexterous manipulation, human-robot interaction. The two can be combined — MPC for high-level planning, PCT for low-level reactive control.

What is hierarchical control in PCT robotics?

+

Powers proposed 11 levels of perceptual control arranged hierarchically. In robotics, this maps to nested control loops: a high-level loop controls "distance to target," its output becomes the reference for a mid-level "velocity toward target" loop, which sets references for low-level joint torque loops. Each level only needs to control its own perceptual variable — it has no knowledge of levels above or below.

Has PCT been tested in physical robots?

+

Yes. PCT-based controllers have been demonstrated on inverted pendulums, robotic arms, and balancing platforms. The most cited demonstrations involve tracking tasks where a PCT controller matches or exceeds PID performance while using simpler tuning — the controller only needs a gain parameter and a reference signal, not a full plant model. Researchers at the University of Manchester and others have published experimental results.

Why is PCT relevant to legged locomotion?

+

Legged locomotion is inherently unstable and subject to continuous disturbances — uneven terrain, wind, payload shifts. Traditional controllers require detailed dynamic models and pre-computed gaits. PCT controllers maintain balance by controlling perceptual variables like center-of-mass position and body orientation directly. Higher loops handle navigation while lower loops handle millisecond-level balance corrections autonomously.

How does PCT handle sensor noise?

+

PCT controllers are inherently low-pass filters because they respond to perceptual error through output functions with finite gain and bandwidth. High-frequency sensor noise produces small, rapidly fluctuating error signals that get attenuated by the output function's response characteristics. This mirrors how biological control systems handle noisy neural signals — the loop's time constants naturally smooth the response without requiring explicit filtering.

What is a controlled variable in robot control?

+

A controlled variable is the specific perception that the control loop acts to maintain at a reference value. In robotics, this could be a joint angle, an end-effector position, a force reading, a distance measurement, or any sensor-derived quantity. The key insight: identify what the robot should perceive — not what it should do. Actions emerge from the error between perceived and desired states.

Can PCT work with reinforcement learning?

+

Yes, and this is an active research direction. PCT provides the internal goal structure that RL agents lack. RL excels at learning policies but struggles with reward specification and generalization. PCT provides stable reference signals and hierarchical architecture. The combination uses RL to learn appropriate reference signals and gain parameters while PCT's control loops handle real-time execution and disturbance rejection.

What is the difference between PCT and PID control?

+

PID is a single-loop controller using proportional, integral, and derivative terms. PCT uses only proportional control within each loop but organizes multiple loops hierarchically. The integral and derivative behaviors emerge naturally from interactions between hierarchical levels. PCT's advantage: it scales to complex multi-variable systems without the tuning complexity of multi-loop PID.

How does PCT approach robot grasping?

+

In PCT-based manipulation, the robot controls perceptions of contact force, finger position, and object orientation simultaneously through nested loops. A high-level loop controls "object at target location." A mid-level loop controls grip force — not by commanding a specific force, but by maintaining the perception of adequate grip against slippage. This handles objects of unknown weight and friction naturally because the loops respond to actual sensory feedback.

What languages are used for PCT robotics implementations?

+

Most academic implementations use MATLAB/Simulink. Python implementations exist using NumPy and SciPy, often with ROS for hardware integration. C++ is used for real-time embedded controllers. The algorithms are simple — a basic PCT loop is under 20 lines in any language. The complexity lies in defining the right perceptual variables and hierarchical structure, not in the code.

Does PCT work for multi-robot coordination?

+

PCT provides a natural framework for multi-robot systems. Each robot controls its own perceptual variables independently. Coordination emerges when controlled variables include perceptions of other robots — distance to neighbors, formation shape, relative velocity. No central coordinator is needed. This mirrors how flocks of birds coordinate: each individual controls its own perceptions of spacing and alignment, and group behavior emerges.

What are the limitations of PCT in robotics?

+

PCT's main limitation is requiring manual identification of controlled variables and hierarchy. It lacks trajectory optimization — it controls perceptions to references but does not optimize paths. For time-optimal or energy-optimal trajectories, PCT alone is insufficient. Theoretical stability guarantees are also less developed than for classical methods like LQR or Lyapunov-based approaches.

How does Active Inference relate to PCT robotics?

+

Friston's Active Inference is mathematically equivalent to PCT in many formulations — both minimize discrepancy between expected and actual sensory states. Active Inference adds Bayesian inference and free energy minimization for handling uncertainty. In robotics, it has been applied to adaptive control where the system simultaneously updates its world model and control actions. PCT purists argue the Bayesian math is unnecessary; Active Inference researchers argue it provides stronger theoretical foundations.

Can PCT-based robots learn new tasks?

+

PCT itself does not include a learning mechanism — it specifies how control works, not how new structures are acquired. Powers proposed "reorganization" — randomly varying parameters when persistent error exists, keeping changes that reduce error. Modern approaches combine PCT structure with gradient-based learning or evolutionary algorithms to discover appropriate references and hierarchies for new tasks.

What is the simplest PCT robotics demonstration?

+

A one-DOF tracking task: a motor-driven joint controlled by a single PCT loop. Reference specifies desired angle, perception is the encoder reading, error drives the motor. Apply random disturbance torques — the joint holds position. Change the reference — smooth transition. The entire controller is one line: output = gain × (reference − perception). This trivial example demonstrates the principle that scales to complex multi-joint systems through hierarchical organization.