Farklı alanlarda, özellikle otonom araçlar, robotik araştırmalar, engel tespiti ve kaçınma, çevre taraması ve 3D modelleme gibi alanlarda LIDAR giderek daha popüler hale geldikçe, son zamanlarda RPLIDAR hakkında birçok soru aldık. Neden SLAM araştırmaları için iyi bir ürün? (Tabii ki NBA haber dergisi değil!) RPLIDAR ve robotik uygulamalar için hangi yazılımlar önerilir?
Başlayalım! RPLIDAR için yazılım ve donanımı hızlı bir şekilde öğrenmek ve robotik araştırmalarda SLAM uygulamak için detaylı bir rehber hazırladık!
ROS ve Lidar Hakkında Kısa Bir Arka Plan
Bir robot yazılım platformu olarak, ROS, heterojen bilgisayar kümeleri için benzer işletim sistemi işlevleri sağlar ve robot yürüyüşü araştırmalarında önemli bir rol oynar. Ancak, robot konumlandırma navigasyonunun temel sensörü olarak Lidar, robotun otonom yürüyüşü ve konumlandırma navigasyonunda önemli bir rol oynamaktadır. RPLIDAR, robotlar ve donanım araştırmacıları ile hobi sahipleri için ideal maliyet etkin bir sensördür. ROS ve RPLIDAR kombinasyonu, robotun otonom konumlandırma navigasyonunu kesinlikle daha iyi hale getirecektir.
ROS için eğitim, ROS’u açık kaynak yazılım kütüphanesi olarak iyi bir şekilde açıklar, robotik araştırmacılar ve şirketler tarafından yaygın olarak kullanılmaktadır.
1. RPLIDAR Nedir?
RPLIDAR, kapalı alan robotik SLAM uygulamaları için uygun düşük maliyetli bir LIDAR sensörüdür. Üretilen 2D nokta bulutu verileri, haritalama, konumlandırma ve nesne/çevre modelleme için kullanılabilir. RPLIDAR, SLAM (Eşzamanlı konumlandırma ve haritalama) araştırmalarında harika bir araç olacaktır.
Şu anda, farklı özelliklere sahip üç tür RPLIDAR bulunmaktadır.
RPLIDAR A1M8, lazer üçgenleme mesafe ölçüm prensibine dayanmakta ve SLAMTEC tarafından geliştirilen yüksek hızlı görüntü alma ve işleme donanımını kullanmaktadır. Sistem, saniyede 8000’den fazla mesafe verisi ölçmektedir.
RPLIDAR A2M5/A2M6, 2D lazer mesafe tarayıcısının (LIDAR) geliştirilmiş versiyonudur. Sistem, 18 metre menzil içinde 2D 360 derece tarama yapabilmektedir. Üretilen 2D nokta bulutu verileri, haritalama, konumlandırma ve nesne/çevre modelleme için kullanılabilir.
RPLIDAR A3, yüksek döner hızla saniyede 16000 lazer mesafe örneği alabilir. SLAMTEC’in patentli OPTMAG teknolojisi ile donatılmıştır ve geleneksel LIDAR sisteminin yaşam sınırlamalarını aşarak uzun süreli stabil çalışmasını sağlar.
RPLIDAR Uygulama Senaryoları




2. RPLIDAR için ROS Paketi Genel Görünümü
Bu paket, 2D Lazer Tarayıcı RPLIDAR A1/A2 ve A3 için temel cihaz yönetimini sağlar.
İlgili RPLIDAR ürünlerinin açıklaması ve kullanım akışı, arayüzler ve parametreler ile mevcut ROS desteğinin en son sürüm bilgilerini öğrenmek için wiki‘yi inceleyebilirsiniz.
ROS ekosistemindeki herhangi bir pakette, ilgili wiki’yi ve github sayfasını bulmanız yeterlidir, böylece veri arayüzünü ve iç uygulamasını net bir şekilde anlayabilirsiniz.
rplidar_ros’un github’ı, paketin kaynak kodunu ve paketle ilgili sürüm yönetimi ve geliştirici sorunları diyaloglarını içermektedir.

Paketle ilgili herhangi bir sorun için, geliştiriciler Issue dosyasında soru sorabilir ve çözüm arayabilirler.
Orijinal kodu geliştirmek ve işlevselliği artırmak için Pull Request göndermeniz memnuniyetle karşılanır!
3. ROS Düğümleri
Temelde, lazerden tarama konusunu yayınlayan bir konu ve iletişim arayüzünde iki hizmet bulunmaktadır: start_motor ve stop_motor, RPLIDAR’ın motorunu başlatmak/durdurmak için hizmet çağrısı yapmaktadır. ROS paketi, haritalama veya engel kaçınma işlemini tamamlamak için /scan konusunun verilerini çağırmalıdır.
Rplidar.launch, rplidar_ros tarafından sağlanmaktadır, gerçek kullanım, port numarası (serial_port), koordinat sistemi adı (frame_id), ileri ve geri (inverted) gibi belirli parametrelere bağlıdır.
4. RPLIDAR Çerçevesi
RPLIDAR saat yönünde döner. SDK veri çıktısı, mesafe ve açı bilgisi ile sol elle tutulur veri olup, rplidar_ros çıktısı bunu sağ elle tutulur koordinat sistemi çıktısına dönüştürmüştür.

Tüm belgelerden sonra, RPLIDAR ile bir robot sistemi oluşturun
rplidar_ros paketinin talimatlarını aldıktan sonra, robotun otonom konumlandırma navigasyonunu daha iyi çalıştırmak için robot sistemini oluşturalım.
Bir robot gövdesinde LIDAR kullanmak istiyorsam, nasıl kurabilirim?
Aslında, ROS’ta, temel işlevleri gerçekleştirmek için sistemi oluşturmak için mevcut paketi kullanabilirsiniz. Tek yapmanız gereken, konu/hizmet ve TF çerçevesinin koordine olup olmadığını kontrol etmektir. TF, ROS’taki ana kavramdır ve her verinin koordinat sistemleri arasındaki poz dönüşüm ilişkisini sürdürür. RPLIDAR ile bir robot ROS sistemi oluşturmak için,
RPLIDAR koordinat sistemi ile robot gövdesinin temel koordinat sistemi arasındaki dönüşüm ilişkisini gerçek kurulum bilgilerine dayanarak birleştirmeniz gerekir. Bu dönüşümü gerçekleştirmek için üç ana yol vardır:
4.1 URDF dosyasına rplidar ekleyin
Bilinen robot modelinin URDF’sine, LIDAR için eklem ve robot gövdesini tanımlayan bağlantı elemanlarını ekleyin. Aşağıdaki resim, turtlebot simülasyon modeline RPLIDAR modelinin eklendiğini göstermektedir.

4.2 TF static_transform_publisher:
Robot başlatma dosyasına statik TF dönüşüm bilgilerini ekleyin.
<node name=”base2laser” pkg=”tf”
Type=”static_transform_publisher” args=”0.07 0 0 0 0 0 1
/base_link /laser 50″/>
4.3 rqt/tf_echo ile TF ağacını görüntüleyin:

5.Açık kaynak 2D Lidar için ROS paketi
5.1 Mevcut açık kaynak 2D lazer radar slam ROS paketi esasen şunları içerir:
Gmapping
ros-perception/slam_gmapping ros-perception/openslam_gmapping
Hector
tu-darmstadt-ros-pkg/hector_slam
karto
ros-perception/slam_karto ros-perception/open_karto skasperski/navigation_2d
cartographer
googlecartographer/cartographer
googlecartographer/cartographer_ros
5.2 TF Ağacı

5.3 rqt_graph

5.4 SLAM Grafik Yapımı
Sistemi kurmak, konu/hizmet ve tf arayüz adlarını birleştirmeye bağlıdır. Sistemin nasıl çalışacağı, içindeki algoritma uygulamasına bağlıdır.

Bunun hızlı bir okuma olmadığını biliyorum (sabır ve değerli zamanınız için teşekkür ederim!), umarım hem donanım hem de yazılım bilgisi sağlama açısından bilgilendiricidir.
Herhangi bir sorunuz, öneriniz veya şikayetiniz varsa, bu blogda yorum yapmaktan çekinmeyin!
RPLIDAR ve SLAM hakkında bir sonraki paylaşımımız için bizi izlemeye devam edin 🙂
İlgili Bağlantılar:
