Kit senzor laser DFRobot LiDAR LD19 

Kit senzor laser DFRobot LiDAR LD19

DESCRIERE PRODUS

LD19 este compus în principal din miezul de măsurare cu laser, unitate telex fără fir, unitate de comunicație fără fir, unitate de măsurare a unghiului, unitate de acționare a motorului și carcasă mecanică.

Miezul LD19 folosește tehnologia DTOF, care poate măsura de 4,500 de ori pe secundă. De fiecare dată când se măsoară distanța, LD19 emite un laser infraroșu înainte, iar laserul este reflectat către unitatea de recepție cu un singur foton după ce a întâlnit obiectul țintă. Din aceasta, am obținut momentul în care laserul a fost emis și momentul în care unitatea de recepție cu un singur foton a primit laserul. Diferența de timp dintre cele două este timpul de zbor al luminii. Timpul de zbor poate fi combinat cu viteza luminii pentru a calcula distanța.

După obținerea datelor despre distanță, LD19 va combina valorile unghiurilor măsurate de unitatea de măsurare a unghiului pentru a forma date despre norul de puncte și apoi va trimite datele despre norul de puncte către interfața externă prin comunicare fără fir. LD19 acceptă controlul intern al vitezei, viteza poate fi stabilizată la 10±0.1 Hz în 3 secunde după pornire. În același timp, interfața de intrare externă PWM este furnizată pentru a sprijini controlul extern al vitezei. După ce unitatea de control externă obține viteza, aceasta este controlată de algoritmul PID în buclă închisă, iar semnalul PWM este introdus pentru a face ca LD19 să atingă viteza specificată.

Mai jos este prezentată o ilustrare a scanării mediului formată din datele norului de puncte LD19:

Descriere produs

INTERFATA DE COMUNICARE

LD19 folosește conectorul ZH1.5T-4P de 1.5 mm pentru a se conecta la un sistem extern pentru a realiza alimentarea cu energie și recepția de date. Definiția specifică a interfeței și cerințele parametrilor sunt prezentate în următoarea figură/tabel:

port număr semnal nume tip descriere ion mini mama tipic maxi mama
1 Tx ieșire LiDAR

ieșirea datelor

ov 3.3V 3.5V
2 PWM intrare controlul motorului ov 3.3V
3 GND alimentare electrică negativ ov
4 P5V alimentare electrică pozitiv 4.5V 5V 5.5V

LD19 are un motor

LD19 are un driver de motor cu reglare a vitezei fără trepte, care acceptă controlul intern al vitezei și controlul extern al vitezei. Când pinul PWM este împământat, valoarea implicită este reglarea internă a vitezei, iar viteza implicită este 10±0.1 Hz. Pentru controlul extern al vitezei, un semnal cu undă pătrată trebuie conectat la pinul PWM, iar pornirea, oprirea și viteza motorului pot fi controlate prin ciclul de lucru al semnalului PWM. Condiții pentru declanșarea controlului extern al vitezei: a. Frecvența PWM de intrare 20-50K, recomandată 30K; b. Ciclul de funcționare este în intervalul (45%, 55%) (excluzând 45% și 55%) și timp de intrare continuu de cel puțin 100 ms. După declanșarea controlului extern al vitezei, acesta se află întotdeauna în starea de control extern al vitezei, iar controlul intern al vitezei va fi restabilit, cu excepția cazului în care alimentarea este oprită și repornită; în același timp, controlul vitezei poate fi efectuat prin ajustarea ciclului de lucru PWM. Datorită diferențelor individuale ale fiecărui motor de produs, viteza reală poate fi diferită atunci când ciclul de lucru este setat la o valoare tipică. Pentru a controla cu precizie viteza motorului, este necesar să se efectueze controlul în buclă închisă în funcție de informațiile privind viteza din datele primite. Nota: Când nu utilizați controlul extern al vitezei, pinul PWM trebuie să fie împământat.

Comunicarea de date a LD19 adoptă transmisie unidirecțională standard a portului serial asincron universal (UART), iar parametrii săi de transmisie sunt prezentați în următorul tabel:

rata baud lungimea datelor oprește puțin bit de paritate controlul debitului
230400 biți/s 8 biți I 1 I nici unul I nici unul

PROTOCOL DE DATE

Format pachet de date

LD19 adoptă comunicarea unidirecțională. După o funcționare stabilă, începe să trimită pachete de date de măsurare fără a trimite nicio comandă. Formatul pachetului de măsurare este prezentat în figura de mai jos.

Antet VerLen Viteză Unghiul de pornire Date Unghiul final Timestamp verificare CRC
54H I Byte LSB MSB LSB MSB …… LSB MSB LSB MSB I Byte
  • Antet: Lungimea este de 1 octet, iar valoarea este fixată la 0x54, indicând începutul pachetului de date;
  • Verlen: Lungimea este de 1 octet, cei trei biți superiori indică tipul pachetului, care este fixat în prezent la 1, iar cei cinci biți inferiori indică numărul de puncte de măsurare dintr-un pachet, care este fixat în prezent la 12, astfel încât valoarea octetului este fixă la 0x2C;
  • Viteză: Lungimea este de 2 octeți, unitatea este de grade pe secundă, indicând viteza lidarului;
  • Unghiul de pornire: Lungimea este de 2 octeți, iar unitatea este de 0.01 grade, indicând unghiul de pornire al punctului pachetului de date;
  • Date: Indică datele de măsurare, lungimea datelor de măsurare este de 3 octeți, vă rugăm să consultați secțiunea următoare pentru o analiză detaliată;
  • Unghiul final: Lungimea este de 2 octeți, iar unitatea este de 0.01 grade, indicând unghiul final al punctului pachetului de date;
  • Timestamp : Lungimea este de 2 octeți, unitatea este milisecunde, iar maximul este de 30000. Când ajunge la 30000, va fi numărat din nou, indicând timpulamp valoarea pachetului de date;
  • verificare CRC: Lungimea este de 1 octet, obținută din verificarea tuturor datelor anterioare, cu excepția acesteia. Pentru metoda de verificare CRC, consultați următorul conținut pentru detalii;

Referința structurii datelor este următoarea:

#define PO/NT_PER_PACK 12
#define HEADER 0x54
typedef struct _attribute_((ambalat))
{ uint16_t distanta;
uint8_t intensitate; } LidarPointStructDef;
typedef struct _attribute_((ambalat)) {

uint8_t:  antet;
uint8 t:  ver_len;
uint16_t:  viteză;
uint16 t: start_ angle;
Punct LidarPointStructDef[POINT_PER_PACK};
uint16 t: unghi_sfarsit;
uint16_t: ori mai multamp;
uint8 t: crc8;
}LiDARFrameTypeDef;

Metoda de calcul a verificării CRC este următoarea:

static 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;
pentru (i = O; i < Jen; i++){
ere= CreTabJe[(ere J\ *p++) & Oxff]; }
întoarce-te înainte;

 

Analiza datelor de măsurare

Fiecare punct de date de măsurare constă dintr-o valoare de distanță de 2 octeți și o valoare de încredere de 1 octet, așa cum se arată în figura de mai jos.

Antet VerLen Viteză Unghiul de pornire Date Unghiul final Timestamp verificare CRC
54H 2cH LSB MSB LSB MSB …… LSB MSB LSB MSB loctet

Punctul de măsurare 1 Punctul de măsurare 2 Punctul de măsurare n
distanţă intensitate distanţă intensitate distanţă intensitate
LSB MSB 1 octet LSB MSB 1 octet LSB MSB 1 octet

Unitatea de măsură a distanței este mm. Valoarea intensității semnalului reflectă intensitatea reflectării luminii. Cu cât intensitatea este mai mare, cu atât valoarea intensității semnalului este mai mare; cu cât intensitatea este mai mică, cu atât valoarea intensității semnalului este mai mică. Pentru un obiect alb pe o rază de 6m, valoarea tipică a valorii intensității semnalului este de aproximativ 200. Valoarea unghiului fiecărui punct este obținută prin interpolarea liniară a unghiului de început și unghiului de sfârșit. Metoda de calcul al unghiului este următoarea:

pas= (unghi_final -unghi_start)/(Jen -1);
unghi= unghi_început + pas*i;
unde Jen este numărul de puncte de măsurare dintr-un pachet de date, iar intervalul de valori al lui i este [O, Jen).

Example

Să presupunem că primim o parte de date așa cum se arată mai jos.
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 00 ES BE lA 82

O analizăm astfel:

Antet VerLen Viteză Unghiul de pornire Date Unghiul final Timestamp verificare CRC
54H 2CH 68H 08H ABH 7EH …… BEH 82H 3AH lAH 50H

Punctul de măsurare 1 Punctul de măsurare 2  

•••

Punctul de măsurare 12
distanţă intensitate distanţă intensitate distanţă intensitate
EOH OOH E4H DCH OOH E2H BOH OOH EAH
Informații de câmp Proces de analiză
Viteză 0868H = 2152 grade pe secundă;
Unghiul de pornire 7EABH = 32427 sau 324.27 grade;
Unghiul final 82BEH = 33470 sau 334.7 grade;
Punctul de măsurare I distanța OOEOH = 224 mm
Se măsoară intensitatea punctului 1 E4H = 228
Punctul de măsurare 2 distanță OODCH = 200 mm
Se măsoară intensitatea punctului 2 OOE2H= 226
Punctul de măsurare 12 distanță OOBOH = 176 mm
Se măsoară intensitatea punctului 12 EAH=234

SISTEM DE COORDONATE

LD19 folosește un sistem de coordonate pentru stânga, centrul de rotație este originea coordonatelor, partea frontală a senzorului este definită ca direcție de zero grade, iar unghiul de rotație crește în sensul acelor de ceasornic, așa cum se arată în figura de mai jos.

Sistemul de coordonate

INSTRUCȚIUNI KIT DE DEZVOLTARE

Cum se utilizează instrumentul de evaluare

Conexiunea cablului hardware și descriere

  1. LiDAR, fir, placă adaptor USB, așa cum se arată în următoarea figură:
    Cum se utilizează instrumentul de evaluare
  2. Schema de conectare, așa cum se arată în figura de mai jos:
    Cum se utilizează instrumentul de evaluare

Instalarea driverului sub Windows

La evaluarea produselor companiei sub Windows, este necesar să instalați driverul portului serial al plăcii adaptoare USB. Motivul este că placa adaptorului USB din kitul de dezvoltare furnizat de companie adoptă cipul adaptor CP2102 USB la port serial, iar driverul său poate fi obținut din Silicon Download de la oficialul Labs. website:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Sau, după decomprimarea pachetului de driver CP210x_Universal_Windows_Driver, executați exe file în directorul pachetului de instalare a driverului și selectați X86 (32 de biți) sau X64 (64 de biți) în funcție de versiunea sistemului Windows.

Instalarea driverului sub Windows

Faceți dublu clic pe exe file și urmați instrucțiunile pentru instalare.

Instalarea driverului sub Windows

După finalizarea instalării, conectați placa adaptorului USB din kitul de dezvoltare la computer, faceți clic dreapta pe [My Computer], selectați [Properties] și, în interfața deschisă [System], selectați [Device Manager] în meniul din stânga pentru a intra Accesați managerul de dispozitive, extindeți [Porturi], puteți vedea numărul portului de serie corespunzător adaptorului USB CP2102 recunoscut, adică driverul este instalat cu succes, iar figura de mai jos este COM4.

Instalarea driverului sub Windows

Folosind LdsPointCloudViewsoftware-ul sub Windows

Software-ul de vizualizare a norilor de puncte LdsPointCloudViewPoate afișa datele scanate ale acestui produs în timp real, iar dezvoltatorii pot folosi acest software pentru a observa vizual redările de scanare ale acestui produs. Înainte de a utiliza acest software, este necesar să distingem faptul că driverul plăcii adaptoare USB a acestui produs a fost instalat cu succes, iar produsul este interconectat cu portul USB al computerului cu sistem Windows, apoi faceți dublu clic pe LdsPointCloudViewer.exe și selectați modelul de produs și numărul de port corespunzător, faceți clic pe butonul de reîmprospătare a norului de puncte de pornire, așa cum se arată în figura următoare.

Folosind LdsPointCloudViewsoftware-ul sub Windows
În figura de mai sus,

„Viteza” reprezintă frecvența de scanare lidar, unitate: Hz;
„Rata” reprezintă rata de rezoluție a pachetelor de date lidar;
„Valid” reprezintă punctul valid pentru ca lidar să măsoare un cerc.

Model 3D de produs file

Dezarhivați LiDAR_LD19_3D_stp_Vl.0 file pentru a obține un model 3D file în format STP.

Funcționare bazată pe ROS sub Linux

Introducerea și instalarea mediului ROS

ROS (Robot Operating System) este un meta-sistem de operare open source pentru roboți și middleware construit pe Linux. Acesta oferă serviciile așteptate de la un sistem de operare, inclusiv abstracția hardware, controlul dispozitivelor la nivel scăzut, implementarea funcțiilor utilizate în mod obișnuit, transmiterea mesajelor între procese și gestionarea pachetelor. De asemenea, oferă instrumentele și funcțiile de bibliotecă necesare pentru a obține, compila, scrie și rula cod pe computere. Pentru pașii de instalare a fiecărei versiuni de ROS, vă rugăm să consultați ROS-ul oficial website: http://wiki.ros.org/ROS/lnstallation

Pachetul de funcții ROS al acestui produs acceptă următoarele versiuni și medii:

  • ROS Kinetic (Ubuntu16.04);
  • ROS Melodic(Ubuntu18.04);
  • ROS Noetic(Ubuntu20.04).

Obțineți codul sursă al pachetului ROS

Codul sursă al pachetului de funcții ROS al acestui produs este găzduit în depozitul Github. Puteți descărca codul sursă al ramului principal sau principal accesând linkul de rețea de depozit sau îl puteți descărca prin instrumentul git. Utilizatorii pot extrage direct SDK LD19 > ldlidar stl ros.zi în următoarea cale pentru utilizare.

  1. Repertoriu webadresa site-ului
    https://github.com/DFRobotdl/ldlidarstlros
  2. Operația de descărcare a instrumentului git
# Mai întâi deschideți interfața terminalului, puteți utiliza tasta de comandă rapidă ctrl+alt+t

# Dacă sistemul Ubuntu pe care îl utilizați nu are instrumentul git instalat, îl puteți instala ca

urmează:

$ sudo apt-get install git

# Descărcați codul sursă al pachetului de funcții ROS a produsului:

$ cd ~

$ mkdir -p ldlidar_ros_ws/src

$ cd ~/ldlidar_ros_ws/src

$git clona https://github.com/DFRobotdl/ldlidar_stl_ros.git

#sau

$ unzip ldlidar_stl_ros.zip

Setați permisiunile dispozitivului

Mai întâi, conectați lidar-ul la modulul nostru adaptor (adaptorul CP2102) și conectați modulul la computer. Apoi, deschideți un terminal sub sistemul ubuntu și intrați Is /dev/ttyUSB* pentru a verifica dacă dispozitivul serial este conectat. Dacă este detectat un dispozitiv cu port serial, utilizați sudo ch mod 777 /dev/ttyUSB* poruncă să-i dea cea mai înaltă autoritate, adică să dea file proprietarul, grupul și alți utilizatori citesc, scrie și execută permisiuni, așa cum se arată în figura următoare.

Setați permisiunile dispozitivului

În cele din urmă, modificați port_name valoare în ld19.launch file în ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ director. Luați lidar-ul montat în sistem ca /dev/ttyUSB0 ca example, după cum se arată mai jos.

$ nano ~/Jdlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch

Setați permisiunile dispozitivului

Editor Linux nano: Ctrl + 0 salvează editarea file; Ctrl + X iese din interfața de editare.

Setări de construcție și mediu

  1. Utilizați sistemul de compilare catkin pentru a compila și construi pachetul de funcții ale produsului:
    $ cd ~/fdlidauos~ws
    . $ catkin_make
  2. Setări pentru variabilele de mediu ale pachetului de funcții:
    După ce compilarea este finalizată, trebuie să adăugați elementele relevante filesunt generate de compilarea variabilelor de mediu, astfel încât mediul ROS să le poată recunoaște. Comanda de execuție este după cum urmează. Această comandă este pentru a adăuga temporar variabile de mediu la terminal, ceea ce înseamnă că, dacă redeschideți un nou terminal, trebuie și să-l reexecuți. Următoarea comandă.
$ cd ~/tdlidar_ros_ws
$ source devel/setup.bash

Pentru a nu mai fi nevoie să executați comanda de mai sus pentru a adăuga variabile de mediu după redeschiderea terminalului, puteți face următoarele.

$ echo source ~//dlidar_ros_ws/devel/setup.bash » ~/bashrc
$ sursă ~/bashrc

Run node și Rviz afișează nor de puncte LiDAR

Porniți nodul lidar și executați următoarea comandă.

$ roslaunch ldlidar_stl_ros ld19.lansare

Porniți nodul lidar și afișați datele norului de puncte lidar pe Rviz, executați următoarea comandă.

# dacă ROS_DISTRO în „cinetic” sau „melodic”
$ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic.launch
# dacă ROS_DISTRO în „noetic”
$ ros/aunch ldlidar_st/_ros viewer_ld19_noetic.launch
Funcționare bazată pe ROS2 sub Linux

Introducerea și instalarea mediului ROS2

ROS (Robot Operating System) este un meta-sistem de operare open source pentru roboți și middleware construit pe Linux. Acesta oferă serviciile așteptate de la un sistem de operare, inclusiv abstracția hardware, controlul dispozitivelor la nivel scăzut, implementarea funcțiilor utilizate în mod obișnuit, transmiterea mesajelor între procese și gestionarea pachetelor. De asemenea, oferă instrumentele și funcțiile de bibliotecă necesare pentru a obține, compila, scrie și rula cod pe computere. Comunitatea de robotică și ROS s-a schimbat mult de când ROS a fost lansat în 2007. Scopul proiectului ROS2 este de a se adapta la aceste schimbări, valorificând punctele forte ale ROSl și îmbunătățind punctele slabe. Pentru pașii de instalare a ROS2, vă rugăm să consultați oficialul website-ul ROS2: https://docs.ros.org/en/foxy/lnstallation.html
Pachetul cu funcții ROS2 al acestui produs acceptă utilizarea versiunii ROS2 Foxy și mai sus.

Obțineți codul sursă al pachetului ROS2

Codul sursă al pachetului de funcții ROS2 al acestui produs este găzduit în depozitele Github. Puteți descărca codul sursă al ramului principal sau principal accesând linkul de rețea al depozitului sau îl puteți descărca prin instrumentul git. De asemenea, utilizatorii pot extrage direct SDK LD19 > ldlidar_stl_ros2.ziR la următoarea cale de utilizare.

  1. Repertoriu webadresa site-ului
    https://github.com/DFRobotdl/ldlidarstlros2
  2. Operația de descărcare a instrumentului git
# Deschideți mai întâi interfața terminalului, puteți utiliza tasta de comandă rapidă ctrl+alt+t
# Dacă sistemul Ubuntu pe care îl utilizați nu are instrumentul git instalat, îl puteți instala ca
urmează:
$ sudo apt-get install git
# Descărcați codul sursă al pachetului de funcții al produsului ROS2:
$ cd ~
$ mkdir -p ldlidar_ros2_ ws/src
$ cd ~/ldlidar_ros2_ws/src
$ git clona https://github.com/DFRobotdl/ldlidar_st/_ros2.git
#sau
$ unzip ldlidar_st/_ros2.zip

Setați permisiunile dispozitivului

Mai întâi, conectați lidar-ul la modulul nostru adaptor (adaptorul CP2102) și conectați modulul la computer. Apoi, deschideți un terminal sub sistemul ubuntu și intrați Is /dev/ttyUSB* pentru a verifica dacă dispozitivul serial este conectat. Dacă este detectat un dispozitiv cu port serial, utilizați sudo chmod 777 /dev/ttyUSB* poruncă să-i dea cea mai înaltă autoritate, adică să dea file proprietarul, grupul și alți utilizatori citesc, scrie și execută permisiuni, așa cum se arată în figura următoare.

Setați permisiunile dispozitivului

În cele din urmă, modificați port_name valoare în ld19.launch.py file în ~/ldldiar_ros2_ws/src/ldlidar_stl_ros2/launch/ director. Luați lidarul montat în sistem ca /dev/ttyUSBO ca fostample, după cum se arată mai jos.

$ nano ~ /ldlidar _ros2_ ws/src/ldldiar_stl_ros2/launch/ld19.launch.py

Setați permisiunile dispozitivului

Editor Linux nano: Ctrl + 0 salvează editarea file; Ctrl + X iese din interfața de editare.

Setări de construcție și mediu

  1. Utilizați sistemul de compilare colcon pentru a compila și construi pachetul de funcții ale produsului:
    $ cd ~/fdlidauos2~ws
    . $ co/con build
  2. Setări pentru variabilele de mediu ale pachetului de funcții:
    După ce compilarea este finalizată, trebuie să adăugați elementele relevante files generate de compilarea la variabilele de mediu, astfel încât mediul ROS2 să poată fi recunoscut. Comanda de execuție este după cum urmează. Această comandă este pentru a adăuga temporar variabile de mediu la terminal, ceea ce înseamnă că, dacă redeschideți un nou terminal, trebuie și să-l reexecuți. Următoarea comandă.
$ cd ~/Jdlidar_ros2_ws
$ source install/setup.bash

Pentru a nu mai fi nevoie să executați comanda de mai sus pentru a adăuga variabile de mediu după redeschiderea terminalului, puteți face următoarele.

$ echo source ~/Jdlidar_ros2_ws/install/setup.bash » ~j.bashrc
$ sursa ~j.bashrc

Run node și Rviz2 afișează nor de puncte LiDAR

Porniți nodul lidar și executați următoarea comandă.

$ ros2 lansare ldlidar_stl_ros2 ld19.launch.py

Porniți nodul lidar și afișați norul de puncte lidar pe Rviz2, executați următoarea comandă.

$ ros2 lansează ldlidar_stl_ros2 viewer_ld19.launch.py
Instrucțiuni pentru utilizarea SDK sub Linux

Obțineți codul sursă al SDK-ului

Codul sursă al SOK Linux al acestui produs este găzduit în depozitele Github. Puteți descărca codul sursă al ramului principal sau principal accesând linkul de rețea al depozitului sau îl puteți descărca prin gittool. De asemenea, utilizatorii pot extrage direct SOK L019 > ldlidar stl sdk.zip la următoarea cale de utilizare.

  1. Repertoriu webadresa site-ului
    https://github.com/OFRobotdl/ldlidarstlsdk
  2. Operația de descărcare a instrumentului git
# Deschideți mai întâi interfața terminalului, puteți utiliza tasta de comandă rapidă ctrl+alt+t
# Dacă sistemul Ubuntu pe care îl utilizați nu are instrumentul git instalat, îl puteți instala ca
urmează:
$ sudo apt-get install git
# Descărcați codul sursă:
$ cd ~
$ mkdir ldlidar_ws
$ cd ~/ldlidar_ws
$ git clona https://github.com/DFRobotdl/ldlidar_stl_sdk.git
#sau
$ unzip ldlidar_stl_sdk.zip

Setați permisiunile dispozitivului

Mai întâi, conectați lidar-ul la modulul adaptor (adaptorul CP2102}) și conectați modulul la computer. Apoi, deschideți un terminal sub sistemul ubuntu și introduceți Is /dev/ttyUSB* pentru a verifica dacă dispozitivul serial este conectat. Dacă este detectat un dispozitiv cu port serial, utilizați sudo chmod 777 /dev/ttyUSB* poruncă să-i dea cea mai înaltă autoritate, adică să dea file proprietarul, grupul și alți utilizatori citesc, scrie și execută permisiuni, așa cum se arată în figura următoare.

Setați permisiunile dispozitivului

Construi

Codul sursă este codificat în limbajul C++ 11 standard C++ și limbajul C99 standard. Utilizați CMake, GNU-make, GCC și alte instrumente pentru a compila și a construi codul sursă. Dacă utilizați sistemul Ubuntu fără instrumentele de mai sus instalate, puteți executa următoarea comandă pentru a finaliza instalarea.

$ sudo apt-get install build-essential cmake

Dacă instrumentele indicate mai sus există deja în sistem, procedați în felul următor.

$ cd ~/ldlidar_ ws/ldlidar_stl_sdk
# Dacă folderul de compilare nu există în directorul ldlidar_st/_sdk, acesta trebuie creat
$mkdir build
$ cdbuild
$ cmface .. /
$facă

Rulați programul binar

$ cd ~/ldlidar_ ws/ldlidar_st/_sdk/build
$ ./ldlidar_stl
# de exemplu: ./ldlidar_stl /dev/ttyUSBO
Instrucțiuni pentru utilizarea ROS bazate pe Raspberry Pi SBC

Vă rugăm să consultați manualul « LD19 Raspberry Pi Raspbian User manual_ V2.9.pdf)) pentru detalii.
În plus, am furnizat o imagine personalizată pentru Raspberry Pi pentru acest produs, iar tutorialul de utilizare a acestuia este următorul:

Introducere în oglindire

  1. Compoziția oglinzii:
    • versiunea OS raspberrypi raspbian: 2020-08-20-raspios-buster-armhf
    • Versiunea mediului ROS: ROS melodic
    • Pachet LiDAR LD19 ROS
  2. Suport hardware:
    • raspberrypi 3B+ SBC , raspberrypi 4B SBC
    • Card SD cu o capacitate mai mare sau egală cu 16 GB

Utilizarea oglinzii

  1. Descărcați imaginea file:
    • Link de descărcare 1: https://pan.baidu.com/s/lfvTfXBbWC9ESXNNUY5aJhw 1Jt:&:7ky8a
    • Link de descărcare 2:
    https://drive.google.com/file/d/lylMTFGRZ9cRcy3Njvf10cxDo4Wy3tfCB/view?usp=sharing
    • Imaginea file numele este 2022-03-24-raspios-buster-armhf-ldrobot-customization.img.xz
  2. Scrieți imaginea file pe cardul SD și rulați sistemul:
    Scrieți prin instrumentul Win32Disklmager, introduceți-l în slotul pentru cardul Raspberry Pi după scrierea cu succes și porniți sistemul
    1. Informații legate de autentificare la sistem
      • Nume de utilizator: pi
      • Nume gazdă: raspberrypi
      • Secția de trecere pi
    2. Rularea nodului lidar
#stepl: Asigurați-vă că dispozitivul lidar este conectat la raspberrypi SBC și deschideți un terminal prin intermediul
scurtătură Ctrl+Alt+T.
#pasul 2: Preluați dispozitivul port file corespunzător dispozitivului radar prin Is-I/dv1i, dați executabil
permisiunea, apoi modificați lanuch-ul file parametrii. Luați portul file corespunzător dispozitivului lidar
ca /dev/ttyUSB0 ca example.
$ sudo chmod 777 /dev/ttyUSB0
# Nota: Se recomandă actualizarea pachetului de driver Lldar ROS în oglindă pentru prima dată
$ cd ~ && cd ~/ldlidar_ros_ws/src/
$ rm -rf ldlidar_stl_ros/
$ git clona https://github.com/DFRobotdl/ldlidar_stl_ros.git

În cele din urmă, modificați port_name valoare în ld19.launch file în ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ director. Luați lidarul montat în sistem ca /dev/ttyUSBO ca fostample, după cum se arată mai jos.

$ nano ~/ldlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch

Setați permisiunile dispozitivului

Porniți nodul lidar și executați următoarea comandă.

$ roslaunch ldlidar_stl_ros ld19.lansare

Porniți nodul lidar și afișați datele norului de puncte lidar pe Rviz, executați următoarea comandă.

$ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic./aunch

ISTORIC REVIZIILOR

versiune data revizuirii modifica cel conţinut
1.0 2020-09-01 Creație inițială
1.1 2021-01-15 Eliminați funcția Transform().
 

2.0

 

2022-02-27

S-a adăugat conținutul instrucțiunilor kit-ului de dezvoltare
 

2.1

 

2022-03-06

Măriți designul grafic al documentului și revizuiți formatul conținutului
 

2.2

 

2022-03-09

Modificați titlul copertei documentului și o parte a conținutului
2.3 2022-03-15 Revizuiți afirmațiile problematice din documentație
2.4 2022-04-02
  1. Modificați LOGO-ul;
  2. S-au adăugat 30 de modele file introducerea resurselor;
  3. Adăugați introducerea utilizării imaginilor personalizate Raspberry Pi;
  4. Remediați eroarea din descrierea document
2.5 2022-06-25
  1. S-a adăugat suport pentru versiunea ROS2 Humble;
  2. Modificați Rviz, Rviz2 pentru a afișa conținutul relevant al norului de puncte laser;
  3. Modificați conținutul relevant al computerului gazdă din norul de puncte Windows

 

Documente/Resurse

Kit senzor laser DFRobot LiDAR LD19 [pdfManual de instrucțiuni
Kit senzori laser LiDAR LD19, kit senzori laser LiDAR LD19, kit senzori

Referințe

Lasă un comentariu

Adresa ta de e-mail nu va fi publicată. Câmpurile obligatorii sunt marcate *