กรณีศึกษา R&D เกี่ยวกับการพัฒนาระบบเซ็นเซอร์ OptiGap
- บทความนี้สำรวจกระบวนการวิจัยและพัฒนาของ OptiGap ระบบเซ็นเซอร์รูปแบบใหม่ซึ่งเป็นองค์ประกอบหลักของงานวิจัยวิทยานิพนธ์ปริญญาเอกของผู้เขียน
- ผู้เขียนต้องการนำเสนอข้อมูลเชิงลึกเกี่ยวกับกระบวนการตัดสินใจและวิวัฒนาการไปสู่การนำไปใช้งานจริงในท้ายที่สุด ผ่านรูปแบบการเล่าเรื่อง
- นี่อาจเป็นโอกาสให้ได้เห็นโลกของงานวิจัยปริญญาเอกซึ่งบางครั้งถูกซ่อนไว้ และดึงดูดความสนใจของผู้ที่อยากรู้เกี่ยวกับกระบวนการนี้
- หากต้องการทราบรายละเอียดทางเทคนิค การจำลอง และงานวิจัยเดิมในหัวข้อนี้มากขึ้น สามารถดูวิทยานิพนธ์ของผู้เขียนทางออนไลน์ได้
การทำงานของระบบเซ็นเซอร์ OptiGap
- หากอธิบายแบบกว้าง ๆ เซ็นเซอร์นี้โดยพื้นฐานแล้วเหมือนเชือกที่เมื่อถูกงอ จะสามารถบอกได้ว่าตามแนวความยาวนั้นงอที่จุดใด
- สิ่งนี้เรียกว่า "การระบุตำแหน่งการงอ (bend localization)"
- ขอบเขตการใช้งานของ OptiGap อยู่หลัก ๆ ในด้านซอฟต์โรบอติกส์ ซึ่งเกี่ยวข้องกับระบบที่ยืดหยุ่นได้ (หรือ 'นิ่ม') และมักไม่สะดวกต่อการใช้เซ็นเซอร์แบบดั้งเดิม
- ชื่อ OptiGap เป็นคำผสมระหว่าง "optical" และ "gap" ซึ่งสะท้อนหลักการสำคัญที่ใช้ช่องอากาศภายในท่อนำแสงแบบยืดหยุ่นเพื่อสร้างแพทเทิร์นที่เข้ารหัสไว้ ซึ่งจำเป็นต่อการระบุตำแหน่งการงอ
จุดเริ่มต้นของระบบเซ็นเซอร์ OptiGap
- แนวคิดของ OptiGap เกิดขึ้นขณะที่ผู้เขียนกำลังทดลองการส่งผ่านแสงผ่านท่อนำแสงหลายชนิด (สายออปติคัล) เพื่อใช้เป็นเซ็นเซอร์ตรวจจับการงอ
- ในตอนแรก ผู้เขียนพยายามหาวิธีทำให้แสง "ช้าลง" อย่างมีประสิทธิภาพผ่านใยแก้วนำแสง
- ระหว่างกระบวนการนี้ ผู้เขียนได้นำชิ้นส่วนฟิลาเมนต์เครื่องพิมพ์ 3D แบบใส (TPU 1.75mm) ติดกับสายวัด และบังเอิญพบว่าเมื่อสายวัด (และฟิลาเมนต์) ถูกงอตรงจุดที่ติดเทปไฟฟ้า การส่งผ่านแสงลดลงอย่างมาก
- จึงตั้งสมมติฐานว่าสิ่งนี้เกิดจากคราบกาวเหนียวของเทปไฟฟ้าที่ทำให้ฟิลาเมนต์ถูกยืดและทำให้การส่งผ่านแสงลดลง
- เพื่อทดสอบสมมติฐาน ผู้เขียนจึงติด TPU ชิ้นที่ยาวขึ้นเข้ากับสายวัด และเริ่มงอในจุดต่าง ๆ เพื่อดูว่าการส่งผ่านแสงจะเปลี่ยนไปอย่างไร
การทำให้ OptiGap เป็นจริง
- ผู้เขียนตระหนักว่าตนสามารถควบคุมตำแหน่งที่เกิดการลดทอนแสงได้ จึงสามารถใช้สิ่งนี้เข้ารหัสข้อมูลเกี่ยวกับตำแหน่งการงอของเซ็นเซอร์ได้
- เนื่องจากการใช้เทปไฟฟ้าไม่ใช่วิธีที่ใช้งานได้จริง ผู้เขียนจึงเริ่มมองหาวิธีที่น่าเชื่อถือและสม่ำเสมอกว่าในการสร้างการลดทอนนี้
- สิ่งนี้นำไปสู่แนวคิดในการตัดฟิลาเมนต์ แล้วนำกลับมาต่อด้วยปลอกยางยืดหยุ่น (ซิลิโคน) โดยเว้นช่องอากาศเล็ก ๆ ไว้
- หลักการทำงานสำคัญของช่องอากาศคือ หากเลื่อนและ/หรือหมุนหน้าตัดของท่อนำแสงด้านหนึ่งเมื่อเทียบกับอีกด้านหนึ่ง สัดส่วนของแสงที่ส่งผ่านข้ามช่องว่างจะเปลี่ยนไป
- ยิ่งมุมการงอมากเท่าไร แสงก็ยิ่งรั่วผ่านช่องว่างออกไปมากขึ้นเท่านั้น
- การเปลี่ยนแปลงของความเข้มสัญญาณแสงที่เกิดขึ้นสามารถเชื่อมโยงกับแพทเทิร์นที่ทราบอยู่แล้วเพื่อนำมาใช้เป็นเซ็นเซอร์ได้
ไอเดียใหญ่
- ผู้เขียนทดสอบแนวคิดนี้โดยสร้างช่องอากาศหลายจุดเรียงกันเป็นเส้นตรง แล้วงอฟิลาเมนต์เพื่อวัดการลดทอน
- ความเข้มของแสงลดลงที่แต่ละช่องอากาศ และจะลดลงชัดเจนยิ่งขึ้นเมื่อมุมการงอเพิ่มขึ้น
- การทดลองเบื้องต้นนี้ทำหน้าที่เป็นการพิสูจน์แนวคิด และแสดงให้เห็นว่าไอเดียดังกล่าวเป็นไปได้จริง
- สิ่งนี้นำไปสู่สมมติฐานสุดท้ายของผู้เขียนว่า จะใช้แพทเทิร์นของช่องอากาศเหล่านี้เพื่อเข้ารหัสข้อมูลเกี่ยวกับการงอของเซ็นเซอร์ และใช้ตัวจำแนก Naive Bayes บนไมโครคอนโทรลเลอร์เพื่อถอดรหัสตำแหน่งการงอ
- แนวคิดนี้คล้ายกับการทำงานของ linear encoder
- ระบบ OptiGap ทำงานคล้าย absolute encoder โดยใช้แพทเทิร์นช่องอากาศที่ไวต่อการงอตามแนวท่อนำแสงขนานเพื่อเข้ารหัสตำแหน่งแบบสัมบูรณ์ และทำหน้าที่เสมือนเซ็นเซอร์ใยแก้วนำแสงเดี่ยวอย่างมีประสิทธิภาพ
การเข้ารหัสตำแหน่งการงอด้วย reverse Gray code
- reverse Gray code คือรหัสไบนารีที่ค่าต่อเนื่องกันสองค่าจะแตกต่างกันได้สูงสุด (n-1) บิต
- เพื่อทำสิ่งนี้ ผู้เขียนจะทำรอยตัดบนฟิลาเมนต์ทุกตำแหน่งที่เป็น "1" ในลำดับ reverse Gray code
- วิธีการนี้สามารถขยายไปใช้กับจำนวนบิตเท่าใดก็ได้
- สำหรับต้นแบบ ใช้ 3 บิต จึงให้ตำแหน่งที่เป็นไปได้ 8 ตำแหน่ง
การแสดงภาพของระบบเซ็นเซอร์ OptiGap
- ภาพประกอบแสดงแพทเทิร์นสัญญาณของระบบเซ็นเซอร์ OptiGap สำหรับแต่ละตำแหน่งการงอ โดยใช้ใยแก้วนำแสง 3 เส้น
- ด้วยการใช้ตัวจำแนก Naive Bayes ระบบเซ็นเซอร์สามารถระบุตำแหน่งการงอจากแพทเทิร์นสัญญาณได้
- กราฟที่สามแสดงข้อมูลเซ็นเซอร์จริงที่ได้จากระบบต้นแบบ ซึ่งถูกใช้เพื่อฝึกตัวจำแนกบนไมโครคอนโทรลเลอร์
ต้นแบบ OptiGap
- ผู้เขียนสร้างต้นแบบของระบบเซ็นเซอร์ OptiGap โดยใช้ฟิลาเมนต์เครื่องพิมพ์ 3D TPU แบบใส 3 เส้น ซึ่งแต่ละเส้นมีแพทเทิร์นช่องอากาศเฉพาะของตัวเอง
- ใช้ commercial 3:1 fiber coupler เพื่อรวมลำแสง 3 เส้นเข้าด้วยกันเป็นสายใยแก้วนำแสงเส้นเดียว ทำให้ต้นแบบเซ็นเซอร์เสร็จสมบูรณ์
- นี่เป็นขั้นตอนสุดท้ายในการตรวจสอบสมมติฐานและทฤษฎีการทำงานเบื้องหลังเซ็นเซอร์ OptiGap
การลดขนาดทางกายภาพ
- ต้นแบบเริ่มต้นมีขนาดใหญ่และเทอะทะเนื่องจากขนาดของฟิลาเมนต์เครื่องพิมพ์ 3D ที่ใช้
- จากประสบการณ์ก่อนหน้า ผู้เขียนตระหนักว่าใยแก้วนำแสง PMMA (พลาสติก) เป็นทางเลือกที่เล็กกว่าและยืดหยุ่นกว่า ซึ่งเหมาะกับการใช้งานนี้
- ดังนั้นจึงประเมินใยแก้วนำแสง PMMA แบบไม่มีปลอกหุ้มขนาด 500, 750 และ 1000 ไมครอนของ Industrial Fiber Optics, Inc. สำหรับใช้เป็นเส้นเซ็นเซอร์ และลดขนาดเซ็นเซอร์ลงได้อย่างมาก
- มีการทดสอบเพื่อประเมินการส่งผ่านแสงและความยืดหยุ่นของใยแก้วนำแสงทั้ง 3 ประเภท
- ในบรรดาทั้งหมด ใยแก้วนำแสงขนาด 500 ไมครอนให้ผลดีที่สุดโดยรวม แม้ว่าทั้ง 3 แบบจะแสดงความยืดหยุ่นเพียงพอสำหรับการใช้งานนี้
การลดความซับซ้อนของ optical transceiver
- เพื่อลดความซับซ้อนของระบบและเพิ่มความเป็นโมดูลาร์ จึงตัดสินใจใช้ชุด photodiode และ IR LED แบบง่ายแทนเซ็นเซอร์ ToF VL53L0X ที่ซับซ้อน
- สิ่งนี้ทำให้สามารถใช้ไมโครคอนโทรลเลอร์อ่านข้อมูลจากเซ็นเซอร์ได้ ซึ่งเป็นการปรับปรุงครั้งใหญ่เมื่อเทียบกับต้นแบบแรก
- จากนั้นจึงสร้างระบบเดโมสำหรับเซ็นเซอร์โดยอิงจากไมโครคอนโทรลเลอร์ STM32 และชุด photodiode/IR LED
การทำ machine learning แบบเรียลไทม์บนไมโครคอนโทรลเลอร์
- ขั้นตอนสุดท้ายของการพัฒนาระบบเซ็นเซอร์ OptiGap รวมถึงการผสานตัวจำแนก Naive Bayes เข้ากับไมโครคอนโทรลเลอร์ STM32 เพื่อถอดรหัสตำแหน่งการงอจากข้อมูลเซ็นเซอร์
- ผู้เขียนเลือกตัวจำแนก Naive Bayes เพราะมีประสิทธิภาพสูงกว่า
if statement หรือ lookup table สามารถจัดการกับข้อมูลใหม่หรือข้อมูลที่ไม่เคยเห็นมาก่อนได้ และมีศักยภาพในการเพิ่มความแม่นยำด้วยการพิจารณาความสัมพันธ์ระหว่างตัวแปรนำเข้าหลายตัว
- การนำตัวจำแนก Naive Bayes ไปใช้งานจริงนั้นค่อนข้างตรงไปตรงมา
- ตัวจำแนกนี้เป็นแบบจำลองเชิงความน่าจะเป็นที่ใช้ทฤษฎีบทของ Bayes เพื่อกำหนดว่าค่าที่วัดได้ควรถูกจัดให้อยู่ในคลาสใด โดยในบริบทนี้คลาสหมายถึงตำแหน่งการงอ
- สำหรับการติดตั้งใช้งานตัวจำแนก ผู้เขียนใช้ไลบรารี Arm CMSIS-DSP
การฟิตข้อมูลเซ็นเซอร์
- ขั้นตอนแรกของการผสานตัวจำแนกคือการฟิตข้อมูลเซ็นเซอร์ให้เข้ากับการแจกแจงแบบ Gaussian สำหรับแต่ละแพทเทิร์นช่องอากาศ
- เพื่อเร่งกระบวนการนี้ ผู้เขียนพัฒนา Python GUI ที่ใช้ GNB (Gaussian Naive Bayes) จากไลบรารี scikit-learn เพื่อช่วยติดป้ายกำกับและฟิตข้อมูลอย่างรวดเร็ว
- ภายหลังได้ปรับปรุง UI นี้ให้มีความเป็นทั่วไปมากขึ้นและรองรับการฟิตข้อมูลที่ซับซ้อนขึ้น
- จากนั้นคำนวณความน่าจะเป็นของแต่ละคลาสและบันทึกเป็น header เพื่อนำไปใช้บนไมโครคอนโทรลเลอร์
การกรองข้อมูลเซ็นเซอร์
- เพื่อเพิ่มความแม่นยำของตัวจำแนก ผู้เขียนใช้กระบวนการกรองสองขั้นบน STM32
- ขั้นแรกเป็น moving average filter แบบพื้นฐาน และขั้นที่สองใช้ Kalman filter
เดโมระบบเซ็นเซอร์ OptiGap
- GIF ที่ให้มาจะแสดงขั้นตอนต่าง ๆ ของระบบเซ็นเซอร์ OptiGap รวมถึงการประกอบและการสาธิตการทำงานของระบบเซ็นเซอร์สุดท้าย
ข้อกำหนดการออกแบบ OptiGap
- คุณสมบัติหลักและพารามิเตอร์
- คำแนะนำด้านวัสดุ
ขั้นตอนถัดไป
- ระบบ OptiGap มีความคืบหน้าไปไกลกว่าที่บันทึกไว้ในที่นี้อย่างมาก
- รวมถึงงานในการผสานเข้ากับระบบขับเคลื่อนและการรับรู้แบบโมดูลาร์ชื่อ EneGate
- สิ่งนี้เกี่ยวข้องกับการออกแบบ PCB แบบกำหนดเองและการผสานระบบ ซึ่งอธิบายไว้อย่างละเอียดในวิทยานิพนธ์
- นอกจากนี้ยังได้สร้างต้นแบบอุปกรณ์ออปติคัลเวอร์ชัน PCB ขนาดเล็กเพื่อเชื่อมต่อกับ PCB ของระบบ EneGate
- ผู้เขียนได้ตรวจสอบความใช้ได้จริงของ OptiGap บนระบบซอฟต์โรบอตจริงแล้ว โดยรายละเอียดจะถูกตีพิมพ์ในงาน RoboSoft ภายใต้ชื่อ " Embedded optical waveguide sensor for dynamic motion monitoring in twisted beam structures "
การทำให้เป็นเชิงพาณิชย์
- งานวิจัยนี้ยังมีด้านการทำให้เป็นเชิงพาณิชย์ที่กำลังดำเนินอยู่
ความเห็นของ GN⁺
- ระบบเซ็นเซอร์ OptiGap ดูเหมือนเป็นเทคโนโลยีนวัตกรรมที่สามารถตรวจจับตำแหน่งการงอในวงการซอฟต์โรบอต ซึ่งเซ็นเซอร์เดิมมักตรวจจับได้ยาก สำหรับระบบหลากหลายประเภทที่ต้องการความยืดหยุ่น
1 ความคิดเห็น
ความเห็นจาก Hacker News
ต่อไปนี้คือประเด็นสำคัญจากความเห็นบน Hacker News ที่สรุปในโทนเป็นกลางและให้ข้อมูล:
แนวคิดโดยรวมของการทำให้วัสดุมี "การรับรู้ตัวเอง" มากขึ้นหรือสามารถตรวจสอบได้ ถูกมองว่าเป็นแนวคิดที่น่าสนใจและให้อารมณ์คล้ายไซไฟ
งานวิจัยก่อนหน้าของผู้แสดงความคิดเห็นรายหนึ่งใช้โครงข่ายประสาทเทียมเชิงจำนวนเชิงซ้อนเพื่อเรียนรู้ transmission matrix ของใยแก้วนำแสง ซึ่งเกี่ยวข้องกับงานนี้ตรงที่เมื่อใยแก้วโค้งงอ ก็ต้องเรียนรู้เมทริกซ์ใหม่อีกครั้ง อาจเป็นไปได้ที่จะเรียนรู้การอธิบายลักษณะของใยแก้วแบบมีพารามิเตอร์เพื่อสร้างแบบจำลองรูปร่างของมัน
งานวิจัยนี้ดูละเอียดรอบคอบและมีเอกสารประกอบอย่างดี อาจารย์ที่ปรึกษา Cindy Harnett น่าจะตระหนักถึงความคล้ายคลึงกันในเชิงแนวคิดกับ time-domain reflectometry
มีคำถามว่าเซ็นเซอร์จัดการกับการงอหลายจุดอย่างไร ดูเหมือนว่าด้วยการตั้งค่าในปัจจุบัน การงอหลายจุดจะให้ผลเป็นผลรวมของ log attenuation ซึ่งอาจต้องใช้เส้นใยจำนวนเท่ากับจำนวนตำแหน่งที่งอเพื่อแยกแยะให้ได้ ยังต้องการคำชี้แจงว่านี่ตั้งใจสำหรับกรณีงอเพียงจุดเดียวเท่านั้นหรือไม่
การปรับปรุงเพิ่มเติมอาจทำให้เทคโนโลยีนี้ผลิตจำนวนมากได้ด้วยความแม่นยำสูง การใช้งานรวมถึงเซ็นเซอร์สัมผัส 2D หรือ 3D สำหรับหุ่นยนต์ที่คุ้มต้นทุน การรับรู้ตำแหน่งภายในร่างกายแบบไวต่อทิศทางสำหรับท่อที่ยืดหยุ่น และการตรวจจับความแตกต่างของอุณหภูมิแบบเฉพาะจุด
เทคโนโลยีนี้ดูคล้ายกับ Nintendo Power Glove ซึ่งใช้แสงที่วิ่งผ่านท่อเพื่อกระตุ้นการกดปุ่มตามการงอของนิ้วหรือมือ
การมีอาจารย์ที่ปรึกษาที่ยอดเยี่ยมถูกยกให้เป็นความแตกต่างระหว่างประสบการณ์ที่ย่ำแย่กับประสบการณ์ที่ดี
ผู้แสดงความคิดเห็นรายหนึ่งสนใจใช้เซ็นเซอร์นี้ (หรือใช้หลายตัวร่วมกัน) เพื่อตรวจจับการสวิงไม้กอล์ฟได้อย่างแม่นยำ สำหรับ golf launch monitor ที่ไม่จำเป็นต้องตีลูกกอล์ฟ
ข้อเสนอแนะเพื่อการปรับปรุงได้แก่:
งานนี้ทำให้ผู้แสดงความคิดเห็นอีกรายหนึ่งนึกถึง distributed acoustic sensing (DAS) ที่ใช้สายใยแก้วนำแสงสำหรับงานมอนิเตอร์หลากหลายประเภท แม้เขาจะยังไม่เคยเห็นการนำมาใช้กับ soft robotics มาก่อน
มีการยอมรับว่าความท้าทายด้านการผลิตคือการต้องใช้เส้นใยจำนวน log2 และการเข้ารหัสที่ต่างกันในแต่ละจุดเชื่อมต่อ แต่ก็ไม่ถือเป็นปัญหาในระยะงานวิจัยหรือการพิสูจน์แนวคิด