표준 인터페이스 명령어
Mech-Mind 비전 시스템은 로봇 측 프로그램에 6개의 표준 인터페이스 명령어 컴포넌트를 제공하며, 상세 내용은 아래 그림과 같습니다.
주의사항
네트워크 장치 설정
좌측 Components 목록에서 드래그하여 추가한 모든 명령어 컴포넌트(MM init 제외)는 다음 단계를 따라야 합니다. 각 컴포넌트 좌측 상단의 편집 아이콘을 클릭하고 Advanced 옵션을 선택하십시오. send 및 recv 속성을 가진 모든 네트워크 장치 항목을 찾아 MM init 컴포넌트가 생성한 네트워크 장치로 설정하여 모든 컴포넌트의 네트워크 장치가 일관되도록 해야 합니다.
아래 그림은 Run Vision의 run_vision_recv를 예로 들어 run_vision_recv의 네트워크 장치를 설정합니다.
컴포넌트 파라미터 값 수정하기
컴포넌트 명령어의 파라미터 값을 수정해야 할 경우, 다음 작업을 참고하십시오.
다음은 "Run Vision 컴포넌트 → Set_Recipe 파라미터 값 → g_mm_whether_set_recipe 파라미터"를 예로 들어 파라미터 값 수정 방법을 설명합니다.
-
mm_v201_runvis1을 선택한 다음 좌측 상단에 있는 편집 아이콘을 클릭하십시오.
-
Set_Recipe를 선택한 다음 편집 아이콘을 클릭하십시오.
-
Select 버튼을 클릭하십시오.
-
g_mm_whether_set_recipe를 선택한 다음 편집 아이콘을 클릭하십시오.
-
우측 구역에서 파라미터 값을 수정한 다음 OK 버튼을 클릭하십시오.
네트워크 연결(MM init)
이 컴포넌트는 IPC와 네트워크 연결을 설정하는 데 사용되므로 프로그램의 맨 앞에 배치해야 합니다.
구성 가능한 파라미터
여기를 참조하여 연결을 설정한 IPC의 IP 주소와 포트 번호를 수정하십시오.
Mech-Vision 프로젝트 실행하기 (Run Vision)
이 컴포넌트는 Mech-Vision 프로젝트에 사용되는 파라미터 레시피(없으면 이 작업을 건너뛰십시오)를 우선 설정하고 Mech-Vision 프로젝트 실행을 트리거합니다. 이후 비전 시스템에서 출력한 결과(비전 포인트)를 반환합니다.
구성 가능한 파라미터
-
config
-
g_mm_pose_type: 실제 로봇의 포즈 데이터가 Mech-Vision 프로젝트에 어떤 형식으로 전달될지를 지정합니다. 값은 0, 1, 또는 2 중 하나이며, 각 값에 대한 구체적인 설명은 아래 표와 같습니다.
g_mm_pose_type 설명 적용 시나리오 0
이 컴포넌트는 Mech-Vision 프로젝트로 로봇 포즈를 보낼 필요가 없습니다.
카메라가 Eye To Hand 방식으로 장착되는 경우 이 설정을 사용합니다.
1
이 컴포넌트는 현재 로봇의 관절 각도를 Mech-Vision 프로젝트에 입력합니다.
카메라는 Eye In Hand 방식으로 장착되는 경우 이 설정을 사용해야 합니다.
겐트리 로봇이 사용되는 시나리오를 제외한 대부분의 시나리오에서는 이 설정 사용을 권장합니다.
2
이 컴포넌트는 로봇의 현재 플랜지 포즈를 Mech-Vision 프로젝트로 전송합니다.
이 설정은 겐트리 로봇이 사용되는 시나리오에서 권장됩니다.
-
g_mm_point_number: 비전 포인트 수입니다.
비전 시스템이 한 번에 보낼 수 있는 기본 최대 비전 포인트 수는 20이므로 이 파라미터의 기본 최댓값은 20입니다. Mech-Vision 툴바의 에서 원하는 대로 max num of poses to send per time을 변경할 수 있으나 최대 30개로 제한되어 있습니다.
-
g_mm_project_ID: Mech-Vision 프로젝트 번호입니다.
Mech-Vision 프로젝트 번호(프로젝트 이름 앞의 숫자)는 Mech-Vision 프로젝트 리스트에서 확인할 수 있습니다.
-
-
Set_Recipe
-
g_mm_whether_set_recipe: 파라미터 레시피를 적용할지 여부입니다. true는 적용함, false는 적용하지 않음을 나타냅니다.
-
g_mm_recipe_ID: Mech-Vision 프로젝트 중 파라미터 레시피의 번호입니다.
-
Mech-Viz 프로젝트 실행하기 (Run Viz)
이 컴포넌트는 먼저 Mech-Viz 프로젝트를 실행한 후, 인덱스 유형 단계의 현재 인덱스 값을 설정합니다(프로젝트에서 현재 인덱스 값 설정이 필요 없는 경우 이 스텝은 생략 가능). 그다음 메시지 분기 출구를 지정합니다(프로젝트에 메시지 분기 스텝이 없는 경우 이 스텝은 생략 가능). 마지막으로 Mech-Viz 프로젝트가 계획한 이동 경로를 반환합니다.
구성 가능한 파라미터
-
Config
-
g_mm_runviz_pose_type: 실제 로봇의 포즈 데이터가 Mech-Viz 프로젝트에 어떤 형식으로 전달될지를 지정합니다. 값은 0 또는 1 중 하나이며, 각 값에 대한 구체적인 설명은 아래 표와 같습니다.
g_mm_runviz_pose_type 설명 적용 시나리오 0
이 컴포넌트는 Mech-Viz 프로젝트에 로봇 포즈를 입력할 필요가 없으며 Mech-Viz 프로젝트의 시뮬레이션된 로봇은 설정된 Home 포인트부터 첫 번째 웨이 포인트 위치로 이동합니다.
카메라의 설치 방식은 Eye To Hand 입니다.
1
이 컴포넌트는 로봇의 현재 관절 각도 및 플랜지 포즈를 Mech-Viz 프로젝트로 입력해야 하며 Mech-Viz 프로젝트의 시뮬레이션된 로봇은 입력된 관절 각도부터 첫 번째 웨이 포인트 위치로 이동합니다.
카메라는 Eye In Hand 방식으로 장착되는 경우 이 방식이 추천됩니다.
-
g_whether_after_161: Mech-Vision과 Mech-Viz 소프트웨어 버전이 1.6.1 이후 버전인지 여부입니다. true는 예, false는 아니오를 의미합니다.
-
-
Set_Branch
-
g_mm_whether_set_branch: 메시지 분기 아웃 포트 설정 여부, true는 메시지 분기 아웃 포트를 설정해야 함을 나타내고 false는 메시지 분기 아웃 포트를 설정할 필요가 없음을 나타냅니다.
-
g_mm_branch_task_ID: 메시지 분기의 스텝 번호입니다.
-
g_mm_branch_out_port: 메시지 분기 스텝의 아웃 포트 번호입니다.
-
-
Set_Index
-
g_mm_whether_set_index: 현재 인덱스 값을 설정할지 여부입니다. true는 설정이 필요함을, false는 설정이 필요 없음을 나타냅니다.
-
g_mm_index_task_ID: 인덱스 스텝의 스텝 번호입니다.
-
g_mm_index_value: 인덱스 스텝의 현재 인덱스 값입니다.
-
계획 경로를 획득하기 (Receive Viz)
이 컴포넌트는 Mech-Viz 프로젝트에서 계획된 경로(일련의 웨이 포인트)를 획득하는 데 사용됩니다.
이 컴포넌트 실행 완료 후, Mech-Viz에서 반환된 이동 경로는 문자열 배열(string[]) 형태로 g_mm_socket_recv_array라는 전역 변수에 저장되며 사용자는 필요에 따라 해당 변수의 데이터를 처리할 수 있습니다.
웨이 포인트의 포즈는 문자열 배열(string[])의 형태로 g_mm_total_point라는 전역 변수에 저장되며 배열의 처음 6개 요소는 첫 번째 웨이 포인트 포즈이고, 7번째부터 12번째 요소는 두 번째 웨이 포인트 포즈이며, 이와 같은 방식으로 계속합니다.
또한, 이 컴포넌트는 정수형(int) 변수 g_mm_recv_viz_time을 제공합니다. 이 변수는 해당 컴포넌트가 실행된 횟수를 기록하는 데 사용됩니다. 이 변수는 0부터 시작하며, Receive Viz 컴포넌트를 한 번 실행하는 것에 해당합니다. Receive Viz 컴포넌트를 2회 실행하면 해당 변수의 값은 1입니다.