Teaching 포인트를 활용한 ABB IRB 1600 Routine 설계 가이드 / 초보자를 위한 ABB IRB 1600 Routine 작성 및 최적화 / 자동화 작업 최적화: ABB IRB 1600의 Routine 작성법

2024. 7. 11. 12:38충남 인력개발원

 

 

ABB CC-Link setting.pdf
1.67MB

 

ABB ROBOT IRB1200 CCLINK 세팅 메뉴얼

3HAC046983 PM IRB 1200-en.zip
18.70MB

 

 Product manual IRB 1200


https://youtu.be/-4ba-AGCuKM?si=DCPqLah3NiFOY-xi

ABB 1200 산업용로봇 충남인력개발원 강영민 교수 전체 재생목록 링크

 

https://youtu.be/MH-wZHwDWrA?si=2TRjvdi-U4d5kU01

ABB IRB 1600 초기 설명영상

 

https://new.abb.com/products/robotics/robots/articulated-robots/irb-1200

 

IRB 1200 | ABB Robotics

A compact, flexible, fast and functional small industrial robot, IRB 1200, Payload: 5, 7 kg; Reach: 0.7, 0.9 m

new.abb.com

 

https://www.youtube.com/user/ABBRobotics

 

ABB Robotics

ABB is a leading supplier of industrial robots and robot software, equipment and complete application solutions. We’re at home in 53 countries and have installed more than 400,000 robots, supported by the broadest service network and offering in the indu

www.youtube.com

( 공식 ABB사의 유튜브 채널 )


RAPID ( 래퍼드언어 기반으로 동작되며 하단은 오픈소스 프로젝트리스트입니다 )

ABB IRB 1200

 

오픈 소스 프로젝트

  1. open-abb-driver:
    • 이 프로젝트는 ABB 로봇을 원격으로 제어할 수 있는 방법을 제공합니다. RAPID 언어로 작성된 프로그램과 원격 컴퓨터에서 로봇과 상호 작용할 수 있는 여러 라이브러리로 구성되어 있습니다. ROS 드라이버, Python, 또는 C++ 라이브러리를 사용하여 직접 로봇과 통신할 수 있습니다.
    • GitHub 링크: open-abb-driver (GitHub).
  2. ABB_BaR_SDK_Control:
    • 이 프로젝트는 OPC UA를 통한 클라이언트-서버 통신을 데모합니다. C# 콘솔 앱에서 구현된 이 애플리케이션은 ABB의 PC 소프트웨어 개발 키트(PC SDK)를 통해 ABB 로봇과 통신합니다. 성능 최적화를 위해 다중 스레드 프로그래밍을 사용합니다.
    • GitHub 링크: ABB_BaR_SDK_Control (GitHub).
  3. abb_libegm:
    • 이 C++ 라이브러리는 Externally Guided Motion (EGM)을 지원하는 ABB 로봇 컨트롤러와의 인터페이스를 제공합니다. UDP 통신을 사용하여 로봇의 정밀한 제어가 가능합니다.
    • GitHub 링크: abb_libegm (GitHub).

공식 문서

  1. ABB 로봇 공식 홈페이지:
    • 다양한 ABB 로봇 모델의 사양, 매뉴얼 및 소프트웨어 다운로드 링크를 제공합니다.
    • ABB 로봇
  2. RAPID 프로그래밍 언어 매뉴얼:
    • RAPID 언어의 문법, 함수, 예제 코드 등이 포함된 참고 문서입니다.
    • RAPID Reference Manual

유용한 유튜브 채널

  1. ABB Robotics:
  2. Robotics and Automation News:
  3. Automation World:

 

ABB IRB 1200의 주요 특징

  1. 모델명 및 사양
    • 모델명: IRB 1200-5/0.9
    • 페이로드: 5kg
    • 작업 반경: 0.9m (900mm)
    • 무게: 54kg
    • 생산 연도: 2017년
  2. 주요 특징
    • 컴팩트한 디자인: 제한된 공간에서도 유연하게 설치할 수 있는 작은 크기의 디자인.
    • 다양한 애플리케이션: 조립, 픽 앤 플레이스, 자재 취급 등 다양한 작업에 적합.
    • 고속 작업: 짧은 사이클 타임으로 높은 생산성 제공.
    • 정밀한 움직임: 높은 반복 정밀도로 정밀한 작업 가능.

로봇과 PC 간 통신 설정 방법

  1. 로봇의 IP 설정
    • 로봇 컨트롤러의 IP 주소를 설정합니다. 일반적으로 ABB 로봇은 기본 IP 주소를 가지고 있으며, 이를 필요에 따라 변경할 수 있습니다.
    • 예를 들어, 기본 IP 주소는 192.168.125.1일 수 있습니다.
  2. PC의 네트워크 설정
    • PC를 로봇과 동일한 서브넷으로 설정합니다. 예를 들어, 로봇의 IP가 192.168.125.1이라면 PC의 IP는 192.168.125.x로 설정합니다.
    • 이더넷 케이블을 사용하여 PC와 로봇 컨트롤러를 직접 연결하거나, 같은 네트워크 내의 스위치를 통해 연결합니다.
  3. ABB RobotStudio 사용
    • ABB의 RobotStudio 소프트웨어를 설치하여 로봇과의 통신을 설정하고, 로봇의 동작을 시뮬레이션 및 프로그래밍합니다.
    • RobotStudio에서 '온라인 모드'로 전환하고, 로봇의 IP 주소를 입력하여 연결합니다.
  4. RAPID 서버 모듈 설치
    • 로봇 컨트롤러에 RAPID 서버 모듈을 설치합니다. 이 모듈은 외부에서 로봇을 제어할 수 있도록 해줍니다.
    • 예를 들어, SERVER.mod 파일을 로봇에 업로드하고, 로봇의 메인 프로그램으로 설정합니다.

예제 코드 (C언어를 사용한 TCP/IP 소켓 클라이언트)

다음은 C언어를 사용하여 로봇에 명령을 보내는 간단한 TCP/IP 소켓 클라이언트 예제입니다:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <arpa/inet.h>
#define ROBOT_IP "192.168.125.1"
#define ROBOT_PORT 1025

int main() {
    int sock;
    struct sockaddr_in server_addr;
    char message[1024];
    int str_len;

    sock = socket(PF_INET, SOCK_STREAM, 0);
    if (sock == -1) {
        printf("Socket creation error\\n");
        return -1;
    }

    memset(&server_addr, 0, sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_addr.s_addr = inet_addr(ROBOT_IP);
    server_addr.sin_port = htons(ROBOT_PORT);

    if (connect(sock, (struct sockaddr*)&server_addr, sizeof(server_addr)) == -1) {
        printf("Connection error\\n");
        close(sock);
        return -1;
    }

    strcpy(message, "MoveJ [[100, 200, 300], [1, 0, 0, 0], 500, fine, tool0];");
    write(sock, message, strlen(message));

    str_len = read(sock, message, sizeof(message) - 1);
    if (str_len == -1) {
        printf("Read error\\n");
    } else {
        message[str_len] = 0;
        printf("Response from robot: %s\\n", message);
    }

    close(sock);
    return 0;
}

참고 문서 및 추가 자료

이 자료들을 통해 ABB IRB 1200 로봇과 PC 간의 통신을 설정하고 제어할 수 있는 방법을 자세히 배울 수 있습니다.

 

 

ABB IRB 1200 RAPID programming 

 

 

https://www.youtube.com/watch?v=Yg6RY-cGw54&list=PLO89phzZmnHh3kBtxcVBc5umHsc1hoPH0

정리가 잘된 플레이 리스트 영상으로 올려드립니다

 

https://www.youtube.com/watch?v=3G9uiLFVFtI

해당 영상은 교구로 사용한 ABB 하드웨어 버전에 맞춰 찾은 영상입니다 ( ABB IRB 1200 )


ABB RobotStudio와 오픈 소스 프로젝트를 이용한 RAPID 프로그래밍의 차이점에 대해 설명드리겠습니다. 이 두 방법은 모두 ABB 로봇을 제어하기 위한 것이지만, 사용 목적과 방식에서 차이가 있습니다.

1. RobotStudio를 이용한 RAPID 프로그래밍

RobotStudio는 ABB에서 제공하는 공식 소프트웨어로, ABB 로봇을 시뮬레이션하고 프로그래밍할 수 있는 도구입니다.

  • 사용 목적:
    • 로봇 동작의 시뮬레이션 및 검증.
    • 오프라인 프로그래밍을 통해 로봇 코드 작성 후 실제 로봇에 적용.
    • 가상 환경에서 로봇의 작업을 미리 테스트하고 최적화.
  • 주요 기능:
    • 시뮬레이션: 실제 로봇이 움직이기 전에 가상 환경에서 테스트 가능.
    • 디버깅: 코드의 오류를 시뮬레이션 환경에서 사전에 찾아 수정.
    • 직관적인 인터페이스: GUI를 통해 드래그 앤 드롭 방식으로 로봇 경로 설정 가능.
    • 통합 개발 환경: RAPID 코드 작성, 편집, 컴파일, 디버깅을 하나의 환경에서 수행.
  • RAPID 예제:
  • MODULE MainModule PROC main() MoveJ [[100, 200, 300], [1, 0, 0, 0], 500, fine, tool0]; MoveL [[200, 300, 400], [1, 0, 0, 0], 300, fine, tool0]; ENDPROC ENDMODULE

2. 오픈 소스 프로젝트를 이용한 RAPID 프로그래밍

오픈 소스 프로젝트는 여러 개발자들이 협업하여 만든 소프트웨어로, 주로 직접 코딩을 통해 로봇을 제어하는 방법을 제공합니다. 주요 예로는 open-abb-driver, abb_libegm 등이 있습니다.

  • 사용 목적:
    • 로봇을 원격으로 제어하거나, 다른 시스템과 통합하여 사용.
    • 커스터마이징이 필요한 경우, 코드 수정 및 기능 추가 가능.
    • 특정 프로젝트나 연구를 위해 다양한 제어 알고리즘 적용.
  • 주요 기능:
    • 다양한 언어 지원: Python, C++, ROS 등 다양한 언어와 통합 가능.
    • 원격 제어: 네트워크를 통해 로봇을 원격으로 제어 가능.
    • 확장성: 필요에 따라 기능을 추가하거나 수정 가능.
    • 커뮤니티 지원: GitHub와 같은 플랫폼에서 다양한 예제와 커뮤니티 지원.
  • 오픈 소스 프로젝트 예제:
  • // C++ 예제 코드 #include <abb_libegm/egm_controller_interface.h>int main() { abb::egm::EGMControllerInterface egm_interface; egm_interface.connect("192.168.125.1", 6510); // 로봇 제어 코드 작성 return 0; }

주요 차이점

  1. 사용 용이성:
    • RobotStudio는 GUI 기반으로 사용이 직관적이고, 코드 작성 및 시뮬레이션이 쉬움.
    • 오픈 소스 프로젝트는 CLI나 API 기반으로, 프로그래밍 지식이 필요하며 설정 및 사용이 상대적으로 복잡할 수 있음.
  2. 커스터마이징:
    • RobotStudio는 주로 표준화된 기능을 제공하며, 깊이 있는 커스터마이징은 제한적일 수 있음.
    • 오픈 소스 프로젝트는 소스 코드를 직접 수정하여 원하는 기능을 추가할 수 있어 유연성이 높음.
  3. 통합성:
    • RobotStudio는 ABB 생태계 내에서 최적화되어 있으며, 다른 ABB 소프트웨어와의 통합이 용이함.
    • 오픈 소스 프로젝트는 다양한 언어와 시스템과의 통합이 가능하며, 다른 로봇 플랫폼과도 연동할 수 있음.

이러한 차이점을 이해하고, 필요에 따라 적절한 도구를 선택하여 로봇을 제어하면 됩니다.


ABB 로봇의 초기 티칭 및 조작 상태는 일반적으로 같은 모델의 경우 동일하게 설정되는 경향이 있습니다.

RobotStudio를 사용하여 작업하는 경우, 초기 좌표값 및 설정이 동일한지에 대한 질문에 대해 좀 더 구체적으로 설명드리겠습니다.

초기 티칭 및 조작 상태

초기 티칭이란 로봇을 처음 설정할 때 기본적인 동작 경로와 위치를 지정하는 과정을 말합니다. 이 과정은 대부분의 로봇 모델에서 공통적으로 진행되며, 다음과 같은 단계를 포함합니다:

  1. 기본 홈 포지션 설정:
    • 대부분의 로봇은 공장에서 출하될 때 기본 홈 포지션(즉, 초기 위치)으로 설정되어 있습니다. 이는 로봇의 각 관절이 특정 각도로 위치한 상태를 의미합니다.
  2. 기본 좌표 시스템 설정:
    • 로봇의 베이스 좌표 시스템과 툴 좌표 시스템이 설정됩니다. 이는 로봇이 작업 공간 내에서 좌표를 이해하고 동작하는 데 중요한 역할을 합니다.
  3. 초기 캘리브레이션:
    • 로봇의 각 관절에 대한 초기 캘리브레이션 작업이 수행됩니다. 이는 로봇이 정확한 위치로 움직일 수 있도록 하는 중요한 단계입니다.

RobotStudio에서 초기 설정

RobotStudio를 사용하면 로봇의 초기 티칭 및 설정 과정을 시뮬레이션하고 실제 로봇에 적용할 수 있습니다.

  1. 초기 좌표값 동일성:
    • 같은 모델의 로봇이라면, 기본적으로 제공되는 초기 좌표값과 설정은 동일합니다. 이는 동일한 기계적 설계와 소프트웨어 설정을 기반으로 하기 때문입니다.
    • 예를 들어, 여러 대의 ABB IRB 1200 로봇이 있다면, RobotStudio에서 설정하는 기본 좌표값은 공장 출하 시 동일하게 설정됩니다.
  2. RobotStudio에서 초기 작업:
    • 시뮬레이션 환경 구성: 로봇 모델을 선택하고, 작업 공간을 구성합니다.
    • 기본 홈 포지션 확인: 로봇을 기본 홈 포지션으로 이동시켜 각 관절의 초기 위치를 확인합니다.
    • 좌표 시스템 설정: 작업에 필요한 베이스 좌표 시스템과 툴 좌표 시스템을 설정합니다.
    • 경로 티칭: 로봇이 작업을 수행할 경로를 설정하고, 이를 시뮬레이션하여 확인합니다.

동일 모델 초기 설정의 장점

같은 모델의 로봇에서 초기 좌표값이 동일하다는 것은 다음과 같은 장점이 있습니다:

  1. 일관성:
    • 여러 대의 로봇을 사용할 때 일관된 성능을 유지할 수 있습니다. 이는 동일한 프로그램을 여러 대의 로봇에 적용할 수 있음을 의미합니다.
  2. 프로그램 이식성:
    • 한 로봇에서 작성한 프로그램을 다른 로봇에서도 쉽게 사용할 수 있습니다. 이는 생산 라인의 유연성을 높이고 유지 보수를 용이하게 합니다.
  3. 빠른 설정:
    • 초기 설정 작업이 단순해지며, 로봇을 빠르게 가동할 수 있습니다.

예제

아래는 RobotStudio에서 로봇의 초기 홈 포지션을 설정하고 이동하는 간단한 RAPID 코드 예제입니다:

rapid코드 복사
MODULE MainModule
  PROC main()
    ! 초기 홈 포지션으로 이동
    MoveJ [[0, 0, 0], [1, 0, 0, 0], 100, fine, tool0];
    ! 작업 위치로 이동
    MoveL [[100, 200, 300], [1, 0, 0, 0], 300, fine, tool0];
  ENDPROC
ENDMODULE

이 코드는 로봇을 초기 홈 포지션으로 이동시키고, 그 다음 작업 위치로 이동시키는 간단한 예제입니다.


Teach Pendant(티치 펜던트)

사진 속 장치는 ABB 로봇의 조작을 위한 Teach Pendant(티치 펜던트)입니다. 이 장치를 통해 로봇의 동작을 프로그래밍하고 제어할 수 있습니다. 각 버튼의 기능을 분석해 보겠습니다.

Teach Pendant의 버튼 분석

  1. 상단 왼쪽의 세로 줄 무늬 버튼들 (상단 3개 버튼):
    • 이 버튼들은 작업 모드(Operating Modes)를 나타내는 버튼일 가능성이 높습니다. 각 버튼은 다르게 설정된 동작 모드(자동, 수동 등)를 선택하는 데 사용됩니다.
  2. 조이스틱 (중앙의 검은색 회전 휠):
    • 중앙의 회전 휠은 로봇의 각 관절을 수동으로 이동시키는 데 사용되는 조이스틱입니다. 이 휠을 사용하여 각 관절을 회전시키거나 직선 이동을 제어할 수 있습니다.
  3. 상단 오른쪽의 화살표 버튼들:
    • 이 버튼들은 화면 탐색 및 선택을 위한 버튼으로, 메뉴 간 이동, 항목 선택, 페이지 넘기기 등에 사용됩니다.
  4. 중앙의 아이콘 버튼들 (왼쪽에서 오른쪽 순):
    • 왼쪽의 손 모양 버튼: 이는 Teach 모드(티칭 모드)를 활성화하는 버튼입니다. 티칭 모드는 로봇의 동작을 수동으로 지정하는 모드입니다.
    • 열쇠 모양 버튼: 이는 안전 모드 또는 잠금 해제 버튼일 가능성이 큽니다. 로봇의 안전 모드를 설정하거나 해제하는 데 사용됩니다.
    • 1/2 버튼: 이는 속도 조절 버튼입니다. 로봇의 이동 속도를 절반으로 줄이는 데 사용됩니다.
    • 경고 표시 버튼: 이는 비상 정지 버튼으로, 로봇을 즉시 멈추게 합니다. 이 버튼은 안전을 위해 항상 쉽게 접근할 수 있는 곳에 배치됩니다.
  5. 하단 오른쪽의 수직 줄 무늬 버튼들:
    • 이 버튼들은 주로 메뉴 선택이나 특정 기능 활성화를 위한 버튼들입니다. 각 버튼은 소프트웨어에서 지정된 특정 기능을 빠르게 사용할 수 있도록 합니다.

Teach Pendant 사용 예시

티칭 모드 사용 예시:

  1. 티칭 모드 활성화:
    • 손 모양의 버튼을 눌러 티칭 모드를 활성화합니다.
  2. 로봇 이동:
    • 조이스틱을 사용하여 로봇의 각 관절을 원하는 위치로 이동시킵니다.
  3. 위치 저장:
    • 이동한 위치를 저장하려면 메뉴 버튼을 사용하여 저장 옵션을 선택합니다.
  4. 프로그램 실행:
    • 프로그램을 작성하고 저장한 후, 작업 모드 버튼을 사용하여 자동 모드로 전환한 다음 프로그램을 실행합니다.

참고 문서 및 자료

  • ABB Teach Pendant 매뉴얼: ABB 공식 웹사이트에서 Teach Pendant의 자세한 사용법과 기능 설명을 확인할 수 있습니다. ABB 매뉴얼

이 설명을 통해 Teach Pendant의 버튼 기능을 이해하고, 로봇을 안전하고 효율적으로 조작할 수 있을 것입니다.

https://www.youtube.com/watch?v=wWQRPVo5lqk

 

터치팬던트 관련 튜토리얼 영상입니다


  • ABB 로봇의 최신 버전에 맞는 Teach Pendant 매뉴얼검색어 추천:
    • "ABB Teach Pendant IRB 1200 한글 매뉴얼"
    • "ABB 로봇 티치 펜던트 매뉴얼 IRB 1200"
    • "ABB RobotStudio 사용자 매뉴얼 한글"
    유용한 링크 및 자료
    1. ABB 공식 라이브러리:
      • ABB 제품 및 서비스와 관련된 다양한 문서들을 검색할 수 있습니다. 여기서 IRB 1200 및 Teach Pendant에 대한 매뉴얼을 찾을 수 있습니다.
      • ABB Library
    2. ABB IRB 1200 제품 페이지:
      • IRB 1200 로봇에 대한 사양, 데이터 시트, 매뉴얼 등을 제공합니다.
      • ABB IRB 1200
    3. ABB RobotStudio 매뉴얼:
      • RobotStudio를 사용하여 ABB 로봇을 프로그래밍하는 방법에 대한 매뉴얼을 제공합니다.
      • RobotStudio 매뉴얼
    이 링크들을 통해 ABB Teach Pendant 및 IRB 1200 로봇에 대한 자세한 정보를 찾을 수 있습니다. 매뉴얼을 다운로드하여 사용하면, 로봇의 초기 설정 및 프로그래밍에 큰 도움이 될 것입니다.
  • ABB 로봇의 최신 버전에 맞는 Teach Pendant 매뉴얼을 찾으려면 다음과 같은 검색어를 사용하면 유용할 것입니다

공식문서 메뉴얼 다운로드 목록 정리

https://new.abb.com/products/robotics/robots/articulated-robots/irb-1200

 

IRB 1200 | ABB Robotics

A compact, flexible, fast and functional small industrial robot, IRB 1200, Payload: 5, 7 kg; Reach: 0.7, 0.9 m

new.abb.com

 

( 공식문 )필요한 자료 요약

  1. 제품 설명서 - Force Control Package
    • 요약: OmniCore 컨트롤러가 지원하는 로봇과 함께 사용되는 힘 제어 패키지에 대한 설명서입니다.
    • 사용 가능성: 필요에 따라 읽기. 힘 제어 패키지를 사용할 경우 유용.
    • 파일 크기: 3.54 MB
    • 언어: 영어
  2. 제품 설명서 IRB 1200
    • 요약: IRB 1200의 전체 제품 매뉴얼입니다.
    • 사용 가능성: 필수. IRB 1200에 대한 자세한 정보와 설정, 유지보수 방법 등을 포함.
    • 파일 크기: 20.45 MB
    • 언어: 영어
  3. 응용 프로그램 매뉴얼 - 마법사
    • 요약: FlexPendant에서의 간편한 프로그래밍 애플리케이션에 대한 설명서입니다.
    • 사용 가능성: 필요에 따라 읽기. FlexPendant를 사용할 경우 유용.
    • 파일 크기: 2.90 MB
    • 언어: 영어
  4. OmniCore용 IRB 1200, 제품 사양
    • 요약: IRB 1200의 제품 사양서입니다.
    • 사용 가능성: 참고. 로봇의 사양과 기술적 정보가 필요할 때 유용.
    • 파일 크기: 8.73 MB
    • 언어: 영어

추천 자료

가장 중요한 자료제품 설명서 IRB 1200입니다. 이 문서는 IRB 1200 로봇의 전체 매뉴얼을 제공하며, 초기 설정, 프로그래밍, 유지보수 등의 모든 중요한 정보를 포함하고 있습니다.

다운로드 링크

  • 제품 설명서 IRB 1200: IRB 1200 제품 매뉴얼 (영어)

추가로, FlexPendant에서 프로그래밍을 쉽게 할 수 있도록 도와주는 응용 프로그램 매뉴얼도 함께 참고하시면 유용합니다.

이 문서들을 통해 ABB IRB 1200 로봇의 초기 설정 및 사용법을 자세히 이해하고, 효율적으로 작업을 수행할 수 있을 것입니다.


아래는 ABB IRB 1200 로봇의 DH (Denavit-Hartenberg) 파라미터와 각 수학 기호의 정식 명칭을 포함한 분석입니다.

이를 통해 로봇의 각 관절 위치와 변환 관계를 이해할 수 있습니다.

(a) 부분: ABB IRB 1200 로봇의 실제 모습

  • 이 부분은 ABB IRB 1200 로봇의 실제 모습을 보여줍니다.
  • 6축 수직 다관절 로봇으로, 다양한 산업용 작업에 사용됩니다.

(b) 부분: Denavit-Hartenberg (DH) 파라미터

  • 로봇의 각 관절과 연결부를 수학적으로 모델링한 것입니다.
  • DH 파라미터는 로봇의 운동학적 해석에 사용됩니다.

DH 파라미터 정의

  1. 𝜃𝑖θi (Theta): 각 관절의 회전 각도 (Joint angle).
  2. 𝑑𝑖di (Link Offset): 각 관절 축 사이의 거리 (Link offset).
  3. 𝑎𝑖ai (Link Length): 각 관절 축 사이의 오프셋 거리 (Link length).
  4. 𝛼𝑖αi (Twist Angle): 두 축 사이의 회전 각도 (Twist angle).

DH 파라미터 테이블

IRB 1200 로봇의 DH 파라미터는 다음과 같습니다:

Joint (𝑖i) 𝜃𝑖θi​ (Joint Angle) 𝑑𝑖di​ (Link Offset) 𝑎𝑖ai​ (Link Length) 𝛼𝑖αi​ (Twist Angle)

1 𝜃1θ1​ 𝑑1d1​ 00 −90∘−90∘
2 𝜃2θ2​ 00 𝑎2a2​ 0∘0∘
3 𝜃3θ3​ 00 𝑎3a3​ 90∘90∘
4 𝜃4θ4​ 𝑑4d4​ 00 −90∘−90∘
5 𝜃5θ5​ 00 00 90∘90∘
6 𝜃6θ6​ 𝑑6d6​ 00 0∘0∘

DH 파라미터 예제 분석

Joint 1

  • 𝜃1θ1: 첫 번째 관절의 회전 각도.
  • 𝑑1d1: 첫 번째 관절과 두 번째 관절 사이의 거리.
  • 𝑎1=0a1=0: 첫 번째 관절 축과 두 번째 관절 축 사이의 오프셋 거리.
  • 𝛼1=−90∘α1=−90∘: 두 축 사이의 회전 각도.

Joint 2

  • 𝜃2θ2: 두 번째 관절의 회전 각도.
  • 𝑑2=0d2=0: 두 번째 관절과 세 번째 관절 사이의 거리.
  • 𝑎2a2: 두 번째 관절 축과 세 번째 관절 축 사이의 오프셋 거리.
  • 𝛼2=0∘α2=0∘: 두 축 사이의 회전 각도.

이와 같은 방법으로 나머지 관절들에 대해서도 분석할 수 있습니다.

적용 방법

  1. 운동학 모델링:
    • DH 파라미터를 사용하여 로봇의 정적 위치와 동적 움직임을 모델링합니다.
  2. 경로 계획:
    • 로봇이 특정 경로를 따라 움직이도록 계획할 때 DH 파라미터를 사용하여 각 관절의 움직임을 계산합니다.
  3. 제어 알고리즘:
    • 로봇의 각 관절을 제어하는 알고리즘을 설계할 때 DH 파라미터를 사용하여 정확한 제어가 가능합니다.

참고 자료

  • ABB 공식 매뉴얼: ABB Library
  • 로봇 공학 교재: "Introduction to Robotics: Mechanics and Control" by John J. Craig
  • RAPID 프로그래밍 언어 매뉴얼: RAPID Reference Manual

이 자료들을 통해 ABB IRB 1200 로봇의 구조와 DH 파라미터를 이해하고, 로봇의 경로 계획 및 제어에 활용할 수 있습니다.


실제 구동 영상입니다.

 

 

ABB IRB 1600 초기화 Touch Pendant

 

https://www.youtube.com/watch?v=JTAJoRyobAI

 

https://www.youtube.com/watch?v=TZ8Z3FnKnEw

인력개발원 학과 교수님 영상입니다.


 

Routine (루틴) 만들기 가이드입니다

 

https://www.youtube.com/watch?v=HMPvXtDRdVY

 

 

Routine (루틴) 만들기 가이드입니다

Teaching (티칭)

  • 정의: Teaching은 로봇이 특정 작업을 수행할 수 있도록, 로봇의 경로와 동작을 프로그래밍하는 과정을 의미합니다. 일반적으로 이는 오프라인 또는 온라인으로 로봇에게 특정 경로와 동작을 '가르치는' 과정을 포함합니다.
  • 주요 작업:
    • 로봇의 팔이나 다른 부분을 직접 이동시켜 원하는 위치를 지정.
    • 지정된 위치를 기억하도록 로봇 컨트롤러에 저장.
    • 필요시 세부적인 동작을 세팅.
  • 도구: Teach Pendant 또는 로봇 프로그래밍 소프트웨어(예: RobotStudio).

Routine (루틴)

  • 정의: Routine은 로봇이 수행하는 일련의 동작이나 작업 순서를 의미합니다. 이는 Teaching 과정을 통해 정의된 여러 동작을 포함할 수 있으며, 이러한 동작이 순서대로 실행됩니다.
  • 주요 작업:
    • 여러 개의 동작을 조합하여 하나의 작업 루틴을 구성.
    • 루틴은 특정 작업(예: 용접, 조립)을 수행하는 데 사용.
    • 루틴은 복잡한 작업을 자동화하기 위해 다수의 개별 티칭 포인트를 포함.
  • 도구: RAPID 프로그래밍 언어를 사용하여 로봇 루틴을 작성 및 실행.

예시

  1. Teaching 예시:
    • 로봇의 팔을 특정 지점으로 이동시키고, 그 위치를 저장한 후 다음 지점으로 이동.
    • 이를 통해 하나의 경로가 형성되고, 로봇이 반복적으로 해당 경로를 따르게 할 수 있습니다.
  2. Routine 예시:
    • 위에서 정의된 여러 Teaching 포인트를 조합하여 로봇이 특정 작업을 자동으로 수행.
    • 예를 들어, A 지점에서 물건을 집어 B 지점으로 이동시킨 후 C 지점에 놓는 작업 루틴을 구성.

결론

Teaching은 로봇에게 개별 동작을 '가르치는' 과정이고, Routine은 이러한 개별 동작들을 조합하여 특정 작업을 수행하는 일련의 동작을 의미합니다. 둘은 상호보완적이며, 로봇 공학에서는 모두 중요한 역할을 합니다.

 


P20240711_101321832_7AE12962-FDCE-4D0E-996A-77EAE289018F.HEIC
1.00MB
P20240711_101321832_7AE12962-FDCE-4D0E-996A-77EAE289018F.MOV
5.12MB

 

 

ABB 로봇 컨트롤러의 하드웨어 구성을 분석해 보겠습니다.이 컨트롤러는 ABB의 IRC5 로봇 컨트롤러입니다.

주요 구성 요소는 다음과 같습니다:

구성 요소 설명

  1. 전원 공급 장치 (Power Supply)
    • 이미지 왼쪽의 큰 전원 케이블이 연결된 부분은 전원 공급 장치입니다. 이는 컨트롤러와 로봇에 필요한 전력을 공급합니다.
    • 전원 스위치와 상태 표시등이 포함되어 있습니다.
  2. 메인 컨트롤러 유닛 (Main Controller Unit)
    • 중앙의 메인 보드는 여러 포트를 통해 다양한 연결을 지원합니다. 여기에는 이더넷 포트(LAN 1, LAN 2), 디지털 입출력 포트(X5, X6 등), 아날로그 포트 등이 포함됩니다.
    • 이더넷 포트는 로봇과 상위 시스템 간의 통신을 위해 사용됩니다.
  3. 상태 표시등 (Status Indicators)
    • 컨트롤러 유닛에 여러 개의 상태 표시등이 있습니다. 이들은 전원 상태, 통신 상태, 에러 상태 등을 시각적으로 표시합니다.
  4. 비상 정지 버튼 (Emergency Stop Button)
    • 오른쪽 상단의 빨간색 비상 정지 버튼은 작업자가 긴급 상황에서 로봇의 모든 동작을 즉시 중지할 수 있게 합니다.
    • 이 버튼은 작업자의 안전을 위한 중요한 요소입니다.
  5. 키 스위치 (Key Switch)
    • 비상 정지 버튼 옆에 위치한 키 스위치는 운영 모드를 전환하는 데 사용됩니다. 예를 들어, 자동 모드와 수동 모드 간의 전환이 가능합니다.
  6. 인터페이스 포트 (Interface Ports)
    • 다양한 인터페이스 포트가 포함되어 있으며, 이를 통해 다른 장치나 시스템과의 연결이 가능합니다.
    • 이미지에서는 이더넷 포트와 USB 포트가 보입니다.

하드웨어 구성 요약

  • 전원 공급 장치: 시스템에 전력을 공급.
  • 메인 컨트롤러 유닛: 다양한 포트를 통해 여러 장치와 연결.
  • 상태 표시등: 전원, 통신, 에러 상태를 시각적으로 표시.
  • 비상 정지 버튼: 긴급 상황에서 로봇 동작 중지.
  • 키 스위치: 운영 모드 전환.
  • 인터페이스 포트: 이더넷, USB 등을 통해 외부 장치와 연결.

 

참고 자료