YDLIDAR GS2 ডেভেলপমেন্ট লিনিয়ার অ্যারে সলিড লিডার সেন্সর
ওয়ার্কিং মেকানিজম
মোড
YDLIDAR GS2 (এর পরে GS2 হিসাবে উল্লেখ করা হয়েছে) সিস্টেমে 3টি কাজের মোড রয়েছে: নিষ্ক্রিয় মোড, স্ক্যান মোড, স্টপ মোড।
- অলস অবস্থা: যখন GS2 চালিত হয়, তখন ডিফল্ট মোডটি নিষ্ক্রিয় মোড। নিষ্ক্রিয় মোডে, GS2 এর রেঞ্জিং ইউনিট কাজ করে না এবং লেজারটি হালকা নয়।
- স্ক্যান মোড: যখন GS2 স্ক্যানিং মোডে থাকে, রেঞ্জিং ইউনিট লেজার চালু করে। যখন GS2 কাজ করতে শুরু করে, এটি ক্রমাগত sampলেস বাহ্যিক পরিবেশ এবং ব্যাকগ্রাউন্ড প্রসেসিংয়ের পরে এটিকে রিয়েল টাইমে আউটপুট করে।
- স্টপ মোড: যখন GS2 একটি ত্রুটির সাথে চলে, যেমন স্ক্যানার চালু করা, লেজার বন্ধ, মোটর ঘোরে না, ইত্যাদি।
পরিমাপের নীতি
GS2 হল একটি স্বল্প-পরিসরের সলিড-স্টেট লিডার যার রেঞ্জ 25-300mm। এটি মূলত একটি লাইন লেজার এবং একটি ক্যামেরা দিয়ে গঠিত। এক-লাইন লেজার লেজার আলো নির্গত করার পরে, এটি ক্যামেরা দ্বারা বন্দী হয়। লেজার এবং ক্যামেরার স্থির কাঠামো অনুসারে, ত্রিভুজ দূরত্ব পরিমাপের নীতির সাথে মিলিত, আমরা বস্তু থেকে GS2 এর দূরত্ব গণনা করতে পারি। ক্যামেরার ক্যালিব্রেটেড প্যারামিটার অনুসারে, লিডার স্থানাঙ্ক সিস্টেমে পরিমাপ করা বস্তুর কোণ মান জানা যায়। ফলস্বরূপ, আমরা পরিমাপ করা বস্তুর সম্পূর্ণ পরিমাপ ডেটা পেয়েছি।
বিন্দু O হল স্থানাঙ্কের উৎপত্তি, বেগুনি এলাকা হল এর কোণ view ডান ক্যামেরা, এবং কমলা এলাকা এর কোণ view বাম ক্যামেরার।
স্থানাঙ্কের উত্স হিসাবে মোড বিরাম চিহ্নের সাথে, সামনের দিকটি স্থানাঙ্ক সিস্টেমের দিক 0 ডিগ্রি, এবং কোণটি ঘড়ির কাঁটার দিকে বৃদ্ধি পায়। যখন পয়েন্ট ক্লাউড আউটপুট হয়, তখন ডেটার ক্রম (S1~S160) হল L1~L80, R1~R80৷ SDK দ্বারা গণনা করা কোণ এবং দূরত্ব সমস্ত স্থানাঙ্ক সিস্টেমে ঘড়ির কাঁটার দিকে উপস্থাপন করা হয়।
সিস্টেম কমিউনিকেশন
কমিউনিকেশন মেকানিজম
GS2 সিরিয়াল পোর্টের মাধ্যমে বহিরাগত ডিভাইসগুলির সাথে কমান্ড এবং ডেটা যোগাযোগ করে। যখন একটি বাহ্যিক ডিভাইস GS2 এ একটি সিস্টেম কমান্ড পাঠায়, GS2 সিস্টেম কমান্ডের সমাধান করে এবং একটি সংশ্লিষ্ট উত্তর বার্তা প্রদান করে। কমান্ড বিষয়বস্তু অনুযায়ী, GS2 সংশ্লিষ্ট কাজের স্থিতি পরিবর্তন করে। বার্তার বিষয়বস্তুর উপর ভিত্তি করে, বাহ্যিক সিস্টেম বার্তাটি পার্স করতে এবং প্রতিক্রিয়া ডেটা পেতে পারে।
সিস্টেম কমান্ড
বাহ্যিক সিস্টেম GS2 এর সংশ্লিষ্ট কাজের স্থিতি সেট করতে পারে এবং সম্পর্কিত সিস্টেম কমান্ড পাঠিয়ে সংশ্লিষ্ট ডেটা পাঠাতে পারে। GS2 দ্বারা জারি করা সিস্টেম কমান্ডগুলি নিম্নরূপ:
চার্ট 1 YDLIDAR GS2 সিস্টেম কমান্ড
সিস্টেম কমান্ড | বর্ণনা | মোড স্যুইচিং | উত্তর মোড |
0×60 | ডিভাইস ঠিকানা প্রাপ্তি | স্টপ মোড | একক প্রতিক্রিয়া |
0×61 | ডিভাইসের পরামিতি প্রাপ্ত করা | স্টপ মোড | একক প্রতিক্রিয়া |
0×62 | সংস্করণ তথ্য প্রাপ্তি | স্টপ মোড | একক প্রতিক্রিয়া |
0×63 | স্ক্যানিং এবং আউটপুট পয়েন্ট ক্লাউড ডেটা শুরু করুন | স্ক্যান মোড | ক্রমাগত প্রতিক্রিয়া |
0x64 | ডিভাইস বন্ধ করুন, স্ক্যান করা বন্ধ করুন | স্টপ মোড | একক প্রতিক্রিয়া |
0x67 | নরম রিস্টার্ট | / | একক প্রতিক্রিয়া |
0×68 | সিরিয়াল পোর্ট বড রেট সেট করুন | স্টপ মোড | একক প্রতিক্রিয়া |
0×69 | প্রান্ত মোড সেট করুন (শব্দ-বিরোধী মোড) | স্টপ মোড | একক প্রতিক্রিয়া |
সিস্টেম বার্তা
সিস্টেম বার্তা হল একটি প্রতিক্রিয়া বার্তা যা সিস্টেম প্রাপ্ত সিস্টেম কমান্ডের উপর ভিত্তি করে ফিড ব্যাক করে। বিভিন্ন সিস্টেম কমান্ড অনুসারে, সিস্টেম বার্তার উত্তর মোড এবং প্রতিক্রিয়া বিষয়বস্তুও আলাদা। তিন ধরণের প্রতিক্রিয়া মোড রয়েছে: কোন প্রতিক্রিয়া নেই, একক প্রতিক্রিয়া, ক্রমাগত প্রতিক্রিয়া।
কোনো প্রতিক্রিয়া নেই মানে সিস্টেম কোনো বার্তা ফেরত দেয় না। একটি একক উত্তর নির্দেশ করে যে সিস্টেমের বার্তার দৈর্ঘ্য সীমিত, এবং প্রতিক্রিয়া একবার শেষ হয়। যখন সিস্টেমটি একাধিক GS2 ডিভাইসের সাথে ক্যাসকেড করা হয়, তখন কিছু কমান্ড পরপর একাধিক GS2 ডিভাইস থেকে প্রতিক্রিয়া পাবে। ক্রমাগত প্রতিক্রিয়ার অর্থ হল সিস্টেমের বার্তার দৈর্ঘ্য অসীম এবং ক্রমাগত ডেটা পাঠাতে হবে, যেমন স্ক্যান মোডে প্রবেশ করার সময়।
একক প্রতিক্রিয়া, একাধিক প্রতিক্রিয়া এবং ক্রমাগত প্রতিক্রিয়া বার্তা একই ডেটা প্রোটোকল ব্যবহার করে। প্রোটোকলের বিষয়বস্তু হল: প্যাকেট হেডার, ডিভাইসের ঠিকানা, প্যাকেটের ধরন, ডেটা দৈর্ঘ্য, ডেটা সেগমেন্ট এবং চেক কোড, এবং সিরিয়াল পোর্ট হেক্সাডেসিমাল সিস্টেমের মাধ্যমে আউটপুট হয়।
চার্ট 2 YDLIDAR GS2 স্কিম্যাটিক ডায়াগ্রাম অফ সিস্টেম মেসেজ ডেটা প্রোটোকল
প্যাকেট হেডার | ডিভাইসের ঠিকানা | প্যাকেটের ধরন | প্রতিক্রিয়া দৈর্ঘ্য | ডেটা সেগমেন্ট | কোড চেক করুন |
4 বাইট | 1 বাইট | 1 বাইট | 2 বাইট | এন বাইট | 1 বাইট |
বাইট অফসেট
- প্যাকেট হেডার: GS2-এর জন্য বার্তা প্যাকেট শিরোনামটি 0xA5A5A5A5 চিহ্নিত করা হয়েছে।
- ডিভাইস ঠিকানা: GS2 ডিভাইসের ঠিকানা, ক্যাসকেডের সংখ্যা অনুসারে, ভাগ করা হয়েছে: 0x01, 0x02, 0x04;
- প্যাকেটের ধরন: সিস্টেম কমান্ডের প্রকারের জন্য চার্ট 1 দেখুন।
- প্রতিক্রিয়া দৈর্ঘ্য: প্রতিক্রিয়ার দৈর্ঘ্য উপস্থাপন করে
- ডেটা সেগমেন্ট: বিভিন্ন সিস্টেম কমান্ড বিভিন্ন ডেটা সামগ্রীতে সাড়া দেয় এবং তাদের ডেটা প্রোটোকলগুলি আলাদা।
- কোড চেক করুন: কোড চেক করুন।
দ্রষ্টব্য: GS2 ডেটা কমিউনিকেশন ছোট-এন্ডিয়ান মোড, কম অর্ডার প্রথমে গ্রহণ করে।
ডেটা প্রোটোকল
ডিভাইস ঠিকানা কমান্ড প্রাপ্ত
যখন একটি বাহ্যিক ডিভাইস এই কমান্ডটি GS2 এ পাঠায়, GS2 একটি ডিভাইস ঠিকানা প্যাকেট ফেরত দেয়, বার্তাটি হল:
ক্যাসকেডিং-এ, যদি N ডিভাইসগুলি (3টি পর্যন্ত সমর্থিত) থ্রেডেড থাকে, কমান্ডটি যথাক্রমে 0-01টি মডিউলের সাথে 0x02, 0x04, 1x3 এ N উত্তর প্রদান করে।
সংজ্ঞা: মডিউল 1-এর ঠিকানা হল 0x01, মডিউল 2 হল 0x02, এবং মডিউল 3 হল 0x04৷
সংস্করণ তথ্য কমান্ড প্রাপ্ত
যখন একটি বাহ্যিক ডিভাইস GS2 এ একটি স্ক্যান কমান্ড পাঠায়, GS2 তার সংস্করণ তথ্য প্রদান করে। উত্তর বার্তা হল:
ক্যাসকেডিংয়ের ক্ষেত্রে, যদি N (সর্বাধিক 3) ডিভাইস সিরিজে সংযুক্ত থাকে, তাহলে এই কমান্ডটি N প্রতিক্রিয়া প্রদান করবে, যেখানে ঠিকানাটি শেষ ডিভাইসের ঠিকানা।
সংস্করণ সংখ্যা 3 বাইট দৈর্ঘ্য, এবং SN সংখ্যা 16 বাইট দৈর্ঘ্য।
ডিভাইস প্যারামিটার কমান্ড পান
যখন একটি বাহ্যিক ডিভাইস এই কমান্ডটি GS2 এ পাঠায়, GS2 তার ডিভাইসের পরামিতিগুলি ফিরিয়ে দেবে এবং বার্তাটি হল:
ক্যাসকেডিং-এ, যদি N ডিভাইসগুলি (3টি পর্যন্ত সমর্থিত) থ্রেডেড থাকে, কমান্ডটি প্রতিটি ডিভাইসের প্যারামিটারের সাথে সঙ্গতিপূর্ণ N উত্তর প্রদান করে।
প্রোটোকল দ্বারা প্রাপ্ত K এবং Bগুলি uint16 প্রকারের, যেগুলিকে ফ্লোট টাইপে রূপান্তরিত করতে হবে এবং তারপর গণনা ফাংশনে প্রতিস্থাপিত হওয়ার আগে 10000 দ্বারা ভাগ করতে হবে৷
- d_compensateK0 = (ফ্লোট)K0/10000.0f;
- d_compensateB0 = (ফ্লোট)B0/10000.0f;
- d_compensateK1 = (ফ্লোট)K1/10000.0f;
- d_compensateB1 = (ফ্লোট)B1/10000.0f;
বায়াস হল int8 প্রকার, যাকে ফ্লোট টাইপে রূপান্তর করতে হবে এবং গণনা ফাংশনে প্রতিস্থাপন করার আগে 10 দ্বারা ভাগ করতে হবে।
- পক্ষপাত = (ভাসা) পক্ষপাত /10;
আদেশ
স্ক্যান কমান্ড
যখন একটি বাহ্যিক ডিভাইস GS2 এ একটি স্ক্যান কমান্ড পাঠায়, GS2 স্ক্যান মোডে প্রবেশ করে এবং ক্রমাগত ব্যাক পয়েন্ট ক্লাউড ডেটা ফিড করে। বার্তাটি হল: কমান্ড পাঠানো হয়েছে: (ঠিকানা পাঠান 0x00, ক্যাসকেড বা না, সমস্ত ডিভাইস শুরু হবে)
কমান্ড প্রাপ্ত হয়েছে: (ক্যাসকেডিং ক্ষেত্রে, এই কমান্ডটি শুধুমাত্র একটি প্রতিক্রিয়া প্রদান করে এবং ঠিকানাটি হল সবচেয়ে বড় ঠিকানা, যেমনample: নং 3 ডিভাইসটি ক্যাসকেড করা হয়েছে এবং ঠিকানাটি 0x04।)
ডেটা সেগমেন্ট হল সিস্টেম দ্বারা স্ক্যান করা পয়েন্ট ক্লাউড ডেটা, যা নিম্নলিখিত ডেটা কাঠামো অনুসারে বাহ্যিক ডিভাইসে হেক্সাডেসিমেলে সিরিয়াল পোর্টে পাঠানো হয়। পুরো প্যাকেটের ডেটা দৈর্ঘ্য হল 322 বাইট, যার মধ্যে 2 বাইট পরিবেশগত ডেটা এবং 160 রেঞ্জিং পয়েন্ট (S1-S160), যার প্রতিটি হল 2 বাইট, উপরের 7 বিট হল তীব্রতার ডেটা, এবং নীচের 9 বিট হল দূরত্বের ডেটা . ইউনিট হল মিমি।
স্টপ কমান্ড
যখন সিস্টেমটি স্ক্যানিং অবস্থায় থাকে, GS2 বহির্বিশ্বে পয়েন্ট ক্লাউড ডেটা পাঠায়। এই সময়ে স্ক্যানিং নিষ্ক্রিয় করতে, স্ক্যানিং বন্ধ করতে এই কমান্ডটি পাঠান। স্টপ কমান্ড পাঠানোর পরে, মডিউল প্রতিক্রিয়া কমান্ডের উত্তর দেবে এবং সিস্টেম অবিলম্বে স্ট্যান্ডবাই স্লিপ স্টেটে প্রবেশ করবে। এই সময়ে, ডিভাইসের রেঞ্জিং ইউনিট কম শক্তি খরচ মোডে আছে, এবং লেজার বন্ধ আছে।
- কমান্ড পাঠানো: (0x00 ঠিকানা পাঠান, ক্যাসকেডিং হোক বা না হোক, সমস্ত ডিভাইস বন্ধ থাকবে)।
ক্যাসকেডিংয়ের ক্ষেত্রে, যদি N (সর্বোচ্চ 3) ডিভাইসগুলি সিরিজে সংযুক্ত থাকে, এই কমান্ডটি শুধুমাত্র একটি প্রতিক্রিয়া প্রদান করবে, যেখানে ঠিকানাটি শেষ ডিভাইসের ঠিকানা, যেমনample: যদি 3টি ডিভাইস ক্যাসকেড করা হয়, ঠিকানাটি 0x04।
বউড রেট কমান্ড সেট করুন
যখন বাহ্যিক ডিভাইস এই কমান্ডটি GS2 এ পাঠায়, GS2 এর আউটপুট বড রেট সেট করা যেতে পারে।
- কমান্ড পাঠানো হয়েছে: (ঠিকানা 0x00 পাঠানো, শুধুমাত্র সমস্ত ক্যাসকেড ডিভাইসের বড রেট একই হতে সমর্থন করে), বার্তাটি হল:
তাদের মধ্যে, ডেটা সেগমেন্ট হল বড রেট প্যারামিটার, যার মধ্যে চারটি বড রেট (বিপিএস), যথাক্রমে: 230400, 512000, 921600, 1500000 কোড 0-3 এর সাথে সম্পর্কিত (দ্রষ্টব্য: তিন-মডিউল সিরিয়াল সংযোগটি অবশ্যই ≥,921600) হতে হবে ডিফল্ট হল 921600)।
ক্যাসকেডিংয়ের ক্ষেত্রে, যদি N ডিভাইসগুলি (সর্বাধিক সমর্থন 3) ডিভাইসগুলি সিরিজে সংযুক্ত থাকে, তাহলে কমান্ডটি প্রতিটি ডিভাইসের পরামিতিগুলির সাথে সঙ্গতিপূর্ণ N প্রতিক্রিয়া প্রদান করবে এবং ঠিকানাগুলি হল: 0x01, 0x02, 0x04।
- বড রেট সেট করার পরে, ডিভাইসটিকে নরম রিস্টার্ট করতে হবে।
এজ মোড সেট করুন (স্ট্রং অ্যান্টি-জ্যামিং মোড)
যখন বাহ্যিক ডিভাইস এই কমান্ডটি GS2 এ পাঠায়, GS2 এর অ্যান্টি-জ্যামিং মোড সেট করা যেতে পারে।
- কমান্ড পাঠানো: (প্রেরণের ঠিকানা, ক্যাসকেড ঠিকানা), বার্তাটি হল:
কমান্ড অভ্যর্থনা
ঠিকানা হল মডিউলের ঠিকানা যা ক্যাসকেড লিঙ্কে কনফিগার করা প্রয়োজন। মোড=0 স্ট্যান্ডার্ড মোডের সাথে মিলে যায়, মোড=1 প্রান্ত মোডের সাথে মিলে যায় (আধারের দিকে মুখ করে), মোড=2 প্রান্তের মোডের সাথে (নিচের দিকে মুখ করে)। এজ মোডে, লিডারের স্থির আউটপুট 10HZ, এবং পরিবেষ্টিত আলোর ফিল্টারিং প্রভাব উন্নত করা হবে। মোড=0এক্সএফএফ মানে পড়া, লিডার বর্তমান মোডে ফিরে আসবে। লিডার ডিফল্টরূপে স্ট্যান্ডার্ড মোডে কাজ করে।
- মডিউল 1 সেট করুন: ঠিকানা = 0x01
- মডিউল 2 সেট করুন: ঠিকানা = 0x02
- মডিউল 3 সেট করুন: ঠিকানা = 0x04
সিস্টেম রিসেট কমান্ড
যখন একটি বাহ্যিক ডিভাইস এই কমান্ডটি GS2 এ পাঠায়, GS2 একটি সফ্ট রিস্টার্টে প্রবেশ করবে এবং সিস্টেমটি রিসেট করে পুনরায় চালু হবে।
কমান্ড পাঠানো: (প্রেরণের ঠিকানা, শুধুমাত্র সঠিক সংযুক্ত ঠিকানা হতে পারে: 0x01/0x02/0x04)
ঠিকানা হল মডিউলের ঠিকানা যা ক্যাসকেড লিঙ্কে কনফিগার করা প্রয়োজন।
- মডিউল 1 রিসেট করুন: ঠিকানা = 0x01
- মডিউল 2 রিসেট করুন: ঠিকানা = 0x02
- মডিউল 3 রিসেট করুন: ঠিকানা = 0x04
ডেটা বিশ্লেষণ
চার্ট 3 ডেটা স্ট্রাকচার বর্ণনা
বিষয়বস্তু | নাম | বর্ণনা |
K0(2B) | ডিভাইস পরামিতি | (uint16) বাম ক্যামেরা কোণ পরামিতি k0 সহগ (বিভাগ 3.3 দেখুন) |
B0(2B) | ডিভাইস পরামিতি | (uint16) বাম ক্যামেরা কোণ পরামিতি k0 সহগ (বিভাগ 3.3 দেখুন) |
K1(2B) | ডিভাইস পরামিতি | (uint16) ডান ক্যামেরা কোণ পরামিতি k1 সহগ (বিভাগ 3.3 দেখুন) |
B1(2B) | ডিভাইস পরামিতি | (uint16) ডান ক্যামেরা কোণ পরামিতি b1 সহগ (বিভাগ 3.3 দেখুন) |
পক্ষপাত | ডিভাইস পরামিতি | (int8) বর্তমান ক্যামেরা অ্যাঙ্গেল প্যারামিটার বায়াস সহগ (বিভাগ 3.3 দেখুন) |
ENV(2B) | পরিবেশ তথ্য | পরিবেষ্টিত আলোর তীব্রতা |
Si(2B) | দূরত্ব পরিমাপের তথ্য | নীচের 9 বিট হল দূরত্ব, উপরের 7 বিট হল তীব্রতার মান |
- দূরত্ব বিশ্লেষণ
দূরত্ব গণনা সূত্র: দূরত্ব = (_ ≪ 8|_) &0x01ff, একক হল মিমি।
শক্তি গণনা: গুণমান = _ ≫ 1 - কোণ বিশ্লেষণ
লেজার নির্গমনের দিকটি সেন্সরের সামনে হিসাবে নেওয়া হয়, পিসিবি প্লেনে লেজার বৃত্ত কেন্দ্রের অভিক্ষেপ স্থানাঙ্কের উত্স হিসাবে নেওয়া হয় এবং মেরু স্থানাঙ্ক সিস্টেমটি PCB প্লেনের সাধারণ লাইনের সাথে প্রতিষ্ঠিত হয়। 0-ডিগ্রী দিক। ঘড়ির কাঁটার দিক অনুসরণ করে, কোণটি ধীরে ধীরে বৃদ্ধি পায়।
লিডার দ্বারা প্রেরিত মূল ডেটাকে উপরের চিত্রে স্থানাঙ্ক সিস্টেমে রূপান্তর করতে, গণনার একটি সিরিজ প্রয়োজন। রূপান্তর ফাংশনটি নিম্নরূপ (বিশদ বিবরণের জন্য, অনুগ্রহ করে SDK দেখুন):
কোড বিশ্লেষণ চেক করুন
বর্তমান ডাটা প্যাকেট চেক করতে চেক কোড একক-বাইট জমা ব্যবহার করে। ফোর-বাইট প্যাকেট হেডার এবং চেক কোড নিজেই চেক অপারেশনে অংশগ্রহণ করে না। চেক কোড সমাধান সূত্র হল:
- চেকসাম = ADD1()
- = 1,2, … ,
ADD1 হল ক্রমবর্ধমান সূত্র, এর অর্থ হল সাবস্ক্রিপ্ট 1 থেকে এলিমেন্টের শেষ পর্যন্ত সংখ্যাগুলি জমা করা।
OTA আপগ্রেড
ওয়ার্কফ্লো আপগ্রেড করুন
প্রটোকল পাঠান
চার্ট 4 OTA ডেটা প্রোটোকল ফরম্যাট (ছোট এন্ডিয়ান)
প্যারামিটার | দৈর্ঘ্য (BYTE) | বর্ণনা |
প্যাকেট_হেডার | 4 | ডেটা প্যাকেট হেডার, A5A5A5A5 হিসাবে স্থির |
ডিভাইস_ঠিকানা | 1 | ডিভাইসের ঠিকানা নির্দিষ্ট করে |
প্যাক_আইডি | 1 | ডেটা প্যাকেট আইডি (ডেটা টাইপ) |
ডেটা_লেন | 2 | ডেটা সেগমেন্টের ডেটা দৈর্ঘ্য, 0-82 |
ডেটা | n | ডেটা, n = ডেটা_লেন |
চেক_সমষ্টি | 1 | চেকসাম, হেডার মুছে ফেলার পরে অবশিষ্ট বাইটের চেকসাম |
চার্ট 5 OTA আপগ্রেড নির্দেশাবলী
নির্দেশের ধরন | প্যাক_আইডি | বর্ণনা |
স্টার্ট_আইএপি | 0x0A | পাওয়ার চালু হওয়ার পর IAP শুরু করতে এই কমান্ডটি পাঠান |
চলমান_IAP | 0x0B | IAP চালান, প্যাকেট প্রেরণ করুন |
সম্পূর্ণ_IAP | 0x0 সি | IAP শেষ |
ACK_IAP | 0x20 | IAP উত্তর |
RESET_SYSTEM | 0x67 | নির্দিষ্ট ঠিকানায় মডিউলটি পুনরায় সেট করুন এবং পুনরায় চালু করুন |
Start_IAP নির্দেশনা
কমান্ড পাঠানো
- ডেটা সেগমেন্ট ডেটা বিন্যাস:
- ডেটা[0~1]: ডিফল্ট হল 0x00;
- ডেটা[2~17]: এটি একটি নির্দিষ্ট অক্ষর যাচাইকরণ কোড:
- 0x73 0x74 0x61 0x72 0x74 0x20 0x64 0x6F 0x77 0x6E 0x6C 0x6F 0x61 0x64 0x00 0x00
- বার্তা পাঠানো পড়ুন
- A5 A5 A5 A5 01 0A 12 00 00 00 73 74 61 72 74 20 64 6F 77 6E 6C 6F 61 64 00 00 C3
কমান্ড অভ্যর্থনা: ফ্ল্যাশ সেক্টর অপারেশনের কারণে, রিটার্ন বিলম্ব দীর্ঘ এবং 80ms এবং 700ms এর মধ্যে ওঠানামা করে)
তথ্য বিন্যাস গ্রহণ
- ঠিকানা: মডিউল ঠিকানা;
- ACK: ডিফল্ট হল 0x20, ইঙ্গিত করে যে ডেটা প্যাকেটটি একটি স্বীকৃতি প্যাকেট; ডেটা[0~1]: ডিফল্ট হল 0x00;
- তথ্য[২]: 0x0A নির্দেশ করে যে প্রতিক্রিয়া কমান্ডটি 0x0A;
- তথ্য[২]: 0x01 স্বাভাবিক অভ্যর্থনা নির্দেশ করে, 0 অস্বাভাবিক অভ্যর্থনা নির্দেশ করে;
- প্রাপ্তির রেফারেন্স:
A5 A5 A5 A5 01 20 04 00 00 00 0A 01 30
রানিং_আইএপি নির্দেশনা
কমান্ড পাঠানো
ফার্মওয়্যার আপগ্রেড করার সময় বিভক্ত হবে, এবং ডাটা সেগমেন্টের প্রথম দুটি বাইট (ডেটা) ফার্মওয়্যারের প্রথম বাইটের সাথে সম্পর্কিত ডেটার এই অংশের অফসেট নির্দেশ করে।
- ডেটা[0~1]:প্যাকেজ_শিফ্ট = ডেটা[0]+ ডেটা[1]*256;
- ডেটা[2]~ডেটা[17]: একটি নির্দিষ্ট স্ট্রিং যাচাইকরণ কোড:
- 0x64 0x6F 0x77 0x6E 0x6C 0x6F 0x61 0x64 0x69 0x6E 0x67 0x00 0x00 0x00 0x00 0x00 Data[18]~Data[81]: ফার্মওয়্যার ডেটা;
- বার্তা পাঠানো পড়ুন
- A5 A5 A5 A5 01 0B 52 00 00 00 64 6F 77 6E 6C 6F 61 64 69 6E 67 00 00 00 00 00 +
(ডেটা[18]~ডেটা[81]) + চেক_সাম
কমান্ড অভ্যর্থনা
- ঠিকানা: is মডিউল ঠিকানা;
- ACK: ডিফল্ট হল 0x20, ইঙ্গিত করে যে ডেটা প্যাকেটটি একটি স্বীকৃতি প্যাকেট;
ডেটা[0~1] : Package_Shift = Data[0]+ Data[1]*256 নির্দেশ করে রেসপন্সের ফার্মওয়্যার ডেটা অফসেট। আপগ্রেড প্রক্রিয়া চলাকালীন প্রতিক্রিয়া সনাক্ত করার সময় অফসেটটিকে সুরক্ষা ব্যবস্থা হিসাবে বিচার করার পরামর্শ দেওয়া হয়।
- ডেটা[2]=0x0B নির্দেশ করে যে প্রতিক্রিয়া কমান্ডটি 0x0B;
- ডেটা[3]=0x01 স্বাভাবিক অভ্যর্থনা নির্দেশ করে, 0 অস্বাভাবিক অভ্যর্থনা নির্দেশ করে;
প্রাপ্তির রেফারেন্স
A5 A5 A5 A5 01 20 04 00 00 00 0B 01 31
সম্পূর্ণ_IAP নির্দেশনা
কমান্ড পাঠানো
- ডেটা[0~1]: ডিফল্ট হল 0x00;
- ডেটা[2]~ডেটা[17]: এটি একটি নির্দিষ্ট স্ট্রিং যাচাইকরণ কোড:
0x63 0x6F 0x6D 0x70 0x6C 0x65 0x74 0x65 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
ডেটা[18]~ডেটা[21]: এনক্রিপশন পতাকা, uint32_t প্রকার, এনক্রিপ্ট করা ফার্মওয়্যার হল 1, নন-এনক্রিপ্ট করা ফার্মওয়্যার হল 0;
বার্তা পাঠানোর জন্য পড়ুন:
A5 A5 A5 A5 01 0C 16 00 00 00 63 6F 6D 70 6C 65 74 65 00 00 00 00 00 00 00 00 32 + (uintXNUMX_t এনক্রিপশন পতাকা) + চেক_সাম
কমান্ড অভ্যর্থনা
- তথ্য বিন্যাস গ্রহণ করুন:
- ঠিকানা: মডিউল ঠিকানা;
- ACK: ডিফল্ট হল 0x20, ইঙ্গিত করে যে ডেটা প্যাকেটটি একটি স্বীকৃতি প্যাকেট;
- ডেটা[0~1]: ডিফল্ট হল 0x00;
- তথ্য[২]: 0x0C নির্দেশ করে যে প্রতিক্রিয়া কমান্ডটি 0x0C;
- তথ্য[২]: 0x01 স্বাভাবিক অভ্যর্থনা নির্দেশ করে, 0 অস্বাভাবিক অভ্যর্থনা নির্দেশ করে;
- প্রাপ্ত বার্তা পড়ুন:
A5 A5 A5 A5 01 20 04 00 00 00 0C 01 32
RESET_SYSTEM নির্দেশ
বিস্তারিত জানার জন্য অনুগ্রহ করে অধ্যায় 3.8 সিস্টেম রিসেট কমান্ড পড়ুন।
প্রশ্নোত্তর
- প্রশ্নঃ রিসেট কমান্ড পাঠানোর পর কিভাবে রিসেট সফল হয়েছে তা বিচার করবেন? বিলম্ব প্রয়োজন কিনা?
- A: রিসেট কমান্ডের রেসপন্স প্যাকেট অনুযায়ী সফল এক্সিকিউশন বিচার করা যেতে পারে; পরবর্তী ক্রিয়াকলাপগুলি সম্পাদন করার আগে প্রতিক্রিয়া পাওয়ার পরে 500ms বিলম্ব যোগ করার পরামর্শ দেওয়া হয়।
- প্রশ্ন: মডিউল 4 কিছু সিরিয়াল পোর্ট ডেটা গ্রহণ করে যা রিসেট করার পরে প্রোটোকলের সাথে সামঞ্জস্যপূর্ণ নয়, কীভাবে এটি মোকাবেলা করবেন?
- A: মডিউলের পাওয়ার-অন লগ হল 4 0x3E হেডার সহ ASCII ডেটার একটি স্ট্রিং, যা 4 0xA5 শিরোলেখ সহ সাধারণ ডেটা পার্সিংকে প্রভাবিত করে না এবং উপেক্ষা করা যেতে পারে। শারীরিক লিঙ্কের কারণে, নং 1 এবং নং 2 মডিউলের লগগুলি গ্রহণ করা যাবে না৷
- প্রশ্ন: আপগ্রেড প্রক্রিয়াটি পাওয়ার ব্যর্থতার কারণে ব্যাহত হলে এবং পুনরায় চালু হলে কীভাবে মোকাবেলা করবেন?
- A: পুনরায় আপগ্রেড করতে Start_IAP কমান্ড পুনরায় পাঠান।
- প্রশ্ন: ক্যাসকেড অবস্থায় অস্বাভাবিক আপগ্রেড ফাংশনের সম্ভাব্য কারণ কী?
- A: ভৌত লিঙ্কটি সঠিক কিনা তা নিশ্চিত করুন, যেমন তিনটি মডিউলের পয়েন্ট ক্লাউড ডেটা পাওয়া যাবে কিনা;
- নিশ্চিত করুন যে তিনটি মডিউলের ঠিকানা বিরোধপূর্ণ নয়, এবং আপনি ঠিকানাগুলি পুনরায় বরাদ্দ করার চেষ্টা করতে পারেন;
- আপগ্রেড করার জন্য মডিউলটি পুনরায় সেট করুন এবং তারপর চেষ্টাটি পুনরায় চালু করুন;
- Q: ক্যাসকেড আপগ্রেড করার পরে কেন পঠিত সংস্করণ নম্বর 0?
- A: এর মানে হল যে মডিউল আপগ্রেড ব্যর্থ হয়েছে, ব্যবহারকারীদের মডিউলটি পুনরায় সেট করতে হবে এবং তারপরে আবার আপগ্রেড করতে হবে।
মনোযোগ
- GS2 এর সাথে কমান্ড ইন্টারঅ্যাকশনের সময়, স্টপ স্ক্যান কমান্ড ব্যতীত, অন্যান্য কমান্ড স্ক্যান মোডে ইন্টারঅ্যাক্ট করা যায় না, যা সহজেই বার্তা পার্সিং ত্রুটির দিকে নিয়ে যেতে পারে।
- পাওয়ার চালু হলে GS2 স্বয়ংক্রিয়ভাবে রেঞ্জ শুরু হবে না। স্ক্যান মোডে প্রবেশ করতে এটি একটি স্টার্ট স্ক্যান কমান্ড পাঠাতে হবে। রেঞ্জিং বন্ধ করার প্রয়োজন হলে, স্ক্যানিং বন্ধ করতে এবং স্লিপ মোডে প্রবেশ করতে একটি স্টপ স্ক্যান কমান্ড পাঠান।
- GS2 স্বাভাবিকভাবে শুরু করুন, আমাদের প্রস্তাবিত প্রক্রিয়া হল:
প্রথম ধাপ:
বর্তমান ডিভাইসের ঠিকানা এবং ক্যাসকেডের সংখ্যা পেতে ডিভাইসের ঠিকানা পান কমান্ডটি পাঠান এবং ঠিকানাটি কনফিগার করুন;
দ্বিতীয় ধাপ:
সংস্করণ নম্বর পেতে get version কমান্ড পাঠান;
তৃতীয় ধাপ:
ডেটা বিশ্লেষণের জন্য ডিভাইসের কোণ পরামিতিগুলি পেতে ডিভাইসের পরামিতিগুলি পেতে একটি কমান্ড পাঠান;
চতুর্থ ধাপ:
পয়েন্ট ক্লাউড ডেটা পেতে একটি স্টার্ট স্ক্যান কমান্ড পাঠান। - GS2 দৃষ্টিকোণ উইন্ডোগুলির জন্য আলো-প্রেরণকারী উপকরণগুলির নকশার জন্য পরামর্শ:
যদি সামনের কভারের দৃষ্টিকোণ উইন্ডোটি GS2-এর জন্য ডিজাইন করা হয়, তাহলে এটির আলো-প্রেরণকারী উপাদান হিসাবে ইনফ্রারেড-ভেদযোগ্য পিসি ব্যবহার করার পরামর্শ দেওয়া হয়, এবং আলো-প্রেরণকারী এলাকাটি সমতল (সমতলতা ≤0.05 মিমি) হওয়া প্রয়োজন, এবং সমস্ত এলাকা সমতল 780nm থেকে 1000nm ব্যান্ডে স্বচ্ছ হওয়া উচিত। আলোর হার 90% এর বেশি। - ন্যাভিগেশন বোর্ড চালু এবং বন্ধ করার জন্য বারবার GS2 স্যুইচ করার জন্য প্রস্তাবিত অপারেশন পদ্ধতি:
নেভিগেশন বোর্ডের পাওয়ার খরচ কমানোর জন্য, যদি GS2 বারবার চালু এবং বন্ধ করার প্রয়োজন হয়, তাহলে পাওয়ার অফ করার আগে একটি স্টপ স্ক্যান কমান্ড পাঠানোর (বিভাগ 3.5 দেখুন) এবং তারপরে এর TX এবং RX কনফিগার করার পরামর্শ দেওয়া হয়। উচ্চ প্রতিবন্ধকতা নেভিগেশন বোর্ড. তারপর এটি বন্ধ করতে VCC কম টানুন। পরের বার পাওয়ার চালু হলে, প্রথমে VCC টানুন, তারপর সাধারণ আউটপুট এবং ইনপুট স্টেট হিসাবে TX এবং RX কনফিগার করুন এবং তারপর 300ms বিলম্বের পরে, লাইন লেজারের সাথে কমান্ড ইন্টারঅ্যাকশন করুন৷ - প্রতিটি GS2 কমান্ড পাঠানোর পরে সর্বাধিক অপেক্ষার সময় সম্পর্কে:
- ঠিকানা পান: বিলম্ব 800ms, সংস্করণ পান: বিলম্ব 100ms;
- প্যারামিটার পান: বিলম্ব 100ms, স্ক্যানিং শুরু করুন: বিলম্ব 400ms;
- স্ক্যান করা বন্ধ করুন: বিলম্ব 100ms, সেট বড রেট: বিলম্ব 800ms;
- প্রান্ত মোড সেট করুন: বিলম্ব 800ms, OTA শুরু করুন: বিলম্ব 800ms;
পুন: পরিক্ষা
তারিখ | সংস্করণ | বিষয়বস্তু |
2019-04-24 | 1.0 | একটি প্রথম খসড়া রচনা করুন |
2021-11-08 |
1.1 |
পরিবর্তন করুন (বাম এবং ডান ক্যামেরা ডেটা মার্জ করতে প্রোটোকল ফ্রেমওয়ার্ক পরিবর্তন করুন; দৃষ্টিকোণ উইন্ডো উপকরণ যোগ করার জন্য পরামর্শ; বড রেট যোগ করা
সেটিং কমান্ড) |
2022-01-05 | 1.2 | ডিভাইসের ঠিকানা পেতে কমান্ডের প্রাপ্তির বিবরণ এবং বাম এবং ডান ক্যামেরার বিবরণ পরিবর্তন করুন |
2022-01-12 | 1.3 | প্রান্ত মোড যোগ করুন, K, B, BIAS গণনার বিবরণ সম্পূরক করুন |
2022-04-29 | 1.4 | অধ্যায় 3.2 এর বর্ণনা পরিবর্তন করুন: সংস্করণ তথ্য কমান্ড প্রাপ্ত করুন |
2022-05-01 | 1.5 | সফট রিস্টার্ট কমান্ডের ঠিকানা কনফিগারেশন পদ্ধতি পরিবর্তন করুন |
2022-05-31 |
1.6 |
1) বিভাগ 3.7 আপডেট করুন
2) বিভাগ 3.8 রিসেট কমান্ড একটি একক উত্তর যোগ করে 3) অধ্যায় 5 OTA আপগ্রেড যোগ করা হয়েছে |
2022-06-02 | 1.6.1 | 1) OTA আপগ্রেড ওয়ার্কফ্লো পরিবর্তন করুন
2) OTA এর প্রশ্নোত্তর পরিবর্তন করুন |
দলিল/সম্পদ
![]() |
YDLIDAR GS2 ডেভেলপমেন্ট লিনিয়ার অ্যারে সলিড লিডার সেন্সর [পিডিএফ] ব্যবহারকারী ম্যানুয়াল GS2 ডেভেলপমেন্ট লিনিয়ার অ্যারে সলিড লিডার সেন্সর, জিএস২ ডেভেলপমেন্ট, লিনিয়ার অ্যারে সলিড লিডার সেন্সর, অ্যারে সলিড লিডার সেন্সর, সলিড লিডার সেন্সর, লিডার সেন্সর, সেন্সর |