İçindekiler:
- Adım 1: Bootstrap Bağımlılıklarını Kurma ve Paketleri İndirme
- 2. Adım: Sorunları Düzeltin
- 3. Adım: Kurulumu Oluşturun ve Kaynak Yapın
- Adım 4: RPLIDAR ROS Paketini Kurun
- Adım 5: ROS'u Birden Çok Makinede Çalıştırmak için Ayarlayın
- Adım 6: Bitti
Video: Raspberry Pi 4'te ROS Melodic[Debian Buster] + RPLIDAR A1M8: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Bu makale, en son Debian Buster'ı çalıştıran Raspberry Pi 4'te ROS Melodic Morenia'nın kurulum sürecini ve kurulumumuzla birlikte RPLIDAR A1M8'in nasıl kullanılacağını ele alacaktır.
Debian Buster sadece birkaç hafta önce resmi olarak piyasaya sürüldüğü için (bu makalenin yazıldığı an itibariyle), tercih edilen bir kurulum yöntemi olan apt-get ile kurulacak önceden oluşturulmuş ROS paketi yoktur. Dolayısıyla onu kaynaktan inşa etmemiz gerekecek. İnan bana, göründüğü kadar korkutucu değil. İşlem bu resmi öğreticide açıklanmıştır, ancak Raspberry Pi üzerinde ROS Melodic'i oluşturmak için birkaç değişiklik yapmamız gerekecek.
Hâlâ korkuyorsanız, rahatlamanıza *yardımcı olabilecek* komik bir resim var. Sağlanan gevşeme düzeyi yeterliyse lütfen geri bildirimde bulunun. Değilse, komik bir kedinin resmi ile değiştirilecektir.
Ocak 2020 DÜZENLEME: Bu makaleyi yayınladığımdan bu yana yarım yıl geçtiğinden, ROS veya Buster'da bazı değişiklikler olmuş olabilir. Bu öğreticiyi yazdıktan sonra bir süre önce Raspberry Pi 4 için bir resim yaptım. Bir katkıda bulunan kişi bunu Google Drive'a yükledi
Nisan 2020 DÜZENLEME: Son zamanlarda resmi Raspberry Pi sitesinden en yeni Raspbian görüntüsünde ROS Melodic kurulumunu yeniden yapmak için zaman buldum. Bu talimatı buna göre düzenledim. Ayrıca temiz, sıkıştırılmış görüntüler oluşturdum ve paylaştım:
Raspbian Buster Lite 2020-02-13 ROS Melodic Bare-bones ile Sürüm 8 GB SD kart gerekir
Raspbian Buster masaüstü ile 2020-02-13 ROS Melodic Desktop ile Sürüm 16 GB SD kart gerekiyor
Sisteminizi çalışır duruma getirmenin en hızlı yolu olabilir. ROS'u kendiniz derlemek istiyorsanız, makaleyi okumaya devam edin.
Adım 1: Bootstrap Bağımlılıklarını Kurma ve Paketleri İndirme
Depoları kurarak ve gerekli bağımlılıkları yükleyerek başlayalım.
sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $(lsb_release -sc) ana" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get güncellemesi
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
Ardından rosdep'i başlatın ve güncelleyin
sudo rosdep başlatma
rosdep güncellemesi
Bu bittiğinde, ROS oluşturmak için özel bir catkin çalışma alanı oluşturalım ve bu dizine geçelim.
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
Şimdi iki seçeneğiniz var:
ROS-Comm: (Bare Bones) kurulumu - ROS'a aşina iseniz ve ne yaptığınızı ve hangi paketlere ihtiyacınız olacağını biliyorsanız bunu kurun. ROS-Comm'a dahil olmayan paketlere ihtiyacınız varsa, kaynaktan da derlemeniz gerekecektir.
Masaüstü Kurulumu: rqt, rviz ve robot genel kitaplıkları gibi GUI araçlarını içerir. ROS'a yeni başlayanlar için daha iyi bir seçim olabilir.
Burada Desktop Install'ı kuracağım.
rosinstall_generator masaüstü --rosdistro melodik --deps --wet-only --tar > melodic-desktop-wet.rosinstall
wstool init -j8 src melodik-desktop-wet.rosinstall
Komutun tüm çekirdek ROS paketlerini src klasörüne indirmesi birkaç dakika sürecektir.
wstool init başarısız olursa veya kesintiye uğrarsa, aşağıdakileri çalıştırarak indirmeye devam edebilirsiniz:
wstool güncellemesi -j4 -t kaynağı
2. Adım: Sorunları Düzeltin
Nisan 2020 DÜZENLEME: Bu adımı atlayın, şimdi tüm sorunlar çözülmüş görünüyor
Collada_urdf bağımlılık sorununu çözmek için Assimp'in (Open Asset Import Library) uyumlu sürümünü yükleyelim.
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
assimp-3.1.1_no_test_models.zip dosyasını açın
cd asimp-3.1.1
cmake.
Yapmak
sudo kurulum yap
rviz için OGRE'yi de yükleyelim
sudo apt-get install libogre-1.9-dev
Ocak 2020 GÜNCELLEME: Libbost ile ilgili sorunlar ROS geliştiricileri tarafından zaten düzeltildi, bu bölümü atlayabilirsiniz
/// atla /// Sonunda libboost ile ilgili sorunları düzeltmemiz gerekecek. Bu gönderideki çözümü stackoverflow'ta kullanıyorum:
Derleme sırasındaki hatalara, daha yeni yükseltme sürümlerinde yalnızca bir tamsayı argümanı kabul eden, ancak ROS'taki actionlib paketi, ona birkaç yerde bir kayan nokta veren 'boost::posix_time::milisaniye' işlevi neden oluyor. Tüm dosyaları listeleyebilirsiniz. bu işlevi kullanarak (!in ros_catkin_ws klasöründe!):
bul -type f -print0 | xargs -0 grep 'boost::posix_time::milisaniye' | kesme -d: -f1 | sıralama -u
Bunları metin düzenleyicinizde açın ve 'boost::posix_time::milisaniye' işlev çağrısını arayın.
ve aramaları şu şekilde değiştirin:
boost::posix_time::milisaniye(loop_duration.toSec() * 1000.0f));
ile birlikte:
boost::posix_time::milisaniye(int(loop_duration.toSec() * 1000.0f)));
ve bunlar:
boost::posix_time::milisaniye(1000.0f)
ile birlikte:
boost::posix_time::milisaniye(1000)
VIM'den daha basit olan nano metin düzenleyiciyi kullanmanızı öneririm;) Ctrl+O kaydediyor, Ctrl+X çıkıyor ve Ctrl+W arıyor.
///continue_from_here///
3. Adım: Kurulumu Oluşturun ve Kaynak Yapın
Ardından, geri kalan tüm bağımlılıkları yüklemek için rosdep aracını kullanıyoruz:
rosdep kurulumu --from-paths src --ignore-src --rosdistro melodik -y
Paketleri indirmeyi ve bağımlılıkları çözmeyi tamamladıktan sonra, catkin paketlerini oluşturmaya hazırsınız. (Bu komutu ros_catkin_ws klasöründen çalıştırın)
sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2
Derleme işlemi donarsa (masaüstü sürümünü yüklerseniz büyük olasılıkla), kullanılabilir takas alanını artırmanız gerekir. Varsayılan olarak 100 MB'dir, 2048 MB'a yükseltmeyi deneyin.
İyi şanlar! Tüm derleme işlemi yaklaşık 1 saat sürer (Bare-bones versiyonu için daha az), bu yüzden gidip biraz çay yapın.
Şimdi Raspberry Pi 4'ünüze ROS Melodic kurulu olmalıdır. Yeni kurulumu aşağıdaki komutla sağlayacağız:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
Değişikliklerin etkili olması için yeni bir kabuk açın. Her şeyin başarılı olup olmadığını kontrol etmek için roscore'u başlatmayı deneyin.
Adım 4: RPLIDAR ROS Paketini Kurun
Çekirdek ROS'un parçası olmayan diğer paketler için ayrı bir çalışma alanı oluşturalım.
Ev klasörünüzden şunları yapın:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
kedicik_make
ve onu bashrc'ye kaynaklayın:
echo "source $HOME/catkin_ws/devel/setup.bash" >> ~/.bashrc
Tamam, RPLIDAR ROS paketini kurmaya başlamaya hazırız.
cd kaynağı
sudo git klonu
cd..
kedicik_make
Paket derlemesinin bitmesini bekleyin. Derlemenin başarılı olup olmadığını görmek için paketi başlatmayı deneyin:
roslaunch rplidar_ros rplidar.launch
Herhangi bir hata vermezse, hızlı bir kutlama dansı yapın (*isteğe bağlı).
Şimdi sadece son parça eksik - muhtemelen Raspberry Pi 4'ü başsız modda çalıştırdığınız için lidar mesajlarını görselleştiremiyoruz. Bunun için ROS'u birden fazla makinede çalışacak şekilde ayarlamamız gerekecek.
Adım 5: ROS'u Birden Çok Makinede Çalıştırmak için Ayarlayın
Bu kısım için ROS Melodic'in kurulu olduğu bir Ubuntu 18.04 bilgisayarına ihtiyacınız olacak. Ubuntu olduğu için ROS, bu eğitimde açıklandığı gibi apt-get kullanılarak kolayca kurulabilir.
Hem Raspberry Pi hem de masaüstü makinenize ROS kurulumu yaptıktan sonra her iki makinenin de IP adreslerini kontrol edin. Aynı ağda olmaları gerekiyor!
Roscore'u masaüstü bilgisayarınızda çalıştırın ve ROS_MASTER_URI'yi dışa aktarın
gül puanı
dışa aktar ROS_MASTER_URI=https://[masaüstü-makine-ip]:11311
Raspberry PI'de sonraki çalıştırma
dışa aktar ROS_MASTER_URI=https://[masaüstü-makine-ip]:11311
ROS_IP'yi dışa aktar=[ahududu-pi-ip'iniz]
ve RPILIDAR başlatma dosyasını başlatın
roslaunch rplidar_ros rplidar.launch
Başarılı bir şekilde başlatılırsa, masaüstü makinenizde bulunan konuları rostopik liste ile kontrol edin.
Mesajları görebilir / tarayabilirseniz, her şey olması gerektiği gibi çalışır. Ardından masaüstü makinenizde RVIZ'i başlatın, Lazer Tarama mesajları ekleyin ve /scan konusunu seçin. Ayrıca sabit çerçeveyi /lazer olarak değiştirmeniz gerekecektir.
İşte!
Adım 6: Bitti
Bu kılavuz, yeni Raspberry Pi 4'ün üzerine ROS robotunuzu oluşturmanın ilk adımı olabilir. ROS Melodic'i kurduk ve kurulumu, kablosuz ağ üzerinden uzaktan kumanda için kablosuz ağ üzerinden başsız çalışacak ve masaüstü makinemize bağlanacak şekilde hazırladık.
Sonraki adımlar, ne tür bir robot yapmak istediğinize bağlıdır. Odometri için motorlar ve kodlayıcılar, Visual SLAM için stereo kamera ve diğer her türlü heyecan verici ve faydalı şey ekleyebilirsiniz.
Bu makalenin donanımı lütfen Seeed stüdyosu tarafından sağlanmıştır. Seeed stüdyo mağazasında yapımcılar için Raspberry Pi 4, RPLIDAR A1M8 ve diğer donanımlara göz atın!
Herhangi bir sorunuz varsa beni LinkedIn'de ekleyin ve makine öğrenimi ve robotik içeren daha ilginç projelerden haberdar olmak için YouTube kanalıma abone olun.
Önerilen:
Jetson Nano Kullanarak Düşük Maliyetli RPLIDAR'a Başlarken: 5 Adım
Düşük Maliyetli RPLIDAR'a Başlarken Jetson Nano Kullanarak: Kısa genel bakışIşık Algılama ve Mesafe Belirleme (LiDAR), ses dalgaları yerine lazer darbeli ultrasonik telemetrelerin kullanılmasıyla aynı şekilde çalışır. Yandex, Uber, Waymo ve diğerleri, otonom araç uygulamaları için LiDAR teknolojisine büyük yatırım yapıyor
Arduino ile RPLIDAR 360° Lazer Tarayıcı Nasıl Kullanılır: 3 Adım (Resimlerle)
Arduino ile RPLIDAR 360° Lazer Tarayıcı Nasıl Kullanılır: Sumo robotları yapmanın büyük bir hayranıyım ve her zaman daha iyi, daha hızlı ve daha akıllı bir robot oluşturmak için kullanılacak yeni ilginç sensörler ve malzemeler arayışındayım. DFROBOT.com'dan 99$'a alabileceğiniz RPLIDAR A1'i öğrendim. ilgilendiğimi söyledim
Roomblock: Roomba, Raspberry Pi ve RPLIDAR ile ROS Navigasyonunu Öğrenmek İçin Bir Platform: 9 Adım (Resimlerle)
Roomblock: Roomba, Raspberry Pi ve RPLIDAR ile ROS Navigasyonunu Öğrenmek İçin Bir Platform: Bu nedir?"Roomblock" Roomba, Raspberry Pi 2, lazer sensör (RPLIDAR) ve mobil pilden oluşan bir robot platformudur. Montaj çerçevesi 3D yazıcılar tarafından yapılabilir. ROS navigasyon sistemi, odaların bir haritasını çıkarmayı ve i