Nopeasti alkuun 3D-kulkuaikasovelluksissa

Kirjoittaja Stephen Evanczuk

Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa

3D-kulkuaikakuvantaminen (ToF-kuvantaminen) tarjoaa tehokkaan vaihtoehdon videokuvantamiselle monissa eri käyttötarkoituksissa, kuten työturvallisuudessa, robottien navigoinnissa, eleohjausrajapinnoissa ja muilla alueilla. Tähän lähestymistapaan tarvitaan kuitenkin huolellinen yhdistelmä optista suunnittelua, tarkkoja ajastuspiirejä ja signaalinkäsittelykykyä, joten moni kehittäjä voi kokea tehokkaan 3D-ToF-alustan toteuttamisen haastavana.

Tässä artikkelissa kuvataan ToF-teknologian yksityiskohtia ja esitellään sitten, miten kaksi valmista 3D-ToF-sarjaa eli Analog Devices AD-96TOF1-EBZ -kehitysalusta ja ESPROS Photonics EPC660 -arviointisarja voivat auttaa kehittäjiä luomaan nopeasti prototyyppejä 3D-ToF-sovelluksista ja keräämään näin kokemusta, jonka avulla toteuttaa 3D-ToF-laitteiden suunnittelu omien vaatimusten mukaisesti.

Mitä ToF-teknologia on?

ToF-teknologian perustana on se tuttu periaate, että etäisyys objektin ja tietyn lähdepisteen välillä voidaan löytää mittaamalla aikaero hetkestä, jona lähde lähettää energiaa, hetkeen, jolloin lähde vastaanottaa sen heijastuksen (kuva 1).

Kaavio: ToF-järjestelmät laskevat etäisyyden järjestelmän ja ulkoisten objektien välilläKuva 1: ToF-järjestelmät laskevat etäisyyden järjestelmän ja ulkoisten objektien välillä mittaamalla aikaviiveen energian lähettämisestä siihen, kun järjestelmä vastaanottaa objektin tuottaman energiaheijastuksen. (Kuvan lähde: Analog Devices)

Vaikka perusperiaate pysyy samana, ToF-toteutuksia on monia erilaisia, joten toteutukseen vaikuttavat kyseisen teknologian, kuten ultraäänen, valotutkan (LiDAR), kameroiden ja millimetriaaltoja (mmWave) käyttävän RF-signaalin kyvyt ja rajoitukset:

  • Ultraääneen perustuvat ToF-ratkaisut ovat edullisia, mutta niiden kantama sekä kyky hahmottaa objekteja avaruudellisesti on rajoittunut.
  • Optiset ToF-ratkaisut tarjoavat ultraääntä paremman kantavuuden ja avaruudellisen hahmotuskyvyn, mutta paksu sumu tai savu häiritsee niiden toimintaa.
  • mmWave-teknologiaan perustuvat ratkaisut ovat yleensä monimutkaisempia ja kalliimpia, mutta ne myös kantavat huomattavasti pidemmälle ja antavat tietoa kohdeobjektin nopeudesta ja suunnasta, huolimatta savusta, sumusta tai sateesta.

Valmistajat hyödyntävät kunkin teknologian kykyjä tarpeen mukaan haluamiensa vaatimusten mukaisesti. Esimerkiksi ultraäänianturit sopivat hyvin esteiden tunnistukseen vaikkapa robottien ohjauksessa tai autojen pysäköintitunnistimissa. Vastaavasti mmWave-teknologia antaa ajoneuvoille lähestyvien vaarojen tunnistamiseen tarvittavan pidemmän välimatkan tunnistuskyvyn silloinkin, kun muut anturit eivät vaikeiden sääolojen vuoksi toimi.

ToF-laitteet voidaan rakentaa yksittäisen lähetin-/vastaanotinparin ympärille. Esimerkiksi yksinkertainen optinen ToF-rakenne vaatii vain ledin, joka valaisee halutun alueen, sekä valodiodin, joka tunnistaa objekteista tällä alueella lähtevät heijastukset. Tämä näennäisen yksinkertainen rakenne vaatii kuitenkin viiveen mittausta varten tarkat ajoitus- ja synkronointipiirit. Lisäksi saatetaan tarvita modulointi- ja demodulointipiirejä, joilla erotetaan valaistussignaali taustalähteistä tai tuetaan monimutkaisempia, jatkuvaan aaltoon perustuvia menetelmiä.

Rakenteen monimutkaisuus kasvaa nopeasti pyrittäessä parantamaan ToF-järjestelmän kohinasuhdetta ja eliminoimaan häiriöitä. Monimutkaisuutta lisäävät entisestään edistyneemmät tunnistusratkaisut, joissa käytetään useita lähettimiä ja vastaanottimia seuraamaan useita objekteja tai tukemaan monimutkaisempia liikkeenseuranta-algoritmeja. Esimerkiksi mmWave-järjestelmissä käytetään usein useita vastaanottimia seuraamaan useiden erillisten objektien suuntaa ja nopeutta. (Katso artikkeli Käytä millimetriaaltoja käyttäviä tutkasarjoja tarkan esineentunnistuksen nopeaan kehitykseen.)

Optiset 3D-ToF-järjestelmät

Kolmiulotteiset optiset ToF-järjestelmät laajentavat useamman vastaanottimen ideaa käyttämällä kuvantamisantureita, jotka perustuvat yleensä CCD-kennojen ryhmään. Kun CCD-ryhmä tarkennetaan linssien avulla haluttuun havaintoalueeseen, jokainen CCD-ryhmän kennoista varautuu tietystä havaintoalueen pisteestä heijastuvan valaistuksen seurauksena. Kun tämä synkronoidaan pulsseina tai jatkuvina aaltoina syötettyyn valaistukseen, CCD-ryhmään saapuva heijastunut valo saadaan käytännössä talteen joko ikkuna- tai vaihesekvenssinä. Tästä datasta muodostetaan kolmiulotteinen syvyyskartta, jonka vokseleiden (tilavuuspikselien) arvot ilmaisevat etäisyyden havaintoalueen vastaavaan pisteeseen.

Yksittäisiä syvyyskarttoja voidaan tallentaa järjestyksessä kuten videon ruutuja ja tuottaa näin mittauksia, joiden tarkkuutta ajan suhteen rajoittaa vain kuvantallennusjärjestelmän ruutunopeus ja tilan suhteen vain CCD-ryhmä ja siihen liittyvä optinen järjestelmä. Suurempien 320 × 240 kuvapisteen CCD-kennojen markkinoille tulon myötä tarkempia kolmiulotteisia optisia ToF-järjestelmiä voidaan käyttää yhä laajemmin eri segmenteissä, kuten teollisuusautomaatiossa, miehittämättömissä ilma-aluksissa ja jopa elekäyttöliittymissä (kuva 2).

Kuva: optinen 3D-ToF voi tuottaa tarkkaa tietoa elekäyttöliittymilleKuva 2: Kolmiulotteisen optisen ToF-järjestelmän korkea ruutunopeus ja avaruudellinen tarkkuus tuottaa elekäyttöliittymille tarkkaa tietoa, kuten kuvassa, jossa henkilö kohottaa kätensä ToF-kameraa kohti. (Kuvan lähde: ESPROS Photonics)

Toisin kuin useimmat kamerapohjaiset menetelmät, kolmiulotteiset ToF-järjestelmät voivat tuottaa tarkkoja tuloksia huolimatta varjoista tai valaistusolosuhteiden muutoksista. Nämä järjestelmät tuottavat oman valaistuksensa käyttäen joko lasereita tai tehokkaita infrapunaledejä, kuten Lumiledsin Luxeon-IR-ledejä, jotka kykenevät toimimaan järjestelmien käyttämillä useiden megahertsien (MHz) kytkentänopeuksilla. Toisin kuin esimerkiksi stereoskooppiset kamerat, 3D-ToF-järjestelmät tarjoavat kompaktin ratkaisun, joka tuottaa tarkkaa etäisyystietoa.

Valmisratkaisut

Kolmiulotteisten ToF-järjestelmien toteutus tuottaa kuitenkin kehittäjille useita haasteita. Aiemmin mainittujen ajoituspiirien lisäksi järjestelmät vaativat huolellisesti suunnitellun signaalinkäsittelyketjun, joka on optimoitu lukemaan nopeasti tuloksia CCD-ryhmästä kutakin ikkuna- tai vaihemittausta varten ja suorittamaan sitten prosessointi, joka tarvitaan raakadatan muuttamiseen syvyyskartoiksi. Edistyneet 3D-ToF-kuvantamislaitteet, kuten ESPROS Photonics EPC660-CSP68-007, yhdistävät 320 × 240 kuvapisteen CCD-ryhmän sekä kattavan valikoiman ajoitus- ja signaalinkäsittelytoimintoja, joita tarvitaan suorittamaan 3D-ToF-mittaukset ja tuottamaan 12-bittistä etäisyysdataa kuvapistettä kohti (kuva 3).

Kaavio: ESPROS Photonics epc660 (suurenna klikkaamalla)Kuva 3: ESPROS Photonics epc660 sisältää 320 × 240 pikselin kuvantamisyksikön sekä kattavan valikoiman ajoituspiirejä ja ohjaimia, jotka tarvitaan muuttamaan kuvantamisyksikön raakadata syvyyskartoiksi. (Kuvan lähde: ESPROS Photonics)

ESPROS Photonicsin kortinreunaliittimellä varustettu palakotelo EPC660-007 sisältää epc650-kuvantamisyksikön 37,25 × 36,00 millimetrin (mm) piirilevyllä, jossa on myös erotuskondensaattorit sekä kortinreunaliitin. Vaikka tämä palakotelo tarjoaa 3D-ToF-järjestelmälle perustason laitteistorajapinnan, suunnittelijoiden tulee edelleen viimeistellä etuasteen optinen suunnittelu sekä varata taustakäsittelyyn riittävät prosessointiresurssit. ESPROS Photonicsin epc660-arviointisarja poistaa nämä tehtävät tarjoamalla täydellisen 3D-ToF-sovellusten kehitysympäristön, johon sisältyvät valmis 3D-ToF-kuvantamisjärjestelmä ja tarvittavat ohjelmistot (kuva 4).

Kaavio: ESPROS Photonicsin epc660-arviointisarja (suurenna klikkaamalla)Kuva 4: ESPROS Photonicsin epc660-arviointisarja tarjoaa valmiin 3D-ToF-kamerajärjestelmän sekä tarvittavan ohjelmiston syvyystietojen hyödyntämiseen sovelluksissa. (Kuvan lähde: ESPROS Photonics)

Arviointiin ja nopeaan prototyyppien luontiin tarkoitettu ESPROS-sarja sisältää valmiiksi rakennetun kamerajärjestelmän, joka yhdistää epc660-CC-palakotelon, optisen linssikokoonpanon sekä kahdeksan LED-valon sarjan. Kamerajärjestelmän ohella mukana toimitetaan BeagleBone Black -suoritinkortti, jossa on 512 megatavua (Mt) RAM-muistia ja 4 gigatavua (Gt) flash-muistia. Se toimii isäntäohjaimena sekä sovellusten tarvitsemana prosessointiresurssina.

ESPROS tarjoaa myös epc660-arviointisarjaan ohjelmiston, jonka voi ladata sen verkkosivuilta ja avata salasanalla, jonka puolestaan voi pyytää yhtiön paikallisesta myyntikonttorista. Saatuaan ohjelmiston käyttöönsä kehittäjät voivat aloittaa kamerajärjestelmän käytön suorittamalla graafisella käyttöliittymällä varustetun ohjelmiston ja valitsemalla jonkin useista mukana toimitetuista konfiguraatiotiedostoista. Graafinen sovellus tarjoaa myös ohjaus- ja näyttöikkunat, joilla voidaan asettaa lisäparametreja, kuten tila- ja aikasuodattimia, sekä tarkastella tuloksia. Sarjan avulla kehittäjät voivat erittäin helposti aloittaa syvyyskarttojen tallentamisen reaaliajassa ja käyttää niitä syötteenä omaan sovellusohjelmistoonsa.

Parannetun tarkkuuden 3D-ToF-järjestelmät

ESPROS epc660:n kaltainen 320 × 240 kuvapisteen kuvantamisyksikkö voi palvella monia tarkoituksia, mutta sen tarkkuus ei ehkä riitä havaitsemaan pieniä liikkeitä elekäyttöliittymissä tai erottamaan pieniä objekteja, ellei havaintoaluetta rajoiteta merkittävästi. Näihin sovelluksiin on saatavana 640 × 480 kuvapisteen ToF-antureihin perustuvia valmiita kehityssarjoja, joilla voidaan luoda nopeasti luoda prototyyppejä korkean tarkkuuden sovelluksista.

Seeed Technologyn DepthEye Turbo -syvyyskamerassa on 640 × 480 pisteen ToF-anturi, neljä 850 nanometrin (nm) VCSEL-tyyppistä (vertical-cavity surface-emitting laser) diodia, valaistuksen ja tunnistuksen käyttöpiirit sekä tuki USB-liittymälle 57 × 57 × 51 mm:n kuution sisässä. Ohjelmistotuki tarjotaan avoimen lähdekoodin libPointCloud SDK -github-tietovarastossa, jossa on tuki Linuxille, Windowsille, Mac OS:lle ja Androidille.

C++-ajureiden, kirjastojen ja esimerkkikoodin lisäksi libPointCloud SDK -jakeluun kuuluu Python API nopeaa prototyyppien luontia varten sekä visualisointityökalu. Asennettuaan jakelupaketin kehitysalustalle kehittäjät voivat yhdistää kameran tietokoneeseen USB-liitännällä ja aloittaa heti vaihe-, amplitudi- ja pistepilvikarttojen esittämisen visualisointityökalun avulla; ne ovat käytännössä parannettuja syvyyskarttoja, jotka on piirretty tekstuuripinnoilla kolmiulotteisen kuvan pehmentämiseksi (kuva 5).

Kuva Seeed Technologyn DepthEye Turbo -syvyyskameran ohjelmistostaKuva 5: Ohjelmistopaketti ja Seeed Technologyn DepthEye Turbo -syvyyskamera tarjoavat yhdessä kehittäjille mahdollisuuden visualisoida kolmiulotteista ToF-dataa monissa eri muodoissa, kuten pääikkunassa näkyvänä pistepilvenä. (Kuvan lähde: Seeed Technology/PointCloud.AI)

Analog Devicesin 3D-ToF-arviointisarja AD-96TOF1-EBZ tarjoaa avoimemman laitteistoratkaisun, joka perustuu kahteen piirilevyyn ja on suunniteltu käyttämään isäntäohjaimena ja paikallisena laskentaresurssina Raspberry Pin mallia Raspberry Pi 3 Model B+ tai Raspberry Pi 4 (kuva 6).

Kuva Analog Devicesin 3D-ToF-arviointisarjasta AD-96TOF1-EBZKuva 6: Analog Devicesin 3D-ToF-arviointisarja AD-96TOF1-EBZ yhdistää valaistukseen ja tiedon tallennukseen käytettävän kahden piirilevyn kokoonpanon sekä Raspberry Pi -kortin, jota käytetään paikalliseen prosessointiin. (Kuvan lähde: Analog Devices)

Sarjan analogisessa etuasteessa (AFE) on optiikkakokoonpano, CCD-ryhmä ja puskurit, laiteohjelmiston tallennustila sekä suoritin, joka hallinnoi kameran toimintaa, kuten valaistuksen ajoitusta, anturien synkronointia ja syvyyskarttojen luontia. Toisella kortilla on neljä 850 nm:n VCSEL-laserdiodia ohjaimineen, ja se on suunniteltu yhdistymään AFE-korttiin siten, että laserdiodit ympäröivät optiikkakokoonpanon yllä olevan kuvan mukaisesti.

Analog Devices tukee AD-96TOF1-EBZ-sarjaa avoimen lähdekoodin 3D-ToF-ohjelmistopaketilla, johon kuuluu 3D-ToF-SDK sekä esimerkkikoodeja ja wrapper-funktiot C/C++:lle, Pythonille ja Matlabille. Voidakseen tukea sekä isäntäsovelluksia että matalan tason laitteistotoimenpiteitä verkkoympäristössä Analog Devices jakaa SDK:n kahtia USB- ja verkkoyhteyksille optimoituun isäntäosioon sekä matalan tason osioon, joka toimii Embedded Linuxilla ja Video4Linux2-ohjaimella (V4L2) (kuva 7).

Kaavio: Analog Devicesin 3D-ToF-SDK:n APIKuva 7: Analog Devicesin 3D-ToF-SDK:n API tukee sekä paikallisella Embedded Linux -isännällä että etäyhteyden kautta verkkoisännillä toimivia sovelluksia. (Kuvan lähde: Analog Devices)

SDK tukee verkkoyhteyksiä, jolloin verkossa sijaitsevilla tietokoneilla sijaitsevat sovellukset voivat käyttää ToF-laitteistoa verkon kautta kameran ohjaamiseen ja syvyysdatan tallentamiseen. Käyttäjän ohjelmat voivat toimia myös Embedded Linux -osiolla ja käyttää täysin hyödykseen tämän tason tarjoamia edistyneitä vaihtoehtoja.

Osana ohjelmistojakelua Analog Devices tarjoaa esimerkkikoodeja, joissa esitellään tärkeimmät matalan tason toiminnallisuudet, kuten kameran alustus, perustason kuvien tallennus, etäkäyttö sekä alustojen välinen tallennus isäntätietokoneella sekä paikallisesti Embedded Linuxin avulla. Mukana on myös muita esimerkkisovelluksia, jotka laajentavat näitä perustoimenpiteitä esitelläkseen tallennetun datan käyttöä korkeamman tason sovelluksissa, kuten pistepilvien generoinnissa. Itse asiassa eräs esimerkkisovellus näyttää, miten syvän neuroverkon (DNN) päättelymallia voidaan käyttää luokittelemaan kamerajärjestelmän synnyttämää dataa. Pythonilla kirjoitettu DNN-esimerkkisovellus (dnn.py) näyttää kaikki vaiheet prosessissa, joka tarvitaan datan tallentamiseen ja valmisteluun päättelymallilla tapahtuvaa luokittelua varten (listaus 1).

Kopioi
import aditofpython as tof
import numpy as np
import cv2 as cv
. . .
    try:
        net = cv.dnn.readNetFromCaffe(args.prototxt, args.weights)
    except:
        print("Error: Please give the correct location of the prototxt and caffemodel")
        sys.exit(1)
    swapRB = False
    classNames = {0: 'background',
                  1: 'aeroplane', 2: 'bicycle', 3: 'bird', 4: 'boat',
                  5: 'bottle', 6: 'bus', 7: 'car', 8: 'cat', 9: 'chair',
                  10: 'cow', 11: 'diningtable', 12: 'dog', 13: 'horse',
                  14: 'motorbike', 15: 'person', 16: 'pottedplant',
                  17: 'sheep', 18: 'sofa', 19: 'train', 20: 'tvmonitor'}
 
    system = tof.System()
    status = system.initialize()
    if not status:
        print("system.initialize() failed with status: ", status)
 
    cameras = []
    status = system.getCameraList(cameras)
. . .
    while True:
        # Capture frame-by-frame
        status = cameras[0].requestFrame(frame)
        if not status:
            print("cameras[0].requestFrame() failed with status: ", status)
 
        depth_map = np.array(frame.getData(tof.FrameDataType.Depth), dtype="uint16", copy=False)
        ir_map = np.array(frame.getData(tof.FrameDataType.IR), dtype="uint16", copy=False)
 
        # Creation of the IR image
        ir_map = ir_map[0: int(ir_map.shape[0] / 2), :]
        ir_map = np.float32(ir_map)
        distance_scale_ir = 255.0 / camera_range
        ir_map = distance_scale_ir * ir_map
        ir_map = np.uint8(ir_map)
        ir_map = cv.cvtColor(ir_map, cv.COLOR_GRAY2RGB)
 
        # Creation of the Depth image
        new_shape = (int(depth_map.shape[0] / 2), depth_map.shape[1])
        depth_map = np.resize(depth_map, new_shape)
        distance_map = depth_map
        depth_map = np.float32(depth_map)
        distance_scale = 255.0 / camera_range
        depth_map = distance_scale * depth_map
        depth_map = np.uint8(depth_map)
        depth_map = cv.applyColorMap(depth_map, cv.COLORMAP_RAINBOW)
 
        # Combine depth and IR for more accurate results
        result = cv.addWeighted(ir_map, 0.4, depth_map, 0.6, 0)
 
        # Start the computations for object detection using DNN
        blob = cv.dnn.blobFromImage(result, inScaleFactor, (inWidth, inHeight), (meanVal, meanVal, meanVal), swapRB)
        net.setInput(blob)
        detections = net.forward()
. . .
        for i in range(detections.shape[2]):
            confidence = detections[0, 0, i, 2]
            if confidence > thr:
                class_id = int(detections[0, 0, i, 1])
. . .
                if class_id in classNames:
                    value_x = int(center[0])
                    value_y = int(center[1])
                    label = classNames[class_id] + ": " + \
                            "{0:.3f}".format(distance_map[value_x, value_y] / 1000.0 * 0.3) + " " + "meters"
. . .
        # Show image with object detection
        cv.namedWindow(WINDOW_NAME, cv.WINDOW_AUTOSIZE)
        cv.imshow(WINDOW_NAME, result)
 
        # Show Depth map
        cv.namedWindow(WINDOW_NAME_DEPTH, cv.WINDOW_AUTOSIZE)
        cv.imshow(WINDOW_NAME_DEPTH, depth_map)

Listaus 1: Tämä osa Analog Devicesin 3D-ToF-SDK-jakelun mukana toimitettavasta esimerkkisovelluksesta esittelee, miten muutamalla vaiheella voidaan ottaa sekä syvyys- että IR-kuvia ja luokitella ne päättelymallin avulla. (Koodin lähde: Analog Devices)

Tämä prosessi aloitetaan käyttämällä OpenCV:n DNN-metodeja (cv.dnn.readNetFromCaffe), joilla luetaan verkko sekä nykyisen päättelymallin painotus. Tässä tapauksessa malli on Caffe-toteutus Google MobileNetin Single Shot Detector (SSD) -tunnistusverkosta, jonka tiedetään saavuttavan tarkkoja tuloksia suhteellisen pienikokoisilla malleilla. Kun luokkien nimet sekä tuettujen luokkien tunnisteet ja luokkien nimet on ladattu, esimerkkisovellus tunnistaa käytettävissä olevat kamerat ja suorittaa sarjan alustusrutiineita (ei näy listauksessa 1).

Suuri osa esimerkkikoodista liittyy syvyyskartan (depth_map) ja IR-kartan (ir_map) valmisteluun, ennen kuin ne yhdistetään (cv.addWeighted) yhdeksi taulukoksi tarkkuuden parantamiseksi. Lopuksi koodi kutsuu OpenCV:n toista DNN-metodia (cv.dnn.blobFromImage), joka muuntaa yhdistetyn kuvan päättelyyn tarvittavaksi neliulotteiseksi blob-datatyypiksi. Seuraava koodirivi asettaa tuloksena olevan blob-objektin päättelymallin syötteeksi (net.setInput(blob)). Kutsu net.forward() käynnistää päättelymallin, joka palauttaa luokituksen tulokset. Loppuosa esimerkkisovelluksesta tunnistaa ennalta asetetun kynnysarvon ylittävät luokittelutulokset ja muodostaa niille nimikkeen sekä ympäröivän laatikon, jossa näkyy tallennettu kuvadata, päättelymallin tunnistama nimike sekä sen etäisyys kamerasta (kuva 8).

Kuva DNN-esimerkkisovelluksesta Analog Devicesin 3D-ToF-SDK-jakelussaKuva 8: Muutamaan Python-riviin ja OpenCV-kirjastoon perustuva DNN-esimerkkisovellus Analog Devicesin 3D-ToF-SDK-jakelussa tallentaa syvyyskuvia, luokittelee ne ja näyttää tunnistetun objektin nimikkeen ja etäisyyden. (Kuvan lähde: Analog Devices)

Kuten Analog Devicesin DNN-esimerkkisovellus osoittaa, kehittäjät voivat käyttää kolmiulotteisia ToF-syvyyskarttoja yhdessä koneoppimismenetelmien kanssa luodakseen monimutkaisempia ominaisuuksia sovelluksiin. Vaikka nopeampaa reagointia vaativissa sovelluksissa nämä ominaisuudet toteutetaan todennäköisemmin C:llä tai C++:lla, perusvaiheet säilyvät samoina.

Kun käytetään kolmiulotteista ToF-dataa ja tehokkaita päättelymalleja, teollisuusrobottijärjestelmät voivat synkronoida liikkeensä toisiin laitteisiin tai jopa ihmisiin ”cobot-ympäristöissä”, joissa ihmiset ja koneet työskentelevät lähekkäin yhdessä. Erilaisten päättelymallien avulla toinen sovellus voi käyttää korkean tarkkuuden 3D-ToF-kameraa luokitellakseen hienovaraiset liikkeet elekäyttöliittymää varten. Autoteollisuuden sovelluksissa tämä lähestymistapa voi parantaa edistyneiden kuljettajan avustusjärjestelmien (ADAS) tarkkuutta, kun 3D-ToF-järjestelmien aika- ja tilatarkkuutta käytetään täysin hyväksi.

Yhteenveto

Kulkuaikateknologiat (ToF) ovat tärkeässä osassa lähes jokaisessa järjestelmässä, joka vaatii järjestelmän ja muiden objektien välisen etäisyyden tarkkaa mittausta. Näistä teknologioista optinen 3D-ToF voi tarjota suuren tarkkuuden sekä tilan että ajan suhteen, jolloin pienemmät objektit voidaan erottaa paremmin ja niiden etäisyyttä seurata tarkemmin.

Hyödyntääkseen tätä teknologiaa kehittäjät ovat kuitenkin joutuneet voittamaan monia haasteita liittyen optiseen suunnitteluun, ajoituksen tarkkuuteen sekä synkronoituun signaalin tallennukseen. Kuten artikkelissa osoitetaan, valmiit 3D-ToF-järjestelmät kuten Analog Devicesin AD-96TOF1-EBZ-kehitysalusta ja ESPROS Photonicsin EPC660-arviointisarja poistavat nämä esteet tämän teknologian soveltamiselle teollisuusjärjestelmissä, elekäyttöliittymissä, autoteollisuuden turvallisuusjärjestelmissä ja muualla.

DigiKey logo

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.

Tietoja kirjoittajasta

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk has more than 20 years of experience writing for and about the electronics industry on a wide range of topics including hardware, software, systems, and applications including the IoT. He received his Ph.D. in neuroscience on neuronal networks and worked in the aerospace industry on massively distributed secure systems and algorithm acceleration methods. Currently, when he's not writing articles on technology and engineering, he's working on applications of deep learning to recognition and recommendation systems.

Tietoja tästä julkaisijasta

DigiKeyn kirjoittajat Pohjois-Amerikassa