Hoppa till huvudinnehåll

Asset tracking

Organisationer tappar sällan bort sina tillgångar. De tappar kontrollen över var de finns, vilket kostar lika mycket och är svårare att argumentera kring. Vagnar, burar, verktyg, rullbord, testutrustning och kärl rör sig genom en anläggning hela dagen, och frågorna som ställs om dem handlar nästan aldrig om koordinater:

  • Hur många vagnar står i den här uppställningsplatsen just nu, och behöver någon fylla på?
  • Har det här rullbordet lämnat området?
  • Vilka av de här fyrtio enheterna har inte rört sig på en månad, och varför hyr vi in fler?
  • Var sågs den senast, och av vad?

Alla fyra besvaras utifrån positionsdata, men ingen av dem besvaras av en position. Arbetet består i att göra om en ström av koordinater till ett antal per zon, och det är den delen som en karta i sig inte klarar.

Att alls få fram en position​

Det finns ingen enda metod som fungerar överallt, och valet avgörs oftast av om tillgången lever sitt liv utomhus.

MetodVar den passarVad den kostar dig
Inbyggd GNSSGårdsplaner, parkeringar, öppna ytor, allt som ser himlenStröm. En positionsbestämning är det dyraste en batteridriven tracker gör, och därför är rapporteringen oftast rörelsestyrd snarare än periodisk
Wi-Fi MAC-skanningInomhus, där GNSS inte når. Trackern rapporterar de accesspunkter den hör och positionen härleds ur demFörutsätter ett någorlunda stabilt bestånd av accesspunkter
Närhet till en känd punktUppställningsplatser, fack, grindar, lastkajer. Tillgången hör en beacon vid en zon och rapporterar vilken, över en signaltröskelGer dig zonen, inte metern. För räkning är det ändå oftast svaret
GatewaypositionLoRaWAN-sensorer helt utan positioneringshårdvaraGrovt. Översättaren set-lnglat-from-gateway-location-chirpstack fyller i nodens position från närmaste gateway, vilket ofta räcker för att säga "på området"

Sensatives egen Square Tracker och den tåligare varianten Xtreme täcker de tre första, och Yggio tar emot vilken annan leverantörs tracker som helst via en översättare på samma sätt. Installationsmönstret nedan beror inte på vilken ni väljer.

Square Tracker Xtreme: ett grått tätt hölje med en ögla i över- och underkant för montering med buntband eller ram, Sensatives logotyp över den nedre ytan

Öglorna betyder mer än de ser ut att göra. En tracker sätts upp med lim, buntband eller skruv genom en monteringsram, så att utrusta en flotta kräver varken ström, kabeldragning eller borrning i något bärande - vilket är det som gör att märka upp ett par hundra vagnar till ett skiftarbete i stället för ett projekt.

En poäng värd att ta tidigt: noggrannhet är en budget, inte ett mål. En tracker som rapporterar varje minut med fem meters noggrannhet håller inte året ut på batteri, och ett antal per uppställningsplats behöver inte fem meter. Bestäm vad frågan tål innan ni väljer hårdvara.

Zoner är det ni faktiskt frågar efter​

Ett geofence är en polygon, och Yggio jämför varje inkommande position mot de geofences som finns. Den jämförelsen ingår inte i den väg en rapport normalt tar, så en tracker läggs på geofrågeflödet

Jämförelsen ger en åtkomsthändelse:

Händelse
access: enterTrackern gick in i ett geofence
access: insideDen rapporterade en ny position medan den redan var inne
access: exitDen lämnade

Logiken ligger på geofencet snarare än på trackern. Ett geofence är kopplat till en egen IoT-nod, geofence-referensnoden, och räkningen görs av en översättare på den noden. Zonen håller tillståndet, eftersom det är zonen frågan handlar om.

general-geofence är den översättaren. Vid varje åtkomsthändelse underhåller den listan över tillgångar som finns inne och producerar:

Utdata
assetsHur många tillgångar som finns inne
trackersHur många av dessa som är den typ ni räknar
assetListAllt som finns inne, med namn, id, position, våningsplan, åtkomststatus och tidsstämpel
assetUpdateTillgången som just gick in, lämnade eller flyttade sig

Skillnaden mellan assets och trackers är den som gör det här användbart på en verklig anläggning. En uppställningsplats kan rymma både bagagevagnar och rullstolar; påfyllnadsfrågan gäller bara vagnarna. Matchning mot ett kontextuellt fält, till exempel assetType = Baggage Cart, räknar de ni bryr er om men rapporterar fortfarande allt som finns där.

Vad en zon gör när en tillgång tystnar​

En tillgång lämnar en zon bara genom att rapportera att den lämnade. En tracker vars batteri tar slut inne i en uppställningsplats skickar aldrig något exit, så utan någon annan mekanism skulle antalet glida uppåt och stanna där.

Översättaren hanterar det med två kvarhållningsfönster: tillgångar som slutar rapportera tas bort efter removeIdleAssetsAfterHours (minst 24 h), och tillgångar som lämnat tas bort efter removeExitedAssetsAfterHours. Det är värt att förstå snarare än att lämna på standardvärdet, eftersom det är det som avgör hur länge ett felaktigt antal lever kvar. Det är en självläkande mekanism, inte en korrekthetsgaranti: om en skrivning går förlorad någonstans uppströms är antalet fel tills vilofönstret löper ut.

Det finns också forwardAccuracyLimit, som bortser från händelser vars rapporterade positionsnoggrannhet är sämre än en gräns. En dålig GNSS-fix vid kanten av en polygon ger annars enter- och exit-händelser som ingenting fysiskt har gjort.

Vad som byggs ovanpå​

När tillgångarna väl är vanliga Yggio-enheter med positioner och zontillhörighet är resten plattformen:

  • Antal per zon i en dashboard, per uppställningsplats, fack eller våningsplan. Se Dashboards.
  • Påfyllnad och eskalering via regelmotorn - en uppställningsplats under en tröskel längre än några minuter skapar en uppgift, och eskalerar om ingen kvitterar.
  • En karta över var saker finns, filtrerad på typ, kontextuell parameter eller egen fråga. Se Karta. (Inte Location Manager - den är avvecklad och ska inte användas för nya installationer.)
  • Utnyttjande över tid, vilket oftast är det som motiverar installationen. En tillgång som inte har rört sig på en månad är antingen trasig, undanlagd, eller ett belägg för att flottan är större än den behöver vara. Det sista är fyndet som betalar projektet.
  • In i de system folk redan använder - det öppna API:et och MQTT in i ett WMS, ERP eller underhållssystem, och Grafana eller Power BI för rapportering.

En Yggio-dashboard med rubriken BCM - T1 Daily Stocking Levels. Åtta rutor längs överkanten visar aktuellt antal vagnar per område, från 13 till 291, några gröna och några röda. Under dem följer linjediagram varje områdes antal genom dygnet mot röda, gula och gröna målband

De röda, gula och gröna banden i en sådan dashboard är verksamhetens egna mål snarare än något som levereras som standard, och det är det som gör en ruta värd att titta på i stället för dekorativ.

Rapportering mot en servicenivå​

Där antalen är avtalade är det samma siffror som reglerar avtalet. Rapporter körs schemalagt eller vid behov som Excel, CSV eller HTML, och bär de kolumner ett serviceavtal faktiskt diskuteras utifrån: mål mot utfall, och hur länge ett område legat under mål. Se Rapporter.

En Yggio-rapport med namnet Asset Stocking SLS, genererad som Excel-fil. Timrader för en terminal visar påfyllnadsmål, SLS-mål, faktiskt antal, över- eller undertal, och andel påfylld ritad som ett rött, gult eller grönt fält

En Yggio-rapport med namnet Baggage Cart Inventory SLS. Dagsrader visar totalt bestånd, SLS-mål, totalt tillgängligt, andel tillgänglig som ett grönt fält, och antalet enheter under mål, med en summarad längst ned

Siffror mot ett överenskommet mål, snarare än enbart diagram, är den skillnad som betyder något. Samma siffror tjänar sedan tre målgrupper utan att räknas om: skiftet som ska fylla på ett område i dag, den månatliga ledningsgenomgången, och avtalsgenomgången.

Eftersom tillgångarna är vanliga enheter gäller åtkomsträttigheter som vanligt: en entreprenör som ansvarar för en terminal ser den terminalens tillgångar och ingen annans.

Att driva det i stor skala​

  • Namnge zoner efter platsen, inte efter enheten. Ett larm som säger "Gång 14" går att agera på; ett som säger id:t på en geofence-referensnod gör det inte.
  • Följ trackerhälsan som en egen signal. Batteri och senast sedd per tracker, så att en enhet som tystnat larmas som ett fel i stället för att i tysthet snedvrida ett antal.
  • Räkna med att stämma av då och då. Räknesystem som bygger på parvisa enter- och exit-händelser samlar på sig fel över lång tid, och en periodisk återställning är billigare än att försöka göra avdrift omöjlig.
  • Börja med de zoner som har ett beslut kopplat till sig. Ett geofence runt hela anläggningen säger lite. Ett geofence runt platsen någon måste gå till säger om de behöver göra det.

Att komma igång​

Snabbaste vägen till ett beslutsunderlag är en tillgångstyp, i ett område, ordentligt mätt.

1 - Pilot. En tillgångstyp, en byggnad eller ett terminalområde. Ett begränsat antal trackers, kontrollerad LoRaWAN-täckning, en Yggio-tenant, och den karta och de regler teamet faktiskt behöver. Mät mot en utgångsnivå som är överenskommen i förväg - söktid, utnyttjande eller svinn - eftersom en pilot utan uttalad utgångsnivå inte går att diskutera efteråt.

2 - Drift. Justera zoner, larm och rapporter tillsammans med dem som använder dem, inte i förväg. Lägg till fältflödet i mobilen: skanna, besikta, lämna över. Integrera mot befintliga system via API:et där det gör nytta, i stället för överallt på en gång.

3 - Skala. Fler tillgångstyper, fler byggnader, fler anläggningar, på samma plattform, roller och datamodell. Utplacerade trackers får nya uppgifter över luften i stället för att bytas ut, och andra områden - energi, klimat, närvaro - ansluter till samma tenant.

Det här bör finnas på plats innan piloten startar:

  • De tillgångstyper som gör mest ont, och ungefär hur många enheter det rör sig om.
  • En områdes- eller planritning, och en bild av befintlig Wi-Fi- och LoRaWAN-täckning.
  • En driftansvarig som kan säga vad "bra" innebär.

Det sista avgör mer än hårdvaran gör.

Relaterat​