UCM Poster Analysis — Project Plan
Related: Neuro 2026 Abstract
Purpose
Section titled “Purpose”Develop a quantitative methodology — grounded in the Uncontrolled Manifold framework (Scholz & Schöner, 1999) — to numerically distinguish correct from failure movement strategies across three representative Baseworks tasks. Output: a Constraint Violation Index (CVI) for each task, visualized as a bar chart beside each movement panel on the Neuro 2026 poster.
The three tasks are representative of three recurring constraint classes that appear throughout Baseworks training. The methodology is meant to suggest that this approach is generalizable, not limited to these specific tasks.
Conceptual Framework
Section titled “Conceptual Framework”Controlled variables and the UCM
Section titled “Controlled variables and the UCM”In UCM theory, a task defines one or more controlled variables — quantities the nervous system stabilizes. All joint configurations that preserve the controlled variable form the uncontrolled manifold (UCM). Configurations that disturb the controlled variable lie in the complementary subspace (⊥UCM).
The core Baseworks observation: most healthy adults systematically lack certain UCMs. They cannot maintain specific controlled variables — not because they are generally uncoordinated, but because those particular degrees of freedom have never been trained. Furthermore, they typically cannot perceive when the controlled variable has been violated (insufficient proprioceptive acuity in the ⊥UCM direction).
The three constraint classes
Section titled “The three constraint classes”| Class | Description | Representative task |
|---|---|---|
| Foundation invariance | Proximal segments stay fixed while distal segments move | Lunge |
| Rectangle integrity | A 4-point shape constraint on the trunk moves without deforming | Isolate |
| Multi-segment coordination | Relationship between two segment groups is preserved through overall movement | Tilt (Star) |
Each class appears in multiple Baseworks tasks. The three tasks on the poster are examples, not exhaustive.
Task Definitions
Section titled “Task Definitions”Task 1 — Lunge (sagittal plane, side view)
Section titled “Task 1 — Lunge (sagittal plane, side view)”Movement: From a deep lunge, lift the upper body while the legs remain as a fixed foundation.
Controlled variable: The leg triangle — three landmarks that must not displace.
Markers (3 total, lime green):
- Front toe
- Front knee
- Back knee
Geometric constraint: These three points form a triangle with approximately a 90° angle at the front knee (knee over toe). All three must stay fixed in space as the trunk rises.
UCM: Trunk joint angles — these can change freely as the upper body rises.
Failure pattern: The front shin becomes more vertical (front knee tracks backward over the foot), and/or the back knee shifts — the legs accommodate the trunk movement rather than serving as an anchor.
Metric — Shin Angle Delta:
- Measure: absolute change in front shin angle (front_toe → front_knee line from vertical) between pos1 and pos2
- Unit: degrees
- Ideal (correct): ≈ 0° (shin stays at same angle — foundation held)
- Failure: noticeably > 0° (shin rotated — front knee shifted)
- Rationale: captures the key controlled variable (shin orientation) directly; body-proportional without an arbitrary normalization reference
Task 2 — Isolate (frontal plane, front view)
Section titled “Task 2 — Isolate (frontal plane, front view)”Movement: Shift center of gravity laterally (pelvis slides parallel to the floor), then lift the unloaded leg. The trunk must remain upright throughout.
Controlled variable (two components):
- Vertical orientation of the trunk (no tilt)
- Rectangular shape of the trunk (no deformation)
Horizontal translation of the entire trunk is allowed (this is in the UCM — it is the mechanism of the weight shift itself).
Markers (4 total, lime green):
- Left shoulder
- Right shoulder
- Left hip
- Right hip
Geometric constraints:
- The midline (midpoint-of-shoulders → midpoint-of-hips) must remain vertical
- The shoulder line and hip line must remain parallel and horizontal (no shear)
UCM: Horizontal position of the trunk centroid — free to translate.
Failure patterns:
- Trunk tilts laterally (upper body tips to one side)
- Rectangle deforms: shoulders and hips move independently (shear)
- Often both occur together when the leg lifts
Metrics (two separate CVIs):
CVI-1 — Trunk Tilt Angle:
- Angle of trunk midline from true vertical (degrees)
- Ideal: 0°
- Failure: noticeably > 0°
CVI-2 — Shear Angle:
- Angle of shoulder line from horizontal, minus angle of hip line from horizontal
- If both tilt equally (rigid rectangle), this difference = 0°
- If top and bottom move independently (shear), difference > 0°
- Unit: degrees
- Ideal: 0°
- Failure: noticeably > 0°
Task 3 — Tilt / Star (frontal plane, front view)
Section titled “Task 3 — Tilt / Star (frontal plane, front view)”Movement: From a star position (arms horizontal, trunk vertical), perform a lateral tilt of the whole body. Trunk and arms should move as a coordinated unit.
Controlled variable (two components):
- Rectangular shape of the trunk (must not deform as the body tilts)
- Arm-trunk coordination (the arm line and trunk axis must maintain their relative angle)
Markers (6 total, lime green):
- Left wrist
- Right wrist
- Left shoulder
- Right shoulder
- Left hip
- Right hip
The 4 trunk markers (shoulders + hips) define the rectangle. The 2 wrist markers define the arm line.
Geometric constraints:
- Trunk rectangle: shoulder line and hip line must remain parallel (no shear deformation)
- Arm coordination: the wrist–wrist line must remain parallel to the shoulder–shoulder line
- Using parallelism (rather than an absolute angle) compensates for 3D-to-2D projection artifacts — the two lines undergo the same projection distortion, so relative angle is more robust than either absolute angle
UCM: Overall body tilt angle — free to vary.
Failure patterns:
- Trunk only: pelvis stays relatively vertical, chest flexes forward or leads, creating rectangle deformation
- Arms only: shoulder-arm alignment is lost — one arm drops or stays while the trunk tilts
- Mixed: both trunk deformation and arm decoupling
Metrics (two separate CVIs):
CVI-1 — Trunk Deformation (Shear Angle):
- Same computation as isolate CVI-2: angle of shoulder line minus angle of hip line from horizontal
- Ideal: 0° (both tilt by same amount → parallel lines maintained)
- Failure: > 0°
CVI-2 — Arm Decoupling Angle:
- |angle(wrist–wrist line from horizontal) − angle(shoulder–shoulder line from horizontal)|
- Ideal: 0° (arm line tracks shoulder line exactly)
- Failure: > 0°
- Note: both lines undergo the same camera projection, so the difference is projection-invariant
Marker Protocol
Section titled “Marker Protocol”Lime green (#00FF00, HSV hue ≈ 60°) is recommended as the standard marker color:
- Single clean HSV range (no wraparound, unlike red)
- Not present in skin, hair, or typical clothing
- High contrast against neutral grey/white backgrounds
- Trivially detectable via standard HSV thresholding
If lime green markers are unavailable, cyan (#00FFFF) is a reliable second choice.
Placement per task
Section titled “Placement per task”| Task | Markers | Placement notes |
|---|---|---|
| Lunge | Front toe, front knee, back knee | Toe = base of big toe or tip of foot; knees = lateral knee joint line |
| Isolate | Left shoulder, right shoulder, left hip, right hip | Shoulders = acromioclavicular joint or top of shoulder; hips = ASIS or top of iliac crest |
| Tilt | Same as Isolate, plus left wrist and right wrist | Wrists = dorsal wrist crease |
Image requirements
Section titled “Image requirements”- Neutral, single-color background (grey preferred)
- Subject photographed from the side (lunge) or front (isolate, tilt)
- Markers visible and unobstructed
- Images per analysis run:
- Lunge: 2 images — reference/starting position (pos1) + final position (pos2)
- Isolate: 1 image — final position only
- Tilt: 1 image — final position only
- To compare correct vs. failure execution, run the script twice with separate images and collect both outputs
Script Specification
Section titled “Script Specification”Three analysis scripts, one per task. A shared utility handles marker detection.
Shared: marker detection
Section titled “Shared: marker detection”detect_markers(image_path, color='green') → np.array of (x, y) centers- HSV thresholding for the chosen marker color
- Morphological cleanup to handle partial occlusion
- Returns sorted list of detected centroids
- Diagnostic output: number of markers detected, with visual confirmation image
Script 1: analyze_lunge.py
Section titled “Script 1: analyze_lunge.py”Input: pos1.png pos2.png (reference position, final position)Output: Printed CSV row — task, image filename, shin_angle_delta_deg Example: lunge,lunge_2.png,3.55Logic:
- Detect 3 markers in each image
- Sort by spatial position (consistent ordering: front-toe, front-knee, back-knee — sort by x then y)
- Compute angle of front_toe → front_knee line from vertical in each image
- Report absolute difference (degrees)
- Print result
Script 2: analyze_isolate.py
Section titled “Script 2: analyze_isolate.py”Input: pos2.png (final position only) pos2.png --pos1 pos1.png (optional: camera-tilt calibration)Output: Printed CSV row — task, image filename, trunk_tilt_deg, shear_angle_deg Example: isolate,isolate_2.png,3.2,1.1If --pos1 is provided, the trunk tilt measured in pos1 is subtracted as a camera-level offset from pos2. Shear angle is always computed from pos2 only.
Logic:
- Detect 4 markers, sort as rectangle (TL, TR, BL, BR)
- Compute:
- Tilt: angle of (midpoint_top → midpoint_bottom) vector from vertical
- Shear: angle(shoulder line from horizontal) − angle(hip line from horizontal)
- Print result
Script 3: analyze_tilt.py
Section titled “Script 3: analyze_tilt.py”Input: pos2.png (final position only — starting position not needed for computation)Output: Printed CSV row — task, image filename, shear_angle_deg, arm_decoupling_deg Example: tilt,tilt_2.png,2.8,4.1Logic:
- Detect 6 markers; identify wrists as the 2 outermost by x-coordinate; inner 4 = trunk rectangle
- Compute:
- Trunk shear: angle(shoulder line) − angle(hip line) from horizontal
- Arm decoupling: |angle(wrist line) − angle(shoulder line)| from horizontal
- Print result
Collecting data across participants
Section titled “Collecting data across participants”Run each script once per image. Paste the CSV rows into a spreadsheet for analysis and visualization. For poster bar charts: run the script on the correct-execution image and the failure-execution image separately, then plot both values side by side.
Poster Layout Plan
Section titled “Poster Layout Plan”Three movement panels, each containing:
- Photos with markers overlaid (starting position + correct + failure)
- One bar chart to the right showing CVI values, built from spreadsheet data
- Lunge: single bar pair (correct vs failure FDI)
- Isolate: two bar pairs (tilt angle + shear angle)
- Tilt: two bar pairs (shear angle + arm decoupling angle)
Each bar chart uses consistent color coding:
- Correct condition: green
- Failure condition: red
The three panels are titled by constraint class:
- Foundation Invariance (Lunge)
- Rectangle Integrity (Isolate)
- Multi-Segment Coordination (Tilt)
Open Questions / Notes
Section titled “Open Questions / Notes”-
Diagnostic mode: Each script should include a
--diagnosticflag that saves an annotated image (detected markers circled and numbered) before computing any metric. This lets you confirm correct detection visually — especially important if lighting or clothing color varies between sessions. The flag would output<filename>_diagnostic.pngalongside the numeric result. -
Shear angle / Rectangle Integrity: The shear angle metric is identical across Isolate and Tilt, and could eventually become a standalone
analyze_rectangle_integrity.pymodule usable across any task where the trunk rectangle appears — not named after a specific task. Deferred for now; metrics remain separated in task-specific scripts. -
Arm decoupling for twists: The wrist-line vs shoulder-line parallelism approach is specific to frontal-plane tasks with arms extended. Twist tasks would require a different 2D approach (TBD) — while failure patterns are perceptually obvious to an instructor, 2D quantification is non-trivial. Deferred.
-
If future tasks involve 3D motion capture, the same conceptual framework applies; the CVI metrics would be computed in 3D joint space rather than from 2D images