Adapter 생성기 매뉴얼

이 부분에서는 Adapter 생성기와 Adapter 생성기를 사용하여 Adapter 프로그램을 빠르게 생성하는 방법에 대해 설명합니다.

Adapter 생성기 소개

Adapter 생성기는 Mech-Center에 통합된 작은 구성 요소입니다. Adapter 생성기는 TCP/IP Socket 통신 방식만 사용하고 Mech-Vision만 사용하여 포즈를 제공하는 시나리오에만 적합합니다.

Adapter 생성기는 다음을 도와줄 수 있습니다.

  • Adapter 프로그램을 빠르게 생성하고 어댑터 프로젝트를 구축합니다.

  • Adapter 프로그래밍과 관련된 내용을 신속히 파악하여 복잡한 실제 요구 사항을 충족시킵니다.

Adapter 생성기를 시작하여 아래 이미지와 같이 툴 ‣ Adapter 생성기 를 선택하여 관련 설정을 진행할 수 있습니다.

../../../../_images/adapter_generator01.png

주의

Adapter 생성기는 관리자 모드에서만 사용할 수 있습니다.

Adapter 생성기를 사용하여 Adapter 프로그램을 빠르게 생성하기

힌트

구성의 편의를 위해 해당 구성 요소에 대한 자세한 설명이 있으며 구성 요소 위에 마우스 커서를 올려 놓으면 해당 구성 요소를 볼 수 있습니다.

네트워크 구성 - 서버 또는 클라이언트

이 스텝에서 Adapter 명칭 , Adapter의 역할 , 스트림 포맷 파라미터를 설정하고 아래와 같이 다음으로 를 클릭합니다.

../../../../_images/adapter_generator02.png

파라미터 설명:

  • 어댑터 명칭:어댑터 프로그램의 명칭을 지정합니다.

  • Adapter의 역할 : Adapter를 TCP/IP Socket 통신을 위한 서버(Server) 또는 클라이언트(Client)로 지정합니다. Adapter가 클라이언트 역할을 하고 서버가 클라이언트에 대한 포트 제한이 있는 경우 포트 바인딩 확인란을 선택해야 합니다.

    힌트

    정상적인 통신을 하려면 Adapter 프로젝트가 배포될 때 올바른 호스트 IP 주소와 포트를 지정해야 합니다. 자세한 내용은 “Adapter 프로젝트 배포” 부분을 참조하십시오.

  • 스트림 포맷: 통신의 전송 형식을 지정하고 ASCII 문자열 또는 HEX(16진법)를 지원합니다. 스트림 포맷 형식이 “HEX”로 설정된 경우 바이트 순서(endianness)도 “빅 엔디안” 또는 “리틀 엔디안”으로 지정해야 합니다.

Mech-Viz/Mech-Vision 구성 - 포즈 및 관절 각도

힌트

  • 이 스텝을 수행하기 전에 Mech-Vision 프로젝트와 충돌 감지에 사용되는 Mech-Viz 프로젝트를 준비하고 자동 로드 옵션을 활성화하여 프로젝트가 Mech-Center에 로드되었는지 확인합니다.

  • Mech-Center는 충돌 감지를 위한 Mech-Viz 샘플 프로젝트 “check_collision” 을 제공합니다. Mech-Center 설치 경로 아래의 “tool\viz_project” 디렉터리에서 획득하십시오.

주의

“check_collision” 샘플 프로젝트에서 볼 수 있듯이 프로젝트는 사진을 찍기 위해 비전 인식 에 의해 실행되며 비이동류 태스크를 포함해야 합니다. 작업 이름은 notify_1, notify_2 및 vision_look_1을 포함하여 변경할 수 없습니다.

이 스텝에서 Mech-Viz 및 Mech-Vision 프로젝트와 관련된 파라미터를 설정하고 다음으로 를 클릭합니다.

../../../../_images/adapter_generator03.png

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 설정 인터페이스가 나타납니다. 해당 파라미터를 설정한 후 저장 버튼을 클릭합니다. 아래 그림과 같습니다.

    ../../../../_images/adapter_generator04.png
    • 피킹 포인트 위치와 배치 포인트 위치를 구분해야 함 : 피킹 포인트 위치는 비전 이동 (비전 이동 포함) 이전의 모든 포인트 위치이고 배치 포인트 위치는 비전 이동 이후의 모든 포인트 위치입니다. 일부 시나리오에서 로봇은 태스크에 따라 피킹과 배치 동작을 구별해야 할 수도 있습니다.

    • 피킹 포인트 위치와 배치 포인트 위치를 전송해야 함 : 포인트 수가 많을 경우 수량 필드를 가져올 수 있습니다. 이 필드는 체크 후 기본 포인트 수가 1보다 큰 경우에만 포함됩니다.

    • 각 포인트 위치의 이동 방식을 전송해야 함 : Mech-Viz에서 이동류 태스크의 이동 방식은 관절 이동 또는 직선 이동으로 구분됩니다.

    • 수치 업데이트 : 기본 관절 이동 해당 코드는 1이고 직선 이동 해당 코드는 2입니다. 코드는 사용자 정의할 수 있습니다. 변경 후 수치 업데이트 버튼을 클릭하면 적용됩니다.

    • Jps 또는 포즈 : 포즈의 형식을 전송, 기본적으로 Jps가 사용됩니다. 포즈를 선택하는 경우 Mech-Viz의 기타 패널에서 TCP 포즈를 전송하기 확인란을 선택해야 합니다. 아래 이미지와 같습니다.

      ../../../../_images/adapter_generator05.png
    • Jps 단위/포즈 단위 : 보내는 포즈 형식이 Jps 인 경우 Jps 단위를 설정하고 일반적으로 도를 사용합니다. 전송된 포즈 형식이 Pose 인 경우 일반적으로 밀리미터를 사용하여 포즈 단위를 설정합니다.

    • 로봇의 명칭 : 로봇 서비스의 명칭을 지정합니다. Mech-Viz를 사용하여 로봇 동작을 시뮬레이션하려면 실제 로봇 서비스가 필요합니다. 생성된 어댑터는 이 서비스를 시뮬레이션합니다. 로봇 명칭은 이 서비스의 명칭이며 Mech-Viz의 로봇 명칭과 동일해야 합니다. 로봇 명칭을 획득하기 를 클릭하면 로봇 명칭을 자동으로 추가할 수 있습니다.

    • 원점의 관절 각도(단위: 라디안) : Mech-Viz에서 시작 동작을 위한 기준 원점을 설정합니다. 단위는 쉼표로 구분된 라디안입니다. Mech-Viz에서 이동 을 원점으로 편집하여 해당 원점의 관절 위치를 복사할 수 있습니다.

접수할 데이터 형식 구성 - 접수할 필드

이 스텝에서는 사진 캡처 명령어, 여러 프로젝트(명령어 코드), 총 필드 수, 필드 유형, 필드의 필드 구분자 및 하위 필드 구분자를 포함하여 접수된 필드의 형식을 설정한 다음 다음으로 를 클릭합니다. 아래 그림과 같습니다.

../../../../_images/adapter_generator06.png
  • 총 필드 수 : 설정하고자 하는 파라미터의 개수와 관련이 있으며, 값 범위는 1~10입니다. 현장에 사진 캡처 명령어가 있어야 합니다.

  • 이미지 캡처 명령어 : 카메라가 사진을 캡처하고 수집하도록 하기 위해 외부 통신 장치에서 Mech-Mind 소프트웨어 시스템으로 보내는 이미지 캡처 명령어입니다. 통신 형식이 ASCII 코드인 경우 p 와 같은 문자를 사용하는 것이 좋으며 필드 위치는 기본적으로 1입니다. 통신 형식이 16진법(HEX)인 경우 0xff 또는 ff 와 같이 16진법 형식의 정수가 필요합니다.

  • 필드 구분자하위 필드 구분자 : 통신 형식이 ASCII인 경우 설정해야 합니다. 2개 이상의 필드가 있는 경우 필드 구분자를 써야 하며, 추가 정보에 다른 구분자가 필요한 경우 하위 필드 구분자도 필요하며 하위 필드의 시작 및 끝 범위를 지정할 수 있습니다.

  • 필드 유형필드 설명 : 통신 형식이 16진법(HEX)인 경우 설정해야 합니다. 선택적 필드 유형은 CHAR, SHORT, INT, FLOAT 및 DOUBLE입니다. 필드 설명 은 필드의 기능이나 의미를 설명하는 데 사용됩니다.

  • 여러 프로젝트(명령어 코드) : 선택 사항, 프로젝트에 여러 Mech-Vision 프로젝트가 있는 경우 외부 지침에 따라 다른 Mech-Vision 프로젝트를 호출해야 하며 명령어 코드를 구성할 수 있습니다.

    주의

    각 프로젝트의 해당 명령어 코드는 유일하고 필드 위치도 유일하며 다른 필드와 겹칠 수 없습니다.

로봇 구성 - Eye In Hand

힌트

Mech-Viz/Mech-Vision 구성 - 포즈 및 관절 각도” 스텝에서 카메라 파라미터가 Eye In Hand 로 설정된 경우 이 스텝을 사용할 수 있습니다.

이 스텝에서는 사진 캡처 시 로봇의 포즈 형식을 설정하고 다음으로 버튼을 클릭합니다. 아래 그림과 같습니다.

../../../../_images/adapter_generator09.png

파라미터 설명:

  • 로봇은 Adapter에게 사진을 캡처할 때의 관절 각도 또는 플랜지 포즈를 피드백 해야 합니다 : 상대방이 로봇 기본 좌표계의 물체 포즈를 기반으로 해야 하는 경우 로봇이 사진을 캡처할 때의 관절 각도 또는 플랜지 포즈를 제공해야 합니다. 이때 확인란을 선택하십시오. 체크한 후 포즈의 형태를 지정하고 관절 각도 또는 플랜지 포즈를 선택할 수 있습니다.

  • 관절 각도 단위 : 관절 각도 단위를 지정합니다. 각도 또는 라디안을 선택할 수 있습니다.

  • 플랜지 포즈 단위 : 플랜지 포즈 단위를 지정합니다. 사원수 또는 오일러 각을 선택할 수 있습니다. 사원수를 사용하는 경우 단위는 미터 또는 밀리미터를 선택할 수 있고, 오일러 각을 사용하는 경우 단위는 도 또는 라디안을 선택할 수 있습니다.

  • 관절 각도/플랜지 포즈 필드 위치 : 관절 각도 또는 포즈의 시작 및 끝 필드가 전체 필드에 있는 위치를 ​​지정합니다.

    주의

    인덱스 위치는 1부터 시작하며 다른 필드와 겹칠 수 없습니다. 예를 들어 인덱스 위치 1은 사진 캡처 명령어입니다!

  • 로봇 이름 : 로봇 서비스를 식별하는 데 사용되는 이름으로 Mech-Viz의 로봇 이름과 동일해야 합니다.

  • 로봇 자유도 : 현재 4축, 6축 로봇을 지원하며, 프로젝트의 실제 상황에 따라 해당 로봇의 자유도를 선택할 수 있습니다.

전송할 데이터 형식 구성 - 전송할 필드

이 스텝에서 전송할 포즈의 형식을 지정하고 다른 이름으로 저장 을 클릭합니다. 아래 그림과 같습니다.

../../../../_images/adapter_generator10.png

파라미터 설명:

  • 필드 구분자하위 필드 구분자 : 구분자의 형식을 설정합니다. 통신 형식이 ASCII인 경우 설정해야 합니다. 2개 이상의 필드가 있는 경우 필드 구분자를 써야 하며, 추가 정보에 다른 구분자가 필요한 경우 하위 필드 구분자도 필요하며 하위 필드의 시작 및 끝 범위를 지정할 수 있습니다.

  • 상태 코드 : 전송 상태를 설정합니다. 각 상태에 해당하는 상태 코드는 유일합니다.

  • 포인트 클라우드 확인 필요 : 확인 후 어댑터는 포인트 클라우드를 확인하고, 포인트 클라우드가 존재하지 않는 경우 해당 상태 코드를 출력합니다.

  • 물체 레이블을 보내야 함 : 물체 레이블을 보낸다는 것은 Mech-Vision에서 식별한 레이블을 상대방에게 보내는 것을 의미하며, 각 레이블은 포즈의 뒤에 연결되어 있습니다. 상대방이 레이블 문자열을 파싱하기 불편한 경우 해당 레이블의 코드도 지정할 수 있으며 모든 레이블 문자열을 포함하는 레이블 파일을 로드해야 합니다(주의: 레이블 파일 형식은 json 배열 형식이어야 합니다).

  • 수량을 전송해야 함: 전송할 때 현재 전송된 포즈의 수량을 포함합니다.

  • 바디를 고정시켜야 함 : 비전 인식 실패 시 상대방에게 메시지를 보냅니다(오류 코드 뒤의 메시지).

  • 꼬리를 고정시켜야 함 : 체크하면 전송한 데이터 뒤에 꼬리 고정 표시가 추가됩니다.

주의

통신 형식이 16진법(HEX)인 경우 상태 코드, 포즈 수, 포즈 필드의 값 유형을 설정해야 합니다.

위의 모든 구성을 완료한 후 완료 또는 다른 이름으로 저장 을 클릭하여 Adapter 프로젝트를 저장합니다. Adapter 프로젝트를 저장한 후 “Adapter 프로젝트 배포” 내용을 참조하여 Adapter 프로젝트를 배포&사용할 수 있습니다.

Adapter의 프로그래밍과 관련된 더 많은 정보는 아래 내용을 읽으십시오.