KR20220150700A - 로봇 제어 시스템 - Google Patents
로봇 제어 시스템 Download PDFInfo
- Publication number
- KR20220150700A KR20220150700A KR1020210057997A KR20210057997A KR20220150700A KR 20220150700 A KR20220150700 A KR 20220150700A KR 1020210057997 A KR1020210057997 A KR 1020210057997A KR 20210057997 A KR20210057997 A KR 20210057997A KR 20220150700 A KR20220150700 A KR 20220150700A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- information
- state information
- real
- control
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Manipulator (AREA)
Abstract
본 개시는 로봇 제어 시스템 및 방법에 관한 것으로, 본 개시의 실시 예에 따른 로봇 제어 시스템은 실제 작업 환경 촬영 장치로부터 촬영된 제 1 이미지 데이터 또는 제 1 영상 데이터로부터 실제 작업 환경 내의 실제 로봇이 현재 수행하는 동작에 대한 제 1 상태 정보 및 제 1 제어 정보를 획득하고, 상기 제 1 상태 정보 및 상기 제 1 제어 정보를 전송하는 로봇 제어 모듈 및 상기 제 1 상태 정보 및 상기 제 1 제어 정보를 수신하고, 상기 제 1 상태 정보 및 상기 제 1 제어 정보에 기반하여 구축된 가상 환경 내의 가상 로봇의 시뮬레이션 결과의 상기 가상 로봇이 취하는 후행 동작으로부터 제 2 상태 정보 및 제 2 제어 정보를 획득하는 시뮬레이터 모듈을 포함하되, 상기 시뮬레이터 모듈은 상기 제 2 상태 정보 및 상기 제 2 제어 정보를 상기 로봇 제어 모듈로 전송하고, 상기 로봇 제어 모듈은 상기 제 2 제어 정보에 기반하여 상기 실제 작업 환경의 상기 실제 로봇을 제어하고, 상기 실제 로봇의 제어 결과에 기반하여 상기 실제 로봇의 동작을 촬영한 제 2 이미지 데이터 또는 제 2 영상 데이터로부터 제 3 상태 정보를 획득하고, 상기 제 2 상태 정보 및 상기 제 3 상태 정보를 비교하여 동기 오차를 계산하고, 상기 동기 오차가 허용치를 초과하는 경우, 상기 시뮬레이터 모듈에 상기 실제 작업 환경과 상기 가상 환경 간의 동기화를 요청한다.
Description
본 개시는 로봇 제어 기술에 관한 것으로, 좀 더 상세하게는 가상환경 시뮬레이션을 이용하여 동기화를 수행하는 로봇 제어 시스템에 관한 것이다.
로봇 제어 기술은 인간의 작업 효율 향상 및 작업 안전 보장을 위하여 다방면에 걸쳐 활용되고 있다. 예로서, 로봇 제어 기술은 공장에서 사람의 힘으로 들 수 없는 무거운 물체를 옮기는 작업, 화재 현장에서 사람이 진입할 수 없는 위험 영역에 진입하여 현장을 확인하는 작업 등에 이용될 수 있다. 최근 인공지능 기술의 발전과 더불어 로봇을 보다 효율적으로 활용하기 위하여 인공지능을 로봇에 적용하기 위한 연구가 활발히 이루어지고 있다. 인공지능을 로봇에 적용하기 위하여 수많은 학습 및 테스트의 수행이 요구되나, 실제 작업 환경에서 로봇을 직접 제어하여 수많은 학습 및 테스트를 수행하는 것은 시간, 비용, 안전 등의 측면의 제약을 유발한다.
로봇에 대한 인공지능 적용에 있어서, 실제 작업 환경을 모사한 가상 환경은 상술한 문제점을 극복하기 위한 필수적인 요소이다. 가상 환경 내의 로봇 제어는 실제 작업 속도보다 빠른 속도로 반복적인 동작을 수행할 수 있고, 위험한 작업에 대한 모의 실험을 수행할 수 있다. 가상 환경에서 학습된 로봇의 인공지능을 실제 작업 환경에 적용하는 방식은 학습된 인공지능 모델을 실제 로봇에 직접 탑재하여 실제 작업 환경에 적용하는 방식과 학습된 인공지능 모델을 가상 환경 내 로봇에 탑재하여 가상 환경에서 산출된 제어 정보를 실제 로봇에 전달하여 실제 작업 환경에 적용하는 방식이 있다.
가상 환경에서 산출된 제어 정보를 실제 로봇에 전달하여 실제 작업 환경에 적용하는 방식은 시뮬레이션을 통해 사전에 가상 로봇의 움직임을 계산한 후, 실제 로봇에 적용하므로 실제 로봇의 제어 결과를 미리 예측할 수 있는 장점을 가진다. 예로서, 위험 상황이 예측되는 경우 로봇의 작업을 사전에 중지할 수 있고, 작업의 예상 결과 검토가 필요한 경우 실제 로봇을 제어하기 전에 가상 환경 시뮬레이션을 통해 미리 확인할 수 있다. 상술한 가상 환경에서 산출된 제어 정보를 실제 로봇에 전달하여 실제 작업 환경에 적용하는 방식에 기반한 로봇 제어가 안정적이기 위하여 가상 환경과 실제 작업 환경 사이의 오차가 최소화 되어야한다. 그러나, 실제 작업 환경에는 다양한 외적 요인들이 존재하기 때문에, 가상 환경과의 오차는 필연적으로 발생할 수 밖에 없다.
본 개시는 가상환경 시뮬레이션을 이용하여 실제 작업 환경 및 가상 환경의 동기화를 수행하는 로봇 제어 시스템을 제공하는 것을 목적으로 한다.
본 개시의 실시 예에 따른 로봇 제어 시스템은 실제 작업 환경 촬영 장치로부터 촬영된 제 1 이미지 데이터 또는 제 1 영상 데이터로부터 실제 작업 환경 내의 실제 로봇이 현재 수행하는 동작에 대한 제 1 상태 정보 및 제 1 제어 정보를 획득하고, 상기 제 1 상태 정보 및 상기 제 1 제어 정보를 전송하는 로봇 제어 모듈 및 상기 제 1 상태 정보 및 상기 제 1 제어 정보를 수신하고, 상기 제 1 상태 정보 및 상기 제 1 제어 정보에 기반하여 구축된 가상 환경 내의 가상 로봇의 시뮬레이션 결과의 상기 가상 로봇이 취하는 후행 동작으로부터 제 2 상태 정보 및 제 2 제어 정보를 획득하는 시뮬레이터 모듈을 포함하되, 상기 시뮬레이터 모듈은 상기 제 2 상태 정보 및 상기 제 2 제어 정보를 상기 로봇 제어 모듈로 전송하고, 상기 로봇 제어 모듈은 상기 제 2 제어 정보에 기반하여 상기 실제 작업 환경의 상기 실제 로봇을 제어하고, 상기 실제 로봇의 제어 결과에 기반하여 상기 실제 로봇의 동작을 촬영한 제 2 이미지 데이터 또는 제 2 영상 데이터로부터 제 3 상태 정보를 획득하고, 상기 제 2 상태 정보 및 상기 제 3 상태 정보를 비교하여 동기 오차를 계산하고, 상기 동기 오차가 허용치를 초과하는 경우, 상기 시뮬레이터 모듈에 상기 실제 작업 환경과 상기 가상 환경 간의 동기화를 요청한다.
본 개시에 따른 로봇 제어 시스템에 따르면, 동기화를 통하여 가상 환경과 실제 작업 환경 사이의 오차 발생을 최소화하여 안정적으로 로봇을 제어할 수 있다.
본 개시에 따른 로봇 제어 시스템에 따르면, 동기화를 위하여 최소한의 정보만을 교환하므로 데이터 송수신에 따른 부하를 줄일 수 있다.
도 1은 본 개시의 실시 예에 따른 로봇 제어 시스템을 나타내기 위한 도면이다.
도 2는 본 개시의 실시 예에 따른 로봇 제어 모듈을 나타내기 위한 도면이다.
도 3은 본 개시의 실시 예에 따른 시뮬레이터 모듈을 나타내기 위한 도면이다.
도 4는 본 개시의 실시 예에 따른 로봇 제어 방법을 설명하기 위한 순서도이다.
도 5는 본 개시의 실시 예에 따른 로봇 제어 방법에 있어서, 동기화 과정을 설명하기 위한 순서도이다.
도 6은 본 개시의 실시 예에 따른 로봇 제어 방법에 있어서, 시뮬레이터의 가상 환경 조성 및 가상 환경 시뮬레이션 방식을 설명하기 위한 순서도이다.
도 2는 본 개시의 실시 예에 따른 로봇 제어 모듈을 나타내기 위한 도면이다.
도 3은 본 개시의 실시 예에 따른 시뮬레이터 모듈을 나타내기 위한 도면이다.
도 4는 본 개시의 실시 예에 따른 로봇 제어 방법을 설명하기 위한 순서도이다.
도 5는 본 개시의 실시 예에 따른 로봇 제어 방법에 있어서, 동기화 과정을 설명하기 위한 순서도이다.
도 6은 본 개시의 실시 예에 따른 로봇 제어 방법에 있어서, 시뮬레이터의 가상 환경 조성 및 가상 환경 시뮬레이션 방식을 설명하기 위한 순서도이다.
이하에서, 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 용이하게 실시할 수 있을 정도로, 본 개시의 실시 예들은 명확하고 상세하게 기재될 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며, 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서 사용된 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises) 및/또는 포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자에 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
본 명세서에서 사용되는 "제 1 및/또는 제 2" 등의 용어는 다양한 구성요소들을 설명하기 위하여 사용될 수 있으나, 이는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 목적으로만 사용될 뿐, 해당 용어로 지칭되는 구성요소를 한정하기 위한 것은 아니다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않는 한, 제 1 구성요소는 제 2 구성요소로 명명될 수 있으며, 제 2 구성요소 또한 제 1 구성요소로 명명될 수 있다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 잇는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서, 전문에 걸쳐 동일한 참조 부호는 동일한 구성 요소를 지칭할 수 있다.
도 1은 본 개시의 실시 예에 따른 로봇 제어 시스템(10)을 나타내기 위한 도면이다. 도 1을 참조하면, 본 개시의 실시 예에 따른 로봇 제어 시스템(10)은 실제 작업 환경 촬영 장치(100), 로봇 제어 모듈(200) 및 시뮬레이터 모듈(300)을 포함할 수 있다.
실제 작업 환경 촬영 장치(100)는 실제 작업 환경(500)에서의 실제 로봇의 동작을 촬영할 수 있다. 실제 작업 환경 촬영 장치(100)는 실제 작업 환경(500)에 대한 이미지 또는 영상 데이터를 로봇 제어 모듈(200)로 전송할 수 있다.
로봇 제어 모듈(200)은 실제 작업 환경(500)에 대한 이미지 또는 영상 데이터를 이용하여, 실제 로봇의 상태 정보 및 제어 정보를 획득할 수 있다. 또한, 로봇 제어 모듈(200)은 획득한 실제 로봇의 상태 정보 및 제어 정보를 시뮬레이터 모듈(300)로 전송할 수 있다. 로봇 제어 모듈(200)은 시뮬레이터 모듈(300)로부터 획득한 가상 환경(400)에서의 작업 시뮬레이션 결과에 기반하여 획득된 가상 로봇의 상태 정보 및 제어 정보를 수신할 수 있다. 로봇 제어 모듈(200)은 가상 로봇의 상태 정보 및 제어 정보에 기반하여 실제 작업 환경(500)의 실제 로봇을 제어할 수 있다. 로봇 제어 모듈(200)에 대한 구체적인 구성 요소 및 동작에 대하여는 후술할 도 2를 통하여 상세히 설명할 것이다.
시뮬레이터 모듈(300)은 로봇 제어 모듈(200)로부터 획득한 실제 로봇의 상태 정보 및 제어 정보에 기반하여 가상 환경(400)에서의 가상 로봇을 제어할 수 있다. 시뮬레이터 모듈(300)은 가상 환경(400)에서의 가상 로봇 제어 결과로부터 가상 로봇의 상태 정보 및 제어 정보를 획득할 수 있다. 또한, 시뮬레이터 모듈(300)은 실제 로봇의 상태 정보 및 제어 정보, 가상 로봇의 상태 정보 및 제어 정보를 이용하여 가상 환경(400)과 실제 작업 환경(500)을 동기화를 수행할 수 있다. 시뮬레이터 모듈(300)은 동기화에 의하여 획득된 정보에 기반하여 가상 환경(400)을 업데이트할 수 있다. 시뮬레이터 모듈(300)에 대한 구체적인 구성 요소 및 동작에 대하여는 후술할 도 3을 통하여 상세히 설명할 것이다.
본 개시의 실시 예에 따른 로봇 제어 시스템(10)은 가상 환경(400)과 실제 작업 환경(500)을 동기화를 통하여 가상 환경(400)에서 구동되는 가상 로봇의 시뮬레이션 결과와 실제 작업 환경(500)에서의 실제 로봇의 구동 결과 사이의 오차 발생을 최소화할 수 있다. 또한, 로봇 제어 시스템(10)은 동기화 결과에 기반하여 가상 환경(400)을 구축 및 업데이트하여 가상 환경(400)에서 구동되는 가상 로봇의 시뮬레이션 결과와 실제 작업 환경(500)에서의 실제 로봇의 구동 결과 사이의 오차 발생을 줄일 수 있다. 오차 발생이 줄어들수록, 실제 작업 환경(500)에서의 실제 로봇은 안정적으로 제어될 수 있다. 또한, 본 개시의 실시 예에 따른 로봇 제어 시스템(10)은 동기화를 위한 최소한의 정보만을 교환하므로 데이터 송수신에 따른 부하를 줄일 수 있다.
도 2는 본 개시의 실시 예에 따른 로봇 제어 모듈(200)을 나타내기 위한 도면이다. 로봇 제어 모듈(200)은 센서부(210), 인지부(220), 제어부(230), 정보 저장소(240), 동기 관리부(250) 및 통신부(260)를 포함할 수 있다.
센서부(210)는 실제 작업 환경 촬영 장치(100)로부터 획득된 실제 작업 환경(500)의 이미지 또는 영상에 기반하여 실제 작업 환경(500)에 대한 정보를 센싱할 수 있다. 센서부(210)에 의하여 센싱된 실제 작업 환경(500)에 대한 정보는 인지부(220)로 전송될 수 있다.
인지부(220)는 센서부(210)로부터 수신한 실제 작업 환경(500)에 대한 정보를 가공하고, 이로부터 실제 로봇 및 가상 로봇 제어에 필요한 정보를 추출할 수 있다. 예로서, 추출된 정보는 실제 작업 환경(500)의 상태 정보, 실제 로봇의 제어 정보를 포함할 수 있다. 실제 작업 환경(500)의 상태 정보는 실제 작업 환경(500) 내에 있는 물체 정보 및 실제 로봇의 자세 정보를 포함할 수 있다. 예로서, 물체 정보는 물체의 크기, 물체의 위치, 물체의 이동 방향, 물체의 색상, 물체의 종류 등을 포함할 수 있다. 예로서, 실제 로봇의 자세 정보는 실제 로봇을 구성하는 관절의 회전 각도, 실제 로봇을 구성하는 관절의 회전 각속도, 실제 로봇의 그리퍼의 위치, 실제 로봇의 이동 방향 등을 포함할 수 있다. 인지부(220)에서 추출된 실제 작업 환경(500)에 대한 정보는 정보 저장소(240)에 전송될 수 있다.
제어부(230)는 실제 작업 환경(500) 내의 실제 로봇의 움직임을 제어할 수 있다. 실제 로봇의 움직임은 시뮬레이터 모듈(300, 도 1 참조)로부터 획득한 제어 정보에 기반하여 제어될 수 있다. 제어 정보는 가상 환경(400, 도 1 참조) 내의 가상 로봇으로부터 획득될 수 있으며, 제어 정보의 획득 방식은 후술할 도 3에서 상세히 설명될 것이다.
정보 저장소(240)는 인지부(220)에서 추출된 실제 작업 환경(500)에 대한 정보를 저장할 수 있다. 또한, 정보 저장소(240)는 시뮬레이터 모듈(300)로부터 획득한 가상 환경(400)의 상태 정보 및 제어 정보를 전달받아 저장할 수 있다.
동기 관리부(250)는 실제 작업 환경(500)과 가상 환경(400)의 동기화를 제어할 수 있다. 동기 관리부(250)는 실제 작업 환경(500)으부터 획득된 실제 상태 정보 및 실제 제어 정보와 가상 환경(400)으로부터 획득된 가상 상태 정보 및 가상 제어 정보 간의 동기 오차를 계산할 수 있다. 예로서, 동기 오차는 실제 작업 환경(500) 내의 물체 정보와 가상 환경(400) 내의 물체 정보 간의 불일치 정도, 실제 작업 환경(500) 내의 로봇 자세 정보와 가상 환경(400) 내의 로봇 자세 정보 간의 불일치 정도 등을 포함할 수 있다. 동기 관리부(250)는 동기 오차가 허용치를 초과하는 경우, 시뮬레이터 모듈(300)에 동기화를 요청할 수 있다.
통신부(260)는 실제 작업 환경(500)으로부터 획득된 실제 작업 환경(500)의 상태 정보 및 제어 정보를 시뮬레이터 모듈(300)에 전송할 수 있다. 또한, 통신부(260)는 시뮬레이터 모듈(300)로부터 가상 환경(400)의 상태 정보 및 제어 정보를 수신할 수 있다. 통신부(260)는 실제 작업 환경(500)으부터 획득된 실제 상태 정보 및 실제 제어 정보와 가상 환경(400)으로부터 획득된 가상 상태 정보 및 가상 제어 정보 간의 동기 오차를 계산 결과에 기반하여 동기화 요청을 시뮬레이터 모듈(300)에 전송할 수 있다.
도 3은 본 개시의 실시 예에 따른 시뮬레이터 모듈(300)을 나타내기 위한 도면이다. 도 3을 참조하면, 시뮬레이터 모듈(300)은 가상 환경 물리 엔진(310), 제어부(320), 행동모델(330), 정보 저장부(340) 및 통신부(350)를 포함할 수 있다.
가상 환경 물리 엔진(310)은 실제 작업 환경(500, 도 1 참조)을 모사한 가상 환경(400, 도 1 참조)를 구현할 수 있다. 가상 환경 물리 엔진(310)은 로봇 제어 모듈(200, 도 1 참조)로부터 획득한 실제 작업 환경(500)의 이미지 또는 영상 정보를 활용하여 가상 환경(400)을 구축할 수 있다. 가상 환경(400)은 실제 작업 환경(500)의 환경 정보, 물체 정보, 실제 로봇 정보 등에 기반한 가상 작업 환경, 가상 물체, 가상 로봇 등을 포함할 수 있다.
제어부(320)는 가상 환경(400) 내의 가상 로봇의 움직임을 제어할 수 있다. 가상 로봇의 움직임은 로봇 제어 모듈(200)로부터 획득한 상태 정보 및 제어 정보에 기반하여 제어될 수 있다.
행동모델(330)은 가상 로봇의 움직임에 기반하여 실제 작업 환경(500) 내의 실제 로봇에 대한 다음 제어 정보를 생성할 수 있다. 다음 제어 정보는 가상 환경(400) 내의 가상 로봇으로부터 최적의 작업 결과를 도출할 수 있도록 구현될 수 있다.
정보 저장소(340)는 가상 환경(400)으로부터 획득된 상태 정보 및 제어 정보를 저장할 수 있다. 또한, 정보 저장소(340)는 로봇 제어 모듈(200)으로부터 획득된 실제 작업 환경(500)의 상태 정보 및 제어 정보를 저장할 수 있다.
통신부(350)는 가상 환경(400)으로부터 획득된 가상 환경(400)의 상태 정보 및 제어 정보를 로봇 제어 모듈(200)에 전송할 수 있다. 또한, 통신부(350)는 로봇 제어 모듈(200)로부터 실제 작업 환경(500)의 상태 정보 및 제어 정보를 수신할 수 있다. 통신부(350)는 로봇 제어 모듈(200)로부터 실제 작업 환경(500)으부터 획득된 실제 상태 정보 및 실제 제어 정보와 가상 환경(400)으로부터 획득된 가상 상태 정보 및 가상 제어 정보 간의 동기 오차 계산 결과에 기반한 동기화 요청을 수신할 수 있다.
도 4는 본 개시의 실시 예에 따른 로봇 제어 방법을 설명하기 위한 순서도이다.
S110 단계에서, 본 개시의 실시 예에 따른 로봇 제어 시스템(10, 도 1 참조)의 로봇 제어 모듈(200, 도 1 참조)은 실제 작업 환경 촬영 장치(100, 도 1 참조)로부터 획득된 이미지 또는 영상 정보에 기반하여 제 1 상태 정보 및 제 1 제어 정보를 센싱할 수 있다. 제 1 상태 정보 및 제 1 제어 정보는 실제 작업 환경(500, 도 1 참조)의 실제 로봇이 현재 수행하는 동작에 대한 상태 정보 및 제어 정보를 의미한다. 로봇 제어 모듈(200)은 제 1 상태 정보 및 제 1 제어 정보를 저장하고, 시뮬레이터 모듈(300, 도 1 참조)로 제 1 상태 정보 및 제 1 제어 정보를 전송할 수 있다. 시뮬레이터 모듈(300)은 제 1 상태 정보 및 제 1 제어 정보를 수신하고, 이에 기반하여 가상 환경(400, 도 1 참조)을 구축하고, 가상 환경(400)의 가상 로봇에 대한 제어 동작을 수행할 수 있다.
S120 단계에서, 본 개시의 실시 예에 따른 로봇 제어 시스템(10)의 시뮬레이터 모듈(300)은 제 2 상태 정보 및 제 2 제어 정보를 생성할 수 있다. 제 2 상태 정보 및 제 2 제어 정보는 가상 환경(400)에서의 가상 로봇이 현재 수행하는 동작을 시뮬레이션 하여 도출되는 가상 로봇의 다음 동작에 대한 상태 정보 및 제어 정보를 의미한다. 시뮬레이터 모듈(300)은 생성된 제 2 상태 정보 및 제 2 제어 정보를 로봇 제어 모듈(200)로 전송할 수 있다. 로봇 제어 모듈(200)은 시뮬레이터 모듈(300)로부터 수신된 제 2 상태 정보 미 제 2 제어 정보를 저장할 수 있다.
S130 단계에서, 로봇 제어 모듈(200)은 시뮬레이터 모듈(300)로부터 수신된 제 2 제어 정보에 기반하여 실제 작업 환경(500)의 실제 로봇을 제어할 수 있다. 또한, 로봇 제어 모듈(200)은 실제 작업 환경(500)의 실제 로봇으로부터 제 3 상태 정보를 센싱할 수 있다. 제 3 상태 정보는 실제 작업 환경 촬영 장치(100)로부터 제 2 제어 정보에 기반하여 제어되는 실제 로봇의 상태 정보를 의미한다. 로봇 제어 모듈(200)은 제 2 상태 정보 및 센싱된 제 3 상태 정보를 이용하여 동기 오차를 계산할 수 있다. 로봇 제어 모듈(200)은 동기 오차가 허용치를 초과하는 경우, 시뮬레이터 모듈(300)에 동기화를 요청할 수 있다.
S140 단계에서, 시뮬레이터 모듈(300)은 로봇 제어 모듈(200)로부터 수신된 동기화 요청에 응답하여 실제 작업 환경(500)과 가상 환경(400)의 동기화 동작을 수행할 수 있다. 시뮬레이터 모듈(300)의 동기화 동작은 후술할 도 5에서 상세히 설명될 것이다.
S150 단계에서, 시뮬레이터 모듈(300)은 S140 단계에서 수행된 동기화 동작으로부터 획득된 동기화 정보에 기반하여 가상 환경(400)을 업데이트할 수 있다. 시뮬레이터 모듈(300)에 의항 가상 환경(400) 업데이트 동작은 후술할 도 6에서 상세히 설명될 것이다.
도 5는 본 개시의 실시 예에 따른 로봇 제어 방법에 있어서, 동기화 과정을 설명하기 위한 순서도이다. 도 5에 개시된 각 단계들은 상술한 도 4에서 설명한 로봇 제어 방법의 각 단계와 중복될 수 있으며, 본 개시의 실시 예에서 중복된 각 단계들은 명확한 동작 설명을 위한 것일 뿐, 중첩하여 수행되는 것은 아니다.
S210 단계에서, 로봇 제어 시스템(10, 도 1 참조)의 로봇 제어 모듈(200, 도 1 참조)은 제 1 상태 정보 및 제 1 제어 정보를 저장하고, 시뮬레이터 모듈(300, 도 1 참조)로 제 1 상태 정보 및 제 1 제어 정보를 전달할 수 있다. 제 1 상태 정보 및 제 1 제어 정보는 실제 작업 환경 촬영 장치(100, 도 1 참조)로부터 획득된 실제 작업 환경(500, 도 1 참조)의 이미지 또는 영상 정보에 기반하여 센싱된 상태 정보 및 제어 정보를 의미한다.
S220 단계에서, 시뮬레이터 모듈(300)은 제 1 상태 정보 및 제 1 제어 정보에 기반하여 제 2 상태 정보 및 제 2 제어 정보를 생성하고, 로봇 제어 모듈(200)로 제 2 상태 정보 및 제 2 제어 정보를 전달할 수 있다. 제 2 상태 정보 및 제 2 제어 정보는 가상 환경(400, 도 1 참조) 내의 가상 로봇에 대한 시뮬레이션 결과에 기반하여 획득된 가상 로봇의 다음 동작에 대한 상태 정보 및 제어 정보를 의미한다.
S230 단계에서, 로봇 제어 모듈(200)은 제 2 제어 정보에 기반하여, 실제 작업 환경(500)의 실제 로봇의 동작을 제어하고, 실제 작업 환경 촬영 장치(100)를 통하여 실제 로봇의 동작에 기반한 제 3 상태 정보를 센싱할 수 있다. 센싱된 제 3 상태 정보는 로봇 제어 모듈(200)에 저장될 수 있다.
S240 단계에서, 로봇 제어 모듈(200)은 제 2 상태 정보와 제 3 상태 정보를 비교하여 동기 오차를 계산할 수 있다. 동기 오차는 가상 환경(400)에서 구현된 가상 로봇의 동작과 실제 작업 환경(500)에서 구현된 실제 로봇의 동작의 오차를 의미한다. 동기 오차는 실제 작업 환경(500) 내의 물체 정보와 가상 환경(400) 내의 물체 정보 간의 불일치 정도, 실제 작업 환경(500) 내의 로봇 자세 정보와 가상 환경(400) 내의 로봇 자세 정보 간의 불일치 정도 등을 포함할 수 있다.
S250 단계에서, 로봇 제어 모듈(200)은 S240 단계에서 계산된 동기 오차가 허용치 이하인지 여부를 판단할 수 있다. 허용치는 본 개시의 실시 예에 따른 로봇 제어 시스템(10)의 사용자에 의하여 미리 설정된 수치 또는 시스템 설계시 미리 설정된 수치일 수 있다. 동기 오차가 허용치 이하인 경우, 절차는 S260 단계로 진행할 수 있다. 동기 오차가 허용치를 초과하는 경우, 절차는 S220 단계로 회귀하여 가상 환경(400)으로부터 새로운 상태 정보 및 제어 정보를 획득할 수 있다.
S260 단계에서, 로봇 제어 모듈(200)은 실제 작업 환경(500)의 작업 완료 여부를 판단할 수 있다. 실제 작업 환경(500)에서 작업이 완료되지 않은 것으로 판단된 경우, 절차는 S230 단계로 회귀하여 실제 작업 환경(500)의 실제 로봇에 대한 새로운 상태 정보를 센싱할 수 있다. 실제 작업 환경(500)에서 작업이 완료된 것으로 판단된 경우, 절차는 S270 단계로 진행할 수 있다.
S270 단계에서, 로봇 제어 모듈(200)은 작업 완료 메시지를 시뮬레이터 모듈(300)에 전달할 수 있다. 로봇 제어 모듈(200)이 작업 완료 메시지를 시뮬레이터 모듈(300)에 전달하면, 로봇 제어 방법의 동기화 동작은 종료된다.
도 6은 본 개시의 실시 예에 따른 로봇 제어 방법에 있어서, 시뮬레이터의 가상 환경 조성 및 가상 환경 시뮬레이션 방식을 설명하기 위한 순서도이다. 도 6에 개시된 각 단계들은 상술한 도 4 및 도 5에서 설명한 로봇 제어 방법의 각 단계와 중복될 수 있으며, 본 개시의 실시 예에서 중복된 각 단계들은 명확한 동작 설명을 위한 것일 뿐, 중첩하여 수행되는 것은 아니다.
S310 단계에서, 로봇 제어 시스템(10, 도 1 참조)의 시뮬레이터 모듈(300, 도 1 참조)은 로봇 제어 모듈(200)로부터 획득된 제 1 상태 정보 및 제 1 제어 정보에 기반하여 가상 환경(400, 도 1 참조)을 구축하거나 업데이트할 수 있다. 제 1 상태 정보 및 제 1 제어 정보는 실제 작업 환경 촬영 장치(100, 도 1 참조)로부터 획득된 실제 작업 환경(500, 도 1 참조)의 이미지 또는 영상 정보에 기반하여 센싱된 상태 정보 및 제어 정보를 의미한다.
S320 단계에서, 시뮬레이터 모듈(300)은 제 1 상태 정보 및 제 1 제어 정보에 기반하여 구축된 가상 환경(400) 내의 가상 로봇을 제어하고, 제 2 상태 정보 및 제 2 제어 정보를 생성할 수 있다. 제 2 상태 정보 및 제 2 제어 정보는 가상 환경(400, 도 1 참조) 내의 가상 로봇에 대한 시뮬레이션 결과에 기반하여 획득된 가상 로봇의 다음 동작에 대한 상태 정보 및 제어 정보를 의미한다.
S330 단계에서, 시뮬레이터 모듈(300)은 제 2 상태 정보 및 제 2 제어 정보를 로봇 제어 모듈(200)에 전달할 수 있다. 로봇 제어 모듈(200)은 제 2 상태 정보 및 제 2 제어 정보를 저장하고, 제 2 제어 정보에 기반하여 실제 작업 환경(500) 내의 실제 로봇을 제어할 수 있다.
S340 단계에서, 로봇 제어 모듈(200)은 S330 단계에서 실제 로봇을 제어한 후, 제 3 상태 정보가 수신되었는지 여부를 판단할 수 있다. 제 3 상태 정보는 실제 작업 환경(500) 내의 실제 로봇이 제 2 제어 정보에 기반하여 제어된 후의 상태 정보를 의미한다. 제 3 상태 정보가 수신되지 않은 경우, 절차는 S310 단계로 회귀할 수 있다. 제 3 상태 정보가 수신된 경우 절차는 S350 단계로 진행할 수 있다.
S350 단계에서, 시뮬레이터 모듈(300)은 상술한 도 5의 S270 단계에서 로봇 제어 모듈(200)이 전송한 작업 완료 메시지의 수신 여부를 판단할 수 있다. 작업 완료 메시지가 수신되지 않은 경우, 절차는 S320 단계로 회귀할 수 있다. 작업 완료 메시지가 수신된 경우, 가상 환경(400)의 업데이트 절차는 종료될 수 있다.
상술된 내용은 본 개시를 실시하기 위한 구체적인 실시 예들이다. 본 개시는 상술된 실시 예들 뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 개시는 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 개시의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며, 후술하는 특허청구범위뿐만 아니라 본 개시의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
10 : 로봇 제어 시스템
100 : 실제 작업 환경 촬영 장치
200 : 로봇 제어 모듈
300 : 시뮬레이터 모듈
400 : 가상 환경
500 : 실제 작업 환경
100 : 실제 작업 환경 촬영 장치
200 : 로봇 제어 모듈
300 : 시뮬레이터 모듈
400 : 가상 환경
500 : 실제 작업 환경
Claims (1)
- 실제 작업 환경 촬영 장치로부터 촬영된 제 1 이미지 데이터 또는 제 1 영상 데이터로부터 실제 작업 환경 내의 실제 로봇이 현재 수행하는 동작에 대한 제 1 상태 정보 및 제 1 제어 정보를 획득하고, 상기 제 1 상태 정보 및 상기 제 1 제어 정보를 전송하는 로봇 제어 모듈; 및
상기 제 1 상태 정보 및 상기 제 1 제어 정보를 수신하고, 상기 제 1 상태 정보 및 상기 제 1 제어 정보에 기반하여 구축된 가상 환경 내의 가상 로봇의 시뮬레이션 결과의 상기 가상 로봇이 취하는 후행 동작으로부터 제 2 상태 정보 및 제 2 제어 정보를 획득하는 시뮬레이터 모듈을 포함하되,
상기 시뮬레이터 모듈은 상기 제 2 상태 정보 및 상기 제 2 제어 정보를 상기 로봇 제어 모듈로 전송하고,
상기 로봇 제어 모듈은:
상기 제 2 제어 정보에 기반하여 상기 실제 작업 환경의 상기 실제 로봇을 제어하고,
상기 실제 로봇의 제어 결과에 기반하여 상기 실제 로봇의 동작을 촬영한 제 2 이미지 데이터 또는 제 2 영상 데이터로부터 제 3 상태 정보를 획득하고,
상기 제 2 상태 정보 및 상기 제 3 상태 정보를 비교하여 동기 오차를 계산하고,
상기 동기 오차가 허용치를 초과하는 경우, 상기 시뮬레이터 모듈에 상기 실제 작업 환경과 상기 가상 환경 간의 동기화를 요청하는 로봇 제어 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210057997A KR20220150700A (ko) | 2021-05-04 | 2021-05-04 | 로봇 제어 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210057997A KR20220150700A (ko) | 2021-05-04 | 2021-05-04 | 로봇 제어 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220150700A true KR20220150700A (ko) | 2022-11-11 |
Family
ID=84042940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210057997A KR20220150700A (ko) | 2021-05-04 | 2021-05-04 | 로봇 제어 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220150700A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024111687A1 (ko) * | 2022-11-22 | 2024-05-30 | 엘지전자 주식회사 | 로봇 가상 검증 방법 및 이를 위한 시스템 |
-
2021
- 2021-05-04 KR KR1020210057997A patent/KR20220150700A/ko unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024111687A1 (ko) * | 2022-11-22 | 2024-05-30 | 엘지전자 주식회사 | 로봇 가상 검증 방법 및 이를 위한 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7326911B2 (ja) | 制御システムおよび制御方法 | |
CN114912287B (zh) | 基于目标6d位姿估计的机器人自主抓取仿真系统及方法 | |
JP6671694B1 (ja) | 機械学習装置、機械学習システム、データ処理システム及び機械学習方法 | |
JPH06344279A (ja) | 遠隔作業装置及び方法 | |
CN111590567B (zh) | 一种基于Omega手柄的空间机械臂遥操作规划方法 | |
KR20220150700A (ko) | 로봇 제어 시스템 | |
CN114952821A (zh) | 机器人运动控制方法、机器人及系统 | |
Bjerkeng et al. | Active camera control with obstacle avoidance for remote operations with industrial manipulators: Implementation and experimental results | |
KR102355021B1 (ko) | 가상 환경에서 학습된 지능형 에이전트를 이용하여 실제 사물의 움직임을 제어하는 방법 및 장치 | |
Phillips-Grafflin et al. | Toward a user-guided manipulation framework for high-DOF robots with limited communication | |
Cheng et al. | Haptic teleoperation of high-dimensional robotic systems using a feedback mpc framework | |
García et al. | Design and modeling of the multi-agent robotic system: SMART | |
CN114114902A (zh) | 机器控制装置 | |
CN112060088A (zh) | 一种变时延条件下非合作目标精确抓捕遥操作方法 | |
Zainan et al. | Virtual reality-based teleoperation with robustness against modeling errors | |
Gong et al. | Naturally teaching a humanoid Tri-Co robot in a real-time scenario using first person view | |
Cervantes et al. | Vision-based PID control of planar robots | |
KR20220065232A (ko) | 강화학습 기반으로 로봇을 제어하는 장치 및 방법 | |
JP4569653B2 (ja) | ロボット制御装置、ロボット制御方法及びロボット制御プログラム | |
Zhijiang et al. | Virtual reality-based telesurgery via teleprogramming scheme combined with semi-autonomous control | |
JP4121587B2 (ja) | ロボットシミュレーション装置 | |
Lee et al. | A probabilistic motion control approach for teleoperated construction machinery | |
CN116214500A (zh) | 机器人关节控制方法、关节、装置、设备和存储介质 | |
CN114083545B (zh) | 一种基于视觉感知的运动物体机器人抓取方法及装置 | |
Hamed et al. | Vision-Based Control of a Quad-rotor Manipulation System |