Inom exempelvis fordonsindustrin är avancerade kamerasystem allt viktigare för aktiv säkerhet, autonom körning och andra applikationer. Utvecklingen av dessa system kräver testsystem och infrastruktur för att samla in sensordata för att träna, utvärdera och demonstrera algoritmer, som exempelvis objektklassificering. Även systemverifiering med Hardware-in-the-Loop är en viktig del av sådana projekt.
Ladda ner artikeln på 500 kbyte här (länk, pdf). Fler tekniska rapporter finns på etn.se/expert |
Arbete med tränade och (själv-)lärande system i allmänhet och inom fordonsindustrin i synnerhet kräver således datainsamling. Under utveckling av ett sådant system är kommunikation med den omgivande miljön via ett antal sensorer och gränssnitt väsentlig. Ett visionsystem för fordon kommunicerar vanligen med en eller flera kameror, andra sensorer (t ex radar och lidar) och kommunikationsbussar (t ex Can, Flexray, I2C och Automotive Ethernet) .
Därmed krävs en flexibel möjlighet att spela in sådana data med extremt hög precision och bandbredd för att sedan kunna återskapa (spela upp) den totala dataströmmen med bibehållna förhållanden mellan de olika dataströmmarna.
Synective Labs har sedan många år tillbaka erfarenhet av att utveckla och använda sådana system inom bland annat fordonsindustrin. Baserat på dessa erfarenheter utvecklar vi nu nästa generation datainsamlingssystem: Dart.
Dart är modulärt uppbyggt med ett konfigurerbart moderkort och separata interface-kort anpassade till de källor som ska spelas in, och till övriga gränssnitt som behöver stödjas. Moderkortet är i sin tur baserat på programmerbara kretsar med inbyggda processorer, så kallade SoC-FPGA:er, vilket ger låg fördröjning och flexibel prestanda men också möjlighet att enkelt förändra och anpassa gränssnitten för att passa till i princip vilken uppsättning sensorer och systembussar som helst.
Därmed ges alla möjligheter att snabbt och förhållandevis enkelt anpassa datainsamlingen till varje givet projekt. Detta ger givetvis skalfördelar i och med att samma moderkort används i många olika projekt hos olika utvecklingsföretag. Interfacekorten, som ofta är av enklare karaktär, kan däremot snabbt tas fram som projekt- eller kundspecifika i de fall ingen passande variant redan finns ”på hyllan”.
Genom att använda moderna FPGA:er och applikationsspecifika interfacekort kan bandbredden till varje interface anpassas efter behov från enstaka kbit/s upp till flera Gbit/s. Likaledes kan systemets totala bandbredd mot lagringsenheterna skala upp till många Gbit/s genom att låta systemet koppla sig mot mottagare och dess lagringsenheter via t ex eSATA (3 Gbit/s), USB3.0 (5 Gbit/s), 10G Ethernet eller till och med Displayport-interface (17,2 Gbit/s). Lagringsenheter kan i detta fall utgöras av en PC eller vid höga bandbredder direkt av SSD:er eller RAID-enheter.
Användandet av SoC-FPGA:er och en genomtänkt systemdesign ger Dart en mängd andra fördelar jämfört med liknande system på marknaden, bland andra:
• Konfigurerbara gränssnitt och prestanda för att reducera tid och investering vid förändrade projektbehov.
• Liten formfaktor, ca 1,5 dm3 total volym
• Låg effektförbrukning, typiskt under 30 Watt
• Flexibel spänningsmatning, typiskt batterispänning i spannet 5V-36V
• Passiv kylning
• Ruggad design med IP-klassning efter behov
• Möjlighet att direkt lagra inspelat data på HDD/SDD utan inblandning av t ex en PC
Eftersom Dart har tillräcklig flexibilitet, bandbredd och precision kan i princip data från vilken sensoruppsättning som helst sparas undan. Dessa data kan sedan med samma flexibla hårdvara ”spelas upp” från sin lagringsplats på ett sätt som på nanosekundnivå motsvarar inspelningstillfället.
Den typiska applikationen är att under utveckling av ett seende och lärande system, exempelvis i fordonsbranschen, samla in data för träning, verifiering och test från en eller flera kameror samt övriga sensorer. Vanligen sker detta genom att köra runt med fordonet i vilket man placerat kameror för att samla in scener från typiska trafiksituationer. Samtidigt som insamling av själva bildflödet sker, loggas även alla transaktioner på t ex Can-bussar i fordonet. Övriga sensorer, som radar, lidar, accelerometrar och liknande kan också vara av intresse att logga. De lagrade dataströmmarna kan sedan spelas upp vilket är mycket användbart för träning av lärande system eller andra former av algoritmutveckling och verifiering.
Ett annat användarfall är att verifiera funktionen av ett helt system, eller ny systemversion, genom att spela upp kända datasekvenser och verifiera systemets respons. Detta är speciellt användbart för stora mängder inspelat data i de fall man vill göra en statistisk analys av systemets prestanda, t ex genom att jämföra med tidigare versions prestanda eller gentemot en ”gyllene referens”.
Som en bonusegenskap kan Dart också användas som en demonstrator för mjukvaru- och/eller algoritmprestanda. Systemet kan samla in videoströmmar tillsammans med andra sensordata och med försumbar fördröjning skicka dessa till en PC som presenterar informationen i realtid på en bildskärm. Om PC:n har tillräckliga prestanda kan den även applicera algoritmer i realtid på dataströmmen för att exempelvis demonstrera eller utvärdera algoritmisk prestanda långt innan det riktiga systemet är byggt.
I de fall slutprodukten är FPGA-baserad kan Dart även användas som experiment- eller snabb-prototypnig-hårdvara där hela eller delar av algoritmen kan mappas in i befintlig FPGA eller ARM-processor.
Givetvis är användandet av Dart inte på något sätt knutet till projekt inom fordonsbranschen. Andra exempel på applikationer där Dart kan användas är övervakning av processer, nätverksövervakning och -loggning eller som en enkel form av bussanalysator.
Genom att kombinera Synective Labs expertis inom FPGA:er och bildbehandling med vår gedigna erfarenhet av utveckling av snabba realtidssystem inom bland annat automotive-, finance- och försvarsbrancherna har vi kunnat skapa Dart. Denna datalogger som är under utveckling blir mångsidig och har en liten formfaktor, låg strömförbrukning, flexibel matning, passiv kylning och kan relativt snabbt anpassas för varje projekts behov.