Sadržaj:
- Korak 1: Instaliranje Bootstrap ovisnosti i preuzimanje paketa
- Korak 2: Riješite probleme
- Korak 3: Izgradite i izvorite instalaciju
- Korak 4: Instalirajte RPLIDAR ROS paket
- Korak 5: Postavite ROS za rad na više strojeva
- Korak 6: Gotovo
Video: ROS Melodic na Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:32
Ovaj članak pokriva proces instaliranja ROS Melodic Morenia na Raspberry Pi 4 s najnovijim Debian Busterom i kako koristiti RPLIDAR A1M8 s našom instalacijom.
Budući da je Debian Buster službeno objavljen prije samo nekoliko tjedana (u trenutku pisanja ovog članka), ne postoje unaprijed izgrađeni ROS paketi za instaliranje s apt-get, što je poželjan način instalacije. Stoga ćemo ga morati izgraditi od izvora. Vjerujte mi, nije tako strašno kako zvuči. Proces je opisan u ovom službenom vodiču, ali za izgradnju ROS Melodic -a na Raspberry Pi -u trebat ćemo napraviti nekoliko izmjena.
U slučaju da se još uvijek bojite, evo smiješne slike koja bi vam * mogla * pomoći da se opustite. Molimo dostavite povratne informacije ako je razina opuštenosti bila dovoljna. Ako ne, bit će zamijenjena slikom smiješne mačke.
SIJEČANJ 2020. EDIT: Budući da je prošlo pola godine od objavljivanja ovog članka, možda je došlo do nekih promjena u ROS -u ili Busteru. Napravio sam sliku za Raspberry Pi 4 prije nekog vremena, nakon što sam napisao ovaj vodič. Suradnik ga je prenio na Google disk
Travnja 2020. EDIT: Nedavno sam našao vremena za ponovnu instalaciju ROS Melodika na najnovijoj Raspbian slici sa službene stranice Raspberry Pi. U skladu s tim uredio sam ovu upute. Također sam stvorio i dijelio čiste, komprimirane slike:
Raspbian Buster Lite izdanje 2020-02-13 s ROS-om melodične gole kosti trebaju SD karticu od 8 GB
Raspbian Buster s stolnim računalom 2020-02-13 Izdanje s ROS Melodic radnom površinom Potrebna je 16 GB SD kartica
To bi mogao biti najbrži način za pokretanje sustava. Ako želite sami sastaviti ROS, nastavite čitati članak.
Korak 1: Instaliranje Bootstrap ovisnosti i preuzimanje paketa
Počnimo s postavljanjem spremišta i instaliranjem potrebnih ovisnosti
sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get ažuriranje
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall izgradnja-bitan cmake
Zatim inicijalizirajte rosdep i ažurirajte ga
sudo rosdep init
ažuriranje rosdepa
Kada to završi, stvorimo namjenski radni prostor za izgradnju ROS -a i premjestimo se u taj direktorij.
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Sada imate dva izbora:
ROS -Comm: (Bare Bones) instalacija - instalirajte ovu ako ste upoznati s ROS -om i znate što radite i koji će vam paketi biti potrebni. Ako trebate pakete koji nisu uključeni u ROS-Comm, morat ćete i kompajlirati iz izvora.
Desktop Install: uključuje alate za grafičko sučelje, poput rqt, rviz i generičkih biblioteka za robote. Možda je bolji izbor za početnike u ROS -u.
Ovdje ću instalirati Desktop Install.
rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar> melodic-desktop-wet.rosinstall
wstool init -j8 src melodic-desktop-wet.rosinstall
Naredbi će trebati nekoliko minuta za preuzimanje svih osnovnih ROS paketa u mapu src.
Ako wstool init ne uspije ili je prekinut, možete nastaviti preuzimanje pokretanjem:
ažuriranje wstool -j4 -t src
Korak 2: Riješite probleme
Travnja 2020. EDIT: Preskočite ovaj korak, čini se da su svi problemi sada riješeni
Instalirajmo kompatibilnu verziju Assimp -a (Open Asset Import Library) kako bismo riješili problem ovisnosti collada_urdf.
mkdir -p ~/ros_catkin_ws/external_src
cd ~/ros_catkin_ws/external_src
wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip
raspakirajte assimp-3.1.1_no_test_models.zip
cd asimp-3.1.1
cmake.
napraviti
sudo make install
Instalirajmo i OGRE za rviz
sudo apt-get install libogre-1.9-dev
Ažuriranje u siječnju 2020.: ROS programeri već su riješili probleme s libbostom, ovaj dio možete preskočiti
/// skip /// Konačno ćemo morati riješiti probleme s libboostom. Koristim rješenje iz ovog posta na stackoverflow:
Pogreške tijekom kompilacije uzrokovane su funkcijom 'boost:: posix_time:: milliseconds' koja u novijim verzijama boosta prihvaća samo cijeli broj argument, ali paket actionlib u ROS -u daje mu plutanje na nekoliko mjesta. Možete navesti sve datoteke koristeći tu funkciju (! u mapi ros_catkin_ws!):
find -type f -print0 | xargs -0 grep 'boost:: posix_time:: milliseconds' | izrezati -d: -f1 | sortirati -u
Otvorite ih u uređivaču teksta i potražite poziv funkcije 'boost:: posix_time:: milliseconds'.
i zamijenite pozive ovako:
boost:: posix_time:: milliseconds (loop_duration.toSec () * 1000.0f));
s:
boost:: posix_time:: milliseconds (int (loop_duration.toSec () * 1000.0f)));
i ovo:
boost:: posix_time:: milliseconds (1000.0f)
s:
boost:: posix_time:: milliseconds (1000)
Preporučujem vam da koristite nano uređivač teksta, koji je jednostavniji od VIM -a;) Ctrl+O sprema, Ctrl+X izlazi i Ctrl+W traži.
/// continue_from_here ///
Korak 3: Izgradite i izvorite instalaciju
Zatim koristimo alat rosdep za instaliranje svih ostalih ovisnosti:
rosdep install --from-paths src --ignore-src --rosdistro melodijski -y
Nakon što dovrši preuzimanje paketa i rješavanje ovisnosti, spremni ste za izradu catkin paketa. (Pokrenite ovu naredbu iz mape ros_catkin_ws)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Release --install -space/opt/ros/melodic -j2
Ako se proces kompilacije zamrzne (vrlo vjerojatno, ako instalirate verziju za stolna računala), morate povećati raspoloživi zamjenski prostor. Prema zadanim postavkama to je 100 MB, pokušajte ga povećati na 2048 MB.
Sretno! Cijeli proces sastavljanja traje oko 1 sat (manje za verziju Bare-bone), pa idite skuhati čaj.
Sada bi ROS Melodic trebao biti instaliran na vašem Raspberry Pi 4. Novu instalaciju ćemo nabaviti sljedećom naredbom:
echo "izvor /opt/ros/melodic/setup.bash" >> ~/.bashrc
Otvorite novu ljusku kako bi promjene stupile na snagu. Pokušajte pokrenuti roscore kako biste provjerili je li sve bilo uspješno.
Korak 4: Instalirajte RPLIDAR ROS paket
Napravimo zasebni radni prostor za ostale pakete koji nisu dio jezgrenog ROS -a.
Iz matične mape učinite sljedeće:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
i izvor u bashrc:
echo "izvor $ HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
U redu, spremni smo za početak instaliranja RPLIDAR ROS paketa.
cd src
klon sudo git
cd..
catkin_make
Pričekajte da kompilacija paketa završi. Pokušajte pokrenuti paket da vidite je li kompilacija bila uspješna:
roslaunch rplidar_ros rplidar.launch
Ako ne prikaže pogreške, otplešite slavlje (*nije obavezno).
Sada nedostaje samo zadnji dio - budući da vjerojatno radite na Raspberry Pi 4 u načinu rada bez glave, ne možemo vizualizirati lidar poruke. Za to ćemo morati postaviti ROS za rad na više strojeva.
Korak 5: Postavite ROS za rad na više strojeva
Za ovaj dio trebat će vam Ubuntu 18.04 računalo s instaliranim ROS Melodic -om. Budući da je to Ubuntu ROS, može se jednostavno instalirati pomoću apt-get kako je opisano u ovom vodiču.
Nakon što instalirate ROS instalaciju i na Raspberry Pi i na stolnom računalu, provjerite IP adrese oba stroja. Moraju biti na istoj mreži!
Pokrenite roscore na stolnom računalu i izvezite ROS_MASTER_URI
roscore
izvoz ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311
Sljedeće na Raspberry PI izvršiti
izvoz ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311
izvoz ROS_IP = [vaša-malina-pi-ip]
i pokrenite datoteku za pokretanje RPILIDAR -a
roslaunch rplidar_ros rplidar.launch
Ako se uspješno pokrene, provjerite teme prisutne na vašem stolnom računalu s rostopskim popisom
Ako možete vidjeti / skenirati poruke, sve radi kako bi trebalo raditi. Zatim pokrenite RVIZ na svom stolnom računalu, dodajte poruke laserskog skeniranja i odaberite /skenirajte temu. Također ćete morati promijeniti fiksni okvir u /laser.
Voila!
Korak 6: Gotovo
Ovaj vodič može biti prvi korak u izgradnji vašeg ROS robota na vrhu nove Raspberry Pi 4. Instalirali smo ROS Melodic i pripremili instalaciju za pokretanje bez glave i povezivanje s našim stolnim računalom putem bežične mreže za daljinsko upravljanje.
Sljedeći koraci ovise o vrsti robota koji želite izgraditi. Možete dodati motore i kodere za mjerenje kilometraže, stereo kameru za Visual SLAM i razne druge uzbudljive i korisne stvari.
Hardver za ovaj članak ljubazno je osigurao Seeed studio. Provjerite Raspberry Pi 4, RPLIDAR A1M8 i drugi hardver za proizvođače u studijskoj trgovini Seeed!
Dodajte me na LinkedIn ako imate pitanja i pretplatite se na moj YouTube kanal kako biste primali obavijesti o zanimljivijim projektima koji uključuju strojno učenje i robotiku.
Preporučeni:
Početak rada s jeftinim RPLIDAR-om Korištenje Jetson Nano: 5 koraka
Početak rada s jeftinim RPLIDAR-om Korištenje Jetson Nano: Kratak pregledOtkrivanje svjetlosti i rangiranje (LiDAR) djeluje na isti način na koji se umjesto zvučnih valova koriste ultrazvučni daljinomeri s laserskim impulsom. Yandex, Uber, Waymo itd. Ulažu velika sredstva u tehnologiju LiDAR za svoja autonomna vozila
Kako koristiti laserski skener RPLIDAR 360 ° s Arduinom: 3 koraka (sa slikama)
Kako koristiti laserski skener RPLIDAR 360 ° s Arduinom: Veliki sam ljubitelj izgradnje sumo robota i uvijek sam u potrazi za novim zanimljivim senzorima i materijalima za izradu boljeg, bržeg i pametnijeg robota. Za RPLIDAR A1 sam saznao za 99 USD na DFROBOT.com. Rekao sam da imam namjeru
Roomblock: platforma za učenje ROS navigacije s Roombom, Raspberry Pi i RPLIDAR -om: 9 koraka (sa slikama)
Roomblock: platforma za učenje ROS navigacije s Roombom, Raspberry Pi i RPLIDAR -om: Što je ovo? &Quot; Roomblock " je robotska platforma koja se sastoji od Roombe, Raspberry Pi 2, laserskog senzora (RPLIDAR) i mobilne baterije. Okvir za montažu mogu izraditi 3D pisači. ROS navigacijski sustav omogućuje izradu karte soba i korištenje ja