DFRobot LiDAR LD19 Laser Sensor Kit
DESKRIZZJONI TAL-PRODOTT
L-LD19 huwa magħmul prinċipalment minn qalba li jvarjaw bil-lejżer, unità telex mingħajr fili, unità ta 'komunikazzjoni mingħajr fili, unità ta' kejl tal-angolu, unità ta 'sewqan bil-mutur u casing mekkaniku.
Il-qalba li jvarjaw LD19 tuża teknoloġija DTOF, li tista 'tkejjel 4,500 darba kull sekonda. Kull darba li titkejjel id-distanza, l-LD19 temetti lejżer infra-aħmar 'il quddiem, u l-lejżer jiġi rifless lejn l-unità li tirċievi b'foton wieħed wara li tiltaqa' mal-oġġett fil-mira. Minn dan, ksibna l-ħin meta l-lejżer ġie emess u l-ħin meta l-unità li tirċievi l-foton wieħed irċeviet il-lejżer. Id-differenza fil-ħin bejn it-tnejn hija l-ħin tat-titjira tad-dawl. Il-ħin tat-titjira jista 'jiġi kkombinat mal-veloċità tad-dawl biex tikkalkula d-distanza.
Wara li tikseb id-data tad-distanza, l-LD19 se jgħaqqad il-valuri tal-angolu mkejla mill-unità tal-kejl tal-angolu biex tifforma data ta 'sħaba ta' punti, u mbagħad tibgħat id-data ta 'sħaba ta' punti lill-interface esterna permezz ta 'komunikazzjoni mingħajr fili. LD19 jappoġġja l-kontroll intern tal-veloċità, il-veloċità tista 'tiġi stabilizzata għal 10±0.1Hz fi żmien 3 sekondi wara li jinxtegħel. Fl-istess ħin, interface ta 'input estern PWM hija pprovduta biex tappoġġja l-kontroll estern tal-veloċità. Wara li l-unità ta 'kontroll estern tikseb il-veloċità, hija kkontrollata minn algoritmu PID closed-loop, u s-sinjal PWM huwa input biex maketheLD19 tilħaq il-veloċità speċifikata.
Illustrazzjoni tal-iskan ambjentali ffurmat mid-dejta tas-sħaba tal-punti LD19 tidher hawn taħt:
INTERFACE TAL-KOMUNIKAZZJONI
L-LD19 juża konnettur ZH1.5T-4P 1.5mm biex jgħaqqad ma 'sistema esterna biex jirrealizza provvista ta' enerġija u riċeviment tad-data. Id-definizzjoni speċifika tal-interface u r-rekwiżiti tal-parametri huma murija fil-figura/tabella li ġejja:
port numru | sinjal isem | tip | deskrizzjoni jone | mini omm | tipiku | maxi omm |
1 | Tx | output | LiDAR
output tad-data |
ov | 3.3V | 3.5V |
2 | PWM | input | kontroll tal-mutur | ov | – | 3.3V |
3 | GND | provvista ta 'enerġija | negattiv | – | ov | – |
4 | P5V | provvista ta 'enerġija | pożittiv | 4.5V | 5V | 5.5V |
L-LD19 għandu sewwieq tal-mutur b'regolazzjoni tal-veloċità b'pass inqas, li jappoġġja l-kontroll intern tal-veloċità u l-kontroll estern tal-veloċità. Meta l-pin PWM ikun ertjat, in-nuqqas huwa r-regolazzjoni tal-veloċità interna, u l-veloċità default hija 10±0.1Hz. Għall-kontroll tal-veloċità esterna, sinjal tal-mewġ kwadru jeħtieġ li jkun imqabbad mal-pin PWM, u l-bidu, il-waqfien u l-veloċità tal-mutur jistgħu jiġu kkontrollati permezz taċ-ċiklu tad-dazju tas-sinjal PWM. Kundizzjonijiet biex jiġi attivat il-kontroll estern tal-veloċità: a. Input PWM frekwenza 20-50K, rakkomandat 30K; b. Iċ-ċiklu tad-dazju huwa f'intervall (45%, 55%) (esklużi 45% u 55%), u mill-inqas 100ms ħin ta 'input kontinwu. Wara li jiġi attivat il-kontroll tal-veloċità esterna, huwa dejjem fl-istat estern tal-kontroll tal-veloċità, u l-kontroll tal-veloċità intern jiġi restawrat sakemm l-enerġija ma tintefax u terġa 'tinbeda; fl-istess ħin, il-kontroll tal-veloċità jista 'jitwettaq billi jiġi aġġustat iċ-ċiklu tad-dazju PWM. Minħabba d-differenzi individwali ta 'kull mutur tal-prodott, il-veloċità attwali tista' tkun differenti meta ċ-ċiklu tad-dazju huwa ssettjat għal valur tipiku. Biex tikkontrolla b'mod preċiż il-veloċità tal-mutur, huwa meħtieġ li jsir kontroll b'ċirku magħluq skont l-informazzjoni dwar il-veloċità fid-dejta riċevuta. Nota: Meta ma tużax kontroll estern tal-veloċità, il-pin PWM għandu jkun ertjat.
Il-komunikazzjoni tad-dejta ta 'LD19 tadotta trasmissjoni one-way tal-port tas-serje asinkroniku universali (UART), u l-parametri tat-trażmissjoni tagħha huma murija fit-tabella li ġejja:
rata ta 'baud | tul tad-data | stop bit | parità bit | kontroll tal-fluss | |||
230400bit/s | 8 Bit | I | 1 | I | xejn | I | xejn |
PROTOKOLL TA' DEJTA
Format tal-pakkett tad-dejta
L-LD19 jadotta komunikazzjoni one-way. Wara tħaddim stabbli, jibda jibgħat pakketti tad-dejta tal-kejl mingħajr ma jibgħat xi kmandi. Il-format tal-pakkett tal-kejl jidher fil-figura hawn taħt.
Header | VerLen | Veloċità | Ibda l-angolu | Data | Angolu tat-tarf | Timestamp | Iċċekkja CRC | ||||
54H | I Byte | LSB | MSB | LSB | MSB | …… | LSB | MSB | LSB | MSB | I Byte |
- Header: It-tul huwa 1 Byte, u l-valur huwa ffissat għal 0x54, li jindika l-bidu tal-pakkett tad-dejta;
- Verlen: It-tul huwa 1 Byte, it-tliet bits ta 'fuq jindikaw it-tip ta' pakkett, li bħalissa huwa ffissat f'1, u l-ħames bits t'isfel jindikaw in-numru ta 'punti ta' kejl f'pakkett, li bħalissa huwa ffissat għal 12, għalhekk il-valur tal-byte huwa ffissat f'0x2C;
- Veloċità: It-tul huwa 2 Byte, l-unità hija gradi kull sekonda, li tindika l-veloċità tal-lidar;
- Angolu tal-bidu: It-tul huwa 2 Bytes, u l-unità hija 0.01 gradi, li jindika l-angolu tal-bidu tal-punt tal-pakkett tad-dejta;
- Data: Tindika data tal-kejl, tul tad-data tal-kejl huwa 3 bytes, jekk jogħġbok irreferi għat-taqsima li jmiss għal analiżi dettaljata;
- Angolu tat-tarf: It-tul huwa 2 Bytes, u l-unità hija 0.01 gradi, li jindika l-angolu tat-tarf tal-punt tal-pakkett tad-dejta;
- Timestamp : It-tul huwa 2 Bytes, l-unità hija millisekondi, u l-massimu huwa 30000. Meta jilħaq 30000, jerġa 'jingħadd, u jindika l-ħinijietamp valur tal-pakkett tad-dejta;
- Kontroll CRC: It-tul huwa 1 Byte, miksub mill-verifika tad-dejta kollha preċedenti ħlief innifsu. Għall-metodu ta 'verifika CRC, ara l-kontenut li ġej għad-dettalji;
Ir-referenza tal-istruttura tad-dejta hija kif ġej:
#define PO/NT_PER_PACK 12
#define HEADER 0x54
typedef struct _attribute_((ippakkjat))
{ uint16_t distanza;
uint8_t intensità; } LidarPointStructDef;
typedef struct _attribut_((ippakkjat)) {
uint8_t: header;
uint8 t: ver_len;
uint16_t: veloċità;
uint16 t: start_ angolu;
Punt LidarPointStructDef[POINT_PER_PACK};
uint16 t: end_angle;
uint16_t: timestamp;
uint8 t: crc8;
}LiDARFrameTypeDef;
Il-metodu tal-kalkolu tal-kontroll CRC huwa kif ġej:
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; għal (i = O; i < Jen; i++){ ere= CreTabJe[(ere J\ *p++) & Oxff]; } ritorn ere; |
Analiżi tad-data tal-kejl
Kull punt tad-dejta tal-kejl jikkonsisti f'valur ta' distanza ta' 2 byte u valur ta' kunfidenza ta' 1 byte, kif muri fil-figura hawn taħt.
Header | VerLen | Veloċità | Ibda l-angolu | Data | Angolu tat-tarf | Timestamp | Iċċekkja CRC | ||||
54H | 2ch | LSB | MSB | LSB | MSB | …… | LSB | MSB | LSB | MSB | lByte |
Punt tal-kejl 1 | Punt tal-kejl 2 | … | Punt tal-kejl n | ||||||
distanza | intensità | distanza | intensità | distanza | intensità | ||||
LSB | MSB | 1 Byte | LSB | MSB | 1 Byte | … | LSB | MSB | 1 Byte |
L-unità tal-valur tad-distanza hija mm. Il-valur tal-intensità tas-sinjal jirrifletti l-intensità tar-rifless tad-dawl. Aktar ma tkun għolja l-intensità, iktar ikun kbir il-valur tal-intensità tas-sinjal; iktar ma tkun baxxa l-intensità, iżgħar ikun il-valur tal-intensità tas-sinjal. Għal oġġett abjad fi ħdan 6m, il-valur tipiku tal-valur tas-saħħa tas-sinjal huwa madwar 200. Il-valur tal-angolu ta 'kull punt jinkiseb b'interpolazzjoni lineari tal-angolu tal-bidu u l-angolu tat-tmiem. Il-metodu tal-kalkolu tal-angolu huwa kif ġej:
pass= (end_angle -start_angle)/(Jen -1);
angolu= start_angle + pass*i;
fejn Jen huwa n-numru ta’ punti ta’ kejl f’pakkett ta’ dejta, u l-firxa ta’ valur ta’ i hija [O, Jen).
Example
Ejja ngħidu li nirċievu biċċa dejta kif muri hawn taħt.
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 82
Aħna nanalizzawh kif ġej:
Header | VerLen | Veloċità | Ibda l-angolu | Data | Angolu tat-tarf | Timestamp | Iċċekkja CRC | ||||
54H | 2CH | 68H | 08H | ABH | 7EH | …… | BEH | 82H | 3AH | lAH | 50H |
Punt tal-kejl 1 | Punt tal-kejl 2 |
••• |
Punt tal-kejl 12 | ||||||
distanza | intensità | distanza | intensità | distanza | intensità | ||||
EOH | OOH | E4H | DCH | OOH | E2H | … | BOH | OOH | EAH |
Informazzjoni fuq il-qasam | Proċess ta 'parsing |
Veloċità | 0868H = 2152 gradi kull sekonda; |
Ibda l-angolu | 7EABH = 32427, jew 324.27 gradi; |
Angolu tat-tarf | 82BEH = 33470, jew 334.7 gradi; |
Punt tal-kejl I distanza | OOEOH = 224mm |
Punt tal-kejl 1 intensità | E4H = 228 |
Punt tal-kejl 2 distanza | OODCH = 200mm |
Punt tal-kejl 2 intensità | OOE2H= 226 |
… | … |
Punt tal-kejl 12 distanza | OOBOH = 176mm |
Punt tal-kejl 12 intensità | EAH=234 |
SISTEMA TA' KOORDINATI
L-LD19 juża sistema ta 'koordinati tax-xellug, iċ-ċentru ta' rotazzjoni huwa l-oriġini tal-koordinati, in-naħa ta 'quddiem tas-sensor hija definita bħala d-direzzjoni ta' grad żero, u l-angolu ta 'rotazzjoni jiżdied lejn l-arloġġ, kif muri fil-figura hawn taħt.
ISTRUZZJONIJIET TAL-KIT TA’ ŻVILUPP
Kif tuża l-għodda tal-valutazzjoni
Konnessjoni tal-kejbil tal-ħardwer u deskrizzjoni
- LiDAR, wajer, bord tal-adapter USB, kif muri fil-figura li ġejja:
- Dijagramma tal-konnessjoni, kif muri fil-figura hawn taħt:
Installazzjoni tas-sewwieq taħt Windows
Meta tevalwa l-prodotti tal-kumpanija taħt Windows, huwa meħtieġ li tinstalla s-sewwieq tal-port tas-serje tal-bord tal-adapter USB. Ir-raġuni hija li l-bord tal-adapter tal-USB fil-kit tal-iżvilupp ipprovdut mill-kumpanija jadotta ċ-ċippa tal-adapter CP2102 USB għal port tas-serje, u s-sewwieq tiegħu jista 'jinkiseb minn Silicon Download mill-uffiċjal tal-Labs websit:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
Jew,Wara ddekompressa l-pakkett tas-sewwieq CP210x_Universal_Windows_Driver, eżegwixxi l-exe file fid-direttorju tal-pakkett tal-installazzjoni tas-sewwieq, u agħżel X86 (32-bit) jew X64 (64-bit) skont il-verżjoni tas-sistema tal-Windows.
Ikklikkja darbtejn fuq l-exe file u segwi l-istruzzjonijiet biex tinstallah.
Wara li titlesta l-installazzjoni, qabbad il-bord tal-adapter tal-USB fil-kit tal-iżvilupp mal-kompjuter, ikklikkja fuq [My Computer], agħżel [Properties], u fl-interface [Sistema] miftuħa, agħżel [Device Manager] fil-menu tax-xellug. biex tidħol Mur fil-maniġer tal-apparat, jespandu [Portijiet], tista 'tara n-numru tal-port tas-serje li jikkorrispondi għall-adapter USB CP2102 rikonoxxut, jiġifieri, is-sewwieq huwa installat b'suċċess, u l-figura hawn taħt hija COM4.
Bl-użu ta' LdsPointCloudViewer software taħt Windows
Is-softwer tal-viżwalizzazzjoni tas-sħaba tal-punti LdsPointCloudViewer tista 'turi d-dejta skanjata ta' dan il-prodott f'ħin reali, u l-iżviluppaturi jistgħu jużaw dan is-softwer biex josservaw viżwalment il-prestazzjonijiet tal-iskannjar ta 'dan il-prodott. Qabel ma tuża dan is-softwer, huwa meħtieġ li ssir distinzjoni li s-sewwieq tal-bord tal-adapter USB ta 'dan il-prodott ġie installat b'suċċess, u l-prodott huwa interkonness mal-port USB tal-PC tas-sistema Windows, imbagħad ikklikkja darbtejn fuq LdsPointCloudViewer.exe, u agħżel il-mudell tal-prodott u n-numru tal-port korrispondenti, ikklikkja l-buttuna Start point cloud refresh, kif muri fil-figura li ġejja.
Fil-figura ta 'hawn fuq,
'Veloċità' tirrappreżenta l-frekwenza tal-iskannjar lidar, unità: Hz;
'Rata' tirrappreżenta r-rata tar-riżoluzzjoni tal-pakkett tad-dejta lidar;
'Valida' tirrappreżenta l-punt validu għal-lidar biex ikejjel ċirku.
Mudell 3D tal-prodott file
Unzip il-LiDAR_LD19_3D_stp_Vl.0 file biex tikseb mudell 3D file fil-format STP.
Operazzjoni bbażata fuq ROS taħt Linux
Introduzzjoni u installazzjoni tal-ambjent ROS
ROS (Robot Operating System) hija sistema operattiva meta sors miftuħ għal robots u middleware mibnija fuq Linux. Jipprovdi s-servizzi mistennija minn sistema operattiva, inklużi l-astrazzjoni tal-ħardwer, il-kontroll tal-apparat ta 'livell baxx, l-implimentazzjoni ta' funzjonijiet użati b'mod komuni, il-passaġġ tal-messaġġi bejn il-proċessi, u l-ġestjoni tal-pakketti. Jipprovdi wkoll l-għodod u l-funzjonijiet tal-librerija meħtieġa biex tikseb, tikkumpila, tikteb u tħaddem kodiċi fuq il-kompjuters. Għall-passi ta 'installazzjoni ta' kull verżjoni ta 'ROS, jekk jogħġbok irreferi għall-ROS uffiċjali websit: http://wiki.ros.org/ROS/lnstallation
Il-pakkett tal-funzjoni ROS ta 'dan il-prodott jappoġġja l-verżjonijiet u l-ambjenti li ġejjin:
- ROS Kinetic(Ubuntu16.04);
- ROS Melodic(Ubuntu18.04);
- ROS Noetic(Ubuntu20.04).
Ikseb il-kodiċi tas-sors tal-Pakkett ROS
Il-kodiċi tas-sors tal-pakkett tal-funzjoni ROS ta 'dan il-prodott huwa ospitat fuq ir-repożitorju ta' Github. Tista 'tniżżel il-kodiċi tas-sors tal-kaptan jew tal-fergħa prinċipali billi taċċessa l-link tan-netwerk tar-repożitorju, jew niżżlu permezz tal-għodda git. L-utenti jistgħu wkoll estratt direttament SDK LD19 > ldlidar stl ros.zi għall-mogħdija li ġejja għall-użu.
- Repożitorju webindirizz tas-sit
► https://github.com/DFRobotdl/ldlidarstlros - operazzjoni tat-tniżżil tal-għodda git
# L-ewwel tiftaħ l-interface tat-terminal, tista 'tuża ċ-ċavetta shortcut ta' ctrl + alt + t
# Jekk is-sistema Ubuntu li qed tuża m'għandhiex l-għodda git installata, tista' tinstallaha bħala ġej: $ sudo apt-get install git # Niżżel il-kodiċi tas-sors tal-pakkett tal-funzjoni ROS tal-prodott: $ cd ~ $ mkdir -p ldlidar_ros_ws/src $ cd ~/ldlidar_ros_ws/src $git klonu https://github.com/DFRobotdl/ldlidar_stl_ros.git #jew $ unzip ldlidar_stl_ros.zip |
Issettja l-permessi tal-apparat
L-ewwel, qabbad il-lidar mal-modulu tal-adapter tagħna (adapter CP2102), u qabbad il-modulu mal-kompjuter. Imbagħad, iftaħ terminal taħt is-sistema ubuntu u daħħal Is /dev/ttyUSB*
biex tivverifika jekk l-apparat tas-serje huwiex konness. Jekk jiġi skopert apparat tal-port tas-serje, uża l- sudo ch mod 777 /dev/ttyUSB*
kmand biex tagħtiha l-ogħla awtorità, jiġifieri, tagħti l- file sid, grupp, u utenti oħra jaqraw, jiktbu u jesegwixxu permessi, kif muri fil-figura li ġejja.
Fl-aħħarnett, immodifika l- port_name
valur fil- ld19.launch
file fil- ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/
direttorju. Ħu l-lidar immuntat fis-sistema bħala /dev/ttyUSB0 bħala example, kif muri hawn taħt.
$ nano ~/Jdlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch |
Linux nano editur: Ctrl + 0 jiffranka l-editjat file; Ctrl + X joħroġ mill-interface tal-editjar.
Settings tal-bini u tal-ambjent
- Uża s-sistema tal-kumpilazzjoni tal-catkin biex tikkumpila u tibni l-pakkett tal-funzjoni tal-prodott:
$ cd ~/fdlidauos~ws
. $ catkin_make - Settings varjabbli tal-ambjent tal-pakkett tal-funzjoni:
Wara li titlesta l-kumpilazzjoni, trid iżżid ir-relevanti files iġġenerat mill-kumpilazzjoni għall-varjabbli ambjentali, sabiex l-ambjent ROS jista 'jirrikonoxxihom. Il-kmand tal-eżekuzzjoni huwa kif ġej. Dan il-kmand huwa li żżid temporanjament varjabbli ambjentali mat-terminal, li jfisser li jekk terġa 'tiftaħ terminal ġdid, għandek bżonn ukoll terġa' tesegwih. Il-kmand li ġej.
$ cd ~/tdlidar_ros_ws $ sors devel/setup.bash |
Sabiex qatt ma jkollok bżonn tesegwixxi l-kmand ta 'hawn fuq biex iżżid varjabbli ambjentali wara li terġa' tiftaħ it-terminal, tista 'tagħmel dan li ġej.
$ echo source ~//dlidar_ros_ws/devel/setup.bash » ~/bashrc $ sors ~/bashrc |
Run node u Rviz juru sħaba tal-punti LiDAR
Ibda n-node lidar u wettaq il-kmand li ġej.
$ roslaunch ldlidar_stl_ros ld19.tnedija |
Ibda n-node lidar u uri d-dejta tas-sħaba tal-punti lidar fuq Rviz, eżegwixxi l-kmand li ġej.
# jekk ROS_DISTRO f''kinetic' jew 'melodic' $ ros/anch ldlidar_st/_ros viewer_ld19_kinetic_me/odic.launch # jekk ROS_DISTRO f''noetic' $ ros/anch ldlidar_st/_ros viewer_ld19_noetic.tnedija |
Operazzjoni bbażata fuq ROS2 taħt Linux
Introduzzjoni u installazzjoni tal-ambjent ROS2
ROS (Robot Operating System) hija sistema operattiva meta sors miftuħ għal robots u middleware mibnija fuq Linux. Jipprovdi s-servizzi mistennija minn sistema operattiva, inklużi l-astrazzjoni tal-ħardwer, il-kontroll tal-apparat ta 'livell baxx, l-implimentazzjoni ta' funzjonijiet użati b'mod komuni, il-passaġġ tal-messaġġi bejn il-proċessi, u l-ġestjoni tal-pakketti. Jipprovdi wkoll l-għodod u l-funzjonijiet tal-librerija meħtieġa biex tikseb, tikkumpila, tikteb u tħaddem kodiċi fuq il-kompjuters. Il-komunità tar-robotika u ROS inbidlet ħafna minn meta tnieda ROS fl-2007. L-għan tal-proġett ROS2 huwa li jadatta għal dawn il-bidliet, billi jisfrutta s-saħħiet ta 'ROSl u jtejjeb id-dgħufijiet. Għall-passi ta 'installazzjoni ta' ROS2, jekk jogħġbok irreferi għall-uffiċjal websit ta' ROS2: https://docs.ros.org/en/foxy/lnstallation.html
Il-pakkett tal-funzjoni ROS2 ta 'dan il-prodott jappoġġja l-użu tal-verżjoni foxy ROS2 u 'l fuq.
Ikseb il-kodiċi tas-sors tal-Pakkett ROS2
Il-kodiċi tas-sors tal-pakkett tal-funzjoni ROS2 ta 'dan il-prodott huwa ospitat fuq ir-repożitorji ta' Github. Tista' tniżżel il-kodiċi tas-sors tal-fergħa prinċipali jew ewlenija billi taċċessa l-link tan-netwerk tar-repożitorju, jew tniżżlu permezz tal-għodda git. L-utenti jistgħu wkoll estratt direttament SDK LD19 > ldlidar_stl_ros2.ziR
għall-mogħdija li ġejja għall-użu.
- Repożitorju webindirizz tas-sit
► https://github.com/DFRobotdl/ldlidarstlros2 - operazzjoni tat-tniżżil tal-għodda git
# L-ewwel tiftaħ l-interface tat-terminal, tista 'tuża ċ-ċavetta shortcut ta' ctrl + alt + t # Jekk is-sistema Ubuntu li qed tuża m'għandhiex l-għodda git installata, tista' tinstallaha bħala ġej: $ sudo apt-get install git # Niżżel il-kodiċi tas-sors tal-pakkett tal-funzjoni tal-prodott ROS2: $ cd ~ $ mkdir -p ldlidar_ros2_ ws/src $ cd ~/ldlidar_ros2_ws/src $ git klonu https://github.com/DFRobotdl/ldlidar_st/_ros2.git #jew $ unzip ldlidar_st/_ros2.zip |
Issettja l-permessi tal-apparat
L-ewwel, qabbad il-lidar mal-modulu tal-adapter tagħna (adapter CP2102), u qabbad il-modulu mal-kompjuter. Imbagħad, iftaħ terminal taħt is-sistema ubuntu u daħħal Is /dev/ttyUSB*
biex tivverifika jekk l-apparat tas-serje huwiex konness. Jekk jiġi skopert apparat tal-port tas-serje, uża l- sudo chmod 777 /dev/ttyUSB*
kmand biex tagħtiha l-ogħla awtorità, jiġifieri, tagħti l- file sid, grupp, u utenti oħra jaqraw, jiktbu u jesegwixxu permessi, kif muri fil-figura li ġejja.
Fl-aħħarnett, immodifika l- port_name
valur fil- ld19.launch.py
file fil- ~/ldldiar_ros2_ws/src/ldlidar_stl_ros2/launch/
direttorju. Ħu l-lidar immuntat fis-sistema bħala /dev/ttyUSBO
bħala example, kif muri hawn taħt.
$ nano ~ /ldlidar _ros2_ ws/src/ldldiar_stl_ros2/launch/ld19.launch.py |
Linux nano editur: Ctrl + 0 jiffranka l-editjat file; Ctrl + X joħroġ mill-interface tal-editjar.
Settings tal-bini u tal-ambjent
- Uża s-sistema tal-kompilazzjoni tal-colcon biex tiġbor u tibni l-pakkett tal-funzjoni tal-prodott:
$ cd ~/fdlidauos2~ws
. $ co/con build - Settings varjabbli tal-ambjent tal-pakkett tal-funzjoni:
Wara li titlesta l-kumpilazzjoni, trid iżżid ir-relevanti files iġġenerat mill-kumpilazzjoni għall-varjabbli ambjentali, sabiex l-ambjent ROS2 jista 'jiġi rikonoxxut. Il-kmand tal-eżekuzzjoni huwa kif ġej. Dan il-kmand huwa li żżid temporanjament varjabbli ambjentali mat-terminal, li jfisser li jekk terġa 'tiftaħ terminal ġdid, għandek bżonn ukoll terġa' tesegwih. Il-kmand li ġej.
$ cd ~/Jdlidar_ros2_ws $ sors install/setup.bash |
Sabiex qatt ma jkollok bżonn tesegwixxi l-kmand ta 'hawn fuq biex iżżid varjabbli ambjentali wara li terġa' tiftaħ it-terminal, tista 'tagħmel dan li ġej.
$ echo source ~/Jdlidar_ros2_ws/install/setup.bash » ~j.bashrc |
$ sors ~j.bashrc |
Run node u Rviz2 juru sħaba ta 'punti LiDAR
Ibda n-node lidar u wettaq il-kmand li ġej.
$ ros2 tnedija ldlidar_stl_ros2 ld19.launch.py |
Ibda n-node lidar u uri s-sħaba tal-punti lidar fuq Rviz2, eżegwixxi l-kmand li ġej.
$ ros2 tnedija ldlidar_stl_ros2 viewer_ld19.launch.py |
Struzzjonijiet għall-użu tal-SDK taħt Linux
Ikseb il-kodiċi tas-sors tal-SDK
Il-kodiċi tas-sors tal-Linux SOK ta 'dan il-prodott huwa ospitat fuq ir-repożitorji ta' Github. Tista' tniżżel il-kodiċi tas-sors tal-fergħa prinċipali jew prinċipali billi taċċessa l-link tan-netwerk tar-repożitorju, jew tniżżlu permezz tal-gittool. L-utenti jistgħu wkoll estratt direttament SOK L019 > ldlidar stl sdk.zip
għall-mogħdija li ġejja għall-użu.
- Repożitorju webindirizz tas-sit
► https://github.com/OFRobotdl/ldlidarstlsdk - operazzjoni tat-tniżżil tal-għodda git
# L-ewwel tiftaħ l-interface tat-terminal, tista 'tuża ċ-ċavetta shortcut ta' ctrl + alt + t # Jekk is-sistema Ubuntu li qed tuża m'għandhiex l-għodda git installata, tista' tinstallaha bħala ġej: $ sudo apt-get install git # Niżżel il-kodiċi tas-sors: $ cd ~ $ mkdir ldlidar_ws $ cd ~/ldlidar_ws $ git klonu https://github.com/DFRobotdl/ldlidar_stl_sdk.git #jew $ unzip ldlidar_stl_sdk.zip |
Issettja l-permessi tal-apparat
L-ewwel, qabbad il-lidar mal-modulu tal-adapter tagħna (adapter CP2102}, u qabbad il-modulu mal-kompjuter. Imbagħad, iftaħ terminal taħt is-sistema ubuntu u daħħal Is /dev/ttyUSB*
biex tivverifika jekk l-apparat tas-serje huwiex konness. Jekk jiġi skopert apparat tal-port tas-serje, uża l- sudo chmod 777 /dev/ttyUSB*
kmand biex tagħtiha l-ogħla awtorità, jiġifieri, tagħti l- file sid, grupp, u utenti oħra jaqraw, jiktbu u jesegwixxu permessi, kif muri fil-figura li ġejja.
Ibni
Il-kodiċi tas-sors huwa kodifikat fil-lingwa C++ standard C++ 11 u lingwa C standard C99. Uża CMake, GNU-make, GCC u għodod oħra biex tiġbor u tibni l-kodiċi tas-sors. Jekk tuża s-sistema Ubuntu mingħajr l-għodod ta 'hawn fuq installati, tista' tesegwixxi l-kmand li ġej biex tlesti l-installazzjoni.
$ sudo apt-get install build-essential cmake |
Jekk l-għodod indikati hawn fuq diġà jeżistu fis-sistema, agħmel dan li ġej.
$ cd ~/ldlidar_ ws/ldlidar_stl_sdk # Jekk il-folder tal-bini ma jeżistix fid-direttorju ldlidar_st/_sdk, jeħtieġ li jinħoloq $mkdir build $ cdbuild $ cmake .. / $jagħmel |
Mexxi programm binarju
$ cd ~/ldlidar_ ws/ldlidar_st/_sdk/build $ ./ldlidar_stl # eż.: ./ldlidar_stl /dev/ttyUSBO |
Istruzzjonijiet għall-użu ta 'ROS ibbażati fuq Raspberry Pi SBC
Jekk jogħġbok irreferi għall-manwal « LD19 Raspberry Pi Raspbian User manual_ V2.9.pdf)) għad-dettalji.
Barra minn hekk, ipprovdejna immaġni personalizzata għal Raspberry Pi għal dan il-prodott, u t-tutorja dwar l-użu tagħha hija kif ġej:
Introduzzjoni għall-mirroring
- Kompożizzjoni tal-mera:
• raspberrypi raspbian OS verżjoni: 2020-08-20-raspios-buster-armhf
• Verżjoni tal-ambjent ROS: ROS melodic
• Pakkett LiDAR LD19 ROS - Appoġġ għall-ħardwer:
• raspberrypi 3B+ SBC , raspberrypi 4B SBC
• Karta SD b'kapaċità akbar minn jew ugwali għal 16GB
Użu tal-mera
- Niżżel l-immaġni file:
• Niżżel il-link 1: https://pan.baidu.com/s/lfvTfXBbWC9ESXNNUY5aJhw 1Jt:&:7ky8a
• Niżżel il-link 2:
https://drive.google.com/file/d/lylMTFGRZ9cRcy3Njvf10cxDo4Wy3tfCB/view?usp=sharing
• L-immaġni file isem huwa 2022-03-24-raspios-buster-armhf-ldrobot-customization.img.xz - Ikteb l-immaġini file għall-karta SD u ħaddem is-sistema:
Ikteb permezz tal-għodda Win32Disklmager, daħħalha fl-islott tal-biljett Raspberry Pi wara kitba b'suċċess, u qabbad is-sistema- Informazzjoni relatata mal-login tas-sistema
• Username:pi
• L-isem tal-ospitant:raspberrypi
• Pass ward
pi
- Tmexxi n-node lidar
- Informazzjoni relatata mal-login tas-sistema
#stepl: Kun żgur li l-apparat lidar huwa konness mal-raspberrypi SBC, u tiftaħ terminal permezz tal- shortcut Ctrl+Alt+T. #pass2: Irkupra l-apparat tal-port file li jikkorrispondi għall-apparat tar-radar permezz Is-I/dv1i , agħti eżekutibblipermess, u mbagħad timmodifika l-lanuch file parametri. Ħu l-port file li jikkorrispondi għall-apparat lidar bħala /dev/ttyUSB0 bħala example. $ sudo chmod 777 /dev/ttyUSB0 # Nota: Huwa rakkomandat li taġġorna l-pakkett tas-sewwieq Lldar ROS fil-mera għall-ewwel darba $ cd ~ && cd ~/ldlidar_ros_ws/src/ $ rm -rf ldlidar_stl_ros/ $ git klonu https://github.com/DFRobotdl/ldlidar_stl_ros.git |
Fl-aħħarnett, immodifika l- port_name
valur fil-ld19.tnedija file fil- ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/
direttorju. Ħu l-lidar immuntat fis-sistema bħala /dev/ttyUSBO
bħala example, kif muri hawn taħt.
$ nano ~/ldlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch |
Ibda n-node lidar u wettaq il-kmand li ġej.
$ roslaunch ldlidar_stl_ros ld19.tnedija |
Ibda n-node lidar u uri d-dejta tas-sħaba tal-punti lidar fuq Rviz, eżegwixxi l-kmand li ġej.
$ ros/anch ldlidar_st/_ros viewer_ld19_kinetic_me/odic./aunch |
STORJA TA' REVIŻJONIJIET
verżjoni | data tar-reviżjoni | timmodifika il kontenut |
1.0 | 2020-09-01 | Ħolqien inizjali |
1.1 | 2021-01-15 | Neħħi l-funzjoni Transform(). |
2.0 |
2022-02-27 |
Żid il-kontenut tal-istruzzjonijiet tal-kit tal-iżvilupp |
2.1 |
2022-03-06 |
Żid id-disinn grafiku tad-dokument u tirrevedi l-format tal-kontenut |
2.2 |
2022-03-09 |
Immodifika t-titlu tal-qoxra tad-dokument u parti mill-kontenut |
2.3 | 2022-03-15 | Irrevedi dikjarazzjonijiet problematiċi fid-dokumentazzjoni |
2.4 | 2022-04-02 |
|
2.5 | 2022-06-25 |
|
Dokumenti / Riżorsi
![]() |
DFRobot LiDAR LD19 Laser Sensor Kit [pdfManwal tal-Istruzzjonijiet LiDAR LD19 Laser Sensor Kit, LiDAR LD19, Laser Sensor Kit, Sensor Kit |