สารบัญ:
วีดีโอ: สร้างหุ่นยนต์ Maze Runner: 3 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
หุ่นยนต์แก้ปัญหาเขาวงกตมีต้นกำเนิดมาจากทศวรรษ 1970 ตั้งแต่นั้นมา IEEE ได้จัดการแข่งขันการแก้เขาวงกตที่เรียกว่า Micro Mouse Contest เป้าหมายของการแข่งขันคือการออกแบบหุ่นยนต์ที่จะหาจุดกึ่งกลางของเขาวงกตให้เร็วที่สุด อัลกอริธึมที่ใช้ในการแก้เขาวงกตอย่างรวดเร็วโดยทั่วไปแบ่งออกเป็นสามประเภท การค้นหาแบบสุ่ม การทำแผนที่เขาวงกต และวิธีการติดตามกำแพงด้านขวาหรือด้านซ้าย
วิธีที่มีประสิทธิภาพมากที่สุดคือวิธีการตามผนัง ในวิธีนี้ หุ่นยนต์จะเดินตามกำแพงด้านขวาหรือด้านซ้ายในเขาวงกต หากจุดทางออกเชื่อมต่อกับผนังด้านนอกของเขาวงกต หุ่นยนต์จะพบทางออก บันทึกย่อของแอปนี้ใช้วิธีต่อไปนี้ในกำแพงด้านขวา
ฮาร์ดแวร์
แอปพลิเคชันนี้ใช้:
- 2 เซ็นเซอร์ระยะอนาล็อกที่คมชัด
- เซ็นเซอร์ติดตาม
- ตัวเข้ารหัส
- มอเตอร์และตัวขับมอเตอร์
- Silego GreenPAK SLG46531V
- ตัวควบคุมแรงดันไฟฟ้า, โครงหุ่นยนต์
เราจะใช้เซ็นเซอร์วัดระยะแบบแอนะล็อกเพื่อกำหนดระยะห่างจากผนังด้านขวาและด้านหน้า เซ็นเซอร์วัดระยะ Sharp เป็นตัวเลือกยอดนิยมสำหรับหลายโครงการที่ต้องการการวัดระยะทางที่แม่นยำ เซ็นเซอร์ IR นี้ประหยัดกว่าเครื่องวัดระยะโซนาร์ แต่ให้ประสิทธิภาพที่ดีกว่าทางเลือก IR อื่นๆ มาก มีความสัมพันธ์ที่ไม่เชิงเส้นและผกผันระหว่างแรงดันเอาต์พุตของเซ็นเซอร์กับระยะทางที่วัดได้ พล็อตที่แสดงความสัมพันธ์ระหว่างเอาต์พุตเซ็นเซอร์และระยะทางที่วัดได้แสดงไว้ใน รูปที่ 1
เส้นสีขาวตัดกับพื้นสีดำถูกกำหนดเป็นเป้าหมาย เราจะใช้เซ็นเซอร์ติดตามเพื่อตรวจจับเส้นสีขาว เซ็นเซอร์ติดตามมีเอาต์พุตแบบอะนาล็อก 5 ช่อง และข้อมูลที่ส่งออกจะได้รับอิทธิพลจากระยะทางและสีของวัตถุที่ตรวจพบ จุดที่ตรวจพบด้วยการสะท้อนแสงอินฟราเรดที่สูงขึ้น (สีขาว) จะทำให้ค่าเอาต์พุตสูงขึ้น และการสะท้อนแสงอินฟราเรดที่ต่ำกว่า (สีดำ) จะทำให้ค่าเอาต์พุตลดลง
เราจะใช้ตัวเข้ารหัสล้อ pololu เพื่อคำนวณระยะทางที่หุ่นยนต์เดินทาง บอร์ดเข้ารหัสพื้นที่สี่เหลี่ยมจัตุรัสนี้ออกแบบมาเพื่อทำงานร่วมกับมอเตอร์เกียร์โลหะขนาดเล็กของ pololu มันทำงานโดยจับเซ็นเซอร์สะท้อนแสงอินฟราเรดสองตัวไว้ในดุมล้อของ Pololu 42×19 มม. และวัดการเคลื่อนที่ของฟันทั้งสิบสองซี่ตามขอบล้อ
แผงวงจรขับมอเตอร์ (L298N) ใช้สำหรับควบคุมมอเตอร์ พิน INx ใช้เพื่อควบคุมมอเตอร์ และพิน ENx ใช้เพื่อกำหนดความเร็วของมอเตอร์
นอกจากนี้ยังใช้ตัวควบคุมแรงดันไฟฟ้าเพื่อลดแรงดันไฟฟ้าจากแบตเตอรี่ลงเหลือ 5V
ขั้นตอนที่ 1: คำอธิบายอัลกอริทึม
คำแนะนำนี้รวมวิธีการตามผนังด้านขวา ขึ้นอยู่กับการจัดลำดับความสำคัญของทิศทางโดยเลือกทิศทางที่ถูกต้องที่สุด หากหุ่นยนต์ตรวจไม่พบกำแพงทางด้านขวา หุ่นยนต์จะหันไปทางขวา หากหุ่นยนต์ตรวจพบกำแพงด้านขวาและไม่มีกำแพงอยู่ข้างหน้า หุ่นยนต์ก็จะเคลื่อนที่ไปข้างหน้า หากมีกำแพงด้านขวาของหุ่นยนต์และด้านหน้า หุ่นยนต์ก็จะหันไปทางซ้าย
หมายเหตุสำคัญคือไม่มีกำแพงสำหรับอ้างอิงหลังจากที่หุ่นยนต์เพิ่งหันไปทางขวา ดังนั้นการ “เลี้ยวขวา” จึงมีสามขั้นตอน ไปข้างหน้าเลี้ยวขวาไปข้างหน้า
นอกจากนี้ หุ่นยนต์จะต้องรักษาระยะห่างจากผนังเมื่อเคลื่อนที่ไปข้างหน้า ซึ่งสามารถทำได้โดยการปรับมอเตอร์ตัวหนึ่งให้เร็วหรือช้ากว่าอีกตัวหนึ่ง สถานะสุดท้ายของผังงานแสดงในรูปที่ 10
หุ่นยนต์ Maze Runner สามารถใช้งานได้ง่ายมากด้วย IC สัญญาณผสม (CMIC) ที่กำหนดค่าได้ของ GreenPAK เพียงตัวเดียว คุณสามารถทำตามขั้นตอนทั้งหมดเพื่อทำความเข้าใจว่าชิป GreenPAK ได้รับการตั้งโปรแกรมให้ควบคุม Maze Runner Robot อย่างไร อย่างไรก็ตาม หากคุณต้องการสร้างหุ่นยนต์ Maze Runner Robot โดยไม่เข้าใจวงจรภายในทั้งหมด ให้ดาวน์โหลดซอฟต์แวร์ GreenPAK เพื่อดูไฟล์การออกแบบ GreenPAK ของ Maze Runner Robot ที่เสร็จสมบูรณ์แล้ว เสียบคอมพิวเตอร์ของคุณเข้ากับ GreenPAK Development Kit แล้วกดโปรแกรมเพื่อสร้าง IC แบบกำหนดเองเพื่อควบคุม Maze Runner Robot ของคุณ ขั้นตอนต่อไปจะกล่าวถึงตรรกะที่อยู่ในไฟล์การออกแบบ Maze Runner Robot GreenPAK สำหรับผู้ที่สนใจทำความเข้าใจวิธีการทำงานของวงจร
ขั้นตอนที่ 2: การออกแบบ GreenPAK
การออกแบบ GreenPAK ประกอบด้วยสองส่วน เหล่านี้คือ:
- การตีความ / การประมวลผลข้อมูลจากเซ็นเซอร์ระยะทาง
- สถานะ ASM และเอาต์พุตมอเตอร์
การตีความ / การประมวลผลข้อมูลจากเซ็นเซอร์ระยะทาง
สิ่งสำคัญคือต้องตีความข้อมูลจากเซ็นเซอร์วัดระยะทาง การเคลื่อนไหวของหุ่นยนต์จะพิจารณาตามเอาต์พุตของเซ็นเซอร์วัดระยะทาง เนื่องจากเซ็นเซอร์วัดระยะทางเป็นแบบแอนะล็อก เราจะใช้ ACMP ตำแหน่งของหุ่นยนต์ที่สัมพันธ์กับผนังถูกกำหนดโดยการเปรียบเทียบแรงดันไฟฟ้าของเซ็นเซอร์กับแรงดันไฟฟ้าตามเกณฑ์ที่กำหนดไว้ล่วงหน้า
เราจะใช้ 3 ACMPs;
- เพื่อตรวจจับผนังด้านหน้า (ACMP2)
- เพื่อตรวจจับผนังด้านขวา (ACMP0)
- เพื่อป้องกันระยะห่างของผนังด้านขวา (ACMP1)
เนื่องจาก ACMP0 และ ACMP1 ขึ้นอยู่กับเซ็นเซอร์ระยะเดียวกัน เราจึงใช้แหล่ง IN+ เดียวกันสำหรับตัวเปรียบเทียบทั้งสอง การเปลี่ยนแปลงสัญญาณคงที่สามารถป้องกันได้โดยการให้ฮิสเทรีซิส ACMP1 25mv
เราสามารถกำหนดสัญญาณทิศทางตามเอาต์พุตของ ACMP วงจรที่แสดงในรูปที่ 12 แสดงแผนภาพการไหลที่แสดงไว้ในรูปที่ 7
ในทำนองเดียวกัน วงจรซึ่งระบุตำแหน่งของหุ่นยนต์ที่สัมพันธ์กับผนังด้านขวาจะแสดงใน รูปที่ 13
สถานะ ASM และเอาต์พุตมอเตอร์
แอปพลิเคชั่นนี้ใช้ Asynchronous State Machine หรือ ASM เพื่อควบคุมหุ่นยนต์ มี 8 สถานะใน ASM และ 8 เอาต์พุตในแต่ละสถานะ สามารถใช้ Output RAM เพื่อปรับเอาท์พุตเหล่านี้ได้ รัฐมีการระบุไว้ด้านล่าง:
- เริ่ม
- ควบคุม
- ย้ายออกจากกำแพงด้านขวา
- ใกล้กับผนังด้านขวา
- เลี้ยวซ้าย
- ก้าวไปข้างหน้า-1
- เลี้ยวขวา
- ก้าวไปข้างหน้า-2
สถานะเหล่านี้จะกำหนดเอาต์พุตไปยังตัวขับมอเตอร์และควบคุมหุ่นยนต์ GreenPAK มี 3 เอาต์พุตสำหรับมอเตอร์แต่ละตัว สองตัวกำหนดทิศทางของมอเตอร์และเอาต์พุตอื่นกำหนดความเร็วของมอเตอร์ การเคลื่อนที่ของมอเตอร์ตามเอาท์พุตเหล่านี้แสดงในตารางต่อไปนี้:
ASM Output RAM ได้มาจากตารางเหล่านี้ ดังแสดงใน รูปที่ 14 นอกจากตัวขับมอเตอร์แล้ว ยังมีเอาต์พุตอีกสองตัว เอาต์พุตเหล่านี้ไปที่บล็อกการหน่วงเวลาที่สอดคล้องกันเพื่อให้หุ่นยนต์เดินทางในระยะทางที่กำหนด เอาต์พุตของบล็อกการหน่วงเวลาเหล่านี้เชื่อมต่อกับอินพุต ASM ด้วย
PWM ถูกใช้เพื่อปรับความเร็วของมอเตอร์ ASM ใช้เพื่อกำหนดว่ามอเตอร์จะทำงานบน PWM ใด สัญญาณ PWMA-S และ PWMB-S ถูกตั้งค่าเป็นบิตเลือก mux
ขั้นตอนที่ 3:
ในโครงการนี้ เราได้สร้างหุ่นยนต์แก้ปัญหาเขาวงกต เราตีความข้อมูลจากเซ็นเซอร์หลายตัว ควบคุมสถานะของหุ่นยนต์ด้วย ASM ของ GreenPAK และขับมอเตอร์ด้วยตัวขับมอเตอร์ โดยทั่วไป ไมโครโปรเซสเซอร์ถูกใช้ในโครงการดังกล่าว แต่ GreenPAK มีข้อดีเหนือ MCU เล็กน้อย: มีขนาดเล็กกว่า ราคาไม่แพง และสามารถประมวลผลเอาต์พุตของเซ็นเซอร์ได้เร็วกว่า MCU
แนะนำ:
สร้างหุ่นยนต์ Turtlebot ของคุณเอง!: 7 ขั้นตอน
สร้างหุ่นยนต์ Turtlebot ของคุณเอง!: แก้ไข:ข้อมูลเพิ่มเติมเกี่ยวกับซอฟต์แวร์และการควบคุมมีอยู่ที่ลิงค์นี้:https://hackaday.io/project/167074-build-your-own-turtlebot-3-backboneลิงก์โดยตรงไปยังโค้ด คือ:https://github.com/MattMgn/foxbot_coreทำไมถึงทำโปรเจกต์นี้?Turtleb
สร้างหุ่นยนต์ Telepresence ที่ควบคุมผ่าน Wifi: 11 ขั้นตอน (พร้อมรูปภาพ)
สร้างหุ่นยนต์ Telepresence ที่ควบคุมผ่าน Wifi: โครงการนี้เกี่ยวกับการสร้างหุ่นยนต์ที่สามารถโต้ตอบกับสภาพแวดล้อมระยะไกลและควบคุมจากส่วนใดของโลกโดยใช้ Wifi นี่เป็นโครงการวิศวกรรมปีสุดท้ายของฉัน และฉันได้เรียนรู้มากมายเกี่ยวกับอุปกรณ์อิเล็กทรอนิกส์ IoT และการเขียนโปรแกรม แม้ว่าฉันจะ
Real Pipboy / IronMan: Wearable Heater + Runner Utility Light: 10 ขั้นตอน
Pipboy ตัวจริง / IronMan: Wearable Heater + Runner Utility Light: Background:The Creation of Man โดย Prometheus (โดย JM Hunt): "Prometheus ได้มอบหมายงานให้ Epimetheus มอบคุณสมบัติต่างๆ ให้กับสิ่งมีชีวิตบนโลก เช่น ความว่องไว ไหวพริบ ความแข็งแรง ขน และปีก น่าเสียดายที่โดยท
สร้างหุ่นยนต์ 'Fantastic Plastics Works' นวัตกรรมฟรีของคุณเพื่อเรืองแสง: 5 ขั้นตอน
สร้างสรรค์นวัตกรรมใหม่ฟรีของคุณ หุ่นยนต์ 'Fantastic Plastics Works' ให้เรืองแสง: ใช้ไฟ LED ที่วางจำหน่ายนอกชั้นวางเพื่อทำให้ 'หุ่นยนต์' พลาสติกเรืองแสงและสีจางลง! ให้ความรู้เบื้องต้นเกี่ยวกับการบัดกรี วงจร ไฟ LED และพลาสติก
สร้างหุ่นยนต์!: 16 ขั้นตอน (พร้อมรูปภาพ)
Make a Robotty!: คำแนะนำนี้จะแสดงวิธีสร้าง Robot Sculpture ที่สว่างขึ้นด้วยไฟ LED โครงการทั้งหมดมีราคาไม่แพงนัก ชิ้นส่วนทั้งหมดสามารถพบได้ทั่วบ้านและที่ร้านฮาร์ดแวร์ในท้องถิ่นและร้านขายงานฝีมือ ฉันจะแสดงให้คุณเห็นทีละขั้นตอน