Innehållsförteckning:
- Steg 1: Vad du behöver
- Steg 4: Installera Raspberry Pi kameramodul (tillval)
- Steg 5: Konfigurera lokal dator
- Steg 6: Konfigurera Raspberry Pi
- Steg 7: Tele-drift
- Steg 8: Starta kartläggningsprogrammet
- Steg 9: Starta den autonoma navigeringen
Video: Roomblock: en plattform för inlärning av ROS -navigering med Roomba, Raspberry Pi och RPLIDAR: 9 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Vad är detta?
"Roomblock" är en robotplattform som består av en Roomba, en Raspberry Pi 2, en lasersensor (RPLIDAR) och ett mobilbatteri. Monteringsramen kan tillverkas av 3D -skrivare. ROS -navigationssystem gör det möjligt att göra en karta över rum och använda den för att nå målet självständigt.
Vem behöver detta?
Alla som vill lära sig den senaste tekniken inom robotnavigering, kartläggning och autonom körning. Denna robot kan byggas enkelt och till lägre kostnad än andra kommersiella plattformar. ROS är nu de facto standard mjukvarusystem för robotforskningsfält. Denna film visar vad som är möjligt med ROS -navigationssystem.
Steg 1: Vad du behöver
USB-seriell kabel
Om du inte har en USB-seriell kabel för Roomba kan du enkelt bygga den med den här produkten.
- FTDI: TTL-232R-5V
- Akiduki Denshi: TTL-232R-5V
Lägg märke till att Roombas inre gränssnitt är TTL (5V).
Anslutning
Du behöver en mini-DIN 8-polig kontakt för Roombas seriella gränssnitt. Egentligen är Roombas kontakt mini-DIN 7-stift, men det är mycket lättare att köpa en 8-stifts än 7-stifts kontakt.
- Digikey: mini-DIN 8pin kontakt
- Kyoritsu: mini-DIN 8pin kontakt
Lödning
Löd seriekabeln till den 8 -poliga kontakten. Kontrollera anslutningen med den bifogade bilden och dokumentet med Roomba -specifikationen för öppet gränssnitt.
Roomba Open Interface Specification
Observera att det är säkert att ansluta Vcc (röd) och RTS (grön) för att undvika problem med maskinvaruflödet.
Steg 4: Installera Raspberry Pi kameramodul (tillval)
Om du har en Raspberry Pi -kameramodul kan du ansluta den till Raspberry Pi. Detta är valfritt för att lära sig navigering, men det är roligt att få en vy från robotens syn.
Kamerafästdelen ingår också i bilddata på Thingiverse. Kameramodulen kan fixeras med fyra M2 -skruvar.
Steg 5: Konfigurera lokal dator
Installera Ubuntu
Installera Ubuntu 16.04 -skrivbordet efter den officiella sidan
Ubuntu officiella sida
Installera ROS
Konsultera ROS officiella sida. Installera Kinetic desktop -paket.
ROS Kinetic installationsanvisningar
Installera Roomblock ROS -paket
Paketet för roomblock har redan släppts till Kinetic. Du kan installera dem med apt command.
$ sudo apt installera ros-kinetic-roomblock
Det är allt.
Om du vill ändra och bygga paketet från källkoden kan du få dem från GitHub.
GitHub - rumsblock
Följ instruktionerna i README.md.
Om du har några problem eller frågor angående programvaran, gör ett problem med GitHub -frågor så att vi kan spåra problemen effektivt. Undvik att lägga upp dem på Instructables.
Steg 6: Konfigurera Raspberry Pi
Installera Ubuntu
Installera Ubuntu 16.04 till Raspberry Pi enligt installationsguiden:
Ubuntu Wiki: RaspberryPi
Installera ROS
Installera ROS Kinetic enligt installationsguiden:
Ubuntu -installation av ROS Kinetic
Installera Roomblock ROS -paket
Du måste installera roomblock -paketet från källkoden. Paketets källkod finns på GitHub.
GitHub - rumsblock
Följ instruktionerna i README.md.
Om du har några problem eller frågor angående programvaran, gör ett problem om GitHub -frågor så att vi kan spåra problemen effektivt. Undvik att lägga upp dem på Instructables.
Raspberry Pi kameramodul (tillval)
Om du har en Rasberry Pi-kameramodul måste du installera libraspberrypi-dev. Vänligen konsultera README.md i Github.
Steg 7: Tele-drift
Ta fram bassystemet på Raspberry Pi
Först och främst måste du ta upp systemet. Starta grundsystemet på Raspberry Pi -terminalen som:
$ export ROS_IP = IP_ADDRESS_OF_RASPBERRY_PI
$ roslaunch roomblock_bringup roomblock.launch
RPLIDAR börjar snurra, och nu kan du ansluta till robotens ROS -master från din lokala dator.
Tele-drift från lokal dator
Du kan använda en glädjeplatta för att styra roboten. Om du har en glädjeplatta med XBox kan du använda den här startfilen. Annars kan du behöva ändra startfilen för att passa din glädjeplatta. Plase se ROS wikisidor för detaljer.
ROS wiki - teleop_twist_joy
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ roslaunch roomblock_bringup teleop.launch
Nu kan du styra Roomba med joystick.
Istället kan du använda ett tangentbord.
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ rosrun teleop_twist_keyboard teleop_twist_keyboard.py
Se ROS wikisidor för detaljer.
ROS wiki - teleop_twist_keyboard
Steg 8: Starta kartläggningsprogrammet
Ta fram mappningsprogrammet på lokal dator
Ta fram kartläggningsprogrammet för att skapa kartan runt roboten.
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ export ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch roomblock_mapping gmapping.launch
Nu kan du se Rviz (visualiseringsprogram). Använd roboten runt i rummet för att skapa en karta över rummet.
Du kan konsultera ROS -wikisidan för mappningssystem.
- ROS wiki - gmapping
- ROS wiki - map_server
Steg 9: Starta den autonoma navigeringen
Ta fram autonom navigationsprogramvara
Nu kan du starta autonomt navigationssystem på den lokala datorn som:
$ export ROS_MASTER_URI = https:// IP_ADDRESS_OF_RASPBERRY_PI: 11311 $ export ROS_IP = IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch
Du kan använda Rviz för att ange målet. Roboten bör gå till målet självständigt.
Se ROS -wikisidan för det autonoma systemet.
- ROS wiki - navigation
- ROS wiki - amcl
Ha så kul
Om du har allmänna frågor eller problem om ROS, vänligen se ROS wiki. Vi kan inte svara på allmänna frågor om ROS.
ROS wiki - Support
Om du har några problem eller frågor angående Roomblock -programvaran, gör ett problem med GitHub -frågor så att vi kan spåra problemen effektivt. Undvik att lägga upp dem på Instructables.
Rekommenderad:
DHT -övervakning av temperatur och luftfuktighet med hjälp av ESP8266 och AskSensors IoT -plattform: 8 steg
DHT -övervakning av temperatur och luftfuktighet med hjälp av ESP8266 och AskSensors IoT -plattform: I en tidigare instruktion presenterade jag en steg -för -steg -guide för att komma igång med ESP8266 -nodenMCU och AskSensors IoT -plattform. I den här självstudien ansluter jag en DHT11 -sensor till noden MCU. DHT11 är en vanlig temperatur och fukt
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
HeadBot-en självbalanserande robot för STEM-inlärning och uppsökande: 7 steg (med bilder)
HeadBot-en självbalanseringsrobot för STEM-inlärning och uppsökande: Headbot-en två fot lång, självbalanserande robot-är hjärnbarnet till South Eugene Robotics Team (SERT, FRC 2521), ett konkurrenskraftigt gymnasie-robotlag i FIRST Robotics Competition, från Eugene, Oregon. Denna populära uppsökande robot gör
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid