สารบัญ:
- ขั้นตอนที่ 1: ฐานของหุ่นยนต์
- ขั้นตอนที่ 2: ด้านบนของฐาน
- ขั้นตอนที่ 3: เซ็นเซอร์อินฟราเรดและอัลตราโซนิก
- ขั้นตอนที่ 4: สายเคเบิล
- ขั้นตอนที่ 5: ขั้นตอนสุดท้ายในการสร้างหุ่นยนต์: การตกแต่ง
- ขั้นตอนที่ 6: Pseudocode สำหรับโปรแกรม
- ขั้นตอนที่ 7: โปรแกรม
- ขั้นตอนที่ 8: โปรแกรมบล็อก
- ขั้นตอนที่ 9: สร้าง MAZE
วีดีโอ: LEGO Robot ขับผ่านเขาวงกต: 9 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
นี่คือหุ่นยนต์อิสระที่เรียบง่ายซึ่งออกแบบมาเพื่อขับผ่านเขาวงกตไปยังทางออก สร้างขึ้นโดยใช้ LEGO Mindstorms EV3 ซอฟต์แวร์ EV3 ทำงานบนคอมพิวเตอร์และสร้างโปรแกรม ซึ่งดาวน์โหลดไปยังไมโครคอนโทรลเลอร์ที่เรียกว่า EV3 Brick วิธีการเขียนโปรแกรมเป็นแบบใช้ไอคอนและระดับสูง เป็นเรื่องง่ายและหลากหลาย
PARTS
- ชุดเลโก้ Mindstorms EV3
- LEGO Mindstorms EV3 เซ็นเซอร์อัลตราโซนิก ไม่รวมอยู่ในชุด EV3
- กระดาษลูกฟูกสำหรับเขาวงกต สองกล่องน่าจะเพียงพอ
- กระดาษแข็งแผ่นบางๆ เพื่อช่วยยึดมุมและผนังบางส่วนให้มั่นคง
- กาวและเทปเพื่อเชื่อมต่อชิ้นส่วนกระดาษแข็งเข้าด้วยกัน
- ซองการ์ดอวยพรสีแดงเพื่อระบุทางออกของเขาวงกต
เครื่องมือ
- มีดยูทิลิตี้สำหรับตัดกระดาษแข็ง
- ไม้บรรทัดเหล็กเพื่อช่วยในกระบวนการตัด
วิธีการแก้ปัญหาเขาวงกต
มีหลายวิธีในการนำทางเขาวงกต หากคุณสนใจที่จะศึกษาพวกเขา พวกเขาจะอธิบายไว้อย่างดีในบทความ Wikipedia ต่อไปนี้: https://en.wikipedia.org/wiki/Maze_ dissolve_algori…
ฉันเลือกกฎผู้ติดตามกำแพงด้านซ้าย แนวคิดก็คือหุ่นยนต์จะรักษากำแพงไว้ทางด้านซ้ายโดยทำการตัดสินใจต่อไปนี้เมื่อเดินผ่านเขาวงกต:
- หากสามารถเลี้ยวซ้ายได้
- มิฉะนั้น ให้ตรงไปถ้าเป็นไปได้
- ถ้าไปทางซ้ายหรือตรงไปไม่ได้ ให้เลี้ยวขวา ถ้าเป็นไปได้
- หากไม่สามารถทำตามข้างต้นได้ จะต้องเป็นจุดสิ้นสุด หันไปรอบ ๆ
ข้อควรระวังประการหนึ่งคือวิธีการนี้อาจล้มเหลวได้หากเขาวงกตมีวงวนอยู่ในนั้น ขึ้นอยู่กับตำแหน่งของลูป หุ่นยนต์สามารถวนไปมารอบๆ ลูปได้ วิธีแก้ปัญหาที่เป็นไปได้สำหรับปัญหานี้คือให้หุ่นยนต์สลับไปใช้กฎผู้ติดตามผนังทางขวามือ หากรู้ว่ามันกำลังวนซ้ำ ฉันไม่ได้รวมการปรับแต่งนี้ในโครงการของฉัน
ขั้นตอนในการสร้างหุ่นยนต์
แม้ว่า LEGO Mindstorms EV3 จะใช้งานได้หลากหลายมาก แต่ก็อนุญาตให้มีเซ็นเซอร์แต่ละประเภทที่เชื่อมต่อกับอิฐตัวเดียวได้ไม่เกินหนึ่งตัว อิฐสองก้อนขึ้นไปสามารถถูกล่ามโซ่ได้ แต่ฉันไม่ต้องการซื้อ Brick อีกตัว ดังนั้นฉันจึงใช้เซ็นเซอร์ต่อไปนี้ (แทนเซ็นเซอร์อัลตราโซนิกสามตัว): เซ็นเซอร์อินฟราเรด เซ็นเซอร์สี และเซ็นเซอร์อัลตราโซนิก วิธีนี้ใช้ได้ผลดี รูปภาพคู่ด้านล่างแสดงวิธีสร้างหุ่นยนต์ ภาพแรกของแต่ละคู่แสดงชิ้นส่วนที่จำเป็น และภาพที่สองแสดงชิ้นส่วนเดียวกันที่เชื่อมต่อเข้าด้วยกัน
ขั้นตอนที่ 1: ฐานของหุ่นยนต์
ขั้นตอนแรกคือการสร้างฐานของหุ่นยนต์โดยใช้ชิ้นส่วนที่แสดง ฐานหุ่นยนต์แสดงกลับหัวกลับหาง ชิ้นส่วนรูปตัว L ขนาดเล็กที่ด้านหลังของหุ่นยนต์รองรับส่วนหลัง มันเลื่อนในขณะที่หุ่นยนต์เคลื่อนที่ งานนี้โอเค ชุด EV3 ไม่มีชิ้นส่วนแบบลูกกลิ้ง
ขั้นตอนที่ 2: ด้านบนของฐาน
3 ขั้นถัดมาสำหรับส่วนบนของฐานหุ่นยนต์ เซ็นเซอร์สี และสายเคเบิล ซึ่งเป็นสายเคเบิลทั้งหมด 10 นิ้ว (26 ซม.)
ขั้นตอนที่ 3: เซ็นเซอร์อินฟราเรดและอัลตราโซนิก
ถัดมาเป็นเซ็นเซอร์อินฟราเรด (ด้านซ้ายของหุ่นยนต์) และเซ็นเซอร์อัลตราโซนิก (ด้านขวา) นอกจากนี้ยังมีหมุด 4 ตัวสำหรับติดอิฐด้านบน
เซ็นเซอร์อินฟราเรดและอัลตราโซนิกอยู่ในแนวตั้งแทนที่จะเป็นแนวนอนปกติ ช่วยให้สามารถระบุมุมหรือปลายผนังได้ดีขึ้น
ขั้นตอนที่ 4: สายเคเบิล
ติดอิฐและเชื่อมต่อสายเคเบิลดังต่อไปนี้:
- พอร์ต B: เหลือมอเตอร์ขนาดใหญ่
- พอร์ต C: มอเตอร์ขนาดใหญ่ด้านขวา
- พอร์ต 2: เซ็นเซอร์อัลตราโซนิก
- พอร์ต 3: เซ็นเซอร์สี
- พอร์ต 4: เซ็นเซอร์อินฟราเรด
ขั้นตอนที่ 5: ขั้นตอนสุดท้ายในการสร้างหุ่นยนต์: การตกแต่ง
ปีกและครีบใช้สำหรับตกแต่งเท่านั้น
ขั้นตอนที่ 6: Pseudocode สำหรับโปรแกรม
- รอ 3 วินาทีแล้วพูดว่า "ไป"
- เริ่มหุ่นยนต์เคลื่อนที่ตรงไปข้างหน้า
- หากสามารถเลี้ยวซ้ายได้ (เช่น หากเซ็นเซอร์อินฟราเรดไม่รับรู้วัตถุที่อยู่ใกล้ๆ) ให้พูดว่า "ซ้าย" แล้วไปทางซ้าย
- ไปข้างหน้าประมาณ 6 นิ้ว (15 ซม.) เพื่อหลีกเลี่ยงไม่ให้เลี้ยวซ้ายผิดพลาด เหตุผลก็คือหลังจากที่หุ่นยนต์หมุนไป เซ็นเซอร์จะมองเห็นพื้นที่ยาวที่มันเพิ่งมา และหุ่นยนต์จะคิดว่ามันควรเลี้ยวซ้าย ซึ่งไม่เหมาะที่จะทำ กลับไปที่ขั้นตอนที่ 2
- หากไม่สามารถเลี้ยวซ้ายได้ ให้ตรวจสอบว่าเซ็นเซอร์สีมองเห็นอะไรข้างหน้าหุ่นยนต์
- หากไม่มีสี (เช่น ไม่มีวัตถุ) ให้กลับไปที่ขั้นตอนที่ 2
- ถ้าสีแดงคือทางออก หยุดหุ่นยนต์ เล่นประโคม และหยุดโปรแกรม
-
หากสีเป็นสีน้ำตาล (เช่น กระดาษแข็งสีน้ำตาลข้างหน้า) ให้หยุดหุ่นยนต์
- หากสามารถเลี้ยวขวาได้ (เช่น หากเซ็นเซอร์อัลตราโซนิกไม่ตรวจจับวัตถุใกล้เคียง) ให้พูดว่า "ถูกต้อง" แล้วไปทางขวา กลับไปที่ขั้นตอนที่ 2
- หากเลี้ยวขวาไม่ได้ ให้พูดว่า "อ๊ะ" ถอยกลับขึ้นประมาณ 5 นิ้ว (12.5 ซม.) แล้วหันกลับมา กลับไปที่ขั้นตอนที่ 2
ขั้นตอนที่ 7: โปรแกรม
LEGO Mindstorms EV3 มีวิธีการเขียนโปรแกรมตามไอคอนที่สะดวกมาก บล็อกจะแสดงที่ด้านล่างของหน้าจอแสดงผลบนคอมพิวเตอร์ และสามารถลากและวางลงในหน้าต่างการเขียนโปรแกรมเพื่อสร้างโปรแกรมได้ ภาพหน้าจอแสดงโปรแกรมสำหรับโครงการนี้ บล็อกจะอธิบายในขั้นตอนต่อไป
ฉันไม่ทราบวิธีตั้งค่าการดาวน์โหลดโปรแกรมให้กับคุณ ดังนั้นจะมีการอธิบายบล็อกต่างๆ ในขั้นตอนต่อไป แต่ละบล็อกมีตัวเลือกและพารามิเตอร์ เป็นเรื่องง่ายและหลากหลาย ไม่ควรใช้เวลามากนักในการพัฒนาโปรแกรมและ/หรือเปลี่ยนแปลงโปรแกรมให้เหมาะกับความต้องการของคุณ และเช่นเคย ควรบันทึกโปรแกรมเป็นระยะเมื่อทำการพัฒนา
EV3 Brick อาจเชื่อมต่อกับคอมพิวเตอร์โดยใช้สาย USB, Wi-Fi หรือ Bluetooth เมื่อเชื่อมต่อและเปิดเครื่องแล้ว จะปรากฏในหน้าต่างเล็กๆ ที่มุมล่างขวาของหน้าต่าง EV3 บนคอมพิวเตอร์ “EV3” ที่ด้านขวาสุดจะเปลี่ยนเป็นสีแดง เมื่อตั้งค่าการแสดงผลนี้เป็น Port View จอภาพจะแสดงสิ่งที่เซ็นเซอร์แต่ละตัวตรวจพบในแบบเรียลไทม์ นี้จะเป็นประโยชน์สำหรับการทดลอง
เมื่อสร้างโปรแกรมนี้ ฉันขอแนะนำให้ทำงานจากซ้ายไปขวาและบนลงล่าง และขยาย Loop และ Switch Blocks ก่อนที่จะลาก Blocks อื่นๆ เข้าไปข้างใน ฉันพบปัญหาที่ยุ่งเหยิงในการพยายามแทรกบล็อคเพิ่มเติมเข้าไปข้างในก่อนที่จะขยาย
ขั้นตอนที่ 8: โปรแกรมบล็อก
- เริ่มต้นที่ด้านซ้ายของโปรแกรม Start Block จะปรากฏขึ้นโดยอัตโนมัติเมื่อมีการพัฒนาโปรแกรม
- ต่อไปเป็น Wait Block เพื่อให้เรา 3 วินาทีในการวางหุ่นยนต์ที่ทางเข้าเขาวงกตหลังจากเริ่มโปรแกรม
- Sound Block ทำให้หุ่นยนต์พูดว่า "ไป"
- Loop Block ประกอบด้วยโปรแกรมส่วนใหญ่ ควรซูมหน้าจอออก 4 หรือ 5 เท่า และควรขยาย Loop Block นี้จนเกือบถึงขอบด้านขวาของ Programming Canvas ก่อนที่คุณจะเริ่มแทรก Blocks หลังจากนั้นก็สามารถทำให้เล็กลงได้
- Block แรกใน Loop คือ Move Steering Block โดยที่ Steering ตั้งไว้ที่ศูนย์และ Power ตั้งไว้ที่ 20 ซึ่งจะเริ่มมอเตอร์วิ่งตรงไปข้างหน้าด้วยความเร็วต่ำ ความเร็วที่เร็วขึ้นจะทำให้หุ่นยนต์เคลื่อนที่ได้ไกลเกินไปเมื่อเดินหน้าต่อไปในขณะที่พูดในขั้นตอนต่อไป
- สวิตช์บล็อกในโหมดพร็อกซิมิตีของเซ็นเซอร์อินฟราเรดจะตรวจสอบว่ามีวัตถุใดๆ ที่ไกลกว่าค่า 30 หรือไม่ ซึ่งเทียบเท่ากับกระดาษแข็งสีน้ำตาลประมาณ 9 นิ้ว (23 ซม.) หากค่ามากกว่า 30 บล็อก 7, 8 และ 9 จะถูกดำเนินการ มิฉะนั้นโปรแกรมจะไปที่บล็อก 10 ด้านล่าง
- Sound Block ทำให้หุ่นยนต์พูดว่า "ซ้าย"
- A Move Steering Block โดยตั้งค่าการบังคับเลี้ยวเป็น -45, กำลังตั้งค่าเป็น 20, การหมุนที่ตั้งไว้ที่ 1.26 และตั้งค่าเบรกที่สิ้นสุดเป็น True ทำให้หุ่นยนต์เลี้ยวซ้าย
- A Move Steering Block โดยตั้งค่าการบังคับเลี้ยวเป็นศูนย์, ตั้งค่ากำลังเป็น 20, การหมุนตั้งค่าเป็น 1.2 และตั้งค่าเบรกที่สิ้นสุดเป็น True ทำให้หุ่นยนต์เคลื่อนที่ไปข้างหน้าประมาณ 6 นิ้ว (15 ซม.) เพื่อหลีกเลี่ยงไม่ให้เลี้ยวซ้ายผิดพลาด
- บล็อกสวิตช์ในเซ็นเซอร์สี โหมดวัดสีจะตรวจสอบว่าสีใดนำหน้าหุ่นยนต์ หากไม่มีสี (เช่น ไม่มีวัตถุ) โปรแกรมจะไปที่จุดสิ้นสุดของลูป หากเป็นสีแดง บล็อก 11, 12 และ 13 จะถูกดำเนินการ ถ้าสีเป็นสีน้ำตาล โปรแกรมจะไปที่บล็อก 14 ด้านล่าง
- A Move Steering Block ในโหมดปิดเพื่อหยุดมอเตอร์
- Sound Block เล่นประโคม
- Loop Interrupt Block ออกจากลูป
- A Move Steering Block ในโหมดปิดเพื่อหยุดมอเตอร์
- สวิตช์บล็อกใน Ultrasonic Sensor Compare Distance Inch Mode จะตรวจสอบว่ามีวัตถุใดที่อยู่ไกลเกิน 8 นิ้ว (20 ซม.) หรือไม่ หากมากกว่า 8 นิ้ว แสดงว่า Blocks16 และ 17 ถูกดำเนินการ มิฉะนั้นโปรแกรมจะไปที่ Block 18 ด้านล่าง
- Sound Block ทำให้หุ่นยนต์พูดว่า "ถูกต้อง"
- A Move Steering Block โดยตั้งค่าการบังคับเลี้ยวเป็น -55, ตั้งค่ากำลังเป็น -20, ตั้งค่าการหมุนเป็น 1.1 และตั้งค่าเบรกที่สิ้นสุดเป็น True ทำให้หุ่นยนต์เลี้ยวขวา
- Sound Block ทำให้หุ่นยนต์พูดว่า "อ๊ะ"
- A Move Tank Block โดยตั้งค่า Power Left ไว้ที่ -20, Power Right ตั้งค่าเป็น -20, Rotations ตั้งไว้ที่ 1 และ Brake at End ตั้งค่าเป็น True ทำให้หุ่นยนต์ถอยกลับได้ประมาณ 5 นิ้ว (12.5 ซม.) เพื่อให้มีพื้นที่สำหรับหันหลังกลับ
- A Move Tank Block โดยตั้งค่า Power Left ไว้ที่ -20, Power Right ตั้งค่าเป็น 20, Rotations ตั้งไว้ที่ 1.14 และ Brake at End ตั้งค่าเป็น True ทำให้หุ่นยนต์หันกลับมา
- ที่ทางออกของ Loop จะมี Stop Program Block
ขั้นตอนที่ 9: สร้าง MAZE
กล่องกระดาษลูกฟูกสองกล่องน่าจะเพียงพอสำหรับเขาวงกต ฉันสร้างกำแพงเขาวงกตสูง 5 นิ้ว (12.5 ซม.) แต่ 4 นิ้ว (10 ซม.) น่าจะใช้ได้ดีหากคุณไม่มีกระดาษลูกฟูก
ขั้นแรก ฉันตัดรอบผนังกล่องห่างจากด้านล่าง 10 นิ้ว (25 ซม.) จากนั้นฉันก็ตัดรอบผนัง 5 นิ้วจากด้านล่าง มีผนังขนาด 5 นิ้วหลายแบบ นอกจากนี้ ฉันยังตัดพื้นกล่องโดยเหลือประมาณ 1 นิ้ว (2.5 ซม.) ไว้กับผนังเพื่อความมั่นคง
ชิ้นส่วนต่างๆ สามารถตัดและติดกาวหรือติดเทปได้ทุกที่ที่จำเป็นเพื่อสร้างเขาวงกต ควรมีช่องว่างระหว่างผนัง 12 นิ้ว (30 ซม.) ในเส้นทางใดๆ ที่มีทางตัน ระยะนี้จำเป็นสำหรับหุ่นยนต์ที่จะหมุนไปรอบๆ
บางมุมของเขาวงกตอาจต้องได้รับการเสริมแรง นอกจากนี้ ผนังบางอันตรงต้องป้องกันไม่ให้งอ หากมีมุมกล่องที่ยืดให้ตรง ควรติดกระดาษแข็งบาง ๆ ชิ้นเล็ก ๆ ไว้ที่ด้านล่างตามที่แสดง
ทางออกมีแนวกั้นสีแดงประกอบด้วยซองการ์ดอวยพรสีแดงครึ่งซองและฐานทำด้วยกระดาษแข็งบาง 2 แผ่น ดังรูป
ข้อควรระวังอย่างหนึ่งคือเขาวงกตไม่ควรมีขนาดใหญ่ หากการหมุนของหุ่นยนต์ทำมุมเล็กน้อยจากจุดที่ถูกต้อง ความคลาดเคลื่อนจะเพิ่มขึ้นหลังจากผ่านไปสองสามรอบ ตัวอย่างเช่น ถ้าเลี้ยวซ้ายปิด 3 องศา จากนั้นหลังจาก 5 เลี้ยวซ้าย หุ่นยนต์จะปิด 15 องศา เขาวงกตขนาดใหญ่จะมีทางเลี้ยวมากกว่าและทางยาวกว่าทางเล็ก และหุ่นยนต์ก็สามารถวิ่งเข้าไปในกำแพงได้ ฉันต้องเล่นซอหลายครั้งกับการตั้งค่าการหมุนของทางเลี้ยวเพื่อที่จะขับผ่านเขาวงกตเล็กๆ ที่ฉันทำสำเร็จได้สำเร็จ
การปรับปรุงในอนาคต
โครงการติดตามผลที่ชัดเจนคือการทำให้หุ่นยนต์สามารถกำหนดเส้นทางตรงผ่านเขาวงกตขณะนำทาง จากนั้นขับเส้นทางตรงนี้ (หลีกเลี่ยงทางตัน) ทันทีหลังจากนั้น
สิ่งนี้ซับซ้อนกว่าโครงการปัจจุบันมาก หุ่นยนต์ต้องจำเส้นทางที่มันเคยไป กำจัดทางตัน จัดเก็บเส้นทางใหม่ แล้วเดินตามเส้นทางใหม่ ฉันวางแผนที่จะทำงานในโครงการนี้ในอนาคตอันใกล้นี้ ฉันคาดหวังว่าจะสามารถทำได้ด้วย LEGO Mindstorms EV3 โดยใช้ Array Operations Blocks และบล็อกที่เกี่ยวข้องกับคณิตศาสตร์
สรุปข้อสังเกต
นี่เป็นโครงการที่สนุก ฉันหวังว่าคุณจะพบว่ามันน่าสนใจ
แนะนำ:
อุปสรรคในการหลีกเลี่ยง LEGO Robot: 8 ขั้นตอน (พร้อมรูปภาพ)
อุปสรรคในการหลีกเลี่ยงหุ่นยนต์ LEGO: เรารัก LEGO และเราก็รัก Crazy Circuits เช่นกัน ดังนั้นเราจึงต้องการรวมหุ่นยนต์สองตัวนี้เป็นหุ่นยนต์ที่เรียบง่ายและสนุกสนานที่สามารถหลีกเลี่ยงการชนกำแพงและวัตถุอื่นๆ เราจะแสดงให้คุณเห็นว่าเราสร้างของเราอย่างไร และร่างพื้นฐานที่จำเป็นเพื่อให้คุณสามารถสร้างของคุณเองได้
AI ใน LEGO EV3 Maze-Driving Robot: 13 ขั้นตอน
AI ใน LEGO EV3 Maze-Driving Robot: นี่คือหุ่นยนต์ที่ใช้งานง่ายและเรียบง่ายพร้อมปัญญาประดิษฐ์ ออกแบบมาเพื่อสำรวจเขาวงกตและเมื่อวางไว้ที่ทางเข้า เพื่อขับผ่านไปยังทางออกและหลีกเลี่ยงทางตัน มันซับซ้อนกว่าโปรเจ็กต์ก่อนหน้าของฉันมาก ซึ่ง
Ev3 Lego Gripper / Finder Robot: 7 ขั้นตอน
Ev3 Lego Gripper/Finder Robot: สวัสดี!GrabBot เป็นหุ่นยนต์เอนกประสงค์ที่ชอบกลิ้งไปมา… เมื่อมันสะดุดกับวัตถุขนาดเล็ก มันจะหยิบมันขึ้นมาและนำมันกลับมาที่ตำแหน่งเริ่มต้น
Mini Lego Robot Wars - Wyrm: 4 ขั้นตอน
Mini Lego Robot Wars - Wyrm: สวัสดี นี่คือบอทสงครามหุ่นยนต์เลโก้ขนาดเล็กอีกตัวหนึ่ง คราวนี้เป็น Wyrm
Lego Lego Skull Man: 6 ขั้นตอน (พร้อมรูปภาพ)
Lego Lego Skull Man: สวัสดี วันนี้ฉันจะมาสอนวิธีทำมนุษย์กะโหลกเลโก้ที่ขับเคลื่อนด้วยแบตเตอรี ซึ่งเหมาะสำหรับวันฮาโลวีนซึ่งกำลังจะมาในเร็วๆ นี้ หรืออาจเป็นโครงการง่ายๆ ที่ต้องทำ เมื่อบอร์ดของคุณหรือแค่เสื้อคลุมเล็กๆ