Smartare stålprojektering med maskininlärning

Konstruktion
Digitaliseringens intåg i samhället har knappast undgått någon. Nya trendord som disruption, automatisering och AI vittnar om de utmaningar vi står inför. Pågående eller kommande genombrott inom digitalisering kommer säkerligen förändra våra vardagliga liv och våra arbeten. Listan över sådana genombrott låter sig inte göras kort, men några framstående exempel är AI (artificiell intelligens), IoT (internet of things), Blockchain, kvantdatorer och autonoma fordon.

Mitt i detta virrvarr pågår ändå byggnadskonstruktörens vardag, och i takt med att fler programvaror, standarder och tekniska system introduceras blir det svårare och svårare att hålla sig uppdaterad med det senaste. Det krävs mycket av oss konstruktörer för att både bemästra BIM, Finita Element-analyser och produktionsanpassade lösningar. Hur ska vi lyckas hänga med i omvärldens utvecklingssprång när vi redan har fullt upp på vår hemmaarena? Faktum är att nästintill alla våra projekt numera genomförs med 3D-modeller och BIM. Det innebär att stora mängder digitala fotspår, med andra ord data, lämnas kvar när ett projekt avslutas. Denna data kan visa sig vara mycket värdefull på fler sätt än förväntat. Uppsjön av färdiga BIM-modeller i avslutade projekt utgör nämligen en enorm kunskapsbank som reflekterar byggnadskonstruktörernas samlade kunskap och erfarenhet. Här finns en möjlighet att tillämpa maskininlärning (en form av AI) för att dra nytta av denna kunskapsbank. Trots detta är det än så länge sällsynt med sådana användningsexempel i vår bransch.

Maskininlärning i BIM-Modeller

Sweco har experimenterat med maskininlärning i BIM-modeller för att ta tillvara denna potential, ett exempel är knutpunkter i detaljerade stålstommar. En prototyp i form av ett datorprogram har utvecklats, som med hjälp av en maskininlärningsalgoritm kan analysera befintliga stålmodeller och ”lära sig” hur knutpunkterna detaljerats. För att lära sig anledningen till vilken detaljlösning som använts tittar programmet på ett antal styrande parametrar, som antal anslutande profiler i knutpunkten, profilstorlekar, vinklar, längder, m.m. Det går till och med att importera in snittkrafter till stålstommen från befintliga beräkningsmodeller, och ha med dessa bland parametrarna som maskininlärningsalgoritmen lär sig ifrån. När tillräckligt många stålstommar har analyserats kan programmet baserat på sin ”erfarenhet” föreslå lämpliga detaljlösningar till knutpunkter i nya basmodeller. Detta kan liknas vid hur en konstruktör under sitt arbetsliv samlar på sig erfarenhet, för att så småningom skapa sig en intuition av vilken utformning som passar bäst för en viss knutpunkt.

Datorprogram

Låt oss titta närmare på det datorprogram som utvecklats för att lättare förstå hur denna process går till. Rent praktiskt är det ett fristående datorprogram med ett grafiskt användargränssnitt som utvecklats. Detta program används tillsammans med stålmodeller i programmet Tekla Structures. Det typiska programflödet vid användning kan delas upp i följande steg:

  1. Användaren instruerar programmet att identifiera alla knutpunkter i en befintlig stålmodell i Tekla (en knutpunkt definieras av att ändarna av minst två stålelement ligger nära varandra med en viss tolerans).
  2. När programmet identifierat alla knutpunkter visualiseras dessa i modellen med en liten sfär. Efter detta kan användaren göra två olika saker beroende på om modellen är detaljerad eller inte:
    1. Om stålmodellen är detaljerad kan användaren markera önskade knutpunkter och instruera programmet att skriva in dem i sin databas.
    1. Om stålmodellen inte är detaljerad kan användaren markera önskade knutpunkter och instruera programmet att läsa från sin databas för att hitta lämpliga matchningar (med hjälp av en maskininlärningsalgoritm).
  3. Om programmet hittar lämpliga matchningar visas dessa i en lista där användaren kan välja en knutpunkt som automatiskt skapas i modellen, Figur 1.
Figur 1: Algoritmen hittar förslag till detaljlösningar som kan modelleras in automatiskt.

Tester har genomförts för att säkerställa att principen verkligen fungerar. I ett av dessa tester valdes först två färdigdetaljerade modeller av stålstommar till kraftverk ut. Dessa användes för att träna upp maskininlärningsalgoritmen, Figur 2.

Figur 2: Två färdigdetaljerade modeller av stålstommar till kraftverk användes för att träna upp maskininlärningsalgoritmen.

I nästa steg användes en basmodell av ett tredje kraftverk, i denna modell fanns 929 stålelement och 696 knutpunkter. Knutpunkterna visualiseras i figuren med blå sfärer, Figur 3.

Figur 3: Den tränade maskininlärningsmodellen användes för att hitta matchande detaljer för de 696 knutpunkterna i basmodellens blå punkter.

Den tränade maskininlärningsmodellen användes nu för att hitta matchande detaljer för de 696 knutpunkterna i basmodellen. Resultatet blev att algoritmen fann en ”perfekt matchning” hos 22 % av knutpunkterna, en ”möjlig matchning” hos 55 % av knutpunkterna, och ingen matchning för resterande 23 % av knutpunkterna. I figuren visualiseras dessa med grön, gul respektive röd färg. En perfekt matchning innebär att värdet hos samtliga analyserade parametrar överensstämmer med en tidigare lösning, och en möjlig matchning innebär att värdet hos samtliga parametrar ligger inom ett tillåtet spann, Figur 4.

Figur 4: I figuren visualiseras dessa med grön, gul respektive röd färg.

Om det förutsätts att en knutpunkt i genomsnitt tar 15 minuter att utforma och modellera, skulle enbart knutpunkterna med perfekt matchning innebära en tidsbesparing på nästan 40 timmar. Det bör dock poängteras att prototypen fortfarande är i ett utvecklingsskede och därmed inte redo att användas i pågående projekt än. Nästa milstolpe i utvecklingen blir att testa den i ett pågående projekt för att samla in avvikelserapporter och användarfeedback.

Resultaten av de genomförda testerna påvisar en stor potential i att effektivisera delar av vårt arbete med hjälp av maskininlärning och programmering. Det krävs ingen större fantasi för att tänka sig att sådana här typer av ”intelligenta” system kommer assistera oss i framtiden vid utformningen av nya byggnader. Dessa system kan till en början bli upplärda av oss konstruktörer, för att senare kunna assistera med förslag på beprövade alternativ eller varna vid avvikelser. I takt med att instrumentering av byggnader blir vanligare kommer dessa system även kunna få tillgång till sensordata. Hållbarhets- och livscykelperspektivet tillåts då spela en än större roll i designskedet, när lösningar som har lägre frekvens av korrosions- och utmattningsproblematik kan väljas för att minimera reparation- och underhållsbehov.

På tiden när ritningar gjordes för hand var det fortfarande relativt avgränsat vilka kunskaper som krävdes av byggnadskonstruktörerna för att genomföra ett lyckat projekt. Idag krävs det så många olika specialistkompetenser att det inte är möjligt att genomföra ett medelstort projekt med ett team som består enbart av generalister. Vidare tyder den senaste tidens digitaliseringsfokus på att behovet av specialistkompetens kommer att fortsätta öka; tillämpning av ny teknik som till exempel AI kräver kompetenser som är sällsynta i byggbranschen. Kanske behöver programmering få spela en större roll i byggingenjörsutbildningarna för att vår bransch ska hänga med i omvärldens utvecklingssprång?

Författare
Samir El Mourabit, Sweco