KR100756345B1 - Robot simulation system using the network - Google Patents

Robot simulation system using the network Download PDF

Info

Publication number
KR100756345B1
KR100756345B1 KR1020060121131A KR20060121131A KR100756345B1 KR 100756345 B1 KR100756345 B1 KR 100756345B1 KR 1020060121131 A KR1020060121131 A KR 1020060121131A KR 20060121131 A KR20060121131 A KR 20060121131A KR 100756345 B1 KR100756345 B1 KR 100756345B1
Authority
KR
South Korea
Prior art keywords
simulation
robot
server
network
client
Prior art date
Application number
KR1020060121131A
Other languages
Korean (ko)
Inventor
장경석
이상엽
Original Assignee
(주)시뮬레이션연구소
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)시뮬레이션연구소 filed Critical (주)시뮬레이션연구소
Priority to KR1020060121131A priority Critical patent/KR100756345B1/en
Priority to PCT/KR2007/000578 priority patent/WO2008069366A1/en
Application granted granted Critical
Publication of KR100756345B1 publication Critical patent/KR100756345B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Geometry (AREA)
  • Manipulator (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A system for simulating a robot in the network is provided to enable a plurality of researchers to discuss or exchange opinion for a simulation result while viewing the simulation result at the same time by performing kinetic simulation in a network server and providing the simulation result through the Internet or the P2P(Peer to Peer) network. A simulation server(112) stores joint/sensor information of a robot, and performs simulation based on kinetics by receiving a 3D(Dimensional) model from a simulation client(200). A virtual-lab server(102) transmits an accessible simulation server list to the simulation client and authenticates/selectively connects the simulation client to the simulation server. A control server(108) transmits and registers information for sites including the simulation server to the virtual-lab server. An activator(110) starts operation of the simulation server if a simulation start command received from the simulation client connected to the virtual-lab server is transmitted through the control server, and stops the operation of the simulation server if the simulation client is disconnected.

Description

네트워크를 이용한 로봇 시뮬레이션 시스템{ROBOT SIMULATION SYSTEM USING THE NETWORK}Robot simulation system using network {ROBOT SIMULATION SYSTEM USING THE NETWORK}

도 1은 본 발명의 실시예에 따른 시뮬레이션 시스템의 연결상태를 나타낸 구성도.1 is a block diagram showing a connection state of the simulation system according to an embodiment of the present invention.

도 2는 시뮬레이션 클라이언트의 구성요소를 나타낸 구성도.2 is a block diagram showing components of a simulation client.

도 3은 동역학 시뮬레이션의 진행순서를 나타낸 순서도.3 is a flowchart showing the procedure of dynamics simulation.

도 4는 시뮬레이션 클라이언트의 사용자 인터페이스를 나타낸 구성도.4 is a configuration diagram illustrating a user interface of a simulation client.

본 발명은 네트워크를 이용한 로봇 시뮬레이션 시스템에 관한 것으로서, 보다 상세하게는 사용자 단말기에서 실행되는 로봇 모션 제어 알고리듬을 이용하여 네트워크 서버상에서 동역학 시뮬레이션을 수행하고, 그 결과 데이터를 인터넷과 같은 네트워크를 통해 다수의 사용자 단말기에 전송하여 출력함으로써, 다수의 사용자가 하나의 로봇의 시뮬레이션 결과를 동시에 모니터할 수 있도록 하는 네트워크를 이용한 로봇 시뮬레이션 시스템에 관한 것이다.The present invention relates to a robot simulation system using a network, and more particularly, to perform a dynamic simulation on a network server using a robot motion control algorithm executed in a user terminal, and as a result, a plurality of data are transmitted through a network such as the Internet. The present invention relates to a robot simulation system using a network that transmits to a user terminal and outputs a plurality of users to simultaneously monitor simulation results of one robot.

로봇은 여러 종류로 구분되지만 대표적인 것으로는 바퀴나 이동수단이 구비 되어 물건을 나르거나 청소를 하는 등의 정해진 간단한 작업을 하는 모바일 로봇, 하나 이상의 팔(암)을 움직이면서 부품을 이송하거나 용접 작업 등을 하는 산업용 로봇, 인체의 구조와 유사한 형태로 구성되어 사람의 행동과 비슷한 행동을 할 수 있는 휴머노이드 로봇 등이 있다.Robots are divided into various types, but typical ones are mobile robots that are equipped with wheels or moving means to carry out simple tasks such as carrying or cleaning objects, and moving parts or welding by moving one or more arms (arms). There are industrial robots, humanoid robots that can be configured similar to the structure of the human body and can behave similar to human behavior.

이외에도 개나 말과 같이 네 개의 다리로 구성되어 4족 보행을 하면서 화물운반이나 전투, 인명구조 작업 등을 하는 견마형 로봇도 개시되고 있는데, 본 발명에서 로봇이라 함은 이러한 모바일 로봇, 산업용 로봇, 휴머노이드 로봇, 견마형 로봇 등을 모두 통칭하는 의미로 사용된다.In addition, a dog-type robot, which consists of four legs such as dogs and horses, carries a four-legged walk and performs cargo transportation, combat, and life-saving work, and the present invention refers to such a mobile robot, industrial robot, and humanoid. It is used to mean robots and dog-like robots.

하나의 로봇을 개발하기 위해서는 로봇을 구성하는 하드웨어와, 이를 제어하는 소프트웨어를 동시에 구현하여야 하며, 하드웨어적으로 구현된 로봇을 제어하는 소프트웨어에 에러가 있거나 실제 하드웨어의 구조와 부합하지 않을 때에는 하드웨어 또는 소프트웨어를 다시 설계하여야 한다.In order to develop a robot, the hardware constituting the robot and the software for controlling the robot must be implemented at the same time. When there is an error in the software for controlling the robot implemented in hardware or does not match the structure of the actual hardware, the hardware or software Should be redesigned.

그러나 간단한 로봇이라 할지라도 다수의 모터와 센서, 관절, 컴퓨터 등으로 이루어지므로, 제작이 완료된 상태에서 다시 구성요소를 변경하는 것은 시간적인 측면이나 비용적인 측면에서 큰 손실을 가져올 수 있다. 또한 로봇을 완성하기 전에는 로봇의 동작이나 구조에 어떠한 문제가 있는지를 정확하게 파악할 수 없으므로, 여러 번의 시행착오를 거쳐야만 정확한 로봇을 제작할 수 있었다.However, even a simple robot is made up of many motors, sensors, joints, computers, etc., and thus, changing components again in the state of completion of production can cause a great loss in time and cost. In addition, before completing the robot, it is impossible to know exactly what is wrong with the operation or structure of the robot, so it was possible to produce an accurate robot only after several trials and errors.

이러한 불편함을 제거하기 위하여 실제 로봇을 제작하기 전에 소프트웨어상에서 가상 로봇을 제작하고, 이를 3차원적으로 시뮬레이션하면서 실제의 동작과 비교할 수 있는 도구들이 개시되고 있다.In order to eliminate such inconvenience, tools are disclosed that can produce a virtual robot in software and simulate it in three dimensions before producing the actual robot and compare it with the actual motion.

이러한 시뮬레이션 도구들은 로봇을 설계하는 연구자의 로컬 시스템 내에 로봇의 설계 데이터를 저장하고, 소프트웨어상에서 가상으로 동작을 하면서 문제점이 있는지를 파악하게 된다.These simulation tools store the robot's design data in the researcher's local system and work virtually in software to identify any problems.

그러나 종래기술에 따른 시뮬레이션 도구들은 로봇을 설계하고 제작하기 위하여 참가하는 다수의 연구자들이 각자의 로컬 시스템에서 별개로 로봇을 시뮬레이션할 수 있을 뿐, 다수의 연구자가 하나의 시뮬레이션 결과를 동시에 보면서 의견을 나누거나 로봇의 설정이나 시뮬레이션 조건을 변경할 수 있는 인터페이스를 제공하지는 못하고 있었다.However, according to the conventional simulation tools, many researchers participating in designing and building a robot can simulate the robot separately in their own local systems, and many researchers share opinions by simultaneously viewing a single simulation result. It did not provide an interface to change the robot's settings or simulation conditions.

또한 대학교나 학원에서 로봇 설계와 시뮬레이션에 대하여 강의를 하는 경우, 교수나 강사가 자신의 단말기에서 시뮬레이션을 실행하면서 진행상태와 시뮬레이션 결과를 다수의 수강생에게 전달하거나, 반대로 다수의 수강생들의 단말기에서 이루어지는 시뮬레이션 결과를 교수의 단말기로 전송하여 출력함으로써 수강생에 대한 평가나 채점이 이루어질 수 있도록 하기 위해서는 네트워크를 통한 데이터 공유 시스템이 구축되어 있어야 하지만, 기존의 기술들은 이러한 요구를 충족시키지 못하는 불편함이 있었다.Also, in the case of lectures on robot design and simulation in university or academy, the professor or instructor executes the simulation on their terminal and delivers the progress and simulation results to many students or vice versa. In order to send and output the results to the professor's terminal so that the students can be evaluated or graded, a data sharing system must be established through the network. However, existing technologies do not satisfy this requirement.

본 발명은 전술한 문제점을 해결하기 위한 것으로서, 다수의 연구자가 인터넷을 통해 시뮬레이션 서버에 접속하고, 하나의 시뮬레이션 클라이언트에서 이루어지는 로봇 제어 알고리듬을 네트워크 서버상에서 동역학 시뮬레이션을 수행하고, 그 결과를 인터넷이나 피투피 네트워크를 통해 상호 교환할 수 있도록 하며, 다수 의 연구자가 동시에 시뮬레이션 결과를 보면서 시뮬레이션 결과에 대한 토론이나 의견교환이 가능하게 하는 네트워크를 이용한 로봇 시뮬레이션 시스템을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and a number of researchers access a simulation server through the Internet, and perform a dynamic simulation on a network server with a robot control algorithm made in one simulation client, and the result is displayed on the Internet or P2P. It aims to provide a robot simulation system using a network that enables mutual exchange through a network, and enables a number of researchers to simultaneously view the simulation results and discuss or exchange the results of the simulation.

또한 본 발명은 로봇을 소프트웨어상에서 시뮬레이션하기 위하여 동역학 기반의 시뮬레이션 엔진을 적용함으로써, 실제 로봇의 상태와 동일한 조건에서 로봇이 움직이는 것을 관찰할 수 있도록 하는 네트워크를 이용한 로봇 시뮬레이션 시스템을 제공하는 것을 목적으로 한다.In addition, an object of the present invention is to provide a robot simulation system using a network to observe the movement of the robot under the same conditions as the actual state of the robot by applying a dynamics-based simulation engine to simulate the robot in software. .

전술한 문제점을 해결하기 위하여 안출된 본 발명은 3차원적으로 구현된 가상의 로봇의 동작을 시뮬레이션하여 시뮬레이션 결과 데이터를 생성하고, 상기 시뮬레이션 결과 데이터를 네트워크를 통해 시뮬레이션 클라이언트에 전송하는 시스템으로서, 상기 로봇의 조인트 정보와 센서 정보를 저장하며, 상기 시뮬레이션 클라이언트로부터 로봇의 3D 모델을 전송받아 동역학에 기반한 시뮬레이션을 실시하는 시뮬레이션 서버와; 접근 가능한 시뮬레이션 서버 목록을 상기 네트워크를 통해 상기 시뮬레이션 클라이언트에 전송하며, 상기 시뮬레이션 클라이언트에 대하여 비밀번호 기반의 사용자 인증을 하여 특정 시뮬레이션 클라이언트를 선택적으로 시뮬레이션 서버에 접속하도록 하는 V-Lab 서버와; 상기 V-Lab 서버와 통신하면서 상기 시뮬레이션 서버가 설치된 사이트에 대한 정보를 상기 V-Lab 서버에 전송하여 등록시키는 컨트롤 서버와; 상기 V-Lab 서버에 접속한 시뮬레이션 클라이언트로부터 입력된 시뮬레이션 개시 명령이 상기 컨트롤 서버를 통해 전송되면, 상기 시뮬레이션 서버의 동작을 개시시키고, 상기 시뮬레이션 클라이언트의 접속이 종료되면, 상기 시뮬레이션 서버의 동작을 중단시키는 액티베이터;를 포함한다.The present invention devised to solve the above-mentioned problem is a system for generating simulation result data by simulating the operation of a virtual robot implemented in three dimensions, and transmitting the simulation result data to a simulation client through a network. A simulation server for storing joint information and sensor information of the robot and receiving a 3D model of the robot from the simulation client to perform a simulation based on dynamics; A V-Lab server which transmits a list of accessible simulation servers to the simulation client through the network, and selectively connects a specific simulation client to the simulation server by performing password-based user authentication on the simulation client; A control server which communicates with the V-Lab server and transmits and registers information on a site on which the simulation server is installed, to the V-Lab server; When the simulation start command input from the simulation client connected to the V-Lab server is transmitted through the control server, the operation of the simulation server is started, and when the connection of the simulation client is terminated, the operation of the simulation server is stopped. It includes; activator to make.

상기 시뮬레이션 서버는 상기 로봇의 고유의 물리적, 기계적 특성치와 맵 데이터를 저장하며, 상기 로봇의 고유의 물리적, 기계적 특성치는 조인트 개수, 조인트 위치, 조인트 제한치(limit), 센서정보이며, 상기 로봇의 맵 데이터는 시뮬레이션이 실행되는 가상적인 장소의 지형지물의 배치, 상기 가상적인 장소 표면의 마찰계수인 것을 특징으로 한다.The simulation server stores the unique physical and mechanical properties and map data of the robot, and the unique physical and mechanical properties of the robot are joint number, joint position, joint limit, sensor information, and map of the robot. The data is characterized in that the placement of the features of the virtual place on which the simulation is run, the coefficient of friction of the virtual place surface.

상기 3D 모델은 로봇의 충돌 검출에 필요한 메쉬(mesh) 정보, 물리계수, 구동장치 특성을 포함하며, 상기 물리계수는 질량, 관성모멘트, 무게중심, 마찰계수, 탄성계수, 댐핑(damping)을 포함하는 것을 특징으로 한다.The 3D model includes mesh information, physical coefficients, and drive characteristics required for collision detection of the robot, and the physical coefficients include mass, moment of inertia, center of gravity, coefficient of friction, modulus of elasticity, and damping. Characterized in that.

상기 시뮬레이션 클라이언트는 상기 네트워크를 통해 상기 V-Lab 서버 또는 상기 시뮬레이션 서버에 접속하여 데이터를 송수신하는 네트워크 모듈과; 다수의 로봇에 대하여 각각 작성된 XML 형식의 로봇 모델데이터를 읽어들이는 XML 모델 로더(Loader)와; 사용자가 작성한 미션 스크립트가 시뮬레이션 중에 동적으로 연동되도록 상기 미션 스크립트를 상기 시뮬레이션 서버에 전달하며, 로봇의 단위 동작을 조합하여 복잡한 움직임을 할 수 있도록 타임 이벤트 기반의 유저 프로그램 인터페이스를 제공하는 스크립트 가상머신과; 로봇 제어를 위한 알고리듬인 로봇 모션 임플러멘테이션(Implementation) 코드를 실행하고, 상기 로봇의 각각의 조인트에 인가될 토크를 계산하며, 상기 계산된 토크를 네트워크를 통해 상기 시뮬레이션 서버에 전송하는 로봇 모션 플러그인 인터페이스;를 포함한다.The simulation client network module for transmitting and receiving data by connecting to the V-Lab server or the simulation server through the network; An XML model loader which reads robot model data in XML format, respectively, for a plurality of robots; A script virtual machine that delivers the mission script to the simulation server so that the user-created mission script is dynamically linked during the simulation, and provides a time event-based user program interface to perform complex movements by combining the robot's unit operations. ; Robot motion implementation code, which is an algorithm for robot control, calculates a torque to be applied to each joint of the robot, and transmits the calculated torque to the simulation server through a network. Plug-in interface;

상기 로봇 모델데이터는 가상의 시뮬레이션 실행을 위하여 로봇에 대하여 정의된 물리계수 및 그래픽스 데이터인 것을 특징으로 한다.The robot model data may be physical coefficients and graphics data defined for the robot for executing a virtual simulation.

상기 미션 스크립트는 로봇의 동작들을 조합하여 일련의 복잡한 움직임을 할 수 있도록 모듈화된 제어명령인 것을 특징으로 한다.The mission script is characterized in that the control command is modularized to combine a series of motions of the robot to perform a series of complex movements.

이하, 도면을 참조하여 본 발명의 실시예에 따른 네트워크를 이용한 로봇 시뮬레이션 시스템(이하, '시뮬레이션 시스템'이라 함)을 설명한다.Hereinafter, a robot simulation system (hereinafter, referred to as a 'simulation system') using a network according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 본 발명의 실시예에 따른 시뮬레이션 시스템의 연결상태를 나타낸 구성도이다. 도 1에 도시된 네트워크의 연결방식은 서버-클라이언트 연결방식으로서, 네트워크 개설을 위한 서버(시뮬레이션 시스템)에 다수의 단말기(시뮬레이션 클라이언트)가 접속하여 데이터를 서로 공유하는 방식을 사용한다.1 is a configuration diagram showing a connection state of a simulation system according to an embodiment of the present invention. The network connection method shown in FIG. 1 is a server-client connection method, in which a plurality of terminals (simulation clients) are connected to a server (simulation system) for network establishment and share data with each other.

도 1을 참조하여 시뮬레이션 시스템의 구성요소와 연결상태를 설명하면, 시뮬레이션 시스템(100)은 네트워크(300)를 통해 다수의 시뮬레이션 클라이언트(200)와 연결된다.Referring to FIG. 1, the components and the connected state of the simulation system are described. The simulation system 100 is connected to a plurality of simulation clients 200 through the network 300.

본 발명에서의 네트워크(300)는 인터넷과 같은 개방형 네트워크와, LAN망이나 VPN망과 같은 내부 네트워크를 모두 포함하는 개념으로 사용된다.In the present invention, the network 300 is used in a concept including both an open network such as the Internet and an internal network such as a LAN network or a VPN network.

V-Lab 서버(102)는 연구자가 시뮬레이션 클라이언트(200)를 실행시켰을 때 가장 먼저 접속하는 서버이다. V-Lab 서버(102)는 비밀번호 기반의 사용자 인증과 클라이언트 버전 체크 및 패치, 접근 가능한 시뮬레이션 서버(112) 목록 등을 네트워크(300)를 통해 시뮬레이션 클라이언트(200)에 전송한다. 또한 특정 시뮬레이션 클라이언트(200)를 선택적으로 시뮬레이션 서버(112)에 접속하게 하고, 사용자 사이의 문자메시지 전송 등의 로비 서비스를 제공할 수도 있다.The V-Lab server 102 is the first server to be connected to when the researcher runs the simulation client 200. The V-Lab server 102 transmits password-based user authentication, client version check and patch, accessible simulation server 112 list, etc. to the simulation client 200 via the network 300. In addition, a specific simulation client 200 may be selectively connected to the simulation server 112, and a lobby service such as text message transmission between users may be provided.

패치 서버(104)는 시뮬레이션 시스템(100)에 접속하는 다수의 시뮬레이션 클라이언트(200)를 최신 버전으로 유지하기 위하여 자동패치 기능을 수행하는 서버이다. 디버그나 기능 추가 등에 의해 시뮬레이션 클라이언트(200)가 변경되면 그 내용을 접속된 시뮬레이션 클라이언트(200)에 자동으로 적용한다.The patch server 104 is a server that performs an autopatch function in order to keep a plurality of simulation clients 200 connected to the simulation system 100 up to date. When the simulation client 200 is changed by debugging or adding a function, the contents are automatically applied to the connected simulation client 200.

또한 패치 서버(104)는 시뮬레이션 클라이언트(200)를 패치하고, 로봇 데이터와 시뮬레이션 가상 환경에 대한 데이터(로봇이 가상적으로 움직이는 곳의 지형지물, 표면 마찰 등)인 로봇 콘텐츠를 배포하며, 새로운 로봇 콘텐츠가 설정되었을 경우에 접속한 시뮬레이션 클라이언트(200)의 버젼을 확인한 후, 새로운 패치를 전송한다.In addition, the patch server 104 patches the simulation client 200, distributes robot contents which are robot data and data about the simulation virtual environment (features where the robot moves virtually, surface friction, etc.), and new robot contents. If is set, after checking the version of the connected simulation client 200, a new patch is transmitted.

시뮬레이션 시스템(100) 내부에는 단위 로봇 시뮬레이션을 수행하는 사이트(Site; 106)가 다수개(1개에서 n개까지) 존재할 수 있다. 사이트(106)는 특정 로봇에 대한 시뮬레이션 서비스를 제공하는 가상 연구실을 의미하며, 사이트(106)는 각 연구기관마다 필요에 따라 한 개에서 여러 개까지 동시에 존재할 수 있다. 사용자(연구자)는 시뮬레이션 클라이언트(200)를 실행하고, V-Lab 서버(102)에 접속하여 개설되어 있는 사이트(106)를 검색하고, 원하는 사이트(106)에 접속하여 시뮬레이션 서비스를 이용할 수 있다. 시뮬레이션 클라이언트는 초기에 V-Lab 서버를 통해 접속하지만, 일단 시뮬레이션 서버와의 통신이 개시된 후에는 시뮬레이션 서버와 직접적으로 연결된다.In the simulation system 100, there may be a plurality of sites (from 1 to n) for performing unit robot simulation. Site 106 refers to a virtual laboratory that provides simulation services for a particular robot, and site 106 may exist from one to several at the same time for each research institute. The user (researcher) can run the simulation client 200, connect to the V-Lab server 102, search for the established site 106, and connect to the desired site 106 to use the simulation service. The simulation client initially connects through the V-Lab server, but once communication with the simulation server is initiated, it is directly connected to the simulation server.

이때 다른 사용자는 자신의 시뮬레이션 클라이언트(200)를 이용하여 같은 사이트(106)에 접속함으로써 다른 사용자가 진행중인 시뮬레이션에 참여할 수 있으며, 이를 통해 시뮬레이션 결과를 모니터링하거나 결과를 네트워크(300)를 통해 공유할 수 있다.At this time, other users can participate in the simulation by other users by connecting to the same site 106 using their simulation client 200, through which the simulation results can be monitored or the results can be shared through the network 300. have.

하나의 시뮬레이션 시스템(100)에는 하나 또는 둘 이상의 사이트(106)가 존재할 수 있으며, 물리적으로 독립된 별개의 서버로 구성되거나, 하나의 시뮬레이션 시스템(100) 내에서 구성요소들을 공유하면서 소프트웨어적으로 존재할 수도 있을 것이다.One simulation system 100 may have one or more sites 106, which may consist of separate servers that are physically independent, or may be present in software while sharing components within one simulation system 100. There will be.

다양한 기종의 로봇 테스트베드(test bed)에 대한 인터넷 기반 시뮬레이션이 가능하도록 하기 위하여는 각 로봇 테스트베드와 1:1 로 연결되는 사이트(106)가 존재하여야 한다. (A)라는 연구기관에서 (a)라는 로봇 테스트베드에 대한 시뮬레이션을 수행하는 경우, 이 시뮬레이션 서비스를 수행할 새로운 사이트 (A)를 개설한다. 사이트 (A)는 서비스 개시와 동시에 자동으로 V-Lab 서버(102)에 자신을 등록하므로 사용자는 V-Lab 서버(102)를 통해 사이트 (A)에서 로봇 테스트베드 (a)에 대한 시뮬레이션 서비스를 제공받을 수 있음을 알게 되고, 실제로 사이트 (A)의 시뮬레이션 서버(112)에 접속하여 시뮬레이션 데이터를 전송받을 수 있게 된다. 새로운 연구기관에서 개발한 (b)라는 로봇 테스트베드는 새로운 사이트 (B)를 통해 서비스된다. 이런 방식으로 사이트 단위로 시뮬레이션 시스템(100)은 확장된다.In order to enable internet-based simulation of various types of robot test beds, there should be a site 106 connected to each robot test bed by 1: 1. If a research institute (A) performs a simulation for the robot testbed (a), it opens a new site (A) to perform this simulation service. Site (A) automatically registers itself with the V-Lab server 102 at the start of the service, so the user can set up a simulation service for the robot testbed (a) at site (A) via the V-Lab server 102. It can be seen that it can be provided, and can actually be connected to the simulation server 112 of the site (A) to receive the simulation data. A robotic testbed named (b), developed by the new research institute, is served through the new site (B). In this way, the simulation system 100 is extended on a site-by-site basis.

여기서 V-Lab 서버(102)와 통신하면서 사이트(106)를 제어하기 위하여 컨트롤 서버(108)가 사이트(106) 내부에 설치된다. 컨트롤 서버(108)는 하나의 사이 트(106)에 하나만 존재하며 서비스 개시(서버가 켜짐)와 동시에 사이트 정보를 V-Lab 서버(102)에 전송하여 사이트를 등록하고, 사이트(106) 마다의 보안 정책 등을 등록한다. 사용자의 접속 요청이 있을 때에는 사용자 인증과 사용자의 접속 요청 처리를 시뮬레이션 서버(112)에게 위임한다. 또 시뮬레이션 서버(112) 프로세스를 감시하고 문제 발생시 자동으로 프로세스를 복구하는 등의 서버 프로세스 관리 기능을 담당한다.Here, a control server 108 is installed inside site 106 to control site 106 while communicating with V-Lab server 102. Only one control server 108 exists in one site 106, and at the same time as service start (server is turned on), site information is transmitted to the V-Lab server 102 to register a site, and each site 106 is registered. Register security policy. When there is a user's connection request, the user delegates user authentication and user's connection request processing to the simulation server 112. The server also manages server process management functions such as monitoring the simulation server 112 process and automatically recovering a process when a problem occurs.

액티베이터(Activator; 110)는 컨트롤 서버(108)의 요청에 따라 시뮬레이션 서버(112)를 가동시키거나 중단시키는 역할을 한다. 동역학을 기반으로 한 로봇 시뮬레이션을 수행하는 시뮬레이션 서버(112)는 시뮬레이션 클라이언트(200)로부터의 요청이 있는 경우에 가동을 시작하고, 요청이 없을 경우에는 동작이 멈추게 된다. 이때 V-Lab 서버(102)로부터 전송된 가동요청이 컨트롤 서버(108)를 통해 액티베이터(110)에 전달되면, 시뮬레이션 서버(112)의 동작이 시작되어 사용자의 요청에 맞는 로봇 시뮬레이션이 시작된다.The activator 110 serves to start or stop the simulation server 112 at the request of the control server 108. The simulation server 112 which performs the robot simulation based on dynamics starts operation when there is a request from the simulation client 200, and stops when there is no request. At this time, when the operation request transmitted from the V-Lab server 102 is transmitted to the activator 110 through the control server 108, the operation of the simulation server 112 is started to start the robot simulation according to the user's request.

시뮬레이션 서버(112)는 가상의 실험 환경을 설정하고, 이를 바탕으로 로봇의 동역학 시뮬레이션을 담당하는 서버이다. 액티베이터(110)에 의해 시뮬레이션 서버(112)의 가동이 개시되면 필요한 3D 모델을 읽어 들여 가상의 동역학 시뮬레이션 환경을 구축한다. 3D 모델에는 충돌 검출에 필요한 메쉬(mesh) 정보에서부터 질량, 관성모멘트, 무게중심, 마찰계수, 탄성계수, 댐핑(damping) 등의 물리 계수, 조인트 속성, 조인트 구속(joint constraints) 등의 조인트 정보, 구동 장치 특성 등이 포함되어 있고 이러한 정보들이 신뢰성이 검증된 동역학 알고리즘에 사용되어 시뮬레이션이 진행된다.The simulation server 112 is a server that sets up a virtual experiment environment and is responsible for dynamic simulation of the robot based on this. When the operation of the simulation server 112 is started by the activator 110, a necessary 3D model is read to establish a virtual dynamic simulation environment. The 3D model includes mesh information for collision detection, joint information such as mass, moment of inertia, center of gravity, coefficient of friction, modulus of elasticity, damping, joint properties, joint constraints, The driving characteristics are included, and this information is used in a proven dynamics algorithm to simulate.

또한 사이트(106)마다 시뮬레이션 되어지는 로봇이 다를 수 있으므로, 각 시뮬레이션 서버(112)에는 시뮬레이션에 필요한 로봇 고유의 물리적, 기계적 특성치(조인트 개수, 조인트 위치, 조인트 제한치(limit), 센서정보)와 맵 데이터(지형지물의 배치, 마찰계수 등의 물리적 특성치)가 저장된다.In addition, since the robots to be simulated may differ from site to site 106, each simulation server 112 has a unique physical and mechanical characteristic value (joint number, joint position, joint limit, sensor information) and a map required for the simulation. Data (physical characteristic values, such as the placement of the topography and the friction coefficient) is stored.

이렇게 가상 시뮬레이션 환경이 구축되면 그 정보를 이용하여 충돌 검출 및 해석, 동역학 해석 등을 수행하여 시뮬레이션 결과 데이터를 생성하고, 생성된 시뮬레이션 결과 데이터를 네트워크(300)를 통해 시뮬레이션 클라이언트(200)에 전송한다.When the virtual simulation environment is established as described above, the simulation result data is generated by using collision detection, analysis, and dynamic analysis, and the generated simulation result data is transmitted to the simulation client 200 through the network 300. .

한편, 도 2는 시뮬레이션 클라이언트의 구성요소를 나타낸 구성도로서, 도 1과 도 2를 참조하여 시뮬레이션 클라이언트(200)의 구조에 대하여 설명한다.2 is a block diagram illustrating components of a simulation client, and a structure of the simulation client 200 will be described with reference to FIGS. 1 and 2.

시뮬레이션 클라이언트(200)는 실제로 사용자(연구자)가 사용하는 개발 환경으로서, 시뮬레이션을 위한 GUI(Graphic User Interface), 시뮬레이션 상황을 모니터링할 수 있는 3D 시뮬레이션 뷰어, 각종 분석도구 등의 시뮬레이션 클라이언트 플랫폼이 탑재된다.The simulation client 200 is actually a development environment used by a user (researcher), and is equipped with a simulation client platform such as a graphical user interface (GUI) for simulation, a 3D simulation viewer for monitoring the simulation situation, and various analysis tools. .

네트워크 모듈(202)은 네트워크(300)를 통해 시뮬레이션 시스템(100)의 V-Lab 서버(102) 및 시뮬레이션 서버(112)에 접속하여 데이터를 송수신할 수 있으며, 데이터 보안을 위한 데이터 인코딩, 디코딩 기능을 수행한다.The network module 202 may be connected to the V-Lab server 102 and the simulation server 112 of the simulation system 100 through the network 300 to transmit and receive data, and data encoding and decoding functions for data security. Do this.

Data Exporter(데이터 추출기; 204)는 시뮬레이션 결과 데이터를 저장하는 기능을 제공한다. 저장된 시뮬레이션 결과는 Recorder(도면 미도시)를 이용하여 반복 재생이 가능하며, 시뮬레이션 도중 정지하여 한 단계씩 시뮬레이션 타임 스텝을 전진하며 결과를 관찰할 수 있다. 또 GNU plot(도면 미도시) 등 외부 툴에서 시뮬레이션 결과 데이터를 이용하여 2차원 또는 3차원 그래프를 출력하는 등의 작업을 할 수 있다.The Data Exporter 204 provides the ability to store simulation result data. The stored simulation results can be repeatedly played using a recorder (not shown). The simulation results can be stopped and the simulation progressed step by step to observe the results. In addition, external tools such as GNU plot (not shown) can be used to output 2D or 3D graphs using simulation result data.

3D 그래픽(206) 모듈은 시뮬레이션 결과를 3D 그래픽스로 화면에 출력한다.The 3D graphics module 206 outputs the simulation results to the screen in 3D graphics.

XML 모델 로더(Loader)(208)는 각각의 로봇에 대하여 작성된 XML 형식의 로봇 모델데이터(210)를 읽어들인다. 로봇 모델데이터(210)는 전술한 바와 같이, 가상의 시뮬레이션 실행을 위하여 로봇에 대하여 정의된 물리계수 및 그래픽스 데이터 등을 의미한다.The XML model loader 208 reads robot model data 210 in XML format created for each robot. As described above, the robot model data 210 refers to physical coefficients and graphics data defined for the robot for performing a virtual simulation.

스크립트 가상머신(Script Virtual Machine; 212)은 사용자가 작성한 미션 스크립트(214)가 시뮬레이션 중에 동적으로 연동되도록 하는 모듈로서, 로봇의 단위 동작을 조합하여 복잡한 움직임을 할 수 있도록 타임 이벤트 기반의 유저 프로그램 인터페이스를 제공한다. 연구자는 이를 통해 시뮬레이션을 제어하고 별도의 GUI 확장 스크립트(216)를 이용하여 시뮬레이션 클라이언트 플랫폼을 확장할 수 있다.The script virtual machine 212 is a module that allows the user-created mission script 214 to be dynamically linked during a simulation. A time event-based user program interface allows complex movements by combining the robot's unit motions. To provide. This allows the researcher to control the simulation and extend the simulation client platform using a separate GUI extension script 216.

GUI로 이루어진 사용자 인터페이스(218)를 이용하여 연구자 또는 참관자는 시뮬레이션 시스템(100)에서 진행되는 시뮬레이션 결과를 파악할 수 있으며, 각종 변수나 데이터를 전송하여 시뮬레이션의 진행상황을 변화시킬 수도 있다.By using the user interface 218 formed of a GUI, a researcher or an observer can grasp the simulation result which is performed in the simulation system 100, and can change the progress of the simulation by transmitting various variables or data.

로봇 모션 플러그인 인터페이스(Plug-in Interface; 220)는 로봇 모션 제어 알고리듬을 위한 확장 가능한 인터페이스이다. 로봇 모션 제어 알고리듬을 설계하고 구현하기 위해서는 제공되는 로봇 모션 플러그인 인터페이스(220)를 확장하여 C++ 코드를 작성해야 한다. 로봇 모션 플러그인 인터페이스(220)는 저장된 로봇의 현재 조인트 정보와 센서 정보 등을 참조 가능하도록 하는 API(Algorithm Programming Interface)를 가지고 있다. 연구자는 그 값들을 참조하여 로봇 모션 제어를 위한 값(PID gain, desired joint position, desired joint velocity)을 계산해 내야 한다.The robot motion plug-in interface 220 is an extensible interface for the robot motion control algorithm. In order to design and implement a robot motion control algorithm, the robot motion plug-in interface 220 provided must be extended to write C ++ code. The robot motion plug-in interface 220 has an API (Algorithm Programming Interface) for referencing stored joint information and sensor information of the robot. The researcher should calculate the values for the robot motion control (PID gain, desired joint position, desired joint velocity) by referring to the values.

로봇 모션 플러그인 인터페이스(220)가 로봇 모션 Implementation(222)과 시뮬레이션 서버(112) 사이에 개재됨으로써 서로 다른 타입의 로봇을 시뮬레이션할 때에도 원활한 동작이 가능해진다.The robot motion plug-in interface 220 is interposed between the robot motion implementation 222 and the simulation server 112 to enable smooth operation even when simulating different types of robots.

로봇 모션 임플러멘테이션(Implementation; 222)은 유저에 의해서 작성되는 로봇 제어를 위한 알고리듬의 구현부이다. 로봇이 특정한 움직임을 완성하기 위하여 필요한 구체적인 동작들, 예를 들어 앞으로 걷는 동작을 완성하기 위하여 먼저 왼발을 들었다가 앞으로 내밀고, 다시 오른발을 들었다가 앞으로 내미는 동작 등 각각의 구체적인 동작을 위한 제어명령을 동적으로 계산한다.The robot motion implementation 222 is an implementation of an algorithm for robot control written by a user. To complete the specific movements required by the robot to complete a particular movement, for example, to move forward, the robot first lifts the left foot, pushes it forward, and then lifts the right foot forward. Calculate

도 3은 동역학 시뮬레이션의 진행순서를 나타낸 순서도이다. 3 is a flowchart showing the procedure of dynamics simulation.

도 1 내지 도 3을 참조하여 시뮬레이션 시스템(100)의 동작 흐름을 설명한다.An operation flow of the simulation system 100 will be described with reference to FIGS. 1 to 3.

우선 네트워크 모듈(202)을 통해 시뮬레이션 서버(112)에서 계산된 현재 가상 로봇의 조인트 정보 및 센서 정보가 시뮬레이션 클라이언트(200)로 전송된 다.(S102)First, the joint information and the sensor information of the current virtual robot calculated by the simulation server 112 are transmitted to the simulation client 200 through the network module 202. (S102)

로봇 모션 플러그인 인터페이스(220)는 로봇 모션 임플러멘테이션(222) 코드의 실행을 통해 로봇의 각각의 조인트에 인가될 desired torque를 계산한다.(S104, S106)The robot motion plug-in interface 220 calculates a desired torque to be applied to each joint of the robot through the execution of the robot motion insertion code 222 (S104 and S106).

계산된 desired torque는 다시 네트워크(300)를 통해 시뮬레이션 서버(112)로 전송된다.(S108) 시뮬레이션 서버(112)는 이 정보를 이용하여 동역학 시뮬레이션을 수행한다.(S110)The calculated desired torque is again transmitted to the simulation server 112 through the network 300 (S108). The simulation server 112 performs dynamic simulation using this information.

시뮬레이션 서버(112)는 시뮬레이션에 의하여 변화된 로봇의 조인트 정보를 네트워크(300)를 통해 시뮬레이션 클라이언트(200)로 전송한다.(S112)The simulation server 112 transmits the joint information of the robot changed by the simulation to the simulation client 200 through the network 300 (S112).

시뮬레이션 클라이언트(200)는 변화된 조인트 정보를 바탕으로 추가적인 시뮬레이션을 실행하도록 할 수 있게 된다.(S114)The simulation client 200 may perform additional simulation based on the changed joint information (S114).

이 과정은 유저에 의하여 시뮬레이션이 종료될 때까지 반복된다.This process is repeated until the simulation is completed by the user.

본 발명의 시뮬레이션 서버(112)는 동역학을 기반으로 한 시뮬레이션을 진행한다. 동역학 기반이란 물체에 가해진 힘을 기반으로 물체의 운동방정식을 풀어 물체의 운동 상태 등을 결정하는 것으로, 그 결과 로봇은 실제와 유사한 움직임이 사실적으로 계산된다.Simulation server 112 of the present invention proceeds the simulation based on dynamics. The dynamics-based means is to solve the equation of motion of the object based on the force exerted on the object to determine the motion state of the object.

이와 같이 동역학적 원리가 적용되지 않고 시뮬레이션을 진행할 경우, 실제 로봇의 움직임과는 다른 움직임 결과가 도출되는 문제점이 생길 수 있다.In this way, if the simulation is not applied to the dynamic principle, there may be a problem that a motion result different from that of the actual robot is derived.

이러한 문제점을 예방하기 위하여 본 발명의 시뮬레이션 서버(112)에는 동역학 엔진이 포함되어 있으며, 실제 로봇의 관절 위치나 구조, 무게중심 등을 고려한 동작을 적용하게 됨으로써 실제 상황과 동일한 동작을 시뮬레이션할 수 있게 되는 것이다.In order to prevent such a problem, the simulation server 112 of the present invention includes a dynamic engine, and by applying motion considering the joint position, structure, and center of gravity of the actual robot, it is possible to simulate the same motion as the actual situation. Will be.

시뮬레이션 서버(112)에서 이루어지는 시뮬레이션 결과를 다수의 연구자가 모니터링하기 위해서는 동역학 시뮬레이션이 이루어지는 사이트(106)에 접속하여 시뮬레이션 결과 데이터를 전송받아 사용자 인터페이스(218)에서 실행시킨다.In order to monitor the simulation results generated by the simulation server 112, a plurality of researchers are connected to the site 106 where the dynamic simulation is performed, receive the simulation result data, and execute the simulation result data in the user interface 218.

사용자 인터페이스(218)에서는 동일한 사이트(106)에 접속한 다른 사용자가 표시되며, 별도의 대화창이나 메시지창을 통해 서로 의견을 나눌 수도 있을 것이다.In the user interface 218, other users who access the same site 106 are displayed, and they may be able to communicate with each other through separate dialogs or message windows.

도 4는 시뮬레이션 클라이언트의 사용자 인터페이스를 나타낸 구성도이다.4 is a diagram illustrating a user interface of a simulation client.

시뮬레이션 클라이언트 조작 인터페이스(A)는 시뮬레이션의 시작과 끝, 저장과 반복, 시뮬레이션 옵션의 설정 등을 위한 버튼들이다.The simulation client operation interface (A) is buttons for starting and ending the simulation, saving and repeating, setting simulation options, and the like.

시뮬레이션 개체구성 인터페이스(B)에는 시뮬레이션이 진행될 로봇의 구성요소가 트리구조로 표시되며, 연구자는 자신이 원하는 특정 구성요소의 동작을 세밀하게 지정할 수도 있다.In the simulation entity composition interface (B), the components of the robot to be simulated are displayed in a tree structure, and the researcher can specify the behavior of a specific component desired by the researcher in detail.

시뮬레이션 속성 조절 인터페이스(C)는 동역학 속성을 표시하는 창으로서, 로봇의 무게, 표면의 마찰계수, 무게중심 등을 조절할 수 있도록 한다.The simulation property adjustment interface (C) is a window displaying dynamic properties, and allows the robot's weight, surface friction coefficient, center of gravity, etc. to be adjusted.

시뮬레이션 결과표시 및 스크립트 구동창(D)은 시뮬레이션 도중 발생하는 경고 및 에러 메시지를 출력하거나, 시뮬레이션의 진행과정을 표시한다. 또 스크립트 실행시 그 결과를 표시한다.The simulation result display and the script drive window D output warning and error messages generated during the simulation, or display the progress of the simulation. It also displays the result when the script is run.

시뮬레이션 감시창(E)은 조인트 각도와 같은 시뮬레이션 결과 수치값을 실시 간으로 출력해준다.The simulation monitoring window (E) outputs numerical values of simulation results such as the joint angle in real time.

시뮬레이션 뷰어(F)에는 소프트웨어적으로 구현된 가상의 3D 로봇이 표시되며, 로봇의 움직임이나 자세변화 등을 실시간 관찰할 수 있다.The simulation viewer F displays a virtual 3D robot implemented in software, and can observe the movement or posture change of the robot in real time.

실시간 분석창(G)에는 시뮬레이션 결과 분석에 필요한 값들을 실시간 그래프로 표시한다.The real-time analysis window (G) displays the values necessary for analyzing the simulation results in a real-time graph.

네트워크 상태창(H)에는 시뮬레이션 시스템(100)에 접속한 다른 사용자의 로그인 상황이 표시된다.The network status window H displays the login status of other users connected to the simulation system 100.

그 외에도 시뮬레이션 수행 및 분석을 위한 다양한 형태의 툴이 제공될 수 있다.In addition, various types of tools may be provided for performing and analyzing the simulation.

이상에서 본 발명의 실시예를 설명하였으나, 본 발명의 권리범위는 이러한 실시예에 제한되지 않으며, 당업자가 용이하게 변형할 수 있는 범위에도 권리가 미친다.Although the embodiments of the present invention have been described above, the scope of the present invention is not limited to these embodiments, and the rights of the person skilled in the art can be easily modified.

본 발명에 따르면 로봇의 제작에 참가하는 다수의 연구자나 제작자가 네트워크를 통해 공간의 제약없이 하나의 서버상에서 이루어지는 시뮬레이션 결과를 함께 보면서 설계에 필요한 의견을 나눌 수 있으며, 실시간으로 데이터의 수정과 확인 작업이 가능해지면서 로봇 제작에 필요한 시간과 경비를 줄일 수 있는 효과가 있다.According to the present invention, a number of researchers or producers who participate in the manufacture of robots can share the opinions required for the design while viewing simulation results on one server through the network without any limitation of space. This makes it possible to reduce the time and expense required to build a robot.

또한 본 발명에 따르면 다수의 설계자가 시뮬레이션 데이터를 공유할 수 있도록 하기 위하여 인터넷과 같은 개방형 네트워크를 이용하게 됨으로써 별도의 시 스템이나 장비를 구축하지 않고도 간편하게 데이터 공유 시스템을 구성할 수 있는 효과가 있다.In addition, according to the present invention by using an open network, such as the Internet in order to allow a large number of designers to share the simulation data, there is an effect that can easily configure a data sharing system without building a separate system or equipment.

또한 본 발명에 따르면 학교나 학원에서 다수의 수강생들에게 로봇 설계에 대한 강의를 진행하는 경우, 각각의 수강생들이 진행하고 있는 시뮬레이션 결과를 교수나 강사의 단말기에서 모니터할 수 있고, 이에 대하여 실시간으로 코멘트를 하거나 평가를 해줄 수 있어서, 효과높은 강의가 진행될 수 있도록 하는 효과가 있다.In addition, according to the present invention, when a lecture on robot design is given to a large number of students in a school or academy, a simulation result of each student may be monitored on a terminal of a professor or an instructor, and comments in real time on this. It can be done or evaluated, so that effective lectures can be conducted.

Claims (6)

3차원적으로 구현된 가상의 로봇의 동작을 시뮬레이션하여 시뮬레이션 결과 데이터를 생성하고, 상기 시뮬레이션 결과 데이터를 네트워크를 통해 시뮬레이션 클라이언트에 전송하는 시스템에 있어서,In the system for generating a simulation result data by simulating the operation of a virtual robot implemented in three dimensions, and transmitting the simulation result data to a simulation client through a network, 상기 로봇의 조인트 정보와 센서 정보를 저장하며, 상기 시뮬레이션 클라이언트로부터 로봇의 3D 모델을 전송받아 동역학에 기반한 시뮬레이션을 실시하는 시뮬레이션 서버와;A simulation server storing joint information and sensor information of the robot and receiving a 3D model of the robot from the simulation client to perform a simulation based on dynamics; 접근 가능한 시뮬레이션 서버 목록을 상기 네트워크를 통해 상기 시뮬레이션 클라이언트에 전송하며, 상기 시뮬레이션 클라이언트에 대하여 비밀번호 기반의 사용자 인증을 하여 특정 시뮬레이션 클라이언트를 선택적으로 시뮬레이션 서버에 접속하도록 하는 V-Lab 서버와;A V-Lab server which transmits a list of accessible simulation servers to the simulation client through the network, and selectively connects a specific simulation client to the simulation server by performing password-based user authentication on the simulation client; 상기 V-Lab 서버와 통신하면서 상기 시뮬레이션 서버가 설치된 사이트에 대한 정보를 상기 V-Lab 서버에 전송하여 등록시키는 컨트롤 서버와;A control server which communicates with the V-Lab server and transmits and registers information on a site on which the simulation server is installed, to the V-Lab server; 상기 V-Lab 서버에 접속한 시뮬레이션 클라이언트로부터 입력된 시뮬레이션 개시 명령이 상기 컨트롤 서버를 통해 전송되면, 상기 시뮬레이션 서버의 동작을 개시시키고, 상기 시뮬레이션 클라이언트의 접속이 종료되면, 상기 시뮬레이션 서버의 동작을 중단시키는 액티베이터;를 포함하는 네트워크를 이용한 로봇 시뮬레이션 시스템.When the simulation start command input from the simulation client connected to the V-Lab server is transmitted through the control server, the operation of the simulation server is started, and when the connection of the simulation client is terminated, the operation of the simulation server is stopped. Robot simulation system using a network comprising a; activator. 제1항에 있어서,The method of claim 1, 상기 시뮬레이션 서버는The simulation server 상기 로봇의 고유의 물리적, 기계적 특성치와 맵 데이터를 저장하며,Stores the unique physical and mechanical properties and map data of the robot, 상기 로봇의 고유의 물리적, 기계적 특성치는 조인트 개수, 조인트 위치, 조인트 제한치(limit), 센서정보이며,Intrinsic physical and mechanical properties of the robot are joint number, joint position, joint limit, sensor information, 상기 로봇의 맵 데이터는 시뮬레이션이 실행되는 가상적인 장소의 지형지물의 배치, 상기 가상적인 장소 표면의 마찰계수인 것을 특징으로 하는 네트워크를 이용한 로봇 시뮬레이션 시스템.Map data of the robot is a robot simulation system using a network, characterized in that the placement of the features of the virtual place where the simulation is executed, the coefficient of friction of the surface of the virtual place. 제1항에 있어서,The method of claim 1, 상기 3D 모델은 로봇의 충돌 검출에 필요한 메쉬(mesh) 정보, 물리계수, 구동장치 특성을 포함하며,The 3D model includes mesh information, physical coefficients, and driving device characteristics necessary for collision detection of the robot, 상기 물리계수는 질량, 관성모멘트, 무게중심, 마찰계수, 탄성계수, 댐핑(damping)을 포함하는 것을 특징으로 하는 네트워크를 이용한 로봇 시뮬레이션 시스템.The physical coefficient is a robot simulation system using a network, characterized in that the mass, the moment of inertia, the center of gravity, the coefficient of friction, the elastic modulus, damping (damping). 제1항에 있어서,The method of claim 1, 상기 시뮬레이션 클라이언트는The simulation client 상기 네트워크를 통해 상기 V-Lab 서버 또는 상기 시뮬레이션 서버에 접속하여 데이터를 송수신하는 네트워크 모듈과;A network module connected to the V-Lab server or the simulation server through the network to transmit and receive data; 다수의 로봇에 대하여 각각 작성된 XML 형식의 로봇 모델데이터를 읽어들이는 XML 모델 로더(Loader)와;An XML model loader which reads robot model data in XML format, respectively, for a plurality of robots; 사용자가 작성한 미션 스크립트가 시뮬레이션 중에 동적으로 연동되도록 상기 미션 스크립트를 상기 시뮬레이션 서버에 전달하며, 로봇의 단위 동작을 조합하여 복잡한 움직임을 할 수 있도록 타임 이벤트 기반의 유저 프로그램 인터페이스를 제공하는 스크립트 가상머신과;A script virtual machine that delivers the mission script to the simulation server so that the user-created mission script is dynamically linked during the simulation, and provides a time event-based user program interface to perform complex movements by combining the robot's unit operations. ; 로봇 제어를 위한 알고리듬인 로봇 모션 임플러멘테이션(Implementation) 코드를 실행하고, 상기 로봇의 각각의 조인트에 인가될 토크를 계산하며, 상기 계산된 토크를 네트워크를 통해 상기 시뮬레이션 서버에 전송하는 로봇 모션 플러그인 인터페이스;를 포함하는 네트워크를 이용한 로봇 시뮬레이션 시스템.Robot motion implementation code, which is an algorithm for robot control, calculates a torque to be applied to each joint of the robot, and transmits the calculated torque to the simulation server through a network. Robot simulation system using a network comprising a plug-in interface. 제4항에 있어서,The method of claim 4, wherein 상기 로봇 모델데이터는 가상의 시뮬레이션 실행을 위하여 로봇에 대하여 정의된 물리계수 및 그래픽스 데이터인 것을 특징으로 하는 네트워크를 이용한 로봇 시뮬레이션 시스템.The robot model data is a robot simulation system using a network, characterized in that the physical coefficient and graphics data defined for the robot for the virtual simulation execution. 제4항에 있어서,The method of claim 4, wherein 상기 미션 스크립트는 로봇의 동작들을 조합하여 일련의 복잡한 움직임을 할 수 있도록 모듈화된 제어명령인 것을 특징으로 하는 네트워크를 이용한 로봇 시뮬레이션 시스템.The mission script is a robot simulation system using a network, characterized in that the control commands are modularized to combine the movements of the robot to perform a series of complex movements.
KR1020060121131A 2006-12-04 2006-12-04 Robot simulation system using the network KR100756345B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060121131A KR100756345B1 (en) 2006-12-04 2006-12-04 Robot simulation system using the network
PCT/KR2007/000578 WO2008069366A1 (en) 2006-12-04 2007-02-02 Robot simulation system using the network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060121131A KR100756345B1 (en) 2006-12-04 2006-12-04 Robot simulation system using the network

Publications (1)

Publication Number Publication Date
KR100756345B1 true KR100756345B1 (en) 2007-09-10

Family

ID=38736801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060121131A KR100756345B1 (en) 2006-12-04 2006-12-04 Robot simulation system using the network

Country Status (2)

Country Link
KR (1) KR100756345B1 (en)
WO (1) WO2008069366A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956839B1 (en) 2008-02-28 2010-05-11 홍익대학교 산학협력단 Jointed arm-robot simulation control program development tool
KR101127469B1 (en) 2010-04-02 2012-03-22 한국과학기술연구원 System and method for development of software for network-based robot
KR101505598B1 (en) 2010-10-26 2015-03-24 주식회사마이크로컴퓨팅 Apparatus for educating a robot
CN112069072A (en) * 2020-09-07 2020-12-11 上海高仙自动化科技发展有限公司 Robot simulation control system, method, server and storage medium

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297861B (en) * 2013-06-05 2016-08-17 中国科学院自动化研究所 A kind of P2P video request program analogue system based on PeerSim
KR102583960B1 (en) 2020-01-06 2023-09-27 한국전자통신연구원 Method and apparatus for generating data set of unmanned aviation vehicle
CN112987595A (en) * 2021-03-06 2021-06-18 亚联美育(海南)教育科技集团有限公司 Intelligent cloud computing robot simulation system software and operation method thereof
CN115185197A (en) * 2021-04-01 2022-10-14 广东博智林机器人有限公司 Simulation test platform of robot

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020091363A (en) * 2001-05-30 2002-12-06 한국과학기술원 Robot soccer simulation operating system thereof method
KR20040016554A (en) * 2002-08-19 2004-02-25 현대중공업 주식회사 3d setting simulation system use the p.d.a
KR20050108519A (en) * 2004-05-12 2005-11-17 한국생산기술연구원 Integrated service method of distribution software for robot development based on open internet network
KR20060027450A (en) * 2004-09-23 2006-03-28 (주)웰컴소프트 Network based online simulation system
KR100572683B1 (en) 2003-09-30 2006-04-19 주식회사유진로보틱스 Authoring tool for content creation of intelligent robot and content creation method of intelligent robot using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003117863A (en) * 2001-10-16 2003-04-23 Fanuc Ltd Robot simulation device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020091363A (en) * 2001-05-30 2002-12-06 한국과학기술원 Robot soccer simulation operating system thereof method
KR20040016554A (en) * 2002-08-19 2004-02-25 현대중공업 주식회사 3d setting simulation system use the p.d.a
KR100572683B1 (en) 2003-09-30 2006-04-19 주식회사유진로보틱스 Authoring tool for content creation of intelligent robot and content creation method of intelligent robot using the same
KR20050108519A (en) * 2004-05-12 2005-11-17 한국생산기술연구원 Integrated service method of distribution software for robot development based on open internet network
KR20060027450A (en) * 2004-09-23 2006-03-28 (주)웰컴소프트 Network based online simulation system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100956839B1 (en) 2008-02-28 2010-05-11 홍익대학교 산학협력단 Jointed arm-robot simulation control program development tool
KR101127469B1 (en) 2010-04-02 2012-03-22 한국과학기술연구원 System and method for development of software for network-based robot
KR101505598B1 (en) 2010-10-26 2015-03-24 주식회사마이크로컴퓨팅 Apparatus for educating a robot
CN112069072A (en) * 2020-09-07 2020-12-11 上海高仙自动化科技发展有限公司 Robot simulation control system, method, server and storage medium

Also Published As

Publication number Publication date
WO2008069366A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
KR100756345B1 (en) Robot simulation system using the network
Pitzer et al. Pr2 remote lab: An environment for remote development and experimentation
US20070233280A1 (en) Automatic control system generation for robot design validation
Osentoski et al. Remote Robotic Laboratories for Learning from Demonstration: Enabling user interaction and shared experimentation
Liang et al. Real-time state synchronization between physical construction robots and process-level digital twins
Øvern Industry 4.0-Digital twins and OPC UA
Yang et al. HA R 2 bot: a human-centered augmented reality robot programming method with the awareness of cognitive load
Tiberkak et al. WebRTC-based MOSR remote control of mobile manipulators
KR20210123586A (en) Method and Apparatus for Automatic Control through imitation Learning
Calusdian et al. A simple and highly portable MATLAB interface for learning robotics
Müller et al. Integrating immersive 3D worlds and real lab equipment for teaching mechatronics
Casini et al. RACT: A remote lab for robotics experiments
Zhou et al. Revitalizing Human-Robot Interaction: Phygital Twin Driven Robot Avatar for China–Sweden Teleoperation
Garg Digital Twin for Industrial Robotics
Chan I, Robot
Popescu et al. Web based telematics application for robotics
Stefanuto Development of an open access system for remote operation of robotic manipulators
Pisanelli et al. ROSIE: A ROS Adapter for a Modular Digital Twinning Framework
Turnwald et al. A platform for experimental education of control science
Fratu et al. Robots collision avoidance using learning through imitation
Peirotén López de Arbina et al. Mixed reality for assembly processes, programming and guiding
Pan et al. Integrating extended reality and robotics in construction: A critical review
Vilhelmsson Digital Twin framework for Extended Reality, by integrating Nachi and SCARA Robot in XR-lab
US20200180151A1 (en) System and method for controlling jerk associated with one or more robotic joints
Krüger et al. Exoskeleton control of the robonaut through rapid and ros

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120831

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130830

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140829

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180831

Year of fee payment: 12