สารบัญ:
- ขั้นตอนที่ 1: การสร้างขาและวงเล็บเซอร์โว
- ขั้นตอนที่ 2: การเพิ่มประสิทธิภาพ Femur และ Tibia
- ขั้นตอนที่ 3: การออกแบบวงเล็บเซอร์โว
- ขั้นตอนที่ 4: การตัดและประกอบวงเล็บเซอร์โว
- ขั้นตอนที่ 5: การประกอบขาและการทดสอบ
- ขั้นตอนที่ 6: การสร้างและการประกอบร่างกาย
- ขั้นตอนที่ 7: การทดสอบอิเล็กทรอนิกส์ครั้งแรก
- ขั้นตอนที่ 8: การทดสอบการเดินอย่างง่ายครั้งแรก
- ขั้นตอนที่ 9: การพอร์ตคอนโทรลเลอร์ PS3
- ขั้นตอนที่ 10: การทดสอบ IK ครั้งแรก
- ขั้นตอนที่ 11: การทดสอบ IK ครั้งที่สอง
- ขั้นตอนที่ 12: Tibia และ Coxa EV3
- ขั้นตอนที่ 13: กระดูกโคนขาเรียบ
- ขั้นตอนที่ 14: ขั้นตอนสุดท้าย
วีดีโอ: Hexapod: 14 ขั้นตอน (พร้อมรูปภาพ)
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ฉันสนใจที่จะเล่นและสร้างหุ่นยนต์เป็นเวลาหลายปี และฉันได้รับแรงบันดาลใจจาก 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 ของฉัน: