샘플 프로그램2: Mech-Viz가 계획한 경로를 획득하기

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

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

프로그램 소개

기능 설명

로봇이 Mech-Viz 프로젝트 실행을 트리거하고 경로 계획 결과를 획득하여 피킹 작업을 수행합니다.

필요한 프로젝트

Mech-Vision프로젝트 와 Mech-Viz 프로젝트

사용 전제 조건

  1. 표준 인터페이스 통신 구성이 완료됩니다.

  2. 자동 캘리브레이션이 완료됩니다.

이 샘플 프로그램은 참고용으로 제공됩니다. 사용자는 실제 상황에 맞춰 이 내용을 바탕으로 수정해야 하며, 해당 프로그램을 그대로 사용하지 않도록 하십시오.

프로그램 설명

다음은 구성한 예시 프로그램으로, 참고용으로만 제공됩니다.

sample 2 1

아래 표는 위 프로그램에 대한 설명입니다. 명령어 이름의 링크를 클릭하면 해당 명령의 상세 설명을 확인할 수 있습니다.

워크플로 코드와 설명

통신 파라미터 초기화

mm_init_socket

mm_init_socket: 통신을 초기화하는 명령어입니다. 파라미터는 다음과 같습니다.

sample 1 2
  • 192.168.10.182: IPC의 IP 주소.

  • 50000: IPC의 포트 번호.

따라서 전체 명령어는 로봇이 mm_init_socket 명령어를 통해 통신 대상(IPC)의 IP 주소와 포트 번호를 지정함을 나타냅니다.

사용자는 실제 상황에 맞게 이 부분의 IPC IP 주소와 포트 번호를 수정하여, 비전 시스템에서 설정한 파라미터와 일치하도록 해야 합니다.

카메라 이미지 캡처 위치로 이동하기

MoveJ
	path_0
  • MoveJ: 로봇의 관절 각도 이동 명령어로, 로봇이 곡선 경로를 따라 지정된 위치로 이동함을 의미합니다.

  • path_0: 로봇이 이동할 목표 위치를 지정하며, 이는 티칭된 카메라 사진 캡처 위치를 의미합니다. 사진 캡처 포인트는 카메라가 이미지를 획득할 때 로봇의 위치를 ​​의미합니다. 이 위치에서는 로봇 팔이 카메라 시야를 가리지 않아야 합니다.

티칭을 통해 카메라 이미지 캡처 위치를 설정해야 합니다. 자세한 설명은 캘리브레이션 매뉴얼 중의 티치 펜던트를 통해 캘리브레이션 시작점을 설정하기 내용을 참조하세요.

통신 구축

mm_open_socket

로봇은 mm_open_socket명령어를 통해 비전 시스템과 TCP 프로토콜 통신 연결을 설정합니다.

Mech-Viz 프로젝트 실행을 트리거하기

mm_start_viz

mm_start_viz:Mech-Viz 프로젝트 실행을 트리거하는 명령어입니다. 파라미터는 다음과 같습니다.

sample 2 2
  • Current Position: 로봇의 현재 관절 각도와 플랜지 포즈를 Mech-Viz프로젝트로 전송합니다.

  • 90,90,90,90,90,90: 이전 파라미터 값이 Current Position이므로, 여기의 관절 각도 데이터는 실제 의미가 없으며 사용자가 수정할 필요가 없습니다.

따라서, 이 명령어는 로봇이 비전 시스템을 트리거하여 Mech-Viz 프로젝트를 실행한 후, Mech-Vision가 출력한 비전 결과를 기반으로 Mech-Viz는 로봇의 피킹 경로를 계획한다는 것을 나타냅니다.

계획 경로를 가져와 각 웨이 포인트로 이동하기

mm_get_data

mm_get_data: 데이터를 가져오는 명령어이며, 파라미터는 다음과 같습니다.

sample 2 3
  • From Viz: Mech-Viz에서 데이터를 가져옵니다.

  • mm_get_viz_data: 계획 경로를 가져옵니다.

  • 1: 획득한 웨이 포인트의 포즈 유형을 관절 각도로 지정합니다.

  • pose_num: 이 변수는 비전 시스템이 반환한 웨이 포인트의 개수를 저장합니다.

  • ss: 이 변수는 비전 이동 웨이 포인트(피킹 웨이포인트)의 경로 내 위치 번호를 저장합니다.

  • g_mm_status(전역 변수): 이 변수는 명령어 실행 상태 코드를 저장하는 것입니다.

따라서, 이 명령어는 로봇이 Mech-Viz 프로젝트가 반환한 계회된 경로를 획득하는 명령어입니다.

반환된 계획 경로는 로봇의 메모리에 저장되며, 직접적으로 얻을 수 없습니다. 후속 작업인 "계획 경로를 덤프하기"을 통해서만 접근할 수 있습니다.

계획 경로를 덤프하기

If g_mm_status==2100

상태 코드 g_mm_status가 2100일 경우 로봇이 계획 경로를 성공적으로 획득합니다. 그렇지 않으면 비전 시스템이 오류사 발생합니다. 사용자는 구체적인 비정상 상태 코드에 따라 적절한 처리를 수행할 수 있습니다.

aaa:=1
loop_0 aaa<=pose_num
	i_pose1:={}
    mm_get_posjps
	MoveJ
		i_pose1
	aaa:=aaa+1
  • aaa: 이 변수는 루프 횟수를 제어하는 데 사용되며, 동시에 웨이 포인트의 인덱스 번호를 지정하는 데도 사용됩니다. 초기값은 1입니다.

  • loop_0 aaa<=pose_num: 웨이 포인트 데이터를 루프를 통해 하나씩 가져오고, 해당 위치로 이동합니다.

  • i_pose1: 이 변수는 웨이 포인트의 관절 각도 데이터를 저장하는 데 사용되며, 초기값은 {}입니다.

  • mm_get_posjps: 데이터를 전송하는 명령어이며, 파라미터는 다음과 같습니다.

    sample 2 4
    • mm_get_jps: 특정 웨이 포인트의 관절 각도, 라벨 및 말단장치 번호를 지정된 변수에 전송합니다.

    • aaa: 이 변수는 전송할 웨이 포인트의 인덱스 번호를 지정하는 데 사용됩니다. 예를 들어 aaa가 1이면 첫 번째 웨이 포인트의 데이터를 전송함을 의미합니다.

    • i_pose1: 이 변수는 aaa번째 웨이 포인트의 관절 각도를 저장합니다.

    • l1: 이 변수는 aaa번째 웨이 포인트에 대응하는 말단장치 번호를 저장합니다.

    • s1: 이 변수는 aaa번째 웨이 포인트에 대응하는 라벨을 저장합니다.

    따라서 전체 명령어는 aaa번째 웨이 포인트의 관절 각도, 라벨 및 말단장치 번호를 각각 지정된 변수에 전송함을 나타냅니다.

  • MoveJ i_pose1: 로봇이 관절 각도 이동 방식으로 웨이 포인트까지 이동합니다.

  • 변수 ss는 비전 이동 웨이 포인트가 경로에서 차지하는 위치 번호를 나타냅니다. 따라서 경로의 ss번째 웨이 포인트는 피킹 포인트일 수 있습니다.

  • 로봇이 피킹 포인트로 이동한 후, 사용자는 실제 작업 상황에 따라 DO 설정 작업을 추가하여 말단장치를 제어해 피킹을 수행할 수 있습니다.

  • 사용자는 실제 작업 상황에 따라 피킹 전후에 여러 개의 경유점을 추가할 수 있습니다. 이를 통해 로봇의 이동을 더 부드럽게 하고, 동시에 불필요한 충돌을 피할 수 있습니다.

통신을 종료하기

mm_close_socket

로봇은 mm_close_socket 명령어를 통해 비전 시스템과 TCP 프로토콜 통신 연결을 끊깁니다.

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

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

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

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