Inhoudsopgave:

Navigeer robot met schoensensoren, zonder GPS, zonder kaart - Ajarnpa
Navigeer robot met schoensensoren, zonder GPS, zonder kaart - Ajarnpa

Video: Navigeer robot met schoensensoren, zonder GPS, zonder kaart - Ajarnpa

Video: Navigeer robot met schoensensoren, zonder GPS, zonder kaart - Ajarnpa
Video: 🤖 Музыка, ночь и роботы - Вдохновляющий плейлист 2024, November
Anonim

Door obluobluVolg over: oblu is een indoor navigatiesensor Meer over oblu »

De robot beweegt zich in een voorgeprogrammeerd pad en verzendt (via bluetooth) zijn daadwerkelijke bewegingsinformatie naar een telefoon voor realtime tracking. Arduino is voorgeprogrammeerd met pad en oblu wordt gebruikt voor het detecteren van de beweging van de robot. oblu verzendt met regelmatige tussenpozen bewegingsinformatie naar Arduino. Op basis daarvan bestuurt Arduino de bewegingen van de wielen om de robot het vooraf gedefinieerde pad te laten volgen.

Stap 1: EEN KORTE INLEIDING

EEN KORTE INLEIDING
EEN KORTE INLEIDING

Het project gaat over het nauwkeurig laten bewegen van de robot in een vooraf gedefinieerd pad, zonder gebruik te maken van GPS of WiFi of Bluetooth voor positionering, zelfs geen plattegrond of plattegrond van het gebouw. En teken het werkelijke pad (naar de schaal), in realtime. De bluetooth kan worden gebruikt als vervanging van draad, voor het verzenden van realtime locatie-informatie.

Stap 2: HET INTERESSANTE ACHTERGRONDVERHAAL

HET INTERESSANTE ACHTERGRONDVERHAAL
HET INTERESSANTE ACHTERGRONDVERHAAL

De belangrijkste agenda van ons team is het ontwikkelen van op schoenen gemonteerde navigatiesensoren voor voetgangers. We werden echter benaderd door een academische onderzoeksgroep met de eis om de robot binnen te navigeren en tegelijkertijd zijn realtime positie te bewaken. Ze wilden een dergelijk systeem gebruiken om straling in een afgesloten kamer in kaart te brengen of gaslekkage op te sporen in een industriële opstelling. Dergelijke plaatsen zijn gevaarlijk voor de mens. op zoek naar een robuuste oplossing voor binnennavigatie van onze op Arduino gebaseerde robot.

Onze voor de hand liggende keuze voor elke bewegingssensormodule (IMU) was "oblu" (zie bovenstaande afbeelding). Maar het lastige hier was dat de bestaande firmware van oblu geschikt was voor voetgemonteerde indoor Pedestrian Dead Reckoning (PDR) of Pedestrian Navigation, in eenvoudige bewoordingen. Oblu's PDR-prestaties binnenshuis als een op de voet gemonteerde IMU zijn behoorlijk indrukwekkend. Beschikbaarheid van Android-app (Xoblu) voor realtime tracking van oblu als schoensensor draagt bij aan het voordeel. De uitdaging was echter om gebruik te maken van het bestaande algoritme dat is gebaseerd op het menselijke loopmodel, voor het navigeren door de robot en het bewaken ervan.

Stap 3: EEN KORTE INTRO VOOR "oblu"

Image
Image
SYSTEEMBESCHRIJVING
SYSTEEMBESCHRIJVING

"oblu" is een geminiaturiseerd, goedkoop en opensource ontwikkelplatform gericht op draagbare bewegingsdetectietoepassingen. Het is een oplaadbare Li-ion-batterij en maakt het mogelijk om de USB-batterij aan boord op te laden. Het heeft een ingebouwde Bluetooth-module (BLE 4.1) voor draadloze communicatie. "oblu" heeft een 32-bits drijvende-kommamicrocontroller (Atmel's AT32UC3C) waarmee complexe navigatievergelijkingen aan boord kunnen worden opgelost. Daarom voert men alle bewegingsverwerking uit op oblu zelf en verzendt alleen het uiteindelijke resultaat. Dit maakt de integratie van oblu met het bijbehorende systeem uiterst eenvoudig. "oblu" herbergt ook multi-IMU (MIMU) array die sensorfusie mogelijk maakt en de bewegingsdetectieprestaties verbetert. De MIMU-aanpak draagt bij aan het unieke karakter van "oblu".

De interne berekeningen van oblu zijn gebaseerd op het lopen van mensen. oblu geeft verplaatsing tussen twee opeenvolgende stappen en verandering in kop. Hoe - wanneer de voet de grond raakt, is de snelheid van de zool nul, d.w.z. de zool staat stil. Op deze manier detecteert oblu 'stappen' en corrigeert enkele interne fouten. En deze frequente correctie van fouten resulteert in geweldige trackingprestaties. Dus hier ligt de vangst. Wat als onze robot ook op dezelfde manier loopt - bewegen, stoppen, bewegen, stoppen… Eigenlijk zou oblu kunnen worden gebruikt voor elk object waarvan de beweging regelmatige nul- en niet-nulmomenten heeft. Zo gingen we verder met oblu en konden we binnen de kortste keren onze robot en het volgsysteem in elkaar zetten.

Stap 4: WAT IS HET NUTTIG VAN "oblu"?

We brengen bijna 70% van onze tijd binnenshuis door. Daarom zijn er veel toepassingen die indoor navigatie van mens en machine vereisen. De meest gebruikte plaatsbepalingsoplossing is op satellieten gebaseerde GPS/GNSS, wat goed is voor buitennavigatie. Het faalt in een binnenomgeving of in een stedelijke omgeving die niet toegankelijk is voor de heldere lucht. Dergelijke toepassingen zijn geo-survey van sloppenwijken of de gebieden onder een zwaar bladerdak, indoornavigatie van robots, positionering van reddingsagenten voor brandbestrijding, mijnongevallen, stedelijke oorlogsvoering enz.

De voorganger van oblu werd geïntroduceerd als een zeer compacte schoensensor (of een PDR-sensor) voor de positionering van brandweerlieden, die later werd geüpgraded en aangepast als een zeer configureerbaar ontwikkelingsplatform voor de makers die op zoek zijn naar eenvoudig-nauwkeurige betaalbare traagheidsdetectieoplossing voor binnennavigatie van zowel mensen als robots. Tot nu toe hebben de gebruikers van oblu zijn toepassingen gedemonstreerd in het volgen van voetgangers, industriële veiligheid en resource management, tactische politie, geo-survey van GPS-verstoken gebied, zelfnavigerende robot, ondersteunende robotica, gaming, AR/VR, behandeling van bewegingsstoornissen, begrip van fysica of motion etc. oblu is geschikt voor toepassingen met beperkte ruimte, bijv draagbare bewegingsdetectie. Het kan ook worden gebruikt als een draadloze IMU, dankzij de ingebouwde Bluetooth. Aanwezigheid van ingebouwde drijvende-kommaverwerkingscapaciteit, samen met vier IMU's-array, maakt sensorfusie en bewegingsverwerking mogelijk binnen de module zelf, wat op zijn beurt resulteert in zeer nauwkeurige bewegingsdetectie.

Stap 5: HET VERHAAL VAN HET PROJECT

Image
Image

Het verhaal van dit project staat in de video…

Stap 6: SYSTEEMBESCHRIJVING

De robot beweegt zich in een voorgeprogrammeerd pad en verzendt (via bluetooth) zijn daadwerkelijke bewegingsinformatie naar een telefoon voor realtime tracking.

Arduino is voorgeprogrammeerd met pad en oblu wordt gebruikt voor het detecteren van de beweging van de robot. oblu verzendt met regelmatige tussenpozen bewegingsinformatie naar Arduino. Op basis daarvan bestuurt Arduino de bewegingen van de wielen om de robot het vooraf gedefinieerde pad te laten volgen.

Het pad van de robot is geprogrammeerd als een set rechte lijnsegmenten. Elk lijnsegment wordt gedefinieerd door zijn lengte en oriëntatie ten opzichte van het vorige. De beweging van de robot wordt discreet gehouden, d.w.z. hij beweegt in een rechte lijn, maar in kleinere segmenten (laten we het voor de eenvoud 'stappen' noemen). Aan het einde van elke stap verzendt oblu de staplengte en mate van afwijking (verandering in oriëntatie) van rechte lijn naar Arduino. Arduino corrigeert de uitlijning van de robot bij elke stap bij het ontvangen van dergelijke informatie, als het een afwijking van de vooraf gedefinieerde rechte lijn vindt. Volgens het programma moet de robot altijd in een rechte lijn bewegen. Het kan echter afwijken van een rechte lijn en kan in een bepaalde hoek of een scheef pad lopen vanwege niet-idealen zoals een oneffen oppervlak, massa-onbalans in robotassemblage, architecturale of elektrische onbalans in gelijkstroommotoren of de willekeurige oriëntatie van het voorste vrijlopende wiel. Zet één stap… corrigeer je koers… ga vooruit. De robot beweegt ook achteruit als hij meer aflegt dan de geprogrammeerde lengte van dat specifieke lijnsegment. De volgende staplengte hangt af van de resterende afstand die moet worden afgelegd van dat specifieke rechte lijnsegment. De robot neemt grote stappen wanneer de af te leggen afstand groter is en neemt kleinere stappen in de buurt van de bestemming (d.w.z. het einde van elk recht lijnsegment). oblu verzendt tegelijkertijd gegevens naar Arduino en telefoon (via bluetooth). Xoblu (de Android-app) voert een eenvoudige berekening uit om het pad te construeren op basis van de bewegingsinformatie die is ontvangen van de robot, die wordt gebruikt voor realtime tracking op de telefoon. (Padconstructie met Xoblu wordt geïllustreerd in de tweede afbeelding).

Kortom, oblu detecteert beweging en communiceert met regelmatige tussenpozen bewegingsinformatie naar Arduino en telefoon. Op basis van het geprogrammeerde pad en de bewegingsinformatie (verzonden door oblu), bestuurt Arduino de bewegingen van de wielen. De beweging van de robot wordt NIET op afstand bestuurd, behalve voor start/stop-commando's.

Voor firmware van oblu bezoek

Ga voor de Aurduino-code van de robot naar

Stap 7: PADMODELLEN

PADMODELLEN
PADMODELLEN
PADMODELLEN
PADMODELLEN

De robot kan het beste worden bestuurd als hij alleen in rechte lijnsegmenten loopt. Daarom moet het pad eerst worden gemodelleerd als een reeks rechte lijnsegmenten. De afbeeldingen bevatten een aantal voorbeeldpaden en hun representaties in termen van verplaatsing en oriëntatie. Dit is hoe het pad is geprogrammeerd in Arduino.

Evenzo kan elk pad dat een reeks rechte lijnsegmenten is, worden gedefinieerd en geprogrammeerd in Arduino.

Stap 8: CIRCUIT MONTAGE

CIRCUIT MONTAGE
CIRCUIT MONTAGE

Het diagram voor systeemintegratie op het hoogste niveau. Arduino en oblu maken deel uit van de hardwareassemblage. UART wordt gebruikt voor communicatie tussen Arduino en oblu. (Let op de verbinding Rx/Tx-verbinding.) De richting van de gegevensstroom is alleen ter referentie. De hele hardware-assemblage communiceert met smartphone (Xoblu) via bluetooth.

Stap 9: CIRCUIT DIAGRAM

SCHAKELSCHEMA
SCHAKELSCHEMA

De gedetailleerde elektrische verbindingen tussen Arduino, oblu, motordriver en batterijpakket.

Stap 10: COMMUNICATIEPROTOCOL:

Hieronder ziet u hoe de datacommunicatie plaatsvindt tussen de op de robot gemonteerde oblu-sensor en de smartphone, d.w.z. Xoblu:

Stap 1: Xoblu stuurt het START-commando naar oblu Stap 2: oblu bevestigt het ontvangstcommando door de juiste ACK naar Xoblu te sturen Stap 3: oblu stuurt een DATA-pakket met informatie over verplaatsing en oriëntatie voor elke stap, bij elke stap, naar Xoblu. (stap = telkens wanneer nulbeweging wordt gedetecteerd of stilstand wordt gedetecteerd). Stap 4: Xoblu bevestigt de ontvangst van het laatste DATA-pakket door de juiste ACK naar oblu te sturen. (Cyclus van stappen 3 en 4 wordt herhaald totdat Xoblu STOP verzendt. Bij ontvangst van het STOP-commando voert oblu stap 5 uit) Stap 5: STOP - (i) Stop de verwerking in oblu (ii) Stop alle uitvoer in oblu Raadpleeg de toepassingsnota van oblu voor details van START, ACK, DATA en STOP

Stap 11: HOE WERKT "oblu" IMU (optioneel):

Enkele referenties over het overzicht van oblu en het basisprincipe van de werking van op de voet gemonteerde PDR-sensoren:

De beschikbare broncode van oblu is gericht op navigatie op de voet. En voor dat doel is het het beste geoptimaliseerd. Onderstaande video behandelt het basisprincipe van de werking:

Hier zijn een paar eenvoudige artikelen over PDR-sensoren op de voet: 1. Volg mijn stappen

2. Blijf mijn stappen volgen

U kunt dit document raadplegen voor details over gegist bestek voor voetgangers met behulp van voetsensoren.

Stap 12: Bezoek "oblu.io" (optioneel)

Image
Image

Bekijk de video voor de mogelijke toepassingen van "oblu":

---------------- Deel alstublieft uw feedback, suggesties en laat opmerkingen achter. Beste wensen!

Stap 13: COMPONENTEN

1 oblu (een opensource IMU-ontwikkelplatform)

1 Smart Motor Robot Car Battery Box Chassis Kit DIY Speed Encoder voor Arduino

1 Soldeerloze Breadboard Half Size

1 mannelijke/vrouwelijke verbindingsdraden

2 Condensator 1000 µF

1 Texas Instruments Dual H-Bridge motordrivers L293D

1 Arduino Mega 2560 & Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH oplaadbaar

Aanbevolen: