KR100224856B1 - 이동 로봇의 제어방법 - Google Patents

이동 로봇의 제어방법 Download PDF

Info

Publication number
KR100224856B1
KR100224856B1 KR1019970031402A KR19970031402A KR100224856B1 KR 100224856 B1 KR100224856 B1 KR 100224856B1 KR 1019970031402 A KR1019970031402 A KR 1019970031402A KR 19970031402 A KR19970031402 A KR 19970031402A KR 100224856 B1 KR100224856 B1 KR 100224856B1
Authority
KR
South Korea
Prior art keywords
information
mobile robot
map
line
node
Prior art date
Application number
KR1019970031402A
Other languages
English (en)
Other versions
KR19990009119A (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 KR1019970031402A priority Critical patent/KR100224856B1/ko
Publication of KR19990009119A publication Critical patent/KR19990009119A/ko
Application granted granted Critical
Publication of KR100224856B1 publication Critical patent/KR100224856B1/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
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명인 제어 방법은, 사용자에 의해 설정된 맵의 정보를 인식하여 주행 및 이적재 작업을 하는 이동 로봇을 제어하는 방법으로서, 맵을 작성하되, 맵의 각 노드는 이동 로봇이 이적재 작업을 수행할 가능성이 있는 위치이고, 맵의 라인은 이동 로봇의 주행 가능 경로가 되도록 하는 단계와, 맵의 각 라인 중, 이동 로봇이 주행할 경로에 대응되는 라인인 주라인에 관한 정보를 할당하는 단계와, 맵의 각 노드 중, 이동 로봇의 작업 위치에 대응되는 노드에 관한 정보를 할당하는 단계와, 맵의 전체적인 정보를 할당하는 단계, 및 할당된 정보들을 프로그래밍 하여 이동 로봇에 입력시키는 단계를 포함한다.

Description

이동 로봇의 제어 방법
본 발명은 이동 로봇을 제어하는 방법에 관한 것으로서, 상세하게는 이동 로봇의 주행로 변경 등에 대응할 수 있도록 설정된 맵을 사용하여 이동 로봇의 주행 및 이적재 작업을 제어하는 제어 방법에 관한 것이다.
일반적으로 이동 로봇(Mobile Robot)이라 함은 생산 공장등의 자동화 설비중의 하나로서, 사용자로부터의 원격 조정에 의해 제품의 이적재 등을 수행한다. 이러한 이동 로봇은 생산 공장 내에서 제조 설비가 위치한 장소를 따라 이동하면서 작업을 수행한다. 따라서, 이동 로봇 내에는 제조 설비가 위치한 장소 및 주행로에 관한 정보 등이 저장되어 있어야 한다. 이러한 정보는 맵(Map) 형식으로 이루어진다. 즉, 맵을 구성하는 수평선 및 수직선은 이동 로봇의 주행로에 관한 정보를 구성하며, 수평선과 수직선이 교차하는 노드(Node)는 이동 로봇이 정지하여 작업을 수행하는 위치 및 작업 내용에 관한 정보를 구성한다.
도 1에는 이동 로봇(10)과 이동 로봇의 주행을 제어하는 제어 수단(11)이 개략적으로 도시되어 있다. 이동 로봇(10)은 제어기(11)로부터 맵 정보를 다운로드받아서 저장하고 있다. 제어 수단(11)은 설비 및 이동 로봇에 관한 정보를 가지고 있으며, 사용자로부터의 입력 신호에 따라 이동 로봇에게 주행 또는 이적재 명령을 내린다. 그러면, 주행 또는 이적재 명령을 받은 이동 로봇(10)은 내부에 저장되어 있는 맵 정보를 인식하여 주행 또는 이적재 작업을 수행한다.
이와 같은 과정이 도 2에 플로우 챠트로 도시되어 있다. 도면을 참조하면, 사용자는 현재의 레이아웃(layout)에 따라 맵을 작성한다(단계 20). 즉, 작성된 맵에는 현재의 레이아웃에 따라 이동 로봇이 주행하는 경로 및 작업 수행 지점을 나타낸다. 그리고, 각 지점에서 수행되어야 하는 작업 내용 등을 나타내는 맵 정보를 작성하고 프로그래밍(programming)한다(단계 21). 상기 프로그래밍에 의해 짜여진 프로그램을 이동 로봇에 다운로딩(downing)한다(단계 22). 그리고, 이동 로봇이 주행하여야 할 경우에, 또는 이적재 작업을 수행하여야 할 경우에 제어 수단(11)을 통하여 주행 또는 이적재 명령을 전달한다(단계 23). 그러면, 이동 로봇은 주어진 명령에 의해서 자체에 저장되어 있는 맵 정보를 사용하여 주행 또는 이적재 작업을 수행한다(단계 24). 그리고, 명령에 의해 작업을 수행하는 이러한 방식은 레이아웃이 변경되지 않는 한 반복된다. 그런데, 새로운 설비 투자 등에 의하여 작업장의 레이아웃은 변경될 수 있다. 이러한 경우, 이동 로봇의 주행 등을 제어하기 위해서는 변경된 레이아웃에 맞는 맵을 다시 작성하고, 상기 단계 21부터 반복하여 수행하여야 하는 번거로움이 발생한다(단계 25).
본 발명은 상기와 같은 문제점을 개선하기 위하여 창출된 것으로서, 작업장의 레이아웃의 변경에 따른 이동 로봇의 주행로 변경 등에 대응할 수 있도록 설정된 맵을 사용하여 이동 로봇을 제어하는 제어 방법을 제공하는데 그 목적이 있다.
도 1은 이동 로봇의 제어 시스템을 나타내는 개략적 블록도이다.
도 2는 종래의 제어 방법을 설명하는 플로우 챠트이다.
도 3은 본 발명에 따른 제어 방법을 설명하는 플로우 챠트이다.
도 4a는 도 3의 맵 작성의 한 예를 나타낸 도면이다.
도 4b는 도 3의 맵 작성의 다른 예를 나타낸 도면이다.
도 5는 작성된 맵 정보에 따라 이동 로봇을 동작시키는 과정을 설명하는 플로우 챠트이다.
상기 목적을 달성하기 위하여, 본 발명인 제어 방법은 사용자에 의해 설정된 맵의 정보를 인식하여 주행 및 이적재 작업을 하는 이동 로봇을 제어하기 위한 것으로서 다음의 단계들을 포함한다. 단계 1은, 상기 맵을 작성하되, 상기 맵의 각 노드는 이동 로봇이 이적재 작업을 수행할 가능성이 있는 위치이고, 상기 맵의 라인은 이동 로봇의 주행 가능 경로가 되도록 하는 단계이다. 단계 2는, 상기 맵의 각 라인 중, 이동 로봇의 주행할 경로에 대응되는 라인인 주라인에 관한 정보를 할당하는 단계이다. 단계 3은, 상기 맵의 각 노드 중, 이동 로봇의 작업 위치에 대응되는 노드에 관한 정보를 할당하는 단계이다. 단계 4는, 상기 맵의 전체적인 정보를 할당하는 단계이다. 그리고, 단계 5는, 상기 단계2 내지 단계4에서 할당된 정보들을 프로그래밍 하여 상기 이동 로봇에 입력시키는 단계이다.
바람직하게는, 작업장의 레이아웃이 변경되어 상기 노드 및 라인에 관한 정보가 일치되지 않는 경우, 상기 맵의 정보를 수정하는 단계를 더 포함한다.
이하, 첨부된 도면을 참조하면서 본 발명에 따른 제어 방법의 바람직한 실시예를 상세히 설명한다.
도 3에는 본 발명에 따른 제어 방법의 동작을 나타내는 플로우 챠트가 도시되어 있다. 도면을 참조하면, 먼저 사용자는 최외각 주행선을 설정한다(단계 30). 최외각 주행선은 이동 로봇이 주행할 수 있는 영역 중에서 가장자리를 연결한 선으로서, 사용자는 작업 내용, 작업자의 위치 그리고 작업장의 레이아웃 등을 감안하여 설정하여야 한다. 그리고, 상기 최외각 주행선 내에서 이동 로봇이 정지할 수 있는 위치와 정지하여야 하는 위치를 선정한다(단계 31). 이동 로봇이 정지할 수 있는 위치는 레이아웃이 변경될 경우에 대응하기 위하여 설정하여야 하며, 정지하여야 하는 위치는 이동 로봇이 현재의 레이아웃 상태에서 작업을 수행하기 위하여 정지하는 위치이다.
상기 위치가 설정되면, 수평선 및 수직선을 사용하여 상기 위치가 노드(node)가 되도록 연결시킨다(단계 32). 이때, 수평선 또는 수직선간의 간격이 너무 좁아지지 않도록 하는 것이 바람직하다. 그렇게 하기 위해서는 연결이 되지 않는 위치도 발생할 수 있다. 이러한 경우에는 가장 근접한 수평선 또는 수직선상의 위치를 노드로 설정하고, 상기 노드에 미연결 위치에 관한 정보를 삽입하면 된다. 즉, 도 4a를 참조하면, ①번 노드와 ③번 노드를 연결하는 수평선의 중앙에서 북쪽 방향으로 α만큼의 거리가 떨어져 있는 ⓐ위치에 이동 로봇이 정지하여야 하는 위치가 설정되어 있는 경우에, 상기 ⓐ위치에서 직교하는 수평선상의 위치를 ②번 노드로 설정한다. 그리고, ②번 노드에 할당할 정보로서 북쪽 방향으로 α만큼의 거리에 이동 로봇이 정지하여야 한다는 정보를 할당한다. 만약, α가 어느 정도의 거리를 유지한다면 다른 수평선을 설정하여야 하겠지만, α가 매우 작은 경우에는 이와 같이 처리함으로써, 소요되는 데이터 양을 줄일 수 있다.
이상과 같이 설명한 방식에 의하여, 적절한 수의 수평선 및 수직선을 도시하고 각 교차점을 노드로서 설정하였으면, 이동 로봇이 주행할 경로 및 각 노드에 따른 정보를 표시한다(단계 33). 즉, 도 4b에 도시된 바와 같이, 이동 로봇이 주행할 경로는 굵은 선으로 표시하고, 이적재 작업이 이루어지는 노드(①번 노드 내지 ⑧번 노드)는 원으로 표시하고, 그리고 이동 로봇의 충전이 이루어지는 노드(⑨번 노드)는 사각형으로 표시한다. 이와 같이 구별한 후에는, 주라인 정보를 작성한다. 여기서 주라인(main line)이라 함은 이동 로봇의 주행 경로에 대응되는 라인을 뜻한다. 한편, ③번 노드와 ⑥번 노드를 연결한 대각선을 부라인(sub-line)이라 한다.
상기 과정이 이루어지면, 주라인 및 노드에 관한 정보를 작성한다(단계 34). 주라인에 관한 정보는 아래의 표 1에 따라서 정한다.
1 주 라인의 ID
2 주 라인의 길이
3 주 라인의 방향
4 주 라인의 시작점의 x좌표
5 주라인의 시작점의 y좌표
6 주라인의 끝점의 x좌표
7 주라인의 끝점의 y좌표
8 주라인의 시작점이 접하고 있는 다른 주라인의 ID
9 주라인의 끝점이 접하고 있는 다른 주라인의 ID
즉, 도 4b에 도시된 주라인들 중 하나인 X2의 경우를 예를 들어 작성하면 아래의 표 2와 같다.
X2 500 X 100 100 600 100 Y2 Y7
표 1과 표 2를 비교해보면, 이 주라인에 할당된 정보는 ID가 X2이고, 길이가 600이고, 방향은 X축 방향이고, 시작점의 X 좌표와 Y 좌표는 각각 100이고, 끝점의 X 좌표는 500이고, 끝점의 Y 좌표는 100이고, 시작점이 접하고 있는 다른 주라인의 ID는 Y2이고, 그리고 끝점이 접하고 있는 다른 주라인의 ID는 Y7이다.
이와 같은 방법으로, 다른 주라인에 관한 정보들도 할당한다.
그리고, 노드에 관한 정보를 할당한다. 노드에 관한 정보는 아래의 표 3에 따라 할당한다.
1 기준점으로부터 X 방향으로의 거리
2 기준점으로부터 Y 방향으로의 거리
3 X 방향으로의 다음 주 라인의 거리
4 Y 방향으로의 전 주 라인의 거리
5 X 방향으로의 전 주라인의 거리
6 Y 방향으로의 전 주라인의 거리
7 충전 가능 여부
8 이적재 작업 가능 여부
9 주행이 가능한 근접 노드 정보
10 대각선 주행이 가능한지 여부
11 대각선 주행이 가능한 근접 노드 정보
12 회전이 가능한지의 여부
13 통신이 가능한 위치인지의 여부
14 노드의 ID
15 장비의 ID
16 장비가 가지고 있는 작업수
17 정지 종류의 표시(임시/최종)
18 비젼 시스템 사용 여부
19 X 방향으로의 주행이 가능한 최대 거리
20 Y 방향으로의 주행이 가능한 최대 거리
21 부 라인의 개수
22 부 라인의 방향
23 부 라인의 길이
24 부 라인의 종점의 노드 ID
25 부 라인의 X 주 라인에 대한 각도
26 스테이션의 편차 방향
27 스테이션의 편차 길이
예를 들어, 도 4b에 도시된 맵에서 ③번 노드에 관한 정보를 할당하면 아래의 표 4와 같이 된다.
1 2 3 4 5 6 7 8 9
600 100 0 100 500 0 N Y 2/5
10 11 12 13 14 15 16 17 18
Y 6 Y Y 3 15 4 1 Y
19 20 21 22 23 24 25 26 27
500/0 0/100 1 SE 150 6 45 · 0
즉, 표 4에 할당된 정보를 해석하면, ③번 노드는 기준점으로부터 X 방향 및 Y 방향으로 각각 600, 100의 거리만큼 떨어져 있으며, 하나의 부라인이 X 방향의 주라인과 45도의 각도로 남동 방향에 위치해 있는 등의 정보를 알 수 있다.
그리고, 맵 전체에 대해서도 총 노드 수, 총 이동 로봇 수, 총 주라인 수, 총 부라인 수, 총 충전기 수 그리고 총 스테이션 수에 대한 정보를 할당한다(단계 35).
이상과 같이 할당된 정보를 코딩(Coding) 또는 프로그래밍을 통하여 이진 데이터 또는 프로그램으로 변환시킨다(단계 37). 그리고, 최종적으로 상기 데이터 또는 프로그램을 이동 로봇에 다운로딩 시킨다(단계 38).
도 5에는 위에서 설명한 바와 같은 방법에 의하여 맵 정보에 대한 데이터 등을 다운로드 받은 이동 로봇을 동작시키는 과정이 플로우 챠트에 도시되어 있다. 즉, 다운로딩을 수행한 후에 이적재 명령을 내리면, 이동 로봇은 맵을 확인한 후 작업을 수행한다(단계 50, 51, 52). 작업장의 레이아웃이 변경되지 않는 경우에는 이와 같은 동작을 반복함으로써, 작업을 수행하지만, 레이아웃이 변경되는 경우에는 사용자는 변경된 레이아웃에 대한 정보로 맵 정보만을 수정한다(단계 53, 54). 그리고, 수정된 정보를 이동 로봇에 다운로드한다(단계 55). 그리고, 이적재 명령에 따라 작업을 수행시킨다. 즉, 레이아웃이 변경되더라도 맵을 다시 작성할 필요 없이 맵 정보만을 수정하면 된다.
이상의 설명에서와 같이, 본 발명에 따른 제어 방법은 작업장의 레이아웃이 변경되는 경우에도 변경된 레이아웃에 대한 정보로 맵 정보만을 수정함으로써, 맵 전체를 다시 작성하여야 되는 번거로운 작업이 필요 없다는 이점이 있다.

Claims (7)

  1. 사용자에 의해 설정된 맵의 정보를 인식하여 주행 및 이적재 작업을 하는 이동 로봇의 제어 방법에 있어서,
    (가) 상기 맵을 작성하되, 상기 맵의 각 노드는 이동 로봇이 이적재 작업을 수행할 가능성이 있는 위치이고, 상기 맵의 라인은 이동 로봇의 주행 가능 경로가 되도록 하는 단계;
    (나) 상기 맵의 각 라인 중, 이동 로봇의 주행할 경로에 대응되는 라인인 주라인에 관한 정보를 할당하는 단계;
    (다) 상기 맵의 각 노드 중, 이동 로봇의 작업 위치에 대응되는 노드에 관한 정보를 할당하는 단계;
    (라) 상기 맵의 전체적인 정보를 할당하는 단계; 및
    (마) 상기 단계 나 내지 단계 라에서 할당된 정보들을 프로그래밍 하여 상기 이동 로봇에 입력시키는 단계;를 포함하는 것을 특징으로 하는 제어 방법.
  2. 제1항에 있어서,
    작업장의 레이 아웃이 변경되어 상기 노드 및 라인에 관한 정보가 일치되지 않는 경우, 상기 맵의 정보를 수정하는 단계;를 더 포함하는 것을 특징으로 하는 제어 방법.
  3. 제1항에 있어서,
    맵작성 전에 상기 이동 로봇이 주행할 수 있는 영역 중에서 가장자리의 경계선인 최외각 주행선을 설정하는 단계;를 더 포함하는 것을 특징으로 하는 제어 방법.
  4. 제1항에 있어서, 상기 주라인에 관한 정보는,
    상기 주라인을 특정하는 명칭, 상기 주라인의 길이, 방향 등에 관한 정보인 것을 특징으로 하는 제어 방법.
  5. 제1항에 있어서, 상기 노드에 관한 정보는,
    상기 노드에 대응되는 위치에 관한 정보 및 상기 위치에서 상기 이동 로봇이 수행하는 작업 내용에 관한 정보인 것을 특징으로 하는 제어 방법.
  6. 제5항에 있어서, 상기 노드에 관한 정보는,
    상기 노드에 대응되는 위치에서 상기 이동 로봇의 대각선 주행에 관한 정보를 더 포함하는 것을 특징으로 하는 제어 방법.
  7. 제1항에 있어서, 상기 맵의 전체적인 정보는,
    총 노드의 수, 총 이동 로봇의 수 그리고 총 주라인의 수를 포함하는 것을 특징으로 하는 제어 방법.
KR1019970031402A 1997-07-07 1997-07-07 이동 로봇의 제어방법 KR100224856B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970031402A KR100224856B1 (ko) 1997-07-07 1997-07-07 이동 로봇의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970031402A KR100224856B1 (ko) 1997-07-07 1997-07-07 이동 로봇의 제어방법

Publications (2)

Publication Number Publication Date
KR19990009119A KR19990009119A (ko) 1999-02-05
KR100224856B1 true KR100224856B1 (ko) 1999-10-15

Family

ID=19513638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970031402A KR100224856B1 (ko) 1997-07-07 1997-07-07 이동 로봇의 제어방법

Country Status (1)

Country Link
KR (1) KR100224856B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100715609B1 (ko) * 2006-01-13 2007-05-07 학교법인 포항공과대학교 가정환경에서의 이동로봇의 위상학적 지도형성 및 자율주행방법
KR100812986B1 (ko) * 2006-08-08 2008-03-13 (주)다사로봇 멀티채널 로봇제어 시스템
KR100822738B1 (ko) * 2006-12-06 2008-04-17 고려대학교 산학협력단 이동로봇의 경로계획 방법
KR100929927B1 (ko) * 2007-12-24 2009-12-04 삼성중공업 주식회사 선박 화물창 벽면주행 이동로봇의 경로 계획방법

Also Published As

Publication number Publication date
KR19990009119A (ko) 1999-02-05

Similar Documents

Publication Publication Date Title
US5150305A (en) Numerical control system providing graphic machining simulation
CN108197787B (zh) 柔性自动化生产线和自动化物流输送线的协同调度系统
CN102941426B (zh) 一种与机器人相配合的智能变位系统
EP0785490B1 (en) Method for controlling robot
CN110076778A (zh) 机器人控制方法、装置、存储介质和处理器
KR100224856B1 (ko) 이동 로봇의 제어방법
CN110531725B (zh) 一种基于云的地图共享方法
CN116263716A (zh) 在线自动互锁策略
CN107932513B (zh) 一种全向智能移动平台与机械臂的集成控制方法
JPH02254503A (ja) オフライン教示システムの実行データ伝送方式
JP3318923B2 (ja) 生産管理装置
US10987799B2 (en) Workpiece processing system
CN112631232B (zh) 基于openTCS实现对自动导引车调度控制方法及系统
CN102495583A (zh) 多维激光切割设备的数控系统及其控制方法
JP2814547B2 (ja) 移動ロボットシステムにおける走行地図作成方法
JPH0798609A (ja) 2トーチ型レーザ加工機の加工分担決定装置
JPH10161719A (ja) 産業用ロボットのシステム構築シミュレーション装置
Drolet et al. Decision architecture for scheduling virtual cellular manufacturing systems
KR100251486B1 (ko) 무인운반시스템 및 그 제어방법
US5093796A (en) Automatic programming definition of a machining configuration for a numerical control device
JP2002116817A (ja) タスク割付方法およびこれを適用した制御装置
Tao et al. Research of unidirectional automated guided vehicles system based on simulation
JPH06328386A (ja) 干渉チェック装置
JPS6359604A (ja) 数値制御装置の加工径路変更方法
CN117944058A (en) Scheduling method and system of self-propelled functional mechanical arm and mechanical arm

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: 20080708

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee