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

Giới thiệu#

Robot anh hùng Flop bao gồm một động cơ hút khí (IntakeMotor), một động cơ tay (ArmMotor) và một cảm biến thị giác IQ AI.

Tất cả các khối VEXcode VR tiêu chuẩn đều có sẵn để sử dụng trong Sân chơi IQ 26-27 Level Up.

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ó:

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 IQ AI.

Các ví dụ trên trang này sử dụng vị trí bắt đầu mặc định của Playground.

Cử động#

Flop sử dụng động cơ hút để thu thập và đẩy các thành phần trò chơi ra ngoài. Động cơ tay nâng hạ cánh tay.

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

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 [IntakeMotor v] [lượng hấp thụ v]

Thông số

Sự miêu tả

động cơ

Động cơ cần quay: IntakeMotor hoặc ArmMotor.

phương hướng

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

  • Động cơ hút — hút hoặc thải
  • Động cơ tay cần — lên hoặc xuống

Ví dụ

khi bắt đầu
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
quay [ArmMotor v] [lên v] trong (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra 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 (500) [độ v] ▶

Thông số

Sự miêu tả

động cơ

Động cơ cần quay: IntakeMotor hoặc ArmMotor.

phương hướng

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

  • Động cơ hút — hút hoặc thải
  • Động cơ tay cần — lên hoặc xuố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
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
quay [ArmMotor v] [lên v] trong (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra 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ơ là khoảng cách nó đã quay, được đo bằng độ hoặc vòng quay. Một vòng quay bằng 360 độ. Khi bắt đầu một dự án, vị trí của động cơ được đặt là 0 độ. Vị trí của động cơ cũng có thể được đặt 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í (500) [độ v] ▶

Thông số

Sự miêu tả

động cơ

Động cơ cần quay: IntakeMotor hoặc ArmMotor.

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
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
quay [ArmMotor v] đến vị trí (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra 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 [IntakeMotor v]

Thông số

Sự miêu tả

động cơ

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

Ví dụ

khi bắt đầu
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
quay [ArmMotor v] [lên v] trong (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra v]
chờ (1) giây
dừng [IntakeMotor 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 [IntakeMotor v] thành [50] [% v]

Thông số

Sự miêu tả

động cơ

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

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
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
quay [ArmMotor v] [lên v] trong (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
đặt vận tốc [IntakeMotor v] thành [100] [% v]
quay [IntakeMotor v] [lấy ra 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ơ

Động cơ cần thiết lập thời gian chờ là: IntakeMotor hoặc ArmMotor.

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 Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
đặt thời gian chờ [ArmMotor v] thành [2] giây
quay [ArmMotor v] [lên v] trong (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra 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 động cơ được đặt ở 0 độ. Nếu động cơ quay một vòng hoàn chỉnh về phía trước, vị trí sẽ là 360 độ hoặc 1 vòng. Nếu động cơ quay theo hướng ngược lại, vị trí sẽ là số âm.

(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í là: IntakeMotor hoặc ArmMotor.

đơ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
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
trong khi <(vị trí [ArmMotor v] tính bằng [độ v]) [math_less_than v] [360]>
quay [ArmMotor v] [lên v]
chờ (0.002) giây
fin
dừng [ArmMotor v]
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra 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 để thiết lập vị trí của: Động cơ hút khí hoặc Động cơ tay cần.

chức vụ

Giá trị vị trí cần thiết lập. Độ 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
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
đặt vị trí [ArmMotor v] thành [0] [độ v]
quay [ArmMotor v] [lên v] trong (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra 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ơ

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

Ví dụ

khi bắt đầu
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
quay [ArmMotor v] đến vị trí (1) [vòng v] ◀ và không chờ
chờ cho đến khi <[ArmMotor v] đã xong?>
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra v]

độ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í.

<[IntakeMotor v] đang quay?>

Thông số

Sự miêu tả

động cơ

Động cơ báo cáo trạng thái quay là: IntakeMotor hoặc ArmMotor.

Ví dụ

khi bắt đầu
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
quay [ArmMotor v] [lên v] trong (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra v]
chờ cho đến khi <không <[IntakeMotor v] đang quay?>>
dừng [IntakeMotor 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 [IntakeMotor v] tính bằng [% v] :: custom-motion)

Thông số

Sự miêu tả

động cơ

Động cơ dùng để báo cáo vận tốc là: IntakeMotor hoặc ArmMotor.

đơn vị

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

Ví dụ

khi bắt đầu
[Score a Bean Bag in a Blue Goal.]
quay [trái v] trong (90) độ ▶
lái [tiến v] trong (35) [inch v] ▶
quay [phải v] trong (90) độ ▶
quay [ArmMotor v] [lên v] trong (1) [vòng v] ▶
lái [tiến v] trong (40) [inch v] ▶
quay [IntakeMotor v] [lấy ra v]
chờ [0.2] giây
in (vận tốc [IntakeMotor v] tính bằng [% v] :: custom-motion) ▶

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 IQ 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. Tập dữ liệu trống được trả về nếu không tìm thấy đối tượng phù hợp nào.

Khối lệnh lấy dữ liệu đối tượng.#
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 Túi đậu đỏ, Túi đậu xanh và Túi đậu vàng.
  • AprilTags — Phát hiện ID AprilTag được tìm thấy ở các cạnh của Khung thành.

Ví dụ

khi bắt đầu :: hat events
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Find and face the nearest red Bean Bag.]
đặt vận tốc quay thành (30) [% v]
đặt [object_counter v] thành [1]
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
lặp lại (số lượng đối tượng [AIVision v])
đặt mục đối tượng [AIVision v] thành (object_counter)
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> 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
fin
thoát vòng lặp
fin
thay đổi [object_counter v] bởi [1]
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 ngăn xếp mục đối tượng đã thiết lập.#
đặ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 :: hat events
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Find the index of the nearest red Bean Bag.]
đặt [object_counter v] thành [1]
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
lặp lại (số lượng đối tượng [AIVision v])
đặt mục đối tượng [AIVision v] thành (object_counter)
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> thì
in (nối [Nearest Red Bean Bag is ] (object_counter)) ▶
thoát vòng lặp
nếu không
thay đổi [object_counter v] bởi [1]
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 :: hat events
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Turn until a Bean Bag is detected.]
đặt vận tốc quay thành (30) [% v]
quay [phải v]
lặp lại cho đến khi <đối tượng [AIVision v] tồn tại?>
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
fin
dừng lái

đố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 là khối Boolean.#
<đối tượng [AIVision v] là [RedBeanBag v]?>

Tham số

Sự miêu tả

sự vật

Nên so sánh vật phẩm này với vật nào: RedBeanBag, BlueBeanBag, hay YellowBeanBag?

Ví dụ

khi bắt đầu :: hat events
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Find the index of the nearest red Bean Bag.]
đặt [object_counter v] thành [1]
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
lặp lại (số lượng đối tượng [AIVision v])
đặt mục đối tượng [AIVision v] thành (object_counter)
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> thì
in (nối [Nearest Red Bean Bag is ] (object_counter)) ▶
thoát vòng lặp
nếu không
thay đổi [object_counter v] bởi [1]
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 :: hat events
[Stop when you see the Red Goal!]
đặt vận tốc quay thành (30) [% v]
quay [phải v]
lặp lại cho đến khi <đối tượng [AIVision v] là AprilTag [1]?>
lấy dữ liệu [AprilTags v] từ [AIVision v]
fin
dừng lái
in [Found the Red Goal!] ▶

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 báo cáo số lượng đối tượng.#
(số lượng đối tượng [AIVision v])

Thông số

Sự miêu tả

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

Ví dụ

khi bắt đầu :: hat events
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Print how many Bean Bags are detected.]
lấy dữ liệu [Phân loại AI v] từ [AIVision v]
in (số lượng đối tượng [AIVision v]) ▶

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

Có sáu thuộc tính được bao gồm trong mỗi đối tượng đượ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 IQ 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, chiều cao, tâm theo trục X, tâm theo trục Y, gốc tọa độ X, hay gốc tọa độ Y?

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 báo cáo thuộc tính đối tượng AI Vision với chiều rộng đã chọn.#
(đối tượng [AIVision v] [chiều rộng v])

Ví dụ

khi bắt đầu
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Approach the Bean Bag, then pick it up.]
đặ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ì
đặt mục đối tượng [AIVision v] thành [1]
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> thì
if <([AIVision v] object [width v]) > (180)> then
lái [tiến v] trong [50] [mm v] ▶
quay [IntakeMotor v] [lượng hấp thụ v] trong [90] [độ v] ▶
thoát vòng lặp
nếu không
lái [tiến v]
fin
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 báo cáo thuộc tính đối tượng AI Vision với chiều cao đã được chọn.#
(đối tượng [AIVision v] [chiều cao v])

Ví dụ

khi bắt đầu
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Approach the Bean Bag, then pick it up.]
đặ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ì
đặt mục đối tượng [AIVision v] thành [1]
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> thì
if <([AIVision v] object [height v]) > (100)> then
lái [tiến v] trong [50] [mm v] ▶
quay [IntakeMotor v] [lượng hấp thụ v] trong [90] [độ v] ▶
thoát vòng lặp
nếu không
lái [tiến v]
fin
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 báo cáo thuộc tính đối tượng AI Vision với centerX được chọn.#
(đối tượng [AIVision v] [centerX v])

Ví dụ

khi bắt đầu
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Steer to keep the Bean Bag centered while approaching.]
đặt vận tốc quay thành (30) [% v]
đặ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ì
đặt mục đối tượng [AIVision v] thành [1]
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> 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 (150) [mm v] ▶
quay [IntakeMotor v] [lượng hấp thụ v]
thoát vòng lặp
fin
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 báo cáo thuộc tính đối tượng AI Vision với tâm trục Y được chọn.#
(đối tượng [AIVision v] [centerY v])

Ví dụ

khi bắt đầu
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Print the y-position of the Bean Bag.]
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ì
đặt mục đối tượng [AIVision v] thành [1]
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> thì
in (đối tượng [AIVision v] [centerY v]) ▶
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 báo cáo thuộc tính đối tượng AI Vision với originX được chọn.#
(đối tượng [AIVision v] [originX v])

Ví dụ

khi bắt đầu
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Steer to keep the left edge centered.]
đặt vận tốc quay thành (30) [% v]
đặ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ì
đặt mục đối tượng [AIVision v] thành [1]
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> 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 (150) [mm v] ▶
quay [IntakeMotor v] [lượng hấp thụ v]
thoát vòng lặp
fin
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 báo cáo thuộc tính đối tượng AI Vision với originY được chọn.#
(đối tượng [AIVision v] [originY v])

Ví dụ

khi bắt đầu
[Drop the preloaded Bean Bag.]
quay [IntakeMotor v] [lấy ra v] trong (180) [độ v] ▶
quay [trái v] trong (90) độ ▶
[Print the y-position of the Bean Bag's top edge.]
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ì
đặt mục đối tượng [AIVision v] thành [1]
nếu <đối tượng [AIVision v] là [RedBeanBag v]?> thì
in (đối tượng [AIVision v] [originY v]) ▶
fin
fin