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

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-ს აქვს ძრავა

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 იყენებს მარცხენა კოორდინატთა სისტემას, ბრუნვის ცენტრი არის კოორდინატთა საწყისი, სენსორის წინა მხარე განისაზღვრება ნულოვანი გრადუსით და ბრუნვის კუთხე იზრდება საათის ისრის მიმართულებით, როგორც ნაჩვენებია ქვემოთ მოცემულ ფიგურაში.

საკოორდინაციო სისტემა

განვითარების ნაკრების ინსტრუქციები

როგორ გამოვიყენოთ შეფასების ინსტრუმენტი

აპარატურის საკაბელო კავშირი და აღწერა

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

დრაივერის დაყენება 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 სისტემის ვერსიის მიხედვით.

დრაივერის დაყენება Windows-ის ქვეშ

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

დრაივერის დაყენება Windows-ის ქვეშ

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

დრაივერის დაყენება Windows-ის ქვეშ

LdsPointCloud-ის გამოყენებაViewპროგრამული უზრუნველყოფა Windows-ის ქვეშ

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

LdsPointCloud-ის გამოყენებაViewპროგრამული უზრუნველყოფა Windows-ის ქვეშ
ზემოთ მოცემულ ფიგურაში,

'სიჩქარე' წარმოადგენს ლიდარის სკანირების სიხშირეს, ერთეული: 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 შემდეგ გზაზე გამოსაყენებლად.

  1. საცავი webსაიტის მისამართი
    https://github.com/DFRobotdl/ldlidarstlros
  2. 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 გამოდის რედაქტირების ინტერფეისიდან.

აშენების და გარემოს პარამეტრები

  1. გამოიყენეთ catkin კომპილაციის სისტემა პროდუქტის ფუნქციის პაკეტის შედგენისა და შესაქმნელად:
    $ cd ~/fdlidauos~ws
    . $ catkin_make
  2. ფუნქციის პაკეტის გარემოს ცვლადის პარამეტრები:
    შედგენის დასრულების შემდეგ, თქვენ უნდა დაამატოთ შესაბამისი 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 გამოსაყენებლად შემდეგ გზაზე.

  1. საცავი webსაიტის მისამართი
    https://github.com/DFRobotdl/ldlidarstlros2
  2. 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 გამოდის რედაქტირების ინტერფეისიდან.

აშენების და გარემოს პარამეტრები

  1. გამოიყენეთ colcon კომპილაციის სისტემა პროდუქტის ფუნქციის პაკეტის შედგენისა და შესაქმნელად:
    $ cd ~/fdlidauos2~ws
    . $ co/con აშენება
  2. ფუნქციის პაკეტის გარემოს ცვლადის პარამეტრები:
    შედგენის დასრულების შემდეგ, თქვენ უნდა დაამატოთ შესაბამისი 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 გამოსაყენებლად შემდეგ გზაზე.

  1. საცავი webსაიტის მისამართი
    https://github.com/OFRobotdl/ldlidarstlsdk
  2. 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-ს მორგებული სურათი ამ პროდუქტისთვის და მისი გამოყენების გაკვეთილი შემდეგია:

შესავალი სარკეში

  1. სარკის შემადგენლობა:
    • raspberrypi raspbian OS ვერსია: 2020-08-20-raspios-buster-armhf
    • ROS გარემოს ვერსია: ROS melodic
    • LiDAR LD19 ROS პაკეტი
  2. აპარატურის მხარდაჭერა:
    • raspberrypi 3B+ SBC , raspberrypi 4B SBC
    • SD ბარათი 16 გბ-ზე მეტი ან ტოლი ტევადობით

სარკის გამოყენება

  1. სურათის ჩამოტვირთვა 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
  2. დაწერეთ სურათი file SD ბარათზე და გაუშვით სისტემა:
    ჩაწერეთ Win32Disklmager ინსტრუმენტის საშუალებით, ჩადეთ ის Raspberry Pi ბარათის სლოტში წარმატებული ჩაწერის შემდეგ და ჩართე სისტემა
    1. სისტემაში შესვლასთან დაკავშირებული ინფორმაცია
      • მომხმარებლის სახელი: pi
      • Მასპინძლის სახელი: raspberrypi
      • საშვი პალატა pi
    2. ლიდარის კვანძის გაშვება
#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
  1. ლოგოს შეცვლა;
  2. დამატებულია 30 მოდელი file რესურსის გაცნობა;
  3. დაამატეთ Raspberry Pi-ს პერსონალური გამოსახულების გამოყენების შესავალი;
  4. დააფიქსირეთ შეცდომა აღწერილობაში დოკუმენტი
2.5 2022-06-25
  1. დამატებულია მხარდაჭერა ROS2 Humble ვერსიისთვის;
  2. შეცვალეთ Rviz, Rviz2 ლაზერული წერტილის ღრუბლის შესაბამისი შინაარსის საჩვენებლად;
  3. შეცვალეთ Windows წერტილი ღრუბლოვანი მასპინძელი კომპიუტერის შესაბამისი შინაარსი

 

დოკუმენტები / რესურსები

DFRobot LiDAR LD19 ლაზერული სენსორის ნაკრები [pdf] ინსტრუქციის სახელმძღვანელო
LiDAR LD19 ლაზერული სენსორის ნაკრები, LiDAR LD19, ლაზერული სენსორის ნაკრები, სენსორის ნაკრები

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *