{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "398a5d1b",
   "metadata": {},
   "source": [
    "# Static support boundary\n",
    "\n",
    "## Goal\n",
    "\n",
    "Test the Iteration 0 prediction for issue #24: does the signed support margin reach zero before the rear feet unload?\n",
    "\n",
    "Human prediction: a centered ballast keeps the COM centered; a forward ballast moves it toward the front; beyond the front support edge creates a tipping hazard. The human predicted rear-foot load would increase with forward ballast and estimated a 20–30° forward post-tip pitch.\n",
    "\n",
    "This notebook is the analysis front end. It invokes the focused headless MuJoCo fixture only to obtain contact loads; it does not open a viewer or make a C-1N capability claim."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e79da78",
   "metadata": {},
   "source": [
    "## Setup\n",
    "\n",
    "### Key assumptions\n",
    "\n",
    "- Three feet remain fixed relative to the torso.\n",
    "- Only an abstract payload position changes.\n",
    "- The model is a support-mechanics fixture, not C-1N morphology.\n",
    "- A two-second rollout is used to let each condition settle or expose loss of rear contact."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "69cc1ad4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-13T11:58:00.224205Z",
     "iopub.status.busy": "2026-08-13T11:58:00.223971Z",
     "iopub.status.idle": "2026-08-13T11:58:00.950504Z",
     "shell.execute_reply": "2026-08-13T11:58:00.949772Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from static_support_boundary import PAYLOAD_SHIFT_LIMIT, observe"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8260925c",
   "metadata": {},
   "source": [
    "## Steps\n",
    "\n",
    "### 1. Sweep payload position\n",
    "\n",
    "The sweep is coarse by design. Use the first transition to choose a narrower next sweep."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "4908b929",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-13T11:58:00.952123Z",
     "iopub.status.busy": "2026-08-13T11:58:00.951820Z",
     "iopub.status.idle": "2026-08-13T11:58:01.107210Z",
     "shell.execute_reply": "2026-08-13T11:58:01.106529Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>payload_shift_m</th>\n",
       "      <th>support_margin_m</th>\n",
       "      <th>front_load_n</th>\n",
       "      <th>rear_left_load_n</th>\n",
       "      <th>rear_right_load_n</th>\n",
       "      <th>minimum_rear_load_n</th>\n",
       "      <th>com_x_m</th>\n",
       "      <th>roll_deg</th>\n",
       "      <th>pitch_deg</th>\n",
       "      <th>standing_metric_pass</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.00</td>\n",
       "      <td>0.130408</td>\n",
       "      <td>7.599474</td>\n",
       "      <td>5.765013</td>\n",
       "      <td>5.765013</td>\n",
       "      <td>5.765013</td>\n",
       "      <td>-0.001359</td>\n",
       "      <td>-3.072152e-18</td>\n",
       "      <td>0.005018</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.10</td>\n",
       "      <td>0.116914</td>\n",
       "      <td>8.792316</td>\n",
       "      <td>5.168592</td>\n",
       "      <td>5.168592</td>\n",
       "      <td>5.168592</td>\n",
       "      <td>0.029828</td>\n",
       "      <td>1.233045e-17</td>\n",
       "      <td>0.009814</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.20</td>\n",
       "      <td>0.103424</td>\n",
       "      <td>9.984834</td>\n",
       "      <td>4.572333</td>\n",
       "      <td>4.572333</td>\n",
       "      <td>4.572333</td>\n",
       "      <td>0.061006</td>\n",
       "      <td>-1.787620e-16</td>\n",
       "      <td>0.014506</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.30</td>\n",
       "      <td>0.089937</td>\n",
       "      <td>11.177012</td>\n",
       "      <td>3.976244</td>\n",
       "      <td>3.976244</td>\n",
       "      <td>3.976244</td>\n",
       "      <td>0.092175</td>\n",
       "      <td>-1.586728e-16</td>\n",
       "      <td>0.019086</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.40</td>\n",
       "      <td>0.076454</td>\n",
       "      <td>12.368841</td>\n",
       "      <td>3.380329</td>\n",
       "      <td>3.380329</td>\n",
       "      <td>3.380329</td>\n",
       "      <td>0.123335</td>\n",
       "      <td>2.336176e-17</td>\n",
       "      <td>0.023554</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0.50</td>\n",
       "      <td>0.062976</td>\n",
       "      <td>13.560317</td>\n",
       "      <td>2.784591</td>\n",
       "      <td>2.784591</td>\n",
       "      <td>2.784591</td>\n",
       "      <td>0.154485</td>\n",
       "      <td>-1.639864e-16</td>\n",
       "      <td>0.027907</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0.60</td>\n",
       "      <td>0.049501</td>\n",
       "      <td>14.751442</td>\n",
       "      <td>2.189028</td>\n",
       "      <td>2.189028</td>\n",
       "      <td>2.189028</td>\n",
       "      <td>0.185626</td>\n",
       "      <td>1.416759e-16</td>\n",
       "      <td>0.032147</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.70</td>\n",
       "      <td>0.036030</td>\n",
       "      <td>15.942219</td>\n",
       "      <td>1.593639</td>\n",
       "      <td>1.593639</td>\n",
       "      <td>1.593639</td>\n",
       "      <td>0.216757</td>\n",
       "      <td>5.748162e-17</td>\n",
       "      <td>0.036276</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0.80</td>\n",
       "      <td>0.022564</td>\n",
       "      <td>17.132655</td>\n",
       "      <td>0.998421</td>\n",
       "      <td>0.998421</td>\n",
       "      <td>0.998421</td>\n",
       "      <td>0.247879</td>\n",
       "      <td>9.481841e-17</td>\n",
       "      <td>0.040294</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0.90</td>\n",
       "      <td>0.009101</td>\n",
       "      <td>18.322758</td>\n",
       "      <td>0.403370</td>\n",
       "      <td>0.403370</td>\n",
       "      <td>0.403370</td>\n",
       "      <td>0.278993</td>\n",
       "      <td>3.048139e-18</td>\n",
       "      <td>0.044205</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0.92</td>\n",
       "      <td>0.006409</td>\n",
       "      <td>18.560738</td>\n",
       "      <td>0.284379</td>\n",
       "      <td>0.284379</td>\n",
       "      <td>0.284379</td>\n",
       "      <td>0.285215</td>\n",
       "      <td>-1.422508e-16</td>\n",
       "      <td>0.044975</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0.94</td>\n",
       "      <td>0.003717</td>\n",
       "      <td>18.798711</td>\n",
       "      <td>0.165393</td>\n",
       "      <td>0.165393</td>\n",
       "      <td>0.165393</td>\n",
       "      <td>0.291437</td>\n",
       "      <td>-7.185765e-17</td>\n",
       "      <td>0.045740</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.96</td>\n",
       "      <td>0.001007</td>\n",
       "      <td>19.038238</td>\n",
       "      <td>0.045629</td>\n",
       "      <td>0.045629</td>\n",
       "      <td>0.045629</td>\n",
       "      <td>0.297705</td>\n",
       "      <td>1.073486e-16</td>\n",
       "      <td>0.046506</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.98</td>\n",
       "      <td>-0.096543</td>\n",
       "      <td>15.158607</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.545929</td>\n",
       "      <td>2.489353e-14</td>\n",
       "      <td>23.588235</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>1.00</td>\n",
       "      <td>-0.095626</td>\n",
       "      <td>15.146059</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.542643</td>\n",
       "      <td>-5.733115e-11</td>\n",
       "      <td>23.934518</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>1.10</td>\n",
       "      <td>-0.093017</td>\n",
       "      <td>15.111429</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.541255</td>\n",
       "      <td>-6.283008e-08</td>\n",
       "      <td>25.073569</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>1.20</td>\n",
       "      <td>-0.094944</td>\n",
       "      <td>15.138791</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.549230</td>\n",
       "      <td>-1.344223e-07</td>\n",
       "      <td>24.208645</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    payload_shift_m  support_margin_m  front_load_n  rear_left_load_n  \\\n",
       "0              0.00          0.130408      7.599474          5.765013   \n",
       "1              0.10          0.116914      8.792316          5.168592   \n",
       "2              0.20          0.103424      9.984834          4.572333   \n",
       "3              0.30          0.089937     11.177012          3.976244   \n",
       "4              0.40          0.076454     12.368841          3.380329   \n",
       "5              0.50          0.062976     13.560317          2.784591   \n",
       "6              0.60          0.049501     14.751442          2.189028   \n",
       "7              0.70          0.036030     15.942219          1.593639   \n",
       "8              0.80          0.022564     17.132655          0.998421   \n",
       "9              0.90          0.009101     18.322758          0.403370   \n",
       "10             0.92          0.006409     18.560738          0.284379   \n",
       "11             0.94          0.003717     18.798711          0.165393   \n",
       "12             0.96          0.001007     19.038238          0.045629   \n",
       "13             0.98         -0.096543     15.158607          0.000000   \n",
       "14             1.00         -0.095626     15.146059          0.000000   \n",
       "15             1.10         -0.093017     15.111429          0.000000   \n",
       "16             1.20         -0.094944     15.138791          0.000000   \n",
       "\n",
       "    rear_right_load_n  minimum_rear_load_n   com_x_m      roll_deg  pitch_deg  \\\n",
       "0            5.765013             5.765013 -0.001359 -3.072152e-18   0.005018   \n",
       "1            5.168592             5.168592  0.029828  1.233045e-17   0.009814   \n",
       "2            4.572333             4.572333  0.061006 -1.787620e-16   0.014506   \n",
       "3            3.976244             3.976244  0.092175 -1.586728e-16   0.019086   \n",
       "4            3.380329             3.380329  0.123335  2.336176e-17   0.023554   \n",
       "5            2.784591             2.784591  0.154485 -1.639864e-16   0.027907   \n",
       "6            2.189028             2.189028  0.185626  1.416759e-16   0.032147   \n",
       "7            1.593639             1.593639  0.216757  5.748162e-17   0.036276   \n",
       "8            0.998421             0.998421  0.247879  9.481841e-17   0.040294   \n",
       "9            0.403370             0.403370  0.278993  3.048139e-18   0.044205   \n",
       "10           0.284379             0.284379  0.285215 -1.422508e-16   0.044975   \n",
       "11           0.165393             0.165393  0.291437 -7.185765e-17   0.045740   \n",
       "12           0.045629             0.045629  0.297705  1.073486e-16   0.046506   \n",
       "13           0.000000             0.000000  0.545929  2.489353e-14  23.588235   \n",
       "14           0.000000             0.000000  0.542643 -5.733115e-11  23.934518   \n",
       "15           0.000000             0.000000  0.541255 -6.283008e-08  25.073569   \n",
       "16           0.000000             0.000000  0.549230 -1.344223e-07  24.208645   \n",
       "\n",
       "    standing_metric_pass  \n",
       "0                   True  \n",
       "1                   True  \n",
       "2                   True  \n",
       "3                   True  \n",
       "4                   True  \n",
       "5                   True  \n",
       "6                   True  \n",
       "7                   True  \n",
       "8                   True  \n",
       "9                   True  \n",
       "10                  True  \n",
       "11                  True  \n",
       "12                  True  \n",
       "13                 False  \n",
       "14                 False  \n",
       "15                 False  \n",
       "16                 False  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "coarse_shifts = np.round(np.linspace(0.0, 0.9, 10), 2)\n",
    "near_boundary_shifts = np.array([0.92, 0.94, 0.96, 0.98, 1.00, 1.10, 1.20])\n",
    "shifts = np.concatenate((coarse_shifts, near_boundary_shifts))\n",
    "records = []\n",
    "for shift in shifts:\n",
    "    observation = observe(float(shift), seconds=2.0)\n",
    "    loads = observation['foot_normal_loads_n']\n",
    "    records.append({\n",
    "        'payload_shift_m': shift,\n",
    "        'support_margin_m': observation['support_margin_m'],\n",
    "        'front_load_n': loads[0],\n",
    "        'rear_left_load_n': loads[1],\n",
    "        'rear_right_load_n': loads[2],\n",
    "        'minimum_rear_load_n': min(loads[1:]),\n",
    "        'com_x_m': observation['com_world_xy_m'][0],\n",
    "        'roll_deg': np.rad2deg(observation['torso_roll_rad']),\n",
    "        'pitch_deg': np.rad2deg(observation['torso_pitch_rad']),\n",
    "        'standing_metric_pass': bool(observation['standing_metric_pass']),\n",
    "    })\n",
    "results = pd.DataFrame(records)\n",
    "results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "84d93fc9",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-13T11:58:01.108730Z",
     "iopub.status.busy": "2026-08-13T11:58:01.108506Z",
     "iopub.status.idle": "2026-08-13T11:58:01.341128Z",
     "shell.execute_reply": "2026-08-13T11:58:01.340434Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAJOCAYAAAAqFJGJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAoRpJREFUeJzt3Qd4W+XVwPHjvfdM7OwdkpAJGYxA2Ltlt8wWyiiUsvcqUAoflFlGaYECLZsyyh4BEjLIJHtPO/Hee+l7zitLWJ6yLVvr/+MRtq+urq6ubOWe+55z3gCLxWIRAAAAAOiFwN48GAAAAAAILAAAAAC4BCMWAAAAAHqNwAIAAABArxFYAAAAAOg1AgsAAAAAvUZgAQAAAKDXCCwAAAAA9BqBBQAAAIBeI7AA4DHi4+Plqquu6vfnfeONNyQgIEBWr17t1PrLli2TOXPmSHR0tHnct99+2+f7iJ674447zPvU0NDgtYexu7+jAOAOBBYA+sU555xjTozau/3lL3/xmndBT07PPPNMSUtLk5ycHLFYLDJ37lyXP8/9999vjk1FRYXLt+3tODYA4JmC3b0DAPxLfX29BAe3/9FTUlIinm737t3mdt9995kRCwAAYMWIBQB0Q0FBgfkaERHBcQMAoAUCCwAeW2PxyiuvmHSgJ5980mG9559/3ix/4YUX7Mu2b98u559/vqSnp0toaKiMHDlS/vznP0tjY6PDY7/44guZPn26hIeHy/Dhwx220ZUzzjhDZs6cab7XdCjdh7Fjx9rvX7JkiRx33HESFxdnAo+pU6fKv/71rzbb6Wq9Sy65RO68807zfUxMjD1lbPny5R3u2759++Q3v/mNDBo0SCIjI2XcuHFy2223SWlpqX2diy66yByf1l577TWz/XXr1rWpS9DH6/4kJCSY/T377LPNc7XUnXWdPU62bZaVlcmVV14pqampkpKS0qNjY1NZWemy/evJsdTn/8Mf/iBJSUlm308//XTJz89vsw1nf0dtz2W76QjarFmz5O2333bqWP773/82y7/66qs229Zt6H2ffPJJj3/nfvzxR7ONDz/80P6YzZs3m2XJycnS1NRkX37jjTeabdTW1nb7b9qZ9br7OwqgZwgsAHisCy64QC699FK54YYbZPHixWbZihUr5JprrpELL7zQ3Kc2bdokM2bMMCcIn3/+uRQVFZlg5PHHH5fLLrvMvr358+fLiSeeKAcccIA5wfnhhx9k48aN8uabbzq1P++88459P/TES+sr9LnVwoUL5fDDDzcnoitXrpQ9e/aYE8eLL77YnOTYOLPeP/7xD5NqpcrLy83z6E1PNjui21izZo18+umnUlxcLB999JEJ1F5//XXpDT0RPvbYY036lx7bVatWyRFHHGFOknuyrrPHqeU2dX19vx588MEeHZu+3L/u0N/jww47THbu3GnepwULFsgVV1zhsE53fkfPO+88++vXk3Rd/+ijjzb1TN98802Xx1KDYw0ynnnmmTbr6rKMjAxzvHr6O6fviZ7A67G20SBGj21hYaE5vi2X67EJCwvr1t+0s+v15PcZQA9YAKAfnH322Rb9yGl9i4uLs6+j3//+9793eFxNTY1l6tSplszMTMvmzZstQ4cOtUycONFSVVVlX+f444+3pKenW8rKyhwe+/LLL5vn2LBhg/l51qxZlhEjRlgaGhoc1ps5c6ZZb9WqVV2+jsWLF5t13377bYfls2fPtgwYMMDsb+vXHRYWZsnPz+/Wevfdd595nvLy8i73qbq62qz70EMPdbrehRdeaElLS2uz/NVXXzWPX7t2rX3Z7bffbpY99thjDusuWbLELP/rX//ao3Wdff22bT766KNt9rc7x6av9q8nx/KZZ55xWPfee++1BAQEWAoKCuzLXPE7On36dMs555zT5vnbO5a33nqrJSgoyJKVlWVftnHjRrO+Pq63v3Onn366ZeTIkfafTz31VMu5555r/o7//Oc/m2V5eXnmODzyyCPd/pt2dr3u/A4A6DlGLAD0e/G27Sqr3roq2NYrmDpSoN2RDjzwQHNFUn+21TjU1NTIl19+aVJXNL2kpaOOOsp8/f77780VyaVLl8oJJ5wgQUFBDuuddtppDj/rVevWnat0WUeqqqpM+oxeabZdcW2ZPqXpHXrl2dn1uktTZsaMGWOu0uoVfVemdpxyyikOPx988MEm5aS9K+JdrduT1996m335Wvrq/bHR7bY0YcIE8zegIxiqO7+jqq6uznTImjhxokkjapkWtm3bti5fv7r88svN17///e8OoxW6HU1z6u3vnI6g6L7oa9SOajoio8v0pilfttEKPQ66rDt/086u19PfZwDdR2ABwOMNGzZMjjzySHMi8ctf/lJGjx5tv09TKvSERXPgtduUnpDp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rlJXVycXX3yxvPvuuzJgwADJz8+Xxx57TC699NJePUYDpLfeessEHTYjR440M4w7i8ACAH4ONLbvLzNBhnad0q/FFY6BRlhIoEwa1jyiMSpZJg5LlDAnAg1XpXcBADxkHospU6bITz/9JLNmzZL+dP/998v8+fNl69atMmjQIHnzzTfl3HPPlalTp8q0adN69ZgjjzxS3nnnnX58NQDgm3SivVEZceZ2ztwRotevtu8vt3adai4ILyqvNalUelOhwYEmuNBAY8aoFPO9plN1WZAeHyE3ndl1QToAoO/1aMTi0Ucflaeeekpuv/12c2U/IMDxatHcuXOlLwwcONDUdvzpT3+yL9N0pcMPP1yeeeaZHj9GRyz2798vDz74oInIMjK6/w8UIxYA4Bz9Z2dnTnnziIa1ILygrNZhHa3H0HSp6aO1vW2KFJfXyG0vLW8zN0dHLXQBAF4yYnHDDTeYr7/73e/avb+HjaY6pSf+epsxY4bD8oMPPlhWrlzZ68d89NFHsnHjRlNrkZSUJM8//7wcddRRLn8dAODv9GLU8AGx5nbmYcPNvxm78ypMkLG8uSA8v7TGzKehtxc+3dzhtizNwcXD76yRuQcOJC0KANyoR4FFfb1j94/+UFhYaL7qSX9LycnJ9vt6+ph58+bJnXfeaUYq9LXdeOON8otf/ELWrl0rQ4cObXfbtbW15tYymgMA9CzQGJoWY25nHDLMBBp78yvt9RmL1udKcati8NbBRW5xtam9mDE6hbcAANykR73/goODO731hZCQEPO15cm8qq6utt/X08eceeaZ9vQnXf7II49IYGCgvP/++x3ujy1tynbT+g0AgGsCjcGp0fLLOcPkgYtmyI1nTXLqcfe+tlIee2+tLFiX02aeDQBA33M6Cvjf//5nvp500kn27zui67haZmam+cdm3759Dsv158GDB7vsMUqDo5SUFMnKyupwnVtvvVWuu+46hxELggsAcL2UuAin1ssqqJR/fbXV3LRR1NhB8daZwUcnm1nCYyNDeXsAwBMCizPOOMN8rampsX/fEV3H1aKiomTmzJny8ccfy69//Wv7yMPXX39tishtdu/eLRUVFaZA25nH6JC7tqQNCwuzb2PHjh1mZvFx48Z1uD+6fsvHAAD6hraU1e5PeSXVbYq3pbnGQlvPXn3KASYdasW2ApNKtWFPibm98vVW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bJkUFhY6PenM1q1bZdOmTVJXV8fh7wd6zDdu3CirV6+W+vr6bj12z549snDhQikqKuqz/UPvPr90otJVq1ZJbW0th7If7N+/33zmdedvYvfu3bJ8+XLzWPQP/TdGP7v643MSPdPQ0CBLliyRzZs3O/2YvLw88x6VlpaKx7DA473xxhuW2NhYy6hRoywxMTGWww8/3FJUVOTyx6DnGhoaLL/97W8t4eHhlvHjx1vCwsIsd911V6ePefrppy2DBg0y75HekpOTLa+88gpvQx/avn27ZcKECeZYDxkyxJKenm757rvvnHpsYWGheYx+bP73v//lfepDPfn8ys3NtRx77LFm/enTp1uGDh1qef/993mf+vAz76KLLnL4zLv33nu7/PubPHmyJSkpyTJt2jRLdHS05eijj7aUlJTwPvWRt956yzJr1ixLQkKC+ezq689JdF9FRYXlzjvvNOcD+vl19tlnd/mYhQsXWmbPnm1JTU01f1MRERGWyy67zPxduhuBhYfbsWOHJTQ01PLMM8+Yn0tLS82H+Pnnn+/Sx6B3Hn/8cUt8fLxl8+bN5ucFCxZYgoODLR988EGHj7nnnnss2dnZ9p+fffZZS1BQkGX9+vW8HX1E/4E95phjLPX19ebna665xnwwl5eXd/nYU0891XLzzTcTWPSxnnx+6T+mGkzMnTvXrK+Ki4str732Wl/vrt965JFHLImJiZZt27aZn7/99lvz+fXxxx93+JhTTjnFcvDBB1uqq6vNz3l5eZaBAweavyv0Df13Rk9CX331VacDi958TqL7du7caT8fOPHEE50KLF566SXLokWL7D9v2LDBnIM89NBDFncjsPBwf/rTn8wfdGNjo33Zc889Z64OaZTrqsegdyZNmmS5/PLLHZYdddRR5mTUWXpypP8w//Of/+Tt6AP6wav/sOoJkI2e2Ogxf/311zt97BNPPGE57LDDzKgFIxZ9qyefX++++655X2yBPfqeBntXXXWVwzIN7E4//fROT1hbf07qaNRvfvObPttPWDkbWPTmcxK952xg0Z7TTjvNcvLJJ7v9baDGwsNprvCUKVMkMPDnt+qggw4y+cMbNmxw2WPQc5p/un79epk2bZrDcj3m+l44S9dtbGyUkSNH8nb0Adt70fJ9SklJkSFDhnT6Pmn+6p///Gd59dVXHf6m0Dd68vn19ddfy5gxY2T06NFmHc0Np2ap79TU1Jhj3N3PvLvuukv++9//yjPPPGPesz/96U+ybds2ue666/pwb9Efn5Nw/3nITz/95BHnD8Hu3gF0TgviMjIyHJYlJSXZ73PVY9BzWjSlAYHtGLc85s4e78rKSrnkkkvk8MMPl0MPPZS3ow/oexEaGirR0dFOv0/6vpxzzjny2GOPyeDBg6WkpIT3po/15PNLC7ZjY2PlsMMOk4KCAnPiq+/d888/L6eddhrvmYvp34FmPHT3M2/WrFly7LHHyp133mlOVHfs2CFXXnmlCQrhvZ+TcL9bb73VNI35wx/+4O5dIbDwdCEhIeYfyZaqq6vNV/3jd9Vj0Lv3SLV3zJ053vo4PfnRK6xvvfWWBAQE8Hb00fukV3U0CAwKCnLqfdIToLi4OBk0aJDpqFJRUWGW69XaESNGyMSJE3mvPOQzTzsTvfjii3LxxRebZXfffbecd9555uQ1NTWV98nF71FPPvPOOOMM8/e3d+9eiYyMlPz8fJk9e7bpAPb444/zHnnp5yTc69FHH5W//e1v8uGHH8rQoUPd/nYwru/h9KpOdna2wzLbz3oF1VWPQc/piWd8fHy7x7yr463pHRpU6D+033zzDSdAfUj/LvQqa8sWl7afO3qfoqKizD+0t9xyi7nde++9ZrmmRT377LN9ubt+qyefX/qPaXh4uFx00UX2ZZdffrkZtVi5cmUf77H/SUxMlJiYmG595mkQoulPGvhpUGFLsTnrrLPMCRG893MS7vP444/LHXfcYVIMjz76aI94KwgsPJz+orTu9/3BBx/IsGHDzBVTpf946tVUWx9jZx4D1zrqqKPko48+cuhH/fHHHzv8oescCEuXLm0TVOzatUvmz58v6enpvC19aM6cORIREeFwEqN/Nzp83PJ90rkT9Cq3uu+++8w6ttunn35qlmvNheaJwzM+8zS9Rv+e9Aq4TVZWlv3kFa6lo6rz5s1z+FvSq9yffPKJw9+Szlfx448/mu818NNgxPa+2OhFFd4j92r5mefs5yT6V0VFhXkfysrK7MuefPJJkwL13nvvyXHHHec5b4m7q8fRdaegGTNmmNt7771nefDBB00b0zfffNO+zqpVq0wXh/nz5zv9GLjWmjVrLJGRkabjyYcffmg6o2hnm/3799vXuf32203/dhvt3qA9q99++23TntZ227NnD29PH3nggQfMMdcuQ9rhZNiwYZazzjrLYZ0RI0ZYfv/737f7eG1hSlcoz/vMUyeccIJlzpw5psWzrqtdi3SOhKampj7eY/+k74H2zte/Ff3M0440Ot+Bzidio21k09LSHD4D9e/vscces3zxxRdmrp/AwEDTsQh9Y8uWLebfFZ0nQf9mbP/OtJw7pPVnnjOfk3CtH374wbwvOjfFvHnzzPdLly61379s2TL7+6f+8Y9/mJ/1b6rl+cPq1avd/tZQvO3hNMfxyy+/lIcfftjk0GnKjV5JOP744+3raJGVXmXQlBxnHwPX0lz7RYsWmSJfvWkxos6g2XIUQoeYZ86caf9ZrzxMmjSpTW7x7373O7ngggt4i/rAbbfdZuol3n77bXOF+4orrpBrrrnGYZ3p06d3OLIXHBxs/tZaF63CvZ956t1335UnnnjCPEZTbbQZghYGU7PUNyZPniw//PCD+fzSm+0zr2U9i6aoHXzwwfafdQRQPyv1/dQR3czMTPNeH3nkkX20l9DPOh1JUvo3oymd6qmnnjLd19r7zHPmcxKudeedd5pjrZ9Xmjao75P+O6OjtUpH+1p+5mmmg/787bffmpvN2LFj5R//+Idb354AjS7cugcAAAAAvB41FgAAAAB6jcACAAAAQK8RWAAAAADoNQILAAAAAL1GYAEAAACg1wgsAAAAAPQagQUAAACAXiOwAAB02zfffCNr167tlyO3YMECWb16dY8e+8UXX8jGjRu7/VqKi4vls88+kzfeeEMqKiqcfj6d+PK9996T3tAJst566y1pamrq1XYAoL8RWAAAuu1Pf/qTvPnmm/1y5B566CF57bXXevRYnUXYNnuts69l9+7dMnLkSPm///s/ef/9901goQFGXl5el8939913m0ClN8LDw+XZZ591+wy6ANBdwd1+BAAAPuTII4+UsWPH2n9+5513ZOjQofL111+bnxsaGuTcc8+V+fPnS2pqaofbycrKMgHBtm3ber1Pt956q1x44YVy0UUXSWhoaK+3BwD9gcACAHyIpv4MGjRIUlJSTPpQYGCgHHrooRISEmJfZ/HixeaqfEBAgCQnJ8vkyZMlKSnJfv/KlSulpKTEnHC3tHz5cikvL5cjjjiiwxSeH374wayj29ST85a6el6b0tJSk/6UkJAgU6ZMcep1b9iwwZzQDxkyRCZNmmSeo3Vqk76uoKAgmTlzphkVsDnkkEPM8VLffvutfP/991JXV2dGKRITE83+KB2JyMnJkdjYWDnhhBPa7MNzzz0nhx9+uGRmZtoDEg1Sjj76aHNM1q9fbwKTGTNmmPs3bdokmzdvllGjRsn48eMdtnXUUUeZ16BpVeecc45TxwAA3I3AAgB8iKb+REVFyfbt22XixImybt06c3KsJ8W2k/hly5bJokWLzPfZ2dmyZs0aefHFF+X00083y/bs2SPnnXee7N+/X2JiYuzb/tWvfiXnn39+u4GFbkNPtvWkOyMjw2z/2muvlfvvv9++TlfPawtejjvuOBk4cKA52d+7d68EBwc7jCi0ZLFYzD59/vnnMnv2bLNd3ecPP/zQvu963wsvvCDjxo0zAUhYWJgsWbJE4uLi7KlQGlzo8dLAaOvWrVJUVGTSoEaMGGGOg1q4cKFs2bLFvL72Aov//e9/ZmSjZaClPx922GGSm5trtqWBy1lnnSWRkZFmBGTYsGHmvXnwwQflj3/8o/2xGhBqkKLbJLAA4DUsAACfMW3aNEt0dLRlx44d5ueysjLLhAkTLH/4wx86fMy///1vS3JysqWmpsb8XF9fbxkwYIDlhRdesK/z/fffWwIDAy179uwxPx9++OGW22+/3Xzf1NRkmTFjhuWss86yNDY2mmXz58+3BAQEWBYuXOj089r2/6KLLjLbVG+//bZF/6m6/vrr293GunXrzPNkZWXZl+lz5uXl2bc3ZMgQS2Fhofm5qqrKMmjQIMtf//pX+/otX4u6+eabLfPmzbP/rMdD90FfU0d0HT0+H374oX1ZeXm5edwvf/lLS0NDg8PrOffcc+3H6qWXXjLvmW0dmwceeMAyevToDp8TADwNxdsA4GPOOOMMcyVc6VX7K6+80nQZakmvoGsNgRYta9pPQUGB7Nixw9ynIwSa36+jCTb6vab0aJpVa/o4HY245ZZbzJV2NXfuXJkzZ06bAu/OnldTmVasWCE33HCDPZVJX8vw4cM7fK22lKaWXZ30eW2pTUpHCHTURkVERMjBBx9sUpBcSUc4tIuTpm+1dskll5gULDVr1izz9dJLL7UfK12mBeK2kREb3ZYeHwDwFqRCAYCPaV3boEGG1gbU1taaNCDtsqTpP1q/kJaWZgIJpV2PNF3IdjKs62kdgNYMvP322w6BRktaN6FaBwCa+mO7T3X1vJqC1dH+d0Sf47HHHjOBkAYZWheiBc+aRmRjCyps9BhompIr2dKuKisr29zXMtjQ5+5oWet90m21TEUDAE9HYAEAPkYLlVv/rCeoegJbWFhoOg7pqIGtVkKDDh3R0HqFlifsOuqgwcSYMWPMY0899dR2n08LsW1X7W11C7afbSMHzjyvrQZE91frRDp6Pa1dc801cvXVV5uajf/+978yb948+fjjj+XYY4+V/qIjIVp7sXPnTpdtU7elxx4AvAWpUADgY7TgVzsS2WhnIU0PsqUi6Yl8yxNW7VzUHh21ePXVV03hsxZz266stzZ69GjT7ajlxHAaSGhxshZFO/u8ep8GKVo0baNF6D/99FOHr1WfR0diNK1Iu0zde++9cuCBB8rSpUvFVXRkxZlRDg1otPjbVXRb2h0KALwFIxYA4GO0PaperT/77LNNF6aPPvrIdDSyBQGadqTdijR9SGelfuWVV9rdjnZr0pEAPUl//vnnO3w+TUHSyeS0bkBrArQOQ1uvagvVCy64wOnn1e3cd999pjuSpkdpsPLkk0+aTlMd0boM3d6ZZ55pRlk0CNH0LQ2GXGn69OnyxBNPmNenqVXtdYXS13/iiSdKVVWV6frUG1oDosfIdvwAwBswYgEAPub66683ow16kq0pUNpaVU+MbVffv/vuO5PmpK1P9Uq8zi+hQUjryd/0Pm39OnXqVDMK0JLWMuh8ETZ6Avzll1+aIuQff/zRPL+OWNiKlp193ssvv9ykR2nb2F27dplULC0K72g+Cy3E1rk7NCjR7WsKlRaA6z4rDbBazxGhxdL6uI5ei77W1i11dU4L3aa2rrVNnNeajs5MmzZNXnrpJfOzzh2ir8+WKmY7prqsZY2F7rMua1lP8dRTT5ljqLUoAOAtArQ1lLt3AgDgGhpAaCclPRnvrfr6ejP6cM8995gTfnRNJ8H7xz/+YQrKe0pTrvR4//Wvf21TeA4AnoxUKABAG1r/oJPM6VV3TTWCcw444IBeBRVKR19efvllDjkAr0MqFAD4kPZSf3paAB4dHW3SjLTjEQAAXSEVCgAAAECvMWIBAAAAoNcILAAAAAD0GoEFAAAAgF4jsAAAAADQawQWAAAAAHqNwAIAAABArxFYAAAAAOg1AgsAAAAAvUZgAQAAAEB66/8BuqI2N0Osi20AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(2, 1, figsize=(8, 6), sharex=True)\n",
    "axes[0].plot(results.payload_shift_m, results.support_margin_m, marker='o', color='#2f69ad')\n",
    "axes[0].axhline(0, color='black', linewidth=1)\n",
    "axes[0].set_ylabel('support margin (m)')\n",
    "axes[0].set_title('Fixed-foot support boundary sweep')\n",
    "axes[1].plot(results.payload_shift_m, results.front_load_n, marker='o', label='front')\n",
    "axes[1].plot(results.payload_shift_m, results.rear_left_load_n, marker='o', label='rear left')\n",
    "axes[1].plot(results.payload_shift_m, results.rear_right_load_n, marker='o', label='rear right')\n",
    "axes[1].axhline(0, color='black', linewidth=1)\n",
    "axes[1].set_xlabel('payload shift (m)')\n",
    "axes[1].set_ylabel('normal load (N)')\n",
    "axes[1].legend()\n",
    "fig.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "454696a5",
   "metadata": {},
   "source": [
    "## Checks\n",
    "\n",
    "Fixture standing metric: all three feet have more than `0.001 N` normal load after a two-second rollout, and both roll and pitch remain within `±5°`. This is a test-bench metric, not the future C-1N STAND criterion.\n",
    "\n",
    "A fixed-foot quasi-static boundary should pair an exhausted support margin with unloading of the limiting rear contact. The coarse sweep can bracket the transition, but it cannot establish an exact threshold."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "81632001",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-13T11:58:01.342553Z",
     "iopub.status.busy": "2026-08-13T11:58:01.342324Z",
     "iopub.status.idle": "2026-08-13T11:58:01.355079Z",
     "shell.execute_reply": "2026-08-13T11:58:01.354457Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Last sampled positive margin:\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>payload_shift_m</th>\n",
       "      <th>support_margin_m</th>\n",
       "      <th>front_load_n</th>\n",
       "      <th>rear_left_load_n</th>\n",
       "      <th>rear_right_load_n</th>\n",
       "      <th>minimum_rear_load_n</th>\n",
       "      <th>com_x_m</th>\n",
       "      <th>roll_deg</th>\n",
       "      <th>pitch_deg</th>\n",
       "      <th>standing_metric_pass</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0.96</td>\n",
       "      <td>0.001007</td>\n",
       "      <td>19.038238</td>\n",
       "      <td>0.045629</td>\n",
       "      <td>0.045629</td>\n",
       "      <td>0.045629</td>\n",
       "      <td>0.297705</td>\n",
       "      <td>1.073486e-16</td>\n",
       "      <td>0.046506</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    payload_shift_m  support_margin_m  front_load_n  rear_left_load_n  \\\n",
       "12             0.96          0.001007     19.038238          0.045629   \n",
       "\n",
       "    rear_right_load_n  minimum_rear_load_n   com_x_m      roll_deg  pitch_deg  \\\n",
       "12           0.045629             0.045629  0.297705  1.073486e-16   0.046506   \n",
       "\n",
       "    standing_metric_pass  \n",
       "12                  True  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "First sampled unloaded rear contact:\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>payload_shift_m</th>\n",
       "      <th>support_margin_m</th>\n",
       "      <th>front_load_n</th>\n",
       "      <th>rear_left_load_n</th>\n",
       "      <th>rear_right_load_n</th>\n",
       "      <th>minimum_rear_load_n</th>\n",
       "      <th>com_x_m</th>\n",
       "      <th>roll_deg</th>\n",
       "      <th>pitch_deg</th>\n",
       "      <th>standing_metric_pass</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0.98</td>\n",
       "      <td>-0.096543</td>\n",
       "      <td>15.158607</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.545929</td>\n",
       "      <td>2.489353e-14</td>\n",
       "      <td>23.588235</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    payload_shift_m  support_margin_m  front_load_n  rear_left_load_n  \\\n",
       "13             0.98         -0.096543     15.158607               0.0   \n",
       "\n",
       "    rear_right_load_n  minimum_rear_load_n   com_x_m      roll_deg  pitch_deg  \\\n",
       "13                0.0                  0.0  0.545929  2.489353e-14  23.588235   \n",
       "\n",
       "    standing_metric_pass  \n",
       "13                 False  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "last_positive_margin = results.loc[results.support_margin_m > 0].tail(1)\n",
    "first_unloaded_rear = results.loc[results.minimum_rear_load_n <= 1e-3].head(1)\n",
    "print('Last sampled positive margin:')\n",
    "display(last_positive_margin)\n",
    "print('First sampled unloaded rear contact:')\n",
    "display(first_unloaded_rear)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e52700b",
   "metadata": {},
   "source": [
    "## Takeaways\n",
    "\n",
    "The centered case passes the fixture metric. At `shift = 0.96 m`, the margin is `+0.0010 m` and each rear foot carries `0.046 N`; it also passes. At `0.98 m`, both rear contacts are unloaded, the metric fails, and pitch is `+23.6°` after tipping.\n",
    "\n",
    "The observed model corrects one prediction: forward ballast increases the front-foot load and decreases rear-foot load. The COM-location and forward-pitch predictions held. The support-margin and rear-unloading events are bracketed in the same `0.96–0.98 m` interval.\n",
    "\n",
    "A later C-1N experiment must separately measure changing support geometry and contact set during gait; this fixed-foot fixture cannot answer that dynamic question."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "robotics shared (.venv)",
   "language": "python",
   "name": "robotics-shared"
  },
  "language_info": {
   "name": "python"
  },
  "portfolio_export": {
   "executed_for_export": false,
   "note": "Frozen source copy. Local filesystem paths redacted. Restore the model path for local execution."
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}