[BYOB] หุ่นยนต์เคลื่อนที่ด้วยขา

byob-legged-robot

** บทความนี้เป็นส่วนหนึ่งของบทความชุด Build Your Own Bot แนะนำการสร้างหุ่นยนต์ด้วยตัวเอง **

เราได้กล่าวถึงหุ่นยนต์ที่เคลื่อนที่ด้วยล้อและสายพานไปแล้ว แต่ในธรรมชาติไม่มีล้อ เพราะล้อเป็นสิ่งที่มนุษย์ประดิษฐ์ขึ้นเพื่อให้การเคลื่อนที่ในสภาพแวดล้อมที่มนุษย์สร้างขึ้น (ถนน พื้นเรียบ) เป็นไปอย่างมีประสิทธิภาพ แต่เมื่อหุ่นยนต์ต้องเคลื่อนที่ในพื้นที่ขรุขระ เป็นขั้น เป็นหลุมเป็นบ่อ พื้นที่ที่ไม่ได้ถูกสร้างให้เรียบ ล้อเริ่มจะมีปัญหาในการเคลื่อนที่ ทำให้นักพัฒนาหุ่นยนต์เริ่มหันกลับไปมองว่าธรรมชาติจัดการกับเรื่องเหล่านี้อย่างไร ธรรมชาติสร้างให้สัตว์ใช้ขาเดิน

ในการสร้างหุ่นยนต์ที่เคลื่อนที่ด้วยขา มีประเด็นที่เกี่ยวข้อง เช่น

  • จำนวนขา
    • จำนวนขาที่น้อยที่สุดที่จะเคลื่อนที่ได้คือ 1 ขา!! แต่หุ่นยนต์ 1 ขาจะเดินไม่ได้ ต้องกระโดดเอา

    • จำนวนขาที่น้อยที่สุดที่จะก้าวเดินได้คือ 2 ขา คือเดินคล้ายมนุษย์ หุ่นยนต์ 2 ขา เวลายืนอยู่นิ่งจะอยู่ในสภาวะเสถียรภาพเชิงสถิตย์แบบลบ (negative static stability) คือ ถ้าไม่มีอะไรไปรบกวน ก็จะยืนได้ แต่ถ้ามีอะไรไปผลัก หุ่นยนต์จะเริ่มล้ม เพื่อไม่ให้ล้ม หุ่นยนต์จะต้องเริ่มก้าวเดิน

    • จำนวนขาที่น้อยที่สุดที่จะยืนอยู่นิ่งได้โดยมีเสถียรภาพเชิงสถิตย์แบบบวก (positive static stability) คือ ยืนนิ่งได้แม้มีอะไรไปผลัก (ไม่ได้ผลักแรงมากเกินไป) คือ 3 ขา และยืนให้น้ำหนักตกอยู่ในเส้นสมมติบนพื้นที่ลากระหว่างขาทุกขาที่แตะพื้น (support polygon) แต่เมื่อหุ่นยนต์ 3 ขา ก้าวเดิน ก็จะเหลือแค่ 2 ขาที่แตะพื้น ทำให้ support polygon เหลือแค่เส้นตรงที่ลากระหว่างขา 2 ขาที่แตะพื้น ทำให้หุ่นยนต์ไม่อยู่ในเสถียรภาพเชิงสถิตย์อีกต่อไป และเริ่มล้ม ถ้าไม่อยากล้ม ต้องเริ่มก้าวเดิน

      แสดง support polygon ในหุ่นยนต์ที่มีจำนวนขาและท่าทางแตกต่างกัน
      แสดง support polygon ในหุ่นยนต์ที่มีจำนวนขาและท่าทางแตกต่างกัน

    • จำนวนขาที่น้อยที่สุดที่จะเดินได้โดยมีเสถียรภาพเชิงสถิตย์แบบบวก คือ 4 ขา เมื่อเริ่มก้าวเดิน ก็ยังมี 3 ขาที่แตะพื้น หากน้ำหนักของหุ่นยนต์ตกอยู่ใน support polygon ของ 3 ขานั้น หุ่นยนต์ก็จะไม่ล้ม

    • ขายิ่งมากยิ่งมีโอกาสทำให้ Support polygon ใหญ่ เพราะมีขาให้แตะพื้นได้มาก แต่ก็ทำให้กลไกซับซ้อน

  • องศาอิสระ (degree of freedom) เป็นตัวกำหนดความสามารถของการเดินว่าจะสามารถทำท่าทางต่าง ๆ ได้มากขนาดไหน
    • ขา 1 องศาอิสระ เป็นขาที่ง่ายที่สุด มักใช้กลไกในการแปลงการหมุนของมอเตอร์ไปหมุนให้ขาให้เคลื่อนที่โค้งไปข้างหน้าเพื่อก้าวและดันเป็นเส้นตรงไปข้างหลังเพื่อผลักตัวเองไปข้างหน้า ขา 1 องศาอิสระสร้างได้ง่าย แต่ความสามารถจำกัด เพราะระยะการก้าวเดิน (stride length) และ ระยะการยกขา (step length) คงที่  หากมีสิ่งกีดขวางก็จะเป็นอุปสรรคต่อการเดิน

    • ขา 2 องศาอิสระแบบแกว่งขาด้านข้าง สามารถควบคุม stride length และ step length ได้ ทำให้ก้าวข้ามสิ่งกีดขวางได้

    • ขา 2 องศาอิสระแบบมีหัวเข่า ทำให้การยืด ย่อขาทำได้เยอะมาก มี step lenght มาก ทำให้ก้าวข้ามสิ่งกีดขวางได้ดี และเนื่องจากมีขา 2 ท่อนเพื่อควบคุมระยะความสูงของหุ่นยนต์จากพื้น ทำให้การก้าวเดินนิ่มนวล ตัวหุ่นยนต์ไม่ขยับขึ้นลงเยอะ

    • ขา 3 องศาอิสระ เป็นขาที่มีหัวเข่าและแกว่งด้านข้างได้ ก้าวเดินได้เหมือนมนุษย์และสัตว์ทั่วไป ตัวอย่างเช่นหุ่นยนต์ 2 ขาข้างต้น
  • รูปแบบการเดิน มี 2 รูปแบบหลัก ๆ ได้แก่
    • การเดินด้วยเสถียรภาพเชิงสถิตย์ (static stability) คือ การเดินที่ขณะใด ๆ หุ่นยนต์จะอยู่ทรงตัวอยู่ได้อย่างเสถียร น้ำหนักตกลงบนเท้าหรือตกอยู่ใน support polygon ถ้าให้หยุดขณะที่เท้าลอยอยู่กับพื้นก็ยังทรงตัวอยู่ได้ เป็นการเดินที่ช้า

    • การเดินด้วยเสถียรภาพเชิงจลน์ (dynamic stability) คือ การเดินที่ขณะใด ๆ หุ่นยนต์จะมีความเร่ง และใช้ความเร่งนั้นช่วยทรงตัว ไม่สามารถหยุดอยู่กับที่ได้ ต้องเดินไปเรื่อย ๆ เช่น หุ่นยนต์ในวิดีโอหุ่นยนต์กระโดดขาเดียวข้างต้น
  • ท่าทางการเดิน (gait) เช่น เดินช้า เดินเร็ว เดินย่อเข่า การแกว่งเท้า การก้าวขาไหนก่อนหลังเป็นลำดับอย่างไร

เช่นเดียวกับกรณีของหุ่นยนต์ที่เคลื่อนที่ด้วยล้อ หุ่นยนต์เคลื่อนที่ด้วยขาก็ไม่ได้มีประสิทธิภาพสูงสุดในทุกสภาพแวดล้อม จึงมีการพัฒนาหุ่นยนต์ที่ใช้ขาเดิน แต่ปลายขาติดล้อ ทำให้เดินก็ได้ วิ่งก็ดี

ภาพ

** บทความนี้เป็นส่วนหนึ่งของบทความชุด Build Your Own Bot แนะนำการสร้างหุ่นยนต์ด้วยตัวเอง **

LINE it!