วิธีสร้างหุ่นยนต์ Pick-and-Place ด้วย SimReady ใน Isaac Sim

· By: NatapolK

figure-01-pick-and-place-highlight

บทความนี้จะสาธิตการสร้างภารกิจหยิบและวาง (pick-and-place) กระป๋องเครื่องดื่ม โดยเลือกใช้ แขนกล UR17G, Robotiq 2F-140 gripper และ กระป๋องเครื่องดื่ม เพื่อนำมาประกอบฉากใน Isaac Sim พร้อมตรวจสอบพฤติกรรมและรันตัวอย่างการทำงานผ่านระบบควบคุมที่สร้างโดย agent

ในกระบวนการทำงานด้านหุ่นยนต์นั้น คำว่า SimReady หมายถึง asset ในรูปแบบ OpenUSD ที่ได้รับการจัดเตรียมคุณสมบัติทางกายภาพที่จำเป็นสำหรับการจำลองไว้แล้ว เช่น การชน (collisions), มวล (mass), ข้อต่อ (joints) และระบบขับเคลื่อนข้อต่อ (joint drives) โดย SimReady Central ซึ่งเป็นคลัง asset แบบเปิดบน Hugging Face ช่วยให้นักพัฒนาสามารถนำหุ่นยนต์และวัตถุที่มีการตั้งค่าฟิสิกส์และผ่านการตรวจสอบ profile มาใช้ซ้ำได้ทันที สำหรับรายละเอียดเพิ่มเติมสามารถอ่านได้ที่ announcement blog

นิยามของ SimReady สำหรับ Robot Asset

SimReady Foundation ได้กำหนดคุณลักษณะที่ asset OpenUSD ต้องมีสำหรับการใช้งานในระบบจำลอง โดยแบ่งเกณฑ์การตรวจสอบออกเป็น 3 ระดับหลัก ได้แก่:

  • Profile: กลุ่มคุณลักษณะตามกรณีการใช้งาน เช่น ตัวหุ่นยนต์ (robot body)
  • Features: ความสามารถที่จำเป็น เช่น ข้อต่อที่ควบคุมได้
  • Requirements: การตรวจสอบการตั้งค่าเชิงลึก เช่น ระบบขับเคลื่อนของข้อต่อ

สำหรับภารกิจนี้ คุณสมบัติจะครอบคลุมถึงข้อต่อของแขนกลและ gripper รวมถึงมวลและการชนของกระป๋องเครื่องดื่ม ระบบจะตรวจสอบ (validation) ค่าเหล่านี้เทียบกับข้อกำหนด เพื่อดูว่าหุ่นยนต์ที่ประกอบแล้วจะสามารถหยิบและเคลื่อนย้ายวัตถุได้จริงหรือไม่

สิ่งที่มีมาให้ใน Asset และสิ่งที่ต้องเตรียมเอง

แพ็กเกจของ UR17G, Robotiq 2F-140 และ กระป๋องเครื่องดื่ม จะมาพร้อมโมเดลและการตั้งค่าฟิสิกส์พื้นฐาน

อย่างไรก็ตาม ผู้ใช้ต้องเป็นคนประกอบฉากและเพิ่มโค้ดสำหรับภารกิจเอง เพื่อระบุจุดเชื่อมต่อระหว่างแขนกลกับ gripper, พื้นที่ทำงาน, ตำแหน่งเริ่มต้น และระบบควบคุมการเคลื่อนที่

Figure 2

ภาพที่ 2. SimReady Central จัดเตรียมโมเดลและการตั้งค่าฟิสิกส์ ส่วนฉากและระบบควบคุมจะเป็นตัวกำหนดภารกิจการทำงาน

ข้อควรตรวจสอบก่อนเริ่มภารกิจ Pick-and-Place

แม้หุ่นยนต์จะดูปกติใน Isaac Sim ขณะหยุดนิ่ง แต่อาจมีพฤติกรรมผิดเพี้ยนเมื่อเริ่มทำงานจริง ดังนั้นควรทดสอบประเด็นต่อไปนี้ก่อนเริ่มภารกิจ โดยสามารถขอให้ agent ช่วยทดสอบหรือทำด้วยตนเองก็ได้:

  • การตั้งค่าข้อต่อ (Joint settings): ตรวจสอบขีดจำกัดของข้อต่อทั้งแขนกลและ gripper รวมถึงระบบขับเคลื่อน
  • การเคลื่อนไหว (Movement): ลองขยับแขนกลและสั่งเปิด-ปิด gripper ในระยะสั้นๆ
  • การสัมผัส (Contact): ตรวจสอบว่าวัตถุวางอยู่บนพื้นผิวได้อย่างมั่นคง ไม่ตกลงไปใต้พื้นฉาก

ระหว่างทำงาน ให้สังเกตว่ากระป๋องยังอยู่ใน gripper ขณะเคลื่อนที่หรือไม่ เนื่องจากโครงสร้าง asset อาจต่างกัน จึงควรใช้ค่าเริ่มต้นในฉากเป็นจุดตั้งต้นในการปรับจูน

การสร้างโปรเจกต์ Pick-and-Place ใน Isaac Sim

ในตัวอย่างนี้ เราจะสั่งให้หุ่นยนต์คีบกระป๋อง ยกขึ้น เคลื่อนย้ายไปยังเป้าหมาย และปล่อยออก โดยใช้บริการ SimReady Central Space เพื่อค้นหาเนื้อหาจาก OEM

เราจะนำโมเดล AI ระดับแนวหน้า (frontier AI model) มาช่วยสร้างและรันโค้ดใน Isaac Sim ซึ่งในที่นี้ใช้ GPT-6 Sol (รุ่นอื่นอาจใช้ได้หากรองรับทักษะที่จำเป็นและ Python) ทั้งนี้ควรตรวจสอบโค้ดที่ AI สร้างขึ้นก่อนนำไปใช้งานจริงเสมอ

ซอฟต์แวร์ที่ต้องเตรียม:

  • ติดตั้ง Isaac Sim 6.2 และตรวจสอบสเปกเครื่อง
  • ตั้งค่า agent และ Agent Skills เพื่อให้ AI โต้ตอบกับซอฟต์แวร์ได้
  • ติดตั้ง Hugging Face CLI สำหรับดาวน์โหลดผ่าน command-line
  • เข้าถึง USD Search endpoint

ขั้นตอนที่ 1: ดาวน์โหลด Asset ที่จำเป็น

ไปที่ SimReady Central เพื่อดาวน์โหลด UR17G, Robotiq 2F-140 และ กระป๋องเครื่องดื่ม โดยเก็บโฟลเดอร์ไว้ให้ครบถ้วนเพื่อให้โปรแกรมหาไฟล์ประกอบเจอ และระบุพาธไฟล์ USD ในเครื่องให้ agent ทราบ เช่น:

~/ASSETS/hf/src/simready-assets-c7fa7615/Robotiq_2F_140/simready_usd/Robotiq_2F_140.usda

figure-05-find-robotiq

ภาพที่ 3. ระบบค้นหาของ SimReady Central ช่วยระบุโมเดลที่ต้องการได้อย่างแม่นยำ

figure-04-download-assets

ภาพที่ 4. วิธีการดาวน์โหลดมีทั้งแบบบันทึกไฟล์โดยตรง หรือใช้ Hugging Face CLI

สำหรับการตรวจสอบ Asset รายงานของแขนกล และ gripper บ่งชี้ว่าผ่านเกณฑ์ PhysX driven-joint checks เรียบร้อยแล้ว ซึ่งช่วยการันตีความพร้อมในการจำลอง

ขั้นตอนที่ 2: ประกอบหุ่นยนต์และสร้างฉาก

เริ่มใช้งาน Isaac Sim จาก directory หลักและเปิด remote Python server เพื่อให้ agent สื่อสารได้:

./isaac-sim.sh --enable isaacsim.code_editor.python_server

ตรวจสอบว่าโหลด asset ครบถ้วนและไม่มีไฟล์สูญหาย จากนั้นขอให้ agent ประกอบแขนกลและ gripper เข้าด้วยกันเป็นยูนิตเดียว (Articulation) ตามตัวอย่าง prompt ด้านล่าง:

Assemble the robot arm <local path to Simready ur17g robot usd>
with the gripper <local path to downloded simready Robotiq_2F_140 gripper usd>
using the Robot Assembly tutorial in Isaac Sim
https://docs.isaacsim.omniverse.nvidia.com/6.2.0/robot_setup/assemble_robots.html.
 
Validate the assembly on completion.

Agent จะใช้ทักษะอย่าง ‘isaac-sim-remote’ และ ‘usd-articulation’ เพื่อประกอบหุ่นยนต์และตรวจสอบระบบฟิสิกส์ให้เสร็จสรรพ

figure-05-joint-settings

ภาพที่ 5. การปรับแต่งข้อต่อสำหรับ UR17G และ Robotiq 2F-140 ในหน้าจอ Isaac Sim

ขั้นตอนที่ 3: ทดสอบการควบคุมและรันภารกิจ

ขณะนี้ฉากพร้อมแล้ว เราจะใช้ตัวควบคุมเพื่อประสานงานระหว่างแขนกลและ gripper โดยใช้ prompt ตัวอย่างดังนี้:

Run pick and place with the assembled robot and soda can
<path to soda can USD from SimReady library> in Isaac Sim.
 
Ensure you do a contact based grasp for picking up the can and validate
the accuracy/placement error for the pick and place as well.

ทักษะที่ใช้: ‘isaac-sim-remote’, ‘manipulaiton-ik’ และ ‘physics-simulation’

figure-06-pick-and-place-landscape

ภาพที่ 6. แขนกลเคลื่อนย้ายกระป๋องจากจุดสีเหลืองไปยังเป้าหมายสีเขียว (ความเร็ว 4 เท่า)

ข้อควรจำเกี่ยวกับการจำลอง:

  • การจำลองครั้งนี้เริ่มต้นในตำแหน่งที่แน่นอนบนพื้นที่ราบ
  • วัตถุเป็นแบบลดรูป (Rigid body) ไม่มีการจำลองน้ำองเหลวหรือการบุบสลายของกระป๋อง
  • แรงบีบที่ใช้คือ 2 N·m ซึ่งได้จากการทดลองในโปรแกรม ไม่ได้ยึดตามคำแนะนำผู้ผลิตในฮาร์ดแวร์จริง (ดูข้อมูลแรงจริงได้ที่ เอกสาร Robotiq)

ต่อยอดการทำงานด้วย SimReady Assets

คุณสามารถสร้างภารกิจอื่นเพิ่มเติมได้ง่ายๆ โดยค้นหาหุ่นยนต์ใหม่ๆ จาก SimReady Central และศึกษาข้อกำหนดเพิ่มเติมที่ SimReady Foundation

สำหรับผู้ที่มีโมเดล CAD ของตัวเอง สามารถทำตาม 5 ขั้นตอนการสร้าง SimReady Assets และส่งผลงานของคุณเข้าสู่คลังกลางผ่าน คู่มือการส่ง Asset เพื่อแบ่งปันให้นักพัฒนาทั่วโลกได้ใช้งาน

Source: Hugging Face Blog
ดูแลงานแปลและเรียบเรียงโดย NatapolK

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร