Inhoudsopgave:
- Benodigdheden
- Stap 1: Hoe werkt het?
- Stap 2: Ontwerp
- Stap 3: 3D-printen van arm- en koppelberekening
- Stap 4: fabricage en montage van de basis
- Stap 5: Montage van robotarm
- Stap 6: Circuit van armcontroller
- Stap 7: Circuit van Telepresence-robot
- Stap 8: Mobiele app
- Stap 9: Maak een account aan op Pubnub en verkrijg de sleutels
- Stap 10: Voeg de sleutels toe aan de code en upload
- Stap 11: Conclusie
Video: Bouw een Telepresence-robot die via wifi wordt bestuurd - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
Dit project gaat over het bouwen van een robot die kan communiceren met een externe omgeving en kan worden bestuurd vanuit elk deel van de wereld met behulp van wifi. Dit is mijn laatste jaar engineeringproject en ik heb er veel geleerd over elektronica, IoT en programmeren. Dit project is gericht op mensen met een motorische handicap, omdat ze zich moeilijk kunnen verplaatsen, zodat een telepresence-robot hen gemakkelijk kan helpen.
Er zijn 2 systemen binnen het project om het succesvol te maken. Bewegingsbediening van uw hand om de robothand en mobiele app te bewegen die de basis van de motor bestuurt.
Hieronder vindt u het document en de presentatie van Telepresence V1, zodat u meer inzicht krijgt.
Tijd om het te bouwen!
Benodigdheden
Voor dit project zijn veel gereedschappen en componenten nodig. Het kostte me ongeveer 1000 AED (270 $), dus zorg ervoor dat je dat budget hebt. Dit zijn de componenten die je nodig hebt: -
- Knooppunt MCU x 3
- L298N DC-motorstuurprogramma x 1"
- 12V voeding x 1
- LM2596 Step-Down Spanningsregelaar x 1
- MPU9250 IMU-sensoren x 2
- Servomotoren (10-20kg koppel) x 4
- lichtgewicht hout 1x1m
- 8M metalen staven met schroefdraad 1m x 2
- 3D-printer (30x30cm)
- houthakker en boor
- Elektrische draden, jumperdraden en breadboard
- Volledige arm mouw
- 12V DC-motor (25kg.cm) x 2
- 3-inch zwenkwiel x 1"
- 6 cm rubberen wiel met schroefbevestiging x 2"
- Soldeer kit
Stap 1: Hoe werkt het?
Dit is het communicatiestroomschema om u te laten begrijpen hoe componenten met elkaar communiceren. We gebruiken het Data Transfer Network, PubNub genaamd, als een IoT-platform dat realtime berichten kan verzenden in slechts 0,5 seconden! Dat is de snelste reactie die we kunnen krijgen en dit is nog belangrijker in ons project, omdat we onze hand zullen gebruiken om de arm van de robot in realtime te besturen.
Alle Nodemcu's worden gebruikt voor het verzenden en ontvangen van data. Er zijn hier 2 afzonderlijke systemen bij betrokken waarbij Nodemcu on arm de bewegingssensorgegevens naar PubNub stuurt en die door Nodemcu op de robotarm worden ontvangen. voor basisbeweging verzendt de mobiele app de gegevens voor x, y-coördinaat van joystick en die wordt ontvangen door Nodemcu op de basis die de motor via de bestuurder kan besturen. Dat is het voor nu.
Stap 2: Ontwerp
Het bovenstaande ontwerp geeft u een idee over hoe de structuur eruit ziet. U kunt de CAD-bestanden downloaden om er beter uit te zien. De basis van de rover wordt ondersteund door 3 wielen waarvan 2 DC-motoren aan de achterkant en een zwenkwiel aan de voorkant. Vanwege de beweging van de robotarm merkte ik instabiliteit op de basis op, dus je zou kunnen overwegen om vooraan 2 zwenkwielen toe te voegen. Onder- en bovenhouten basis worden ondersteund door draadstangen die zijn ingeklemd door moeren. Zorg ervoor dat u een borgmoer gebruikt, omdat deze voor de lange termijn permanent vastzit.
Ontwerpbronbestand downloaden - Telepresence Design
Stap 3: 3D-printen van arm- en koppelberekening
De arm van telepresence-robot is een eenvoudig ontwerp in de vorm van de doos, zodat deze gemakkelijk kan worden 3D-geprint met een minimale hoeveelheid filament. De lengte is ongeveer 40 cm, wat zo lang is als een menselijke arm. De lengte van de robotarm is gebaseerd op het koppel dat door de servomotoren wordt opgeheven. U kunt de koppelberekening op de bovenstaande afbeelding vinden, samen met de specificaties van de servomotor die ik heb gebruikt, zodat u het ontwerp aan uw behoeften kunt aanpassen. Maar vermijd het gebruik van het maximale koppel van de servomotor, omdat dit op de lange termijn de motor zal beschadigen.
Download de 3D Printing-bestanden hieronder, print ze uit en ga verder.
Stap 4: fabricage en montage van de basis
Hier zijn de stappen die u kunt volgen voor fabricage: -
- Snijd de metalen staaf met schroefdraad in het midden met een zaag;
- Maak met houthakker 2 stukken hout van 40x30cm
- Boor de nodige gaten aan de boven- en onderkant zoals de bovenstaande tekening
- Begin met het bevestigen van de gelijkstroommotor en zwenkwielen op de onderste basis
- Voor het maken van een rechthoekig gat op de bovenste basis, maak eerst een cirkelvormig gat met de boormachine en steek dan de houthakker door het gat en trim het over de randen om een rechthoek te maken.
als je je afvraagt waarom het gat rechtsboven naar achteren is geplaatst, dan komt dat omdat ik niet zeker wist of ik de robotarm in de rechterhoek in het midden zou plaatsen. Het in het midden plaatsen was een betere keuze vanwege de gewichtsbalans.
Stap 5: Montage van robotarm
De montage van de robotarm vereist speciale aandacht. Afgezien van mechanische montage, moet u ervoor zorgen dat de servomotor in de juiste hoek staat wanneer deze wordt gemonteerd. Volg het bovenstaande diagram om u een idee te geven van de hoek waarin de servomotor op alle motoren moet worden ingesteld voordat u er iets bovenop monteert. Probeer dit onderdeel goed te krijgen, anders moet je het weer in elkaar zetten.
Gebruik de onderstaande codesjabloon om de exacte servohoek in te stellen met behulp van Arduino of Nodemcu. Er is al veel informatie hierover online, dus ik zal niet in detail treden.
#erbij betrekken
Servo-servo;
int-pin =; // zet het pinnummer waar de servo-gegevenspin op arduino is bevestigd
ongeldige setup() {
servo.bevestigen (pin);
}
lege lus() {
int-hoek =; //hoek waarop je moet instellen
servo.schrijven (hoek);
}
Stap 6: Circuit van armcontroller
De montage van de armcontroller is eenvoudig te doen. Ik gebruikte een lange mouw en bevestigde de sensoren, Nodemcu & breadboard met naaien. Zorg ervoor dat de richting van de sensor in dezelfde richting is als de bovenstaande afbeelding van de controller. Volg ten slotte het schakelschema en download de onderstaande code.
Stap 7: Circuit van Telepresence-robot
Volg het schakelschema op dezelfde manier. Controleer de pin-outs van de voeding die u gebruikt om kortsluiting te voorkomen. Stel de uitgangsspanning van de buck-converter in op 7V, want dat is de gemiddelde spanning van alle servomotoren. De enige plaats die u kunt solderen, zijn de klemmen van de basis-DC-motor, omdat deze veel stroom verbruikt, dus moet worden vastgemaakt met een iets dikkere elektrische draad. Zodra het circuit is voltooid, uploadt u later de 'arm_subscriber.ino' naar Nodemcu die verbinding maakt met arm en 'base.ino' om te worden geüpload naar de basis Nodemcu.
Stap 8: Mobiele app
Dit is de mobiel om de motoriek te besturen. Wanneer u de joystick beweegt, stuurt deze de X-, Y-coördinaten op de joystickcirkel naar Pubnub en wordt ontvangen door Nodemcu aan de basis. Deze X, Y-coördinaat wordt omgezet in de hoek en met behulp hiervan kunnen we bepalen in welke richting de robot zal gaan. Beweging wordt gedaan door aan / uit te zetten en van richting te veranderen van de twee motoren. Als het commando Vooruit is, gaan beide motoren op volle snelheid vooruit, als ze naar links gaan, gaat de linkermotor achteruit en de rechtermotor vooruit, enzovoort.
de bovenstaande functie kan eenvoudig worden gedaan met knoppen in plaats van een joystick, maar ik kies een joystick om ook de snelheid van de motor te regelen. Mijn enable-pin werkte echter niet met Nodemcu, dus ik verliet dat deel. Ik heb een snelheidsregelingscode toegevoegd in base.ino voor het geval dat als opmerking.
U kunt het bronbestand.aia hieronder downloaden dat kan worden bewerkt met de MIT-app-uitvinder. Je zult een basisconfiguratie in de app moeten doen die ik in de volgende stap zal vertellen.
Stap 9: Maak een account aan op Pubnub en verkrijg de sleutels
Nu is het tijd om de laatste stap te doen, namelijk het configureren van uw IoT-platform. Pubnub is de beste omdat gegevensoverdracht in realtime plaatsvindt en slechts 0,5 seconden duurt om over te zetten. Bovendien kun je 1 miljoen datapunten per maand verzenden, dus het is mijn persoonlijke favoriete platform.
Ga naar PubNub en maak je account aan. Ga vervolgens naar de Apps-menu's in het linkermenu en klik op de knop "+Nieuwe app maken" aan de rechterkant. Nadat u uw app een naam heeft gegeven, ziet u de bovenstaande afbeelding van de uitgever en abonneesleutel. Dat is wat we zullen gebruiken om de apparaten aan te sluiten.
Stap 10: Voeg de sleutels toe aan de code en upload
We hebben 4 dingen nodig zodat het apparaat met elkaar kan communiceren: - pubkey, subkey, channel & wifi.
pubkey & subkey blijven hetzelfde op alle Nodemcu en mobiele apps. 2 apparaten die met elkaar communiceren, moeten dezelfde kanaalnaam hebben. Omdat de mobiele app en het basisstation communiceren, heeft dat dezelfde kanaalnaam, vergelijkbaar met de controller en de robothand. Ten slotte moet je wifi-inloggegevens op elke Nodemcu zetten, zodat deze in het begin verbinding kan maken met wifi. Ik heb de kanaalnaam al toegevoegd, dus wifi en pub/sub-sleutel is wat je moet toevoegen vanuit je account.
Opmerking: - Nodemcu kan alleen verbinding maken met wifi die toegankelijk is zonder webpagina als tussenpersoon. Zelfs voor mijn eindpresentatie moest ik mobiele hotspot gebruiken omdat wifi op de universiteit slepend was.
Stap 11: Conclusie
Als je tot hier bent gekomen, dan GEWELDIG! Ik hoop dat je iets waardevols uit dit artikel hebt gehaald. Dit project heeft kleine beperkingen die ik je wil vertellen voordat je het uitvoert. Hier zijn enkele hieronder: -
Abrupte beweging van robotarm: -
Er is veel plotselinge beweging van de robotarm. Dit komt door een vertraging van 0,5 seconden voordat de sensorinformatie wordt overgedragen als een servobeweging. Ik heb zelfs 2 van de servomotor beschadigd, dus beweeg je arm niet te snel. U kunt dit probleem oplossen door tussenstappen tussen de oorspronkelijke beweging toe te voegen om een vloeiende beweging te creëren.
Geen stoppen van basisbeweging: -
als ik de robot via een mobiele app in één richting laat bewegen, blijft de robot in dezelfde richting bewegen, zelfs als ik mijn vingers optil. Dit was vervelend omdat ik altijd de stroom moest uitschakelen om de beweging te stoppen. Ik heb de stopcode in de app ingevoerd, maar het werkte nog steeds niet. Het kan een probleem zijn in de app zelf. Misschien kun je proberen het op te lossen en laat het me weten.
Geen videofeed: -
Zonder de videofeed die van robot naar persoon komt, kunnen we nooit ver van de gebruiker vandaan implementeren. Ik wilde dit in eerste instantie toevoegen, maar zou meer tijd en investeringen vergen, dus verliet ik het.
Jullie kunnen dit project verder brengen door het bovenstaande probleem op te lossen. Als je dat doet, laat het me dan weten. Afscheid
Voor meer projecten bezoek mijn portfolio website
Tweede plaats in de robotica-wedstrijd
Aanbevolen:
Bouw een Apple HomeKit-temperatuursensorapparaat met een ESP8266 en een BME280: 10 stappen
Bouw een Apple HomeKit-temperatuursensorapparaat met behulp van een ESP8266 en een BME280: in de instructable van vandaag zullen we een goedkope temperatuur-, vochtigheids- en vochtsensor maken op basis van de AOSONG AM2302/DHT22 of BME280 temperatuur- / vochtigheidssensor, YL-69 vochtsensor en het ESP8266/Nodemcu-platform. En voor het weergeven van
ESP8266 RGB LED STRIP WIFI-bediening - NODEMCU Als een IR-afstandsbediening voor ledstrip, bestuurd via wifi - RGB LED STRIP Smartphone-bediening: 4 stappen
ESP8266 RGB LED STRIP WIFI-bediening | NODEMCU Als een IR-afstandsbediening voor ledstrip, bestuurd via wifi | RGB LED STRIP Smartphone-bediening: Hallo allemaal, in deze tutorial zullen we leren hoe we nodemcu of esp8266 kunnen gebruiken als een IR-afstandsbediening om een RGB LED-strip te bedienen en Nodemcu zal worden bestuurd door smartphone via wifi. Dus in principe kun je de RGB LED STRIP bedienen met je smartphone
[WIP] Een Drawbot maken die wordt bestuurd door een Myo-armband: 11 stappen
[WIP] Een Drawbot maken die wordt bestuurd door een Myo-armband: Hallo allemaal! Een paar maanden geleden besloten we om het idee aan te pakken om een open-frame drawbot te bouwen die alleen een Myo-band gebruikte om hem te besturen. Toen we voor het eerst aan het project begonnen, wisten we dat het zou moeten worden opgesplitst in een paar verschillende p
Bouw een echte klok die op uw pc slaat en een brandblusser die opvalt: 3 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Bouw een echte klok die op je pc slaat en een klok die op een brandblusser slaat: een koperen bel, een klein relais, nog een paar dingen en een echte bel kunnen de uren op je bureaublad slaan. Hoewel dit project op Windows en Mac draait OS X ook, ik besloot Ubuntu Linux te installeren op een pc die ik in de prullenbak vond en daaraan te werken: ik had nog nooit
Geweldige bewegende versnellingen bestuurd door geweldige knoppen (wordt vervolgd): 9 stappen
Awesome Moving Gears bestuurd door Awesome Buttons (wordt vervolgd): Fysiek / elektronisch game-ontwerp voor UCLA Design Media Arts met Eddo Stern. Dit instructable is onvolledig. Het project loopt nog