쉽게 배우는 ABB 팬던트 컨트롤러: MoveL 및 Offs 함수 사용법 / 초보자를 위한 ABB 팬던트 컨트롤러 가이드: 간단한 루프와 이동 명령 작성 /

2024. 7. 12. 15:19충남 인력개발원

 

https://www.notion.so/ABB-66b86a5881704f41b5b3ebb8871dd32c?pvs=4

개인 노션의 링크입니다 공식 문서를 버전 맞춰 넣어놓았습니다!

https://library.abb.com/r?cid=9AAC213015&dk=manual

 

ABB Library - IRB 1600

linkGet linkYour query contains phrase «OR» which is not allowed for this function.Currently this feature is not available for Installations.

library.abb.com

( ABB IRB 1600 글로벌 메뉴얼이 들어가있는 링크입니다 국문버전은 없기에 중문이 가능하신분은 중문으로 보시거나 영문 기반으로 보시는걸 추천드립니다! )

https://library.abb.com/r?cid=9AAC211283

 

ABB Library - IRC5 Single

PUBLIC Product manual, IRC5 English The product manual includes installation, maintenance, repair and spare parts for IRC5, with main computer DSQC10xx.

library.abb.com

(  팬던트 컨트롤러 메뉴얼입니다! )

13 ABB 1200 변수선언 추가 및 티칭팬던트로 값 입력받기

추천채널

 

(Sub)ABB RobotStudio 기초강의(Basic Lecture) 01강. 로봇스튜디오 시작하기

https://youtu.be/Yg6RY-cGw54?si=LVsHmgAhkI4qlchq

ABB RobotStudio Tutorials ( US version )
실제 구동 영상입니다

ABB 로봇 프로그래밍에서 점프 명령어와 유사한 제어 명령어들을 비교하여 설명하겠습니다. 각 명령어는 특정 상황에서 유용하며, 사용자의 필요에 따라 적절하게 선택할 수 있습니다.

MoveJ (Joint Move)

  • 기능: 조인트 이동을 통해 로봇을 지정된 위치로 이동합니다.
  • 특징:
    • 빠르고 효율적입니다.
    • 경로가 부드럽고 자연스럽습니다.
    • 정밀도가 다소 낮을 수 있습니다.
  • 사용 사례: 빠른 이동이 필요한 작업, 정밀도가 덜 중요한 경우.
  • 구문:
  • rapid코드 복사 MoveJ target, v_speed, z_zone, tool;

MoveL (Linear Move)

  • 기능: 로봇을 직선 경로로 지정된 위치로 이동합니다.
  • 특징:
    • 높은 정밀도를 제공합니다.
    • 경로가 직선으로 유지됩니다.
    • 상대적으로 느릴 수 있습니다.
  • 사용 사례: 고정밀 작업, 특정 경로를 따라 이동해야 하는 경우.
  • 구문:
  • rapid코드 복사 MoveL target, v_speed, z_zone, tool;

MoveC (Circular Move)

  • 기능: 로봇을 원호 또는 곡선 경로를 따라 지정된 위치로 이동합니다.
  • 특징:
    • 두 개의 위치와 중심점을 지정하여 원호 이동을 수행합니다.
    • 복잡한 경로를 쉽게 설정할 수 있습니다.
  • 사용 사례: 원호 경로를 따라 이동해야 하는 작업, 용접 또는 곡선 트레이싱 작업.
  • 구문:
  • rapid코드 복사 MoveC target1, target2, v_speed, z_zone, tool;

MoveAbsJ (Absolute Joint Move)

  • 기능: 로봇의 각 조인트를 절대 위치로 이동합니다.
  • 특징:
    • 조인트 각도에 기반한 절대적인 이동을 수행합니다.
    • 각 조인트를 개별적으로 제어할 수 있습니다.
  • 사용 사례: 특정 조인트 위치로 이동해야 하는 경우, 초기 위치 설정.
  • 구문:
  • rapid코드 복사 MoveAbsJ jtarget, v_speed, z_zone, tool;

Jump (Jump Move)

  • 기능: 로봇을 지정된 위치로 이동하되, 중간 장애물을 회피하는 경로로 이동합니다.
  • 특징:
    • 로봇이 장애물을 피하여 안전하게 이동할 수 있습니다.
    • 중간 경로를 계산하여 장애물 위로 점프하는 형태로 이동합니다.
  • 사용 사례: 작업 영역에 장애물이 있을 때, 장애물을 피해서 이동해야 하는 경우.
  • 구문:
  • rapid코드 복사 Jump target, v_speed, z_zone, tool, jump_height;

비교 요약

명령어 경로 타입 특징 사용 사례

MoveJ 조인트 빠르고 효율적, 부드러운 경로 빠른 이동이 필요한 작업
MoveL 직선 높은 정밀도, 직선 경로 유지 고정밀 작업, 특정 경로 이동
MoveC 원호 원호 이동, 복잡한 경로 설정 원호 경로 이동, 용접, 곡선 트레이싱
MoveAbsJ 절대 조인트 각 조인트를 절대 위치로 이동 특정 조인트 위치 이동, 초기 위치 설정
Jump 장애물 회피 장애물 회피 경로로 이동 장애물이 있는 작업 영역 이동

이 표를 통해 각 명령어의 특징과 사용 사례를 비교할 수 있습니다. 특정 작업에 적합한 명령어를 선택함으로써 로봇의 성능과 작업 효율성을 극대화할 수 있습니다.

Jump 명령어 예제 코드

rapid코드 복사
PROC main()
    VAR pos p1 := [[500,0,600],[1,0,0,0]];  // 목표 위치 정의
    VAR speeddata v200 := [200,500,5000,1000];  // 속도 데이터 정의
    VAR zonedata z0 := [0,0,0,1];  // Zone 데이터 정의
    VAR tooldata tool1 := [TRUE, [[0,0,0],[1,0,0,0]], [0,0,0,1,0,0,0]];  // 도구 데이터 정의

    Jump p1, v200, z0, tool1, 100;  // 장애물을 회피하며 점프 이동
ENDPROC

주요 특징

  • Jump 명령어는 장애물을 피하면서 안전하게 이동할 수 있도록 도와줍니다.
  • MoveJ, MoveL, MoveC 명령어는 각각 조인트, 직선, 원호 이동을 제어하며, 다양한 작업 상황에서 사용될 수 있습니다.

이러한 명령어들을 적절히 활용하여 로봇의 이동을 효과적으로 제어할 수 있습니다.


  • The Difference Between MoveL, MoveJ, and MoveAbsJ Movement Instructions in ABB Robots
    • 이 영상은 MoveL, MoveJ, MoveAbsJ 명령어의 차이점과 각 명령어가 사용하는 경로 타입을 설명합니다.
    • 영상 링크
  • Motion Instructions | Programming in RAPID ABB Robots | Robotic Systems (OLD)
    • MoveJ, MoveL, MoveC 등의 명령어를 RAPID 프로그래밍 언어에서 사용하는 방법과 수학적 원리를 설명합니다.
    • 영상 링크
  • MoveJ, MoveL, and MoveP | Cobot Tutorial Vlog #4
    • MoveJ, MoveL, MoveP 명령어의 동작 방식과 경로 계획을 비교 설명합니다.
    • 영상 링크
  • Motion MoveC at an Angle in ABB Robotstudio
    • MoveC 명령어를 사용하여 원호 경로를 설정하는 방법을 설명하며, 각 경로 타입의 수학적 배경을 다룹니다.
    • 영상 링크

 

 

 

 

 


 

MoveAbsJ 명령어를 활용한 시연 영상

 

 

 

ABB 로봇의 터치 팬던트를 통해 사용자로부터 입력을 받아 그에 따라 동작을 수행하기 위한 기본적인 인터페이스를 제공합니다. 코드의 흐름을 분석하고 어떤 동작을 수행하는지 설명하겠습니다.

함수 설명

코드

rapid코드 복사
VAR num user_num;

PROC main()
    TPErase;
    TPWrite "--------Select '1' or '2'--------";
    TPReadNum user_num, "Select num?";
    TPWrite "Select '1' or '2'"\\Num:=user_num;
    Waittime 2;
ENDPROC

코드 분석

  1. 변수 선언
    • user_num: 사용자가 입력한 숫자를 저장할 변수입니다.
  2. rapid코드 복사 VAR num user_num;
  3. 프로시저 시작
    • main(): 프로그램의 주요 동작을 정의하는 프로시저입니다.
  4. rapid코드 복사 PROC main()
  5. 화면 지우기
    • TPErase: 터치 팬던트의 화면을 지웁니다.
  6. rapid코드 복사 TPErase;
  7. 메시지 출력
    • TPWrite: 터치 팬던트에 메시지를 출력하여 사용자가 '1' 또는 '2'를 선택하도록 유도합니다.
  8. rapid코드 복사 TPWrite "--------Select '1' or '2'--------";
  9. 숫자 입력 받기
    • TPReadNum: 터치 팬던트에서 숫자를 입력받아 user_num 변수에 저장합니다. "Select num?" 메시지를 사용자에게 표시합니다.
  10. rapid코드 복사 TPReadNum user_num, "Select num?";
  11. 입력 확인 메시지 출력
    • TPWrite: 사용자가 입력한 숫자를 다시 출력하여 확인합니다.
  12. rapid코드 복사 TPWrite "Select '1' or '2'"\\Num:=user_num;
  13. 대기 시간
    • Waittime 2: 프로그램이 2초 동안 대기합니다.
  14. rapid코드 복사 Waittime 2;
  15. 프로시저 종료
  16. rapid코드 복사 ENDPROC

동작 목적

이 프로그램은 터치 팬던트를 통해 사용자가 '1' 또는 '2' 중 하나를 선택하게 하고, 선택한 값을 화면에 다시 출력하여 확인하는 단순한 인터페이스를 제공합니다. 주로 사용자가 로봇의 다음 동작을 선택하거나 특정 설정을 확인할 때 유용하게 사용할 수 있습니다.