Adapter 생성기 매뉴얼
이 부분에서는 Adapter 생성기와 Adapter 생성기를 사용하여 Adapter 프로그램을 빠르게 생성하는 방법에 대해 설명하겠습니다.
Adapter 생성기 소개
Adapter 생성기는 Mech-Center에 통합된 작은 구성 요소입니다. TCP / IP Socket 통신 방식을 사용하며 Mech-Vision에서 제공하는 비전 포즈만 사용하는 시나리오에만 적용됩니다.
Adapter 생성기를 사용하여 다음과 같은 기능을 실현할 수 있습니다:
-
Adapter 프로그램을 빠르게 생성하고 Adapte 프로젝트를 구축할 수 있습니다.
-
Adapter 프로그래밍과 관련된 내용을 신속히 파악하여 복잡한 실제 요구 사항을 충족시킬 수 있습니다.
버튼을 클릭하여 Adapter 생성기 화면에서 관련 사항을 설정하십시오.
Adapter 생성기는 관리자 모드에서만 사용할 수 있습니다. |
Adapter 생성기를 통해 Adapter 프로그램을 빠르게 생성하기
구성의 편의를 위해 해당 구성 요소에 대한 자세한 설명을 제공하며 구성 요소 위에 마우스 커서를 올려 놓으면 확인할 수 있습니다. |
네트워크 구성 - 서버 또는 클라이언트
이 단계에서 Adapter 명칭 , Adapter의 역할 , 스트림 포맷 파라미터를 설정하고 아래와 같이 :guilabel:`다음으로` 를 클릭합니다.
파라미터에 관한 설명:
-
Adapter 명칭: Adapter 프로그램의 명칭을 지정합니다.
-
Adapter의 역할: Adapter는 TCP/IP Socket 통신의 서버(Server) 또는 클라이언트(Client)로 지정합니다. 클라이언트로서 작동하고 서버가 클라이언트에 대한 포트 제한이 있는 경우, 포트 바인딩 버튼을 선택해야 합니다.
상대 쪽과의 정상적인 통신을 보장하기 위해 Adapter 프로젝트를 배포할 때 올바른 호스트 IP 주소와 포트를 지정해야 합니다. 자세한 내용은 Adapter 프로젝트 배포를 참조하십시오. -
스트림 포맷: 통신 전송 형식을 지정하며 ASCII 문자열 또는 HEX(16진법)를 지원합니다. *스트림 포맷*을 "HEX"로 설정한 경우, 바이트 순서(endianness)를 "빅 엔디안" 또는 "리틀 엔디안"으로 지정해야 합니다.
Mech-Viz/Mech-Vision 구성 - 포즈와 관절 각도
|
“check_collision” 샘플 프로젝트에서 볼 수 있듯이 프로젝트는 “비전 인식” 스텝에 의해 트리거되며 프로젝트에 비이동 스텝을 포함해야 합니다. notify_1, notify_2 및 visual_look_1 등 스텝의 이름은 수정될 수 없습니다. |
이 단계에서 Mech-Viz와 Mech-Vision 프로젝트의 파라미터를 수정하야 합니다.
Mech-Vision파라미터에 관한 설명:
-
Mech-Vision프로젝트 명칭: Mech-Vision 프로젝트의 이름을 지정합니다. 드롭다운 목록에서 Adapter와 상호 작용할 Mech-Vision 프로젝트를 선택합니다.
-
포즈 수량: 대상에게 보낼 포즈 수를 선택합니다.
-
포즈의 유형: 사원수 또는 오일러 각을 선택할 수 있습니다.
-
포즈의 단위 : 일반적으로 밀리미터와 도를 사용하도록 선택합니다.
-
카메라 설치: 카메라 설치 방식(ETH와 EIH 두 가지 경우가 있음)을 선택합니다.
-
포즈의 기준 좌표계: 전송된 포즈의 기준 좌표계를 결정합니다. 일반적으로 포즈는 로봇 베이스 좌표계를 기준으로 합니다. EIH 시나리오에서 로봇이 로봇 말단의 포즈를 제공할 수 없는 경우 포즈는 TCP 좌표계를 기준으로 해야 합니다.
-
보류할 소수점 이하 자릿수: 전송된 포즈의 소수점 이하 자릿수를 결정합니다. 최대 자릿수는 10입니다.
Mech-Viz파라미터에 관한 설명:
-
Mech-Viz를 사용하여 충돌을 감지하기: 선택 후 비전 포즈는Mech-Viz 프로젝트의 충돌 감지를 거쳐 계획에 실패한 포인트를 필터링하고 프로세스에서 충돌이 없는 피킹 포즈를 선택합니다.
-
Mech-Viz 구성. Mech-Viz 충돌 감지 기능을 사용한 후 이 옵션이 활성화됩니다. 이 옵션을 클릭하면 생성기 Mech-Viz 구성 창이 나타나 관련 파라미터를 설정한 후 저장 버튼을 클릭합니다. 아래 그림과 같습니다.
-
피킹 포즈와 플레이스 포즈를 구별할 필요가 있음: 피킹 포즈는 비전 이동 이전의 모든 포즈(비전 이동 포함)이며, 배치 포즈는 비전 이동 이후의 모든 포즈입니다. 일부 시나리오에서 로봇은 작업에 따라 피킹 동작과 배치 동작을 구분해야 합니다.
-
피킹 포즈와 플레이스 포즈의 수량을 보낼 필요가 있음: 포즈의 수량이 많으면 수량 필드를 함께 보내도 됩니다. 선택하면 기본적으로 위치 수가 1 개보다 크면이 필드를 보냅니다.
-
모든 포즈(moveJ 혹은 moveL)의 모션 방식을 보낼 필요가 있음: Mech-Viz에서 이동 스텝의 운동 방식은 관절 운동(moveJ) 또는 직선 운동(moveL)으로 구분됩니다.
-
코드를 업데이트하기: 기본적으로 관절 운동의 코드는 1이고 직선 운동의 코드는 2입니다. 사용자기 코드를 자체적으로 정의할 수 있습니다. 변경 후 코드를 업데이트하기 버튼을 클릭하면 적용됩니다.
-
관절 각도 또는 포즈: 포즈를 전솔할 때 포즈의 형식을 설정합니다. 기본적으로 관절 각도로 설정합니다.
-
관절 각도의 단위/ 포즈 단위: 포즈를 보내는 형식이 *Jps*인 경우 Jps의 단위를 설정합니다. 일반적으로 도를 사용합니다. 포즈를 보내는 형식이 *Pose*인 경우 포즈의 단위를 설정합니다. 일반적으로 밀리미터를 사용합니다.
-
로봇의 명칭: 로봇 서버의 이름을 지정합니다. Mech-Viz를 사용하여 로봇 운동을 시뮬레이션하려면 실제 로봇 서비스가 필요하며 생성된 Adapter는 이 서비스를 시뮬레이션합니다. 로봇의 명칭은 이 서비스의 명칭이며 Mech-Viz에서 사용되는 로봇의 이름과 일치해야 합니다. “로봇 명칭 획득” 버튼을 클릭하여 자동으로 로봇 이름을 추가할 수 있습니다.
-
원점의 관절 각도(단위:라디안): Mech-Viz에서 운동의 시작점을 설정하며 단위는 라디안이며 쉼표로 구분됩니다. Mech-Viz에서 원점으로 사용할 수 있는
이동
스텝을 편집하고 해당 원점의 관절 위치를 복사할 수 있습니다.
수신할 데이터 형식 구성 - 필드 수신
이 단계에서는 이미지 캡처 명령어, 멀티 프로젝트(명령어), 총 필드 수, 필드 유형, 필드의 구분자 및 하위 필드 구분자를 포함하여 수신된 필드의 형식을 설정한 다음 다음으로 버튼을 클릭합니다. 아래 그림과 같습니다.
-
필드의 총수: 설정할 파라미터의 개수와 과련이 있고 값 범위는 1~10입니다. 필드 중에 이미지 캡쳐 명령어가 있어야 합니다.
-
이미지 캡처 명령: 외부 통신 장비가 Mech-Mind Robotics 소프트웨어 시스템으로 이미지 캡처 명령어를 보내면 카메라를 사용하여 이미지를 캡처합니다. 통신 포맷이 ASCII 코드인 경우 문자를 사용하는 것이 좋으며, 예를 들어 문자 p를 사용하고 필드 위치는 기본값으로 1을 사용하는 것이 좋습니다. 통신 포맷이 16진법(HEX)인 경우, 16진법 형식의 정수를 사용해야 하며, 예를 들어 0xff 또는 ff를 사용해야 합니다.
-
필드 구분자 및 인서트 필드 구분자: ASCII 통신인 경우 설정해야 합니다. 필드가 2 개 이상인 경우, 필드 구분자를 입력해야 하며 추가 정보에 다른 구분자가 필요한 경우 인서트 필드 구분자도 필요합니다. 인서트 필드의 시작 및 끝 범위를 지정할 수 있습니다.
-
필드 유형 및 필드 설명: 16진법 (HEX) 통신인 경우 설정해야 합니다. CHAR, SHORT, INT, FLOAT 및 DOUBLE과 같은 선택 가능한 필드 유형이 있습니다. *필드 설명*은 필드의 기능 또는 의미를 설명하는 데 사용됩니다.
-
멀티 프로젝트(명령어): 선택 가능한 사항으로, 하나의 프로젝트에 여러 Mech-Vision 프로젝트가 있고 외부 명령에 따라 다른 Mech-Vision 프로젝트를 호출해야 하는 경우 명령 코드를 구성할 수 있습니다.
각 프로젝트에 대한 명령와 필드 위치는 모두 고유하며 다른 필드와 겹치지 않도록 해야 합니다.
로봇 구성 - Eye In Hand
Mech-Viz/Mech-Vision 구성 - 포즈와 관절 각도 스텝에서 카메라 설치 파라미터는 *Eye In Hand*로 설정하면 이 단계를 사용할 수 있습니다. |
이 단계에서는 이미지 캡처 시 로봇의 포즈 형식을 설정하고 다음으로 버튼을 클릭합니다. 아래 그림과 같습니다.
파라미터에 관한 설명:
-
사진을 찍을 때 로봇이 Adapter에 관절 각도/플랜지 포즈를 보내야 합니다.: 상대 쪽은 로봇 베이스 좌표계를 기준으로 한 물체 포즈가 필요하는 경우, 로봇이 이미지를 캡처할 때의 관절 각도 또는 플랜지 포즈를 제공해야 합니다. 이때 이 옵션을 선택하십시오. 선택한 후 포즈의 유형을 지정하고 관절 각도 또는 플랜지 포즈를 선택할 수 있습니다.
-
관절 각도의 단위: 관절 각도의 단위를 지정합니다. 도 또는 라디안을 선택할 수 있습니다.
-
플랜지 포즈의 단위: 플랜지 포즈를 지정합니다. 사원수 또는 오일러 각을 선택할 수 있습니다. 사원수를 사용하는 경우, 미터 또는 밀리미터 단위를 선택할 수 있습니다. 오일러 각을 사용하는 경우, 도 또는 라디안 단위를 선택할 수 있습니다.
-
관절 각도/플랜지 포즈 필드 범위: 전체 필드에서 관절 각 또는 포즈의 시작 및 종료 필드를 지정합니다.
인덱스 위치는 1부터 시작하여 다른 필드와 중복되지 않아야 합니다. 예를 들어 인덱스 위치 1은 이미지 캡처 명령입니다. -
로봇 명칭: 로봇 서비스를 식별하는 데 사용되며, Mech-Viz에서 로봇 이름과 일치해야 합니다.
-
로봇의 자유도: 4축 또는 6축의 로봇을 지원합니다. 프로젝트의 실제 상황에 따라 로봇의 자유도를 선택합니다.
전송할 데이터 형식 구성 - 필드 전송
이 스텝에서 전송할 포즈의 형식을 지정하고 다음으로 버튼을 클릭합니다. 아래 그림과 같습니다.
파라미터에 관한 설명:
-
필드 구분자 및 인서트 필드 구분자: 구분자의 형식을 설정합니다. 통신 형식이 ASCII인 경우 설정해야 합니다. 필드가 2 개 이상인 경우, 필드 구분자를 입력해야 하며 추가 정보에 다른 구분자가 필요한 경우 인서트 필드 구분자도 필요합니다. 인서트 필드의 시작 및 끝 범위를 지정할 수 있습니다.
-
상태 코드: 전송 상태를 설정합니다. 각 상태에 해당하는 상태 코드는 유일합니다.
-
포인트 클라우드를 체크하는 필요가 있습니다: 이 옵션을 선택하면 Adapter는 포인트 클라우드를 체크합니다. 포인트 클라우드가 존재하지 않는 경우 해당 상태 코드를 출력합니다.
-
물체의 레이블을 보낼 필요가 있습니다.: 물체의 레이블을 보내는 것은 Mech-Vision에서 인식된 레이블을 상대 에게 보내는 것을 의미하며, 각 레이블은 포즈 뒤에 연결됩니다. 상대 쪽이 레이블 문자열을 해석하기 어려운 경우 해당 레이블의 코드를 지정할 수도 있으며, 모든 레이블 문자열을 포함하는 레이블 파일을 로드해야 합니다. 하지만 레이블 파일의 형식은 반드시 json 배열 형식이어야 합니다.
-
포즈의 개수응 보낼 필요가 있습니다: 전송할 때 현재 전송된 포즈가 포함된 포즈의 수량입니다.
-
고정포체 필요: 비전 인식 실패 시 상대 쪽에게 메시지(오류 코드 뒤의 메시지)를 보내야 합니다.
-
고정꼬리 필요: 이 옵션을 선택하면 데이터 뒤에 고정된 테일 식별자를 추가해야 합니다.
통신 형식이 16진법(HEX)인 경우 상태 코드, 포즈 수, 포즈 필드의 값 유형을 설정해야 합니다. |
위의 모든 구성을 완료한 후 “완료” 또는 “다른 이름으로 저장” 버튼을 클릭하여 Adapter 프로젝트를 저장합니다. Adapter 프로젝트를 저장한 후 Adapter 프로젝트 배포 내용을 참조하여 Adapter 프로젝트를 배포하고 사용할 수 있습니다.
Adapter의 프로그래밍과 관련된 더 많은 정보는 아래 내용을 읽어 주십시오.