Các khối dành riêng cho robot#

Giới thiệu#

Robot anh hùng Flex bao gồm một động cơ gắp (ClawMotor), một động cơ tay (ArmMotor), một cảm biến thị giác AI, một cảm biến khoảng cách và một cảm biến hệ thống định vị trong game (GPS).

Tất cả các khối VR VEXcode tiêu chuẩn đều có sẵn để sử dụng trong V5 26-27 Override Playground.

Dưới đây là danh sách tất cả các khối lệnh dành riêng cho robot hiện có:

Hệ thống truyền động – Giúp robot di chuyển và xoay.

Chuyển động – Di chuyển và theo dõi các động cơ của robot.

Công nghệ Thị giác AI – Thu thập và phân tích đối tượng bằng cảm biến thị giác AI.

Cảm biến – Sử dụng các cảm biến khác nhau của robot.

  • Khoảng cách

  • Hệ thống định vị GPS

    • Vị trí GPS – Trả về vị trí X hoặc Y từ Cảm biến GPS.

    • Hướng GPS – Trả về hướng mà robot hiện đang hướng tới.

Các ví dụ trên trang này sử dụng Vị trí Bắt đầu C từ danh sách kiểm tra Trước trận đấu của Sân chơi.

Hệ thống truyền động#

Hệ thống truyền động điều khiển cách robot VR di chuyển và xoay hướng. Hệ thống truyền động có thể tiến hoặc lùi, rẽ trái hoặc phải, xoay theo hướng mong muốn và theo dõi chuyển động quay của nó.

Hành động#

lái xe#

Khối lệnh drive cho phép robot di chuyển tiến hoặc lùi liên tục. Robot sẽ tiếp tục di chuyển cho đến khi nhận được lệnh khác, chẳng hạn như rẽ hoặc dừng lại.

lái [tiến v]

Thông số

Sự miêu tả

phương hướng

Hướng di chuyển của robot: tiến hoặc lùi.

Ví dụ

khi bắt đầu :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v]
chờ (0.5) giây
dừng lái
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

lái xe cho#

Khối lệnh drive for cho phép robot di chuyển tiến hoặc lùi một khoảng cách nhất định. Chương trình sẽ chờ cho đến khi robot hoàn thành việc di chuyển trước khi khối lệnh tiếp theo trong chuỗi lệnh được thực thi.

lái [tiến v] trong (200) [mm v] ▶

Thông số

Sự miêu tả

phương hướng

Hướng di chuyển của robot: tiến hoặc lùi.

khoảng cách

Quãng đường robot di chuyển. Đây có thể là số nguyên hoặc số thập phân.

đơn vị

Đơn vị đo khoảng cách: mm (milimét) hoặc inch

và đừng chờ đợi

Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức.

Ví dụ

khi bắt đầu :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

xoay#

Khối lệnh quay cho phép robot quay sang trái hoặc phải liên tục. Robot sẽ tiếp tục quay cho đến khi nhận được lệnh thực hiện hành động khác, chẳng hạn như di chuyển hoặc dừng lại.

quay [phải v]

Thông số

Sự miêu tả

phương hướng

Hướng quay của robot: trái hoặc phải.

Ví dụ

khi bắt đầu :: hat events
[Score a Pin in a Neutral Goal.]
quay [trái v]
chờ (0.78) giây
dừng lái
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶
lái [tiến v] trong (25) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

rẽ sang#

Khối lệnh quay theo sẽ xoay robot sang trái hoặc phải một số độ cụ thể. Góc quay được tính tương đối so với vị trí hiện tại của robot. Chương trình sẽ chờ cho đến khi robot quay xong trước khi khối lệnh tiếp theo trong chuỗi lệnh được thực thi.

quay [phải v] trong (90) độ ▶

Thông số

Sự miêu tả

phương hướng

Hướng quay của robot: trái hoặc phải.

góc

Số độ mà robot quay. Số này có thể là số nguyên hoặc số thập phân.

và đừng chờ đợi

Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức.

Ví dụ

khi bắt đầu :: hat events
[Score a Pin in a Neutral Goal.]
quay [trái v] trong (110) độ ▶
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶
lái [tiến v] trong (25) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

quay đầu#

Hướng quay là hướng mà robot đang đối mặt, được đo bằng độ. Khối lệnh quay theo hướng quay sẽ xoay robot để quay theo một hướng cụ thể từ -359 đến 359 độ. Robot sẽ quay theo hướng ngắn nhất để đạt được hướng quay mục tiêu.

Hướng ban đầu là 0 độ.

Dự án sẽ chờ cho đến khi robot quay xong trước khi khối lệnh tiếp theo trong chuỗi được thực thi.

quay đến hướng (90) độ ▶

Thông số

Sự miêu tả

tiêu đề

Hướng mà robot nên quay, từ -359 đến 359 độ.

và đừng chờ đợi

Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức.

Ví dụ

khi bắt đầu :: hat events
[Score a Pin in a Neutral Goal.]
quay đến hướng (-110) độ ▶
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶
lái [tiến v] trong (25) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

xoay#

Khối lệnh quay để điều chỉnh hướng quay cho phép robot quay theo một hướng cụ thể.

Góc quay là mức độ robot đã quay, được đo bằng độ. Khi bắt đầu một dự án, giá trị góc quay được đặt là 0 độ. Góc quay cũng có thể được đặt bằng cách sử dụng khối set drive rotation.

Các giá trị xoay là tuyệt đối. Điều này có nghĩa là hướng quay phụ thuộc vào góc xoay hiện tại của robot. Xoay sang phải sẽ làm tăng góc xoay, và xoay sang trái sẽ làm giảm góc xoay.

Ví dụ, nếu robot bắt đầu ở 0 độ và bạn xoay nó một góc 720 độ, nó sẽ quay sang phải hai lần. Nếu sau đó bạn xoay nó một góc 360 độ, nó sẽ quay sang trái một lần, vì 360 nhỏ hơn 720.

Dự án sẽ chờ cho đến khi robot quay xong trước khi khối lệnh tiếp theo trong chuỗi được thực thi.

quay đến góc quay (90) độ ▶

Thông số

Sự miêu tả

xoay

Giá trị góc quay, tính bằng độ, mà robot sẽ quay tới. Giá trị này có thể là số nguyên hoặc số thập phân.

và đừng chờ đợi

Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức.

Ví dụ

khi bắt đầu :: hat events
[Score a Pin in a Neutral Goal.]
quay đến góc quay (-110) độ ▶
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶
lái [tiến v] trong (25) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

dừng lái xe#

Khối lệnh dừng di chuyển sẽ dừng chuyển động của robot.

dừng lái

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

khi bắt đầu :: hat events
[Score a Pin in a Neutral Goal.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v]
chờ (0.5) giây
dừng lái
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

Cài đặt#

đặt tốc độ truyền động#

Khối lệnh thiết lập tốc độ di chuyển cho robot biết tốc độ di chuyển mong muốn. Tỷ lệ phần trăm càng cao thì robot càng di chuyển nhanh hơn, và tỷ lệ phần trăm càng thấp thì robot càng di chuyển chậm hơn.

Mỗi dự án đều bắt đầu với việc robot di chuyển ở tốc độ mặc định là 50%.

Lưu ý: Vận tốc cao hơn giúp robot di chuyển nhanh hơn, nhưng có thể kém chính xác hơn. Vận tốc thấp hơn giúp robot di chuyển chậm hơn, nhưng có thể chính xác hơn.

đặt vận tốc lái thành (50) [% v]

Thông số

Sự miêu tả

vận tốc

Tốc độ lái xe từ 0% đến 100%.

đơn vị

Đơn vị vận tốc: %

Ví dụ

khi bắt đầu :: hat events
[Score a Pin in a Neutral Goal.]
quay [trái v] trong (110) độ ▶
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶
đặt vận tốc lái thành (100) [% v]
lái [tiến v] trong (25) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

đặt tốc độ quay#

Khối lệnh thiết lập tốc độ quay cho robot biết tốc độ quay. Tỷ lệ phần trăm càng cao thì robot quay càng nhanh và tỷ lệ phần trăm càng thấp thì robot quay càng chậm.

Mỗi dự án đều bắt đầu với việc robot quay ở tốc độ 50% theo mặc định.

Lưu ý: Vận tốc cao hơn làm cho robot quay nhanh hơn, nhưng có thể kém chính xác hơn. Vận tốc thấp hơn làm cho robot quay chậm hơn, nhưng có thể chính xác hơn.

đặt vận tốc quay thành (50) [% v]

Thông số

Sự miêu tả

vận tốc

Tốc độ quay từ 0% đến 100%.

đơn vị

Đơn vị vận tốc: %

Ví dụ

khi bắt đầu :: hat events
[Turn to face the Neutral Goal faster.]
đặt vận tốc quay thành (100) [% v]
quay [trái v] trong (110) độ ▶

đặt hướng lái#

Hướng di chuyển là hướng mà robot đang đối mặt, được đo bằng độ. Khối lệnh set drive heading thay đổi hướng di chuyển hiện tại của robot thành một giá trị hướng di chuyển mới.

Ví dụ, nếu robot đã quay mặt sang phải, việc đặt hướng quay về 0 độ sẽ biến vị trí quay mặt sang phải đó thành 0 độ mới. Sau đó, robot có thể quay đến các vị trí khác dựa trên hướng quay mới đó.

đặt hướng lái thành (0) độ

Thông số

Sự miêu tả

tiêu đề

Giá trị hướng, tính bằng độ, cần thiết lập cho robot.

Ví dụ

khi bắt đầu :: hat events
[Make facing the Neutral Goal the new heading.]
đặt hướng lái thành (110) độ
quay đến hướng (0) độ ▶

thiết lập vòng quay ổ đĩa#

Góc quay là mức độ robot đã xoay, được đo bằng độ. Khi bắt đầu một dự án, giá trị góc quay được đặt là 0 độ. Khối lệnh set drive rotation sẽ thay đổi góc quay hiện tại của robot thành một giá trị mới.

Ví dụ, nếu robot đã quay hai vòng hoàn chỉnh sang phải, giá trị góc quay của nó sẽ là 720 độ. Việc đặt góc quay về 0 độ sẽ thiết lập lại góc quay từ 720 độ về 0 độ. Sau đó, robot có thể quay theo các hướng dựa trên giá trị mới đó.

đặt góc quay lái thành (0) độ

Thông số

Sự miêu tả

xoay

Giá trị góc quay, tính bằng độ, cần thiết lập cho robot. Giá trị này có thể là số nguyên hoặc số thập phân.

Ví dụ

khi bắt đầu :: hat events
[Make facing the Neutral Goal the new rotation.]
đặt góc quay lái thành (110) độ
quay đến góc quay (0) độ ▶

đặt thời gian chờ ổ đĩa#

Khối lệnh set drive timeout thiết lập số giây mà robot sẽ cố gắng hoàn thành một chuyển động. Nếu robot không thể hoàn thành trong thời gian đó, nó sẽ ngừng cố gắng và chuyển sang khối lệnh tiếp theo trong ngăn xếp. Điều này giúp robot không bị kẹt trong một chuyển động.

đặt thời gian chờ lái thành (1) giây

Thông số

Sự miêu tả

thời gian

Số giây mà robot có thể cố gắng hoàn thành một chuyển động. Số này có thể là số nguyên hoặc số thập phân.

Ví dụ

khi bắt đầu :: hat events
[Turn to face the Neutral Goal.]
đặt thời gian chờ lái thành (0.8) giây
quay [trái v] trong (180) độ ▶

Giá trị#

Chuyến đi đã kết thúc#

Khối lệnh Boolean drive is done báo cáo liệu robot đã hoàn thành việc di chuyển hay chưa. Điều này có thể được sử dụng để điều khiển thời gian của các hành vi khác dựa trên chuyển động của robot.

  • Đúng — Robot đã hoàn thành việc di chuyển.

  • Sai — Robot vẫn đang di chuyển.

Khối này hoạt động cùng với các khối hệ thống truyền động có tham số và không chờ.

<đã xong lái?>

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

khi bắt đầu :: hat events
[Score a Pin in a Neutral Goal.]
quay [trái v] trong (110) độ ▶
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶
lái [tiến v] trong (25) [inch v] ◀ và không chờ
chờ cho đến khi <đã xong lái?>
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

ổ đĩa đang di chuyển#

Khối lệnh Boolean drive is moving báo cáo liệu robot có đang di chuyển hay không. Điều này có thể được sử dụng để điều khiển thời gian của các hành vi khác dựa trên chuyển động của robot.

  • Đúng — Robot đang di chuyển.

  • Sai — Robot không di chuyển.

Khối này hoạt động cùng với các khối hệ thống truyền động có tham số và không chờ.

<đang lái?>

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

khi bắt đầu :: hat events
[Raise the Arm once stopped near the Goal.]
quay [trái v] trong (110) độ ▶
lái [tiến v] trong (25) [inch v] ◀ và không chờ
trong khi <đang lái?>
chờ (0.005) giây
fin
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶

lái xe hướng#

Hướng di chuyển là hướng mà robot đang đối mặt, được đo bằng độ. Khối báo cáo hướng di chuyển hiển thị hướng di chuyển từ 0 đến 359,99 độ.

Hướng di chuyển ban đầu của robot là 0 độ.

(hướng lái tính bằng độ)

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

khi bắt đầu :: hat events
[Turn to the Goal, then show heading.]
quay [phải v] trong (450) độ ▶
in (hướng lái tính bằng độ) trên màn hình ◀ và đặt con trỏ xuống hàng tiếp theo

sự quay của ổ đĩa#

Góc quay là mức độ robot đã xoay, được đo bằng độ. Khi bắt đầu một dự án, giá trị góc quay được đặt là 0 độ. Khối báo cáo góc quay truyền động sẽ báo cáo góc quay hiện tại của robot.

Rẽ phải sẽ làm tăng góc quay, và rẽ trái sẽ làm giảm góc quay. Ví dụ, quay hai vòng đầy đủ sang phải sẽ cho kết quả góc quay là 720 độ.

(góc quay lái tính bằng độ)

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

khi bắt đầu :: hat events
[Spin to find a Pin, then show rotation.]
quay [phải v] trong (450) độ ▶
in (góc quay lái tính bằng độ) trên màn hình ◀ và đặt con trỏ xuống hàng tiếp theo

tốc độ lái#

Khối báo cáo vận tốc di chuyển cho biết robot đang di chuyển nhanh như thế nào.

(vận tốc lái tính bằng [% v])

Thông số

Sự miêu tả

đơn vị

Đơn vị vận tốc: %

Ví dụ

khi bắt đầu :: hat events
[Show speed while driving to the Goal.]
lái [tiến v] trong (150) [mm v] ▶
in (vận tốc lái tính bằng [% v]) trên màn hình ◀ và đặt con trỏ xuống hàng tiếp theo

Cử động#

Flex sử dụng ArmMotor để nâng và hạ cánh tay, và ClawMotor để mở và đóng càng gắp.

Mỗi động cơ có các tùy chọn hướng quay riêng. Tên hướng quay mô tả cách động cơ đó di chuyển trên Flex.

Hành động#

động cơ quay#

Khối lắp ghép động cơ quay cho phép động cơ quay liên tục theo một trong hai hướng. Động cơ sẽ tiếp tục quay cho đến khi nhận được một thao tác khác, chẳng hạn như quay theo hướng khác hoặc dừng lại.

quay [ArmMotor v] [lên v]

Thông số

Sự miêu tả

động cơ

Động cơ quay: ArmMotor hoặc ClawMotor.

phương hướng

Hướng quay của động cơ:

  • Động cơ tay — lên hoặc xuống
  • Động cơ càng — mở hoặc đóng

Ví dụ

khi bắt đầu
[Raise the Arm before driving toward a Pin.]
quay [ArmMotor v] [lên v]
chờ (1) giây
dừng [ArmMotor v]

động cơ quay cho#

Khối quay động cơ cho khối xếp chồng sẽ quay một động cơ một khoảng cách nhất định. Khoảng cách quay này tương đối so với vị trí hiện tại của động cơ. Dự án sẽ chờ cho đến khi động cơ quay xong trước khi khối tiếp theo trong chuỗi hoạt động.

quay [ArmMotor v] [lên v] trong (90) [độ v] ▶

Thông số

Sự miêu tả

động cơ

Động cơ quay: ArmMotor hoặc ClawMotor.

phương hướng

Hướng quay của động cơ:

  • Động cơ tay — lên hoặc xuống
  • Động cơ càng — mở hoặc đóng

khoảng cách

Quãng đường động cơ quay. Độ sử dụng số nguyên. Số vòng quay có thể sử dụng số nguyên hoặc số thập phân.

đơn vị

Đơn vị đo khoảng cách: độ hoặc quay vòng.

và đừng chờ đợi

Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức.

Ví dụ

khi bắt đầu
[Raise the Arm to carry the Pin to the Goal.]
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶

quay động cơ để định vị#

Khối xếp chồng quay động cơ để định vị sẽ quay động cơ đến một vị trí cụ thể.

Vị trí của động cơ được xác định bằng độ quay, tính bằng độ hoặc vòng quay. Một vòng quay tương đương với 360 độ. Khi bắt đầu dự án, vị trí của ArmMotor được đặt là 0 độ. ClawMotor là ngoại lệ — nó bắt đầu ở 467 độ (đóng hoàn toàn). Vị trí của động cơ cũng có thể được thiết lập bằng cách sử dụng khối set motor position.

Các giá trị vị trí là tuyệt đối. Điều này có nghĩa là hướng quay phụ thuộc vào vị trí hiện tại của động cơ.

Ví dụ, nếu động cơ bắt đầu ở 0 độ và quay đến vị trí 720 độ, nó sẽ quay thuận hai vòng. Nếu sau đó nó quay đến vị trí 360 độ, nó sẽ quay ngược một vòng, vì 360 nhỏ hơn 720.

quay [ArmMotor v] đến vị trí (90) [độ v] ▶

Thông số

Sự miêu tả

động cơ

Động cơ quay: ArmMotor hoặc ClawMotor.

chức vụ

Giá trị vị trí mà động cơ sẽ quay tới. Độ sử dụng số nguyên. Số vòng quay có thể sử dụng số nguyên hoặc số thập phân.

đơn vị

Đơn vị vị trí: độ hoặc vòng quay.

và đừng chờ đợi

Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức.

Ví dụ

khi bắt đầu
[Raise the Arm, then release the Pin.]
quay [ArmMotor v] đến vị trí (800) [độ v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

dừng động cơ#

Khối lệnh dừng động cơ (stop motor stack block) sẽ dừng động cơ đã chọn.

dừng [ArmMotor v]

Thông số

Sự miêu tả

động cơ

Động cơ cần dừng: ArmMotor hoặc ClawMotor.

Ví dụ

khi bắt đầu
[Raise the Arm partway to hold the Pin.]
quay [ArmMotor v] [lên v]
chờ (1) giây
dừng [ArmMotor v]

Cài đặt#

đặt tốc độ động cơ#

Khối lệnh thiết lập tốc độ quay động cơ cho biết tốc độ quay của động cơ. Tỷ lệ phần trăm càng cao thì động cơ quay càng nhanh, và tỷ lệ phần trăm càng thấp thì động cơ quay càng chậm.

Mỗi dự án đều bắt đầu với việc mỗi động cơ quay ở tốc độ 50% theo mặc định.

Lưu ý: Tốc độ cao hơn làm cho động cơ quay nhanh hơn, nhưng có thể kém chính xác hơn. Tốc độ thấp hơn làm cho động cơ quay chậm hơn, nhưng có thể chính xác hơn.

đặt vận tốc [ArmMotor v] thành [50] [% v]

Thông số

Sự miêu tả

động cơ

Loại động cơ dùng để điều chỉnh tốc độ: ArmMotor hoặc ClawMotor.

vận tốc

Tốc độ quay của động cơ. Phần trăm sử dụng các số nguyên từ 0% đến 100%.

đơn vị

Đơn vị vận tốc: %.

Ví dụ

khi bắt đầu
[Raise the Arm fast to release the Pin.]
đặt vận tốc [ArmMotor v] thành [100] [% v]
quay [ArmMotor v] [lên v] trong (800) [độ v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

đặt thời gian chờ động cơ#

Khối lệnh set motor timeout thiết lập khoảng thời gian tối đa mà động cơ sẽ cố gắng hoàn thành một chuyển động. Nếu động cơ không thể hoàn thành trong thời gian đó, nó sẽ ngừng cố gắng và chuyển sang khối lệnh tiếp theo trong ngăn xếp. Điều này giúp ngăn động cơ bị kẹt ở một chuyển động nào đó.

đặt thời gian chờ [ArmMotor v] thành [1] giây

Thông số

Sự miêu tả

động cơ

Chọn động cơ để thiết lập thời gian chờ: ArmMotor hoặc ClawMotor.

thời gian

Số giây mà động cơ có thể cố gắng hoàn thành một chuyển động. Số này có thể là số nguyên hoặc số thập phân.

Ví dụ

khi bắt đầu
[Score a Pin in a Neutral Goal.]
quay [trái v] trong (110) độ ▶
đặt thời gian chờ [ArmMotor v] thành [1] giây
quay [ArmMotor v] [lên v] trong (1800) [độ v] ▶
lái [tiến v] trong (25) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

Chức vụ#

vị trí động cơ#

Vị trí của động cơ được xác định bằng độ quay, tính bằng độ hoặc vòng quay. Một vòng quay tương đương với 360 độ. Khối báo cáo vị trí động cơ sẽ báo cáo vị trí hiện tại của động cơ.

Khi bắt đầu dự án, vị trí của ArmMotor được đặt ở 0 độ. ClawMotor là ngoại lệ — nó bắt đầu ở 467 độ (hoàn toàn đóng). Nếu động cơ quay một vòng về phía trước, vị trí sẽ tăng lên. Nếu động cơ quay theo hướng ngược lại, vị trí sẽ giảm xuống.

(vị trí [ArmMotor v] tính bằng [độ v])

Thông số

Sự miêu tả

động cơ

Động cơ dùng để báo cáo vị trí: ArmMotor hoặc ClawMotor.

đơn vị

Đơn vị dùng để báo cáo vị trí của động cơ là: độ hoặc vòng quay.

Ví dụ

khi bắt đầu
[Raise the Arm, then release the Pin.]
trong khi <(vị trí [ArmMotor v] tính bằng [độ v]) < (800)>
quay [ArmMotor v] [lên v]
chờ (0.002) giây
fin
dừng [ArmMotor v]
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

đặt vị trí động cơ#

Vị trí của động cơ được xác định bằng độ quay, tính bằng độ hoặc vòng quay. Một vòng quay tương đương với 360 độ. Khối lệnh đặt vị trí động cơ thay đổi vị trí hiện tại của động cơ thành một giá trị mới.

Ví dụ, nếu một động cơ đã quay đến 180 độ, việc đặt vị trí về 0 độ sẽ thiết lập lại vị trí đó từ 180 độ về 0 độ. Sau đó, động cơ có thể quay đến các vị trí dựa trên giá trị mới đó.

đặt vị trí [ArmMotor v] thành (0) [độ v]

Thông số

Sự miêu tả

động cơ

Động cơ dùng để điều chỉnh vị trí: Động cơ tay cần hoặc Động cơ càng gắp.

chức vụ

Giá trị vị trí cần thiết lập cho động cơ. Độ sử dụng số nguyên. Số vòng quay có thể sử dụng số nguyên hoặc số thập phân.

đơn vị

Đơn vị vị trí: độ hoặc vòng quay.

Ví dụ

khi bắt đầu
[Reset encoder, raise Arm, place Pin.]
đặt vị trí [ArmMotor v] thành (0) [độ v]
quay [ArmMotor v] đến vị trí (800) [độ v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

Giá trị#

động cơ đã xong#

Khối lệnh Boolean motor is done báo cáo liệu động cơ đã ngừng chuyển động hay chưa. Điều này có thể được sử dụng để điều khiển thời gian của các hành vi khác dựa trên chuyển động của động cơ.

  • Đúng — Động cơ đã ngừng chuyển động.

  • Sai — Động cơ vẫn đang hoạt động.

Khối này hoạt động cùng với các khối Chuyển động sau có tham số và không chờ: quay động cơ trong và quay động cơ đến vị trí.

<[ArmMotor v] đã xong?>

Thông số

Sự miêu tả

động cơ

Loại động cơ báo hiệu quá trình chuyển động đã hoàn tất: ArmMotor hoặc ClawMotor.

Ví dụ

khi bắt đầu
[Raise the Arm while driving to the Goal.]
quay [ArmMotor v] đến vị trí (800) [độ v] ◀ và không chờ
chờ (0.1) giây
trong khi <không <[ArmMotor v] đã xong?>>
lái [tiến v]
chờ (0.005) giây
fin
dừng lái

động cơ đang quay#

Khối Boolean motor is spinning báo cáo liệu động cơ có đang quay hay không. Điều này có thể được sử dụng để điều khiển thời gian của các hành vi khác dựa trên chuyển động của động cơ.

  • Đúng — Động cơ đang quay.

  • Sai — Động cơ không quay.

Khối này hoạt động cùng với các khối Chuyển động sau có tham số và không chờ: quay động cơ trong và quay động cơ đến vị trí.

<[ArmMotor v] đang quay?>

Thông số

Sự miêu tả

động cơ

Động cơ báo hiệu trạng thái quay là ArmMotor hay ClawMotor.

Ví dụ

khi bắt đầu
[Raise the Arm while driving to the Goal, then release the Pin.]
quay [ArmMotor v] đến vị trí (800) [độ v] ◀ và không chờ
chờ (0.1) giây
trong khi <[ArmMotor v] đang quay?>
lái [tiến v] trong (20) [mm v] ▶
fin
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

tốc độ động cơ#

Khối báo cáo tốc độ động cơ hiển thị tốc độ quay của động cơ, được biểu thị bằng phần trăm từ -100% đến 100%.

(vận tốc [ArmMotor v] tính bằng [% v] :: custom-motion)

Thông số

Sự miêu tả

động cơ

Động cơ cần báo cáo vận tốc là: ArmMotor hoặc ClawMotor.

đơn vị

Đơn vị dùng để biểu thị tốc độ động cơ: %.

Ví dụ

khi bắt đầu
[Show Arm Motor velocity while raising.]
đặt vận tốc [ArmMotor v] thành [100] [% v]
quay [ArmMotor v] đến vị trí (800) [độ v] ◀ và không chờ
chờ (0.2) giây
in (vận tốc [ArmMotor v] tính bằng [% v] :: custom-motion) trên màn hình ◀ và đặt con trỏ xuống hàng tiếp theo

Tầm nhìn AI#

Hành động#

lấy dữ liệu đối tượng#

Khối lấy dữ liệu đối tượng lọc dữ liệu từ khung hình Cảm biến Thị giác AI thành một chữ ký duy nhất — một mô tả đã lưu về thứ mà cảm biến có thể nhận ra, chẳng hạn như một yếu tố trò chơi trên sân.

Tập dữ liệu lưu trữ các đối tượng được sắp xếp từ lớn nhất đến nhỏ nhất theo chiều rộng, bắt đầu từ chỉ mục 0. Thuộc tính của mỗi đối tượng có thể được truy cập bằng cách sử dụng khối thuộc tính đối tượng AI Vision. Tập dữ liệu trống được trả về nếu không phát hiện thấy đối tượng phù hợp nào.

Khối lệnh Get object data stack block.#
lấy dữ liệu [Phân loại AI v] từ [AIVision v]

Tham số

Sự miêu tả

chữ ký

Lọc tập dữ liệu chỉ bao gồm dữ liệu có chữ ký đã cho. Các chữ ký có sẵn là:

  • Phân loại AI - Phát hiện các yếu tố trò chơi RedBluePin, BlueYellowPin, RedYellowPin, YellowPin và Cup.
  • AprilTags - Phát hiện ID AprilTag được tìm thấy trên sân.

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
[Turn to face the Pin.]
đặt vận tốc quay thành (30) [% v]
mãi mãi
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
if <(đối tượng [AIVision v] [centerX v]) < (140)> then
quay [trái v]
else if <([AIVision v] object [centerX v]) > (180)> then
quay [phải v]
nếu không
dừng lái
thoát vòng lặp
fin
fin
fin

Cài đặt#

đặt mục đối tượng#

Khối set object item xác định mục nào trong tập dữ liệu sẽ được sử dụng.

Khối xếp chồng vật phẩm đối tượng Set AI Vision.#
đặt mục đối tượng [AIVision v] thành [1]

Thông số

Sự miêu tả

mục

Số thứ tự của mục trong tập dữ liệu cần sử dụng.

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
nếu <đối tượng [AIVision v] tồn tại?> thì
[If any AI Classification is detected, check if any of them are a specific game element.]
nếu <đối tượng [AIVision v] là [RedBluePin v]?> thì
in [RedBluePin detected.] ▶
nếu không
in [No RedBluePin detected.] ▶
fin
fin

Giá trị#

đối tượng tồn tại#

Khối kiểm tra sự tồn tại của đối tượng trả về giá trị Boolean cho biết liệu có đối tượng nào được phát hiện trong tập dữ liệu hay không.

  • Đúng – Tập dữ liệu bao gồm một đối tượng được phát hiện.

  • Sai – Tập dữ liệu không bao gồm bất kỳ đối tượng nào được phát hiện.

Khối Boolean tồn tại đối tượng AI Vision.#
<đối tượng [AIVision v] tồn tại?>

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
[Check if any AI Classifications were detected in the last snapshot.]
nếu <đối tượng [AIVision v] tồn tại?> thì
in (số lượng đối tượng [AIVision v]) ◀ và đặt con trỏ xuống hàng tiếp theo
fin

đối tượng là#

Khối object is trả về giá trị Boolean cho biết liệu đối tượng được phát hiện có khớp với một phân loại cụ thể hay không.

  • Đúng – Mục trong tập dữ liệu là đối tượng cụ thể.

  • Sai – Mục trong tập dữ liệu không phải là đối tượng cụ thể.

Đối tượng AI Vision là một khối Boolean.#
<đối tượng [AIVision v] là [RedBluePin v]?>

Tham số

Sự miêu tả

sự vật

So sánh vật phẩm với vật nào:

  • Ghim Đỏ Xanh
  • Ghim Xanh Vàng
  • Ghim Đỏ Vàng
  • Ghim Vàng
  • Cốc

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
nếu <đối tượng [AIVision v] là [RedBluePin v]?> thì
in [RedBluePin detected.] ▶
nếu không
in [No RedBluePin detected.] ▶
fin
fin

Đối tượng là AprilTag#

Khối object is AprilTag trả về giá trị Boolean cho biết liệu đối tượng được phát hiện có phải là AprilTag khớp với ID cụ thể hay không.

  • Đúng – Đối tượng được phát hiện là một AprilTag với ID đã cho.

  • Sai – Đối tượng được phát hiện không phải là AprilTag có ID đã cho.

Đối tượng là khối Boolean AprilTag.#
<đối tượng [AIVision v] là AprilTag [0]?>

Tham số

Sự miêu tả

Mã định danh AprilTag

Mã số định danh cần so sánh với AprilTag đã được phát hiện.

Ví dụ

khi bắt đầu
[Report if AprilTag 3 is detected.]
lấy dữ liệu [AprilTags v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
nếu <đối tượng [AIVision v] là AprilTag [3]?> thì
in [That is 3!] ▶
nếu không
in [That isn't 3!] ▶
fin
fin

số lượng đối tượng#

Khối đếm đối tượng trả về số lượng đối tượng được phát hiện trong tập dữ liệu dưới dạng số nguyên.

Khối xếp chồng vật phẩm đối tượng Set AI Vision.#
(số lượng đối tượng [AIVision])

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
in (số lượng đối tượng [AIVision v]) ◀ và đặt con trỏ xuống hàng tiếp theo
fin

thuộc tính đối tượng#

Có sáu thuộc tính được bao gồm trong mỗi đối tượng (hiển thị bên dưới) được lưu trữ sau khi khối lấy dữ liệu đối tượng được sử dụng.

Khối báo cáo thuộc tính đối tượng AI Vision.#
(đối tượng [AIVision v] [chiều rộng v])

Tất cả các giá trị thuộc tính mô tả vị trí và kích thước của đối tượng được phát hiện trong tầm nhìn của Cảm biến Thị giác AI tại thời điểm khối lấy dữ liệu đối tượng được sử dụng. Các giá trị này được đo bằng pixel, dựa trên độ phân giải 320 x 240 pixel của cảm biến.

Tham số

Sự miêu tả

tài sản

Nên sử dụng thuộc tính nào của đối tượng được phát hiện:

chiều rộng#

Thuộc tính width báo cáo chiều rộng của đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 1 đến 320.

Khối thuộc tính ngăn xếp đối tượng AI Vision với tham số được đặt thành chiều rộng.#
(đối tượng [AIVision v] [chiều rộng v])

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
[Approach the next Cup and Pin.]
đặt vận tốc lái thành (30) [% v]
mãi mãi
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
if <([AIVision v] object [width v]) > (140)> then
dừng lái
thoát vòng lặp
nếu không
lái [tiến v]
fin
fin
fin
chiều cao#

Thuộc tính chiều cao báo cáo chiều cao của đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 1 đến 240.

Khối thuộc tính ngăn xếp đối tượng AI Vision với tham số được đặt thành chiều cao.#
(đối tượng [AIVision v] [chiều cao v])

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
[Approach the next Cup and Pin.]
đặt vận tốc lái thành (30) [% v]
mãi mãi
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
if <([AIVision v] object [height v]) > (200)> then
dừng lái
thoát vòng lặp
nếu không
lái [tiến v]
fin
fin
fin
centerX#

Thuộc tính centerX báo cáo tọa độ x của tâm đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 0 đến 320.

Khối thuộc tính ngăn xếp đối tượng AI Vision với tham số được đặt thành centerX.#
(đối tượng [AIVision v] [centerX v])

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
[Turn and approach the next Cup and Pin.]
đặt vận tốc quay thành (30) [% v]
mãi mãi
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
if <(đối tượng [AIVision v] [centerX v]) < (140)> then
quay [trái v] trong (5) độ ▶
nếu không
lái [tiến v] trong (25) [inch v] ▶
thoát vòng lặp
fin
fin
fin
trung tâmY#

Thuộc tính centerY báo cáo tọa độ y của tâm đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 0 đến 240.

Khối thuộc tính ngăn xếp đối tượng AI Vision với tham số được đặt thành centerY.#
(đối tượng [AIVision v] [centerY v])

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
[Approach the next Cup and Pin.]
đặt vận tốc lái thành (30) [% v]
mãi mãi
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
if <([AIVision v] object [centerY v]) > (230)> then
dừng lái
thoát vòng lặp
nếu không
lái [tiến v]
fin
fin
fin
nguồn gốcX#

Thuộc tính originX báo cáo tọa độ x của góc trên bên trái của khung bao quanh đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 0 đến 320.

Khối thuộc tính ngăn xếp đối tượng AI Vision với tham số được đặt thành originX.#
(đối tượng [AIVision v] [originX v])

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
[Turn and approach the next Cup and Pin.]
đặt vận tốc quay thành (30) [% v]
mãi mãi
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
if <(đối tượng [AIVision v] [originX v]) < (100)> then
quay [trái v] trong (5) độ ▶
nếu không
lái [tiến v] trong (25) [inch v] ▶
thoát vòng lặp
fin
fin
fin
nguồn gốc#

Thuộc tính originY báo cáo tọa độ y của góc trên bên trái của khung bao quanh đối tượng được phát hiện tính bằng pixel dưới dạng số nguyên từ 0 đến 240.

Khối thuộc tính ngăn xếp đối tượng AI Vision với tham số được đặt thành originY.#
(đối tượng [AIVision v] [originY v])

Ví dụ

khi bắt đầu
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
quay [trái v] trong (70) độ ▶
[Approach the next Cup and Pin.]
đặt vận tốc lái thành (30) [% v]
mãi mãi
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
nếu <đối tượng [AIVision v] tồn tại?> thì
if <([AIVision v] object [originY v]) > (140)> then
dừng lái
thoát vòng lặp
nếu không
lái [tiến v]
fin
fin
fin

Cảm biến#

Khoảng cách#

Khoảng cách tìm thấy một vật thể#

Khối Boolean Khoảng cách tìm thấy vật thể cho biết liệu Cảm biến Khoảng cách hiện có phát hiện vật thể nào trong phạm vi 2000mm hay không.

  • Đúng — Cảm biến khoảng cách phát hiện vật thể.

  • Sai — Cảm biến khoảng cách không phát hiện vật thể.

<[FrontDistance v] tìm thấy đối tượng?>

Thông số

Sự miêu tả

cảm biến khoảng cách

Cảm biến khoảng cách cần sử dụng. Hãy chọn một trong các cảm biến khoảng cách có sẵn cho Flex.

Ví dụ

khi bắt đầu :: hat events
[Turn until something is detected, then release the Pin.]
quay [phải v]
chờ cho đến khi <[FrontDistance v] tìm thấy đối tượng?>
dừng lái
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

khoảng cách vật thể#

Khối báo cáo khoảng cách đối tượng sẽ báo cáo khoảng cách giữa Cảm biến khoảng cách và đối tượng được phát hiện gần nhất.

(khoảng cách [FrontDistance v] tính bằng [mm v])

Thông số

Sự miêu tả

cảm biến khoảng cách

Cảm biến khoảng cách cần sử dụng. Hãy chọn một trong các cảm biến khoảng cách có sẵn cho Flex.

đơn vị

Đơn vị đo khoảng cách: mm hoặc inch.

Ví dụ

khi bắt đầu :: hat events
[Drive until 200 mm from the Goal, then release the Pin.]
lái [tiến v]
chờ cho đến khi <(khoảng cách [FrontDistance v] tính bằng [mm v]) < (200)>
dừng lái
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

GPS#

Vị trí GPS#

Khối Vị trí GPS trả về độ lệch vị trí của điểm tham chiếu quay của robot so với tâm của một sân chơi được xác định bằng cảm biến GPS (Game Positioning System™).

(vị trí [GPS v] [X v] tính bằng [mm v])

Thông số

Sự miêu tả

trục

Nên báo cáo trục nào:

  • X
  • Y

đơn vị

Đơn vị dùng để biểu thị vị trí: mm hoặc inch

Ví dụ

khi bắt đầu :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v]
wait until <([GPS v] position [X v] in [mm v]) > (-1370)>
dừng lái
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶

Hướng GPS#

Khối Hướng GPS trả về hướng mà robot hiện đang đối mặt dựa trên các giá trị đọc từ cảm biến GPS (Game Positioning System™) trong mã trường GPS của VEX, từ 0,00 đến 359,99 độ.

(hướng [GPS v] tính bằng độ)

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

khi bắt đầu :: hat events
[Raise the Arm, drive to the Goal, release the Pin.]
quay [ArmMotor v] [lên v] trong (300) [độ v] ▶
lái [tiến v] trong (10) [inch v] ▶
quay [ClawMotor v] [mở v] trong (180) [độ v] ▶
[Turn left to face the Neutral Goal.]
đặt vận tốc quay thành (30) [% v]
quay [trái v]
chờ cho đến khi <(hướng [GPS v] tính bằng độ) < (18)>
dừng lái