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.
Hành động
động cơ quay – Quay động cơ theo một trong các hướng của nó mãi mãi.
quay động cơ trong – Quay động cơ một khoảng cách cụ thể tính bằng độ hoặc vòng.
quay động cơ đến vị trí – Quay động cơ đến một vị trí cụ thể.
dừng động cơ – Dừng động cơ quay.
Cài đặt
đặt tốc độ động cơ – Cho động cơ biết tốc độ quay.
đặt thời gian chờ động cơ – Đặt khoảng thời gian mà động cơ sẽ cố gắng hoàn thành một chuyển động.
Chức vụ
vị trí động cơ – Báo cáo vị trí hiện tại của động cơ.
đặ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.
Giá trị
động cơ đã hoàn thành – Báo cáo liệu động cơ đã ngừng chuyển động hay chưa.
động cơ đang quay – Báo cáo xem động cơ có đang quay hay không.
vận tốc động cơ – Cho biết tốc độ quay của động cơ, dưới dạng phần trăm từ -100% đến 100%.
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.
Hành động
lấy dữ liệu đối tượng - Thu thập dữ liệu cho một chữ ký cụ thể, chẳng hạn như Phân loại AI được phát hiện.
Cài đặt
set object item - Chọn một đối tượng cụ thể từ danh sách.
Giá trị
đối tượng tồn tại - Trả về liệu có phát hiện thấy bất kỳ phân loại nào hay không.
đối tượng là - Trả về liệu có phát hiện thấy phân loại cụ thể hay không.
đối tượng là AprilTag - Trả về 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.
số lượng đối tượng - Trả về số lượng đối tượng đã được phát hiện.
thuộc tính đối tượng - Trả về chiều rộng, chiều cao, centerX, centerY, originX hoặc originY.
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ơ:
|
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ơ:
|
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.
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à:
|
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.
đặ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.
<đố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 [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 [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.
(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.
(đố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.
(đố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.
(đố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.
(đố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.
(đố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.
(đố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.
(đố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