diff --git a/Presentations/ERLM/bouncing_ball_hybrid.png b/Presentations/ERLM/bouncing_ball_hybrid.png index fa8397fb8..e23b7abf0 100644 Binary files a/Presentations/ERLM/bouncing_ball_hybrid.png and b/Presentations/ERLM/bouncing_ball_hybrid.png differ diff --git a/Presentations/ERLM/bouncing_ball_hybrid.py b/Presentations/ERLM/bouncing_ball_hybrid.py index 9e6a81204..07e708522 100644 --- a/Presentations/ERLM/bouncing_ball_hybrid.py +++ b/Presentations/ERLM/bouncing_ball_hybrid.py @@ -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]) if show_phase: - fig, axes = plt.subplots(2, 2, figsize=(14, 10)) + fig, axes = plt.subplots(2, 1, figsize=(8, 10)) else: fig, axes = plt.subplots(2, 1, figsize=(12, 8)) axes = axes.reshape(-1, 1) # 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) ax1.axhline( y=ball.r, @@ -229,35 +229,9 @@ def plot_simulation(t, y, states, ball, show_phase=True): ax1.grid(True, alpha=0.3) 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: - # Plot 3: Vector Field / Phase Portrait - ax3 = axes[0, 1] + # Plot 2: Vector Field / Phase Portrait + ax2 = axes[1] # Create vector field grid 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 dVel[i, j] = (spring_force - damping_force - ball.m * ball.g) / ball.m - # Plot vector field - ax3.quiver(Pos, Vel, dPos, dVel, alpha=0.4, color='gray', scale=50) + # Plot vector field with much smaller scale + ax2.quiver(Pos, Vel, dPos, dVel, alpha=0.3, color='gray', scale=300, width=0.003) # Plot trajectory - scatter3 = ax3.scatter( - y[:, 0], y[:, 1], c=state_numeric, s=1, cmap="coolwarm", alpha=0.6 + scatter2 = ax2.scatter( + y[:, 0], y[:, 1], c=state_numeric, s=2, cmap="coolwarm", alpha=0.7 ) - ax3.axvline( - x=ball.r, color="k", linestyle="--", label=f"Contact threshold", linewidth=1 + ax2.axvline( + 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) - ax3.set_xlabel("Position (m)", fontsize=11) - ax3.set_ylabel("Velocity (m/s)", fontsize=11) - ax3.set_title("Vector Field & Phase Portrait", fontsize=12, fontweight="bold") - ax3.grid(True, alpha=0.3) - ax3.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) + ax2.axhline(y=0, color="gray", linestyle="-", linewidth=1, alpha=0.5) + ax2.set_xlabel("Position (m)", fontsize=11) + ax2.set_ylabel("Velocity (m/s)", fontsize=11) + ax2.set_title("Vector Field & Phase Portrait", fontsize=12, fontweight="bold") + ax2.grid(True, alpha=0.3) + ax2.legend(fontsize=9) plt.tight_layout() return fig diff --git a/Presentations/ERLM/main.aux b/Presentations/ERLM/main.aux index 92f7af0a8..b8f69f027 100644 --- a/Presentations/ERLM/main.aux +++ b/Presentations/ERLM/main.aux @@ -18,13 +18,21 @@ \@writefile{nav}{\headcommand {\beamer@framepages {18}{20}}} \@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{21/21}{}{0}}} \@writefile{nav}{\headcommand {\beamer@framepages {21}{21}}} -\@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{22/22}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {22}{22}}} -\@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{23/23}{}{0}}} -\@writefile{nav}{\headcommand {\beamer@framepages {23}{23}}} -\@writefile{nav}{\headcommand {\beamer@partpages {1}{23}}} -\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{23}}} -\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{23}}} -\@writefile{nav}{\headcommand {\beamer@documentpages {23}}} -\@writefile{nav}{\headcommand {\gdef \inserttotalframenumber {10}}} -\gdef \@abspage@last{23} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{22/25}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {22}{25}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{26/29}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {26}{29}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{11}{30/30}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {30}{30}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{12}{31/33}{}{0}}} +\@writefile{nav}{\headcommand {\beamer@framepages {31}{33}}} +\@writefile{nav}{\headcommand {\slideentry {0}{0}{13}{34/37}{}{0}}} +\@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} diff --git a/Presentations/ERLM/main.fdb_latexmk b/Presentations/ERLM/main.fdb_latexmk index c53020d01..0287d19bc 100644 --- a/Presentations/ERLM/main.fdb_latexmk +++ b/Presentations/ERLM/main.fdb_latexmk @@ -1,5 +1,5 @@ # 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/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 "" "/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/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/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/cmsy8.pfb" 1248133631 32626 4f5c1b83753b1dd3a97d1b399a005b4b "" "/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/lmss8.pfb" 1255129361 94400 e33ecfb646a9f148e2e53da01a9168fe "" "/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/lmsso8.pfb" 1255129361 106860 a773e4958b589eadcc5b01a914624508 "" "/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 "" "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1760105440.02229 5312232 f3296911be9cc021788f3f879cf0a47d "" "/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/nuclear-plant.png" 1764360699.85273 33643 ae391bd2b827c05be2b7a877fcdaf999 "" "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/logo.png" 1763336452.15499 72759 d854b0b4145b18961bb2668be3694a61 "" "images/title.png" 1763336452.15499 7783 cf1b0502d51a4234f6adb5c03ec1ebaf "" - "main.aux" 1764459171.40277 1746 0eb0eee5ad778b828fb5a345ff3786c5 "lualatex" - "main.nav" 1764459171.40277 1133 53fdb1aeaa40cdfa0707cff37314a6e8 "lualatex" - "main.out" 1764459169.57877 0 d41d8cd98f00b204e9800998ecf8427e "lualatex" + "main.aux" 1764471671.38526 2262 20ba4dbe8d354f61b80ab2ad4d676b30 "lualatex" + "main.nav" 1764471671.38626 1505 0e707b90c7ac7389b11305df82320fab "lualatex" + "main.out" 1764471668.59227 0 d41d8cd98f00b204e9800998ecf8427e "lualatex" "main.tex" 1764358487.97007 1747 a0f09a38bfba635b118c46cdaf2edf1e "" "slides/1_Hook.tex" 1764365003.84351 2229 97b6feb9df84753abe53753986ce82f2 "" "slides/2_State_of_the_Art.tex" 1764383975.9522 3141 35c30c8f499bcb66f057d446959e11cc "" "slides/3_Limitations.tex" 1764448781.58692 1453 7f207d2afdea9d103a33718f4aa61f29 "" - "slides/4_Research_Approach.tex" 1764459167.39578 3322 47d81501a36180b5faf52f648f0c71fb "" - "slides/5_Metrics_of_Success.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e "" - "slides/6_Risks_and_Contingencies.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e "" + "slides/4_Research_Approach.tex" 1764471457.16938 5112 8e589a74e3577cf82b57e1d2154e3a37 "" + "slides/5_Metrics_of_Success.tex" 1764471642.24628 1935 bc05f76e9a72d3f75c18ed103068b2fb "" + "slides/6_Risks_and_Contingencies.tex" 1764471662.61527 2878 bff7085bb7e463bed2f13ce3ea0afe69 "" "slides/7_Broader_Impacts.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e "" "slides/8_Money_Slide.tex" 1764192995.54475 0 d41d8cd98f00b204e9800998ecf8427e "" "theme/beamercolorthemedane_native.sty" 1764364326.03437 2320 f7b01a98de0d22c836b1a657249a51d2 "" diff --git a/Presentations/ERLM/main.fls b/Presentations/ERLM/main.fls index a0f334d3e..d2201f09f 100644 --- a/Presentations/ERLM/main.fls +++ b/Presentations/ERLM/main.fls @@ -710,13 +710,52 @@ INPUT ./images/logo.png INPUT ./images/back.jpg INPUT ./images/logo.png INPUT ./images/logo.png +INPUT ./bouncing_ball_hybrid.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 ./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/back.jpg INPUT ./images/logo.png 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 ./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/8_Money_Slide.tex OUTPUT main.nav @@ -724,11 +763,14 @@ OUTPUT main.toc OUTPUT main.snm INPUT ./main.aux 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/cmsy8.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/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/lmsso8.pfb INPUT /usr/share/texmf/fonts/type1/public/lm/lmtt8.pfb diff --git a/Presentations/ERLM/main.log b/Presentations/ERLM/main.log index 255035c62..8f18ad8b6 100644 --- a/Presentations/ERLM/main.log +++ b/Presentations/ERLM/main.log @@ -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. file:line:error style messages enabled. **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) -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. + +File: bouncing_ball_hybrid.png Graphic file (type 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) -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. File: images/logo.png Graphic file (type 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. [22 +<./bouncing_ball_hybrid.png>] +File: bouncing_ball_hybrid.png Graphic file (type 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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) -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. File: images/back.jpg Graphic file (type 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. File: images/logo.png Graphic file (type 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. - [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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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) + +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 \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: - 41926 strings out of 476553 - 100000,1977958 words of node,token memory allocated - 2586 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 - avail lists: 2:35,3:4138,4:417,5:382,6:64,7:5375,8:2,9:4581,10:10,11:130 - 61694 multiletter control sequences out of 65536+600000 + 42127 strings out of 476553 + 125011,1977958 words of node,token memory allocated + 8469 words of node memory still in use: + 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:4066,4:443,5:388,6:60,7:4794,8:27,9:4511,10:12,11:433 + 61755 multiletter control sequences out of 65536+600000 95 fonts using 3939739 bytes 128i,18n,116p,747b,1110s stack positions out of 10000i,1000n,20000p,200000b,200000s -{/usr/share/texmf/fonts/enc/dvips/lm/lm-ec.enc} -Output written on main.pdf (23 pages, 1767385 bytes). +{/usr/share/texmf/fonts/enc/dvips/lm/lm-ec.enc} +Output written on main.pdf (38 pages, 2291647 bytes). -PDF statistics: 283 PDF objects out of 1000 (max. 8388607) - 188 compressed objects within 2 object streams - 47 named destinations out of 1000 (max. 131072) +PDF statistics: 409 PDF objects out of 1000 (max. 8388607) + 289 compressed objects within 3 object streams + 77 named destinations out of 1000 (max. 131072) 176 words of extra memory for PDF output out of 10000 (max. 100000000) diff --git a/Presentations/ERLM/main.nav b/Presentations/ERLM/main.nav index e2d2ab667..8c1aef6d7 100644 --- a/Presentations/ERLM/main.nav +++ b/Presentations/ERLM/main.nav @@ -14,12 +14,20 @@ \headcommand {\beamer@framepages {18}{20}} \headcommand {\slideentry {0}{0}{8}{21/21}{}{0}} \headcommand {\beamer@framepages {21}{21}} -\headcommand {\slideentry {0}{0}{9}{22/22}{}{0}} -\headcommand {\beamer@framepages {22}{22}} -\headcommand {\slideentry {0}{0}{10}{23/23}{}{0}} -\headcommand {\beamer@framepages {23}{23}} -\headcommand {\beamer@partpages {1}{23}} -\headcommand {\beamer@subsectionpages {1}{23}} -\headcommand {\beamer@sectionpages {1}{23}} -\headcommand {\beamer@documentpages {23}} -\headcommand {\gdef \inserttotalframenumber {10}} +\headcommand {\slideentry {0}{0}{9}{22/25}{}{0}} +\headcommand {\beamer@framepages {22}{25}} +\headcommand {\slideentry {0}{0}{10}{26/29}{}{0}} +\headcommand {\beamer@framepages {26}{29}} +\headcommand {\slideentry {0}{0}{11}{30/30}{}{0}} +\headcommand {\beamer@framepages {30}{30}} +\headcommand {\slideentry {0}{0}{12}{31/33}{}{0}} +\headcommand {\beamer@framepages {31}{33}} +\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}} diff --git a/Presentations/ERLM/main.pdf b/Presentations/ERLM/main.pdf index 699b47184..ae855774a 100644 Binary files a/Presentations/ERLM/main.pdf and b/Presentations/ERLM/main.pdf differ diff --git a/Presentations/ERLM/main.synctex.gz b/Presentations/ERLM/main.synctex.gz index c9e3349ec..acdc33eea 100644 Binary files a/Presentations/ERLM/main.synctex.gz and b/Presentations/ERLM/main.synctex.gz differ diff --git a/Presentations/ERLM/slides/4_Research_Approach.tex b/Presentations/ERLM/slides/4_Research_Approach.tex index 376ff9c00..983dfc4e1 100644 --- a/Presentations/ERLM/slides/4_Research_Approach.tex +++ b/Presentations/ERLM/slides/4_Research_Approach.tex @@ -103,9 +103,73 @@ \begin{frame}{Finally, we will build continuous controllers to move between 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} \begin{frame}{Verified autonomous controllers can be created by building this 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} diff --git a/Presentations/ERLM/slides/5_Metrics_of_Success.tex b/Presentations/ERLM/slides/5_Metrics_of_Success.tex index e69de29bb..c7733a70c 100644 --- a/Presentations/ERLM/slides/5_Metrics_of_Success.tex +++ b/Presentations/ERLM/slides/5_Metrics_of_Success.tex @@ -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} diff --git a/Presentations/ERLM/slides/6_Risks_and_Contingencies.tex b/Presentations/ERLM/slides/6_Risks_and_Contingencies.tex index e69de29bb..abf0b55cc 100644 --- a/Presentations/ERLM/slides/6_Risks_and_Contingencies.tex +++ b/Presentations/ERLM/slides/6_Risks_and_Contingencies.tex @@ -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}