충돌 감지
이 부분에서 충돌 감지와 관련된 구성에 대해 소개합니다.
소개
머신 텐징, 디/팔레타이징 등 응용 시나리오에서 프로젝트의 중단 없는 실행을 보장하려면 로봇이 빈 또는 기타 장애물과 충돌하지 않도록 하는 것이 매우 중요합니다. 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에서 “포인트 클라우드를 외부 서비스로 보내기” 스텝의 물체 정보를 전송하기파라미터를 선택하여 입력은 카메라 좌표계에 있는지를 언체크하며 해당 스텝의 모든 입력 포트에 데이터 스트림을 연결시켜야 합니다.
출력한 포인트 클라우드와 포즈는 모두 로봇 좌표계에 있어야 합니다. |
충돌 테이블 범례 설명
-
[회색 블록] 충돌이 감지되지 않거나 충돌이 발생하지 않습니다.
-
[파란색 블록] 접촉이 있으면 충돌이 감지된 것으로 간주됩니다.
-
[주황색 블록] 설정된 부피 역치보다 작은 접촉 부분의 충돌을 고려하지 않습니다. 즉 충돌 부피가 역치를 초과하면 충돌로 간주됩니다.
접촉 부피는 경로 샘플링 전체에서 설정된 역치 미만으로 유지되며 충돌이 감지되지 않습니다.
접촉 부피는 경로 샘플링 과정에서 설정된 역치를 초과하고 충돌이 감지되었습니다.
-
[녹색 블록] 피킹된 작업물 하단 안전 거리 범위 내에 물체가 있으면 충돌이 감지된 것으로 간주됩니다.
-
[노란색 블록] 충돌 부피가 처음에 설정한 역치보다 크지만 항상 감소되는 경우와 충돌 부피가 설정된 역치보다 작은 경우 이런 충돌들을 무시합니다.
접촉 부피가 설정된 부피 역치를 초과하더라도 접촉 부피가 경로 샘플링 전체에서 감소 추세를 보이는 충돌은 소프트웨어에서 허용됩니다.