เปลี่ยนคำสั่งตอนหุ่นยนต์กำลังเคลื่อนที่ได้หรือไม่?
LeRobot 0.7 เพิ่มเซสชันโต้ตอบ ลองเปลี่ยนทิศหุ่นยนต์ระหว่างทำงาน แยกคำตอบจากภาพออกจากการกระทำจริง และออกแบบการทดลองที่ปลอดภัยขึ้น
หุ่นยนต์กำลังแยกก้อนโฟมเมื่อถังแดงเต็ม ก้อนถัดไปอยู่ในมือจับแล้ว อินเทอร์เฟซที่ดีควรให้ผู้ควบคุมเปลี่ยนขั้นต่อไป ถามว่ากล้องเห็นอะไร หรือหยุดการทำงาน แต่ละคำสั่งมีผลต่างกันเมื่อมือจับกำลังรับน้ำหนัก
วันที่ 5 พฤศจิกายน Hugging Face ออก LeRobot 0.7.0 ชุดเครื่องมือโอเพนซอร์สสำหรับเก็บตัวอย่างการทำงาน ฝึกนโยบายควบคุม และรันบนฮาร์ดแวร์ เซสชันโต้ตอบรักษาการเชื่อมต่อหุ่นยนต์กับนโยบายที่โหลดไว้ ขณะผู้ควบคุมส่งคำสั่งใหม่จากเทอร์มินัล นโยบายที่เข้ากันได้หรือตัววางแผนภายนอกยังตีความฉากแล้วเลือกงานย่อยอื่นได้ รุ่นนี้ปรับการสตรีมชุดข้อมูล การฝึก และการอนุมานระยะไกลด้วย ส่วนการควบคุมสดควรดูใกล้ ๆ เพราะเปลี่ยนสิ่งที่ผู้ควบคุมทำได้กลางการทดลอง ประกาศ LeRobot · รุ่น v0.7.0
ตัวอย่างต่อไปเป็นสถานการณ์บนโต๊ะทดลองสำหรับวางแผนการนำร่อง โดยแยกสิ่งที่ขอให้โมเดลทำ คำสั่งที่ตัวควบคุมส่งจริง และผลที่สังเกตได้ภายหลัง

แท่นกล้องข้อมือ SO-101 ถ่ายโดย The Robot Studio ภาพแสดงตัวอย่างตำแหน่งกล้องที่ฮาร์ดแวร์รองรับ มาจาก โครงการ SO-ARM100 ภายใต้ Apache 2.0 Telli.sh ปรับขนาดและเพิ่มขอบภาพ
สามคำสั่งให้ผู้ควบคุมทำสามหน้าที่
คำสั่งโต้ตอบและหน้าที่ของแต่ละคำสั่ง ภาพประกอบโดย Telli.sh
Rollout คือเซสชันที่นโยบายรับสิ่งที่สังเกตได้แล้วสร้างการกระทำ อินพุตอาจเป็นภาพกล้องและตำแหน่งข้อต่อที่วัดได้ ในรุ่น 0.7 การเพิ่ม --interactive=true ในเซสชัน lerobot-rollout ที่ตั้งค่าแล้วจะเก็บการเชื่อมต่อ น้ำหนักนโยบาย และตัวประมวลผลไว้ระหว่างคำสั่ง รุ่นนี้แสดงคำสั่งเทอร์มินัลห้ารายการ โดยมี /start และ /stop คร่อมสามวิธีสั่งทิศทางหรือถามเซสชัน ประกาศ LeRobot · เอกสาร rollout v0.7.0
| คำสั่งเทอร์มินัล | เจตนาผู้ควบคุม | ผลที่ต้องสังเกต |
|---|---|---|
/subtask | เปลี่ยนคำสั่งของนโยบายการกระทำ | การเคลื่อนครั้งต่อไปตามเป้าใหม่ หรือผู้ควบคุมเข้าแทรก |
/vqa | ถามว่าหุ่นยนต์เห็นอะไร | ได้คำตอบที่ผู้ควบคุมเทียบกับฉากได้ |
/autosteer | มอบเป้าหมายให้ระบบเลือกงานย่อย | ระบบเลือกงานย่อยและคนกลับมาควบคุมได้ |
ประกาศ LeRobot ยก FineART-VLA และ Wall-OSS-0.5 เป็นนโยบายที่สร้างข้อความสำหรับการถามและมอบเป้าหมายได้ โมเดลภาพและภาษาภายนอกที่เข้ากันได้เพิ่มความสามารถนี้ให้นโยบายการกระทำที่ไม่สร้างข้อความ รุ่นนี้อธิบายการใช้ API ที่เข้ากันได้กับ OpenAI สำหรับตัววางแผนทั้งแบบรันในเครื่องและมีโฮสต์ ตัววางแผนตอบคำถามภาพและให้คำสั่งได้ ส่วนนโยบายการกระทำยังแปลงงานย่อยเป็นการกระทำของหุ่นยนต์ Rollout แบบโต้ตอบและตัววางแผนภายนอก · เอกสาร rollout v0.7.0
ความต่างเห็นได้บนโต๊ะที่มีของเยอะ ถ้ากล้องไม่เห็นขอบกล่อง คำตอบคล่องแค่ไหนก็ยังมีหลักฐานน้อย ถ้าตัววางแผนเลือกก้อนสีน้ำเงินถูกแต่มือจับลื่น ส่วนภาษาทำงานสำเร็จแต่การกระทำจริงไม่สำเร็จ แยกคำถาม การกระทำของนโยบาย และผล เพื่อดูว่าควรย้ายกล้อง แก้คำสั่ง หรือแก้การจับ
เปลี่ยนเป้าหมายโดยให้งานยังเล็ก
ใช้ถังสองสี ก้อนนุ่มสามก้อน และแขนที่รองรับหนึ่งตัว เริ่มจากงานที่รู้ว่าใช้ได้ เช่น หยิบก้อนแดง แล้วเลือกเป้าหมายที่สองที่นโยบายเคยทำสำเร็จในสภาพคล้ายกัน รอบแรกขอเปลี่ยนก่อนสัมผัส เมื่อเห็นว่าคำสั่งเปลี่ยนมีผล ให้ตั้งต้นใหม่แล้วสั่งช้าลงในช่วงเคลื่อน การสั่งตอนแขนกำลังขยับกับตอนมือจับปิดแล้วเป็นงานต่างกันสำหรับนโยบาย
ดูการเคลื่อนครั้งแรกไปทางเป้าใหม่และตำแหน่งสุดท้ายของก้อน เวลาในวิดีโอบอกว่ากว่าจะเห็นการเปลี่ยนใช้เท่าไร เวลาในเทอร์มินัลบอกว่าคุณพิมพ์เมื่อไร เก็บทั้งคู่เพื่อแปลความหน่วงได้ รวมถึงกรณีที่ซอฟต์แวร์รับแล้วแต่ดูการเคลื่อนใหม่ยาก เงื่อนไขหยุดที่กำหนดล่วงหน้าช่วยไม่ให้รอคำสั่งแก้ไปเรื่อย ๆ
อีกตัวอย่างคือจัดโต๊ะคืนหลังทดสอบ วางของหนึ่งชิ้นผิดที่แล้วถามว่าเหลืออะไรบนโต๊ะ ลองมุมเปิดและมุมที่มีสิ่งบังก่อนสั่งเก็บโต๊ะ หากคำตอบเปลี่ยนตามมุมกล้อง ให้จัดฉากใหม่หรือลดขอบเขตเป้าหมาย ขอให้หุ่นยนต์ทำสิ่งคุ้นเคยครั้งละหนึ่งอย่างระหว่างเรียนรู้พฤติกรรมนโยบาย
รอบสาม ให้ /autosteer มีเป้าอย่างนำก้อนโฟมสองก้อนไปถาดเดียว จดการเลือกแต่ละขั้น ระบบอาจเลือกชิ้นแรกเหมาะสมแต่ต้องการคนช่วยเมื่อชิ้นที่สองอยู่นอกระยะ การมอบเป้าหมายมีประโยชน์เมื่อเทียบงานย่อยกับลำดับที่คาดอย่างง่ายได้ บันทึกบอกว่าตัววางแผนเลือกขั้นผิดหรือหุ่นยนต์ทำขั้นที่ถูกไม่สำเร็จ
หยุดผ่านซอฟต์แวร์กับหยุดที่เครื่องต้องทดสอบแยก
เซสชันโต้ตอบทำให้คนดูหุ่นยนต์ส่งคำสั่งได้ใกล้ขึ้น แต่มีช่วงที่คนอาจคิดว่าคำสั่งใหม่มีผลแล้วทั้งที่ยังเห็นการเคลื่อนเดิม การนำร่องควรจดสี่เหตุการณ์แยกกัน ได้แก่ เวลาส่งคำสั่ง เวลาที่ระบบตอบรับถ้ามี เวลาที่พฤติกรรมที่เห็นเปลี่ยนครั้งแรก และสถานะสุดท้าย หากไม่มีสัญญาณตอบรับ ให้เว้นคอลัมน์นั้น อีกสามอย่างยังมีประโยชน์
เอกสารการปรับใช้ตามเวอร์ชันอธิบายการค้างด้วยซอฟต์แวร์สำหรับหุ่นยนต์ที่รองรับในขั้นแก้ โดยส่งเป้าตำแหน่งล่าสุดที่ไดรเวอร์ใช้ซ้ำ แขนที่รับน้ำหนักอาจยังเคลื่อนไปยังตำแหน่งนั้น และต้องตรวจมือจับบนเครื่องจริง อินเทอร์เฟซภาษาอยู่เหนือกลไกนี้ เก็บขั้นตอนหยุดที่ตัวเครื่องและกำกับดูแลตามฮาร์ดแวร์ และยืนยันผลในพื้นที่โล่งก่อนเพิ่มคำสั่งสด เอกสาร rollout v0.7.0
จดเวลาส่งคำสั่งเปลี่ยน เมื่อการเคลื่อนเปลี่ยน และวิธีจบการรัน ภาพประกอบโดย Telli.sh
วิธีนี้เปลี่ยนมุมมองต่อรอบที่ดูเหมือนสำเร็จ ก้อนหนึ่งอยู่ถาดถูกอาจซ่อนการเคลื่อนผิดสองครั้งที่คนต้องหยุด จดว่าต้องแทรกบ่อยแค่ไหน และเริ่มต่อจากสภาพที่ค้างไว้ได้บ่อยเพียงใด นโยบายที่กลับมาจากความผิดพลาดทั่วไปได้ให้ภาระคนต่างจากระบบที่ต้องรีเซ็ตทุกครั้ง วัดจากรอบที่เทียบกันได้ ใช้พื้นที่และวัตถุเดิม
FineART นำขั้นระหว่างทางเข้าไปในข้อมูลฝึก
รุ่นนี้ยังเปลี่ยนวิธีคิดเกี่ยวกับการสาธิต หากวิดีโอมีแค่เริ่มดีและจบสำเร็จ อาจไม่ชัดว่านโยบายควรเรียนรู้ส่วนไหนเมื่อคำสั่งเปลี่ยน ป้ายงานย่อยให้ข้อมูลเพิ่มกับระบบฝึกเรื่องจังหวะเปลี่ยน เช่น จับวัตถุ วาง หรือไปชิ้นถัดไป
Hugging Face และ Scale AI รายงานว่า FineART มีมากกว่า 40,000 ตอนที่ใช้สองมือ รวม 1,718 ชั่วโมง และป้ายงานย่อยกว่า 533,000 รายการ รุ่นวันที่ 5 พฤศจิกายนระบุชุดข้อมูล 1.9 TB ในรูปแบบ LeRobot ส่วน FineART-VLA พัฒนาจาก π0.5 และเพิ่มหัวภาษาที่คาดงานย่อยด้วยคำพูดก่อนส่วนการกระทำทำให้เกิดการเคลื่อนไหว ตัวเลขมาจากชุดข้อมูลของผู้สร้าง และการแยกภาษาออกจากการกระทำเป็นการออกแบบโมเดล มือจับต่างรูป กล้องมุมแคบ และของที่ไม่มีในข้อมูลฝึกยังทำให้ต้องประเมินต่างไป ประกาศและรายละเอียด FineART · เอกสาร FineART-VLA
เมื่อเก็บชุดแก้ไขเล็ก ๆ ให้คิดว่าจะทำซ้ำอะไรในอนาคต เก็บคำสั่งใหม่ มุมกล้องที่เกี่ยวข้อง สถานะตอนเปลี่ยน และผลที่เห็น ป้าย “ถังแดงเต็มแล้ว” อธิบายสถานะ ส่วนคำสั่ง “วางก้อนแดงถัดไปในถาดว่าง” บอกว่าควรทำอะไร เก็บทั้งสองแบบเมื่อการทดลองต้องใช้ และเก็บกรณีที่ไม่สำเร็จด้วย จะได้ใช้เหตุการณ์ที่ทำให้เริ่มแก้เป็นกรณีทดสอบนโยบายใหม่
การนำร่องครั้งแรกใช้โต๊ะเดียวได้
-
ตรึงเวอร์ชันและเลือกชุดที่รองรับ ติดตั้ง LeRobot 0.7.0 ตามคู่มือเวอร์ชันนั้น ตรวจว่าหุ่นยนต์ การตั้งกล้อง และนโยบายทำงานเริ่มต้นที่รู้ผลได้ บันทึกวันที่ 5 พฤศจิกายนระบุว่าบิลด์ PyTorch บน Linux ตามค่าเริ่มต้นใช้ CUDA 13 และต้องใช้ไดรเวอร์ NVIDIA 580.65 ขึ้นไป ไดรเวอร์เก่าต้องใช้วิธีติดตั้งทางเลือกตามเอกสาร แยกการเปลี่ยนไดรเวอร์ออกจากการทดลองพฤติกรรม คู่มือติดตั้ง · รุ่น v0.7.0
-
รันรอบฐานก่อนเพิ่มการควบคุมกลางทาง ใช้โต๊ะโล่ง จำกัดการเคลื่อน และจัดการกำกับดูแลตามแขนที่ใช้ เก็บท่าเริ่ม เป้าหมาย และบันทึกว่านโยบายทำเสร็จหรือไม่ รักษาตำแหน่งกล้อง แสง และวัตถุระหว่างเทียบรอบฐานกับรอบสั่งเปลี่ยน เอกสารตั้งค่า SO-101
-
เพิ่มแฟล็กโต้ตอบใน rollout ที่ทำงานแล้ว เริ่มเซสชันจากเทอร์มินัล สั่งงานย่อย เปลี่ยนหนึ่งครั้ง แล้วจบ นี่คือคำสั่งเซสชันจากรุ่นดังกล่าวพร้อมข้อความงานตัวอย่าง เอกสารเซสชันโต้ตอบ
ข้อความธรรมดา/start /subtask move the red block to the tray /subtask move the blue block to the tray /stop -
เพิ่มคำถามภาพและเป้าหมายย่อยหลังทำรอบฐานซ้ำได้ เลือกนโยบายสร้างข้อความหรือตั้งตัววางแผนภายนอกตามคู่มือ เริ่มด้วยคำถามที่คุณตอบเองได้จากกล้องเดียวกัน ลองเป้าหมายที่เห็นจุดสิ้นสุดและจดสิ่งที่เกิดเมื่อผู้วางแผนใช้ไม่ได้หรือไม่ให้งานย่อยที่มีประโยชน์ จุดเชื่อมภายนอกยังเปลี่ยนว่าข้อมูลสังเกตถูกประมวลผลที่ไหน ซึ่งสำคัญถ้ากล้องเห็นนอกโต๊ะทดลอง เอกสารตัววางแผนภายนอก
-
เทียบการกู้กลับมาทำงานควบคู่กับการทำเสร็จ ลองซ้ำหลายรอบในสภาพเดียวกันและเก็บความล้มเหลวทุกครั้ง จดว่าคนดูเห็นสิ่งที่เกิด เลือกวิธีแทรก และยืนยันสถานะท้ายได้หรือไม่ รอบน้อยช่วยปรับการตั้งค่า แต่การอ้างความเชื่อถือได้ต้องมีหลักฐานมากกว่านี้จากสภาพที่จะเจอจริง
รุ่น 0.7.0 ยังแทนอินเทอร์เฟซอนุมานแบบไม่พร้อมกันเดิมด้วยเซิร์ฟเวอร์นโยบายและโหมด rollout ระยะไกล ถ้าภายหลังย้ายการประมวลผลไปเซิร์ฟเวอร์ GPU ให้ทดสอบเวลาและการหยุดซ้ำผ่านการเชื่อมต่อจริง เซิร์ฟเวอร์เพิ่มกำลังประมวลผล ส่วนเครือข่ายเพิ่มสิ่งที่ต้องพึ่งระหว่างข้อมูลสังเกตใหม่กับการกระทำต่อไป การเชื่อมช้าหรือขาดเป็นกรณีทดสอบของตัวเอง การเปลี่ยนที่กระทบความเข้ากันได้ใน v0.7.0 · เอกสารการอนุมานระยะไกล
การทดสอบที่ดีที่สุดเกิดกลางงาน
ช่วงน่าสนใจของการสาธิตหุ่นยนต์คือตอนขั้นที่คาดไว้ใช้ไม่ได้แล้ว ถังเต็ม วัตถุขยับ หรือคนเห็นสิ่งที่กล้องพลาด คำสั่งเทอร์มินัลของ LeRobot ทำให้เอาช่วงนี้มาเป็นส่วนของการทดลองได้ คำถามคือผู้กำกับจะรู้ว่าอะไรเปลี่ยน แก้ทิศทางขั้นถัดไป และยืนยันผลด้วยตาตัวเองได้ไหม
แหล่งข้อมูล
หากต้องการเก็บการตัดสินใจและการทดลองเบื้องหลังงานไว้ให้ค้นได้ สร้างบัญชี Telli.sh.