Auto sync: 2025-11-29 22:02:14 (12 files changed)

M  Presentations/ERLM/bouncing_ball_hybrid.png

M  Presentations/ERLM/bouncing_ball_hybrid.py

M  Presentations/ERLM/main.aux

M  Presentations/ERLM/main.fdb_latexmk

M  Presentations/ERLM/main.fls

M  Presentations/ERLM/main.log

M  Presentations/ERLM/main.nav

M  Presentations/ERLM/main.pdf
This commit is contained in:
Dane Sabo 2025-11-29 22:02:14 -05:00
parent e75afe3f8b
commit e19888ad07
12 changed files with 529 additions and 125 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 761 KiB

After

Width:  |  Height:  |  Size: 492 KiB

View File

@ -200,13 +200,13 @@ def plot_simulation(t, y, states, ball, show_phase=True):
state_numeric = np.array([1 if s == "free_fall" else 2 for s in states]) state_numeric = np.array([1 if s == "free_fall" else 2 for s in states])
if show_phase: if show_phase:
fig, axes = plt.subplots(2, 2, figsize=(14, 10)) fig, axes = plt.subplots(2, 1, figsize=(8, 10))
else: else:
fig, axes = plt.subplots(2, 1, figsize=(12, 8)) fig, axes = plt.subplots(2, 1, figsize=(12, 8))
axes = axes.reshape(-1, 1) axes = axes.reshape(-1, 1)
# Plot 1: Position vs Time # Plot 1: Position vs Time
ax1 = axes[0, 0] if show_phase else axes[0] ax1 = axes[0] if show_phase else axes[0]
scatter = ax1.scatter(t, y[:, 0], c=state_numeric, s=1, cmap="coolwarm", alpha=0.6) scatter = ax1.scatter(t, y[:, 0], c=state_numeric, s=1, cmap="coolwarm", alpha=0.6)
ax1.axhline( ax1.axhline(
y=ball.r, y=ball.r,
@ -229,35 +229,9 @@ def plot_simulation(t, y, states, ball, show_phase=True):
ax1.grid(True, alpha=0.3) ax1.grid(True, alpha=0.3)
ax1.legend(fontsize=9) ax1.legend(fontsize=9)
# Add colorbar
cbar1 = plt.colorbar(scatter, ax=ax1)
cbar1.set_label("State", fontsize=10)
cbar1.set_ticks([1.33, 1.67])
cbar1.set_ticklabels(["Free Fall", "Spring-Damper"])
# Plot 2: Velocity vs Time
ax2 = axes[1, 0] if show_phase else axes[1]
scatter2 = ax2.scatter(t, y[:, 1], c=state_numeric, s=1, cmap="coolwarm", alpha=0.6)
# Mark transitions
for t_trans in ball.transition_times:
ax2.axvline(x=t_trans, color="green", linestyle=":", alpha=0.3, linewidth=1)
ax2.axhline(y=0, color="k", linestyle="--", linewidth=1, alpha=0.3)
ax2.set_xlabel("Time (s)", fontsize=11)
ax2.set_ylabel("Velocity (m/s)", fontsize=11)
ax2.set_title("Ball Velocity vs Time", fontsize=12, fontweight="bold")
ax2.grid(True, alpha=0.3)
# Add colorbar
cbar2 = plt.colorbar(scatter2, ax=ax2)
cbar2.set_label("State", fontsize=10)
cbar2.set_ticks([1.33, 1.67])
cbar2.set_ticklabels(["Free Fall", "Spring-Damper"])
if show_phase: if show_phase:
# Plot 3: Vector Field / Phase Portrait # Plot 2: Vector Field / Phase Portrait
ax3 = axes[0, 1] ax2 = axes[1]
# Create vector field grid # Create vector field grid
pos_range = np.linspace(0, max(y[:, 0]) * 1.1, 15) pos_range = np.linspace(0, max(y[:, 0]) * 1.1, 15)
@ -286,59 +260,22 @@ def plot_simulation(t, y, states, ball, show_phase=True):
damping_force = ball.c * vel_val damping_force = ball.c * vel_val
dVel[i, j] = (spring_force - damping_force - ball.m * ball.g) / ball.m dVel[i, j] = (spring_force - damping_force - ball.m * ball.g) / ball.m
# Plot vector field # Plot vector field with much smaller scale
ax3.quiver(Pos, Vel, dPos, dVel, alpha=0.4, color='gray', scale=50) ax2.quiver(Pos, Vel, dPos, dVel, alpha=0.3, color='gray', scale=300, width=0.003)
# Plot trajectory # Plot trajectory
scatter3 = ax3.scatter( scatter2 = ax2.scatter(
y[:, 0], y[:, 1], c=state_numeric, s=1, cmap="coolwarm", alpha=0.6 y[:, 0], y[:, 1], c=state_numeric, s=2, cmap="coolwarm", alpha=0.7
) )
ax3.axvline( ax2.axvline(
x=ball.r, color="k", linestyle="--", label=f"Contact threshold", linewidth=1 x=ball.r, color="k", linestyle="--", label=f"Contact threshold", linewidth=1.5
) )
ax3.axhline(y=0, color="gray", linestyle="-", linewidth=1, alpha=0.5) ax2.axhline(y=0, color="gray", linestyle="-", linewidth=1, alpha=0.5)
ax3.set_xlabel("Position (m)", fontsize=11) ax2.set_xlabel("Position (m)", fontsize=11)
ax3.set_ylabel("Velocity (m/s)", fontsize=11) ax2.set_ylabel("Velocity (m/s)", fontsize=11)
ax3.set_title("Vector Field & Phase Portrait", fontsize=12, fontweight="bold") ax2.set_title("Vector Field & Phase Portrait", fontsize=12, fontweight="bold")
ax3.grid(True, alpha=0.3) ax2.grid(True, alpha=0.3)
ax3.legend(fontsize=9) ax2.legend(fontsize=9)
# Add colorbar
cbar3 = plt.colorbar(scatter3, ax=ax3)
cbar3.set_label("State", fontsize=10)
cbar3.set_ticks([1.33, 1.67])
cbar3.set_ticklabels(["Free Fall", "Spring-Damper"])
# Plot 4: Energy
ax4 = axes[1, 1]
# Calculate energies
KE = 0.5 * ball.m * y[:, 1] ** 2
PE = ball.m * ball.g * y[:, 0]
# Elastic potential energy when compressed
elastic_PE = np.zeros_like(y[:, 0])
for i, (pos, state) in enumerate(zip(y[:, 0], states)):
if state == "spring_damper" and pos < ball.r:
compression = ball.r - pos
elastic_PE[i] = 0.5 * ball.k * compression**2
total_E = KE + PE + elastic_PE
ax4.plot(t, KE, label="Kinetic", linewidth=1.5, alpha=0.7)
ax4.plot(t, PE, label="Gravitational PE", linewidth=1.5, alpha=0.7)
ax4.plot(t, elastic_PE, label="Elastic PE", linewidth=1.5, alpha=0.7)
ax4.plot(t, total_E, label="Total", linewidth=2, color="black", linestyle="--")
# Mark transitions
for t_trans in ball.transition_times:
ax4.axvline(x=t_trans, color="green", linestyle=":", alpha=0.3, linewidth=1)
ax4.set_xlabel("Time (s)", fontsize=11)
ax4.set_ylabel("Energy (J)", fontsize=11)
ax4.set_title("Energy Components", fontsize=12, fontweight="bold")
ax4.grid(True, alpha=0.3)
ax4.legend(fontsize=9)
plt.tight_layout() plt.tight_layout()
return fig return fig

View File

@ -18,13 +18,21 @@
\@writefile{nav}{\headcommand {\beamer@framepages {18}{20}}} \@writefile{nav}{\headcommand {\beamer@framepages {18}{20}}}
\@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{21/21}{}{0}}} \@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{21/21}{}{0}}}
\@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}} \@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}}
\@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{22/22}{}{0}}} \@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{22/25}{}{0}}}
\@writefile{nav}{\headcommand {\beamer@framepages {22}{22}}} \@writefile{nav}{\headcommand {\beamer@framepages {22}{25}}}
\@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{23/23}{}{0}}} \@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{26/29}{}{0}}}
\@writefile{nav}{\headcommand {\beamer@framepages {23}{23}}} \@writefile{nav}{\headcommand {\beamer@framepages {26}{29}}}
\@writefile{nav}{\headcommand {\beamer@partpages {1}{23}}} \@writefile{nav}{\headcommand {\slideentry {0}{0}{11}{30/30}{}{0}}}
\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{23}}} \@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}}
\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{23}}} \@writefile{nav}{\headcommand {\slideentry {0}{0}{12}{31/33}{}{0}}}
\@writefile{nav}{\headcommand {\beamer@documentpages {23}}} \@writefile{nav}{\headcommand {\beamer@framepages {31}{33}}}
\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} \@writefile{nav}{\headcommand {\slideentry {0}{0}{13}{34/37}{}{0}}}
\gdef \@abspage@last{23} \@writefile{nav}{\headcommand {\beamer@framepages {34}{37}}}
\@writefile{nav}{\headcommand {\slideentry {0}{0}{14}{38/38}{}{0}}}
\@writefile{nav}{\headcommand {\beamer@framepages {38}{38}}}
\@writefile{nav}{\headcommand {\beamer@partpages {1}{38}}}
\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{38}}}
\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{38}}}
\@writefile{nav}{\headcommand {\beamer@documentpages {38}}}
\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {14}}}
\gdef \@abspage@last{38}

View File

@ -1,5 +1,5 @@
# Fdb version 4 # Fdb version 4
["lualatex"] 1764459168.82799 "main.tex" "main.pdf" "main" 1764459171.54599 0 ["lualatex"] 1764471667.83072 "main.tex" "main.pdf" "main" 1764471671.53189 0
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm" 1246382020 916 f87d7c45f9c908e672703b83b72241a3 ""
@ -24,6 +24,8 @@
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy7.tfm" 1136768653 1120 2b3f9b25605010c69bc328bea6ac000f "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy7.tfm" 1136768653 1120 2b3f9b25605010c69bc328bea6ac000f ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1136768653 1120 8b7d695260f3cff42e636090a8002094 "" "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1136768653 1120 8b7d695260f3cff42e636090a8002094 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb" 1248133631 36741 fa121aac0049305630cf160b86157ee4 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmss12.pfb" 1248133631 24393 3b7eb51a67a0a62aec5849271bdb9c2e ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d "" "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb" 1248133631 32626 4f5c1b83753b1dd3a97d1b399a005b4b "" "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb" 1248133631 32626 4f5c1b83753b1dd3a97d1b399a005b4b ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb" 1248133631 31764 459c573c03a4949a528c2cc7f557e217 "" "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb" 1248133631 31764 459c573c03a4949a528c2cc7f557e217 ""
@ -302,6 +304,7 @@
"/usr/share/texmf/fonts/type1/public/lm/lmss12.pfb" 1255129361 96107 daf52840b555e3b38f9679b629b5e2df "" "/usr/share/texmf/fonts/type1/public/lm/lmss12.pfb" 1255129361 96107 daf52840b555e3b38f9679b629b5e2df ""
"/usr/share/texmf/fonts/type1/public/lm/lmss8.pfb" 1255129361 94400 e33ecfb646a9f148e2e53da01a9168fe "" "/usr/share/texmf/fonts/type1/public/lm/lmss8.pfb" 1255129361 94400 e33ecfb646a9f148e2e53da01a9168fe ""
"/usr/share/texmf/fonts/type1/public/lm/lmssbx10.pfb" 1255129361 119663 e82fa1a58f98ccd89bdbd77311ac9cf1 "" "/usr/share/texmf/fonts/type1/public/lm/lmssbx10.pfb" 1255129361 119663 e82fa1a58f98ccd89bdbd77311ac9cf1 ""
"/usr/share/texmf/fonts/type1/public/lm/lmsso12.pfb" 1255129361 109054 a09a49a2236510c86a00b8d9e5610ab1 ""
"/usr/share/texmf/fonts/type1/public/lm/lmsso17.pfb" 1255129361 107277 12bb06b4f1b5546fd2b623f476f51ecb "" "/usr/share/texmf/fonts/type1/public/lm/lmsso17.pfb" 1255129361 107277 12bb06b4f1b5546fd2b623f476f51ecb ""
"/usr/share/texmf/fonts/type1/public/lm/lmsso8.pfb" 1255129361 106860 a773e4958b589eadcc5b01a914624508 "" "/usr/share/texmf/fonts/type1/public/lm/lmsso8.pfb" 1255129361 106860 a773e4958b589eadcc5b01a914624508 ""
"/usr/share/texmf/fonts/type1/public/lm/lmtt8.pfb" 1255129361 115291 2ae7034c644e971beb573b1e6606f863 "" "/usr/share/texmf/fonts/type1/public/lm/lmtt8.pfb" 1255129361 115291 2ae7034c644e971beb573b1e6606f863 ""
@ -311,6 +314,7 @@
"/usr/share/texmf/tex/latex/lm/t1lmtt.fd" 1616454256 2682 555da1faa2e266801e4b221d01a42cb5 "" "/usr/share/texmf/tex/latex/lm/t1lmtt.fd" 1616454256 2682 555da1faa2e266801e4b221d01a42cb5 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1760105440.02229 5312232 f3296911be9cc021788f3f879cf0a47d "" "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1760105440.02229 5312232 f3296911be9cc021788f3f879cf0a47d ""
"/var/lib/texmf/web2c/luahbtex/lualatex.fmt" 1726065905 12230446 10024404f08a230959a13fd14332f6f6 "" "/var/lib/texmf/web2c/luahbtex/lualatex.fmt" 1726065905 12230446 10024404f08a230959a13fd14332f6f6 ""
"bouncing_ball_hybrid.png" 1764470868.42471 503848 9d63c93b20beb6e8494b16d4a08cb98f ""
"images/1_hook/energy-demand-graph-small.png" 1763336452.14299 498793 d4b20a2a70c23e430cd42f1a958494ac "" "images/1_hook/energy-demand-graph-small.png" 1763336452.14299 498793 d4b20a2a70c23e430cd42f1a958494ac ""
"images/1_hook/nuclear-plant.png" 1764360699.85273 33643 ae391bd2b827c05be2b7a877fcdaf999 "" "images/1_hook/nuclear-plant.png" 1764360699.85273 33643 ae391bd2b827c05be2b7a877fcdaf999 ""
"images/2_state_of_the_art/control_room.jpg" 1764382088.57397 436102 0cd66f6d4671f09be64a9540a575a28d "" "images/2_state_of_the_art/control_room.jpg" 1764382088.57397 436102 0cd66f6d4671f09be64a9540a575a28d ""
@ -325,16 +329,16 @@
"images/back.jpg" 1763336452.15499 240691 0cb5c8c7430464955925d0babbadff74 "" "images/back.jpg" 1763336452.15499 240691 0cb5c8c7430464955925d0babbadff74 ""
"images/logo.png" 1763336452.15499 72759 d854b0b4145b18961bb2668be3694a61 "" "images/logo.png" 1763336452.15499 72759 d854b0b4145b18961bb2668be3694a61 ""
"images/title.png" 1763336452.15499 7783 cf1b0502d51a4234f6adb5c03ec1ebaf "" "images/title.png" 1763336452.15499 7783 cf1b0502d51a4234f6adb5c03ec1ebaf ""
"main.aux" 1764459171.40277 1746 0eb0eee5ad778b828fb5a345ff3786c5 "lualatex" "main.aux" 1764471671.38526 2262 20ba4dbe8d354f61b80ab2ad4d676b30 "lualatex"
"main.nav" 1764459171.40277 1133 53fdb1aeaa40cdfa0707cff37314a6e8 "lualatex" "main.nav" 1764471671.38626 1505 0e707b90c7ac7389b11305df82320fab "lualatex"
"main.out" 1764459169.57877 0 d41d8cd98f00b204e9800998ecf8427e "lualatex" "main.out" 1764471668.59227 0 d41d8cd98f00b204e9800998ecf8427e "lualatex"
"main.tex" 1764358487.97007 1747 a0f09a38bfba635b118c46cdaf2edf1e "" "main.tex" 1764358487.97007 1747 a0f09a38bfba635b118c46cdaf2edf1e ""
"slides/1_Hook.tex" 1764365003.84351 2229 97b6feb9df84753abe53753986ce82f2 "" "slides/1_Hook.tex" 1764365003.84351 2229 97b6feb9df84753abe53753986ce82f2 ""
"slides/2_State_of_the_Art.tex" 1764383975.9522 3141 35c30c8f499bcb66f057d446959e11cc "" "slides/2_State_of_the_Art.tex" 1764383975.9522 3141 35c30c8f499bcb66f057d446959e11cc ""
"slides/3_Limitations.tex" 1764448781.58692 1453 7f207d2afdea9d103a33718f4aa61f29 "" "slides/3_Limitations.tex" 1764448781.58692 1453 7f207d2afdea9d103a33718f4aa61f29 ""
"slides/4_Research_Approach.tex" 1764459167.39578 3322 47d81501a36180b5faf52f648f0c71fb "" "slides/4_Research_Approach.tex" 1764471457.16938 5112 8e589a74e3577cf82b57e1d2154e3a37 ""
"slides/5_Metrics_of_Success.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e "" "slides/5_Metrics_of_Success.tex" 1764471642.24628 1935 bc05f76e9a72d3f75c18ed103068b2fb ""
"slides/6_Risks_and_Contingencies.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e "" "slides/6_Risks_and_Contingencies.tex" 1764471662.61527 2878 bff7085bb7e463bed2f13ce3ea0afe69 ""
"slides/7_Broader_Impacts.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e "" "slides/7_Broader_Impacts.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e ""
"slides/8_Money_Slide.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e "" "slides/8_Money_Slide.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e ""
"theme/beamercolorthemedane_native.sty" 1764364326.03437 2320 f7b01a98de0d22c836b1a657249a51d2 "" "theme/beamercolorthemedane_native.sty" 1764364326.03437 2320 f7b01a98de0d22c836b1a657249a51d2 ""

View File

@ -710,13 +710,52 @@ INPUT ./images/logo.png
INPUT ./images/back.jpg INPUT ./images/back.jpg
INPUT ./images/logo.png INPUT ./images/logo.png
INPUT ./images/logo.png INPUT ./images/logo.png
INPUT ./bouncing_ball_hybrid.png
INPUT ./bouncing_ball_hybrid.png
INPUT ./images/back.jpg INPUT ./images/back.jpg
INPUT ./images/logo.png INPUT ./images/logo.png
INPUT ./bouncing_ball_hybrid.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./bouncing_ball_hybrid.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./bouncing_ball_hybrid.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png INPUT ./images/logo.png
INPUT ./images/back.jpg INPUT ./images/back.jpg
INPUT ./images/logo.png INPUT ./images/logo.png
INPUT ./slides/5_Metrics_of_Success.tex INPUT ./slides/5_Metrics_of_Success.tex
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./slides/6_Risks_and_Contingencies.tex INPUT ./slides/6_Risks_and_Contingencies.tex
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./images/logo.png
INPUT ./images/back.jpg
INPUT ./images/logo.png
INPUT ./slides/7_Broader_Impacts.tex INPUT ./slides/7_Broader_Impacts.tex
INPUT ./slides/8_Money_Slide.tex INPUT ./slides/8_Money_Slide.tex
OUTPUT main.nav OUTPUT main.nav
@ -724,11 +763,14 @@ OUTPUT main.toc
OUTPUT main.snm OUTPUT main.snm
INPUT ./main.aux INPUT ./main.aux
INPUT ./main.out INPUT ./main.out
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmss12.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb
INPUT /usr/share/texmf/fonts/type1/public/lm/lmss12.pfb INPUT /usr/share/texmf/fonts/type1/public/lm/lmss12.pfb
INPUT /usr/share/texmf/fonts/type1/public/lm/lmss8.pfb INPUT /usr/share/texmf/fonts/type1/public/lm/lmss8.pfb
INPUT /usr/share/texmf/fonts/type1/public/lm/lmssbx10.pfb INPUT /usr/share/texmf/fonts/type1/public/lm/lmssbx10.pfb
INPUT /usr/share/texmf/fonts/type1/public/lm/lmsso12.pfb
INPUT /usr/share/texmf/fonts/type1/public/lm/lmsso17.pfb INPUT /usr/share/texmf/fonts/type1/public/lm/lmsso17.pfb
INPUT /usr/share/texmf/fonts/type1/public/lm/lmsso8.pfb INPUT /usr/share/texmf/fonts/type1/public/lm/lmsso8.pfb
INPUT /usr/share/texmf/fonts/type1/public/lm/lmtt8.pfb INPUT /usr/share/texmf/fonts/type1/public/lm/lmtt8.pfb

View File

@ -1,4 +1,4 @@
This is LuaHBTeX, Version 1.17.0 (TeX Live 2023/Debian) (format=lualatex 2024.9.11) 29 NOV 2025 18:32 This is LuaHBTeX, Version 1.17.0 (TeX Live 2023/Debian) (format=lualatex 2024.9.11) 29 NOV 2025 22:01
restricted system commands enabled. restricted system commands enabled.
file:line:error style messages enabled. file:line:error style messages enabled.
**main.tex **main.tex
@ -2164,34 +2164,245 @@ Package luatex.def Info: images/logo.png used on input line 101.
] ]
File: images/logo.png Graphic file (type png) File: images/logo.png Graphic file (type png)
<use images/logo.png> <use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 106. Package luatex.def Info: images/logo.png used on input line 152.
(luatex.def) Requested size: 56.9055pt x 22.63397pt. (luatex.def) Requested size: 56.9055pt x 22.63397pt.
<bouncing_ball_hybrid.png, id=234, 570.933pt x 714.5094pt>
File: bouncing_ball_hybrid.png Graphic file (type png)
<use bouncing_ball_hybrid.png>
Package luatex.def Info: bouncing_ball_hybrid.png used on input line 152.
(luatex.def) Requested size: 187.93803pt x 235.2062pt.
File: images/back.jpg Graphic file (type jpg) File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg> <use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 106. Package luatex.def Info: images/back.jpg used on input line 152.
(luatex.def) Requested size: 780.44925pt x 341.43306pt. (luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png) File: images/logo.png Graphic file (type png)
<use images/logo.png> <use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 106. Package luatex.def Info: images/logo.png used on input line 152.
(luatex.def) Requested size: 56.9055pt x 22.63397pt. (luatex.def) Requested size: 56.9055pt x 22.63397pt.
[22 [22
<./bouncing_ball_hybrid.png>]
File: bouncing_ball_hybrid.png Graphic file (type png)
<use bouncing_ball_hybrid.png>
Package luatex.def Info: bouncing_ball_hybrid.png used on input line 152.
(luatex.def) Requested size: 187.93803pt x 235.2062pt.
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 152.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 152.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[23
]
File: bouncing_ball_hybrid.png Graphic file (type png)
<use bouncing_ball_hybrid.png>
Package luatex.def Info: bouncing_ball_hybrid.png used on input line 152.
(luatex.def) Requested size: 187.93803pt x 235.2062pt.
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 152.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 152.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[24
]
File: bouncing_ball_hybrid.png Graphic file (type png)
<use bouncing_ball_hybrid.png>
Package luatex.def Info: bouncing_ball_hybrid.png used on input line 152.
(luatex.def) Requested size: 187.93803pt x 235.2062pt.
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 152.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 152.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[25
] ]
File: images/logo.png Graphic file (type png) File: images/logo.png Graphic file (type png)
<use images/logo.png> <use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 111. Package luatex.def Info: images/logo.png used on input line 175.
(luatex.def) Requested size: 56.9055pt x 22.63397pt. (luatex.def) Requested size: 56.9055pt x 22.63397pt.
File: images/back.jpg Graphic file (type jpg) File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg> <use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 111. Package luatex.def Info: images/back.jpg used on input line 175.
(luatex.def) Requested size: 780.44925pt x 341.43306pt. (luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png) File: images/logo.png Graphic file (type png)
<use images/logo.png> <use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 111. Package luatex.def Info: images/logo.png used on input line 175.
(luatex.def) Requested size: 56.9055pt x 22.63397pt. (luatex.def) Requested size: 56.9055pt x 22.63397pt.
[23 [26
]) (./slides/5_Metrics_of_Success.tex) (./slides/6_Risks_and_Contingencies.tex) (./slides/7_Broader_Impacts.tex) (./slides/8_Money_Slide.tex) ]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 175.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 175.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[27
]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 175.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 175.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[28
]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 175.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 175.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[29
]) (./slides/5_Metrics_of_Success.tex
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 29.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 29.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 29.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[30
]
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 57.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 57.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 57.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[31
]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 57.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 57.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[32
]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 57.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 57.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[33
]) (./slides/6_Risks_and_Contingencies.tex
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 37.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
Overfull \vbox (8.75342pt too high) detected at line 37
[]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 37.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 37.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[34
]
Overfull \vbox (8.75342pt too high) detected at line 37
[]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 37.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 37.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[35
]
Overfull \vbox (8.75342pt too high) detected at line 37
[]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 37.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 37.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[36
]
Overfull \vbox (8.75342pt too high) detected at line 37
[]
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 37.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 37.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[37
]
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 73.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
File: images/back.jpg Graphic file (type jpg)
<use images/back.jpg>
Package luatex.def Info: images/back.jpg used on input line 73.
(luatex.def) Requested size: 780.44925pt x 341.43306pt.
File: images/logo.png Graphic file (type png)
<use images/logo.png>
Package luatex.def Info: images/logo.png used on input line 73.
(luatex.def) Requested size: 56.9055pt x 22.63397pt.
[38
]) (./slides/7_Broader_Impacts.tex) (./slides/8_Money_Slide.tex)
\tf@nav=\write6 \tf@nav=\write6
\openout6 = main.nav \openout6 = main.nav
@ -2211,19 +2422,19 @@ Package rerunfilecheck Info: File `main.out' has not changed.
) )
Here is how much of LuaTeX's memory you used: Here is how much of LuaTeX's memory you used:
41926 strings out of 476553 42127 strings out of 476553
100000,1977958 words of node,token memory allocated 125011,1977958 words of node,token memory allocated
2586 words of node memory still in use: 8469 words of node memory still in use:
47 hlist, 9 vlist, 11 rule, 8 disc, 2 local_par, 2 math, 58 glue, 9 kern, 10 penalty, 89 glyph, 63 glue_spec, 4 write, 68 pdf_literal, 42 pdf_colorstack nodes 105 hlist, 17 vlist, 15 rule, 53 disc, 15 local_par, 6 math, 250 glue, 42 kern, 42 penalty, 474 glyph, 63 glue_spec, 4 write, 108 pdf_literal, 100 pdf_colorstack nodes
avail lists: 2:35,3:4138,4:417,5:382,6:64,7:5375,8:2,9:4581,10:10,11:130 avail lists: 2:35,3:4066,4:443,5:388,6:60,7:4794,8:27,9:4511,10:12,11:433
61694 multiletter control sequences out of 65536+600000 61755 multiletter control sequences out of 65536+600000
95 fonts using 3939739 bytes 95 fonts using 3939739 bytes
128i,18n,116p,747b,1110s stack positions out of 10000i,1000n,20000p,200000b,200000s 128i,18n,116p,747b,1110s stack positions out of 10000i,1000n,20000p,200000b,200000s
{/usr/share/texmf/fonts/enc/dvips/lm/lm-ec.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb></usr/share/texmf/fonts/type1/public/lm/lmss12.pfb></usr/share/texmf/fonts/type1/public/lm/lmss8.pfb></usr/share/texmf/fonts/type1/public/lm/lmssbx10.pfb></usr/share/texmf/fonts/type1/public/lm/lmsso17.pfb></usr/share/texmf/fonts/type1/public/lm/lmsso8.pfb></usr/share/texmf/fonts/type1/public/lm/lmtt8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb> {/usr/share/texmf/fonts/enc/dvips/lm/lm-ec.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmss12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb></usr/share/texmf/fonts/type1/public/lm/lmss12.pfb></usr/share/texmf/fonts/type1/public/lm/lmss8.pfb></usr/share/texmf/fonts/type1/public/lm/lmssbx10.pfb></usr/share/texmf/fonts/type1/public/lm/lmsso12.pfb></usr/share/texmf/fonts/type1/public/lm/lmsso17.pfb></usr/share/texmf/fonts/type1/public/lm/lmsso8.pfb></usr/share/texmf/fonts/type1/public/lm/lmtt8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb>
Output written on main.pdf (23 pages, 1767385 bytes). Output written on main.pdf (38 pages, 2291647 bytes).
PDF statistics: 283 PDF objects out of 1000 (max. 8388607) PDF statistics: 409 PDF objects out of 1000 (max. 8388607)
188 compressed objects within 2 object streams 289 compressed objects within 3 object streams
47 named destinations out of 1000 (max. 131072) 77 named destinations out of 1000 (max. 131072)
176 words of extra memory for PDF output out of 10000 (max. 100000000) 176 words of extra memory for PDF output out of 10000 (max. 100000000)

View File

@ -14,12 +14,20 @@
\headcommand {\beamer@framepages {18}{20}} \headcommand {\beamer@framepages {18}{20}}
\headcommand {\slideentry {0}{0}{8}{21/21}{}{0}} \headcommand {\slideentry {0}{0}{8}{21/21}{}{0}}
\headcommand {\beamer@framepages {21}{21}} \headcommand {\beamer@framepages {21}{21}}
\headcommand {\slideentry {0}{0}{9}{22/22}{}{0}} \headcommand {\slideentry {0}{0}{9}{22/25}{}{0}}
\headcommand {\beamer@framepages {22}{22}} \headcommand {\beamer@framepages {22}{25}}
\headcommand {\slideentry {0}{0}{10}{23/23}{}{0}} \headcommand {\slideentry {0}{0}{10}{26/29}{}{0}}
\headcommand {\beamer@framepages {23}{23}} \headcommand {\beamer@framepages {26}{29}}
\headcommand {\beamer@partpages {1}{23}} \headcommand {\slideentry {0}{0}{11}{30/30}{}{0}}
\headcommand {\beamer@subsectionpages {1}{23}} \headcommand {\beamer@framepages {30}{30}}
\headcommand {\beamer@sectionpages {1}{23}} \headcommand {\slideentry {0}{0}{12}{31/33}{}{0}}
\headcommand {\beamer@documentpages {23}} \headcommand {\beamer@framepages {31}{33}}
\headcommand {\gdef \inserttotalframenumber {10}} \headcommand {\slideentry {0}{0}{13}{34/37}{}{0}}
\headcommand {\beamer@framepages {34}{37}}
\headcommand {\slideentry {0}{0}{14}{38/38}{}{0}}
\headcommand {\beamer@framepages {38}{38}}
\headcommand {\beamer@partpages {1}{38}}
\headcommand {\beamer@subsectionpages {1}{38}}
\headcommand {\beamer@sectionpages {1}{38}}
\headcommand {\beamer@documentpages {38}}
\headcommand {\gdef \inserttotalframenumber {14}}

Binary file not shown.

Binary file not shown.

View File

@ -103,9 +103,73 @@
\begin{frame}{Finally, we will build continuous controllers to move between \begin{frame}{Finally, we will build continuous controllers to move between
discrete states} discrete states}
\begin{columns}
\begin{column}{0.5\textwidth}
\includegraphics[height=0.7\textheight]{bouncing_ball_hybrid.png}
\end{column}
\begin{column}{0.5\textwidth}
\only<2>{
\begin{alertblock}{Key Challenge}
\small
Verify continuous control behavior across discrete mode transitions
\end{alertblock}
}
\only<3->{
\begin{block}{Key Challenge}
\small
Verify continuous control behavior across discrete mode transitions
\end{block}
}
\vspace{0.3cm}
\only<3>{
\begin{alertblock}{Reachable Set}
\small
$\mathcal{R}(t) = \{x(t) \mid x(0) \in X_0, \dot{x} = f(x)\}$
\end{alertblock}
}
\only<4->{
\begin{block}{Reachable Set}
\small
$\mathcal{R}(t) = \{x(t) \mid x(0) \in X_0, \dot{x} = f(x)\}$
\end{block}
}
\vspace{0.3cm}
\only<4>{
\begin{alertblock}{Barrier Certificate}
\small
$B(x) > 0 \land \nabla B \cdot f(x) \leq 0 \implies x \in \text{Safe}$
\end{alertblock}
}
\end{column}
\end{columns}
\end{frame} \end{frame}
\begin{frame}{Verified autonomous controllers can be created by building this \begin{frame}{Verified autonomous controllers can be created by building this
chain of proof of correctness} chain of proof of correctness}
\begin{enumerate}
\item<1-> \alert<1>{Formalize regulatory procedures into FRET specifications and translate to Linear Temporal Logic (LTL)}
\item<2-> \alert<2>{Synthesize discrete automata from LTL using reactive synthesis}
\item<3-> \alert<3>{Design continuous controllers for each discrete mode and verify safety across mode transitions using barrier certificates and reachability analysis}
\end{enumerate}
\vspace{1cm}
\onslide<4>{
\begin{center}
\large
\textbf{Result: Complete hybrid autonomous system\\
with correctness guarantees by construction}
\end{center}
}
\end{frame} \end{frame}

View File

@ -0,0 +1,57 @@
\begin{frame}{Success is measured through Technology Readiness Level advancement}
\begin{columns}
\begin{column}{0.45\textwidth}
\begin{block}{Why TRLs?}
\small
Bridge gap between academic proof-of-concept and practical deployment
\begin{itemize}
\item[] Academic metrics $\rightarrow$ cannot capture feasibility
\item[] Empirical metrics $\rightarrow$ cannot demonstrate rigor
\item[] TRLs measure both simultaneously
\end{itemize}
\end{block}
\end{column}
\begin{column}{0.55\textwidth}
\begin{block}{Progression Path}
\small
\textbf{Current: TRL 2-3}\\
Fundamental principles established
\vspace{0.3cm}
\textbf{Target: TRL 5}\\
Lab testing in relevant environment
\end{block}
\end{column}
\end{columns}
\end{frame}
\begin{frame}{TRL advancement requires achieving three validation milestones}
\begin{enumerate}
\item<1-> \alert<1>{\textbf{TRL 3: Critical Function \& Proof of Concept}}
\begin{itemize}
\item[] Each component works in isolation
\item[] Specifications pass realizability analysis
\item[] At least one continuous controller with reachability proof
\end{itemize}
\item<2-> \alert<2>{\textbf{TRL 4: Integrated Components in Simulation}}
\begin{itemize}
\item[] Complete integrated hybrid controller
\item[] All mode transitions verified
\item[] Zero safety violations across multiple runs
\end{itemize}
\item<3-> \alert<3>{\textbf{TRL 5: Testing in Relevant Environment}}
\begin{itemize}
\item[] Hardware-in-the-loop on Emerson Ovation
\item[] Autonomous startup sequences via HIL
\item[] Off-nominal scenarios handled correctly
\item[] Formal verification remains valid on hardware
\end{itemize}
\end{enumerate}
\end{frame}

View File

@ -0,0 +1,73 @@
\begin{frame}{Four primary risks with clear mitigation and contingency plans}
\begin{enumerate}
\item<1-> \alert<1>{\textbf{Computational Tractability of Synthesis}}
\begin{itemize}
\item[] \textit{Risk:} Synthesis times exceed project timeline
\item[] \textit{Indicator:} $>$24hr for simplified procedures
\item[] \textit{Contingency:} Reduce to minimal viable startup sequence
\item[] \textit{Mitigation:} HPC resources, compositional verification
\end{itemize}
\item<2-> \alert<2>{\textbf{Discrete-Continuous Interface Complexity}}
\begin{itemize}
\item[] \textit{Risk:} Boolean guards cannot map to continuous dynamics
\item[] \textit{Indicator:} No barrier certificates exist for transitions
\item[] \textit{Contingency:} Restrict to polytopic invariants
\item[] \textit{Mitigation:} Design controllers with transitions as constraints
\end{itemize}
\item<3-> \alert<3>{\textbf{Procedure Formalization Completeness}}
\begin{itemize}
\item[] \textit{Risk:} Procedures lack precision for autonomous control
\item[] \textit{Indicator:} Multiple valid interpretations, operator judgment
\item[] \textit{Contingency:} Document gaps as research contribution
\item[] \textit{Mitigation:} Early analysis with domain experts
\end{itemize}
\item<4-> \alert<4>{\textbf{Hardware-in-the-Loop Integration}}
\begin{itemize}
\item[] \textit{Risk:} Real-time constraints incompatible with hardware
\item[] \textit{Indicator:} Communication dropouts, missed deadlines
\item[] \textit{Contingency:} Software-in-the-loop with timing analysis (TRL 4)
\item[] \textit{Mitigation:} Early integration testing, ARCADE infrastructure
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}{Staged structure ensures partial success yields valuable results}
\begin{columns}
\begin{column}{0.5\textwidth}
\begin{block}{Early Detection}
\small
Each risk has specific indicators for early warning
\begin{itemize}
\item[] Quarterly assessment of progress
\item[] Data-driven plan revision only when assumptions invalidated
\end{itemize}
\end{block}
\end{column}
\begin{column}{0.5\textwidth}
\begin{block}{Research Value}
\small
Even contingency outcomes contribute knowledge
\begin{itemize}
\item[] Identifying barriers is itself valuable
\item[] Clear pathway for future work
\item[] Publishable results at each stage
\end{itemize}
\end{block}
\end{column}
\end{columns}
\vspace{1cm}
\begin{center}
\textbf{Contingency plans preserve core methodology\\
while adjusting scope to maintain feasibility}
\end{center}
\end{frame}