KR100224865B1 - 로봇 제어방법 - Google Patents

로봇 제어방법 Download PDF

Info

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
Application number
KR1019970041616A
Other languages
English (en)
Other versions
KR19990018440A (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 KR1019970041616A priority Critical patent/KR100224865B1/ko
Publication of KR19990018440A publication Critical patent/KR19990018440A/ko
Application granted granted Critical
Publication of KR100224865B1 publication Critical patent/KR100224865B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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

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)

  1. (11) PC를 사용하여 로봇 제어 프로그램을 작성하는 단계;
    (12) 작성된 로봇 제어 프로그램을 실행하여, 그 명령어들을 직렬 데이터 통신 규격에 따라 로봇 제어기에 전송하는 단계;
    (13) 로봇 제어기에 입력된 직렬 데이터 프레임이 로봇 구동 프레임에 해당되는지를 판별하는 단계;
    (14) 상기 직렬 데이터 프레임이 로봇 구동 프레임에 해당되면, 그중에서 로봇 구동에 사용되는 구동 데이터만을 추출하여, 순차적으로 램에 저장하는 단계;
    (15) 상기 램에 저장된 순서대로 구동 데이터를 판독하여, 이에 해당된 로봇 구동 루틴을 실행하는 단계; 및
    (16) 상기 직렬 데이터 프레임이 로봇 구동 프레임에 해당되지 않으면, 이에 해당된 서비스 루틴을 실행하는 단계;를 포함한 것을 특징으로 하는 로봇 제어 방법.
  2. 제1항에 있어서, 상기 직렬 데이터 프레임은,
    프레임의 시작 위치를 알려주는 헤더 바이트;
    프레임의 기능적 종류를 알려주는 토큰 바이트;
    텍스트의 시작을 알려주는 텍스트 시작 바이트;
    에러 발생시 에러 번호를 알려주기 위한 에러 정보 바이트;
    실제 유효 정보가 저장되는 데이터 바이트;
    프레임의 그룹 정보를 알려주기 위한 그룹 정보 바이트;
    프레임의 통신 에러 유무를 확인할 때 사용되는 점검 바이트; 및
    텍스트의 종료를 알려주는 텍스트 종료 바이트;가 직렬 연결된 것을 특징으로 하는 로봇 제어 방법.
  3. 제2항에 있어서, 상기 단계 (13)은,
    상기 토큰 바이트의 정보에 따라 수행되는 것을 특징으로 하는 로봇 제어 방법.
  4. 제2항에 있어서, 상기 에러 정보 바이트 및 데이터 바이트는,
    각각 복수의 바이트들로 된 것을 특징으로 하는 로봇 제어 방법.
  5. 제1항에 있어서, 상기 단계 (14) 및 (15)는,
    상기 램에 순차적으로 저장된 구동 데이터 중에서, 현재 실행될 구동 데이터의 어드레스를 가리키는 실행 포인터; 및
    상기 램에 현재 저장될 구동 데이터의 어드레스를 가리키는 저장 포인터;를 사용하여 수행되는 것을 특징으로 하는 로봇 제어 방법.
  6. 제5항에 있어서, 상기 단계 (14)는,
    상기 실행 포인터의 어드레스와 상기 저장 포인터의 어드레스와의 차를 계산하는 단계;
    계산된 어드레스의 차가 상기 램의 최종 어드레스와 같으면, 용량 에러 신호를 상기 PC에 전송하는 단계; 및
    계산된 어드레스의 차가 상기 램의 최종 어드레스보다 적으면, 상기 저장 포인터의 어드레스에 상기 구동 데이터를 저장하는 단계;를 포함한 것을 특징으로 하는 로봇 제어 방법.
  7. 제5항에 있어서, 상기 단계 (15)는,
    상기 실행 포인터가 가리킨 어드레스의 구동 데이터를 판독하는 단계;
    상기 실행 포인터의 어드레스를 다음 어드레스로 증가시키는 단계;
    판독된 구동 데이터에 해당되는 구동 루틴의 실행 가능 여부를 판단하는 단계;
    상기 구동 루틴의 실행이 불가능하다고 판단되면, 제1 실행 에러 신호를 상기 PC에 전송하는 단계;
    상기 구동 루틴의 실행이 가능하다고 판단되면 이를 실행하는 단계; 및
    상기 구동 루틴의 실행중에 에러가 발생되면, 제2 실행 에러 신호를 상기 PC에 전송하는 단계;를 포함한 것을 특징으로 하는 로봇 제어 방법.
KR1019970041616A 1997-08-27 1997-08-27 로봇 제어방법 KR100224865B1 (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100812986B1 (ko) * 2006-08-08 2008-03-13 (주)다사로봇 멀티채널 로봇제어 시스템

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