Embedded Software

Eksperter i embedded software

Move Innovation er et teknologisk udviklingshus, som brænder for at realisere dine digitale og elektroniske ideer.  

Hos Move Innovation gør vi brug af de nyeste teknologier, så dine løsninger er fremtidssikret. Vi kombinerer flere teknologier i en software- og hardware løsning, uden at gå på kompromis med kvaliteten eller brugervenligheden.

Alle vores software, hardware, design, konstruktion, mekanik og elektronik ingeniører sidder in-house og vi sparer med hinanden, så løsningerne altid er gennemtænkte og gennemtestet. Det er din garanti for den mest optimale løsning. 

Udviklingen af embedded software kan tage lang tid, men vi minimerer tiden ved at placerer den konverterede kode i testbare logiske blokke, som hurtigt kan afprøves. Move Innovation har dermed reduceret opgaven fra at forstå fagområdet ned i detaljer, til at forstå grænsefladerne til fagområdets algoritmer og logik. I praksis kaldes det modelbaseret udvikling. Erfaringer har vist, at vi i visse tilfælde har reduceret udviklingsomkostningerne til embedded software med 80 til 90 %.

Med mange års erfaring inden for embedded software, teknologisk udvikling, design og forretningsmæssig forståelse er Move Innovation en ideel samarbejdspartner, når der skal udvikles eller videreudvikles nye apparater.

For os betyder embedded software også en sikker kommunikation med andre apparater og backoffice systemer; f.eks. MES (Manufacturing Execution Systems) og CMS (Condition Management Systems).

Vi er specialister i at løse problemer som aldrig er løst før!

Vi brænder for at udvikle embedded software, som ingen andre har udviklet før. Tilsammen har vi en meget bred erfaring og kan derfor løfte enhver softwareudvikling. 

Vi arbejder med proof of concept, tidligt i udviklingen, og dermed sikrer vi at løsningerne lever op til de krav og behov brugerne har. Derudover udvikler vi software, som let kan opdateres, således at løsningen altid følger med tiden, kravene og dermed er fremtidssikret. Dette holder dine udgifter på et minimum. 

Udviklingen sker i tæt samarbejde med dig.

Hos os bliver du inddraget i alle processer og beslutninger og sammen sørger vi for at alle løsninger bliver skræddersyet dine behov. Ingen projekter eller løsninger er ens eller standard, men vi trækker internt på hinandens erfaringer og kompetencer, således at dine udgifter holdes på et minimum. 

Vi har erfaring med at samarbejde med både startups, industri og medicovirksomheder.

Procesbeskrivelse 

Afhængigt af dine behov, er dette de trin Move Innovation tager dig og udviklingen igennem.

Analyse (60-80 timer)

Fundamentet for en succesfuld udvikling er at forstå dit og brugernes behov samt ønsker til udvikling. Vi laver derfor en analyse og definerer projektet i overordnet træk. 

Proof of concept

Proof of concept bruges i nogle udviklingsprojekter, da vi først skal teste eller “bevise” at kernefunktionen er mulig, når der er tale om en ny software funktion eller udvikling. I andre projekter har vi tidligere beskæftiget os med lignende og kan derfor trække på vores erfaringer, og derfor er proof of concept ikke nødvendigt. 

Kravspecifikation

Når det er bevist, at udviklingen er mulig, skal der udarbejdes kravspecifikationer. Kravspecifikationerne beskriver dine krav til løsningen. Kravspecifikationerne skal anses som projektets kompas, og sikre at projektets målsætning nås. Kravspecifikationen skal beskrive, hvordan slutproduktet skal fungere. Så kravspecifikationerne skal ses som en beskrivelse af, hvad du ønsker samt, hvad du mener giver værdi for din virksomhed eller brugerne. Kravspecifikationen indeholder gerne en liste med krav til løsningen, som skal opfyldes for at projektet bliver en succes.

System design og arkitektur

Når løsningen er specificeret, designes systemet og arkitekturen i softwaren. Vi organiserer ressourcer og komponenter i et system og beskriver komponenterne og grænsefladerne derimellem, samt fladerne mellem hardware og software. 

Projektplan

Efter system designet og arkitekturen af softwaren er færdig, har vi et bedre indblik i løsningen og dens omfang, og vi udarbejder derfra en realistisk projektplan, som indeholder en tids- og budgetplan, for det endelige produkt. 

Iterativ og agil udvikling → test → rettelser og forfra (dette gentages indtil udviklingen er færdig).

Når projektplanen er på plads, udvikler vi de forskellige dele af softwaren og implementerer denne på hardwaren. Gennem hele processen tester og afprøver vi softwaren løbende og tilretter.

Resultaterne verificeres og dokumenteres og den endelige software løsning implementeres i den endelige hardware.

Test

Derefter skal udviklingen testes. Dette kan gøres via en eller flere af disse test:

  • Factory Acceptance Test: Virker det hos fabrikken.
  • Site Acceptance Test: Virker det hos kunden.
  • Operational Test: Virker det hos brugerne.

 

Vores værktøjskasse

Embedded Software
Industrial Instrumentation
Digital Signal Processing
Data Analysis, Statistics 
Rust, C, C++, QT
Python, Lua, Matlab, 
Embedded Linux
Linux Device Drivers
Yocto, OpenEmbedded, Buildroot
VHDL, Verilog, HLS
RTL Test & Verification
FPGA system design
FPGA SoC

Embedded software

Vi beskæftiger os primært med embedded software i vores software afdeling. 

Embedded software er kernen i et smart device og det er den software som styrer maskiner eller enheder. 

Hos Move Innovation benytter vi os af færdige processorkort som f.eks. Arduino eller Raspberry PI, da disse nemt kan kombineres med et stort udvalg af sensor- og styringskort.

Dette gør det nemmere, billigere og hurtigere at udvikle embedded løsninger til dig.

IoT

Direkte oversat står IoT for “Internet of Things”. Det betyder at produktet eller enheden er forbundet med internettet.

Når man taler om IoT løsninger, taler man om at produktet eller enheden opsamler eller udsender data.

Generelt bruges IoT til at tilføre allerede eksisterende produkter ekstra værdi. Det gøres typisk ved at digitalisere produkter, så de kan tilgås, aflæses og/eller styres via internettet.

Alle de løsninger og produkter vi udvikler indeholder IoT. 

IIoT

IIoT står for “Industrial Internet of Things”.

IoT er mere forbrugerorienteret mens IIoT typisk er B2B løsninger.

Fordelene og værdiforøgelsen ved (I)IoT løsninger er mobiliteten. Uanset, hvor du befinder dig, kan du tilgå relevante data, analysere denne og træffe datadrevne beslutninger.

Disse data giver dig og din virksomhed muligheden for at se genkendelige mønstre, systemer eller sammenhænge. Det giver jer mulighed for at lave justeringer og optimeringer, som i sidste ende øger effektiviteten og giver jeres virksomhed yderligere værdi.

Cloud løsninger

Vi bruger clouds i vores (I)IoT løsninger. Stort set alle vores udviklingsprojekter samler noget data (ofte via sensorer), som på en eller anden måde skal bruges. Vi sender data op i en cloud så den er let tilgængelig uanset placering. Fordelen ved cloudløsninger er, at disse kan skaleres efter behov. Derudover skal man ikke have en fysisk server stående og lagre denne data.

5G

Med 5G  opnår du hurtigere netværkshastigheder, 5G er også en meget mere stabil teknologi end 4G, 3G osv.

Tidligere har flere oplevet områder, hvor netværk ikke virker eller at signalstyrken falder drastisk. Med 5G er netværket mere stabilt og du oplever ikke signaludfald. 

5G er kompatibel med alle mobile enheder og har en ufattelig hastighed, kapacitet og reaktionstid, op til 20 gange hurtigere end 4G. Dette betyder at 5G åbner op for en masse ny teknologi i vores samfund bl.a. AI(Artificial Intelligence) og automation, eksempelvis selvkørende biler. Da kommunikationen mellem forskellige enheder (IoT og IIoT) er hurtigere, mere stabil. Det betyder også, at med 5G kan industrien og sundhedsvæsenet skabe maskiner og robotter, som mere effektivt kan fjernstyres.

5G er desværre ikke bagudkompatibel, og derfor kræver det at du opdaterer dine teknologier, hvis du skal drage fordel af 5G - dette kan vi hjælpe dig med!

Bluetooth

Bluetooth er en trådløs teknologi, der gør det muligt at overføre fra en enhed til en anden, altså trådløs dataoverførsel.

Bluetooth har forskellige rækkevidde for dataoverførslerne:

  • Op til 100 meter
  • Op til 10 meter 
  • Og mindre end 10 meter

Bluetooth kan integreres i alle elektroniske apparater. Bluetooth er ideelt, hvis løsningen skal parres med mobile enheder. Er det derimod stationære enheder, vil kabler være mere ideelle. Men lad os tage en snak om, hvordan dine produkter skal parres med andre enheder. 

AI

AI står for Artificial Intelligence og oversat betyder det kunstig intelligens. 

AI eller kunstig intelligens kan finde mønstre og sammenhænge i store mængder data (big data) og træffe beslutninger ud fra denne data. Disse mønstre eller sammenhænge ville være umulige for mennesker at spotte, da vi snakker om enorme mængder data. 

AI kan bruges til identifikation, diagnosticering, optimering, vedligeholdelse og meget mere. 

AI gør maskiner i stand til at lære nye ting og træffe beslutninger, uden menneskelig indgriben.

Machine learning

Machine learning er en blanding af statistik og algoritmer. Ved machine learning trænes en algoritme med data. Her taler vi om store mængder data. I dataen er der sammenhænge, som maskinen lærer. Derfra kan maskinen lave forudsigelser og forbedringer. Disse forudsigelser gør dig i stand til at løse potentielle problemer i tide.   

 

Firmware

Firmware er et lille stykke software, som får hardwaren til at arbejde. Uden firmware vil de fleste af de elektroniske enheder, som vi bruger dagligt, ikke kunne arbejde.

Så kort fortalt er firmware software, der er skrevet direkte til din hardwareenhed og gemt på selve hardwareenheden. For mere komplekse produkter er firmwaren mellemmanden mellem produktet og det operativsystem.

At skrive ny firmware på din enhed kan være svært og gøres det forkert, kan din enhed blive helt ubrugelig. Så lad kun eksperter gør dette - vi hjælper dig gerne.  

Digital signalbehandling 

Digital signalbehandling kan inddeles i to grupper: En-dimensionelle signaler og multi-dimensionelle signaler. 

De endimensionelle møder vi ofte i produkter med sensorer som måleinstrumenter, der eksempelvis måler tryk, temperatur, fugtighed, acceleration, position og meget mere. 

De multi-dimensionelle signaler møder vi i video og billeder. 

Signalerne optages ofte i et tidsdomæne og transformeres til frekvensdomæner. Dette gør man for at analysere frekvensindholdet, så produktet eller maskinen kan handle ud fra de frekvenser, de modtager.

Vi i Move Innovation er eksperter i digital signalbehandling og har arbejdet med mange forskellige typer projekter, hvor digital signalbehandling indgår.

Vi bruger ofte signalbehandling til at fjerne “støj” fra målinger og til at fremhæve det væsentlige. Vi har blandt andet arbejdet med ultralyd, video algoritmer, måling af lyd og meget mere.

Dataanalyse

Vi i Move Innovation, beskæftiger os meget med dataanalyse. De fleste af vores udviklinger indeholder en form for dataopsamling, ofte via en sensor. Denne data skal efterfølgende behandles, her arbejder vi med dataanalyse, hvor vi “renser” dataen, så den efterfølgende kan bruges eller klassificeres. Dette giver et overblik samt nye indsigter og med de rette teknologier, eksempelvis machine learning, er det også muligt at forudse fremtidige tendenser, så du kan lave målrettede indsatser i tide.  

Databehandling

Databehandling omfatter design, udvikling og opbygning af hardware og software systemer. Data eller forskellige slags information behandles, struktureres og forvaltes, så man med databehandlingssystemer kan få computeren til at opføre sig intelligent. 

 

Imaging

Imaging er kort fortalt kameraløsninger. Hos Move Innovation oplever vi en større efterspørgsel på imaging, både til medicinsk behandling, industrielt brug men også til den almene forbruger. 

Arbejder man med kameraer eller endoskoper til medicinsk brug, er der mange specifikke krav som skal overholdes - disse krav har vi helt styr på. 

Derudover bør man overveje smitterisikoen, hvis ikke det er et engangs endoskop eller produkt. Er det et engangsprodukt, skal man sikre at alle løsningerne er ensartede og billige, men samtidig overholde kravene til patientsikkerheden - dette kan vi hjælpe dig med.

Ønsker man at filme noget i produktionen eller industrien, eksempelvis til machine learning, så skal kameraet eller endoskopet være robust, da det ofte er et hårdt miljø dette indgår i. Dette har vi ligeledes stor erfaring med. Overvejelserne her bør være: Hvad er væsentligt at filme? Er det muligt at forbinde kameraet med en ledning, så man ikke behøver at bekymre sig om batteritiden og problemer med overførslen af videoen, eller duer det ikke med ledninger i produktionen? - Så finder vi også en løsning på det.

Vi kan hjælpe dig med farvekalibrering, video loading, passende frame rate, video algoritmer, encoding, opløsning og machine learning, uanset om der er tale om kameraløsninger til medicinsk behandling, industrielt eller consumer imaging.

Netværkssoftware eller .NET

Netværkssoftware får computere til at kommunikere med hinanden eller giver brugerne adgang til fælles programmer. Vi bruger det som et framework til at lave forskellige applikationer.  

Netværkssoftware har mange fordele, blandt andet øger produktiviteten og reducerer belastningen, derudover er det en mere effektiv måde for brugerne at dele oplysninger på og kommunikere.

Netværkssoftware letter slutbrugernes handlinger og er en platform som vi bruger til at udvikle IoT. 

CI

CI står for “Continuous Integration”. Continuous Integration (CI) er en effektiv og agil arbejdsmetode, som vi bruger internt i Move Innovation. 

Med continuous integration, arbejder vores software team med løbende integrering af koden. Derved opdages og rettes fejl og mangler løbende, frem for at løse dette til sidst og på én gang. Det kræver flere ressourcer at rette fejl, når koden først er færdig, frem for tidligere i processen.

Integrationen af software koden er ofte den komplekse del, så ved at integrere den løbende oplever vi færre integrations fejl. Det betyder også at vi kan være mere produktive og samtidig har et ekstra lag af kvalitetssikring. 

En stor del af denne proces er automatiseret, så når vores udvikler har integreret koden, testes denne automatisk. Der bliver foretaget build, unit test og integrations test.Test af koden er en lige så vigtig del, som udviklingen af koden.  

Denne arbejdsmetode er særlig velegnet, når vi arbejder i teams, da vores udviklere arbejder og koder parallelt, fletter det sammen til en fælles kode, for derefter at fordele og arbejde videre. Dette sætter store krav til koordineringen, og derfor har vi valgt at samle alle vores software ingeniører inhouse. Det sikrer kvaliteten af dine udviklingsprocesser og samtidig minimerer det dine udviklingsomkostninger og -tid. 

TDD - Test Driven Development

Test Driven Development(TDD) er en udviklingsmetode, hvor kravet er essentielt. Man udarbejder test cases på baggrund af kravet, og softwaren skal så udvikles til at blive godkendt i testen.

Dette bruger vi særligt, når logikken er kompleks, så er det en god ide at fastlægge hvad koden/devicet skal kunne gøre, inden man går i gang med softwareudviklingen. I sådanne tilfælde er det ideelt at arbejde med Test Driven Development.

 

FPGA systemer

Move Innovation har udviklet en række produkter, hvor vi kombinerer vores viden omkring FPGA systemer med vores ekspertise indenfor matematiske værktøjer blandt andet Matlab. Produkterne anvendes typisk til at flytte faglige eksperters viden tæt på maskinerne.
Anvendelsen af FPGA systemer har skabt store produktivitetsforbedringer og  konkurrencemæssige fordele for vores kunder.

Der er en række gode grunde til at anvende FPGA'ere:

  • Fleksibilitet i designet, med mulighed for kundetilpassede ydre enheder
  • Undgå forældelse - FPGA'ere kan opdateres
  • Support for flere kerner
  • Hardware acceleration
  • Gode og veludviklede software værktøjer

Udvikling af FPGA systemer er en vigtig del i flere af de projekter vi er involveret i.