KR20200144038A - 산업용 적재로봇 제어 시스템 - Google Patents

산업용 적재로봇 제어 시스템 Download PDF

Info

Publication number
KR20200144038A
KR20200144038A KR1020190133362A KR20190133362A KR20200144038A KR 20200144038 A KR20200144038 A KR 20200144038A KR 1020190133362 A KR1020190133362 A KR 1020190133362A KR 20190133362 A KR20190133362 A KR 20190133362A KR 20200144038 A KR20200144038 A KR 20200144038A
Authority
KR
South Korea
Prior art keywords
manipulator
process controller
robot
manager terminal
controller
Prior art date
Application number
KR1020190133362A
Other languages
English (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 KR1020190133362A priority Critical patent/KR20200144038A/ko
Publication of KR20200144038A publication Critical patent/KR20200144038A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G57/00Stacking of articles
    • B65G57/02Stacking of articles by adding to the top of the stack
    • B65G57/03Stacking of articles by adding to the top of the stack from above
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G2814/00Indexing codes relating to loading or unloading articles or bulk materials
    • B65G2814/03Loading or unloading means
    • B65G2814/0301General arrangements
    • B65G2814/0304Stacking devices
    • B65G2814/0305Adding to the top

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 매니퓰레이터의 동작에 대한 위치, 전체 동작에 대한 순서 등을 PLC 기반의 공정 컨트롤러에서 통합하여 프로그래밍할 수 있는 산업용 적재로봇 제어 시스템에 관한 것이다.
본 발명에 따른 산업용 적재로봇 제어 시스템은 매니퓰레이터의 작동을 제어하는 로봇 컨트롤러와 관리자 단말 사이에 산업용 PLC 기반의 공정 컨트롤러가 배치되고, 공정 컨트롤러에서 제품설정연산, 매니퓰레이터의 동작에 대한 위치연산, 동작순서 연산, 기동 및 정지 판별, 안전기준 판별을 수행하고, 관리자 단말에서 공정 컨트롤러로 작업 명령이 입력되면, 공정 컨트롤러가 연산을 통해 로봇 동작 지령을 로봇 컨트롤러로 전달하고, 로봇 컨트롤러가 로봇 동작 지령에 따라 매니퓰레이터의 동작을 제어하며, 매니퓰레이터의 동작에 따른 매니퓰레이터의 센서 신호가 공정 컨트롤러로 입력되어, 공정 컨트롤러가 매니퓰레이터의 동작 완료를 확인한 후, 다음 동작을 연산하고, 연산에 따른 동작 지령을 로봇 컨트롤러로 전달하게 되는 것을 특징으로 한다.

Description

산업용 적재로봇 제어 시스템{SYSTEM FOR CONTROLLING INDUSTRIAL STACKING ROBOT}
본 발명은 상품 적재를 용이하게 수행할 수 있도록 하는 산업용 적재로봇 제어 시스템에 관한 것으로서, 보다 상세하게는 매니퓰레이터의 동작에 대한 위치, 전체 동작에 대한 순서 등을 PLC 기반의 공정 컨트롤러에서 통합하여 프로그래밍할 수 있는 산업용 적재로봇 제어 시스템에 관한 것이다.
최근, 제품의 계획, 설계 및 생산준비에서부터 생산의 제어, 관리 및 운용 등을 자동화시키는 산업자동화(Industrial Automation)가 광범위하게 진행되고 있다.
산업자동화는 일반적으로 공장자동화(Factory Automation) 및 생산자동화(Production Automation)와 혼용되어 사용되고 있으며, 생산라인 비용절감 및 생산성 향상을 위해 산업자동화 기기 또한, 지속적으로 발전되어 오고 있는 실정이다.
이렇게, 산업자동화 기기가 지속적으로 발전되어 오고, IT 기술과 융복합화 되면서 제어기, 센서 및 구동기 등을 종합 시스템으로 통합하여 관리하려는 움직임으로 이어지고 있다.
이와 관련된 시스템이 바로 산업자동화 시스템인데, 산업자동화 시스템에는 산업용 로봇, 머신비전, 산업용 PC, PLC(Programmable Logic Controller), 공장자동화용 센서 등이 포함될 수 있다.
여기서, 인더스트리 4.0 시대를 맞이하여 스마트화가 중요시되면서, 산업용 로봇 및 PLC의 중요성이 더더욱 증대되고 있다.
기존에는 산업용 로봇 컨트롤러에 프로그래밍을 하여 산업용 로봇을 제어해 왔었는데, 이러한 방식은 산업용 로봇 제조사 및 산업용 로봇 동작의 변경에 대응하여 산업용 로봇 컨트롤러에 다시 프로그래밍을 해야만 하는 문제점을 초래하였다.
따라서, 이러한 문제점을 해결하기 위해 산업용 로봇 동작에 대한 위치, 전체 동작에 대한 순서 등을 PLC 기반 제어기에 통합 프로그래밍함으로써 산업용 로봇 제조사나 산업용 로봇 동작이 변경되더라도 간단한 조치를 통해 산업용 로봇 전체의 제어를 수행할 수 있도록 하는 기법에 대한 연구가 필요하다.
(1) 대한민국 특허 제10-1229911호(2013년 1월 30일, 등록), 발명의 명칭 : 로봇 암의 전체 동작을 제어하는 상위 제어기와 로봇암의 다관절 구동용 메인 컨트롤러 간의 통신 방법 (2) 대한민국 특허출원공개 제10-2017-0100028호 (2017년 9월 1일, 공개), 발명의 명칭 : 적어도 2개의 매니퓰레이터의 협력된 제어를 위한 매니퓰레이터 시스템 (3) 대한민국 특허 제10-1798652호(2017년 11월 10일, 등록), 발명의 명칭 : 매니퓰레이터를 제어하기 위한 방법 및 장치
따라서, 본 발명의 목적은 매니퓰레이터의 동작에 대한 위치, 전체 동작에 대한 순서 등을 PLC 기반의 공정 컨트롤러에서 통합하여 프로그래밍함으로써, PLC기반의 공정 컨트롤러가 연산 작업 및 프로그래밍의 주체가 되어, 제조사 또는 모델에 상관없이 어떠한 매니퓰레이터와 매니퓰레이터용 로봇 컨트롤러로 교체하여도 전체 작업 프로그래밍을 다시 할 필요가 없으며, 제품 단종 등으로 인한 애로 사항을 없앨 수 있고, 제품 선택을 다양화할 수 있는 산업용 적재로봇 제어 시스템을 제공하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 산업용 적재로봇 제어 시스템의 일례는 매니퓰레이터의 작동을 제어하는 로봇 컨트롤러와 관리자 단말 사이에 산업용 PLC 기반의 공정 컨트롤러가 배치되고, 공정 컨트롤러에서 제품설정연산, 매니퓰레이터의 동작에 대한 위치연산, 동작순서 연산, 기동 및 정지 판별, 및 안전기준 판별을 수행하고, 관리자 단말에서 공정 컨트롤러로 작업 명령이 입력되면, 공정 컨트롤러가 연산을 통해 로봇 동작 지령을 로봇 컨트롤러로 전달하고, 로봇 컨트롤러가 로봇 동작 지령에 따라 매니퓰레이터의 동작을 제어하며, 매니퓰레이터의 동작에 따른 매니퓰레이터의 센서 신호가 공정 컨트롤러로 입력되어, 공정 컨트롤러가 매니퓰레이터의 동작 완료를 확인한 후, 다음 동작을 연산하고, 연산에 따른 동작 지령을 로봇 컨트롤러로 전달하게 되는 것을 특징으로 한다.
본 발명에 따른 산업용 적재로봇 제어 시스템는 PLC기반의 공정 컨트롤러가 연산 작업 및 프로그래밍의 주체가 되어, 제조사 또는 모델에 상관없이 어떠한 매니퓰레이터와 매니퓰레이터용 로봇 컨트롤러로 교체하여도 전체 작업 프로그래밍을 다시 할 필요가 없으며, 제품 단종 등으로 인한 애로 사항을 없앨 수 있고, 제품 선택을 다양화할 수 있는 효과가 있다.
도 1은 본 발명에 따른 산업용 적재로봇 제어 시스템을 도시한 블록도
도 2는 PLC 기반의 공정 컨트롤러를 도시한 블록도
도 3은 본 발명에 따른 산업용 적재로봇 제어 시스템의 동작을 제어하기 위한 방법을 도시한 순서도
이하, 본 발명에 따른 실시예를 첨부 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1을 참조하면, 본 발명에 따른 산업용 적재로봇 제어 시스템은 매니퓰레이터(150)의 작동을 제어하는 로봇 컨트롤러(140)와 관리자 단말(130 ; 예를 들어, PC) 사이에 산업용 PLC 기반의 공정 컨트롤러(110)가 배치되고, 공정 컨트롤러(110)에서 제품설정연산, 매니퓰레이터의 동작에 대한 위치연산, 동작순서 연산, 기동 및 정지 판별, 및 안전기준 판별을 수행하고, 관리자 단말(130)에서 공정 컨트롤러(110)로 작업 명령이 입력되면, 공정 컨트롤러(110)가 연산을 통해 로봇 동작 지령을 로봇 컨트롤러(140)로 전달하고, 로봇 컨트롤러(140)가 로봇 동작 지령에 따라 매니퓰레이터(150)의 동작을 제어하며, 매니퓰레이터(150)의 동작에 따른 매니퓰레이터의 센서 신호가 공정 컨트롤러(110)로 입력되어, 공정 컨트롤러(110)가 매니퓰레이터(150)의 동작 완료를 확인한 후, 다음 동작을 연산하고, 연산에 따른 동작 지령을 로봇 컨트롤러(140)로 전달하게 된다.
여기서, PLC(Programmable Logic Controller)란 산업 플랜트의 자동 제어 및 감시에 사용하는 제어 장치를 의미하는 것으로 디지털 또는 아날로그 입출력 모듈을 통하여 로직, 시퀀싱, 타이밍, 카운팅, 연산과 같은 특수한 기능을 수행하기 위하여 프로그램 가능한 메모리를 사용하고 여러 종류의 기계나 프로세서를 제어하는 디지털 동작의 전자장치를 의미한다.
상기와 같이 구성된 본 발명에 따른 산업용 적재로봇 제어 시스템은 산업용 PLC기반의 공정 컨트롤러(110)가 연산 작업 및 프로그래밍의 주체가 되어, 매니퓰레이터(150)와 로봇 컨트롤러(140)가 패키지로 판매되어도, 제조사 또는 모델에 상관없이 어떠한 매니퓰레이터(150)와 매니퓰레이터용 로봇 컨트롤러(140)로 교체하여도 전체 작업 프로그래밍을 다시 할 필요가 없으며, 제품 단종 등으로 인한 애로 사항을 없앨 수 있고, 제품 선택을 다양화할 수 있는 장점이 있다.
도 2를 참조하면, 상기 공정 컨트롤러(110)는 상관 계수 저장부(111), 요청부(112), 인증 확인부(113) 및 제어부(114)를 포함한다.
상기 상관 계수 저장부(111)에는 관리자 인증에 사용하기 위한 기설정된(predetermined) 상관 계수(Correlation Coefficient)에 대한 정보가 저장되어 있다.
여기서, 상관 계수란 2개의 연속형 변수 간의 연관성에 대한 측도를 의미하는 것으로 하기의 수학식 1에 따라 연산될 수 있다.
Figure pat00001
여기서, R은 변수 x와 변수 y의 n개 자료 (x1, y1), ..., (xn, yn)에서의 상관 계수,
Figure pat00002
는 x1, ..., xn의 평균,
Figure pat00003
는 y1, ..., yn의 평균을 의미한다. 보통,
Figure pat00004
이 1에 가까울수록 두 변수의 값들은 직선 가까이에 위치하여 두 변수 간의 선형적인 연관성은 커진다고 볼 수 있고, R=0일 때 두 변수 간의 선형적인 연관성은 없다고 볼 수 있다.
상기 요청부(112)는 관리자 단말(130)로부터 매니퓰레이터(150)를 제어하기 위한 제1 제어명령이 수신되면, n(n은 2이상의 자연수)개의 랜덤 값들을 랜덤하게 생성하고, 상기 n개의 랜덤 값들을 관리자 단말(130)로 전송하면서, 관리자 단말(130)로 상기 n개의 랜덤 값들에 대응되는 n개의 피드백 값들의 전송을 요청한다.
예컨대, 상기 제1 제어명령을 '제어명령 1'이라고 하고, 'n=5'라고 가정하자. 관리자 단말(130)로부터 매니퓰레이터(150)를 제어하기 위한 상기 제1 제어명령인 '제어명령 1'이 공정 컨트롤러(110)에 수신되면, 요청부(112)는 5개의 랜덤 값들 '2, 2, 3, 4, 5'를 랜덤하게 생성하고, 상기 5개의 랜덤 값들 '2, 2, 3, 4, 5'를 관리자 단말(130)로 전송하면서, 관리자 단말(130)로 상기 5개의 랜덤 값들 '2, 2, 3, 4, 5'에 대응되는 5개의 피드백 값들의 전송을 요청할 수 있다.
상기 인증 확인부(113)는 관리자 단말(130)로부터 상기 n개의 랜덤 값들에 대응되는 n개의 피드백 값들로 n개의 제1 피드백 값들(상기 n개의 제1 피드백 값들은 상기 n개의 랜덤 값들과의 상관 계수가 관리자 단말(130)에 기 저장되어 있는 상기 기설정된 상관 계수로 연산되도록 생성된 값들임)이 수신되면, 상기 n개의 제1 피드백 값들과 상기 n개의 랜덤 값들 간의 제1 상관 계수를 연산하고, 상기 제1 상관 계수가 상기 기설정된 상관 계수로 연산되는지 확인함으로써, 관리자 단말(130)에 대한 인증을 완료한다.
예컨대, 'n=5'라고 하고, 상기 5개의 랜덤 값들을 '2, 2, 3, 4, 5'라고 하며, 상기 기설정된 상관 계수를 'R1'이라고 가정하자. 관리자 단말(130)로부터 상기 5개의 랜덤 값들 '2, 2, 3, 4, 5'에 대응되는 5개의 피드백 값들로 5개의 제1 피드백 값들이 공정 컨트롤러(110)에 수신되면, 인증 확인부(113)는 상기 5개의 제1 피드백 값들과 상기 5개의 랜덤 값들 '2, 2, 3, 4, 5' 간의 제1 상관 계수를 연산하고, 상기 제1 상관 계수가 상기 기설정된 상관 계수인 'R1'으로 연산되는지 확인함으로써, 관리자 단말(130)에 대한 인증을 완료할 수 있다.
이때, 본 발명의 일실시예에 따르면, 관리자 단말(130)은 상기 기설정된 상관 계수를 메모리 상에 저장하고 있고, 공정 컨트롤러(110)로부터 상기 n개의 랜덤 값들이 수신되면, 상기 n개의 랜덤 값들과의 상관 계수가 상기 메모리 상에 저장되어 있는 상기 기설정된 상관 계수로 연산되는 상기 n개의 제1 피드백 값들을 랜덤하게 생성하여 공정 컨트롤러(110)로 전송할 수 있다.
예컨대, 상기 메모리 상에 저장되어 있는 상기 기설정된 상관 계수를 'R1'이라고 하고, 공정 컨트롤러(110)로부터 상기 5개의 랜덤 값들 '2, 2, 3, 4, 5'가 관리자 단말(130)에 수신되었다고 하는 경우, 관리자 단말(130)은 상기 5개의 랜덤 값들 '2, 2, 3, 4, 5'와의 상관 계수가 상기 메모리 상에 저장되어 있는 상기 기설정된 상관 계수인 'R1'으로 연산되는 상기 5개의 제1 피드백 값들을 랜덤하게 생성하여 공정 컨트롤러(110)로 전송할 수 있다.
상기 제어부(114)는 관리자 단말(130)에 대한 인증이 완료되면, 상기 제1 제어명령을 기초로 매니퓰레이터(150)의 제어를 수행한 후 관리자 단말(130)로 매니퓰레이터(150)의 제어에 대한 수행 완료 메시지를 전송한다.
예컨대, 상기 제1 제어명령을 '제어명령 1'이라고 가정하자. 관리자 단말(130)에 대한 인증이 완료되면, 제어부(114)는 상기 제1 제어명령인 '제어명령 1'을 기초로 매니퓰레이터(150)의 제어를 수행한 후 관리자 단말(130)로 매니퓰레이터(150)의 제어에 대한 수행 완료 메시지를 전송할 수 있다.
즉, 공정 컨트롤러(110)는 관리자 단말(130)로부터 매니퓰레이터(150)를 제어하기 위한 제1 제어명령이 수신되면, n개의 랜덤 값들을 랜덤하게 생성하고, 상기 n개의 랜덤 값들을 관리자 단말(130)로 전송하면서, 관리자 단말(130)로 상기 n개의 랜덤 값들에 대응되는 n개의 피드백 값들의 전송을 요청한 후 관리자 단말(130)로부터 상기 n개의 랜덤 값들에 대응되는 n개의 피드백 값들로 n개의 제1 피드백 값들이 수신되면, 상기 n개의 제1 피드백 값들과 상기 n개의 랜덤 값들 간의 제1 상관 계수를 연산하고, 상기 제1 상관 계수가 기설정된 상관 계수로 연산되는지 확인하여 관리자 단말(130)에 대한 인증을 완료한 후 관리자 단말(130)에 대한 인증이 완료되면, 상기 제1 제어명령을 기초로 매니퓰레이터(150)의 제어를 수행함으로써, 관리자로 하여금 상품을 용이하게 적재할 수 있도록 지원할 수 있다.
한편, 상기 제어부(114)는 관리자 단말(130)에 대한 인증이 완료되지 않으면, 상기 제1 제어명령을 기초로 매니퓰레이터(150)의 제어를 수행하지 않은 후 관리자 단말(130)로 매니퓰레이터(150)의 제어에 대한 수행 실패 메시지를 전송할 수 있다.
예를 들어, 상기 제1 제어명령을 '제어명령 1'이라고 가정하고, 관리자 단말(130)에 대한 인증이 완료되지 않으면, 제어부(114)는 상기 제1 제어명령인 '제어명령 1'을 기초로 매니퓰레이터(150)의 제어를 수행하지 않은 후 관리자 단말(130)로 매니퓰레이터(150)의 제어에 대한 수행 실패 메시지를 전송할 수 있다.
상기 공정 컨트롤러(110)는 행렬 저장부(115), 신드롬 생성부(116), 피드백 요청부(117), 검증용 신드롬 생성부(118), 인증부(119) 및 전송부(120)를 더 포함한다.
상기 행렬 저장부(115)에는 관리자 인증에 사용하기 위한 t(t는 자연수임) 비트의 코드에 대한 오류 정정 능력을 갖는 기설정된 생성행렬에 대응되는 패리티 검사 행렬이 저장되어 있다.
상기 패리티 검사 행렬은 데이터 전송측이 소정의 생성행렬을 기반으로 인코딩된 코드워드(codeword)를 데이터 수신측으로 전송하였을 때, 데이터 수신측이 수신한 데이터에 에러가 발생하였는지 여부를 검증하기 위한 행렬로, k x n(k와 n은 자연수로 n은 k보다 큰 수임) 크기의 생성행렬 G가 존재한다고 하고, 상기 생성행렬 G에 대응하는 패리티 검사 행렬을 'H'라고 하는 경우, 상기 패리티 검사 행렬 H의 크기는 (n-k) x n의 크기이며, 상기 생성행렬 G와의 관계에서 하기의 수학식 2와 같은 특성이 존재한다.
Figure pat00005
여기서, HT는 상기 패리티 검사 행렬의 전치 행렬을 의미한다.
만약, 데이터 전송측이 생성행렬 G를 이용해서 코드워드 c를 생성하여 데이터 수신측으로 전송함에 따라 데이터 수신측에 수신된 데이터를 'r'이라고 하고, 상기 데이터 r에 에러가 발생하지 않았다고 하는 경우, 상기 데이터 r에 대해서는 패리티 검사 행렬 H와의 관계에서 하기의 수학식 3과 같은 특성이 존재한다.
Figure pat00006
하지만, 데이터 전송측이 전송한 코드워드 c에 에러 e가 발생하였다고 한다면, 데이터 수신측이 수신한 상기 데이터 r은 'c
Figure pat00007
e'가 될 것이고, 이로 인해 패리티 검사 행렬 H와 상기 데이터 r 사이에는 하기의 수학식 4와 같은 특성을 가지게 된다.
Figure pat00008
여기서,
Figure pat00009
는 배타적 논리합 연산을 의미한다.
상기 수학식 4에서의 연산과 같이, 데이터 수신측에서는 패리티 검사 행렬을 이용해서 데이터 수신측에 수신된 데이터에 에러가 존재하는지 여부를 검출할 수 있다. 이때, 상기 수학식 4에서 'S'를 신드롬(Syndrome)이라고 하며, 데이터 수신측에서는 패리티 검사 행렬 H를 기초로 상기 신드롬을 연산한 후
Figure pat00010
를 만족하는 e를 찾아내기 위한 신드롬 디코딩(Syndrome Decoding)을 수행함으로써, 수신된 데이터 r에 포함된 에러 e를 찾아낼 수 있다.
신드롬 디코딩은 패리티 검사 행렬의 오류 정정 능력이 t인 경우, t이하의 비트에 대해서 데이터 에러가 발생하였을 때에만
Figure pat00011
를 만족하는 에러 코드 e를 찾아낼 수 있다.
신드롬 생성부(116)는 관리자 단말(130)로부터 매니퓰레이터(150)에 대한 상태 정보 요청이 수신되면, 해밍 무게(Hamming Weight)가 t인 에러 코드를 랜덤하게 생성하고, 상기 에러 코드와 상기 패리티 검사 행렬을 기초로 상기 에러 코드에 대한 신드롬(Syndrome)을 생성한다.
여기서, 해밍 무게란 '0'과 '1'로 구성된 코드 값들의 집합에서 '1'이라는 코드 값의 개수를 의미한다.
그리고, 신드롬 생성부(116)는 하기의 수학식 5에 기초하여 상기 에러 코드에 대한 신드롬을 생성할 수 있다.
Figure pat00012
여기서, e는 해밍 무게가 t인 에러 코드, S는 신드롬을 의미한다.
상기 피드백 요청부(117)는 상기 에러 코드를 관리자 단말(130)에 전송함과 동시에 관리자 단말(130)에 대해 상기 에러 코드가 에러로 삽입된 코드워드(codeword)의 피드백 요청을 전송한다.
이때, 상기 관리자 단말(130)은 메모리 상에 상기 기설정된 생성행렬을 저장하고 있고, 공정 컨트롤러(110)로부터 상기 에러 코드와 상기 피드백 요청이 수신되면, 상기 에러 코드의 해밍 무게가 t인지 여부를 확인하고, 상기 에러 코드의 해밍 무게가 t인 것으로 확인되면, 랜덤 코드를 랜덤하게 생성하고, 상기 메모리 상에 저장되어 있는 상기 기설정된 생성행렬을 기초로 상기 랜덤 코드를 인코딩하여 제1 코드워드를 생성하며, 상기 제1 코드워드에 상기 에러 코드를 에러로 삽입하여 피드백 코드를 생성한 후 상기 피드백 코드를 공정 컨트롤러(110)로 전송할 수 있다.
관련해서, 상기 공정 컨트롤러(110)로부터 수신된 상기 에러 코드를 'e'라고 할 경우, 관리자 단말(130)은 상기 에러 코드 e의 해밍 무게가 t인지 여부를 먼저 확인할 수 있다.
상기 에러 코드 e의 해밍 무게가 t인 것으로 확인되면, 관리자 단말(130)은 상기 에러 코드 e가 공정 컨트롤러(110)로부터 정상적으로 생성되어 전송된 코드인 것으로 확인하고, 소정의 랜덤 코드를 랜덤하게 생성한 후 메모리에 저장되어 있는 상기 기설정된 생성행렬을 기초로 상기 랜덤 코드를 인코딩하여 제1 코드워드를 생성할 수 있다.
관련해서, 상기 기설정된 생성행렬을 k x n 크기의 생성행렬 G라고 하는 경우, 관리자 단말(130)은 k비트의 크기를 갖는 랜덤 코드를 랜덤하게 생성한 후 상기 생성행렬 G를 이용하여 하기의 수학식 6의 연산에 따라 상기 제1 코드워드를 생성할 수 있다.
Figure pat00013
여기서, c는 상기 제1 코드워드, r은 상기 랜덤 코드를 의미한다.
이렇게, 상기 제1 코드워드 c가 생성되면, 관리자 단말(130)은 하기의 수학식 7의 연산에 따라 상기 제1 코드워드 c에 상기 에러 코드 e를 에러로 삽입하여 피드백 코드를 생성할 수 있다.
Figure pat00014
여기서, p는 상기 피드백 코드를 의미한다.
이렇게, 상기 피드백 코드 p가 생성되면, 관리자 단말(130)은 상기 피드백 코드를 공정 컨트롤러(110)로 전송할 수 있다.
이때, 검증용 신드롬 생성부(118)는 관리자 단말(130)로부터 관리자 단말(130)에서 생성된 제1 코드워드(상기 제1 코드워드는 관리자 단말(130)에서 생성된 랜덤 코드가 관리자 단말(130)에 기 저장되어 있는 상기 기설정된 생성행렬을 기초로 인코딩되어 생성된 코드워드임)에 상기 에러 코드가 에러로 삽입된 피드백 코드가 수신되면, 상기 패리티 검사 행렬을 기초로 상기 피드백 코드로부터 검증용 신드롬을 생성한다.
관련해서, 상기 피드백 코드가 상기 수학식 7의 연산에 따라 생성된 p라고 하는 경우, 검증용 신드롬 생성부(118)는 하기의 수학식 8의 연산에 기초하여 상기 검증용 신드롬을 생성할 수 있다.
Figure pat00015
여기서, Sc는 상기 검증용 신드롬을 의미한다.
상기 인증부(119)는 상기 에러 코드에 대한 신드롬과 상기 검증용 신드롬을 비교하여 양 신드롬이 서로 일치하는 것으로 확인되는 경우, 관리자 단말(130)에 대한 인증을 완료한다.
또한, 상기 인증부(119)는 상기 수학식 5에 따라 연산된 상기 에러 코드에 대한 신드롬 S와 상기 수학식 8에 따라 연산된 상기 검증용 신드롬 Sc가 서로 일치하는 것으로 확인되는 경우, 관리자 단말(130)에 대한 인증을 완료할 수 있다.
상기 수학식 5에 따라 연산된 상기 에러 코드에 대한 신드롬 S와 상기 수학식 8에 따라 연산된 상기 검증용 신드롬 Sc가 서로 일치한다는 것은 관리자 단말(130)이 공정 컨트롤러(110)에 저장되어 있는 패리티 검사 행렬에 대응하는 t이하의 오류 정정 능력을 갖춘 생성행렬을 통해 생성된 코드워드에 대해 공정 컨트롤러(110)가 발급한 해밍 무게가 t인 에러 코드를 에러로 삽입하여 생성한 피드백 코드를 공정 컨트롤러(110)로 피드백하였다는 의미로 볼 수 있다.
이에 대해서는 하기의 수학식 9의 연산에 의해 증명할 수 있다.
Figure pat00016
상기 관리자 단말(130)이 공정 컨트롤러(110)에 저장되어 있는 패리티 검사 행렬에 대응하는 t이하의 오류 정정 능력을 갖춘 생성행렬을 통해 코드워드를 생성한 후 상기 생성된 코드워드에 대해 공정 컨트롤러(110)가 발급한 해밍 무게가 t인 에러 코드를 에러로 삽입하여 피드백 코드를 생성하였다고 하는 경우, 상기 검증용 신드롬 Sc는 상기 수학식 9의 연산에 따라
Figure pat00017
로 연산될 것이고,
Figure pat00018
는 상기 수학식 5에서 나타낸 상기 에러 코드에 대한 신드롬 S와 동일해 진다.
이로 인해, 인증부(119)는 상기 수학식 5에 따라 연산된 상기 에러 코드에 대한 신드롬 S와 상기 수학식 8에 따라 연산된 상기 검증용 신드롬 Sc가 서로 일치하는 것으로 확인되는 경우, 관리자 단말(130)이 등록된 정상 서버인 것으로 인증할 수 있다.
이렇게, 관리자 단말(130)에 대한 인증이 완료되면, 전송부(120)는 매니퓰레이터용 로봇 컨트롤러(150)로부터 매니퓰레이터(150)의 상태 정보를 획득하여 관리자 단말(130)로 전송할 수 있다.
도 3을 참조하면, 상기 공정 컨트롤러(110)의 관리자 인증 방법은 다음과 같다.
단계(S210)에서는 관리자 인증에 사용하기 위한 기설정된 상관 계수에 대한 정보가 저장되어 있는 상관 계수 저장부를 유지한다.
단계(S220)에서는 관리자 단말(130)로부터 매니퓰레이터(150)를 제어하기 위한 제1 제어명령이 수신되면, n(n은 2이상의 자연수)개의 랜덤 값들을 랜덤하게 생성하고, 상기 n개의 랜덤 값들을 상기 관리자 단말로 전송하면서, 상기 관리자 단말로 상기 n개의 랜덤 값들에 대응되는 n개의 피드백 값들의 전송을 요청한다.
단계(S230)에서는 상기 관리자 단말로부터 상기 n개의 랜덤 값들에 대응되는 n개의 피드백 값들로 n개의 제1 피드백 값들(상기 n개의 제1 피드백 값들은 상기 n개의 랜덤 값들과의 상관 계수가 상기 관리자 단말에 기 저장되어 있는 상기 기설정된 상관 계수로 연산되도록 생성된 값들임)이 수신되면, 상기 n개의 제1 피드백 값들과 상기 n개의 랜덤 값들 간의 제1 상관 계수를 연산하고, 상기 제1 상관 계수가 상기 기설정된 상관 계수로 연산되는지 확인함으로써, 상기 관리자 단말에 대한 인증을 완료한다.
단계(S240)에서는 상기 관리자 단말에 대한 인증이 완료되면, 상기 제1 제어명령을 기초로 상기 매니퓰레이터의 제어를 수행한 후 상기 관리자 단말로 상기 매니퓰레이터의 제어에 대한 수행 완료 메시지를 전송한다.
이때, 상기 관리자 단말(130)은 상기 기설정된 상관 계수를 메모리 상에 저장하고 있고, 상기 공정 컨트롤러(110)로부터 상기 n개의 랜덤 값들이 수신되면, 상기 n개의 랜덤 값들과의 상관 계수가 상기 메모리 상에 저장되어 있는 상기 기설정된 상관 계수로 연산되는 상기 n개의 제1 피드백 값들을 랜덤하게 생성하여 상기 공정 컨트롤러(110)로 전송할 수 있다.
또한, 단계(S240)에서는 상기 관리자 단말에 대한 인증이 완료되지 않으면, 상기 제1 제어명령을 기초로 상기 매니퓰레이터의 제어를 수행하지 않은 후 상기 관리자 단말로 상기 매니퓰레이터의 제어에 대한 수행 실패 메시지를 전송할 수 있다.
또한, 공정 컨트롤러(110)의 관리자 인증 방법은 관리자 인증에 사용하기 위한 t(t는 자연수임) 비트의 코드에 대한 오류 정정 능력을 갖는 기설정된 생성행렬에 대응되는 패리티 검사 행렬이 저장되어 있는 행렬 저장부를 유지하는 단계, 상기 관리자 단말로부터 상기 매니퓰레이터에 대한 상태 정보 요청이 수신되면, 해밍 무게가 t인 에러 코드를 랜덤하게 생성하고, 상기 에러 코드와 상기 패리티 검사 행렬을 기초로 상기 에러 코드에 대한 신드롬을 생성하는 단계, 상기 에러 코드를 상기 관리자 단말에 전송함과 동시에 상기 관리자 단말에 대해 상기 에러 코드가 에러로 삽입된 코드워드의 피드백 요청을 전송하는 단계, 상기 관리자 단말로부터 상기 관리자 단말에서 생성된 제1 코드워드(상기 제1 코드워드는 상기 관리자 단말에서 생성된 랜덤 코드가 상기 관리자 단말에 기 저장되어 있는 상기 기설정된 생성행렬을 기초로 인코딩되어 생성된 코드워드임)에 상기 에러 코드가 에러로 삽입된 피드백 코드가 수신되면, 상기 패리티 검사 행렬을 기초로 상기 피드백 코드로부터 검증용 신드롬을 생성하는 단계, 상기 에러 코드에 대한 신드롬과 상기 검증용 신드롬을 비교하여 양 신드롬이 서로 일치하는 것으로 확인되는 경우, 상기 관리자 단말에 대한 인증을 완료하는 단계 및 상기 관리자 단말에 대한 인증이 완료되면, 상기 매니퓰레이터용 로봇 컨트롤러로부터 상기 매니퓰레이터의 상태 정보를 획득하여 상기 관리자 단말로 전송하는 단계를 더 포함할 수 있다.
이때, 상기 관리자 단말은 메모리 상에 상기 기설정된 생성행렬을 저장하고 있고, 상기 공정 컨트롤러(110)로부터 상기 에러 코드와 상기 피드백 요청이 수신되면, 상기 에러 코드의 해밍 무게가 t인지 여부를 확인하고, 상기 에러 코드의 해밍 무게가 t인 것으로 확인되면, 상기 랜덤 코드를 랜덤하게 생성하고, 상기 메모리 상에 저장되어 있는 상기 기설정된 생성행렬을 기초로 상기 랜덤 코드를 인코딩하여 상기 제1 코드워드를 생성하며, 상기 제1 코드워드에 상기 에러 코드를 에러로 삽입하여 상기 피드백 코드를 생성한 후 상기 피드백 코드를 공정 컨트롤러(110)로 전송할 수 있다.
이상, 도 3을 참조하여, 공정 컨트롤러(110)의 관리자 인증 방법에 대해 설명하였다. 여기서, 공정 컨트롤러(110)의 관리자 인증 방법은 도 2를 이용하여 설명한 공정 컨트롤러(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명에 따른 공정 컨트롤러(110)의 관리자 인증 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명에 따른 공정 컨트롤러(110)의 관리자 인증 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 공정 컨트롤러(110)
111: 상관 계수 저장부 112: 요청부
113: 인증 확인부 114: 제어부
115: 행렬 저장부 116: 신드롬 생성부
117: 피드백 요청부 118: 검증용 신드롬 생성부
119: 인증부 120: 전송부
130: 관리자 단말 140: 로봇 컨트롤러
150 ; 매니퓰레이터

Claims (1)

  1. 매니퓰레이터의 작동을 제어하는 로봇 컨트롤러와 관리자 단말 사이에 산업용 PLC 기반의 공정 컨트롤러가 배치되고, 공정 컨트롤러에서 제품설정연산, 매니퓰레이터의 동작에 대한 위치연산, 동작순서 연산, 기동 및 정지 판별, 및 안전기준 판별을 수행하고, 관리자 단말에서 공정 컨트롤러로 작업 명령이 입력되면, 공정 컨트롤러가 연산을 통해 로봇 동작 지령을 로봇 컨트롤러로 전달하고, 로봇 컨트롤러가 로봇 동작 지령에 따라 매니퓰레이터의 동작을 제어하며, 매니퓰레이터의 동작에 따른 매니퓰레이터의 센서 신호가 공정 컨트롤러로 입력되어, 공정 컨트롤러가 매니퓰레이터의 동작 완료를 확인한 후, 다음 동작을 연산하고, 연산에 따른 동작 지령을 로봇 컨트롤러로 전달하게 되는 것을 특징으로 하는 산업용 적재로봇 제어 시스템.
KR1020190133362A 2019-10-25 2019-10-25 산업용 적재로봇 제어 시스템 KR20200144038A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190133362A KR20200144038A (ko) 2019-10-25 2019-10-25 산업용 적재로봇 제어 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190133362A KR20200144038A (ko) 2019-10-25 2019-10-25 산업용 적재로봇 제어 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190071859A Division KR102049957B1 (ko) 2019-06-17 2019-06-17 산업용 적재로봇 제어 시스템

Publications (1)

Publication Number Publication Date
KR20200144038A true KR20200144038A (ko) 2020-12-28

Family

ID=74086893

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190133362A KR20200144038A (ko) 2019-10-25 2019-10-25 산업용 적재로봇 제어 시스템

Country Status (1)

Country Link
KR (1) KR20200144038A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230014575A (ko) * 2021-07-21 2023-01-30 (주) 포원시스템 원단 로봇의 그리퍼 시스템 및 그립 제어방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101229911B1 (ko) 2011-05-24 2013-02-05 주식회사 서보산전 로봇 암의 전체 동작을 제어하는 상위 제어기와 로봇암의 다관절 구동용 메인 컨트롤러 간의 통신 방법
KR20170100028A (ko) 2015-02-05 2017-09-01 쿠카 로보테르 게엠베하 적어도 2개의 매니퓰레이터의 협력된 제어를 위한 매니퓰레이터 시스템
KR101798652B1 (ko) 2009-05-29 2017-11-16 쿠카 레보라토리즈 게엠베하 매니퓰레이터를 제어하기 위한 방법 및 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101798652B1 (ko) 2009-05-29 2017-11-16 쿠카 레보라토리즈 게엠베하 매니퓰레이터를 제어하기 위한 방법 및 장치
KR101229911B1 (ko) 2011-05-24 2013-02-05 주식회사 서보산전 로봇 암의 전체 동작을 제어하는 상위 제어기와 로봇암의 다관절 구동용 메인 컨트롤러 간의 통신 방법
KR20170100028A (ko) 2015-02-05 2017-09-01 쿠카 로보테르 게엠베하 적어도 2개의 매니퓰레이터의 협력된 제어를 위한 매니퓰레이터 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230014575A (ko) * 2021-07-21 2023-01-30 (주) 포원시스템 원단 로봇의 그리퍼 시스템 및 그립 제어방법

Similar Documents

Publication Publication Date Title
CN102163047B (zh) 学习控制机器人
US11000949B2 (en) Robot for controlling learning in view of operation in production line, and method of controlling the same
JP5522926B2 (ja) 工作機械の運転方法および装置
CN101088071B (zh) 用于电子设备的安全参数设置的方法和装置
CN102245356B (zh) 用于生产中优化用于组装的机器人的参数的方法和系统
CN109648569B (zh) 一种机器人交互协同方法及装置
CN108572609B (zh) 控制装置、记录媒体以及控制系统
US7027880B2 (en) Safety controller providing rapid recovery of safety program data
KR101132358B1 (ko) 다중 피엘씨 시뮬레이션 시스템
JP2009123209A6 (ja) 工作機械の運転方法および装置
KR102049957B1 (ko) 산업용 적재로봇 제어 시스템
KR102124312B1 (ko) 컨트롤러 및 반송 시스템
JP2022504328A (ja) アドレス障害を検出するためのシステム、方法、及び装置
US10095512B2 (en) Program development support device, non-transitory storage medium storing thereon computer-readable program development support program, and program development support method
US20130053996A1 (en) Method of programming recipe through gui and media recording the same
KR20200144038A (ko) 산업용 적재로봇 제어 시스템
US20200096962A1 (en) Field Device and Method for Parameterizing the Field Device
JP2016505183A5 (ko)
JP2010141654A (ja) フィールド通信システムおよびフィールド通信方法
CN113220345A (zh) 一种指令块的处理方法、装置、设备及存储介质
WO2021005691A1 (ja) 制御装置、プログラム監視方法及びプログラム
WO2020136842A1 (ja) データ収集装置、方法、及びプログラム
TW202414133A (zh) 攜帶型操作裝置、機械系統及攜帶型操作裝置之記憶體控制程式
KR101484911B1 (ko) 안전성을 높인 로봇 제어 시스템 및 방법
CN117331350A (zh) 用于控制过程设施的装置和方法以及过程控制系统

Legal Events

Date Code Title Description
E601 Decision to refuse application