표준 인터페이스 명령어
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_typee: 실제 로봇의 포즈 데이터가 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 Vision)
이 컴포넌트는 Mech-Vision 출력의 비전 결과를 획득하는데 사용됩니다.아웃 포트의 판단 조건은 비전 결과에서 상태 코드를 획득하는 것입니다.
이 컴포넌트 실행 완료 후, Mech-Vision 에서 반환된 비전 결과는 문자열 배열(string[])의 형태로 g_mm_socket_recv_array라는 전역 변수에 저장되며 사용자는 필요에 따라 해당 변수의 데이터를 스스로 처리할 수 있습니다.
아웃 포트 대응하는 상태 코드:
계획 경로를 획득하기 (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입니다.