KR100224865B1 - 로봇 제어방법 - Google Patents
로봇 제어방법 Download PDFInfo
- Publication number
- KR100224865B1 KR100224865B1 KR1019970041616A KR19970041616A KR100224865B1 KR 100224865 B1 KR100224865 B1 KR 100224865B1 KR 1019970041616 A KR1019970041616 A KR 1019970041616A KR 19970041616 A KR19970041616 A KR 19970041616A KR 100224865 B1 KR100224865 B1 KR 100224865B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- frame
- address
- byte
- data
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
본 발명의 로봇 제어 방법은, (11) PC를 사용하여 로봇 제어 프로그램을 작성하는 단계를 포함한다. 다음에 (12) 작성된 로봇 제어 프로그램을 실행하여, 그 명령어들을 직렬 데이터 통신 규격에 따라 로봇 제어기에 전송한다. 다음에 (13) 로봇 제어기에 입력된 직렬 데이터 프레임이 로봇 구동 프레임에 해당되는지를 판별한다. (14) 직렬 데이터 프레임이 로봇 구동 프레임에 해당되면, 그중에서 로봇 구동에 사용되는 구동 데이터만을 추출하여, 순차적으로 램에 저장한다. 또한, (15) 램에 저장된 순서대로 구동 데이터를 판독하여, 이에 해당된 로봇 구동 루틴을 실행한다. (16) 직렬 데이터 프레임이 로봇 구동 프레임에 해당되지 않으면, 이에 해당된 서비스 루틴을 실행한다.
Description
본 발명은 로봇 제어 방법에 관한 것이다.
도 1에는 종래의 로봇 제어 방법이 개략적으로 도시되어 있다. 도면을 참조하여 종래의 로봇 제어 방법을 순차적으로 설명한다.
먼저 사용자는 로봇 제어기(12)에 내장된 기본 제어 프로그램을 로딩한다. 다음에 로봇 전용 입력 장치인 티칭 팬던트(Teaching Pendant, 11)를 사용하여 로봇 제어 프로그램을 작성한다. 이때, 로봇 제어 프로그램의 작성 도중에 로봇(13)은 구동되지 않는다. 상기 기본 제어 프로그램은 로봇 시스템의 기종 별로 서로 다른 특수 언어로 작성되어 있고, 그 특성상 로봇(13)을 단계적으로 제어할 수 없다. 즉, 티칭 팬던트(11)에 의하여 기본 제어 프로그램이 완성됨으로써 그 실행이 가능하다. 따라서, 사용자는 로봇을 구동하지 못한 상태에서 로봇 제어 프로그램을 작성해야 한다. 이와 같이 완성된 로봇 제어 프로그램이 로봇 제어기(12)에서 로딩되고 실행됨으로써, 로봇(13)의 제어가 가능하다.
상기와 같은 종래의 로봇 제어 방법은, 사용자가 로봇을 구동하지 못한 상태에서 로봇 제어 프로그램을 작성해야 하므로, 사용자의 경험 및 상상력에 의존하여 로봇 제어 프로그램이 작성된다. 이에 따라, 로봇 제어의 용이성, 정확도 및 정밀도가 떨어질 뿐만 아니라, 그 응용 범위가 제한된다.
본 발명의 목적은, PC를 사용하여 로봇을 단계적으로 제어할 수 있는 로봇 제어 방법을 제공하는 것이다.
도 1은 종래의 로봇 제어 방법을 나타낸 개략적 블록도이다.
도 2는 본 발명에 따른 로봇 제어 방법을 나타낸 개략적 블록도이다.
도 3은 도 2의 방법을 실현하기 위한 알고리듬의 흐름도이다.
도 4는 도 3의 알고리듬에 적용되는 로봇 구동 프레임의 구성도이다.
도 5는 도 3의 알고리듬에 적용되는 램의 제어 블록도이다.
도 6은 도 3의 알고리듬에서 단계 34를 수행하기 위한 상세 알고리듬의 흐름도이다.
도 7은 도 3의 알고리듬에서 단계 35를 수행하기 위한 상세 알고리듬의 흐름도이다.
도면의 주요 부분에 대한 부호의 설명
21...PC, 22...로봇 제어기,
23...로봇, 41...로봇 구동 프레임,
51...램, 52...실행 포인터,
53...저장 포인터.
상기 목적을 달성하기 위한 본 발명의 로봇 제어 방법은, (11) PC를 사용하여 로봇 제어 프로그램을 작성하는 단계를 포함한다. 다음에 (12) 작성된 로봇 제어 프로그램을 실행하여, 그 명령어들을 직렬 데이터 통신 규격에 따라 로봇 제어기에 전송한다. 다음에 (13) 로봇 제어기에 입력된 직렬 데이터 프레임이 로봇 구동 프레임에 해당되는지를 판별한다. (14) 상기 직렬 데이터 프레임이 로봇 구동 프레임에 해당되면, 그중에서 로봇 구동에 사용되는 구동 데이터만을 추출하여, 순차적으로 램에 저장한다. 또한, (15) 상기 램에 저장된 순서대로 구동 데이터를 판독하여, 이에 해당된 로봇 구동 루틴을 실행한다. (16) 상기 직렬 데이터 프레임이 로봇 구동 프레임에 해당되지 않으면, 이에 해당된 서비스 루틴을 실행한다.
본 발명에 따른 상기 로봇 제어 프로그램의 명령어들은 직렬 데이터 통신 규격에 따라 로봇 제어기에 전송되므로, PC에 의하여 로봇이 단계적으로 제어될 수 있다.
바람직하게는, 상기 직렬 데이터 프레임은 헤더 바이트, 토큰 바이트, 텍스트 시작 바이트, 에러 정보 바이트, 데이터 바이트, 그룹 정보 바이트, 점검(checksum) 바이트 및 텍스트 종료 바이트가 직렬 연결된다. 상기 헤더 바이트는 프레임의 시작 위치를 알려준다. 상기 토큰 바이트는 프레임의 기능적 종류를 알려준다. 상기 텍스트 시작 바이트는 텍스트의 시작을 알려준다. 상기 에러 정보 바이트는 에러 발생시 에러 번호를 알려주기 위하여 마련된다. 상기 데이터 바이트에는 실제 유효 정보가 저장된다. 상기 그룹 정보 바이트는 프레임의 그룹 정보를 알려주기 위하여 마련된다. 상기 점검 바이트는 프레임의 통신 에러 유무를 확인할 때 사용된다. 상기 텍스트 종료 바이트는 텍스트의 종료를 알려준다.
한편으로는, 상기 단계 (13)은 상기 토큰 바이트의 정보에 따라 수행된다. 상기 에러 정보 바이트 및 데이터 바이트는 각각 복수의 바이트들로 되어 있다. 상기 단계 (14) 및 (15)는 실행 포인터 및 저장 포인터를 사용하여 수행된다. 상기 실행 포인터는, 상기 램에 순차적으로 저장된 구동 데이터 중에서, 현재 실행될 구동 데이터의 어드레스를 가리킨다. 상기 저장 포인터는 상기 램에 현재 저장될 구동 데이터의 어드레스를 가리킨다.
상기 단계 (14)는, 상기 실행 포인터의 어드레스와 상기 저장 포인터의 어드레스와의 차를 계산하는 단계를 포함한다. 계산된 어드레스의 차가 상기 램의 최종 어드레스와 같으면, 용량 에러 신호를 상기 PC에 전송한다. 계산된 어드레스의 차가 상기 램의 최종 어드레스보다 적으면, 상기 저장 포인터의 어드레스에 상기 구동 데이터를 저장한다.
상기 단계 (15)는, 상기 실행 포인터가 가리킨 어드레스의 구동 데이터를 판독하는 단계를 포함한다. 다음에 상기 실행 포인터의 어드레스를 다음 어드레스로 증가시킨다. 다음에 판독된 구동 데이터에 해당되는 구동 루틴의 실행 가능 여부를 판단한다. 상기 구동 루틴의 실행이 불가능하다고 판단되면, 제1 실행 에러 신호를 상기 PC에 전송한다. 상기 구동 루틴의 실행이 가능하다고 판단되면 이를 실행한다. 상기 구동 루틴의 실행중에 에러가 발생되면, 제2 실행 에러 신호를 상기 PC에 전송한다.
이하 본 발명에 따른 바람직한 실시예를 상세히 설명한다.
도 2를 참조하면, 본 발명에 따른 로봇 제어 방법은, PC(21)를 사용하여 로봇 제어 프로그램을 작성하는 단계를 포함한다. 다음에 작성된 로봇 제어 프로그램을 실행하여, 그 명령어들을 직렬 데이터 통신 규격에 따라 로봇 제어기(22)에 전송한다. 이에 따라 로봇 제어기(22)는, 아래에 설명되어 있는 알고리듬에 따라 로봇(23)을 단계적으로 제어할 수 있다.
도 3에는 도 2의 방법을 실현하기 위한 알고리듬이 도시되어 있다. 이를 상술하면, 먼저 PC(21)를 사용하여 로봇 제어 프로그램을 작성한다(단계 31). 다음에 작성된 로봇 제어 프로그램을 실행하여, 그 명령어들을 직렬 데이터 통신 규격에 따라 로봇 제어기(22)에 전송한다(단계 32). 다음에 로봇 제어기(22)에 입력된 직렬 데이터 프레임이 로봇 구동 프레임에 해당되는지를 판별한다(단계 33). 직렬 데이터 프레임이 로봇 구동 프레임에 해당되면, 그중에서 로봇 구동에 사용되는 구동 데이터만을 추출하여, 순차적으로 램에 저장한다(단계 34). 또한, 램에 저장된 순서대로 구동 데이터를 판독하여, 이에 해당된 로봇 구동 루틴을 실행한다(단계 35). 직렬 데이터 프레임이 로봇 구동 프레임에 해당되지 않으면, 이에 해당된 서비스 루틴을 실행한다(단계 36). 상기 단계 33부터 36까지는 실행 종료 명령이 입력될 때까지 반복된다(단계 37).
도 4에는 도 3의 알고리듬에 적용되는 로봇 구동 프레임의 구성이 도시되어 있다. 도 4를 참조하면, 본 발명에 따른 상기 직렬 데이터 프레임(41)은 헤더 바이트(SOH), 토큰 바이트(TOK), 텍스트 시작 바이트(STX), 에러 정보 바이트(ER1, ER2), 데이터 바이트(DATA), 그룹 정보 바이트(GS), 점검 바이트(CS) 및 텍스트 종료 바이트(ETX)가 직렬 연결된다. 헤더 바이트(SOH)는 프레임(41)의 시작 위치를 알려준다. 토큰 바이트(TOK)는 프레임(41)의 기능적 종류를 알려준다. 텍스트 시작 바이트(STX)는 텍스트의 시작을 알려준다. 에러 정보 바이트(ER1, ER2)는 에러 발생시 에러 번호를 알려주기 위하여 마련된다. 데이터 바이트(DATA)에는 실제 유효 정보가 저장된다. 그룹 정보 바이트(GS)는 프레임(41)의 그룹 정보를 알려주기 위하여 마련된다. 점검 바이트(CS)는 프레임(41)의 통신 에러 유무를 확인할 때 사용된다. 텍스트 종료 바이트(ETX)는 텍스트의 종료를 알려준다.
상기 단계 33(도 3을 참조)은 토큰 바이트(TOK)의 정보에 따라 수행된다. 한편, 에러 정보 바이트(ER1, ER2) 및 데이터 바이트(DATA)는 각각 복수의 바이트들로 되어 있다.
도 5를 참조하면, 도 3의 알고리듬에서 단계 (34) 및 (35)는 실행 포인터(52) 및 저장 포인터(53)를 사용하여 수행된다. 실행 포인터(52)는, 램(51)에 순차적으로 저장된 구동 데이터 중에서, 현재 실행될 구동 데이터의 어드레스를 가리킨다. 저장 포인터(53)는 램(51)에 현재 저장될 구동 데이터의 어드레스를 가리킨다.
도 6에는 도 3의 알고리듬에서 단계 34를 수행하기 위한 상세 알고리듬이 도시되어 있다. 이를 상술하면, 먼저 실행 포인터(도 5의 52)의 어드레스와 저장 포인터(도 5의 53)의 어드레스와의 차를 계산한다(단계 341). 계산된 어드레스의 차가 램(도 5의 51)의 최종 어드레스와 같으면, 용량 에러 신호를 PC(도 2의 21)에 전송한다(단계 342 및 344). 계산된 어드레스의 차가 램(51)의 최종 어드레스보다 적으면, 저장 포인터(53)의 어드레스에 상기 구동 데이터를 저장한다.
도 7에는 도 3의 알고리듬에서 단계 35를 수행하기 위한 상세 알고리듬이 도시되어 있다. 이를 상술하면, 먼저 실행 포인터(도 5의 52)가 가리킨 어드레스의 구동 데이터를 판독한다(단계 351). 다음에 실행 포인터(52)의 어드레스를 다음 어드레스로 증가시킨다(단계 352). 다음에 판독된 구동 데이터에 해당되는 구동 루틴의 실행 가능 여부를 판단한다(단계 353). 해당되는 구동 루틴의 실행이 불가능하다고 판단되면, 제1 실행 에러 신호를 PC(도 2의 21)에 전송한다(단계 355). 해당되는 구동 루틴의 실행이 가능하다고 판단되면 이를 실행한다(단계 354). 상기 구동 루틴의 실행중에 에러가 발생되면(단계 356), 제2 실행 에러 신호를 PC(21)에 전송한다(단계 357).
이상 설명된 바와 같이, 본 발명에 따른 로봇 제어 방법에 의하면, PC를 사용하여 로봇을 단계적으로 제어할 수 있으므로, 로봇 제어의 사용성, 정확도 및 정밀도가 높아지고 그 응용 범위가 넓어진다.
본 발명은 상기 실시예에 한정되지 않고, 당업자의 수준에서 그 변형 및 개량이 가능하다.
Claims (7)
- (11) PC를 사용하여 로봇 제어 프로그램을 작성하는 단계;(12) 작성된 로봇 제어 프로그램을 실행하여, 그 명령어들을 직렬 데이터 통신 규격에 따라 로봇 제어기에 전송하는 단계;(13) 로봇 제어기에 입력된 직렬 데이터 프레임이 로봇 구동 프레임에 해당되는지를 판별하는 단계;(14) 상기 직렬 데이터 프레임이 로봇 구동 프레임에 해당되면, 그중에서 로봇 구동에 사용되는 구동 데이터만을 추출하여, 순차적으로 램에 저장하는 단계;(15) 상기 램에 저장된 순서대로 구동 데이터를 판독하여, 이에 해당된 로봇 구동 루틴을 실행하는 단계; 및(16) 상기 직렬 데이터 프레임이 로봇 구동 프레임에 해당되지 않으면, 이에 해당된 서비스 루틴을 실행하는 단계;를 포함한 것을 특징으로 하는 로봇 제어 방법.
- 제1항에 있어서, 상기 직렬 데이터 프레임은,프레임의 시작 위치를 알려주는 헤더 바이트;프레임의 기능적 종류를 알려주는 토큰 바이트;텍스트의 시작을 알려주는 텍스트 시작 바이트;에러 발생시 에러 번호를 알려주기 위한 에러 정보 바이트;실제 유효 정보가 저장되는 데이터 바이트;프레임의 그룹 정보를 알려주기 위한 그룹 정보 바이트;프레임의 통신 에러 유무를 확인할 때 사용되는 점검 바이트; 및텍스트의 종료를 알려주는 텍스트 종료 바이트;가 직렬 연결된 것을 특징으로 하는 로봇 제어 방법.
- 제2항에 있어서, 상기 단계 (13)은,상기 토큰 바이트의 정보에 따라 수행되는 것을 특징으로 하는 로봇 제어 방법.
- 제2항에 있어서, 상기 에러 정보 바이트 및 데이터 바이트는,각각 복수의 바이트들로 된 것을 특징으로 하는 로봇 제어 방법.
- 제1항에 있어서, 상기 단계 (14) 및 (15)는,상기 램에 순차적으로 저장된 구동 데이터 중에서, 현재 실행될 구동 데이터의 어드레스를 가리키는 실행 포인터; 및상기 램에 현재 저장될 구동 데이터의 어드레스를 가리키는 저장 포인터;를 사용하여 수행되는 것을 특징으로 하는 로봇 제어 방법.
- 제5항에 있어서, 상기 단계 (14)는,상기 실행 포인터의 어드레스와 상기 저장 포인터의 어드레스와의 차를 계산하는 단계;계산된 어드레스의 차가 상기 램의 최종 어드레스와 같으면, 용량 에러 신호를 상기 PC에 전송하는 단계; 및계산된 어드레스의 차가 상기 램의 최종 어드레스보다 적으면, 상기 저장 포인터의 어드레스에 상기 구동 데이터를 저장하는 단계;를 포함한 것을 특징으로 하는 로봇 제어 방법.
- 제5항에 있어서, 상기 단계 (15)는,상기 실행 포인터가 가리킨 어드레스의 구동 데이터를 판독하는 단계;상기 실행 포인터의 어드레스를 다음 어드레스로 증가시키는 단계;판독된 구동 데이터에 해당되는 구동 루틴의 실행 가능 여부를 판단하는 단계;상기 구동 루틴의 실행이 불가능하다고 판단되면, 제1 실행 에러 신호를 상기 PC에 전송하는 단계;상기 구동 루틴의 실행이 가능하다고 판단되면 이를 실행하는 단계; 및상기 구동 루틴의 실행중에 에러가 발생되면, 제2 실행 에러 신호를 상기 PC에 전송하는 단계;를 포함한 것을 특징으로 하는 로봇 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970041616A KR100224865B1 (ko) | 1997-08-27 | 1997-08-27 | 로봇 제어방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970041616A KR100224865B1 (ko) | 1997-08-27 | 1997-08-27 | 로봇 제어방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990018440A KR19990018440A (ko) | 1999-03-15 |
KR100224865B1 true KR100224865B1 (ko) | 1999-10-15 |
Family
ID=19518902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970041616A KR100224865B1 (ko) | 1997-08-27 | 1997-08-27 | 로봇 제어방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100224865B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100812986B1 (ko) * | 2006-08-08 | 2008-03-13 | (주)다사로봇 | 멀티채널 로봇제어 시스템 |
-
1997
- 1997-08-27 KR KR1019970041616A patent/KR100224865B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990018440A (ko) | 1999-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131172A (zh) | 一种减少延时的PCIe设备芯片初始化方法 | |
US7251706B2 (en) | System and method for updating firmware in a non-volatile memory without using a processor | |
JPS6160443B2 (ko) | ||
CN112925569A (zh) | 一种固件数据处理方法、装置、设备及存储介质 | |
US5295233A (en) | Controller for printing apparatus | |
CN101667133B (zh) | 固件更新方法和使用该方法更新固件的芯片 | |
JPH01314177A (ja) | 印字装置 | |
KR100224865B1 (ko) | 로봇 제어방법 | |
US4807178A (en) | Programmable sequence controller having indirect and direct input/output apparatus | |
KR19980079774A (ko) | 입력보상회수 유한메모리에의 데이터 입력방법 및 입력보상회수 유한메모리용 데이터 입력장치 | |
JPH06187015A (ja) | シーケンサのプログラム変換装置 | |
JPH1173368A (ja) | メモリモジュール、情報処理装置の制御方法および記録媒体 | |
US5148531A (en) | System for executing a conditional statement without reading program data part that does not satisfy the conditional clause | |
KR100290280B1 (ko) | 프로그램 가능한 플래시 메모리를 내장하는 마이크로콘트롤러 | |
JP4716929B2 (ja) | プログラムデバッグ支援処理装置及び通信用アダプタ並びにプログラムデバッグ支援処理プログラム | |
JP4037941B2 (ja) | 制御装置 | |
JP2932805B2 (ja) | 自動実行装置 | |
KR100377548B1 (ko) | 플레쉬메모리정상동작체크방법 | |
JPH0413840Y2 (ko) | ||
KR100577793B1 (ko) | 비휘발성 메모리 장치 | |
JPH10312307A (ja) | コンピュータシステムに適用するエミュレータ | |
KR200204986Y1 (ko) | 마이크로 콘트롤보드 | |
JP2914538B2 (ja) | プログラマブルコントローラ | |
JPH0816507A (ja) | Ideバス用周辺装置 | |
JP2008176700A (ja) | プログラマブルロジックコントローラ用増設記憶装置およびプログラマブルロジックコントローラシステム |
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: 20070628 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |