S.A.R.C.A.S.M เครื่องแก้รูบิกอัตโนมัติที่ชวนหงุดหงิดนิดๆ
(github.com/vindar)- S.A.R.C.A.S.M เป็นหุ่นยนต์ฐานพิมพ์ 3D ที่สแกนและแก้รูบิก พร้อมเสริมด้วยคอมเมนต์เสียงเชิงเสียดสี
- ใช้ไมโครคอนโทรลเลอร์ Teensy 4.1 และ ESP32-CAM สำหรับการมองเห็นภาพและการควบคุม
- ใช้ จอแสดงผล ILI9341 เพื่อสร้างกราฟิก 2D·3D, แอนิเมชัน และลิปซิงก์ พร้อมซิงก์ ไฟ RGBW กับเสียง
- สร้างเสียงพูดได้โดยตรงบนอุปกรณ์ด้วย TTS ที่อิง espeak-ng และมีชุดประโยคเชิงเสียดสีรวมอยู่ด้วย
- ต้องแก้ไขไฟล์คอร์ของ Teensy เพื่อให้โค้ดทั้งหมดพอดีกับ RAM และขณะนี้เปิดเผยไว้ในสถานะยังไม่เสร็จสมบูรณ์
ภาพรวมโปรเจกต์
-
S.A.R.C.A.S.M (Slightly Annoying Rubik’s Cube Automatic Solving Machine) เป็นหุ่นยนต์ที่แก้รูบิกโดยอัตโนมัติ
- ประกอบด้วยโครงสร้างฮาร์ดแวร์ที่ผลิตด้วยเครื่องพิมพ์ 3D และระบบควบคุมที่ใช้ Teensy
- สแกนรูบิก คำนวณคำตอบ แล้วส่งเสียงตอบโต้เชิงเสียดสีระหว่างกระบวนการแก้
-
ในรีโพซิทอรีมีทั้งโค้ดและแผนผังวงจร และมีข้อมูลเพิ่มเติมในเธรดฟอรัม Teensy
- ลิงก์ฟอรัม: https://forum.pjrc.com/index.php/…
วิดีโอเดโม
- คลิปสั้น: https://youtube.com/shorts/Xer4mPZZH8E
- เดโมฉบับเต็ม: https://youtu.be/WV52RtuWXk0
ฮาร์ดแวร์และฟังก์ชันหลัก
- ใช้ Teensy 4.1 เป็นคอนโทรลเลอร์หลัก และใช้ ESP32-CAM สำหรับจับภาพ
- ใช้ จอแสดงผล ILI9341 เพื่อทำกราฟิก 2D และ 3D แบบคัสตอม, แอนิเมชัน และลิปซิงก์
- ควบคุมรูบิกด้วย สเต็ปเปอร์มอเตอร์และเซอร์โวมอเตอร์ และตรวจจับข้อผิดพลาดด้วย เซ็นเซอร์ตำแหน่ง
- ไฟ RGBW ซิงก์กับเสียงเพื่อสร้างเอฟเฟกต์ด้านภาพ
- สร้างเสียงบนอุปกรณ์ด้วย TTS ที่อิง espeak-ng และมีชุดประโยคเชิงเสียดสีรวมอยู่ด้วย
คำแนะนำการแก้ไขโค้ด
- ต้องแก้ไขไฟล์คอร์ของ Teensy เพื่อให้โค้ดทั้งหมดพอดีกับ RAM
- ในไฟล์
cores/teensy4/usb_serial.cและcores/teensy4/usb_serial2.c
ต้องลบแอตทริบิวต์DMAMEMที่อยู่หน้าการประกาศอาร์เรย์txbuffer[]และrx_buffer[]
- ในไฟล์
ข้อควรระวัง
- ขณะนี้โปรเจกต์ยังเป็นงานที่กำลังพัฒนาอยู่ และสถานะของรีโพซิทอรีก็ยังไม่เป็นระเบียบและไม่สมบูรณ์
- มีความเป็นไปได้ว่าสถานะนี้จะคงอยู่ต่อไปจนกว่านักพัฒนาจะมีเวลา
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ใช้ Raspberry Pi 2 W และมันทำงานได้ดีในการสับและแก้คิวบ์ 3x3x3 ด้วยเซอร์โวมอเตอร์เพียงสองตัว
ฉันทุ่มเวลาไปกับการสร้างมันมาก แต่ก็เป็นงานที่สนุกจริง ๆ และก็ดีใจที่เห็นคนอื่นสนุกไปกับมัน
ฉันสรุปรายละเอียดเกี่ยวกับฮาร์ดแวร์และซอฟต์แวร์ไว้ใน โพสต์บนฟอรัม Teensy
ฉันไม่รู้วิธีแก้เลยสั่งหนังสือคู่มือมา แต่สิ่งที่ได้รับกลับเป็นหนังสือเกี่ยวกับ group theory ซึ่งเกินความเข้าใจของฉันในวัยรุ่นตอนนั้นมาก
ดูได้จาก วิดีโอ YouTube และ บทความของ Purdue
ยังมี วิดีโอเดโมแบบยาว อีกด้วย
พอใช้ชีวิตอยู่ในโลกซอฟต์แวร์ก็อดสงสัยไม่ได้ว่าการสร้างอะไรแบบนี้ด้วยมือตัวเองจะยากแค่ไหน
ในฐานะคนที่ชอบคิวบ์เป็นงานอดิเรก นี่เหมาะมากในฐานะ เครื่องละลายพฤติกรรม ในออฟฟิศ เพื่อนร่วมงานเดินผ่านมาก็สับคิวบ์แล้วโยนเข้าเครื่อง ทุกคนน่าจะสนุกกัน
สำหรับคนเล่นคิวบ์ เวลาในการสับกินมากกว่าเวลาในการแก้เสียอีก เรื่องที่ควรถูกทำให้เป็นอัตโนมัติคือการสับ
ถ้ามีอุปกรณ์ที่ทำให้คิวบ์เข้าสู่สถานะเฉพาะโดยอัตโนมัติ เพื่อจะได้ฝึกอัลกอริทึมบางชุดซ้ำ ๆ ก็คงดีมาก
รู้สึกเหมือนใช้เวลานาน แต่จริง ๆ แล้วต่างกันไม่มาก
ฉันเองก็เคยลองอะไรคล้าย ๆ กันมาก่อน และตอนหมุนเร็ว ๆ มันไม่เคยกลับมาแก้เสร็จเลย เป็นไปได้มากว่าคุณอาจเผลอใส่ การหมุนสองครั้ง (U2) เข้าไป หรือไม่ก็นับจำนวนครั้งผิด
คำอธิบายทางคณิตศาสตร์ดูได้ที่หน้า 41 ของ เอกสารนี้
ถ้าหมุนในทิศตรงข้าม ก็ทำซ้ำ 63 ครั้งก็พอ ดู ลิงก์นี้
การเคลื่อนไหวของหุ่นยนต์ตัวนี้คล้ายกับงานเก่าของฉันมาก โดยเฉพาะ การแสดงผลบนหน้าจอ ที่ฉันชอบมาก
มนุษย์ทำสองอย่างนี้ไปพร้อมกัน แต่หุ่นยนต์เพียงแค่ทำตามการเคลื่อนไหวที่คำนวณไว้แล้ว ดังนั้นเวลาที่ใช้จึงขึ้นอยู่กับ ความเร็ว ล้วน ๆ
อยากเห็น หุ่นยนต์สไตล์ Adams ออกมาอีกเยอะ ๆ