Jenny 5 คือหุ่นยนต์ฮิวแมนนอยด์ (เกือบจะ) ที่ถูกออกแบบมาเพื่อใช้ในการวิจัยเป็นหลัก แต่ก็ช่วยงานมนุษย์ได้ด้วย อยากรู้จัก Jenny 5 ให้มากขึ้นก็ไปหาอ่านกันได้
แรงบันดาลใจของ Jenny 5 มาจากหุ่นยนต์ Johnny 5 ในหนังคลาสสิกอย่าง Short Circuit หนังดีที่เด็กช่าง/วิศวะต้องดูสักครั้งในชีวิต!
Jenny 5 ประกอบด้วย:
- ฐานเคลื่อนที่ พร้อมแทร็ก (เหมือนรถถังน้อยๆ)
- ขาแบบยืดหยุ่นได้ 1 ขา
- แขน 2 ข้าง ข้างละ 7 องศาอิสระ (7-DOF) จัดเต็ม!
- หัว 1 หัว
ไฟล์ต้นฉบับทุกอย่าง (แบบ CAD, ซอฟต์แวร์ ฯลฯ) ของ Jenny 5 นั้นเปิดให้ดาวน์โหลดฟรีทั้งหมด ไลเซนส์เป็นแบบ MIT เอาไปใช้ได้ทั้งงานส่วนตัวและงาน商用 จัดไปวัยรุ่น!
การสร้าง Jenny 5 นั้นง่ายและประหยัด (เมื่อเทียบกับหุ่นตัวอื่นๆ) ชิ้นส่วนส่วนใหญ่หาซื้อได้จากร้านขายของหุ่นยนต์ทั่วไป ชิ้นส่วนพิเศษก็พิมพ์ด้วยเครื่องพิมพ์ 3D ได้ ส่วนโปรไฟล์อลูมิเนียมก็ตัดและเจาะได้ด้วยเครื่องมือพื้นฐานที่ช่างสมัครเล่นทั่วไปมีกัน
ประมาณการค่าใช้จ่าย (ไม่รวมคอมพิวเตอร์) อยู่ที่ ประมาณ 2,500 USD (ดูรายละเอียดเพิ่มเติมได้จากบิลวัสดุ)
Jenny 5 ถูกออกแบบด้วย OpenSCAD ซึ่งเป็นซอฟต์แวร์ CAD แบบที่เราเขียนโค้ดเพื่อสร้างวัตถุ แทนที่จะใช้เมาส์ลากๆ วาดๆ เหมาะกับสาย coders มากๆ
สถาปัตยกรรมของหุ่นยนต์ (Robotic Architecture)
Jenny 5 เป็นระบบที่ซับซ้อน ทำงานแบบหลายโหนด (multi-nodal)
- ฐาน (The Platform): ใช้แทร็กเพื่อความมั่นคงสูงและเกาะถนนดี โดยเฉพาะในสภาพแวดล้อมกลางแจ้ง ขับเคลื่อนด้วยมอเตอร์ DC 2 ตัว พร้อมเกียร์ดาวเคราะห์อัตราทด 50:1 เพื่อแรงบิดสูง ควบคุมด้วยบอร์ด RoboClaw
- ขา (The Leg): ออกแบบมาให้ยืดหยุ่นเป็นเอกลักษณ์ ใช้ Linear Actuator 2 ตัว ช่วยให้หุ่นปรับความสูงและรักษาสมดุลบนพื้นที่ไม่เรียบได้ ควบคุมด้วยบอร์ด RoboClaw เช่นกัน
- แขน 7-DOF (7-DOF Arms): แต่ละแขนใช้สเต็ปเปอร์มอเตอร์ 6 ตัว พร้อมเกียร์ทด 27:1 ความแม่นยำสูงได้มาจาก เซ็นเซอร์วัดตำแหน่งแบบแม่เหล็ก AS5147 ที่ให้ค่าตำแหน่งแบบสัมบูรณ์ (Absolute Position) มอเตอร์และเซ็นเซอร์ของแต่ละแขนถูกควบคุมโดยบอร์ด A-Star 32U4 Mini
กริปเปอร์ (มือจับ) ขับเคลื่อนด้วยเซอร์โวมอเตอร์ ต่ออยู่กับบอร์ด A-Star 32U4 Mini ตัวเดียวกันกับที่ควบคุมแขนทั้งข้าง และยังมีเว็บแคมติดอยู่ที่กริปเปอร์เพื่อใช้จดจำวัตถุที่อยู่ใกล้ๆ อีกด้วย
หัว มี 2 องศาอิสระ ใช้สเต็ปเปอร์มอเตอร์ 2 ตัว ซึ่งมีเซ็นเซอร์แม่เหล็กติดไว้สำหรับอ่านตำแหน่ง หัวมีเว็บแคมสำหรับตรวจจับวัตถุและเซ็นเซอร์อัลตราโซนิกสำหรับวัดระยะทาง ส่วนประกอบทั้งหมดของหัว (ยกเว้นกล้อง) ต่อกับบอร์ด Arduino Nano
หุ่นยนต์ตัวนี้ใช้พลังงานจากแบตเตอรี่ LiPo 2 ก้อน: ก้อนหนึ่งสำหรับฐานและขา อีกก้อนสำหรับแขนและหัว
สู้งานนะน้อง! ห้ามช็อตนะตัวนี้
ซอฟต์แวร์และระบบควบคุม
บอร์ด A-Star / Arduino ตัวนี้มันรันเฟิร์มแวร์พิเศษที่เรียกว่า Scufy ซึ่งสามารถควบคุมสเต็ปเปอร์มอเตอร์หลายตัวและอ่านเซ็นเซอร์ได้หลากหลายแบบ ทั้งปุ่มกด อัลตราโซนิก โพเทนชิโอมิเตอร์ อินฟราเรด, LIDAR ฯลฯ เฟิร์มแวร์ Arduino แบบกำหนดเองตัวนี้ทำหน้าที่เป็นชั้นกลาง (abstraction layer) ระหว่างฮาร์ดแวร์กับซอฟต์แวร์ระดับสูงบน PC
ซอฟต์แวร์บน PC ถูกสร้างขึ้นโดยใช้ไลบรารีหลายตัว ซึ่งส่งคำสั่งผ่านพอร์ตอนุกรม (serial port) ไปยังบอร์ด A-Star/Arduino และไปยังคอนโทรลเลอร์ RoboClaw
หุ่นยนต์ตัวนี้สามารถทำงานในโหมด รีโมทคอนโทรล ผ่านอินเทอร์เฟซบนสมาร์ทโฟน หรือจะโปรแกรมให้ทำงานแบบ นำทางอัตโนมัติ (Autonomous Navigation) ก็ได้ แต่ละข้อต่อ (joint) ถูกปรับค่า PID มาแล้วเพื่อการเคลื่อนไหวที่ลื่นไหล โดยลูปฟีดแบ็กทำงานบนไมโครคอนโทรลเลอร์โหนดท้องถิ่นเพื่อลดความหน่วง (latency) ให้เหลือน้อยที่สุด
คำสั่งต่างๆ จะถูกส่งผ่าน WebSocket Server จากไคลเอนต์ HTML5 ที่รันบนเบราว์เซอร์ ไปยัง PC ควบคุม (ซึ่งมักจะเป็นแล็ปท็อปหรือ SBC) ที่ติดตั้งอยู่บนตัวหุ่นยนต์ เราสามารถควบคุมหุ่นยนต์ด้วยมือผ่านแอปพลิเคชัน HTML5 ที่รันในเบราว์เซอร์บนสมาร์ทโฟนได้ แอปพลิเคชัน HTML5 นั้นจะเชื่อมต่อกับเซิร์ฟเวอร์ที่รันอยู่บนหุ่นยนต์ เซิร์ฟเวอร์ตัวนี่แหละที่เป็นตัวดำเนินการคำสั่งต่างๆ (เช่น เคลื่อนที่, อ่านเซ็นเซอร์) จริงๆ เซิร์ฟเวอร์ตัวนี้ถูกสร้างขึ้นบน WebSocket เบอร์เบาๆ ตัวหนึ่ง
คอมพิวเตอร์วิทัศน์ (Computer Vision): ใช้ OpenCV เพื่อการรับรู้สภาพพื้นที่และการจดจำวัตถุผ่านเว็บแคมที่ติดตั้งอยู่ในส่วนหัวและกริปเปอร์
ด้วยองค์ประกอบทั้งหมดนี้ หุ่นยนต์ตัวนี้จึงสามารถนำไปใช้ในสถานการณ์ได้หลากหลาย มาดูตัวอย่างสั้นๆ ว่ามันทำอะไรได้บ้าง (ถ้าโปรแกรมถูกต้องนะ):
- ทำความสะอาดบ้าน
- เตรียมอาหาร
- ทำความสะอาดโต๊ะในครัว
- ทำงานในสวน
- งานเฝ้าระวัง
- งานกู้ภัย
- การจัดการภัยพิบัติ
- ดับเพลิง
- ... และอื่นๆ อีกเพียบ















