DFRobot LiDAR LD19 Lazer Sensor Dəsti
MƏHSULUN TƏSVİRİ
LD19 əsasən lazer diapazonundan, simsiz teleks qurğusundan, simsiz rabitə qurğusundan, bucaq ölçmə vahidindən, motor ötürücü qurğudan və mexaniki korpusdan ibarətdir.
LD19 dəyişən nüvəsi saniyədə 4,500 dəfə ölçə bilən DTOF texnologiyasından istifadə edir. Məsafə hər dəfə ölçüldükdə LD19 irəli infraqırmızı lazer yayır və hədəf obyektlə qarşılaşdıqdan sonra lazer tək foton qəbuledici qurğuya əks olunur. Buradan lazerin buraxıldığı vaxtı və tək foton qəbuledici qurğunun lazeri qəbul etdiyi vaxtı əldə etdik. İkisi arasındakı zaman fərqi işığın uçuş vaxtıdır. Məsafəni hesablamaq üçün uçuş vaxtı işıq sürəti ilə birləşdirilə bilər.
Məsafə məlumatlarını əldə etdikdən sonra LD19 bucaq ölçmə vahidi ilə ölçülən bucaq dəyərlərini birləşdirərək nöqtə bulud məlumatlarını formalaşdıracaq və sonra simsiz rabitə vasitəsilə nöqtə bulud məlumatlarını xarici interfeysə göndərəcək. LD19 daxili sürət nəzarətini dəstəkləyir, sürəti işə saldıqdan sonra 10 saniyə ərzində 0.1±3Hz-ə qədər sabitləşdirmək olar. Eyni zamanda, xarici sürət nəzarətini dəstəkləmək üçün PWM xarici giriş interfeysi təmin edilir. Xarici idarəetmə bloku sürəti əldə etdikdən sonra qapalı dövrə PID alqoritmi ilə idarə olunur və LD19-un müəyyən edilmiş sürətə çatması üçün PWM siqnalı daxil edilir.
LD19 nöqtə bulud məlumatlarının yaratdığı ətraf mühitin skanının təsviri aşağıda göstərilmişdir:
KOMUNİKASİYA İNTERFESYASI
LD19 enerji təchizatı və məlumat qəbulunu həyata keçirmək üçün xarici sistemə qoşulmaq üçün ZH1.5T-4P 1.5 mm konnektordan istifadə edir. Xüsusi interfeys tərifi və parametr tələbləri aşağıdakı şəkildə/cədvəldə göstərilmişdir:
liman nömrə | siqnal ad | növü | təsvir etmək ion | mini ana | tipik | maxi ana |
1 | Tx | çıxış | LiDAR
məlumat çıxışı |
ov | 3.3V | 3.5V |
2 | PWM | giriş | motor idarəetmə | ov | – | 3.3V |
3 | GND | enerji təchizatı | mənfi | – | ov | – |
4 | P5V | enerji təchizatı | müsbət | 4.5V | 5V | 5.5V |
LD19 daxili sürətə nəzarəti və xarici sürətə nəzarəti dəstəkləyən daha az sürət tənzimləməsi olan motor sürücüsünə malikdir. PWM pin əsaslandıqda, standart daxili sürət tənzimlənməsidir və standart sürət 10±0.1Hz-dir. Xarici sürətə nəzarət üçün kvadrat dalğa siqnalını PWM pininə bağlamaq lazımdır və motorun başlanğıcı, dayanması və sürəti PWM siqnalının iş dövrü ilə idarə oluna bilər. Xarici sürət nəzarətinin işə salınması üçün şərtlər: a. Giriş PWM tezliyi 20-50K, tövsiyə olunan 30K; b. İş dövrü (45%, 55%) intervalda (45% və 55% istisna olmaqla) və ən azı 100ms davamlı giriş vaxtıdır. Xarici sürət tənzimləyicisi işə salındıqdan sonra o, həmişə xarici sürətə nəzarət vəziyyətindədir və elektrik enerjisi söndürülməyib yenidən işə salınmayınca daxili sürətə nəzarət bərpa olunacaq; eyni zamanda, sürətə nəzarət PWM iş dövrünü tənzimləməklə həyata keçirilə bilər. Hər bir məhsulun motorunun fərdi fərqlərinə görə iş dövrü tipik bir dəyərə təyin edildikdə faktiki sürət fərqli ola bilər. Mühərrikin sürətini dəqiq idarə etmək üçün alınan məlumatlarda sürət məlumatlarına uyğun olaraq qapalı dövrə nəzarətini həyata keçirmək lazımdır. Qeyd: Xarici sürət nəzarətindən istifadə etmədikdə, PWM pinini yerə qoymaq lazımdır.
LD19-un məlumat rabitəsi standart universal asinxron serial port (UART) birtərəfli ötürməni qəbul edir və onun ötürmə parametrləri aşağıdakı cədvəldə göstərilir:
yem nisbəti | məlumat uzunluğu | biraz dayan | paritet bit | axınına nəzarət | |||
230400bit / s | 8 Bit | I | 1 | I | heç biri | I | heç biri |
MƏLUMAT PROTOKOLU
Məlumat paketi formatı
LD19 birtərəfli rabitəni qəbul edir. Stabil işləmədən sonra heç bir əmr göndərmədən ölçmə məlumat paketlərini göndərməyə başlayır. Ölçmə paketinin formatı aşağıdakı şəkildə göstərilmişdir.
Başlıq | VerLen | Sürət | Başlanğıc bucağı | Data | Son bucaq | Zamanamp | CRC yoxlaması | ||||
54H | Mən Bayt | LSB | MSB | LSB | MSB | …… | LSB | MSB | LSB | MSB | Mən Bayt |
- Başlıq: Uzunluq 1 baytdır və dəyər məlumat paketinin başlanğıcını göstərən 0x54-də sabitlənmişdir;
- Verlen: Uzunluq 1 baytdır, yuxarıdakı üç bit hazırda 1-də sabitlənmiş paket tipini, aşağı beş bit isə paketdəki ölçmə nöqtələrinin sayını göstərir və hazırda 12-də sabitlənir, beləliklə bayt dəyəri sabitdir. 0x2C-də;
- Sürət: Uzunluğu 2 Baytdır, vahid saniyədə dərəcədir, lidarın sürətini göstərir;
- Başlanğıc bucağı: Uzunluğu 2 Baytdır və vahid məlumat paketi nöqtəsinin başlanğıc bucağını göstərən 0.01 dərəcədir;
- Məlumat: Ölçmə məlumatlarını göstərir, ölçmə məlumatının uzunluğu 3 baytdır, ətraflı təhlil üçün növbəti bölməyə müraciət edin;
- Son bucaq: Uzunluğu 2 baytdır və vahid məlumat paketi nöqtəsinin son bucağını göstərən 0.01 dərəcədir;
- Zamanamp : Uzunluq 2 Bayt, vahid millisaniyə, maksimum isə 30000-dir. 30000-ə çatdıqda, vaxtı göstərərək yenidən hesablanacaq.amp məlumat paketinin dəyəri;
- CRC yoxlanışı: Uzunluq özündən başqa bütün əvvəlki məlumatların yoxlanılmasından əldə edilən 1 Baytdır. CRC yoxlama metodu üçün təfərrüatlar üçün aşağıdakı məzmuna baxın;
Məlumat strukturuna istinad aşağıdakı kimidir:
#PO/NT_PER_PACK 12-ni təyin edin
#0x54 HEADER-i təyin edin
typedef struct _attribute_((paketlənmiş))
{ uint16_t məsafə;
uint8_t intensivliyi; } LidarPointStructDef;
typedef struct _attribute_((qablaşdırılmış)) {
uint8_t: başlıq;
uint8 t: ver_len;
uint16_t: sürət;
uint16 t: başlanğıc_ bucağı;
LidarPointStructDef nöqtəsi[POINT_PER_PACK};
uint16 t: son_bucaq;
uint16_t: vaxtamp;
uint8 t: crc8;
}LiDARFrameTypeDef;
CRC yoxlamasının hesablanması üsulu aşağıdakı kimidir:
statik canst uint8_t CrcTable{256]={ 0x00, 0x4d, 0x9a, 0xdl, 0x79, 0x34, 0xe3, 0xae, 0xf2, 0xbf, 0x68, 0x25, 0x8b, 0xc6, 0x11, 0x5c, 0xa9, 0xe4, 0x33, 0xle, 0xd0, 0x9d, 0x4a, 0x0l, 0x5b, 0x16, 0xcl, 0x8c, 0x22, 0x6f, 0xb8, 0xf5, 0xlf, 0x52, 0x85, 0xc8, 0x66, 0x2b, 0xfc, 0xbl, 0xed, 0xa0, 0xll, 0x3a, 0x94, 0xd9, 0x0e, 0x43, 0xb6, 0xfb, 0x2c, 0x61, 0xcf, 0x82, 0x55, Ox18, Ox44, Ox09, Oxde, Ox93, Ox3d, OxlO, Oxal, Oxea, Ox3e, Ox73, Oxa4, Oxe9, Ox47, OxOa, Oxdd, Ox90, Oxee, Ox81, Ox56, Oxlb, Oxb5, Oxf8, Ox2f, Ox62, Ox97, Oxda, OxOd, Ox40, Oxee, Oxa3, Ox74, Ox39, Ox65, Ox28, Oxff, Oxb2, Oxle, Ox51, Ox86, Oxeb, Ox21, Ox6e, Oxbb, Oxf6, Ox58, Ox15, Oxe2, Ox8f, Oxd3, Ox9e, Ox49, Ox04, Oxaa, Oxel, Ox30, Oxld, Ox88, Oxe5, Ox12, Ox5f, Oxfl, Oxbe, Ox6b, Ox26, Oxla, Ox37, OxeO, Oxad, Ox03, Ox4e, Ox99, Oxd4, Oxle, Ox31, Oxe6, Oxab, Ox05, Ox48, Ox9f, Oxd2, Ox8e, Oxe3, Ox14, Ox59, Oxfl, Oxba, Ox6d, Ox20, Oxd5, Ox98, Ox4f, Ox02, Oxae, Oxel, Ox36, Oxlb, Ox27, Ox6a, Oxbd, OxfO, Ox5e, Ox13, Oxe4, Ox89, Ox63, Ox2e, Oxf9, Oxb4, Oxla, Ox57, Ox80, Oxed, Ox91, Oxde, OxOb, Ox46, Oxe8, Oxa5, Ox72, Ox3f, Oxca, Ox87, Ox50, Oxld, Oxb3, Oxfe, Ox29, Ox64, Ox38, Ox75, Oxa2, Oxef, Ox41, OxOe, Oxdb, Ox96, Ox42, OxOf, Oxd8, Ox95, Ox3b, Ox76, Oxal, Oxee, OxbO, Oxfd, Ox2a, Ox67, Oxe9, Ox84, Ox53, Oxle, Oxeb, Oxa6, Ox71, Ox3e, Ox92, Oxdf, Ox08, Ox45, Ox19, Ox54, Ox83, Oxee, Ox60, Ox2d, Oxfa, Oxbl, Ox5d, Ox10, Oxel, Ox8a, Ox24, Ox69, Oxbe, Oxf3, Oxaf, Oxe2, Ox35, Ox 78, Oxd6, Ox9b, Ox4e, Ox01, Oxf4, Oxb9, Ox6e, Ox23, Ox8d, OxeO, Oxl 7, Ox5a, Ox06, Ox4b, Ox9e, Oxdl, Oxlf, Ox32, Oxe5, Oxa8 }; uint8_t CaJCRC8{uint8_t *p, uint8_t Jen){ uint8_t ere= O; uint16_t i; üçün (i = O; i < Jen; i++){ ere= CreTabJe[(ere J\ *p++) & Oxff]; } geri qayıt; |
Ölçmə məlumatlarının təhlili
Hər bir ölçmə məlumat nöqtəsi aşağıdakı şəkildə göstərildiyi kimi 2 bayt məsafə dəyəri və 1 bayt etibarlılıq dəyərindən ibarətdir.
Başlıq | VerLen | Sürət | Başlanğıc bucağı | Data | Son bucaq | Zamanamp | CRC yoxlaması | ||||
54H | 2cH | LSB | MSB | LSB | MSB | …… | LSB | MSB | LSB | MSB | lbayt |
Ölçmə nöqtəsi 1 | Ölçmə nöqtəsi 2 | … | Ölçü nöqtəsi n | ||||||
məsafə | intensivlik | məsafə | intensivlik | məsafə | intensivlik | ||||
LSB | MSB | 1 bayt | LSB | MSB | 1 bayt | … | LSB | MSB | 1 bayt |
Məsafə dəyərinin vahidi mm-dir. Siqnal intensivliyi dəyəri işığın əks olunma intensivliyini əks etdirir. İntensivlik nə qədər yüksək olarsa, siqnalın intensivliyi dəyəri bir o qədər böyükdür; intensivliyi nə qədər aşağı olarsa, siqnal intensivliyi dəyəri bir o qədər kiçik olar. 6m məsafədə olan ağ obyekt üçün siqnal gücü dəyərinin tipik dəyəri 200-ə yaxındır. Hər bir nöqtənin bucaq dəyəri başlanğıc bucağın və bitmə bucağının xətti interpolyasiyası ilə əldə edilir. Bucaq hesablama üsulu aşağıdakı kimidir:
addım= (son_bucaq -başlanğıc_bucaq)/(Jen -1);
bucaq = başlanğıc_bucaq + addım*i;
burada Jen məlumat paketindəki ölçmə nöqtələrinin sayı, i-nin dəyər diapazonu isə [O, Jen).
Example
Tutaq ki, biz aşağıda göstərildiyi kimi bir məlumat parçası alırıq.
54 2C 68 08 AB 7E EO 00 E4 DC 00 E2 D9 00 ES DS 00 E3 D3 00 E4 DO 00 E9 CD 00 E4 CA 00 E2 C7 00 E9 CS 00 ES C2 00 ES CO 00ESA82BE
Bunu aşağıdakı kimi təhlil edirik:
Başlıq | VerLen | Sürət | Başlanğıc bucağı | Data | Son bucaq | Zamanamp | CRC yoxlaması | ||||
54H | 2CH | 68H | 08H | ABH | 7EH | …… | BEH | 82H | 3AH | lAH | 50H |
Ölçmə nöqtəsi 1 | Ölçmə nöqtəsi 2 |
••• |
Ölçmə nöqtəsi 12 | ||||||
məsafə | intensivlik | məsafə | intensivlik | məsafə | intensivlik | ||||
EOH | OOH | E4H | DCH | OOH | E2H | … | BOH | OOH | EAH |
Sahə məlumatları | Təhlil prosesi |
Sürət | 0868H = saniyədə 2152 dərəcə; |
Başlanğıc bucağı | 7EABH = 32427 və ya 324.27 dərəcə; |
Son bucaq | 82BEH = 33470 və ya 334.7 dərəcə; |
I məsafənin ölçülməsi | OOEOH = 224 mm |
Ölçmə nöqtəsi 1 intensivliyi | E4H = 228 |
Ölçmə nöqtəsi 2 məsafə | OODCH = 200 mm |
Ölçmə nöqtəsi 2 intensivliyi | OOE2H = 226 |
… | … |
Ölçmə nöqtəsi 12 məsafə | OOBOH = 176 mm |
Ölçmə nöqtəsi 12 intensivliyi | EAH=234 |
KOORDİNAT SİSTEMİ
LD19 sol əlli koordinat sistemindən istifadə edir, fırlanma mərkəzi koordinat mənşəlidir, sensorun önü sıfır dərəcə istiqaməti kimi müəyyən edilir və fırlanma bucağı aşağıdakı şəkildə göstərildiyi kimi saat istiqamətində artır.
İNKİŞAF DƏSTİNİN TƏLİMATLARI
Qiymətləndirmə alətindən necə istifadə etmək olar
Aparat kabelinin əlaqəsi və təsviri
- LiDAR, tel, USB adapter lövhəsi, aşağıdakı şəkildə göstərildiyi kimi:
- Aşağıdakı şəkildə göstərildiyi kimi əlaqə diaqramı:
Windows altında sürücü quraşdırılması
Şirkətin məhsullarını Windows altında qiymətləndirərkən, USB adapter lövhəsinin serial port sürücüsünü quraşdırmaq lazımdır. Səbəb şirkət tərəfindən təqdim edilən inkişaf dəstindəki USB adapter lövhəsinin CP2102 USB-dən serial port adapter çipini qəbul etməsidir və onun sürücüsünü Labs-ın rəsmi saytından Silicon Download-dan əldə etmək olar. websayt:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
Və ya, CP210x_Universal_Windows_Driver sürücü paketini açdıqdan sonra exe-ni yerinə yetirin. file sürücü quraşdırma paketi kataloqunda seçin və Windows sisteminin versiyasına uyğun olaraq X86 (32-bit) və ya X64 (64-bit) seçin.
Exe faylını iki dəfə vurun file və quraşdırmaq üçün göstərişlərə əməl edin.
Quraşdırma tamamlandıqdan sonra, inkişaf dəstindəki USB adapter lövhəsini kompüterə qoşun, [My Computer] üzərinə sağ klikləyin, [Xüsusiyyətlər] seçin və açılmış [Sistem] interfeysində sol menyudan [Device Manager] seçin. daxil olmaq üçün Cihaz menecerinə gedin, [Portları] genişləndirin, siz tanınmış CP2102 USB adapterinə uyğun gələn seriya port nömrəsini görə bilərsiniz, yəni sürücü uğurla quraşdırılıb və aşağıdakı rəqəm COM4-dür.
LdsPointCloud-dan istifadəViewWindows altında proqram təminatı
Nöqtə buludunun vizuallaşdırılması proqramı LdsPointCloudViewBu məhsulun skan edilmiş məlumatlarını real vaxt rejimində göstərə bilər və tərtibatçılar bu məhsulun skan edilmiş təsvirlərini vizual olaraq müşahidə etmək üçün bu proqramdan istifadə edə bilərlər. Bu proqram təminatından istifadə etməzdən əvvəl, bu məhsulun USB adapter lövhəsinin drayverinin uğurla quraşdırıldığını və məhsulun Windows sistem PC-nin USB portu ilə bir-birinə qoşulduğunu ayırd etmək lazımdır, sonra LdsPointCloud üzərinə iki dəfə klikləyin.Viewer.exe faylını yükləyin və müvafiq məhsul modelini və port nömrəsini seçin, aşağıdakı şəkildə göstərildiyi kimi Başlanğıc nöqtəsi buludunu yeniləmə düyməsini basın.
Yuxarıdakı şəkildə,
'Sürət' lidar skan tezliyini təmsil edir, vahid: Hz;
'Rate' lidar məlumat paketinin həlletmə dərəcəsini təmsil edir;
'Valid' lidarın dairəni ölçməsi üçün etibarlı nöqtəni təmsil edir.
Məhsulun 3D modeli file
LiDAR_LD19_3D_stp_Vl.0-nı açın file 3D modeli əldə etmək file STP formatında.
Linux altında ROS əsasında əməliyyat
ROS mühitinin tətbiqi və quraşdırılması
ROS (Robot Əməliyyat Sistemi) Linux üzərində qurulmuş robotlar və ara proqramlar üçün açıq mənbəli meta-əməliyyat sistemidir. O, əməliyyat sistemindən gözlənilən xidmətləri, o cümlədən aparat abstraksiyasını, aşağı səviyyəli cihaz nəzarətini, tez-tez istifadə olunan funksiyaların həyata keçirilməsini, proseslər arasında mesaj ötürməsini və paketin idarə edilməsini təmin edir. O, həmçinin kompüterlər arasında kodu əldə etmək, tərtib etmək, yazmaq və işlətmək üçün lazım olan alətləri və kitabxana funksiyalarını təmin edir. ROS-un hər bir versiyasının quraşdırılması addımları üçün rəsmi ROS-a müraciət edin websayt: http://wiki.ros.org/ROS/lnstallation
Bu məhsulun ROS funksiya paketi aşağıdakı versiyaları və mühitləri dəstəkləyir:
- ROS Kinetic (Ubuntu16.04);
- ROS Melodik (Ubuntu18.04);
- ROS Noetic (Ubuntu20.04).
ROS Paketinin mənbə kodunu əldə edin
Bu məhsulun ROS funksiya paketinin mənbə kodu Github deposunda yerləşdirilib. Siz repozitor şəbəkəsi linkinə daxil olaraq master və ya əsas filialın mənbə kodunu yükləyə və ya onu git aləti vasitəsilə endirə bilərsiniz. İstifadəçilər həmçinin SDK LD19 > ldlidar stl ros.zi-ni istifadə üçün aşağıdakı yola birbaşa çıxara bilərlər.
- Repozitoriya websayt ünvanı
► https://github.com/DFRobotdl/ldlidarstlros - git alət yükləmə əməliyyatı
# Əvvəlcə terminal interfeysini açın, ctrl+alt+t qısayol düyməsini istifadə edə bilərsiniz
# İstifadə etdiyiniz Ubuntu sistemində git aləti quraşdırılmayıbsa, onu belə quraşdıra bilərsiniz belədir: $ sudo apt-get install qurun # Məhsulun ROS funksiya paketinin mənbə kodunu endirin: $ cd ~ $ mkdir -p ldlidar_ros_ws/src $ cd ~/ldlidar_ros_ws/src $git klonu https://github.com/DFRobotdl/ldlidar_stl_ros.git #ya da $ ldlidar_stl_ros.zip faylını açın |
Cihaz icazələrini təyin edin
Əvvəlcə lidarı adapter modulumuza (CP2102 adapter) qoşun və modulu kompüterə qoşun. Sonra, ubuntu sisteminin altında bir terminal açın və daxil olun Is /dev/ttyUSB*
seriyalı cihazın qoşulduğunu yoxlamaq üçün. Serial port cihazı aşkar edilərsə, istifadə edin sudo ch mod 777 /dev/ttyUSB*
ona ən yüksək səlahiyyəti verməyi əmr edin, yəni file sahib, qrup və digər istifadəçilər aşağıdakı şəkildə göstərildiyi kimi icazələri oxuyur, yazır və icra edir.
Nəhayət, dəyişdirin port_name
dəyəri ld19.launch
file ildə ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/
kataloq. Sistemdə /dev/ttyUSB0 kimi quraşdırılmış lidarı keçmiş olaraq götürünample, aşağıda göstərildiyi kimi.
$ nano ~/Jdlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch |
Linux nano redaktoru: Ctrl + 0 redaktəni saxlayır file; Ctrl + X redaktə interfeysindən çıxır.
Quraşdırma və ətraf mühit parametrləri
- Məhsulun funksiya paketini tərtib etmək və qurmaq üçün catkin kompilyasiya sistemindən istifadə edin:
$ cd ~/fdlidauos~ws
. $ catkin_make - Funksiya paketi mühiti dəyişən parametrləri:
Kompilyasiya tamamlandıqdan sonra müvafiq əlavə etməlisiniz files ətraf mühit dəyişənlərinin tərtibi ilə yaradılır, beləliklə ROS mühiti onları tanıya bilər. İcra əmri aşağıdakı kimidir. Bu əmr terminala müvəqqəti olaraq mühit dəyişənlərini əlavə etməkdir, yəni yeni terminalı yenidən açsanız, onu da yenidən icra etməlisiniz. Aşağıdakı əmr.
$ cd ~/tdlidar_ros_ws $ mənbə devel/setup.bash |
Terminalı yenidən açdıqdan sonra ətraf mühit dəyişənlərini əlavə etmək üçün yuxarıdakı əmri heç vaxt yerinə yetirməmək üçün aşağıdakıları edə bilərsiniz.
$ echo mənbəyi ~//dlidar_ros_ws/devel/setup.bash » ~/bashrc $ mənbə ~/bashrc |
Run node və Rviz LiDAR nöqtə buludunu göstərir
Lidar node-u işə salın və aşağıdakı əmri yerinə yetirin.
$ roslaunch ldlidar_stl_ros ld19.launch |
Lidar nodunu işə salın və Rviz-də lidar nöqtəsi bulud məlumatlarını göstərin, aşağıdakı əmri yerinə yetirin.
# əgər ROS_DISTRO 'kinetik' və ya 'melodik'dirsə $ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic.launch # əgər ROS_DISTRO 'noetik' $ ros/aunch ldlidar_st/_ros viewer_ld19_noetic.launch |
Linux altında ROS2 əsasında əməliyyat
ROS2 mühitinin tətbiqi və quraşdırılması
ROS (Robot Əməliyyat Sistemi) Linux üzərində qurulmuş robotlar və ara proqramlar üçün açıq mənbəli meta-əməliyyat sistemidir. O, əməliyyat sistemindən gözlənilən xidmətləri, o cümlədən aparat abstraksiyasını, aşağı səviyyəli cihaz nəzarətini, tez-tez istifadə olunan funksiyaların həyata keçirilməsini, proseslər arasında mesaj ötürməsini və paketin idarə edilməsini təmin edir. O, həmçinin kompüterlər arasında kodu əldə etmək, tərtib etmək, yazmaq və işlətmək üçün lazım olan alətləri və kitabxana funksiyalarını təmin edir. ROS 2007-ci ildə istifadəyə verildikdən sonra robototexnika və ROS icması çox dəyişdi. ROS2 layihəsinin məqsədi bu dəyişikliklərə uyğunlaşmaq, ROSl-in güclü tərəflərindən istifadə etmək və zəif tərəfləri təkmilləşdirməkdir. ROS2 quraşdırma addımları üçün rəsmi müraciət edin webROS2 saytı: https://docs.ros.org/en/foxy/lnstallation.html
Bu məhsulun ROS2 funksiya paketi ROS2 foxy və yuxarı versiyalarının istifadəsini dəstəkləyir.
ROS2 Paketinin mənbə kodunu əldə edin
Bu məhsulun ROS2 funksiya paketinin mənbə kodu Github-un depolarında yerləşdirilib. Siz repozitoriyanın şəbəkə linkinə daxil olaraq master və ya əsas filialın mənbə kodunu yükləyə və ya git aləti vasitəsilə yükləyə bilərsiniz. İstifadəçilər həmçinin birbaşa çıxara bilərlər. SDK LD19 > ldlidar_stl_ros2.ziR
istifadə üçün aşağıdakı yola.
- Repozitoriya websayt ünvanı
► https://github.com/DFRobotdl/ldlidarstlros2 - git alət yükləmə əməliyyatı
# Əvvəlcə terminal interfeysini açın, ctrl+alt+t qısayol düyməsini istifadə edə bilərsiniz # İstifadə etdiyiniz Ubuntu sistemində git aləti quraşdırılmayıbsa, onu belə quraşdıra bilərsiniz belədir: $ sudo apt-get install qurun # Məhsulun ROS2 funksiya paketinin mənbə kodunu yükləyin: $ cd ~ $ mkdir -p ldlidar_ros2_ ws/src $ cd ~/ldlidar_ros2_ws/src $ git klonu https://github.com/DFRobotdl/ldlidar_st/_ros2.git #ya da $ ldlidar_st/_ros2.zip faylını açın |
Cihaz icazələrini təyin edin
Əvvəlcə lidarı adapter modulumuza (CP2102 adapter) qoşun və modulu kompüterə qoşun. Sonra, ubuntu sisteminin altında bir terminal açın və daxil olun Is /dev/ttyUSB*
seriyalı cihazın qoşulduğunu yoxlamaq üçün. Serial port cihazı aşkar edilərsə, istifadə edin sudo chmod 777 /dev/ttyUSB*
ona ən yüksək səlahiyyəti verməyi əmr edin, yəni file sahib, qrup və digər istifadəçilər aşağıdakı şəkildə göstərildiyi kimi icazələri oxuyur, yazır və icra edir.
Nəhayət, dəyişdirin port_name
dəyəri ld19.launch.py
file ildə ~/ldldiar_ros2_ws/src/ldlidar_stl_ros2/launch/
kataloq. Sistemdə quraşdırılmış lidar kimi götürün /dev/ttyUSBO
keçmiş kimiample, aşağıda göstərildiyi kimi.
$ nano ~ /ldlidar _ros2_ ws/src/ldldiar_stl_ros2/launch/ld19.launch.py |
Linux nano redaktoru: Ctrl + 0 redaktəni saxlayır file; Ctrl + X redaktə interfeysindən çıxır.
Quraşdırma və ətraf mühit parametrləri
- Məhsulun funksiya paketini tərtib etmək və qurmaq üçün colcon kompilyasiya sistemindən istifadə edin:
$ cd ~/fdlidauos2~ws
. $ co/con qurmaq - Funksiya paketi mühiti dəyişən parametrləri:
Kompilyasiya tamamlandıqdan sonra müvafiq əlavə etməlisiniz fileROS2 mühitinin tanınması üçün mühit dəyişənlərinin tərtibi ilə yaradılır. İcra əmri aşağıdakı kimidir. Bu əmr terminala müvəqqəti olaraq mühit dəyişənlərini əlavə etməkdir, yəni yeni terminalı yenidən açsanız, onu da yenidən icra etməlisiniz. Aşağıdakı əmr.
$ cd ~/Jdlidar_ros2_ws $ source install/setup.bash |
Terminalı yenidən açdıqdan sonra ətraf mühit dəyişənlərini əlavə etmək üçün yuxarıdakı əmri heç vaxt yerinə yetirməmək üçün aşağıdakıları edə bilərsiniz.
$ echo mənbəyi ~/Jdlidar_ros2_ws/install/setup.bash » ~j.bashrc |
$ mənbə ~j.bashrc |
Run node və Rviz2 displey LiDAR nöqtə bulud
Lidar node-u işə salın və aşağıdakı əmri yerinə yetirin.
$ ros2 ldlidar_stl_ros2 ld19.launch.py işə salın |
Lidar nodunu işə salın və Rviz2-də lidar nöqtə buludunu göstərin, aşağıdakı əmri yerinə yetirin.
$ ros2 ldlidar_stl_ros2-ni işə salır viewer_ld19.launch.py |
Linux altında SDK-dan istifadə üçün təlimatlar
SDK-nın mənbə kodunu əldə edin
Bu məhsulun Linux SOK-un mənbə kodu Github-un depolarında yerləşdirilib. Siz repozitoriyanın şəbəkə linkinə daxil olaraq master və ya əsas filialın mənbə kodunu yükləyə və ya gittool vasitəsilə yükləyə bilərsiniz. İstifadəçilər də birbaşa çıxara bilər SOK L019 > ldlidar stl sdk.zip
istifadə üçün aşağıdakı yola.
- Repozitoriya websayt ünvanı
► https://github.com/OFRobotdl/ldlidarstlsdk - git alət yükləmə əməliyyatı
# Əvvəlcə terminal interfeysini açın, ctrl+alt+t qısayol düyməsini istifadə edə bilərsiniz # İstifadə etdiyiniz Ubuntu sistemində git aləti quraşdırılmayıbsa, onu belə quraşdıra bilərsiniz belədir: $ sudo apt-get install qurun # Mənbə kodunu yükləyin: $ cd ~ $ mkdir ldlidar_ws $ cd ~/ldlidar_ws $ git klonu https://github.com/DFRobotdl/ldlidar_stl_sdk.git #ya da $ ldlidar_stl_sdk.zip faylını açın |
Cihaz icazələrini təyin edin
Əvvəlcə lidarı adapter modulumuza (CP2102 adapter}) birləşdirin və modulu kompüterə birləşdirin.Sonra ubuntu sisteminin altında terminal açın və daxil edin Is /dev/ttyUSB*
seriyalı cihazın qoşulduğunu yoxlamaq üçün. Serial port cihazı aşkar edilərsə, istifadə edin sudo chmod 777 /dev/ttyUSB*
ona ən yüksək səlahiyyəti verməyi əmr edin, yəni file sahib, qrup və digər istifadəçilər aşağıdakı şəkildə göstərildiyi kimi icazələri oxuyur, yazır və icra edir.
qurmaq
Mənbə kodu C++11 standart C++ dilində və C99 standart C dilində kodlaşdırılmışdır. Mənbə kodunu tərtib etmək və qurmaq üçün CMake, GNU-make, GCC və digər vasitələrdən istifadə edin. Yuxarıdakı alətlər quraşdırılmadan Ubuntu sistemindən istifadə edirsinizsə, quraşdırmanı başa çatdırmaq üçün aşağıdakı əmri yerinə yetirə bilərsiniz.
$ sudo apt-get install build-essential cmake |
Əgər yuxarıda göstərilən alətlər sistemdə artıq mövcuddursa, aşağıdakıları edin.
$ cd ~/ldlidar_ ws/ldlidar_stl_sdk # Quraşdırma qovluğu ldlidar_st/_sdk qovluğunda yoxdursa, onu yaratmaq lazımdır $ mkdir qurmaq $ cd qurmaq $ cmake .. / $ etmək |
İkili proqramı işə salın
$ cd ~/ldlidar_ ws/ldlidar_st/_sdk/build $ ./ldlidar_stl # məsələn: ./ldlidar_stl /dev/ttyUSBO |
Raspberry Pi SBC əsasında ROS-dan istifadə üçün təlimatlar
Təfərrüatlar üçün «LD19 Raspberry Pi Raspbian İstifadəçi təlimatı_ V2.9.pdf)) təlimatına baxın.
Bundan əlavə, bu məhsul üçün Raspberry Pi üçün xüsusi bir şəkil təqdim etdik və onun istifadə təlimatı aşağıdakı kimidir:
Güzgülərə giriş
- Güzgü tərkibi:
• raspberrypi raspbian OS versiyası: 2020-08-20-raspios-buster-armhf
• ROS mühit versiyası: ROS melodik
• LiDAR LD19 ROS Paketi - Avadanlıq dəstəyi:
• raspberrypi 3B+ SBC , raspberrypi 4B SBC
• 16 GB-dan çox və ya ona bərabər tutumlu SD kart
Güzgü istifadəsi
- Şəkli yükləyin file:
• Yükləmə linki 1: https://pan.baidu.com/s/lfvTfXBbWC9ESXNNUY5aJhw 1Jt:&:7ky8a
• Yükləmə linki 2:
https://drive.google.com/file/d/lylMTFGRZ9cRcy3Njvf10cxDo4Wy3tfCB/view?usp=sharing
• Görüntü file adıdır 2022-03-24-raspios-buster-armhf-ldrobot-customization.img.xz - Şəkili yazın file SD karta köçürün və sistemi işə salın:
Win32Disklmager vasitəsi ilə yazın, uğurlu yazdıqdan sonra onu Raspberry Pi kart yuvasına daxil edin və sistemi işə salın.- Sistemə girişlə bağlı məlumat
• İstifadəçi adı:pi
• Host adı:raspberrypi
• Keçid palatası
pi
- Lidar düyünü işlədir
- Sistemə girişlə bağlı məlumat
#addım: Lidar cihazının raspberrypi SBC-yə qoşulduğundan əmin olun və terminal vasitəsilə terminalı açın. qısayol Ctrl+Alt+T. #addım2: Port cihazını geri götürün file vasitəsilə radar cihazına uyğundur Is-I/dv1i , icra edilə bilən veriricazə və sonra lanuch dəyişdirin file parametrlər. Limanı götürün file lidar cihazına uyğundur əvvəlki kimi /dev/ttyUSB0 kimiample. $ sudo chmod 777 /dev/ttyUSB0 # Qeyd: Güzgüdə Lldar ROS sürücü paketini ilk dəfə yeniləmək tövsiyə olunur $ cd ~ && cd ~/ldlidar_ros_ws/src/ $ rm -rf ldlidar_stl_ros/ $ git klonu https://github.com/DFRobotdl/ldlidar_stl_ros.git |
Nəhayət, dəyişdirin port_name
ld19.launch-da dəyər file ildə ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/
kataloq. Sistemdə quraşdırılmış lidar kimi götürün /dev/ttyUSBO
keçmiş kimiample, aşağıda göstərildiyi kimi.
$ nano ~/ldlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch |
Lidar node-u işə salın və aşağıdakı əmri yerinə yetirin.
$ roslaunch ldlidar_stl_ros ld19.launch |
Lidar nodunu işə salın və Rviz-də lidar nöqtəsi bulud məlumatlarını göstərin, aşağıdakı əmri yerinə yetirin.
$ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic./aunch |
TƏKLİF TARİXİ
versiya | təftiş tarixi | dəyişdirmək the məzmun |
1.0 | 2020-09-01 | İlkin yaradılış |
1.1 | 2021-01-15 | Transform() funksiyasını silin |
2.0 |
2022-02-27 |
İnkişaf dəstinin məzmunu əlavə edildi təlimat ionları |
2.1 |
2022-03-06 |
Sənədin qrafik dizaynını artırın və məzmun formatını yenidən nəzərdən keçirin |
2.2 |
2022-03-09 |
Sənədin üz qabığının başlığını və məzmunun bir hissəsini dəyişdirin |
2.3 | 2022-03-15 | Sənədlərdəki problemli ifadələri yenidən nəzərdən keçirin |
2.4 | 2022-04-02 |
|
2.5 | 2022-06-25 |
|
Sənədlər / Resurslar
![]() |
DFRobot LiDAR LD19 Lazer Sensor Dəsti [pdf] Təlimat kitabçası LiDAR LD19 Lazer Sensor Dəsti, LiDAR LD19, Lazer Sensor Dəsti, Sensor Dəsti |