솔루션 배포

현재 최신 버전 (2.1.2)에 대한 매뉴얼을 보고 계십니다. 다른 버전에 액세스하려면 페이지 오른쪽 상단 모서리에 있는 '버전 전환' 버튼을 클릭하세요.

■ 현재 사용하고 있는 제품의 버전이 확실하지 않은 경우에는 언제든지 당사 기술 지원팀에 문의하시기 바랍니다.

이 섹션에서는 원형 강철 빌릿 솔루션을 배포하는 방법을 설명합니다. 전체적인 과정은 다음 그림과 같습니다.

solution configuration overview

비전 시스템 하드웨어 구축

이 스텝에서는 비전 시스템의 정상적인 실행을 위해 카메라와 IPC 등 하드웨어 장치를 실제 작업 환경에 통합해야 합니다.

이 스텝에서는 비전 시스템 하드웨어를 설치하고 연결해야 합니다. 상세한 설명은 비전 시스템 하드웨어 구축 내용을 참조하세요.

로봇 통신 구성

로봇 통신을 구성하기 전에 솔루션을 먼저 얻어야 합니다. 솔루션을 획득하려면 이곳을 클릭하십시오.
  1. Mech-Vision 소프트웨어를 시작합니다.

  2. Mech-Vision 시작 화면에서 솔루션 라이브러리에서 새로 만들기 버튼을 클릭하여 솔루션 라이브러리를 엽니다.

  3. 솔루션 라이브러리의 일반적인 사례로 가서 오른쪽 상단의 get resource 아이콘을 클릭하여 추가 리소스를 얻은 후 팝업 창에서 확인 버튼을 클릭하세요.

  4. 사례 리소스를 얻은 후 무질서한 대상 물체 피킹원형 강철 빌릿를 선택하고 아래에 솔루션 이름과 경로를 입력하세요. 그 다음 새로 만들기 버튼을 클릭하고 팝업창에서 확인 버튼을 클릭하면 원형 강철 빌릿 솔루션을 다운로드할 수 있습니다.

    다운로드가 완료되면 솔루션이 Mech-Vision에서 자동으로 열립니다.

비전 프로젝트를 구성하기 전에 Mech-Mind Robotics 비전 시스템과 로봇 측(로봇, PLC나 마스터 컴퓨터)과의 통신 연결을 실현해야 합니다.

원형 강철 빌릿 솔루션은 표준 인터페이스 통신을 사용합니다. 구체적인 사용 밥법은 표준 인터페이스 통신 구성를 참조하십시오.

핸드-아이 캘리브레이션

핸드-아이 캘리브레이션은 카메라 좌표계와 로봇 좌표계 간의 해당 관계를 구축하는 과정을 말하며, 비전 시스템에 의해 제공된 물체 포즈를 로봇 좌표계 아래의 포즈로 전환하여 로봇이 피킹 작업을 정확하게 완료하도록 가이드합니다.

로봇 핸드-아이 캘리브레이션 사용 가이드를 참조하여 핸드-아이 캘리브레이션을 완성하십시오.

카메라를 설치할 때마다 또는 캘리브레이션 후 카메라와 로봇의 상대 위치가 변경될 때마다 핸드-아이 캘리브레이션을 수행해야 합니다.

비전 프로젝트 구성

통신 구성 및 핸드-아이 캘리브레이션이 완료되면 Mech-Vision을 사용하여 비전 프로젝트를 구성할 수 있습니다.

비전 프로젝트를 구성하는 방법의 프로세스는 아래 그림과 같습니다.

vision overall

카메라 연결 및 이미지 캡처

  1. 카메라를 연결합니다.

    Mech-Eye Viewer를 열어 연결할 카메라를 찾은 후 연결 버튼을 클릭하십시오.

    vision click connect camera
  2. 카메라 파라미터를 조정합니다.

    카메라로 캡처한 2D 이미지가 선명하고 포인트 클라우드가 누락되지 않았는지 확인하려면 카메라 파라미터를 조정해야 합니다. 파라미터 조정 방법은 LSR L-GL 카메라 파라미터에 관한 설명을 참조하십시오.

  3. 이미지를 캡처합니다.

    카메라가 성공적으로 연결되고 파라미터 그룹이 설정되면 대상 물체의 이미지 캡처를 시작할 수 있습니다. 인터페이스 상단의 vision click capture icon 버튼을 클릭하여 단일 이미지를 획득합니다. 이때 획득한 대상 물체의 2D 이미지와 포인트 클라우드를 확인할 수 있어 2D 이미지가 선명하고 포인트 클라우드가 누락되지 않았으며 에지가 선명한지 확인할 수 있습니다. 검증된 대상 물체의 2D 이미지와 포인트 클라우드는 다음 그림의 왼쪽 및 오른쪽 이미지에 각각 표시됩니다.

    vision image and cloud
  4. Mech-Vision에서 카메라를 연결합니다.

    카메라에서 이미지를 캡처하기 스텝을 선택하고 인터페이스의 오른쪽 하단 모서리에 있는 스텝 파라미터에서 가상 모드를 닫고 카메라를 선택하기를 클릭합니다.

    vision select camera

    팝업 창에서 카메라 번호 오른쪽에 있는 vision connect camera before icon 아이콘을 클릭하고 아이콘이 vision connect camera after icon로 바뀌면 카메라가 성공적으로 연결되었음을 나타냅니다. 카메라 연결에 성공한 후, 오른쪽의 파라미터 그룹 드롭다운에서 캘리브레이션 파라미터 그룹을 선택하세요. 아래 그림과 같습니다.

    vision connect camera

    위 설정이 완료되면 실제 카메라와 연결된 상태이며 다른 파라미터는 조정할 필요가 없습니다. 카메라에서 이미지를 캡처하기 스텝 오른쪽에 있는 vision run step camera icon 아이콘을 클릭하여 이 스텝을 실행합니다. 오류가 없으면 카메라 연결이 성공했으며, 정상적으로 이미지를 캡처할 수 있음을 의미합니다.

3D 대상 물체 인식 (대상 물체 인식)

이 솔루션은 3D 대상 물체 인식 스텝을 사용하여 대상 물체를 인식합니다. 3D 대상 물체 인식 스텝 화면의 구성 마법사 버튼을 클릭하여 3D 대상 물체 인식 도구를 열고 관련된 구성을 설정합니다. 구성 프로세스는 아래 그림과 같습니다.

vision 3d target object recognition overall

포인트 클라우드의 사전 처리

포인트 클라우드 사전 처리 단계에서 파라미터를 조정하여 원시 포인트 클라우드를 더 선명하게 만들어 데이터를 사전 처리해야 하며, 이를 통해 인식 정확도와 효율성을 높일 수 있습니다.

  1. 인식 영역을 설정합니다.

    인식 효율성을 높이기 위해 효과적인 인식 영역을 설정하여 간섭 요인이 해당 영역에 들어오지 않도록 합니다.

  2. 파라미터를 조정합니다.

    가장자리 추출 효과, 노이즈 제거 레벨, 포인트를 필터링하기 파라미터를 설정하여 노이즈를 필터링합니다.

포인트 클라우드 사전 처리가 완료된 후 스텝 실행 버튼을 클릭하면 사전 처리 효과가 아래 그림과 같이 나타납니다.

vision point cloud preprocessing effect

대상 물체 인식

포인트 클라우드 사전 처리 후에는 대상 물체 편집기에서 대상 물체의 포인트 클라우드 모델을 생성한 다음, 포인트 클라우드 모델 매칭을 위한 3D 대상 물체 인식 도구에서 매칭 파라미터를 설정해야 합니다.

  1. 공작물 모델을 만듭니다.

    대상 물체 편집기를 열기 버튼을 클릭하여 대상 물체 편집기 화면을 엽니다. 이후, STL 파일을 가져와 대상 물체 포인트 클라우드 모델을 생성하고 픽 포인트를 수동으로 구성합니다.

  2. 인식 관련 파라미터를 설정합니다.

    • 대상 물체 인식 버튼 오른쪽의 고급 모드를 활성화합니다.

    • 매칭 모드: 매칭 모드 자동 설정를 활성화합니다. 활성화한 후 이 스텝은 자동적으로 근사 매칭상세 매칭의 파라미터를 조정합니다.

    • 추가 상세 매칭: 추가 상세 매칭 사용 스위치를 켜서 매칭 결과에 대해 두 번째 표면 모델 상세 매칭을 수행하여 Z 방향 피킹 정확도를 개선합니다.

    • 신뢰도 설정: 신뢰도 전략수동으로 설정하고 공동 채점 전략표면과 가장자리 모두 고려로 설정합니다. 표면 매칭 신뢰도 임계값을 0.8과 같은 높은 값으로 설정하여 잘못된 매칭 결과를 제거하는 데 사용합니다.

    • 출력-최대 출력: 경로 계획의 수요를 충족한다는 전제 조건으로 최대한으로 출력 결과 수를 감소하여 매칭 시간을 줄입니다. 이 솔루션에서는 최대 출력 값을 15개로 설정되었습니다.

    • 겹치는 물체 포즈 제거, 중첩된 물체 포즈 제거: 겹침 및 압착된 인식 결과를 제거하기 위해 겹치는 물체의 포즈 제거 기능중첩된 물체 포즈 제거 기능을 활성화하고, 각각의 임계값을 30%20%로 설정합니다.

위의 파라미터 설정이 완료된 후 스텝 실행 버튼을 클릭하면 매칭 효과가 아래 그림과 같이 나타납니다.

vision target object recognition effect

스텝 포트 구성

대상 물체 인식을 완료한 후에는 경로 계획 및 충돌 감지를 위한 Mech-Viz에 대한 비전 결과와 포인트 클라우드를 제공하도록 스텝 포트를 구성해야 합니다.

로봇이 대상 물체를 성공적으로 피킹할 수 있도록 하려면 대상 물체의 중심점을 조정하여 Z축 방향이 위를 향하도록 합니다. 포트 선택에서 대상 물체 중심점 관련 포트를 선택한 후 사전 처리 후의 포인트 클라우드 옵션을 선택하고 저장 버튼을 클릭합니다. 설정 완료 후 3D 대상 물체 인식 스텝에 해당 출력 포트가 추가되었으며, 아래 그림과 같습니다.

3D 대상 물체 인식(빈 인식)

이 솔루션은 3D 대상 물체 인식 스텝을 사용하여 빈을 인식합니다. 3D 대상 물체 인식 스텝 화면의 구성 마법사 버튼을 클릭하여 3D 대상 물체 인식 도구를 열고 관련된 구성을 설정합니다. 구성 프로세스는 아래 그림과 같습니다.

vision 3d target object recognition overall

포인트 클라우드의 사전 처리

포인트 클라우드 사전 처리 단계에서 파라미터를 조정하여 원시 포인트 클라우드를 더 선명하게 만들어 데이터를 사전 처리해야 하며, 이를 통해 인식 정확도와 효율성을 높일 수 있습니다.

  1. 인식 영역을 설정합니다.

    인식 효율성을 높이기 위해 효과적인 인식 영역을 설정하여 간섭 요인이 해당 영역에 들어오지 않도록 합니다.

  2. 파라미터를 조정합니다.

    가장자리 추출 효과, 노이즈 제거 레벨, 포인트를 필터링하기 파라미터를 설정하여 노이즈를 필터링합니다.

포인트 클라우드 사전 처리가 완료된 후 스텝 실행 버튼을 클릭하면 사전 처리 효과가 아래 그림과 같이 나타납니다.

vision bin point cloud preprocessing effect

대상 물체 인식

포인트 클라우드 사전 처리 후에는 대상 물체 편집기에서 빈의 포인트 클라우드 모델을 생성한 다음, 포인트 클라우드 모델 매칭을 위한 3D 대상 물체 인식 도구에서 매칭 파라미터를 설정해야 합니다.

  1. 공작물 모델을 만듭니다.

    포인트 클라우드 모델 제작하고 픽 포인트를 추가합니다. 대상 물체 편집기를 열기 버튼을 클릭하여 대상 물체 편집기 화면을 엽니다. 이후, 카메라로 포인트 클라우드를 캡처하여 포인트 클라우드 모델을 생성하고 픽 포인트를 수동으로 구성합니다.

  2. 인식과 관련된 파라미터를 설정합니다.

    • 매칭 모드: 매칭 모드 자동 설정를 활성화합니다.

    • 신뢰도 설정: 신뢰도 임계값을 0.7로 설정하여 잘못된 매칭 결과를 제거합니다.

    • 출력-최대 출력: 대상 물체가 빈이므로 최대 출력1로 설정해야 합니다.

위의 파라미터 설정이 완료된 후 스텝 실행 버튼을 클릭하면 매칭 효과가 아래 그림과 같이 나타납니다.

vision bin recognition effect

스텝 포트 구성

대상 물체 인식을 완료한 후에는 경로 계획 및 충돌 감지를 위한 Mech-Viz에 대한 비전 결과와 포인트 클라우드를 제공하도록 스텝 포트를 구성해야 합니다.

실제 빈 위치 정보를 얻기 위해 포트 선택에서 대상 물체 중심점 관련 포트를 선택한 후 저장 버튼을 클릭합니다. 설정 완료 후 3D 대상 물체 인식 스텝에 해당 출력 포트가 추가되었으며, 아래 그림과 같습니다.

vision bin general settings effect

포즈 조정(대상 물체 포즈)

대상 물체 포즈를 획득한 후 포즈 조정 V2 스텝을 사용하여 포즈를 조정해야 합니다. 포즈 조정 V2 스텝 화면의 구성 마법사 버튼을 클릭하여 포즈 조정 도구를 열고 포즈 조정을 구성합니다. 구성 프로세스는 아래 그림과 같습니다.

vision adjust poses overall
  1. 포즈 전환.

    로봇 좌표계에서 대상 물체의 포즈를 출력하려면, 포즈를 로봇 좌표계로 전환을 선택해야 하며, 이를 통해 대상 물체의 포즈가 카메라 좌표계에서 로봇 좌표계로 변환됩니다.

  2. 포즈 방향 조정.

    방향 조정기준점으로 가리키기로 설정하고 가리켜야 할 축Z축으로 설정하여 로봇이 지정된 방향으로 대상 물체를 피킹하고 충돌을 피할 수 있도록 합니다.

  3. 포즈 정렬.

    정렬 유형포즈의 XYZ 값으로 정렬로 설정하고 포즈의 지정된 값Z 값으로 설정합니다. 포즈를 내림차순으로 정렬합니다.

  4. 각도별로 필터링.

    후속 경로 계획의 시간을 줄이기 위해, 포즈의 Z축과 기준 방향 사이의 각도를 기준으로 명백하게 피킹할 수 없는 대상 물체를 필터링해야 합니다. 이 예시에서는 최대 각도 차이90°로 설정해야 합니다.

  5. 일반 설정.

    새 포트 수 설정1로 설정하고 스텝에 입력 및 출력 포트가 각각 하나씩 추가되며 3D 대상 물체 인식 스텝이 출력한 대상 물체 이름을 연결하고 이를 출력 스텝으로 출력하십시오.

포즈 조정 (빈의 포즈)

빈 포즈를 획득한 후 포즈 조정 V2 스텝을 사용하여 포즈를 조정해야 합니다. 포즈 조정 V2 스텝 화면의 구성 마법사 버튼을 클릭하여 포즈 조정 도구를 열고 포즈 조정을 구성합니다. 구성 프로세스는 아래 그림과 같습니다.

vision adjust bin poses overall
  1. 포즈 처리 전략 선택.

    대상 물체가 대상 물체를 담는 깊은 빈이므로, 옵션을 선택해야 합니다.

  2. 포즈 전환.

    로봇 좌표계에서 빈의 포즈를 출력하려면, 포즈를 로봇 좌표계로 전환을 선택해야 하며, 이를 통해 빈의 포즈가 카메라 좌표계에서 로봇 좌표계로 변환됩니다.

  3. 지정한 방향을 따라 포즈를 평행이동하기.

    로봇 베이스 좌표계에서 Z축 양의 방향에 따라 빈 포즈를 이동시키고 수동으로 평행이동 거리-285mm로 조정하여 빈 포즈를 빈 상단 표면에서 아래쪽으로 빈 중심으로 이동시킵니다. 이후 빈 충돌 모델 위치를 Mech-Viz에서 업데이트하는 데 사용됩니다.

    평행이동 거리의 값 = -1 × 1/2 빈 높이.
  4. 각도별로 필터링.

    후속 경로 계획의 시간을 줄이기 위해, 포즈의 Z축과 기준 방향 사이의 각도를 기준으로 명백하게 피킹할 수 없는 대상 물체를 필터링해야 합니다. 이 예시에서는 최대 각도 차이90°로 설정해야 합니다.

  5. 일반 설정.

    새 포트 수 설정1로 설정하고 스텝에 입력 및 출력 포트가 각각 하나씩 추가되며 3D 대상 물체 인식 스텝이 출력한 대상 물체 이름을 연결하고 이를 출력 스텝으로 출력하십시오.

물체 정보를 출력하기

출력 스텝을 사용하여 대상 물체 중심점, 사전 처리 후의 포인트 클라우드, 대상 물체 이름, 빈 이름, 빈 포즈 등의 정보를 경로 계획을 위한 Mech-Viz에 출력합니다.

경로 계획

대상 물체 인식이 완료되면 Mech-Viz를 사용하여 경로를 계획하고 이후 로봇 프로그램을 작성하여 대상 물체를 피킹합니다.

경로 계획 구성 프로세스는 다음 그림과 같습니다.

viz overall

시나리오 물체 구성

시나리오 모델 구성의 목적은 실제 시나리오 복원을 통해 사용자가 로봇 모션 경로를 계획하는 데 도움이 주는 데에 있습니다. 구체적인 작업 밥법은 시나리오 물체 구성을 참조하십시오.

피킹 가능성을 확보한 후, 실제 작업 환경을 엄격하게 재현하는 전제하에 시나리오 물체를 구성해야 합니다. 이 솔루션의 시나리오 물체 구성은 다음 그림과 같습니다.

viz scene objects configuration effect

말단장치 구성

말단장치를 구성하는 목적은 3D 시뮬레이션 공간에서 말단장치의 모델을 표시하여 충돌 감지에 사용하는 것입니다. 구체적인 작업 밥법은 말단장치 구성을 참조하십시오.

  • 말단장치에 대한 충돌 모델을 생성할 때 시간을 절약하기 위해 생성한 볼록 껍질이 원본 모델의 모든 세부 사항을 완벽하게 복제하는 것이 항상 필요한 것은 아닙니다. 모델의 특정 요구 사항에 따라 일부 세부 정보를 생략할 수도 있습니다.

  • 피킹 시 대상 물체와 실제 접촉하는 부분은 정밀하게 제작해야 하며, 형태가 실제 물체를 정확하게 재현할 수 있도록 해야 충돌 감지의 정확성을 보장할 수 있습니다. 픽 포인트(대상 물체)에서 멀리 떨어진 기계 구조의 경우, 복잡한 구조적 설계 대신 직육면체 볼록 껍질을 사용하여 설계를 간소화하고 효율성을 개선할 수 있습니다. 아래 왼쪽 그림은 원래 모델이고, 오른쪽 그림은 단순화된 모델입니다.

    viz end tool configuration effect

작업 흐름 조정

작업 흐름이란 Mech-Viz에서 플로우 차트의 식으로 구축되는 로봇 이동 컨트롤 프로그램입니다. 시나리오 물체와 말단장치의 구성이 완료 후 실제 요구에 따라 프로젝트의 작업 흐름을 조정할 수 있습니다. 대상 물체를 피킹할 때의 논리 처리 플로우 차트는 아래 그림과 같습니다.

viz adjust workflow overall

로봇의 정상적인 피킹 예시는 아래 그림과 같습니다.

viz normal picking

로봇의 비정상적인 피킹 방식(대상 물체 양 끝에서 흡착하는 경우)은 아래 그림과 같습니다.

viz anormal picking

표준 인터페이스 통신을 사용할 때 프로젝트의 구체적인 작업 흐름은 아래 그림과 같습니다.

viz adjust workflow non master

시뮬레이션 및 테스트

툴 바의 시뮬레이션 버튼을 클릭하면 구축이 완료된 Mech-Viz 프로젝트를 시뮬레이션하여 비전 시스템이 성공적으로 구축되었는지 테스트할 수 있습니다.

대상 물체를 무작위로 빈에 놓은 다음 Mech-Viz 툴 바의 시뮬레이션 버튼을 클릭하여 대상 물체를 피킹하는 동작을 시뮬레이션합니다. 피킹을 성공 할 때마다 대상 물체를 다시 정렬해야 하며, 피킹 루프를 10번 시뮬레이션합니다. 만약 10번의 시뮬레이션 피킹에서 다 원활하게 진행되었다면 비전 시스템은 정상적이로 작동할 수 있다는 것으로 판단될 수 있습니다.

시뮬레이션 과정에서 오류가 발생하는 경우 솔루션 배포 일반적인 문제를 참조하여 문제를 해결하십시오.

로봇 픽 앤 플레이스

로봇 프로그래밍 작성

시뮬레이션 효과가 기대에 부합하면 Kawasaki 로봇 피킹 및 배치 프로그램을 작성할 수 있습니다.

Kawasaki 로봇 피킹 샘플 프로그램은 기본적으로 이 일반사례에 필요한 기능을 충족할 수 있습니다. 샘플 프로그램을 기반으로 수정할 수 있습니다. Kawasaki 로봇 피킹 샘플 프로그램의 세부한 설명은 샘플 프로그램 설명을 참조하십시오.

수정 설명

샘플 프로그램을 기반으로 다음 단계에 따라 프로그램 파일을 수정하세요.

  1. TCP를 정의합니다.

    수정 전 수정 후(예시)
      TOOL gripper ;set TCP
      point tcp1 = trans(0,37.517,390.13,-15,0,0)
      TOOL tcp1 ;set TCP
  2. DO 포트를 설정하여 그리퍼 제어 로직을 추가하고, 그리퍼 상태를 초기화합니다.

    수정 전 수정 후(예시)
      /
      signal 10,-9;set do off
  3. IPC의 IP 주소와 포트 번호를 지정합니다. MM_Init_Socket 명령어 중의 IP 주소와 포트 번호를 IPC 실제 IP 주소와 포트 번호로 수정합니다. 비전 시스템의 설정이 일치하도록 해야 합니다.

    수정 전 수정 후(예시)
      ;Set ip address of IPC
      call mm_init_skt(127,0,0,1,50000)
      ;Set ip address of IPC
      call mm_init_skt(128,1,1,2,60000)
  4. Mech-Viz 프로젝트 실행을 트리거하여 먼저 분기 3으로 전환해 팔레타이징 기록을 리셋한 후, 분기 1로 전환하여 비전 인식을 시작합니다. 그리고 Mech-Viz 프로젝트가 계획한 피킹 경로의 상태 코드를 기반으로 분기 2로 전환하여 비전 인식이 필요한지 여부를 결정합니다.

    수정 전 수정 후
      ;Run Viz project
      call mm_start_viz(1,#start_viz) ;(2,#start_viz) used for ETH viz initial position
      twait 0.1
      ;set branch exitport
      ;call mm_set_branch(1,1)
      ;get planned path
      call mm_get_vizdata(2,pos_num,vispos_num,ret1)
      ;Init Palletizing
      CALL mm_start_viz(2,#start_viz);(2,#start_viz) used for ETH viz initial position
      TWAIT 0.1
      call mm_set_branch(7,3);init Palletizing
      TWAIT 0.1
      CALL mm_start_viz(2,#start_viz);(2,#start_viz) used for ETH viz initial position
      TWAIT 0.1
      call mm_set_branch(7,1)
    10 flag =1
      CALL mm_get_vizdata(1,pos_num,vispos_num,ret1)
      IF ret1<>2100 THEN
        CALL mm_start_viz(2,#start_viz);(2,#start_viz) used for ETH viz initial position
        TWAIT 0.1
        call mm_set_branch(7,2)
        flag =2
        CALL mm_get_vizdata(1,pos_num,vispos_num,ret1)
  5. 상태 코드 2100(Mech-Viz 계획한 경로를 성공적으로 획득했음을 나타냄)을 얻은 후, 로봇을 티칭으로 설정된 이미지 캡처 포인트로 이동합니다.

    수정 전 수정 후(예시)
      /
      JMOVE #camera_capture;move to camera_capture position
  6. 로봇이 계획된 경로를 따라 픽 포인트로 이동하도록 하고, DO 포트를 설정하여 피킹 실행 신호를 추가함으로써 그리퍼를 통해 대상 물체를 피킹하도록 합니다.

    수정 전 수정 후(예시)
      ;follow the planned path to pick
      for count =1 to pos_num
        speed speed[count]
        LMOVE movepoint[count]
        if count == vispos_num then
            ;add object grasping logic here
      ;follow the planned path to pick
      JMOVE #movepoint[1]
      JMOVE #movepoint[2]
      JMOVE #movepoint[3]
      JMOVE #movepoint[4]
      LMOVE #movepoint[5]
      BREAK
      signal 9,-10;set do on
      TWAIT 0.2
      LMOVE #movepoint[6]
      LMOVE #movepoint[7]
  7. flag 결과에 따라 다음 작업을 결정합니다. flag가 2일 경우 현재 피킹하고 있는 대상 물체를 버리고, 그렇지 않으면 정상 배치 워크플로를 진행합니다.

    수정 전 수정 후
      /
      IF flag ==2 then
        break
        signal 10,-9;set do off
        twait 0.2
        JMOVE #movepoint[8]
        JMOVE #movepoint[9]
        TWAIT 2
      ELSE
        JMOVE #movepoint[8]
        end
      CALL mm_start_viz(2,#start_viz);(2,#start_viz) used for ETH viz initial position
      TWAIT 0.1
      call mm_set_branch(7,1)
    
    ;go to drop location
        if flag ==1 then
          JMOVE #movepoint[9]
          JMOVE #movepoint[10]
          break
          signal 10,-9
          twait 0.2
          JMOVE #movepoint[11]
        end
  8. DO 포트 배치하는 신호를 설정하여 대상 물체를 배치합니다. DO 명령어는 현장에서 실제 사용되는 DO 포트 번호에 따라 설정해야 합니다.

    수정 전 수정 후(예시)
      ;add object releasing logic here
      signal 10,-9;set do on
  9. 루프 문을 추가하여 순환적인 어셈블리를 실현합니다.

    수정 전 수정 후(예시)
      /
      JMOVE #camera_capture;move to camera_capture position
      GOTO 10

참고: 수정된 샘플 프로그램

.PROGRAM vision_sample_2()
;----------------------------------------------------------
;* FUNCTION:simple pick and place with Mech-Viz
;* mechmind
;----------------------------------------------------------
  accuracy 1 always
  speed 30 always
  point tcp1 = trans(0,37.517,390.13,-15,0,0)
  TOOL tcp1 ;set TCP
  signal 10,-9;set do off
  Home ;move robot home position
  JMOVE camera_capture ;move to camera_capture position
  break
  pos_num = 0
  ;Set ip address of IPC
  call mm_init_skt(128,1,1,2,60000)
  twait 0.1
  ;Set vision recipe
  ;call mm_switch_model(1,1)
  ;Init Palletizing
  CALL mm_start_viz(2,#start_viz);(2,#start_viz) used for ETH viz initial position
  TWAIT 0.1
  call mm_set_branch(7,3);init Palletizing
  TWAIT 0.1
  CALL mm_start_viz(2,#start_viz);(2,#start_viz) used for ETH viz initial position
  TWAIT 0.1
  call mm_set_branch(7,1)
10 flag =1
  CALL mm_get_vizdata(1,pos_num,vispos_num,ret1)
  IF ret1<>2100 THEN
    CALL mm_start_viz(2,#start_viz);(2,#start_viz) used for ETH viz initial position
    TWAIT 0.1
    call mm_set_branch(7,2)
    flag =2
    CALL mm_get_vizdata(1,pos_num,vispos_num,ret1)
  if ret1 <> 2100
    JMOVE #camera_capture;move to camera_capture position
  end
  for count=1 to pos_num
    call mm_get_pose(count,&movepoint[count],label[count],speed[count])
  end
  ;follow the planned path to pick
  JMOVE #movepoint[1]
  JMOVE #movepoint[2]
  JMOVE #movepoint[3]
  JMOVE #movepoint[4]
  LMOVE #movepoint[5]
  BREAK
  signal 9,-10;set do on
  TWAIT 0.2
  LMOVE #movepoint[6]
  LMOVE #movepoint[7]
  IF flag ==2 then
    break
    signal 10,-9;set do off
    twait 0.2
    JMOVE #movepoint[8]
    JMOVE #movepoint[9]
    TWAIT 2
  ELSE
    JMOVE #movepoint[8]
    end
  CALL mm_start_viz(2,#start_viz);(2,#start_viz) used for ETH viz initial position
  TWAIT 0.1
  call mm_set_branch(7,1)

;go to drop location
    if flag ==1 then
      JMOVE #movepoint[9]
      JMOVE #movepoint[10]
      break
      twait 0.2
      JMOVE #movepoint[11]
    end
  signal 10,-9;set do on
  JMOVE #camera_capture;move to camera_capture position
  GOTO 10
END

피킹 테스트

실제 생산의 안정적인 운영을 보장하기 위해 수정된 샘플 프로그램을 실행하여 로봇이 대상 물체를 피킹하는 테스트를 진행해야 합니다. 구체적인 방법은 표준 인터페이스 통신 테스트를 참조하세요.

피킹 테스트 하기전에 먼저 다음 포인트를 티칭으로 설정하십시오.

명칭 변수 설명

TCP(말단장치의 센터 포인트)

TCP

포즈 변수 gripper에 의해 정의되며, 티치 펜던트를 사용하여 티칭하십시오.

Home 포인트

home

티칭을 시작하는 초기 위치. 원점은 대상 물체나 주변 설비와 멀리 떨어지고 카메라 시야를 거리지 말아야 합니다.

이미지 캡처 포인트

camera_capture

티칭으로 설정한 이미지 캡처 위치. 이미지 캡처 위치는 카메라가 이미지를 캡처할 때 로봇이 있는 위치를 ​​의미합니다. 이 위치에서는 로봇 팔이 카메라 시야를 가리지 말아야 합니다.

배치의 중간 웨이포인트

movepoint[8]

중간 웨이포인트를 추가하면 로봇이 부드럽게 이동할 수 있으며, 불필요한 충돌을 방지할 수 있습니다.

배치 포인트

movepoint[11]

대상 물체를 배치하는 목표점.

티칭이 완료된 후, 아래 표에 나열된 시나리오에 대상 물체를 배치하고, 순서대로 로봇을 사용하여 저속 피킹을 테스트합니다.

크롤 테스트는 다음의 세 단계로 나뉩니다:

단계1: 단일 대상 물체 피킹 테스트

대상 물체 배열 상태

이미지 예시

대상 물체는 빈 중앙에 수평으로 놓입니다.

picking test 1

대상 물체는 빈 중앙에 수직으로 놓입니다.

picking test 2

대상 물체는 수직으로 위를 향하게 하여 빈 중앙에 놓입니다.

picking test 3

대상 물체는 빈의 모서리에 놓입니다.

picking test 4
picking test 5

단계2: 인접 대상 물체 간섭 테스트

대상 물체 배열 상태

이미지 예시

대상 물체의 원통면이 밀착되어 빈 중앙에 배치되어 있습니다.

picking test 6

대상 물체의 단면이 밀착되어 빈 중앙에 배치되어 있습니다.

picking test 7

단계3: 실제 시나리오에서 피킹 테스트

대상 물체 배열 상태

이미지 예시

실제 시나리오를 참고하여 대상 물체를 무작위 순서로 배치합니다.

picking test 8

위의 피킹 테스트 시나리오에서 로봇이 다 대상 물체를 성공적으로 피킹할 수 있다면, 비전 시스템이 성공적으로 배포된 것으로 판단할 수 있습니다.

이 페이지가 도움이 되었습니까?

다음 방법을 통해 피드백을 보내주실 수 있습니다:

저희는 귀하의 개인정보를 소중히 다룹니다.

당사 웹사이트는 최상의 사용자 경험을 제공하기 위해 쿠키를 사용하고 있습니다. "모두 수락"을 클릭하시면 쿠키 사용에 동의하시는 것이며, "모두 거부"를 클릭하시면 이 웹사이트 방문 시 귀하의 정보가 추적되거나 기억되지 않도록 단일 쿠키만 사용됩니다.