Dnes ma napadlo toto:

A pýtal som sa AI ako takáto pneumatika osciluje pri zbiehavosti kolies? Vypočítala toto: Už pri oscilácií o 1° sa brzdná dráha mení o -40 metrov. (20m/s * 1.8s) viď zdroják rýchlosť vozidla 20m/s * 3.6=cca 80km/h Teda pri rýchlosti cca 80km/h, ak ste v sklze a v zákrute, tento tvar platničky mení brzdnú dráhu o -40m: Toto ukazuje simulácia.


A už pri malej rýchlosti do 90km/h sa pneumatika správa pri natočení veľmi stabilne a nedochádza ku sklzu zo zimnej vozovky.
# simulacia_pneumatika_shimmy.jl
# Jednoduchý lineárny model oscilácie (shimmy) kolesa spôsobený zbiehavosťou (toe)
# Použitie: julia --project=.
# Potrebné balíky: DifferentialEquations, Plots, FileIO, Images
using Pkg
Pkg.add("Plots")
Pkg.add("DifferentialEquations")
Pkg.add("FileIO")
Pkg.add("Images")
using DifferentialEquations
using Plots
using FileIO
using Images
# cesta k obrázku poskytnutému používateľom (upravené z konverzácie)
img_path = "./data/pneu3_AI.png"
# parametre modelu (približné, upravte podľa potreby)
m = 40.0 # hmotnosť "kolesovej zostavy" [kg]
I = 2.0 # moment zotrvačnosti koliesok okolo zvislej osi [kg m^2]
U = 20.0 # rýchlosť vozidla [m/s]
C_alpha = 60000.0 # torzná tuhosť pneumatiky pri sklze (cornering stiffness) [N/rad]
C_m = 10.0 # koeficient „self-aligning“ momentu prepojený s uhlom sklzu [Nm/rad]
# dielčie tlmenia / tuhosti (lineárne)
k_phi = 100.0 # rotačná tuhosť (napr. pruženie v uložení) [Nm/rad]
c_phi = 10.0 # rotačné tlmenie [Nms/rad]
# počiatočná zbiehavosť (toe) z obrázku: zadajte v stupňoch
toe_deg = 5.0 # napr. 5° zbiehavosti (priemerné hodnoty) — upravte podľa obrázku
toe0 = deg2rad(toe_deg)
# stavový vektor x = [y, y_dot, phi, phi_dot]
# y: laterálne posunutie kolesa (m) - jednoduchý indikátor
# phi: rotácia kolesa okolo zvislej osi (rad) - vyjadruje "natočenie" kolieska
function tire_shimmy!(du,u,p,t)
y = u[1]
ydot = u[2]
phi = u[3]
phidot = u[4]
# slip angle (približná lineárna formulácia)
# alpha ~ phi + ydot/U - toe0
alpha = phi + ydot / U - toe0
# laterálna sila približne C_alpha * alpha (jednoduchý lineárny model)
F_lat = C_alpha * alpha
# alignig moment: tu pridáme lineárny odpor a moment spätnej väzby
M_align = -C_m * alpha - k_phi * phi - c_phi * phidot
# rovnice pohybu (jednoduché)
yddot = -F_lat / m
phiddot = M_align / I
du[1] = ydot
du[2] = yddot
du[3] = phidot
du[4] = phiddot
end
# počiatočné podmienky (malé vychýlenia)
u0 = [0.0, 0.1, deg2rad(1.0), 0.0]
tspan = (0.0, 6.0)
prob = ODEProblem(tire_shimmy!, u0, tspan)
sol = solve(prob, Vern9(), abstol=1e-8, reltol=1e-6)
# vykreslenie výsledkov
plt1 = plot(sol.t, getindex.(sol.u,3) .|> rad2deg,
xlabel = "Čas (s)", ylabel = "Phi (deg)", title = "Uhol natočenia kolesa (phi)", legend=false)
plt2 = plot(sol.t, getindex.(sol.u,2), xlabel = "Čas (s)", ylabel = "y_dot (m/s)", title = "Laterálna rýchlosť y_dot", legend=false)
plt3 = plot(sol.t, (phi -> (phi + 0.0)).(getindex.(sol.u,3)) .|> rad2deg,
xlabel = "Čas (s)", ylabel = "Slip angle (deg)", title = "Približný uhlový sklz (alpha)", legend=false)
plot(plt1, plt2, plt3, layout = (3,1), size=(800,900))
# voliteľne: ulož graf
savefig("shimmy_simulation.png")
# Zobrazenie referenčného obrázka pneumatiky (poskytnutý)
try
img = load(img_path)
println("Referenčný obrázok pneumatiky načítaný z: ", img_path)
catch e
@warn "Nepodarilo sa načítať obrázok: $e"
end
# Jednoduchá animácia uhlov natočenia pre vizualizáciu (uloží GIF)
# Pre zobrazenie skutočne otočenej pneumatiky by bolo treba poskladať obraz s rotáciou,
# tu vytvoríme animovaný graf priebehu phi (nie náhľad priamo na otočený obrázok).
anim = @animate for (ti, ui) in zip(sol.t, sol.u)
phi_deg = rad2deg(ui[3])
plot(sol.t, getindex.(sol.u,3) .|> rad2deg, xlabel="t (s)", ylabel="phi (deg)", legend=false)
scatter!([ti], [phi_deg], markersize=6)
title!("Čas = $(round(ti, digits=2)) s, phi=$(round(phi_deg,digits=3))°")
end
mp4path = "shimmy_phi_anim.gif"
gif(anim, mp4path, fps=20)
println("Animácia uložená ako: ", mp4path)
# Koncové poznámky:
# - Model je zjednodušený a lineárny. Reálne chovanie pneumatiky pri shimmy je nelineárne a
# závisí od geometrii zavesenia, tuhosti, hmotnosti, rýchlosti, dynamiky karosérie atď.
# - Parametre C_alpha, C_m, I, m a tlmenia treba doladiť podľa skutočných meraní.
# - Pokiaľ chceš, môžem pridať realistickejší model (napr. full caster/kingpin model alebo
# model s prepojením na karosériu a kmitajúcim tlmením)."
Ďakujem za pomoc so zdrojákom systému chat GPT ^^^ Založil ho na mojom obrázku pneumatiky, keďže som mu predostrel moju ideu oscilácií pneu pri zbiehavosti kolies ;)
Ak zmeníme hmotnosť kolesovej sústavy na polovicu a torznú tuhosť na mäkkšiu pneumatiku, získame cca 10 metrov brzdnej dráhy pre naše autíčko, stačí pomeniť parametre simulácie. Simulácia o je o 0.3 sekundy menšia, čo je 20m/s * 0.3s = cca 10m

Comments “AI vyvinula kolesá s kosoštvorcovými platničkami. Prečo sú výhodnejšie pri zbiehavosti kolies a ako rýchlo Vás dostanú v zime na stopu? 1.8 sekundy:”