로봇 전용 블록#
소개#
히어로 봇인 플롭에는 흡기 모터, 팔 모터 및 IQ AI 비전 센서가 포함되어 있습니다.
모든 표준 VEXcode VR 블록은 IQ 26-27 레벨 업 플레이그라운드에서 사용할 수 있습니다.
다음은 사용 가능한 모든 로봇 전용 블록 목록입니다.
모션 – 로봇 모터의 움직임과 추적을 제어합니다.
행위
스핀 모터 – 모터를 한 방향으로 영원히 회전시킵니다.
스핀 모터 for – 특정 거리만큼 모터를 회전시킵니다.
모터를 특정 위치로 회전 – 모터를 특정 위치로 회전시킵니다.
모터 정지 – 모터의 회전을 정지시킵니다.
설정
모터 속도 설정 – 모터가 얼마나 빨리 회전해야 하는지 알려줍니다.
모터 타임아웃 설정 – 모터가 동작을 완료하려고 시도하는 시간을 설정합니다.
위치
값
모터가 완료되었습니다 – 모터의 움직임이 완료되었는지 여부를 보고합니다.
모터가 회전하고 있습니다 – 모터가 회전하고 있는지 여부를 보고합니다.
모터 속도 – 모터가 회전하는 속도를 -100%에서 100%까지의 백분율로 보고합니다.
AI 비전 - IQ AI 비전 센서를 사용하여 사물을 포착하고 분석합니다.
행위
객체 데이터 가져오기 - 감지된 AI 분류와 같은 특정 서명에 대한 데이터를 캡처합니다.
설정
객체 항목 설정 - 목록에서 특정 객체를 선택합니다.
값
객체가 존재합니다 - 분류가 감지되었는지 여부를 반환합니다.
객체는 - 특정 분류가 감지되었는지 여부를 반환합니다.
객체가 AprilTag인지 여부 - 감지된 객체가 특정 ID와 일치하는 AprilTag인지 여부를 반환합니다.
객체 개수 - 감지된 객체의 수를 반환합니다.
객체 속성 - 너비, 높이, centerX, centerY, originX 또는 originY를 반환합니다.
이 페이지의 예제는 Playground의 기본 시작 위치를 사용합니다.
운동#
플롭은 흡입 모터를 사용하여 게임 요소를 수집하고 배출합니다. 암 모터는 암을 올리고 내립니다.
각 모터는 고유한 방향 옵션을 가지고 있습니다. 방향 이름은 해당 모터가 Flop에서 어떻게 움직이는지를 설명합니다.
행위#
스핀 모터#
스핀 모터 스택 블록은 모터를 두 방향 중 하나로 계속 회전시킵니다. 모터는 회전 방향을 바꾸거나 멈추는 등의 다른 동작이 주어질 때까지 계속 회전합니다.
[IntakeMotor v]를 [섭취 v] 방향으로 회전
매개변수 |
설명 |
|---|---|
모터 |
회전시킬 모터: 흡기 모터 또는 암 모터. |
방향 |
모터 회전 방향:
|
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v]를 [위로 v] 방향으로 (1) [회전 v] 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
스핀 모터용#
스택 블록의 스핀 모터는 모터를 특정 거리만큼 회전시킵니다. 회전 거리는 모터의 현재 위치를 기준으로 합니다. 프로젝트는 모터 회전이 완료될 때까지 기다린 후 스택의 다음 블록이 실행됩니다.
[ArmMotor v]를 [위로 v] 방향으로 (500) [도 v] 회전 ▶
매개변수 |
설명 |
|---|---|
모터 |
회전시킬 모터: 흡기 모터 또는 암 모터. |
방향 |
모터 회전 방향:
|
거리 |
모터가 회전하는 거리. 도는 정수로, 회전수는 정수 또는 소수로 입력할 수 있습니다. |
단위 |
거리 단위: 도 또는 회전. |
그리고 기다리지 마세요 |
화살표( ▶ )를 선택하여 블록을 확장하면 기다리지 마세요라고 표시되고, 스택의 다음 블록이 즉시 실행됩니다. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v]를 [위로 v] 방향으로 (1) [회전 v] 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
모터를 회전시켜 위치를 조정합니다.#
스핀 모터 위치 지정 스택 블록은 모터를 특정 위치로 회전시킵니다.
모터의 위치는 회전한 정도를 나타내며, 도 또는 회전 단위로 측정됩니다. 1 회전은 360도와 같습니다. 프로젝트 시작 시 모터 위치는 0도로 설정됩니다. 모터 위치는 모터 위치 설정 블록을 사용하여 설정할 수도 있습니다.
위치 값은 절대값입니다. 즉, 회전 방향은 모터의 현재 위치에 따라 달라집니다.
예를 들어, 모터가 0도에서 시작하여 720도까지 회전하면 정방향으로 두 바퀴 회전합니다. 그런 다음 360도까지 회전하면 720도보다 360도가 작으므로 역방향으로 한 바퀴 회전합니다.
[ArmMotor v]를 위치 (500) [도 v]로 회전 ▶
매개변수 |
설명 |
|---|---|
모터 |
회전시킬 모터: 흡기 모터 또는 암 모터. |
위치 |
모터가 회전할 위치 값입니다. 도는 정수로, 회전수는 정수 또는 소수로 입력할 수 있습니다. |
단위 |
위치 단위: 도 또는 회전. |
그리고 기다리지 마세요 |
화살표( ▶ )를 선택하여 블록을 확장하면 기다리지 마세요라고 표시되고, 스택의 다음 블록이 즉시 실행됩니다. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v]를 위치 (1) [회전 v]로 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
모터 정지#
모터 정지 스택 블록은 선택된 모터를 정지시킵니다.
[IntakeMotor v] 정지
매개변수 |
설명 |
|---|---|
모터 |
정지시킬 모터: 흡기 모터 또는 팔 모터. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v]를 [위로 v] 방향으로 (1) [회전 v] 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
(1)초 기다리기
[IntakeMotor v] 정지
설정#
모터 속도 설정#
모터 속도 설정 스택 블록은 모터의 회전 속도를 지정합니다. 백분율이 높을수록 모터 회전 속도가 빨라지고, 백분율이 낮을수록 모터 회전 속도가 느려집니다.
모든 프로젝트는 기본적으로 각 모터가 50% 속도로 회전하는 상태에서 시작됩니다.
참고: 회전 속도가 높을수록 모터 회전 속도는 빨라지지만 정밀도가 떨어질 수 있습니다. 회전 속도가 낮을수록 모터 회전 속도는 느려지지만 정밀도가 높아질 수 있습니다.
[IntakeMotor v] 속도를 [50] [% v]로 설정
매개변수 |
설명 |
|---|---|
모터 |
속도를 설정하는 모터는 흡기 모터 또는 팔 모터입니다. |
속도 |
모터가 회전할 속도입니다. 퍼센트는 0%부터 100%까지의 정수를 사용합니다. |
단위 |
속도 단위: %. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v]를 [위로 v] 방향으로 (1) [회전 v] 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v] 속도를 [100] [% v]로 설정
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
모터 타임아웃 설정#
모터 타임아웃 설정 스택 블록은 모터가 동작을 완료하려고 시도하는 시간을 설정합니다. 모터가 설정된 시간 내에 동작을 완료하지 못하면 시도를 중단하고 스택의 다음 블록으로 넘어갑니다. 이는 모터가 특정 동작에서 멈추는 것을 방지합니다.
[ArmMotor v] 타임아웃을 [1]초로 설정
매개변수 |
설명 |
|---|---|
모터 |
타임아웃을 설정할 모터는 IntakeMotor 또는 ArmMotor입니다. |
시간 |
모터가 동작을 완료하려고 시도할 수 있는 시간(초)입니다. 정수 또는 소수일 수 있습니다. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v] 타임아웃을 [2]초로 설정
[ArmMotor v]를 [위로 v] 방향으로 (1) [회전 v] 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
위치#
모터 위치#
모터의 위치는 회전한 정도를 나타내며, 도 또는 회전 단위로 측정됩니다. 1 회전은 360도와 같습니다. 모터 위치 리포터 블록은 모터의 현재 위치를 보고합니다.
프로젝트 시작 시 모터 위치는 0도로 설정됩니다. 모터가 정방향으로 한 바퀴 완전히 회전하면 위치는 360도 또는 1회전이 됩니다. 모터가 반대 방향으로 회전하면 위치는 음수가 됩니다.
([ArmMotor v] 위치([도 v]))
매개변수 |
설명 |
|---|---|
모터 |
흡기 모터 또는 암 모터의 위치를 보고하는 모터입니다. |
단위 |
모터 위치를 보고하는 단위는 도 또는 회전입니다. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
<([ArmMotor v] 위치([도 v])) [math_less_than v] [360]> 동안
[ArmMotor v]를 [위로 v] 방향으로 회전
(0.002)초 기다리기
끝
[ArmMotor v] 정지
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
모터 위치 설정#
모터의 위치는 회전한 정도를 나타내며, 도 또는 회전 단위로 측정됩니다. 1회전은 360도와 같습니다. 모터 위치 설정 스택 블록은 모터의 현재 위치를 새로운 값으로 변경합니다.
예를 들어 모터가 180도 회전한 경우, 위치를 0도로 설정하면 해당 위치가 180도에서 0도로 재설정됩니다. 그러면 모터는 새로운 값에 따라 회전할 수 있습니다.
[ArmMotor v] 위치를 (0) [도 v]로 설정
매개변수 |
설명 |
|---|---|
모터 |
흡기 모터 또는 암 모터의 위치를 설정하는 모터입니다. |
위치 |
설정할 위치 값입니다. 도는 정수를 사용합니다. 회전은 정수 또는 소수를 사용할 수 있습니다. |
단위 |
위치 단위: 도 또는 회전. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v] 위치를 [0] [도 v]로 설정
[ArmMotor v]를 [위로 v] 방향으로 (1) [회전 v] 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
값#
모터 작업이 완료되었습니다#
모터 작동 완료 불리언 블록은 모터의 움직임이 완료되었는지 여부를 나타냅니다. 이 블록을 사용하여 모터의 움직임에 따라 다른 동작의 타이밍을 제어할 수 있습니다.
참 — 모터가 회전을 멈췄습니다.
틀렸습니다 — 모터는 여전히 회전하고 있습니다.
이 블록은 and don’t wait 매개변수를 가진 다음 모션 블록과 함께 작동합니다: spin motor for 및 spin motor to position.
<[ArmMotor v] 완료?>
매개변수 |
설명 |
|---|---|
모터 |
모터가 움직임이 완료되었는지 여부를 보고하려면 IntakeMotor 또는 ArmMotor를 사용하십시오. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v]를 위치 (1) [회전 v]로 회전 ◀ 및 기다리지 않음
<[ArmMotor v] 완료?>까지 기다리기
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
모터가 회전하고 있습니다#
모터 회전 중 불리언 블록은 모터가 회전하고 있는지 여부를 반환합니다. 이 블록을 사용하여 모터의 움직임에 따라 다른 동작의 타이밍을 제어할 수 있습니다.
참 — 모터가 회전하고 있습니다.
틀렸습니다 — 모터가 회전하지 않습니다.
이 블록은 and don’t wait 매개변수를 가진 다음 모션 블록과 함께 작동합니다: spin motor for 및 spin motor to position.
<[IntakeMotor v] 회전 중?>
매개변수 |
설명 |
|---|---|
모터 |
모터가 회전하는지 여부를 보고할 대상은 IntakeMotor 또는 ArmMotor입니다. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v]를 [위로 v] 방향으로 (1) [회전 v] 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
<<[IntakeMotor v] 회전 중?> 아님>까지 기다리기
[IntakeMotor v] 정지
모터 속도#
모터 속도 리포터 블록은 모터가 회전하는 속도를 -100%에서 100%까지의 백분율로 표시합니다.
([IntakeMotor v] 속도([% v]) :: custom-motion)
매개변수 |
설명 |
|---|---|
모터 |
보고할 모터는 흡기 모터 또는 팔 모터입니다. |
단위 |
모터 속도를 표시할 단위는 %입니다. |
예
시작 시
[Score a Bean Bag in a Blue Goal.]
[왼쪽 v] 방향으로 (90)도 회전 ▶
[앞으로 v] 방향으로 (35) [인치 v] 주행 ▶
[오른쪽 v] 방향으로 (90)도 회전 ▶
[ArmMotor v]를 [위로 v] 방향으로 (1) [회전 v] 회전 ▶
[앞으로 v] 방향으로 (40) [인치 v] 주행 ▶
[IntakeMotor v]를 [아웃테이크 v] 방향으로 회전
[0.2]초 기다리기
([IntakeMotor v] 속도([% v]) :: custom-motion) 출력 ▶
AI 비전#
행위#
객체 데이터를 가져옵니다.#
객체 데이터 가져오기 블록은 IQ AI 비전 센서 프레임에서 데이터를 필터링하여 단일 시그니처(센서가 인식할 수 있는 사물에 대한 저장된 설명으로, 경기장의 게임 요소 등)를 추출합니다.
데이터셋은 인덱스 0부터 시작하여 너비가 큰 순서부터 작은 순서로 정렬된 객체를 저장합니다. 각 객체의 속성은 객체 속성 블록을 사용하여 접근할 수 있습니다. 일치하는 객체가 감지되지 않으면 빈 데이터셋이 반환됩니다.
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
매개변수 |
설명 |
|---|---|
서명 |
지정된 서명에 해당하는 데이터만 포함하도록 데이터셋을 필터링합니다. 사용 가능한 서명은 다음과 같습니다:
|
예
시작 시 :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Find and face the nearest red Bean Bag.]
회전 속도를 (30) [% v]로 설정
[object_counter v]를 [1]로 설정
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
([AIVision v] 객체 수)번 반복
[AIVision v] 객체 항목을 (object_counter)로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
if <([AIVision v] 객체 [centerX v]) < (140)> then
[왼쪽 v] 방향으로 회전
else if <([AIVision v] object [centerX v]) > (180)> then
[오른쪽 v] 방향으로 회전
아니면
주행 정지
끝
중단
끝
[object_counter v]을(를) [1]만큼 변경
끝
설정#
객체 항목 설정#
객체 항목 설정 블록은 데이터 세트에서 사용할 항목을 설정합니다.
[AIVision v] 객체 항목을 [1]로 설정
매개변수 |
설명 |
|---|---|
목 |
사용할 데이터 세트 내 항목 번호입니다. |
예
시작 시 :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Find the index of the nearest red Bean Bag.]
[object_counter v]를 [1]로 설정
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
([AIVision v] 객체 수)번 반복
[AIVision v] 객체 항목을 (object_counter)로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
([Nearest Red Bean Bag is ] (object_counter) 합치기) 출력 ▶
중단
아니면
[object_counter v]을(를) [1]만큼 변경
끝
끝
값#
객체가 존재합니다#
객체 존재 여부 블록은 데이터 세트에서 객체가 감지되었는지 여부를 나타내는 부울 값을 반환합니다.
True - 데이터 세트에 감지된 객체가 포함되어 있습니다.
거짓 - 데이터 세트에는 감지된 객체가 포함되어 있지 않습니다.
<[AIVision v] 객체가 있나요?>
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
시작 시 :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Turn until a Bean Bag is detected.]
회전 속도를 (30) [% v]로 설정
[오른쪽 v] 방향으로 회전
<[AIVision v] 객체가 있나요?>까지 반복
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
끝
주행 정지
객체는#
**object is** 블록은 감지된 객체가 특정 분류와 일치하는지 여부를 나타내는 부울 값을 반환합니다.
맞습니다. 데이터 세트의 항목은 특정 객체입니다.
거짓 - 데이터 세트의 항목은 특정 객체가 아닙니다.
<[AIVision v] 객체가 [RedBeanBag v]인가요?>
매개변수 |
설명 |
|---|---|
물체 |
어떤 물건과 비교할 것입니까? 빨간색 빈백, 파란색 빈백, 또는 노란색 빈백. |
예
시작 시 :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Find the index of the nearest red Bean Bag.]
[object_counter v]를 [1]로 설정
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
([AIVision v] 객체 수)번 반복
[AIVision v] 객체 항목을 (object_counter)로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
([Nearest Red Bean Bag is ] (object_counter) 합치기) 출력 ▶
중단
아니면
[object_counter v]을(를) [1]만큼 변경
끝
끝
객체는 AprilTag입니다.#
object is AprilTag 블록은 감지된 객체가 특정 ID와 일치하는 AprilTag인지 여부를 나타내는 부울 값을 반환합니다.
True - 감지된 객체는 지정된 ID를 가진 AprilTag입니다.
거짓 - 감지된 객체는 지정된 ID를 가진 AprilTag가 아닙니다.
<[AIVision v] 객체가 AprilTag [0]인가요?>
매개변수 |
설명 |
|---|---|
AprilTag ID |
감지된 AprilTag와 비교할 ID 번호입니다. |
예
시작 시 :: hat events
[Stop when you see the Red Goal!]
회전 속도를 (30) [% v]로 설정
[오른쪽 v] 방향으로 회전
<[AIVision v] 객체가 AprilTag [1]인가요?>까지 반복
[AIVision v]에서 [AprilTags v] 데이터 가져오기
끝
주행 정지
[Found the Red Goal!] 출력 ▶
객체 개수#
객체 개수 블록은 데이터 세트에서 감지된 객체의 수를 정수로 반환합니다.
([AIVision v] 객체 수)
매개변수 |
설명 |
|---|---|
이 블록에는 매개변수가 없습니다. |
예
시작 시 :: hat events
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Print how many Bean Bags are detected.]
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
([AIVision v] 객체 수) 출력 ▶
객체 속성#
객체 데이터 가져오기 블록을 사용한 후 저장된 각 객체에는 6개의 속성이 포함됩니다.
([AIVision v] 객체 [너비 v])
모든 속성 값은 객체 데이터 가져오기 블록이 사용된 순간 IQ AI 비전 센서의 시야에서 감지된 객체의 위치와 크기를 나타냅니다. 이러한 값은 센서의 320 x 240 픽셀 해상도를 기준으로 픽셀 단위로 측정됩니다.
매개변수 |
설명 |
|---|---|
재산 |
감지된 객체의 속성 중 어떤 것을 사용할 것입니까? 너비, 높이, 중심점(X축), 중심점(Y축), 원점(X축) 또는 원점(Y축). |
너비#
width 속성은 감지된 객체의 너비를 픽셀 단위로 1부터 320까지의 정수로 나타냅니다.
([AIVision v] 객체 [너비 v])
예
시작 시
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Approach the Bean Bag, then pick it up.]
주행 속도를 (30) [% v]로 설정
무한 반복
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
<[AIVision v] 객체가 있나요?>이면
[AIVision v] 객체 항목을 [1]로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
if <([AIVision v] object [width v]) > (180)> then
[앞으로 v] 방향으로 [50] [mm v] 주행 ▶
[IntakeMotor v]를 [섭취 v] 방향으로 [90] [도 v] 회전 ▶
중단
아니면
[앞으로 v] 방향으로 주행
끝
끝
끝
끝
키#
height 속성은 감지된 객체의 높이를 픽셀 단위로 1부터 240까지의 정수로 보고합니다.
([AIVision v] 객체 [높이 v])
예
시작 시
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Approach the Bean Bag, then pick it up.]
주행 속도를 (30) [% v]로 설정
무한 반복
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
<[AIVision v] 객체가 있나요?>이면
[AIVision v] 객체 항목을 [1]로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
if <([AIVision v] object [height v]) > (100)> then
[앞으로 v] 방향으로 [50] [mm v] 주행 ▶
[IntakeMotor v]를 [섭취 v] 방향으로 [90] [도 v] 회전 ▶
중단
아니면
[앞으로 v] 방향으로 주행
끝
끝
끝
끝
센터엑스#
centerX 속성은 감지된 객체의 중심의 x 좌표를 픽셀 단위로 0에서 320 사이의 정수로 나타냅니다.
([AIVision v] 객체 [centerX v])
예
시작 시
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Steer to keep the Bean Bag centered while approaching.]
회전 속도를 (30) [% v]로 설정
주행 속도를 (30) [% v]로 설정
무한 반복
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
<[AIVision v] 객체가 있나요?>이면
[AIVision v] 객체 항목을 [1]로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
if <([AIVision v] 객체 [centerX v]) < (140)> then
[왼쪽 v] 방향으로 (5)도 회전 ▶
아니면
[앞으로 v] 방향으로 (150) [mm v] 주행 ▶
[IntakeMotor v]를 [섭취 v] 방향으로 회전
중단
끝
끝
끝
끝
센터Y#
centerY 속성은 감지된 객체의 중심의 y 좌표를 픽셀 단위로 0에서 240 사이의 정수로 나타냅니다.
([AIVision v] 객체 [centerY v])
예
시작 시
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Print the y-position of the Bean Bag.]
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
<[AIVision v] 객체가 있나요?>이면
[AIVision v] 객체 항목을 [1]로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
([AIVision v] 객체 [centerY v]) 출력 ▶
끝
끝
오리진엑스#
originX 속성은 감지된 객체의 경계 상자 왼쪽 상단 모서리의 x 좌표를 픽셀 단위로 0에서 320 사이의 정수로 나타냅니다.
([AIVision v] 객체 [originX v])
예
시작 시
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Steer to keep the left edge centered.]
회전 속도를 (30) [% v]로 설정
주행 속도를 (30) [% v]로 설정
무한 반복
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
<[AIVision v] 객체가 있나요?>이면
[AIVision v] 객체 항목을 [1]로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
if <([AIVision v] 객체 [originX v]) < (100)> then
[왼쪽 v] 방향으로 (5)도 회전 ▶
아니면
[앞으로 v] 방향으로 (150) [mm v] 주행 ▶
[IntakeMotor v]를 [섭취 v] 방향으로 회전
중단
끝
끝
끝
끝
기원#
originY 속성은 감지된 객체의 경계 상자의 왼쪽 상단 모서리의 y 좌표를 픽셀 단위로 0에서 240 사이의 정수로 나타냅니다.
([AIVision v] 객체 [originY v])
예
시작 시
[Drop the preloaded Bean Bag.]
[IntakeMotor v]를 [아웃테이크 v] 방향으로 (180) [도 v] 회전 ▶
[왼쪽 v] 방향으로 (90)도 회전 ▶
[Print the y-position of the Bean Bag's top edge.]
[AIVision v]에서 [AI 분류 v] 데이터 가져오기
<[AIVision v] 객체가 있나요?>이면
[AIVision v] 객체 항목을 [1]로 설정
<[AIVision v] 객체가 [RedBeanBag v]인가요?>이면
([AIVision v] 객체 [originY v]) 출력 ▶
끝
끝