VEXcode V5 블록에서 AI 비전 센서로 코딩

블록과 함께 사용할 수 있도록 AI 비전 센서에 색상 시그니처색상 코드 이 구성되어 있는지 확인하세요. 구성 방법에 대해 자세히 알아보려면 아래 문서를 읽어보세요.

AI 비전 센서는 AI 분류와 AprilTags도 감지할 수 있습니다. 이러한 감지 모드를 활성화하는 방법을 알아보려면 여기를 방문하세요.

이러한 개별 블록에 대한 자세한 내용과 VEXcode에서 이를 사용하는 방법을 알아보려면 API 사이트로 이동하세요.


스냅샷 찍기

V5 AI 비전 센서를 설명하는 다이어그램으로, 카메라 배치와 센서 기능을 포함하여 로봇 공학 맥락에서 구성 요소와 기능을 보여줍니다.

스냅샷 찍기 블록은 AI 비전 센서가 현재 보고 있는 것의 사진을 찍고 해당 스냅샷에서 프로젝트에 사용할 수 있는 데이터를 가져옵니다. 스냅샷을 찍을 때 AI Vision Sensor가 어떤 유형의 개체에 대한 데이터를 수집해야 하는지 지정해야 합니다.

  • 컬러 시그니처
  • 색상 코드
  • AI 분류
  • 4월태그

스냅샷을 찍으면 지정한 모든 감지된 객체의 배열이 생성됩니다. 예를 들어, "빨간색"색상 시그니처을 감지하려고 하고 AI 비전 센서가 3개의 서로 다른 빨간색 물체를 감지한 경우 3개의 모든 데이터가 배열에 저장됩니다.

서로 다른 물체를 지정하는 방법에 대한 자세한 내용은 이 문서의 "개체 항목 설정" 섹션을 참조하세요.

객체나 색상의 스냅샷을 찍는 명령이 담긴 밝은 파란색 코딩 블록입니다. 드롭다운 옵션은 두 가지가 있습니다. 하나는 AIVision2로 표시되어 있고 다른 하나는 Blue로 표시되어 있습니다. 이 블록은 블록 기반 코딩 환경에서 사용하도록 설계되었으며, AI Vision 센서에서 스냅샷을 캡처하고 파란색으로 정의된 객체나 색상을 추적합니다. 블록은 모듈식 블록을 사용하는 코딩 인터페이스에서 일반적으로 나타나는 약간의 곡선을 가지고 있습니다.

이 예에서는 구성된 "파란색" 색상 서명 과 일치하는 개체만 감지하고 다른 개체는 감지하지 않습니다.

스냅샷에서 가져온 데이터

AI 비전 센서는 이후에 나오는 모든 블록에 마지막으로 찍은 스냅샷을 사용한다는 점을 명심하세요. AI 비전 센서에서 항상 최신 정보를 받으려면 데이터를 가져올 때마다 스냅샷을 다시 찍으세요. 

너비와 높이

이는 감지된 객체의 너비나 높이를 픽셀 단위로 나타낸 것입니다.

이 그림은 파란색 버키볼을 흰색 사각형 윤곽선이 따라가는 모습을 보여줍니다. 왼쪽 상단 모서리에는 파란색 물체임을 나타내는 라벨이 있는데, 좌표는 X:176, Y:117, 크기는 W:80, H:78입니다. 빨간색 화살표는 객체의 너비와 높이를 강조 표시합니다.

너비와 높이의 측정은 다양한 물체를 식별하는 데 도움이 됩니다. 예를 들어, 버키볼은 링보다 높이가 더 큽니다.

시각적 인식 시스템에 의해 추적되는 두 개의 파란색 입방체 물체. 위쪽 큐브에는 흰색 윤곽이 있고 위치가 X:215, Y:70, 치수가 W:73, H:84로 표시된 라벨이 있습니다. 아래쪽 큐브도 비슷한 흰색 윤곽을 띠고 있으며 라벨에는 X:188, Y:184, 치수는 W:144, H:113이 표시되어 있습니다. 각 큐브에는 중앙에 흰색 십자가가 있는데, 아마도 추적의 초점을 나타내는 것 같습니다. 라벨은 각 개체의 측정값과 추적 데이터를 강조 표시합니다.

너비와 높이는 AI 비전 센서로부터 물체까지의 거리를 나타냅니다. 일반적으로 측정값이 작을수록 물체가 멀리 있다는 것을 의미하고, 측정값이 클수록 물체가 가까이 있다는 것을 의미합니다.

프로그램은 시작 시 블록으로 시작하고, 그 뒤에 무한 반복 루프가 이어집니다. 루프 내부에서 프로그램은 AI Vision 센서(AIVision1)를 사용하여 파란색 물체를 감지하기 위해 스냅샷을 찍습니다. 객체가 존재하면 프로그램은 객체의 너비가 250픽셀보다 작은지 확인합니다. 참이면 로봇이 전진합니다. 그렇지 않으면 운전을 멈춥니다. 블록은 서로 쌓여서 모듈식 코딩 환경에서 프로그램의 흐름을 나타냅니다.

이 예에서는 객체의 너비가 탐색에 사용됩니다. 로봇은 물체의 너비가 특정 크기에 도달할 때까지 물체에 접근한 후 멈춥니다.

CenterX와 Center Y

이는 감지된 객체의 중심 좌표를 픽셀 단위로 나타낸 것입니다.

컴퓨터 비전 시스템이 파란색 버키볼을 추적하고 있습니다. 물체는 흰색 사각형으로 윤곽이 그려져 있으며, 윤곽선 안에는 중앙에 흰색 십자가를 둘러싼 작은 빨간색 사각형이 있습니다. 이미지의 왼쪽 상단 모서리에 있는 라벨은 해당 물체가 파란색임을 나타내며, 좌표는 X:176, Y:117, 치수는 W:80, H:78입니다.

CenterX 및 CenterY 좌표는 탐색 및 위치 지정에 도움이 됩니다. AI 비전 센서의 해상도는 320 x 240픽셀입니다.

비전 시스템에 의해 추적되는 두 개의 파란색 입방체 개체. 위쪽 물체에는 좌표 X:215, Y:70, 치수 W:73, H:84가 표시되어 있고, 흰색 윤곽선과 중앙에 흰색 십자가가 있습니다. 아래쪽 물체에는 좌표 X:188, Y:184, 치수 W:144, H:113이 표시되어 있으며 역시 흰색 테두리와 중앙에 흰색 십자가가 그려져 있습니다.

AI 비전 센서에 가까운 객체는 먼 객체보다 CenterY 좌표가 낮은 것을 확인할 수 있습니다.

시작 시점부터 무한 반복으로 이어지는 블록 기반 코딩 시퀀스입니다. 루프 내부에서 프로그램은 AIVision1을 사용하여 스냅샷을 찍어 파란색 물체를 감지합니다. 물체가 존재하면 프로그램은 해당 물체가 AI Vision 센서의 시야 중앙에 위치할 때까지 회전합니다. 객체의 centerX 값이 150과 170 사이이면 해당 객체가 중앙에 있는 것으로 간주됩니다. 물체가 중앙에 없으면 로봇은 오른쪽으로 회전하고, 그렇지 않으면 주행을 멈춥니다. 블록은 시각적 프로그램의 흐름과 논리를 나타냅니다.

이 예에서 AI Vision Sensor의 시야 중심이 (160, 120)이므로 로봇은 감지된 객체의 centerX 좌표가 150픽셀보다 크고 170픽셀보다 작을 때까지 오른쪽으로 회전합니다.

각도

V5 AI 비전 센서의 기능과 구성 요소를 설명하는 다이어그램으로, 센서 레이아웃, 연결 옵션, 로봇 응용 분야에서의 사용법 등이 포함되어 있습니다.

Angle은색상 코드AprilTags에만 사용할 수 있는 속성입니다. 이는 감지된색상 코드또는 AprilTag 가 다르게 방향이 지정되어 있는지 여부를 나타냅니다.

위쪽은 녹색이고 아래쪽은 파란색인 두 개의 큐브가 쌓여서 비전 시스템에 의해 추적되고 있습니다. 두 개의 큐브를 둘러싼 것은 흰색 윤곽선이며, 녹색 큐브의 중앙에는 흰색 십자가가 있습니다. 이미지 하단의 라벨에는 감지된 색상과 각도 측정값을 나타내는 Green_Blue A:87°가 표시됩니다. 그 아래에는 좌표가 X:117, Y:186으로 나열되어 있고, 치수는 W:137, H:172로 프레임 내에서 쌓인 큐브의 위치와 크기를 나타냅니다.

로봇이색상 코드 또는AprilTag 에 따라 다르게 방향이 지정되어 있는지 확인하고 그에 따라 탐색 결정을 내릴 수 있습니다.

녹색과 파란색의 두 개의 큐브가 나란히 배치되어 비전 시스템으로 추적됩니다. 두 개의 큐브를 둘러싼 흰색 윤곽선이 있고, 중앙에는 흰색 십자가가 있습니다. 왼쪽 상단 라벨은 감지된 색상과 각도 측정을 참조하는 Green_Blue A:0°를 나타냅니다. 그 아래에는 좌표가 X:150, Y:102로 표시되어 있고, 크기는 W:179, H:109로 프레임 내 큐브의 위치와 크기를 나타냅니다.

예를 들어,색상 코드 이 적절한 각도에서 감지되지 않으면 해당 물체를 로봇이 제대로 집어 올리지 못할 수 있습니다.

OriginX 및 OriginY

OriginX와 OriginY는 감지된 객체의 왼쪽 상단 모서리의 좌표(픽셀)입니다.

비전 시스템에 의해 추적되는 파란색 버키볼. 객체 주변에는 흰색 윤곽선이 있고, 윤곽선 안에 중앙에 흰색 십자가가 있습니다. 왼쪽 상단 라벨은 객체의 색상을 파란색으로 표시하고, 좌표는 X:176, Y:117, 치수는 W:80, H:78입니다. 작은 빨간색 사각형은 객체의 왼쪽 상단 모서리를 강조 표시합니다.

OriginX 및 OriginY 좌표는 탐색 및 위치 지정에 도움이 됩니다. 이 좌표를 객체의 너비와 높이와 결합하면 객체의 경계 상자 크기를 결정할 수 있습니다. 이는 움직이는 객체를 추적하거나 객체 간을 탐색하는 데 도움이 될 수 있습니다.

시작 시점부터 무한 반복으로 이어지는 블록 기반 코딩 시퀀스입니다. 루프 내부에서 프로그램은 AIVision1을 사용하여 스냅샷을 찍어 파란색 물체를 감지합니다. 객체가 존재한다면, 프로그램은 객체의 위치와 크기를 기반으로 Brain 화면에 사각형을 그립니다. 사각형은 AIVision1 센서가 제공하는 객체의 originX, originY, 너비, 높이 값을 사용하여 그려집니다. 이 프로그램은 Brain 화면에서 감지된 객체를 시각적으로 추적하고 강조 표시합니다.

이 예에서는 원점, 너비, 높이의 정확한 좌표를 사용하여 Brain에 사각형이 그려집니다.

태그ID

태그ID는AprilTags에만 사용 가능합니다. 이는 지정된AprilTag에 대한 ID 번호입니다.

4월 태그가 적힌 세 장의 정사각형 카드를 비전 시스템으로 추적합니다. 각 카드에는 ID 번호와 관련 추적 데이터가 표시되어 있습니다. 왼쪽의 카드에는 ID:0이라는 라벨이 붙어 있고, 좌표 A:350°, X:110, Y:96, W:41, H:41을 보여줍니다. ID:3이라고 표시된 가운데 카드의 좌표는 A:1°, X:187, Y:180, W:57, H:57입니다. 오른쪽 카드에는 ID:9, 좌표 A:3°, X:237, Y:89, W:38, H:38이 적혀 있습니다. 각 카드에는 흰색 윤곽선이 있으며, 시스템은 카드의 위치와 방향을 추적합니다.

특정 AprilTags 식별하면 선택적 탐색이 가능합니다. 로봇이 다른 태그를 무시하고 특정 태그를 향해 이동하도록 프로그래밍할 수 있으며, 이를 자동 탐색을 위한 표지판으로 효과적으로 활용할 수 있습니다.

점수

점수 속성은 AI 비전 센서로AI 분류 감지할 때 사용됩니다.

이 그림은 비전 시스템이 4개의 물체를 추적하는 모습을 보여줍니다. 공 두 개와 반지 두 개입니다. 빨간 공에는 좌표 X:122, Y:84, W:67, H:66이 표시되어 있고 점수는 99%입니다. 파란색 공의 점수는 99%이며 X:228, Y:86, W:70, H:68입니다. 녹색 링의 좌표는 X:109, Y:186, W:98, H:92이고 점수는 99%입니다. 붉은색 링은 X:259, Y:187, W:89, H:91로 표시되어 있으며 점수는 99%입니다. 각 개체는 추적 정확도를 나타내는 흰색 윤곽이 표시됩니다.

신뢰도 점수는 AI 비전 센서가 감지에 얼마나 확신하는지를 나타냅니다. 이 이미지에서는 이 네 가지 객체의 AI 분류를 식별하는 데 99%의 확신도를 보입니다. 이 점수를 사용하면 로봇이 신뢰도 높은 감지에만 집중하도록 할 수 있습니다.


개체 항목 설정

AI 비전 센서가 물체를 감지하면 해당 물체를 배열에 넣습니다. 기본적으로 AI Vision Sensor는 배열의 첫 번째 객체 또는 인덱스가 1인 객체에서 데이터를 가져옵니다. AI Vision Sensor가 하나의 객체만 감지한 경우 기본적으로 해당 객체가 선택됩니다.

그러나 AI Vision Sensor가 한 번에 여러 객체를 감지한 경우객체 항목 설정 블록을 사용하여 데이터를 가져올 객체를 지정해야 합니다.

연한 파란색 코딩 블록. 여기에는 AIVision1의 개체 항목을 1로 설정하는 명령이 포함되어 있습니다. 이 블록은 블록 기반 코딩 환경의 일부로, 일반적으로 AI Vision 센서가 어떤 객체나 항목에 초점을 맞추거나 추적해야 하는지 정의하는 데 사용됩니다. 블록의 모양은 약간 곡선이어서 시각적 코딩 플랫폼의 모듈식 특성에 잘 맞습니다.

AI 비전 센서가 여러 개의 물체를 감지하는 경우, 가장 큰 물체부터 가장 작은 물체까지 배열합니다. 즉, 감지된 가장 큰 객체는 항상 객체 인덱스 1에 설정되고, 가장 작은 객체는 항상 가장 높은 숫자에 설정됩니다.

왼쪽에 두 개의 파란색 큐브가 감지된 AI Vision Utility 인터페이스에는 각 큐브의 X, Y 좌표와 크기가 표시되어 있습니다. 시스템이 연결되었고, AprilTags가 켜져 있고, AI 분류는 꺼져 있습니다. 오른쪽에는 파란색 설정이 표시되어 있으며, 조정 가능한 색조와 채도 범위는 각각 22와 0.34로 설정되어 있습니다. 색상을 추가하거나 설정하고 비디오를 정지하는 옵션이 있습니다. 펌웨어는 최신 버전 1.0.0.b16으로 업데이트되었으며, 하단에 닫기 버튼이 있습니다.

이 예에서는색상 특징 "파란색"을 갖는 두 개의 객체가 감지되었습니다. 스냅샷 찍기 블록을 사용하면 둘 다 배열에 배치됩니다.

AI Vision Utility 인터페이스는 X, Y 및 차원 데이터로 표시된 두 개의 파란색 큐브를 추적합니다. 왼쪽 큐브의 좌표는 X:127, Y:179이고, 치수는 W:136, H:123이며, 오른쪽 큐브의 좌표는 X:233, Y:74이고, 치수는 W:78, H:87입니다. 시스템은 연결되었고, AprilTags는 켜져 있으며, AI 분류는 꺼져 있습니다. 파란색 설정의 색조 범위는 22이고 채도는 0.34입니다. 하단에 비디오 정지 버튼과 펌웨어 정보(버전 1.0.0.b16)가 표시됩니다.

여기서, 가장 앞에 있는 객체는 가장 큰 객체이므로 객체 인덱스 1이 되고, 가장 작은 객체는 객체 인덱스 2가 됩니다.


객체가 존재합니다

스냅샷에서 데이터를 가져오기 전에, AI Vision Sensor가 해당 스냅샷에서 객체를 감지했는지 것이 중요합니다. 여기서Object Exists 블록이 작용합니다.

AIVision1이라는 텍스트가 있는 밝은 파란색 육각형 코딩 블록이 존재합니까? 이 블록은 블록 기반 코딩 환경의 일부로, 일반적으로 AIVision1이라는 레이블이 붙은 AI Vision 센서가 객체를 감지했는지 확인하는 데 사용됩니다. 블록은 이러한 환경에 적합한 약간의 곡선과 모양을 갖추고 있어 모듈형 코딩 구조에 맞게 설계되었습니다.

이 블록은 마지막으로 찍은 스냅샷에 개체가 감지되었는지 여부에 대해True 또는False 값을 반환합니다.

이 블록은 잠재적으로 비어 있는 스냅샷에서 데이터를 가져오려고 하지 않는지 확인하는 데 합니다.

시작 시점부터 무한 반복되는 루프가 이어지는 블록 기반 코딩 시퀀스입니다. 루프 내부에서 AI Vision 센서(AIVision2)는 스냅샷을 찍어 파란색을 감지합니다. 파란색 시각적 특징이 있는 물체가 감지되면 로봇이 앞으로 나아갑니다. 물체가 감지되지 않으면 로봇은 운전을 멈춥니다. 블록은 프로그램의 조건 논리를 나타내기 위해 쌓였으며, 감지된 물체의 존재에 따라 로봇의 움직임이 제어됩니다.

예를 들어, 여기서 로봇은 AI 비전 센서를 이용해 끊임없이 스냅샷을 찍습니다. "파란색" 색상 시그니처으로 개체 0개 중 식별하면 앞으로 주행합니다.


스냅샷에 "파란색" 색상 시그니처이 없으면 로봇은 움직임을 멈춥니다.


개체 수

AIVision1 객체 수라는 라벨이 붙은 밝은 파란색의 둥근 코딩 블록입니다. 이 블록은 블록 기반 코딩 환경에서 AI Vision 센서가 감지한 AIVision1이라는 객체의 수를 검색하는 데 사용됩니다. 이 블록은 로봇공학이나 비전 시스템의 시각적 프로그래밍 인터페이스에 일반적으로 사용되는 모듈형 구조에 적합합니다.

개체 수 블록을 사용하면 AI 비전 센서가 마지막 스냅샷에서 볼 수 있는 특정 색상 시그니처 개체 수를 확인할 수 있습니다. 

왼쪽에 파란색 큐브 두 개가 감지된 AI Vision Utility 인터페이스입니다. 시스템은 연결되었으며 AprilTags가 활성화되어 있고 AI 분류가 꺼져 있습니다. 인터페이스는 파란색을 감지하기 위한 설정을 표시하며, 색조는 22, 채도는 0.34로 설정됩니다. 비디오를 정지하고 색상을 추가하거나 설정하는 버튼이 있습니다. 펌웨어는 최신 버전 1.0.0.b16으로 표시됩니다. 연결을 끊거나 유틸리티를 닫는 버튼도 있습니다.

여기서 AI 비전 센서는 색상 시그니처 "파란색"으로 구성되어 있으며 두 개의 객체를 감지하고 있습니다.

언제 시작했는지로 시작하는 블록 기반 코딩 시퀀스가 있으며, 그 뒤에는 영원히 반복되는 루프가 이어집니다. 루프 내부에서 프로그램은 AIVision2를 사용하여 스냅샷을 찍어 파란색 시각적 특징을 감지합니다. 파란색 물체가 감지되는지 확인하기 전에 콘솔을 지우고 재설정합니다. 파란색 객체가 있으면 객체 수가 콘솔에 출력됩니다. 그런 다음 프로그램은 프로세스를 반복하기 전에 2초 동안 기다립니다. 블록은 파란색 개체에 대한 지속적인 확인을 시각적으로 표현하며, 콘솔에 결과를 표시합니다.V5 AI 비전 센서를 설명하는 다이어그램으로, V5 로봇 시스템 내의 구성 요소와 기능을 보여주고, 향상된 시각 처리 및 객체 감지를 위한 주요 기능을 강조합니다.

이 코드에서 AI Vision 센서는 스냅샷을 찍고 VEXcode 콘솔에 "2"를 인쇄합니다. 왜냐하면 두 개의 "파란색" 색상 서명만 감지하기 때문입니다.


물체

AIVision1과 관련된 개체 속성을 선택하기 위한 드롭다운 메뉴입니다. 선택된 옵션은 너비이고, 메뉴에는 높이, centerX, centerY, 각도, originX, originY, tagID, 점수 등의 다른 옵션이 나열됩니다. 이러한 옵션을 사용하면 사용자는 AI Vision 센서가 감지한 객체로부터 특정 데이터 포인트를 검색할 수 있어 객체의 다양한 속성을 추적하거나 측정하는 데 유연성을 제공합니다.

개체 블록을 사용하면 지정된 개체의 속성을 보고할 수 있습니다. 이렇게 하면 가장 최근에 찍은 스냅샷에서 가져온 사용 가능한 데이터를 사용할 수 있습니다.

촬영한 스냅샷에서 가져올 수 있는 개체 속성은 다음과 같습니다.

  • 너비
  • 센터X
  • 센터Y
  • 각도
  • 원점X
  • 기원Y
  • 태그ID
  • 점수

이러한 속성에 대한 자세한 내용은 이 기사의 "스냅샷에서 가져온 데이터" 섹션을 읽어보세요.


감지된 AprilTag는 다음과 같습니다.

코딩 인터페이스의 밝은 파란색 육각형 블록입니다. 여기에는 AIVision1이 감지한 AprilTag가 값 1과 일치하는지 확인하는 명령이 포함되어 있습니다. 이 블록은 블록 기반 코딩 환경에서 사용되며 특정 AprilTag가 있는지 평가하도록 설계되었습니다. 모양과 구조로 인해 다른 논리 블록과도 잘 들어맞으며, 일반적으로 로봇 공학이나 AI 비전 작업을 위한 시각적 프로그래밍에 사용됩니다.

AprilTag가 감지됨 블록은AprilTag 감지 모드 켜져 있을 때만 사용할 수 있습니다.

이 블록은 지정된 객체가 특정 AprilTag인지 여부에 따라 True 또는 False를 보고합니다.

비전 시스템이 3개의 AprilTag를 추적하고 있습니다. 각 태그에는 ID와 관련 좌표가 있습니다. 왼쪽 태그는 ID:0으로 표시되어 있고, 좌표는 X:110, Y:96, W:41, H:41입니다. 중앙 태그에는 ID:3이라는 라벨이 지정되어 있으며, 좌표는 X:187, Y:180, W:57, H:57입니다. 오른쪽 태그에는 ID:9가 표시되어 있고, 좌표는 X:237, Y:89, W:38, H:38입니다.

단일 스냅샷에서 여러 AprilTag가 감지되는 경우 크기가 아닌 식별된 ID를 기준으로 배열에 정렬됩니다.

이 이미지에서는 ID가 0, 3, 9인 AprilTag 세 개가 감지되었습니다. 배열에서 ID의 오름차순으로 정렬됩니다. 인덱스 1에 있는 객체는 ID 0을 가진 AprilTag에 대응되고, 인덱스 2에 있는 객체는 ID 3을 가진 AprilTag에 대응되고, 인덱스 3에 있는 객체는 ID 9를 가진 AprilTag에 대응됩니다.

AprilTags가 무엇이고 AI Vision Sensor로 이를 감지하는 방법을 자세히 알아보려면 이 문서를 읽어보세요.


AI 분류는

블록 기반 코딩 환경의 밝은 파란색 육각형 블록입니다. 블록에는 AIVision1 AI 분류가 BlueBall입니까?라는 명령이 포함되어 있습니다. 이 블록은 AI Vision 센서(AIVision1)가 감지된 객체를 BlueBall로 분류했는지 여부를 확인합니다. 이 블록은 드롭다운 옵션을 제공하며, 이를 통해 사용자는 시각적 프로그래밍 인터페이스에서 추적 및 의사 결정 목적으로 다양한 객체나 AI 분류를 선택할 수 있습니다.

AI 분류 블록은AI 분류 감지 모드 켜져 있을 때만 사용할 수 있습니다.

 

이 블록은 지정된 객체가 특정 AI 분류인지 여부에 따라 True 또는 False를 보고합니다.

AI 비전 센서가 감지할 수 있는 AI 분류는 사용하는 모델에 따라 다릅니다. 사용 가능한 AI 분류에 대한 자세한 내용과 AI Vision Sensor로 해당 분류를 감지하는 방법에 대한 자세한 내용은 이 문서를 읽어보세요.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: