บทเรียนที่ 1: เซ็นเซอร์ตำแหน่งคืออะไร?
ในบทเรียนนี้คุณจะได้เรียนรู้ว่าเซ็นเซอร์ตำแหน่งคืออะไรและวิธีการใช้เซ็นเซอร์ตำแหน่งเพื่อนำทางหุ่นยนต์ VR บนระนาบพิกัดบนสนามเด็กเล่น Number GridMap คุณจะได้เรียนรู้วิธีการทำงานของเซ็นเซอร์ตำแหน่งและวิธีการใช้เซ็นเซอร์ตำแหน่งในโครงการ VEXcode VR Python
ผลการเรียนรู้
- ระบุว่าเซ็นเซอร์ตำแหน่งอ่านพิกัด (X, Y) จากจุดเลี้ยว ตรงกลางของหุ่นยนต์ VR
- ระบุว่าคำสั่ง ตำแหน่ง รายงานตำแหน่งพิกัด X หรือ Y ของหุ่นยนต์ VR เป็นหน่วยมิลลิเมตรหรือนิ้ว
- อธิบายว่าเหตุใดจึงต้องใช้เซ็นเซอร์ตรวจจับตำแหน่งใน โครงการ
เซ็นเซอร์ตำแหน่ง
หุ่นยนต์ VR มีเซ็นเซอร์ตรวจจับตำแหน่งในตัวซึ่งจะรายงานตำแหน่ง (X, Y) ของหุ่นยนต์ VR ตำแหน่งของหุ่นยนต์ VR จะถูกกำหนดโดยจุดเลี้ยวด้านหน้า - กลาง นี่ยังเป็นตำแหน่งของปากกาบนหุ่นยนต์ VR อีกด้วย

สามารถดูค่าเซ็นเซอร์ตำแหน่งได้บนแดชบอร์ดใน VEXcode VR
เซ็นเซอร์ตำแหน่งและพิกัดใน VR Playgrounds
เซ็นเซอร์ตำแหน่งสามารถใช้เพื่อนำทางพิกัดของสนามเด็กเล่นใดก็ได้ สนามเด็กเล่นแต่ละแห่งมีตั้งแต่ -1000 มิลลิเมตร (มม.) ถึง 1,000 มิลลิเมตร (มม.) สำหรับตำแหน่ง X และ Y

แดชบอร์ด VEXcode VR แสดงตำแหน่ง (X, Y) ของหุ่นยนต์ VR ที่กำหนดจากเซนเซอร์ตรวจจับตำแหน่ง

ดูบทความต่อไปนี้สำหรับข้อมูลเกี่ยวกับวิธีการระบุพิกัด (X, Y) บนสนามเด็กเล่นและวิธีการระบุพิกัดของตำแหน่งและมุมปัจจุบันของหุ่นยนต์ VR
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคอนโซลมอนิเตอร์โปรดดูบทความนี้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการใช้ระบบพิกัด (X, Y) และคำสั่งตำแหน่งโปรดดูบทความต่อไปนี้
คำสั่งตำแหน่ง
เซนเซอร์ตรวจจับตำแหน่งสามารถใช้เพื่อนำทางหุ่นยนต์ VR ไปยังหรือจากตำแหน่งที่แม่นยำบนสนามเด็กเล่นตามพิกัด X, Y ข้อมูลจากเซ็นเซอร์ตำแหน่งสามารถใช้ในโครงการเพื่อให้หุ่นยนต์ VR สามารถตัดสินใจตามตำแหน่งที่รายงานบนระนาบพิกัด
ใช้คำสั่ง ตำแหน่ง ในโปรเจ็กต์ข้อความเพื่อรายงานตำแหน่งของเซ็นเซอร์ตำแหน่ง คำสั่ง ตำแหน่ง จะส่งคืนค่าตัวเลขที่รายงานตำแหน่งพิกัด X หรือ Y ของจุดศูนย์กลางของเซ็นเซอร์ตำแหน่ง (จุดศูนย์กลางของหุ่นยนต์ VR) เลือกว่าจะรายงานตำแหน่งพิกัด X หรือ Y โดยป้อนพารามิเตอร์ X หรือ Y
location.position (X, MM)
location.position (Y, MM)คำสั่ง ตำแหน่ง ยังสามารถรายงานค่าเป็นมิลลิเมตร (มม.) หรือนิ้วได้อีกด้วย
location.position (X, MM)
location.position (X, นิ้ว)คำสั่ง ตำแหน่ง มักใช้กับโครงสร้างควบคุม เช่น ลูป while เช่นเดียวกับคำสั่ง get_distance ที่กล่าวถึงในหน่วยที่ 5 เช่นเดียวกับตัวดำเนินการเปรียบเทียบ เพื่อให้หุ่นยนต์ VR สามารถใช้ข้อมูลจากเซ็นเซอร์ตำแหน่งเพื่อนำทางไปตามแกน X และ Y ไปยังตำแหน่งใดตำแหน่งหนึ่งได้ คุณจะเรียนรู้เพิ่มเติมเกี่ยวกับการใช้คำสั่ง ตำแหน่ง ในลักษณะนี้ในหน่วยนี้
การดูข้อมูลเซ็นเซอร์ตำแหน่งที่ตั้ง
คุณสามารถดูข้อมูลที่รายงานโดยเซ็นเซอร์ตำแหน่งในแดชบอร์ด VR หรือผ่านคอนโซลมอนิเตอร์ โหลดและเรียกใช้โครงการตัวอย่าง "ตำแหน่ง" เพื่อดูว่ามีการรายงานข้อมูลเซ็นเซอร์ตำแหน่งอย่างไรเพื่อให้คุณสามารถใช้ในโครงการเพื่อนำทางหุ่นยนต์ VR ไปยังตำแหน่งที่เฉพาะเจาะจง
สำหรับข้อมูลของคุณ
เซนเซอร์ตรวจจับตำแหน่งยังสามารถใช้เพื่อรายงานมุมของตำแหน่งของหุ่นยนต์ VR เป็นองศา ซึ่งจะเป็นประโยชน์เมื่อพยายามหันไปยังตำแหน่งที่แม่นยำหรือย้ายจากตำแหน่งปัจจุบันของคุณด้วยจำนวนที่แม่นยำ
คำสั่ง position_angle สามารถใช้เพื่อรายงานค่าตัวเลขของมุมตำแหน่งของหุ่นยนต์ VR เป็นองศาได้
location.position_angle (องศา)โครงการตัวอย่าง 'การตรวจจับตำแหน่ง' จะใช้ค่าที่รายงานโดยเซ็นเซอร์ตำแหน่งโดยใช้คำสั่ง ตำแหน่ง และ ตำแหน่ง_มุม
- ใน VEXcode VR ให้เลือก "เปิดตัวอย่าง" จากเมนูแบบเลื่อนลงของไฟล์

- เลือกโครงการตัวอย่าง "ทำเลที่ตั้ง"

- เปิดหน้าต่างสนามเด็กเล่น หากยังไม่ได้เปิด ตรวจสอบให้แน่ใจว่า Number Grid Map Playground เปิดขึ้นและดำเนินโครงการ โปรเจกต์นี้แสดงไว้ที่นี่ด้วย
# เพิ่มรหัสโครงการใน "main"
def main ():
# หุ่นยนต์จะขับเคลื่อนจนกว่าจะผ่าน 0 บนแกน Y ใน
ขณะที่ location.position (Y, MM) < 0:
drivetrain.drive (FORWARD)
wait (5, msec)
drivetrain.turn_for (RIGHT, 90, DEGREES)
# หุ่นยนต์จะขับเคลื่อนจนกว่าจะผ่าน 0 บนแกน X ใน
ขณะที่ location.position (X, MM) < 0
: drivetrain.drive (FORWARD)
wait (5,
msec) drivetrain.stop ()
# VR threads — ห้ามลบ
vr_thread (main)- สังเกตว่า VR Robot ขับเคลื่อนจนกว่าพิกัด Y มากกว่าศูนย์เลี้ยวขวาจากนั้นขับเคลื่อนจนกว่าพิกัด X มากกว่าศูนย์ สิ่งนี้วางหุ่นยนต์ VR ใกล้กับศูนย์กลางของ Number Grid Map Playground ใกล้กับตำแหน่ง (0, 0)
