DFRobot LiDAR LD19 लेसर सेन्सर किट
उत्पादन वर्णन
LD19 हे मुख्यत्वे लेसर रेंजिंग कोर, वायरलेस टेलेक्स युनिट, वायरलेस कम्युनिकेशन युनिट, अँगल मापन युनिट, मोटर ड्राइव्ह युनिट आणि मेकॅनिकल केसिंग यांनी बनलेले आहे.
LD19 रेंजिंग कोर DTOF तंत्रज्ञान वापरते, जे प्रति सेकंद 4,500 वेळा मोजू शकते. प्रत्येक वेळी जेव्हा अंतर मोजले जाते तेव्हा, LD19 पुढे एक इन्फ्रारेड लेसर उत्सर्जित करते आणि लक्ष्य ऑब्जेक्टचा सामना केल्यानंतर लेसर सिंगल-फोटॉन प्राप्त करणाऱ्या युनिटमध्ये परावर्तित होते. यावरून, आम्हाला लेसर उत्सर्जित होण्याची वेळ आणि सिंगल-फोटॉन रिसीव्हिंग युनिटला लेसर प्राप्त होण्याची वेळ मिळवली. प्रकाशाच्या उड्डाणाच्या वेळेत या दोघांमधील वेळेचा फरक आहे. अंतर मोजण्यासाठी उड्डाणाची वेळ प्रकाशाच्या वेगाशी जोडली जाऊ शकते.
अंतर डेटा प्राप्त केल्यानंतर, LD19 बिंदू क्लाउड डेटा तयार करण्यासाठी कोन मापन युनिटद्वारे मोजलेली कोन मूल्ये एकत्र करेल आणि नंतर वायरलेस संप्रेषणाद्वारे बिंदू क्लाउड डेटा बाह्य इंटरफेसवर पाठवेल. LD19 अंतर्गत गती नियंत्रणास समर्थन देते, पॉवर-ऑन केल्यानंतर वेग 10 सेकंदात 0.1±3Hz पर्यंत स्थिर केला जाऊ शकतो. त्याच वेळी, बाह्य गती नियंत्रणास समर्थन देण्यासाठी PWM बाह्य इनपुट इंटरफेस प्रदान केला जातो. बाह्य नियंत्रण युनिटने वेग प्राप्त केल्यानंतर, ते PID अल्गोरिदम क्लोज-लूपद्वारे नियंत्रित केले जाते आणि LD19 निर्दिष्ट गतीपर्यंत पोहोचण्यासाठी PWM सिग्नल इनपुट केला जातो.
LD19 पॉइंट क्लाउड डेटाद्वारे तयार केलेल्या पर्यावरणीय स्कॅनचे उदाहरण खाली दर्शविले आहे:
कम्युनिकेशन इंटरफेस
LD19 ZH1.5T-4P 1.5 मिमी कनेक्टरचा वापर वीज पुरवठा आणि डेटा रिसेप्शन लक्षात घेण्यासाठी बाह्य प्रणालीशी कनेक्ट करण्यासाठी करते. विशिष्ट इंटरफेस व्याख्या आणि पॅरामीटर आवश्यकता खालील आकृती/सारणीमध्ये दर्शविल्या आहेत:
बंदर संख्या | सिग्नल नाव | प्रकार | वर्णन आयन | मिनी आई | ठराविक | maxi आई |
1 | Tx | आउटपुट | LiDAR
डेटा आउटपुट |
ov | 3.3V | 3.5V |
2 | PWM | इनपुट | मोटर नियंत्रण | ov | – | 3.3V |
3 | GND | वीज पुरवठा | नकारात्मक | – | ov | – |
4 | P5V | वीज पुरवठा | सकारात्मक | 4.5V | 5V | 5.5V |
LD19 मध्ये स्टेप लेस स्पीड रेग्युलेशनसह मोटर ड्रायव्हर आहे, जो अंतर्गत वेग नियंत्रण आणि बाह्य वेग नियंत्रणास समर्थन देतो. जेव्हा PWM पिन ग्राउंड केला जातो, तेव्हा डीफॉल्ट अंतर्गत गती नियमन असते आणि डीफॉल्ट गती 10±0.1Hz असते. बाह्य गती नियंत्रणासाठी, स्क्वेअर वेव्ह सिग्नलला PWM पिनशी जोडणे आवश्यक आहे आणि मोटरचा प्रारंभ, थांबा आणि वेग PWM सिग्नलच्या कर्तव्य चक्राद्वारे नियंत्रित केला जाऊ शकतो. बाह्य गती नियंत्रण ट्रिगर करण्याच्या अटी: a. इनपुट PWM वारंवारता 20-50K, शिफारस केलेली 30K; b कर्तव्य चक्र (45%, 55%) अंतराल (45% आणि 55% वगळून), आणि किमान 100ms सतत इनपुट वेळ आहे. बाह्य गती नियंत्रण ट्रिगर झाल्यानंतर, ते नेहमी बाह्य गती नियंत्रण स्थितीत असते आणि जोपर्यंत वीज बंद करून रीस्टार्ट होत नाही तोपर्यंत अंतर्गत गती नियंत्रण पुनर्संचयित केले जाईल; त्याच वेळी, PWM ड्यूटी सायकल समायोजित करून वेग नियंत्रण केले जाऊ शकते. प्रत्येक उत्पादनाच्या मोटरच्या वैयक्तिक फरकांमुळे, जेव्हा कर्तव्य चक्र विशिष्ट मूल्यावर सेट केले जाते तेव्हा वास्तविक वेग भिन्न असू शकतो. मोटर गती अचूकपणे नियंत्रित करण्यासाठी, प्राप्त डेटामधील गती माहितीनुसार बंद-लूप नियंत्रण करणे आवश्यक आहे. टीप: बाह्य गती नियंत्रण वापरत नसताना, PWM पिन ग्राउंड केलेला असणे आवश्यक आहे.
LD19 चा डेटा कम्युनिकेशन स्टँडर्ड युनिव्हर्सल एसिंक्रोनस सीरियल पोर्ट (UART) वन-वे ट्रान्समिशनचा अवलंब करतो आणि त्याचे ट्रान्समिशन पॅरामीटर्स खालील तक्त्यामध्ये दर्शविले आहेत:
बाऊड रेट | डेटा लांबी | थोडा थांबा | समता बिट | प्रवाह नियंत्रण | |||
230400bit/s | 8 बिट्स | I | 1 | I | काहीही नाही | I | काहीही नाही |
डेटा प्रोटोकॉल
डेटा पॅकेट स्वरूप
LD19 एकतर्फी संप्रेषणाचा अवलंब करते. स्थिर ऑपरेशननंतर, ते कोणतेही आदेश न पाठवता मापन डेटा पॅकेट पाठविण्यास प्रारंभ करते. मापन पॅकेटचे स्वरूप खालील आकृतीमध्ये दर्शविले आहे.
शीर्षलेख | व्हेरलेन | गती | प्रारंभ कोन | डेटा | शेवटचा कोन | टाइमस्टamp | सीआरसी तपासणी | ||||
54H | मी बाइट | LSB | एमएसबी | LSB | एमएसबी | …… | LSB | एमएसबी | LSB | एमएसबी | मी बाइट |
- शीर्षलेख: लांबी 1 बाइट आहे, आणि मूल्य 0x54 वर निश्चित केले आहे, जे डेटा पॅकेटची सुरूवात दर्शवते;
- Verlen: लांबी 1 बाइट आहे, वरचे तीन बिट्स पॅकेट प्रकार दर्शवतात, जे सध्या 1 वर निश्चित केले आहे, आणि खालच्या पाच बिट्स पॅकेटमधील मापन बिंदूंची संख्या दर्शवितात, जी सध्या 12 वर निश्चित आहे, त्यामुळे बाइट मूल्य निश्चित आहे 0x2C वर;
- वेग: लांबी 2 बाइट आहे, युनिट प्रति सेकंद अंश आहे, लिडरची गती दर्शवते;
- प्रारंभ कोन: लांबी 2 बाइट्स आहे, आणि युनिट 0.01 अंश आहे, डेटा पॅकेट पॉइंटचा प्रारंभ कोन दर्शवितो;
- डेटा: मापन डेटा दर्शवते, मापन डेटाची लांबी 3 बाइट्स आहे, कृपया तपशीलवार विश्लेषणासाठी पुढील विभाग पहा;
- शेवटचा कोन: लांबी 2 बाइट्स आहे, आणि युनिट 0.01 अंश आहे, डेटा पॅकेट पॉइंटचा शेवटचा कोन दर्शवितो;
- टाइमस्टamp : लांबी 2 बाइट आहे, युनिट मिलिसेकंद आहे आणि कमाल 30000 आहे. जेव्हा ते 30000 पर्यंत पोहोचते, तेव्हा ते पुन्हा मोजले जाईल, वेळ दर्शवितेamp डेटा पॅकेटचे मूल्य;
- सीआरसी तपासणी: लांबी 1 बाइट आहे, जो स्वतः वगळता मागील सर्व डेटाच्या पडताळणीतून प्राप्त होतो. सीआरसी सत्यापन पद्धतीसाठी, तपशीलांसाठी खालील सामग्री पहा;
डेटा संरचना संदर्भ खालीलप्रमाणे आहे:
#PO/NT_PER_PACK 12 परिभाषित करा
# हेडर 0x54 परिभाषित करा
typedef struct _attribute_((पॅक केलेले))
{ uint16_t अंतर;
uint8_t तीव्रता; } LidarPointStructDef;
typedef struct _attribute_((पॅक केलेले)) {
uint8_t: शीर्षलेख;
uint8 t: ver_len;
uint16_t: गती
uint16 t: start_ कोन;
LidarPointStructDef पॉइंट[POINT_PER_PACK};
uint16 t: end_angle;
uint16_t: वेळamp;
uint8 t: crc8;
}LiDARFrameTypeDef;
CRC चेक गणना पद्धत खालीलप्रमाणे आहे:
स्टॅटिक कॅनस्ट 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; साठी (i = O; i < जेन; i++){ ere= CreTabJe[(ere J\ *p++) & Oxff]; } पूर्वी परत; |
मापन डेटा विश्लेषण
प्रत्येक मापन डेटा पॉइंटमध्ये 2-बाइट अंतर मूल्य आणि 1-बाइट आत्मविश्वास मूल्य असते, खालील आकृतीमध्ये दर्शविल्याप्रमाणे.
शीर्षलेख | व्हेरलेन | गती | प्रारंभ कोन | डेटा | शेवटचा कोन | टाइमस्टamp | सीआरसी तपासणी | ||||
54H | 2 सीएच | LSB | एमएसबी | LSB | एमएसबी | …… | LSB | एमएसबी | LSB | एमएसबी | lByte |
मोजमाप बिंदू 1 | मोजमाप बिंदू 2 | … | मापन बिंदू n | ||||||
अंतर | तीव्रता | अंतर | तीव्रता | अंतर | तीव्रता | ||||
LSB | एमएसबी | 1 बाइट | LSB | एमएसबी | 1 बाइट | … | LSB | एमएसबी | 1 बाइट |
अंतर मूल्याचे एकक मिमी आहे. सिग्नल तीव्रता मूल्य प्रकाश प्रतिबिंब तीव्रता प्रतिबिंबित करते. तीव्रता जितकी जास्त असेल तितके मोठे सिग्नल तीव्रतेचे मूल्य; जितकी तीव्रता कमी तितकी सिग्नल तीव्रता मूल्य कमी. 6m आतील पांढऱ्या वस्तूसाठी, सिग्नल शक्ती मूल्याचे विशिष्ट मूल्य सुमारे 200 असते. प्रत्येक बिंदूचे कोन मूल्य प्रारंभिक कोन आणि शेवटच्या कोनाच्या रेखीय प्रक्षेपाने प्राप्त केले जाते. कोन गणना पद्धत खालीलप्रमाणे आहे:
step= (end_angle -start_angle)/(Jen -1);
angle = start_angle + step*i;
जेथे जेन डेटा पॅकेटमधील मोजमाप बिंदूंची संख्या आहे आणि 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 ES CO00 82 ES C3 50 ES COXNUMX
आम्ही त्याचे खालीलप्रमाणे विश्लेषण करतो:
शीर्षलेख | व्हेरलेन | गती | प्रारंभ कोन | डेटा | शेवटचा कोन | टाइमस्टamp | सीआरसी तपासणी | ||||
54H | ४५६९१सीएच | 68H | 08H | ए.बी.एच | 7EH | …… | BEH | 82H | 3AH | lAH | 50H |
मोजमाप बिंदू 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 अडॅप्टर बोर्ड:
- कनेक्शन आकृती, खालील आकृतीमध्ये दर्शविल्याप्रमाणे:
विंडोज अंतर्गत ड्राइव्हर स्थापना
विंडोज अंतर्गत कंपनीच्या उत्पादनांचे मूल्यांकन करताना, यूएसबी अॅडॉप्टर बोर्डचे सीरियल पोर्ट ड्रायव्हर स्थापित करणे आवश्यक आहे. याचे कारण असे की कंपनीने प्रदान केलेल्या डेव्हलपमेंट किटमधील यूएसबी अॅडॉप्टर बोर्ड सीपी2102 यूएसबी टू सीरियल पोर्ट अॅडॉप्टर चिप स्वीकारतो आणि त्याचा ड्रायव्हर लॅब्सच्या अधिकाऱ्याकडून सिलिकॉन डाउनलोड करून मिळवता येतो. webसाइट:
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
किंवा, CP210x_Universal_Windows_Driver ड्राइव्हर पॅकेज डीकंप्रेस केल्यानंतर, exe कार्यान्वित करा file ड्राइव्हर इंस्टॉलेशन पॅकेज डिरेक्टरीमध्ये, आणि विंडोज सिस्टम आवृत्तीनुसार X86 (32-बिट) किंवा X64 (64-बिट) निवडा.
Exe वर डबल-क्लिक करा file आणि ते स्थापित करण्यासाठी सूचनांचे अनुसरण करा.
इन्स्टॉलेशन पूर्ण झाल्यानंतर, डेव्हलपमेंट किटमधील USB अडॅप्टर बोर्ड संगणकाशी कनेक्ट करा, [माझा संगणक] उजवे-क्लिक करा, [गुणधर्म] निवडा आणि उघडलेल्या [सिस्टम] इंटरफेसमध्ये, डाव्या मेनूमध्ये [डिव्हाइस व्यवस्थापक] निवडा. प्रविष्ट करण्यासाठी डिव्हाइस व्यवस्थापकाकडे जा, [पोर्ट्स] विस्तृत करा, आपण मान्यताप्राप्त CP2102 यूएसबी अडॅप्टरशी संबंधित सीरियल पोर्ट क्रमांक पाहू शकता, म्हणजेच ड्राइव्हर यशस्वीरित्या स्थापित झाला आहे आणि खालील आकृती COM4 आहे.
LdsPointCloud वापरणेViewविंडोज अंतर्गत सॉफ्टवेअर
पॉइंट क्लाउड व्हिज्युअलायझेशन सॉफ्टवेअर LdsPointCloudViewer या उत्पादनाचा स्कॅन केलेला डेटा रिअल टाइममध्ये प्रदर्शित करू शकतो आणि विकासक या उत्पादनाच्या स्कॅनिंग रेंडरिंगचे दृश्यमानपणे निरीक्षण करण्यासाठी हे सॉफ्टवेअर वापरू शकतात. हे सॉफ्टवेअर वापरण्यापूर्वी, हे वेगळे करणे आवश्यक आहे की या उत्पादनाच्या यूएसबी अॅडॉप्टर बोर्डचा ड्रायव्हर यशस्वीरित्या स्थापित केला गेला आहे आणि उत्पादन विंडोज सिस्टम पीसीच्या यूएसबी पोर्टशी एकमेकांशी जोडलेले आहे, त्यानंतर LdsPointCloud वर डबल-क्लिक करा.Viewer.exe, आणि संबंधित उत्पादन मॉडेल आणि पोर्ट क्रमांक निवडा, खालील आकृतीमध्ये दर्शविल्याप्रमाणे स्टार्ट पॉइंट क्लाउड रिफ्रेश बटणावर क्लिक करा.
वरील आकृतीमध्ये,
'स्पीड' लिडर स्कॅनिंग वारंवारता दर्शवते, युनिट: Hz;
'रेट' लिडर डेटा पॅकेट रिझोल्यूशन दर दर्शवतो;
'वैध' हे वर्तुळ मोजण्यासाठी लिडरसाठी वैध बिंदू दर्शवते.
उत्पादन 3D मॉडेल file
LiDAR_LD19_3D_stp_Vl.0 अनझिप करा file 3D मॉडेल प्राप्त करण्यासाठी file STP स्वरूपात.
Linux अंतर्गत ROS वर आधारित ऑपरेशन
ROS पर्यावरण परिचय आणि स्थापना
ROS (रोबोट ऑपरेटिंग सिस्टीम) ही लिनक्सवर तयार केलेली रोबोट्स आणि मिडलवेअरसाठी ओपन सोर्स मेटा-ऑपरेटिंग सिस्टम आहे. हे हार्डवेअर अॅब्स्ट्रॅक्शन, लो-लेव्हल डिव्हाईस कंट्रोल, सामान्यतः वापरल्या जाणार्या फंक्शन्सची अंमलबजावणी, प्रोसेस दरम्यान मेसेज पासिंग आणि पॅकेज मॅनेजमेंट यासह ऑपरेटिंग सिस्टमकडून अपेक्षित सेवा प्रदान करते. हे संगणकांवर कोड प्राप्त करण्यासाठी, संकलित करण्यासाठी, लिहिण्यासाठी आणि चालविण्यासाठी आवश्यक साधने आणि लायब्ररी कार्ये देखील प्रदान करते. ROS च्या प्रत्येक आवृत्तीच्या इंस्टॉलेशन चरणांसाठी, कृपया अधिकृत ROS चा संदर्भ घ्या webसाइट: http://wiki.ros.org/ROS/lnstallation
या उत्पादनाचे ROS फंक्शन पॅकेज खालील आवृत्त्या आणि वातावरणास समर्थन देते:
- ROS कायनेटिक(उबंटू16.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 ची शॉर्टकट की वापरू शकता
# तुम्ही वापरत असलेल्या उबंटू सिस्टीममध्ये git टूल इन्स्टॉल नसेल, तर तुम्ही ते इन्स्टॉल करू शकता खालीलप्रमाणे install sudo योग्य-स्थापित गिट # उत्पादन ROS फंक्शन पॅकेजचा स्त्रोत कोड डाउनलोड करा: $ cd ~ $ mkdir -p ldlidar_ros_ws/src $ cd ~/ldlidar_ros_ws/src $git क्लोन https://github.com/DFRobotdl/ldlidar_stl_ros.git #किंवा $ अनझिप ldlidar_stl_ros.zip |
डिव्हाइस परवानग्या सेट करा
प्रथम, लिडरला आमच्या अॅडॉप्टर मॉड्यूलशी (CP2102 अडॅप्टर) कनेक्ट करा, आणि मॉड्यूलला संगणकाशी कनेक्ट करा. नंतर, उबंटू सिस्टम अंतर्गत टर्मिनल उघडा आणि प्रविष्ट करा 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 |
लिनक्स नॅनो एडिटर: Ctrl + 0 संपादित केलेले सेव्ह करते file; Ctrl + X संपादन इंटरफेसमधून बाहेर पडते.
बिल्ड आणि पर्यावरण सेटिंग्ज
- उत्पादन कार्य पॅकेज संकलित आणि तयार करण्यासाठी कॅटकिन संकलन प्रणाली वापरा:
$ cd ~/fdlidauos~ws
. $ catkin_make - फंक्शन पॅकेज पर्यावरण व्हेरिएबल सेटिंग्ज:
संकलन पूर्ण झाल्यानंतर, आपल्याला संबंधित जोडण्याची आवश्यकता आहे files पर्यावरण व्हेरिएबल्सच्या संकलनाद्वारे व्युत्पन्न केले जाते, जेणेकरून ROS पर्यावरण त्यांना ओळखू शकेल. अंमलबजावणी आदेश खालीलप्रमाणे आहे. ही कमांड टर्मिनलमध्ये तात्पुरती एन्व्हायर्नमेंट व्हेरिएबल्स जोडण्यासाठी आहे, याचा अर्थ तुम्ही नवीन टर्मिनल पुन्हा उघडल्यास, तुम्हाला ते पुन्हा कार्यान्वित करावे लागेल. खालील आदेश.
$ cd ~/tdlidar_ros_ws $ source devel/setup.bash |
टर्मिनल पुन्हा उघडल्यानंतर एन्व्हायर्नमेंट व्हेरिएबल्स जोडण्यासाठी वरील कमांड कधीही कार्यान्वित करण्याची गरज पडू नये म्हणून, तुम्ही पुढील गोष्टी करू शकता.
$ इको स्रोत ~//dlidar_ros_ws/devel/setup.bash » ~/bashrc $ स्रोत ~/bashrc |
रन नोड आणि Rviz डिस्प्ले LiDAR पॉइंट क्लाउड
लिडर नोड सुरू करा आणि खालील कमांड कार्यान्वित करा.
$ roslaunch ldlidar_stl_ros ld19.launch |
लिडर नोड सुरू करा आणि Rviz वर lidar पॉइंट क्लाउड डेटा प्रदर्शित करा, खालील आदेश कार्यान्वित करा.
# जर 'कायनेटिक' किंवा 'मेलोडिक' मध्ये ROS_DISTRO $ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic.launch # जर ROS_DISTRO 'noetic' मध्ये $ ros/aunch ldlidar_st/_ros viewer_ld19_noetic.launch |
लिनक्स अंतर्गत ROS2 वर आधारित ऑपरेशन
ROS2 पर्यावरण परिचय आणि स्थापना
ROS (रोबोट ऑपरेटिंग सिस्टीम) ही लिनक्सवर तयार केलेली रोबोट्स आणि मिडलवेअरसाठी ओपन सोर्स मेटा-ऑपरेटिंग सिस्टम आहे. हे हार्डवेअर अॅब्स्ट्रॅक्शन, लो-लेव्हल डिव्हाईस कंट्रोल, सामान्यतः वापरल्या जाणार्या फंक्शन्सची अंमलबजावणी, प्रोसेस दरम्यान मेसेज पासिंग आणि पॅकेज मॅनेजमेंट यासह ऑपरेटिंग सिस्टमकडून अपेक्षित सेवा प्रदान करते. हे संगणकांवर कोड प्राप्त करण्यासाठी, संकलित करण्यासाठी, लिहिण्यासाठी आणि चालविण्यासाठी आवश्यक साधने आणि लायब्ररी कार्ये देखील प्रदान करते. 2007 मध्ये ROS लाँच झाल्यापासून रोबोटिक्स आणि ROS समुदायामध्ये खूप बदल झाले आहेत. ROS2 प्रकल्पाचे ध्येय या बदलांशी जुळवून घेणे, ROSl च्या सामर्थ्यांचा फायदा घेणे आणि कमकुवतपणा सुधारणे हे आहे. ROS2 च्या इंस्टॉलेशन चरणांसाठी, कृपया अधिकृत पहा webROS2 ची साइट: https://docs.ros.org/en/foxy/lnstallation.html
या उत्पादनाचे ROS2 फंक्शन पॅकेज ROS2 फॉक्सी आवृत्ती आणि त्यावरील वापरास समर्थन देते.
ROS2 पॅकेजचा सोर्स कोड मिळवा
या उत्पादनाच्या ROS2 फंक्शन पॅकेजचा स्त्रोत कोड Github च्या रेपॉजिटरीजवर होस्ट केला आहे. तुम्ही रिपॉझिटरी नेटवर्क लिंकवर प्रवेश करून मास्टर किंवा मुख्य शाखेचा स्त्रोत कोड डाउनलोड करू शकता किंवा git टूलद्वारे डाउनलोड करू शकता. वापरकर्ते थेट काढू शकतात. SDK LD19 > ldlidar_stl_ros2.ziR
वापरासाठी खालील मार्गावर.
- भांडार webसाइट पत्ता
► https://github.com/DFRobotdl/ldlidarstlros2 - git टूल डाउनलोड ऑपरेशन
# प्रथम टर्मिनल इंटरफेस उघडा, तुम्ही ctrl+alt+t ची शॉर्टकट की वापरू शकता. # जर तुम्ही वापरत असलेल्या उबंटू सिस्टीममध्ये git टूल इन्स्टॉल नसेल तर तुम्ही ते इन्स्टॉल करू शकता खालीलप्रमाणे install sudo योग्य-स्थापित गिट # उत्पादन ROS2 फंक्शन पॅकेजचा स्त्रोत कोड डाउनलोड करा: $cd~ $ mkdir -p ldlidar_ros2_ ws/src $ cd ~/ldlidar_ros2_ws/src $ git क्लोन https://github.com/DFRobotdl/ldlidar_st/_ros2.git #किंवा $ अनझिप ldlidar_st/_ros2.zip |
डिव्हाइस परवानग्या सेट करा
प्रथम, लिडरला आमच्या अॅडॉप्टर मॉड्यूलशी (CP2102 अडॅप्टर) कनेक्ट करा, आणि मॉड्यूलला संगणकाशी कनेक्ट करा. नंतर, उबंटू सिस्टम अंतर्गत टर्मिनल उघडा आणि प्रविष्ट करा 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 |
लिनक्स नॅनो एडिटर: Ctrl + 0 संपादित केलेले सेव्ह करते file; Ctrl + X संपादन इंटरफेसमधून बाहेर पडते.
बिल्ड आणि पर्यावरण सेटिंग्ज
- उत्पादन कार्य पॅकेज संकलित आणि तयार करण्यासाठी कोल्कॉन संकलन प्रणाली वापरा:
$ cd ~/fdlidauos2~ws
. $ co/con बिल्ड - फंक्शन पॅकेज पर्यावरण व्हेरिएबल सेटिंग्ज:
संकलन पूर्ण झाल्यानंतर, आपल्याला संबंधित जोडण्याची आवश्यकता आहे files पर्यावरण व्हेरिएबल्सच्या संकलनाद्वारे व्युत्पन्न केले जाते, जेणेकरून ROS2 पर्यावरण ओळखले जाऊ शकते. अंमलबजावणी आदेश खालीलप्रमाणे आहे. ही आज्ञा टर्मिनलमध्ये तात्पुरती एन्व्हायर्नमेंट व्हेरिएबल्स जोडण्यासाठी आहे, याचा अर्थ असा की तुम्ही नवीन टर्मिनल पुन्हा उघडल्यास, तुम्हाला ते पुन्हा कार्यान्वित करावे लागेल. खालील आदेश.
$ cd ~/Jdlidar_ros2_ws $ source install/setup.bash |
टर्मिनल पुन्हा उघडल्यानंतर एन्व्हायर्नमेंट व्हेरिएबल्स जोडण्यासाठी वरील कमांड कधीही कार्यान्वित करण्याची गरज पडू नये म्हणून, तुम्ही पुढील गोष्टी करू शकता.
$ इको स्रोत ~/Jdlidar_ros2_ws/install/setup.bash » ~j.bashrc |
$ स्रोत ~ j.bashrc |
रन नोड आणि Rviz2 डिस्प्ले LiDAR पॉइंट क्लाउड
लिडर नोड सुरू करा आणि खालील कमांड कार्यान्वित करा.
$ ros2 लाँच करा ldlidar_stl_ros2 ld19.launch.py |
लिडर नोड सुरू करा आणि Rviz2 वर lidar पॉइंट क्लाउड प्रदर्शित करा, खालील कमांड कार्यान्वित करा.
$ ros2 लाँच करा ldlidar_stl_ros2 viewer_ld19.launch.py |
Linux अंतर्गत SDK वापरण्यासाठी सूचना
SDK चा सोर्स कोड मिळवा
या उत्पादनाच्या लिनक्स एसओकेचा स्त्रोत कोड गिथबच्या भांडारांवर होस्ट केला आहे. तुम्ही रिपॉझिटरी नेटवर्क लिंकवर प्रवेश करून मास्टर किंवा मुख्य शाखेचा स्त्रोत कोड डाउनलोड करू शकता किंवा गिटूलद्वारे डाउनलोड करू शकता. वापरकर्ते थेट काढू शकतात SOK L019 > ldlidar stl sdk.zip
वापरासाठी खालील मार्गावर.
- भांडार webसाइट पत्ता
► https://github.com/OFRobotdl/ldlidarstlsdk - git टूल डाउनलोड ऑपरेशन
# प्रथम टर्मिनल इंटरफेस उघडा, तुम्ही ctrl+alt+t ची शॉर्टकट की वापरू शकता. # जर तुम्ही वापरत असलेल्या उबंटू सिस्टीममध्ये git टूल इन्स्टॉल नसेल तर तुम्ही ते इन्स्टॉल करू शकता खालीलप्रमाणे install sudo योग्य-स्थापित गिट # स्त्रोत कोड डाउनलोड करा: $cd~ $ mkdir ldlidar_ws $ cd ~/ldlidar_ws $ git क्लोन https://github.com/DFRobotdl/ldlidar_stl_sdk.git #किंवा $ अनझिप ldlidar_stl_sdk.zip |
डिव्हाइस परवानग्या सेट करा
प्रथम, लिडरला आमच्या अॅडॉप्टर मॉड्यूलशी कनेक्ट करा (CP2102 अडॅप्टर}, आणि मॉड्यूल संगणकाशी कनेक्ट करा. नंतर, उबंटू सिस्टम अंतर्गत टर्मिनल उघडा आणि प्रविष्ट करा Is /dev/ttyUSB*
सीरियल डिव्हाइस कनेक्ट केलेले आहे की नाही हे तपासण्यासाठी. सीरियल पोर्ट डिव्हाइस आढळल्यास, वापरा sudo chmod 777 /dev/ttyUSB*
त्याला सर्वोच्च अधिकार देण्याची आज्ञा, म्हणजे द्या file खालील चित्रात दाखवल्याप्रमाणे मालक, गट आणि इतर वापरकर्ते वाचतात, लिहितात आणि परवानग्या चालवतात.
बांधा
स्त्रोत कोड C++11 मानक C++ भाषेत आणि C99 मानक C भाषेत कोड केलेला आहे. स्रोत कोड संकलित करण्यासाठी आणि तयार करण्यासाठी CMake, GNU-make, GCC आणि इतर साधने वापरा. तुम्ही वरील साधने स्थापित केल्याशिवाय उबंटू सिस्टीम वापरत असल्यास, स्थापना पूर्ण करण्यासाठी तुम्ही खालील आदेश कार्यान्वित करू शकता.
$ sudo apt-get install build-essential cmake |
वर सूचित केलेली साधने सिस्टममध्ये आधीपासूनच अस्तित्वात असल्यास, पुढील गोष्टी करा.
$ cd ~/ldlidar_ws/ldlidar_stl_sdk # जर बिल्ड फोल्डर ldlidar_st/_sdk निर्देशिकेत अस्तित्वात नसेल, तर ते तयार करणे आवश्यक आहे $ mkdir बिल्ड $ cd बिल्ड $ cmake .. / $ बनवा |
बायनरी प्रोग्राम चालवा
$ cd ~/ldlidar_ws/ldlidar_st/_sdk/build $ ./ldlidar_stl # उदा: ./ldlidar_stl /dev/ttyUSBO |
रास्पबेरी Pi SBC वर आधारित ROS वापरण्यासाठी सूचना
कृपया तपशीलांसाठी मॅन्युअल « LD19 Raspberry Pi Raspbian User manual_ V2.9.pdf)) पहा.
याव्यतिरिक्त, आम्ही या उत्पादनासाठी रास्पबेरी पाईसाठी एक सानुकूल प्रतिमा प्रदान केली आहे आणि त्याचे वापर ट्यूटोरियल खालीलप्रमाणे आहे:
मिररिंगचा परिचय
- मिरर रचना:
• raspberrypi raspbian OS आवृत्ती: 2020-08-20-raspios-buster-armhf
• ROS पर्यावरण आवृत्ती: ROS मेलोडिक
• LiDAR LD19 ROS पॅकेज - हार्डवेअर समर्थन:
• raspberrypi 3B+ SBC , raspberrypi 4B SBC
• 16GB पेक्षा जास्त किंवा त्यापेक्षा जास्त क्षमतेचे SD कार्ड
मिरर वापर
- प्रतिमा डाउनलोड करा file:
• डाउनलोड लिंक १: https://pan.baidu.com/s/lfvTfXBbWC9ESXNNUY5aJhw 1Jt:&:7ky8a
• डाउनलोड लिंक १:
https://drive.google.com/file/d/lylMTFGRZ9cRcy3Njvf10cxDo4Wy3tfCB/view?usp=sharing
• प्रतिमा file नाव आहे 2022-03-24-raspios-buster-armhf-ldrobot-customization.img.xz - प्रतिमा लिहा file SD कार्डवर जा आणि सिस्टम चालवा:
Win32Disklmager टूलद्वारे लिहा, यशस्वी लेखनानंतर ते रास्पबेरी Pi कार्ड स्लॉटमध्ये घाला आणि सिस्टमवर पॉवर करा- सिस्टम लॉगिन संबंधित माहिती
• वापरकर्तानाव:pi
• होस्टनाव:raspberrypi
• पास वॉर्ड
pi
- लिडर नोड चालवित आहे
- सिस्टम लॉगिन संबंधित माहिती
#stepl: lidar डिव्हाइस raspberrypi SBC शी कनेक्ट केलेले असल्याची खात्री करा आणि टर्मिनल उघडा शॉर्टकट Ctrl+Alt+T. #step2: पोर्ट डिव्हाइस पुनर्प्राप्त करा file द्वारे रडार उपकरणाशी संबंधित Is-I/dv1i , एक्झिक्युटेबल द्यापरवानगी, आणि नंतर lanuch सुधारित करा 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 |
लिडर नोड सुरू करा आणि खालील कमांड कार्यान्वित करा.
$ roslaunch ldlidar_stl_ros ld19.launch |
लिडर नोड सुरू करा आणि Rviz वर lidar पॉइंट क्लाउड डेटा प्रदर्शित करा, खालील आदेश कार्यान्वित करा.
$ ros/aunch ldlidar_st/_ros viewer_ld19_kinetic_me/odic./aunch |
पुनरावृत्ती इतिहास
आवृत्ती | पुनरावृत्ती तारीख | सुधारित करा द सामग्री |
1.0 | ५७४-५३७-८९०० | प्रारंभिक निर्मिती |
1.1 | ५७४-५३७-८९०० | Transform() फंक्शन काढून टाका |
2.0 |
५७४-५३७-८९०० |
डेव्हलपमेंट किट निर्देश आयनची सामग्री जोडली |
2.1 |
५७४-५३७-८९०० |
दस्तऐवजाचे ग्राफिक डिझाइन वाढवा आणि सामग्रीचे स्वरूप सुधारा |
2.2 |
५७४-५३७-८९०० |
दस्तऐवज कव्हर शीर्षक आणि सामग्रीचा भाग सुधारित करा |
2.3 | ५७४-५३७-८९०० | दस्तऐवजीकरणातील समस्याप्रधान विधानांची उजळणी करा |
2.4 | ५७४-५३७-८९०० |
|
2.5 | ५७४-५३७-८९०० |
|
कागदपत्रे / संसाधने
![]() |
DFRobot LiDAR LD19 लेसर सेन्सर किट [pdf] सूचना पुस्तिका LiDAR LD19 लेसर सेन्सर किट, LiDAR LD19, लेसर सेन्सर किट, सेन्सर किट |