Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Walabot Touchpad

Walabot Touchpad Een onopvallende oplossing die elk oppervlak kan veranderen in een touchpad voor uw laptop. Stel u voor dat u een boek, een tafel of een muur als touchpad gebruikt. In combinatie met projectortechnologie kunt u touchscreens op elk oppervlak nabootsen.

Dit project heeft tot doel dit nut en gebruiksgemak te bieden door middel van eenvoudige socketprotocollen en Walabot, een 3D-beeldapparaat op consumentenniveau.

Omdat ik wilde dat deze oplossing zowel praktisch in het dagelijks gebruik als universeel toegankelijk zou zijn, koos ik voor de minst hardware-intensieve installatie. Om het installatiegemak in evenwicht te brengen met de nauwkeurigheid van de beeldvorming, heb ik een basisconfiguratielus geïmplementeerd die elke keer dat de Walabot start wordt uitgevoerd.

Deze tutorial behandelt de installatieprocedure voor de Raspberry Pi en de cursorbesturing op een hostcomputer.

Hoe werkt het?

Het project is gebaseerd op een Raspberry Pi 3-client die metingen doet van een Walabot Creator-sensor (bedankt Walabot!), en een hostmachine, in dit geval mijn laptop.

De algemene gebruikersstroom is als volgt:

  • Raspberry Pi stuurt triggersignaal naar de Walabot
  • Walabot detecteert een doelwit en lokaliseert het doelwit
  • Raspberry Pi haalt deze gegevens op, bepaalt de gebruikersactie en stuurt deze naar de sockethost via de lokale wifi-verbinding
  • Hostmachine ontvangt de opdracht en voert de cursorbesturing uit via PyAutoGUI

Demonstratie

In Vooruitgang

De Pi instellen

Eerst moeten we de pi zo instellen dat deze bruikbaar is en dat alle benodigde bibliotheken zijn geïnstalleerd.

  • Als je Pi niet vooraf is geladen met een besturingssysteem, kun je deze tutorial volgen om Raspbian met NOOBS te installeren. Raspbian is het officiële besturingssysteem van de Raspberry Pi en is verreweg het populairst.
  • Als je geen monitor hebt en je pi headless wilt gebruiken, raad ik je aan VNC of SSH in te stellen en een afsluitknop aan de Pi toe te voegen.
  • We hebben geen IO nodig, dus je kunt de header-pinnen ongesoldeerd laten.
  • Plaats de SD-kaart in de Pi en sluit deze aan op het scherm en de voeding. De Pi zou moeten opstarten.
  • Maak verbinding met internet en open Chromium.
  • Navigeer naar de Walabot-downloadpagina

  • Download het Raspberrypi-installatieprogramma en klik op bewaren om de download te bevestigen
  • Ga terug naar het bureaublad, open de terminal en typ

sudo apt-get update
cd-downloads
sudo dpkg –i walabot_maker_1.0.34_raspberry_arm32.deb

Samengevat, de commando's werken de pakketlijsten van het systeem bij en installeren de WalabotSDK

  • Na een paar overeenkomstprompts te hebben doorlopen, zou de Walabot SDK moeten zijn geïnstalleerd. Typ vervolgens

sudo apt-get dist-upgrade
sudo reboot

Hiermee worden de geïnstalleerde pakketten bijgewerkt en wordt de RPi opnieuw opgestart.

Voor meer snelheid raad ik aan om de desktop-GUI uit te schakelen zoals hier te zien.

Walabot-interface

Dit is waar de Walabot van pas komt. Het is een 3D-microgolfbeeldsensor die een heleboel dingen kan doen, van ademhalingsdetectie, door muren kijken en meerdere doelen detecteren. Je kunt ze bekijken op hun youtube-kanaal!

De functionaliteit die erg handig is voor dit project is de driedimensionale RF-detectie, die de x-, y- en x-coördinaten van een doel kan detecteren. De dynamische filtercapaciteit die statische signalen verwijdert, kan ook worden gecombineerd met de filtering van vaste reflectoren, zodat u een object nauwkeurig kunt volgen, zelfs door andere materialen heen.

Een nadeel van het gebruik van zo'n krachtig apparaat is echter het hoge stroomverbruik. De Walabot gebruikt 400-900 mA, wat te hoog is voor de standaard USB-uitgang van de Raspberry. Dit kan worden opgelost door naar /boot/config.txt te gaan en deze regel toe te voegen:max_usb_current=1. Dat verhoogt de maximale stroom tot 1200 mA.

Doeldetectie

Ervoor zorgen dat de Walabot alleen mijn vinger detecteert wanneer ik dat wil, is de sleutel, anders kan mijn computer de cursor willekeurig verplaatsen, mogelijk zelfs buiten de grenzen. Voor mijn project heb ik een interface gemaakt met de Walabot API met behulp van de functie GetSensorTargets() en heb ik de MTI-modus (Moving Target Identification) uitgeschakeld om te voorkomen dat het vingersignaal gedurende langere tijd wordt gefilterd. Ik heb de detectiestraal (r) in mijn project ingesteld op maximaal 10 cm om de arena in te stellen op het gebied direct boven de Walabot. Dit verandert op basis van de dikte van het materiaal.

Ik heb geprobeerd de arena-afmetingen in te stellen in x-, y- en z-waarden, maar dat werkte alleen het beste op het korteafstandsprofiel dat alleen beschikbaar was op de Walabot-ontwikkelaareditie. Toen ik dit probeerde in de standaard scannermodus, kreeg ik bijna nul doeldetectie, waarschijnlijk omdat de scannermodus radiaal leest in plaats van via Cartesiaanse coördinaten. Dus heb ik een standaard scannerprofiel ingesteld, de arena radiaal ingesteld en de radiale afmetingen omgezet naar cartesiaanse coördinaten.

De doelobjecten hebben x-, y-, z- en amplitudeparameters, waarvan ik alleen de x- en y-waarden heb gebruikt. Omdat de y-as over de lengte van de Walabot loopt, heb ik dit vertaald naar de x-as op het scherm wanneer de Walabot horizontaal wordt geplaatst als een touchpad. Als ik de coördinaten vergelijk met de grenzen van de arena, kan ik de relatieve locatie van het doelwit ten opzichte van de arena vinden en dat vertalen naar de relatieve locatie van de cursor op het hostscherm.

Omdat mijn arena echter was geïnitialiseerd op basis van r-, theta- en phi-waarden, moest ik handmatig de bruikbare arenagrenzen vinden door de laagste en hoogste waarden van de x- en y-coördinaten te meten. Ik heb dit vervolgens bij het instellen geautomatiseerd, zodat het programma de grenzen kan vinden wanneer de gebruiker zijn vinger langs de x-as en y-as schuift. Ook al zijn er formules om poolcoördinaten om te zetten in Cartesiaans, de ingestelde grenzen verschilden van de daadwerkelijk meetbare arena omdat er geen rekening kan worden gehouden met de interferentie van een ander oppervlak op het geregistreerde gebied.

Om te bepalen of een gebruiker de cursor wil verplaatsen, met de rechtermuisknop of met de linkermuisknop wil klikken, heb ik gebruik gemaakt van de meervoudige doeldetectiefuncties van de Walabot. Beweging zou 1 contactpunt zijn, een rechterklik zou 2 contactpunten zijn en een linkerklik zou 3. Het lijkt solide, tijd om het uit te testen.

Argh! Dit bleek veel moeilijker op te zetten. Ik had aanvankelijk gepland dat de code op de respectieve knoppen op de muis zou klikken wanneer de Walabot twee of meer doelen detecteert, maar op het moment dat de vingers het gezichtsveld binnenkomen, detecteert de Walabot één doelwit, waardoor de muis beweegt voordat hij klikt .

De moeilijke balans tussen het maximaliseren van het arena-oppervlak zonder het z-bereik in het midden te vergroten. De voor de hand liggende oplossing is om het arena-bereik zelf te verkleinen, waardoor het z-bereik natuurlijk kleiner wordt. Dit heeft als neveneffect dat het een touchpad produceert dat te klein is om te gebruiken. De andere route die ik nam was om handmatig doelen uit te filteren met een z-attribuut dat te hoog is, maar dat werkt niet omdat een doel langs de z-as nog steeds hoger aan de rand wordt geregistreerd dan langs het midden. Amplitude werkt niet zo goed, omdat het gecentreerd is rond het meest gevoelige deel van de module. Ik heb overwogen om de z-parameterwaarde voor alle doelen handmatig te wijzigen door abs(phi angle – 90 graden) * multiplier toe te voegen voor alle doelen, maar helaas is de phi-hoekparameter geen toegankelijke sensordoelparameter. Uiteindelijk kon ik dit alleen oplossen door ofwel een gebogen touchpad te gebruiken om de kromming van het detectiebereik aan te passen, of door een Walabot Developer-editie te kopen.

Lees meer details:Walabot Touchpad


Productieproces

  1. Wat is VMC-bewerking?
  2. Gids voor aluminium lasermarkering
  3. MIG-lassen versus TIG-lassen
  4. Overwegingen voor Zwitserse machinale bewerking met hoge productie
  5. Gids voor CNC-prototyping
  6. Het fabricageproces van de schacht begrijpen
  7. Wat is RVS-passivering?
  8. Posture Pal met Walabot
  9. Walabot Touchpad
  10. Toilet Tracker (Powered by Walabot)
  11. Walabasquiat:een interactieve generatieve kunstinstallatie!