KR0161027B1 - 로보트의 자동주행제어장치 및 그 방법 - Google Patents

로보트의 자동주행제어장치 및 그 방법 Download PDF

Info

Publication number
KR0161027B1
KR0161027B1 KR1019930012664A KR930012664A KR0161027B1 KR 0161027 B1 KR0161027 B1 KR 0161027B1 KR 1019930012664 A KR1019930012664 A KR 1019930012664A KR 930012664 A KR930012664 A KR 930012664A KR 0161027 B1 KR0161027 B1 KR 0161027B1
Authority
KR
South Korea
Prior art keywords
robot
driving
straight
speed
traveling
Prior art date
Application number
KR1019930012664A
Other languages
English (en)
Other versions
KR950002933A (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 KR1019930012664A priority Critical patent/KR0161027B1/ko
Publication of KR950002933A publication Critical patent/KR950002933A/ko
Application granted granted Critical
Publication of KR0161027B1 publication Critical patent/KR0161027B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators

Landscapes

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

Abstract

본 발명은 로보트가 직선거리를 이동할 때에 주행방향, 이동거리 및 장애물에 관한 데이터에 따라 퍼지룰을 수행함으로써 정상궤도를 이탈하지 않고 일정한 주행속도를 유지하면서 목표지점까지 정확히 주행할 수 있는 로보트의 자동주행제어장치 및 그 방법에 관한 것으로서 이동로보트의 주행거리를 검출하는 주행거리검출수단과, 주행방향의 변화를 검출하는 방향각검출수단과, 상기 방향각검출수단에 의해 로보트의 절대위치를 연산하는 위치식별수단과, 로보트 주위의 장애물의 유무와 장애물의 거리를 감지하는 장애물감지수단과, 상기 위치식별수단으로부터 얻어진 정보를 이용하여 로보트의 직진주행에 관한 퍼지추론을 수행하는 직진주행퍼지추론수단과, 상기 주행거리검출수단으로부터 얻어진 주행속도 데이터와 상기 장애물감지수단으로부터 얻어진 장애물까지의 거리데이터를 이용하여 속도제어에 관한 퍼지추론을 수행하는 정속주행퍼지추론수단과, 상기 각 수단의 연산과 퍼지추론을 수행하고 얻어진 결과에 따라 로보트의 이동을 제어하는구동제어수단으로 이루어진 것을 특징으로 한다.

Description

로보트의 자동주행제어장치 및 그 방법
제1도는 본 발명의 일실시예에 있어서 로보트의 자동주행제어장치의 블록도.
제2도는 본 발명의 일실시예에 있어서 로보트의 자동주행제어장치의 퍼지추론에 관한 구성도.
제3도는 본 발명의 일실시예에 있어서 로보트의 자동주행제어방법을 설명하기 위한 플로우차트.
제4도는 직진주행퍼지추론수단의 위치좌표입력에 대한 귀속도를 나타낸 도면.
제5도는 직진주행퍼지추론수단의 방향각 입력에 대한 귀속도를 나타낸 도면.
제6도는 방향각 입력과 위치좌표입력에 대한 출력퍼지함수를 이산형도표로 도시한 도표.
제7도는 직진주행퍼지추론에 의한 직진제어출력변화량함수를 나타낸 도면.
제8도는 정속주행퍼지추론수단의 속도입력에 대한 귀속도를 나타낸 도면.
제9도는 정속주행퍼지추론수단의 장애물거리에 대한 귀속도를 나타낸 도면.
제10도는 정속주행퍼지추론수단의 속도 및 장애물거리 입력에 대한 출력퍼지함수를 이산형도표로 도시한 도면.
제11도는 정속주행퍼지추론에 의한 정속제어출력변화량함수를 나타낸 도면.
제12도는 퍼지추론에 따른 가중치를 구하는 도표.
* 도면의 주요부분에 대한 부호의 설명
1 : 구동수단 2 : 좌측구동모터
3 : 우측구동모터 6 : 주행거리검출수단
7,8 : 거리감지센서 9 : 방향각검출수단
10 : 장애물감지수단 11 : 중앙처리장치(CPU)
본 발명은 자주식 로보트가 직선거리를 이동할 때에 주행방향, 이동거리 및 장애물에 관한 데이터에 따라 퍼지룰을 수행함으로써 정상궤도를 이탈하지 않고 일정한 주행속도를 유지하면서 목표지점까지 정확히 주행할 수 있는 로보트의 자동주행제어장치 및 그 방법에 관한 것이다.
일반적으로, 종래의 로보트시스템에서는 기설정된 이동경로에 설치된 유도선을 따라 이동하도록 설계되어 있었다.
그러나, 상기와 같은 종래의 로보트시스템은 유도선을 설치하여야 하는 불편함이 있을 뿐만 아니라 로보트가 유도선을 벗어나지 못하므로 한정된 영역에서 작업을 수행할 수밖에 없는 문제점이 있었다.
따라서, 경로 및 작업영역의 경계만을 학습주행시킴으로써 학습주행시의 경로 및 작업영역을 기억하여, 반복적이고 자율적으로 경로를 따라 작업영역으로 이동하고, 작업영역내에서 왕복운전을 함으로써 주어진 작업을 수행하는 로보트시스템의 개발이 요구되고 있었다.
이에 따라, 본 발명은 상기와 같은 요구를 충족시키기 위하여 이루어진 것으로, 자주식로보트가 직선거리를 이동할 때에 주행바퀴의 이동거리, 방향 및 장애물을 감지하고, 그 감지 데이터에 따라 정상궤도를 이탈하지 않고 퍼지룰을 수행하여 규정된 주행속도를 유지하여 목표지점까지 정확히 주행할 있도록 하는 로보트의 자동주행제어장치 및 그 방법을 제공함에 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 따른 로보트의 자동주행제어장치는 로보트의 주행거리 및 주행속도를 검출하는 주행거리검출수단과, 로보트의 주행 방향 변화를 검출하는 방향각검출수단과, 상기 주행거리검출수단과 방향각검출수단으로부터 주행거리 및 주행방향 변화를 입력받아 로보트의 위치좌표 및 절대위치에 대한 방향각을 연산하는 위치식별수단과, 상기 위치식별수단으로부터 로보트의 위치좌표 및 절대위치에 대한 방향각을 입력받아 로보트의 직진주행에 관한 퍼지추론을 수행하여 직진제어값을 출력하는 직진주행퍼지추론수단과, 로보트 주위의 장애물 유무와 장애물까지의 거리를 감지하는 장애물감지수단과, 상기 주행 거리검출수단과 장애물감지수단으로부터 주행속도와 장애물까지의 거리를 입력받아 로보트의 속도제어에 관한 퍼지추론을 수행하여 정속제어값을 출력하는 정속 주행퍼지추론수단과, 상기 직진주행퍼지추론수단과 정속주행퍼지추론수단으로부터 직진제어값과 정속제어값을 입력받아 로보트의 주행을 제어하는 구동제어수단으로 이루어진 것을 특징으로 한다.
그리고, 상기 목적을 달성하기 위한 본 발명에 따른 로보트의 자동주행제어방법은, 로보트가 구동을 시작하면, 로보트의 주행거리 및 주행속도와 로보트의 주행방향변화 및 로보트의 주행방향에 위치한 장애물까지의 거리를 검출하여로보트의 위치좌표와 절대위치에 대한 방향각을 연산하는 검출스텝과, 상기 로보트의 위치좌표와 절대위치에 대한 방향각을 이용하여 직진주행에 관한 오차를 연산하여 직진제어값을 산출하는 직진주행퍼지추론스텝과, 상기 로보트의 주행방향변화와 로보트의 위치좌표와 절대위치에 대한 방향각을 이용하여 가중치를 연산하는 가중치연산스텝과, 상기 가중치를 상기 직진제어값에 곱하여 직진가중제어값을 연산하는 직진가중제어값연산스텝과, 상기 로보트의 장애물까지의 거리와 로보트의 주행속도를 이용하여 정속주행에 관한 오차를 연산하여 정속제어값을 산출하는 정속주행퍼지추론스텝과, 상기 직진가중제어값과 정속제어값을 이용하여 최종제어값을 결정하고 이 최종제어값에 따라 로보트의 주행을 제어하는 구동제어스텝으로 이루어진 것을 특징으로 한다.
이하, 본 발명의 일실시예를 첨부한 도면을 참조하여 상세히 설명한다.
제1도는 본 발명의 일실시예에 있어서 로보트 자동주행제어장치의 블록도이고, 제2도는 본 발명의 일실시예에 있어서 퍼지추론에 관한 구성도이다.
제1도에 있어서, (1)은 로보트의 이동을 제어하는 구동제어수단으로서, 도시되지 않은 구동바퀴가 각각 부착된 좌측주행 모터(2) 및 우측주행 모터(3)와,상기 좌·우측주행 모터(2)(3)의 구동을 제어하는 좌측주행모터구동제어수단(4)및 우측주행모터구동제어수단(5)으로 구성되어 있다.
(6)은 이동하는 로보트의 주행거리에 따라 상기의 좌·우측구동바퀴의 회전수에 비례하는 펄스신호를 출력하는 좌측거리감지센서(7) 및 우측거리감지센서(8)로 이루어진 주행거리검출수단이고, (9)는 로보트가 주행하는 방향의 변화를 감지하는 방향각검출수단이고, (10)은 로보트가 이동하는 전면에 설치된 초음파센서를 통해 전면에 초음파를 송신하고, 상기 송신된 초음파가 벽면 혹은 장애물에 부딪혀 반사된 신호, 즉 에코신호를 수신하여 로보트의 전면에 위치한 장애물을 감지하는 장애물감지수단이다
(11)은 상기 주행거리검출수단(6)으로부터 수신한 주행거리 데이터 및 방향각검출수단(9)으로부터 수신한 주행방향데이터에 따라 이동하는 로보트의 현재 위치를 연산하고, 상기 장애물감지수단(10)으로부터 입력된 장애물 감지 데이터를 버스를 통해 받아 장애물의 거리를 연산하여 그 결과를 직진주행 및 정속주행을 제어하도록 직진 및 정속주행 퍼지추론수단을 통해 퍼지추론을 수행하여 로보트의 주행을 제어하는 중앙처리장치(CPU)이다.
다음에 제2도을 참조하여 본 발명에 따른 직진 및 정속주행에 관한 퍼지추론수단의 퍼지추론에 대하여 설명한다.
본 발명에 따른 자주식 로보트가 주행할때 일정시간 간격으로 상기 주행거리검출수단(6)으로부터 수신된 로보트의 주행거리 및 주행속도와, 방향각검출수단(9)으로부터 수신된 로보트의 주행방향 변화(순시방향각, 변위각)를 중앙처 리장치(11)에서 받아 위치좌표연산수단(12) 및 방향각연산수단(13)으로 구성된 위치식별수단(18)에 의해 로보트의 위치좌표 및 절대위치에 대한 방향각 연산을 행하고, 이 결과는 직진주행퍼지추론수단(14)에 입력되어 로보트의 직진주행을 제어하도록 좌우측주행모터(2)(3)의 직진제어 출력변화량(△Ud)이 산출된다.
또한, 상기 방향각검출수단(9)으로부터 로보트의 주행방향 변화데이터(순시방향각, 변위각)는 상기 위치좌표연산수단(12) 및 방향각연산수단(13)에서 출력된 로보트의 위치좌표 및 절대위치에 대한 방향각과 같이 가중치연산수단(16) 에 입력되어, 그 연산결과는 상기 직진제어출력변화량(△Ud)의 가중치(m)로 산출된다.
상기 가중치연산수단(16)에서 출력된 가중치(m)는 연산자에 의해 상기의 직진제어출력변화량(△Ud)과 곱해져서 최종적으로 직진제어가중출력변화량(m·△Ud)이 출력된다.
여기서, 상기 가중치(m)는 좌·우측주행모터(2)(3)에 대한 제어출력의 변화에 따라 상기 좌·우측주행모터(2)(3)가 관성에 의하여 빠른 응답을 보이지 않게 되어 정상궤도를 이탈하여 진동현상이 발생하는데, 이를 보상하기 위한 것이다.
한편, 상기 주행거리검출수단(6)에서 검출된 좌·우측구동바퀴의 주행속도 데이터는 중앙처리장치(11)에 미리 설정된 기준속도와 비교되고, 상기 비교된 결과는 상기 장애물감지수단(10)에서 검출된 장애물까지의 거리데이터와 같이 정속주행퍼지추론수단(17)에 입력되어 로보트의 정속주행이 가능하도록 하는 주행 모터의 정속제어출력변화량(△Uf)이 산출된다.
상기에서와 같이 각각 산출된 직전제어가중출력변화량(m·△Ud) 및 주행 모터의 정속제어출력변화량(△Uf)은 이전의 좌·우측주행모터의 출력량 UL(k-1), UL(k-1)과 연산되어 다음과 같은 최종출력량을 산출해 낸다.
상기에서 산출된 최종출력량에서 좌측주행 모터(2)의 출력량(UL(k))은, UL(k) = UL(k-1)+m·△Ud+△Uf이고, 우측주행모터 (2)의 출력량(Ur(k))은, UR(k) = UR(k-1)-m·△Ud+△Uf 이다.
여기서, 상기 결정된 좌·우측주형모터(2)(3)의 출력량은 좌·우측주행모터구동제어수단(4)(5)에서 각각 펄스폭변조(PWM) 신호를 발생시켜서 좌·우측주행모터 (2)(3)를 구동하게 된다.
제4도는 직진주행퍼지추론수단의 위치좌표입력에 대한 귀속도를 나타낸 도면으로서, (Z)은 로호트의 주행위치가 '정상궤도' 임을 나타내고, (R)은 로보트의 주행위치가 정상궤도(Z)에서 '오른쪽에 있음'을 나타내고, (L)은 로보트의 주행위치가 정상궤도(Z)에서 '왼쪽에 있음'을 나타낸다. 제5도는 직진주행퍼지추론수단의 방향각 입력에 대한 귀속도를 나타낸 도면으로서, (Z)의 주행방향이 '정상임'을 나타내고,(Rs)는 주행방향이 '오른쪽으로 적게 치우침'을 나타내고, (Rb)는 '오른쪽으로 크게 치우침'을 나타내고, (Ls)는 주행방향이 '왼쪽으로 적게 치우침'을 나타내고 (Lb)는 '왼쪽으로 크게 치우침 '을 나타낸다.
제6도는 방향각 입력과 위치좌표입력에 대한 출력퍼지함수를 이산형도표로 도시한 것으로서, (Z)는 '출력불변'을 나타내고, (Rs)는 '오른쪽 출력 약간증가' 즉, 좌측주행모터(2)의 출력을 높이고, (Rb)는 '오른쪽 출력 크게 증가를 나타내고 (Ls)는 '왼쪽 출력 약간증가'를 나타내고, (Lb)는 '왼쪽 출력 크게 증가'를 나타낸다.
예컨데, 도면에서 로보트의 방향각 입력이 (Rs)이고, 위치좌표입력이 (Z)이라면 출력함수는 (Rs)으로 나타나게 되어 중앙처리장치(CPU)는구동제어수단(1)에 제어신호를 출력하여 우측주행모터(3)의 회전속도를 빠르게 하고, 또 방향각 입력이 (Z)이고 위치좌표입력이 (R)이라면 출력함수는 (Rs)로 나타나게 되어 중앙처리장치(CPU)는 구동제어수단(1)에 제어신호를 출력하여 우측주행 모터(3)의 회전속도를 빠르게 한다.
상기에서 (Rs)(Rb)(Z)(Ls)(Lb)의 값은 중앙처리장치(11)에 미리 그 값이 설정되어 있다.
제7도는 직진주행퍼지추론에 의한 직진제어출력변화량함수를 구하는 도표로서, 상기 제4도 내지 제6도에서 구한 각 출력귀속도로 부터 각 귀속도가 구성하는 면적을 산출하고, 이들 면적의 무게중심을 산출하여, 상기에서 산출한 무게중심값을 직진제어출력변화량(△Ud)으로 취한다.
여기서, 제4도 내지 제7도를 참조하여 상기 직진제어출력변화량(△Ud)을 구하는 과정을 수치를 들어 상세히 설명한다.
먼저, 제4도에서 로보트의 현재 위치좌표가 a점에 위치하고 있다고 판별되면, 중앙처리장치(11)에서는 퍼지변수(Z)에 대한 귀속도를 0.7, 퍼지변수(L)에 대한 귀속도를 0,3으로 취한다.
상기에서 퍼지변수 Z와 L의 귀속도가 각각 구해지면, 제5도에서 로보트의 주행방향을 검출한 방향각이 b점으로 판별되면, 퍼지변수 Z의 귀속도를 0,4, 퍼지변수 Rs의 귀속도를 0.8로 취하여, 제6도의 이산형분포도에 상기 각 퍼지변수의 귀속도를 대입한다.
상기에서의 결과에 따라, 퍼지변수 Ls는 0.25이고 Z는 0.5, Rs는 0.3의값이 산출되면, 상기 산출된 각 퍼지변수의 값을 제7도에 나타낸 그래프에 의거하여 Rs, Z, Ls의 면적을 구하여, 이 면적으로부터 무게중심이 얻어지면, 이를직진제어출력변화량(△Ud)으로 취하는 것이다.
제8도는 정속주행퍼지추론수단의 속도입력에 대한 귀속도를 나타낸 도면으로서, 주행거리검출수단(6)에 의해 검출된 좌우측주행바퀴의 주행속도와 미리 기억된 기준속도의 비교에 의해 구해진 속도에 대한 귀속도(F)는 '빠름'을 나타내고,(Z)은 '정상'을 나타내고, (S)는 '느림'을 나타낸다. 그리고, 제8도는 장애물거리에 대한 귀속도를 나타낸 도면으로서, 장애물거리의 귀속도(S)는 '가깝다'를 나타내고, (Z)는 '보통이고, (L)은 '멀다'를 나타낸다.
또한, 제10도는 정속주행퍼지추론수단의 속도와 장애물거리 입력에 대한 출력퍼지함수를 이산형도표로 도시한 것으로서, 출력함수, 즉 귀속도(S)는 '출력감소' 이고, (Z)는 '출력불변'이고, (B)는 '출력증가'를 나타낸다.
상기에서 귀속도(S,Z,B)는 중앙처리장치(11)에 그 값이 미리 설정되어 있다.
제11도는 정속주행퍼지추론에 의한 정속제어출력변화량함수를 나타낸 도면으로, 상기 제8도 내지 제10도에서 구한 각 출력귀속도로부터 각 귀속도가 구성하는 면적을 산출하고, 이들 면적의 무게중심을 구하여, 상기에서 구한 무게중심값을 정속제어출력변화량(△Uf)으로 취한다.
여기서, 상기 제8도 내지 제11도에 의한 결과는 상기 제4도 내지 제7도의설명에서와 같은 단계의 추론방법으로 정속제어출력변화량(△Uf)을 산출하게 되는 것이다.
제12도는 위치좌표와 방향각, 순시방향각의 값에 따라 직진제어출력변화량의 가중치를 구하는 표이다. 이들 가중치는 로보트의 현재 주행상태에 따라 각각 다르게 부여됨으로써 직전제어출력의 효과를 극대화한다.
이하, 제3도를 참조하여 본 발명의 일실시예에 의한 로보트자동주행방법을 설명 한다
제3도는 본 발명의 일실시예에 있어서 로보트 자동주행방법을 설명하기 위한 플로널차트이다. 여기서, S는 스텝을 표시한다.
먼저, 사용자가 본 발명에 따른 자주식 로보트의 동작스위치를 온시키면, 스텝S1에서 로보트는 초기화되어 사용자가 입력시킨 작동명령에 따라 동작을 시 작한다.
다음에 스텝S2에서 방향각검출수단(9)과 주행거리검출수단(6)을 통해 로보트의 주행방향 변화(순시방향각, 변위각) 및 좌우측구동바퀴의 주행거리를 검출함과 동시에 장애물감지수단(10)을 통해 주행방향에 위치한 장애물을 검출하고, 스텝S3에서 중앙처리장치(11)는 상기 스텝S2에서 검출된 좌우측구동바퀴의 주행거리 및 로보트의 주행방향 변화를 이용하여 위치좌표연산수단(12)과 방향각 연산수단(13)을 통해 연산을 행하여 로보트의 위치좌표 및 절대위치에 대한 방향각을 산출해내고, 상기 장애물감지수단(10)에서 검출된 정보를 이용하여 장애물까지의 거리를 산출해내며, 상기 좌우측구동바퀴의 주행거리로부터 좌우측구동바퀴의 주행속도를 산출해낸다.
상기 스텝S3에서 로보트의 위치좌표와 절대위치에 대한 방향각이 산출되면, 스텝S4에서 중앙처리장치(11)는 상기 데이터를 이용하여 직진주행에 관한 오차연산을 행하므로서, 상기에서 검출된 위치좌표 및 절대위치에 대한 방향각 데이터는 퍼지룰에 따라 직진주행에 관한 퍼지추론을 수행하는 직진주행퍼지추론수단(14)에 입력되고, 상기 직진주행퍼지추론수단(14)에서는 퍼지추론에 의하여 직진제어출력 변화량( △Ud )을 산출해낸다.
즉, 제4도 및 제S도에 도시된 그래프에 의거하여 위치좌표와 방향각에 대한 귀 속도함수를 구하고, 제6도에 도시된 이산형분포도에 의거하여 결과가 산출된다.
상기 산출된 결과에 따라 제7도에 도시한 바와같이 각 귀속도가 구성하는 면적을 구하여 이들 면적의 무게중심을 구하게 되면, 그 결과로서 직진제어출력 변화량(△Ud)이 산출된다.
또한, 스텝S9에서 정속주행퍼지추론수단(17)에서는 장애물감지수단(10)에서 검출된 장애물까지의 거리데이터 및 상기 주행거리검출수단(6)에서 검출된 좌·우측주행바퀴의 주행속도와 기준속도를 비교연산한 값을 받아 정속주행에 관한 퍼지추론을 수행하여 주행모터의 정속제어출력변화량(△Uf)을 산출해낸다. 즉, 제8도 및 제9도에 도시된 그래프에 의거하여 속도 및 주행거리에 대한 귀속도를 구하고, 제10도에 도시된 이산형분포도에 의거하여 그 결과가 산출된다.
상기 산출된 결과에 따라 제11도에 도시한 바와 같이 각 귀속도가 구성하는 면적을 구하여 이들 면적의 무게중심을 구하게 되면, 그 결과로서 주행모터의 정속제어출력 변화량(△Uf)이 산출된다.
상기 스텝S4에서 직진주행 및 정속주행에 관한 오차연산을 행하여, 그 결과가 산출되면 스텝S5에서 중앙처리장치(11)는 상기에서 산출된 직진주행에 관한 오차연산 결과에 따라 로보트의 주행방향이 어느쪽으로 치우쳐 있는지, 즉 주행방향이 왼쪽 혹은 오른쪽으로 치우쳐 있는지, 혹은 정상궤도인지를 판별하고, 상기 스텝S5에서 로보트가 정상궤도를 주행하고 있다고 판별될 경우(정상일 경우)는 스텝S6에서 중앙처리장치(11)는 가중치연산수단(16)을 통해 상기 스텝S3에서 산출된 위치좌표 및 절대위치에 대한 방향각 데이터와 상기 방향각검출수단(9)에서 검출된 주행방향 변화 데이터를 입력받아 가중치(m)를 산출해 낸다.
상기 스텝S6에서 가중치연산수단(16)에서 가중치(m)데이터가 산출되면, 스텝S7에서 중앙처리장치(11)는 상기 산출된 결과에 따라 직진제어출력값을 판정, 즉 직진제어가중출력변화량(m·△Ud)을 산출해 낸다.
상기 스텝S7에서 직진제어출력값이 결정되면, 스텝S8에서 중앙처리장치 (11)는 상기 스텝S4에서 산출된 정속주행에 관한 오차연산결과에 따라 로보트의 주행속도가 느린지 혹은 빠른지, 혹은 정상속도인지를 판별하고, 상기 스텝S8에서 로보트의 주행속도가 정상속도라고 판별될 경우(정상일 경우)는 스텝S9로 나아가서 중앙처리장치(11)는 상기에서 산출된 결과에 따라 정속제어출력값을 판정, 즉 정속제어출력변화량(△Uf)을 산출해 낸다.
상기 스텝S9에서 정속제어출력변화량(△Uf)이 산출되면, 스텝S10에서 중앙처리장치(11)는 상기에서 산출된 결과에 따라 좌·우측주행모터(2)(3)의 제어값을 결정하여 최종구동제어치를 출력한다.
즉, 상기에서 각각 산출된 직전제어가중출력변화량(m·△Ud) 및 주행 모터의 정속제어출력변화량(△Uf)은 이전의 좌·우측주행모터의 출력량 UL·(k-1), UR(k-1)과 연산되어 다음과 같은 최종출력량을 산출해 낸다.
상기의 최종출력량에서 좌측주행 모터(2)의 출력량(UL(k))은,
UL(k) = UL(k-1)+m·△Ud+△Uf이고, 우측주행모터 (2)의 출력량(Ur(k))은, Ur(k) = UR(k-1)-m·△Ud+△Uf 이다.
여기서, 상기 결정된 좌·우측주행모터(2)(3)의 출력량은 좌·우측주행모터구동제어수단(4)(5)에서 각각 펄스폭변조(PWM) 신호를 발생시켜서 좌·우측주행모터 (2)(3)를 구동하게 된다.
상기 스텝S10에서 최종제어값이 출력되면, 스텝S11에서 중앙처리장치(11)는 계속 주행할 것인지 여부를 판별하여 계속 주행한다고 판별될 경우(YES일 경우)는 상기 스텝S2이하의 동작을 반복 행하고, 계속주행하지 않는다고 판별될 경우(NO일 경우)는 이동로보트의 자동주행을 종료한다.
한편, 상기 스텝S5에서 중앙처리장치(11)의 연산결과에 따라 로보트의 주행방향이 왼쪽으로 치우쳐 있다고 판별될 경우(왼쪽일 경우)는 스텝S12로 나아가서 중앙처리장치(11)는 상기 산출된 직진주행에 관한 데이터에 따라서 좌측주행모터구동제어수단(4)을 제어하여 좌측주행모터(2)의 출력을 증가시켜 좌측구동바퀴의 회전속도를 크게함과 동시에 우측주행모터구동제어수단(S)을 제어하여 우측주행모터(3)의 출력을 감소시킨후 상기 스텝S6이하의 동작을 반복행한다.
한편, 상기 스텝S5에서 중앙처리장치(11)의 연산결과에 따라 로보트의 주행방향이 오른쪽으로 치우쳐 있다고 판별될 경우(오른쪽일 경우)는 스텝S13으로 나아가서 중앙처리장치(11)는 상기 산출된 직진주행에 관한 데이터에 따라 우측주행모터구동제어수단(5)을 제어하여 우측주행모터(3)의 출력을 증가하여 우측구동바퀴의 회전속도를 증가시킴과 동시에, 좌측주행모터구동제어수단(4)을 제어하여 좌측주행모터(2)의 출력을 감소시킨후 상기 스텝S6이하의 동작을 반복행한다.
한편, 상기 스텝S8에서 로보트의 주행속도가 느리다고 판별될 경우(느리다일 경우)는 스텝S14로 나아가서 중앙처리장치(11)는 좌측주행모터구동수단(4) 및 우측주행모터구동수단(S)을 제어하여 좌·우측주행 모터(2)(3)의 출력을 증가 시켜 좌·우측구동바퀴의 회전속도를 증가시킨다.
한편, 상기 스텝S8에서 로보트의 주행속도가 빠르다고 판별될 경우(빠르다일 경우)는 스텝S15로 나아가서 중앙처리장치(11)는 좌·우측주행모터(2)(3) 의 출력을 감소시켜 좌·우측구동바퀴의 회전속도를 감소시킨다.
상기에서 설명한 바와같이 본 발명에 의한 로보트 자동주행제어장치 및 그 방법에 의하면 이동로보트의 주행거리를 검출하는주행거리검출수단과, 주행 방향의 변화를 검출하는 방향각검출수단과, 상기 방향각검출수단에 의해 로보트 의 절대위치를 연산하는 위치식별수단과, 로보트의 주위의 장애물의 유무와 장애물의 거리를 감지하는 장애물감지수단과, 상기 위치식별수단으로부터 얻어진 정보를 이용하여 로보트의 직진주행에 관한 퍼지추론을 수행하는 직진주행퍼지추론수단과, 상기 주행거리검출수단으로부터 얻어진 주행속도,데이터와 상기 장애물감지수단으로부터 얻어진 장애물까지의 거리데이터를 이용하여 속도제어에 관한퍼지추론을 수행하는 정속주행퍼지추론수단과, 상기 각 수단의 연산과 퍼지추론을 수행하고 얻어진 결과에 따라 로보트의 이동을 제어하는 구동제어수단으로 구성되어 직선거리를 이동할때에 주행바퀴의 이동거리 및 로보트의 방향과 장애물에 관한 정보를 이용하여 퍼지추론을 수행함으로써 직진주행시에 정상궤도를 이탈하지 않고 주행속도를 유지하여 목표지점까지 정확히 주행할 수 있다는 뛰어난 효과가 있다.

Claims (7)

  1. 로보트의 주행거리 및 주행속도를 검출하는 주행거리검출수단과, 로보트의 주행방향 변화를 검출하는 방향각검출수단과, 상기 주행거리검출수단과 방향각검출수단으로부터 주행거리 및 주행방향 변화를 입력받아 로보트의 위치좌표 및 절대위치에 대한 방향각을 연산하는 위치식별수단과, 상기 위치식별수단으로부터 로보트의 위치좌표 및 절대위치에 대한 방향각을 입력받아 로보트의 직진주행에 관한 퍼지추론을 수행하여 직진제어값을 출력하는 직진주행퍼지추론수단과, 로보트 주위의 장애물 유무와 장애물까지의 거리를 감지하는 장애물감지수단과, 상기 주행거리검출수단과 장애물감지수단으로부터 주행속도와 장애물까지의 거리를 입력받아 로보트의 속도제어에 관한 퍼지추론을 수행하여 정속제어값을 출력하는 정속주행퍼지추론수단과, 상기 직진주행퍼지추론수단과 정속주행퍼지추론수단으로부터 직진제어값과 정속제어값을 입력받아 로보트의 주행을 제어하는 구동제어수단으로 이루어진 로보트의 자동주행제어 장치.
  2. 제 1 항에 있어서, 상기 방향각검출수단으로부터 로보트의 주행방향 변화를 입력받고 상기 위치식별수단으로부터 로보트의 위치좌표 및 절대위치에 대한 방향각을 입력받아 가중치를 결정하는 가중치연산수단을 더 구비하여 구성 되고, 상기 구동제어수단은 상기 직진주행퍼지추론수단으로부터 입력된 직진제어값에 상기 가중치를 곱하여 직진가중제어값을 결정하고 이 직진가중제어값과 상기 정속주행퍼지추론수단으로부터 입력된 정속제어값에 따라 로보트의 주행을 제어하도록 되어 있는 것을 특징으로 하는 로보트의 자동주행제어장치.
  3. 로보트가 구동을 시작하면, 로보트의 주행거리 및 주행속도와 로보트의 주행방향 변화 및 로보트의 주행방향에 위치한 장애물까지의 거리를 검출하여 로보트의 위치좌표와 절대위치에 대한 방향각을 연산하는 검출스텝과, 상기 로보트의 위치좌표와 절대위치에 대한 방향각을 이용하여 직진주행에 관한 오차를 연산하여 직진제어값을 산출하는 직진주행퍼지추론스텝과, 상기 로보트의 주행방향 변화와 로보트의 위치좌표와 절대위치에 대한 방향각을 이용하여 가중치를 연산하는 가중치연산스텝과, 상기 가중치를 상기 직진제어값에 곱하여 직진가중제어값을 연산하는 직진가중제어값연산스텝과, 상기 로보트의 장애물까지의 거리와 로보트의 주행속도를 이용하여 정속주행에 관한 오차를 연산하여 정속제어값을 산출하는 정속주행퍼지추론스텝과, 상기 직진가중제어값과 정속제어값을 이용하여 최종제어값을 결정하고 이최종제어값에 따라 로보트의 주행을 제어하는 구동제어스텝으로 이루어진 로보트의 자동주행 제어방법.
  4. 제5항에 있어서, 상기 직진주행퍼지추론스텝에서 로보트의 주행방향이 왼쪽으로 치우쳐 있다고 판별되면, 좌측주행모터의 회전속도를 증가시킴과 동시에 우측주행모터의 회전속도를 감소시키도록 직진제어값을 산출하는 것을 특징으로 하는 로보트의 자동주행제어방법.
  5. 제5항에 있어서, 상기 직진주행퍼지추론스텝에서 로보트의 주행방향이 오른쪽으로 치우쳐 있다고 판별되면, 우측주행모터의 회전속도를 증가시킴과 동시에 좌측주행모터의 회전속도를 감소시키도록 직진제어값을 산출하는 것을 특징으로 하는 로보트의 자동주행제어방법.
  6. 제5항에 있어서, 상기 정속주행퍼지추론스텝에서 로보트의 주행속도가 느리다고 판별되면, 좌우측주행모터의 회전속도를 증가시키도록 정속제어값을 산출하는 것을 특징으로 하는 로보트의 자동주행제어방법.
  7. 제5항에 있어서, 상기 정속주행퍼지추론스텝에서 로보트의 주행속도가 빠르다고 판별되면, 좌우측주행모터의 회전속도를 감소시키도록 정속제어값을 산출하는 것을 특징으로 하는 로보트의 자동주행제어방법.
KR1019930012664A 1993-07-06 1993-07-06 로보트의 자동주행제어장치 및 그 방법 KR0161027B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930012664A KR0161027B1 (ko) 1993-07-06 1993-07-06 로보트의 자동주행제어장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930012664A KR0161027B1 (ko) 1993-07-06 1993-07-06 로보트의 자동주행제어장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR950002933A KR950002933A (ko) 1995-02-16
KR0161027B1 true KR0161027B1 (ko) 1999-01-15

Family

ID=19358818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930012664A KR0161027B1 (ko) 1993-07-06 1993-07-06 로보트의 자동주행제어장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR0161027B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100990363B1 (ko) * 2005-11-04 2010-10-29 무라타 기카이 가부시키가이샤 반송장치
CN108008720A (zh) * 2017-10-31 2018-05-08 哈尔滨理工大学 一种轮式移动机器人的模糊滑模轨迹跟踪控制及方法
KR20190054575A (ko) * 2017-11-14 2019-05-22 이화여자대학교 산학협력단 환자 맞춤형 하지 재활 훈련 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050063541A (ko) * 2003-12-22 2005-06-28 엘지전자 주식회사 이동로봇의 위치확인장치 및 방법
KR100585680B1 (ko) * 2004-12-10 2006-06-07 엘지전자 주식회사 이동 로봇의 구동바퀴 속도지령치 생성방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100990363B1 (ko) * 2005-11-04 2010-10-29 무라타 기카이 가부시키가이샤 반송장치
CN108008720A (zh) * 2017-10-31 2018-05-08 哈尔滨理工大学 一种轮式移动机器人的模糊滑模轨迹跟踪控制及方法
CN108008720B (zh) * 2017-10-31 2021-01-01 哈尔滨理工大学 一种轮式移动机器人的模糊滑模轨迹跟踪控制及方法
KR20190054575A (ko) * 2017-11-14 2019-05-22 이화여자대학교 산학협력단 환자 맞춤형 하지 재활 훈련 장치 및 방법

Also Published As

Publication number Publication date
KR950002933A (ko) 1995-02-16

Similar Documents

Publication Publication Date Title
JP2878622B2 (ja) ロボットの自動走行制御装置およびその方法
KR0161042B1 (ko) 로보트의 주행제어장치 및 그 방법
JP3217281B2 (ja) ロボットの環境認識装置およびその制御方法
JP2769052B2 (ja) 自律移動機械、移動機械の制御装置及び方法
EP0142594B1 (en) Control system for mobile robot
KR970010025A (ko) 로보트의 위치인식장치 및 그 제어방법
SE457023B (sv) System foer att styra och leda ett fordon
JPH0646364B2 (ja) 自律走行車の誘導方法
JP2011008385A (ja) 車両走行支援装置
KR0161027B1 (ko) 로보트의 자동주행제어장치 및 그 방법
JPH0895638A (ja) 移動作業ロボットの走行制御装置
JPH075922A (ja) 無人作業車の操舵制御方法
KR0161028B1 (ko) 로보트의 자동주행제어장치 및 그 방법
JPS61278912A (ja) 地点追従方式による無人移動機械の誘導方法
WO2016072186A1 (ja) 位置検出装置、制御方法及び自動走行車
JP3317159B2 (ja) 無人搬送車
JP2622579B2 (ja) 移動体の誘導方法
JP2777281B2 (ja) 無人搬送車の旋回走行制御方法
JPS59121406A (ja) 移動ロボツトの制御装置
KR100199988B1 (ko) 무인차의 조향방법 및 조향장치
JPH06149364A (ja) 無人走行車の制御装置
KR100210061B1 (ko) 로보트의 위치인식장치 및 그 제어방법
KR0161043B1 (ko) 로보트의 주행제어방법
KR0160303B1 (ko) 무인반송차의 속도제어장치
JPH04305186A (ja) 自律走行車両の障害物回避装置

Legal Events

Date Code Title Description
A201 Request for 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: 20070727

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee