การเข้ารหัสเซ็นเซอร์วัดระยะ V5 โดยใช้อสมการทางคณิตศาสตร์

การใช้เซ็นเซอร์วัดระยะ V5 บนหุ่นยนต์ของคุณในระหว่างการแข่งขัน VEX Robotics Competition (VRC) ช่วยให้หุ่นยนต์ของคุณทำคะแนนได้มากขึ้นโดยใช้การเคลื่อนไหวอัตโนมัติ

เกมที่ใช้เป็นตัวอย่างสำหรับบทความนี้คือเกม VRC ปี 2021-2022 Tipping Point ดูหน้านี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเกมและวิธีการเล่น สำหรับคำจำกัดความของเกมที่ใช้ตลอดบทความนี้ ภาพรวมของกฎของเกม และการให้คะแนน ดูคู่มือเกมสำหรับ Tipping Point


เซ็นเซอร์วัดระยะ V5

ภาพมุมเฉียงของเซ็นเซอร์วัดระยะทาง V5

เซ็นเซอร์วัดระยะ V5 เป็นหนึ่งในเซ็นเซอร์ V5 อันทรงพลังซึ่งได้รับการออกแบบเพื่อการบูรณาการอย่างสมบูรณ์กับแพลตฟอร์มหุ่นยนต์ V5

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเซ็นเซอร์วัดระยะทาง V5 วิธีการทำงาน และวิธีการใช้งานร่วมกับ VEXcodeโปรดดูบทความนี้จาก VEX Library


ตัวอย่างเซนเซอร์วัดระยะ V5

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

โปรเจ็กต์ VEXcode V5 Blocks ที่ขับเคลื่อนไปข้างหน้าจนกว่าจะตรวจพบเป้าหมายเคลื่อนที่ (Mobile Goal) จากนั้นจึงหยิบเป้าหมายนั้นขึ้นมาและเคลื่อนย้ายไปยังที่อื่น ข้อความในโปรเจ็กต์ระบุว่า เมื่อเริ่มต้นทำงาน ให้ขับเคลื่อนไปข้างหน้า รอจนกว่าระยะห่างจากจุดศูนย์กลางของวัตถุ (DistanceCenter) ในหน่วยมิลลิเมตรจะน้อยกว่า 139 จากนั้นจึงหยุดขับเคลื่อน ถัดไป หมุน ForkMotors ขึ้น 600 องศา แล้วหมุนไปทางซ้าย 90 องศา ถัดไป ขับไปข้างหน้า 600 มม. หมุนมอเตอร์ ForkMotors ลง 600 องศา แล้วขับถอยหลัง 300 มม.

นี่คือตัวอย่างโค้ดที่จะกล่าวถึงในบทความนี้

จะมีการกล่าวถึงรายละเอียดของพฤติกรรมในตัวอย่าง และวิธีการรับพารามิเตอร์ที่ใช้ในการเขียนโค้ดเซ็นเซอร์วัดระยะ V5

คุณสามารถสร้างโครงการใน VEXcode V5 โดยทำตามบทความ หรือคุณสามารถอ่านบทความเพื่อเป็นแรงบันดาลใจเป็นตัวอย่างในการรวมเซ็นเซอร์วัดระยะห่าง V5 เมื่อคุณเขียนโค้ดหุ่นยนต์แบบกำหนดเองของคุณเอง

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

ในตัวอย่างนี้ เมนูอุปกรณ์ของ VEXcode V5 เปิดขึ้นเพื่อแสดงการกำหนดค่าอุปกรณ์ เมนูจะแสดงเซ็นเซอร์วัดระยะทางชื่อ DistanceCenter ที่พอร์ต 19 เป็นอันดับแรก ถัดไปเป็นระบบขับเคลื่อนที่มีมอเตอร์อยู่ที่พอร์ต 1 และ 10 และเซ็นเซอร์วัดความเฉื่อยอยู่ที่พอร์ต 3 สุดท้ายนี้ มีกลุ่มมอเตอร์ชื่อ ForkMotors อยู่ที่พอร์ต 2 และ 9

นี่คือการกำหนดค่าหุ่นยนต์ที่ใช้ใน VEXcode V5 เพื่อเพิ่มหุ่นยนต์และเซ็นเซอร์วัดระยะทางในการกำหนดค่าสำหรับตัวอย่างนี้ หากคุณต้องการลองตัวอย่างด้วยตัวเอง

หุ่นยนต์ที่ใช้เป็นตัวอย่างนี้

ภาพมุมมองด้านบนของหุ่นยนต์ Moby Hero Bot โดยมีการเพิ่มเซ็นเซอร์วัดระยะทาง V5 เข้ามาและเน้นให้เห็นชัดเจน เซ็นเซอร์วัดระยะทางติดตั้งอยู่ด้านหลังและด้านล่างของง่ามหุ่นยนต์ โดยหันไปข้างหน้า

หุ่นยนต์ที่ใช้ในตัวอย่างนี้คือ VRC Hero Bot, Moby ปี 2021-2022 การออกแบบของ Moby ไม่มีเซ็นเซอร์ใดๆ มีการเพิ่ม V5 Distance Sensor ลงใน Moby สำหรับตัวอย่างนี้

สำหรับตัวอย่างนี้ เซ็นเซอร์วัดระยะ V5 ติดตั้งไว้ใกล้กับศูนย์กลางของส้อม Moby

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Moby ดูบทความนี้จาก VEX Library

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

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

รายละเอียดของพฤติกรรมที่จะทำคะแนน

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

หุ่นยนต์โมบี้ถูกวางไว้ในสนาม โดยมีประตูเคลื่อนที่วางอยู่ห่างออกไปไม่กี่ฟุตข้างหน้า

ขั้นแรก ควรวางหุ่นยนต์ให้เผชิญกับเป้าหมายเคลื่อนที่

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

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

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

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

หุ่นยนต์โมบี้ที่บรรทุกเป้าหมายเคลื่อนที่ได้หันกลับไปทางซ้าย 90 องศา

เมื่อจับเป้าหมายเคลื่อนที่แล้ว หุ่นยนต์จะเลี้ยวซ้าย 90 องศา และเคลื่อนไปข้างหน้าเป็นระยะทาง 600 มิลลิเมตร (มม.)

หุ่นยนต์โมบี้ได้ลดงาลงเพื่อวางเป้าหมายเคลื่อนที่ลง แล้วจึงขับเคลื่อนถอยหลัง

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


ทำความเข้าใจกับพารามิเตอร์

เพื่อดำเนินการตามพฤติกรรมข้างต้น สิ่งสำคัญคือต้องเข้าใจว่าเป้าหมายเคลื่อนที่อยู่ห่างจากเซนเซอร์ V5 Distance แค่ไหน

พารามิเตอร์ในการรับเป้าหมายเคลื่อนที่โดยใช้เซ็นเซอร์วัดระยะ V5

หุ่นยนต์โมบี้อยู่บนสนามที่มีเป้าหมายเคลื่อนที่วางอยู่ระหว่างง่ามของมัน เพื่อกำหนดระยะทางที่เหมาะสมที่สุด

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

วางเป้าหมายเคลื่อนที่ไว้ระหว่างส้อมของหุ่นยนต์

หน้าจอ V5 Brain จะแสดงอยู่ในเมนู Home โดยมีตัวเลือก Devices ถูกไฮไลต์อยู่หน้าจอ Brain จะแสดงอยู่ในเมนูข้อมูลอุปกรณ์ ซึ่งมีรายการ Smart Port และอุปกรณ์ที่เชื่อมต่อทั้งหมดของ Brain ไอคอนเซ็นเซอร์วัดระยะทางในเมนูข้อมูลอุปกรณ์จะถูกไฮไลต์เพื่อแสดงว่าสามารถเลือกรายการเพื่อเปิดเมนูข้อมูลได้

จากนั้น จากหน้าจอ Brain ให้เลือก 'อุปกรณ์' จากนั้นเลือกไอคอนสำหรับเซ็นเซอร์วัดระยะ

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

ระยะทางเป็นมิลลิเมตร (มม.) ที่เป้าหมายเคลื่อนที่อยู่ห่างจากเซ็นเซอร์จะถูกรายงานบนหน้าจอของสมอง

โปรเจ็กต์ VEXcode V5 Blocks เดียวกันกับที่ใช้ก่อนหน้านี้ ซึ่งจะเคลื่อนที่ไปข้างหน้าจนกว่าจะตรวจพบเป้าหมายเคลื่อนที่ (Mobile Goal) จากนั้นจึงหยิบเป้าหมายนั้นขึ้นมาและเคลื่อนย้ายไป ค่าที่ใช้เปรียบเทียบระยะห่างของวัตถุจากเซ็นเซอร์วัดระยะทางในโปรเจ็กต์คือ 139 ซึ่งค่านี้ถูกไฮไลต์ไว้

นี่คือค่าที่จะใช้ในโครงการเมื่อหยิบเป้าหมายมือถือโดยใช้เซ็นเซอร์วัดระยะทาง

พารามิเตอร์ในการยกและลดส้อม

หุ่นยนต์โมบี้อยู่บนสนามที่มีประตูฟุตบอลเคลื่อนที่วางอยู่ระหว่างง่ามของมัน

วางเป้าหมายมือถือไว้ในส้อมอีกครั้ง

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

จากนั้น จากหน้าจอ Brain ให้เลือก 'อุปกรณ์' จากนั้นเลือกไอคอนสำหรับมอเตอร์ 2 มอเตอร์ 2 ควบคุมทางแยกด้านซ้าย

หุ่นยนต์โมบี้อยู่บนสนามที่มีเป้าหมายเคลื่อนที่ได้วางอยู่ระหว่างง่ามที่ยกขึ้นเพื่อใช้ในการหยิบเป้าหมาย

ยกส้อมขึ้นด้วยตนเองจนกระทั่งส่วนล่างของเป้าหมายมือถือไม่บดบังมุมมองของเซ็นเซอร์ระยะทาง

เมื่อยกตะเกียบขึ้นด้วยตนเอง ต้องแน่ใจว่าได้ยกตะเกียบแต่ละตัวทางด้านซ้ายและด้านขวาของ Moby พร้อมกัน เนื่องจากแต่ละตะเกียบควบคุมด้วยมอเตอร์ของตัวเอง

หมายเหตุ: หลีกเลี่ยงจุดบีบ จุด เมื่อยกส้อมด้วยตนเอง

หน้าจอการทำงานของสมองจะแสดงอยู่ในเมนู Smart Motor ซึ่งจะแสดงข้อมูลของอุปกรณ์ เมนูประกอบด้วยค่าการวัดและกราฟที่แสดงข้อมูลของอุปกรณ์ ในภาพหน้าจอนี้ ค่าองศาของมอเตอร์ถูกไฮไลต์และแสดงค่า 604

จำนวนองศาที่ Forks ได้ถูกยกขึ้นจะถูกรายงานบนหน้าจอของ Brain

โปรเจ็กต์ VEXcode V5 Blocks เดียวกันกับที่ใช้ก่อนหน้านี้ ซึ่งจะเคลื่อนที่ไปข้างหน้าจนกว่าจะตรวจพบเป้าหมายเคลื่อนที่ (Mobile Goal) จากนั้นจึงหยิบเป้าหมายนั้นขึ้นมาและเคลื่อนย้ายไป จำนวนองศาที่กลุ่มมอเตอร์ Fork หมุนในโปรเจ็กต์นี้แสดงค่า 600 และมีการเน้นไว้

นี่คือค่าที่จะใช้ในโครงการเมื่อยกและลดระดับ Forks เพื่อรับและวางเป้าหมายมือถือ

การใช้บล็อกตัวดำเนินการ

แสดงบล็อกตัวดำเนินการน้อยกว่าใน VEXcode V5 บล็อกนี้ใช้สำหรับเปรียบเทียบค่าสองค่าและรายงานว่าค่าแรกต่ำกว่าค่าที่สองหรือไม่

ในโครงการนี้ บล็อกตัวดำเนินการ <Less than> ใช้เพื่อเข้ารหัสเซ็นเซอร์วัดระยะ

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

เนื่องจากเมื่อเซ็นเซอร์วัดระยะเข้าใกล้วัตถุมากขึ้น ระยะห่างระหว่างเซ็นเซอร์กับวัตถุนั้นในหน่วยมิลลิเมตรก็จะลดลง

โปรเจ็กต์ VEXcode V5 Blocks เดียวกันกับที่ใช้ก่อนหน้านี้ ซึ่งจะเคลื่อนที่ไปข้างหน้าจนกว่าจะตรวจพบเป้าหมายเคลื่อนที่ (Mobile Goal) จากนั้นจึงหยิบเป้าหมายนั้นขึ้นมาและเคลื่อนย้ายไป ค่าที่ใช้เปรียบเทียบระยะห่างของวัตถุจากเซ็นเซอร์วัดระยะทางในโปรเจ็กต์คือ 139 ซึ่งค่านี้ถูกไฮไลต์ไว้

สามารถเลือกค่าเกณฑ์เพื่อกระตุ้นพฤติกรรมของหุ่นยนต์เมื่อระยะห่างน้อยกว่าจำนวนที่กำหนดไว้

ตัวอย่างเช่น เมื่อหุ่นยนต์กำลังขับไปยังเป้าหมายเคลื่อนที่ ให้ใช้บล็อกตัวดำเนินการ <Less than> เพื่อกระตุ้นพฤติกรรมของหุ่นยนต์หยุดเมื่อระยะห่าง น้อยกว่า ประมาณ 139 มิลลิเมตร (มม.)

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

หากค่านั้นเปลี่ยนเป็น 10 มิลลิเมตร (มม.) เป็นต้น หุ่นยนต์จะวิ่งเข้าไปในเป้าหมายเคลื่อนที่จริง ๆ และอาจสร้างความเสียหายให้กับตัวเองได้ เนื่องจากระยะ 10 มม. (มม.) จากเซ็นเซอร์นั้นอยู่ไม่ไกลพอที่จะป้องกันไม่ให้ส้อมของหุ่นยนต์สัมผัสกัน เป้าหมายมือถือ

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: