DFRobot LiDAR LD19 ლაზერული სენსორის ნაკრები

პროდუქტის აღწერა
LD19 ძირითადად შედგება ლაზერული დიაპაზონის ბირთვისგან, უკაბელო ტელექსის ერთეულისგან, უკაბელო საკომუნიკაციო განყოფილებისგან, კუთხის საზომი ერთეულისგან, ძრავის წამყვანი განყოფილებისგან და მექანიკური გარსაცმისგან.
LD19 დისტანციური ბირთვი იყენებს DTOF ტექნოლოგიას, რომელსაც შეუძლია წამში 4,500-ჯერ გაზომვა. ყოველი მანძილის გაზომვისას, LD19 ასხივებს ინფრაწითელ ლაზერს წინ, და ლაზერი აისახება ერთფოტონიანი მიმღების ერთეულზე სამიზნე ობიექტთან შეხვედრის შემდეგ. აქედან მივიღეთ ლაზერის გამოსხივების დრო და როდესაც ერთფოტონიანი მიმღები ერთეულმა მიიღო ლაზერი. ამ ორს შორის დროის სხვაობა არის სინათლის ფრენის დრო. ფრენის დრო შეიძლება გაერთიანდეს სინათლის სიჩქარესთან მანძილის გამოსათვლელად.
მანძილის მონაცემების მოპოვების შემდეგ, LD19 გააერთიანებს კუთხის საზომი ერთეულით გაზომილ კუთხის მნიშვნელობებს, რათა შექმნას წერტილი ღრუბლის მონაცემები და შემდეგ გაუგზავნეს წერტილი ღრუბლის მონაცემებს გარე ინტერფეისში უსადენო კომუნიკაციის საშუალებით. LD19 მხარს უჭერს შიდა სიჩქარის კონტროლს, სიჩქარის სტაბილიზაცია შესაძლებელია 10±0.1Hz-მდე ჩართვის შემდეგ 3 წამში. ამავდროულად, PWM გარე შეყვანის ინტერფეისი უზრუნველყოფილია გარე სიჩქარის კონტროლის მხარდასაჭერად. მას შემდეგ, რაც გარე კონტროლის განყოფილება მიიღებს სიჩქარეს, ის კონტროლდება PID ალგორითმით დახურული მარყუჟით და PWM სიგნალი შეყვანილია იმისათვის, რომ LD19 მიაღწიოს მითითებულ სიჩქარეს.
LD19 წერტილის ღრუბლის მონაცემებით ჩამოყალიბებული გარემოს სკანირების ილუსტრაცია ნაჩვენებია ქვემოთ:

საკომუნიკაციო ინტერფეისი
LD19 იყენებს ZH1.5T-4P 1.5მმ კონექტორს გარე სისტემასთან დასაკავშირებლად ელექტრომომარაგების და მონაცემთა მიღების რეალიზებისთვის. ინტერფეისის სპეციფიკური განმარტება და პარამეტრების მოთხოვნები ნაჩვენებია შემდეგ ფიგურაში/ცხრილში:
| პორტი ნომერი | სიგნალი სახელი | ტიპი | აღწერილობა იონი | მინი დედა | ტიპიური | მაქსი დედა |
| 1 | Tx | გამომავალი | LiDAR
მონაცემთა გამოცემა |
ov | 3.3 ვ | 3.5 ვ |
| 2 | PWM | შეყვანა | საავტომობილო კონტროლი | ov | – | 3.3 ვ |
| 3 | GND | ელექტრომომარაგება | უარყოფითი | – | ov | – |
| 4 | P5V | ელექტრომომარაგება | დადებითი | 4.5 ვ | 5V | 5.5 ვ |

LD19-ს აქვს ძრავის დრაივერი საფეხურზე ნაკლები სიჩქარის რეგულირებით, რომელიც მხარს უჭერს სიჩქარის შიდა კონტროლს და სიჩქარის გარე კონტროლს. როდესაც PWM პინი დამიწებულია, ნაგულისხმევია სიჩქარის შიდა რეგულირება და ნაგულისხმევი სიჩქარეა 10±0.1 ჰც. სიჩქარის გარე კონტროლისთვის, კვადრატული ტალღის სიგნალი უნდა იყოს დაკავშირებული PWM პინთან, ხოლო ძრავის დაწყება, გაჩერება და სიჩქარე შეიძლება კონტროლდებოდეს PWM სიგნალის სამუშაო ციკლის მეშვეობით. გარე სიჩქარის კონტროლის ამოქმედების პირობები: ა. შეყვანის PWM სიხშირე 20-50K, რეკომენდებული 30K; ბ. სამუშაო ციკლი არის (45%, 55%) ინტერვალის ფარგლებში (45% და 55%) და მინიმუმ 100ms უწყვეტი შეყვანის დრო. გარე სიჩქარის კონტროლის ამოქმედების შემდეგ, ის ყოველთვის არის სიჩქარის გარე კონტროლის მდგომარეობაში და შიდა სიჩქარის კონტროლი აღდგება, თუ არ გამოირთვება და არ გადაიტვირთება; ამავდროულად, სიჩქარის კონტროლი შეიძლება შესრულდეს PWM სამუშაო ციკლის რეგულირებით. თითოეული პროდუქტის ძრავის ინდივიდუალური განსხვავებების გამო, რეალური სიჩქარე შეიძლება განსხვავებული იყოს, როდესაც სამუშაო ციკლი დაყენებულია ტიპიურ მნიშვნელობაზე. ძრავის სიჩქარის ზუსტად გასაკონტროლებლად აუცილებელია დახურული მარყუჟის კონტროლი მიღებულ მონაცემებში არსებული სიჩქარის ინფორმაციის მიხედვით. შენიშვნა: როდესაც არ იყენებთ გარე სიჩქარის კონტროლს, PWM პინი უნდა იყოს დასაბუთებული.
LD19-ის მონაცემთა კომუნიკაცია იღებს სტანდარტულ უნივერსალურ ასინქრონულ სერიულ პორტს (UART) ცალმხრივ გადაცემას და მისი გადაცემის პარამეტრები ნაჩვენებია შემდეგ ცხრილში:
| ბოდის მაჩვენებელი | მონაცემთა სიგრძე | ცოტა გაჩერდი | პარიტეტული ბიტი | ნაკადის კონტროლი | |||
| 230400 ბიტი/წმ | 8 ბიტი | I | 1 | I | არცერთი | I | არცერთი |
მონაცემთა პროტოკოლი
მონაცემთა პაკეტის ფორმატი
LD19 იღებს ცალმხრივ კომუნიკაციას. სტაბილური მუშაობის შემდეგ, ის იწყებს გაზომვის მონაცემთა პაკეტების გაგზავნას ბრძანებების გაგზავნის გარეშე. გაზომვის პაკეტის ფორმატი ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.
| სათაური | ვერლენი | სიჩქარე | დაწყების კუთხე | მონაცემები | ბოლო კუთხე | დროულიamp | CRC შემოწმება | ||||
| 54 სთ | მე ბაიტი | LSB | MSB | LSB | MSB | …… | LSB | MSB | LSB | MSB | მე ბაიტი |
- სათაური: სიგრძე არის 1 ბაიტი, ხოლო მნიშვნელობა ფიქსირდება 0x54-ზე, რაც მიუთითებს მონაცემთა პაკეტის დასაწყისზე;
- ვერლენი: სიგრძე არის 1 ბაიტი, ზედა სამი ბიტი მიუთითებს პაკეტის ტიპზე, რომელიც ამჟამად ფიქსირდება 1-ზე, ხოლო ქვედა ხუთი ბიტი მიუთითებს საზომი წერტილების რაოდენობაზე პაკეტში, რომელიც ამჟამად ფიქსირდება 12-ზე, ამიტომ ბაიტის მნიშვნელობა ფიქსირდება. 0x2C ტემპერატურაზე;
- სიჩქარე: სიგრძე არის 2 ბაიტი, ერთეული არის გრადუსი წამში, რაც მიუთითებს ლიდარის სიჩქარეზე;
- დაწყების კუთხე: სიგრძე არის 2 ბაიტი, ხოლო ერთეული არის 0.01 გრადუსი, რაც მიუთითებს მონაცემთა პაკეტის წერტილის საწყისი კუთხით;
- მონაცემები: მიუთითებს გაზომვის მონაცემებზე, გაზომვის მონაცემების სიგრძეა 3 ბაიტი, დეტალური ანალიზისთვის იხილეთ შემდეგი სექცია;
- ბოლო კუთხე: სიგრძე არის 2 ბაიტი, ხოლო ერთეული არის 0.01 გრადუსი, რაც მიუთითებს მონაცემთა პაკეტის წერტილის ბოლო კუთხეზე;
- დროულიamp : სიგრძე არის 2 ბაიტი, ერთეული არის მილიწამი და მაქსიმუმი 30000. როდესაც ის მიაღწევს 30000-ს, ის ხელახლა ჩაითვლება დროის დროის მითითებით.amp მონაცემთა პაკეტის ღირებულება;
- CRC შემოწმება: სიგრძე არის 1 ბაიტი, მიღებული ყველა წინა მონაცემების გადამოწმების შედეგად, გარდა მისი. CRC დადასტურების მეთოდისთვის იხილეთ შემდეგი შინაარსი დეტალებისთვის;
მონაცემთა სტრუქტურის მითითება შემდეგია:
#define PO/NT_PER_PACK 12
#define HEADER 0x54
typedef struct _attribute_((შეფუთული))
{ uint16_t მანძილი;
uint8_t ინტენსივობა; } LidarPointStructDef;
typedef struct _ატრიბუტი_((შეფუთული)) {
uint8_t: სათაური;
uint8 t: ver_len;
uint16_t: სიჩქარე;
uint16 t: დაწყება_ კუთხე;
LidarPointStructDef წერტილი[POINT_PER_PACK};
uint16 t: ბოლო_კუთხე;
uint16_t: დროისamp;
uint8 t: crc8;
}LiDARFrameTypeDef;
CRC შემოწმების გაანგარიშების მეთოდი შემდეგია:
| 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 ჯენი){ uint8_t ere= O; uint16_t i; for (i = O; i < Jen; i++){ ere= CreTabJe[(ere J\ *p++) & Oxff]; } ადრე დაბრუნება; |
გაზომვის მონაცემთა ანალიზი
თითოეული გაზომვის მონაცემთა წერტილი შედგება 2-ბაიტიანი მანძილის მნიშვნელობისა და 1-ბაიტის ნდობის მნიშვნელობისგან, როგორც ეს ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.
| სათაური | ვერლენი | სიჩქარე | დაწყების კუთხე | მონაცემები | ბოლო კუთხე | დროულიamp | CRC შემოწმება | ||||
| 54 სთ | 2ჩჩ | LSB | MSB | LSB | MSB | …… | LSB | MSB | LSB | MSB | ლბაიტი |

| საზომი წერტილი 1 | საზომი წერტილი 2 | … | საზომი წერტილი n | ||||||
| მანძილი | ინტენსივობა | მანძილი | ინტენსივობა | მანძილი | ინტენსივობა | ||||
| LSB | MSB | 1 ბაიტი | LSB | MSB | 1 ბაიტი | … | LSB | MSB | 1 ბაიტი |
მანძილის ღირებულების ერთეული არის მმ. სიგნალის ინტენსივობის მნიშვნელობა ასახავს სინათლის არეკვლის ინტენსივობას. რაც უფრო მაღალია ინტენსივობა, მით უფრო დიდია სიგნალის ინტენსივობის მნიშვნელობა; რაც უფრო დაბალია ინტენსივობა, მით უფრო მცირეა სიგნალის ინტენსივობის მნიშვნელობა. 6 მ მანძილზე მდებარე თეთრი ობიექტისთვის, სიგნალის სიძლიერის მნიშვნელობის ტიპიური მნიშვნელობა არის დაახლოებით 200. თითოეული წერტილის კუთხის მნიშვნელობა მიიღება საწყისი და დასასრული კუთხის წრფივი ინტერპოლაციით. კუთხის გაანგარიშების მეთოდი შემდეგია:
ნაბიჯი= (დასრულება_კუთხე -დაწყების_კუთხე)/(ჯენ -1);
კუთხე= დაწყება_კუთხე + ნაბიჯი*ი;
სადაც Jen არის საზომი წერტილების რაოდენობა მონაცემთა პაკეტში და i მნიშვნელობების დიაპაზონი არის [O, Jen).
Example
დავუშვათ, რომ ჩვენ ვიღებთ მონაცემებს, როგორც ეს ნაჩვენებია ქვემოთ.
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 BESA 00 82
ჩვენ ვაანალიზებთ შემდეგნაირად:
| სათაური | ვერლენი | სიჩქარე | დაწყების კუთხე | მონაცემები | ბოლო კუთხე | დროულიamp | CRC შემოწმება | ||||
| 54 სთ | 2CH | 68 სთ | 08 სთ | ABH | 7EH | …… | BEH | 82 სთ | 3 ახ | lAH | 50 სთ |

| საზომი წერტილი 1 | საზომი წერტილი 2 |
••• |
საზომი წერტილი 12 | ||||||
| მანძილი | ინტენსივობა | მანძილი | ინტენსივობა | მანძილი | ინტენსივობა | ||||
| EOH | ოჰ | E4H | DCH | ოჰ | E2H | … | BOH | ოჰ | EAH |
| საველე ინფორმაცია | გარჩევის პროცესი |
| სიჩქარე | 0868H = 2152 გრადუსი წამში; |
| დაწყების კუთხე | 7EABH = 32427, ან 324.27 გრადუსი; |
| ბოლო კუთხე | 82BEH = 33470, ანუ 334.7 გრადუსი; |
| საზომი წერტილი I მანძილი | OOEOH = 224 მმ |
| საზომი წერტილი 1 ინტენსივობა | E4H = 228 |
| საზომი წერტილი 2 მანძილი | OODCH = 200 მმ |
| საზომი წერტილი 2 ინტენსივობა | OOE2H= 226 |
| … | … |
| საზომი წერტილი 12 მანძილი | OOBOH = 176 მმ |
| საზომი წერტილი 12 ინტენსივობა | EAH=234 |
კოორდინატთა სისტემა
LD19 იყენებს მარცხენა კოორდინატთა სისტემას, ბრუნვის ცენტრი არის კოორდინატთა საწყისი, სენსორის წინა მხარე განისაზღვრება ნულოვანი გრადუსით და ბრუნვის კუთხე იზრდება საათის ისრის მიმართულებით, როგორც ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.

განვითარების ნაკრების ინსტრუქციები
როგორ გამოვიყენოთ შეფასების ინსტრუმენტი
აპარატურის საკაბელო კავშირი და აღწერა
- LiDAR, მავთული, USB ადაპტერის დაფა, როგორც ნაჩვენებია შემდეგ სურათზე:

- კავშირის დიაგრამა, როგორც ნაჩვენებია ქვემოთ მოცემულ ფიგურაში:

დრაივერის დაყენება Windows-ის ქვეშ
Windows-ის ქვეშ კომპანიის პროდუქტების შეფასებისას აუცილებელია USB ადაპტერის დაფის სერიული პორტის დრაივერის დაყენება. მიზეზი ის არის, რომ კომპანიის მიერ მოწოდებულ დეველოპერულ კომპლექტში USB ადაპტერის დაფა იყენებს CP2102 USB სერიული პორტის ადაპტერის ჩიპს და მისი დრაივერის მიღება შესაძლებელია Silicon Download-დან Labs-ის ოფიციალური ვებგვერდიდან. webსაიტი:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
ან, CP210x_Universal_Windows_Driver დრაივერის პაკეტის დეკომპრესიის შემდეგ, შეასრულეთ exe file დრაივერის ინსტალაციის პაკეტის დირექტორიაში და აირჩიეთ X86 (32-bit) ან X64 (64-bit) Windows სისტემის ვერსიის მიხედვით.

ორჯერ დააწკაპუნეთ exe- ზე file და მიჰყევით მოთხოვნას, რომ დააინსტალიროთ.

ინსტალაციის დასრულების შემდეგ, შეაერთეთ USB ადაპტერის დაფა დეველოპერულ კომპლექტში კომპიუტერთან, დააწკაპუნეთ მაუსის მარჯვენა ღილაკით [ჩემი კომპიუტერი], აირჩიეთ [Properties] და გახსნილ [System] ინტერფეისში აირჩიეთ [Device Manager] მარცხენა მენიუში. შესასვლელად გადადით მოწყობილობის მენეჯერში, გააფართოვეთ [პორტები], შეგიძლიათ იხილოთ სერიული პორტის ნომერი, რომელიც შეესაბამება აღიარებულ CP2102 USB ადაპტერს, ანუ დრაივერი წარმატებით არის დაინსტალირებული და ქვემოთ მოყვანილი ფიგურა არის COM4.

LdsPointCloud-ის გამოყენებაViewპროგრამული უზრუნველყოფა Windows-ის ქვეშ
წერტილი ღრუბლის ვიზუალიზაციის პროგრამული უზრუნველყოფა LdsPointCloudViewer-ს შეუძლია ამ პროდუქტის სკანირებული მონაცემების რეალურ დროში ჩვენება და დეველოპერებს შეუძლიათ გამოიყენონ ეს პროგრამული უზრუნველყოფა ამ პროდუქტის სკანირებულ რენდერებზე ვიზუალურად დასაკვირვებლად. ამ პროგრამული უზრუნველყოფის გამოყენებამდე აუცილებელია განვასხვავოთ, რომ ამ პროდუქტის USB ადაპტერის დაფის დრაივერი წარმატებით დაინსტალირებულია და პროდუქტი ერთმანეთთან არის დაკავშირებული Windows სისტემის კომპიუტერის USB პორტთან, შემდეგ ორჯერ დააწკაპუნეთ LdsPointCloud-ზე.Viewer.exe და აირჩიეთ შესაბამისი პროდუქტის მოდელი და პორტის ნომერი, დააწკაპუნეთ დაწყების წერტილის ღრუბლის განახლების ღილაკზე, როგორც ნაჩვენებია შემდეგ სურათზე.

ზემოთ მოცემულ ფიგურაში,
'სიჩქარე' წარმოადგენს ლიდარის სკანირების სიხშირეს, ერთეული: Hz;
'Rate' წარმოადგენს lidar მონაცემთა პაკეტის გარჩევადობის სიჩქარეს;
"Valid" წარმოადგენს მოქმედ წერტილს ლიდარისთვის წრის გასაზომად.
პროდუქტის 3D მოდელი file
გახსენით LiDAR_LD19_3D_stp_Vl.0 file 3D მოდელის მისაღებად file STP ფორმატში.
ოპერაცია დაფუძნებული ROS-ზე Linux-ის ქვეშ
ROS გარემოს დანერგვა და ინსტალაცია
ROS (Robot Operating System) არის ღია კოდის მეტაოპერაციული სისტემა რობოტებისა და შუალედური პროგრამებისთვის, რომელიც აგებულია Linux-ზე. ის უზრუნველყოფს ოპერაციული სისტემისგან მოსალოდნელ სერვისებს, მათ შორის ტექნიკის აბსტრაქციას, დაბალი დონის მოწყობილობის კონტროლს, ხშირად გამოყენებული ფუნქციების განხორციელებას, პროცესებს შორის შეტყობინების გადაცემას და პაკეტის მენეჯმენტს. ის ასევე უზრუნველყოფს ინსტრუმენტებსა და ბიბლიოთეკის ფუნქციებს, რომლებიც საჭიროა კომპიუტერებში კოდის მისაღებად, კომპილაციის, ჩაწერისა და გასაშვებად. ROS-ის თითოეული ვერსიის ინსტალაციის საფეხურებისთვის, გთხოვთ, მიმართოთ ოფიციალურ ROS-ს webსაიტი: http://wiki.ros.org/ROS/lnstallation
ამ პროდუქტის ROS ფუნქციის პაკეტი მხარს უჭერს შემდეგ ვერსიებსა და გარემოს:
- ROS Kinetic (Ubuntu16.04);
- ROS Melodic (Ubuntu18.04);
- ROS Noetic (Ubuntu20.04).
მიიღეთ ROS პაკეტის წყაროს კოდი
ამ პროდუქტის ROS ფუნქციური პაკეტის წყარო კოდი განთავსებულია Github-ის საცავში. შეგიძლიათ ჩამოტვირთოთ სამაგისტრო ან მთავარი ფილიალის წყაროს კოდი საცავის ქსელის ბმულზე წვდომით, ან გადმოწეროთ ის git ინსტრუმენტის მეშვეობით. მომხმარებლებს ასევე შეუძლიათ პირდაპირ ამოიღონ SDK LD19 > ldlidar stl ros.zi შემდეგ გზაზე გამოსაყენებლად.
- საცავი webსაიტის მისამართი
► https://github.com/DFRobotdl/ldlidarstlros - git ინსტრუმენტის ჩამოტვირთვის ოპერაცია
| # ჯერ გახსენით ტერმინალის ინტერფეისი, შეგიძლიათ გამოიყენოთ მალსახმობი ღილაკი ctrl+alt+t
# თუ Ubuntu სისტემას, რომელსაც იყენებთ, არ აქვს დაყენებული git ინსტრუმენტი, შეგიძლიათ დააინსტალიროთ როგორც შემდეგნაირად: $ sudo apt-get ინსტალაცია git # ჩამოტვირთეთ პროდუქტის ROS ფუნქციური პაკეტის წყარო კოდი: $ cd ~ $ mkdir -p ldlidar_ros_ws/src $ cd ~/ldlidar_ros_ws/src $git კლონი https://github.com/DFRobotdl/ldlidar_stl_ros.git #ან $ unzip ldlidar_stl_ros.zip |
მოწყობილობის ნებართვების დაყენება
პირველ რიგში, შეაერთეთ ლიდარი ჩვენს ადაპტერის მოდულთან (CP2102 ადაპტერი) და დააკავშირეთ მოდული კომპიუტერთან. შემდეგ გახსენით ტერმინალი ubuntu სისტემის ქვეშ და შედით Is /dev/ttyUSB* შეამოწმეთ არის თუ არა სერიული მოწყობილობა დაკავშირებული. თუ აღმოჩენილია სერიული პორტის მოწყობილობა, გამოიყენეთ sudo ch mod 777 /dev/ttyUSB* ბრძანება მისცეს მას უმაღლესი უფლებამოსილება, ანუ მისცეს file მფლობელი, ჯგუფი და სხვა მომხმარებლები კითხულობენ, წერენ და ასრულებენ ნებართვებს, როგორც ნაჩვენებია შემდეგ სურათზე.

საბოლოოდ, შეცვალეთ port_name ღირებულებაში ld19.launch file წელს ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ დირექტორია. აიღეთ სისტემაში დამონტაჟებული ლიდარი, როგორც /dev/ttyUSB0, როგორც ყოფილიample, როგორც ნაჩვენებია ქვემოთ.
| $ nano ~/Jdlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch |

Linux nano რედაქტორი: Ctrl + 0 ინახავს რედაქტირებულს file; Ctrl + X გამოდის რედაქტირების ინტერფეისიდან.
აშენების და გარემოს პარამეტრები
- გამოიყენეთ catkin კომპილაციის სისტემა პროდუქტის ფუნქციის პაკეტის შედგენისა და შესაქმნელად:
$ cd ~/fdlidauos~ws
. $ catkin_make - ფუნქციის პაკეტის გარემოს ცვლადის პარამეტრები:
შედგენის დასრულების შემდეგ, თქვენ უნდა დაამატოთ შესაბამისი files გენერირებულია გარემოს ცვლადების კომპილაციის შედეგად, რათა ROS გარემომ შეძლოს მათი ამოცნობა. შესრულების ბრძანება შემდეგია. ეს ბრძანება არის დროებით დაამატოთ გარემოს ცვლადები ტერმინალში, რაც ნიშნავს, რომ თუ ხელახლა გახსნით ახალ ტერმინალს, თქვენ ასევე გჭირდებათ მისი ხელახლა შესრულება. შემდეგი ბრძანება.
| $ cd ~/tdlidar_ros_ws $ წყარო devel/setup.bash |
იმისათვის, რომ არასოდეს დაგჭირდეთ ზემოაღნიშნული ბრძანების შესრულება ტერმინალის ხელახლა გახსნის შემდეგ გარემოს ცვლადების დასამატებლად, შეგიძლიათ გააკეთოთ შემდეგი.
| $ echo წყარო ~//dlidar_ros_ws/devel/setup.bash » ~/bashrc $ წყარო ~/bashrc |
Run node და Rviz აჩვენებს LiDAR წერტილის ღრუბელს
გაუშვით lidar კვანძი და შეასრულეთ შემდეგი ბრძანება.
| $ roslaunch ldlidar_stl_ros ld19.გაშვება |
გაუშვით lidar კვანძი და აჩვენეთ lidar point ღრუბლის მონაცემები Rviz-ზე, შეასრულეთ შემდეგი ბრძანება.
| # თუ ROS_DISTRO "კინეტიკური" ან "მელოდიური" $ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic.გაშვება # თუ ROS_DISTRO "noetic"-ში $ ros/aunch ldlidar_st/_ros viewer_ld19_noetic.გაშვება |
ოპერაცია დაფუძნებული ROS2-ზე Linux-ის ქვეშ
ROS2 გარემოს დანერგვა და ინსტალაცია
ROS (Robot Operating System) არის ღია კოდის მეტაოპერაციული სისტემა რობოტებისა და შუალედური პროგრამებისთვის, რომელიც აგებულია Linux-ზე. ის უზრუნველყოფს ოპერაციული სისტემისგან მოსალოდნელ სერვისებს, მათ შორის ტექნიკის აბსტრაქციას, დაბალი დონის მოწყობილობის კონტროლს, ხშირად გამოყენებული ფუნქციების განხორციელებას, პროცესებს შორის შეტყობინების გადაცემას და პაკეტის მენეჯმენტს. ის ასევე უზრუნველყოფს ინსტრუმენტებსა და ბიბლიოთეკის ფუნქციებს, რომლებიც საჭიროა კომპიუტერებში კოდის მისაღებად, კომპილაციის, ჩაწერისა და გასაშვებად. რობოტიკა და ROS საზოგადოება ძალიან შეიცვალა მას შემდეგ, რაც ROS ამოქმედდა 2007 წელს. ROS2 პროექტის მიზანია ამ ცვლილებებთან ადაპტირება, ROSl-ის ძლიერი მხარეების გამოყენება და სუსტი მხარეების გაუმჯობესება. ROS2-ის ინსტალაციის საფეხურებისთვის, გთხოვთ, მიმართოთ ოფიციალურს webROS2-ის საიტი: https://docs.ros.org/en/foxy/lnstallation.html
ამ პროდუქტის ROS2 ფუნქციური პაკეტი მხარს უჭერს ROS2 foxy ვერსიის გამოყენებას და ზემოთ.
მიიღეთ ROS2 პაკეტის წყაროს კოდი
ამ პროდუქტის ROS2 ფუნქციური პაკეტის წყაროს კოდი განთავსებულია Github-ის საცავებში. შეგიძლიათ ჩამოტვირთოთ სამაგისტრო ან მთავარი ფილიალის წყაროს კოდი საცავის ქსელის ბმულზე წვდომით, ან გადმოწეროთ git ინსტრუმენტის საშუალებით. მომხმარებლებს ასევე შეუძლიათ პირდაპირ ამოიღონ SDK LD19 > ldlidar_stl_ros2.ziR გამოსაყენებლად შემდეგ გზაზე.
- საცავი webსაიტის მისამართი
► https://github.com/DFRobotdl/ldlidarstlros2 - git ინსტრუმენტის ჩამოტვირთვის ოპერაცია
| # ჯერ გახსენით ტერმინალის ინტერფეისი, შეგიძლიათ გამოიყენოთ კომბინაცია ctrl+alt+t # თუ Ubuntu სისტემას, რომელსაც იყენებთ, არ აქვს დაყენებული git ინსტრუმენტი, შეგიძლიათ დააინსტალიროთ როგორც შემდეგნაირად: $ sudo apt-get ინსტალაცია git # ჩამოტვირთეთ პროდუქტის ROS2 ფუნქციური პაკეტის წყარო კოდი: $ cd ~ $ mkdir -p ldlidar_ros2_ ws/src $ cd ~/ldlidar_ros2_ws/src $ git კლონი https://github.com/DFRobotdl/ldlidar_st/_ros2.git #ან $ unzip ldlidar_st/_ros2.zip |
მოწყობილობის ნებართვების დაყენება
პირველ რიგში, შეაერთეთ ლიდარი ჩვენს ადაპტერის მოდულთან (CP2102 ადაპტერი) და დააკავშირეთ მოდული კომპიუტერთან. შემდეგ გახსენით ტერმინალი ubuntu სისტემის ქვეშ და შედით Is /dev/ttyUSB* შეამოწმეთ არის თუ არა სერიული მოწყობილობა დაკავშირებული. თუ აღმოჩენილია სერიული პორტის მოწყობილობა, გამოიყენეთ sudo chmod 777 /dev/ttyUSB* ბრძანება მისცეს მას უმაღლესი უფლებამოსილება, ანუ მისცეს file მფლობელი, ჯგუფი და სხვა მომხმარებლები კითხულობენ, წერენ და ასრულებენ ნებართვებს, როგორც ნაჩვენებია შემდეგ სურათზე.

საბოლოოდ, შეცვალეთ port_name ღირებულებაში ld19.launch.py file წელს ~/ldldiar_ros2_ws/src/ldlidar_stl_ros2/launch/ დირექტორია. აიღეთ სისტემაში დამონტაჟებული ლიდარი როგორც /dev/ttyUSBO როგორც ყოფილიample, როგორც ნაჩვენებია ქვემოთ.
| $ nano ~ /ldlidar _ros2_ ws/src/ldldiar_stl_ros2/launch/ld19.launch.py |

Linux nano რედაქტორი: Ctrl + 0 ინახავს რედაქტირებულს file; Ctrl + X გამოდის რედაქტირების ინტერფეისიდან.
აშენების და გარემოს პარამეტრები
- გამოიყენეთ colcon კომპილაციის სისტემა პროდუქტის ფუნქციის პაკეტის შედგენისა და შესაქმნელად:
$ cd ~/fdlidauos2~ws
. $ co/con აშენება - ფუნქციის პაკეტის გარემოს ცვლადის პარამეტრები:
შედგენის დასრულების შემდეგ, თქვენ უნდა დაამატოთ შესაბამისი files გენერირებულია გარემოს ცვლადების შედგენის შედეგად, რათა ROS2 გარემოს ამოცნობა მოხდეს. შესრულების ბრძანება შემდეგია. ეს ბრძანება არის დროებით დაამატოთ გარემოს ცვლადები ტერმინალში, რაც ნიშნავს, რომ თუ ხელახლა გახსნით ახალ ტერმინალს, თქვენ ასევე გჭირდებათ მისი ხელახლა შესრულება. შემდეგი ბრძანება.
| $ cd ~/Jdlidar_ros2_ws $ source install/setup.bash |
იმისათვის, რომ არასოდეს დაგჭირდეთ ზემოაღნიშნული ბრძანების შესრულება ტერმინალის ხელახლა გახსნის შემდეგ გარემოს ცვლადების დასამატებლად, შეგიძლიათ გააკეთოთ შემდეგი.
| $ echo წყარო ~/Jdlidar_ros2_ws/install/setup.bash » ~j.bashrc |
| $ წყარო ~j.bashrc |
Run node და Rviz2 აჩვენებს LiDAR წერტილის ღრუბელს
გაუშვით lidar კვანძი და შეასრულეთ შემდეგი ბრძანება.
| $ ros2 გაშვება ldlidar_stl_ros2 ld19.launch.py |
გაუშვით lidar კვანძი და აჩვენეთ lidar point ღრუბელი Rviz2-ზე, შეასრულეთ შემდეგი ბრძანება.
| $ ros2 გაშვება ldlidar_stl_ros2 viewer_ld19.launch.py |
Linux-ის ქვეშ SDK-ის გამოყენების ინსტრუქცია
მიიღეთ SDK-ის საწყისი კოდი
ამ პროდუქტის Linux SOK-ის წყაროს კოდი განთავსებულია Github-ის საცავებში. შეგიძლიათ ჩამოტვირთოთ სამაგისტრო ან მთავარი ფილიალის წყაროს კოდი საცავის ქსელის ბმულზე წვდომით, ან გადმოწეროთ იგი gittool-ის საშუალებით. მომხმარებლებს ასევე შეუძლიათ პირდაპირ ამონაწერი SOK L019 > ldlidar stl sdk.zip გამოსაყენებლად შემდეგ გზაზე.
- საცავი webსაიტის მისამართი
► https://github.com/OFRobotdl/ldlidarstlsdk - git ინსტრუმენტის ჩამოტვირთვის ოპერაცია
| # ჯერ გახსენით ტერმინალის ინტერფეისი, შეგიძლიათ გამოიყენოთ კომბინაცია ctrl+alt+t # თუ Ubuntu სისტემას, რომელსაც იყენებთ, არ აქვს დაყენებული git ინსტრუმენტი, შეგიძლიათ დააინსტალიროთ როგორც შემდეგნაირად: $ sudo apt-get ინსტალაცია git # ჩამოტვირთეთ საწყისი კოდი: $ cd ~ $ mkdir ldlidar_ws $ cd ~/ldlidar_ws $ git კლონი https://github.com/DFRobotdl/ldlidar_stl_sdk.git #ან $ unzip ldlidar_stl_sdk.zip |
მოწყობილობის ნებართვების დაყენება
ჯერ შეაერთეთ ლიდარი ჩვენს ადაპტერის მოდულთან (CP2102 ადაპტერი}) და დააკავშირეთ მოდული კომპიუტერთან. შემდეგ გახსენით ტერმინალი ubuntu სისტემის ქვეშ და შედით Is /dev/ttyUSB* შეამოწმეთ არის თუ არა სერიული მოწყობილობა დაკავშირებული. თუ აღმოჩენილია სერიული პორტის მოწყობილობა, გამოიყენეთ sudo chmod 777 /dev/ttyUSB* ბრძანება მისცეს მას უმაღლესი უფლებამოსილება, ანუ მისცეს file მფლობელი, ჯგუფი და სხვა მომხმარებლები კითხულობენ, წერენ და ასრულებენ ნებართვებს, როგორც ნაჩვენებია შემდეგ სურათზე.

აშენება
წყაროს კოდი დაშიფრულია C++11 სტანდარტულ C++ ენაზე და C99 სტანდარტულ C ენაზე. გამოიყენეთ CMake, GNU-make, GCC და სხვა ინსტრუმენტები წყაროს კოდის შედგენისა და შესაქმნელად. თუ იყენებთ Ubuntu სისტემას ზემოთ ჩამოთვლილი ხელსაწყოების დაყენების გარეშე, შეგიძლიათ შეასრულოთ შემდეგი ბრძანება ინსტალაციის დასასრულებლად.
| $ sudo apt-get install build-essential cmake |
თუ ზემოთ მითითებული ინსტრუმენტები უკვე არსებობს სისტემაში, გააკეთეთ შემდეგი.
| $ cd ~/ldlidar_ ws/ldlidar_stl_sdk # თუ build საქაღალდე არ არსებობს ldlidar_st/_sdk დირექტორიაში, ის უნდა შეიქმნას $ mkdir აშენება $ cd აშენება $ cmake .. / $მაკეთი |
ორობითი პროგრამის გაშვება
| $ cd ~/ldlidar_ ws/ldlidar_st/_sdk/build $ ./ldlidar_stl # მაგ: ./ldlidar_stl /dev/ttyUSBO |
ROS-ის გამოყენების ინსტრუქცია Raspberry Pi SBC-ზე დაფუძნებული
გთხოვთ, იხილოთ სახელმძღვანელო « LD19 Raspberry Pi Raspbian მომხმარებლის სახელმძღვანელო_ V2.9.pdf)) დეტალებისთვის.
გარდა ამისა, ჩვენ მივაწოდეთ Raspberry Pi-ს მორგებული სურათი ამ პროდუქტისთვის და მისი გამოყენების გაკვეთილი შემდეგია:
შესავალი სარკეში
- სარკის შემადგენლობა:
• raspberrypi raspbian OS ვერსია: 2020-08-20-raspios-buster-armhf
• ROS გარემოს ვერსია: ROS melodic
• LiDAR LD19 ROS პაკეტი - აპარატურის მხარდაჭერა:
• raspberrypi 3B+ SBC , raspberrypi 4B SBC
• SD ბარათი 16 გბ-ზე მეტი ან ტოლი ტევადობით
სარკის გამოყენება
- სურათის ჩამოტვირთვა file:
• ჩამოტვირთვის ბმული 1: https://pan.baidu.com/s/lfvTfXBbWC9ESXNNUY5aJhw 1Jt:&:7ky8a
• ჩამოტვირთვის ბმული 2:
https://drive.google.com/file/d/lylMTFGRZ9cRcy3Njvf10cxDo4Wy3tfCB/view?usp=sharing
• Სურათი file სახელი არის 2022-03-24-raspios-buster-armhf-ldrobot-customization.img.xz - დაწერეთ სურათი file SD ბარათზე და გაუშვით სისტემა:
ჩაწერეთ Win32Disklmager ინსტრუმენტის საშუალებით, ჩადეთ ის Raspberry Pi ბარათის სლოტში წარმატებული ჩაწერის შემდეგ და ჩართე სისტემა- სისტემაში შესვლასთან დაკავშირებული ინფორმაცია
• მომხმარებლის სახელი:pi
• Მასპინძლის სახელი:raspberrypi• საშვი პალატა
pi - ლიდარის კვანძის გაშვება
- სისტემაში შესვლასთან დაკავშირებული ინფორმაცია
| #stepl: დარწმუნდით, რომ lidar მოწყობილობა დაკავშირებულია raspberrypi SBC-თან და გახსენით ტერმინალი მალსახმობი Ctrl+Alt+T. # ნაბიჯი 2: მოიძიეთ პორტის მოწყობილობა file შესაბამისი სარადარო მოწყობილობის მეშვეობით Is-I/dv1i, მისცეს შესრულებადინებართვა და შემდეგ შეცვალეთ გაშვება file პარამეტრები. აიღე პორტი file ლიდარის მოწყობილობის შესაბამისი როგორც /dev/ttyUSB0 როგორც ყოფილიampლე. $ sudo chmod 777 /dev/ttyUSB0 # შენიშვნა: რეკომენდებულია Lldar ROS დრაივერის პაკეტის სარკეში პირველად განახლება $ cd ~ && cd ~/ldlidar_ros_ws/src/ $ rm -rf ldlidar_stl_ros/ $ git კლონი https://github.com/DFRobotdl/ldlidar_stl_ros.git |
საბოლოოდ, შეცვალეთ port_name მნიშვნელობა ld19.launch-ში file წელს ~/ldldiar_ros_ws/src/ldlidar_stl_ros/launch/ დირექტორია. აიღეთ სისტემაში დამონტაჟებული ლიდარი როგორც /dev/ttyUSBO როგორც ყოფილიample, როგორც ნაჩვენებია ქვემოთ.
| $ nano ~/ldlidar _ros_ ws/src/ldldiar _stl_ros/launch/ld19.launch |

გაუშვით lidar კვანძი და შეასრულეთ შემდეგი ბრძანება.
| $ roslaunch ldlidar_stl_ros ld19.გაშვება |
გაუშვით lidar კვანძი და აჩვენეთ lidar point ღრუბლის მონაცემები Rviz-ზე, შეასრულეთ შემდეგი ბრძანება.
| $ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic./aunch |
გადასინჯვის ისტორია
| ვერსია | გადახედვის თარიღი | მოდიფიცირება The შინაარსი |
| 1.0 | 2020-09-01 | თავდაპირველი შექმნა |
| 1.1 | 2021-01-15 | წაშალეთ Transform() ფუნქცია |
|
2.0 |
2022-02-27 |
დამატებულია განვითარების ნაკრების ინსტრუქციის იონების შინაარსი |
|
2.1 |
2022-03-06 |
გაზარდეთ დოკუმენტის გრაფიკული დიზაინი და გადახედეთ შინაარსის ფორმატს |
|
2.2 |
2022-03-09 |
შეცვალეთ დოკუმენტის ყდის სათაური და შინაარსის ნაწილი |
| 2.3 | 2022-03-15 | გადახედეთ პრობლემურ განცხადებებს დოკუმენტაციაში |
| 2.4 | 2022-04-02 |
|
| 2.5 | 2022-06-25 |
|
დოკუმენტები / რესურსები
![]() |
DFRobot LiDAR LD19 ლაზერული სენსორის ნაკრები [pdf] ინსტრუქციის სახელმძღვანელო LiDAR LD19 ლაზერული სენსორის ნაკრები, LiDAR LD19, ლაზერული სენსორის ნაკრები, სენსორის ნაკრები |




