Roomblock: een platform om ROS-navigatie te leren met Roomba, Raspberry Pi en RPLIDAR - Ajarnpa
Roomblock: een platform om ROS-navigatie te leren met Roomba, Raspberry Pi en RPLIDAR - Ajarnpa

Video: Roomblock: een platform om ROS-navigatie te leren met Roomba, Raspberry Pi en RPLIDAR - Ajarnpa

Video: Roomblock: een platform om ROS-navigatie te leren met Roomba, Raspberry Pi en RPLIDAR - Ajarnpa
Video: Roomblock: a Platform for Learning ROS Navigation with Roomba, Raspberry Pi and RPLIDAR 2025, Januari-
Anonim
Image
Image
Wat je nodig hebt
Wat je nodig hebt

Wat is dit?

"Roomblock" is een robotplatform dat bestaat uit een Roomba, een Raspberry Pi 2, een lasersensor (RPLIDAR) en een mobiele batterij. Het montageframe kan worden gemaakt door 3D-printers. ROS-navigatiesysteem maakt het mogelijk om een kaart van kamers te maken en deze te gebruiken om autonoom het doel te bereiken.

Wie heeft dit nodig?

Iedereen die de allernieuwste technologieën van robotnavigatie, kaarten en autonoom rijden wil leren. Deze robot kan eenvoudig en tegen lagere kosten worden gebouwd dan andere commerciële platforms. ROS is nu de facto standaard softwaresysteem voor robotonderzoek. Dit filmpje laat zien wat er allemaal mogelijk is met het ROS navigatiesysteem.

Stap 1: Wat je nodig hebt

Wat je nodig hebt
Wat je nodig hebt
Wat je nodig hebt
Wat je nodig hebt
Bouw een USB-seriële kabel (optioneel)
Bouw een USB-seriële kabel (optioneel)
Bouw een USB-seriële kabel (optioneel)
Bouw een USB-seriële kabel (optioneel)

USB-seriële kabel

Als je geen USB-seriële kabel voor Roomba hebt, kun je deze eenvoudig bouwen met dit product.

  • FTDI: TTL-232R-5V
  • Akiduki Denshi: TTL-232R-5V

Merk op dat de interface van Roomba TTL (5V) is.

Connector

U hebt een mini-DIN 8-pins connector nodig voor de seriële interface van Roomba. Eigenlijk is Roomba's connector een mini-DIN 7-pins, maar het is veel gemakkelijker om een 8-pins dan een 7-pins connector te kopen.

  • Digikey: mini-DIN 8-pins connector
  • Kyoritsu: mini-DIN 8-pins connector

Solderen

Soldeer de seriële kabel aan de 8-pins connector. Controleer de verbinding aan de hand van de bijgevoegde afbeelding en het document van de Roomba open interface-specificatie.

Roomba Open Interface Specificatie

Houd er rekening mee dat het veilig is om Vcc (rood) en RTS (groen) aan te sluiten om het hardwarestroomprobleem te voorkomen.

Stap 4: Stel de Raspberry Pi-cameramodule in (optioneel)

Raspberry Pi-cameramodule instellen (optioneel)
Raspberry Pi-cameramodule instellen (optioneel)
Raspberry Pi-cameramodule instellen (optioneel)
Raspberry Pi-cameramodule instellen (optioneel)

Als je een Raspberry Pi-cameramodule hebt, kun je deze op de Raspberry Pi aansluiten. Dit is optioneel om navigatie te leren, maar het is leuk om een beeld te krijgen vanuit het gezichtsvermogen van de robot.

Het camerabevestigingsgedeelte is ook opgenomen in framegegevens op Thingiverse. De cameramodule kan worden vastgezet met vier M2-schroeven.

Stap 5: Lokale pc instellen

Lokale pc instellen
Lokale pc instellen

Ubuntu installeren

Installeer Ubuntu 16.04-desktop volgens de officiële pagina

Ubuntu officiële pagina

ROS installeren

Plase raadpleeg de officiële pagina van ROS. Installeer volledige Kinetic desktop-pakketten.

ROS Kinetic installatie-instructies

Roomblock ROS-pakket installeren

Het pakket voor roomblock is al vrijgegeven in Kinetic. U kunt ze installeren met het apt-commando.

$ sudo apt install ros-kinetic-roomblock

Dat is het.

Als u het pakket wilt wijzigen en bouwen vanuit de broncode, kunt u deze van GitHub krijgen.

GitHub - kamerblok

Volg de instructies in README.md.

Als je een probleem of vraag hebt met betrekking tot de software, maak dan een probleem aan op GitHub Issues zodat we de problemen efficiënt kunnen volgen. Vermijd om ze op Instructables te plaatsen.

Stap 6: Stel Raspberry Pi in

Raspberry Pi instellen
Raspberry Pi instellen

Ubuntu installeren

Installeer Ubuntu 16.04 op de Raspberry Pi volgens de installatiehandleiding:

Ubuntu Wiki: RaspberryPi

ROS installeren

Installeer ROS Kinetic volgens de installatiegids:

Ubuntu-installatie van ROS Kinetic

Roomblock ROS-pakket installeren

U moet het roomblock-pakket installeren vanaf de broncode. De broncode van het pakket staat op GitHub.

GitHub - kamerblok

Volg de instructies in README.md.

Als je een probleem of vraag hebt met betrekking tot de software, maak dan een probleem aan op GitHub Issues, zodat we de problemen efficiënt kunnen volgen. Vermijd om ze op Instructables te plaatsen.

Raspberry Pi-cameramodule (optioneel)

Als je een Rasberry Pi-cameramodule hebt, moet je libraspberrypi-dev installeren. Raadpleeg README.md in Github.

Stap 7: Tele-bediening

Tele-bediening
Tele-bediening
Tele-bediening
Tele-bediening

Open het basissysteem op Raspberry Pi

Allereerst moet u het systeem naar voren brengen. Start op de Raspberry Pi-terminal het basissysteem als:

$ export ROS_IP=IP_ADDRESS_OF_RASPBERRY_PI

$ roslaunch roomblock_bringup roomblock.launch

RPLIDAR begint te draaien en nu kun je vanaf je lokale pc verbinding maken met de robot ROS-master.

Telebediening vanaf lokale pc

Je kunt een joypad gebruiken om de robot te bedienen. Als je een joypad van XBox hebt, kun je dit opstartbestand gebruiken. Anders moet u mogelijk het startbestand aanpassen aan uw joypad. Raadpleeg de ROS wiki-pagina's voor details.

ROS wiki - teleop_twist_joy

$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ roslaunch roomblock_bringup teleop.launch

Nu kunt u de Roomba bedienen met een joystick.

In plaats daarvan kunt u een toetsenbord gebruiken.

$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

Raadpleeg de ROS wiki-pagina's voor details.

ROS-wiki - teleop_twist_keyboard

Stap 8: Start de kaartsoftware

Start de kaartsoftware
Start de kaartsoftware
Start de kaartsoftware
Start de kaartsoftware

Open de kaartsoftware op de lokale pc

Open de kaartsoftware om de kaart rond de robot te maken.

$ 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 kunt u Rviz (visualisatiesoftware) zien. Bedien de robot door de kamer om een plattegrond van de kamer te maken.

U kunt de ROS wiki-pagina raadplegen voor het kaartsysteem.

  • ROS wiki - gmapping
  • ROS wiki - map_server

Stap 9: Start de autonome navigatie

Start de autonome navigatie
Start de autonome navigatie
Start de autonome navigatie
Start de autonome navigatie

Autonome navigatiesoftware openen

Nu kunt u het autonoom navigatiesysteem op de lokale pc starten als:

$ export ROS_MASTER_URI=https://IP_ADDRESS_OF_RASPBERRY_PI:11311$ export ROS_IP=IP_ADDRESS_OF_LOCAL_PC $ roslaunch rolomblock_navigation amcl.launch

U kunt Rviz gebruiken om het doel te specificeren. De robot moet autonoom naar het doel gaan.

Raadpleeg de ROS wiki-pagina voor het autonome systeem.

  • ROS wiki - navigatie
  • ROS wiki - amcl

Veel plezier

Als je algemene vragen of problemen hebt over ROS, raadpleeg dan de ROS wiki. Algemene vragen over ROS kunnen we niet beantwoorden.

ROS-wiki - Ondersteuning

Als je een probleem of vraag hebt met betrekking tot de Roomblock-software, maak dan een probleem aan op GitHub Issues zodat we de problemen efficiënt kunnen volgen. Vermijd om ze op Instructables te plaatsen.