OK-Robot: เฟรมเวิร์กหุ่นยนต์บ้านแบบโมดูลาร์เปิดที่หยิบและย้ายของได้ทุกที่
(ok-robot.github.io)- OK-Robot คือเฟรมเวิร์กหุ่นยนต์แบบโมดูลาร์เปิดที่มุ่งทำงาน pick-and-drop แบบ zero-shot ในสภาพแวดล้อมบ้านใหม่ ๆ โดยค้นหา หยิบ และย้ายสิ่งของได้ด้วยคำสั่งภาษาเท่านั้น
- ผสานโมเดล vision-language (VLM), navigation primitive และ grasping primitive เพื่อเชื่อมการรู้จำวัตถุ การเคลื่อนที่ และการจัดการวัตถุเข้าด้วยกัน โดยไม่ต้องฝึกเพิ่มเติม
- ประเมินงาน 171 รายการใน บ้านจริง 10 หลัง ในนครนิวยอร์ก และทำอัตราสำเร็จได้ 58.5% ในบ้านที่ไม่เคยเจอมาก่อนเลย
- ในสภาพแวดล้อมที่สะอาดและไม่รก อัตราสำเร็จเพิ่มเป็น 82% และมีประสิทธิภาพใน Open Vocabulary Mobile Manipulation (OVMM) สูงกว่างานก่อนหน้าประมาณ 1.8 เท่า
- ความล้มเหลวหลักเกิดจากการค้นหาวัตถุ ท่าทางการจัดการวัตถุที่ยาก และ ปัญหาฮาร์ดแวร์ ทำให้การผสานโมเดลความรู้แบบเปิดกับโมดูลหุ่นยนต์อย่างละเอียดเป็นปัจจัยชี้ขาดประสิทธิภาพ
องค์ประกอบและเป้าหมายของเฟรมเวิร์ก
- OK-Robot คือเฟรมเวิร์กแบบโมดูลาร์เปิดสำหรับทำงาน pick-and-drop แบบ zero-shot ที่มีเงื่อนไขจากภาษา ในบ้านใดก็ได้
- ระบบผสานองค์ประกอบ 3 ส่วน
- โมเดล vision-language (VLM): ตรวจจับวัตถุตามคำค้นภาษา
- navigation primitive: ควบคุมการเคลื่อนที่ของระบบเคลื่อนที่
- grasping primitive: จัดการวัตถุหลากหลายชนิด
- ใช้แนวทางที่ให้ความสำคัญกับระบบ โดยรวมการรู้จำวัตถุ การเคลื่อนที่ และการหยิบเข้าด้วยกันเพื่อทำงานในบ้านจริง โดยไม่มีขั้นตอนฝึกแยกต่างหาก
- เอกสารของโครงการ:
การประเมินในบ้านจริงและปัจจัยความล้มเหลว
- ทดลองงาน pick-and-drop 171 รายการใน สภาพแวดล้อมบ้าน 10 แห่ง ในนครนิวยอร์ก
- อัตราสำเร็จในบ้านที่ไม่เคยเจอมาก่อนเลยอยู่ที่ 58.5% และมีประสิทธิภาพใน Open Vocabulary Mobile Manipulation (OVMM) สูงกว่างานก่อนหน้าประมาณ 1.8 เท่า
- อัตราสำเร็จ: {p:58}
- ในสภาพแวดล้อมที่สะอาดกว่าและไม่รก อัตราสำเร็จเพิ่มขึ้นเป็น 82%
- อัตราสำเร็จในสภาพแวดล้อมที่เป็นระเบียบ: {p:82}
- สาเหตุความล้มเหลวกระจายตัวแบบ long tail โดย 3 สาเหตุใหญ่ที่สุดมีดังนี้
- ไม่พบวัตถุที่ถูกต้องที่ต้องเคลื่อนย้ายใน semantic memory: 9.3%
- โมดูลจัดการวัตถุได้รับท่าทางที่ยาก: 8.0%
- ความยากด้านฮาร์ดแวร์: 7.5%
- เมื่อนำ ระบบความรู้แบบเปิด เช่น VLM มาผสานกับโมดูลหุ่นยนต์ ไม่เพียงประสิทธิภาพของโมเดลเท่านั้น แต่หน่วยความจำวัตถุ ท่าทางการจัดการวัตถุ และเสถียรภาพของฮาร์ดแวร์ก็ต้องทำงานสอดประสานกันด้วย
3 ความคิดเห็น
https://hello-robot.com/purchase
ตัวเครื่องราคา 25,000 ดอลลาร์...
ต้องมี iPhone Pro เพิ่มด้วย
แท่นชาร์จแบบด็อกราคา 995 ดอลลาร์ 5555
นี่มันราคาหลอกฟันกันชัดๆ ไหม
สถานีด็อกกิ้งนี่ทำไมราคาถึงเป็นแบบนั้นกันนะ
วิธีเชื่อมต่อก็ยังเป็นแบบเสียบคอนเน็กเตอร์ DC ตรง ๆ เลยนะครับ.. ฮ่าๆ
https://hello-robot.com/stretch-docking-station
ความคิดเห็นจาก Hacker News
ผมคิดว่าตลาดของหุ่นยนต์แบบนี้คงยังเล็กอยู่ จนกว่าจะสามารถ จัดการสิ่งกีดขวาง ได้
ของเล่นที่แมววางไว้กลางพื้น, กระดาษที่ปลิวตกจากโต๊ะเพราะหน้าต่างเปิด, ของเล่นที่เด็ก ๆ กระจายไว้, ดินสอที่กลิ้งตกจากโต๊ะตอนเราไม่อยู่, ผ้าที่วางไว้บนพื้น, ระดับต่างระหว่างพรมกับพื้นไม้, ประตูที่เปิดหรือปิดอยู่ ล้วนเป็นปัญหาทั้งนั้น
ก่อนงานหลัก อาจมีงานย่อยหลายอย่างแทรกเข้ามา เช่น เก็บของเล่น เก็บกระดาษ เก็บผ้า เปิดประตู
สายเคเบิล, กองของที่ไม่ควรถูกย้าย, เฟอร์นิเจอร์, สัตว์เลี้ยงที่กำลังนอน, กองกล่องพัสดุ อาจขวางหุ่นยนต์ล้อได้แทบถาวร
ดังนั้นหุ่นยนต์บ้านอเนกประสงค์น่าจะต้องมี ขา ไม่ใช่ล้อ และเพื่อความมั่นคงอาจมีมากกว่าสองขาด้วย
ฟังดูแปลก แต่แบบที่เหมาะที่สุดอาจอยู่กึ่งกลางระหว่างแมงมุมตัวใหญ่ที่ดูเป็นมิตรกับสุนัขก็ได้
เป็นเรื่องแปลกที่วิทยาการหุ่นยนต์โดยรวมดูเหมือนติดอยู่กับแนวคิดที่มองโลกเป็นระนาบ 2 มิติ และเหมือนทำให้ปัญหายากจริง ๆ เรื่องการเคลื่อนที่ในโลก 3 มิติหายไปด้วยการสมมติให้ง่ายเกินจริง
ทุกอย่างที่หุ่นยนต์ตัวนี้ทำก็เกิดขึ้นบนระนาบแนวนอนที่เรียบเท่านั้น และดูเหมือนว่ากว่าจะทำงานได้ ต้องมีคนเดินเก็บห้องไว้ก่อน
Roomba ก็มีปัญหาเดียวกัน
แค่ไม่ปล่อยสายเคเบิลยาว ๆ ไว้บนพื้น, ติดเทปทำเครื่องหมายบนเฟอร์นิเจอร์ได้ และให้หุ่นยนต์หยิบของไปเก็บเพื่อไม่ให้เหลือเป็นอันตรายที่ทำให้สะดุดได้
เราอาจเปลี่ยนไปใช้ของที่เป็นมิตรทั้งกับคนและหุ่นยนต์ เช่น ภาชนะที่เครื่องล้างจานจับ ย้าย และล้างได้ง่าย
จริง ๆ เราก็ทำแบบนั้นอยู่แล้วเวลาเลือกซื้อของที่ใช้กับไมโครเวฟหรือเครื่องล้างจานได้ และถึงขั้นแปลกใจถ้าพบว่าของบางอย่างใช้ไม่ได้
เรายอมจ่ายค่าติดประตูสัตว์เลี้ยงเข้ากับประตูคน เพื่อให้สัตว์เลี้ยงใช้งานเองได้
มนุษย์เป็นสปีชีส์ที่ปรับตัวเก่งมาก
อีกอย่าง ผมชอบไอเดียแขวนหุ่นยนต์ไว้ใต้รางบนเพดานมาโดยตลอด
เห็นได้ในภาพยนตร์ยอดเยี่ยมเรื่อง Moon ด้วย ข้อดีคือมันลอยอยู่เหนือเฟอร์นิเจอร์ได้ จึงเคลื่อนที่ได้ดีกว่าคน
แค่ทำให้แขนหยิบสิ่งของบนพื้นตรงหน้าหุ่นยนต์ได้ก็พอ
ไม่ได้ดูเป็นไปไม่ได้ และเดโมที่เชื่อมหลายโมเดลเข้าด้วยกันแล้วพูดว่า “ย้าย Takis ไปที่โต๊ะข้างเตียงในห้องนอน” แล้วมันทำได้ก็น่าทึ่ง
เหลือแค่ปัญหาวิทยาการหุ่นยนต์ “เล็ก ๆ” คือทำให้แขนมีข้อต่อพอที่จะเอื้อมถึงพื้นได้
ที่นั่นแก้ด้วย code pusher
มันเป็นอุปกรณ์คล้ายตะแกรงกันสัตว์ชนิดหนึ่งที่คอยดันของบนพื้นออกไป
ไม่ใช่ทุกปัญหาจะต้องการทางแก้ที่ซับซ้อน
ผมคิดว่าความยอดเยี่ยมของโปรเจกต์นี้อยู่ที่ความเรียบง่ายของการออกแบบหุ่นยนต์เป็นพิเศษ
เจ๋งมาก
ผมแทบไม่มีประสบการณ์ด้านวิทยาการหุ่นยนต์เลย คำถามอาจฟังดูโง่ แต่ก็อยากรู้
มันรู้ได้อย่างไรว่าวัตถุนั้นคืออะไร? ใช้โครงข่ายประสาทสำหรับจำแนกวัตถุแบบเรียลไทม์หรือเปล่า และมีข้อจำกัดอะไรบ้าง?
หุ่นยนต์รู้ไหมว่ามันทำตามคำขอไม่ได้? เช่น ถ้าสั่งให้ย้ายกล่องใหญ่ ๆ หรือเคตเทิลเบลล์ที่หนักมาก ๆ?
ถ้าวัตถุถูกซ่อนหรือถูกบังอยู่ จะทำได้ดีแค่ไหน? มันออกไปค้นหาหรือเปล่า? แล้วถ้าต้องย้ายวัตถุอื่นออกก่อนจึงจะเข้าถึงวัตถุที่ขอได้ล่ะ?
งานนี้เจ๋งจริง ๆ แต่ก็สะท้อนข้อจำกัดหลายอย่างของ ระบบเรียนรู้ของหุ่นยนต์ สมัยใหม่อย่างชัดเจน
มีอธิบายไว้ที่นี่ (https://github.com/ok-robot/ok-robot/tree/main/ok-robot-navi...) เท่าที่ผมเข้าใจ โดยพื้นฐานคือใช้โมเดล ViT หรือโมเดลจำแนกภาพ เพื่อติดป้ายกำกับให้ภาพ แล้วฉายสิ่งนั้นลงบน กริดว็อกเซล
จากนั้นใช้ language embedding ของ CLIP เพื่อเชื่อมภาษากับกริดว็อกเซล
ข้อจำกัดคือ หากต้องรันบนหุ่นยนต์ จะใช้โมเดลเหล่านี้เวอร์ชันขนาดมหึมาไม่ได้
จะใช้โมเดลใหญ่บนคลาวด์ก็ได้ แต่จะเกิดความหน่วงมาก
ถ้าเป็นคำขอที่ language embedding ครอบคลุมไม่ถึง หุ่นยนต์อาจไม่ทำอะไรเลย
แต่ระบบนี้ดูเหมือนไม่มีความรู้ทางฟิสิกส์ นอกจากข้อจำกัดฮาร์ดแวร์ของตัวควบคุมทางกายภาพ
การติดป้ายกำกับว็อกเซลพึ่งพาโมดูลที่ติดป้ายให้ว็อกเซล และถ้าไม่มีข้อมูลภาพก็ไม่สามารถติดป้ายได้
อีกทั้งดูเหมือนจะไม่มีการให้เหตุผลระดับสูงที่ซับซ้อน เช่น ส้อมอยู่ในลิ้นชัก ลิ้นชักอยู่ในครัว และครัวมักอยู่ด้านหลังของบ้าน
กรณีที่ถูกบังบางส่วนขึ้นอยู่กับข้อจำกัดของตัวจำแนกภาพ จึงอาจทำได้
ViT ดีมาก แต่จะขึ้นอยู่กับว่าวัตถุถูกบังมากแค่ไหน
การรู้จำวัตถุส่วนใหญ่ใช้ Lang-SAM(https://github.com/luca-medeiros/lang-segment-anything) และงานหนักในการเชื่อมภาพกับข้อความเป็นหน้าที่ของ CLIP embedding(https://openai.com/research/clip)
ข้อดีอย่างหนึ่งของโมเดลตระกูล CLIP คือไม่จำเป็นต้องกำหนดคลาสที่จะค้นหาภายหลังไว้ล่วงหน้า และสามารถใช้ถ้อยคำที่นึกขึ้นได้ระหว่างรันได้เลย
ตอนนี้หุ่นยนต์ยังไม่รู้ว่าคำขอใดทำไม่ได้
โมเดลตอนนี้เรียบง่ายมาก และไม่ได้พยายามทำอะไรที่ฉลาดเป็นพิเศษ
แต่เพราะอย่างนั้นเราจึงเปิดโค้ด และหวังว่าชุมชนจะต่อยอดโปรเจกต์นี้เพื่อสร้างหุ่นยนต์ที่ฉลาดขึ้น ซึ่งใช้ประโยชน์จากสัญญาณภาพในสภาพแวดล้อมได้มากขึ้น
ถ้าวัตถุถูกซ่อนหรือถูกบังในการสแกนครั้งแรก ก็จะล้มเหลว
ถึงอย่างนั้น ผมคิดว่านี่อาจเป็นจุดเริ่มต้นที่ดีสำหรับงานวิจัยเพิ่มเติม
ข้อดีอย่างหนึ่งคือระบบพิจารณา ข้อมูล 3D ทั้งหมด ดังนั้นถ้าวัตถุบางอย่างมองเห็นได้จากบางมุมเท่านั้น หุ่นยนต์ก็มีโอกาสหาเจอ
ดูเหมือนเป็นเทคโนโลยีที่ อาจเปลี่ยนชีวิตได้ สำหรับผู้พิการ ผู้สูงอายุ เกมเมอร์ คนที่ขี้เกียจสุด ๆ และผู้ดูแลของพวกเขา
เช่น ถ้าทำทางเท้าให้เป็นมิตรกับรถเข็น ก็จะช่วยพ่อแม่ที่เข็นรถเข็นเด็ก คนที่แบกของหนัก คนที่ใช้ไม้เท้า เด็กเล็กที่ขี่จักรยาน และคนที่สายตาไม่ดีด้วย
ส่วนตัวหวังว่าจะสอน AI ให้รับงานที่ไม่มีใครอยากทำ แทนที่จะเป็นงานที่ทุกคนอยากได้
เจ๋งดี
ถ้าฝึกให้มันพับผ้าและเก็บเข้าที่ได้ ผมก็พร้อมจะพิจารณาซื้อ หุ่นยนต์ราคา 25,000 ดอลลาร์ อย่างจริงจัง
ถ้าจะแก้งานระยะยาวอย่างการหาของที่ไม่เห็นอยู่ตรงนั้น อาจแปลงฉากที่มีคำอธิบายกำกับให้เป็นคำบรรยายแบบเทมเพลต แล้วป้อนเข้าโมเดลขนาดใหญ่พอที่ฝึกด้วย interactive fiction ได้
“คุณยืนอยู่ในครัว ด้านหน้าทางขวามีตู้เย็นขนาดใหญ่ที่มีมือจับอยู่ด้านขวา ทางซ้ายมีตู้เก็บของ และบนเคาน์เตอร์เหนือมันมีจานวางอยู่”
> get beer“ที่นี่ไม่เห็นเบียร์เลย”
<< COT: รู้ว่าเบียร์มักอยู่ในตู้เย็น ควรเปิดตู้เย็นดู> open fridge“เมื่อเปิดตู้เย็น ก็เห็นเบียร์กระป๋อง 4 กระป๋อง”
> get beer“หยิบมาแล้ว”
แน่นอนว่ากว่าจะใช้งานได้จริงคงยังต้องใช้เวลาอีกหลายปี แต่พอลองคิดดูก็น่าสนใจมาก
เป็นวิธีผสมผสานเรื่องเล่าแบบ interactive fiction ที่ป้อนโดยเซนเซอร์จริง เข้ากับ บล็อก chain-of-thought ในฐานะเสียงคิดภายใน
แค่ถ่ายรูปครัวแล้วถาม ChatGPT ว่าควรหาเบียร์ที่ไหน
จริง ๆ ผมใช้แบบนี้ค่อนข้างบ่อย
เพราะขี้เกียจ เลยถ่ายรูปชิ้นส่วนกับบอร์ดแล้วถามว่าควรต่อสายกับ ESP32 อย่างไร มันสามารถแยกแยะบอร์ด ชิป และผังพินจากรูปไม่กี่รูป แล้วบอกได้ว่าควรต่อสายไหนไปตรงไหน รวมถึงจุดที่ต้องระวัง
หลายครั้งยังแนะนำไลบรารีที่มีประโยชน์สำหรับชิ้นส่วนนั้น ๆ ด้วย พูดได้ว่าเหมือนเวทมนตร์เลย
การวิเคราะห์ความล้มเหลว ทำได้ดีมากจริง ๆ
สงสัยว่า failure ของฮาร์ดแวร์หมายถึงอะไร
เช่น มีความพยายาม 5 ครั้งที่ระบุว่า “Realsense ให้ค่าความลึกผิด” อยากรู้ว่าตัดสินได้อย่างไร
ในความพยายาม 5 ครั้งที่พูดถึง Realsense ให้ ค่าความลึกผิดพลาด กับวัตถุโปร่งใสหรือกึ่งโปร่งใส ทำให้ point cloud ที่สร้างจากกล้องตรงหัวของหุ่นยนต์ผิดตั้งแต่ต้น
แม้จะเป็นโอเพนซอร์ส แต่ก็ยังราคาเกือบ 25,000 ดอลลาร์
สงสัยว่าทำไมถึงแพงขนาดนี้
หุ่นยนต์เคลื่อนที่ที่มีการจัดการสิ่งของส่วนใหญ่มีราคาอย่างน้อย 5 หลัก เหตุผลหลักคือ ตลาดเล็ก ต้นทุนวัสดุและวิศวกรรมสูง และการสร้างหุ่นยนต์เองก็ยุ่งยาก
แรงงานไม่ได้ฟรี
การทำ PCB และฮาร์ดแวร์แบบกำหนดเองในจำนวนน้อยก็ไม่ถูก และการสร้าง ปรับเทียบ และทดสอบหุ่นยนต์ก็ไม่ถูกเช่นกัน
อยากรู้ว่ามีลิงก์หน้าผลิตภัณฑ์ไหม
ฮาร์ดแวร์เป็นกรรมสิทธิ์และได้รับการคุ้มครองด้วยสิทธิบัตร
นี่ไม่ใช่สิ่งเดียวกับ Dobb-E เหรอ?
https://dobb-e.com/
แต่ในทีมมีบางคนซ้ำกัน
เช่น ผมเป็นผู้เขียนคนแรกของ Dobb-E และอาจารย์ที่ปรึกษาของผมดูแลทั้งสองโปรเจกต์
ความต่างหลักคือโปรเจกต์นี้เป็นแบบ zero-shot จึงไม่ต้องใช้ข้อมูลใหม่ในบ้านหลังใหม่เลย แต่มีเพียงสองทักษะคือหยิบและวาง
ส่วน Dobb-E สามารถมีทักษะได้หลายอย่าง แต่ต้องให้การสาธิตบางส่วนในบ้านหลังใหม่
ทั้งคู่ถูกกล่าวถึงบนเว็บไซต์ของหุ่นยนต์ที่ใช้: https://hello-robot.com/stretch-embodied-ai
ติดตามโปรเจกต์นี้มาสักพักแล้ว ความก้าวหน้าน่าประทับใจมาก
นึกภาพว่ามันถูกผสานเข้ากับ อุปกรณ์ช่วยเคลื่อนที่ อย่างรถเข็น สำหรับคนที่ควบคุมแขนขาได้จำกัด
ถ้ามันกลายเป็นเหมือนโครงกระดูกภายนอก “อัจฉริยะ” ที่ช่วยทำงานที่เคยเป็นไปไม่ได้ได้ ก็น่าจะเป็นตัวเปลี่ยนเกมสำหรับผู้คนจำนวนมากจริง ๆ
อยากได้ รถแพลตฟอร์มทรงตัว ที่วางของแล้วส่งจากจุดหนึ่งไปอีกจุดหนึ่งได้จริง ๆ
คงดีถ้าสามารถให้แพลตฟอร์มทรงตัวด้วยไจโรแบบ Segway วิ่งไปกลับจากจุด A ไปจุด B บนเส้นทางอย่างทางเดินที่ขรุขระนิดหน่อยแต่ไม่ได้แย่มากได้
เคยพยายามติดตามตัวเลือกต่าง ๆ อยู่เรื่อย ๆ แต่ไม่เคยเห็นอะไรที่เหมาะกับงานนี้เลย
อยากรู้ว่ามีใครรู้จักผลิตภัณฑ์ใหม่ที่เหมาะกับ use case แบบนี้ไหม
โดยเฉพาะคือต้องย้ายถาดที่มีเครื่องดื่มและออร์เดิร์ฟจากอีกฝั่งหนึ่งของที่ดินไปอีกฝั่งโดยไม่หก และอย่างน้อยต้องวิ่งได้บนพื้นที่หลากหลายเล็กน้อย
ไม่แน่ใจว่าเคยเห็นมันขนเครื่องดื่มไหม แต่อาหารนี่ขนแน่นอน
เทคโนโลยีมีอยู่แล้ว แค่ต้องต่อทุกอย่างเข้าด้วยกันให้ดี
แรงโน้มถ่วงจะคงทิศไปยังก้นแก้วเสมอ จึงไม่ต้องใช้ระบบทรงตัวแบบอิเล็กทรอนิกส์