Använd en inbyggd maskininlärningskärna från Smart Sensor för att optimera rörelsespårning som alltid är på
Bidraget med av DigiKeys nordamerikanska redaktörer
2019-06-11
Växande efterfrågan hos konsumenterna för rörelsespårning som alltid är på i aktivitetsarmband och andra personliga mobila enheter har tidigare inneburit att konstruktörerna fick välja mellan dessa egenskaper och batterilivslängd. Försök att minska strömförbrukningen innebar att spårningsförmåga eller upplösning minskades och därigenom att användarupplevelsen försämrades.
Framväxten av sensorer med låg strömförbrukning med inbyggd rörelseavkänning hjälper utvecklarna att eliminera den här kompromissen i sina konstruktioner.
Den här artikeln beskriver och visar hur du använder en smart rörelsesensor från STMicroelectronics som integrerar sofistikerade rörelsebehandlingsfunktioner för att erbjuda en mer effektiv lösning för rörelsespårning som alltid är på med låg strömförbrukning.
Klassiska strömhanteringsrutiner
I en typisk mobilsystemkonstruktion med låg effektförbrukning utgör effekten som förbrukas av värdmikrostyrenheten under dessa normala aktiva läge den största delen av systemets övergripande effektförbrukning. Det innebär att utvecklarna försöker ta alla möjligheter att hålla mikrostyrenheten i viloläge med låg effektförbrukning för att sedan endast väcka processorn tillräckligt länge för att hantera uppgifter som behandling av sensordata eller kommunikation.
I många år har utvecklarna kunnat uppnå detta mål genom att använda sensorer som kan samla in data oberoende av värdprocessorn. För tillämpningar med måttliga krav på sensorutdatavärden kunde sensorn fylla sina om-chip-buffertar med att antal mätningar och till och med utföra transaktioner med direkt minnestillgång (DMA) för att överföra data till systemminnet innan en avbrottssignal skickas för att väcka processorn och slutföra dess behandlingsaktiviteter. Eftersom sensorns integrerade signalkedja kunde utföra signalbehandling, omvandling och filtrering kunde processorn omedelbart börja arbeta med förbehandlade data och söka efter händelser av betydelse för tillämpningen.
Med integreringen av tröskelavkänningsegenskaper i dessa sensorer kunde utvecklarna ytterligare utöka tiden som processorn kvarstod i lågeffektläge. Istället för att kräva att processorn ska identifiera betydande händelser kunde sensorn utfärda en aktiveringssignal endast när den uppmätte en händelse som överskred de tröskelvärden som utvecklaren hade programmerat. Till exempel kunden en designer programmera den här typen av avancerad temperatursensor för att utfärda en aktiveringssignal endast när den uppmätta temperaturen överskred en specificerad maximal tröskel eller sjönk under en specificerad minimitröskel.
Trots att det är effektivt vid enklare krav kan den här metoden för att minska effektförbrukningen vara betydligt mindre effektiv för att identifiera mer komplexa händelser. Tillsammans med kravet på avkänning som alltid är på innebär avkänning av dessa komplexa händelser en högre aktiv arbetscykel för processorn, snabb tömning av de laddningsbara batterierna med relativt låg kapacitet som normalt används i personliga bärbara enheter. Så det blir uppenbart att den traditionella användningen av värdmikrostyrenheten för att utföra avkänning blir ohållbar vid stigande användarefterfrågan på både avkänning som alltid är på och längre batterilivslängd.
Om sensorn istället kan utföra mer komplexa avkänningsalgoritmer kan utvecklarna fortsätta med aktuell bästa praxis för att reducera systemets strömförbrukning genom driftlägen med låg effekt och processorvilolägen. Samtidigt behöver den här smartare sensorn tillhandahålla utvecklarna med en högre grad av flexibilitet. Att bara snabbprogrammera några specifika algoritmer i sensorerna räcker inte för att uppfylla kravet på nya och bättre produktegenskaper. STMicroelectronics LSM6DSOX iNEMO (LSM6DSOXTR) tröghetssensor uppnår den här flexibiliteten med en kombination av signalbehandlingsegenskaper och flexibla beräkningsfunktioner inbyggda i enheten.
Sensorarkitektur
LSM6DSOX iNEMO är ett system-in-package (SiP) som kombinerar mikroelektromekaniska system (MEMS) sensorer, dedikerade signalkedjor, filter och specialiserade beräkningsmotorer i ett land grid array-paket (LGA) som endast är 2,5 x 3,0 x 0,83 millimeter (mm) stort. Tillsammans med den interna treaxelaccelerometern och digitala gyroskop-MEMSsensorer med tre axlar kan enheten konfigureras som ett sensornav med förmågan att separat orkestrera användningen av upp till fyra externa sensorer genom dedikerade navregister.
Baserat på samma arkitektur som den tidigare STMicroelectronics LSM6DSO erbjuder LSM6DSOX alla egenskaper och funktioner som den tidigare enheten hade (se, "IMU:er: Låt värddatorn vila med maskininlärning på kortet"). Med LSM6DSOX kompletterar dock STMicroelectronics ändliga automat (FSM) som erbjöds i den tidigare enheten med en maskininlärningskärna (ML) för klassificering av datauppsättningar genom upp till åtta beslutsträd. Även utan att använda FSM- och ML-kärnkapaciteterna kan utvecklarna implementera avancerade rörelseavkänningsfunktioner tack vare de avancerade signalkedjorna som användes för att förbehandla data från MEMS-sensorerna.
Som många avancerade sensorer innehåller LSM6DSOX-arkitekturen signalkedjor i flera steg som kombinerar en analog-till-digitalomvandlare (ADC) med flera filtreringssteg. Gyroskopsignalkedjan kompletterar ADC-steget med ett antal valbara digitala filter som inkluderar ett högpassfilter (HPF), ett lågpassfilter (LPF1) och ett andra lågpassfilter (LPF2) som används i enhetens högprestandaläge, men som förbikopplas i normal- eller lågeffektsläge (figur 1).
Figur 1: Som den tidigare STMicroelectronics LSM6DSO följer STMicroelectronics LSM6DSOX varje sensor med en specialiserad, dedikerad signalkedja med fler filtersteg som visas här för gyroskopsensorn. (Bildkälla: STMicroelectronics)
Eftersom accelerometern krävs för många av dess integrerade funktioner har accelerometersignalkedjan förbättrats betydligt i den här arkitekturen. Dess inledande steg tillhandahåller den grundläggande signalkonditionering och omvandlingsförmåga som finns i de mesta avancerade sensorerna. Till exempel ger ett analogt lågpassfilter utan alias grundläggande signalkonditionering, en 16-bitars ADC digitaliserar de konditionerade signalerna och de digitaliserade resultaten passerar genom ett digitalt lågpassfilter. Vad som gör enheten annorlunda är det sofistikerade kompositfilterblocket som följer det här inledande omvandlingssteget (figur 2).
Figur 2: Både i den tidigare STMicroelectronics LSM6DSO och nu i STMicroelectronics LSM6DSOX-rörelsesensorn finns en omfattande accelerometersignalkedja som stödjer värdoberoende avkänning av flera komplexa rörelser inklusive fritt fall, flerdimensionell inriktning och enkel-/dubbeltryckning (S/D). (Bildkälla: STMicroelectronics)
Med en kombination av bearbetningsblock och filter kan accelerometerns kompositfilteravsnitt autonomt känna av ett stort antal komplexa händelser som tills nu har krävt att processorn aktiveras och kör specialiserad händelseavkänningskod. Istället kan konstruktörerna nu programmera filterparametrar för att automatiskt känna av och utfärda avbrottssignaler för ett stort antal komplexa rörelsehändelser inklusive enkel- eller dubbeltryckning, fritt fall, aktivitet/inaktivitet, inriktning med sex graders (6D) frihet eller 4D-inriktning som typiskt används för att känna av rörelser hos enheten. Till exempel från stående till liggande läge.
Kompositfiltrets avancerade detektorer kombinerar resultaten från processblocken och filtren för att utföra avkänningen. Till exempel använder enkeltryckavkänning det inbyggda lutningsfiltret som kontinuerligt genererar lutningen i det aktuella accelerometerprovet, acc(tn):
lutning(tn) = [ acc(tn) - acc(tn-1) ] / 2 (ekvation 1)
Vid en enkeltryckhändelse stiger lutningen över en tröskel och sjunker snabbt jämfört med en bredare stöthändelse (figur 3). Genom att använda tryckningströskeln och stötfönstrets varaktighetsvärden som ställts in av utvecklaren kan enheten automatiskt känna av enkeltryckningshändelsen och utfärda en avbrottssignal till värdmikrostyrenheten.
Dubbeltryckningsavkänning bygger på den här metoden och lägger till ej ytterligare parameter för att specificera den nödvändiga väntetiden mellan de två enskilda tryckningshändelserna.
Figur 3: LSM6DSO- och LSM6DSOX-rörelsesensorerna ger värdoberoende avkänning av enskilda tryckhändelser med en inbyggd lutningsfunktion som uppvisar en snabbare återgång till baslinjenivåerna en enskild tryckning (a) jämfört med signaturen hos en bred stöthändelse (b). (Bildkälla: STMicroelectronics)
Enhetens förmåga att generera härledda data, som lutning, spelar en central roll i de mer avancerade funktionerna som är tillgängliga med dess integrerade FSM- och maskininlärningskärna (ML). Eftersom FSM-funktionen diskuterats i den tidigare nämnda artikeln fokuserar återstoden av den här artikeln på LSM6DSOX:s ML-kärna och dessa användning i att känna av mycket mer komplexa rörelsehändelser, inklusive rörelsesekvenser och till och med komplexa rörelseaktiviteter som specifika övningar.
Beslutsträd
LSM6DSOX:s ML-kärna tillhandahåller sensorbaserad behandling till en nivå som ligger långt utanför de bekanta tröskelinställningarna som används i många avancerade smarta sensorer. Med ML-kärnan kan utvecklarna implementera komplexa avkänningsalgoritmer i enheten, vilket tillåter ständigt aktiverad avkänning av komplexa rörelsehändelser utan behovet av att väcka mikrostyrenheten. Här använder ML-kärnan beslutsträd för att identifiera en händelse baserat på mönster i indata.
Beslutsträd har använts i åratal i beslutsstödsystem och bryter ner komplexa beslut till en serie val baserat på avstämning av indata eller attribut mot fördefinierade villkor. Med början i den inledande noden eller roten testas ett attributs värde och beslutet att fortsätta till en särskild underordnad nod avgörs av resultaten (figur 4).
Figur 4: Ett beslutsträd genererar ett resultat med en sekvens av noder som var och en testar ett ingående värde för ett särskilt attribut mot ett villkor som en särskild tröskelnivå och fortsätter till olika underordnade noder beroende på resultaten av testet. (Bildkälla: STMicroelectronics)
Vid varje uppdateringscykel skulle till exempel beslutsträdet aktiveras för att arbeta genom sina noder för att avgöra om tillgängliga data – med den uppdateringen – representerade ingen rörelse, rörelse framåt eller någon annan rörelse, enligt följande:
- testa omfattningen av ett accelerometermått
- 1.1. avgör om värdet ligger under något förbestämt värde (villkoret)
- 1.2. gå annars vidare till en underordnad nod för att testa gyroskopmätningarna som vidtagits under samma tidsfönster
- 1.2.1 avgör om gyroskopmätningarna ligger under något förbestämt värde eller
- 1.2.2 fortsätt till en djupare underordnad nod för att testa andra attribut som uppmätts under samma tidsfönster eller testa samma attribut mot ett annat villkor.
Den här processen upprepas tills testet når en slutnod, vilket i det här sammanhanget motsvarar en särskild komplex rörelsehändelse eller klass. I det här enkla exemplet:
- kan slutnod 1.1 indikera att data eller egenskapsuppsättningen ska klassificeras som "ingen rörelse"
- kan slutnod 1.2.1 indikera att egenskapsuppsättningen ska klassificeras som "ingen rörelse"
- kan slutnoderna under nod 1.2.2 tyda på en sväng under förflyttning eller en mer komplex riktningsändring
Givetvis är verkliga problemuppställningar som kräver att beslutsträd används mycket mer komplexa och involverar stora egenskapsuppsättningar som innefattar många olika attribut och villkor. LSM6DSOX tillhandahåller utvecklarna med en stor uppsättning möjliga egenskaper som inleds med sensordata från accelerometern, gyroskopet och eventuella externa sensorer som anslutits i sensornavets anslutningsläge (figur 5).
Figur 5: Unikt för STMicroelectronics LSM6DSOX är en inbyggd ML-kärna som använder primära sensordata, filtrerade data och härledda parametrar, som medel och varians, som indata till ett av åtta beslutsträd som stöds av enheten. (Bildkälla: STMicroelectronics)
Från dessa primärsensordata genererar enheten ett stort antal egenskaper som beräknats från primära data i ett glidande tidsfönster inklusive:
- norm V = Ö( x2 + y2 + z2) och V2
- medel
- varians
- energi
- topp till topp
- nollgenomgång
- positiv nollgenomgång
- negativ nollgenomgång
- toppdetektor
- positiv toppdetektor
- negativ toppdetektor
- minimum
- maximum
För vissa egenskaper som nollgenomgångsdetektorer och toppdetektorer specificerar utvecklaren även ett tröskelvärde för att växla nollgenomgångsaxeln respektive topptröskeln.
Övervakat inlärningsarbetsflöde
Med hjälp av dessa egenskaper för att implementera ett beslutsträd med LSM6DSOX:s ML-kärna följer ett typiskt övervakat inlärningsarbetsflöde som är gemensamt för de flesta maskinlärningsmodellers utvecklingsansträngningar. I allmänhet börjar det här arbetsflödet med identifiering av de händelser som ska undersökas och insamling av dataprover som är kopplade till dessa aktiviteter.
I det här fallet använder utvecklarna LSM6DSOX för att samla in data medan de utför den specifika uppsättningen av rörelsehändelser som den slutliga tillämpningen behöver känna av. I den här utvecklingsfasen kan utvecklarna skapa en datainsamlingsplattform med kort och programvara från STMicroelectronics. För maskinvaruplattformen kan utvecklarna ansluta STEVAL-MKI197V1 LSM6DSOX-adapterkortet till utvärderingsmoderkortet STEVAL-MKI109V3. För programvara kan utvecklarna använda STMicroelectronics kostnadsfria Unico-programvaruverktyg, som är tillgängligt för Windows, Mac OSX och Linux.
Unico är utvecklat för att fungera med STEVAL-MKI109V3-moderkortet och tillhandahåller en enkel metod för att samla in data som genererats av LSM6DSOX. För datainsamling kan utvecklarna använda moderkortet och Unico tillsammans. Här håller utvecklaren eller en assistent i moderkortet och utför sedan flera gånger en av de specifika rörelseaktiviteterna som ska undersökas med Unico för att samla in LSM6DSOX-rörelsedata.
De data som samlats in från LSM6DSOX under flera upprepningar av en enskild aktivitet utgör träningsuppsättningen för motsvarande klass (som "framåtrörelse" i vår tidigare exempel). Eftersom data som samlats in under den rörelsen alla motsvarar samma klass eliminerar den här aktiva varianten av datainsamling behovet av en separat datamärkningsfas som ibland kan fördröja övervakade inlärningsarbetsflöden.
Efter att ha samlat in rörelsedata för varje undersökt rörelsehändelseklass använder utvecklarna Unico för att gå igenom data och klassetiketten. Utöver sin användbarhet för datagranskning gör Unico det möjligt för utvecklarna att konfigurera flera aspekter av det önskade beslutsträdet, definiera filter, ställa in tidsfönstrets varaktighet och välja de specifika egenskaper som ska användas när beslutsträdet byggs.
I praktiken begränsar utvecklarna de egenskaper som används för att känna av en specifik uppsättning aktiviteter till det lägsta möjliga antal som anges genom erfarenhet och experiment. Även vid en minimal egenskapsuppsättning bygger implementeringen av ett beslutsträd på att avgöra vilka av dessa egenskaper eller attribut som ska testas i varje nod i beslutsträdet. Det är viktigt att välja det "bästa" attributet att testa i varje nod för att minimera beslutsträdets storlek, vilket är särskilt viktigt för en enhet med begränsade resurser som en sensor.
Anmärkning: Vid det här laget funderar du säkert på skillnaden mellan egenskaper och attribut. Problemet är att vi talar om "egenskaper" på ML-modeller, men att de kallas "attribut" när vi talar om beslutsträd. Vi har försökt att välja en term genomgående i ett avsnitt, men här växlar vi från "egenskap" till "attribut" för följande beslutsträdsdiskussion. Du kommer säkerligen att hitta andra ställen där de är utbytbara, men här och senare i avsnittet "arff" är det "attribut" som används.
Trots att konceptet är enkelt kan valet av det bästa attributet i varje beslutsnod vara icke-intuitivt för beslutsträd med ett stort antal attribut, där vart och ett av dem representeras av ett stort intervall av datavärden. Den föredragna metoden för att hitta det bästa attributet att testa vid varje nod kräver beräkning av varje attributs Shannon-entropi vid den aktuella noden med ekvation 2:
entropy(p1,p2,...,pn) = - p1log2(p1) - p2log2(p2)... - pnlog2(pn) (Equation 2)
Sannolikheten pn representerar var och en av de n möjliga klasserna som är associerad med det aktuella attributet.
Resultatet är informationsinnehållet, som presenteras i bitar som varierar i värde från 0 till 1, snarare än bara 0 eller 1, i den mer bekanta definitionen av bitar.
Den här informationsvinsten för varje attribut blir sedan skillnaden mellan det här informationsvärdet och det grundläggande informationsvärde som beräknats för attributet baserat på sannolikheten för ett korrekt beslut som skulle uppstå utan att använda beslutsnoden. En ingående undersökning av den här beräkningen ligger utanför artikelns ämne, men en intuitiv tolkning innefattar att jämföra vilken metod som sannolikt ger det önskade resultatet effektivast möjligt: ett resultat som baseras på ett tvärsnitt genom datauppsättningen nerifrån och upp baserat på attributets värden ("baslinje") eller ett resultat som baseras på ett urval uppifrån och ner baserat på specifika värdeintervall för det aktuella attributet. Urval uppifrån och ner använder en metod som minskar antalet möjliga resultat snabbare än att gå nedifrån och upp.
Snabb distribution
Lyckligtvis behöver utvecklarna sällan ägna sig åt detaljerad informationsvinst och optimering av attributval. Istället kan de dra nytta av fritt tillgängliga maskininlärningsverktyg från tredje part som Weka som automatiskt hanterar de beräkningar som krävs för att generera optimala beslutsträd.
Unico och Weka har ett nära samarbete för att tillhandahålla ett arbetsflöde för snabb implementering av beslutsträd. De kritiska stegen i ett specifikt beslutsträds utvecklingsarbetsflöde ligger i datainsamlingsstegen som nämndes tidigare, specifikt med LSM6DSOX för att samla in representativa datauppsättningar för varje undersökt aktivitetsklass och att använda Unico för att förfina dessa datauppsättningar och definiera beslutsträdets konfiguration. När det är klart används dessa två verktyg tillsammans för att påskynda de slutliga stegen i processen.
Efter att ha förfinat data- och beslutsträdskonfigurationen i Unico använder utvecklarna verktyget för att omvandla den valda egenskapsuppsättningen till ett standardformat som kallas attribut-relationsfilformat (arff). En arff-fil inkluderar ett rubrikavsnitt som listar de valda attributen (egenskaperna) och möjliga klasserna samt ett dataavsnitt som listar varje uppsättning av insamlade data och förknippad klass (lista 1). I det här exemplet används bara några få egenskaper och endast en liten uppsättning av datainstanser används för att identifiera en begränsad uppsättning klasser inklusive bicepscurls, hantellyft åt sidorna och knäböj).
Lista 1: Standardfilformatet för attribut-relationsfiler (arff) innefattar ett rubrikavsnitt som definierar attribut och klasser, samt ett dataavsnitt som innehåller datainstanser för varje attribut och förknippad klass. (Datakälla: STMicroelectronics)
Med Weka kan utvecklarna läsa in arff-filen i förbehandlingsfönstret och visa en grafisk sammanställning över hela egenskapsuppsättningen (figur 6).
Figur 6: Efter att ha använt STMicroelectronics Unico-verktyg för att generera en arff-fil för sina datauppsättningar kan utvecklarna använda Weka, ett maskininlärningsverktyg från tredje part, för att visa hela datauppsättningen, som visas här för arff-data i lista 1. (Bildkälla: DigiKey)
För att bygga beslutsträdet växlar utvecklarna till Wekas klassificeringsfönster, väljer Weka J48-klassificeraren (Wekas beslutsträdsklassificerare) och klickar på start. I utdatafönstret listar klassificeraren en sammanfattning över indata och visar beslutsträdet både grafiskt (figur 7) och i textformat (figur 8).
Figur 7: För att skapa ett beslutsträd behöver utvecklarna bara läsa in en arff-fil, välja Weka J48 beslutsträdsklassificeraren och generera det slutliga trädet. Det inbyggda Weka-visualiseringsverktyget används för att visa resultatet med attribut och villkor som listats för varje nod – i det här fallet med arff-data i lista 1. (Bildkälla: DigiKey)
Figur 8: Tillsammans med en visuell framställning av beslutsträdet genererar Weka den faktiska J48 beslutsträdsspecifikationen – i det här fallet med arff-data i lista 1 för att generera J48-specifikationen i lista 2. (Bildkälla: DigiKey)
I det här exemplet kräver den genererade J48-beslutsträdsspecifikationen endast några få rader (lista 2).
Lista 2: Weka genererar en J48 beslutsträdsspecifikation som den här för arff-data i lista 1. Utvecklarna läser in den här specifikationen i STMicroelectronics Unico-verktyget för att generera en konfigurationsfil och läsa in den i STMicroelectronics LSM6DSOX-sensorn. (Datakälla: STMicroelectronics)
Efter att ha kopierat och sparat J48-trädtexten i en fil läser utvecklarna in textfilen i Unico för att generera en registerkonfigurationsfil. Slutligen slutför utvecklarna arbetsflödet genom att använda fliken läsa in/spara i Unico för att läsa in konfigurationsfilen i LSM6DSOX. Vid det här tillfället kan utvecklaren utföra stödrörelserna och samtidigt hålla STEVAL-MKI109V3-moderkortet enligt beskrivningen tidigare och använda Unico för att läsa av klassificeringsresultatet för beslutsträdet från LSM6DSOX-utdataregistret för det konfigurerade beslutsträdet.
I en anpassad design kan utvecklarna använda en förändring i ett beslutsträds utdataregister för att signalera mikrostyrenheten att aktiveras och köra kod för att meddela användaren, öka en aktivitetsräknare, eller en annan lämplig högnivååtgärd som krävs av en tillämpning.
Trots att det här exemplet är väldigt förenklat kan LSM6DSOX ML-kärnan stödja klassificering av mycket mer komplexa rörelsehändelser med fler av de olika funktionerna som nämnts tidigare. Till exempel beskriver STMicroelectronics en betydligt mer avancerad version av den här tillämpningen, med många fler egenskaper för att klassificera gymaktiviteter i ett bredare urval av övningar inklusive bicepscurls, jumping jacks, hantellyft åt sidorna, armhävningar och knäböj.
Tillsammans med medelvärden och topp-till-topp-funktionerna som användes i det enkla exemplet lägger det komplexa exemplet till varians, min, max, och nollgenomgångsfunktioner som beräknats för ett tidsfönster på tv sekunder. Den här mer sofistikerade tillämpningen körs i LSM6DSOX ML-kärnan och leder till en strömförbrukning på cirka 569 μA (vid 1,8 V) varav endast cirka 13 μA beror på ML-kärnans egen strömförbrukning. Vid den här nivån av strömförbrukningen kan utvecklarna tryggt implementera rörelseavkänning som alltid är på med måttlig inverkan på batteriets laddningsstatus.
Maskininlärningsförbehåll
Faktiska tillämpningar av maskininlärning beror på övervakade inlärningsarbetsflöden som innefattar någon form av biasering i den slutliga maskininlärningsmodellen, oavsett om modellen är ett mycket komplext hoplänkat neuralt nätverk eller ett relativt enkelt beslutsträd. Rörelsebaserade data, framförallt, är så beroende av fysisk morfologi och rörelsemönster att de data som samlas in från en individ som utför en aktivitet kan skilja sig markant från en annan.
Det innebär att utvecklare som använder ML-baserad aktivitetsavkänning står inför en kontinuerlig utmaning i att hitta balansen mellan datas specificitet och generalitet. För hög specificitet begränsar normalt generaliteten medan för hög generalitet normalt försämrar den exakta avkänningen av olika individers unika variationer av samma rörelser. Trots att dessa problem knappast är unika för den här specifika implementeringen kan utmaningarna i att hitta den här balansen i personliga rörelseavkänningsenheter tyda på ett behov av beslutsträd som kan uppdateras med användarspecifika data. Med noggrann hänsyn till dessa övergripande krav på maskininlärningstekniken kan utvecklarna redan använda LSM6DSOX och det befintliga arbetsflödet för att införa sofistikerad, ständigt aktiverad avkänning i konstruktioner med begränsad strömtillgång.
Slutsats
Efterfrågan på både ständigt aktiverad rörelseavkänning och utökad batterilivslängd har gett upphov till en konflikt som kan verka olösbar för utvecklare av aktivitetsarmband och annan liten bärbar utrustning. Trots att många avancerade sensorer kan tillhandahålla en viss grad av rörelseavkänning oberoende av processor utesluter efterfrågan på ständigt aktiverad avkänning av mer komplexa rörelser den här metoden i framväxande tillämpningar.
Med hjälp av maskinlärningsfunktionerna i STMicroelectronics LSM6DSOX rörelsesensor kan dock utvecklarna lösa konflikten mellan ständigt aktiverad spårning och utökad batterilivslängd för att skapa mer avancerade, aktivitetsmedvetna aktivitetsarmband och andra bärbara enheter.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




