KR100565208B1 - 피씨에서의 로봇 제어방법 - Google Patents

피씨에서의 로봇 제어방법 Download PDF

Info

Publication number
KR100565208B1
KR100565208B1 KR1020040038543A KR20040038543A KR100565208B1 KR 100565208 B1 KR100565208 B1 KR 100565208B1 KR 1020040038543 A KR1020040038543 A KR 1020040038543A KR 20040038543 A KR20040038543 A KR 20040038543A KR 100565208 B1 KR100565208 B1 KR 100565208B1
Authority
KR
South Korea
Prior art keywords
command
action table
protocol
result
robot
Prior art date
Application number
KR1020040038543A
Other languages
English (en)
Other versions
KR20050113052A (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 KR1020040038543A priority Critical patent/KR100565208B1/ko
Publication of KR20050113052A publication Critical patent/KR20050113052A/ko
Application granted granted Critical
Publication of KR100565208B1 publication Critical patent/KR100565208B1/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23269Program provides for communication protocol with device, equipment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23275Use of parser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23334Use of table with addresses for different modules, write new table if modified
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32052Lookup table, identify job to be executed by master or slave

Abstract

본 발명은 피씨 상에서 사용자가 지시하는 명령에 따라 로봇을 제어하는 시스템에서 액션 테이블에 기록된 각 인자를 로봇측으로 전달하는 방식으로 다양한 명령을 효율적으로 전달하고, 새로운 기능을 추가하거나 수정하는 것이 용이하도록 하는 기술에 관한 것이다. 이러한 본 발명은 피씨측에서 사용자 명령에 따라 액션 테이블 상에서 각각의 명령과 인자를 특정한 값으로 설정한 후 전송 프로토콜 형태로 만들어 로봇측으로 전송하고, 로봇측에서는 상기 피씨의 액션 테이블과 동일한 액션 테이블을 참조하여 전송받은 각 명령이 구체적으로 어떤 것인지를 분석하여 해당 동작이 수행되도록 하는 명령 전달 및 수행과정과; 로봇측에서, 상기 액션 테이블을 이용하여 명령 수행 결과를 프로토콜 형태로 만들어 피씨측으로 전송하고, 피씨측에서는 상기 전송받은 프로토콜을 분석하여 그 결과를 사용자 인터페이스에 전달하는 명령결과 작성 및 전달과정과; 상기 피씨와 로봇 양측의 액션테이블이 동기화를 이루도록 하며, 구분자를 이용하여 그 액션 테이블을 교환하거나 내용을 수정하는 액션 테이블의 교환 및 수정 처리과정에 의해 달성된다.

Description

피씨에서의 로봇 제어방법{ROBOT CONTROL METHOD IN PERSONAL COMPUTER}
도 1은 본 발명에 의한 로봇 제어방법이 적용되는 피씨 및 로봇의 블록도.
***도면의 주요 부분에 대한 부호의 설명***
10 : 피씨 11 : 사용자 인터페이스
12 : 커맨드 빌더 13,23 : 프로토콜 포맷터
14,24 : 로우 레이어 네트워크 15,25 : 프로토콜 분석기
16,26 : 액션 테이블 17 : 결과 파서
20 : 로봇 21 : 커맨드 집행기
22 : 결과 빌더 27 : 커맨드 파서
본 발명은 피씨 상에서 사용자가 지시하는 명령에 따라 로봇을 제어하기 위한 프로토콜에 관한 것으로, 특히 네트워크를 통해 피씨와 로봇이 연결된 시스템에서 액션 테이블(action-table)에 기록된 각 인자를 로봇측으로 전달하는 방식으로 다양한 명령을 효율적으로 전달하고, 새로운 기능을 추가하거나 수정하는 것이 용이하도록 한 피씨에서의 로봇 제어방법에 관한 것이다.
일반적으로, 네트워크를 통해 피씨와 로봇이 연결된 시스템에서 피씨 상에서 사용자의 명령을 로봇에게 전달하여 원하는 동작이 수행되도록 하고, 그 결과를 사용자에게 알려주는 프로토콜이 사용되었다.
그런데, 종래기술에 의한 피씨와 로봇간의 제어 프로토콜은 로봇을 제어하기 위한 제어 코드를 기반으로 설계되었으므로, 로봇의 기능을 확장하거나 수정하는 경우 프로토콜 자체를 수정해야 하였다.
이와 같이 종래의 피씨 상에서의 로봇 제어기술에 있어서는 상당히 로봇에 의존적인 프로토콜을 사용하였는데, 이는 구현이 간단하다는 장점이 있으나 로봇의 기능이 확장되는 경우 프로토콜 자체를 수정해야 하므로 시간 및 비용 측면에서 비효율적이고, 추후의 관리적인 측면에서도 비효율적인 문제점이 있었다.
즉, 종래의 로봇 제어용 프로토콜은 고정된 필드로 운영되며, 각각의 필드에는 각각 어떠한 것을 나타내는 값이 기입되는지 정해져 있다. 따라서, 만약 어떠한 특정한 기능을 추가하였는데, 이를 위해 프로토콜에 따로 특정한 필드를 정의해야 하는 상황이 발생되면, 프로토콜 자체가 수정되어야 하는 문제점이 있었다.
따라서, 본 발명의 제1목적은 피씨 상에서 로봇을 제어하기 위한 제어코드 및 제어에 필요한 인자 등을 일정한 형식에 맞추어 액션 테이블에 기록해 두고, 그 액션 테이블에 기록된 각 인자를 로봇에게 전달하는 방식으로 필요한 기능이 수행되도록 하는데 있다.
본 발명의 제2목적은 새로 갱신된 액션 테이블을 교환하는 방식을 정의하여, 피씨 혹은 로봇 중에서 어느 한쪽에서만 기능이 추가되거나 변경되는 경우에도 액션 테이블의 동기화가 이루어져 액션 테이블의 불일치로 인한 오동작을 방지하도록 하는데 있다.
본 발명에 의한 피씨에서의 로봇 제어방법은, 피씨측에서 사용자 명령에 따라 액션 테이블 상에서 각각의 명령과 인자를 특정한 값으로 설정한 후 전송 프로토콜 형태로 만들어 피씨 및 로봇의 로우 레이어 네트워크를 통해 로봇측으로 전송하고, 로봇측에서는 상기 피씨의 액션 테이블과 동일한 액션 테이블을 참조하여 전송받은 각 명령이 구체적으로 어떤 것인지를 분석하고, 실제로 그 기능을 수행하는 부분을 호출하여 사용자에 의해 지정된 동작이 수행되도록 하는 명령 전달 및 수행과정과; 로봇측에서, 상기 액션 테이블을 이용하여 명령 수행 결과를 프로토콜 형태로 만들어 피씨측으로 전송하고, 피씨측에서는 상기 전송받은 명령 수행 결과에 대한 프로토콜을 분석하여 그 결과를 사용자 인터페이스에 전달하는 명령결과 작성 및 전달과정과; 상기 피씨와 로봇 양측의 액션테이블이 동기화를 이루도록 하며, 구분자를 이용하여 그 액션 테이블을 교환하거나 내용을 수정하는 액션 테이블의 교환 및 수정 처리과정으로 이루어지는 것으로, 이와 같이 이루어지는 본 발명의 로봇 제어 처리과정을 첨부한 도 1을 참조하여 설명하면 다음과 같다.
본 발명에 의한 로봇 제어방법을 설명함에 있어서, 명령 전달 및 수행과정, 명령 결과 작성 및 전달과정, 액션 테이블의 교환과 수정 처리과정으로 구분하여 설명한다.
첫째, 명령 전달 및 수행과정에 대하여 설명하면 다음과 같다.
먼저, 피씨(10)측에서 커맨드 빌더(Command Builder)(12)는 사용자 인터페이스(11)를 통해 하달된 명령을 분석하고 필요한 인자들을 제작하는 역할을 수행한다. 예를 들어, 사용자가 로봇(20)에게 '가라'라는 명령을 하달할 때, 어느 방향(예: 오른쪽)으로 어느 정도 속도(예: 보통 속도)로 가야 하는지에 대한 인자가 필요하게 된다. 따라서, 이를 위해 액션 테이블(16) 상에서 각각의 명령과 인자를 특정한 값으로 설정하게 된다.
이에 대해 상기 명령을 예로 들면, 명령을 하달한 것이므로 구분자가 'C'로 설정되고, '가라'는 명령이 '11', '오른쪽'은 인자1로써 R, '보통속도'는 인자2로써 N이라고 정의되어 있다면 이에 대한 액션테이블(16)은 다음의 [표1]과 같이 작성되며, 이렇게 작성된 각각의 명령은 결과를 전송받을 때까지 보관된다.
예) 구분자 = C, 명령 = 11, 인자개수 = 2, 인자1 = R, 인자2 = N
Figure 112004022992642-pat00001
프로토콜 포맷터(13)는 상기 커맨드 빌더(12)가 작성한 명령과 인자들을 실제로 로봇(20)에게 전송하기 위하여 프로토콜 형태로 만들어주는 역할을 수행한다. 이에 의해 작성된 프로토콜은 '구분자&명령&인자개수&인자1&인자2&인자3…&인자n'과 같은 형태를 가지며, 실제로 위에서 받은 명령과 인자들을 이 형태에 맞게 작성한다.
예) C&11&2&R&N
피씨(10) 및 로봇(20)측에서, 로우 레이어 네트워크(Low-Layer Network)(14),(24)는 프로토콜 포맷터(13),(23)로부터 각기 하달되는 프로토콜을 패킷으로 만들어 목적지로 전송하고, 다른 곳으로부터 전송되어 오는 패킷을 받아 프로토콜 분석기(Protocol analyzer)(15),(25)에 전달하는 역할을 수행한다. 이들은 하부 구조로써 기존에 구현된 여러 네트워크 구조를 이용한다. 여기에서는 각 명령이 어디로 전송되어야 하고, 어디로부터 전송되어 왔는지 분석하는 작업이 수행된다.
로봇(20)측에서 프로토콜 분석기(25)는 상기 로우 레이어 네트워크(24)로부터 전달받은 명령 프로토콜을 해석하는 역할을 수행한다. 상기 예에서 전송된 명령 프로토콜을 예로하여 설명하면, 상기 프로토콜 분석기(25)는 'C&01&R&N&2'라는 프로토콜을 전달받는다. 여기서 첫 번째의 'C'는 구분자, 두 번째의 '01'은 명령, 세 번째의 'R'은 인자1, 네 번째의 'N' 은 인자2로 분석해 낸다. 이렇게 각기 분석된 요소들이 커맨드 파서(Command Parser)(27)로 전달된다.
로봇(20)측에서도 상기 피씨(10)의 액션 테이블(16)과 동일한 액션 테이블(26)을 구비하고 있는데, 이를 참조하여 각 명령이 구체적으로 어떤 것인지를 분석해 낼 수 있다. 상기 액션 테이블(26)은 상기 [표1]과 같은 액션 테이블을 가지고 있다.
상기 [표1]에서 구분자가 'C'로 설정되어 있으므로 명령이라는 것을 알 수 있다. 따라서, 액션 테이블(26)에서 명령 부분을 검색하여 '11'이라는 코드를 찾는다. 상기 '11' 코드는 2개의 인자로 이루어져 있으며, 각각의 인자가 무엇인지 액션테이블(26)에 정의되어 있다.
먼저, 구분자가 'C'이므로 액션 테이블(26) 상에서 C 부분을 검색한다. 그 다음 명령이 '11'로 되어 있으므로 '가라'는 명령이 전송되어 왔음을 알 수 있다. 그 다음 맨 마지막의 인자개수를 근거로 인자가 2개 필요함을 알 수 있다. 상기 2 인자 중에서 인자1은 R이므로 방향이 오른쪽임을 알 수 있고, 인자2는 N이므로 보통속도임을 알 수 있다.
이렇게 분석된 인자들은 커맨드 집행기(Command Executer)(21)를 통해 실제로 그 기능을 수행하는 부분을 호출하여 사용자에 의해 지정된 동작을 수행하게 된다. 즉, 커맨드 집행기(21)는 상기 액션 테이블(26)에 정의된 대로 다음과 같이 함수를 호출하여 해당 기능을 수행한다. 상기 예에서, 액션 테이블(26)의 실행 함수가 'run'이므로 해당 함수에 해당 개수의 인자를 순서대로 기입하여 호출하면 된다.
예) result = run(R,N);
둘째, 명령 결과 작성 및 전달과정에 대하여 설명하면 다음과 같다.
상기 과정에서 'result = run(R,N);'을 수행한 결과가 보관되는데, 이 결과는 단순히 하나의 값이 되는 경우도 있지만, 복잡한 여러 개의 값이 될 수도 있다. 상기 예에서 보면, 액션 테이블(26)에서 결과가 성공여부에 대한 1개이고, 이는 성공 혹은 실패의 2개의 경우만을 가짐을 알 수 있다. 이를 작성할 때 역시 액션 테이블(26)의 R 파트를 참조하게 되는데, 여기에는 다음의 [표2]에서와 같이, 어떤 명령에 대한 결과인지, 각각의 코드는 무엇인지, 결과값의 개수와 그에 대한 설명 등이 존재한다.
Figure 112004022992642-pat00002
상기 액션 테이블(26)에서, '가라'라는 명령에 대한 코드는 '11'이고, 결과 코드는 '21'임을 알 수 있다. 결과 부분에서도 마찬가지로 확인을 위해 하나의 결과 코드에 대한 명령 코드가 같이 존재한다. 즉, 현재는 결과 코드 '21'번을 사용하게 된다. 왜냐하면, '11'번 '가라' 명령에 대한 결과이기 때문이다. 구분자는 결과를 나타내는 것이므로 'R'이 되며, 여기서 결과값은 1개이고, 결과값은 'S' 또는 'F'로 성공 여부를 나타낸다. 상기 예에서는 성공적인 결과라고 가정하고 결과값 1을 'S'라고 하였다. 이렇게 작성된 결과는 프로토콜 포맷터(23)에 전달된다.
상기 프로토콜 포맷터(23)는 상기 명령 전달과정에서와 거의 같은 역할을 수행하며, 결과의 포맷만 약간 변경된다. 결과의 포맷은 명령의 포맷과 비슷하게 '구분자&결과코드&결과값 개수&결과값1&결과값2&…&결과값n'의 형식으로 되어 있다. 상기 결과를 바탕으로 작성된 프로토콜은 다음과 같다.
예) R&21&1&S
명령 결과를 작성하고 전달하는 과정에서 피씨(10) 및 로봇(20)측의 로우 레이어 네트워크(14),(24)는 상기 명령 전달 및 수행과정에서와 거의 동일한 역할을 수행한다.
피씨(10)측에서 프로토콜 분석기(15)는 상기 설명에서와 마찬가지로 'R&21&1&S'와 같은 프로토콜 문자열을 전달받아 구분자=R, 결과코드=21, 결과값 개수=1, 결과값1=S로 분석해 내며, 이렇게 분석된 결과는 결과 파서(Result Parser)(17)에 전달된다.
상기 설명에서와 같이 피씨(10)에서도 상기 로봇(20)의 액션 테이블(26)과 동일한 액션 테이블(16)을 가지고 있다. 따라서, 결과의 분석도 그 액션 테이블(16)을 따르게 되는데, [표2]는 로봇(20)이 가지고 있던 액션 테이블(26)의 결과를 그대로 옮겨 놓은 액션 테이블(16)이다.
상기 액션 테이블(16)에서, 구분자가 'R'이므로 결과라는 것을 인식한 후 그 액션 테이블(16)에서 명령 부분을 검색한다. 그 다음 결과 코드 '21'을 찾으면 명령 '11'에 대한 것임을 알 수 있다. 즉, '가라'라는 명령에 대한 것이다. 피씨(10)측에서 명령을 하달할 때, 그에 대한 결과를 전송받을 때까지 해당 명령을 보관하고 있으므로 어떤 명령이 어떤 결과를 가져왔는지 모두 알 수 있게 된다. 여기에서는 결과가 'S'였으므로 명령이 성공적으로 수행되었다는 사실을 피씨(10)측에서 알 수 있게 된다.
이렇게 분석된 결과는 필요에 따라 사용자 인터페이스(11)로 전달하여 명령을 하달한 사용자에게 전달되도록 한다. 이러한 기능은 디버깅에 유용하게 사용될 수 있다. 또한, 액션 테이블(16)에 결과를 전달할지의 여부를 정의해 놓을 수도 있는데, 이렇게 하면 개발시 유용하게 사용될 수 있다.
셋째, 상기 액션 테이블(16),(26)의 교환과 수정 처리과정에 대하여 설명하면 다음과 같다.
상기 설명에서와 같이 피씨(10)와 로봇(20)간의 명령 전달 및 수령 과정은 크게 두 가지 과정으로 이루어진다. 이러한 동작을 원활하고 정확하게 수행하기 위해서는 피씨(10)와 로봇(20)이 가지고 있는 액션테이블(16),(26) 자체가 서로 동일해야 한다. 즉, 양측의 액션테이블(16),(26)이 동기화를 이루어야 한다.
상기 액션테이블(16),(26)을 교환하거나 내용을 수정할 필요가 있을 경우 프로토콜의 구분자를 사용할 수 있다.
예를 들어, 액션테이블(16),(26)의 교환이 필요한 경우 구분자를 AE(AE: Action table Exchange)와 같이 설정하고, 그 뒤에 테이블의 내용을 일정 단위마다 여러 개의 인자들에 실어서 전송할 수 있다.
또한, 액션테이블(16),(26)의 내용을 수정할 필요가 있을 경우에는 AM(AM: Action table Modify)의 구분자를 가지고 복수의 인자들을 이용하여 내용을 수정할 수 있다. 인자의 개수에 대한 제한은 없으나, 통신상의 효율성 및 에러 처리의 용이성을 위하여 일정 단위로 분류하여 수정하는 것이 바람직하다. 한 개의 명령 또는 결과의 단위로 액션테이블(16),(26)을 교환하거나 내용을 수정할 수 있도록 한 다.
이와 같은 액션 테이블(16),(26)의 동기화 작업은 피씨(10)와 로봇(20) 상호간의 니고시에이션(negotiation)을 이룬 후에 수행하게 되는데, 왜냐하면 오동작을 방지하여 액션테이블(16),(26)의 불일치 현상을 방지하기 위함이다.
결국, 상기 설명에서와 같이 액션 테이블(16),(26)을 운용하는 로봇 제어방법은 크게 다음과 같은 세가지의 특징이 있다.
첫째, 본 발명에 의한 액션 테이블 방식은 기능 변경시 유연성을 제공하는 특징이 있다.
즉, 본 발명에 의한 액션 테이블 방식의 프로토콜은 고정된 방식이 아니라 인자의 개수를 가변적으로 운영할 수 있도록 되어 있다. 하지만, 모든 기능에 동일한 개수의 인자가 필요한 것이 아니므로, 유동적이어야 한다. 따라서, 각 기능에 대해 몇 개의 인자가 어떻게 사용되고 있는지에 대해 액션 테이블(16),(26)에 정의되어 있고, 이를 통해서 각각의 인자가 어떻게 사용되어야 할 지가 결정된다. 결과 처리시에도 유사한 구조를 이용함으로써, 복합적인 결과를 받아야 할 필요가 있을 때, 유연하게 사용될 수 있다. 다시 말해서, 새로운 기능을 구현하고 이를 사용하고자 할 때에는 해당 기능을 구현한 후 이를 액션 테이블(16),(26)에 등록만 시켜주면 된다. 이때 피씨(10)와 로봇(20) 양측의 액션 테이블(16),(26)의 내용이 모두 같아야 한다.
둘째, 본 발명에 의한 액션 테이블 방식은 광범위한 적용성을 갖는 특징이 있다.
즉, 액션 테이블 방식을 이용하는 프로토콜은 비단 피씨(10)와 로봇(20) 사이의 통신 뿐만 아니라, 다른 영역에서도 사용될 수 있다. 서버-클라이언트 구조를 가지는 경우라면 역시 적용이 가능하다. 피씨와 씨씨티브이(CCTV) 장비들을 연동하는 경우나, 장비-장비 간의 통신의 경우 역시 적용될 수 있다. 여기서, 중요한 점은 기본적인 구조(infrastructure) 자체는 크게 변하지 않는 다는 것이다. 단지, 액션 테이블(16),(26)이 변화되며, 대부분의 경우 이 액션 테이블(16),(26)의 수정만으로 여러 용도에 적용할 수 있게 된다.
셋째, 본 발명에 의한 액션 테이블 방식은 용이한 접근성을 갖는 특징이 있다.
프로토콜이라 함은 복수의 독립체가 통신을 하기 위하여 미리 정해진 통신 규약을 일컫는 것으로, 기존의 프로토콜은 그 용도와 상황에 맞게 고정된 형태를 가지고 있는 경우가 대부분이다. 만약, 소정의 프로토콜로 통신하는 두 장비가 새로운 상황에 대처하고자 할 때 즉, 기능의 변경을 필요로 할 때 프로토콜의 수정이 필요한 경우가 발생되는데, 이 때 문제가 되는 것은 프로토콜이 접근하기 쉽게 구성되어 있는지의 여부이다. 만약, 이해하기 어렵고 기능에 상당히 의존적인 프로토콜이라면, 기능 전체와 동작을 이해하지 않고서는 변경할 수 없게 된다.
이러한 점에서 본 발명에 의한 액션 테이블 방식은 새로운 장점을 제공한다. 왜냐하면 기능 변경을 위해 시스템을 분석할 필요가 있을 때, 기존 프로토콜의 경우에는 하나 하나의 필드가 어떤 의미를 가지고 있고, 어떻게 사용되어야 하는지를 먼저 분석하고 기능과의 연계성을 찾아야 하지만, 본 발명에서는 대부분의 경우 액 션 테이블(16),(26)을 상황에 맞추어 분석하는 것으로 쉽게 수정할 수 있기 때문이다. 즉, 기존 방식의 프로토콜은 변경을 위해 그를 구성하고 있는 소스 코드를 살펴서 그를 수정해야 하는 난해함이 있었으나, 본 발명에 의한 액션 테이블 방식에서는 소스코드까지 살펴보지 않고도 상당수의 기능 확장이 가능하다는 접근성의 용이함이 있다.
이상에서 상세히 설명한 바와 같이 본 발명은 피씨 상에서 로봇을 제어하기 위한 제어코드 및 제어에 필요한 인자 등을 일정한 형식에 맞추어 액션 테이블에 기록해 두고, 그 액션 테이블에 기록된 각 인자를 로봇에게 전달하는 방식으로 필요한 기능이 수행되도록 함으로써, 기능 변경시 유연하게 사용할 수 있는 효과가 있고, 광범위한 적용성과 용이한 접근성을 발휘할 수 있는 효과가 있다.

Claims (7)

  1. 피씨측에서 사용자 명령에 따라 액션 테이블 상에서 각각의 명령과 인자를 특정한 값으로 설정한 후 전송 프로토콜 형태로 만들어 로봇측으로 전송하고, 로봇측에서는 상기 피씨의 액션 테이블과 동일한 액션 테이블을 참조하여 전송받은 각 명령이 구체적으로 어떤 것인지를 분석하여 해당 동작이 수행되도록 하는 명령 전달 및 수행과정과;
    로봇측에서, 상기 액션 테이블을 이용하여 명령 수행 결과를 프로토콜 형태로 만들어 피씨측으로 전송하고, 피씨측에서는 상기 전송받은 프로토콜을 분석하여 그 결과를 사용자 인터페이스에 전달하는 명령결과 작성 및 전달과정과;
    상기 피씨와 로봇 양측의 액션테이블이 동기화를 이루도록 하며, 구분자를 이용하여 그 액션 테이블을 교환하거나 내용을 수정하는 액션 테이블의 교환 및 수정 처리과정으로 이루어지는 것을 특징으로 하는 피씨에서의 로봇 제어방법.
  2. 제1항에 있어서, 명령 전달 및 수행과정은 피씨의 커맨드 빌더가 사용자 명령에 따라 액션 테이블 상에서 각각의 명령과 인자를 특정한 값으로 설정하는 제1단계와;
    프로토콜 포맷터가 상기 커맨드 빌더에 의해 작성된 명령과 인자들을 로봇에 전송하기 위하여 프로토콜 형태로 만들어주는 제2단계와;
    피씨 및 로봇측에서, 로우 레이어 네트워크가 각각의 프로토콜 포맷터로부터 하달되는 프로토콜을 패킷으로 만들어 목적지로 전송하고, 다른 곳으로부터 전송되어 오는 패킷을 프로토콜 분석기에 전달하는 제3단계와;
    상기 로봇측의 프로토콜 분석기가 상기 전달받은 명령 프로토콜을 해석하여, 분석된 각 요소들을 커맨드 파서로 전달하는 제4단계와;
    로봇측에서, 상기 피씨의 액션 테이블과 동일한 액션 테이블을 참조하여 각 명령이 구체적으로 어떤 것인지를 분석하고, 그 분석된 인자들은 커맨드 집행기를 통해 실제로 그 기능을 수행하는 부분을 호출하여 사용자에 의해 지정된 동작이 수행되도록 하는 제5단계로 이루어지는 것을 특징으로 하는 피씨에서의 로봇 제어방법.
  3. 제2항에 있어서, 액션 테이블은 구분자, 명령코드, 인자개수, 인자, 실행함수, 결과의 요소로 이루어지는 것을 특징으로 하는 피씨에서의 로봇 제어방법.
  4. 제1항에 있어서, 명령결과 작성 및 전달과정은 로봇측에서, 상기 액션 테이블을 이용하여 명령 수행 결과를 작성하는 제1단계와;
    로봇측의 프로토콜 포맷터에서 상기 명령 수행 결과를 바탕으로 프로토콜을 작성하는 제2단계와;
    상기 작성된 프로토콜을 피씨 및 로봇의 로우 레이어 네트워크를 통해 피씨측으로 전송하는 제3단계와;
    피씨측에서, 상기 전송받은 명령 수행 결과에 대한 프로토콜을 분석하여 그 결과를 결과 파서에 전달하는 제4단계와;
    상기 전달받은 분석된 결과를 사용자 인터페이스에 전달하여 명령을 하달한 사용자에게 전달되도록 하는 제5단계로 이루어지는 것을 특징으로 하는 피씨에서의 로봇 제어방법.
  5. 제4항에 있어서, 제1단계의 수행 결과에는 명령 수행의 성공 여부를 나타내는 정보를 포함하는 것을 특징으로 하는 피씨에서의 로봇 제어방법.
  6. 제4항에 있어서, 제2단계의 프로토콜은 구분자,결과코드, 결과값 개수, 결과값의 요소로 이루어지는 것을 특징으로 하는 피씨에서의 로봇 제어방법.
  7. 제1항에 있어서, 액션 테이블의 교환 및 수정 처리과정은 액션테이블의 교환이 필요한 경우 구분자를 AE와 같이 설정하고, 그 뒤에 테이블의 내용을 일정 단위마다 여러 개의 인자들에 실어서 전송하는 것을 특징으로 하는 피씨에서의 로봇 제어방법.
KR1020040038543A 2004-05-28 2004-05-28 피씨에서의 로봇 제어방법 KR100565208B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040038543A KR100565208B1 (ko) 2004-05-28 2004-05-28 피씨에서의 로봇 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040038543A KR100565208B1 (ko) 2004-05-28 2004-05-28 피씨에서의 로봇 제어방법

Publications (2)

Publication Number Publication Date
KR20050113052A KR20050113052A (ko) 2005-12-01
KR100565208B1 true KR100565208B1 (ko) 2006-03-30

Family

ID=37287835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040038543A KR100565208B1 (ko) 2004-05-28 2004-05-28 피씨에서의 로봇 제어방법

Country Status (1)

Country Link
KR (1) KR100565208B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100753054B1 (ko) * 2005-12-30 2007-08-31 한국생산기술연구원 모듈 기반 퍼스널 로봇의 폴트 톨러런트 지원을 위한네트워크 연결 유지 관리 시스템과 네트워크 연결 유지관리 방법 및 이를 기록한 기록매체

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950029732U (ko) * 1994-04-13 1995-11-17 실시간 운영체제를 이용한 셀시스템
KR20000074695A (ko) * 1999-05-25 2000-12-15 김인광 음향 또는 음성의 패턴 인식을 이용한 완구의 동작 제어 방법
KR20020030298A (ko) * 2000-10-17 2002-04-25 김형벽ㅂ 산업용 퍼스널 컴퓨터를 기반으로 하는 갠트리형로봇시스템 및 그 제어방법
KR20020051050A (ko) * 2000-12-22 2002-06-28 강대희 마스코트 로봇 시스템 및 그 제어방법
KR20030081370A (ko) * 2000-12-28 2003-10-17 로보틱 워크스페이스 테크놀로지스, 인크. 다기능 로봇 제어 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950029732U (ko) * 1994-04-13 1995-11-17 실시간 운영체제를 이용한 셀시스템
KR20000074695A (ko) * 1999-05-25 2000-12-15 김인광 음향 또는 음성의 패턴 인식을 이용한 완구의 동작 제어 방법
KR20020030298A (ko) * 2000-10-17 2002-04-25 김형벽ㅂ 산업용 퍼스널 컴퓨터를 기반으로 하는 갠트리형로봇시스템 및 그 제어방법
KR20020051050A (ko) * 2000-12-22 2002-06-28 강대희 마스코트 로봇 시스템 및 그 제어방법
KR20030081370A (ko) * 2000-12-28 2003-10-17 로보틱 워크스페이스 테크놀로지스, 인크. 다기능 로봇 제어 시스템

Also Published As

Publication number Publication date
KR20050113052A (ko) 2005-12-01

Similar Documents

Publication Publication Date Title
US7752598B2 (en) Generating executable objects implementing methods for an information model
US9712431B2 (en) Methods for managing transaction in software defined network
KR100791429B1 (ko) Nas snmp 단일 시스템 이미지
CN107493266B (zh) 嵌入式自助终端的通信系统、方法及装置
CN105723674A (zh) 用于在网络控制协议中动态地绑定头字段标识符的方法
US20080059436A1 (en) Providing a visual representation of a sub-set of a visual program
CN112887309B (zh) 一种工业协议解析系统
US8386556B2 (en) Composing message processing pipelines
US20070288512A1 (en) Resource management program, resource management process, and resource management apparatus
WO2000020966A1 (fr) Dispositif de cooperation objets
CN116346948A (zh) 一种基于微服务的多协议规约转换方法及系统
Kraemer et al. Aligning UML 2.0 state machines and temporal logic for the efficient execution of services
KR100565208B1 (ko) 피씨에서의 로봇 제어방법
May et al. An RPC design for wireless sensor networks
CN104426715A (zh) 一种分布式测试工具控制方法
Alonistioti et al. Generic architecture and mechanisms for protocol reconfiguration
Baer et al. The spica development framework-model-driven software development for autonomous mobile robots
Kokash et al. A semantic model for service composition with coordination time delays
Poizat et al. An adaptation-based approach to incrementally build component systems
CN112448971B (zh) 数据解析平台、数据解析方法及存储介质
Canal et al. Stability-based adaptation of asynchronously communicating software
Abu-Jassar Mathematical tools for SDN formalisation and verification
Vossberg et al. A reliable DICOM transfer grid service based on Petri net workflows
JP4518350B2 (ja) 構造化メッセージを用いたオブジェクト連携システム
Dahmani et al. Compatibility Control of Asynchronous Communicating Systems with Unbounded Buffers.

Legal Events

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

Payment date: 20091230

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee