กายวิภาคและการออกแบบหุ่นยนต์ Mini Cheetah ตอนที่ 1 Actuator

Comdet Phaudphut
3 min readMar 17, 2019

--

เมื่อไม่นานมานี้หลาย ๆ คนคงได้เห็นหุ่นยนต์สี่ขา ที่ชื่อ Mini Cheetah จาก MIT ผ่านตากันมาบ้าง หากใครยังไม่เคยชมก็ดูได้จาก Video ด้านล่างนี้ได้เลย

หลังจากที่ได้ดูครั้งแรกก็ได้แต่คิดว่าหุ่นนี่มันสุดยอดมาก อยากจะลองทำตามบ้าง ผมจึงได้ไปลองค้นหาข้อมูลดูก็ได้เห็นความแจ๋งสุด ๆ ใครจะเชื่อว่าหุ่นนี่จะเป็นโปรเจคจบของเด็กปี 4 !!! (แต่ก็นะนี่คือ MIT) ซึ่งคนทำชื่อ Benjamin G. Katz นักศึกษา สาขา Mechanical Engineering (โดยผลงานนี้ใช้เพื่อการเรียนต่อโท ของเขาด้วย) ซึ่งคนนี้เจ๋งในระดับที่ทำเครื่องแก้รูบิค ภายในเวลา 0.38 วินาที (ชนะ world record [1]ที่ทำไว้ 0.637 วินาทีอย่างขาดลอย) โดยเอกสารทั้งหมดในบทความนี้เรียบเรียงจากวิทยานิพนธ์ ของ Ben[2] + เนื้อหาในบล็อคของเขาเอง [3] และ บล็อคภาษาจีนที่เรียบเรียงและพยายามก๊อปโครงสร้างไปใช้ในหุ่นจีนชื่อ XDog อยู่ [4] เรียกได้ว่าโปรเจคนานาชาติจริง ๆ 555++

เอาหล่ะเรามาเข้าเรื่องของหุ่น mini cheetah กันดีกว่า ในการออกแบบนั้นแบ่งออกเป็นหลาย ๆ ส่วนด้วยกัน ผมจะแบ่งออกเป็นตอนเพื่อให้อ่านง่าย โดยเราจะเริ่มที่ส่วน “ตัวกระตุ้น” (Actuator) เพื่อความเข้าใจที่ตรงกันขอเขียนภาษาอังกฤษดีกว่า

ส่วนของการออกแบบนั้นเน้นให้ราคาถูก ใช้งานง่าย Actuator แต่ละตัวราคาต่ำกว่า 300$ เท่านั้น(เมื่อเทียบกับหุ่น Cheetah 2 และ 3 ที่มีขนาดใหญ่และแพงกว่า) โดยการออกแบบอ้างอิงจาก Cheetah รุ่นเดิม ซึ่งมีส่วนประกอบดังนี้

Motor

มอเตอร์ที่ใช้ในหุ่นจะเป็นมอเตอร์ Outrunner (นิยมใช้กันในโดรน) ซึ่งตัวที่ใช้ในหุ่นนี้ไม่ได้เปิดเผยรุ่นอย่างชัดเจน แต่อ้างอิงโมเดลขนาดของ T-Motor U8 โดยบอกว่าประสิทธิภาพและขนาดใกล้เคียงกับ U8 แต่ราคาถูกกว่า ประมาณ 60$-90$ (ซึ่งผมไปหาใน Blog ที่เขาเขียนน่าจะใช้ตัว EX-8 105Kv[5] ลองไปค้น Aliexpress ดูปรากฏราคา 85.5$ เทียบกับ T-motor U8 ราคา 279$) ทำให้หุ่นราคาถูกลงมาก โดยตารางด้านล่าง แสดงแรงบิดเมื่อเทียบกับกระแส จะเห็นได้ว่ากราฟเกือบเป็นเส้นตรงมี error ประมาณ 12% เท่านั้น

ซ้าย Torque vs current ขวา Torque vs constant vs current

Gearbox

มอเตอร์ที่ใช้นั้นไม่ได้มาขับเคลื่อนขาหุ่นโดยตรง แต่ผ่านเกียร์ในอัตราทด 6:1 (0.005 rad / 0.28 °) และที่เจ๋งคือเกียร์นั้นเป็นแบบ planetary gear (ดูภาพด้านล่าง) ที่มีการปรับมอเตอร์และใส่เกียร์เข้าไปในตัวมอเตอร์เลย (พี่จีนพยายามก๊อปตัวนี้อยู่)

การออกแบบและ modify มอเตอร์เพื่อใส่ gearbox เข้าไป
โครงสร้างของ Actuator

ซึ่งการประกอบ gearbox แบบนี้เข้าไปทำให้ actuator ยังคงมีขนาดที่เล็กกระทัดรัดแต่ให้แรงบิดที่สูงกว่าเดิม

actuator เมื่อประกอบเสร็จแล้ว

Controller (3-phase inverter)

สำหรับตัวที่ควบคุมมอเตอร์นั้นถูกออกแบบ PCB ขึ้นมาใหม่โดยคล้ายกับ ESC ทั่วไป ประกอบด้วยไมโครคอนโทรเลอร์ STM32F446, driver DRV8302***(version ใหม่ใช้ DRV8323 แทน ทำให้มีขนาดเล็กกว่าเดิมอีก [7]), half-bridge MOSFET เบอร์ PH7030L และใช้ CAN Bus เป็นตัวสื่อสาร มีขั้วต่อแบต XT-30

คุณสมบัติ

  • 24V power supply
  • 40A peak phase current (ที่จริงอาจจะต่ำกว่านั้นเนื่องจากมีข้อจำกัด thermodynamic ของมอเตอร์)
  • สื่อสารด้วย CAN bus ส่งข้อมูลการวัด position, velocity, estimated torque และ คำสั่ง set position, set velocity, position gain, velocity gain, torque.
  • ความถี่ในการส่งข้อมูลอยู่ที่ 4kHz/ต่อตัว
PCB ของ controller ออกแบบด้วย Eagle (ซ้าย) ด้านหน้า (กลาง) และหลัง (ขวา)

Encoder

ที่ด้านหลังของ PCB จะมี encoder แบบ non-contact magnetic field (คือเอาแม่เหล็กกลม ๆ ไปแปะแกนกลางมอเตอร์ แล้วเอา sensor นี้ไปวางไว้ตรงกลางมันจะวัดมุมได้ละเอียดมาก) ใช้เบอร์ AS5047P ความละเอียด 14bit (aliexpress ตัวละ 6$ [6]) (แต่จริง ๆ แอบเห็นเบอร์แทนราคาถูกกว่า MA730GQ คุณสมบัติเหมือน ๆ กัน) ซึ่งเมื่อประกอบกับมอเตอร์แล้วจะได้ตามรูป

เมื่อทำออกมาเสร็จรวมกับ controller ตัว actuator จะมีคุณสมบัติดังนี้

เนื่องจากการใช้มอเตอร์ที่หาซื้อได้ทั่วไป เมื่อเทียบกับหุ่น Cheetah 2 และ 3 จะพบว่า mini cheetah ให้อัตรากำลังสูงสุด(maximum power/mass output density) = 1417watt/kg ขณะที่ cheetah 2 & 3 ให้กำลังที่ 2400w/kg [8] ถึงจะน้อยกว่าแต่ก็ให้กำลังพอที่จะกระโดดตีลังกาหลังได้เนื่องจากขนาดที่เล็กกว่านั่นเอง

สำหรับตัว Actuator ที่เล่ามาทั้งหมดมอเตอร์หาซื้อได้ที่ Aliexpress [5] pcb controller สามารถ download ได้ที่ https://github.com/bgkatz/3phase_integrated และ โค้ด firmware สามารถ Download ได้ที่ https://os.mbed.com/users/benkatz/code/Hobbyking_Cheetah_Compact/

เอ้า 1–2–3 กราบ ….

อ่านต่อตอนที่ 2

ตอนที่ 2 การออกแบบขาหุ่น

Reference :

[1] http://www.guinnessworldrecords.com/world-records/fastest-robot-to-solve-a-rubiks-cube

[2] https://dspace.mit.edu/handle/1721.1/118671

[3] http://build-its.blogspot.com

[4] https://zhuanlan.zhihu.com/p/58077049

[5] https://www.aliexpress.com/item/ipower/32981605227.html

[6] https://www.aliexpress.com/item/as5048p/32701153287.html

[7] http://build-its-inprogress.blogspot.com/2018/06/integrated-motor-controllers-v2.html

[8] https://dspace.mit.edu/handle/1721.1/75658

--

--

No responses yet