ฝึกฝน AI เพื่อนำทางหุ่นยนต์ข้ามรูปแบบด้วยนโยบายเดียว: COMPASS 🤖
การนำทางคือหัวใจสำคัญที่ทำให้หุ่นยนต์สามารถเปลี่ยนข้อมูลจากการรับรู้และคำสั่งการเคลื่อนไหวให้กลายเป็นการทำงานที่เป็นอิสระได้อย่างมีเป้าหมาย ต่างจากการเคลื่อนที่ (locomotion) ที่เน้นการเคลื่อนไหวที่มั่นคง การนำทาง (navigation) จำเป็นต้องมีการระบุตำแหน่งหุ่นยนต์อย่างต่อเนื่อง ตีความสภาพแวดล้อมที่เปลี่ยนแปลง เลือกเส้นทาง และหลีกเลี่ยงสิ่งกีดขวางเพื่อให้บรรลุเป้าหมายได้อย่างปลอดภัย
การนำความสามารถนี้ไปใช้กับหุ่นยนต์หรือสภาพแวดล้อมใหม่ๆ มักต้องใช้ข้อมูลใหม่ ชุดจำลอง อินเทอร์เฟซหุ่นยนต์ การฝึกฝน การวินิจฉัย และการประเมิน ซึ่งการทำงานซ้ำๆ เหล่านี้สำหรับทุกคู่หุ่นยนต์-สภาพแวดล้อมนั้นมีค่าใช้จ่ายสูงและยากต่อการทำซ้ำ
COMPASS: กรอบการทำงานเพื่อการนำทางที่ปรับขนาดได้
COMPASS (Cross-Embodiment Mobility Policy via Residual RL and Skill Synthesis) คือกรอบการทำงานแบบรวมศูนย์ที่ช่วยให้การเคลื่อนที่ข้ามรูปแบบ (cross-embodiment mobility) สามารถปรับขนาดได้ โดยใช้ประโยชน์จากการสาธิตของผู้เชี่ยวชาญจากรูปแบบเดียว COMPASS ใช้พฤติกรรมการนำทางจากนโยบาย NVIDIA X-Mobility ที่ได้รับการฝึกฝนล่วงหน้า และทำการฝึกฝน "ผู้เชี่ยวชาญเฉพาะส่วน" (residual specialist) ซึ่งเป็นนโยบายการเรียนรู้แบบเสริมแรง (reinforcement learning: RL) ที่ปรับแก้การกระทำพื้นฐานสำหรับหุ่นยนต์และสภาพแวดล้อมที่เลือก แทนที่จะต้องเรียนรู้การนำทางใหม่ทั้งหมด
การทำงานแบบอัตโนมัติด้วย AI Agent
COMPASS ใช้เวิร์กโฟลว์ที่ขับเคลื่อนโดย AI Agent พร้อมการอนุมัติจากมนุษย์เพื่อจัดการขั้นตอนต่างๆ โดยอัตโนมัติ ตั้งแต่การตรวจสอบสภาพแวดล้อม การเตรียมฉาก การทดสอบเบื้องต้น (smoke testing) การฝึกฝนเฉพาะส่วน การประเมินจุดตรวจสอบ (checkpoint) ไปจนถึงการจัดแพ็กเกจสำหรับการใช้งานจริง
การใช้งาน COMPASS: กรณีศึกษาหุ่นยนต์ Boston Dynamics Spot
ในบทความนี้ เราจะใช้หุ่นยนต์สี่ขา Boston Dynamics Spot เป็นหุ่นยนต์อ้างอิง โดยจะนำเวิร์กโฟลว์ COMPASS ที่ขับเคลื่อนด้วย AI Agent มาใช้กับสภาพแวดล้อม 3 รูปแบบ:
- คลังสินค้าในตัว (Built-in Warehouse): เป็นเส้นทางที่ทำซ้ำได้ง่ายที่สุดสำหรับการตรวจสอบการติดตั้งเบื้องต้น
- ฉาก SAGE-10K ที่สร้างขึ้น: ขยายขอบเขตไปยังฉากภายในอาคารที่สร้างขึ้นโดยอัตโนมัติ
- สภาพแวดล้อมที่บันทึกด้วย NVIDIA Omniverse NuRec: รองรับการนำเข้าสภาพแวดล้อมจริงที่ถูกจับภาพและสร้างใหม่
ภาพรวมเวิร์กโฟลว์การฝึกฝน
เวิร์กโฟลว์การฝึกฝนจะเริ่มต้นด้วยการเรียกใช้วงจร RL แบบเฉพาะส่วน โดยจะมีการบันทึกจุดตรวจสอบเป็นระยะๆ ติดตามส่วนประกอบของรางวัล (reward components) และตัวชี้วัดความปลอดภัย พร้อมทั้งเก็บหลักฐานสำหรับการประเมินภายใต้เงื่อนไขที่ตรงกัน
การประเมินผล
การประเมินจะเปรียบเทียบนโยบาย X-Mobility พื้นฐานกับนโยบายเฉพาะส่วนที่ได้จากการฝึกฝน ภายใต้เงื่อนไขการตั้งค่าเริ่มต้น (seeds) เป้าหมาย (goals) และการทดลอง (rollout) ที่เหมือนกัน โดยใช้ตัวชี้วัดมาตรฐานของ COMPASS เช่น อัตราการบรรลุเป้าหมาย (goal-reached rate) อัตราการล้ม (fall-down rate) และเวลาเดินทาง (travel time)
การใช้งานจริง (Runtime)
เมื่อนโยบายถูกส่งออก (exported) มันจะรับข้อมูลอินพุตจากกล้อง RGB, ข้อมูลการเคลื่อนที่ (odometry) และจุดเป้าหมาย เพื่อส่งคำสั่งความเร็วไปยัง /cmd_vel โดยสามารถเลือกใช้ NVIDIA cuVSLAM เพื่อให้ข้อมูลการเคลื่อนที่ขณะใช้งานได้ หากหุ่นยนต์ไม่มีระบบประมาณค่าสถานะ (state estimation) ที่เข้ากันได้
การเริ่มต้นใช้งาน COMPASS
- ติดตั้ง: โคลน Repository ของ COMPASS และทำตามคู่มือ Quick Start เพื่อตั้งค่าสภาพแวดล้อมอ้างอิง
- ดาวน์โหลด: ยอมรับข้อกำหนดของโมเดลที่ต้องได้รับการอนุมัติ และดาวน์โหลดชุดจำลอง COMPASS รวมถึงจุดตรวจสอบ X-Mobility จาก Hugging Face
- เรียกใช้งาน: เริ่มต้นเวิร์กโฟลว์ RL แบบเฉพาะส่วนด้วยหุ่นยนต์ที่รองรับและฉากที่ติดตั้งมาพร้อมระบบ โดยต้องได้รับการอนุมัติหลังจากการทดสอบเบื้องต้น
การเตรียมฉากนำทาง 🗺️
COMPASS รองรับการเตรียมฉากนำทาง 3 รูปแบบหลัก:
เส้นทางที่ 1: ใช้คลังสินค้าในตัว
เหมาะสำหรับเริ่มต้นเพื่อตรวจสอบความถูกต้องของการติดตั้ง เนื่องจากหุ่นยนต์ ฉาก และแผนที่ครอบครองพื้นที่ (occupancy map) ถูกลงทะเบียนไว้แล้ว
เส้นทางที่ 2: ใช้ฉาก SAGE-10K
SAGE-10K เป็นชุดข้อมูลฉากภายในอาคารที่สร้างขึ้นกว่า 10,000 ฉาก ช่วยให้สามารถทดสอบในสภาพแวดล้อมที่หลากหลายขึ้น เส้นทางนี้มีจุดอนุมัติจากมนุษย์ 2 จุด คือ การตรวจสอบฉาก USD ที่แปลงแล้ว และการอนุมัติภาพตัวอย่างฉากก่อนการฝึกฝนเต็มรูปแบบ
เส้นทางที่ 3: นำเข้าสภาพแวดล้อมที่บันทึกด้วย NuRec
สำหรับกรณีที่ต้องการปรับแต่งและประเมิน COMPASS ในสภาพแวดล้อมจริงที่ถูกสร้างขึ้นใหม่ด้วย Omniverse NuRec ซึ่งจะแปลงข้อมูลภาพ RGB แบบสเตอริโอให้เป็นฉากที่พร้อมใช้งานใน Isaac Sim
การตรวจสอบการทำงานร่วมกันระหว่างหุ่นยนต์และฉาก ✅
ก่อนที่จะเริ่มการฝึกฝน ควรทำการทดสอบเบื้องต้น (one-environment preview) เพื่อให้แน่ใจว่า Isaac Sim เริ่มทำงานได้ ฉากโหลดถูกต้อง หุ่นยนต์ Spot ถูกวางในตำแหน่งที่เหมาะสม มีข้อมูลภาพจากกล้อง และหุ่นยนต์ตอบสนองต่อคำสั่งจากนโยบายโดยไม่มีข้อผิดพลาด
การฝึกฝนผู้เชี่ยวชาญเฉพาะส่วน 🛠️
เมื่อการทดสอบเบื้องต้นได้รับการอนุมัติแล้ว AI Agent จะเริ่มกระบวนการฝึกฝน RL แบบเฉพาะส่วน โดยใช้หุ่นยนต์และฉากที่เลือก ระบบจะคอยติดตามผลลัพธ์ บันทึกจุดตรวจสอบ และเก็บหลักฐานที่จำเป็นสำหรับการประเมิน
ข้อกำหนดระบบ
- ระบบ Ubuntu 22.04 หรือ 24.04 ที่มี RAM อย่างน้อย 32 GB
- การ์ดจอ NVIDIA RTX ที่มี VRAM อย่างน้อย 16 GB และไดรเวอร์ Linux 580.95.05 (เวอร์ชันที่ทดสอบกับ Isaac Sim 6.0)
- Docker Engine 24 หรือใหม่กว่า พร้อม NVIDIA Container Toolkit
- บัญชี Hugging Face และโทเค็นสำหรับอ่าน (read token) ที่เข้าถึง Repository ที่ต้องได้รับการอนุมัติของ nvidia/COMPASS และ nvidia/X-Mobility
- NVIDIA Isaac Lab 3.0 พร้อม NVIDIA Isaac Sim 6.0
คำถามที่พบบ่อย
COMPASS แตกต่างจากนโยบายนำทางทั่วไปอย่างไร?
COMPASS ใช้ประโยชน์จากนโยบายที่ฝึกฝนไว้แล้ว (X-Mobility) และฝึกฝน "ผู้เชี่ยวชาญเฉพาะส่วน" เพื่อปรับแก้การกระทำสำหรับหุ่นยนต์และสภาพแวดล้อมใหม่ๆ แทนที่จะเรียนรู้ใหม่ทั้งหมด ทำให้ประหยัดเวลาและทรัพยากร
AI Agent ทำงานอย่างไรในเวิร์กโฟลว์นี้?
AI Agent จะช่วยจัดการขั้นตอนต่างๆ เช่น การตรวจสอบความถูกต้องของส่วนประกอบ การเตรียมฉาก การทดสอบ การเปิดใช้งานการฝึกฝน และการวินิจฉัยปัญหา โดยมีจุดอนุมัติจากมนุษย์เพื่อควบคุมกระบวนการ
สภาพแวดล้อมที่บันทึกด้วย NuRec มีประโยชน์อย่างไร?
การใช้ NuRec ช่วยให้สามารถฝึกฝนและประเมิน COMPASS ในสภาพแวดล้อมจริงที่ถูกสร้างขึ้นใหม่จากข้อมูลที่บันทึก ทำให้การนำไปใช้งานมีความแม่นยำมากขึ้น
การทดสอบเบื้องต้น (Smoke Test) สำคัญอย่างไร?
การทดสอบนี้ช่วยยืนยันว่าการตั้งค่าพื้นฐานระหว่างหุ่นยนต์ ฉาก และระบบรับข้อมูลทำงานได้อย่างถูกต้องก่อนที่จะเริ่มกระบวนการฝึกฝนที่ใช้เวลานาน
#AI #RobotNavigation #ReinforcementLearning #NVIDIA
ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/how-to-train-a-cross-embodiment-robot-navigation-policy-with-ai-agents/