Haberler

RPLIDAR ve ROS programlama – Robot Yapmanın En İyi Yolu

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ı

Engel tespiti ve kaçınma
Engel tespiti ve kaçınma

Çevre taraması ve 3D modelleme
Çevre taraması ve 3D modelleme

Çoklu dokunmatik teknolojisi ve insan-makine etkileşimi
Çoklu dokunmatik teknolojisi ve insan-makine etkileşimi

Robot eşzamanlı konumlandırma ve haritalama
Robot eşzamanlı konumlandırma ve haritalama

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. RPLIDAR için ROS Paketi Genel Görünümü

rplidar_ros paketi

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.

rplidar_ros'un github'ı

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.

RPLIDAR çerçevesi RPLIDAR çerçevesi

 

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.

URDF dosyasına rplidar ekleyin

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:

rqt/tf_echo ile TF ağacı:

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ı

TF AĞACI

5.3 rqt_graph

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.

SLAM Haritalama

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:

SLAMTEC

Daha fazla RPLIDAR ürün bilgisi 

rplidar_ros paketi

rplidar_ros’un github’u

Leave a Reply

Your email address will not be published. Required fields are marked *