YDLIDAR-GS2-DEVELOPMENT-Linear-Array-Solid-LiDAR-Sensor-โลโก้

YDLIDAR GS2 DEVELOPMENT เซ็นเซอร์ LiDAR โซลิดอาร์เรย์เชิงเส้น

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซ็นเซอร์-ผลิตภัณฑ์

กลไกการทำงาน

โหมด
ระบบ YDLIDAR GS2 (ต่อไปนี้จะเรียกว่า GS2) มีโหมดการทำงาน 3 โหมด: โหมดไม่ได้ใช้งาน, โหมดสแกน, โหมดหยุด

  • โหมดว่าง: เมื่อเปิดเครื่อง GS2 โหมดเริ่มต้นจะเป็นโหมดไม่ได้ใช้งาน ในโหมดปกติ หน่วยกำหนดระยะของ GS2 จะไม่ทำงานและเลเซอร์จะไม่สว่าง
  • โหมดสแกน: เมื่อ GS2 อยู่ในโหมดการสแกน หน่วยกำหนดขอบเขตจะเปิดเลเซอร์ เมื่อ GS2 เริ่มทำงาน มันจะทำงานอย่างต่อเนื่องampสภาพแวดล้อมภายนอกและส่งออกตามเวลาจริงหลังจากการประมวลผลเบื้องหลัง
  • โหมดหยุด: เมื่อ GS2 ทำงานโดยมีข้อผิดพลาด เช่น เปิดเครื่องสแกน เลเซอร์ปิด มอเตอร์ไม่หมุน ฯลฯGS2 จะปิดหน่วยวัดระยะทางโดยอัตโนมัติและป้อนกลับรหัสข้อผิดพลาด

หลักการวัดYDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-1
GS2 เป็นลิดาร์โซลิดสเตตระยะสั้นที่มีช่วง 25-300 มม. ประกอบด้วยเลเซอร์เส้นและกล้องเป็นหลัก หลังจากที่เลเซอร์เส้นเดียวปล่อยแสงเลเซอร์ กล้องก็จะจับภาพไว้ ตามโครงสร้างคงที่ของเลเซอร์และกล้อง รวมกับหลักการวัดระยะทางแบบสามเหลี่ยม เราสามารถคำนวณระยะห่างจากวัตถุถึง GS2 ได้ ตามพารามิเตอร์ที่ปรับเทียบแล้วของกล้อง สามารถทราบค่ามุมของวัตถุที่วัดได้ในระบบพิกัดไลดาร์ เป็นผลให้เราได้รับข้อมูลการวัดที่สมบูรณ์ของวัตถุที่วัดได้

จุด O คือจุดกำเนิดของพิกัด พื้นที่สีม่วงคือมุมของ view ของกล้องด้านขวา และพื้นที่สีส้มคือมุมของ view ของกล้องด้านซ้าย

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-2

เมื่อเครื่องหมายวรรคตอน mod เป็นจุดเริ่มต้นของพิกัด ด้านหน้าจะเป็นทิศทางของระบบพิกัด 0 องศา และมุมจะเพิ่มขึ้นตามเข็มนาฬิกา เมื่อเอาท์พุตพอยต์คลาวด์ ลำดับของข้อมูล (S1~S160) คือ L1~L80, R1~R80 มุมและระยะทางที่คำนวณโดย SDK จะแสดงอยู่ในระบบพิกัดตามเข็มนาฬิกา

การสื่อสารระบบ

กลไกการสื่อสาร
GS2 สื่อสารคำสั่งและข้อมูลกับอุปกรณ์ภายนอกผ่านพอร์ตอนุกรม เมื่ออุปกรณ์ภายนอกส่งคำสั่งระบบไปที่ GS2 GS2 จะแก้ไขคำสั่งระบบและส่งกลับข้อความตอบกลับที่เกี่ยวข้อง ตามเนื้อหาคำสั่ง GS2 จะเปลี่ยนสถานะการทำงานที่เกี่ยวข้อง ขึ้นอยู่กับเนื้อหาของข้อความ ระบบภายนอกสามารถแยกวิเคราะห์ข้อความและรับข้อมูลตอบกลับได้YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-3

คำสั่งระบบ
ระบบภายนอกสามารถตั้งค่าสถานะการทำงานที่สอดคล้องกันของ 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 ไบต์ N ไบต์ 1 ไบต์

ไบต์ชดเชยYDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-4

  • ส่วนหัวของแพ็คเก็ต: ส่วนหัวแพ็กเก็ตข้อความสำหรับ GS2 มีเครื่องหมาย 0xA5A5A5A5
  • ที่อยู่อุปกรณ์: ที่อยู่อุปกรณ์ GS2 ตามจำนวนการเรียงซ้อนแบ่งออกเป็น: 0x01, 0x02, 0x04;
  • ประเภทแพ็คเก็ต: ดูแผนภูมิที่ 1 สำหรับประเภทของคำสั่งระบบ
  • ความยาวตอบกลับ: แสดงถึงความยาวของการตอบกลับ
  • ส่วนข้อมูล: คำสั่งระบบที่ต่างกันจะตอบสนองต่อเนื้อหาข้อมูลที่แตกต่างกัน และโปรโตคอลข้อมูลก็แตกต่างกัน
  • ตรวจสอบรหัส: ตรวจสอบรหัส

บันทึก: การสื่อสารข้อมูล GS2 ใช้โหมด Small-Enian โดยเรียงลำดับต่ำก่อน

โปรโตคอลข้อมูล

รับคำสั่งที่อยู่อุปกรณ์
เมื่ออุปกรณ์ภายนอกส่งคำสั่งนี้ไปยัง GS2 GS2 จะส่งคืนแพ็กเก็ตที่อยู่อุปกรณ์ ข้อความจะเป็น:

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-5

ในการเรียงซ้อน หากอุปกรณ์ N อุปกรณ์ (รองรับสูงสุด 3 เครื่อง) ถูกเธรด คำสั่งจะส่งคืนคำตอบ N ที่ 0x01, 0x02, 0x04 ซึ่งสอดคล้องกับโมดูล 1-3 ตามลำดับ

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-6

คำนิยาม: ที่อยู่ของโมดูล 1 คือ 0x01 โมดูล 2 คือ 0x02 และโมดูล 3 คือ 0x04

รับคำสั่งข้อมูลเวอร์ชัน
เมื่ออุปกรณ์ภายนอกส่งคำสั่งสแกนไปที่ GS2 GS2 จะส่งคืนข้อมูลเวอร์ชัน ข้อความตอบกลับคือ:

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-7

ในกรณีของการเรียงซ้อน หากอุปกรณ์ N (สูงสุด 3) เชื่อมต่อเป็นอนุกรม คำสั่งนี้จะส่งคืนการตอบสนอง N โดยที่ที่อยู่คือที่อยู่ของอุปกรณ์สุดท้าย
หมายเลขเวอร์ชันมีความยาว 3 ไบต์ และหมายเลข SN มีความยาว 16 ไบต์

รับคำสั่งพารามิเตอร์อุปกรณ์
เมื่ออุปกรณ์ภายนอกส่งคำสั่งนี้ไปยัง GS2 GS2 จะส่งคืนพารามิเตอร์อุปกรณ์ และข้อความคือ:

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-8 YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-9

ในการเรียงซ้อน หากอุปกรณ์ 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, เรียงซ้อนหรือไม่, จะเริ่มอุปกรณ์ทั้งหมด)

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-10

คำสั่งที่ได้รับ: (ในกรณีแบบเรียงซ้อน คำสั่งนี้จะส่งคืนคำตอบเดียวเท่านั้น และที่อยู่จะเป็นที่อยู่ที่ใหญ่ที่สุด เช่นample: อุปกรณ์หมายเลข 3 เรียงซ้อนและที่อยู่คือ 0x04)

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-11

ส่วนข้อมูลคือข้อมูลพอยต์คลาวด์ที่ระบบสแกน ซึ่งถูกส่งไปยังพอร์ตอนุกรมในรูปแบบเลขฐานสิบหกไปยังอุปกรณ์ภายนอกตามโครงสร้างข้อมูลต่อไปนี้ ความยาวข้อมูลของแพ็กเก็ตทั้งหมดคือ 322 ไบต์ รวมถึงข้อมูลสิ่งแวดล้อม 2 ไบต์และจุดตั้งแต่ 160 จุด (S1-S160) แต่ละจุดมีขนาด 2 ไบต์ 7 บิตบนเป็นข้อมูลความเข้ม และ 9 บิตล่างเป็นข้อมูลระยะทาง . มีหน่วยเป็น มม.YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-12

คำสั่งหยุด

เมื่อระบบอยู่ในสถานะการสแกน GS2 ได้ส่งข้อมูลพอยต์คลาวด์ไปยังโลกภายนอก หากต้องการปิดใช้งานการสแกนในขณะนี้ ให้ส่งคำสั่งนี้เพื่อหยุดการสแกน หลังจากส่งคำสั่งหยุด โมดูลจะตอบกลับคำสั่งตอบสนอง และระบบจะเข้าสู่สถานะสแตนด์บายทันที ในเวลานี้ หน่วยกำหนดขอบเขตของอุปกรณ์อยู่ในโหมดการใช้พลังงานต่ำ และเลเซอร์ปิดอยู่

  • การส่งคำสั่ง: (ส่งที่อยู่ 0x00 ไม่ว่าจะเรียงซ้อนหรือไม่อุปกรณ์ทั้งหมดจะถูกปิด)

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-16

ในกรณีของการเรียงซ้อน หากอุปกรณ์ N (สูงสุด 3) เชื่อมต่อเป็นอนุกรม คำสั่งนี้จะส่งคืนเฉพาะการตอบกลับ โดยที่ที่อยู่คือที่อยู่ของอุปกรณ์สุดท้าย เช่นample: หากอุปกรณ์ 3 เครื่องเรียงกัน ที่อยู่จะเป็น 0x04

ตั้งค่าคำสั่งอัตรารับส่งข้อมูล

เมื่ออุปกรณ์ภายนอกส่งคำสั่งนี้ไปยัง GS2 จะสามารถตั้งค่าอัตรารับส่งข้อมูลเอาต์พุตของ GS2 ได้

  • คำสั่งที่ส่ง: (ที่อยู่การส่ง 0x00 รองรับเฉพาะการตั้งค่าอัตรารับส่งข้อมูลของอุปกรณ์ที่เรียงซ้อนทั้งหมดให้เท่ากัน) ข้อความคือ:

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-11

ในหมู่พวกเขา ส่วนข้อมูลคือพารามิเตอร์อัตรารับส่งข้อมูล รวมถึงอัตรารับส่งข้อมูลสี่อัตรา (bps) ตามลำดับ: 230400, 512000, 921600, 1500000 ที่สอดคล้องกับรหัส 0-3 (หมายเหตุ: การเชื่อมต่อแบบอนุกรมสามโมดูลจะต้องเป็น ≥921600, ค่าเริ่มต้นคือ 921600)

ในกรณีของการเรียงซ้อน หากอุปกรณ์ N อุปกรณ์ (รองรับสูงสุด 3) เชื่อมต่อเป็นอนุกรม คำสั่งจะส่งกลับการตอบสนอง N ซึ่งสอดคล้องกับพารามิเตอร์ของแต่ละอุปกรณ์ และที่อยู่คือ: 0x01, 0x02, 0x04

  • หลังจากตั้งค่าอัตรารับส่งข้อมูลแล้ว ต้องรีสตาร์ทอุปกรณ์อย่างนุ่มนวล

ตั้งค่าโหมด Edge (โหมดป้องกันการรบกวนที่แข็งแกร่ง)
เมื่ออุปกรณ์ภายนอกส่งคำสั่งนี้ไปยัง GS2 จะสามารถตั้งค่าโหมดป้องกันการรบกวนของ GS2 ได้

  • การส่งคำสั่ง: (ที่อยู่การส่ง, ที่อยู่แบบเรียงซ้อน) ข้อความคือ:

การรับคำสั่ง

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-15

ที่อยู่คือที่อยู่ของโมดูลที่ต้องกำหนดค่าในลิงก์แบบเรียงซ้อน Mode=0 สอดคล้องกับโหมดมาตรฐาน Mode=1 สอดคล้องกับโหมดขอบ (เต้ารับหงายขึ้น) Mode=2 สอดคล้องกับโหมดขอบ (เต้ารับคว่ำลง) ในโหมด Edge เอาต์พุตคงที่ของ LIDAR คือ 10HZ และเอฟเฟกต์การกรองของแสงโดยรอบจะได้รับการปรับปรุง Mode=0XFF หมายถึงการอ่านค่า lidar จะกลับสู่โหมดปัจจุบัน Lidar ทำงานในโหมดมาตรฐานตามค่าเริ่มต้น

  • ตั้งค่าโมดูล 1: ที่อยู่ =0x01
  • ตั้งค่าโมดูล 2: ที่อยู่ =0x02
  • ตั้งค่าโมดูล 3: ที่อยู่ =0x04

คำสั่งรีเซ็ตระบบ
เมื่ออุปกรณ์ภายนอกส่งคำสั่งนี้ไปยัง GS2 GS2 จะเข้าสู่การรีสตาร์ทแบบนุ่มนวล และระบบจะรีเซ็ตและรีสตาร์ท
การส่งคำสั่ง: (ที่อยู่การส่งสามารถเป็นที่อยู่ต่อกันที่แน่นอนเท่านั้น: 0x01/0x02/0x04)

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-16

ที่อยู่คือที่อยู่ของโมดูลที่ต้องกำหนดค่าในลิงก์แบบเรียงซ้อน

  • รีเซ็ตโมดูล 1: ที่อยู่ =0x01
  • รีเซ็ตโมดูล 2: ที่อยู่ =0x02
  • รีเซ็ตโมดูล 3: ที่อยู่ =0x04

การวิเคราะห์ข้อมูล

แผนภูมิ 3 คำอธิบายโครงสร้างข้อมูล

เนื้อหา ชื่อ คำอธิบาย
K0(2B) พารามิเตอร์อุปกรณ์ (uint16) พารามิเตอร์มุมกล้องด้านซ้าย k0 สัมประสิทธิ์ (ดูหัวข้อ 3.3)
บี0(2บี) พารามิเตอร์อุปกรณ์ (uint16) พารามิเตอร์มุมกล้องด้านซ้าย k0 สัมประสิทธิ์ (ดูหัวข้อ 3.3)
K1(2B) พารามิเตอร์อุปกรณ์ (uint16) พารามิเตอร์มุมกล้องด้านขวา k1 สัมประสิทธิ์ (ดูหัวข้อ 3.3)
บี1(2บี) พารามิเตอร์อุปกรณ์ (uint16) พารามิเตอร์มุมกล้องขวา b1 สัมประสิทธิ์ (ดูหัวข้อ 3.3)
BIAS พารามิเตอร์อุปกรณ์ (int8) ค่าสัมประสิทธิ์อคติของพารามิเตอร์มุมกล้องปัจจุบัน (ดูหัวข้อ 3.3)
อีเอ็นวี(2B) ข้อมูลสิ่งแวดล้อม ความเข้มของแสงโดยรอบ
ศรี(2B) ข้อมูลการวัดระยะทาง 9 บิตล่างคือระยะทาง 7 บิตบนคือค่าความเข้ม
  • การวิเคราะห์ระยะทาง
    สูตรคำนวณระยะทาง: ระยะทาง = (_ ≪ 8|_) &0x01ff หน่วยเป็น มม.
    การคำนวณความแข็งแกร่ง: คุณภาพ = _ ≫ 1
  • การวิเคราะห์มุม
    ทิศทางของการปล่อยเลเซอร์จะถูกนำมาเป็นด้านหน้าของเซ็นเซอร์ การฉายภาพของจุดศูนย์กลางวงกลมเลเซอร์บนระนาบ PCB จะถูกนำมาเป็นจุดเริ่มต้นของพิกัด และระบบพิกัดเชิงขั้วจะถูกสร้างขึ้นด้วยเส้นปกติของระนาบ PCB เป็น ทิศทาง 0 องศา ตามทิศทางตามเข็มนาฬิกา มุมจะค่อยๆ เพิ่มขึ้น YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-17

ในการแปลงข้อมูลต้นฉบับที่ส่งโดย Lidar ไปเป็นระบบพิกัดในรูปด้านบน จำเป็นต้องมีชุดการคำนวณ ฟังก์ชั่นการแปลงมีดังนี้ (สำหรับรายละเอียด โปรดดูที่ SDK):

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-28 YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-29

ตรวจสอบการวิเคราะห์โค้ด
รหัสตรวจสอบใช้การสะสมไบต์เดียวเพื่อตรวจสอบแพ็กเก็ตข้อมูลปัจจุบัน ส่วนหัวของแพ็กเก็ตสี่ไบต์และรหัสตรวจสอบเองไม่มีส่วนร่วมในการดำเนินการตรวจสอบ สูตรการแก้ปัญหารหัสตรวจสอบคือ:

  • เช็คซัม = ADD1()
  • = 1,2, … ,

ADD1 เป็นสูตรสะสม หมายถึง การสะสมตัวเลขจากตัวห้อย 1 ไปสิ้นสุดในองค์ประกอบ

OTA อัปเกรด

อัปเกรดเวิร์กโฟลว์

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-19

ส่งโปรโตคอล

แผนภูมิ 4 รูปแบบโปรโตคอลข้อมูล OTA (ENDIAN ขนาดเล็ก)

พารามิเตอร์ ความยาว (ไบต์) คำอธิบาย
Packet_Header 4 ส่วนหัวของแพ็กเก็ตข้อมูล แก้ไขเป็น A5A5A5A5
อุปกรณ์_ที่อยู่ 1 ระบุที่อยู่ของอุปกรณ์
แพ็ค_ไอดี 1 ID แพ็กเก็ตข้อมูล (ชนิดข้อมูล)
Data_Len 2 ความยาวข้อมูลของส่วนข้อมูล 0-82
ข้อมูล n ข้อมูล n = Data_Len
ตรวจสอบ_ผลรวม 1 เช็คซัม คือเช็คซัมของไบต์ที่เหลือหลังจากลบส่วนหัวออกแล้ว

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-21

แผนภูมิ 5 คำแนะนำในการอัปเกรด OTA

ประเภทคำสั่ง แพ็ค_ไอดี คำอธิบาย
เริ่มต้น_IAP 0x0A ส่งคำสั่งนี้เพื่อเริ่ม IAP หลังจากเปิดเครื่อง
กำลังรัน_IAP 0x0B เรียกใช้ IAP ส่งแพ็กเก็ต
เสร็จสิ้น_IAP 0x0C สิ้นสุด IAP
ACK_IAP ขนาด 0x20 IAP ตอบกลับ
รีเซ็ต_ระบบ ขนาด 0x67 รีเซ็ตและรีสตาร์ทโมดูลตามที่อยู่ที่ระบุ

คำสั่ง Start_IAP

การส่งคำสั่ง

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-20

  • รูปแบบข้อมูลส่วนข้อมูล:
  • ข้อมูล[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

การรับคำสั่ง: เนื่องจากการดำเนินงานของภาค FLASH ความล่าช้าในการส่งคืนจึงยาวนานและผันผวนระหว่าง 80ms ถึง 700ms)

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-23

รับรูปแบบข้อมูล

  • ที่อยู่: ที่อยู่โมดูล
  • ยอมรับ: ค่าดีฟอลต์คือ 0x20 ซึ่งบ่งชี้ว่าแพ็กเก็ตข้อมูลเป็นแพ็กเก็ตการตอบรับ ข้อมูล [0~1]: ค่าเริ่มต้นคือ 0x00;
  • ข้อมูล[2]: 0x0A บ่งชี้ว่าคำสั่งตอบสนองคือ 0x0A;
  • ข้อมูล[3]: 0x01 หมายถึงการรับสัญญาณตามปกติ 0 หมายถึงการรับสัญญาณที่ผิดปกติ
  • อ้างอิงที่จะได้รับ:
    A5 A5 A5 A5 01 20 04 00 00 00 0A 01 30
คำสั่ง Running_IAP

การส่งคำสั่ง

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-24

เฟิร์มแวร์จะถูกแบ่งระหว่างการอัพเกรด และสองไบต์แรกของส่วนข้อมูล (ข้อมูล) ระบุออฟเซ็ตของข้อมูลส่วนนี้สัมพันธ์กับไบต์แรกของเฟิร์มแวร์

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-25

  • ข้อมูล[0~1]:Package_Shift = ข้อมูล[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]) + Check_Sum

การรับคำสั่ง

  • ที่อยู่: iเป็นที่อยู่โมดูล
  • ยอมรับ: ค่าดีฟอลต์คือ 0x20 ซึ่งบ่งชี้ว่าแพ็กเก็ตข้อมูลเป็นแพ็กเก็ตการตอบรับ

ข้อมูล[0~1] : Package_Shift = Data[0]+ Data[1]*256 บ่งชี้ถึงข้อมูลเฟิร์มแวร์ที่ชดเชยการตอบสนอง ขอแนะนำให้ตัดสินออฟเซ็ตเป็นกลไกการป้องกันเมื่อตรวจจับการตอบสนองระหว่างกระบวนการอัปเกรด

  • Data[2]=0x0B บ่งชี้ว่าคำสั่งตอบสนองคือ 0x0B;
  • ข้อมูล[3]=0x01 หมายถึงการรับสัญญาณปกติ 0 หมายถึงการรับสัญญาณที่ผิดปกติ

อ้างอิงเพื่อรับ
A5 A5 A5 A5 01 20 04 00 00 00 0B 01 31

คำสั่ง_IAP ที่สมบูรณ์

การส่งคำสั่ง

YDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-26

  • ข้อมูล[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 + (การตั้งค่าสถานะการเข้ารหัส uint32_t) + Check_Sum

การรับคำสั่งYDLIDARGS2-การพัฒนา-ลิเนียร์อาเรย์-โซลิด-LiDAR-เซนเซอร์-FIG-27

  • รับรูปแบบข้อมูล:
  • ที่อยู่: คือที่อยู่ของโมดูล
  • ยอมรับ: ค่าดีฟอลต์คือ 0x20 ซึ่งบ่งชี้ว่าแพ็กเก็ตข้อมูลเป็นแพ็กเก็ตการตอบรับ
  • ข้อมูล[0~1]: ค่าเริ่มต้นคือ 0x00;
  • ข้อมูล[2]: 0x0C บ่งชี้ว่าคำสั่งตอบสนองคือ 0x0C;
  • ข้อมูล[3]: 0x01 หมายถึงการรับสัญญาณตามปกติ 0 หมายถึงการรับสัญญาณที่ผิดปกติ
  • อ้างถึงข้อความที่ได้รับ:
    A5 A5 A5 A5 01 20 04 00 00 00 0C 01 32

คำสั่ง RESET_SYSTEM
โปรดดูบทที่ 3.8 คำสั่งรีเซ็ตระบบสำหรับรายละเอียด

ถาม-ตอบ

  • ถาม: จะตัดสินได้อย่างไรว่าการรีเซ็ตสำเร็จหลังจากส่งคำสั่งรีเซ็ต จำเป็นต้องล่าช้าหรือไม่?
    • A: การดำเนินการที่สำเร็จสามารถตัดสินได้ตามแพ็กเก็ตการตอบสนองของคำสั่งรีเซ็ต ขอแนะนำให้เพิ่มความล่าช้า 500ms หลังจากได้รับการตอบสนองก่อนดำเนินการต่อไป
  • ถาม: โมดูล 4 ได้รับข้อมูลพอร์ตอนุกรมบางส่วนที่ไม่สอดคล้องกับโปรโตคอลหลังจากรีเซ็ต แล้วจะจัดการกับมันอย่างไร
    • A: บันทึกการเปิดเครื่องของโมดูลคือสตริงของข้อมูล ASCII ที่มีส่วนหัว 4 0x3E ซึ่งไม่ส่งผลกระทบต่อการแยกวิเคราะห์ข้อมูลปกติด้วยส่วนหัว 4 0xA5 และสามารถละเว้นได้ เนื่องจากลิงก์ทางกายภาพ ทำให้ไม่สามารถรับบันทึกของโมดูลหมายเลข 1 และหมายเลข 2 ได้
  • ถาม: จะจัดการอย่างไรหากกระบวนการอัปเกรดถูกขัดจังหวะเนื่องจากไฟฟ้าขัดข้องและรีสตาร์ท
    • A: ส่งคำสั่ง Start_IAP อีกครั้งเพื่ออัปเกรดอีกครั้ง
  • ถาม: อะไรคือสาเหตุที่เป็นไปได้สำหรับฟังก์ชันการอัพเกรดที่ผิดปกติในสถานะคาสเคด?
    • A: ยืนยันว่าลิงก์ทางกายภาพนั้นถูกต้องหรือไม่ เช่น สามารถรับข้อมูลพอยต์คลาวด์ของทั้งสามโมดูลได้หรือไม่
    • ยืนยันว่าที่อยู่ของทั้งสามโมดูลไม่ขัดแย้งกัน และคุณสามารถลองกำหนดที่อยู่ใหม่ได้
    • รีเซ็ตโมดูลที่จะอัพเกรดแล้วลองรีสตาร์ท
  • Q: เหตุใดเวอร์ชันการอ่านจึงเป็น 0 หลังจากอัปเกรดแบบคาสเคด
    • A: หมายความว่าการอัพเกรดโมดูลไม่สำเร็จ ผู้ใช้จำเป็นต้องรีเซ็ตโมดูลแล้วอัปเกรดอีกครั้ง

ความสนใจ

  1. ในระหว่างการโต้ตอบคำสั่งกับ GS2 ยกเว้นคำสั่งหยุดการสแกน คำสั่งอื่นๆ จะไม่สามารถโต้ตอบในโหมดสแกนได้ ซึ่งอาจนำไปสู่ข้อผิดพลาดในการแยกวิเคราะห์ข้อความได้ง่าย
  2. GS2 จะไม่เริ่มทำงานโดยอัตโนมัติเมื่อเปิดเครื่อง จำเป็นต้องส่งคำสั่งเริ่มสแกนเพื่อเข้าสู่โหมดสแกน เมื่อจำเป็นต้องหยุดตั้งแต่ ให้ส่งคำสั่งหยุดการสแกนเพื่อหยุดการสแกนและเข้าสู่โหมดสลีป
  3. เริ่ม GS2 ตามปกติ กระบวนการที่เราแนะนำคือ:
    ขั้นตอนแรก:
    ส่งคำสั่งรับที่อยู่อุปกรณ์เพื่อรับที่อยู่ของอุปกรณ์ปัจจุบันและจำนวนการเรียงซ้อนและกำหนดค่าที่อยู่
    ขั้นตอนที่สอง:
    ส่งคำสั่ง get version เพื่อรับหมายเลขเวอร์ชัน
    ขั้นตอนที่สาม:
    ส่งคำสั่งเพื่อรับพารามิเตอร์อุปกรณ์เพื่อรับพารามิเตอร์มุมของอุปกรณ์เพื่อวิเคราะห์ข้อมูล
    ขั้นตอนที่สี่:
    ส่งคำสั่งเริ่มสแกนเพื่อรับข้อมูลพอยต์คลาวด์
  4. คำแนะนำในการออกแบบวัสดุส่งแสงสำหรับหน้าต่างเปอร์สเปคทีฟ GS2:
    หากหน้าต่างเปอร์สเปคทีฟของฝาครอบด้านหน้าได้รับการออกแบบมาสำหรับ GS2 ขอแนะนำให้ใช้พีซีที่สามารถซึมผ่านอินฟราเรดได้เป็นวัสดุในการส่งผ่านแสง และพื้นที่ส่งผ่านแสงจะต้องเรียบ (ความเรียบ ≤0.05มม.) และพื้นที่ทั้งหมดใน ระนาบควรมีความโปร่งใสในช่วง 780 นาโนเมตรถึง 1000 นาโนเมตร อัตราแสงมากกว่า 90%
  5. ขั้นตอนการทำงานที่แนะนำสำหรับการเปิดและปิด GS2 ซ้ำๆ ของบอร์ดนำทาง:
    เพื่อลดการใช้พลังงานของบอร์ดนำทาง หากจำเป็นต้องเปิดและปิด GS2 ซ้ำๆ ขอแนะนำให้ส่งคำสั่งหยุดสแกน (ดูหัวข้อ 3.5) ก่อนปิดเครื่อง จากนั้นกำหนดค่า TX และ RX ของ บอร์ดนำทางที่มีความต้านทานสูง จากนั้นดึง VCC ลงต่ำเพื่อปิด ครั้งถัดไปที่เปิดเครื่อง ให้ดึง VCC ขึ้นมาก่อน จากนั้นกำหนดค่า TX และ RX เป็นสถานะเอาต์พุตและอินพุตปกติ จากนั้นหลังจากหน่วงเวลา 300ms ให้ดำเนินการโต้ตอบคำสั่งกับเลเซอร์เส้น
  6. เกี่ยวกับเวลารอสูงสุดหลังจากส่งคำสั่ง 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 เพิ่มโหมด Edge, เสริมคำอธิบายการคำนวณ K, B, BIAS
2022-04-29 1.4 แก้ไขคำอธิบายของบทที่ 3.2: รับคำสั่งข้อมูลเวอร์ชัน
2022-05-01 1.5 แก้ไขวิธีการกำหนดค่าที่อยู่ของคำสั่ง soft restart
 

2022-05-31

 

1.6

1) อัปเดตส่วน 3.7

2) คำสั่ง RESET ส่วนที่ 3.8 เพิ่มการตอบกลับเพียงครั้งเดียว

3) เพิ่มการอัพเกรด OTA บทที่ 5

2022-06-02 1.6.1 1) แก้ไขเวิร์กโฟลว์การอัปเกรด OTA

2) ปรับเปลี่ยนการถามตอบของ OTA

www.ydlidar.com

เอกสาร / แหล่งข้อมูล

YDLIDAR GS2 DEVELOPMENT เซ็นเซอร์ LiDAR โซลิดอาร์เรย์เชิงเส้น [พีดีเอฟ] คู่มือการใช้งาน
เซ็นเซอร์ LiDAR แบบโซลิดอาร์เรย์การพัฒนา GS2, การพัฒนา GS2, เซ็นเซอร์ LiDAR แบบโซลิดอาร์เรย์เชิงเส้น, เซ็นเซอร์ LiDAR แบบโซลิดอาร์เรย์, เซ็นเซอร์ LiDAR แบบโซลิด, เซ็นเซอร์ LiDAR, เซ็นเซอร์

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *