KR101026596B1 - 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법 - Google Patents

옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법 Download PDF

Info

Publication number
KR101026596B1
KR101026596B1 KR1020090029261A KR20090029261A KR101026596B1 KR 101026596 B1 KR101026596 B1 KR 101026596B1 KR 1020090029261 A KR1020090029261 A KR 1020090029261A KR 20090029261 A KR20090029261 A KR 20090029261A KR 101026596 B1 KR101026596 B1 KR 101026596B1
Authority
KR
South Korea
Prior art keywords
mobile robot
angle
omni
motors
speed
Prior art date
Application number
KR1020090029261A
Other languages
English (en)
Other versions
KR20100110960A (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 KR1020090029261A priority Critical patent/KR101026596B1/ko
Publication of KR20100110960A publication Critical patent/KR20100110960A/ko
Application granted granted Critical
Publication of KR101026596B1 publication Critical patent/KR101026596B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot

Landscapes

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

Abstract

옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법이 제시된다. 이에 의하면, 3개 옴니휠을 이용한 이동로봇의 주행궤적을 계획하는 단계; 상기 이동로봇의 베이스각도를 설정하는 과정, 상기 이동로봇의 회전각도를 계산하는 과정, 및 상기 이동로봇의 각속도를 제어하는 과정을 포함하는 단계; 상기 이동로봇의 이동각도를 설정하는 과정, 및 상기 이동로봇의 이동각도를 계산하는 과정을 포함하는 단계; 상기 제어된 각속도와 상기 계산된 이동각도를 이용하여 상기 옴니휠의 각각에 해당하는 3개 모터 각각의 회전속도를 계산하는 단계; 상기 계산된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하는 단계; 및 상기 제어된 모터 각각의 회전속도로 상기 이동로봇을 주행시키는 단계를 포함하며, 상기 모터 각각의 회전속도를 제어하는 단계는, 상기 모터 각각의 회전속도를, 3개 모터속도센서 각각에 의해 센싱하는 단계를 더 포함하며, 상기 계산된 모터 각각의 회전속도와 상기 센싱된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하고, 상기 이동로봇의 회전각도를 계산하는 과정은, 상기 이동로봇의 자이로각도를 자이로센서에 의해 센싱하는 단계를 더 포함하며, 상기 설정된 이동로봇의 베이스각도와 상기 센싱된 자이로각도를 이용하여 상기 이동로봇의 회전각도를 계산하는 것을 특징으로 한다.
옴니휠,이동로봇,주행제어장치,주행제어방법,베이스각도,회전각도, 모터, 회전속도

Description

옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법{trajectory control device and method of mobile robot using omni-wheels}
본 발명은, 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법에 관한 것으로, 더욱 상세하게는 보다 효율적으로 주행할 수 있고, 보다 민첩하고 정확하게 주행할 수 있도록 한, 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법에 관한 것이다.
일본국 혼다(Honda)사에서 개발한, 아시모(ASIMO)라는 이름을 가진 로봇(robot)을 시작으로 하여, 한국을 포함한 여러 로봇 선진국에서 인간이 다리를 이용하여 걷는 방식의 소위 휴머노이드 로봇(humanoid robot)을 개발하는데 많은 투자를 하여 왔다. 기존의 청소 로봇들과 같은 상용화된 서비스 로봇들 모두는, 그동안 편리성과 이동성 때문에 공장 자동화 및 안내 로봇 등에 사용되는 이동방식인 휠베이스 방식을 채택하고 있으며, 앞으로 상용화될 서비스 로봇들도 휠베이스 방식의 이동 로봇 시스템을 사용할 것으로 많은 전문가들이 예견하고 있다. 그러므로 자기위치인식과 원하는 장소로 이동할 수 있는 기본기능을 갖춘 자율이동로봇 플랫폼의 개발은 향후 서비스 로봇 시장에서 가장 큰 수요를 갖는 컴포넌트 모듈(component module)이 될 것이다.
서비스 로봇은, 인간과 동일한 공간에서 동작하므로 여러 측면에서 산업용 로봇과 매우 다르다. 산업용 로봇은, 단순반복적인 작업에만 국한되기 때문에 제한적이고 잘 정돈된 환경에서 인간과 무관하게 미리 프로그램된 작업만을 수행한다. 그러나 정형화된 규칙이 없는, 사무실이나 가정과 같은 환경에서는 서비스 로봇이, 항상 인간과 접촉하거나 근접한 위치에서 동작하는 경우가 많다. 또한 서비스 로봇이 담당하는 업무도 단순반복적인 작업이 아니라 인간을 지원하거나 보조하는 작업이 주종이다.
서비스 로봇의 주행을 위하여, 초기에는 2개의 바퀴와 1개의 보조바퀴를 이용한 방식을 사용하였다. 그러나 이러한 방식은, 실내에서의 보다 자유로운 주행에 한계가 있었다.
최근에는 기존의 이동 로봇의 단점을 개선하기 위하여, 옴니휠(omni-wheel)을 이용한 새로운 주행시스템 플랫폼인 옴니휠을 이용한 자율이동로봇이 연구되고 있다. 이러한 자율이동로봇은, 옴니휠이라는 특이한 구조의 바퀴를 사용하여 홀로노믹 시스템(holonomic system)을 실현할 수가 있었다. 홀로노믹 시스템은, 제어하고 싶은 자유도와, 제어할 수 있는 자유도의 관계로 정의된다. 제어를 할 수 있는 자유도가 제어하고 싶은 자유도보다 많거나 같은 경우 홀로노믹 시스템이라 하고, 제어를 할 수 있는 자유도가 제어를 하고 싶은 자유도보다 적을 경우 논홀로노믹 시스템(non-holonomic system)이라 한다. 옴니휠은, 하나의 주 바퀴와, 그 주위에 위성처럼 달려있는 보조바퀴로 구성된다. 주 바퀴는 일반적인 바퀴와 같이 모터의 회전축을 중심으로 회전을 하고, 보조바퀴는 외부의 힘에 의해 회전축의 방향(주 바퀴와 직각을 이루는 방향)으로 슬립(slip)이 발생된다. 이와 같은 특이한 구조의 옴니휠 덕분에, 종래의 옴니휠을 이용한 자율이동 로봇은, 회전 반경 없이 어느 방향이든 이동이 가능한 홀로노믹 시스템을 구현할 수 있었다.
그러나 옴니휠을 사용한 이동로봇의 경우 상기한 많은 장점에도 불구하고, 종래의 일반 바퀴를 상용한 경우보다 위치 이동 및 자세 제어가 매우 어렵기 때문에 민첩하고 정확하게 주행할 수 없는 문제점이 있었다.
따라서 본 발명의 목적은, 옴니휠을 사용한 이동로봇이 갖는 홀로노믹 특성의 장점을 적극 활용하면서 옴니휠의 최대 단점인 위치 이동과 회전 및 자세에서의 불확실한 제어 능력을 개선할 수 있도록 한, 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법을 제공하는데 있다.
이와 같은 목적을 달성하기 위한, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어방법은, 3개 옴니휠을 이용한 이동로봇의 주행궤적을 계획하는 단계; 상기 이동로봇의 베이스각도를 설정하는 과정, 상기 이동로봇의 회전각도를 계산하는 과정, 및 상기 이동로봇의 각속도를 제어하는 과정을 포함하는 단계; 상기 이동로봇의 이동각도를 설정하는 과정, 및 상기 이동로봇의 이동각도를 계산하는 과정을 포함하는 단계; 상기 제어된 각속도와 상기 계산된 이동각도를 이용하여 상기 옴니휠의 각각에 해당하는 3개 모터 각각의 회전속도를 계산하는 단계; 상기 계산된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하는 단계; 및 상기 제어된 모터 각각의 회전속도로 상기 이동로봇을 주행시키는 단계를 포함하며, 상기 모터 각각의 회전속도를 제어하는 단계는, 상기 모터 각각의 회전속도를, 3개 모터속도센서 각각에 의해 센싱하는 단계를 더 포함하며, 상기 계산된 모터 각각의 회전속도와 상기 센싱된 모터 각각의 회전속도를 이용하여 상기 모터 각 각의 회전속도를 제어하고, 상기 이동로봇의 회전각도를 계산하는 과정은, 상기 이동로봇의 자이로각도를 자이로센서에 의해 센싱하는 단계를 더 포함하며, 상기 설정된 이동로봇의 베이스각도와 상기 센싱된 자이로각도를 이용하여 상기 이동로봇의 회전각도를 계산하는 것을 특징으로 한다.
또한 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어장치는, 3개 옴니휠을 이용한 이동로봇의 주행궤적을, 상기한 주행제어방법에 의해 제어하는 제어부를 구비하는 것을 특징으로 한다.
본 발명에 따르면, 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법은, 자율이동로봇을 보다 효율적으로 주행시킬 수 있고, 자율이동로봇을 보다 민첩하고 정확하게 주행시킬 수 있다.
이하, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법을 첨부 도면을 참조하여 상세히 설명하기로 한다.
본 발명의 자율이동로봇은, 홀로노믹 시스템의 구현을 위하여, 도 1a 및 도 1b에 도시한 바와 같은 구조의 옴니휠을 사용할 수 있다. 도 1b에 도시된 바와 같이, 옴니휠은, 바퀴의 축(미도시)에 전달되는 동력에 의해 A방향으로 일반적인 바퀴와 똑같이 회전을 하고, 외부의 힘에 의해 B방향으로 슬립이 발생할 수 있는 구 조로 이루어진다. 이러한 특이한 구조를 가진 옴니휠을 적절히 배치해두면, 서로의 속도비를 이용하여 어느 방향이든 바로 이동 가능한 홀로노믹 시스템을 구현할 수가 있다. 옴니휠을 이용한 주행부의 설계 방식은, 3개의 옴니휠을 이용한 설계방식과 4개의 옴니휠을 이용한 설계방식으로 나눌 수가 있다.
각 설계방식에 따른, 직진을 위한 옴니휠 모터 구동 방식은 도 2a 및 도 2b에 도시된 바와 같다. 도 2a 및 도 2b에 도시된 바와 같은 옴니휠의 배치에 따른 이동로봇 각각의 주행 기구학은 수학식 1 및 수학식 2와 같다.
Figure 112009020469217-pat00001
Figure 112009020469217-pat00002
3개의 옴니휠을 이용한 설계방식의 경우, 1개의 옴니휠 구동 모터는 에너지 효율이 좋지만 나머지 2개의 옴니휠 구동 모터는 모든 회전 에너지가 직진으로만 전달되지 못한다. 하지만 4개의 옴니휠을 이용한 설계방식의 경우, 2개의 옴니휠 구동 모터만을 사용하여 일반적인 휠 베이스 시스템과 같이 구동이 가능하며 에너지 효율도 높다. 그러나 4개의 옴니휠을 이용한다면 별도의 서스펜션 구조가 필요 하다. 왜냐하면 바닥면이 고르지 않을 경우 4개의 바퀴가 전부 바닥면에 접지하지 못함으로써 모든 바퀴의 제어가 힘들어지기 때문이다. 따라서 이를 해결하기 위하여, 서스펜션 구조를 사용하여야 하지만, 서스펜션 구조를 사용하더라도 모든 바퀴에 균등하게 부하가 작용하도록 서스펜션 구조를 설계하기가 어렵다. 메스클린업 로봇과 같이, 물체를 이동시켜야 하는, 무게중심이 일정치 않은 로봇에서는 서스펜션 구조를 설계하는 것이 더욱 어려운 작업이다. 하지만 3개의 옴니휠을 사용한다면, 바닥면의 상태에 관계없이 항상 3개의 바퀴가 바닥면에 접지하게 되고 항상 모든 바퀴의 제어가 가능한 상태가 된다.
이러한 점들을 고려하여, 본 발명의 자율이동로봇에서는 3개의 옴니휠을 이용한 주행 시스템을 설계하기로 한다. 이러한 3개의 옴니휠을 사용한다면 홀로노믹 시스템을 구현할 수가 있으며, 실내와 같은 좁은 공간에서 이동의 편리성을 확보할 수가 있다.
대표적인 논홀로노믹 시스템은 자동차라고 할 수 있다. 자동차가 방향을 바꾸기 위해서는 어느 정도 회전 반경이 있어야만 한다. 하지만 홀로노믹 시스템은 별도의 회전 반경 없이도 방향을 바꿀 수 있으며, 방향을 바꾸기 위한 시스템의 회전조차 필요가 없다. 이러한 점은, 좁은 실내에서 방향을 바꾸어도 로봇이 이동할 수 있을 만큼의 공간만 존재한다면 자유롭게 주행이 가능하며, 움직이는 장애물이 갑작스럽게 출현하여도 장애물을 유연하게 회피하여 주행이 가능하다.
따라서 본 발명의 자율이동로봇에서는 3개의 옴니휠을 사용하였고, 3개의 옴니휠의 위치 및 방향 제어를 위한 특별한 제어방법을 제시하고, 도 3에 도시된 바 와 같은 자율이동로봇의 위치 및 방향 제어 알고리즘을 사용한다.
3개의 옴니휠을 사용한 자율이동로봇의 주행 기구학은, Rob Van Haendel의 정의를 사용할 수 있다. 먼저, 도 4에 도시된 바와 같이, 로봇이 위치한 전체 좌표계[x, y]를 정의하면, 로봇의 위치와 방향을 (x, y, θ)로 나타낼 수 있고, 속도를
Figure 112009020469217-pat00003
라고 나타낼 수 있다. 여기서 로봇의 좌표계 [xl, yl]를 정의하면, 좌표계의 중심은 로봇의 무게중심점이 되고, 3개의 옴니휠은 αi(i=1, 2, 3)의 각도로 놓여있다. xl을 기준으로 하면 α1=0°, α2=120°, α3=240°이다. 하지만 이동 로봇은 α2=90°로 정의하였으므로, α1=210°, α2=90°, α3=330°이다. 이제 각 바퀴 축의 속도를 vi라 정의하면, vi는 수학식 3과 같다.
vi = vtrans,i + vrot
여기서, vtrans,i는 축 i의 이동을 위한 속도이고, vrot는 회전을 위한 속도이다.
우선 순수하게 이동을 위한 속도성분만을 수학식 4와 같이 정의할 수 있다.
Figure 112009020469217-pat00004
이를 이용하여 나머지 vtrans,i를 수학식 5와 같이 정의할 수 있다.
Figure 112009020469217-pat00005
이제 순수 회전을 위한 속도성분만을 수학식 6과 같이 정의할 수 있다.
Figure 112009020469217-pat00006
여기서, R은 로봇의 무게중심에서 바퀴까지의 거리이다.
수학식 5와 수학식 6을 합치면, 그 결과는 수학식 7과 같다.
Figure 112009020469217-pat00007
이를
Figure 112009020469217-pat00008
에 대한
Figure 112009020469217-pat00009
로 행렬식으로 나타내면 그 결과는 수학식 8과 같다.
Figure 112009020469217-pat00010
다시 전체 좌표계
Figure 112009020469217-pat00011
를 수학식 9와 같이, 로봇 좌표계
Figure 112009020469217-pat00012
로 변환할 수 있다.
Figure 112009020469217-pat00013
수학식 9을 이용하여 수학식 8을 수학식 10과 같이 정리할 수 있다.
Figure 112009020469217-pat00014
이를 사용하여 다시 vi를 수학식 11과 같이 정의할 수 있다.
Figure 112009020469217-pat00015
vi는 각 축의 속도이다. vi와 모터회전속도의 관계를 수학식 12와 같이 나타낼 수 있다.
Figure 112009020469217-pat00016
여기서, r은 바퀴의 반지름이다. 이를 이용하여
Figure 112009020469217-pat00017
를 수학식 13과 같이 정의할 수 있다.
Figure 112009020469217-pat00018
자율이동로봇의 경우 α1=210°, α2=90°, α3=330°이다. 그러므로 수학식 13을 이용하여 각 모터의 회전속도 Vx(x=1, 2, 3)를 수학식 14 내지 수학식 16과 같이 정의할 수 있다.
Figure 112009020469217-pat00019
Figure 112009020469217-pat00020
Figure 112009020469217-pat00021
상기한 수학식들을 이용하여 각각의 옴니휠에 해당하는 옴니휠 구동 모터의 속도를 제어하며 자이로센서를 이용하여 이동로봇의 자세를 수정하며 주행을 하게 된다.
이와 같은 방식으로 주행을 하는 본 발명의 이동로봇(100)은, 도 5에 도시된 바와 같이, 본 발명에 따른, 옴니휠을 이용한 이동로봇의 주행제어장치에 적용된 제어부(10)를 포함하고, 또한 옴니휠부(20), 옴니휠모터부(30), 옴니휠모터속도센싱부(40), 자이로센서(50), 및 전원공급부(60)를 포함하여 구성될 수 있다.
여기서, 제어부(10)는, 본 발명에 따른 이동로봇(100)의 전반적인 동작을 제어하는 부분으로서, 도 7을 참조하여 후술하는 주행제어방법에 따라, 3개 옴니휠을 이용한 이동로봇(100)의 위치 이동 및 회전 등의 주행궤적을 제어하는 마이크로프로세서 및 상기한 각 구성부의 동작을 제어하기 위한 각각의 콘트롤러를 구비할 수 있다. 더욱이 상기 마이크로프로세서는, 옴니휠모터속도센싱부(40) 및 자이로센서(50)로부터 센싱되는 신호를 피드백(feedback)하여 이동로봇(100)의 위치 이동 및 회전 등의 주행궤적을 제어한다. 상기 콘트롤러로는, 모터 드라이버와 같은 모터속도 콘트롤러, PID 각속도 콘트롤러 등이 사용될 수 있다.
옴니휠부(20) 및 옴니휠모터부(30)는 이동로봇(100)의 주행부를 구성한다. 옴니휠부(20)는, 3개의 옴니휠(21,23,25)을 구비하고, 또한 옴니휠(21,23,25)의 각각에 대응하여 체결된 3개의 축(미도시)을 구비한다.
옴니휠모터부(30)는, 옴니휠(21,23,25)의 각각을 회전시키기 위하여, 옴니휠(21,23,25)의 각각을 회전시키는 3개의 모터(31,33,35)를 구비한다. 모터(31,33,35)로는 예를 들어 직류모터를 사용한다.
옴니휠모터속도센싱부(40)는, 모터(31,33,35)의 각각의 회전속도를 센싱하는 3개의 모터속도센서(41,43,45)를 구비한다. 모터속도센서(41,43,45)로는 예를 들어 엔코더(encoder) 센서를 사용한다.
자이로센서(50)는, 이동로봇(100)의 자세를 나타내는 방향 또는 각도를 센싱하는 센서이다.
전원공급부(60)는, 이동로봇(100)의 각 구성부에 필요한 동작전원을 공급하 는 전원공급부로서, 충전 가능한 배터리를 포함하여 구성될 수 있다.
한편, 이동로봇(100)은, 도면에 도시하지 않았지만, 이동로봇(100)의 위치 이동 및 회전 등의 주행궤적을 제어하는 소프트웨어가 미리 저장된 저장부, 이동로봇(100) 외측의 물체를 인식하는 물체인식부, RFID태그로부터의 신호를 리딩하는 RFID 리더기 등을 더 포함할 수 있다. 이동로봇(100)이 자율주행하는 환경에서는 RFID태그와 같은 환경센서가 복수개 미리 배치되어 있는 것이 일반적이다.
이와 같이 구성된 이동로봇(100)을 주행하는 방법을 도 6 및 도 7을 참조하여 설명하기로 한다.
먼저, 이동로봇(100)의 전원스위치(미도시)가 턴온(turn on)되면, 이동로봇(100)의 전원공급부(60)가 동작전원을 필요로 하는 각 구성부에 동작전원을 공급한다. 이러한 상태에서, 단계(S10)에서, 제어부(10)가 현재의 주어진 환경에서 예를 들어 RFID리더기와 RFID태그를 이용한 자기위치인식과정을 통하여 이동로봇(100)의 현재 위치를 파악한다. 그런 다음 제어부(10)가 이동로봇(100)의 주행을 제어하기 위하여, 이러한 위치정보를 이용하여 이동로봇(100)을 목적지로 이동시키기 위한 주행궤적을 계획한다.
이동로봇(100)의 주행궤적을 계획하고 나면, 단계(S20)에서, 제어부(10)가 단계(S21) 내지 단계(S25)를 진행함으로써 이동로봇(100)의 베이스각도를 설정하고, 이동로봇(100)의 회전각도를 계산하여 이동로봇(100)의 각속도를 제어하고, 이와 병행하여 제어부(10)가 단계(S27)와 단계(S29)를 진행함으로써 이동로봇(100)의 이동각도를 설정하고, 이동로봇(100)의 이동각도를 계산한다.
이를 좀 더 상세히 언급하면, 단계(S21)에서, 제어부(10)가 이동로봇(100)의 베이스각도(Base_Angle)를 설정한다. 베이스각도(Base_Angle)는 이동로봇(100)의 헤드 방향을 나타낸다.
베이스각도(Base_Angle)를 설정하고 나면, 단계(S23)에서, 제어부(10)가 이동로봇(100)의 회전각도를 계산한다. 즉, 제어부(10)가 매 샘플링 때마다 후술하는 단계(S60)에서 센싱한 자이로각도(Gyro_Angle)(θgyro)를 제공받는다. 자이로각도(Gyro_Angle)(θgyro)는 현재의 이동로봇(100)의 회전각도(Rotation_Angle)를 나타낸다. 이후 제어부(10)가 상기 베이스각도에 상기 회전각도를 더하여 일정한 값으로 증가할 수 있게 한다.
이동로봇(100)의 회전각도를 계산하고 나면, 단계(S25)에서, 제어부(10)가 상기 베이스각도와 상기 자이로각도(Gyro_Angle)(θgyro)의 차이값을 구하고, 제어부(10) 내의 PID 각속도 콘트롤러가 그 차이값을 에러값으로 이용하여 각속도(Vw)를 제어한다.
단계(S21) 내지 단계(S25)와 병행하여, 단계(S27)에서, 제어부(10)가 이동로봇(100)의 이동각도(Move_Angle)를 설정한다. 이동각도(Move_Angle)는 이동로봇(100)을 이동시키길 원하는 절대방향을 나타낸다. 한편, 이동로봇(100)이 회전을 할 때, 이동로봇(100)의 이동각도(Move_Angle)를 수정해주지 않으면 이동로봇(100)은 당초의 원하는 방향으로 이동하지 못하고 원 또는 소용돌이 무늬 등을 그리며 이동하게 될 것이다.
이동로봇(100)의 이동각도(Move_Angle)를 설정하고 나면, 단계(S29)에서, 이 동로봇(100)을, 회전 중에도 원하는 방향으로 이동시키기 위하여, 제어부(10)가 이동로봇(100)의 이동각도(Move_Angle)에서, 후술하는 단계(S60)에서 센싱한 이동로봇(100)의 자이로각도(Gyro_Angle)(θgyro)를 빼서 매 순간의 이동각도(Move_Angle)를 다시 계산한다.
이어서, 단계(S30)에서, 제어부(10)가 단계(S23)에서 계산된 이동각도(Move_Angle)와, 원하는 모터의 속도(Desired_Velocity)를, 앞서 언급한 수학식 14 내지 수학식 16에 적용시킴으로써 이동로봇(100)을 원하는 방향으로 이동시키기 위한, 모터(31,33,35)의 회전속도(Vx)(x=1, 2, 3)를 각각 계산한다.
그런 다음, 단계(S40)에서, 제어부(10)가 상기 계산된 회전속도(Vx)와 상기 제어된 각속도(Vw)를 합하여 모터(31,33,35)의 최종적인 회전속도를 계산한다. 이후 제어부(10) 내의 모터속도 콘트롤러, 예를 들어 모터 드라이버가 상기 계산된 최종적인 회전속도에 맞추어 모터(31,33,35)의 회전속도를 제어한다. 이에 따라 단계(S70)에서, 옴니휠(21,23,25)이 모터(31,33,35)의 제어된 회전속도에 대응하여 회전하므로 이동로봇(100)이 계속 주행한다.
한편, 단계(S50)에서, 옴니휠모터속도센싱부(40)의 모터속도센서(41,43,45), 예를 들어 엔코더 센서가 상기 제어된 모터(31,33,35)의 회전속도를 센싱하여 제어부(10)에 피드백시킨다. 따라서 단계(S40)에서, 제어부(10) 내의 모터 드라이버가 상기 센싱된 모터(31,33,35)의 회전속도를 이용하여 상기 계산된 최종적인 회전속도에 대응하도록 모터(31,33,35)의 회전속도를 제어한다.
단계(S60)에서, 자이로센서(50)는, 모터(31,33,35)의 회전에 따라 이동로봇(100)이 회전하면, 그 정보를 센싱하여 제어부(10)에 피드백시킨다. 이에 따라 단계(S23)에서, 제어부(10)가 자이로센서(50)로부터의 정보를 추가로 적용하여 이동로봇(100)의 회전각도를 계산한다. 또한 단계(S29)에서, 제어부(10)가 자이로센서(50)로부터의 정보를 추가로 적용하여 이동로봇(100)의 이동각도를 계산한다.
모터(31,33,35)의 현재 회전속도는 이동각도(Move_Angle)로 이동하기 위한 각속도와 자세를 보정하기 위한 각속도를 합산한 값이다. 이동로봇(100)의 정확한 위치를 파악하기 위해서는, 먼저 각속도 성분을 제거하여야 한다. 각속도 성분이 회전속도(Vrot)이므로 자이로센서(50)를 이용하여 이동로봇(100)의 각속도를 알 수 있고, 앞서 언급한 수학식 6을 이용하여 회전속도(Vrot)를 얻을 수 있다.
이렇게 하여 회전속도(Vrot)를 알고, 모터속도센서(41,43,45), 예를 들어 엔코더(encoder)를 이용하여
Figure 112009020469217-pat00022
를 알 수 있으며, 자이로센서(50)를 이용하여 이동로봇(100)의 현재 자세(θ)를 알 수 있으므로 수학식 14 내지 수학식 16을 이용한 연립방정식으로 x, y축의 속도를 구할 수 있다. 먼저 수학식 12을 이용하여 Vi를 구하고 회전속도(Vrot)를 제거하면 수학식 14 내지 수학식 16은 수학식17 내지 수학식 19와 같이 나타낼 수 있다.
Figure 112009020469217-pat00023
Figure 112009020469217-pat00024
Figure 112009020469217-pat00025
여기서 θ를 알고 있으므로 -sin(θ+αi)cos(θ)를 si으로, cos(θ+αi)cos(θ) ci로 치환하면 수학식 17 내지 수학식 19는 수학식 20 내지 수학식 22과 같이 간단히 나타낼 수 있다.
Figure 112009020469217-pat00026
Figure 112009020469217-pat00027
Figure 112009020469217-pat00028
Figure 112009020469217-pat00029
을 제외하고 나머지 값들은 모두 알고 있는 값이기 때문에 이를 상수로 생각하여 수학식 20 내지 수학식 22을 이용한 연립방정식으로 풀면 수학식 23 및
수학식 24와 같이 나타낼 수 있다.
Figure 112009020469217-pat00030
Figure 112009020469217-pat00031
3개의 방정식이 존재하고, 2개의 변수를 가지므로 쉽게 해를 구할 수 있다. 수학식 24에서
Figure 112009020469217-pat00032
을 구하고, 이를 수학식 23에 대입하여
Figure 112009020469217-pat00033
을 구한다.
Figure 112009020469217-pat00034
을 이용하여 현재 좌표 x, y를 구하고 나면, 기존의 방법을 이용하여 이동로봇(100)의 주행을 상기 계획된 주행궤적을 따라가도록 제어할 수 있다.
따라서 본 발명에서는, 이동로봇의 주행시스템을 위하여 옴니휠을 이용한 새로운 주행방식을 사용함으로써 옴니휠을 이용한 홀로노믹 시스템을 좁은 실내에서 보다 효율적인 네비게이션을 가능하게 하고, 또한 옴니휠을 이용한 홀로노믹 시스템을 민첩하고 정확하게 이동시킬 수 있다.
한편, 본 발명은, 상기 언급된 바람직한 실시예와 관련하여 설명하였지만, 본 발명의 요지와 범위로부터 벗어남 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허청구의 범위는 본 발명의 요지에서 속하는 이러한 수정이나 변형을 포함할 것이다.
도 1a 및 도 1b는, 이동로봇의 옴니휠을 각각 나타낸 실물 사진도 및 그래픽도이다.
도 2a 및 도 2b는, 이동로봇의 3개 옴니휠 및 4개 옴니휠을 이용한 모터 구동방식을 각각 설명하기 위한 도면.
도 3은 이동로봇의 위치 및 방향을 제어하기 위한 알고리즘을 나타낸 도면.
도 4는, 이동로봇의 기구학을 나타낸 도면.
도 5는, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어방법에 적용된 이동로봇을 개략적으로 나타낸 블록구성도.
도 6은, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어방법에 적용된 이동로봇의 주행제어시스템을 나타낸 블록도.
도 7은, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어방법을 나타낸 플로우차트.

Claims (2)

  1. 3개 옴니휠을 이용한 이동로봇의 주행궤적을 계획하는 단계;
    상기 이동로봇의 베이스각도를 설정하는 과정, 상기 이동로봇의 회전각도를 계산하는 과정, 및 상기 이동로봇의 각속도를 제어하는 과정을 포함하는 단계;
    상기 이동로봇의 이동각도를 설정하는 과정, 및 상기 이동로봇의 이동각도를 계산하는 과정을 포함하는 단계;
    상기 제어된 각속도와 상기 계산된 이동각도를 이용하여 상기 옴니휠의 각각에 해당하는 3개 모터 각각의 회전속도를 계산하는 단계;
    상기 계산된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하는 단계; 및
    상기 제어된 모터 각각의 회전속도로 상기 이동로봇을 주행시키는 단계를 포함하며,
    상기 모터 각각의 회전속도를 제어하는 단계는, 상기 모터 각각의 회전속도를, 3개 모터속도센서 각각에 의해 센싱하는 단계를 더 포함하며, 상기 계산된 모터 각각의 회전속도와 상기 센싱된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하고,
    상기 이동로봇의 회전각도를 계산하는 과정은, 상기 이동로봇의 자이로각도를 자이로센서에 의해 센싱하는 단계를 더 포함하며, 상기 설정된 이동로봇의 베이스각도와 상기 센싱된 자이로각도를 이용하여 상기 이동로봇의 회전각도를 계산하 는 것을 특징으로 하는 옴니휠을 이용한 이동로봇의 주행제어방법.
  2. 3개 옴니휠을 이용한 이동로봇의 주행궤적을, 제1항의 주행제어방법에 의해 제어하는 제어부를 구비하는 것을 특징으로 하는 옴니휠을 이용한 이동로봇의 주행제어장치.
KR1020090029261A 2009-04-06 2009-04-06 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법 KR101026596B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090029261A KR101026596B1 (ko) 2009-04-06 2009-04-06 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090029261A KR101026596B1 (ko) 2009-04-06 2009-04-06 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100110960A KR20100110960A (ko) 2010-10-14
KR101026596B1 true KR101026596B1 (ko) 2011-04-04

Family

ID=43131345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090029261A KR101026596B1 (ko) 2009-04-06 2009-04-06 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101026596B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2933069B1 (en) * 2014-04-17 2019-07-03 Softbank Robotics Europe Omnidirectional wheeled humanoid robot based on a linear predictive position and velocity controller
US11772270B2 (en) 2016-02-09 2023-10-03 Cobalt Robotics Inc. Inventory management by mobile robot
US10265859B2 (en) 2016-02-09 2019-04-23 Cobalt Robotics Inc. Mobile robot with removable fabric panels
US11724399B2 (en) 2017-02-06 2023-08-15 Cobalt Robotics Inc. Mobile robot with arm for elevator interactions
CN106864652A (zh) * 2017-04-25 2017-06-20 健芮智能科技(昆山)有限公司 适于多人骑行的趣味健身车
US11082667B2 (en) 2018-08-09 2021-08-03 Cobalt Robotics Inc. Contextual automated surveillance by a mobile robot

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5374879A (en) 1992-11-04 1994-12-20 Martin Marietta Energy Systems, Inc. Omni-directional and holonomic rolling platform with decoupled rotational and translational degrees of freedom
KR20000059661A (ko) * 1999-03-06 2000-10-05 곽정환 이동로봇의 구동장치 및 이를 이용한 이동로봇의 제어방법
US20070150096A1 (en) 2005-12-26 2007-06-28 Industrial Technology Research Institute Mobile robot platform and method for sensing movement of the same
US20070272463A1 (en) 2006-05-23 2007-11-29 Industrial Technology Research Institute Omni-directional robot cleaner

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5374879A (en) 1992-11-04 1994-12-20 Martin Marietta Energy Systems, Inc. Omni-directional and holonomic rolling platform with decoupled rotational and translational degrees of freedom
KR20000059661A (ko) * 1999-03-06 2000-10-05 곽정환 이동로봇의 구동장치 및 이를 이용한 이동로봇의 제어방법
US20070150096A1 (en) 2005-12-26 2007-06-28 Industrial Technology Research Institute Mobile robot platform and method for sensing movement of the same
US20070272463A1 (en) 2006-05-23 2007-11-29 Industrial Technology Research Institute Omni-directional robot cleaner

Also Published As

Publication number Publication date
KR20100110960A (ko) 2010-10-14

Similar Documents

Publication Publication Date Title
TWI637830B (zh) 自走式關節機器人
KR101026596B1 (ko) 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법
JP3241564B2 (ja) 通常車輪型全方向移動ロボットの運動制御のための制御装置および方法
KR102162756B1 (ko) 공정 및 생산관리를 위한 모바일 로봇 플랫폼 시스템
JP4821865B2 (ja) ロボット装置及びその制御方法、並びにコンピューター・プログラム
US9870002B1 (en) Velocity control of position-controlled motor controllers
WO2011062094A1 (ja) 自律移動体とその制御方法
KR20180129861A (ko) 애자일 제조 플랫폼 및 시스템
JP2009093308A (ja) ロボットシステム
CN103128729A (zh) 机器人装置、控制该机器人装置的方法和计算机程序
JP2018527689A (ja) 自律車両のための仮想的なライン追従方法及び改造方法
Oftadeh et al. A novel time optimal path following controller with bounded velocities for mobile robots with independently steerable wheels
CN214846390U (zh) 基于自动导引小车的动态环境避障***
Aref et al. Position-based visual servoing for pallet picking by an articulated-frame-steering hydraulic mobile machine
TW202120273A (zh) 機器人系統之控制方法
CN107272725B (zh) 具有视觉反馈的球形机器人运动控制***及运动控制方法
JP6944611B1 (ja) 自走装置および自走装置の走行システム
Heß et al. Linux based control framework for Mecanum based omnidirectional automated guided vehicles
Mariappan et al. A navigation methodology of an holonomic mobile robot using optical tracking device (OTD)
Stetter et al. Development, realization and control of a mobile robot
Kouros et al. PANDORA monstertruck: A 4WS4WD car-like robot for autonomous exploration in unknown environments
JPH04153709A (ja) 移動ロボットの誘導制御装置
Essaidi et al. Trajectory planning for autonomous wheeled mobile robots with trailer
Savnani et al. Modelling, Design and Control of a Four wheel Holonomic Drive
Hess et al. Mobilerobot: Control of a redundant kinematic using drive-steering modules for mobile manipulation

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160323

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180323

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190326

Year of fee payment: 9