เซ็นเซอร์ GPS#
การแนะนำ#
เซ็นเซอร์ V5 GPS (Game Positioning System™) ให้การติดตามตำแหน่งและทิศทางที่แม่นยำสำหรับหุ่นยนต์ในสนาม VEX โดยใช้รหัส GPS รอบขอบเขตของสนามเพื่อคำนวณพิกัด X และ Y รวมถึงทิศทางของหุ่นยนต์แบบเรียลไทม์
เซ็นเซอร์ GPS จะส่งคืนตำแหน่งของหุ่นยนต์โดยใช้จุดอ้างอิงที่คำนวณโดยอัตโนมัติจากค่าชดเชยที่ป้อนเมื่อกำหนดค่าเซ็นเซอร์ GPS ในหน้าต่างอุปกรณ์
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเซ็นเซอร์ GPS โปรดอ่าน การใช้เซ็นเซอร์ GPS กับ VEX V5 ในไลบรารี VEX
จุดอ้างอิงทำหน้าที่เป็นตำแหน่ง (0, 0) ของเซ็นเซอร์ GPS เอง โดยพิกัด ทิศทาง และการเคลื่อนที่ทั้งหมดที่ได้จากวิธีการ GPS จะสัมพันธ์กับจุดที่กำหนดค่าไว้จุดนี้

หน้านี้ใช้ gps_sensor เป็นตัวอย่างชื่อเซ็นเซอร์ GPS โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ
ด้านล่างนี้คือรายการวิธีการที่มีให้เลือกใช้:
calibrate– ปรับเทียบเซ็นเซอร์ GPS เพื่อตั้งค่าทิศทางเป็นทิศทางของระบบขับเคลื่อนปัจจุบันset_origin– กำหนดตำแหน่งของจุดอ้างอิงบนหุ่นยนต์set_location– กำหนดทั้งตำแหน่งและทิศทางของจุดอ้างอิงบนฟิลด์x_position– ส่งคืนพิกัด x ของจุดอ้างอิงบนฟิลด์y_position– ส่งคืนพิกัด y ของจุดอ้างอิงบนฟิลด์heading– ส่งคืนหัวจุดอ้างอิงตามการวางแนวของฟิลด์acceleration– ส่งคืนค่าความเร่งของหุ่นยนต์บนแกนที่เลือกgyro_rate– ส่งคืนความเร็วในการหมุนของหุ่นยนต์บนแกนที่เลือกorientation– ส่งคืนทิศทางการหมุน การเอียง หรือการหันของหุ่นยนต์เป็นองศาquality– ส่งคืนความแรงของสัญญาณของเซ็นเซอร์ GPSchanged– ลงทะเบียนฟังก์ชันที่จะถูกเรียกเมื่อใดก็ตามที่เซ็นเซอร์ GPS ตรวจพบการเปลี่ยนแปลงทิศทาง
ตัวสร้าง – กำหนดค่าเริ่มต้นให้กับเซ็นเซอร์ GPS ด้วยตนเอง
Gps– สร้างเซ็นเซอร์ GPS
ปรับเทียบ#
calibrate จะทำการปรับเทียบจุดอ้างอิง โดยตั้งค่าทิศทางที่กำหนดค่าไว้ให้เป็นทิศทางของระบบขับเคลื่อนในปัจจุบัน ในระหว่างนี้ หุ่นยนต์จะต้องอยู่นิ่งสนิท เนื่องจากหากมีการเคลื่อนไหวในระหว่างการปรับเทียบ จะทำให้ได้ผลลัพธ์ที่ไม่ถูกต้อง
Usage:
gps_sensor.calibrate()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
ตั้งค่าต้นกำเนิด#
set_origin กำหนดตำแหน่งของจุดอ้างอิงบนหุ่นยนต์ด้วยตนเอง สามารถทำได้เพื่อกำหนดตำแหน่งของเซ็นเซอร์ GPS บนหุ่นยนต์ด้วยตนเอง แทนที่จะทำผ่านการตั้งค่าในโปรแกรม
Usage:
gps_sensor.set_origin(x, y, distance_units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
x |
พิกัด x ของจุดอ้างอิงบนหุ่นยนต์ |
y |
พิกัด y ของจุดอ้างอิงบนหุ่นยนต์ |
หน่วยระยะทาง |
หน่วยวัดสำหรับพิกัด x และ y:
|
# GPS Sensor is mounted 25mm forward
# from the reference point on a robot
gps.set_origin(0, 25, MM)
ตั้งค่าตำแหน่ง#
set_location กำหนดตำแหน่งและทิศทางของจุดอ้างอิงบนพื้นที่ด้วยตนเอง การทำเช่นนี้สามารถช่วยลดความคลาดเคลื่อนได้หากเซ็นเซอร์ GPS อยู่ใกล้กับผนังของพื้นที่มากเกินไปในระหว่างการเริ่มต้นใช้งาน ทำให้ไม่ได้รับข้อมูลรหัสพื้นที่ GPS เพียงพอ

Usage:
gps_sensor.set_location(x, y, distance_units, heading, heading_units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
x |
พิกัด x ของจุดอ้างอิงบนสนาม |
y |
พิกัด y ของจุดอ้างอิงบนสนาม |
หน่วยระยะทาง |
หน่วยวัดสำหรับพิกัด x และ y:
|
หัวข้อ |
ทิศทางที่จุดอ้างอิงหันไปเมื่อเทียบกับทิศทางสัมบูรณ์ของสนาม มีค่าตั้งแต่ 0 ถึง 359.9 องศา |
หน่วยหัวเรื่อง |
หน่วยวัดสำหรับหัวข้อ: |
ตำแหน่ง x#
x_position จะส่งคืนค่าพิกัด x ของจุดอ้างอิงบนฟิลด์
Usage:
gps_sensor.x_position(units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หน่วย |
หน่วยวัด:
|
ตำแหน่ง y#
y_position ส่งคืนพิกัด y ของจุดอ้างอิงบนฟิลด์
Usage:
gps_sensor.y_position(units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หน่วย |
หน่วยวัด:
|
หัวข้อ#
heading จะส่งคืนทิศทางของจุดอ้างอิงโดยอิงตามการวางแนวของฟิลด์ตั้งแต่ 0 ถึง 359.9 องศา
ทิศทางนี้สอดคล้องกับทิศทางการบินสัมบูรณ์ ซึ่งอยู่ในช่วง 0º ถึง 359.9º ในทิศทางตามเข็มนาฬิกา โดย 0º อยู่ที่ตำแหน่ง 12 นาฬิกา

Usage:
gps_sensor.heading()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
ความเร่ง#
acceleration จะส่งคืนค่าความเร่งของหุ่นยนต์บนแกนที่กำหนด ตั้งแต่ -4.0 ถึง 4.0 Gs
Usage:
gps_sensor.acceleration(axis)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
แกน |
เลือกใช้แกนใด:
|
อัตราไจโร#
gyro_rate จะส่งคืนค่าความเร็วในการหมุนของหุ่นยนต์บนแกนที่เลือก
Usage:
gps_sensor.gyro_rate(axis, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
แกน |
เลือกใช้แกนใด:
|
หน่วย |
หน่วยวัด:
|
ปฐมนิเทศ#
orientation จะส่งคืนค่าการวางแนวแกนหมุน (roll), แกนก้มเงย (pitch) หรือแกนหัน (yaw) ของหุ่นยนต์ในหน่วยองศา
Usage:
gps_sensor.orientation(axis, units)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
แกน |
เลือกใช้ทิศทางใด:
|
หน่วย |
หน่วยวัด: |
คุณภาพ#
ค่าคุณภาพ quality จะแสดงความแรงของสัญญาณเซ็นเซอร์ GPS เป็นเปอร์เซ็นต์
ค่าที่เป็นไปได้ |
คำอธิบาย |
|---|---|
100 |
ข้อมูลตำแหน่งและทิศทางทั้งหมดที่ได้รับจากเซ็นเซอร์ GPS นั้นถูกต้อง |
~90 |
ปัจจุบัน ข้อมูลตำแหน่งต่างๆ ไม่ได้คำนวณโดยการเก็บรวบรวมข้อมูลจากรหัสสนาม GPS อีกต่อไป แต่ใช้วิธีอื่นแทน |
0 - 80 |
เฉพาะค่าทิศทางจากเซ็นเซอร์ GPS เท่านั้นที่ถูกต้อง แต่เมื่อเวลาผ่านไปนานขึ้น หากเซ็นเซอร์ GPS สแกนรหัสสนาม GPS ได้ไม่เพียงพอที่จะกำหนดตำแหน่งและข้อมูลทิศทางได้อย่างแม่นยำ คุณภาพสัญญาณที่รายงานจะลดลงเรื่อยๆ จนเหลือ 0 ซึ่งในจุดนั้นข้อมูลจากเซ็นเซอร์ GPS ทั้งหมดจะหยุดนิ่งและไม่ถูกต้องอีกต่อไป |
Usage:
gps_sensor.quality()
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เมธอดนี้ไม่มีพารามิเตอร์ |
เปลี่ยน#
changed ลงทะเบียนฟังก์ชันที่จะถูกเรียกใช้เมื่อใดก็ตามที่เซ็นเซอร์ GPS ตรวจพบการเปลี่ยนแปลงทิศทาง
Usage:
gps_sensor.changed(callback, arg)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
A previously defined function that executes when the GPS Sensor’s heading changes. |
|
ตัวเลือกเสริม ทูเปิลที่มีอาร์กิวเมนต์ที่จะส่งไปยังฟังก์ชันเรียกกลับ ดู การใช้ฟังก์ชันที่มีพารามิเตอร์ สำหรับข้อมูลเพิ่มเติม |
def my_function():
brain.screen.print("GPS heading changed")
# Call my_function whenever gps_sensor's heading changes
gps_sensor.changed(my_function)
ผู้สร้าง#
ตัวสร้าง (Constructor) ใช้สำหรับสร้างอ็อบเจ็กต์ Gps ด้วยตนเอง ซึ่งจำเป็นสำหรับการกำหนดค่าเซ็นเซอร์ GPS นอก VEXcode
Gps#
Gps สร้างเซ็นเซอร์ GPS
Usage:
Gps(smartport)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
|
พอร์ตอัจฉริยะที่เชื่อมต่อกับเซ็นเซอร์ GPS จะเขียนในรูปแบบ |
# Create a GPS Sensor in Port 10
gps_sensor = Gps(Ports.PORT10)