Hexapod: 14 ขั้นตอน (พร้อมรูปภาพ)
Hexapod: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Hexapod: 14 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Hexapod: 14 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: การใช้โปรแกรม CR-6 Hexapod Robot กับหุ่นยนต์แมงมุม 2025, มกราคม
Anonim

ฉันสนใจที่จะเล่นและสร้างหุ่นยนต์เป็นเวลาหลายปี และฉันได้รับแรงบันดาลใจจาก Zenta อย่างมาก ที่นี่คุณจะพบช่อง Youtube ของเขา https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T และเว็บไซต์ของเขา https://zentasrobots.com.

คุณสามารถหาชุดอุปกรณ์ได้มากมายจากผู้ค้าหลายรายในอินเทอร์เน็ต แต่มีราคาแพงมาก ถึง 1.500$+ สำหรับเฮกซาพอด 4 DoF และชุดคิทจากจีนไม่มีคุณภาพที่ดี ดังนั้นฉันจึงตัดสินใจสร้างใน hexapod ในแบบของฉัน แรงบันดาลใจจาก hexapod Phoenix ของ Zenta คุณจะพบมันได้ในช่อง Youtube ของเขา (และชุดอุปกรณ์ที่คุณสามารถหา https://www.lynxmotion.com/c-117-phoenix.aspx ฉันได้เริ่มสร้างของตัวเองตั้งแต่เริ่มต้น

สำหรับการสร้างหากตั้งเป้าหมาย/ข้อกำหนดต่อไปนี้สำหรับตัวฉันเอง:

1.) สนุกสนานและเรียนรู้สิ่งใหม่ๆ

2.) การออกแบบที่ขับเคลื่อนด้วยต้นทุน (บริษัท ของฉันทำให้ฉันเสียโดยสิ้นเชิง)

3.) ชิ้นส่วนที่ทำจากไม้ระแนง (เพราะคนส่วนใหญ่จะตัดไม้ได้ง่ายกว่าและผมเองก็ตัดไม้ด้วย)

4.) การใช้เครื่องมือฟรี (ซอฟต์แวร์)

ดังนั้นสิ่งที่ฉันใช้ไปแล้ว?

ก) SketchUp สำหรับการออกแบบเครื่องกล

b) ไม้อัดบีช 4 มม. และ 6 มม. (1/4 )

ค) Arduino Uno, Mega, IDE

d) เซอร์โวมาตรฐานดิจิตอล (พบได้ที่ amazon ในราคาที่ดี)

จ) Dosuki และ Bandsaw เครื่องเจาะ กระดาษทราย และตะไบ

ขั้นตอนที่ 1: การสร้างขาและวงเล็บเซอร์โว

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

หลังจากเรียนรู้โดยใช้ SketchUp มาหลายชั่วโมง ฉันก็เสร็จสิ้นการออกแบบขาเป็นครั้งแรก กระดูกโคนขาได้รับการปรับให้เหมาะสมกับขนาดของเซอร์โวฮอร์นที่ฉันใช้อยู่ ขณะที่ฉันพบว่าต้นฉบับดูเหมือนว่าจะมีเส้นผ่านศูนย์กลางประมาณ 1 นิ้ว แต่แตรเซอร์โวของฉันมี 21 มม.

ทำให้งานพิมพ์ที่มีมาตราส่วนถูกต้องทำงานไม่ถูกต้องกับ SketchUp บนคอมพิวเตอร์ของฉัน ดังนั้นฉันจึงบันทึกเป็น PDF ทำการพิมพ์ 100% ทำการวัด และในที่สุดก็พิมพ์อีกครั้งด้วยปัจจัยการปรับขนาดที่ถูกต้อง

ในการลองครั้งแรก ฉันกำลังสร้างงานศิลปะสำหรับสองขาเท่านั้น สำหรับสิ่งนี้ ฉันวางกระดานสองแผ่นซ้อนกัน ติดกาว (สำหรับกระดาษติดผนัง) ผลงานพิมพ์ แล้วตัดชิ้นส่วนออกด้วยเลื่อยวงดนตรีแบบงานฝีมือ

วัสดุที่ใช้: ไม้อัดบีช 6 มม. (1/2 )

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

ในการติดตั้งเซอร์โวฮอร์นผ่านกระดูกโคนขา จะต้องตัดวัสดุ 2 มม. สามารถทำได้หลายวิธี ด้วยเราเตอร์หรือสว่าน Forstner Forstner มีเส้นผ่านศูนย์กลางเพียง 200 มม. ดังนั้นฉันจึงต้องใช้สิ่วทำหลังสงคราม

ขั้นตอนที่ 2: การเพิ่มประสิทธิภาพ Femur และ Tibia

ฉันเปลี่ยนการออกแบบเล็กน้อย

1.) ตอนนี้ Tibia พอดีกับเซอร์โวที่ฉันใช้ดีกว่ามาก

2.) กระดูกโคนขาตอนนี้เล็กลงเล็กน้อย (ประมาณ 3 นิ้วจากแกนถึงแกน) และประกอบเข้ากับฮอร์นเซอร์โว (เส้นผ่านศูนย์กลาง 21 มม.)

ฉันใช้แผ่นไม้อัดหนา 6 มม. จำนวน 6 แผ่นแล้วติดกาวด้วยเทปกาวสองหน้า หากยังไม่แข็งแรงพอ คุณสามารถเจาะรูผ่านแผ่นไม้ทั้งหมด และใช้สกรูยึดเข้าด้วยกัน จากนั้นชิ้นส่วนจะถูกตัดออกในครั้งเดียวด้วยวงดนตรี หากคุณแข็งแกร่งพอ คุณยังสามารถใช้จิ๊กซอว์:-)

ขั้นตอนที่ 3: การออกแบบวงเล็บเซอร์โว

ตอนนี้ได้เวลาออกแบบโครงยึดเซอร์โวแล้ว นี้ได้รับการออกแบบอย่างมากที่เกี่ยวข้องกับเซอร์โวที่ใช้ที่ฉันเคยใช้ ทุกส่วนทำจากไม้บีชไม้อัด 6 มม. ดูขั้นตอนต่อไป

ขั้นตอนที่ 4: การตัดและประกอบวงเล็บเซอร์โว

อีกครั้งฉันได้ตัดหกส่วนพร้อมกันทั้งหมดบนวงดนตรี วิธีการก็เหมือนเดิม

1.) ใช้เทปกาวสองหน้าติดกระดานเข้าด้วยกัน

2.) สกรูเพื่อให้มีความมั่นคงมากขึ้นในขณะที่ตัด (ไม่แสดงในที่นี้)

จากนั้นฉันก็ใช้กาวงานฝีมือจำลองเพื่อติดเข้าด้วยกันและสกรู SPAX สองตัว (ยังไม่ได้ใส่ในรูปภาพ)

เมื่อเทียบกับเฮกซาพอดดั้งเดิม ฉันยังไม่ได้ใช้ตลับลูกปืนเม็ดกลม แต่ฉันใช้สกรูเพียง 3 มม. แหวนรอง และน็อตยึดตัวเองในภายหลังเพื่อประกอบขากับตัวเครื่อง/แชสซี

ขั้นตอนที่ 5: การประกอบขาและการทดสอบ

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

ในที่สุด คุณจะได้ทดสอบการเคลื่อนไหวครั้งแรก

ขั้นตอนที่ 6: การสร้างและการประกอบร่างกาย

ร่างกายที่ฉันพยายามสร้างใหม่จากภาพถ่าย ตามข้อมูลอ้างอิง ฉันใช้ฮอร์นเซอร์โว ซึ่งฉันคิดว่ามีเส้นผ่านศูนย์กลาง 1 นิ้ว ดังนั้น ด้านหน้าจะมีความกว้าง 4.5 นิ้ว และตรงกลาง 6.5 นิ้ว สำหรับความยาว ฉันถือว่า 7 นิ้ว ต่อมาฉันซื้อชุดแต่งรอบคันเดิมและเปรียบเทียบ ฉันเข้าใกล้ต้นฉบับมาก ในที่สุดฉันก็ได้สร้างเวอร์ชันที่สามซึ่งเป็นสำเนาต้นฉบับ 1:1

ชุดแต่งรอบคันชุดแรกที่ฉันทำจากไม้ไม้อัดหนา 6 มม. คุณจะเห็นรุ่นที่สองที่ทำจากไม้ไม้อัดหนา 4 มม. ซึ่งฉันพบว่ามีความแข็งแรงและแข็งพอ ต่างจากชุดเดิมที่ฉันติดตั้งเซอร์โวฮอร์นไว้ด้านบน ผ่านวัสดุ (คุณสามารถเห็นสิ่งนี้ด้วยกระดูกโคนขา) เหตุผลคือฉันไม่มีอารมณ์ที่จะซื้อแตรอลูมิเนียมราคาแพง แต่ฉันต้องการใช้แตรพลาสติกที่จัดส่งแล้วแทน อีกเหตุผลหนึ่งคือ ฉันเข้าใกล้เซอร์โวมากขึ้น แรงเฉื่อยจึงน้อยลง ทำให้การเชื่อมต่อมีเสถียรภาพมากขึ้น

อนึ่ง บางครั้งก็เป็นการดีที่จะมีพระพิฆเนศขึ้นเรือ ขอบคุณ Tejas เพื่อนของฉัน:-)

ขั้นตอนที่ 7: การทดสอบอิเล็กทรอนิกส์ครั้งแรก

ศิลปะทั้งหมดถูกประกอบเข้าด้วยกันในขณะนี้ โอเค ฉันรู้ว่ามันไม่ได้ดูสวยมาก แต่จริงๆ แล้วฉันกำลังทดลองอยู่เยอะมาก ในวิดีโอ คุณสามารถเห็นการเล่นลำดับที่กำหนดไว้ล่วงหน้าง่ายๆ บางอย่าง ที่จริงแล้วไม่มีจลนศาสตร์ผกผันที่นำมาใช้ การเดินที่กำหนดไว้ล่วงหน้าทำงานไม่ถูกต้องเนื่องจากเป็นการออกแบบสำหรับ 2 DoF

ในตัวอย่างนี้ ฉันใช้ตัวควบคุมเซอร์โว SSC-32U จาก Lynxmotion คุณจะพบได้ที่นี่:

หลายวันก่อนฉันยังใช้ตัวควบคุม PWM อีกตัว (ตัวควบคุม Adafruit 16-channel PWM, https://www.adafruit.com/product/815) แต่ SCC มีคุณสมบัติที่ดีจริง ๆ เช่นทำให้เซอร์โวช้าลง

เท่านี้ก็เรียบร้อย ต่อไป ฉันต้องหาวิธีการทำงานของ inverse kinematics (IK) บางทีฉันอาจจะตั้งโปรแกรมการเดินง่ายๆ เหมือนที่กำหนดไว้ล่วงหน้าในตัวควบคุม SSC ฉันพบตัวอย่างที่พร้อมใช้งานแล้วที่นี่ https://github.com/KurtE/Arduino_Phoenix_Parts แต่ฉันยังไม่ได้ใช้งาน ไม่รู้ว่าทำไม แต่ฉันกำลังทำงานอยู่

นี่คือรายการสิ่งที่ต้องทำสั้นๆ

1.) ตั้งโปรแกรมการเดินอย่างง่าย ๆ เช่น build in ใน SSC

2.) ตั้งโปรแกรมคลาสคอนโทรลเลอร์ PS3 / wrapper สำหรับ Arduino Phoenix

3.) รับรหัสจาก KurtE ที่ทำงานหรือเขียนรหัสของฉันเอง

เซอร์โวที่ฉันใช้อยู่ ฉันพบที่ Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1 ราคาค่อนข้างดี แต่คุณภาพน่าจะดีกว่านี้มาก

ขั้นตอนที่ 8: การทดสอบการเดินอย่างง่ายครั้งแรก

ดังที่ได้กล่าวไว้ในขั้นตอนที่แล้ว ฉันพยายามตั้งโปรแกรมลำดับการเดินของตัวเอง นี่เป็นของเล่นธรรมดาๆ อย่างของเล่นกลไก และไม่ได้ปรับให้เหมาะกับร่างกายที่ฉันใช้อยู่ ตัวตรงธรรมดาจะดีกว่ามาก

ดังนั้นขอให้คุณมีความสุขมาก ฉันต้องเรียนรู้ IK ตอนนี้;-)

หมายเหตุ: เมื่อคุณดูขาอย่างระมัดระวัง คุณจะเห็นว่าเซอร์โวบางตัวมีพฤติกรรมแปลก ๆ ที่ฉันหมายถึงคือ มันไม่ได้เคลื่อนที่อย่างราบรื่นเสมอไป บางทีฉันอาจต้องเปลี่ยนเซอร์โวตัวอื่น

ขั้นตอนที่ 9: การพอร์ตคอนโทรลเลอร์ PS3

เช้านี้ฉันกำลังเขียนเสื้อคลุมสำหรับรหัสฟีนิกซ์ ฉันใช้เวลาประมาณ 2-3 ชั่วโมงในการทำเช่นนั้น ในที่สุดรหัสก็ไม่ได้ถูกดีบั๊กและฉันได้เพิ่มการดีบักพิเศษบางอย่างในคอนโซล มันใช้งานได้แล้ว:-)

แต่เมื่อผมรันโค้ด Phoenix ดูเหมือนว่าเซอร์โวทั้งหมดจะกลับด้าน (ทิศทางตรงกันข้าม)

เมื่อคุณต้องการลองด้วยตัวเอง คุณต้องใช้รหัสจาก KurtE เป็นพื้นฐาน https://github.com/KurtE/Arduino_Phoenix_Parts ทำตามคำแนะนำในการติดตั้งโค้ด คัดลอกโฟลเดอร์ Phoenix_Input_PS ไปยังโฟลเดอร์ไลบรารี Arduino ของคุณ (โดยปกติจะเป็นโฟลเดอร์ย่อยของโฟลเดอร์สเก็ตช์ของคุณ) และโฟลเดอร์ Phoenix_PS3_SSC32 ไปยังโฟลเดอร์สเก็ตช์ของคุณ

ข้อมูล: หากคุณไม่มีประสบการณ์กับ Arduino และเครื่องมือและมีปัญหา โปรดติดต่อชุมชน Arduino (www.arduino.cc) เมื่อคุณมีปัญหากับรหัสฟีนิกซ์จาก KurtE โปรดติดต่อเขา ขอบคุณ.

คำเตือน: ฉันคิดว่าการเข้าใจโค้ดนั้นไม่มีอะไรสำหรับผู้เริ่มต้น ดังนั้นคุณต้องคุ้นเคยกับ C/C++ การเขียนโปรแกรม และอัลกอริธึมให้มาก โค้ดดังกล่าวยังมีโค้ดที่คอมไพล์ตามเงื่อนไขจำนวนมาก ซึ่งควบคุมโดย #defines ซึ่งทำให้อ่านและเข้าใจได้ยาก

รายการฮาร์ดแวร์:

  • Arduino Mega 2560
  • โฮสต์ชิลด์ USB (สำหรับ Arduino)
  • คอนโทรลเลอร์ PS3
  • ตัวควบคุมเซอร์โว LynxMotion SSC-32U
  • แบตเตอรี่ 6 V (โปรดอ่านข้อกำหนดเกี่ยวกับ HW ทั้งหมดของคุณ มิฉะนั้นคุณอาจสร้างความเสียหายได้)
  • Arduino IDE
  • สาย USB สวิตช์ และชิ้นส่วนขนาดเล็กอื่นๆ ตามต้องการ

หากคุณชอบคอนโทรลเลอร์ PS2 คุณจะพบข้อมูลมากมายในอินเทอร์เน็ตเกี่ยวกับวิธีการเชื่อมต่อกับ Arduino

ดังนั้นโปรดอดทน ฉันจะอัปเดตขั้นตอนนี้เมื่อซอฟต์แวร์ทำงานอย่างถูกต้อง

ขั้นตอนที่ 10: การทดสอบ IK ครั้งแรก

ฉันพบพอร์ตอื่นของรหัส Phoenix ซึ่งทำงานได้ดีกว่ามาก (https://github.com/davidhend/Hexapod) บางทีฉันอาจมีปัญหาในการกำหนดค่ากับรหัสอื่น โค้ดดูเหมือนจะค่อนข้างบั๊กกี้และการเดินนั้นดูไม่ค่อยราบรื่นนัก แต่สำหรับฉันนี่เป็นก้าวที่ยิ่งใหญ่ข้างหน้า

โปรดพิจารณาว่าโค้ดนี้เป็นรุ่นทดลองจริงๆ ฉันต้องทำความสะอาดและแก้ไขเป็นจำนวนมากและจะเผยแพร่การอัปเดตในวันถัดไป พอร์ต PS3 ใช้พอร์ต PS3 ที่เผยแพร่ไปแล้ว และฉันได้ทิ้งไฟล์ PS2 และ XBee แล้ว

ขั้นตอนที่ 11: การทดสอบ IK ครั้งที่สอง

วิธีแก้ปัญหานั้นง่ายมาก ฉันต้องแก้ไขค่าการกำหนดค่าบางอย่างและกลับมุมเซอร์โวทั้งหมด ตอนนี้ใช้งานได้:-)

ขั้นตอนที่ 12: Tibia และ Coxa EV3

ฉันไม่สามารถต้านทานได้ ดังนั้นฉันจึงสร้างกระดูกหน้าแข้งและโคซ่าใหม่ (วงเล็บเซอร์โว) นี่เป็นรุ่นที่สามที่ฉันทำ อันใหม่มีรูปร่างกลมกว่าและมีรูปลักษณ์แบบออร์แกนิก/ไบโอนิคมากขึ้น

ดังนั้นสถานะที่แท้จริงคือ hexapod ใช้งานได้ แต่ยังมีปัญหาบางอย่างอยู่

1.) ไม่พบสาเหตุที่ BT มีดีเลย์ 2..3 วินาที

2.) คุณภาพของเซอร์โวไม่ดี

สิ่งที่ต้องทำ:

* การเดินสายของเซอร์โวต้องได้รับการปรับปรุง

* ต้องการที่ใส่แบตเตอรี่ที่ดี

* ต้องหาวิธีติดตั้งอุปกรณ์อิเล็กทรอนิกส์

* ปรับเทียบเซอร์โวอีกครั้ง

* เพิ่มเซ็นเซอร์และตัวตรวจสอบแรงดันไฟฟ้าสำหรับแบตเตอรี่

ขั้นตอนที่ 13: กระดูกโคนขาเรียบ

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

ก่อนที่จะเจาะเข้าไปในกระดูกโคนขา ควรเจาะรูทั้งหมด มิฉะนั้น อาจกลายเป็นเรื่องยาก ฮอร์นเซอร์โวเข้ากันได้ดีมาก ขั้นตอนต่อไป ซึ่งไม่ได้แสดงในที่นี้ คือการทำให้ขอบเป็นทรงกลม สำหรับสิ่งนี้ ฉันใช้บิตเร้าเตอร์ที่มีรัศมี 3 มม.

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

ขั้นตอนที่ 14: ขั้นตอนสุดท้าย

ฉันจะจบการกวดวิชานี้ตอนนี้ ไม่เช่นนั้นมันจะกลายเป็นเรื่องราวที่ไม่รู้จบ:-)

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

มุมมองด้านหลัง: เซ็นเซอร์กระแสไฟ 20 แอมป์ ด้านซ้ายของหม้อ 10 k เมื่อหุ่นยนต์เดิน มันจะกินไฟอย่างง่าย 5 แอมป์ ด้านขวาของหม้อ 10 k คุณจะเห็น OLED 128x64 พิกเซลแสดงข้อมูลสถานะบางอย่าง

มุมมองด้านหน้า: เซ็นเซอร์อัลตราโซนิกอย่างง่าย HC-SR04 ซึ่งยังไม่ได้รวมเข้ากับ SW

มุมมองด้านขวา: คันเร่ง MPU6050 และไจโร (6 แกน)

มุมมองด้านซ้าย: ลำโพง Piezo

การออกแบบทางกลตอนนี้เสร็จสิ้นไม่มากก็น้อย ยกเว้นเซอร์โว ดังนั้น งานต่อไปจะรวมเซ็นเซอร์บางตัวเข้ากับ SW สำหรับสิ่งนี้ ฉันได้สร้างบัญชี GitHub ด้วย SW ที่ฉันใช้อยู่ ซึ่งอิงตามสแนปชอตของ Phoenix SW ของ KurtE

OLED:

GitHub ของฉัน: