เลโก้ EV3 การเคลื่อนไหวเส้นสีดำ

นี่คือวิธีที่บุคคลเห็นเส้น:

นี่คือวิธีที่หุ่นยนต์เห็น:


เราจะใช้คุณสมบัตินี้เมื่อออกแบบและตั้งโปรแกรมหุ่นยนต์สำหรับประเภทการแข่งขัน "วิถี"

มีหลายวิธีในการสอนหุ่นยนต์ให้มองเห็นเส้นและเคลื่อนที่ไปตามเส้นนั้น มีโปรแกรมที่ซับซ้อนและโปรแกรมที่ง่ายมาก

ฉันต้องการพูดเกี่ยวกับวิธีการเขียนโปรแกรมที่แม้แต่เด็กในระดับ 2-3 ก็สามารถเชี่ยวชาญได้ ในวัยนี้ การประกอบโครงสร้างตามคำแนะนำทำได้ง่ายกว่ามาก และการเขียนโปรแกรมหุ่นยนต์เป็นงานที่ยากสำหรับพวกเขา แต่วิธีนี้จะช่วยให้เด็กสามารถตั้งโปรแกรมหุ่นยนต์บนเส้นทางใดก็ได้ของแทร็กใน 15-30 นาที (โดยคำนึงถึงการตรวจสอบเป็นระยะและการปรับคุณสมบัติบางอย่างของวิถี)

วิธีนี้ได้รับการทดสอบในการแข่งขันระดับเทศบาลและระดับภูมิภาคในด้านวิทยาการหุ่นยนต์ในภูมิภาค Surgut และ Khanty-Mansi Autonomous Okrug-Yugra และทำให้โรงเรียนของเราเป็นที่หนึ่ง ที่นั่นฉันมั่นใจว่าหัวข้อนี้มีความเกี่ยวข้องมากสำหรับหลายทีม

มาเริ่มกันเลยดีกว่า

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

พิจารณารุ่นของหุ่นยนต์ที่มีเซ็นเซอร์วัดแสงสองตัว เนื่องจากนักเรียนชั้นประถมศึกษาเข้าใจได้ง่ายกว่า

เซ็นเซอร์วัดแสงเชื่อมต่อกับพอร์ต 2 และ 3 มอเตอร์ไปยังพอร์ต B และ C
เซ็นเซอร์ถูกวางไว้ที่ขอบของเส้น (ลองทดลองโดยวางเซ็นเซอร์ในระยะที่ต่างกันและความสูงต่างกัน)
จุดสำคัญ เพื่อการทำงานที่ดีที่สุดของวงจรดังกล่าว ขอแนะนำให้เลือกเซ็นเซอร์คู่หนึ่งตามพารามิเตอร์ มิฉะนั้นจะต้องแนะนำบล็อกเพื่อแก้ไขค่าของเซ็นเซอร์
การติดตั้งเซ็นเซอร์บนแชสซีตามรูปแบบคลาสสิก (สามเหลี่ยม) ประมาณตามรูป

โปรแกรมจะประกอบด้วยบล็อกจำนวนเล็กน้อย:


1. เซ็นเซอร์วัดแสงสองช่วงตึก
2. สี่ช่วงตึกของ "คณิตศาสตร์";
3. มอเตอร์สองช่วงตึก

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

ตอนนี้เรามาดูวิธีเชื่อมต่อบล็อคทั้งหมดตั้งค่าโปรแกรมและจะเกิดอะไรขึ้นในนั้น
ให้เห็นเซ็นเซอร์วัดแสงสองตัวและกำหนดพอร์ต 2 และ 3 ให้พวกมัน
เราใช้กลุ่มคณิตศาสตร์และเลือก "การลบ"
มาเชื่อมต่อเซ็นเซอร์วัดแสงจากเอาต์พุต "ความเข้ม" กับยางกับบล็อกคณิตศาสตร์กับอินพุต "A" และ "B"
หากติดตั้งเซ็นเซอร์หุ่นยนต์แบบสมมาตรจากศูนย์กลางของเส้นติดตาม ค่าของเซ็นเซอร์ทั้งสองจะเท่ากัน หลังจากลบ เราจะได้ค่า - 0
กลุ่มถัดไปของคณิตศาสตร์จะใช้เป็นสัมประสิทธิ์และคุณต้องตั้งค่า "คูณ" ลงไป
ในการคำนวณสัมประสิทธิ์ คุณต้องวัดระดับ "สีขาว" และ "สีดำ" โดยใช้หน่วย NXT
สมมติว่า: ขาว -70, ดำ -50.
ต่อไปเราจะคำนวณ: 70-50=20 (ความแตกต่างระหว่างสีขาวและสีดำ), 50/20=2.5 ​​​​(เราตั้งค่าค่าเฉลี่ยของพลังงานเมื่อเคลื่อนที่เป็นเส้นตรงในบล็อกของคณิตศาสตร์เป็น 50 ค่านี้บวก เพิ่มกำลังเมื่อปรับการเคลื่อนไหวควรเท่ากับ 100)
ลองตั้งค่าเป็น 2.5 บนอินพุต "A" แล้วเลือกค่าได้แม่นยำยิ่งขึ้น
เชื่อมต่อเอาต์พุต "ผลลัพธ์" ของบล็อกคณิตศาสตร์ "การลบ" ก่อนหน้ากับอินพุต "B" ของบล็อกคณิตศาสตร์ "การคูณ"
ถัดมาเป็นคู่ - บล็อกของคณิตศาสตร์ (เพิ่มเติม) และมอเตอร์บี
การตั้งค่าบล็อกคณิตศาสตร์:
อินพุต "A" ตั้งไว้ที่ 50 (ครึ่งหนึ่งของกำลังมอเตอร์)
เอาต์พุตของบล็อก "ผลลัพธ์" เชื่อมต่อโดยบัสไปยังอินพุต "กำลัง" ของมอเตอร์ B
ตามไอน้ำคือบล็อกคณิตศาสตร์ (การลบ) และมอเตอร์ซี
การตั้งค่าบล็อกคณิตศาสตร์:
อินพุต "A" ถูกตั้งค่าเป็น 50
อินพุต "B" เชื่อมต่อโดยบัสไปยังเอาต์พุต "ผลลัพธ์" ของบล็อกคณิตศาสตร์ "การคูณ"
เอาต์พุตของบล็อก "ผลลัพธ์" เชื่อมต่อโดยบัสไปยังอินพุต "กำลัง" ของมอเตอร์ C

จากการกระทำทั้งหมดเหล่านี้ คุณจะได้รับโปรแกรมต่อไปนี้:

เนื่องจากทั้งหมดนี้จะใช้ได้เป็นรอบ เราจึงเพิ่ม "รอบ" เลือกและโอนทั้งหมดไปที่ "รอบ"

ตอนนี้เรามาลองคิดดูว่าโปรแกรมจะทำงานอย่างไรและจะกำหนดค่าอย่างไร


ขณะที่หุ่นยนต์เคลื่อนที่เป็นเส้นตรง ค่าของเซนเซอร์จะเท่ากัน ซึ่งหมายความว่าเอาต์พุตของบล็อก "ลบ" จะมีค่าเป็น 0 เอาต์พุตของบล็อก "การคูณ" ยังให้ค่า 0. ค่านี้ป้อนขนานกับคู่ควบคุมมอเตอร์ เนื่องจากค่า 50 ถูกกำหนดไว้ในบล็อคเหล่านี้ การบวกหรือลบ 0 จึงไม่ส่งผลต่อกำลังของมอเตอร์ มอเตอร์ทั้งสองทำงานด้วยกำลังเท่ากันที่ 50 และหุ่นยนต์หมุนเป็นเส้นตรง

สมมติว่าทางเลี้ยวหรือหุ่นยนต์เบี่ยงเบนจากเส้นตรง อะไรจะเกิดขึ้น?

รูปภาพแสดงให้เห็นว่าการส่องสว่างของเซ็นเซอร์ที่เชื่อมต่อกับพอร์ต 2 (ต่อไปนี้จะเรียกว่าเซ็นเซอร์ 2 และ 3) เพิ่มขึ้น เนื่องจากการเคลื่อนไปที่ช่องสีขาว และการส่องสว่างของเซ็นเซอร์ 3 จะลดลง สมมติว่าค่าของเซ็นเซอร์เหล่านี้กลายเป็น: เซ็นเซอร์ 2 - 55 ยูนิต และเซ็นเซอร์ 3 - 45 ยูนิต
บล็อก "การลบ" จะกำหนดความแตกต่างระหว่างค่าของเซ็นเซอร์สองตัว (10) และป้อนไปยังบล็อกการแก้ไข (คูณด้วยปัจจัย (10 * 2.5 = 25)) จากนั้นไปที่บล็อกควบคุม
มอเตอร์
ในบล็อกคณิตศาสตร์ (เพิ่มเติม) ของมอเตอร์ B ควบคุมค่าความเร็วเฉลี่ย50
จะเพิ่ม 25 และค่ากำลัง 75 จะถูกนำไปใช้กับมอเตอร์ B
ในบล็อกคณิตศาสตร์ (การลบ) ของการควบคุมมอเตอร์ C นั้น 25 จะถูกลบออกจากค่าความเร็วเฉลี่ย 50 และค่ากำลัง 25 จะถูกนำไปใช้กับมอเตอร์ C
ดังนั้นการเบี่ยงเบนจากเส้นตรงจะได้รับการแก้ไข

หากแทร็กหันไปทางด้านข้างอย่างรวดเร็วและเซ็นเซอร์ 2 เป็นสีขาวและเซ็นเซอร์ 3 เป็นสีดำ ค่าการส่องสว่างของเซ็นเซอร์เหล่านี้กลายเป็น: เซ็นเซอร์ 2 - 70 ยูนิตและเซ็นเซอร์ 3 - 50 ยูนิต
บล็อก "การลบ" จะกำหนดความแตกต่างระหว่างค่าของเซ็นเซอร์สองตัว (20) และป้อนไปยังบล็อกการแก้ไข (20 * 2.5 = 50) จากนั้นไปที่บล็อกควบคุมมอเตอร์
ตอนนี้อยู่ในบล็อกของคณิตศาสตร์ (เพิ่มเติม) ควบคุมมอเตอร์ B ค่ากำลัง 50 +50 =100 จะถูกนำไปใช้กับมอเตอร์ B
ในบล็อกคณิตศาสตร์ (การลบ) ของตัวควบคุมมอเตอร์ C ค่ากำลัง 50 - 50 = 0 จะถูกนำไปใช้กับมอเตอร์ C
และหุ่นยนต์จะเลี้ยวอย่างเฉียบขาด

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

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

ในกล่องโต้ตอบ "ตัวสร้างบล็อก" ให้ตั้งชื่อบล็อกของเรา เช่น "ไป" เลือกไอคอนสำหรับบล็อกแล้วคลิก "เสร็จสิ้น"

ตอนนี้เรามีบล็อกที่สามารถใช้ได้ในกรณีที่เราต้องย้ายไปตามเส้น

เพื่อให้หุ่นยนต์เคลื่อนที่ได้อย่างราบรื่นตามเส้นสีดำ คุณต้องทำให้มันคำนวณความเร็วของการเคลื่อนที่ด้วยตัวมันเอง

บุคคลเห็นเส้นสีดำและขอบเขตที่ชัดเจน เซ็นเซอร์วัดแสงทำงานแตกต่างกันเล็กน้อย

นี่คือคุณสมบัติของเซ็นเซอร์แสง - ไม่สามารถแยกแยะเส้นขอบระหว่างสีขาวและสีดำได้อย่างชัดเจน - เราจะใช้ในการคำนวณความเร็วของการเคลื่อนไหว

อันดับแรก เรามาแนะนำแนวคิด “จุดในอุดมคติของวิถี”

ค่าที่อ่านได้ของเซ็นเซอร์วัดแสงอยู่ระหว่าง 20 ถึง 80 ค่าที่อ่านได้บ่อยที่สุดคือสีขาว ค่าที่อ่านได้คือ 65 ค่าสีดำประมาณ 40

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

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

จากการทดลอง เราได้คำนวณว่าจุดในอุดมคติสามารถคำนวณได้โดยใช้สูตรต่อไปนี้:

หุ่นยนต์จะต้องเคลื่อนที่ไปตามจุดที่เหมาะสมอย่างเคร่งครัด หากเกิดการเบี่ยงเบนในทิศทางใดทิศทางหนึ่ง หุ่นยนต์จะต้องกลับไปยังจุดนั้น

มาเขียนกันเถอะ คำอธิบายทางคณิตศาสตร์ของปัญหา

ข้อมูลเบื้องต้น

จุดที่สมบูรณ์แบบ

การอ่านค่าปัจจุบันของเซ็นเซอร์วัดแสง

ผลลัพธ์.

กำลังมอเตอร์ B.

กำลังหมุนของมอเตอร์ C.

การตัดสินใจ.

ลองพิจารณาสองสถานการณ์ อย่างแรก: หุ่นยนต์เบี่ยงเบนจากเส้นสีดำไปทางสีขาว

ในกรณีนี้ หุ่นยนต์จะต้องเพิ่มกำลังการหมุนของมอเตอร์ B และลดกำลังของมอเตอร์ C

ในสถานการณ์ที่หุ่นยนต์ขับเข้าไปในเส้นสีดำ สิ่งที่ตรงกันข้ามคือความจริง

ยิ่งหุ่นยนต์เบี่ยงเบนจากจุดในอุดมคติมากเท่าไร ก็ยิ่งต้องกลับไปหามันเร็วเท่านั้น

แต่การสร้างตัวควบคุมดังกล่าวเป็นงานที่ค่อนข้างยากและไม่จำเป็นเสมอไป

ดังนั้นเราจึงตัดสินใจจำกัดตัวเองไว้ที่ P-regulator ที่ตอบสนองต่อการเบี่ยงเบนจากเส้นสีดำอย่างเพียงพอ

ในภาษาคณิตศาสตร์จะเขียนเป็น:

โดยที่ Hb และ Hc คือกำลังรวมของมอเตอร์ B และ C ตามลำดับ

Hbase - กำลังพื้นฐานของมอเตอร์ที่กำหนดความเร็วของหุ่นยนต์ มันถูกเลือกโดยการทดลองขึ้นอยู่กับการออกแบบของหุ่นยนต์และความคมชัดของการเลี้ยว

Itech - การอ่านค่าปัจจุบันของเซ็นเซอร์วัดแสง

I id - คำนวณจุดในอุดมคติ

k คือสัมประสิทธิ์ของสัดส่วนที่เลือกในการทดลอง

ในส่วนที่สาม เราจะมาดูวิธีการตั้งโปรแกรมในสภาพแวดล้อม NXT-G

ควบคุมอัลกอริธึมสำหรับหุ่นยนต์เลโก้มือถือ การติดตามเส้นด้วยเซ็นเซอร์วัดแสงสองตัว

ครูสอนเสริม

Kazakova Lyubov Alexandrovna


การเคลื่อนไหวของเส้น

  • เซ็นเซอร์วัดแสงสองตัว
  • ตัวควบคุมตามสัดส่วน (ตัวควบคุม P)

อัลกอริทึมสำหรับการเคลื่อนไปตามเส้นสีดำโดยไม่มีตัวควบคุมตามสัดส่วน

  • มอเตอร์ทั้งสองหมุนด้วยกำลังเท่ากัน
  • หากเซ็นเซอร์วัดแสงด้านขวาชนกับเส้นสีดำ แสดงว่ากำลังของมอเตอร์ด้านซ้าย (เช่น B) จะลดลงหรือหยุดลง
  • หากเซ็นเซอร์วัดแสงด้านซ้ายชนกับเส้นสีดำ แสดงว่ากำลังของมอเตอร์ตัวอื่นๆ (เช่น C) ลดลง (กลับไปที่เส้น) ลดลงหรือหยุดลง
  • หากเซ็นเซอร์ทั้งสองเป็นสีขาวหรือสีดำ แสดงว่ามีการเคลื่อนไหวเป็นเส้นตรง

การเคลื่อนไหวถูกจัดระเบียบโดยการเปลี่ยนกำลังของมอเตอร์ตัวใดตัวหนึ่ง


ตัวอย่างโปรแกรมเคลื่อนที่ตามเส้นสีดำโดยไม่มี P-controller

การเคลื่อนไหวถูกจัดระเบียบโดยการเปลี่ยนมุมการหมุน


  • ตัวควบคุมสัดส่วน (P-controller) ช่วยให้คุณสามารถปรับพฤติกรรมของหุ่นยนต์ได้ ขึ้นอยู่กับว่าพฤติกรรมของมันแตกต่างจากที่ต้องการมากน้อยเพียงใด
  • ยิ่งหุ่นยนต์เบี่ยงเบนไปจากเป้าหมายมากเท่าไร ก็ยิ่งต้องใช้แรงเพื่อกลับไปยังเป้าหมายมากขึ้นเท่านั้น

  • P-controller ใช้เพื่อให้หุ่นยนต์อยู่ในสถานะที่แน่นอน:
  • ดำรงตำแหน่งผู้ควบคุม เลื่อนไปตามเส้น (เซ็นเซอร์วัดแสง) เลื่อนไปตามกำแพง (เซ็นเซอร์วัดระยะ)
  • ดำรงตำแหน่งจอมบงการ
  • การเคลื่อนที่แบบเส้น (เซ็นเซอร์วัดแสง)
  • เคลื่อนที่ไปตามกำแพง (เซ็นเซอร์วัดระยะ)

ติดตามสายด้วยเซ็นเซอร์เดียว

  • เป้าหมายคือเคลื่อนตัวตามแนวชายแดน "ขาว-ดำ"
  • บุคคลสามารถแยกแยะเส้นขอบของสีขาวและสีดำได้ หุ่นยนต์ไม่สามารถ
  • เป้าหมายของหุ่นยนต์คือสีเทา

ทางแยก

เมื่อใช้เซ็นเซอร์วัดแสง 2 ตัว สามารถจัดการจราจรบนเส้นทางที่ยากขึ้นได้



อัลกอริทึมการขับขี่บนทางหลวงที่มีทางแยก

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


หลักการทำงานของ P-regulator

ตำแหน่งของเซ็นเซอร์

O=O1-O2


อัลกอริธึมสำหรับการเคลื่อนไปตามเส้นสีดำด้วยตัวควบคุมตามสัดส่วน

SW \u003d K * (C-T)

  • C - ค่าเป้าหมาย (อ่านค่าจากเซ็นเซอร์วัดแสงเป็นสีขาวและดำ คำนวณค่าเฉลี่ย)
  • T - ค่าปัจจุบัน - รับจากเซ็นเซอร์
  • K คือสัมประสิทธิ์ความไว ยิ่งมีความไวสูง



ในการดูงานนำเสนอที่มีรูปภาพ การออกแบบ และสไลด์ ดาวน์โหลดไฟล์และเปิดใน PowerPointบนคอมพิวเตอร์ของคุณ
เนื้อหาข้อความของสไลด์การนำเสนอ:
“อัลกอริธึมการเคลื่อนที่ตามแนวเส้นสีดำด้วยเซ็นเซอร์สีเดียว” วงกลมบน “วิทยาการหุ่นยนต์” อาจารย์ก่อน Yezidov Ahmed Elievich ที่ MBU DO “Shelkovskaya CTT” เพื่อศึกษาอัลกอริทึมการเคลื่อนตัวไปตามเส้นสีดำ หุ่นยนต์ Lego Mindstorms EV3 พร้อมเซ็นเซอร์สีเดียว จะใช้เซ็นเซอร์สี เซ็นเซอร์สีแยกสีได้ 7 สีและสามารถตรวจจับการไม่มีสีได้ มันสามารถทำงานเป็นเซ็นเซอร์แสงเช่นเดียวกับใน NXT สนามแข่งขันหุ่นยนต์ Line S ลู่วิ่งรูปตัว "S" ที่เสนอจะช่วยให้คุณสามารถทำการทดสอบหุ่นยนต์ที่สร้างขึ้นเพื่อความเร็วและปฏิกิริยาที่น่าสนใจอีกครั้ง ลองพิจารณาอัลกอริธึมที่ง่ายที่สุดในการเคลื่อนไปตามเส้นสีดำบนเซ็นเซอร์สีเดียวบน EV3 อัลกอริธึมนี้ช้าที่สุด แต่เสถียรที่สุด หุ่นยนต์จะไม่เคลื่อนที่ไปตามเส้นสีดำอย่างเคร่งครัด แต่ตามแนวชายแดนเลี้ยวซ้ายและขวาและ ค่อยๆ เคลื่อนไปข้างหน้า อัลกอริธึมนั้นง่ายมาก : ถ้าเซ็นเซอร์เห็นสีดำ แสดงว่าหุ่นยนต์หันไปทางเดียว ถ้าเห็นสีขาว - ในอีกทางหนึ่ง การติดตามเส้นในโหมดแสงสะท้อนด้วยเซนเซอร์สองตัว บางครั้งเซนเซอร์สีอาจไม่สามารถแยกแยะระหว่างขาวดำได้เป็นอย่างดี วิธีแก้ปัญหานี้คือการใช้เซ็นเซอร์ไม่อยู่ในโหมดการตรวจจับสี แต่ใช้ในโหมดตรวจจับความสว่างของแสงสะท้อน ในโหมดนี้ เมื่อรู้ค่าของเซ็นเซอร์บนพื้นผิวที่มืดและสว่าง เราสามารถพูดได้อย่างอิสระว่าอะไรจะถือว่าเป็นสีขาวและอะไรจะเป็นสีดำ ทีนี้มาดูค่าความสว่างของพื้นผิวสีขาวและสีดำกัน เมื่อต้องการทำเช่นนี้ ในเมนูของ EV3 Brick เราพบแท็บ "Brick Applications" ตอนนี้คุณอยู่ในหน้าต่างมุมมองพอร์ตและคุณสามารถดูการอ่านของเซ็นเซอร์ทั้งหมดได้ในขณะนี้ เซ็นเซอร์ของเราควรเรืองแสงสีแดง ซึ่งหมายความว่าอยู่ในโหมดตรวจจับแสงสะท้อน ให้กดปุ่มกลางและเลือกโหมด COL-REFLECT ในหน้าต่างมุมมองพอร์ตของพอร์ตที่ต้องการ ตอนนี้ เราจะวางหุ่นยนต์เพื่อให้เซ็นเซอร์ทั้งสองอยู่เหนือพื้นผิวสีขาว เราดูตัวเลขในพอร์ต 1 และ 4 ในกรณีของเรา ค่าคือ 66 และ 71 ตามลำดับ นี่จะเป็นค่าสีขาวของเซ็นเซอร์ ตอนนี้ มาวางหุ่นยนต์เพื่อให้เซ็นเซอร์อยู่เหนือพื้นผิวสีดำ อีกครั้งเรามาดูค่าของพอร์ต 1 และ 4 เรามี 5 และ 6 ตามลำดับ นี่คือความหมายของสีดำ ต่อไปเราจะแก้ไขโปรแกรมก่อนหน้า กล่าวคือเราเปลี่ยนการตั้งค่าของสวิตช์ ตราบใดที่มีเซ็นเซอร์สี -> การวัด -> สีติดตั้งอยู่ เราต้องตั้งค่า Color Sensor -> Comparison -> Reflected Light Intensity ตอนนี้เราต้องตั้งค่า "comparison type" และ "threshold value" ค่าเกณฑ์คือค่าของ "สีเทา" บางส่วนค่าด้านล่างที่เราจะพิจารณาเป็นสีดำและอื่น ๆ - สีขาว สำหรับการประมาณค่าแรก การใช้ค่าเฉลี่ยระหว่างสีขาวกับสีดำของเซ็นเซอร์แต่ละตัวจะสะดวกกว่า ดังนั้น ค่าขีดจำกัดของเซ็นเซอร์ตัวแรก (พอร์ต #1) จะเป็น (66+5)/2=35.5 ปัดเศษขึ้นเป็น 35 ค่าเกณฑ์ของเซ็นเซอร์ตัวที่สอง (พอร์ต #4): (71+6)/2 = 38.5 ปัดขึ้นเป็น 38 ตอนนี้เราตั้งค่าเหล่านี้ในแต่ละสวิตช์ตามลำดับ นั่นคือทั้งหมด บล็อกที่มีการเคลื่อนไหวยังคงอยู่ในตำแหน่งที่ไม่เปลี่ยนแปลงเพราะถ้าเราใส่เครื่องหมาย " ใน "ประเภทเปรียบเทียบ"<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

ข้อความของงานถูกวางไว้โดยไม่มีรูปภาพและสูตร
เวอร์ชันเต็มของงานมีอยู่ในแท็บ "ไฟล์งาน" ในรูปแบบ PDF

เลโก้ มายด์สตอร์ม EV3

ขั้นเตรียมการ

การสร้างและการปรับเทียบโปรแกรม

บทสรุป

วรรณกรรม

1. บทนำ.

วิทยาการหุ่นยนต์เป็นหนึ่งในส่วนที่สำคัญที่สุดของความก้าวหน้าทางวิทยาศาสตร์และเทคโนโลยี ซึ่งปัญหาของกลศาสตร์และเทคโนโลยีใหม่ ๆ เข้ามาสัมผัสกับปัญหาของปัญญาประดิษฐ์

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

ตัวสร้าง Mindstorms EV3 เชิญชวนให้เราเข้าสู่โลกที่น่าสนใจของหุ่นยนต์ ดื่มด่ำกับสภาพแวดล้อมที่ซับซ้อนของเทคโนโลยีสารสนเทศ

วัตถุประสงค์: เพื่อเรียนรู้วิธีตั้งโปรแกรมหุ่นยนต์ให้เคลื่อนที่เป็นเส้นตรง

    ทำความคุ้นเคยกับตัวสร้าง Mindstorms EV3 และสภาพแวดล้อมการเขียนโปรแกรม

    เขียนโปรแกรมการเคลื่อนที่ของหุ่นยนต์เป็นเส้นตรง 30 ซม., 1 ม. 30 ซม. และ 2 ม. 17 ซม.

    ตัวสร้าง Mindstorms EV3

ชิ้นส่วนของนักออกแบบ - 601 ชิ้น, เซอร์โวมอเตอร์ - 3 ชิ้น, เซ็นเซอร์สี, เซ็นเซอร์ตรวจจับความเคลื่อนไหว, เซ็นเซอร์อินฟราเรดและเซ็นเซอร์สัมผัส บล็อกไมโครโปรเซสเซอร์ EV3 เป็นสมองของ LEGO Mindstorms

เซอร์โวมอเตอร์ขนาดใหญ่มีหน้าที่ในการเคลื่อนที่ของหุ่นยนต์ ซึ่งเชื่อมต่อกับ EV3 Brick และทำให้หุ่นยนต์เคลื่อนที่: ไปข้างหน้าและข้างหลัง หันหลังกลับ และขับไปตามวิถีที่กำหนด เซอร์โวมอเตอร์นี้มีเซ็นเซอร์การหมุนในตัว ซึ่งช่วยให้คุณควบคุมการเคลื่อนที่ของหุ่นยนต์และความเร็วได้อย่างแม่นยำ

คุณสามารถทำให้หุ่นยนต์ดำเนินการโดยใช้ซอฟต์แวร์ EV3 โปรแกรมประกอบด้วยบล็อคควบคุมต่างๆ เราจะทำงานกับบล็อกการเคลื่อนไหว

โมชั่นบล็อคควบคุมมอเตอร์ของหุ่นยนต์ เปิด-ปิด ทำให้ทำงานตามภารกิจ คุณสามารถตั้งโปรแกรมการเคลื่อนไหวเป็นจำนวนรอบหรือองศาได้

    ขั้นตอนการเตรียมการ

    การสร้างสนามเทคนิค

เราจะทำเครื่องหมายพื้นที่ทำงานของหุ่นยนต์โดยใช้เทปไฟฟ้าและไม้บรรทัดเราจะสร้างเส้นสามเส้นยาว 30 ซม. - เส้นสีเขียว 1 ม. 15 ซม. - สีแดงและ 2 ม. 17 ซม. - เส้นสีดำ

    การคำนวณที่จำเป็น:

เส้นผ่านศูนย์กลางล้อหุ่นยนต์ - 5 ซม. 7 มม. = 5.7 ซม.

หนึ่งรอบของวงล้อหุ่นยนต์เท่ากับเส้นรอบวงของวงกลมที่มีเส้นผ่านศูนย์กลาง 5.7 ซม. เส้นรอบวงนั้นหาได้จากสูตร

โดยที่ r คือรัศมีของวงล้อ d คือเส้นผ่านศูนย์กลาง π = 3.14

ล = 5,7 * 3,14 = 17,898 = 17,9.

เหล่านั้น. สำหรับการหมุนวงล้อหนึ่งครั้ง หุ่นยนต์จะเคลื่อนที่ได้ 17.9 ซม.

คำนวณจำนวนรอบที่ต้องผ่าน:

N=30: 17.9=1.68

    1ม. 30ซม. = 130ซม.

N=130: 17.9=7.26.

    2 ม. 17 ซม. = 217 ซม.

ยังไม่มีข้อความ = 217: 17.9 = 12.12

    การสร้างและสอบเทียบโปรแกรม

เราจะสร้างโปรแกรมตามอัลกอริทึมต่อไปนี้:

อัลกอริทึม:

    เลือกบล็อกการเคลื่อนไหวในซอฟต์แวร์ Mindstorms EV3

    เปิดมอเตอร์ทั้งสองในทิศทางที่กำหนด

    รอให้การอ่านเซ็นเซอร์การหมุนของมอเตอร์ตัวใดตัวหนึ่งเปลี่ยนเป็นค่าที่ระบุ

    ปิดมอเตอร์

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

    มีการติดตั้งสนามไว้บนโต๊ะนักเรียน ดังนั้นจึงอาจเกิดการโก่งตัวของพื้นผิวเล็กน้อย

    พื้นผิวของสนามมีความเรียบ ดังนั้นการยึดเกาะของล้อหุ่นยนต์กับสนามได้ไม่ดีจึงไม่ถูกตัดออก

    ในการคำนวณจำนวนรอบ เราต้องปัดเศษตัวเลข ดังนั้น โดยการเปลี่ยนหนึ่งในร้อยของรอบ เราจึงบรรลุผลตามที่ต้องการ

5. สรุป.

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

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

เป็นเรื่องที่น่าสนใจมากที่ได้ร่วมงานกับนักออกแบบ เรียนรู้เพิ่มเติมเกี่ยวกับความสามารถของมัน คุณสามารถแก้ปัญหาทางเทคนิคต่างๆ ได้ และในอนาคต อาจสร้างแบบจำลองที่น่าสนใจของหุ่นยนต์ Lego Mindstorms EV3 ของคุณเอง

วรรณกรรม.

    Koposov D. G. "ก้าวแรกสู่วิทยาการหุ่นยนต์สำหรับเกรด 5-6" - ม.: บินอม. ห้องปฏิบัติการความรู้, 2555 - 286 น.

    Filippov S. A. "วิทยาการหุ่นยนต์สำหรับเด็กและผู้ปกครอง" - "วิทยาศาสตร์" 2010

    แหล่งข้อมูลทางอินเทอร์เน็ต

    http://lego. rkc-74.ru/

    http://www.9151394.ru/projects/lego/lego6/beliovskaya/

    http://www. เลโก้ คอม/การศึกษา/

กำลังโหลด...กำลังโหลด...