KR102127951B1 - Multi-Process Based Welding Robot Control System and it's method - Google Patents

Multi-Process Based Welding Robot Control System and it's method Download PDF

Info

Publication number
KR102127951B1
KR102127951B1 KR1020130152717A KR20130152717A KR102127951B1 KR 102127951 B1 KR102127951 B1 KR 102127951B1 KR 1020130152717 A KR1020130152717 A KR 1020130152717A KR 20130152717 A KR20130152717 A KR 20130152717A KR 102127951 B1 KR102127951 B1 KR 102127951B1
Authority
KR
South Korea
Prior art keywords
robot
manager
service
control
servo controller
Prior art date
Application number
KR1020130152717A
Other languages
Korean (ko)
Other versions
KR20150067414A (en
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/en
Publication of KR20150067414A publication Critical patent/KR20150067414A/en
Application granted granted Critical
Publication of KR102127951B1 publication Critical patent/KR102127951B1/en

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Plasma & Fusion (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그의 제어 방법에 관한 것으로서, 유저 인터페이스 디바이스와 관리시스템과 네트웍으로 연결되어 통신하고, 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업파일 및 명령 해석 등의 역할을 수행하는 로봇 매니저와, 상기 로봇 매니저로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행하는 작업 실행기와, 상기 작업 실행기에서 생성된 정보의 결과를 받아 실시간으로 로봇시스템을 제어하고, 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기 및 로봇 매니저에게 전달하며 로봇시스템과의 입출력을 직접 관할함과 아울러 센서 및 용접기를 직접 제어하는 서보 제어기로 시스템이 분할 구성되며, 로봇 매니저가 별도의 쓰레드로 주기적으로 정상 구동 체크를 하며, 작업 실행기 및 서보 제어기가 정상 구동 회신을 하여 정상 구동 상태를 체크하면서 서비스를 실행하고, 로봇 매니저에 의해 작업실행기와 서보 제어기의 동기화 제어가 이루어지도록 함으로써 다중 프로세스에 의해 제어되어 시스템 효율을 향할 수 있도록 한 것이다.The present invention relates to a multi-process-based real-time welding robot control system and a control method thereof, which is connected to a user interface device and a management system through a network to communicate, manages system parameters, manages robot operating performance, analyzes work files and commands, and the like. A robot manager performing a role, and a task executor that analyzes commands and work files transmitted from the robot manager to calculate kinematics and trajectory information about the robot's motion, and processes aperiodic events such as emergency stops and stops Wow, it controls the robot system in real time by receiving the result of the information generated by the job launcher, directly interfaces with various input hardware events to the job launcher and the robot manager, and directly controls the input/output with the robot system. The system is divided into servo controllers that directly control the sensor and the welding machine, and the robot manager periodically checks the normal operation with a separate thread, and the task executor and the servo controller return the normal operation to check the normal operation status and service. By executing and controlling the synchronization between the work launcher and the servo controller by the robot manager, it is controlled by multiple processes so that system efficiency can be improved.

Description

다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그 제어방법{Multi-Process Based Welding Robot Control System and it's method} Multi-process based welding robot control system and its control method

본 발명은 PC 기반 용접 로봇 제어 시스템에 관한 것으로서, 더욱 상세하게는, 로봇 콘트롤러 내부에 로봇 매니저(Robot Manage), 작업실행기(Task Executer), 서보 제어기(Servo Controller) 총 세 개의 프로세스 기반으로 다중 프로세스에 의해 구동되며 외부 장치인 교시조작기(Teaching Pendant)로 구성되어 다중 프로세스에 의한 시스템의 효율성 및 유지관리의 편의성을 도모하고자하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 그의 제어방법에 관한 것이다.
The present invention relates to a PC-based welding robot control system, and more specifically, a multi-process based on three processes: a robot manager, a task executor, and a servo controller inside the robot controller. It is driven by and is composed of a teaching device (Teaching Pendant), which is an external device, and relates to a multi-process-based real-time welding robot control system and a control method to promote the efficiency and maintenance of the system by multiple processes.

선박의 제조 공정에서 용접로봇을 이용한 자동 용접이 이루어지고 있는데, 자동 용접 로봇을 제어하기 위한 시스템은, 도 1에 도시된 바와 같이, 도 1은 용접로봇 제어 시스템의 구성도이다.In the manufacturing process of a ship, automatic welding is performed using a welding robot. The system for controlling the automatic welding robot, as shown in FIG. 1, is a configuration diagram of the welding robot control system.

이에 도시된 바와 같이, CPU 및 네트워크 카드 등으로 구성되어 OLP서버(1) 및 모니터 PC(2)와 네트웍으로 연결되어 사용자의 용접로봇 제어명령을 입력받아 용접 로봇을 제어하기 위한 상위 로봇 제어기(1)와; 시스템 I/O 모듈, 서보 드라이버로 구성되어 상기 상위 로봇 제어기(1)와 연결되어 상위 제어기(1)의 제어에 의하 다관절 용접 로봇(8)을 제어하고 용접 로봇 제어상태정보를 상위 제어기(1)로 통신하는 하위 제어기(2)로 구성되며, 상위 제어기(1)와 하위 제어기(2), 그리고 하위 제어기(2)의 각각의 모듈들은 네트웍으로 연결된다.As shown in the figure, it is composed of a CPU and a network card, etc., and is connected to the OLP server 1 and the monitor PC 2 through a network, and receives a user's welding robot control command to control the welding robot. )Wow; It is composed of system I/O module and servo driver and connected to the host robot controller 1 to control the multi-joint welding robot 8 under the control of the host controller 1 and the welding robot control status information to the host controller 1 ) Is composed of a lower controller (2), each module of the upper controller (1), lower controller (2), and lower controller (2) is connected to the network.

상위 제어기(1)와 교시조작기(4)는 이더넷(Ethernet)으로 연결되어 사용자의 입력을 받게 된다. 또한 용접작업에 필요한 OLP 데이터는 전산망을 통해 별도의 OLP 서버(1)를 통해 공급받게 되고 로봇의 운용상태를 모니터링 서버(2)를 통해서 사무실의 PC에서 확인할 수 있도록 구성되어 진다.The upper controller 1 and the teaching operator 4 are connected by Ethernet to receive user input. In addition, the OLP data required for welding work is supplied through a separate OLP server (1) through the computer network, and is configured to check the operating status of the robot from the PC of the office through the monitoring server (2).

하위 제어기(2)는 용접기(7), 터치센서(6) 및 로봇(8)과 연결되며 용접기(7)로 용접지령을 전달하며 로봇(7)으로는 로봇의 동작명령을 전달하게 된다.The lower controller 2 is connected to the welding machine 7, the touch sensor 6, and the robot 8, and transmits a welding command to the welding machine 7, and transmits an operation command of the robot to the robot 7.

그런데, 상기와 같이 이루어진 일반적인 자동로봇 제어기(5)는, 상위 제어기와 하위제어기에 하나의 프로세스로 이루어지는 로봇 제어 프로그램이 탑재되어 하나의 프로세스에 의해 로봇을 제어하게 된다.However, in the general automatic robot controller 5 made as described above, a robot control program consisting of one process is mounted on the upper controller and the lower controller to control the robot by one process.

그러므로 하나의 프로세스에 의해 제어되고 있어서 제어 명령의 처리 속도나 응답성이 떨어지고, 프로그램이 매우 복잡해진다는 단점이 있었다. Therefore, it is controlled by one process, so the processing speed and responsiveness of the control command are poor, and the program is very complicated.

한국공개특허공보 10-2008-0036685(2008.04.29)Korean Patent Publication No. 10-2008-0036685 (2008.04.29)

본 발명은 로봇 제어기 내부에 로봇 매니저(Robot Manage), 작업실행기(Task Executer), 서보 제어기(Servo Controller) 총 세 개의 프로세스 기반으로 구동되도록 구성하여 시스템의 효율성을 향상시키고 유지관리의 편의성을 높일 수 있도록 한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 방법을 제공하기 위한 것이다.The present invention is configured to operate based on a total of three processes, a robot manager, a task executer, and a servo controller inside the robot controller to improve system efficiency and increase maintenance convenience. To provide a multi-process based real-time welding robot control system and method.

또한 본 발명은 3개로 분리 구성되는 프로세스 상호간 메시지 전달을 통해 동기화 구조를 형성하여 시스템 운용을 원활 하게 할 수 있도록 한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템 및 방법을 제공하기 위한 것이다.
In addition, the present invention is to provide a multi-process-based real-time welding robot control system and method that facilitates system operation by forming a synchronization structure through message transmission between processes that are divided into three processes.

본 발명은, 유저 인터페이스 디바이스와 관리시스템과 네트웍으로 연결되어 통신하고, 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업파일 및 명령 해석 등의 역할을 수행하는 로봇 매니저와;The present invention, the user interface device and the management system is connected to the network and communicates with, and a robot manager that performs the functions of system parameter management, robot operation performance management, work file and command analysis, etc.;

상기 로봇 매니저로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행하는 작업 실행기와;A task executor that analyzes commands and work files transmitted from the robot manager, calculates kinematics and trajectory information about the robot's motion, and performs processing on aperiodic events such as emergency stop and stop;

상기 작업실행기에서 생성된 정보의 결과를 받아 실시간으로 로봇시스템을 제어하고, 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기 및 로봇 매니저에게 전달하며 로봇시스템과의 입출력을 직접 관할함과 아울러 센서 및 용접기를 직접 제어하는 서보 제어기로 분할 구성된 것을 특징으로 한다.Control the robot system in real time by receiving the result of the information generated by the work launcher, directly interface with various input hardware events to the work launcher and the robot manager, and directly control the input/output with the robot system, as well as sensors and It is characterized by being divided into a servo controller that directly controls the welding machine.

또한 본 발명에 의한 상기 유저 인터페이스 디바이스는,In addition, the user interface device according to the present invention,

외부에서 작성된 로봇 제어 프로그래밍 데이터와, 작업을 위한 CAD 인터페이스 정보를 입력받아 사용자가 로봇 작업 데이터를 로봇 콘트롤러로 입력하는 유저 인터페이스 OLP 서버와, 사용자가 로봇을 직접 조작할 수 있도록 로봇 제어명령을 입력받아 상기 로봇 콘트롤러(100)로 입력하는 교시조작기 및 상기 로봇 콘트롤러로부터 로봇 운용상태 정보를 수신받아 모니터링할 수 있도록 출력하는 모니터링 컴퓨터를 포함하여 구성된다.User interface OLP server that receives the robot control programming data created externally and CAD interface information for the job and the user inputs the robot job data to the robot controller, and the robot control command that allows the user to directly operate the robot. It comprises a teaching manipulator input to the robot controller 100 and a monitoring computer that receives and outputs the robot operation status information from the robot controller for monitoring.

상기 관리 시스템은,The management system,

상기 로봇 콘트롤러와 연결되어 권한을 가진 사람만이 로봇 시스템에 접근할 수 있도록 제어하여 유지 관리를 하기 위한 쉘 터미날 및 웹 브라우저 시스템을 포함하여 구성됨을 특징으로 한다.It is characterized in that it is configured to include a shell terminal and a web browser system for maintenance by controlling only a person with authority connected to the robot controller to access the robot system.

상기 로봇 매니저는,The robot manager,

관리시스템의 쉘터미날 및 내부 로컬 터미날과 연결되어 로봇 시스템을 관리할 수 있도록 서비스하는 서비스 터미날과;A service terminal connected to the shell terminal and the internal local terminal of the management system to service the robot system;

상기 유저 인터 페이스 디바이스와의 네트웍 연결을 관리제어하는 네트웍 브로커와;A network broker for managing and controlling network connection with the user interface device;

상기 서비스 터미날과 상기 네트웍 브로커와 로컬 GUI, 웹브라우저와 연결되는 CGI와 연결되어 로봇의 제어를 위한 외부 연결을 서비스하는 로봇 서비스 모듈과;A robot service module connected to the service terminal, the network broker, a local GUI, and a CGI connected to a web browser to service an external connection for robot control;

로봇 로봇의 관리 제어를 위한 시스템 파라미터 관리부와;A system parameter management unit for management control of the robot robot;

작업 명령을 컴파일링 하는 작업 컴파일러와;A job compiler for compiling job instructions;

작업 명령을 해석하는 코멘드 인터프리테이션부와;A command interpreter for interpreting work orders;

상기 로봇 서비스 모듈과 연동되어 상기 시스템 파라미터 관리부, 상기 작업 컴파일러 및 상기 코멘드 인터프레테이션부의 제어와 컴파일된 작업명령 및 실행 명령을 작업실행기로 전송하여 로봇의 관리 제어를 하는 로봇 관리부를 포함하여 구성됨을 특징으로 한다.It is configured to include a robot management unit that is linked to the robot service module and transmits control of the system parameter management unit, the work compiler, and the command interpolation unit, and compiled work commands and execution commands to the work executor to control and manage the robot. It is characterized by.

상기 작업 실행기는,The task launcher,

로봇 매니저로부터 전송받은 컴파일된 작업명령과 실행 명령에 의거하여 명령을 해석하는 코멘드 인터프리테이션부, 작업 명령을 해석하는 작업(job) 인터프리테이션부와;A command interpreter for interpreting a command based on the compiled work command and an execution command received from the robot manager, and a job interpreter for interpreting the work command;

상기 코멘드 인터프리테이션부와 상기 작업 인터프리테이션부로부터 해석된 실행명령 및 작업 명령에 의거하고, 서보 제어기로부터 수신되는 입출력 신호에 의거하여 이벤트 프로세싱을 처리하는 이벤트 프로세싱부와;An event processing unit that processes event processing based on input/output signals received from a servo controller based on execution commands and work commands interpreted by the command interpreter and the work interpreter;

상기 이벤트 프로세싱부의 제어 및 센서신호에 의해 발생된 경로보상신호에 의해 로봇의 움직임 궤적신호를 발생시키는 궤적 발생부와;A trajectory generation unit generating a motion trajectory signal of the robot by a path compensation signal generated by control and sensor signals of the event processing unit;

상기 서보제어기를 통해 수신되는 센서신호에 의거하여 경로를 보상신호를 발생시켜 상기 궤적 발생부로 경로 보상신호를 인가하는 경로보상부와;A path compensator for generating a path compensation signal based on a sensor signal received through the servo controller and applying a path compensation signal to the trajectory generator;

상기 궤적 발생부의 궤적신호를 역운동학부(Invers Kinematics)의 제어에 의거하여 조인트 포지션 및 용접 조건 정보를 서보 제어기로 전송하는 포인트 포지션 컨버젼부를 포함하여 구성됨을 특징으로 한다.It characterized in that it comprises a point position conversion unit for transmitting the joint position and welding condition information to the servo controller based on the control of the inverse kinematics (Invers Kinematics) the trajectory signal of the trajectory generation unit.

상기 서보 제어기는,The servo controller,

로봇 시스템의 센서시스템으로부터 센서정보를 수신받아 상기 작업실행기로 전달하는 센서인터페이스부와;A sensor interface unit receiving sensor information from the sensor system of the robot system and transmitting the sensor information to the work launcher;

로봇 시스템의 용접기와 인터페이스하여 용접조건에 따라 용접기를 제어하는 용접기 인터페이스부와;A welding machine interface unit for controlling a welding machine according to welding conditions by interfacing with a welding machine of the robot system;

로봇 시스템의 입출력장치(TP/UP DIO, 어플리케이션 DIO)와 연결되어 상기 작업 실행기와의 신호 입출력을 관리하는 신호 입출력 관리부와;A signal input/output management unit connected to an input/output device (TP/UP DIO, application DIO) of the robot system to manage signal input/output with the job executor;

상기 작업 실행기의 조인트 포지션 및 용접신호에 의거하여 로봇 시스템(30)의 서보 드라이버를 제어하기 위한 필드 네트워크 인터페이스부, 포지션 인터폴레이션부, 모션 감지부, 문제 및 오류 체크부를 포함하여 이루어지는 서보 콘트롤부를 포함하여 구성됨을 특징으로 한다.Including a servo control unit comprising a field network interface unit, a position interpolation unit, a motion detection unit, a problem and error check unit for controlling the servo driver of the robot system 30 based on the joint position and welding signal of the work launcher. It is characterized by being configured.

한편 본 발명은, 로봇 콘트롤러가 로봇 매니저, 작업 실행기, 서보 제어기로 각각 독립된 프로세스를 수행하도록 이루어진 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어방법에 있어서,On the other hand, the present invention, in the control method of a multi-process-based real-time welding robot control system, the robot controller is configured to perform independent processes with a robot manager, a task launcher, and a servo controller,

로봇 매니저와 작업 실행기 및 서보 제어기가 각각 프로그램 실행 옵션을 분석하여 서비스 실행을 준비하고, 작업 실행기 및 서보 제어기가 로봇 매니저로 접속을 시도하여 접속이 완료되면, 로봇 매니저에 의해 초기화 실행 명령이 생성되는 진입 모드와;The robot manager, the task launcher, and the servo controller analyze the program execution options to prepare for service execution, and when the task launcher and the servo controller attempt to connect to the robot manager and the connection is completed, an initialization execution command is generated by the robot manager. An entry mode;

상기 로봇 매니저의 초기화 명령에 의해 작업 실행기와 서보 제어기의 초기화가 시작되고, 초기화 완료를 로봇 매니저로 회신하는 초기화 모드와;An initialization mode in which initialization of the job executor and the servo controller is started by an initialization command of the robot manager, and an initialization completion is returned to the robot manager;

상기 로봇 매니저가 초기화 모드에서 초기화 완료 회신을 받아 정상 구동 상태가 되면, 로봇 매니저는 별도의 쓰레드를 통해 주기적으로 작업 실행기와 서보 제어기로 정상 구동 체크 신호를 전송하여 정상 구동 회신을 받아 접속 불량이면 접속 재시도를 하면서 정상 구동 상태를 체크하며, 정상 구동 체크에서 양호한 상태이면 프로세스 별로 각자 서비스 실행을 수행하는 운전 모드와;When the robot manager receives an initialization completion reply in the initialization mode and becomes the normal driving state, the robot manager periodically sends a normal operation check signal to the job executor and the servo controller through a separate thread to receive the normal operation reply and connects if the connection is defective. A driving mode that checks the normal driving state while retrying, and performs service execution for each process if the normal driving check is in a good state;

종료명령이 입력되면 로봇 매니저는 종료 명령을 작업 실행기와 서보 제어기로 종료명령을 내려 종료 절차를 수행하는 종료 모드로 이루어진 것을 특징으로 한다.When the termination command is input, the robot manager is characterized in that it consists of an exit mode that performs an exit procedure by issuing an exit command to the job launcher and the servo controller.

상기 운전모드는,The operation mode,

수동모드, 자동모드, 드라이런 모드를 포함하는 것을 특징으로 한다.It is characterized by including a manual mode, an automatic mode, and a dry run mode.

상기 진입모드는,The entry mode,

로봇 매니저는, 프로그램 실행 옵션 분석에 의해 인자(argument)를 파싱하는 프로그램 실행옵션 분석단계와, 분석된 인자에 의해 시스템 파라미터를 파일로부터 로딩하는 시스템 파라미터 로딩단계와, 상기 로딩된 시스템 파라미터를 내부 메모리에 저장한 후에 공유 메모리를 생성하여 파라미터 데이터를 공유메모리에 저장하는 공유 메모리 생성단계와; 공유 메모리에 파라미터를 저장한 후, 로봇 매니저 서비스를 수행하기 위한 서비스를 생성하는 로봇 매니저 서비스 실행 준비 단계를 수행하고,The robot manager includes a program execution option analysis step of parsing an argument by analyzing the program execution option, a system parameter loading step of loading system parameters from a file based on the analyzed parameters, and the loaded system parameters in internal memory. A shared memory generation step of generating the shared memory and storing the parameter data in the shared memory after being stored in the shared memory; After storing the parameters in the shared memory, the robot manager service execution preparation step of creating a service for performing the robot manager service is performed,

상기 작업 실행기는, 프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계와; 분석된 인자에 의해 작업 실행기 서비스를 생성하는 작업 실행기 서비스 실행 준비 단계와; 서비스 실행준비가 이루어지면, 상기 로봇 매니저로 접속을 시도하는 로봇 매니저 접속 시도 단계를 수행하고,The task executor comprises: a program execution option analysis step of parsing parameters by analyzing the program execution options; A task executor service preparation step of generating a task executor service according to the analyzed factors; When the service execution preparation is completed, a robot manager access attempt step is attempted to access the robot manager,

상기 서보 제어기는, 프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계와; 분석된 인자에 의해 서보 제어기 서비스를 생성하는 서보 제어기 서비스 실행 준비 단계와; 서비스 실행준비가 이루어지면, 상기 로봇 매니저로 접속을 시도하는 로봇 매니저 접속 시도 단계를 수행하고,The servo controller includes a program execution option analysis step of parsing the parameters by analyzing the program execution options; A servo controller service preparation step for generating a servo controller service according to the analyzed factors; When the service execution preparation is completed, a robot manager access attempt step is attempted to access the robot manager,

상기 로봇 매니저는, 작업 실행기와 서보 제어기의 접속 시도를 받아 접속 완료를 체크하여 연결을 확인하고 연결 시도가 없으면 재시도를 수행하는 접속시도 및 완료 체크단계를 수행하는 것을 특징으로 한다.The robot manager receives the connection attempt of the job executor and the servo controller, checks the connection completion, and checks the connection. If there is no connection attempt, the robot manager performs a connection attempt and a completion check step to perform a retry.

상기 진입모드는,The entry mode,

상기 작업 실행기와 상기 서보 제어기는, 로봇 매니저(110)와의 접속을 시도하고, 미리 정해진 제한시간이 결과 될때까지 접속이 이루어지지 못하여 실패하면, 상기 종료모드로 진행하여 종료하는 것을 특징으로 한다.
The operation executor and the servo controller attempt to connect to the robot manager 110, and if connection fails due to failure in connection until a predetermined time limit is reached, it is characterized in that it proceeds to the termination mode and ends.

본 발명은 용접 로봇 제어 시스템을 프로세스의 주요 기능별로 제어기 내부에 총 세 개의 프로세스로 구성하여 각각의 서비스를 수행하여 기능별로 모듈화된 구조를 갖기 때문에 시스템의 효율성 및 유지관리의 편의성이 향성되는 효과가 있다.In the present invention, the welding robot control system is composed of three processes inside the controller for each main function of the process, and each service is performed to have a modular structure for each function, so the efficiency of the system and the convenience of maintenance are improved. have.

또한 본 발명은, 프로세스 상호간 메시지 전달을 통해 동기화 구조를 형성하여 시스템의 운용을 원활하게 향상하는 효과가 있다.
In addition, the present invention has an effect of smoothly improving the operation of the system by forming a synchronization structure through message transfer between processes.

도 1은 Figure 1

이하 본 발명의 실시예를 첨부된 도면을 참조해서 상세히 설명하면 다음과 같다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 구성도이다.2 is a configuration diagram of a multi-process based real-time welding robot control system according to the present invention.

유저 인터페이스 디바이스(10)와 관리시스템(20)의 제어를 받아 로봇 시스템(30)을 제어하기 위한 로봇 콘트롤러(100)에 있어서,In the robot controller 100 for controlling the robot system 30 under the control of the user interface device 10 and the management system 20,

상기 유저 인터페이스 디바이스(10)와 상기 관리시스템(20)과 네트웍으로 연결되어 통신하고, 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업파일 및 명령 해석 등의 역할을 수행하는 로봇 매니저(110)와;A robot manager 110 connected to the user interface device 10 and the management system 20 over a network for communication, and performing functions such as system parameter management, robot operation performance management, work file and command analysis;

상기 로봇 매니저(110)로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행하는 작업 실행기(120)와;A task executor 120 that analyzes commands and work files transmitted from the robot manager 110 to calculate kinematics and trajectory information about the motion of the robot, and performs processing on aperiodic events such as emergency stop and stop;

상기 작업실행기(110)에서 생성된 정보의 결과를 받아 실시간으로 로봇시스템(30)을 제어하고, 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기 및 로봇 매니저에게 전달하며 로봇시스템(30)과의 입출력을 직접 관할함과 아울러 센서 및 용접기를 직접 제어하는 서보 제어기(130)로 분할 구성된 것을 특징으로 한다.Receiving the result of the information generated by the task launcher 110, controlling the robot system 30 in real time, directly interfacing various input hardware events to the task launcher and robot manager, and communicating with the robot system 30. It is characterized by being divided into a servo controller (130) that directly controls the input/output and a sensor and a welding machine.

상기 유저 인터페이스 디바이스(10)는,The user interface device 10,

외부에서 작성된 로봇 제어 프로그래밍 데이터와, 작업을 위한 CAD 인터페이스 정보를 입력받아 사용자가 로봇 작업 데이터를 로봇 콘트롤러(100)로 입력하는 유저 인터페이스 OLP 서버(11)와, 사용자가 로봇을 직접 조작할 수 있도록 로봇 제어명령을 입력받아 상기 로봇 콘트롤러(100)로 입력하는 교시조작기(12) 및 상기 로봇 콘트롤러(100)로부터 로봇 운용상태 정보를 수신받아 모니터링할 수 있도록 출력하는 모니터링 컴퓨터(13)를 포함하여 구성됨을 특징으로 한다.The user interface OLP server 11 that receives the robot control programming data created externally and the CAD interface information for the work and the user inputs the robot work data to the robot controller 100, and allows the user to directly operate the robot. Consists of a teaching manipulator (12) that receives a robot control command and inputs it to the robot controller (100) and a monitoring computer (13) that receives and monitors robot operation status information from the robot controller (100). It is characterized by.

상기 관리 시스템(20)은,The management system 20,

상기 로봇 콘트롤러(100)와 연결되어 권한을 가진 사람만이 로봇 시스템에 접근할 수 있도록 제어하여 유지 관리를 하기 위한 쉘 터미날(21) 및 웹 브라우저 시스템(22)과, 로봇의 제어 및 관리를 위한 데이터를 저장 관리하는 플래시 디스크와 같은 저장매체(23)를 포함하여 구성된다.The shell terminal 21 and the web browser system 22 for controlling and managing the robot controller 100 so that only the authorized person can access the robot system is connected to the robot controller 100, and for the control and management of the robot It comprises a storage medium 23, such as a flash disk for storing and managing data.

도 3은 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 로봇 매니저의 상세 구성도이다.3 is a detailed configuration diagram of a robot manager of a multi-process based real-time welding robot control system according to the present invention.

관리시스템(20)의 쉘터미날(21) 및 내부 로컬 터미날(112)과 연결되어 로봇 시스템을 관리할 수 있도록 서비스하는 서비스 터미날(111)과;A service terminal 111 connected to the shell terminal 21 and the internal local terminal 112 of the management system 20 to service the robot system;

상기 유저 인터 페이스 디바이스(10)와의 네트웍 연결을 관리제어하는 네트웍 브로커(113)와;A network broker 113 that manages and controls network connection with the user interface device 10;

상기 서비스 터미날(111)과 상기 네트웍 브로커(113)와 로컬 GUI(112), 웹브라우저(22)와 연결되는 CGI(114)와 연결되어 로봇의 제어를 위한 외부 연결을 서비스하는 로봇 서비스 모듈(115)과;A robot service module 115 connected to the service terminal 111, the network broker 113, the local GUI 112, and the CGI 114 connected to the web browser 22 to service an external connection for control of the robot 115 )and;

로봇 로봇의 관리 제어를 위한 시스템 파라미터 관리부(116)와;A system parameter management unit 116 for management control of the robot robot;

작업 명령을 컴파일링 하는 작업 컴파일러(118)와;A job compiler 118 for compiling job instructions;

작업 명령을 해석하는 코멘드 인터프리테이션부(119)와;A command interpreter 119 for interpreting work orders;

상기 로봇 서비스 모듈(115)과 연동되어 상기 시스템 파라미터 관리부(116), 상기 작업 컴파일러(118) 및 상기 코멘드 인터프레테이션부(119)의 제어와 컴파일된 작업명령 및 실행 명령을 작업실행기(120)로 전송하여 로봇의 관리 제어를 하는 로봇 관리부(117)를 포함하여 구성된 것을 특징으로 한다.
The work executor 120 controls the system parameter management unit 116, the work compiler 118, and the command interpreter 119 in cooperation with the robot service module 115 to compile and compile the work command and execution command. It characterized in that it is configured to include a robot management unit 117 to transmit to the management control of the robot.

도 4는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 작업 실행기의 상세 구성도이다.4 is a detailed configuration diagram of a task executor of a multi-process based real-time welding robot control system according to the present invention.

로봇 매니저(110)로부터 전송받은 컴파일된 작업명령과 실행 명령에 의거하여 명령을 해석하는 코멘드 인터프리테이션부(121), 작업 명령을 해석하는 작업(job) 인터프리테이션부(122)와;A command interpreter 121 for interpreting commands based on the compiled work command and execution command received from the robot manager 110, and a job interpreter 122 for interpreting the work command;

상기 코멘드 인터프리테이션부(121)와 상기 작업 인터프리테이션부(122)로부터 해석된 실행명령 및 작업 명령에 의거하고, 서보 제어기(130)로부터 수신되는 입출력 신호에 의거하여 이벤트 프로세싱을 처리하는 이벤트 프로세싱부(123)와;An event that processes event processing based on the input and output signals received from the servo controller 130 based on execution commands and work commands interpreted from the command interpreter 121 and the work interpreter 122. A processing unit 123;

상기 이벤트 프로세싱부(123)의 제어 및 센서신호에 의해 발생된 경로보상신호에 의해 로봇의 움직임 궤적신호를 발생시키는 궤적 발생부(124)와;A trajectory generation unit 124 generating a motion trajectory signal of the robot by a path compensation signal generated by the control and sensor signals of the event processing unit 123;

상기 서보제어기(130)를 통해 수신되는 센서신호에 의거하여 경로를 보상신호를 발생시켜 상기 궤적 발생부(124)로 경로 보상신호를 인가하는 경로보상부(125)와;A path compensation unit 125 for generating a path compensation signal based on a sensor signal received through the servo controller 130 and applying a path compensation signal to the trajectory generation unit 124;

상기 궤적 발생부(124)의 궤적신호를 역운동학부(Invers Kinematics)(161)의 제어에 의거하여 조인트 포지션 및 용접 조건 정보를 서보 제어기(130)로 전송하는 포인트 포지션 컨버젼부(127)로 구성됨을 특징으로 한다.
Consists of a point position conversion unit (127) that transmits the joint position and welding condition information to the servo controller (130) under the control of the Invers Kinematics (161). It is characterized by.

도 5는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 서보 제어기의 상세 구성도이다.5 is a detailed configuration diagram of a servo controller of a multi-process based real-time welding robot control system according to the present invention.

로봇 시스템(30)의 센서시스템(31)으로부터 센서정보를수신받아 상기 작업실행기(120)로 전달하는 센서인터페이스부(131)와;A sensor interface unit 131 which receives sensor information from the sensor system 31 of the robot system 30 and delivers it to the work launcher 120;

로봇 시스템(30)의 용접기(32)와 인터페이스하여 용접조건에 따라 용접기를 제어하는 용접기 인터페이스부(132)와;A welding machine interface unit 132 that interfaces with the welding machine 32 of the robot system 30 to control the welding machine according to welding conditions;

로봇 시스템(30)의 입출력장치(TP/UP DIO, 어플리케이션 DIO)(33)와 연결되어 상기 작업 실행기(120)와의 신호 입출력을 관리하는 신호 입출력 관리부(133)와;A signal input/output management unit 133 connected to an input/output device (TP/UP DIO, application DIO) 33 of the robot system 30 to manage signal input/output with the job launcher 120;

상기 작업 실행기(127)의 조인트 포지션 및 용접신호에 의거하여 로봇 시스템(30)의 서보 드라이버(34)를 제어하기 위한 필드 네트워크 인터페이스부(134a), 포지션 인터폴레이션부(134b), 모션 감지부(134c), 문제 및 오류 체크부(134d)를 포함하여 이루어지는 서보 콘트롤부(134)를 포함하여 구성됨을 특징으로 한다.
Field network interface unit 134a, position interpolation unit 134b, motion detection unit 134c for controlling the servo driver 34 of the robot system 30 based on the joint position and welding signal of the job executor 127 ), and the servo control unit 134 including the problem and error checking unit 134d.

이와 같이 구성되는 본 발명은, 로봇 콘트롤시스템의 제어 프로그램이 로봇 매니저(Robot Manage)(110), 작업실행기(Task Executer)(120), 서보 제어기(Servo Controller)(130) 총 세 개의 프로세스 기반으로 구성된다.According to the present invention, the control program of the robot control system is based on three processes: a robot manager (110), a task executor (120), and a servo controller (130). It is composed.

사용자는 OLP 서버(11)를 통해 로봇의 작업 데이터를 전송하고 모니터링 PC(13)를 통해 로봇의 운용상태를 모니터링 하며 교시조작기(12)를 이용하여 로봇의 동작을 직접 제어하게 된다. 관리시스템(20)으로는 유지관리를 위해 쉘 터미널(21)과 웹 브라우저(22)를 이용하여 권한을 가진 사람만이 로봇 시스템에 접근할 수 있게 된다.The user transmits the robot's work data through the OLP server 11, monitors the operation state of the robot through the monitoring PC 13, and directly controls the robot's operation using the teaching operator 12. With the management system 20, only a person with authority using the shell terminal 21 and the web browser 22 for maintenance can access the robot system.

이러한 외부 장치와의 통신은 로봇 매니저(110)가 담당하게 되며 이 외에도 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업실행기(120)에 전달하기 위한 작업파일 및 명령 해석 등의 역할을 수행한다.The robot manager 110 is in charge of communication with the external device, and performs functions such as system parameter management, robot operation performance management, and job file and command interpretation for delivery to the job launcher 120.

도 6은 본 발명을 설명하기 위한 각 프로세스별 기능 설명도이고, 도 7은 본 발명에 의한 로봇 매니저와, 작업 실행기 및 서보 제어기 간의 기능 설명도이다.6 is a functional explanatory diagram for each process for explaining the present invention, and FIG. 7 is a functional explanatory diagram between the robot manager according to the present invention, a job executor, and a servo controller.

프로세스간 동기화 및 데이터 공유를 위해서는 메시지 패싱과 공유 메모리를 사용하게 된다. 메시지는 프로세스간 통신 수단으로 역할을 수행하며 주로 서비스의 요청 및 결과, 정보 전달, 이벤트 발생 등의 역할을 하게 된다. 공유 메모리는 로봇정보 정의, 프로세스 수행 상태, 시스템 모드, 작업파일 저장, 로봇 상태 정보 등의 데이터를 프로세스간 공유하는 데에 사용된다.Message synchronization and shared memory are used for process synchronization and data sharing. The message plays a role as a communication means between processes and mainly plays a role of request and result of service, information transmission, and event occurrence. The shared memory is used to share data such as robot information definition, process execution status, system mode, work file storage, and robot status information between processes.

로봇 매니저(110)는 여러가지 데이터를 관리하게 되는데 작업지원 데이터와 로봇 형상 정보가 대표적이며 작업 지원 데이터에는 홈 위치 정보, 사용자 좌표계 정보, 용접 조건 정보 등이 이에 포함되며 로봇형상정보에는 로봇의 형태, 로봇모션정보, 축모션정보, 모터의 종류, 엔코더 분해능, 원점 데이터, 센서 정보 등이 포함된다.The robot manager 110 manages various data, such as work support data and robot shape information, and work support data includes home location information, user coordinate system information, welding condition information, and the like, and the robot shape information includes a robot shape, Robot motion information, axis motion information, motor type, encoder resolution, origin data, sensor information, etc. are included.

로봇 매니저(110)는, 서비스 터미날(111)을 통해 외부 쉘 터미날(21)이나 로컬 터미날(112)로부터 로봇 서비스 모듈(115)로 접근 할 수 있도록 제어하며, 네트웍 브로커(113)는 유저 인터페이스 디바이스(10)의 OLP 서버(11)와 교시조작기(12)를 통해 로봇 서비스 모듈(115)로 접근할 수 있도록 네트웍을 제어하며, 웹브라우저(22)를 통해서는 CGI(114)를 통해 로봇 서비스 모듈(115)에 접속하여 로봇 관리 제어를 수행할 수 있게 된다. 물론 로컬 터미날(112) 및 로컬 GUI(112-1)를 통해서도 로봇 서비스 모듈(115)에 접속하여 로봇 유지 관리와 제어가 가능해진다.The robot manager 110 controls access to the robot service module 115 from the external shell terminal 21 or the local terminal 112 through the service terminal 111, and the network broker 113 is a user interface device The network is controlled to access the robot service module 115 through the OLP server 11 of the (10) and the teaching operator 12, and the robot service module through the CGI 114 through the web browser 22. It is possible to access the 115 and perform robot management control. Of course, the robot service module 115 is also connected to the robot service module 115 through the local terminal 112 and the local GUI 112-1, thereby enabling robot maintenance and control.

로봇 서비스 모듈(115)은, 시스템 파라미터 관리부(116)와, 로봇 관리부(117), 작업 컴파일러(118), 코멘드 인터프리테이션부(119)를 통해 로봇 제어 및 관리를 수행한다. 도 6에 도시된 바와 같이 실행 환경 서비스로서, 프로세스 실행/종료관리, 실행모드 관리, 시스템 파라미터 관리, 공유 메모리 관리를 한다.The robot service module 115 performs robot control and management through the system parameter management unit 116, the robot management unit 117, the work compiler 118, and the command interpretation unit 119. As shown in FIG. 6, as the execution environment service, process execution/termination management, execution mode management, system parameter management, and shared memory management are performed.

통신서비스로는 서비스 터미날(111)을 통한 터미날 서비스와, 네트웍 브로커(113)를 통한 교시조작기, GUI 등의 외부 장치와의 통신 및 작업실행기(120)와 서보 제어기(130)간의 프로세스간 통신, OLP 서버와의 이더넷, 텔넷, FTP, SSH 등의 통신 서비스를 제공한다. 작업 파일 서비스는, 작업 파일 구문 파싱, 작업 파일 로드, 작업 파일 캐시, 재로드를 수행하는데, 로봇 관리 서비스는, 서보온, 브레이크 지령, 홈 포지션 서비스, 키 처리 서비스를 수행하며, 기타 서비스로 통계 서비스(작업시간등)을 수행한다. 이는 로봇 서비스 모듈(115)이 시스템 파라미터 관리부(116), 로봇 관리부(116), 작업 컴파일러(118) 및 코멘드 인터프리테이션부(119)를 통해서 수행되며, 공유 메모리로서 저장매체(23)를 이용한다.Communication services include terminal services through the service terminal 111, communication with external devices such as a teaching manipulator, GUI through the network broker 113, and inter-process communication between the task launcher 120 and the servo controller 130, It provides communication services such as Ethernet, Telnet, FTP, and SSH with the OLP server. The job file service performs job file syntax parsing, job file loading, job file cache, and reload, and the robot management service performs servo on, break command, home position service, and key processing service, and statistics are provided by other services. Perform services (working hours, etc.). This is performed by the robot service module 115 through the system parameter management unit 116, the robot management unit 116, the work compiler 118, and the command interpretation unit 119, and uses the storage medium 23 as a shared memory. .

작업실행기(120)는 로봇의 모션에 관련된 정보를 계산한다. 로봇 매니저(110)로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행한다.The task launcher 120 calculates information related to the motion of the robot. By interpreting commands and work files transmitted from the robot manager 110, kinematic and trajectory information for the robot's motion is calculated, and processing is performed for aperiodic events such as emergency stop and stop.

코멘드 인터프리테이션부(121)와 작업 인터프리테이션부(122)의 해석 정보에 의해 이벤트 프로세싱부(123)가 수행하는 작업 명령처리로서, 실행 전처리, 레이블 테이블 생성(분기), 작업 명령 처리를 한다. 런타임 서비스로서 역운동학부(161)를 통한 기구학 해석, 궤적 발생부(124)를 통한 동작 경로 생성, 경로 보상부(125)를 통한 경로 보상.수집 기능(센서), 포인트 포지션 컨버젼부(127)를 통한 조인트 동작 서비스를 실행하며, 응급 기능 서비스로서 응급 정지기능(모션, 용접 등)을 수행한다.As a job instruction processing performed by the event processing unit 123 by analysis information of the command interpreter 121 and the job interpreter 122, preprocessing, label table generation (branch), and job command processing are performed. do. As a runtime service, kinematic analysis through the inverse kinematics department 161, motion path generation through the trajectory generation unit 124, and path compensation through the path compensation unit 125. Collection function (sensor), point position conversion unit 127 Perform joint operation service through and perform emergency stop function (motion, welding, etc.) as an emergency function service.

서보 제어기(130)는, 작업실행기(120)에서 생성된 정보의 결과를 받아 실시간으로 로봇을 제어한다. 단위 시간당 위치 데이터를, , 제어정보를 전달하기 위해 사용되는 산업용 필드 네트워크(EtherCAT, Mechatrolink, Profinet, Powerlink, SSCNET 등)을 통해 서보 드라이버(34)에 전달하여 실제 모터를 제어하게 되며 이외에 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기(120) 및 로봇 매니저(110)에게 전달하게 된다. 또한 여러가지 입출력을 직접 관할하게 되며 센서시스템(31) 및 용접기(32)를 직접 제어하는 역할을 수행한다.The servo controller 130 receives the result of the information generated by the job launcher 120 and controls the robot in real time. Position data per unit time is transmitted to the servo driver 34 through an industrial field network (EtherCAT, Mechatrolink, Profinet, Powerlink, SSCNET, etc.) used to transmit control information, and the actual motor is controlled. The hardware event is directly interfaced to the task launcher 120 and the robot manager 110. In addition, it directly controls the various inputs and outputs, and serves to directly control the sensor system 31 and the welding machine 32.

서보 콘트롤부(134)에 의해 수행되는 서보 컨트롤은, 서보 시간관리, 서보온, 브레이크 관리, 서보 지령관리, 절대 인코더 관리를 수행한다. 즉, 필드 네트워크 인터페이스부(134a) 를 통해 서보 드라이버(34)들과 통신하고, 포지션 인터폴레이션부(134b)를 통해 서보의 동작 및 각 서보의 위치제어를 하게 되며, 모션 감시부(134c)를 통해 모션 감시를 수행하며, 문제 및 오류 체크부(134d)를 통해 오류 감시를 하게 된다.The servo control performed by the servo control unit 134 performs servo time management, servo on, brake management, servo command management, and absolute encoder management. That is, the communication with the servo drivers 34 through the field network interface unit 134a, the operation of the servo and position control of each servo through the position interpolation unit 134b, and through the motion monitoring unit 134c Motion monitoring is performed, and error monitoring is performed through the problem and error check unit 134d.

입출력 관리는, 입출력 신호 관리부(133)에 의해 제어되며, 로봇 시스템(30)의 입출력 장치(33)에 연결되어 응급 정지 관리(다중 응급 정지, 시스템 IO관리 DIO, AIO가상화 관리를 수행한다.Input/output management is controlled by the input/output signal management unit 133, and is connected to the input/output device 33 of the robot system 30 to perform emergency stop management (multiple emergency stop, system IO management DIO, AIO virtualization management).

용접 서비스는, 용접기 인터페이스부(132)에 의해 제어되며, 용접기 가상화 기능과, 용접 전류/전압 지령, 용접 전류/전압 피드백 기능을 수행한다.The welding service is controlled by the welding machine interface unit 132, and performs a welding machine virtualization function, a welding current/voltage command, and a welding current/voltage feedback function.

시스템 안전 서비스로서 서보 콘트롤부(134)의 문제 및 오류 체크부(134d)에 의해 모터 앰프 폴트 처리, 용접기 고장 처리, TE와 치독 기능등을 수행한다.As a system safety service, the motor controller fault processing, the welding machine failure processing, the TE and the reading function are performed by the problem and error checking unit 134d of the servo control unit 134.

센서인터페이스부(131)는 센서 시스템(31)과 연결되어 센서 가상화 기능을 수행하여 센서정보를 인터페이스 한다.The sensor interface unit 131 is connected to the sensor system 31 to perform sensor virtualization functions to interface sensor information.

그리고, 유저 인터페이스 디바이스부(10)의 교지조작기(12)는 통신 서비스로서, 로봇 제어기 연결, 제어기 명령 입력, 제어기 통신 재연결, 제어기 통신 종료등을 서비스하고, 작업 파일 서비스로서, 작업 파일 수정 및 편진과, 작업 파일 로드 서비스를 한다. 또한 시스템 모니터링 뷰 서비스로서, 시스템 모니터링 정보 전송과, I/O 모니터링 정보 전송, 위치값 모니터링을 수행하며, 사용자 인터페이스 서비스로서 UP 인터페이스, 수동모드 인터페이스 작업 파일 인터페이스를 처리한다.And, the user interface device unit 10 of the manipulation controller 12 is a communication service, and services for robot controller connection, controller command input, controller communication reconnection, controller communication termination, and as a work file service, work file modification and We provide a service for migrating and loading job files. Also, as a system monitoring view service, it performs system monitoring information transmission, I/O monitoring information transmission, and location value monitoring, and processes a UP interface and a manual mode interface work file interface as a user interface service.

이와 같이 교시조작기(12)는, 사용자로 하여금 로봇의 작동에 관한 시퀀스를 입력받는다. 로봇의 이동 및 용접 등과 같은 서비스를 실행하기 위해서 작업파일 및 필요한 정보들을 사용자의 입력을 받아 세팅하게 된다. 사용자로부터 입력/수정이 가능하기 위해 그래픽 기반의 사용자 인터페이스가 제공되며 키를 통해 입력을 처리할 수 있도록 구성되어 있다. 로봇 작동에 관한 순서에 맞춰 작업파일이 작성되어 관리 및 저장된다.In this way, the teaching operator 12 receives a sequence related to the operation of the robot by the user. In order to execute services such as robot movement and welding, work files and necessary information are set by receiving user input. To enable input/modification from the user, a graphic-based user interface is provided and is configured to process input through keys. Work files are created, managed and stored in the order of robot operation.

로봇 콘트롤러(100)에는 실시간 운용체제 중에 하나인 QNX가 실제 적용되었으며 교시조작기(12)에는 WinCE가 적용되었다. 각 모듈별 세부적인 기능은 다음과 같다.QNX, one of the real-time operating systems, was actually applied to the robot controller 100, and WinCE was applied to the teaching controller 12. The detailed functions of each module are as follows.

로봇 매니저(110)와, 작업 실행기(120) 및 서보 제어기(130)의 프로세스간 동기화 및 데이터 공유를 위해서는 메시지 패싱과 공유 메모리 즉, 저장매체(23)로서 플래시 디스크를 사용하게 된다. 메시지는 프로세스간 통신 수단으로 역할을 수행하며 주로 서비스의 요청 및 결과, 정보 전달, 이벤트 발생 등의 역할을 하게 된다. 공유 메모리는 로봇정보 정의, 프로세스 수행 상태, 시스템 모드, 작업파일 저장, 로봇 상태 정보 등의 데이터를 프로세스 간 공유하는 데에 사용된다.In order to synchronize and share data between the processes of the robot manager 110 and the task launcher 120 and the servo controller 130, a flash disk is used as the message passing and shared memory, that is, the storage medium 23. The message plays a role as a communication means between processes and mainly plays a role of request and result of service, information transmission, and event occurrence. The shared memory is used to share data such as robot information definition, process execution status, system mode, work file storage, and robot status information between processes.

로봇 매니저(110)는 여러가지 데이터를 관리하게 되는데 작업지원 데이터와 로봇 형상 정보가 대표적이며 작업 지원 데이터에는 홈 위치 정보, 사용자 좌표계 정보, 용접 조건 정보 등이 이에 포함되며 로봇형상정보에는 로봇의 형태, 로봇모션정보, 축모션정보, 모터의 종류, 엔코더 분해능, 원점 데이터, 센서 정보 등이 포함된다.The robot manager 110 manages various data, such as work support data and robot shape information, and work support data includes home location information, user coordinate system information, welding condition information, and the like, and the robot shape information includes a robot shape, Robot motion information, axis motion information, motor type, encoder resolution, origin data, sensor information, etc. are included.

도 8은 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어흐름도이고, 도 9는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 프로세스간 제어 흐름도이다.8 is a control flow diagram of a multi-process-based real-time welding robot control system according to the present invention, and FIG. 9 is an inter-process control flow chart of a multi-process-based real-time welding robot control system according to the present invention.

도 8에 도시된 바와 같이 로봇 콘트롤러(100)에 의해 수행되는 제어절차는, 먼저, 프로그램 인자 해석(S11)에 의해 원래 프로그램의 기능 이외의 기능을 추가할 수 있는 인자(argument)를 파싱하여 그에 관련한 실행을 먼저 수행한다. 다음으로 시스템 파라미터 로딩(S12)에 의해 별도의 파일로 구성되어 있는 시스템 파라미터를 공유 메모리에 로딩한 후에 서비스 채널 생성(S13)으로 외부 장치로부터 서비스 입력을 받을 수 있는 메시지 패싱을 위한 채널을 생성하여 서비스를 받을 준비를 한다.As shown in FIG. 8, the control procedure performed by the robot controller 100 first parses an argument that can add a function other than the function of the original program by program parameter analysis (S11). Perform the relevant execution first. Next, after loading the system parameters, which are composed of separate files by the system parameter loading (S12), into the shared memory, the service channel creation (S13) creates a channel for message passing that can receive service input from an external device. Be prepared for service.

이후, 외부 장치로부터 다른 개체의 서비스 요청을 포함하는 서비스 요청이 접수(S14)되면, 관련된 서비스를 실행(S15)하여 처리하고, 서비스 결과 수행회신(S16)단계에서 결과를 회신한다. 서비스의 종류가 종료 명령이면(S17), 종료 모드에 진입하여 종료절차 진행(S18)에 의해 종료 프로세스를 진행하게 된다.Thereafter, when a service request including a service request of another entity is received from the external device (S14), the related service is executed (S15) and processed, and the result is returned in the service result execution reply (S16). If the type of service is a termination command (S17), the termination mode is entered and the termination process is performed by the termination procedure (S18).

도 9는 본 발명에 의한 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 각 프로세스별 시스템 모드별 동기화 절차 및 실행, 종료 관리 절차를 설명도이다.9 is an explanatory diagram of a synchronization process and execution and shutdown management procedures for each system mode of each process of a multi-process-based real-time welding robot control system according to the present invention.

로봇 매니저(110), 작업 실행기(120), 서보 제어기(130)가 각각 독립된 프로세스를 수행하도록 이루어지고, 진입 모드(S100), 초기화 모드(S200), 운전 모드(S300), 종료모드(S400)의 순서로 제어된다.The robot manager 110, the task launcher 120, and the servo controller 130 are made to perform independent processes, and the entry mode (S100), the initialization mode (S200), the operation mode (S300), and the termination mode (S400) It is controlled in order.

본 발명은, 로봇 매니저(110)가 프로그램분석에 의해 시스템 파라미터를 로딩하고, 공유메모리를 생성해 저장하여 로봇 매니저 서비스 실행준비하는 하며, 작업 실행기가 프로그램 실행 옵션 분석을 수행하여 작업 실행기 서비스 실행준비를 하고, 상기 로봇 매니저 접속을 시도하며, 서보 제어기(130)가 프로그램 실행 옵션 분석에 의해 서보 제어기 서비스 실행 준비를 하여 로봇매니저 접속을 시도하고, 로봇 매니저는, 로봇 매니저 서비스 실행 준비후 작업 실행기와 서보 제어기의 접속 시도를 받아 접속 완료를 수행하여 초기화 명령을 내리는 진입 모드(S100)를 수행한다.In the present invention, the robot manager 110 loads system parameters by program analysis, creates and stores a shared memory to prepare for the execution of the robot manager service, and the task executor performs program execution option analysis to prepare the task launcher service execution. And attempts to connect to the robot manager, and the servo controller 130 prepares to execute the servo controller service by analyzing the program execution option, attempts to access the robot manager, and the robot manager, after preparing to execute the robot manager service, executes Upon receiving the connection attempt of the servo controller, the connection is completed and the entry mode (S100) is issued.

진입모드(S100)에서 각 프로세스별로 서비스 실행 준비가 완료된후 로봇 매니저(110)에 작업 실행기(120)와 서보 제어기(130)의 접속이 이루어지면, 로봇 매니저(110)의 초기화 명령에 의해 작업 실행기(120)와 서보 제어기(130)의 초기화가 시작되고, 초기화 완료를 로봇 매니저(110)로 회신하여 초기화 모드(S200)의 수행이 완료된다.When the service execution preparation for each process is completed in the entry mode (S100), when the job launcher 120 and the servo controller 130 are connected to the robot manager 110, the job executor is initiated by the initialization command of the robot manager 110. Initialization of the 120 and the servo controller 130 starts, and the completion of the initialization mode S200 is completed by returning the initialization completion to the robot manager 110.

초기화 모드(S200)가 완료되면, 로봇 매니저(110)는 별도의 쓰레드를 통해 주기적으로 작업 실행기(120)와 서보 제어기(130)로 정상 구동 체크 신호를 전송하여 정상 구동 회신 상태를 체크하며, 접속상태가 불량이면 접속 재시도를 하면서 정상 구동 상태를 체크하며, 정상 구동 체크에서 양호한 상태이면 각 프로세스별로 각자 서비스 실행을 수행하여 운전 모드(S300)를 수행한다. 운전모드는, 수동, 자동, 드라이런 모드를 수행한다.When the initialization mode (S200) is completed, the robot manager 110 periodically transmits a normal driving check signal to the job launcher 120 and the servo controller 130 through separate threads to check the normal driving reply status, and access If the status is bad, the normal operation state is checked while retrying the connection. If the normal operation check is in a good state, service execution is performed for each process to perform the operation mode (S300). The operation mode performs manual, automatic, and dry run modes.

이후, 종료명령이 입력되면 로봇 매니저(110)는 종료 명령을 작업 실행기(120)와 서보 제어기(130)로 종료명령을 내려 종료 절차를 수행하도록 한다. 이때 작업 실행기(120)와 서보 제어기(130)는 모든 자원과 장치의 안전종료를 수행하도록 한다.Thereafter, when the termination command is input, the robot manager 110 issues the termination command to the job executor 120 and the servo controller 130 to perform the termination procedure. At this time, the task executor 120 and the servo controller 130 perform safety termination of all resources and devices.

상기 진입모드(S100)에서 로봇 매니저(110)는,In the entry mode (S100), the robot manager 110,

프로그램 실행 옵션 분석에 의해 인자(argument)를 파싱하는 프로그램 실행옵션 분석단계(S111)와, 분석된 인자에 의해 시스템 파라미터를 파일로부터 로딩하는 시스템 파라미터 로딩단계(S112)와, 상기 로딩된 시스템 파라미터를 내부 메모리에 저장한 후에 공유 메모리를 생성하여 파라미터 데이터를 공유메모리에 저장하는 공유 메모리 생성(S113)단계와, 공유 메모리에 파라미터를 저장한 후, 로봇 매니저 서비스를 수행하기 위한 서비스를 생성하는 로봇 매니저 서비스 실행 준비 단계(S114)를 수행하고,The program execution option analysis step (S111) for parsing an argument by analyzing the program execution option, the system parameter loading step (S112) for loading system parameters from the file by the analyzed factor, and the loaded system parameters After creating the shared memory after storing it in the internal memory, the shared memory creation step (S113) in which the parameter data is stored in the shared memory, and the robot manager that generates the service for performing the robot manager service after storing the parameters in the shared memory Perform the service execution preparation step (S114),

상기 작업 실행기(120)는,The task launcher 120,

프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계(S121)와, 분석된 인자에 의해 작업 실행기 서비스를 생성하는 작업 실행기 서비스 실행 준비 단계(S122)와, 서비스 실행준비가 이루어지면, 상기 로봇 매니저(110)로 접속을 시도하는 로봇 매니저 접속 시도 단계(S123)를 수행하고,The program execution option analysis step (S121) for parsing the parameters by analyzing the program execution options, the job executor service execution preparation step (S122) for generating the job executor service based on the analyzed factors, and when the service execution preparation is made, the A robot manager access attempt step (S123) of attempting to access the robot manager 110 is performed,

상기 서보 제어기(130)는,The servo controller 130,

프로그램 실행 옵션 분석에 의해 인자를 파싱하는 프로그램 실행 옵션 분석단계(S131)와, 분석된 인자에 의해 서보 제어기 서비스를 생성하는 서보 제어기 서비스 실행 준비 단계(S132)와, 서비스 실행준비가 이루어지면, 상기 로봇 매니저(110)로 접속을 시도하는 로봇 매니저 접속 시도 단계(S133)를 수행하고,When the program execution option analysis step (S131) for parsing the parameters by analyzing the program execution options and the servo controller service execution preparation step (S132) for generating the servo controller service by the analyzed factors, and when the service execution preparation is made, the A robot manager access attempt step (S133) of attempting to access the robot manager 110 is performed,

상기 로봇 매니저(110)는, 작업 실행기(120)와 서보 제어기(130)의 접속 시도(S115)를 받아 접속 완료(S116)를 체크하여 연결을 확인하고 연결 시도가 없으면 재시도를 수행하는 접속시도 및 완료 체크단계를 수행한다.The robot manager 110 receives a connection attempt (S115) between the job launcher 120 and the servo controller 130, checks the connection completion (S116), and confirms the connection, and if there is no connection attempt, attempts to connect again. And a completion check step.

상기 진입모드(S100)에서 상기 작업 실행기(120)와 상기 서보 제어기(S130)는, 로봇 매니저(110)와의 접속을 시도하고, 미리 정해진 제한시간이 결과 될때까지 접속이 이루어지지 못하여 실패하면, 상기 종료모드(S400)로 진행하여 종료한다.In the entry mode (S100), the job launcher 120 and the servo controller (S130) attempt to connect to the robot manager 110 and fail to connect because the connection cannot be made until a predetermined time limit is reached. Proceed to the end mode (S400) and end.

이와 같은 진입모드(S100)은, 로봇 매니저(110)는 프로그램 실행 옵션 분석(S111)에 의해 인자(argument)를 파싱하고, 시스템 파라미터 로딩(S112)에 의해 시스템 파라미터를 파일로부터 로딩하여 내부 메모리에 저장한 후에 공유 메모리 생성(S113)에 의해 공유메모리를 생성하며 파라미터 데이터를 공유메모리에 저장한다. 그리고 로봇 매니저(도 9에서 'RM'로 약칭함) 서비스를 수행하기 위한 서비스를 생성하며(S114), 작업 실행기(도 9에서 'TE'로 약칭함)와 서보 제어기(도 9에서 'SC'로 약칭함)의 접속 시도(S115)를 받아 접속 완료(S116)를 체크하여 연결을 확인하고 연결 시도가 없으면 재시도를 수행한다.In this entry mode (S100), the robot manager 110 parses arguments by program execution option analysis (S111), and loads system parameters from the file by loading the system parameters (S112) to the internal memory. After saving, the shared memory is created by the shared memory generation (S113) and the parameter data is stored in the shared memory. Then, a service for performing a robot manager (abbreviated as'RM' in FIG. 9) service is generated (S114), a task launcher (abbreviated as'TE' in FIG. 9) and a servo controller ('SC' in FIG. 9). Receive a connection attempt (S115), and check the connection completion (S116) to check the connection and, if there is no connection attempt, retry.

작업 실행기(120), 서보 제어기(130)는 로봇 매니저(110)와 동일하게 프로그램 실행 옵션 분석(S121), S131)에 의해 인수를 파싱하고, 각자의 서비스를 생성하여 작업 실행기 서비스 실행 준비(S122) 및 서보 제어기 실행준비(S132)를 하고, 각자 로봇 매니저(RM)와의 접속시도(S123)(S133)을 시도하며, 정해진 한계치 이상 시간이 경과되면 연결시도를 종료하고(S124)(S134), 프로세스를 종료하는 절차를 수행한다. 여기까지가 진입모드이다.The task launcher 120 and the servo controller 130 parse the arguments by analyzing program execution options (S121) and S131 in the same manner as the robot manager 110, and prepare their own service to prepare the task executor service execution (S122) ) And the servo controller are ready for execution (S132), each attempts to connect to the robot manager (RM) (S123) (S133), and when the time exceeds the specified limit, the connection attempt is terminated (S124) (S134), Perform a process to terminate the process. This is the entry mode.

초기화 모드(S200)는, 작업 실행기(120; TE)와 서보 제어기(130; SC)가 로봇 매니저(110; RM)에 연결이 성공적으로 되었으면(S116) 그 다음 로봇 매니저(110)는 나머지 두 개의 프로세스인 작업 실행기(120; TE)와 서보 제어기(130; SC)에 초기화 수행 명령을 전달하게 되며, 작업 실행기(120)와 서보 제어기(130)는 명령을 정상적으로 전달받았으면 내부적인 초기화 작업에 들어가고, 초기화 완료 결과를 로봇 매니저(110)로 회신한다. 여기까지가 초기화 모드이다.In the initialization mode (S200), if the job launcher 120 (TE) and the servo controller 130 (SC) have successfully connected to the robot manager 110 (RM) (S116), then the robot manager 110 has the remaining two The process execution task 120 (TE) and the servo controller 130 (SC) are transmitted to the initialization execution command, and the task executor 120 and the servo controller 130 enter an internal initialization operation when the command is normally received, The initialization completion result is returned to the robot manager 110. This is the initializing mode.

운전 모드(S300)는, 로봇 매니저(110)는 별도의 쓰레드를 통해 나머지 두 개의 프로세스가 정상적으로 구동되고 있는지를 체크하기 위한 얼라이브 체크(alive check) 메시지를 주기적으로 전송하여 정상 구동 체크(S311)를 하며, 작업 실행기(120) 및 서보 제어기(130)는, 정상 구동 체크 신호에 의해 정상 구동 회신(S321)(S331)을 하며, 로봇 매니저(110)는, 정상구동 회신에 의거하여 접속 상태 양호 판단(S312)을 하고, 만약 정상구동회신이 없으면, 연결에 문제가 있다고 판단하여 연결을 재시도하게 된다. 이는 서비스를 처리하는 쓰레드와는 별개로 구동되기 때문에 서비스를 처리하는 데에는 지장을 받지 않도록 구성된다. 정상 연결이 이루어지면 각자 프로세스별로 서비스 실행(S313)(S323)(S333)을 수행한다. In the driving mode (S300), the robot manager 110 periodically transmits an alive check message to check whether the other two processes are normally running through separate threads, thereby performing a normal driving check (S311). The job executor 120 and the servo controller 130 perform normal drive reply (S321) (S331) by the normal drive check signal, and the robot manager 110 determines the connection state is good based on the normal drive reply. (S312), and if there is no normal driving reply, it is determined that there is a problem with the connection, and the connection is retried. It is configured so that it does not interfere with the processing of the service, because it runs independently of the thread that processes the service. When a normal connection is established, service execution is performed for each process (S313) (S323) (S333).

정상적으로 초기화가 완료되고 연결이 정상상태이면 운전 모드(S300)는 크게 수동모드, 자동모드, 드라이런 모드로 제어할 수 있다. 수동 모드는 조그 서비스를 통해 로봇의 동작을 키입력을 통해 사용자가 로봇을 원하는 위치 및 자세로 이동할 수 있으며 작업파일의 편집 및 수정, 입출력의 제어, 여러가지 데이터를 입력받을 수 있는 모드이다. 자동모드는 현재 활성화되어 있는 작업 파일을 별도의 입력이 있을 때까지 자동으로 수행하는 모드이며 자동모드에서는 용접기능을 포함하게 된다. 드라이런 모드는 자동모드에서 용접기능만을 제외한 동작을 수행하게 된다. 이렇게 정상적으로 로봇의 동작 기능을 수행하게 되는 모드가 수동모드, 자동모드, 드라이런 모드이다.If the initialization is normally completed and the connection is normal, the operation mode (S300) can be largely controlled in a manual mode, an automatic mode, and a dry run mode. The manual mode is a mode in which the user can move the robot to a desired position and posture through a key input through the jog service, edit and modify work files, control input/output, and receive various data. The automatic mode is a mode that automatically executes the currently active work file until there is a separate input. In the automatic mode, the welding function is included. The dry run mode performs an operation except for the welding function in the automatic mode. The modes that normally perform the robot's operation functions are manual mode, automatic mode, and dry run mode.

비상정지 모드는 전체 시스템 모드에서 언제라도 동작할 수 있으며 입력을 받게 되면 로봇의 동작, 입출력, 용접 등 모든 기능이 정지되게 되며 해제시 다시 정상적인 기능을 수행할 수 있도록 구성된다.The emergency stop mode can operate at any time in the entire system mode, and upon receipt of input, all functions, such as robot operation, input/output, and welding, are stopped and configured to perform normal functions again when released.

마지막으로 종료 모드(S400)는 로봇 매니저(110)가 교시조작기, 쉘 터미날, GUI 등 다른 외부장치로부터 종료 명령을 받게 되면 종료 명령을 작업 실행기(120)와 서보 제어기(130)에 전달하게 되며 작업 실행기(120)와 서보 제어기(130)의 모든 종료절차가 정상적으로 수행되면 로봇 매니저가 종료 절차에 들어가게 된다.
Finally, in the termination mode (S400), when the robot manager 110 receives an exit command from another external device such as a teaching operator, a shell terminal, or a GUI, the exit command is transmitted to the task launcher 120 and the servo controller 130. When all the termination procedures of the executor 120 and the servo controller 130 are normally performed, the robot manager enters the termination procedure.

10 : 유저 인터페이스부 11 : OLP 서버
12 : 교시 조작기 13 : 모니터링 컴퓨터
20 : 관리 시스템 21 : 쉘 터미널
22 : 웹 브라우저 23 : 저장매체
30 : 로봇 시스템 31 : 센서 시스템
32 : 용접기 33 : 입출력장치
34 : 서보 드라이버
100 : 로봇 콘트롤러 110 : 로봇 매니저
120 : 작업 실행기 130 : 서보 제어기
10: user interface unit 11: OLP server
12: teaching manipulator 13: monitoring computer
20: management system 21: shell terminal
22: Web browser 23: Storage medium
30: robot system 31: sensor system
32: welding machine 33: input and output device
34: servo driver
100: robot controller 110: robot manager
120: job launcher 130: servo controller

Claims (10)

유저 인터페이스 디바이스(10)와 관리시스템(20)의 제어를 받아 로봇 시스템(30)을 제어하기 위한 로봇 콘트롤러(100)에 있어서,
상기 유저 인터페이스 디바이스(10)와 상기 관리시스템(20)과 네트웍으로 연결되어 통신하고, 시스템 파라미터 관리, 로봇 운용 실적 관리, 작업파일 및 명령 해석 등의 역할을 수행하는 로봇 매니저(110)와;
상기 로봇 매니저(110)로부터 전달된 명령 및 작업파일을 해석하여 로봇의 동작에 대한 기구학 및 궤적 정보를 계산하며 비상정지, 정지와 같은 비주기적 이벤트에 대해 처리를 병행하는 작업 실행기(120)와;
상기 작업실행기(110)에서 생성된 정보의 결과를 받아 실시간으로 로봇시스템(30)을 제어하고, 입력되는 여러가지 하드웨어의 이벤트를 직접 인터페이스하여 작업실행기 및 로봇 매니저에게 전달하며 로봇시스템(30)과의 입출력을 직접 관할함과 아울러 센서 및 용접기를 직접 제어하는 서보 제어기(130)로 분할 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
In the robot controller 100 for controlling the robot system 30 under the control of the user interface device 10 and the management system 20,
A robot manager 110 connected to the user interface device 10 and the management system 20 over a network for communication, and performing functions such as system parameter management, robot operation performance management, work file and command analysis;
A task executor 120 that analyzes commands and work files transmitted from the robot manager 110 to calculate kinematics and trajectory information about the motion of the robot, and performs processing on aperiodic events such as emergency stop and stop;
Receiving the result of the information generated by the task launcher 110, controlling the robot system 30 in real time, directly interfacing various input hardware events to the task launcher and robot manager, and communicating with the robot system 30. A multi-process based real-time welding robot control system characterized by being divided into a servo controller (130) that directly controls the input/output and a sensor and a welding machine.
제 1 항에 있어서, 상기 유저 인터페이스 디바이스(10)는,
외부에서 작성된 로봇 제어 프로그래밍 데이터와, 작업을 위한 CAD 인터페이스 정보를 입력받아 사용자가 로봇 작업 데이터를 로봇 콘트롤러(100)로 입력하는 유저 인터페이스 OLP 서버(11)와, 사용자가 로봇을 직접 조작할 수 있도록 로봇 제어명령을 입력받아 상기 로봇 콘트롤러(100)로 입력하는 교시조작기(12) 및 상기 로봇 콘트롤러(100)로부터 로봇 운용상태 정보를 수신받아 모니터링할 수 있도록 출력하는 모니터링 컴퓨터(13)를 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
The user interface device (10) according to claim 1,
The user interface OLP server 11 that receives the robot control programming data created externally and the CAD interface information for the work and the user inputs the robot work data to the robot controller 100, and allows the user to directly operate the robot. Consists of a teaching controller (12) that receives a robot control command and inputs it to the robot controller (100) and a monitoring computer (13) that receives and outputs robot operation status information from the robot controller (100) for monitoring. Real-time welding robot control system based on multiple processes, characterized in that.
제 1 항에 있어서, 상기 관리 시스템(20)은,
상기 로봇 콘트롤러(100)와 연결되어 권한을 가진 사람만이 로봇 시스템에 접근할 수 있도록 제어하여 유지 관리를 하기 위한 쉘 터미날(21) 및 웹 브라우저 시스템(22)을 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
The method of claim 1, wherein the management system (20),
Multiple connected to the robot controller 100, characterized in that it comprises a shell terminal 21 and a web browser system 22 for maintenance by controlling only the authorized person to access the robot system Process-based real-time welding robot control system.
제 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)를 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
According to claim 1, The robot manager 110,
A service terminal 111 that is connected to the shell terminal 21 and the internal local terminal 112 of the management system 20 to service the robot system;
A network broker 113 that manages and controls network connection with the user interface device 10;
A robot service module 115 connected to the service terminal 111, the network broker 113, the local GUI 112, and the CGI 114 connected to the web browser 22 to service an external connection for control of the robot 115 )and;
A system parameter management unit 116 for management control of the robot robot;
A job compiler 118 for compiling job instructions;
A command interpreter 119 for interpreting work orders;
The work executor 120 controls the system parameter management unit 116, the work compiler 118, and the command interpreter 119 in cooperation with the robot service module 115 to compile and compile the work command and execution command. Real-time welding robot control system based on a multi-process characterized in that it comprises a robot management unit 117 to control the management of the robot by transmitting to.
제 1 항에 있어서, 상기 작업 실행기(120)는,
로봇 매니저(110)로부터 전송받은 컴파일된 작업명령과 실행 명령에 의거하여 명령을 해석하는 코멘드 인터프리테이션부(121), 작업 명령을 해석하는 작업(job) 인터프리테이션부(122)와;
상기 코멘드 인터프리테이션부(121)와 상기 작업 인터프리테이션부(122)로부터 해석된 실행명령 및 작업 명령에 의거하고, 서보 제어기(130)로부터 수신되는 입출력 신호에 의거하여 이벤트 프로세싱을 처리하는 이벤트 프로세싱부(123)와;
상기 이벤트 프로세싱부(123)의 제어 및 센서신호에 의해 발생된 경로보상신호에 의해 로봇의 움직임 궤적신호를 발생시키는 궤적 발생부(124)와;
상기 서보제어기(130)를 통해 수신되는 센서신호에 의거하여 경로를 보상신호를 발생시켜 상기 궤적 발생부(124)로 경로 보상신호를 인가하는 경로보상부(125)와;
상기 궤적 발생부(124)의 궤적신호를 역운동학부(Invers Kinematics)(161)의 제어에 의거하여 조인트 포지션 및 용접 조건 정보를 서보 제어기(130)로 전송하는 포인트 포지션 컨버젼부(127)를 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
The method of claim 1, wherein the task launcher 120,
A command interpreter 121 for interpreting commands based on the compiled work command and execution command received from the robot manager 110, and a job interpreter 122 for interpreting the work command;
An event that processes event processing based on the input and output signals received from the servo controller 130 based on execution commands and work commands interpreted from the command interpreter 121 and the work interpreter 122. A processing unit 123;
A trajectory generation unit 124 generating a motion trajectory signal of the robot by a path compensation signal generated by the control and sensor signals of the event processing unit 123;
A path compensation unit 125 for generating a path compensation signal based on a sensor signal received through the servo controller 130 and applying a path compensation signal to the trajectory generation unit 124;
Includes a point position conversion unit 127 that transmits the joint position and welding condition information to the servo controller 130 based on the control of the invers kinematics 161 to the trajectory signal of the trajectory generation unit 124 Real-time welding robot control system based on multiple processes, characterized by consisting of.
제 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)를 포함하여 구성된 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템.
According to claim 1, The servo controller 130,
A sensor interface unit 131 which receives sensor information from the sensor system 31 of the robot system 30 and delivers the sensor information to the job launcher 120;
A welding machine interface unit 132 that interfaces with the welding machine 32 of the robot system 30 to control the welding machine according to welding conditions;
A signal input/output management unit 133 connected to an input/output device (TP/UP DIO, application DIO) 33 of the robot system 30 to manage signal input/output with the job launcher 120;
Field network interface unit 134a, position interpolation unit 134b, motion detection unit 134c for controlling the servo driver 34 of the robot system 30 based on the joint position and welding signal of the job executor 127 ), a problem- and error-checking unit (134d) comprising a servo control unit 134, a multi-process based real-time welding robot control system characterized in that it comprises a.
로봇 콘트롤러가 로봇 매니저(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)로 이루어진 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어 방법
In the control method of a multi-process based real-time welding robot control system, the robot controller is configured to perform independent processes with the robot manager 110, the task launcher 120, and the servo controller 130, respectively.
The robot manager 110 and the job launcher 120 and the servo controller 130 analyze the program execution options to prepare for service execution, and the job launcher 120 and the servo controller 130 connect to the robot manager 110 When the connection is completed by attempting to, the entry mode (S100) in which an initialization execution command is generated by the robot manager 110;
An initialization mode (S200) in which the initialization of the job launcher 120 and the servo controller 130 is started by the initialization command of the robot manager 110, and the initialization completion is returned to the robot manager 110;
When the robot manager 110 receives an initialization completion reply in the initialization mode (S200), and the robot manager 110 is in a normal driving state, the robot manager 110 is periodically normal to the task launcher 120 and the servo controller 130 through separate threads. A driving mode (S300) for transmitting a driving check signal and receiving a normal driving reply, checking a normal driving state while retrying the connection if the connection is defective, and performing service execution for each process when the normal driving check is in a good state;
When the termination command is input, the robot manager 110 issues a termination command to the job executor 120 and the servo controller 130 to perform the termination procedure (S400). Real-time welding robot control system control method
제 7 항에 있어서, 상기 운전모드(S200)는,
수동모드, 자동모드, 드라이런 모드를 포함하는 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어 방법
The method of claim 7, wherein the operation mode (S200),
Control method of a multi-process based real-time welding robot control system, which includes a manual mode, an automatic mode, and a dry run mode.
제 7 항에 있어서, 상기 진입모드(S100)는,
로봇 매니저(110)는,
프로그램 실행 옵션 분석에 의해 인자(argument)를 파싱하는 프로그램 실행옵션 분석단계(S111)와,
분석된 인자에 의해 시스템 파라미터를 파일로부터 로딩하는 시스템 파라미터 로딩단계(S112)와,
상기 로딩된 시스템 파라미터를 내부 메모리에 저장한 후에 공유 메모리를 생성하여 파라미터 데이터를 공유메모리에 저장하는 공유 메모리 생성(S113)단계와;
공유 메모리에 파라미터를 저장한 후, 로봇 매니저 서비스를 수행하기 위한 서비스를 생성하는 로봇 매니저 서비스 실행 준비 단계(S114)를 수행하고,

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

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

상기 로봇 매니저(110)는, 작업 실행기(120)와 서보 제어기(130)의 접속 시도(S115)를 받아 접속 완료(S116)를 체크하여 연결을 확인하고 연결 시도가 없으면 재시도를 수행하는 접속시도 및 완료 체크단계를 수행하는 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어 방법
The method of claim 7, wherein the entry mode (S100),
The robot manager 110,
A program execution option analysis step (S111) of parsing an argument by analyzing the program execution option,
System parameter loading step (S112) for loading the system parameters from the file by the analyzed factors,
A step S113 of generating a shared memory to store the loaded system parameters in an internal memory and then to generate a shared memory to store parameter data in the shared memory;
After storing the parameters in the shared memory, the robot manager service preparation step (S114) for generating a service for performing the robot manager service is performed,

The task launcher 120,
A program execution option analysis step (S121) of parsing the parameters by analyzing the program execution option;
A task launcher service execution preparation step (S122) for generating a task launcher service according to the analyzed factors;
When the service execution preparation is made, a robot manager access attempt step (S123) of attempting to connect to the robot manager 110 is performed,

The servo controller 130,
A program execution option analysis step (S131) of parsing the parameters by analyzing the program execution option;
Servo controller service execution preparation step (S132) for generating a servo controller service according to the analyzed factors;
When the service execution preparation is made, a robot manager connection attempt step (S133) of attempting to connect to the robot manager 110 is performed,

The robot manager 110 receives the connection attempt (S115) between the job launcher 120 and the servo controller 130, checks the connection completion (S116), and confirms the connection, and if there is no connection attempt, attempts to connect again. And a control method of a multi-process based real-time welding robot control system, characterized by performing a completion check step.
제 9 항에 있어서, 상기 진입모드(S100)는,
상기 작업 실행기(120)와 상기 서보 제어기(S130)는,
로봇 매니저(110)와의 접속을 시도하고, 미리 정해진 제한시간이 결과 될때까지 접속이 이루어지지 못하여 실패하면, 상기 종료모드(S400)로 진행하여 종료하는 것을 특징으로 하는 다중 프로세스 기반의 실시간 용접로봇 제어 시스템의 제어 방법.
The method of claim 9, wherein the entry mode (S100),
The job launcher 120 and the servo controller (S130),
A multi-process based real-time welding robot control characterized by attempting to connect with the robot manager 110 and failing to connect until a predetermined time limit is reached, and then proceeding to the termination mode (S400) and terminating. How to control the system.
KR1020130152717A 2013-12-10 2013-12-10 Multi-Process Based Welding Robot Control System and it's method KR102127951B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130152717A KR102127951B1 (en) 2013-12-10 2013-12-10 Multi-Process Based Welding Robot Control System and it's method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130152717A KR102127951B1 (en) 2013-12-10 2013-12-10 Multi-Process Based Welding Robot Control System and it's method

Publications (2)

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

Family

ID=53515225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130152717A KR102127951B1 (en) 2013-12-10 2013-12-10 Multi-Process Based Welding Robot Control System and it's method

Country Status (1)

Country Link
KR (1) KR102127951B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230108905A (en) 2022-01-12 2023-07-19 한화오션 주식회사 Method of automatically write block shape and dimension information for robot OLP

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102093775B1 (en) * 2017-04-03 2020-03-26 한국전자통신연구원 Automatic assembly apparatus and method based on process recipe
CN108971807B (en) * 2018-07-27 2021-05-04 常州伟泰科技股份有限公司 Intelligent management control method and management system for field welding construction process
KR102089749B1 (en) * 2019-11-20 2020-05-27 전명숙 Method and apparatus for controlling fire hydrant manufacturing process
CN114260901A (en) * 2022-01-04 2022-04-01 珠海格力智能装备有限公司 Control system of industrial robot
CN116252025B (en) * 2023-05-16 2023-07-21 江苏长江智能制造研究院有限责任公司 Data transmission system and method based on intelligent robot welding workstation

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179612A (en) * 1995-12-21 1997-07-11 Yaskawa Electric Corp Automatic welding equipment
KR19990018437A (en) * 1997-08-27 1999-03-15 윤종용 Multi robot control system and program
KR100853167B1 (en) 2006-10-24 2008-08-21 삼성중공업 주식회사 System for Controlling a Robot of Network Based Embedded

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230108905A (en) 2022-01-12 2023-07-19 한화오션 주식회사 Method of automatically write block shape and dimension information for robot OLP

Also Published As

Publication number Publication date
KR20150067414A (en) 2015-06-18

Similar Documents

Publication Publication Date Title
KR102127951B1 (en) Multi-Process Based Welding Robot Control System and it's method
US6961926B2 (en) System and method for distributed debugging and recording medium on which control programs are recorded
Fleury et al. G/sup en/oM: a tool for the specification and the implementation of operating modules in a distributed robot architecture
US8862251B2 (en) Controller for machine tool and machining-related data processing system provided therewith
US20070168082A1 (en) Task-based robot control system for multi-tasking
US9114528B2 (en) Control system of a robot
JP5149258B2 (en) Robot component management device
JP2002530730A (en) Methods for controlling technical processes
CN110524543A (en) A kind of industrial robot control device and system based on manipulation one
CN103645678A (en) Real-time response type network control system
Halt et al. Intuitive constraint-based robot programming for robotic assembly tasks
WO2018192178A1 (en) Point-to-point motion control method and system for robot
Romanov et al. Unified architecture of execution level hardware and software for discrete machinery manufacturing control systems
CN106945045B (en) communication method and system for robot control based on ROS and OROCOS
JP5815504B2 (en) Safety controller and method for controlling automation equipment
CN112650148A (en) Multi-axis motion control system and method
JP5212508B2 (en) Debug device
Alonso et al. Software architecture for a robot teleoperation system
CN106965181B (en) Robot control method and system based on ROS and OROCOS
Sünder et al. Towards reconfiguration applications as basis for control system evolution in zero-downtime automation systems
Ioris et al. Integrating the OROCOS framework and the barrett WAM robot
JP2000112736A (en) Program generating device
Vistein Embedding real-time critical robotics applications in an object-oriented language
WO2023136062A1 (en) Control system and program
JPH08106320A (en) Automatic machine and control method for automatic machine

Legal Events

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