Abstract
บทคัดย่อ
Each mobile robot in the distributed robotic system is equipped with a rotating laser beacon that projects a vertical slit laser beam. Below the beacon, photodiodes are installed in a circular array to detect a laser beam from any direction around the robot. Distance is measured from the linear velocity of the vertical slit beam as it sweeps across the array. Direction is found from the area on the array where the beam is projected and from the center of that area.
The sensor produces a Swept Laser Projection Matrix (SLPM). Its omnidirectional sensing capability allows beams from multiple robots to sweep the same sensor array, creating overlapping SLPM patterns. This paper presents a simple, real-time algorithm that can separate these patterns while handling error and noise.
หุ่นยนต์เคลื่อนที่แต่ละตัวในระบบหุ่นยนต์แบบกระจายติดตั้งบีคอนเลเซอร์หมุนซึ่งฉายลำแสงเลเซอร์แบบช่องแคบในแนวตั้ง ใต้บีคอนติดตั้งโฟโตไดโอดเป็นวงกลมเพื่อตรวจจับลำแสงจากทุกทิศทางรอบตัวหุ่นยนต์ ระยะทางวัดจากความเร็วเชิงเส้นของลำแสงขณะกวาดผ่านแถวเซนเซอร์ ส่วนทิศทางหาได้จากบริเวณและจุดกึ่งกลางที่ลำแสงตกกระทบบนแถวเซนเซอร์
ข้อมูลจากเซนเซอร์ถูกจัดเป็นเมทริกซ์การฉายเลเซอร์แบบกวาด หรือ Swept Laser Projection Matrix (SLPM) ความสามารถรับสัญญาณรอบทิศทำให้ลำแสงจากหุ่นยนต์หลายตัวกวาดผ่านแถวเซนเซอร์เดียวกันและเกิดรูปแบบ SLPM ซ้อนทับกัน บทความนี้เสนออัลกอริทึมที่เรียบง่าย ทำงานแบบเวลาจริง และแยกรูปแบบเหล่านั้นได้แม้มีสัญญาณรบกวนและความคลาดเคลื่อน
Principle and sensor configuration
หลักการและโครงสร้างระบบเซนเซอร์
Coordination among autonomous mobile robots often requires each robot to know the relative positions of nearby robots. Centralized localization is unsuitable for a fully distributed system, while passive methods such as stereo vision demand considerable processing and cost. The proposed alternative uses an active rotating laser beacon with a known, constant angular speed.
Photodiodes arranged as a circular sensor belt detect the linear speed of a vertical slit laser beam sweeping past them. Combining this measured speed with the beacon’s known angular speed yields distance; the photodiode position indicates direction. Every robot carries both a beacon and a sensor array, so each beacon periodically projects onto neighboring robots without the heavy processing normally required by vision systems.
การประสานงานระหว่างหุ่นยนต์เคลื่อนที่อัตโนมัติมักต้องอาศัยตำแหน่งสัมพัทธ์ของหุ่นยนต์รอบข้าง กลไกระบุตำแหน่งแบบรวมศูนย์ไม่เหมาะกับระบบกระจายเต็มรูปแบบ ขณะที่วิธีรับสัญญาณแบบพาสซีฟ เช่น สเตอริโอวิชัน ต้องใช้การประมวลผลสูงและมีต้นทุนมาก ทางเลือกที่เสนอนี้ใช้บีคอนเลเซอร์แบบแอ็กทีฟซึ่งหมุนด้วยความเร็วเชิงมุมคงที่และทราบค่า
โฟโตไดโอดที่เรียงเป็นแถบวงกลมตรวจวัดความเร็วเชิงเส้นของลำแสงช่องแคบแนวตั้งที่กวาดผ่าน เมื่อนำความเร็วนี้ไปสัมพันธ์กับความเร็วเชิงมุมของบีคอนจะคำนวณระยะทางได้ ส่วนตำแหน่งของโฟโตไดโอดบอกทิศทาง หุ่นยนต์ทุกตัวติดตั้งทั้งบีคอนและแถวเซนเซอร์ จึงตรวจหากันได้โดยไม่ต้องใช้กำลังประมวลผลสูงเหมือนระบบการมองเห็น
SLPM and overlapping patterns
SLPM และรูปแบบที่ซ้อนทับ
The circular sensor array is sampled repeatedly to form a Swept Laser Projection Matrix. When a neighboring beacon is within range, detections form an almost straight line called an SLPM pattern. The line’s slope represents distance, while the location of the photodiode at its center represents direction.
All robots emit independently rotating slit beams. Two or more beams can therefore reach one sensor array at the same time, causing SLPM patterns to overlap. A detector that merely finds the beginning and end of one pattern then produces an erroneous reading. Separating multiple patterns is essential for a multi-robot system.
ระบบสุ่มอ่านแถวเซนเซอร์วงกลมซ้ำ ๆ เพื่อสร้าง Swept Laser Projection Matrix เมื่อบีคอนของหุ่นยนต์ข้างเคียงอยู่ในระยะ สัญญาณที่ตรวจพบจะเรียงเป็นเส้นเกือบตรง เรียกว่า “รูปแบบ SLPM” ความชันของเส้นใช้แทนระยะทาง ส่วนตำแหน่งโฟโตไดโอดตรงกึ่งกลางของรูปแบบใช้แทนทิศทาง
หุ่นยนต์ทุกตัวปล่อยลำแสงช่องแคบที่หมุนอย่างเป็นอิสระ ลำแสงตั้งแต่สองลำจึงอาจตกกระทบแถวเซนเซอร์เดียวกันพร้อมกันและทำให้รูปแบบ SLPM ซ้อนทับกัน วิธีตรวจเพียงจุดเริ่มและจุดสิ้นสุดของรูปแบบเดียวจะให้ค่าผิดพลาด ความสามารถในการแยกรูปแบบหลายเส้นจึงเป็นหัวใจของระบบหลายหุ่นยนต์
Real-time line tracking
การติดตามเส้นแบบเวลาจริง
The algorithm is deliberately simple because the sensor must sample continuously and process data in real time. After the interface circuit latches all photodiode outputs, data is transferred to memory and each horizontal line of the matrix is scanned.
A photodiode with no valid laser detection is a “0-pixel”; a detected laser is a “1-pixel”. A new 1-pixel is either attached to an existing SLPM pattern or treated as the start of a new one. The program compares an actual 1-pixel with a predicted 1-pixel calculated from the previous line and the current slope. If the positional error is within a predefined limit, tracking continues. A sudden change in slope terminates that track and signals an overlap.
Because the circular array makes the beam speed vary slightly, a real SLPM pattern resembles a gently curved letter S rather than a perfectly straight line. A bias factor places the temporary last 1-pixel between the actual and predicted positions, allowing the tracker to follow gentle curvature without following abrupt, incorrect changes.
อัลกอริทึมถูกออกแบบให้เรียบง่ายโดยตั้งใจ เพราะเซนเซอร์ต้องสุ่มอ่านและประมวลผลอย่างต่อเนื่องแบบเวลาจริง หลังวงจรอินเทอร์เฟซล็อกเอาต์พุตจากโฟโตไดโอดทั้งหมด ข้อมูลจะถูกส่งเข้า หน่วยความจำและโปรแกรมจะสแกนเมทริกซ์ทีละแถวแนวนอน
โฟโตไดโอดที่ไม่พบเลเซอร์ที่ใช้ได้เรียกว่า “0-pixel” ส่วนจุดที่พบเลเซอร์เรียกว่า “1-pixel” จุด 1-pixel ใหม่จะถูกผูกเข้ากับรูปแบบ SLPM เดิมหรือถือเป็นจุดเริ่มของรูปแบบใหม่ โปรแกรมเปรียบเทียบ “จุดจริง” กับ “จุดคาดการณ์” ซึ่งคำนวณจากแถวก่อนหน้าและความชันปัจจุบัน หากความคลาดเคลื่อนของตำแหน่งอยู่ในขีดจำกัดก็จะติดตามต่อ การเปลี่ยนความชันอย่างฉับพลันจะยุติเส้นนั้นและชี้ว่ามีการซ้อนทับ
เนื่องจากแถวเซนเซอร์เป็นวงกลม ความเร็วของลำแสงจึงเปลี่ยนเล็กน้อย รูปแบบ SLPM จริงจึงคล้ายตัว S ที่โค้งอย่างนุ่มนวลมากกว่าเส้นตรงสมบูรณ์ ตัวคูณไบแอสใช้กำหนดจุดสุดท้ายชั่วคราวให้อยู่ระหว่างตำแหน่งจริงกับตำแหน่งคาดการณ์ ทำให้ติดตามความโค้งอ่อน ๆ ได้โดยไม่หลงตามการเปลี่ยนแปลงฉับพลันที่ไม่ถูกต้อง
Sub-pixel precision and error handling
ความละเอียดระดับซับพิกเซลและการรับมือความคลาดเคลื่อน
An actual 1-pixel uses an exact sensor coordinate, while the predicted 1-pixel may use a sub-pixel coordinate. This improves slope resolution. The bias factor controls the relative influence of the actual and predicted positions on the temporary endpoint.
If a 1-pixel does not fit any existing pattern within the allowed positional error, it begins a new SLPM pattern. The tolerance adjusts automatically: a steep pattern receives a smaller positional error limit, and a shallow pattern a larger one. The same tracking strategy also rejects isolated errors and noisy inputs.
จุด 1-pixel จริงใช้พิกัดเซนเซอร์แบบจำนวนเต็ม ขณะที่จุดคาดการณ์อาจใช้พิกัดระดับซับพิกเซล จึงเพิ่มความละเอียดของค่าความชัน ตัวคูณไบแอสกำหนดน้ำหนักสัมพัทธ์ระหว่างตำแหน่งจริงกับตำแหน่งคาดการณ์ในการคำนวณจุดปลายชั่วคราว
หากจุด 1-pixel ไม่สอดคล้องกับรูปแบบใดภายในค่าคลาดเคลื่อนที่อนุญาต จุดนั้นจะเริ่มรูปแบบ SLPM ใหม่ ค่าความคลาดเคลื่อนปรับอัตโนมัติ: รูปแบบที่ชันใช้ขีดจำกัดตำแหน่งแคบกว่า ส่วนรูปแบบที่ลาดใช้ขีดจำกัดกว้างกว่า กลยุทธ์เดียวกันช่วยตัดข้อผิดพลาดเฉพาะจุดและสัญญาณรบกวนออกไป
Simulator experiment
การทดลองด้วยตัวจำลอง
The detection program was first tested with data from an SLPM simulator whose parameters were chosen to force overlaps. Results label detected patterns A, B, C and so on. If one 1-pixel belongs to more than one line, the display uses an integer formed by adding the weights assigned to those lines; 0-pixels are omitted for clarity.
The illustrated test contains three overlapping patterns. The detector separates them into lines A, B and C and reports each line’s start, endpoint and slope, demonstrating that the line-tracking method can recover individual patterns from a shared region.
โปรแกรมตรวจจับถูกทดสอบก่อนด้วยข้อมูลจากตัวจำลอง SLPM ซึ่งตั้งพารามิเตอร์ให้รูปแบบซ้อนทับกัน ผลลัพธ์กำกับรูปแบบที่ตรวจได้เป็น A, B, C และต่อไป หาก 1-pixel จุดหนึ่งเป็นสมาชิกมากกว่าหนึ่งเส้น โปรแกรมจะแสดงเป็นเลขจำนวนเต็มจากผลรวมค่าน้ำหนักของเส้นเหล่านั้น ส่วน 0-pixel ถูกละไว้เพื่อให้อ่านง่าย
ตัวอย่างในภาพมีรูปแบบซ้อนทับสามเส้น ตัวตรวจจับแยกกลับเป็นเส้น A, B และ C พร้อมรายงานจุดเริ่ม จุดปลาย และความชันของแต่ละเส้น แสดงว่าวิธีติดตามเส้นสามารถกู้รูปแบบแต่ละเส้นจากบริเวณที่ทับซ้อนกันได้
Prototype experiment
การทดลองกับต้นแบบ
A prototype sensor was developed for the PICO-BOT mobile robot. It could detect the distance and direction of a single neighboring robot. To test overlap detection with real measurements, separately recorded SLPM pattern files were merged and fed to the program off-line.
The prototype used a circular sensor array with a radius of 0.13 meter, 90 photodiodes, a beacon frequency of 0.08 hertz and a sampling period of 13.5 milliseconds. The program successfully separated two patterns synthesized from the measured sensor data.
เซนเซอร์ต้นแบบถูกพัฒนาสำหรับหุ่นยนต์เคลื่อนที่ PICO-BOT และสามารถตรวจหาระยะกับทิศทางของหุ่นยนต์ข้างเคียงหนึ่งตัวได้ เพื่อทดสอบการตรวจรูปแบบซ้อนทับด้วยข้อมูลจริง ไฟล์รูปแบบ SLPM ที่บันทึกแยกกันถูกนำมารวมแล้วส่งเข้าโปรแกรมแบบออฟไลน์
ต้นแบบใช้แถวเซนเซอร์วงกลมรัศมี 0.13 เมตร มีโฟโตไดโอด 90 ตัว ความถี่บีคอน 0.08 เฮิรตซ์ และคาบสุ่มอ่าน 13.5 มิลลิวินาที โปรแกรมสามารถแยกรูปแบบสองเส้นที่สังเคราะห์จากข้อมูลเซนเซอร์จริงได้สำเร็จ
Discussion
อภิปรายผล
A single SLPM pattern can be found with a simple beginning-and-end detector, but locating multiple robots requires the individual lines in overlapping patterns to be extracted. The experiments verify both the sensing strategy and the real-time algorithm.
The proposed active relative-position sensor offers omnidirectional sensing, needs no complicated lens system, has only one moving part—the beacon—uses a simple algorithm, and is low-cost.
รูปแบบ SLPM เดี่ยวตรวจได้ง่ายด้วยการหาจุดเริ่มและจุดสิ้นสุด แต่การระบุตำแหน่งหุ่นยนต์หลายตัวต้องแยกเส้นแต่ละเส้นออกจากรูปแบบที่ซ้อนทับ ผลการทดลองยืนยันทั้งแนวคิดเซนเซอร์และอัลกอริทึมเวลาจริง
เซนเซอร์แอ็กทีฟสำหรับตำแหน่งสัมพัทธ์นี้รับสัญญาณได้รอบทิศทาง ไม่ต้องใช้ระบบเลนส์ซับซ้อน มีชิ้นส่วนเคลื่อนที่เพียงชิ้นเดียวคือบีคอน ใช้อัลกอริทึมเรียบง่าย และมีต้นทุนต่ำ
Conclusions
บทสรุป
The integrated system of rotating beacons and circular photodiode arrays locates other robots in the same vicinity. Distance comes from the observed linear velocity of a vertical slit beam generated by a beacon rotating at constant speed; the circular array acts as an omnidirectional detector.
Repeated readings form the SLPM. A complete pattern is a near-straight collection of 1-pixels against a background of 0-pixels. Although an isolated pattern is easy to find, overlapping patterns are not. The proposed algorithm extracts individual lines using slope, predicted pixels, actual pixels and a bias factor that preserves gently curved tracks.
ระบบรวมซึ่งประกอบด้วยบีคอนหมุนและแถวโฟโตไดโอดวงกลมสามารถระบุตำแหน่งหุ่นยนต์อื่นในบริเวณเดียวกันได้ ระยะทางมาจากความเร็วเชิงเส้นที่สังเกตได้ของลำแสงช่องแคบแนวตั้งจากบีคอนซึ่งหมุนด้วยความเร็วคงที่ โดยแถวเซนเซอร์วงกลมทำหน้าที่เป็นตัวตรวจจับรอบทิศทาง
การอ่านค่าซ้ำ ๆ ก่อเป็น SLPM รูปแบบสมบูรณ์คือกลุ่ม 1-pixel ที่เรียงเกือบเป็นเส้นตรงบนพื้นหลัง 0-pixel แม้รูปแบบเดี่ยวจะหาได้ง่าย แต่รูปแบบซ้อนทับหาได้ยาก อัลกอริทึมที่เสนอแยกแต่ละเส้นด้วยความชัน จุดคาดการณ์ จุดจริง และตัวคูณไบแอสซึ่งช่วยรักษาการติดตามเส้นโค้งอ่อน ๆ



























