← Takaisin simulaattoriin

Menetelmäkuvaus (Whitepaper)

Julkaisupäivä: Elokuu 2026 | Versio 1.0

1. Johdanto

Nostologistiikan suunnittelu rakennustyömaalla on kriittinen tekijä sekä turvallisuuden että tuotannon tehokkuuden kannalta. Crane & Site Solver -ohjelmisto kehitettiin vastaamaan tarpeeseen visuaalisesta ja matemaattisesta työkalusta, jolla työmaainsinöörit voivat simuloida kaluston riittävyyttä suoraan selauspohjaisessa käyttöliittymässä. Tämä asiakirja kuvaa ohjelmiston taustalla toimivan logiikan ja spatiaalisen matematiikan periaatteet.

2. Koordinaatisto ja Skaalaus (Canvas-moottori)

Sovellus hyödyntää 2D-vektorigrafiikkakirjastoa (Konva.js) työmaan esittämiseen vapaassa kaksiulotteisessa karteesisessa koordinaatistossa. Käyttäjän syöttämä kalibrointimitta (esim. 10 metriä) muuntaa koko kankaan pikselipohjaisesta järjestelmästä metriseen järjestelmään vakiolla PIXELS_PER_METER. Tämä mahdollistaa kaikkien etäisyyksien ja pinta-alojen tarkan matemaattisen käsittelyn reaaliajassa.

3. Kuormituskäyrien interpolaatio

Eri torninosturimallien kapasiteetti ei lyhene lineaarisesti puomin päästä mastoon. Sovelluksen tietokanta (CRANE_LIBRARY) sisältää valmistajien ilmoittamat todelliset nostokäyrät taulukoituna (esim. Reach: 30m -> Cap: 3200kg). Kun käyttäjä asettaa liukusäätimellä nostettavan taakan massan (kg), algoritmi hakee kuormitustaulukosta lähimmät solmukohdat ja laskee ulottuvuuden (Z-säteen) lineaarisen interpolaation avulla:

reach = p1.reach_m + ((weight - p1.capacity_kg) / (p2.capacity_kg - p1.capacity_kg)) * (p2.reach_m - p1.reach_m)

Tämä mahdollistaa tarkan kapasiteettikehän piirtämisen dynaamisesti taakan painon muuttuessa.

4. Spatiaalinen analyysi ja optimointi (Turf.js)

Ohjelmiston ydin on sen kyky laskea alueiden yhteispeittoja ja optimaalisia sijainteja. Geometriset operaatiot suoritetaan Turf.js-kirjastolla.

4.1 Yhteispeiton laskenta (Coverage)

Piirretyt rakennukset ja purkualueet muunnetaan Monikulmioiksi (Polygons). Jokaisen aktiivisen nosturin säteestä muodostetaan Ympyrä-monikulmio (väh. 48 pistettä tarkkuuden takaamiseksi). Algoritmi suorittaa Boolen erotusoperaation (turf.difference), jossa tavoitealueesta vähennetään nosturien kattamat alueet. Mikäli jäännöspinta-alaa syntyy, järjestelmä hälyttää vajaapeitosta (VAJAAPEITTO).

4.2 Optimaalisen alueen laskenta (Sweet Spot Solver)

Kun käyttäjä pyytää tekoälyltä optimaalista sijoitusaluetta tietylle nosturille tietyllä taakalla, algoritmi toimii seuraavasti:

  1. Lasketaan kaikkien muiden kentällä olevien nosturien yhteispeitto.
  2. Määritetään alueet tavoitekohteista, jotka ovat vailla peittoa.
  3. Kerätään näiden "peittämättömien" alueiden ulkoreunojen kaikki koordinaattipisteet (Vertex-pisteet).
  4. Lasketaan valitulle nosturille sen taakkaa vastaava säde (R).
  5. Luodaan kuvitteellinen ympyrä (säteellä R) jokaiseen peittämättömään Vertex-pisteeseen.
  6. Suoritetaan näille kaikille ympyröille Boolen leikkausoperaatio (turf.intersect).

Tämän leikkauksen tuloksena syntyvä alue (vihreä korostus kentällä) edustaa puhdasta matemaattista "Sweet Spot" -aluetta. Jos valitun nosturin torni sijoitetaan mihin tahansa kohtaan tämän vihreän alueen sisäpuolelle, sen ulottuvuus riittää varmuudella kattamaan kaikki ne pisteet, jotka aiemmin olivat vailla peittoa.

5. Z-Akselin turvaetäisyydet

Vaikka sovellus on visuaalisesti 2D-pohjainen, algoritmi huomioi 3D-korkeuden (Z-akselin). Törmäysvaara määritellään todeksi vain silloin, jos kahden nosturin toimintasäteet (max_reach) leikkaavat toisiaan XY-tasossa, JA niiden koukkukorkeuksien erotus Z-tasossa on alle määritellyn turvamarginaalin (SAFE_Z_CLEARANCE_METERS = 5.0m).