Skip to main content

บทเรียนที่ 1: เซ็นเซอร์ตำแหน่งคืออะไร?

ในบทเรียนนี้คุณจะได้เรียนรู้ว่าเซ็นเซอร์ตำแหน่งคืออะไรและวิธีการใช้เซ็นเซอร์ตำแหน่งเพื่อนำทางหุ่นยนต์ VR บนระนาบพิกัดบนสนามเด็กเล่น Number GridMap คุณจะได้เรียนรู้วิธีการทำงานของเซ็นเซอร์ตำแหน่งและวิธีการใช้เซ็นเซอร์ตำแหน่งในโครงการ VEXcode VR Python

ผลการเรียนรู้

  • ระบุว่าเซ็นเซอร์ตำแหน่งอ่านพิกัด (X, Y) จากจุดเลี้ยว ตรงกลางของหุ่นยนต์ VR
  • ระบุว่าคำสั่ง ตำแหน่ง  รายงานตำแหน่งพิกัด X หรือ Y ของหุ่นยนต์ VR เป็นหน่วยมิลลิเมตรหรือนิ้ว
  • อธิบายว่าเหตุใดจึงต้องใช้เซ็นเซอร์ตรวจจับตำแหน่งใน โครงการ

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

หุ่นยนต์ VR มีเซ็นเซอร์ตรวจจับตำแหน่งในตัวซึ่งจะรายงานตำแหน่ง (X, Y) ของหุ่นยนต์ VR ตำแหน่งของหุ่นยนต์ VR จะถูกกำหนดโดยจุดเลี้ยวด้านหน้า - กลาง นี่ยังเป็นตำแหน่งของปากกาบนหุ่นยนต์ VR อีกด้วย

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

สามารถดูค่าเซ็นเซอร์ตำแหน่งได้บนแดชบอร์ดใน VEXcode VR

เซ็นเซอร์ตำแหน่งและพิกัดใน VR Playgrounds

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

Number Grid Map playground with a coordinate grid overlaid. จุดตัดของแกน x และ y ถูกแสดงที่จุดตัดของตัวเลข 45, 46, 55 และ 56 แกน x ไปจากซ้ายไปขวาโดยมีค่าตั้งแต่ลบ 1000 ถึงบวก 1000 แกน y ไปจากล่างขึ้นบนโดยมีค่าตั้งแต่ลบ 1000 ถึงบวก 1000

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

คอนโซลมอนิเตอร์ที่เปิดใน VR ตารางจะแสดงอยู่ภายในคอนโซลโดยมีสองแถวอยู่ภายในส่วนเซ็นเซอร์ของตาราง แถวแรกเขียนว่า 'ตำแหน่ง x ในหน่วย mm ลบ 900' ข้อมูลแถวที่สองอ่านว่า 'วางตำแหน่ง y ในหน่วย mm ลบ 900'

ดูบทความต่อไปนี้สำหรับข้อมูลเกี่ยวกับวิธีการระบุพิกัด (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 ให้เลือก "เปิดตัวอย่าง" จากเมนูแบบเลื่อนลงของไฟล์
    เมนูไฟล์ใน VEXcode VR เปิดอยู่ กล่องสีแดงอยู่ในตัวเลือกที่สี่จากด้านบนของรายการที่เขียนว่า 'ตัวอย่างที่เปิด'
  • เลือกโครงการตัวอย่าง "ทำเลที่ตั้ง" 
ตัวอย่างไอคอนโครงการที่เขียนว่า 'ที่ตั้ง' ไอคอนของหุ่นยนต์ VR จะปรากฏขึ้นพร้อมลูกศรชี้ขึ้นและลูกศรอีกตัวจะหมุน ใต้ข้อความ 'x มากกว่า 0' และ 'y มากกว่า 0'
  • เปิดหน้าต่างสนามเด็กเล่น หากยังไม่ได้เปิด ตรวจสอบให้แน่ใจว่า 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)

VEXcode VR ที่มีหน้าต่างสนามเด็กเล่นทางด้านซ้ายและคอนโซลมอนิเตอร์เปิดทางด้านขวา ในหน้าต่างสนามเด็กเล่นหุ่นยนต์ VR สามารถมองเห็นได้ตรงกลางของ Number Grid Map Playground ในคอนโซลหน้าจอตำแหน่ง X และตำแหน่ง Y ของหุ่นยนต์จะแสดงเป็น 0 ในทั้งมิลลิเมตรและนิ้ว

คำถาม

โปรดเลือกลิงก์ด้านล่างเพื่อเข้าถึงแบบทดสอบบทเรียน

Google Doc /.docx /.pdf