A27339 - Åpen
Sluttrapport
Individbasert sortering av pelagisk fisk: Del 2
Fullskala to-spors testlinje Forfatter(e)
Bendik Toldnes
Elling Ruud Øye, Ekrem Misimi, Harry Westavik
�SINTEF
SINTEF Fiskeri og havbruk AS Postadresse:
Sentralbord: 40005350 Telefaks:
[email protected] www.sintef.no/fisk Foretaksregister:
NO 980 478 270 MVA
EMNEORD:
Pelagisk fisk, sortering, maskinsyn, skånsom håndtering, lønnsomhet
Sluttrapport
Individbasert sortering av pelagisk fisk: Del 2
Fullskala to-spors testlinje
VERSJON
3.0
FORFATTER(E)
Bendik Toldnes
Elling Ruud Øye, Ekrem Misimi, Harry Westavik
OPPDRAGSGIVER(E)
Fiskeri og havbruksnæringens forskningfond (FHF)
PROSJEKTNR
FHF #900923/SFH 6020924
SAMMENDRAG
DATO
2016-01-05
OPPDRAGSGIVERS REF.
Lars Lovund
ANTALL SIDER OG VEDLEGG:
46
Dette prosjektet er en videreføring av prosjektet Individbasert kvalitetssortering og kvalitetsmerking av pelagisk fisk (FHF #900387). Målet har vært å teste en tospors industriell prototype av et planlagt 16 spors sorteringssystem for pelagisk fisk, basert på maskinsyn og vektestimering.
Tre større tester er gjennomført hos Pelagia i Liavåg, og test 3 dokumenterte nøyaktighet tilsvarende det som tidligere er oppnådd på lab. Totalvekt er estimert svært nøyaktig med et awik på 0,2 %. Snittavvik er +/- 1,5 %, hvilket medfører at kun i svært få tilfeller vil en fisk estimeres feil mer enn en vektklasse. I test 3 ble systemet testet på makrell, men det er tidligere testet på både sild og makrell, og algoritmer for vektestimering/sortering er utarbeidet for begge fiskeslag.
Kapasitetsmessig greier sorteringssystemet for en tospors linje teoretisk 5-6 tonn/time, avhengig størrelse på fisken og tilstrekkelig innmating.
UTARBEIDET AV
Bendik Toldnes
KONTROLLERT AV
Leif Grimsmo
GODKJENT AV
Marit Aursand
RAPPORTNR
A27339
ISBN
978-82-14-06016-4
GRADERING
Åpen
SIGNATUR
· � .' T�
s��
SIG�:
/m
-��J
GRADERING DENNE SIDEÅpen
Historikk
VERSJON DATO VERSJONSBESKRIVELSE 1.0
2.0 3.0
2014-12-04 2015-11-10 2016-01-05
Første versjon utsendt til styringsgruppen Revidert versjon inkludert Test 3
Revidert versjon, final
Innholdsfortegnelse
1 Innledning ... 5
1.1 Bakgrunn ... 5
1.2 Målsetning ... 6
1.3 Arbeidsinndeling ... 6
2 Gjennomføring ... 9
2.1 Test1 ... 9
2.1.1 Betraktninger rundt de mekaniske aspekter av prototypen ... 9
2.1.1.1 Tilgang til kamera, laser og kamerakalibrering ... 9
2.1.1.2 Risting av båndet ... 10
2.1.1.3 Elektrisk støy ... 10
2.1.2 Maskinsyn ... 10
2.1.2.1 Bildegenerering... 10
2.1.2.2 Enkoder trigging ... 12
2.1.2.3 Enkoder data ... 13
2.1.2.4 Synkronisering av enkoderdata med bilder tatt fra Ranger kamera ... 13
2.1.2.5 Bildeanalyse og vektestimering ... 14
2.1.3 Posisjonsangivning og styring av klaffer for sortering ... 15
2.1.4 Måling av "execution time" på forskjellige funksjoner i programmet ... 15
2.1.5 ModBus ... 16
2.1.6 Videre arbeid før test 2 ... 16
2.2 Test2 ... 17
2.2.1 Aktiviteter dag 1 ... 18
2.2.2 Aktiviteter dag 2 ... 18
2.2.3 Faglig status etter test 2: ... 20
2.3 Test 3 ... 21
2.3.1 Forberedelser ... 21
2.3.1.1 Kvalitet på 3D-bilder ... 21
2.3.1.2 Styring av klaffer ... 23
2.3.1.3 Innmating av fisk ... 23
2.3.1.4 Prediksjonsmodell ... 24
2.3.2 Forsøksplan ... 25
2.3.3 Gjennomføring ... 26
2.3.3.1 Oppsett av linjen ... 26
2.3.3.2 Test av kapasitet (Test 3.1) ... 28
2.3.3.3 Omkjøring av allerede sorterte kasser (Test 3.2) ... 30
2.3.3.4 Test av nøyaktighet (Test 3.3)... 30
3 Resultater ... 31
3.1 Test av kapasitet (Test 3.1) ... 31
3.2 Omkjøring av allerede sorterte kasser (Test 3.2) ... 32
3.3 Test av nøyaktighet (Test 3.3) ... 33
3.4 Teoretisk kapasitet ... 35
4 Oppsummering ... 37
4.1 Oppsett av linjen ... 37
4.2 Kapasitetstest ... 37
4.3 Omkjøring av allerede sortert fisk ... 37
4.4 Nøyaktighetstest ... 37
4.5 Teoretisk kapasitet ... 37
5 Konklusjon ... 38
6 Lønnsomhetsbetraktning ... 39
7 Måloppnåelse ... 41
8 Forslag til utbedringer ... 42
Vedlegg ... 43
BILAG/VEDLEGG
1. 3D-tegning fra Havyard MMC
2. Angående fase 3 (fra prosjektbeskrivelse)
1 Innledning
Dette prosjektet er en videreføring av prosjektet Individbasert kvalitetssortering og kvalitetsmerking av pelagisk fisk (FHF #900387) og er forankret i FHF sin Handlingsplan for 2013 gjennom Pelagisk sektor sin satsing på teknologiutvikling.
1.1 Bakgrunn
Sortering av pelagisk fisk basert på vekt gjøres i dag ved hjelp av rullegraderere og manuell etterkontroll.
Rullegradererne gir forholdsvis røff håndtering av fisken og usikkerhet i nøyaktigheten av sorteringen, slik at stor fisk ofte forekommer i småfiskklasser og omvendt. Dette medfører problemer i fileteringsmaskinene som har størrelsesjustert filetering og det gir lavere utbytte. I tillegg vil en mer unøyaktig sortering føre til at kundene kan få vektmessig feilklassifisert fisk.
Med bakgrunn i industriens ønske om bedre sortering, har flere prosjekter (se liste i slutten av kapittelet) jobbet frem mot å utvikle maskinsynbasert teknologi for mer nøyaktig og skånsom sortering av pelagisk fisk med stor kapasitet. Dette vil gi positive virkninger på landanleggenes økonomi, fiskens kvalitet og utnyttelsen av ressursene.
SINTEF Fiskeri og havbruk (SFH), MMC Tendos (senere endret navn til Havyard MMC), Fosnavaag Seafood og Avanti Engineering gjennomførte et treårig kompetanseprosjekt med brukermedvirkning (KPN, tidligere KMB prosjekt), finansiert av Forskningsrådet, som ble avsluttet i 2011 (NFR 184959/I10).
Prosjektet innebar utvikling av maskinsyn med 2D og 3D avbildning, samt laser, for individbasert sortering av sild og makrell.
Underveis i KPN-prosjektet ble det i regi av FHF startet et Forprosjekt: Økt lønnsomhet i pelagisk sektor (FHF #900269). Aktørene som driver pelagisk industri var godt representert. Individbasert sortering ble utpekt som et av flere fokusområder som ville gi økt lønnsomhet i pelagisk sektor, og som FHF valgte å støtte gjennom oppdrag til SINTEF og Nofima som hadde prosjektledelsen.
Etter dette ble det gjennomført laboratorietester hos SINTEF som viste at maskinsyn fungerer svært godt, og Havyard MMC bestemte seg for å satse på industrialisering av denne teknologien. Havyard MMC har tegnet ut en fullskala modell med 16 spor og kalkulert kapasitet mellom 40 og 50 tonn pr time. Det er videre laget en 3D tegning som illustrerer et tenkt nytt mottaksanlegg (se vedlegg 1).
Dette prosjektet har testet ut en industriell prototyp av sorteringssystemet for pelagisk fisk. Prototypen har fullskala kapasitet med tanke på hastighet og kapasitet per spor, men har kun to spor i motsetning til planlagte 16 spor i fullskalamodell.
Grunnen til at man valgte å kjøre testingen på to spor i stedet for komplett maskin med 16 spor med en gang er at sistnevnte ville påkrevd ombygging av fabrikken i en testfase og medført langt større kostnader og driftsmessig risiko. Med to spor vil man kunne opprettholde produksjonen på eksisterende linjer og parallelt utføre testingen ved siden av. Arbeidet i prosjektet har derfor sørget for risikominimering i forhold til utviklingsarbeidet frem mot fullskalamodell.
Systemet ble bygget hos Havyard MMC og installert for testing hos Norway Pelagic (senere Pelagia AS) Tidligere prosjekter utført ved SINTEF Fiskeri og havbruk som er direkte relevant for FHF-prosjekt Individbasert sortering av pelagisk fisk, innen området størrelse/vektestimering, er:
-
- Vektestimering ved bruk av 2D-arealmåling (KMB AutoGrade 2009/2010, sild/makrell)
- Vektestimering ved bruk av 2D-arealmåling i kombinasjon med lasertriangulering av høydeprofil (KMB AutoGrade 2010, sild/makrell)
- Vektestimering ved bruk av singel 3D lasertrinagulering (KMB AutoGrade 2009/2010, sild/makrell) - Vektestimering ved bruk av dobbel (over/under) 3D lasertrinagulering (KMB AutoGrade 2009/2010,
sild)
- Vektestimering ved bruk av planar røntgenavbilding og intensitetsmåling av bildedata (KMB AutoGrade 2009, sild)
1.2 Målsetning
Målet er å finne et endelig konsept for ”individuell sortering av fisk” i stor industriell skala, ved å overføre laboratorieløsningen til en prototype for størrelses- og artssorteringslinje. Prototypen bygges med to spor som skal kjøres med full kapasitet for å redusere usikkerheten ved å bygge en full skala sorteringslinje med 16 spor for 50.000 kg fisk per time.
Dette innebærer følgende hovedmål:
a. Det skal utvikles en industriell prototype med 2 parallelle løp for individbasert sortering av pelagisk fisk med kapasitet på 5-6 tonn/time (eller 1/8 av en 16 spors linje med kapasitet på 40-50 tonn/time).
b. Krav; minimum 96 % av sortert fisk ligger innenfor egen vektklasse.
Det skal med denne sorteringsløsningen ikke forekomme at stor fisk (f.eks. klasse 1) havner blant små fisk (f.eks. klasse 4) eller omvendt. Det vektmessige avviket fra klassifiseringsgrensene vil kunne være i størrelsesorden +/- 2 %, hvilket for eksempel vil si at en fisk som i realiteten veier 249 gram estimeres til 254 gram og havner i klassen over sin egentlige klasse. Dette vil ha liten eller ingen betydning for utbyttet i fileteringen.
Prosjektet har følgende delmål:
• Avklart design.
• Teknologien skal kunne overføres til bedrift for kommersialisering.
• Utarbeidet tegninger og lønnsomhetsberegninger for fullskalaanlegg ved et kommersielt pelagisk anlegg med kapasitet på 40-50 tonn/time.
1.3 Arbeidsinndeling
Involverte prosjektdeltakere har vært Havyard MMC AS, Pelagia AS og SINTEF Fiskeri og havbruk AS.
Havyard MMC har stått for maskinbygging, SINTEF for maskinsynutvikling, prosjektledelse og rapportering, og systemet har vært testet hos Pelagias produksjonsanlegg i Liavåg.
Arbeidet ble planlagt og inndelt i følgende arbeidspakker:
A1: Detaljprosjektering av testmodellen (Havyard MMC)
Testmodellen tegnes ut og utformes med tanke på innplassering i eksisterende anlegg. Testmodellen skal inkludere utføring av sild fra fabrikkens eksisterende linje, singulering inn til prototypens to spor, bildetaking, utsortering i syv mulige klasser (eller så mange klasser man finner hensiktsmessig for uttestingen) og tilbakeføring til produksjonen. Havyard MMC har tidligere arbeidet med detaljeringen av det helhetlige konseptet og står for detaljeringen av testmodellen.
A2: Planlegging av plassering i fabrikk (Havyard MMC)
Hvor, når og hvordan innplassering i fabrikk skal skje planlegges i god tid før installasjon. Pelagia må her involveres for å planlegge inn hvor de har plass til å installere utstyret mest hensiktsmessig for både å få til uttesting og samtidig opprettholde produksjon. Denne og foregående arbeidspakke bør startes så snart prosjektet er godkjent, og kan delvis løpe parallelt.
A3: Programmering før installasjon (SFH)
Hovedprogrammet som skal styre maskinen er skrevet, men må forberedes for industriell utførelse og kombineres med algoritmene som ble utviklet i KMB AutoGrade. Styresignal til sorteringsmaskinen skal genereres av en maskinsynenhet som tar 2D og 3D bilder av fiskene som passerer på transportbåndet.
Maskinsynhenheten har et hovedprogram som er skrevet i LabVIEW. Dette programmet må forbedres slik at det kan ta bildeanalyser under industrielle forhold, som f.eks. høy transportbåndhastighet og potensielle vibrasjoner, samt kunne gjøre analyser i en tilstrekkelig høy hastighet og robusthet. Hovedprogrammet skal analysere 2D- og 3D-bilder med tanke på å segmentere (klippe ut) fisk fra bakgrunnen og forbehandle disse slik at de kan sendes til videre analyse. Videre analyse involverer algoritmer for artsdeteksjon (makrell, sild eller annet) og vektestimering. Disse algoritmene lages med utgangspunkt i algoritmene som ble utviklet i KMB AutoGrade. Resultat fra algoritmeanalyse sendes til hovedprogrammet som deretter sender et styresignal til sorteringsmaskinen. Hovedprogram, samt algoritmer for artstdeteksjon og vektestimering, må programmeres før installasjon og med tilstrekkelig justerbarhet i parametere til at det kan hensyntas de variasjoner i råstoff og avbildningsforhold som kan oppstå etter installasjon.
A4: Kunnskapsoverføring fra SINTEF til Havyard MMC vedr programmering (SFH)
Programmeringen utføres i LabVIEW, og kunnskapen om hvordan programmet er bygget opp og implementert må formidles til Havyard MMC slik at de kan ta systemet videre. Automasjonspersonell ved Havyard MMC vil få et kurs på 1-2 dager, hvor det gis opplæring i maskinsynenhetens hovedprogram og algoritmer for artsdeteksjon og vektestimering. Videre arbeid i kunnskapsoverføring gjøres kontinuerlig gjennom sesongen ettersom Havyard MMC oppdager korreksjoner og justeringer som må gjøres i programmeringen i forhold til å komme så nærme som mulig et system som skalerer til et industrielt fullskala system. Det legges vekt på at Havyard MMC sitt automasjonspersonell ved endt aktivitet i A4 skal ha fått nok kunnskap til å kunne videreføre programmeringen til å oppskalere til ferdig industriell versjon av sorteringsmaskin med 16 parallelle spor.
A5: Bygging av testmodell (Havyard MMC)
Tilvirking av deler til testmodellen og sammenstilling av disse hos Havyard MMC, før instrumentering og funksjonstesting. Maskinbygger Havyard MMC står for denne aktiviteten. Hovedmengden av detaljprosjekteringen må være unnagjort før byggingen kan starte, og det vil derfor bli tidspress på byggingen for å bli ferdig til sesongen starter.
A6: Montering (Havyard MMC)
Systemet må installeres i fabrikken og gjøres klar til testing. Hovedansvaret for at dette gjennomføres som planlagt vil ligge på Havyard MMC, men Pelagia må legge til rette for at monteringen skal kunne utføres og bistå i arbeidet. Det er ønskelig å ha montert utstyret før sildesesongen begynner, altså i august (kanskje ut i
september). Dette for at fabrikken skal kunne starte og opprettholde produksjonen. Hvor og hvordan monteringen skal skje vil vurderes i A2.
A7: Testperiode (SFH)
Høsten 2013, mens anlegget har sild, skal sorteringssystemet testes ved siden av normal produksjon. SINTEF vil stå for uttestingen, og det er planlagt to turer for å gjennomføre tester og samle inn data. Både håndtering av fisk, funksjon, kapasitet, bildekvalitet og nøyaktighet i sorteringen undersøkes, men fullstendig forsøksoppsett er ikke utformet ennå. Ved mekaniske problemer/feilretting vil Havyard MMC utføre dette.
Eventuelle endringer i program/algoritmer utføres av SINTEF.
A8: Evaluering av resultater og videre planer (SFH)
Resultatene av testene oppsummeres i en rapport, hvor det skal konkluderes med om systemet fungerer som forventet.
Avhengig av prosjektresultatene vil det bli besluttet om man skal gå videre med prosjektet til Fase 3, som beskrevet i vedlegg 2. Fase 3 er ikke inkludert som en del av Fase 2.
Havyard MMC vil da, basert på eventuelle endringer som følge av uttestingen, kunne utforme tegninger og gjøre lønnsomhetsberegninger for fullskalaanlegg ved et kommersielt pelagisk anlegg med kapasitet på 40- 50 tonn/time.
2 Gjennomføring
Kort oppsummert var arbeidsfordelingen i prosjektet som følger:
Maskinkonstruksjon (Havyard MMC, finansiert av Innovasjon Norge)
• Detaljprosjektering av 2 spors testmodell
• Kontakt med Pelagia og planlegging av plassering i fabrikk
• Bygging og montering av testmodell Programmering (SFH, finansiert av FHF)
• Programmering av hovedprogram, styringssystem og algoritmer for artsdeteksjon og vektestimering, samt oppsett maskinsynsystem
• Kompetanseoverføring til Havyard MMC vedrørende programmering Uttesting (SFH/Havyard MMC/Pelagia, finansiert av FHF og IN)
Programmering av hovedprogram og styringssystem tok for SFH sin del mye lenger tid enn planlagt. Dette skyldtes blant annet ny versjon av LabView som hadde endret funksjonalitet og kompabilitet. Derfor måtte hovedprogrammet gjøres om fra grunnen av og kompetanse leies inn fra SINTEF IKT på styringssystemet.
2.1 Test1
Hos Pelagia Liavåg, 2.-3. desember 2013.
To forskere fra SINTEF, Ekrem Misimi og Øystein Hov Holhjem, sammen med Kim Sund fra Havyard MMC, reiste til Pelagia Liavåg for å integrere alle teknologielementer i prototypen, samt kjøre noen innledende tester for å teste funksjonaliteten av hver modul.
Etter test 1 ble det utarbeidet et internt notat med oppsummering av det som ble gjennomgått, samt en betraktning av funksjonalitet og forslag på hvordan enkelte aspekter ved prototypen kunne forbedres før neste runde med uttesting kunne igangsettes.
2.1.1 Betraktninger rundt de mekaniske aspekter av prototypen 2.1.1.1 Tilgang til kamera, laser og kamerakalibrering
I den eksisterende prototypen var det ikke tatt hensyn til tilgang til laserlinja og bruk av kalibreringsobjekt for kalibrering. Det ble brukt en del tid på å kalibrere kameraet i og med at det var vanskelig å bevege kalibreringsobjektet. Når kamera først er kalibrert er det ikke behov for jevnlig tilgang der hvor kameraet kalibreres, men slik maskinen er bygd kan det være fysisk utfordrende å gjennomføre kalibreringen.
En glassplate mellom kamera/laser og båndet ble fjernet under testingen. Dette ble gjort fordi glasset hadde en plastfolie som sammen med glasstypen gjorde at laserlinja ble veldig ufokusert på båndet (scattering/spredning av lys), selv om laseren var maksimalt fokusert. Det resulterte for det første i at vi ikke klarte å kalibrere kameraet med en slik laserlinje, og for det andre fikk man svært dårlige 3D bilder.
Tiltak: Bruk av annen type glass som ikke gir lysbrytning, en link er vist her;
http://www.edmundoptics.com/optics/windows-diffusers/visible-windows/anti-reflection-ar-coated-high-
2.1.1.2 Risting av båndet
På den eksisterende prototypen var det valgt en løsning med hjul på den ene siden (Figur 1a) og føring på den siden hvor kameraet og laser befant seg (Figur 1b). Dette gjorde at det ble generert veldig mye risting på båndet, hvilket ødelegger bildekvaliteten.
Figur 1 a) hjul montert på båndet b) føringselement på kameraside
Tiltak: Hjul i stedet for føringselement, for å minimere risting i båndet.
2.1.1.3 Elektrisk støy
Enkoder var koblet på akslingen til hjulet i transportbåndet som er på motsatt ende av hvor kameraet er montert. En lang kabel fra enkoder til kamera hadde ikke den beste signalskjermingen. I og med at det brukes frekvensomformer på maskinen antas det at det ble generert en del støy som påvirket signalering fra enkoder.
Tiltak: Kabel med bedre skjerming ble installert (Havyard MMC). Labview-implementert oscilloskop ble benyttet i test 2 for å være sikker på at signaler fra enkoder ikke blir påvirket av støy. (Eventuelt kunne det vært koblet Z-signal på enkoder som forteller når en fullstendig rotasjon er gjennomført.)
2.1.2 Maskinsyn
2.1.2.1 Bildegenerering
3D-bilder som ble generert av kamera hadde forskjellig kvalitet avhengig av hastigheten på båndet. Ved 40
% av maks hastighet (ca. 650 mm/s) var de fleste av 3D bildene av god kvalitet. Likevel, grunnet mye risting i perioder, var det en god del 3D bilder som ikke ble som de skulle (bølgete) også ved 650 mm/s. Ved maks hastighet (ca. 1500 mm/s) ble ristingen så stor at bildene fikk dårlig kvalitet (bølgete) (Figur 2).
Figur 2. 3D-bildet generert fra Ranger kameraet
Tiltak:
- Risting av båndet minimeres ved å montere et hjul på båndet
- I stedet for en "average" offset på båndet ble det implementert en adaptiv beregning av offset for å håndtere alle variasjoner (Figur 3).
Kameraet ble trigget eksternt fra enkoderpulser. Med de innstillingene som ble satt (Tabell 1) var kameraet i
"Explicit Reset Mode".
Tabell 1 Forhold mellom antall pulser per trig og hastighet vs. scanlinjer som ble mistet som et resultat av trig rate
Antall pulser per trig
Eksponeringstid "Missed scans" pga. antall pulser per trig
650 mm/s 1500 mm/s
14 400 µs og 232 µs (min) Ingen Ja
16 400 µs og 232 µs (min) Ingen Ja
22 400 µs og 232 µs (min) Ingen Ingen
42 400 µs og 232 µs (min) Ingen Ingen
Med de innstillingene vi hadde, var den minste eksponeringstiden det ble oppnådd gode 3D bilder på 232 µs.
Få å kunne klare bildeanalysen med stor nok hastighet må eksponeringstiden være ganske lav, samtidig så er dette en avveiing mellom ønsket kvalitet på 3D-bilder og båndhastighet.
Figur 3. Adaptiv offset kompensasjon (3c og d)
Figur 3 viser det originale 3D bildet (3a), det inverterte bildet (3b), kompensasjon av offset ved å ta høyre del av bildet som kun viser bånd og filtrering av det originale bildet (for å redusere effekten av ristingen på 3D bildet – 3c), kompensasjon av offset med verdier fra venstre del av bildet (3d).
2.1.2.2 Enkoder trigging
Det ble testet om kameraet ble styrt av enkodersignaler. Når billedtagningen trigges eksternt fra enkoder vil et objekt som tas bilde av med kameraet ha samme lengde uansett hastighet på båndet. Det ble dokumentert at lengde på objekt var likt uansett båndhastighet (Tabell 2).
Tabell 2 Styring av kameraet i explicit reset mode, Trig mode 5. Lengde av objekt konstant selv med endret hastighet på båndet
Antall pulser per trig
Hastighet på båndet
Lengde av objekt (330 mm) Oppløsning (mm/piksel)
22 350 mm/s 227 piksler 1,3 mm/piksel
22 650 mm/s 227 piksler 1,3 mm/piksel
22 1500 mm/s 227 piksler 1,3 mm/piksel
Resultatene vist i tabell 2 bekrefter at kameraet trigges fra enkoder fordi objektet har samme lengde (227 piksler) uansett hastighet på båndet.
2.1.2.3 Enkoder data
Data til enkoder som er installert på prototypen til Havyard MMC er oppsummert i Tabell 3.
Tabell 3. Enkoder data beregnet fra databladet og mål gitt av Havyard MMC Antall pulser per trig Hastighet på båndet
Pulser per rotasjon 8192 Diameter på bandhjul 160 mm
Total diameter 164 mm
Båndbevegelse per rot 514,96 mm Oppløsning (lengde/puls) 0,063 mm/puls Oppløsning (puls/lengde) 15,87 puls/mm
Det ble tatt en test om antall pulser per rotasjon stemte med det som er gitt i Tabell 3. Enkoderen ble demontert og antall pulser som ble generert ved en rotasjon ble målt via en NI DAQ SB 86 input/output boks med innebygd tellerfunksjon. I første rotasjon ble det registrert 8111 pulser mens i andre 8290 pulser. Siden rotasjonen ble gjennomført manuelt antar vi at tallet som er oppgitt på databladet er korrekt i og med at det ikke er et stort avvik fra det som er angitt på databladet (8192).
2.1.2.4 Synkronisering av enkoderdata med bilder tatt fra Ranger kamera
Synkronisering mellom det som skjer fra bildeanalyse og styring av ventilene for utsortering av fisk i angitte vektkategorier er vesentlig for at man får til en fysisk automatisk utsortering av fisk. Et nøkkelement her er enkoderpulsene og synkronisering i henhold til disse som brukes som referanse. For å få en slik synkronisering er det viktig å etablere forholdet mellom enkoderpulser og scanlinjer fra kameraet som genereres etter at et bestemt antall pulser fra enkoder er mottatt (antall pulser per trig i Tabell 1). Tabell 4 oppsummerer disse tallene
Tabell 4. Forholdet mellom scanlinjer fra bildet og enkoderpulser Antall
pulser per trig signal
Scanlinjer per frame Antall pulser per scanlinje
mm/px(scanlinje) Lendge/puls (mm/puls)
14 512 14 0,81 mm/px 0,81/14=0,0578
22 512 22 1,3 mm/px 1,3/22=0,059
42 512 42 Ikke testet Ikke testet
Tabellen viser at forholdet mellom lengde og puls er avhengig av antall pulser per trig. I første kolonne er det vist antall pulser fra enkoder som trengs for å sende et triggersignal til kameraet for å generere en scanlinje.
Dette tallet er en parameter som kan endres i dataprogrammet som styrer kameraet. I hovedprogrammet, for å få til synkronisering med bilder, så beregnes en differansepuls(DiffPuls) mellom antall pulser C2 som er registrert fra enkoder (siden oppstart av båndet) og antallet av pulser (PS) som faktisk trigger kameraet fra det tidspunktet som det tas bildet (Figur 4). I beregning av PS er det tatt utgangspunkt i at et bilde som genereres av kameraet består av 512 linjer.
Figur 4. Definisjon av differansepuls
DiffPuls skal være konstant for et valgt antall puls per triggersignal, men da det ble testet på Pelagia økte den jevnt og trutt. Den økte ikke da vi testet på laben, men da var kameraet trigget med en annen type enkoder. Det gir lite mening at DiffPuls skal øke når kameraet trigges av enkoder. Vi antar at den økende differansepulsen skapte de utfordringene rundt synkronisering som vi fikk med aktuering av utsorteringsklaffer på rett tidspunkt.
I parameterfila til kameraet blir antall pulser per trig definert som et heltall (14, 22, 42). Utfra det vi målte var det slik at kameraet ble trigget på 42,6 pulser, noe som vi tror er med på å påvirke endringen av DiffPuls.
Når Diffpuls er økende, vil samme fisk i to forskjellige bilder få forskjellig tillegg fra differansepulsen.
Tiltak:
På lab hos SFH ble det undersøkt nærmere hvor og hvorfor disse forskjellene oppstod. Forsøkene tyder på at avvik som man får i DiffPuls hos Havyard MMC skyldes problemer med skjerming av kabler i og med at det skapes mye elektromagnetisk støy fra motorene som kjører båndet.
2.1.2.5 Bildeanalyse og vektestimering
Bildeanalyse gikk greit for seg utenom at det er valgt en enkel "liming" (stitching) av bildene som fås fra kameraet, noe som gjorde at ved høye hastigheter kom det dobbelt fisk på samme analysebilde. Dette forårsaket dobbel stempling på klaffer. Liming var nødvendig fordi det hender at bare halvparten av fisken dukker opp i et bilde fra kameraet mens den andre delen dukker opp i neste bilde. Derfor ble det foretatt en enkel liming av forrige og neste bildet for å skape et nytt bilde som brukes til å analysere fisken.
Tiltak:
• Implementering av "liming"slik som det ble gjort på RoboTrim (et annet prosjekt finansiert av Forskningsrådet, SFH)
• Eventuelt å implementere oppstart av bildetagning med en lyssensor som sender signal til kameraet om når billedtagningen skal starte opp (ikke valgt, SFH)
Det ble ikke generert noen modell for vektestimering denne gangen i og med at 3D bildene ikke var av tilfredsstillende kvalitet.
2.1.3 Posisjonsangivning og styring av klaffer for sortering
Eksisterende prototype for sortering har 9 klaffer for sortering i 9 kategorier. For å synkronisere posisjonering og styring av klaffene fra bildebehandling og enkoder ble det målt forsinkelse for hver klaff fra laserlinje (Figur 5c). I første omgang ble det målt forsinkelse fra laserlinja til begynnelsen av hver klaff. Ved testing ga dette en altfor tidlig aktuering av klaffen idet fisken så vidt nærmet seg klaffen (Figur 5a).
Forsinkelsen ble derfor målt for hver kategori inntil slutten av klaffen (Figur 5b). Dette ga mye bedre resultat ved sortering. Likevel var sortering fortsatt litt varierende på hvor mange antall pulser vi brukte per triggersignal (kolonne 1 i Tabell 4). Det antas at dette skjedde på grunn av varierende (økende) DiffPuls som beskrevet i kap. 2.1.2.4.
Figur 5. Øverst: a) aktuering av klaff når fisken er nær klaffen b) aktuering av klaff når fisk er parallell med klaffen. Nederst: Avstand fra laserlinje til første klaff.
2.1.4 Måling av "execution time" på forskjellige funksjoner i programmet
I en tidskritisk applikasjon som dette er det viktig å ha oversikt over tids- og ressursbruken fra hver funksjon i hovedprogrammet. Tiden som brukes i hovedprogrammet for bildetaging og bildeanalyse ble målt. Ved max hastighet av båndet (1500 mm/s) tok billedtakingen 437 ms for å generere et bilde på 512 linjer, samt lime dette med det forrige bildet, og sette analysebildet i kø. Tida som bildeanalyse tok var 22 ms (for begge spor uten fisk) og 44 ms for fisk i begge sporene. Bildeanalyse er derfor ikke kritisk da dette skjer veldig fort. Når det gjelder billedtakingen, avhenger tida som brukes for å generere et bilde særlig av to faktorer:
Størrelse på "Region Of Interest" ROI (kan reduseres) og eksponeringstid (kan reduseres ved bruk av en sterkere laser). Ved annenhver fisk rakk ikke programmet å sette en kategorietikett for vekt på fisken før den kom til første klaff. Bildetakingstiden må derfor ned for å kunne klare sortering ved første kategori (Figur 5c). Eventuelt må kamera og laser plasseres i større avstand fra ventil 1. Registrerte tider for åpning- og lukkertid fra ventilene som er generert av avstandsfølere i hver sylinder varierte fra 130 ms til 230 ms.
Tiltak:
1. Installere Pleora eBus-driver som minsker prosessorbelastningen 2. Redusere ROI på bildet som analyseres
3. Redusere eksponeringstiden (forutsetter bruk av en kraftigere laser enn 120 mW)
2.1.5 ModBus
ModBus er en protokoll for seriekommunikasjon som brukes for styring med PLC (programmable logic controller). Det som er spesielt med ModBus er at den kan brukes for kommunikasjon mellom enheter i et nettverk bestående av inntil 240 enheter. Litt mer funksjonalitet på ModBus ble lagt til. For eksempel skal hovedprogrammet kunne legge til rette for å kunne generere totalvekt for hver vektkategori, samt max, min og gjennomsnittlig vekt per vektkategori.
2.1.6 Videre arbeid før test 2
Etter test 1 ble det konkludert med at det fortsatt gjensto arbeid både på konstruksjon og programmering/styring før sorteringssystemet fungerte tilfredsstillende.
Hovedtrekk i arbeid utført mellom test 1 og 2:
Havyard MMC (konstruksjon):
• Glasstype/lysbrytning
• Føringshjul/reduksjon av risting i bånd
• Enkodersignal/skjerming av kabel
• Hastighet/CPU-belastning (Pleora eBus driver) SFH (programmering/styring):
• Bildekvalitet/adaptivt offset
• Datamengde/liming av bilder og/eller trigging
• Eksponeringstid og reduksjon av ROI og installasjon av ny Pleora eBus driver som minsker CPU belastningen
• Synkronisering av enkoder og scanlinjer fra linjekamera
2.2 Test2
Hos Pelagia Liavåg 10.-11. april 2014.
Figur 6 – Gjennomgang av systemet hos Pelagia
Figur 7 – Sorteringsmaskinen (to spor) utplassert hos Pelagia
2.2.1 Aktiviteter dag 1
1. Fokusering av laser og kamera til riktig FOV (Field Of View) 2. Kontroll av bildekvalitet for sild og makrell
3. Kalibrering av kamera
4. Kontroll av DiffPuls med motor av og på for å sjekke om enkodersignaler til kamera/PC påvirkes av støy
5. Test av synkronisering og stempling ved ulike hastigheter (uten vektpredikering) 6. Utarbeiding av enkel predikeringsmodell for sild- og makrellvekter
2.2.2 Aktiviteter dag 2
7. Ferdigstille predikeringsmodeller og teste på sild og makrell
8. Demonstrasjon av sortering for styringsgruppe/Pelagia/Havyard MMC
Figur 8 – Maskinsynoppsettet uten deksel (med ekstern datamaskin)
Figur 9 - Maskinsynområdet med to spor og laserlinje
Figur 10 – Havyard MMC og Pelagia diskuterer testingen
2.2.3 Faglig status etter test 2:
Test 1 og test 2 viste at flere elementer av 3D maskinsyn var tilfredsstillende:
• bildekvalitet ble tilfredsstillende etter justeringene som minimerte vibrering av båndet
• kameraet og programmet fungerer på maks hastighet
• det optiske systemet (laser, kamera) fungerte på en tilfredsstillende måte
1. Fokusering av laser og kameraet til riktig FOV gikk greit for seg (Figur 8&9). Laserlinja ble fokusert til en tynn linje (Figur 8). Jo mer man fokuserer jo tynnere blir laserlinja. En fokusert laser ga mer nøyaktige 3D bilder. Kameraet ble fokusert i bildemodus, der det er mulig å se på skarpheten til bildet mens man fokuserer kameraet, og bildene hadde riktig fokus.
2. Bildekvaliteten ble sjekket ved å ta bilder av sild og makrell. Det viste seg at kvaliteten på bildene var tilfredsstillende. Både fokus og eksponeringstid var stilt inn riktig og det ble dokumentert ved å se på 3D, sprednings og intensitetsbildene.
3. Kalibrering av kameraet ble gjennomført for å kunne etablere forholdet mellom pikslene og reelle mål i [mm] i OXYZ koordinatsystem. Y retningen tilsvarer retningen til båndbevegelse, X er tverretningen til Y, men Z er høyden som tilsvarer høyden i 3D-bildet. Ved å måle et objekt med kjente dimensjoner ble det etablert forhold mellom piksler i hver mm og i hver OXYZ retning. Disse tallene ble matet i hovedprogrammet.
4. Det ble tatt en sjekk på om DiffPuls endret seg både med motor av og på. I hovedprogrammet ble det satt en konstant som gjorde at DiffPuls var uendret og resulterte i riktig synkronisert stempling på ventilene.
Synkroniseringen ble testet ved forskjellige hastigheter og det ble dokumentert at stemplingen fungerte tilfredsstillende på alle båndshastigheter.
5. Det ble laget en predikeringsmodell fra sild og makrell. Vektestimeringsalgoritmene fra modellen fungerte tilfredsstillende, dog ikke med høy nok nøyaktighet. Grunnen til det er at man trenger et betydelig større datasett for å kunne få en god vektestimeringsmodell.
Det som er viktig å påpeke er at for å få gode bilder og gode optiske parametere, som igjen resulterer i en god predikeringsmodell, trengs en del justering før man kan få optimale resultater på 3D maskinsyn. Disse justeringene kan ta tid da det er snakk om "prøv og feil" prosedyre. Kalibreringen av maskinsyn krever også tid og kan være vanskelig å få til for en person som ikke har erfaring. Det var en ulempe at prototypen ikke var montert hos SINTEF, men hos Pelagia i Liavåg. Dette forårsaket at man brukte mer tid på optimalisering av alle aspektene og parametere på samme prototype.
Alt i alt har 3D maskinsyn i systemet alle nødvendige elementer for å få en meget høy nøyaktighet på vektestimeringen.
Erfaringsoverføringen til Havyard MMC har ikke vært god nok i og med at de ikke er i stand til å kjøre linja på egen hånd. Havyard MMC må vurdere hvordan kompetansen skal etableres for å kunne optimalisere/videreutvikle denne typen maskinsyn.
2.3 Test 3
Styringsgruppen for prosjektet godkjente ikke at Tester 1 og 2 hadde dokumentert at målene for systemet (ref. kapittel 1.2) var oppnådd, både med hensyn til nøyaktighet og kapasitet. Det ble derfor bestemt at en Test 3 skulle gjennomføres i løpet av høsten 2015 hos Pelagia.
2.3.1 Forberedelser
Før gjennomføring av test 3, ble linja testkjørt hos Havyard MMC sitt verksted i Fosnavåg i juni 2015. Fra SFH var det Elling Ruud Øye og Ekrem Misimi som deltok i denne gjennomføringen. Linjen ble fraktet fra Havyard MMCs lokaler til Pelagia Liavåg 28. september og rigget opp 29. september. Det var avtalt at linjen skulle testes hos Pelagia i forkant av fullskalatesten slik at man var sikret at linjen opererte som ønsket før man startet en fullskalatest. Personene involvert i denne "for-testen" var Atle Kvalsvik og Kim Andre Sund fra Havyard MMC, samt Elling Ruud Øye fra SFH. De kritiske punktene som måtte utprøves før fullskalatesten kunne starte var følgende:
• Kvalitet på 3D-bilder
o Oppnå en god kalibrering mellom laser og kamera
o Kontrollere at skjelvinger fra linjen (enten i transportbånd eller i selve maskinsynriggen) ikke påvirker bildekvaliteten i nevneverdig grad
o Kontrollere at fersk fisk rett fra båt ikke fører til vanskeligere avlesning grunnet gjenskinn i vann- eller slimhinne
o Sikre at sol- eller strølys inn mot fotoboksen ikke reduserer billedkvaliteten
• Styring av klaffer
o Verifisere at klaffene slår ut fisk til ønsket tid
o Kontrollere om klaffene nærmest laserlinjen rekker å reagere før fisken har passert
• Innmating av fisk
o Evaluere om riggen for manuell innmating fungerer som ønsket, samt hvor mange personer som kreves for å oppnå ønsket kapasitet
• Prediksjonsmodell
o Bygge en god prediksjonsmodell o Evaluere nøyaktighet og avvik
2.3.1.1 Kvalitet på 3D-bilder
Fra før av har vi erfart at en god kalibrering er avgjørende for at volummålingen (og derfor vektestimeringen) skal bli god nok. For linjen i sin nåværende design er det ganske vanskelig å komme til laseren med kalibreringsobjektet. Best resultat oppnådde man dersom en person la seg på transportbåndene og styrte kalibreringsobjektet derfra. Ved å gjøre dette fikk vi en kalibrering som var god nok til videre testing. Denne kalibreringen ble brukt for resten av forsøket, samt gjennom hele fullskalatesten.
Vi har før slitt med skjelvinger i transportbåndet som har ført til unøyaktige 3D-bilder. Dette kan sees i bildet under som ble tatt når linjen sto hos Havyard MMC i Fosnavåg i juni.
Figur 11: 3D-bilde av makrell hvor risting i kamera og transportbånd fremdeles var et problem.
I bildet over er en høydeprofil langs den røde linjen plottet i grafen under. Som grafen viser tilsvarer bølgene i profilen en oscillasjon på 3-5 millimeter. Ristingene i båndet ble i forkant utbedret av Havyard MMC, men det ble fremdeles avlest skjelving fra kameraet. Havyard MMC oppdaget at skjelvinger fra den delen av maskinen som driver transportbåndene forplantet seg oppover til festet til kamera og laser. Ved å skille denne delen av riggen hvor maskinsynet er festet og delen som er i kontakt med transportbåndet oppnådde Havyard MMC at 3D-bildene ble betydelig bedre.
Dette ble igjen verifisert i Liavåg og kan sees i bildet under.
Figur 12: 3D-bilde av makrell hvor ristingen er betydelig redusert.
Grafen er her mye jevnere og bølgene som kan måles her er under 1 millimeter. I tillegg til den generelle forbedringen av bildet har dette en gunstig sideeffekt sammenlignet med hvordan bildene har blitt i de foregående testene hvor maskinsyndelen har vært tilkoblet hele linjen. For å skille ut fisk fra transportbandet
transportbåndet. Denne grensen måtte vi før ha rundt 6 – 7 mm for å unngå at høye bølger ble blandet sammen med fisk. Med forbedringene i bildekvaliteten kunne nå denne grensen settes til 2 mm. Dette betyr at en større del av fisken og dets volum tas med i analysen og dette gir bedre robusthet for prediksjonsmodellen.
Etter at kalibreringen ble god nok og det var bekreftet at risting i bånd eller kamera- og laserfeste ikke var noe problem, ble det kjørt gjennom flere makrell for å kontrollere at kameraet greide å lese av laserlinjen over hele makrellen. Det ble observert at laserlinjen reflekterte dårlig mot den mørke makrellryggen. Dette er en kjent utfordring og ble løst ved å rotere polariseringsfilteret til kameraet for å slippe inn mer lys. Dette ga gode nok 3D-bilder.
2.3.1.2 Styring av klaffer
Klaffene som skal slå ut fisken i rett renne er styrt av programmet. Løsningen som er valgt fungerte godt under laboratorietestene i 2011, men er ikke egnet til et ferdig industrialisert produkt. Løsningen før fullskalatesten var å stille inn klaffene ved prøving og feiling. Dette ble gjort ved å sende en og en fisk og observere om klaffen åpnet seg for tidlig eller for sent. Dette ga gode nok resultater til å kunne kjøre fullskalatest, men er ikke optimalt og veldig tidkrevende. Det burde være mulig å ha et system hvor de styrende parameterne kun er avstand til laserlinje og hvor lenge man ønsker at klaffen skal åpnes før og etter en fisk ankommer klaffen. Til Test 3 ble det valgt å åpne klaffen i "god" tid før fisken ankom slik at man var sikker på at fisken ikke utsettes for unødvendige slag.
2.3.1.3 Innmating av fisk
Figur 13: Manuell innmating av makrell.
Det er ikke utarbeidet noen automatisk innmating av fisk til linjen. Dette gjøres nå manuelt. Under forberedelsene var det viktig å bekrefte at denne løsningen fungerte og at resultatet var godt nok til å gjennomføre Test 3.
Selve innmatingen fungerer godt, men det ble også observert at det er vanskelig for operatøren å sende inn fisk i riktig hastighet.
For det første ønsker man ikke å sende inn fisk for nærme hverandre. Dette kan føre til at en klaffe slår ut mer enn den ene fisken som var tiltenkt.
Dersom fiskene havner veldig nærme kan man i tillegg oppleve at maskinsynet registrerer to fisker som en.
For det andre ønsker man heller ikke å ha for stor avstand mellom to fisk siden dette fører til at færre fisk går gjennom linjen per minutt og man vil da slite med å oppfylle kapasitetskravet.
Ut fra de observasjonene som vi gjorde under testingen av innmatingsriggen bestemte vi at det under Test 3 var ønskelig å dele opp demonstrasjonen av nøyaktighet og kapasitet. Ved å gjøre dette kan man skille mellom feil som kommer direkte fra maskinsynet og feil som kommer av en kombinasjon av maskinsynet, innmatingen og andre mekaniske utfordringer.
2.3.1.4 Prediksjonsmodell
Før Test 3 kunne starte var det viktig å få en pekepinn på hvor god prediksjonsmodell vi kunne forvente å få.
Det ble derfor gjort flere tester hvor en mengde fisk ble veid med vekt før så sendt gjennom linjen slik at programmet kunne tilpasse målinger til korrekt vekt. Som sett ut av grafen under, oppnådde vi god linearitet mellom korrekt vekt og målt volum. Her representerer de røde prikkene fiskene som ble brukt til beregning av prediksjonsmodellen. Den røde linjen viser det estimerte lineære forholdet mellom vekt og volum. De blå prikkene er fisk fra en ny båt. Som man ser passer disse godt inn i modellen fra dagen før.
Figur 14: Plot av forholdet mellom estimert volum og målt vekt. Røde prikker representerer fiskene som prediksjonsmodellen baserte seg på, mens blå prikker er fisk fra ny båt.
2.3.2 Forsøksplan
Denne forsøksplanen ble sendt ut i forkant av forsøket. Denne er basert på målene definert i prosjektbeskrivelsen og notat av 11.5.2015 fra Harry Westavik med noen modifiseringer etter erfaringene som ble gjort under forberedningene til testen.
• Testkrav 1; Linjekapasitet 5-6 tonn/time
• Testkrav 2; Minimum 96 % av sortert fisk skal ligge innenfor egen vektklasse og det vektmessige avviket fra klassifiseringsgrensene vil kunne være i størrelsesorden +/- 2 %.
1. Oppsett av linjen (bånd 1 og 2)
Bygge prediksjonsmodell basert på et stort utvalg fisk for mest mulig nøyaktighet. (>100 fisk) Veie én og én fisk, og sammenligne med vekta som maskina estimerer.
Begge bånda på maskina skal brukes, både ved utarbeiding av prediksjonsmodell, og ved måling av fisk.
Port 1.1 og 2.1 brukes som veieport, dvs. den settes av til å veie fisk for å bygge prediksjonsmodell for maskinsynsystemet.
Port 1.2-1.9 og 2.2-2.9 defineres til vektklasser. Vektklassene bestemmes ut fra råstoffets vektspreding og eventuelle faste kundekrav. Vektklassene er definert med sprang på 50 gram.
Enden på båndet; Utkast - fisk som er utenfor definerte vektklasser.
2. Test 3.1, kapasitet Formål med testen:
Fastslå ved hjelp av fullskala test kapasiteten som er mulig å oppnå på sorteringsmaskina.
Sammenligne kalkulert totalvekt og veid totalvekt for hver sorteringsgruppe.
Krav til resultat:
83-100kg/minuttet. Tilsvarende 5-6tonn/timen.
Stor fisk skal ikke havne i liten klasse og omvendt.
Gjennomføring av testen:
Sortere 500kg makrell gjennom sorteringsmaskina. Seks personer må då stå ved innmatingsbordet for å mate inn fiskene i sorteringsmaskina. Fiskene må da ligge med korrekt avstand for best mulig nøyaktighet.
Begge sporene på sorteringsmaskina skal benyttes.
Inndeling av klasser:
1. Ikke i bruk 2. >300g 3. 300–350 4. 350-400 5. 400-450 6. 450-500 7. 500-550 8. 550-600 9. 600+
Tanken ved å ikke ha egen klasse i enden av båndet, er at om to fisk ligg for tett, kan disse kjøres gjennom hele maskina, for så å sorteres på nytt med større avstand. Dette for å unngå at fisken blir slått ut i feil klasse.
Tidtaking av tid som brukes for å kjøre fisken gjennom maskina.
Etter fisken er kjørt gjennom, må kassene med fisk veies for hver enkelt klasse. Denne vekta må da sammenlignes med vekta som har blitt registrert i de forskjellige klassene på sorteringsmaskina.
Et utvalg av fisk fra hver sortering må kontrolleres, for å sjekke at de har havnet i rett klasse.
Sorteringsmaskina med 2 spor, skal greie 1/8 av den planlagte 16 spors maskina. 16 spors maskin skal ha kapasitet på 40- 50tonn/time. Dvs 83-100kg/minutt.
Kritisk punkt:
Ved skanning av fisk, og for utslag av fisk, er det viktig at fisken blir matet med god nok avstand mellom hver fisk. Ved for lang avstand mellom hver fisk, går kapasiteten på maskina tilsvarende ned, ved for kort avstand, kan to nære fisker bli slått ut i samme sortering. Dette vil føre til at stor fisk kan havne i lita klasse og omvendt.
3. Test 3.2
All fisk fra flere klasser tas tilfeldig ut og kjøres gjennom sorteringslinjen på nytt. Antall fisk som havner i samme vektklasse som opprinnelig sortert sjekkes (min. 96 %).
4. Test 3.3
Et tilfeldig utvalg av fisk blir veid på vekt og notert som RW (Real weight). Den samme fisken kjøres en og en gjennom maskinsynsystemet. Estimert vekt på displayet avleses og registreres som PW (predicted weight). Vektavviket per fisk beregnes som vil kunne være i området +/- 2 %.
5. Dokumentasjon; Alle resultater dokumenteres skriftlig og med bilder alt. video.
Ansvar; SFH
2.3.3 Gjennomføring
Testen ble planlagt gjennomført klokken 13, mandag 5. oktober. Det ble bestemt at oppbyggingen av prediksjonsmodellen skulle skje i forkant av de andre testene siden denne prosessen var tidkrevende samt av mindre interesse enn de andre testene. Alle testene som er beskrevet nedenfor ble gjennomført med begge transportbåndene i bruk og i en fart på 1,5 m/s.
2.3.3.1 Oppsett av linjen
Som beskrevet over var det gjennomført en del testing av grunnfunksjonene til linjen i forkant av Test 3.
Derfor var det under denne delen av testen kun nødvendig å få en stor nok prediksjonsmodell. Det viste seg at prediksjonsmodellen fra forberedelsene fremdeles traff godt. Vi valgte derfor å bygge videre på denne med ny fisk. I grafen under er datasettet fra forberedelsene markert med blått, og det nye datasettet med rødt.
Figur 15: Plot av forholdet mellom estimert volum og målt vekt for alle fiskene som ble brukt som grunnlag for prediksjonsmodellen under Test 3.
Som man kan se av grafen er det god linearitet mellom volum målt med maskinsyn og manuelt avlest vekt.
Totalt ble det innsamlede datagrunnlaget på 230 individ. Ved å fjerne individ med store statistiske avvik fra resten av datasettet stod vi igjen med 200 individ som prediksjonsmodellen ble basert på. Denne modellen kan formuleres slik
𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉= 4,74 + 0,987∗ 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉
hvor vekt er gitt i gram og volum i kubikkcentimeter. Modellen er tegnet inn som en grå linje i grafen over.
200 300 400 500 600 700 800
200 300 400 500 600 700 800
Vekt [g]
Volum [cm3]
Gammelt sett Nytt sett
Prediksjonsmodell
2.3.3.2 Test av kapasitet (Test 3.1)
Figur 16: Ca. 500 kg makrell tilføres bordet for innmating
En kasse med omtrent 500 kg makrell ble heist opp til toppen av innmatingsriggen.
To personer stod på hver side av riggen. På hver side hadde personen nærmest transportbåndet ansvar for å mate inn fisk i riktig tempo mens personen bak måtte sørge for at det alltid var tilgjengelig fisk.
Målet med gjennomføringen var å ta tiden på hvor lenge det tok å sende all fisken gjennom linjen. Dette ble ikke mulig fordi et av transportbåndene hoppet av etter 10 minutt og nødstoppbryteren måtte trykkes inn. Derfor ble det i stedet notert hvor mye av fisken som kom gjennom på 10 minutt.
Det ble oppdaget flere utfordringer under gjennomføringen av kapasitetstesten som vil påvirke resultatet.
Som ventet var det utfordrende for personene som stod for innmatingen å legge fisken i rett takt inn på båndet. På forhånd hadde vi et mål om ca. 40 cm mellom hver fisk (fra slutt på forrige fisk til start på neste fisk), men dette er ikke enkelt å få til nøyaktig på et transportbånd med en fart på 1,5 m/s.
I tillegg ble det oppdaget at en del fisk enten ramlet av transportbåndet eller hang seg fast i en kant. Det var en utfordring for operatørene å sørge for at fisken ble liggende midt på båndet under matingen. Det ble også ganske raskt mye vann/blodvann/sleipe på båndet som gjorde at fisken lett kunne skli av båndet. Dette er spesielt problematisk dersom fisken rekker å bli helt eller delvis skannet før den faller av, siden dette vil føre til avvik mellom det estimerte antallet fisk og det faktiske antallet fisk i hver kasse. I bildeserien under ser man en fisk som hekter i en styrekloss rett før den treffer laserlinjen, og derfor roterer mens den passerer maskinsynet før den fortsetter liggende på tvers av transportbåndet.
1 2
3 4
5 6
Figur 17: Bildene viser en makrell som hekter i styreklossen til transportbåndet og derfor roterer mens den passerer laserlinjen.
På grunn av det store antallet fisk som ble sendt gjennom på kort tid var det ikke mulig å få kontroll på hvor mye av fisken som havnet på gulvet som faktisk ble skannet av maskinsynet.
I tillegg opplevde vi at en fisk kilte seg fast på tvers av båndet ved utkast nummer 1 (som ikke var i bruk).
Dette førte til at ca. 20 - 25 fisk ble kastet ut på gulvet før vi greide å fjerne fisken. Siden det var såpass stor usikkerhet rundt fisken som havnet på gulvet, ble ikke denne tatt med i veiing av resultatet. For alle fiskene som havnet i en kasse ble korrekt vekt samt estimert vektklasse notert. Dette ble til sammen 1095 individ.
Figur 18: Fisk som ramlet av transportbåndet under kapasitetstesten.
2.3.3.3 Omkjøring av allerede sorterte kasser (Test 3.2)
Etter at kapasitetstesten var ferdig ble seks kasser sendt gjennom linjen på nytt. Disse fiskene ble matet i et roligere tempo enn under kapasitetstesten slik at man visuelt kunne verifisere at sorteringen ikke ble påvirket av mekaniske feil som vist ovenfor. Kassene som ble brukt var sortert i følgende vektklasser:
350 – 400 gram
400 – 450 gram
450 – 500 gram
500 – 550 gram
550 – 600 gram
Over 600 gram
Under testen ble det notert hvilken ny vektklasse fisken ble sortert til, samt den korrekte vekten til hver fisk.
Til sammen ble 295 individ sendt gjennom linjen på nytt.
2.3.3.4 Test av nøyaktighet (Test 3.3)
84 makrell ble først veid på vekt før de så ble sendt gjennom linjen. Både veid og estimert vekt ble notert for alle 84 fisk. Det ble valgt fisk fra hele vektspekteret og begge transportbåndene ble benyttet.
3 Resultater
Her er resultatene fra test 3 gått gjennom i detalj. I tillegg er det lagt til et avsnitt som omhandler den teoretiske kapasiteten til linjen.
3.1 Test av kapasitet (Test 3.1)
Som nevnt før gjorde diverse mekaniske utfordringer at mye fisk havnet på gulvet. Disse fiskene ble ikke tatt med under den manuelle veiingen etterpå. Det var derfor forventet at de estimerte vektsummene fra programmet vil avvike ganske mye sammenlignet med de verdiene som ble veid manuelt i ettertid.
Tabell 5: Vektdata for alle klassene under kapasitetstesten
Estimert av maskinsyn < 300g 300-350g 350-400g 400-450g 450-500g 500-550g 550-600g > 600g For alle klasser
Totalvekt [g] 48281 103021 78809 82864 72209 39732 17754 25906 468576
Snittvekt [g] 251 325 374 425 472 523 573 700 387
Maks vekt [g] 300 350 400 450 499 549 598 1060 1060
Min vekt [g] 10 300 350 400 450 500 551 603 10
Veid manuelt < 300g 300-350g 350-400g 400-450g 450-500g 500-550g 550-600g > 600g For alle klasser Totalvekt [g]
51607 100132 73758 72645 62006 32815 11907 17667 422537
Snittvekt [g]
297 329 376 425 470 513 518 570 386
Maks vekt [g]
702 525 559 535 522 555 605 820 820
Min vekt [g]
145 252 316 341 375 409 305 328 145
Dette ser man er tilfellet i tallene over. Av de 1095 fiskene som ble veid i etterkant hadde 914 havnet i korrekt vektklasse. Dette vil si en korrekt klassifisering av 83,5 % av makrellen. Dersom man godtar at fisk nærme grensene (+/- 2 %) kan havne på begge sider stiger dette tallet til 90,1 %.
Ut fra Min vekt og Maks vekt i tabellen over, kan man også se at det har havnet liten fisk i vektklassene for stor fisk og stor fisk i vektklassene for liten fisk. Totalt ble 48 av de 1095 fiskene klassifisert mer enn en klasse feil (4,4 %). Under kan man se en graf som viser vektfordelingen til de forskjellige klassene. Her viser fargene hvilken vektklasse programmet mente fisken tilhørte mens den egentlige vekten kan leses av fra den horisontale aksen.
Figur 19: Vektfordeling under kapasitetstesten. Farge viser vektklassen som ble estimert av programmet.
Ut fra fisken som ble veid i etterkant tok det 10 minutter å manuelt kjøre gjennom en totalvekt på 422 kg. Da er ikke fisken som havnet på gulvet tatt med. Dette tilsvarer en gjennomstrømning av fisk på 2,5 tonn/time for linjen, noe som er under målet på 5-6 tonn/time.
3.2 Omkjøring av allerede sorterte kasser (Test 3.2)
Siden vi hadde mekaniske utfordringer under kapasitetstesten, ble omkjøringen av kasser gjennomført i mer kontrollerte former. Dette ble gjort for å sikre at problemer med fisk som ligger for tett eller ramler av båndet ikke ble en faktor for resultatet. Målet var derfor at linjen skulle rette opp i feilene som oppstod under kapasitetstesten Det er derfor å forvente at antallet fisk som havnet i samme kasse som før ville være noe lavt. Dette stemte godt med resultatet. Av de 295 fiskene som ble sendt gjennom havnet rundt 75 % i samme vektklasse som før. For klassene med mest avvik under kapasitetstesten (500-600g og >600g) kom bare halvparten tilbake i samme kasse.
Det mer interessante er hvordan nøyaktigheten til klassene endret seg når mekaniske feil ikke lengre var noen stor faktor. Resultatet kan sees i tabellen under.
Tabell 6: Klassifisering under omkjøringstesten
Klassifisering 300-350g 350-400g 400-450g 450-500g 500-550g 550-600g >600g Totalt
Antall individ 18 56 72 64 51 15 19 295
Klassifisert feil > ±2% 3 0 2 2 0 1 1 9
Klassifisert feil < ±2% 7 5 7 9 3 2 1 34
Korrekt klassifisering med strikte grenser
44,4 % 91,1 % 87,5 % 82,8 % 94,1 % 80,0 % 89,5 % 85,4 %
Korrekt klassifisering med ±2% grenser
83,3 % 100,0 % 97,2 % 96,9 % 100,0 % 93,3 % 94,7 % 96,9 %
Som man kan se av tabellen får vi bare en liten forbedring på klassifiseringen med strikte grenser 0
10 20 30 40 50 60 70 80
250 270 290 310 330 350 370 390 410 430 450 470 490 510 530 550 570 590 610 630 650 670 690 710 730 750 770 790
Antall
Vekt [g]
Vektfordeling (kapasitetstest)
< 300 g 300 - 350 g 350 - 400 g 400 - 450 g 450 - 500 g 500 - 550 g 550 - 600 g > 600 g
ligger i andelen korrekt klassifiserte individ når man godtar mykere grenser på +/- 2 %. Her er forbedringen fra 90,1 % til 96,9 %. Dette er et tegn på at en større del av den feilklassifiserte fisken ligger nærme en vektklassegrense enn under kapasitetstesten.
Det samme ser man dersom man ser på hvor stor andel av de feilklassifiserte fiskene som ligger lengre enn +/- 2 % unna en vektklassegrense. Under kapasitetstesten var dette 60 % av feilklassifisert fisk. Under omkjøring var dette bare 21 %. Det er derfor godt belegg for å påstå at en god del av feilklassifiseringene under kapasitetstesten skyldes mekaniske feil og ikke selve maskinsynet. Under kan man se en graf som viser vektfordelingen til de forskjellige klassene. Her viser fargene hvilken vektklasse programmet mente fisken tilhørte mens den egentlige vekten kan leses av fra den horisontale aksen.
Figur 20: Vektfordeling under omkjøringstesten. Farge viser vektklassen som ble estimert av programmet.
3.3 Test av nøyaktighet (Test 3.3)
For hver av de 84 fiskene ble det notert korrekt og estimert vekt. I ettertid ble disse verdiene benyttet til å regne ut avvik i gram, avvik i prosent av korrekt vekt, samt absoluttverdien til disse. F.eks.: for en fisk med en korrekt vekt på 300 gram, men estimert til 297 gram vil vi ha disse verdiene:
Tabell 7: Eksempel på målte verdier under nøyaktighetstesten
Korrekt vekt Estimer vekt Avvik i gram Avvik i % av korrekt vekt
Absoluttverdi avvik i gram
Absoluttverdi avvik i % av korrekt vekt
300 gram 297 gram -3 gram - 1 % 3 gram 1 %
0 5 10 15 20
250 270 290 310 330 350 370 390 410 430 450 470 490 510 530 550 570 590 610 630 650 670 690 710 730 750 770 790
Antall
Vekt [g]
Vektfordeling (omkjøring)
< 300 g 300 - 350 g 350 - 400 g 400 - 450 g 450 - 500 g 500 - 550 g 550 - 600 g > 600 g
Figur 21: Normalfordelingen til avviket gitt i gram
I histogrammet til venstre ser man fordelingen av avvik i gram for alle de 84 fiskene. Dersom man går ut fra at denne feilen er normalfordelt har denne fordelingen en forventningsverdi på -0,8 gram og et standardavvik på 8,22 gram.
Dette er et gunstig utgangspunkt fordi en slik fordeling av avvik vil føre til at estimeringen av totalvekt vil ligge svært nærme den faktiske verdien. Dette kommer av at når all feilen summeres opp får vi en verdi nærme null.
For avvik i prosent av korrekt vekt vil vi få den samme tendensen, men siden vektavvikene vi får ser ut til å følge størrelsen på fisken, får man en bedre pekepinn på hvilken størrelsesfeil man kan forvente basert på vekt av fisken. Normalfordelingen til avvik i prosent har en forventningsverdi på -0,28 % og et standardavvik på 1,88 %.
For å poengtere fordelen med et normalfordelt avvik ble det også gjort en test på hvor godt totalvekten til de 84 fiskene ble estimert av programmet. Vi summerte altså de korrekte vektene og sammenlignet dette med summen av de estimerte vektene. Resultatet er som følger:
Figur 22: Normalfordelingen til avviket gitt i prosent
Total vekt veid med vekt: 36 568 gram
Total vekt estimert: 36 501 gram
Avvik i gram: -67 gram
Avvik i % av korrekt vekt: -0,18 %
Som man kan se over, avviker den estimerte totalvekten med mindre enn to promille av den egentlige vekten.
For å finne hvilket avvik man kan forvente seg på individnivå ble absoluttverdien til avvik i prosent for hvert individ summert og en snittverdi beregnet. På de 84 fiskene fikk vi et snittavvik på +/- 1,5 %.
Dersom man skulle klassifisere de 84 fiskene basert på de estimerte vektene ville 73 av individene bli klassifisert i korrekt klasse. Dette vil si at 87 % av makrellene blir klassifisert rett. Det er viktig å påpeke at en god del av fiskene som klassifiseres feil ligger nært en grense mellom to vektklasser. Ingen av fiskene ble klassifisert mer enn en klasse feil. Dersom man godtar et avvik på +/- 2% rundt hver vektgrense (dvs. at man f.eks. for en grense på 300 gram tolererer at fisk mellom 293 og 306 gram kan havne på begge sider av grensen) blir bare 5 av de 84 fiskene klassifisert feil. Dette tilsvarer en korrekt klassifisering på 94 % av all
3.4 Teoretisk kapasitet
Det ble i ettertid gjort noen nye beregninger for den teoretiske kapasiteten til linjen. Dette gjøres for å vise at så lenge man får en innmatingsrigg som fungerer godt, vil man kunne oppnå de kapasitetskrav som er stilt til prosjektet.
Kapasitetsmålet er beskrevet i tonn/time. For å evaluere den teoretiske kapasiteten er det mer hensiktsmessig å se på antallet fisk i timen. Kapasiteten til linjen er avhengig av farten på transportbåndet. Linjen som nå er utarbeida er kun testet for en makshastighet på 1,5 m/s. Derfor benyttes bare denne hastigheten i utregningene under.
For å oppnå et størst antall fisk i timen må fisken legges så nærme hverandre som mulig. Det absolutte minstekravet er at man for tre fisk som ligger etter hverandre har muligheten til å slå ut den midterste uten at de to ytterste blir berørt. Dette er avhengig av lengden på fisk, lengden på en klaffe og tiden det tar å åpne eller lukke en klaffe. Ut fra videoopptak tar det ca. 60 ms å åpne eller lukke en klaffe. Med en båndhastighet på 1,5 m/s tilsvarer dette en bevegelse på 90 mm. Klaffene har en lengde på 300 mm.
Med disse lengdene kan man si at minste mulige avstand mellom to fisk er fiskens egen lengde + 390 mm.
Med snittlengden fra Test 3 på omlag 320 mm blir avstanden mellom to fisk (spord til spord) 710 mm.
Dette gir muligheten til å slå ut den midterste fisken uten at de ytterste blir truffet. Se illustrasjon under.
Figur 23: Illustrasjon på hvor tett fisken kan ligge uten at man risikerer at fisk blir slått ut i feil klasse
Med denne avstanden vil 2,11 fisker kunne passere laserlinjen per sekund for hvert bånd. Dette tilsvarer ca.
15 200 fisker i timen for hele linjen. Snittvekten til de 1095 makrellene som ble benyttet under kapasitetstesten var på 386 gram. Dette tilsvarer litt over 5,8 tonn/time. Dette vil si at den teoretiske verdien er innenfor målet om 5-6 tonn/time. Utfordringen blir da innmating i korrekt avstand.