충돌 감지
이 부분에서 충돌 감지와 관련된 구성에 대해 소개합니다.
소개
부품 로드&언로드, (디)팔레타이징 등 응용 시나리오에서 프로젝트의 지속적인 실행을 위해 로봇과 빈 또는 다른 장애물 사이의 충돌을 방지하는 것은 아주 중요합니다. Mech-Viz는 충돌 감지 기능을 통해 로봇의 이동 과정에서 발생하는 불필요한 충돌을 방지할 수 있으며 로봇의 실제 이동 경로를 계획할 때 Mech-Viz 는 충돌이 발생한 부분을 3D 시뮬레이션 공간에서 하이라이트로 표시하여 프로젝트를 종료하는 식으로 사용자에게 충돌 위험을 알립니다.
충돌 감지 구성
충돌 감지 패널에서 충돌 감지 구성 버튼을 클릭하여 충돌 감지 구성 화면으로 들어가서 구성할 수 있습니다.
충돌 감지는 두 가지 유형의 충돌 모델의 조합으로 이루어지며 다양한 충돌 감지 유형이 포함됩니다. Mech-Viz에서는 기본적으로 다음 객체 사이의 충돌을 감지합니다: 로봇 관절 - 로봇 관절, 로봇 관절 - 시나리오 물체, 로봇 관절 - 말단장치, 시나리오 물체 - 말단장치. 또한 포인트 클라우드와 피킹된 작업물을 구성할 수도 있습니다. 구성하기 전에 프로젝트 리소스에서 해당 충돌 모델을 추가하고 구성해야 합니다.
포인트 클라우드와 다른 물체의 충돌을 감지하기
왼쪽 포인트 클라우드 구성 패널에서 포인트 클라우드와 다른 물체의 충돌을 감지하기 버튼을 선택하면 포인트 클라우드와 말단장치 사이의 충돌을 감지합니다. 뿐만 아니라 포인트 클라우드와 로봇 관절, 피킹된 물체의 충돌 감지를 구성할 수 있습니다.
Mech-Viz는 "비전 이동" 스텝 및 "비전 이동"에 의존하는 "상대적인 이동" 스텝에 대해서만 포인트 클라우드와의 충돌을 감지하고 다른 이동 스텝에 대해 포인트 클라우드와의 충돌을 감지하지 않습니다. |
-
포인트 클라우드 정육면체 변의 길이
포인트 클라우드 정육면체는 포인트 클라우드 중의 포인트를 중심으로 생성된 정육면체입니다. 포인트 클라우드 정육면체가 다른 물체와 충돌하면 포인트 클라우드가 물체와 충돌하는 것으로 간주합니다.
충돌 감지 정밀도와 속도에 대한 구체적인 요구 사항에 따라 포인트 클라우드 정육면체 변의 길이의 값을 조정하십시오. 이 파라미터를 줄이면 감지 속도는 느려지지만 감지 정밀도는 향상됩니다. 반대로 이 파라미터를 늘리면 감지 속도는 빨라지지만 감지 정확도가 떨어집니다.
-
포인트 클라우드 충돌 계산 모드
프로젝트 디버깅 단계에는 “전체 계산” 옵션을 사용하는 것이 좋으며, 디버깅이 안정된 후에는 “최소 계산” 옵션을 사용하는 것이 좋습니다.
옵션 설명 최소 계산
계산 속도는 빠르지만 기록된 정보는 불완전합니다. 계획 기록에 보고된 “포인트 클라우드 충돌 부피”는 최종값이 아니며, 충돌을 일으킨 포인트 클라우드는 기록되지 않습니다. 이 모드가 프로젝트 디버깅이 안정된 후의 생산 단계에 적용됩니다.
전체 계산
계산 속도는 느리지만 완전한 정보를 기록할 수 있습니다. 계획 기록에 보고된 “포인트 클라우드 충돌 부피”는 최종값입니다.해당 항목을 클릭하면 충돌이 발생한 포인트 클라우드를 확인할 수 있습니다. 이 모드가 프로젝트 디버깅 단계에 적용됩니다.
포인트 클라우드 및 말단장치
“말단장치 구성” 패널의 “충돌 부피 역치”는 포인트 클라우드 정육면체와 말단장치 충돌 모델 사이에 허용되는 충돌 부피를 나타냅니다. 충돌 부피가 이 역치를 초과하면 충돌이 발생한 것으로 간주됩니다.
실제 프로젝트 요구 사항에 따라 충돌 부피 역치의 값을 설정하십시오.
피킹된 작업물과 다른 물체 사이의 충돌 구성
피킹된 작업물과 다른 물체 간의 충돌을 감지하며 주로 작업물을 옮기는 과정에서의 충돌을 감지하는 데 사용됩니다.
기하학적 입체
기하학적 입체 모델을 추가하는 방식
Mech-Viz는 Mech-Vision에서 제공한 작업물 치수에 따라 직육면체, 원기둥 작업물의 충돌 모델을 자동으로 생성할 수 있습니다. 따라서 Mech-Vision에서 관련 구성을 수행하여 작업물의 치수를 출력해야 합니다.
구성 프로세스:
-
Mech-Vision에서 “평면 포인트 클라우드의 포즈와 크기를 계산하기”(다중 물체 시나리오에 사용하는 것을 권장함) 또는 “물체 사이즈 읽기”(단일 물체 시나리오에 사용하는 것을 권장함) 스텝을 사용하여 작업물의 치수 정보를 획득하십시오.
-
“출력” 스텝을 통해 치수 정보를 출력하면 Mech-Viz는 작업물의 치수 정보를 획득하고 대응한 충돌 모델을 생성할 수 있습니다.
출력한 "픽 포인트의 포즈" 와 "물체 치수" 의 수가 일치해야 합니다.
사용자 정의 모델
사용자 정의 모델을 추가하는 방식
구성 프로세스:
-
작업물의 . stl 및 . binvox 모델 파일을 Mech-Viz 프로젝트 폴더에 있는
collision_models
파일(이 파일이 없으면 새로 생성해야 함)에 옮깁니다. -
Mech-Vision에서 해당 스텝의 “포즈 분류 레이블” 포트를 통해 레이블 이름을 확인하고 모델 파일의 이름을 대응한 레이블 이름으로 수정합니다. Mech-Viz 프로젝트 리소스 트리의 “작업물 구성”에 작업물 이름이 레이블 이름과 일치해야 합니다.
-
Mech-Vision에서 “포인트 클라우드를 외부 서비스로 보내기” 스텝의 물체 정보를 전송하기파라미터를 선택하여 입력은 카메라 좌표계에 있는지를 언체크하며 해당 스텝의 모든 입력 포트에 데이터 스트림을 연결시켜야 합니다.
출력한 포인트 클라우드와 포즈는 모두 로봇 좌표계에 있어야 합니다. |
충돌 테이블 범례 설명
-
[회색 블록] 충돌이 감지되지 않거나 충돌이 발생하지 않습니다.
-
[파란색 블록] 접촉이 있으면 충돌이 감지된 것으로 간주됩니다.
-
[주황색 블록] 설정된 부피 역치보다 작은 접촉 부분의 충돌을 고려하지 않습니다. 즉 충돌 부피가 역치를 초과하면 충돌로 간주됩니다.
접촉 부피는 경로 샘플링 전체에서 설정된 역치 미만으로 유지되며 충돌이 감지되지 않습니다.
접촉 부피는 경로 샘플링 과정에서 설정된 역치를 초과하고 충돌이 감지되었습니다.
-
[녹색 블록] 피킹된 작업물 하단 안전 거리 범위 내에 물체가 있으면 충돌이 감지된 것으로 간주됩니다.
-
[노란색 블록] 충돌 부피가 처음에 설정한 역치보다 크지만 항상 감소되는 경우와 충돌 부피가 설정된 역치보다 작은 경우 이런 충돌들을 무시합니다.
접촉 부피가 설정된 부피 역치를 초과하더라도 접촉 부피가 경로 샘플링 전체에서 감소 추세를 보이는 충돌은 소프트웨어에서 허용됩니다.