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

Een mobiele robot met op zicht gebaseerde obstakelvermijding

Abstract:

Het doel van dit rapport is het bespreken en demonstreren van het concept van het ontwerpen en implementeren van een mobiele robot die in staat is om visueel obstakels te detecteren en te vermijden met behulp van een USB-webcam. Het systeem is overgezet naar de Raspberry Pi-hardware, een op Linux gebaseerde computer van $ 35. Deze blog zal de belangrijke concepten belichten die nodig waren om de succesvolle implementatie te realiseren van een mobiele robot die in staat is om binnen een binnenomgeving te navigeren. De voorgestelde oplossing is bedoeld om in een magazijnomgeving te worden gebruikt om goederen van de ene naar de andere locatie te vervoeren zonder dat er menselijke operators nodig zijn.

Inleiding:

Er bestaan ​​al robots op de markt, maar deze robots zijn duur in aanschaf en zijn met opzet ontworpen om te werken in een enkele omgeving, zoals een magazijn, op het slagveld of thuis. Deze robots kunnen obstakels detecteren met behulp van passieve sensoren zoals ultrasone sensoren en infraroodsensoren en worden soms autonome voertuigen genoemd vanwege hun mobiliteit op het grondoppervlak. Traditioneel zijn deze autonome systemen meestal uitgerust met passieve sensoren zoals ultrasone afstandssensoren, infraroodsensoren of GPS om de positie en omgeving te detecteren. De aanwezigheid van deze sensoren stelt de robot in staat om botsingen met obstakels te voorkomen wanneer hij met obstakels wordt geplaatst (Wang J. et al, 2011). Met de vooruitgang van goedkope embedded computersysteemtechnologie met een hoge verwerkingskracht, is het echter mogelijk om een ​​betrouwbaardere en kosteneffectievere methode te gebruiken voor het ontwerpen van autonome robots die obstakels kunnen detecteren. Een mogelijke methode zou zijn om gebruik te maken van een computer vision-algoritme dat visueel in staat zou zijn om obstakels te detecteren en te vermijden. Op sensoren gebaseerde methode voor het detecteren van obstakels is beperkt tot de nabijheid van de obstakels ten opzichte van de afstand van de robot, maar met op zicht gebaseerde methode is het mogelijk om het obstakel te detecteren en te identificeren voordat het obstakel wordt ontweken.

Voorgestelde oplossing en artefact:

Het doel van dit rapport is om een ​​autonome robot te ontwerpen die in staat is om obstakels te detecteren en te vermijden met behulp van een USB-webcam die is aangesloten op een Raspberry Pi. Dit rapport introduceert het basisconcept van mobiele robots en de technologieën die momenteel worden gebruikt in een binnenomgeving. De volgende stappen zijn uitgevoerd om het voorgestelde systeem te implementeren:

  • Ontwerp een algoritme met behulp van een computervisieraamwerk zoals SimpleCV dat obstakels kan detecteren.
  • Implementeer het algoritme op een Raspberry Pi
  • Implementeer motorbesturing op Raspberry Pi met behulp van de programmeertaal Python
  • Test en evalueer de prestaties van het voorgestelde systeem met Raspberry Pi

Bovendien werden de volgende doelstellingen gehaald om het voorgestelde systeem volledig te realiseren:

  • Het bereik van obstakeldetectie kan worden gemaakt door het algoritme naar wens aan te passen.
  • Er wordt een geometrische vorm (d.w.z. cirkel) van constante grootte op het obstakel geplaatst voor detectie
  • SimpleCV-bibliotheek communiceert met Raspberry Pi om de twee DC-motoren te besturen
  • Het systeem wordt getest en geëvalueerd door de code te wijzigen en het obstakel op verschillende afstanden te detecteren

Hardware- en softwarelijst:

Het voorgestelde systeem is geïmplementeerd op een Raspberry Pi met behulp van een USB-webcam om afbeeldingen vast te leggen. Hieronder vindt u de lijst met hardware en software die nodig waren om de voorgestelde autonome robot volledig te realiseren.

Hardware:

  • Raspberry Pi-kit,
  • USB-webcam,
  • twee gelijkstroommotoren,
  • H-brug (om de motorrichting te regelen),
  • Chassis,
  • Kabels
  • broodplank

Softwarepakket:

  • SimpleCV python-bibliotheek,
  • Ubuntu-besturingssysteem,
  • Raspberry OS (Raspbian),
  • Python2.7

Het voorgestelde systeem kan obstakels op verschillende afstanden detecteren. Dit werd geïnspireerd door het visual looming-algoritme en werd bereikt door het minimale aantal pixels in de code te definiëren terwijl de afstand tussen de camera en het obstakel werd gemeten.

Figuur - De experimentele opstelling die werd gebruikt om de relatie te vinden tussen de projectcirkel en de afstand van het obstakel tot de robot

De hierboven getoonde opstelling kan in het laboratorium worden gemaakt om de afstand tussen het obstakel (cirkel) en de robot te meten om de relatie te bepalen tussen het minimum aantal pixels dat overeenkomt met de werkelijke afstand van het obstakel tot de robot. Zoals blijkt uit het bovenstaande diagram en de bespreking in hoofdstuk 2, is de grootte van de cirkel groter wanneer de cirkel dichter bij elkaar staat, terwijl hij kleiner is wanneer de cirkel verder weg is. Daarom zou een reeks tests kunnen worden uitgevoerd waarmee afstandsmetingen van het obstakel tegen de robot mogelijk zijn wanneer het aantal pixels binnen het algoritme wordt gewijzigd. Het obstakel wordt verplaatst zoals weergegeven in het bovenstaande diagram om de juiste afstand te vinden waarop het algoritme het obstakel detecteert.

Figuur – Het concept van visueel opdoemen is geïnspireerd op de medische wetenschap

Algemeen systeemstroomschema:

Het volgende stroomdiagram legt uit hoe de voorgestelde op vision gebaseerde robot zou worden ontworpen met behulp van Raspberry Pi en het SimpleCV-framework. Zoals te zien is in figuur 6, wordt een USB-webcam aangesloten op de Raspberry Pi als invoer voor de computer. De USB-webcam scant binnenkomende frames op een specifieke geometrische vorm, d.w.z. cirkel die op obstakels wordt geplaatst. De reden om de obstakels te markeren met een geometrische vorm, d.w.z. cirkel, werd alleen besloten om tijd te besparen bij het voorbereiden van het algoritme. Gewoonlijk wordt op zicht gebaseerde obstakeldetectie gedaan met behulp van twee camera's die stereovisie creëren om de afstand tussen de robot en de obstakels te beoordelen (Neves &Matos, 2013). Daarom werd het detecteren van een geometrische vorm, d.w.z. cirkels met behulp van een enkele camera, bereikt door de straal van de cirkel te berekenen, zodat de robot de afstand van de robot en de obstakels kon detecteren. Deze methode om een ​​obstakel te detecteren is geïnspireerd op de vision-doeming-methode die is voorgesteld door Sachin &Paolo (1998).

Het voorgestelde systeem zal een USB-camera bevatten die wordt aangesloten op een Raspberry Pi. Raspberry Pi zal een python-script uitvoeren dat afbeeldingen in de video zal pakken terwijl het op zoek is naar een geometrische vorm, d.w.z. cirkels. Als de cirkel wordt gedetecteerd, zal het script op basis van de locatie van de cirkel op het scherm de GPIO-poortpinnen omhoog of omlaag trekken die worden gebruikt om de richting van de robot te regelen.

Structuur computervisie-algoritme:

Het algoritme is voorbereid op een door Ubuntu aangedreven laptop voordat het naar een Raspberry Pi werd overgezet. Dit komt door het feit dat Ubuntu en Raspbian smaken van Linux zijn, wat het overzetten en implementeren van het algoritme tussen platformonafhankelijke platforms eenvoudiger maakt. Dit gaf me de flexibiliteit om met het algoritme te werken zonder constant verbinding te hoeven maken met mijn Raspberry Pi. Daarom werd het algoritme onafhankelijk geïmplementeerd zonder zich zorgen te hoeven maken over de hardware-interface.

De eerste stap bij het ontwerpen van een op visie gebaseerd systeem is het selecteren van de Region of Interest (ROI) die het obstakel zou detecteren en ons zou helpen bij de voorbereiding van het algoritme. De ROI is in dit geval een zwarte cirkel die door het algoritme zou worden gedetecteerd. Na detectie maakt het algoritme het beeld binair, zodat alleen het interessegebied zichtbaar is op de achtergrond. Het algoritme zou de coördinaten van de cirkel op het scherm meten en de coördinaten meten met betrekking tot welk gebied van het scherm de cirkel werd gedetecteerd. Als de coördinaat in het midden van het scherm valt, zou het algoritme de robot dienovereenkomstig verplaatsen, zoals eerder besproken.

Voordat het algoritme werd geschreven, moest de schermresolutie worden bepaald waarmee de Raspberry Pi het obstakel zou kunnen detecteren en volgen. Aangezien Raspberry Pi een computer met laag vermogen is met een systeemkloksnelheid van 700 MHz en een beperkt RAM-geheugen van 512 MB, zou high-definition video-invoer veel verwerkingskracht verbruiken, wat het systeem uiteindelijk onbetrouwbaar zal maken. Daarom moet een middenweg worden gekozen die voldoende zou zijn voor de Raspberry Pi-computer om de gegevens van de camera te verwerken.

Na verschillende vallen en opstaan, werd een resolutie van 320 × 240 geselecteerd, zoals besproken in de latere sectie. Deze resolutie was voldoende om de verschillende kleurruimte en geometrische vormen te detecteren. In het experiment werd ook gevonden dat deze resolutie de invoervideo niet vertraagde, zoals het geval was met een hogere resolutie, met name 640 × 480 en hoger. Dit wordt in detail besproken in hoofdstuk 4 van dit rapport.

De eerste stap bij het detecteren van een obstakel uit de afbeelding was om het scherm in drie verschillende segmenten te verdelen, zoals weergegeven in afbeelding 8. Dit werd gedaan om de positie van het obstakel te detecteren en te volgen, zodat de respectieve motorische actie kon worden uitgevoerd zoals besproken in de vorige paragraaf. Voor dit ontwerpproject worden de obstakels weergegeven door een specifiek symbool, d.w.z. een cirkel; daarom zou de aanwezigheid van een cirkel de aanwezigheid van een obstakel in het algoritme registreren.

Voor meer details:een mobiele robot met op zicht gebaseerde obstakelvermijding


Productieproces

  1. Wat is de realiteit van robotvisie?
  2. Raspberry Pi-gebaseerde muur vermijdende robot – FabLab NerveCentre
  3. Raspberry Pi webgestuurde robot met video
  4. Recycle sorteerrobot met Google Coral
  5. Onderhoudsproblemen oplossen met mobiele samenwerking
  6. Obstakel vermijden met behulp van kunstmatige intelligentie
  7. Desinfecterende robot met ultraviolet licht
  8. Obstakels vermijden robot met servomotor
  9. Eenvoudige obstakelsensor met Arduino
  10. Op kunstmatige intelligentie (AI) gebaseerde robot die de robot volgt
  11. Robot combineert collaboratieve robotarm met mobiel platform