บล็อกเฉพาะสำหรับหุ่นยนต์#
การแนะนำ#
หุ่นยนต์ฮีโร่ Axel มีตัวเลือกมอเตอร์สองแบบ เซ็นเซอร์ตรวจจับภาพด้วย AI เซ็นเซอร์แสง เซ็นเซอร์การหมุน และเซ็นเซอร์ระบบระบุตำแหน่งในเกม (GPS)
บล็อก VR มาตรฐานของ VEXcode ทั้งหมดสามารถใช้งานได้ใน V5 24-25 High Stakes Playground
ด้านล่างนี้คือรายการบล็อกเฉพาะสำหรับหุ่นยนต์ที่มีให้เลือกใช้งานทั้งหมด:
ระบบขับเคลื่อน – ทำให้หุ่นยนต์เคลื่อนที่และหมุนได้
การกระทำ
drive — เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตลอดไป
ขับไปข้างหน้า — เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตามระยะทางที่กำหนด
เลี้ยว — หมุนหุ่นยนต์ไปทางซ้ายหรือขวาตลอดไป
หมุน — หมุนหุ่นยนต์ไปทางซ้ายหรือขวาตามจำนวนองศาที่กำหนด
หันไปตามทิศทาง — หมุนหุ่นยนต์ให้หันไปทางทิศทางที่กำหนด
หมุน — หมุนหุ่นยนต์ไปที่ตำแหน่งการหมุนที่กำหนด
หยุดขับ — หยุดการเคลื่อนที่ของหุ่นยนต์
การตั้งค่า
ตั้งค่าความเร็วในการขับเคลื่อน — บอกหุ่นยนต์ว่าจะขับเคลื่อนด้วยความเร็วเท่าใด
ตั้งค่าความเร็วในการเลี้ยว — บอกหุ่นยนต์ว่าควรเลี้ยวเร็วแค่ไหน
set drive heading — เปลี่ยนทิศทางการเคลื่อนที่ปัจจุบันของหุ่นยนต์เป็นทิศทางใหม่
ตั้งค่าการหมุนของไดรฟ์ — เปลี่ยนการหมุนปัจจุบันของหุ่นยนต์เป็นการหมุนใหม่
set drive timeout — ตั้งค่าจำนวนวินาทีที่หุ่นยนต์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น
ค่านิยม
การขับเคลื่อนเสร็จสิ้น — รายงานว่าหุ่นยนต์เคลื่อนที่เสร็จแล้วหรือไม่
กำลังเคลื่อนที่ — รายงานว่าหุ่นยนต์กำลังเคลื่อนที่หรือไม่
ทิศทางการขับเคลื่อน — รายงานทิศทางปัจจุบันของหุ่นยนต์ตั้งแต่ 0 ถึง 359.99 องศา
การหมุนของไดรฟ์ — รายงานการหมุนปัจจุบันของหุ่นยนต์
ความเร็วในการขับเคลื่อน — รายงานความเร็วในการขับเคลื่อนของหุ่นยนต์
การเคลื่อนไหว – ควบคุมและติดตามมอเตอร์ของหุ่นยนต์
การกระทำ
หมุนมอเตอร์ – หมุนมอเตอร์ไปข้างหน้าหรือถอยหลังไปเรื่อยๆ
หมุนมอเตอร์ตาม – หมุนมอเตอร์ตามระยะทางที่กำหนดเป็นองศาหรือรอบ
หมุนมอเตอร์ไปยังตำแหน่ง – หมุนมอเตอร์ไปยังตำแหน่งที่กำหนด
หยุดมอเตอร์ – หยุดมอเตอร์ไม่ให้หมุน
การตั้งค่า
ตั้งค่าความเร็วของมอเตอร์ – บอกมอเตอร์ให้หมุนเร็วแค่ไหน
ตั้งค่าหมดเวลาของมอเตอร์ – ตั้งค่าระยะเวลาที่มอเตอร์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น
ตั้งตำแหน่งมอเตอร์ – เปลี่ยนตำแหน่งปัจจุบันของมอเตอร์เป็นค่าใหม่
ค่านิยม
มอเตอร์หยุดทำงานแล้ว – รายงานว่ามอเตอร์หยุดเคลื่อนที่แล้วหรือไม่
มอเตอร์กำลังหมุน – รายงานว่ามอเตอร์กำลังหมุนอยู่หรือไม่
ตำแหน่งมอเตอร์ – รายงานตำแหน่งปัจจุบันของมอเตอร์
ความเร็วของมอเตอร์ – รายงานความเร็วในการหมุนของมอเตอร์เป็นเปอร์เซ็นต์ตั้งแต่ -100% ถึง 100%
AI Vision – จับภาพและวิเคราะห์วัตถุโดยใช้เซ็นเซอร์ AI Vision
การกระทำ
รับข้อมูลวัตถุ – บันทึกข้อมูลสำหรับลายเซ็นเฉพาะ เช่น การจำแนกประเภท AI ที่ตรวจพบ
การตั้งค่า
set object item – เลือกวัตถุเฉพาะจากรายการ
ค่านิยม
วัตถุมีอยู่ – ส่งคืนว่าตรวจพบการจำแนกประเภทหรือไม่
object is – คืนค่าว่าตรวจพบการจำแนกประเภทหรือไม่
จำนวนวัตถุ – ส่งคืนจำนวนวัตถุที่ตรวจพบ
คุณสมบัติของวัตถุ – ส่งคืนรายละเอียดต่างๆ เช่น:
การรับรู้ – ใช้ประโยชน์จากเซ็นเซอร์ต่างๆ ของหุ่นยนต์
ออปติก
ระบบตรวจจับวัตถุด้วยแสง – รายงานว่าเซ็นเซอร์ตรวจจับวัตถุที่อยู่ในระยะหรือไม่
การตรวจจับสีด้วยแสง – รายงานว่าเซ็นเซอร์แสงตรวจจับสีที่ระบุหรือไม่
ความสว่างเชิงแสง – รายงานความสว่างที่ตรวจพบโดยเซ็นเซอร์เชิงแสง
เฉดสีออปติคอล – รายงานเฉดสีที่ตรวจพบโดยเซ็นเซอร์ออปติคอล
เมื่อตรวจจับด้วยแสง – เรียกใช้ชุดบล็อกที่แนบมาเมื่อเซ็นเซอร์แสงตรวจจับหรือมองไม่เห็นวัตถุ
การหมุนเวียน
ตั้งค่าตำแหน่งเซ็นเซอร์การหมุน – ตั้งค่าตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็นค่าที่กำหนด
มุมเซ็นเซอร์การหมุน – ส่งคืนมุมปัจจุบันของเซ็นเซอร์ระหว่าง 0 ถึง 359.99 องศา
ตำแหน่งเซ็นเซอร์การหมุน – ส่งคืนตำแหน่งการหมุนทั้งหมดในหน่วยองศาหรือจำนวนรอบ
GPS
ตำแหน่ง GPS – ส่งคืนตำแหน่ง X หรือ Y จากเซ็นเซอร์ GPS
ทิศทาง GPS – ส่งคืนทิศทางที่หุ่นยนต์กำลังหันหน้าไปในขณะนี้
ตัวอย่างในหน้านี้ใช้ตำแหน่งเริ่มต้นเริ่มต้นของ Playground ตามค่าเริ่มต้น
ระบบขับเคลื่อน#
ระบบขับเคลื่อนควบคุมการเคลื่อนที่และการเลี้ยวของหุ่นยนต์ VR ระบบขับเคลื่อนสามารถเคลื่อนที่ไปข้างหน้าหรือถอยหลัง เลี้ยวซ้ายหรือขวา เลี้ยวตามทิศทางต่างๆ และติดตามการหมุนของมันได้
การกระทำ#
ขับ#
บล็อก ขับเคลื่อน จะเคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังอย่างไม่มีที่สิ้นสุด หุ่นยนต์จะเคลื่อนที่ต่อไปจนกว่าจะได้รับคำสั่งอื่น เช่น การเลี้ยวหรือการหยุด
ขับ [ไปข้างหน้า v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ทิศทาง |
ทิศทางการเคลื่อนที่ของหุ่นยนต์: ไปข้างหน้า หรือ ถอยหลัง |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Drive forward, then stop.]
ขับ [ไปข้างหน้า v]
รอ (2) วินาที
หยุดขับ
ขับเพื่อ#
บล็อก ขับเคลื่อน จะเคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตามระยะทางที่กำหนด โครงการจะรอจนกว่าหุ่นยนต์จะหยุดเคลื่อนที่ก่อนที่บล็อกถัดไปในลำดับจะเริ่มทำงาน
ขับ [ไปข้างหน้า v] เป็น (200) [มม. v] ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ทิศทาง |
ทิศทางการเคลื่อนที่ของหุ่นยนต์: ไปข้างหน้า หรือ ถอยหลัง |
ระยะทาง |
ระยะทางที่หุ่นยนต์ขับเคลื่อนไปได้ ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
หน่วย |
หน่วยวัดระยะทาง: มม. (มิลลิเมตร) หรือ นิ้ว |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Drive forward.]
ขับ [ไปข้างหน้า v] เป็น (500) [มม. v] ▶
เปลี่ยน#
บล็อก หมุน จะหมุนหุ่นยนต์ไปทางซ้ายหรือขวาอย่างไม่มีที่สิ้นสุด หุ่นยนต์จะหมุนต่อไปเรื่อยๆ จนกว่าจะได้รับคำสั่งอื่น เช่น การขับเคลื่อนหรือการหยุด
เลี้ยว [ขวา v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ทิศทาง |
ทิศทางที่หุ่นยนต์หมุน: ซ้าย หรือ ขวา |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Turn right, then stop.]
เลี้ยว [ขวา v]
รอ (2) วินาที
หยุดขับ
เลี้ยวเพื่อ#
บล็อกคำสั่ง หมุน จะหมุนหุ่นยนต์ไปทางซ้ายหรือขวาตามจำนวนองศาที่กำหนด การหมุนจะสัมพันธ์กับตำแหน่งปัจจุบันของหุ่นยนต์ โครงการจะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่บล็อกถัดไปในลำดับจะเริ่มทำงาน
เลี้ยว [ขวา v] เป็น (90) องศา ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ทิศทาง |
ทิศทางที่หุ่นยนต์หมุน: ซ้าย หรือ ขวา |
มุม |
จำนวนองศาที่หุ่นยนต์หมุน ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Turn left, then turn around to the right.]
เลี้ยว [ซ้าย v] เป็น (90) องศา ▶
เลี้ยว [ขวา v] เป็น (180) องศา ▶
หันไปที่หัวข้อ#
ทิศทาง (Heading) คือทิศทางที่หุ่นยนต์หันหน้าไป โดยวัดเป็นองศา บล็อกคำสั่ง turn to heading จะหมุนหุ่นยนต์ให้หันหน้าไปในทิศทางที่กำหนด ตั้งแต่ -359 ถึง 359 องศา หุ่นยนต์จะหมุนไปในทิศทางที่สั้นที่สุดเพื่อไปยังทิศทางเป้าหมาย
ทิศทางเริ่มต้นคือ 0 องศา
โปรเจกต์นี้จะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่บล็อกถัดไปในลำดับจะเริ่มทำงาน
เลี้ยวไปทิศทาง (90) องศา ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หัวข้อ |
ทิศทางที่หุ่นยนต์ควรหันไปคือ ตั้งแต่ -359 ถึง 359 องศา |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Turn to face the cardinal directions.]
เลี้ยวไปทิศทาง (90) องศา ▶
รอ (2) วินาที
เลี้ยวไปทิศทาง (180) องศา ▶
รอ (2) วินาที
เลี้ยวไปทิศทาง (270) องศา ▶
รอ (2) วินาที
เลี้ยวไปทิศทาง (0) องศา ▶
รอ (2) วินาที
หมุนเพื่อหมุน#
บล็อก หมุน จะหมุนหุ่นยนต์ให้ไปในทิศทางการหมุนที่กำหนดไว้
การหมุนคือจำนวนองศาที่หุ่นยนต์หมุนไป ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา นอกจากนี้ยังสามารถตั้งค่าการหมุนได้โดยใช้บล็อก set drive rotation
ค่าการหมุนเป็นค่าสัมบูรณ์ ซึ่งหมายความว่าทิศทางการเลี้ยวขึ้นอยู่กับการหมุนปัจจุบันของหุ่นยนต์ การเลี้ยวขวาจะเพิ่มการหมุน และการเลี้ยวซ้ายจะลดการหมุน
ตัวอย่างเช่น ถ้าหุ่นยนต์เริ่มต้นที่ 0 องศา และคุณหมุนเป็น 720 องศา มันจะเลี้ยวขวา 2 ครั้ง จากนั้นถ้าคุณหมุนเป็น 360 องศา มันจะเลี้ยวซ้าย 1 ครั้ง เพราะ 360 น้อยกว่า 720
โปรเจกต์นี้จะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่บล็อกถัดไปในลำดับจะเริ่มทำงาน
เลี้ยวไปการหมุน (90) องศา ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
การหมุน |
ค่ามุมการหมุน (หน่วยเป็นองศา) ที่หุ่นยนต์จะหมุนไป ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Turn left, then spin in a circle clockwise and face right.]
เลี้ยวไปการหมุน (-90) องศา ▶
รอ (2) วินาที
เลี้ยวไปการหมุน (450) องศา ▶
หยุดขับรถ#
บล็อก หยุดการเคลื่อนที่ จะหยุดการเคลื่อนที่ของหุ่นยนต์
หยุดขับ
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Drive forward, then stop.]
ขับ [ไปข้างหน้า v]
รอ [4] วินาที
หยุดขับ
การตั้งค่า#
ตั้งค่าความเร็วในการขับเคลื่อน#
บล็อก set drive velocity จะบอกหุ่นยนต์ว่าควรขับเคลื่อนด้วยความเร็วเท่าใด เปอร์เซ็นต์ที่สูงขึ้นจะทำให้หุ่นยนต์ขับเคลื่อนเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้หุ่นยนต์ขับเคลื่อนช้าลง
ทุกโครงการเริ่มต้นด้วยการที่หุ่นยนต์ขับเคลื่อนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้หุ่นยนต์ขับเคลื่อนได้เร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้หุ่นยนต์ขับเคลื่อนได้ช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น
ตั้งความเร็วขับเป็น (50) [% v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ความเร็ว |
ความเร็วในการขับขี่สามารถปรับได้ตั้งแต่ 0% ถึง 100% |
หน่วย |
หน่วยความเร็ว: % |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Drive forward at the default velocity.]
ขับ [ไปข้างหน้า v] เป็น (100) [มม. v] ▶
รอ (1) วินาที
[Move slower.]
ตั้งความเร็วขับเป็น (20) [% v]
ขับ [ไปข้างหน้า v] เป็น (100) [มม. v] ▶
รอ (1) วินาที
[Move faster.]
ตั้งความเร็วขับเป็น (100) [% v]
ขับ [ไปข้างหน้า v] เป็น (100) [มม. v] ▶
รอ (1) วินาที
ตั้งความเร็วในการเลี้ยว#
บล็อก set turn velocity จะบอกหุ่นยนต์ว่าควรเลี้ยวเร็วแค่ไหน เปอร์เซ็นต์ที่สูงขึ้นจะทำให้หุ่นยนต์เลี้ยวเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้หุ่นยนต์เลี้ยวช้าลง
ทุกโครงการเริ่มต้นด้วยการที่หุ่นยนต์หมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้หุ่นยนต์เลี้ยวได้เร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้หุ่นยนต์เลี้ยวได้ช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น
ตั้งความเร็วเลี้ยวเป็น (50) [% v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ความเร็ว |
ความเร็วในการหมุนตั้งแต่ 0% ถึง 100% |
หน่วย |
หน่วยความเร็ว: % |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Turn at default velocity.]
เลี้ยว [ขวา v] เป็น (100) องศา ▶
รอ (1) วินาที
[Turn slower.]
ตั้งความเร็วเลี้ยวเป็น (20)%
เลี้ยว [ขวา v] เป็น (100) องศา ▶
รอ (1) วินาที
[Turn faster.]
ตั้งความเร็วเลี้ยวเป็น (100)%
เลี้ยว [ขวา v] เป็น (100) องศา ▶
รอ (1) วินาที
ตั้งทิศทางการขับเคลื่อน#
ทิศทางการขับเคลื่อนคือทิศทางที่หุ่นยนต์หันหน้าไป โดยวัดเป็นองศา บล็อกคำสั่ง set drive heading จะเปลี่ยนทิศทางการขับเคลื่อนปัจจุบันของหุ่นยนต์เป็นค่าทิศทางใหม่
ตัวอย่างเช่น หากหุ่นยนต์หันไปทางขวา การตั้งค่าทิศทางเป็น 0 องศา จะทำให้ตำแหน่งที่หันไปทางขวานั้นกลายเป็น 0 องศาใหม่ จากนั้นหุ่นยนต์สามารถหันไปตำแหน่งอื่น ๆ ได้โดยอิงจากทิศทางใหม่นั้น
ตั้งทิศทางขับเป็น (0) องศา
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หัวข้อ |
ค่าทิศทาง (หน่วยเป็นองศา) ที่จะตั้งค่าให้กับหุ่นยนต์ |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Turn to the left.]
ตั้งทิศทางขับเป็น (90) องศา
เลี้ยวไปทิศทาง (0) องศา ▶
ตั้งค่าการหมุนของไดรฟ์#
การหมุนคือจำนวนรอบที่หุ่นยนต์หมุน โดยวัดเป็นองศา ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา บล็อกคำสั่ง set drive rotation จะเปลี่ยนค่าการหมุนปัจจุบันของหุ่นยนต์เป็นค่าใหม่
ตัวอย่างเช่น หากหุ่นยนต์หมุนไปทางขวาครบสองรอบ ค่าการหมุนของมันจะเป็น 720 องศา การตั้งค่าการหมุนเป็น 0 องศาจะรีเซ็ตค่าการหมุนจาก 720 เป็น 0 องศา จากนั้นหุ่นยนต์สามารถหมุนได้ตามค่าการหมุนใหม่นั้น
ตั้งการหมุนขับเป็น (0) องศา
พารามิเตอร์ |
คำอธิบาย |
|---|---|
การหมุน |
ค่าการหมุน (หน่วยเป็นองศา) ที่จะตั้งค่าให้กับหุ่นยนต์ ค่านี้สามารถเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Spin counterclockwise two times.]
ตั้งการหมุนขับเป็น (720) องศา
เลี้ยวไปการหมุน (0) องศา ▶
ตั้งค่าหมดเวลาไดรฟ์#
บล็อก set drive timeout ใน Stack จะกำหนดจำนวนวินาทีที่หุ่นยนต์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น หากหุ่นยนต์ไม่สามารถทำการเคลื่อนไหวให้เสร็จภายในเวลาที่กำหนด มันจะหยุดพยายามและไปยังบล็อกถัดไปใน Stack ซึ่งจะช่วยป้องกันไม่ให้หุ่นยนต์ติดอยู่กับการเคลื่อนไหวใดๆ
ตั้งหมดเวลาขับเป็น (1) วินาที
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เวลา |
จำนวนวินาทีที่หุ่นยนต์สามารถพยายามทำท่าทางให้เสร็จสิ้นได้ ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Drive forward for 1 second, then turn.]
ตั้งหมดเวลาขับเป็น (1) วินาที
ขับ [ไปข้างหน้า v] เป็น (25) [นิ้ว v] ▶
เลี้ยว [ขวา v] เป็น (90) องศา ▶
ค่านิยม#
การขับรถเสร็จสิ้นแล้ว#
บล็อก Boolean drive is done จะรายงานว่าหุ่นยนต์เคลื่อนที่เสร็จแล้วหรือไม่ สามารถใช้ข้อมูลนี้ในการควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของหุ่นยนต์ได้
จริง — หุ่นยนต์เคลื่อนไหวเสร็จแล้ว
ไม่จริง — หุ่นยนต์ยังคงเคลื่อนที่อยู่
บล็อกนี้ทำงานร่วมกับบล็อกระบบขับเคลื่อนที่มีพารามิเตอร์ และอย่ารอ
<ขับเสร็จแล้ว?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Start spinning when the drive is complete.]
ขับ [ไปข้างหน้า v] เป็น (200) [มม. v] ◀ และไม่รอ
รอจนกว่า <ขับเสร็จแล้ว?>
เลี้ยว [ขวา v] เป็น (360) องศา ▶
ไดรฟ์กำลังเคลื่อนที่#
บล็อก Boolean กำลังเคลื่อนที่ จะรายงานว่าหุ่นยนต์กำลังเคลื่อนที่หรือไม่ ซึ่งสามารถนำไปใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของหุ่นยนต์ได้
จริง — หุ่นยนต์กำลังเคลื่อนที่
เท็จ — หุ่นยนต์ไม่ได้เคลื่อนที่
บล็อกนี้ทำงานร่วมกับบล็อกระบบขับเคลื่อนที่มีพารามิเตอร์ และอย่ารอ
<กำลังขับอยู่?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Print that the robot is moving while it is still driving.]
ขับ [ไปข้างหน้า v] เป็น (200) [มม. v] ◀ และไม่รอ
ในขณะที่ <กำลังขับอยู่?>
พิมพ์ [Still Moving...] ▶
รอ (0.1) วินาที
ล้างหน้าจอ
fine
พิมพ์ [Done!] ▶
ทิศทางการขับขี่#
ทิศทางการเคลื่อนที่ของหุ่นยนต์นั้นวัดเป็นองศา บล็อกรายงานทิศทางการเคลื่อนที่ (Drive Heading Reporter Block) จะรายงานทิศทางการเคลื่อนที่ตั้งแต่ 0 ถึง 359.99 องศา
ทิศทางเริ่มต้นของหุ่นยนต์คือ 0 องศา
(ทิศทางขับในองศา)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Display the heading after turning.]
เลี้ยว [ขวา v] เป็น (450) องศา ▶
พิมพ์ (ทิศทางขับในองศา) บนหน้าจอ ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
การหมุนของไดรฟ์#
การหมุนคือจำนวนรอบที่หุ่นยนต์หมุนไป โดยวัดเป็นองศา ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา บล็อกรายงานการหมุนของมอเตอร์ขับเคลื่อน (drive rotation reporter block) จะรายงานค่าการหมุนปัจจุบันของหุ่นยนต์
การเลี้ยวขวาจะเพิ่มมุมการหมุน และการเลี้ยวซ้ายจะลดมุมการหมุน ตัวอย่างเช่น การเลี้ยวขวาครบสองรอบจะแสดงค่าการหมุน 720 องศา
(การหมุนขับในองศา)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Display the rotation after turning.]
เลี้ยว [ขวา v] เป็น (450) องศา ▶
พิมพ์ (การหมุนขับในองศา) บนหน้าจอ ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
ความเร็วในการขับเคลื่อน#
บล็อกรายงานความเร็วในการขับเคลื่อนจะรายงานว่าหุ่นยนต์กำลังขับเคลื่อนด้วยความเร็วเท่าใด
(ความเร็วขับใน [% v])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หน่วย |
หน่วยความเร็ว: % |
ตัวอย่าง
เมื่อเริ่มต้น :: hat events
[Display the velocity after driving.]
ขับ [ไปข้างหน้า v] เป็น (200) [มม. v] ▶
พิมพ์ (ความเร็วขับใน [% v]) บนหน้าจอ ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
การเคลื่อนไหว#
แอ็กเซลใช้มอเตอร์แขนในการยกและลดแขนเพื่อให้สามารถวางวงแหวนไว้ใกล้กับเสาได้ มอเตอร์ตัวดันจะเคลื่อนตัวดันลงไปตามแขนเพื่อดันวงแหวนออกจากแขนและวางลงบนเสา
มอเตอร์แต่ละตัวมีตัวเลือกทิศทางการเคลื่อนที่ของตัวเอง ชื่อทิศทางจะอธิบายว่ามอเตอร์นั้นเคลื่อนที่บนแกนหมุนอย่างไร
การกระทำ#
มอเตอร์หมุน#
บล็อก มอเตอร์หมุน จะหมุนมอเตอร์ไปในทิศทางใดทิศทางหนึ่งจากสองทิศทางอย่างไม่มีที่สิ้นสุด มอเตอร์จะหมุนต่อไปจนกว่าจะได้รับคำสั่งอื่น เช่น หมุนไปในทิศทางอื่นหรือหยุดหมุน
หมุน [ArmMotor v] [ขึ้น v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์ที่ใช้หมุน: มอเตอร์แขน หรือ มอเตอร์ดัน |
ทิศทาง |
ทิศทางการหมุนของมอเตอร์:
|
ตัวอย่าง
เมื่อเริ่มต้น
[Lift the Arm before moving to a Mobile Goal.]
หมุน [ArmMotor v] [ขึ้น v]
รอ (1) วินาที
หยุด [ArmMotor v]
มอเตอร์หมุนสำหรับ#
บล็อก หมุนมอเตอร์สำหรับ ในชุดบล็อกจะหมุนมอเตอร์เป็นระยะทางที่กำหนด การหมุนนั้นสัมพันธ์กับตำแหน่งปัจจุบันของมอเตอร์ โครงการจะรอจนกว่ามอเตอร์จะหมุนเสร็จก่อนที่บล็อกถัดไปในชุดจะเริ่มทำงาน
หมุน [ArmMotor v] [ขึ้น v] เป็น (90) [องศา v] ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์ที่ใช้หมุน: มอเตอร์แขน หรือ มอเตอร์ดัน |
ทิศทาง |
ทิศทางการหมุนของมอเตอร์:
|
ระยะทาง |
ระยะทางที่มอเตอร์หมุน องศา ใช้จำนวนเต็ม รอบ สามารถใช้ได้ทั้งจำนวนเต็มหรือทศนิยม |
หน่วย |
หน่วยวัดระยะทาง: องศา หรือ รอบ |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น
[Lift the Arm.]
หมุน [ArmMotor v] [ขึ้น v] เป็น [200] [องศา v] ▶
หมุนมอเตอร์ไปยังตำแหน่งที่กำหนด#
บล็อก หมุนมอเตอร์ไปยังตำแหน่งที่กำหนด จะหมุนมอเตอร์ไปยังตำแหน่งที่ระบุ
ตำแหน่งของมอเตอร์คือระยะที่มอเตอร์หมุนไป โดยวัดเป็น องศา หรือ รอบ หนึ่ง รอบ เท่ากับ 360 องศา ในตอนเริ่มต้นโครงการ ตำแหน่งของมอเตอร์จะถูกตั้งค่าเป็น 0 องศา นอกจากนี้ยังสามารถตั้งค่าตำแหน่งของมอเตอร์ได้โดยใช้บล็อก set motor position
ค่าตำแหน่งเป็นค่าสัมบูรณ์ ซึ่งหมายความว่าทิศทางการหมุนขึ้นอยู่กับตำแหน่งปัจจุบันของมอเตอร์
ตัวอย่างเช่น หากมอเตอร์เริ่มหมุนที่ 0 องศาและหมุนไปที่ตำแหน่ง 720 องศา มันจะหมุนไปข้างหน้าสองรอบ หากจากนั้นมันหมุนไปที่ตำแหน่ง 360 องศา มันจะหมุนถอยหลังหนึ่งรอบ เพราะ 360 น้อยกว่า 720
หมุน [ArmMotor v] ไปตำแหน่ง (90) [องศา v] ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์ที่ใช้หมุน: มอเตอร์แขน หรือ มอเตอร์ดัน |
ตำแหน่ง |
ค่าตำแหน่งที่มอเตอร์จะหมุนไปถึง องศา ใช้จำนวนเต็ม รอบ สามารถใช้ได้ทั้งจำนวนเต็มหรือทศนิยม |
หน่วย |
หน่วยวัดตำแหน่ง: องศา หรือ รอบ |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น
[Lift the Arm.]
หมุน [ArmMotor v] ไปตำแหน่ง [350] [องศา v] ▶
หยุดมอเตอร์#
บล็อกตัวหยุดมอเตอร์จะหยุดมอเตอร์ที่เลือกไว้
หยุด [ArmMotor v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์ที่ต้องการหยุด: มอเตอร์แขน หรือ มอเตอร์ดัน |
ตัวอย่าง
เมื่อเริ่มต้น
หมุน [ArmMotor v] [ขึ้น v]
รอ (1) วินาที
หยุด [ArmMotor v]
การตั้งค่า#
ตั้งค่าความเร็วของมอเตอร์#
บล็อก ตั้งค่าความเร็วของมอเตอร์ จะบอกมอเตอร์ว่าควรหมุนเร็วแค่ไหน เปอร์เซ็นต์ที่สูงขึ้นจะทำให้มอเตอร์หมุนเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้มอเตอร์หมุนช้าลง
ทุกโปรเจกต์เริ่มต้นด้วยมอเตอร์แต่ละตัวหมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้มอเตอร์หมุนเร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้มอเตอร์หมุนช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น
ตั้งความเร็ว [ArmMotor v] เป็น [50] [% v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์สำหรับกำหนดความเร็วของ: มอเตอร์แขน หรือ มอเตอร์ผลัก |
ความเร็ว |
ความเร็วรอบของมอเตอร์ เปอร์เซ็นต์ ใช้ตัวเลขจำนวนเต็มตั้งแต่ 0% ถึง 100% |
หน่วย |
หน่วยความเร็ว: % |
ตัวอย่าง
เมื่อเริ่มต้น
ตั้งความเร็ว [ArmMotor v] เป็น [100] [% v]
หมุน [ArmMotor v] [ขึ้น v] เป็น [200] [องศา v] ▶
ตั้งค่าเวลาหยุดทำงานของมอเตอร์#
บล็อก set motor timeout จะกำหนดเวลาที่มอเตอร์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น หากมอเตอร์ไม่สามารถทำการเคลื่อนไหวให้เสร็จสิ้นภายในเวลาที่กำหนด มันจะหยุดพยายามและไปยังบล็อกถัดไปในลำดับ เพื่อป้องกันไม่ให้มอเตอร์ติดขัดในการเคลื่อนไหว
ตั้งหมดเวลา [ArmMotor v] เป็น [1] วินาที
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์สำหรับตั้งค่าหมดเวลา: มอเตอร์แขน หรือ มอเตอร์ดัน |
เวลา |
จำนวนวินาทีที่มอเตอร์สามารถพยายามทำการเคลื่อนที่ให้เสร็จสิ้นได้ ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
ตัวอย่าง
เมื่อเริ่มต้น
ตั้งหมดเวลา [ArmMotor v] เป็น [1] วินาที
หมุน [ArmMotor v] [ขึ้น v] เป็น [5] [รอบ v] ▶
ตำแหน่ง#
ตำแหน่งมอเตอร์#
ตำแหน่งของมอเตอร์คือระยะการหมุน ซึ่งวัดเป็น องศา หรือ รอบ หนึ่ง รอบ เท่ากับ 360 องศา บล็อกรายงาน ตำแหน่งมอเตอร์ จะรายงานตำแหน่งปัจจุบันของมอเตอร์
ในตอนเริ่มต้นโครงการ ตำแหน่งของมอเตอร์จะถูกตั้งไว้ที่ 0 องศา หากมอเตอร์หมุนไปข้างหน้าครบหนึ่งรอบ ตำแหน่งจะเปลี่ยนเป็น 360 องศา หรือ 1 รอบ หากมอเตอร์หมุนไปในทิศทางตรงกันข้าม ตำแหน่งจะเปลี่ยนเป็นค่าลบ
(ตำแหน่ง [ArmMotor v] ใน [องศา v])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์สำหรับรายงานตำแหน่ง: มอเตอร์แขน หรือ มอเตอร์ดัน |
หน่วย |
หน่วยที่ใช้รายงานตำแหน่งมอเตอร์เป็น: องศา หรือ รอบ |
ตั้งตำแหน่งมอเตอร์#
ตำแหน่งของมอเตอร์คือระยะการหมุน ซึ่งวัดเป็น องศา หรือ รอบ หนึ่ง รอบ เท่ากับ 360 องศา บล็อก ตั้งค่าตำแหน่งมอเตอร์ จะเปลี่ยนตำแหน่งปัจจุบันของมอเตอร์เป็นค่าใหม่
ตัวอย่างเช่น หากมอเตอร์หมุนไปถึง 180 องศา การตั้งตำแหน่งเป็น 0 องศาจะรีเซ็ตตำแหน่งนั้นจาก 180 องศาเป็น 0 องศา จากนั้นมอเตอร์จะสามารถหมุนไปยังตำแหน่งต่างๆ ตามค่าใหม่นั้นได้
ตั้งตำแหน่ง [ArmMotor v] เป็น (0) [องศา v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์สำหรับกำหนดตำแหน่งของ: มอเตอร์แขน หรือ มอเตอร์ดัน |
ตำแหน่ง |
ค่าตำแหน่งที่จะตั้งค่าสำหรับมอเตอร์ องศา ใช้จำนวนเต็ม รอบ สามารถใช้ได้ทั้งจำนวนเต็มหรือทศนิยม |
หน่วย |
หน่วยวัดตำแหน่ง: องศา หรือ รอบ |
ค่านิยม#
มอเตอร์ทำงานเสร็จแล้ว#
บล็อก Boolean motor is done จะรายงานว่ามอเตอร์เคลื่อนที่เสร็จแล้วหรือไม่ สามารถใช้ข้อมูลนี้เพื่อควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของมอเตอร์ได้
จริง — มอเตอร์หยุดทำงานแล้ว
ไม่จริง — มอเตอร์ยังคงหมุนอยู่
บล็อกนี้ทำงานร่วมกับบล็อกการเคลื่อนไหวต่อไปนี้ที่มีพารามิเตอร์ และไม่ต้องรอ: หมุนมอเตอร์เป็นเวลา และ หมุนมอเตอร์ไปยังตำแหน่ง
<[ArmMotor v] เสร็จแล้ว?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์ที่ใช้แจ้งว่าการเคลื่อนที่เสร็จสิ้นแล้วหรือไม่: มอเตอร์แขน หรือ มอเตอร์ผลัก |
มอเตอร์กำลังหมุน#
บล็อก Boolean มอเตอร์กำลังหมุน จะรายงานว่ามอเตอร์กำลังหมุนอยู่หรือไม่ ข้อมูลนี้สามารถนำไปใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของมอเตอร์ได้
จริง — มอเตอร์กำลังหมุนอยู่
เท็จ — มอเตอร์ไม่หมุน
บล็อกนี้ทำงานร่วมกับบล็อกการเคลื่อนไหวต่อไปนี้ที่มีพารามิเตอร์ และไม่ต้องรอ: หมุนมอเตอร์เป็นเวลา และ หมุนมอเตอร์ไปยังตำแหน่ง
<[ArmMotor v] กำลังหมุน?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์ที่ใช้รายงานว่ากำลังหมุนอยู่หรือไม่: มอเตอร์แขน หรือ มอเตอร์ดัน |
ความเร็วของมอเตอร์#
บล็อกรายงานความเร็วของมอเตอร์จะแสดงความเร็วในการหมุนของมอเตอร์เป็นเปอร์เซ็นต์ ตั้งแต่ -100% ถึง 100%
(ความเร็ว [ArmMotor v] ใน [% v] :: custom-motion)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
มอเตอร์ |
มอเตอร์ที่ใช้รายงานความเร็ว ได้แก่ มอเตอร์แขน หรือ มอเตอร์ผลัก |
หน่วย |
หน่วยที่ใช้รายงานความเร็วของมอเตอร์: % |
AI Vision#
การกระทำ#
รับข้อมูลวัตถุ#
บล็อก รับข้อมูลวัตถุ จะกรองข้อมูลจากเฟรมของเซ็นเซอร์ AI Vision ให้เหลือเพียงลายเซ็นเดียว ซึ่งเป็นคำอธิบายที่บันทึกไว้ของสิ่งที่เซ็นเซอร์สามารถจดจำได้ เช่น องค์ประกอบในสนามแข่งขัน
ชุดข้อมูลจะจัดเก็บวัตถุที่เรียงลำดับจากขนาดใหญ่ที่สุดไปเล็กที่สุดตามความกว้าง โดยเริ่มต้นที่ดัชนี 0 คุณสมบัติของวัตถุแต่ละชิ้นสามารถเข้าถึงได้โดยใช้บล็อก AI Vision object property หากไม่พบวัตถุที่ตรงกัน จะส่งคืนชุดข้อมูลว่างเปล่า
รับข้อมูล [การจำแนก AI v] จาก [AIVision v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ลายเซ็น |
กรองชุดข้อมูลเพื่อให้มีเฉพาะข้อมูลที่มีลายเซ็นที่กำหนดเท่านั้น ลายเซ็นที่ใช้ได้คือ:
|
ตัวอย่าง
เมื่อเริ่มต้น
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
หมุน [ArmMotor v] [ขึ้น v] เป็น [270] [องศา v] ▶
รับข้อมูล [การจำแนก AI v] จาก [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
ถ้า <[AIVision v] พบวัตถุ?> แล้ว
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
พิมพ์ [Largest object's width:] ▶
พิมพ์ (วัตถุ [AIVision v] [ความกว้าง v]) ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
fine
การตั้งค่า#
ตั้งค่าวัตถุรายการ#
บล็อก set object item ใช้สำหรับกำหนดว่าควรใช้รายการใดในชุดข้อมูล
ตั้งรายการวัตถุ [AIVision v] เป็น [1]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
รายการ |
หมายเลขของรายการในชุดข้อมูลที่จะใช้ |
ตัวอย่าง
เมื่อเริ่มต้น
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
หมุน [ArmMotor v] [ขึ้น v] เป็น [270] [องศา v] ▶
รับข้อมูล [การจำแนก AI v] จาก [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
ถ้า <[AIVision v] พบวัตถุ?> แล้ว
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
ถ้า <วัตถุ [AIVision v] เป็น [MobileGoal v]?> แล้ว
พิมพ์ [Mobile Goal is detected.] ▶
มิฉะนั้น
พิมพ์ [Mobile Goal is not detected.] ▶
fine
fine
ค่านิยม#
วัตถุมีอยู่จริง#
บล็อก object exists จะส่งคืนค่าบูลีนที่ระบุว่าตรวจพบวัตถุใด ๆ ในชุดข้อมูลหรือไม่
จริง – ชุดข้อมูลประกอบด้วยวัตถุที่ตรวจพบ
เท็จ – ชุดข้อมูลนี้ไม่มีวัตถุใดๆ ที่ตรวจพบ
<[AIVision v] พบวัตถุ?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
หมุน [ArmMotor v] [ขึ้น v] เป็น [270] [องศา v] ▶
รับข้อมูล [การจำแนก AI v] จาก [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
ถ้า <[AIVision v] พบวัตถุ?> แล้ว
พิมพ์ (จำนวนวัตถุ [AIVision v]) ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
fine
วัตถุคือ#
บล็อก AI Vision object is จะส่งคืนค่าบูลีนที่ระบุว่าวัตถุที่ตรวจพบตรงกับการจำแนกประเภทที่ระบุหรือไม่
ถูกต้อง – รายการในชุดข้อมูลคือวัตถุเฉพาะนั้น
เท็จ – รายการในชุดข้อมูลไม่ใช่วัตถุเฉพาะนั้น
<วัตถุ [AIVision v] เป็น [MobileGoal v]?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
วัตถุ |
ควรเปรียบเทียบรายการนี้กับวัตถุใด:
|
ตัวอย่าง
เมื่อเริ่มต้น
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
หมุน [ArmMotor v] [ขึ้น v] เป็น [270] [องศา v] ▶
รับข้อมูล [การจำแนก AI v] จาก [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
ถ้า <[AIVision v] พบวัตถุ?> แล้ว
[If any AI Classification is detected, check if any of them are a Mobile Goal.]
ถ้า <วัตถุ [AIVision v] เป็น [MobileGoal v]?> แล้ว
พิมพ์ [Mobile Goal is detected.] ▶
มิฉะนั้น
พิมพ์ [Mobile Goal is not detected.] ▶
fine
fine
จำนวนวัตถุ#
บล็อก นับวัตถุ จะส่งคืนจำนวนวัตถุที่ตรวจพบในชุดข้อมูลเป็นจำนวนเต็ม
(จำนวนวัตถุ [AIVision])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
หมุน [ArmMotor v] [ขึ้น v] เป็น [270] [องศา v] ▶
รับข้อมูล [การจำแนก AI v] จาก [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
ถ้า <[AIVision v] พบวัตถุ?> แล้ว
พิมพ์ (จำนวนวัตถุ [AIVision v]) ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
fine
คุณสมบัติของวัตถุ#
มีคุณสมบัติหกประการที่รวมอยู่ในแต่ละวัตถุ (แสดงด้านล่าง) ที่จัดเก็บไว้หลังจากใช้บล็อก รับข้อมูลวัตถุ
(วัตถุ [AIVision v] [ความกว้าง v])
ค่าคุณสมบัติทั้งหมดอธิบายตำแหน่งและขนาดของวัตถุที่ตรวจพบในมุมมองของเซ็นเซอร์ AI Vision ในขณะที่ใช้บล็อก รับข้อมูลวัตถุ ค่าเหล่านี้วัดเป็นพิกเซล โดยอิงจากความละเอียด 320 x 240 พิกเซลของเซ็นเซอร์
พารามิเตอร์ |
คำอธิบาย |
|---|---|
คุณสมบัติ |
ควรใช้คุณสมบัติใดของวัตถุที่ตรวจพบ: |
ความกว้าง#
คุณสมบัติ width จะรายงานความกว้างของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 1 ถึง 320
(วัตถุ [AIVision v] [ความกว้าง v])
ตัวอย่าง
เมื่อเริ่มต้น
[Spin the Arm Motor up so that the AI Vision Sensor is not blocked.]
หมุน [ArmMotor v] [ขึ้น v] เป็น [270] [องศา v] ▶
รับข้อมูล [การจำแนก AI v] จาก [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
ถ้า <[AIVision v] พบวัตถุ?> แล้ว
[Only if an AI Classification is detected, then print data from the largest AI Classification.]
พิมพ์ [Largest object's width:] ▶
พิมพ์ (วัตถุ [AIVision v] [ความกว้าง v]) ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
fine
ความสูง#
คุณสมบัติ height จะรายงานความสูงของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 1 ถึง 240
(วัตถุ [AIVision v] [ความสูง v])
เซ็นเตอร์เอ็กซ์#
คุณสมบัติ centerX จะแสดงค่าพิกัด x ของจุดศูนย์กลางของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 320
(วัตถุ [AIVision v] [centerX v])
เซ็นเตอร์วาย#
คุณสมบัติ centerY จะแสดงค่าพิกัด y ของจุดศูนย์กลางของวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 240
(วัตถุ [AIVision v] [centerY v])
ออริจินเอ็กซ์#
คุณสมบัติ originX รายงานค่าพิกัด x ของมุมบนซ้ายของกรอบล้อมรอบวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 320
(วัตถุ [AIVision v] [originX v])
ออริจินวาย#
คุณสมบัติ originY รายงานค่าพิกัด y ของมุมบนซ้ายของกรอบล้อมรอบวัตถุที่ตรวจพบในหน่วยพิกเซล โดยแสดงเป็นจำนวนเต็มตั้งแต่ 0 ถึง 240
(วัตถุ [AIVision v] [originY v])
การรับรู้#
ออปติคอล#
ตรวจพบวัตถุด้วยแสง#
บล็อก Boolean ตรวจพบวัตถุด้วยระบบออปติคอล จะรายงานว่าเซ็นเซอร์ออปติคอลตรวจพบวัตถุภายในระยะหรือไม่
จริง — เซ็นเซอร์แสงตรวจจับวัตถุได้
เท็จ — เซ็นเซอร์แสงไม่ตรวจจับวัตถุใดๆ
<[FrontOptical v] พบวัตถุ?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
การตรวจจับสีด้วยระบบออปติคอล#
บล็อกบูลีน การตรวจจับสีด้วยแสง จะรายงานว่าเซ็นเซอร์แสงตรวจจับสีที่ระบุหรือไม่ โดยพิจารณาจากค่าเฉดสีที่ตรวจพบ
จริง – เซ็นเซอร์ตรวจจับสีที่ระบุได้
เท็จ – เซ็นเซอร์ไม่ตรวจจับสีที่ระบุ
หมายเหตุ: เซ็นเซอร์แสงจะมองหาช่วงเฉดสีที่ตรงกับสีที่ระบุ สำหรับการตรวจจับช่วงเฉดสีที่เฉพาะเจาะจง โปรดดูที่บล็อก เฉดสีแสง
<[FrontOptical v] ตรวจจับ [แดง v]?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
สี |
ควรตรวจสอบสีใด:
|
ความสว่างเชิงแสง#
ส่วนรายงาน ความสว่างเชิงแสง จะรายงานปริมาณแสงที่สะท้อนกลับไปยังเซ็นเซอร์เชิงแสง โดยแสดงเป็นเปอร์เซ็นต์ตั้งแต่ 0% ถึง 100%
เปอร์เซ็นต์ที่สูงขึ้นหมายความว่ามีแสงสะท้อนกลับไปยังเซ็นเซอร์แสงมากขึ้น เปอร์เซ็นต์ที่ต่ำลงหมายความว่ามีแสงสะท้อนกลับน้อยลง
(ความสว่าง [FrontOptical v] ใน %)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
สีเชิงแสง#
บล็อกรายงานค่าสี Optical hue จะรายงานค่าสีที่ตรวจจับได้โดยเซ็นเซอร์แสงเป็นตัวเลขตั้งแต่ 0 ถึง 359 องศา
เฉดสี คือวิธีการอธิบายสีโดยใช้ตัวเลขรอบวงล้อสี

(เฉดสี [FrontOptical v] ในองศา)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
เมื่อออปติคอล#
บล็อก when Optical จะเรียกใช้ชุดบล็อกที่เชื่อมต่ออยู่ทุกครั้งที่เซ็นเซอร์แสงตรวจจับหรือสูญเสียวัตถุ
เมื่อ [FrontOptical v] [ตรวจจับ v] วัตถุ :: hat events
พารามิเตอร์ |
คำอธิบาย |
|---|---|
สถานะ |
เมื่อลำดับบล็อกที่แนบมาทำงาน: ตรวจจับ จะทำงานเมื่อตรวจพบวัตถุที่ยังไม่ถูกตรวจพบ ในขณะที่ สูญเสีย จะทำงานเมื่อไม่พบวัตถุที่ถูกตรวจพบอีกต่อไป |
การหมุน#
ตั้งตำแหน่งเซ็นเซอร์การหมุน#
บล็อก ตั้งค่าตำแหน่งเซ็นเซอร์การหมุน จะตั้งค่าตำแหน่งปัจจุบันของเซ็นเซอร์การหมุนเป็นค่าในหน่วยองศา
ตั้งตำแหน่ง [PusherRotation v] เป็น [0] องศา
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ตำแหน่ง |
ตำแหน่งที่จะตั้งค่าเซ็นเซอร์วัดการหมุน |
ตัวอย่าง
เมื่อเริ่มต้น
[Make lower Pusher position the new 0 degrees rotation position.]
หมุน [PusherMotor v] [ต่ำกว่า v] เป็น [270] [องศา v] ▶
ตั้งตำแหน่ง [PusherRotation v] เป็น [0] องศา
มุมเซ็นเซอร์การหมุน#
บล็อก มุมเซ็นเซอร์การหมุน จะส่งคืนค่ามุมปัจจุบันของเซ็นเซอร์ ซึ่งอยู่ระหว่าง 0 ถึง 359.99 องศา
(มุม [PusherRotation v] ในองศา)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Make lower Pusher position the new 0 degrees rotation position.]
หมุน [PusherMotor v] [ต่ำกว่า v] เป็น [270] [องศา v] ▶
พิมพ์ (มุม [PusherRotation v] ในองศา) ▶
ตำแหน่งเซ็นเซอร์การหมุน#
บล็อก ตำแหน่งเซ็นเซอร์การหมุน จะส่งคืนค่าตำแหน่งการหมุนทั้งหมดในหน่วยองศาหรือจำนวนรอบ
(ตำแหน่ง [PusherRotation v] ใน [องศา v] :: custom-sensing)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หน่วย |
หน่วยการหมุน: องศา หรือ รอบ |
ตัวอย่าง
เมื่อเริ่มต้น
[Make lower Pusher position the new 0 degrees rotation position.]
หมุน [PusherMotor v] [ต่ำกว่า v] เป็น [270] [องศา v] ▶
พิมพ์ (ตำแหน่ง [PusherRotation v] ใน [องศา v] :: custom-sensing) ▶
จีเอส#
ตำแหน่ง GPS#
บล็อก ตำแหน่ง GPS จะส่งคืนค่าชดเชยตำแหน่งของจุดอ้างอิงการเลี้ยวของหุ่นยนต์จากจุดศูนย์กลางของสนามโดยใช้เซ็นเซอร์ GPS (Game Positioning System™)
(ตำแหน่ง [GPS v] [X v] ใน [มม. v])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
แกน |
ควรรายงานแกนใด:
|
หน่วย |
หน่วยที่ใช้แสดงตำแหน่ง: มม. หรือ นิ้ว |
ทิศทาง GPS#
บล็อก GPS heading จะส่งคืนค่าทิศทางที่หุ่นยนต์กำลังหันหน้าไป โดยอิงจากค่าที่อ่านได้จากเซ็นเซอร์ GPS (Game Positioning System™) ของ VEX GPS Field Code ตั้งแต่ 0.00 ถึง 359.99 องศา
(ทิศทาง [GPS v] ในองศา)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |