CLEAR\n if compliant:\n if in_chamfer and at_rim:\n lat -= np.sign(lat)*min(abs(lat), 120*dt) # lateral compliance centers it\n depth += 55*0.5*dt\n else:\n depth += 55*dt\n force = 16.0\n else: # rigid position control\n if in_chamfer and at_rim:\n force += 150*dt # jam force builds, no give\n if force > 75: return 'JAM', depth, force\n else:\n depth += 62*dt\n if depth >= DEPTH-0.5 and abs(lat) <= CLEAR+0.5:\n return 'SEATED', depth, force\n return 'TIMEOUT', depth, force\n\nprint(f\"{'misalign mm':>11} {'rigid':>8} {'compliant':>11}\")\nfor mis in (2, 8, 14, 20, 26):\n r = insert(mis, False)[0]\n c = insert(mis, True)[0]\n print(f\"{mis:11d} {r:>8} {c:>11}\")\nprint('\\ncompliance seats the part where rigid position control jams on the rim.')\n","label":"Compliant vs rigid insertion"}],"intro":"Simulate rigid vs compliant insertion and find the misalignment where they diverge.","key":"space-logistics/seat-it-by-force","kind":"python","title":"Seat it by force: compliant servicing"}">
PYTHON · NUMPY · IN-BROWSER
Seat it by force: compliant servicing
Simulate rigid vs compliant insertion and find the misalignment where they diverge.
You read
the arrays and values already in scope
You change
the code you write in each cell
Fixed
the dataset and the checks that grade you