KR20150067414A - 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법 - Google Patents

다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법 Download PDF

Info

Publication number
KR20150067414A
KR20150067414A KR1020130152717A KR20130152717A KR20150067414A KR 20150067414 A KR20150067414 A KR 20150067414A KR 1020130152717 A KR1020130152717 A KR 1020130152717A KR 20130152717 A KR20130152717 A KR 20130152717A KR 20150067414 A KR20150067414 A KR 20150067414A
Authority
KR
South Korea
Prior art keywords
robot
manager
command
unit
service
Prior art date
Application number
KR1020130152717A
Other languages
English (en)
Other versions
KR102127951B1 (ko
Inventor
류신욱
홍진철
조영식
성 최
이아람
Original Assignee
대우조선해양 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 대우조선해양 주식회사 filed Critical 대우조선해양 주식회사
Priority to KR1020130152717A priority Critical patent/KR102127951B1/ko
Publication of KR20150067414A publication Critical patent/KR20150067414A/ko
Application granted granted Critical
Publication of KR102127951B1 publication Critical patent/KR102127951B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K9/00Arc welding or cutting
    • B23K9/095Monitoring or automatic control of welding parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K9/00Arc welding or cutting
    • B23K9/09Arrangements or circuits for arc welding with pulsed current or voltage
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K9/00Arc welding or cutting
    • B23K9/10Other electric circuits therefor; Protective circuits; Remote controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45104Lasrobot, welding robot

Abstract

본 발명은 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그의 제어 방법에 관한 것으로서, 유저 인터페이스 디바이스와 관리시스템과 네트웍으로 연결되어 통신하고, 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업파일 및 명령 해석 등의 역할을 수행하는 로봇 매니저와, 상기 로봇 매니저로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행하는 작업 실행기와, 상기 작업 실행기에서 생성된 정보의 결과를 받아 실시간으로 로봇시스템을 제어하고, 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기 및 로봇 매니저에게 전달하며 로봇시스템과의 입출력을 직접 관할함과 아울러 센서 및 용접기를 직접 제어하는 서보 제어기로 시스템이 분할 구성되며, 로봇 매니저가 별도의 쓰레드로 주기적으로 정상 구동 체크를 하며, 작업 실행기 및 서보 제어기가 정상 구동 회신을 하여 정상 구동 상태를 체크하면서 서비스를 실행하고, 로봇 매니저에 의해 작업실행기와 서보 제어기의 동기화 제어가 이루어지도록 함으로써 다중 프로세스에 의해 제어되어 시스템 효율을 향할 수 있도록 한 것이다.

Description

다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법{Multi-Process Based Welding Robot Control System and it's method}
본 발명은 PC 기반 용접 로봇 제어 시스템에 관한 것으로서, 더욱 상세하게는, 로봇 콘트롤러 내부에 로봇 매니저(Robot Manage), 작업실행기(Task Executer), 서보 제어기(Servo Controller) 총 세 개의 프로세스 기반으로 다중 프로세스에 의해 구동되며 외부 장치인 교시조작기(Teaching Pendant)로 구성되어 다중 프로세스에 의한 시스템의 효율성 및 유지관리의 편의성을 도모하고자하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그의 제어방법에 관한 것이다.
선박의 제조 공정에서 용접로봇을 이용한 자동 용접이 이루어지고 있는데, 자동 용접 로봇을 제어하기 위한 시스템은, 도 1에 도시된 바와 같이, 도 1은 용접로봇 제어 시스템의 구성도이다.
이에 도시된 바와 같이, CPU 및 네트워크 카드 등으로 구성되어 OLP서버(1) 및 모니터 PC(2)와 네트웍으로 연결되어 사용자의 용접로봇 제어명령을 입력받아 용접 로봇을 제어하기 위한 상위 로봇 제어기(1)와; 시스템 I/O 모듈, 서보 드라이버로 구성되어 상기 상위 로봇 제어기(1)와 연결되어 상위 제어기(1)의 제어에 의하 다관절 용접 로봇(8)을 제어하고 용접 로봇 제어상태정보를 상위 제어기(1)로 통신하는 하위 제어기(2)로 구성되며, 상위 제어기(1)와 하위 제어기(2), 그리고 하위 제어기(2)의 각각의 모듈들은 네트웍으로 연결된다.
상위 제어기(1)와 교시조작기(4)는 이더넷(Ethernet)으로 연결되어 사용자의 입력을 받게 된다. 또한 용접작업에 필요한 OLP 데이터는 전산망을 통해 별도의 OLP 서버(1)를 통해 공급받게 되고 로봇의 운용상태를 모니터링 서버(2)를 통해서 사무실의 PC에서 확인할 수 있도록 구성되어 진다.
하위 제어기(2)는 용접기(7), 터치센서(6) 및 로봇(8)과 연결되며 용접기(7)로 용접지령을 전달하며 로봇(7)으로는 로봇의 동작명령을 전달하게 된다.
그런데, 상기와 같이 이루어진 일반적인 자동로봇 제어기(5)는, 상위 제어기와 하위제어기에 하나의 프로세스로 이루어지는 로봇 제어 프로그램이 탑재되어 하나의 프로세스에 의해 로봇을 제어하게 된다.
그러므로 하나의 프로세스에 의해 제어되고 있어서 제어 명령의 처리 속도나 응답성이 떨어지고, 프로그램이 매우 복잡해진다는 단점이 있었다.
한국공개특허공보 10-2008-0036685(2008.04.29)
본 발명은 로봇 제어기 내부에 로봇 매니저(Robot Manage), 작업실행기(Task Executer), 서보 제어기(Servo Controller) 총 세 개의 프로세스 기반으로 구동되도록 구성하여 시스템의 효율성을 향상시키고 유지관리의 편의성을 높일 수 있도록 한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 방법을 제공하기 위한 것이다.
또한 본 발명은 3개로 분리 구성되는 프로세스 상호간 메시지 전달을 통해 동기화 구조를 형성하여 시스템 운용을 원활 하게 할 수 있도록 한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 방법을 제공하기 위한 것이다.
본 발명은, 유저 인터페이스 디바이스와 관리시스템과 네트웍으로 연결되어 통신하고, 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업파일 및 명령 해석 등의 역할을 수행하는 로봇 매니저와;
상기 로봇 매니저로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행하는 작업 실행기와;
상기 작업실행기에서 생성된 정보의 결과를 받아 실시간으로 로봇시스템을 제어하고, 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기 및 로봇 매니저에게 전달하며 로봇시스템과의 입출력을 직접 관할함과 아울러 센서 및 용접기를 직접 제어하는 서보 제어기로 분할 구성된 것을 특징으로 한다.
또한 본 발명에 의한 상기 유저 인터페이스 디바이스는,
외부에서 작성된 로봇 제어 프로그래밍 데이터와, 작업을 위한 CAD 인터페이스 정보를 입력받아 사용자가 로봇 작업 데이터를 로봇 콘트롤러로 입력하는 유저 인터페이스 OLP 서버와, 사용자가 로봇을 직접 조작할 수 있도록 로봇 제어명령을 입력받아 상기 로봇 콘트롤러(100)로 입력하는 교시조작기 및 상기 로봇 콘트롤러로부터 로봇 운용상태 정보를 수신받아 모니터링할 수 있도록 출력하는 모니터링 컴퓨터를 포함하여 구성된다.
상기 관리 시스템은,
상기 로봇 콘트롤러와 연결되어 권한을 가진 사람만이 로봇 시스템에 접근할 수 있도록 제어하여 유지 관리를 하기 위한 쉘 터미날 및 웹 브라우저 시스템을 포함하여 구성됨을 특징으로 한다.
상기 로봇 매니저는,
관리시스템의 쉘터미날 및 내부 로컬 터미날과 연결되어 로봇 시스템을 관리할 수 있도록 서비스하는 서비스 터미날과;
상기 유저 인터 페이스 디바이스와의 네트웍 연결을 관리제어하는 네트웍 브로커와;
상기 서비스 터미날과 상기 네트웍 브로커와 로컬 GUI, 웹브라우저와 연결되는 CGI와 연결되어 로봇의 제어를 위한 외부 연결을 서비스하는 로봇 서비스 모듈과;
로봇 로봇의 관리 제어를 위한 시스템 파라미터 관리부와;
작업 명령을 컴파일링 하는 작업 컴파일러와;
작업 명령을 해석하는 코멘드 인터프리테이션부와;
상기 로봇 서비스 모듈과 연동되어 상기 시스템 파라미터 관리부, 상기 작업 컴파일러 및 상기 코멘드 인터프레테이션부의 제어와 컴파일된 작업명령 및 실행 명령을 작업실행기로 전송하여 로봇의 관리 제어를 하는 로봇 관리부를 포함하여 구성됨을 특징으로 한다.
상기 작업 실행기는,
로봇 매니저로부터 전송받은 컴파일된 작업명령과 실행 명령에 의거하여 명령을 해석하는 코멘드 인터프리테이션부, 작업 명령을 해석하는 작업(job) 인터프리테이션부와;
상기 코멘드 인터프리테이션부와 상기 작업 인터프리테이션부로부터 해석된 실행명령 및 작업 명령에 의거하고, 서보 제어기로부터 수신되는 입출력 신호에 의거하여 이벤트 프로세싱을 처리하는 이벤트 프로세싱부와;
상기 이벤트 프로세싱부의 제어 및 센서신호에 의해 발생된 경로보상신호에 의해 로봇의 움직임 궤적신호를 발생시키는 궤적 발생부와;
상기 서보제어기를 통해 수신되는 센서신호에 의거하여 경로를 보상신호를 발생시켜 상기 궤적 발생부로 경로 보상신호를 인가하는 경로보상부와;
상기 궤적 발생부의 궤적신호를 역운동학부(Invers Kinematics)의 제어에 의거하여 조인트 포지션 및 용접 조건 정보를 서보 제어기로 전송하는 포인트 포지션 컨버젼부를 포함하여 구성됨을 특징으로 한다.
상기 서보 제어기는,
로봇 시스템의 센서시스템으로부터 센서정보를 수신받아 상기 작업실행기로 전달하는 센서인터페이스부와;
로봇 시스템의 용접기와 인터페이스하여 용접조건에 따라 용접기를 제어하는 용접기 인터페이스부와;
로봇 시스템의 입출력장치(TP/UP DIO, 어플리케이션 DIO)와 연결되어 상기 작업 실행기와의 신호 입출력을 관리하는 신호 입출력 관리부와;
상기 작업 실행기의 조인트 포지션 및 용접신호에 의거하여 로봇 시스템(30)의 서보 드라이버를 제어하기 위한 필드 네트워크 인터페이스부, 포지션 인터폴레이션부, 모션 감지부, 문제 및 오류 체크부를 포함하여 이루어지는 서보 콘트롤부를 포함하여 구성됨을 특징으로 한다.
한편 본 발명은, 로봇 콘트롤러가 로봇 매니저, 작업 실행기, 서보 제어기로 각각 독립된 프로세스를 수행하도록 이루어진 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어방법에 있어서,
로봇 매니저와 작업 실행기 및 서보 제어기가 각각 프로그램 실행 옵션을 분석하여 서비스 실행을 준비하고, 작업 실행기 및 서보 제어기가 로봇 매니저로 접속을 시도하여 접속이 완료되면, 로봇 매니저에 의해 초기화 실행 명령이 생성되는 진입 모드와;
상기 로봇 매니저의 초기화 명령에 의해 작업 실행기와 서보 제어기의 초기화가 시작되고, 초기화 완료를 로봇 매니저로 회신하는 초기화 모드와;
상기 로봇 매니저가 초기화 모드에서 초기화 완료 회신을 받아 정상 구동 상태가 되면, 로봇 매니저는 별도의 쓰레드를 통해 주기적으로 작업 실행기와 서보 제어기로 정상 구동 체크 신호를 전송하여 정상 구동 회신을 받아 접속 불량이면 접속 재시도를 하면서 정상 구동 상태를 체크하며, 정상 구동 체크에서 양호한 상태이면 프로세스 별로 각자 서비스 실행을 수행하는 운전 모드와;
종료명령이 입력되면 로봇 매니저는 종료 명령을 작업 실행기와 서보 제어기로 종료명령을 내려 종료 절차를 수행하는 종료 모드로 이루어진 것을 특징으로 한다.
상기 운전모드는,
수동모드, 자동모드, 드라이런 모드를 포함하는 것을 특징으로 한다.
상기 진입모드는,
로봇 매니저는, 프로그램 실행 옵션 분석에 의해 인자(argument)를 파싱하는 프로그램 실행옵션 분석단계와, 분석된 인자에 의해 시스템 파라미터를 파일로부터 로딩하는 시스템 파라미터 로딩단계와, 상기 로딩된 시스템 파라미터를 내부 메모리에 저장한 후에 공유 메모리를 생성하여 파라미터 데이터를 공유메모리에 저장하는 공유 메모리 생성단계와; 공유 메모리에 파라미터를 저장한 후, 로봇 매니저 서비스를 수행하기 위한 서비스를 생성하는 로봇 매니저 서비스 실행 준비 단계를 수행하고,
상기 작업 실행기는, 프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계와; 분석된 인자에 의해 작업 실행기 서비스를 생성하는 작업 실행기 서비스 실행 준비 단계와; 서비스 실행준비가 이루어지면, 상기 로봇 매니저로 접속을 시도하는 로봇 매니저 접속 시도 단계를 수행하고,
상기 서보 제어기는, 프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계와; 분석된 인자에 의해 서보 제어기 서비스를 생성하는 서보 제어기 서비스 실행 준비 단계와; 서비스 실행준비가 이루어지면, 상기 로봇 매니저로 접속을 시도하는 로봇 매니저 접속 시도 단계를 수행하고,
상기 로봇 매니저는, 작업 실행기와 서보 제어기의 접속 시도를 받아 접속 완료를 체크하여 연결을 확인하고 연결 시도가 없으면 재시도를 수행하는 접속시도 및 완료 체크단계를 수행하는 것을 특징으로 한다.
상기 진입모드는,
상기 작업 실행기와 상기 서보 제어기는, 로봇 매니저(110)와의 접속을 시도하고, 미리 정해진 제한시간이 결과 될때까지 접속이 이루어지지 못하여 실패하면, 상기 종료모드로 진행하여 종료하는 것을 특징으로 한다.
본 발명은 용접 로봇 제어 시스템을 프로세스의 주요 기능별로 제어기 내부에 총 세 개의 프로세스로 구성하여 각각의 서비스를 수행하여 기능별로 모듈화된 구조를 갖기 때문에 시스템의 효율성 및 유지관리의 편의성이 향성되는 효과가 있다.
또한 본 발명은, 프로세스 상호간 메시지 전달을 통해 동기화 구조를 형성하여 시스템의 운용을 원활하게 향상하는 효과가 있다.
도 1은
이하 본 발명의 실시예를 첨부된 도면을 참조해서 상세히 설명하면 다음과 같다.
도 2는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 구성도이다.
유저 인터페이스 디바이스(10)와 관리시스템(20)의 제어를 받아 로봇 시스템(30)을 제어하기 위한 로봇 콘트롤러(100)에 있어서,
상기 유저 인터페이스 디바이스(10)와 상기 관리시스템(20)과 네트웍으로 연결되어 통신하고, 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업파일 및 명령 해석 등의 역할을 수행하는 로봇 매니저(110)와;
상기 로봇 매니저(110)로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행하는 작업 실행기(120)와;
상기 작업실행기(110)에서 생성된 정보의 결과를 받아 실시간으로 로봇시스템(30)을 제어하고, 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기 및 로봇 매니저에게 전달하며 로봇시스템(30)과의 입출력을 직접 관할함과 아울러 센서 및 용접기를 직접 제어하는 서보 제어기(130)로 분할 구성된 것을 특징으로 한다.
상기 유저 인터페이스 디바이스(10)는,
외부에서 작성된 로봇 제어 프로그래밍 데이터와, 작업을 위한 CAD 인터페이스 정보를 입력받아 사용자가 로봇 작업 데이터를 로봇 콘트롤러(100)로 입력하는 유저 인터페이스 OLP 서버(11)와, 사용자가 로봇을 직접 조작할 수 있도록 로봇 제어명령을 입력받아 상기 로봇 콘트롤러(100)로 입력하는 교시조작기(12) 및 상기 로봇 콘트롤러(100)로부터 로봇 운용상태 정보를 수신받아 모니터링할 수 있도록 출력하는 모니터링 컴퓨터(13)를 포함하여 구성됨을 특징으로 한다.
상기 관리 시스템(20)은,
상기 로봇 콘트롤러(100)와 연결되어 권한을 가진 사람만이 로봇 시스템에 접근할 수 있도록 제어하여 유지 관리를 하기 위한 쉘 터미날(21) 및 웹 브라우저 시스템(22)과, 로봇의 제어 및 관리를 위한 데이터를 저장 관리하는 플래시 디스크와 같은 저장매체(23)를 포함하여 구성된다.
도 3은 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 로봇 매니저의 상세 구성도이다.
관리시스템(20)의 쉘터미날(21) 및 내부 로컬 터미날(112)과 연결되어 로봇 시스템을 관리할 수 있도록 서비스하는 서비스 터미날(111)과;
상기 유저 인터 페이스 디바이스(10)와의 네트웍 연결을 관리제어하는 네트웍 브로커(113)와;
상기 서비스 터미날(111)과 상기 네트웍 브로커(113)와 로컬 GUI(112), 웹브라우저(22)와 연결되는 CGI(114)와 연결되어 로봇의 제어를 위한 외부 연결을 서비스하는 로봇 서비스 모듈(115)과;
로봇 로봇의 관리 제어를 위한 시스템 파라미터 관리부(116)와;
작업 명령을 컴파일링 하는 작업 컴파일러(118)와;
작업 명령을 해석하는 코멘드 인터프리테이션부(119)와;
상기 로봇 서비스 모듈(115)과 연동되어 상기 시스템 파라미터 관리부(116), 상기 작업 컴파일러(118) 및 상기 코멘드 인터프레테이션부(119)의 제어와 컴파일된 작업명령 및 실행 명령을 작업실행기(120)로 전송하여 로봇의 관리 제어를 하는 로봇 관리부(117)를 포함하여 구성된 것을 특징으로 한다.
도 4는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 작업 실행기의 상세 구성도이다.
로봇 매니저(110)로부터 전송받은 컴파일된 작업명령과 실행 명령에 의거하여 명령을 해석하는 코멘드 인터프리테이션부(121), 작업 명령을 해석하는 작업(job) 인터프리테이션부(122)와;
상기 코멘드 인터프리테이션부(121)와 상기 작업 인터프리테이션부(122)로부터 해석된 실행명령 및 작업 명령에 의거하고, 서보 제어기(130)로부터 수신되는 입출력 신호에 의거하여 이벤트 프로세싱을 처리하는 이벤트 프로세싱부(123)와;
상기 이벤트 프로세싱부(123)의 제어 및 센서신호에 의해 발생된 경로보상신호에 의해 로봇의 움직임 궤적신호를 발생시키는 궤적 발생부(124)와;
상기 서보제어기(130)를 통해 수신되는 센서신호에 의거하여 경로를 보상신호를 발생시켜 상기 궤적 발생부(124)로 경로 보상신호를 인가하는 경로보상부(125)와;
상기 궤적 발생부(124)의 궤적신호를 역운동학부(Invers Kinematics)(161)의 제어에 의거하여 조인트 포지션 및 용접 조건 정보를 서보 제어기(130)로 전송하는 포인트 포지션 컨버젼부(127)로 구성됨을 특징으로 한다.
도 5는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 서보 제어기의 상세 구성도이다.
로봇 시스템(30)의 센서시스템(31)으로부터 센서정보를수신받아 상기 작업실행기(120)로 전달하는 센서인터페이스부(131)와;
로봇 시스템(30)의 용접기(32)와 인터페이스하여 용접조건에 따라 용접기를 제어하는 용접기 인터페이스부(132)와;
로봇 시스템(30)의 입출력장치(TP/UP DIO, 어플리케이션 DIO)(33)와 연결되어 상기 작업 실행기(120)와의 신호 입출력을 관리하는 신호 입출력 관리부(133)와;
상기 작업 실행기(127)의 조인트 포지션 및 용접신호에 의거하여 로봇 시스템(30)의 서보 드라이버(34)를 제어하기 위한 필드 네트워크 인터페이스부(134a), 포지션 인터폴레이션부(134b), 모션 감지부(134c), 문제 및 오류 체크부(134d)를 포함하여 이루어지는 서보 콘트롤부(134)를 포함하여 구성됨을 특징으로 한다.
이와 같이 구성되는 본 발명은, 로봇 콘트롤시스템의 제어 프로그램이 로봇 매니저(Robot Manage)(110), 작업실행기(Task Executer)(120), 서보 제어기(Servo Controller)(130) 총 세 개의 프로세스 기반으로 구성된다.
사용자는 OLP 서버(11)를 통해 로봇의 작업 데이터를 전송하고 모니터링 PC(13)를 통해 로봇의 운용상태를 모니터링 하며 교시조작기(12)를 이용하여 로봇의 동작을 직접 제어하게 된다. 관리시스템(20)으로는 유지관리를 위해 쉘 터미널(21)과 웹 브라우저(22)를 이용하여 권한을 가진 사람만이 로봇 시스템에 접근할 수 있게 된다.
이러한 외부 장치와의 통신은 로봇 매니저(110)가 담당하게 되며 이 외에도 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업실행기(120)에 전달하기 위한 작업파일 및 명령 해석 등의 역할을 수행한다.
도 6은 본 발명을 설명하기 위한 각 프로세스별 기능 설명도이고, 도 7은 본 발명에 의한 로봇 매니저와, 작업 실행기 및 서보 제어기 간의 기능 설명도이다.
프로세스간 동기화 및 데이터 공유를 위해서는 메시지 패싱과 공유 메모리를 사용하게 된다. 메시지는 프로세스간 통신 수단으로 역할을 수행하며 주로 서비스의 요청 및 결과, 정보 전달, 이벤트 발생 등의 역할을 하게 된다. 공유 메모리는 로봇정보 정의, 프로세스 수행 상태, 시스템 모드, 작업파일 저장, 로봇 상태 정보 등의 데이터를 프로세스간 공유하는 데에 사용된다.
로봇 매니저(110)는 여러가지 데이터를 관리하게 되는데 작업지원 데이터와 로봇 형상 정보가 대표적이며 작업 지원 데이터에는 홈 위치 정보, 사용자 좌표계 정보, 용접 조건 정보 등이 이에 포함되며 로봇형상정보에는 로봇의 형태, 로봇모션정보, 축모션정보, 모터의 종류, 엔코더 분해능, 원점 데이터, 센서 정보 등이 포함된다.
로봇 매니저(110)는, 서비스 터미날(111)을 통해 외부 쉘 터미날(21)이나 로컬 터미날(112)로부터 로봇 서비스 모듈(115)로 접근 할 수 있도록 제어하며, 네트웍 브로커(113)는 유저 인터페이스 디바이스(10)의 OLP 서버(11)와 교시조작기(12)를 통해 로봇 서비스 모듈(115)로 접근할 수 있도록 네트웍을 제어하며, 웹브라우저(22)를 통해서는 CGI(114)를 통해 로봇 서비스 모듈(115)에 접속하여 로봇 관리 제어를 수행할 수 있게 된다. 물론 로컬 터미날(112) 및 로컬 GUI(112-1)를 통해서도 로봇 서비스 모듈(115)에 접속하여 로봇 유지 관리와 제어가 가능해진다.
로봇 서비스 모듈(115)은, 시스템 파라미터 관리부(116)와, 로봇 관리부(117), 작업 컴파일러(118), 코멘드 인터프리테이션부(119)를 통해 로봇 제어 및 관리를 수행한다. 도 6에 도시된 바와 같이 실행 환경 서비스로서, 프로세스 실행/종료관리, 실행모드 관리, 시스템 파라미터 관리, 공유 메모리 관리를 한다.
통신서비스로는 서비스 터미날(111)을 통한 터미날 서비스와, 네트웍 브로커(113)를 통한 교시조작기, GUI 등의 외부 장치와의 통신 및 작업실행기(120)와 서보 제어기(130)간의 프로세스간 통신, OLP 서버와의 이더넷, 텔넷, FTP, SSH 등의 통신 서비스를 제공한다. 작업 파일 서비스는, 작업 파일 구문 파싱, 작업 파일 로드, 작업 파일 캐시, 재로드를 수행하는데, 로봇 관리 서비스는, 서보온, 브레이크 지령, 홈 포지션 서비스, 키 처리 서비스를 수행하며, 기타 서비스로 통계 서비스(작업시간등)을 수행한다. 이는 로봇 서비스 모듈(115)이 시스템 파라미터 관리부(116), 로봇 관리부(116), 작업 컴파일러(118) 및 코멘드 인터프리테이션부(119)를 통해서 수행되며, 공유 메모리로서 저장매체(23)를 이용한다.
작업실행기(120)는 로봇의 모션에 관련된 정보를 계산한다. 로봇 매니저(110)로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행한다.
코멘드 인터프리테이션부(121)와 작업 인터프리테이션부(122)의 해석 정보에 의해 이벤트 프로세싱부(123)가 수행하는 작업 명령처리로서, 실행 전처리, 레이블 테이블 생성(분기), 작업 명령 처리를 한다. 런타임 서비스로서 역운동학부(161)를 통한 기구학 해석, 궤적 발생부(124)를 통한 동작 경로 생성, 경로 보상부(125)를 통한 경로 보상.수집 기능(센서), 포인트 포지션 컨버젼부(127)를 통한 조인트 동작 서비스를 실행하며, 응급 기능 서비스로서 응급 정지기능(모션, 용접 등)을 수행한다.
서보 제어기(130)는, 작업실행기(120)에서 생성된 정보의 결과를 받아 실시간으로 로봇을 제어한다. 단위 시간당 위치 데이터를, , 제어정보를 전달하기 위해 사용되는 산업용 필드 네트워크(EtherCAT, Mechatrolink, Profinet, Powerlink, SSCNET 등)을 통해 서보 드라이버(34)에 전달하여 실제 모터를 제어하게 되며 이외에 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기(120) 및 로봇 매니저(110)에게 전달하게 된다. 또한 여러가지 입출력을 직접 관할하게 되며 센서시스템(31) 및 용접기(32)를 직접 제어하는 역할을 수행한다.
서보 콘트롤부(134)에 의해 수행되는 서보 컨트롤은, 서보 시간관리, 서보온, 브레이크 관리, 서보 지령관리, 절대 인코더 관리를 수행한다. 즉, 필드 네트워크 인터페이스부(134a) 를 통해 서보 드라이버(34)들과 통신하고, 포지션 인터폴레이션부(134b)를 통해 서보의 동작 및 각 서보의 위치제어를 하게 되며, 모션 감시부(134c)를 통해 모션 감시를 수행하며, 문제 및 오류 체크부(134d)를 통해 오류 감시를 하게 된다.
입출력 관리는, 입출력 신호 관리부(133)에 의해 제어되며, 로봇 시스템(30)의 입출력 장치(33)에 연결되어 응급 정지 관리(다중 응급 정지, 시스템 IO관리 DIO, AIO가상화 관리를 수행한다.
용접 서비스는, 용접기 인터페이스부(132)에 의해 제어되며, 용접기 가상화 기능과, 용접 전류/전압 지령, 용접 전류/전압 피드백 기능을 수행한다.
시스템 안전 서비스로서 서보 콘트롤부(134)의 문제 및 오류 체크부(134d)에 의해 모터 앰프 폴트 처리, 용접기 고장 처리, TE와 치독 기능등을 수행한다.
센서인터페이스부(131)는 센서 시스템(31)과 연결되어 센서 가상화 기능을 수행하여 센서정보를 인터페이스 한다.
그리고, 유저 인터페이스 디바이스부(10)의 교지조작기(12)는 통신 서비스로서, 로봇 제어기 연결, 제어기 명령 입력, 제어기 통신 재연결, 제어기 통신 종료등을 서비스하고, 작업 파일 서비스로서, 작업 파일 수정 및 편진과, 작업 파일 로드 서비스를 한다. 또한 시스템 모니터링 뷰 서비스로서, 시스템 모니터링 정보 전송과, I/O 모니터링 정보 전송, 위치값 모니터링을 수행하며, 사용자 인터페이스 서비스로서 UP 인터페이스, 수동모드 인터페이스 작업 파일 인터페이스를 처리한다.
이와 같이 교시조작기(12)는, 사용자로 하여금 로봇의 작동에 관한 시퀀스를 입력받는다. 로봇의 이동 및 용접 등과 같은 서비스를 실행하기 위해서 작업파일 및 필요한 정보들을 사용자의 입력을 받아 세팅하게 된다. 사용자로부터 입력/수정이 가능하기 위해 그래픽 기반의 사용자 인터페이스가 제공되며 키를 통해 입력을 처리할 수 있도록 구성되어 있다. 로봇 작동에 관한 순서에 맞춰 작업파일이 작성되어 관리 및 저장된다.
로봇 콘트롤러(100)에는 실시간 운용체제 중에 하나인 QNX가 실제 적용되었으며 교시조작기(12)에는 WinCE가 적용되었다. 각 모듈별 세부적인 기능은 다음과 같다.
로봇 매니저(110)와, 작업 실행기(120) 및 서보 제어기(130)의 프로세스간 동기화 및 데이터 공유를 위해서는 메시지 패싱과 공유 메모리 즉, 저장매체(23)로서 플래시 디스크를 사용하게 된다. 메시지는 프로세스간 통신 수단으로 역할을 수행하며 주로 서비스의 요청 및 결과, 정보 전달, 이벤트 발생 등의 역할을 하게 된다. 공유 메모리는 로봇정보 정의, 프로세스 수행 상태, 시스템 모드, 작업파일 저장, 로봇 상태 정보 등의 데이터를 프로세스 간 공유하는 데에 사용된다.
로봇 매니저(110)는 여러가지 데이터를 관리하게 되는데 작업지원 데이터와 로봇 형상 정보가 대표적이며 작업 지원 데이터에는 홈 위치 정보, 사용자 좌표계 정보, 용접 조건 정보 등이 이에 포함되며 로봇형상정보에는 로봇의 형태, 로봇모션정보, 축모션정보, 모터의 종류, 엔코더 분해능, 원점 데이터, 센서 정보 등이 포함된다.
도 8은 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어흐름도이고, 도 9는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 프로세스간 제어 흐름도이다.
도 8에 도시된 바와 같이 로봇 콘트롤러(100)에 의해 수행되는 제어절차는, 먼저, 프로그램 인자 해석(S11)에 의해 원래 프로그램의 기능 이외의 기능을 추가할 수 있는 인자(argument)를 파싱하여 그에 관련한 실행을 먼저 수행한다. 다음으로 시스템 파라미터 로딩(S12)에 의해 별도의 파일로 구성되어 있는 시스템 파라미터를 공유 메모리에 로딩한 후에 서비스 채널 생성(S13)으로 외부 장치로부터 서비스 입력을 받을 수 있는 메시지 패싱을 위한 채널을 생성하여 서비스를 받을 준비를 한다.
이후, 외부 장치로부터 다른 개체의 서비스 요청을 포함하는 서비스 요청이 접수(S14)되면, 관련된 서비스를 실행(S15)하여 처리하고, 서비스 결과 수행회신(S16)단계에서 결과를 회신한다. 서비스의 종류가 종료 명령이면(S17), 종료 모드에 진입하여 종료절차 진행(S18)에 의해 종료 프로세스를 진행하게 된다.
도 9는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 각 프로세스별 시스템 모드별 동기화 절차 및 실행, 종료 관리 절차를 설명도이다.
로봇 매니저(110), 작업 실행기(120), 서보 제어기(130)가 각각 독립된 프로세스를 수행하도록 이루어지고, 진입 모드(S100), 초기화 모드(S200), 운전 모드(S300), 종료모드(S400)의 순서로 제어된다.
본 발명은, 로봇 매니저(110)가 프로그램분석에 의해 시스템 파라미터를 로딩하고, 공유메모리를 생성해 저장하여 로봇 매니저 서비스 실행준비하는 하며, 작업 실행기가 프로그램 실행 옵션 분석을 수행하여 작업 실행기 서비스 실행준비를 하고, 상기 로봇 매니저 접속을 시도하며, 서보 제어기(130)가 프로그램 실행 옵션 분석에 의해 서보 제어기 서비스 실행 준비를 하여 로봇매니저 접속을 시도하고, 로봇 매니저는, 로봇 매니저 서비스 실행 준비후 작업 실행기와 서보 제어기의 접속 시도를 받아 접속 완료를 수행하여 초기화 명령을 내리는 진입 모드(S100)를 수행한다.
진입모드(S100)에서 각 프로세스별로 서비스 실행 준비가 완료된후 로봇 매니저(110)에 작업 실행기(120)와 서보 제어기(130)의 접속이 이루어지면, 로봇 매니저(110)의 초기화 명령에 의해 작업 실행기(120)와 서보 제어기(130)의 초기화가 시작되고, 초기화 완료를 로봇 매니저(110)로 회신하여 초기화 모드(S200)의 수행이 완료된다.
초기화 모드(S200)가 완료되면, 로봇 매니저(110)는 별도의 쓰레드를 통해 주기적으로 작업 실행기(120)와 서보 제어기(130)로 정상 구동 체크 신호를 전송하여 정상 구동 회신 상태를 체크하며, 접속상태가 불량이면 접속 재시도를 하면서 정상 구동 상태를 체크하며, 정상 구동 체크에서 양호한 상태이면 각 프로세스별로 각자 서비스 실행을 수행하여 운전 모드(S300)를 수행한다. 운전모드는, 수동, 자동, 드라이런 모드를 수행한다.
이후, 종료명령이 입력되면 로봇 매니저(110)는 종료 명령을 작업 실행기(120)와 서보 제어기(130)로 종료명령을 내려 종료 절차를 수행하도록 한다. 이때 작업 실행기(120)와 서보 제어기(130)는 모든 자원과 장치의 안전종료를 수행하도록 한다.
상기 진입모드(S100)에서 로봇 매니저(110)는,
프로그램 실행 옵션 분석에 의해 인자(argument)를 파싱하는 프로그램 실행옵션 분석단계(S111)와, 분석된 인자에 의해 시스템 파라미터를 파일로부터 로딩하는 시스템 파라미터 로딩단계(S112)와, 상기 로딩된 시스템 파라미터를 내부 메모리에 저장한 후에 공유 메모리를 생성하여 파라미터 데이터를 공유메모리에 저장하는 공유 메모리 생성(S113)단계와, 공유 메모리에 파라미터를 저장한 후, 로봇 매니저 서비스를 수행하기 위한 서비스를 생성하는 로봇 매니저 서비스 실행 준비 단계(S114)를 수행하고,
상기 작업 실행기(120)는,
프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계(S121)와, 분석된 인자에 의해 작업 실행기 서비스를 생성하는 작업 실행기 서비스 실행 준비 단계(S122)와, 서비스 실행준비가 이루어지면, 상기 로봇 매니저(110)로 접속을 시도하는 로봇 매니저 접속 시도 단계(S123)를 수행하고,
상기 서보 제어기(130)는,
프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계(S131)와, 분석된 인자에 의해 서보 제어기 서비스를 생성하는 서보 제어기 서비스 실행 준비 단계(S132)와, 서비스 실행준비가 이루어지면, 상기 로봇 매니저(110)로 접속을 시도하는 로봇 매니저 접속 시도 단계(S133)를 수행하고,
상기 로봇 매니저(110)는, 작업 실행기(120)와 서보 제어기(130)의 접속 시도(S115)를 받아 접속 완료(S116)를 체크하여 연결을 확인하고 연결 시도가 없으면 재시도를 수행하는 접속시도 및 완료 체크단계를 수행한다.
상기 진입모드(S100)에서 상기 작업 실행기(120)와 상기 서보 제어기(S130)는, 로봇 매니저(110)와의 접속을 시도하고, 미리 정해진 제한시간이 결과 될때까지 접속이 이루어지지 못하여 실패하면, 상기 종료모드(S400)로 진행하여 종료한다.
이와 같은 진입모드(S100)은, 로봇 매니저(110)는 프로그램 실행 옵션 분석(S111)에 의해 인자(argument)를 파싱하고, 시스템 파라미터 로딩(S112)에 의해 시스템 파라미터를 파일로부터 로딩하여 내부 메모리에 저장한 후에 공유 메모리 생성(S113)에 의해 공유메모리를 생성하며 파라미터 데이터를 공유메모리에 저장한다. 그리고 로봇 매니저(도 9에서 'RM'로 약칭함) 서비스를 수행하기 위한 서비스를 생성하며(S114), 작업 실행기(도 9에서 'TE'로 약칭함)와 서보 제어기(도 9에서 'SC'로 약칭함)의 접속 시도(S115)를 받아 접속 완료(S116)를 체크하여 연결을 확인하고 연결 시도가 없으면 재시도를 수행한다.
작업 실행기(120), 서보 제어기(130)는 로봇 매니저(110)와 동일하게 프로그램 실행 옵션 분석(S121), S131)에 의해 인수를 파싱하고, 각자의 서비스를 생성하여 작업 실행기 서비스 실행 준비(S122) 및 서보 제어기 실행준비(S132)를 하고, 각자 로봇 매니저(RM)와의 접속시도(S123)(S133)을 시도하며, 정해진 한계치 이상 시간이 경과되면 연결시도를 종료하고(S124)(S134), 프로세스를 종료하는 절차를 수행한다. 여기까지가 진입모드이다.
초기화 모드(S200)는, 작업 실행기(120; TE)와 서보 제어기(130; SC)가 로봇 매니저(110; RM)에 연결이 성공적으로 되었으면(S116) 그 다음 로봇 매니저(110)는 나머지 두 개의 프로세스인 작업 실행기(120; TE)와 서보 제어기(130; SC)에 초기화 수행 명령을 전달하게 되며, 작업 실행기(120)와 서보 제어기(130)는 명령을 정상적으로 전달받았으면 내부적인 초기화 작업에 들어가고, 초기화 완료 결과를 로봇 매니저(110)로 회신한다. 여기까지가 초기화 모드이다.
운전 모드(S300)는, 로봇 매니저(110)는 별도의 쓰레드를 통해 나머지 두 개의 프로세스가 정상적으로 구동되고 있는지를 체크하기 위한 얼라이브 체크(alive check) 메시지를 주기적으로 전송하여 정상 구동 체크(S311)를 하며, 작업 실행기(120) 및 서보 제어기(130)는, 정상 구동 체크 신호에 의해 정상 구동 회신(S321)(S331)을 하며, 로봇 매니저(110)는, 정상구동 회신에 의거하여 접속 상태 양호 판단(S312)을 하고, 만약 정상구동회신이 없으면, 연결에 문제가 있다고 판단하여 연결을 재시도하게 된다. 이는 서비스를 처리하는 쓰레드와는 별개로 구동되기 때문에 서비스를 처리하는 데에는 지장을 받지 않도록 구성된다. 정상 연결이 이루어지면 각자 프로세스별로 서비스 실행(S313)(S323)(S333)을 수행한다.
정상적으로 초기화가 완료되고 연결이 정상상태이면 운전 모드(S300)는 크게 수동모드, 자동모드, 드라이런 모드로 제어할 수 있다. 수동 모드는 조그 서비스를 통해 로봇의 동작을 키입력을 통해 사용자가 로봇을 원하는 위치 및 자세로 이동할 수 있으며 작업파일의 편집 및 수정, 입출력의 제어, 여러가지 데이터를 입력받을 수 있는 모드이다. 자동모드는 현재 활성화되어 있는 작업 파일을 별도의 입력이 있을 때까지 자동으로 수행하는 모드이며 자동모드에서는 용접기능을 포함하게 된다. 드라이런 모드는 자동모드에서 용접기능만을 제외한 동작을 수행하게 된다. 이렇게 정상적으로 로봇의 동작 기능을 수행하게 되는 모드가 수동모드, 자동모드, 드라이런 모드이다.
비상정지 모드는 전체 시스템 모드에서 언제라도 동작할 수 있으며 입력을 받게 되면 로봇의 동작, 입출력, 용접 등 모든 기능이 정지되게 되며 해제시 다시 정상적인 기능을 수행할 수 있도록 구성된다.
마지막으로 종료 모드(S400)는 로봇 매니저(110)가 교시조작기, 쉘 터미날, GUI 등 다른 외부장치로부터 종료 명령을 받게 되면 종료 명령을 작업 실행기(120)와 서보 제어기(130)에 전달하게 되며 작업 실행기(120)와 서보 제어기(130)의 모든 종료절차가 정상적으로 수행되면 로봇 매니저가 종료 절차에 들어가게 된다.
10 : 유저 인터페이스부 11 : OLP 서버
12 : 교시 조작기 13 : 모니터링 컴퓨터
20 : 관리 시스템 21 : 쉘 터미널
22 : 웹 브라우저 23 : 저장매체
30 : 로봇 시스템 31 : 센서 시스템
32 : 용접기 33 : 입출력장치
34 : 서보 드라이버
100 : 로봇 콘트롤러 110 : 로봇 매니저
120 : 작업 실행기 130 : 서보 제어기

Claims (10)

  1. 유저 인터페이스 디바이스(10)와 관리시스템(20)의 제어를 받아 로봇 시스템(30)을 제어하기 위한 로봇 콘트롤러(100)에 있어서,
    상기 유저 인터페이스 디바이스(10)와 상기 관리시스템(20)과 네트웍으로 연결되어 통신하고, 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업파일 및 명령 해석 등의 역할을 수행하는 로봇 매니저(110)와;
    상기 로봇 매니저(110)로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행하는 작업 실행기(120)와;
    상기 작업실행기(110)에서 생성된 정보의 결과를 받아 실시간으로 로봇시스템(30)을 제어하고, 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기 및 로봇 매니저에게 전달하며 로봇시스템(30)과의 입출력을 직접 관할함과 아울러 센서 및 용접기를 직접 제어하는 서보 제어기(130)로 분할 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
  2. 제 1 항에 있어서, 상기 유저 인터페이스 디바이스(10)는,
    외부에서 작성된 로봇 제어 프로그래밍 데이터와, 작업을 위한 CAD 인터페이스 정보를 입력받아 사용자가 로봇 작업 데이터를 로봇 콘트롤러(100)로 입력하는 유저 인터페이스 OLP 서버(11)와, 사용자가 로봇을 직접 조작할 수 있도록 로봇 제어명령을 입력받아 상기 로봇 콘트롤러(100)로 입력하는 교시조작기(12) 및 상기 로봇 콘트롤러(100)로부터 로봇 운용상태 정보를 수신받아 모니터링할 수 있도록 출력하는 모니터링 컴퓨터(13)를 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
  3. 제 1 항에 있어서, 상기 관리 시스템(20)은,
    상기 로봇 콘트롤러(100)와 연결되어 권한을 가진 사람만이 로봇 시스템에 접근할 수 있도록 제어하여 유지 관리를 하기 위한 쉘 터미날(21) 및 웹 브라우저 시스템(22)을 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
  4. 제 1 항에 있어서, 상기 로봇 매니저(110)는,
    관리시스템(20)의 쉘터미날(21) 및 내부 로컬 터미날(112)과 연결되어 로봇 시스템을 관리할 수 있도록 서비스하는 서비스 터미날(111)과;
    상기 유저 인터 페이스 디바이스(10)와의 네트웍 연결을 관리제어하는 네트웍 브로커(113)와;
    상기 서비스 터미날(111)과 상기 네트웍 브로커(113)와 로컬 GUI(112), 웹브라우저(22)와 연결되는 CGI(114)와 연결되어 로봇의 제어를 위한 외부 연결을 서비스하는 로봇 서비스 모듈(115)과;
    로봇 로봇의 관리 제어를 위한 시스템 파라미터 관리부(116)와;
    작업 명령을 컴파일링 하는 작업 컴파일러(118)와;
    작업 명령을 해석하는 코멘드 인터프리테이션부(119)와;
    상기 로봇 서비스 모듈(115)과 연동되어 상기 시스템 파라미터 관리부(116), 상기 작업 컴파일러(118) 및 상기 코멘드 인터프레테이션부(119)의 제어와 컴파일된 작업명령 및 실행 명령을 작업실행기(120)로 전송하여 로봇의 관리 제어를 하는 로봇 관리부(117)를 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
  5. 제 1 항에 있어서, 상기 작업 실행기(120)는,
    로봇 매니저(110)로부터 전송받은 컴파일된 작업명령과 실행 명령에 의거하여 명령을 해석하는 코멘드 인터프리테이션부(121), 작업 명령을 해석하는 작업(job) 인터프리테이션부(122)와;
    상기 코멘드 인터프리테이션부(121)와 상기 작업 인터프리테이션부(122)로부터 해석된 실행명령 및 작업 명령에 의거하고, 서보 제어기(130)로부터 수신되는 입출력 신호에 의거하여 이벤트 프로세싱을 처리하는 이벤트 프로세싱부(123)와;
    상기 이벤트 프로세싱부(123)의 제어 및 센서신호에 의해 발생된 경로보상신호에 의해 로봇의 움직임 궤적신호를 발생시키는 궤적 발생부(124)와;
    상기 서보제어기(130)를 통해 수신되는 센서신호에 의거하여 경로를 보상신호를 발생시켜 상기 궤적 발생부(124)로 경로 보상신호를 인가하는 경로보상부(125)와;
    상기 궤적 발생부(124)의 궤적신호를 역운동학부(Invers Kinematics)(161)의 제어에 의거하여 조인트 포지션 및 용접 조건 정보를 서보 제어기(130)로 전송하는 포인트 포지션 컨버젼부(127)를 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
  6. 제 1 항에 있어서, 상기 서보 제어기(130)는,
    로봇 시스템(30)의 센서시스템(31)으로부터 센서정보를 수신받아 상기 작업실행기(120)로 전달하는 센서인터페이스부(131)와;
    로봇 시스템(30)의 용접기(32)와 인터페이스하여 용접조건에 따라 용접기를 제어하는 용접기 인터페이스부(132)와;
    로봇 시스템(30)의 입출력장치(TP/UP DIO, 어플리케이션 DIO)(33)와 연결되어 상기 작업 실행기(120)와의 신호 입출력을 관리하는 신호 입출력 관리부(133)와;
    상기 작업 실행기(127)의 조인트 포지션 및 용접신호에 의거하여 로봇 시스템(30)의 서보 드라이버(34)를 제어하기 위한 필드 네트워크 인터페이스부(134a), 포지션 인터폴레이션부(134b), 모션 감지부(134c), 문제 및 오류 체크부(134d)를 포함하여 이루어지는 서보 콘트롤부(134)를 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
  7. 로봇 콘트롤러가 로봇 매니저(110), 작업 실행기(120), 서보 제어기(130)로 각각 독립된 프로세스를 수행하도록 이루어진 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어방법에 있어서,
    로봇 매니저(110)와 작업 실행기(120) 및 서보 제어기(130)가 각각 프로그램 실행 옵션을 분석하여 서비스 실행을 준비하고, 작업 실행기(120) 및 서보 제어기(130)가 로봇 매니저(110)로 접속을 시도하여 접속이 완료되면, 로봇 매니저(110)에 의해 초기화 실행 명령이 생성되는 진입 모드(S100)와;
    상기 로봇 매니저(110)의 초기화 명령에 의해 작업 실행기(120)와 서보 제어기(130)의 초기화가 시작되고, 초기화 완료를 로봇 매니저(110)로 회신하는 초기화 모드(S200)와;
    상기 로봇 매니저(110)가 초기화 모드(S200)에서 초기화 완료 회신을 받아 정상 구동 상태가 되면, 로봇 매니저(110)는 별도의 쓰레드를 통해 주기적으로 작업 실행기(120)와 서보 제어기(130)로 정상 구동 체크 신호를 전송하여 정상 구동 회신을 받아 접속 불량이면 접속 재시도를 하면서 정상 구동 상태를 체크하며, 정상 구동 체크에서 양호한 상태이면 프로세스 별로 각자 서비스 실행을 수행하는 운전 모드(S300)와;
    종료명령이 입력되면 로봇 매니저(110)는 종료 명령을 작업 실행기(120)와 서보 제어기(130)로 종료명령을 내려 종료 절차를 수행하는 종료 모드(S400)로 이루어진 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어 방법
  8. 제 7 항에 있어서, 상기 운전모드(S200)는,
    수동모드, 자동모드, 드라이런 모드를 포함하는 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어 방법
  9. 제 7 항에 있어서, 상기 진입모드(S100)는,
    로봇 매니저(110)는,
    프로그램 실행 옵션 분석에 의해 인자(argument)를 파싱하는 프로그램 실행옵션 분석단계(S111)와,
    분석된 인자에 의해 시스템 파라미터를 파일로부터 로딩하는 시스템 파라미터 로딩단계(S112)와,
    상기 로딩된 시스템 파라미터를 내부 메모리에 저장한 후에 공유 메모리를 생성하여 파라미터 데이터를 공유메모리에 저장하는 공유 메모리 생성(S113)단계와;
    공유 메모리에 파라미터를 저장한 후, 로봇 매니저 서비스를 수행하기 위한 서비스를 생성하는 로봇 매니저 서비스 실행 준비 단계(S114)를 수행하고,

    상기 작업 실행기(120)는,
    프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계(S121)와;
    분석된 인자에 의해 작업 실행기 서비스를 생성하는 작업 실행기 서비스 실행 준비 단계(S122)와;
    서비스 실행준비가 이루어지면, 상기 로봇 매니저(110)로 접속을 시도하는 로봇 매니저 접속 시도 단계(S123)를 수행하고,

    상기 서보 제어기(130)는,
    프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계(S131)와;
    분석된 인자에 의해 서보 제어기 서비스를 생성하는 서보 제어기 서비스 실행 준비 단계(S132)와;
    서비스 실행준비가 이루어지면, 상기 로봇 매니저(110)로 접속을 시도하는 로봇 매니저 접속 시도 단계(S133)를 수행하고,

    상기 로봇 매니저(110)는, 작업 실행기(120)와 서보 제어기(130)의 접속 시도(S115)를 받아 접속 완료(S116)를 체크하여 연결을 확인하고 연결 시도가 없으면 재시도를 수행하는 접속시도 및 완료 체크단계를 수행하는 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어 방법
  10. 제 9 항에 있어서, 상기 진입모드(S100)는,
    상기 작업 실행기(120)와 상기 서보 제어기(S130)는,
    로봇 매니저(110)와의 접속을 시도하고, 미리 정해진 제한시간이 결과 될때까지 접속이 이루어지지 못하여 실패하면, 상기 종료모드(S400)로 진행하여 종료하는 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어 방법.
KR1020130152717A 2013-12-10 2013-12-10 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법 KR102127951B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130152717A KR102127951B1 (ko) 2013-12-10 2013-12-10 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130152717A KR102127951B1 (ko) 2013-12-10 2013-12-10 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20150067414A true KR20150067414A (ko) 2015-06-18
KR102127951B1 KR102127951B1 (ko) 2020-06-29

Family

ID=53515225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130152717A KR102127951B1 (ko) 2013-12-10 2013-12-10 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR102127951B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180112324A (ko) * 2017-04-03 2018-10-12 한국전자통신연구원 공정 레시피 기반의 자동 조립 장치 및 방법
CN108971807A (zh) * 2018-07-27 2018-12-11 常州伟泰科技股份有限公司 一种现场焊接施工工艺智能管理控制方法及管理系统
KR102089749B1 (ko) * 2019-11-20 2020-05-27 전명숙 소화 배관 제조 공정을 제어하기 위한 방법 및 장치
CN114260901A (zh) * 2022-01-04 2022-04-01 珠海格力智能装备有限公司 一种工业机器人的控制系统
CN116252025A (zh) * 2023-05-16 2023-06-13 江苏长江智能制造研究院有限责任公司 一种基于智能机器人焊接工作站的数据传输系统及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230108905A (ko) 2022-01-12 2023-07-19 한화오션 주식회사 로봇 olp를 위한 블록 형상 및 치수 정보 자동 기입방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179612A (ja) * 1995-12-21 1997-07-11 Yaskawa Electric Corp 自動溶接装置
KR19990018437A (ko) * 1997-08-27 1999-03-15 윤종용 다중 로봇 제어 시스템 및 프로그램
KR20080036685A (ko) 2006-10-24 2008-04-29 삼성중공업 주식회사 네트워크 기반의 탑재형 로봇 제어 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179612A (ja) * 1995-12-21 1997-07-11 Yaskawa Electric Corp 自動溶接装置
KR19990018437A (ko) * 1997-08-27 1999-03-15 윤종용 다중 로봇 제어 시스템 및 프로그램
KR20080036685A (ko) 2006-10-24 2008-04-29 삼성중공업 주식회사 네트워크 기반의 탑재형 로봇 제어 시스템

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180112324A (ko) * 2017-04-03 2018-10-12 한국전자통신연구원 공정 레시피 기반의 자동 조립 장치 및 방법
CN108971807A (zh) * 2018-07-27 2018-12-11 常州伟泰科技股份有限公司 一种现场焊接施工工艺智能管理控制方法及管理系统
KR102089749B1 (ko) * 2019-11-20 2020-05-27 전명숙 소화 배관 제조 공정을 제어하기 위한 방법 및 장치
CN114260901A (zh) * 2022-01-04 2022-04-01 珠海格力智能装备有限公司 一种工业机器人的控制系统
CN116252025A (zh) * 2023-05-16 2023-06-13 江苏长江智能制造研究院有限责任公司 一种基于智能机器人焊接工作站的数据传输系统及方法

Also Published As

Publication number Publication date
KR102127951B1 (ko) 2020-06-29

Similar Documents

Publication Publication Date Title
KR102127951B1 (ko) 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법
US6961926B2 (en) System and method for distributed debugging and recording medium on which control programs are recorded
CN100392539C (zh) 用于运行技术设备的方法和过程管理系统
EP1376284B1 (en) Controllable object remote control and diagnosis apparatus
US7813813B2 (en) Safety unit, controller system, connection method of controllers, control method of the controller system and monitor method of the controller system
JP5149258B2 (ja) ロボットコンポーネント管理装置
US8862251B2 (en) Controller for machine tool and machining-related data processing system provided therewith
US20030220715A1 (en) Coordinated robot control from multiple remote instruction sources
KR20010031303A (ko) 로봇 제어 장치와 그 제어 방법
KR20200006939A (ko) 자동화 애플리케이션들을 위한 추상화 계층들
Alho et al. Service-oriented approach to fault tolerance in CPSs
Klotzbücher et al. Reusable hybrid force-velocity controlled motion specifications with executable domain specific languages
Volkmann et al. A CAD feature-based manufacturing approach with OPC UA skills
Simonič et al. Modular ROS-based software architecture for reconfigurable, Industry 4.0 compatible robotic workcells
Zoitl et al. Dynamic reconfiguration of distributed control applications with reconfiguration services based on IEC 61499
EP1935576A1 (en) An industrial robot system
Cengic et al. A framework for component based distributed control software development using IEC 61499
Naumann et al. Automatic generation of robot applications using a knowledge integration framework
Eriksen Setup and interfacing of a kuka robotics lab
Alonso et al. Software architecture for a robot teleoperation system
CN106965181B (zh) 基于ros和orocos的机器人控制方法和系统
Murwantara An initial framework of dynamic software product line engineering for adaptive service robot
Arnarson Digital twin simulation with Visual Components
JPH0433002A (ja) 制御装置
Rasheed A Makerspace Cyber Physical System for Convergence Research

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant