KR101026596B1 - trajectory control device and method of mobile robot using omni-wheels - Google Patents

trajectory control device and method of mobile robot using omni-wheels 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
Korean (ko)
Other versions
KR20100110960A (en
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/en
Publication of KR20100110960A publication Critical patent/KR20100110960A/en
Application granted granted Critical
Publication of KR101026596B1 publication Critical patent/KR101026596B1/en

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

Abstract

옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법이 제시된다. 이에 의하면, 3개 옴니휠을 이용한 이동로봇의 주행궤적을 계획하는 단계; 상기 이동로봇의 베이스각도를 설정하는 과정, 상기 이동로봇의 회전각도를 계산하는 과정, 및 상기 이동로봇의 각속도를 제어하는 과정을 포함하는 단계; 상기 이동로봇의 이동각도를 설정하는 과정, 및 상기 이동로봇의 이동각도를 계산하는 과정을 포함하는 단계; 상기 제어된 각속도와 상기 계산된 이동각도를 이용하여 상기 옴니휠의 각각에 해당하는 3개 모터 각각의 회전속도를 계산하는 단계; 상기 계산된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하는 단계; 및 상기 제어된 모터 각각의 회전속도로 상기 이동로봇을 주행시키는 단계를 포함하며, 상기 모터 각각의 회전속도를 제어하는 단계는, 상기 모터 각각의 회전속도를, 3개 모터속도센서 각각에 의해 센싱하는 단계를 더 포함하며, 상기 계산된 모터 각각의 회전속도와 상기 센싱된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하고, 상기 이동로봇의 회전각도를 계산하는 과정은, 상기 이동로봇의 자이로각도를 자이로센서에 의해 센싱하는 단계를 더 포함하며, 상기 설정된 이동로봇의 베이스각도와 상기 센싱된 자이로각도를 이용하여 상기 이동로봇의 회전각도를 계산하는 것을 특징으로 한다.An apparatus and method for driving control of a mobile robot using an omni wheel are provided. According to this, the traveling trajectory of the mobile robot using three omni wheels; Setting a base angle of the mobile robot, calculating a rotation angle of the mobile robot, and controlling an angular velocity of the mobile robot; Setting a moving angle of the mobile robot, and calculating a moving angle of the mobile robot; Calculating a rotation speed of each of the three motors corresponding to each of the omni wheels using the controlled angular speed and the calculated moving angle; Controlling the rotation speed of each motor by using the calculated rotation speed of each motor; And driving the mobile robot at the rotational speed of each of the controlled motors, and controlling the rotational speed of each of the motors by sensing each rotational speed of each of the motors by three motor speed sensors. The method may further include controlling the rotation speed of each of the motors by using the calculated rotation speed of each of the motors and the rotation speed of each of the sensed motors, and calculating the rotation angle of the mobile robot. The method further includes sensing the gyro angle of the mobile robot by a gyro sensor, and using the base angle of the set mobile robot and the sensed gyro angle, calculate a rotation angle of the mobile robot.

옴니휠,이동로봇,주행제어장치,주행제어방법,베이스각도,회전각도, 모터, 회전속도   Omni Wheel, Mobile Robot, Driving Control Device, Driving Control Method, Base Angle, Rotation Angle, Motor, Rotation Speed

Description

옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법{trajectory control device and method of mobile robot using omni-wheels} Travel control device and method of mobile robot using omni-wheels}

본 발명은, 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법에 관한 것으로, 더욱 상세하게는 보다 효율적으로 주행할 수 있고, 보다 민첩하고 정확하게 주행할 수 있도록 한, 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법에 관한 것이다.The present invention relates to a traveling control apparatus and method for a mobile robot using an omni wheel, and more particularly, to travel more efficiently and to travel more agilely and accurately, driving a mobile robot using an omni wheel. A control apparatus and method are provided.

일본국 혼다(Honda)사에서 개발한, 아시모(ASIMO)라는 이름을 가진 로봇(robot)을 시작으로 하여, 한국을 포함한 여러 로봇 선진국에서 인간이 다리를 이용하여 걷는 방식의 소위 휴머노이드 로봇(humanoid robot)을 개발하는데 많은 투자를 하여 왔다. 기존의 청소 로봇들과 같은 상용화된 서비스 로봇들 모두는, 그동안 편리성과 이동성 때문에 공장 자동화 및 안내 로봇 등에 사용되는 이동방식인 휠베이스 방식을 채택하고 있으며, 앞으로 상용화될 서비스 로봇들도 휠베이스 방식의 이동 로봇 시스템을 사용할 것으로 많은 전문가들이 예견하고 있다. 그러므로 자기위치인식과 원하는 장소로 이동할 수 있는 기본기능을 갖춘 자율이동로봇 플랫폼의 개발은 향후 서비스 로봇 시장에서 가장 큰 수요를 갖는 컴포넌트 모듈(component module)이 될 것이다.Starting with a robot named ASIMO, developed by Honda, Japan, a so-called humanoid robot in which humans walk with their legs in developed countries including Korea. We have invested a lot in developing. All of the commercialized service robots, such as the conventional cleaning robots, adopt the wheelbase method, which is a movement method used in factory automation and guide robots because of the convenience and mobility. Many experts foresee the use of mobile robotic systems. Therefore, the development of the autonomous mobile robot platform with the basic functions of self-recognition and moving to the desired place will be the component module having the greatest demand in the service robot market in the future.

서비스 로봇은, 인간과 동일한 공간에서 동작하므로 여러 측면에서 산업용 로봇과 매우 다르다. 산업용 로봇은, 단순반복적인 작업에만 국한되기 때문에 제한적이고 잘 정돈된 환경에서 인간과 무관하게 미리 프로그램된 작업만을 수행한다. 그러나 정형화된 규칙이 없는, 사무실이나 가정과 같은 환경에서는 서비스 로봇이, 항상 인간과 접촉하거나 근접한 위치에서 동작하는 경우가 많다. 또한 서비스 로봇이 담당하는 업무도 단순반복적인 작업이 아니라 인간을 지원하거나 보조하는 작업이 주종이다.Service robots are very different from industrial robots in many respects because they operate in the same space as humans. Industrial robots are limited to simple, repetitive tasks and perform only pre-programmed tasks that are independent of humans in a limited and well-organized environment. However, in environments such as offices and homes, where there are no formalized rules, service robots often operate in close proximity to or near humans. In addition, the tasks of service robots are not merely repetitive tasks, but mainly supporting or assisting human beings.

서비스 로봇의 주행을 위하여, 초기에는 2개의 바퀴와 1개의 보조바퀴를 이용한 방식을 사용하였다. 그러나 이러한 방식은, 실내에서의 보다 자유로운 주행에 한계가 있었다.In order to drive the service robot, two wheels and one auxiliary wheel were used. However, this method was limited to more free running indoors.

최근에는 기존의 이동 로봇의 단점을 개선하기 위하여, 옴니휠(omni-wheel)을 이용한 새로운 주행시스템 플랫폼인 옴니휠을 이용한 자율이동로봇이 연구되고 있다. 이러한 자율이동로봇은, 옴니휠이라는 특이한 구조의 바퀴를 사용하여 홀로노믹 시스템(holonomic system)을 실현할 수가 있었다. 홀로노믹 시스템은, 제어하고 싶은 자유도와, 제어할 수 있는 자유도의 관계로 정의된다. 제어를 할 수 있는 자유도가 제어하고 싶은 자유도보다 많거나 같은 경우 홀로노믹 시스템이라 하고, 제어를 할 수 있는 자유도가 제어를 하고 싶은 자유도보다 적을 경우 논홀로노믹 시스템(non-holonomic system)이라 한다. 옴니휠은, 하나의 주 바퀴와, 그 주위에 위성처럼 달려있는 보조바퀴로 구성된다. 주 바퀴는 일반적인 바퀴와 같이 모터의 회전축을 중심으로 회전을 하고, 보조바퀴는 외부의 힘에 의해 회전축의 방향(주 바퀴와 직각을 이루는 방향)으로 슬립(slip)이 발생된다. 이와 같은 특이한 구조의 옴니휠 덕분에, 종래의 옴니휠을 이용한 자율이동 로봇은, 회전 반경 없이 어느 방향이든 이동이 가능한 홀로노믹 시스템을 구현할 수 있었다. Recently, in order to improve the shortcomings of the existing mobile robots, autonomous mobile robots using omni wheels, which are a new driving system platform using omni-wheels, have been studied. The autonomous mobile robot was able to realize a holonomic system by using a unique wheel called an omni wheel. The holographic system is defined by the relationship between the degree of freedom that can be controlled and the degree of freedom that can be controlled. When the degree of freedom to control is greater than or equal to the degree of freedom to control, it is called a holographic system. When the degree of freedom to control is less than the degree of freedom to control, it is called a non-holonomic system. The omni wheel consists of a main wheel and auxiliary wheels hanging around it like a satellite. The main wheel rotates about the rotation axis of the motor like a general wheel, and the auxiliary wheel generates slip in the direction of the rotation axis (the direction perpendicular to the main wheel) by external force. Thanks to the omni wheel having such a unique structure, the autonomous mobile robot using a conventional omni wheel could implement a holographic system capable of moving in any direction without a turning radius.

그러나 옴니휠을 사용한 이동로봇의 경우 상기한 많은 장점에도 불구하고, 종래의 일반 바퀴를 상용한 경우보다 위치 이동 및 자세 제어가 매우 어렵기 때문에 민첩하고 정확하게 주행할 수 없는 문제점이 있었다.However, in the case of the mobile robot using the omni wheel, despite the many advantages described above, since the position movement and attitude control is very difficult than the conventional general wheels are used, there is a problem that it is not possible to travel quickly and accurately.

따라서 본 발명의 목적은, 옴니휠을 사용한 이동로봇이 갖는 홀로노믹 특성의 장점을 적극 활용하면서 옴니휠의 최대 단점인 위치 이동과 회전 및 자세에서의 불확실한 제어 능력을 개선할 수 있도록 한, 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법을 제공하는데 있다.Accordingly, an object of the present invention is to enable omniwheels to improve uncertainty in position movement, rotation, and posture, which is the biggest disadvantage of omniwheels, while actively utilizing the advantages of the holographic characteristics of mobile robots using omniwheels. To provide a driving control apparatus and method of a mobile robot using the.

이와 같은 목적을 달성하기 위한, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어방법은, 3개 옴니휠을 이용한 이동로봇의 주행궤적을 계획하는 단계; 상기 이동로봇의 베이스각도를 설정하는 과정, 상기 이동로봇의 회전각도를 계산하는 과정, 및 상기 이동로봇의 각속도를 제어하는 과정을 포함하는 단계; 상기 이동로봇의 이동각도를 설정하는 과정, 및 상기 이동로봇의 이동각도를 계산하는 과정을 포함하는 단계; 상기 제어된 각속도와 상기 계산된 이동각도를 이용하여 상기 옴니휠의 각각에 해당하는 3개 모터 각각의 회전속도를 계산하는 단계; 상기 계산된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하는 단계; 및 상기 제어된 모터 각각의 회전속도로 상기 이동로봇을 주행시키는 단계를 포함하며, 상기 모터 각각의 회전속도를 제어하는 단계는, 상기 모터 각각의 회전속도를, 3개 모터속도센서 각각에 의해 센싱하는 단계를 더 포함하며, 상기 계산된 모터 각각의 회전속도와 상기 센싱된 모터 각각의 회전속도를 이용하여 상기 모터 각 각의 회전속도를 제어하고, 상기 이동로봇의 회전각도를 계산하는 과정은, 상기 이동로봇의 자이로각도를 자이로센서에 의해 센싱하는 단계를 더 포함하며, 상기 설정된 이동로봇의 베이스각도와 상기 센싱된 자이로각도를 이용하여 상기 이동로봇의 회전각도를 계산하는 것을 특징으로 한다.In order to achieve the above object, a traveling control method of a mobile robot using an omni wheel according to the present invention comprises the steps of: planning a driving trajectory of a mobile robot using three omni wheels; Setting a base angle of the mobile robot, calculating a rotation angle of the mobile robot, and controlling an angular velocity of the mobile robot; Setting a moving angle of the mobile robot, and calculating a moving angle of the mobile robot; Calculating a rotation speed of each of the three motors corresponding to each of the omni wheels using the controlled angular speed and the calculated moving angle; Controlling the rotation speed of each motor by using the calculated rotation speed of each motor; And driving the mobile robot at the rotational speed of each of the controlled motors, and controlling the rotational speed of each of the motors by sensing each rotational speed of each of the motors by three motor speed sensors. The method may further include controlling the rotation speed of each of the motors by using the calculated rotation speed of each of the motors and the rotation speed of each of the sensed motors, and calculating the rotation angle of the mobile robot. And sensing the gyro angle of the mobile robot by a gyro sensor, and calculating the rotation angle of the mobile robot by using the set base angle of the mobile robot and the sensed gyro angle.

또한 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어장치는, 3개 옴니휠을 이용한 이동로봇의 주행궤적을, 상기한 주행제어방법에 의해 제어하는 제어부를 구비하는 것을 특징으로 한다.In addition, the traveling control apparatus of the mobile robot using the omni wheel according to the present invention is characterized in that it comprises a control unit for controlling the travel trajectory of the mobile robot using three omni wheels by the above traveling control method.

본 발명에 따르면, 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법은, 자율이동로봇을 보다 효율적으로 주행시킬 수 있고, 자율이동로봇을 보다 민첩하고 정확하게 주행시킬 수 있다.According to the present invention, the traveling control apparatus and method of the mobile robot using the omni wheel, it is possible to drive the autonomous mobile robot more efficiently, it is possible to drive the autonomous mobile robot more agile and accurate.

이하, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어 장치 및 방법을 첨부 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, a traveling control apparatus and method for a mobile robot using an omni wheel according to the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 자율이동로봇은, 홀로노믹 시스템의 구현을 위하여, 도 1a 및 도 1b에 도시한 바와 같은 구조의 옴니휠을 사용할 수 있다. 도 1b에 도시된 바와 같이, 옴니휠은, 바퀴의 축(미도시)에 전달되는 동력에 의해 A방향으로 일반적인 바퀴와 똑같이 회전을 하고, 외부의 힘에 의해 B방향으로 슬립이 발생할 수 있는 구 조로 이루어진다. 이러한 특이한 구조를 가진 옴니휠을 적절히 배치해두면, 서로의 속도비를 이용하여 어느 방향이든 바로 이동 가능한 홀로노믹 시스템을 구현할 수가 있다. 옴니휠을 이용한 주행부의 설계 방식은, 3개의 옴니휠을 이용한 설계방식과 4개의 옴니휠을 이용한 설계방식으로 나눌 수가 있다.The autonomous mobile robot of the present invention may use an omni wheel having a structure as shown in FIGS. 1A and 1B to implement a holographic system. As shown in FIG. 1B, the omni wheel rotates in the same direction as a general wheel in the A direction by power transmitted to an axis (not shown) of the wheel, and a slip may occur in the B direction by an external force. Is done in groups. By properly placing omni wheels with this unusual structure, a holographic system capable of moving in any direction can be realized by using the speed ratio of each other. The design method using the omni wheel can be divided into a design method using three omni wheels and a design method using four omni wheels.

각 설계방식에 따른, 직진을 위한 옴니휠 모터 구동 방식은 도 2a 및 도 2b에 도시된 바와 같다. 도 2a 및 도 2b에 도시된 바와 같은 옴니휠의 배치에 따른 이동로봇 각각의 주행 기구학은 수학식 1 및 수학식 2와 같다.According to each design scheme, the omniwheel motor driving scheme for straightening is as shown in FIGS. 2A and 2B. The driving kinematics of each of the mobile robots according to the arrangement of the omni wheels as shown in FIGS. 2A and 2B are shown in Equations 1 and 2, respectively.

Figure 112009020469217-pat00001
Figure 112009020469217-pat00001

Figure 112009020469217-pat00002
Figure 112009020469217-pat00002

3개의 옴니휠을 이용한 설계방식의 경우, 1개의 옴니휠 구동 모터는 에너지 효율이 좋지만 나머지 2개의 옴니휠 구동 모터는 모든 회전 에너지가 직진으로만 전달되지 못한다. 하지만 4개의 옴니휠을 이용한 설계방식의 경우, 2개의 옴니휠 구동 모터만을 사용하여 일반적인 휠 베이스 시스템과 같이 구동이 가능하며 에너지 효율도 높다. 그러나 4개의 옴니휠을 이용한다면 별도의 서스펜션 구조가 필요 하다. 왜냐하면 바닥면이 고르지 않을 경우 4개의 바퀴가 전부 바닥면에 접지하지 못함으로써 모든 바퀴의 제어가 힘들어지기 때문이다. 따라서 이를 해결하기 위하여, 서스펜션 구조를 사용하여야 하지만, 서스펜션 구조를 사용하더라도 모든 바퀴에 균등하게 부하가 작용하도록 서스펜션 구조를 설계하기가 어렵다. 메스클린업 로봇과 같이, 물체를 이동시켜야 하는, 무게중심이 일정치 않은 로봇에서는 서스펜션 구조를 설계하는 것이 더욱 어려운 작업이다. 하지만 3개의 옴니휠을 사용한다면, 바닥면의 상태에 관계없이 항상 3개의 바퀴가 바닥면에 접지하게 되고 항상 모든 바퀴의 제어가 가능한 상태가 된다.In the case of the design using three omni wheels, one omni wheel drive motor is energy efficient, while the other two omni wheel drive motors do not transmit all the rotational energy straight ahead. However, in the case of design using four omni wheels, only two omni wheel drive motors can be used to drive like a general wheel base system and energy efficiency is high. However, using four omni wheels requires a separate suspension structure. This is because, if the floor is uneven, all four wheels cannot be grounded, making it difficult to control all the wheels. Therefore, in order to solve this problem, a suspension structure should be used, but it is difficult to design the suspension structure so that the load is applied evenly to all the wheels even when the suspension structure is used. Designing suspension structures is a more difficult task in robots with a non-uniform center of gravity, such as mesclean-up robots, that have to move objects. However, if three omni wheels are used, the three wheels will always be grounded to the floor regardless of the floor condition, and all wheels will always be in control.

이러한 점들을 고려하여, 본 발명의 자율이동로봇에서는 3개의 옴니휠을 이용한 주행 시스템을 설계하기로 한다. 이러한 3개의 옴니휠을 사용한다면 홀로노믹 시스템을 구현할 수가 있으며, 실내와 같은 좁은 공간에서 이동의 편리성을 확보할 수가 있다.Considering these points, the autonomous mobile robot of the present invention will design a traveling system using three omni wheels. If these three omni wheels are used, the holographic system can be realized, and the convenience of movement can be secured in a small space such as a room.

대표적인 논홀로노믹 시스템은 자동차라고 할 수 있다. 자동차가 방향을 바꾸기 위해서는 어느 정도 회전 반경이 있어야만 한다. 하지만 홀로노믹 시스템은 별도의 회전 반경 없이도 방향을 바꿀 수 있으며, 방향을 바꾸기 위한 시스템의 회전조차 필요가 없다. 이러한 점은, 좁은 실내에서 방향을 바꾸어도 로봇이 이동할 수 있을 만큼의 공간만 존재한다면 자유롭게 주행이 가능하며, 움직이는 장애물이 갑작스럽게 출현하여도 장애물을 유연하게 회피하여 주행이 가능하다.A typical non-holographic system is a car. In order for the car to change direction, it must have some radius of rotation. However, the holographic system can change direction without a separate turning radius, and does not even need to rotate the system to change direction. This is possible to move freely if there is enough space for the robot to move even if the direction is changed in a narrow room, and it is possible to flexibly avoid the obstacle even if a moving obstacle appears suddenly.

따라서 본 발명의 자율이동로봇에서는 3개의 옴니휠을 사용하였고, 3개의 옴니휠의 위치 및 방향 제어를 위한 특별한 제어방법을 제시하고, 도 3에 도시된 바 와 같은 자율이동로봇의 위치 및 방향 제어 알고리즘을 사용한다.Therefore, in the autonomous mobile robot of the present invention, three omni wheels were used, and a special control method for position and direction control of three omni wheels was proposed, and the position and direction control of the autonomous mobile robot as shown in FIG. Use an algorithm.

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과 같다.The driving kinematics of an autonomous mobile robot using three omni wheels can use the definition of Rob Van Haendel. First, as illustrated in FIG. 4, if the global coordinate system [x, y] where the robot is located is defined, the position and direction of the robot may be represented by (x, y, θ), and the speed may be represented.
Figure 112009020469217-pat00003
Can be represented. If the coordinate system [x l , y l ] of the robot is defined, the center of the coordinate system becomes the center of gravity of the robot, and the three omni wheels lie at an angle of α i (i = 1, 2, 3). Based on x 1 , α 1 = 0 °, α 2 = 120 °, and α 3 = 240 °. However, since the mobile robot is defined as α 2 = 90 °, α 1 = 210 °, α 2 = 90 °, and α 3 = 330 °. Now define the speed of each wheel axis as v i , v i is

vi = vtrans,i + vrot v i = v trans, i + v rot

여기서, vtrans,i는 축 i의 이동을 위한 속도이고, vrot는 회전을 위한 속도이다.Where v trans, i is the velocity for movement of axis i and v rot is the velocity for rotation.

우선 순수하게 이동을 위한 속도성분만을 수학식 4와 같이 정의할 수 있다.First, only the velocity component for purely moving can be defined as in Equation 4.

Figure 112009020469217-pat00004
Figure 112009020469217-pat00004

이를 이용하여 나머지 vtrans,i를 수학식 5와 같이 정의할 수 있다.Using this, the remaining v trans, i may be defined as in Equation 5.

Figure 112009020469217-pat00005
Figure 112009020469217-pat00005

이제 순수 회전을 위한 속도성분만을 수학식 6과 같이 정의할 수 있다.Now only the speed component for pure rotation can be defined as in Equation 6.

Figure 112009020469217-pat00006
Figure 112009020469217-pat00006

여기서, R은 로봇의 무게중심에서 바퀴까지의 거리이다.Where R is the distance from the center of gravity of the robot to the wheels.

수학식 5와 수학식 6을 합치면, 그 결과는 수학식 7과 같다. When Equation 5 and Equation 6 are combined, the result is shown in Equation 7.

Figure 112009020469217-pat00007
Figure 112009020469217-pat00007

이를

Figure 112009020469217-pat00008
에 대한
Figure 112009020469217-pat00009
로 행렬식으로 나타내면 그 결과는 수학식 8과 같다. This
Figure 112009020469217-pat00008
For
Figure 112009020469217-pat00009
When expressed as a determinant, the result is shown in Equation 8.

Figure 112009020469217-pat00010
Figure 112009020469217-pat00010

다시 전체 좌표계

Figure 112009020469217-pat00011
를 수학식 9와 같이, 로봇 좌표계
Figure 112009020469217-pat00012
로 변환할 수 있다.Back to global coordinate system
Figure 112009020469217-pat00011
As shown in equation (9), the robot coordinate system
Figure 112009020469217-pat00012
Can be converted to

Figure 112009020469217-pat00013
Figure 112009020469217-pat00013

수학식 9을 이용하여 수학식 8을 수학식 10과 같이 정리할 수 있다. Using Equation 9, Equation 8 may be arranged as in Equation 10.

Figure 112009020469217-pat00014
Figure 112009020469217-pat00014

이를 사용하여 다시 vi를 수학식 11과 같이 정의할 수 있다.Using this, v i can be defined as Equation 11 again.

Figure 112009020469217-pat00015
Figure 112009020469217-pat00015

vi는 각 축의 속도이다. vi와 모터회전속도의 관계를 수학식 12와 같이 나타낼 수 있다. v i is the speed of each axis. The relationship between v i and the motor speed can be expressed as in Equation 12.

Figure 112009020469217-pat00016
Figure 112009020469217-pat00016

여기서, r은 바퀴의 반지름이다. 이를 이용하여

Figure 112009020469217-pat00017
를 수학식 13과 같이 정의할 수 있다.Where r is the radius of the wheel. Using this
Figure 112009020469217-pat00017
May be defined as in Equation 13.

Figure 112009020469217-pat00018
Figure 112009020469217-pat00018

자율이동로봇의 경우 α1=210°, α2=90°, α3=330°이다. 그러므로 수학식 13을 이용하여 각 모터의 회전속도 Vx(x=1, 2, 3)를 수학식 14 내지 수학식 16과 같이 정의할 수 있다. For autonomous mobile robots, α 1 = 210 °, α 2 = 90 °, α 3 = 330 °. Therefore, by using Equation 13, the rotational speed V x (x = 1, 2, 3) of each motor may be defined as in Equations 14 to 16.

Figure 112009020469217-pat00019
Figure 112009020469217-pat00019

Figure 112009020469217-pat00020
Figure 112009020469217-pat00020

Figure 112009020469217-pat00021
Figure 112009020469217-pat00021

상기한 수학식들을 이용하여 각각의 옴니휠에 해당하는 옴니휠 구동 모터의 속도를 제어하며 자이로센서를 이용하여 이동로봇의 자세를 수정하며 주행을 하게 된다.The above equations are used to control the speed of the omni wheel driving motor corresponding to each omni wheel, and to drive by modifying the attitude of the mobile robot using a gyro sensor.

이와 같은 방식으로 주행을 하는 본 발명의 이동로봇(100)은, 도 5에 도시된 바와 같이, 본 발명에 따른, 옴니휠을 이용한 이동로봇의 주행제어장치에 적용된 제어부(10)를 포함하고, 또한 옴니휠부(20), 옴니휠모터부(30), 옴니휠모터속도센싱부(40), 자이로센서(50), 및 전원공급부(60)를 포함하여 구성될 수 있다.The mobile robot 100 of the present invention traveling in such a manner includes a control unit 10 applied to the traveling control apparatus of the mobile robot using the omni wheel, as shown in FIG. 5. In addition, the omni wheel unit 20, the omni wheel motor unit 30, the omni wheel motor speed sensing unit 40, the gyro sensor 50, and may be configured to include a power supply (60).

여기서, 제어부(10)는, 본 발명에 따른 이동로봇(100)의 전반적인 동작을 제어하는 부분으로서, 도 7을 참조하여 후술하는 주행제어방법에 따라, 3개 옴니휠을 이용한 이동로봇(100)의 위치 이동 및 회전 등의 주행궤적을 제어하는 마이크로프로세서 및 상기한 각 구성부의 동작을 제어하기 위한 각각의 콘트롤러를 구비할 수 있다. 더욱이 상기 마이크로프로세서는, 옴니휠모터속도센싱부(40) 및 자이로센서(50)로부터 센싱되는 신호를 피드백(feedback)하여 이동로봇(100)의 위치 이동 및 회전 등의 주행궤적을 제어한다. 상기 콘트롤러로는, 모터 드라이버와 같은 모터속도 콘트롤러, PID 각속도 콘트롤러 등이 사용될 수 있다. Here, the control unit 10 is a part for controlling the overall operation of the mobile robot 100 according to the present invention, the mobile robot 100 using three omni wheels according to the driving control method described below with reference to FIG. It may be provided with a microprocessor for controlling the driving trajectory, such as the movement and rotation of the position and each controller for controlling the operation of the above-described components. In addition, the microprocessor controls a driving trajectory such as position movement and rotation of the mobile robot 100 by feeding back a signal sensed from the omni wheel motor speed sensing unit 40 and the gyro sensor 50. As the controller, a motor speed controller such as a motor driver, a PID angular speed controller, or the like may be used.

옴니휠부(20) 및 옴니휠모터부(30)는 이동로봇(100)의 주행부를 구성한다. 옴니휠부(20)는, 3개의 옴니휠(21,23,25)을 구비하고, 또한 옴니휠(21,23,25)의 각각에 대응하여 체결된 3개의 축(미도시)을 구비한다. The omni wheel part 20 and the omni wheel motor part 30 constitute a traveling part of the mobile robot 100. The omni wheel unit 20 includes three omni wheels 21, 23, 25, and three axes (not shown) fastened corresponding to each of the omni wheels 21, 23, 25.

옴니휠모터부(30)는, 옴니휠(21,23,25)의 각각을 회전시키기 위하여, 옴니휠(21,23,25)의 각각을 회전시키는 3개의 모터(31,33,35)를 구비한다. 모터(31,33,35)로는 예를 들어 직류모터를 사용한다.The omni wheel motor unit 30 includes three motors 31, 33, and 35 for rotating each of the omni wheels 21, 23, and 25 so as to rotate each of the omni wheels 21, 23, and 25. Equipped. As the motors 31, 33, 35, for example, a DC motor is used.

옴니휠모터속도센싱부(40)는, 모터(31,33,35)의 각각의 회전속도를 센싱하는 3개의 모터속도센서(41,43,45)를 구비한다. 모터속도센서(41,43,45)로는 예를 들어 엔코더(encoder) 센서를 사용한다.The omni wheel motor speed sensing unit 40 includes three motor speed sensors 41, 43, 45 for sensing the rotational speeds of the motors 31, 33, 35, respectively. As the motor speed sensors 41, 43 and 45, for example, an encoder sensor is used.

자이로센서(50)는, 이동로봇(100)의 자세를 나타내는 방향 또는 각도를 센싱하는 센서이다.The gyro sensor 50 is a sensor that senses a direction or angle indicating the posture of the mobile robot 100.

전원공급부(60)는, 이동로봇(100)의 각 구성부에 필요한 동작전원을 공급하 는 전원공급부로서, 충전 가능한 배터리를 포함하여 구성될 수 있다.The power supply unit 60 may be configured to include a rechargeable battery as a power supply unit for supplying operation power required for each component of the mobile robot 100.

한편, 이동로봇(100)은, 도면에 도시하지 않았지만, 이동로봇(100)의 위치 이동 및 회전 등의 주행궤적을 제어하는 소프트웨어가 미리 저장된 저장부, 이동로봇(100) 외측의 물체를 인식하는 물체인식부, RFID태그로부터의 신호를 리딩하는 RFID 리더기 등을 더 포함할 수 있다. 이동로봇(100)이 자율주행하는 환경에서는 RFID태그와 같은 환경센서가 복수개 미리 배치되어 있는 것이 일반적이다.On the other hand, the mobile robot 100, although not shown in the drawings, the software for controlling the driving trajectory, such as the position movement and rotation of the mobile robot 100 is stored in advance to recognize the object outside the storage unit, the mobile robot 100 The object recognition unit may further include an RFID reader for reading a signal from the RFID tag. In an environment in which the mobile robot 100 autonomously runs, a plurality of environmental sensors such as RFID tags are generally disposed in advance.

이와 같이 구성된 이동로봇(100)을 주행하는 방법을 도 6 및 도 7을 참조하여 설명하기로 한다.A method of driving the mobile robot 100 configured as described above will be described with reference to FIGS. 6 and 7.

먼저, 이동로봇(100)의 전원스위치(미도시)가 턴온(turn on)되면, 이동로봇(100)의 전원공급부(60)가 동작전원을 필요로 하는 각 구성부에 동작전원을 공급한다. 이러한 상태에서, 단계(S10)에서, 제어부(10)가 현재의 주어진 환경에서 예를 들어 RFID리더기와 RFID태그를 이용한 자기위치인식과정을 통하여 이동로봇(100)의 현재 위치를 파악한다. 그런 다음 제어부(10)가 이동로봇(100)의 주행을 제어하기 위하여, 이러한 위치정보를 이용하여 이동로봇(100)을 목적지로 이동시키기 위한 주행궤적을 계획한다.First, when a power switch (not shown) of the mobile robot 100 is turned on, the power supply unit 60 of the mobile robot 100 supplies operating power to each component that requires operating power. In this state, in step S10, the controller 10 grasps the current position of the mobile robot 100 through a magnetic position recognition process using, for example, an RFID reader and an RFID tag in the present given environment. Then, the controller 10 plans a driving trajectory for moving the mobile robot 100 to the destination using the location information in order to control the driving of the mobile robot 100.

이동로봇(100)의 주행궤적을 계획하고 나면, 단계(S20)에서, 제어부(10)가 단계(S21) 내지 단계(S25)를 진행함으로써 이동로봇(100)의 베이스각도를 설정하고, 이동로봇(100)의 회전각도를 계산하여 이동로봇(100)의 각속도를 제어하고, 이와 병행하여 제어부(10)가 단계(S27)와 단계(S29)를 진행함으로써 이동로봇(100)의 이동각도를 설정하고, 이동로봇(100)의 이동각도를 계산한다.After planning the driving trajectory of the mobile robot 100, in step S20, the controller 10 sets the base angle of the mobile robot 100 by proceeding from step S21 to step S25, By calculating the rotation angle of the (100) to control the angular velocity of the mobile robot 100, in parallel with the control unit 10 proceeds to step S27 and step S29 to set the moving angle of the mobile robot 100 And, the moving angle of the mobile robot 100 is calculated.

이를 좀 더 상세히 언급하면, 단계(S21)에서, 제어부(10)가 이동로봇(100)의 베이스각도(Base_Angle)를 설정한다. 베이스각도(Base_Angle)는 이동로봇(100)의 헤드 방향을 나타낸다.In more detail, in step S21, the controller 10 sets the base angle Base_Angle of the mobile robot 100. Base angle Base_Angle represents the head direction of the mobile robot (100).

베이스각도(Base_Angle)를 설정하고 나면, 단계(S23)에서, 제어부(10)가 이동로봇(100)의 회전각도를 계산한다. 즉, 제어부(10)가 매 샘플링 때마다 후술하는 단계(S60)에서 센싱한 자이로각도(Gyro_Angle)(θgyro)를 제공받는다. 자이로각도(Gyro_Angle)(θgyro)는 현재의 이동로봇(100)의 회전각도(Rotation_Angle)를 나타낸다. 이후 제어부(10)가 상기 베이스각도에 상기 회전각도를 더하여 일정한 값으로 증가할 수 있게 한다. After setting the base angle Base_Angle, in step S23, the controller 10 calculates the rotation angle of the mobile robot 100. That is, the controller 10 receives the gyro angle Gyro_Angle θgyro sensed at step S60 described later every sampling. The gyro angle (Gyro_Angle) (θgyro) represents the rotation angle (Rotation_Angle) of the current mobile robot 100. Thereafter, the controller 10 may increase the rotation angle to a constant value by adding the rotation angle to the base angle.

이동로봇(100)의 회전각도를 계산하고 나면, 단계(S25)에서, 제어부(10)가 상기 베이스각도와 상기 자이로각도(Gyro_Angle)(θgyro)의 차이값을 구하고, 제어부(10) 내의 PID 각속도 콘트롤러가 그 차이값을 에러값으로 이용하여 각속도(Vw)를 제어한다.After calculating the rotation angle of the mobile robot 100, in step S25, the controller 10 obtains a difference value between the base angle and the gyro angle (Gyro_Angle) (θgyro), and the PID angular velocity in the controller 10. The controller uses the difference as an error value to control the angular velocity (Vw).

단계(S21) 내지 단계(S25)와 병행하여, 단계(S27)에서, 제어부(10)가 이동로봇(100)의 이동각도(Move_Angle)를 설정한다. 이동각도(Move_Angle)는 이동로봇(100)을 이동시키길 원하는 절대방향을 나타낸다. 한편, 이동로봇(100)이 회전을 할 때, 이동로봇(100)의 이동각도(Move_Angle)를 수정해주지 않으면 이동로봇(100)은 당초의 원하는 방향으로 이동하지 못하고 원 또는 소용돌이 무늬 등을 그리며 이동하게 될 것이다.In parallel with steps S21 to S25, in step S27, the controller 10 sets the moving angle Move_Angle of the mobile robot 100. The moving angle Move_Angle represents the absolute direction in which the mobile robot 100 is to be moved. On the other hand, when the mobile robot 100 rotates, if the moving angle (Move_Angle) of the mobile robot 100 is not corrected, the mobile robot 100 cannot move in the original desired direction and moves in a circle or swirl pattern. Will be done.

이동로봇(100)의 이동각도(Move_Angle)를 설정하고 나면, 단계(S29)에서, 이 동로봇(100)을, 회전 중에도 원하는 방향으로 이동시키기 위하여, 제어부(10)가 이동로봇(100)의 이동각도(Move_Angle)에서, 후술하는 단계(S60)에서 센싱한 이동로봇(100)의 자이로각도(Gyro_Angle)(θgyro)를 빼서 매 순간의 이동각도(Move_Angle)를 다시 계산한다.After setting the moving angle (Move_Angle) of the mobile robot 100, in step S29, in order to move the mobile robot 100 in the desired direction even during rotation, the controller 10 of the mobile robot 100 In the moving angle Move_Angle, the moving angle Move_Angle of each moment is recalculated by subtracting the gyro angle Gyro_Angle θgyro of the mobile robot 100 sensed in step S60 described later.

이어서, 단계(S30)에서, 제어부(10)가 단계(S23)에서 계산된 이동각도(Move_Angle)와, 원하는 모터의 속도(Desired_Velocity)를, 앞서 언급한 수학식 14 내지 수학식 16에 적용시킴으로써 이동로봇(100)을 원하는 방향으로 이동시키기 위한, 모터(31,33,35)의 회전속도(Vx)(x=1, 2, 3)를 각각 계산한다.Subsequently, in step S30, the control unit 10 moves by applying the moving angle Move_Angle and the speed of the desired motor Desired_Velocity calculated in step S23 to the above-described equations (14) to (16). The rotational speeds V x (x = 1, 2, 3) of the motors 31, 33, 35 are respectively calculated to move the robot 100 in the desired direction.

그런 다음, 단계(S40)에서, 제어부(10)가 상기 계산된 회전속도(Vx)와 상기 제어된 각속도(Vw)를 합하여 모터(31,33,35)의 최종적인 회전속도를 계산한다. 이후 제어부(10) 내의 모터속도 콘트롤러, 예를 들어 모터 드라이버가 상기 계산된 최종적인 회전속도에 맞추어 모터(31,33,35)의 회전속도를 제어한다. 이에 따라 단계(S70)에서, 옴니휠(21,23,25)이 모터(31,33,35)의 제어된 회전속도에 대응하여 회전하므로 이동로봇(100)이 계속 주행한다. Then, in step S40, the controller 10 calculates the final rotational speed of the motors 31, 33, 35 by adding up the calculated rotational speed V x and the controlled angular velocity Vw. Thereafter, a motor speed controller, for example, a motor driver in the controller 10 controls the rotation speeds of the motors 31, 33, and 35 in accordance with the calculated final rotation speed. Accordingly, in step S70, since the omni wheels 21, 23, and 25 rotate in correspondence with the controlled rotation speeds of the motors 31, 33, and 35, the mobile robot 100 continues to travel.

한편, 단계(S50)에서, 옴니휠모터속도센싱부(40)의 모터속도센서(41,43,45), 예를 들어 엔코더 센서가 상기 제어된 모터(31,33,35)의 회전속도를 센싱하여 제어부(10)에 피드백시킨다. 따라서 단계(S40)에서, 제어부(10) 내의 모터 드라이버가 상기 센싱된 모터(31,33,35)의 회전속도를 이용하여 상기 계산된 최종적인 회전속도에 대응하도록 모터(31,33,35)의 회전속도를 제어한다.On the other hand, in step S50, the motor speed sensor (41, 43, 45), for example, the encoder sensor of the omni wheel motor speed sensing unit 40 is the rotational speed of the controlled motor (31, 33, 35) The sensing is fed back to the controller 10. Therefore, in step S40, the motor drivers 31, 33, and 35 so that the motor driver in the controller 10 corresponds to the calculated final rotation speed using the rotation speeds of the sensed motors 31, 33, 35. Control the speed of rotation.

단계(S60)에서, 자이로센서(50)는, 모터(31,33,35)의 회전에 따라 이동로봇(100)이 회전하면, 그 정보를 센싱하여 제어부(10)에 피드백시킨다. 이에 따라 단계(S23)에서, 제어부(10)가 자이로센서(50)로부터의 정보를 추가로 적용하여 이동로봇(100)의 회전각도를 계산한다. 또한 단계(S29)에서, 제어부(10)가 자이로센서(50)로부터의 정보를 추가로 적용하여 이동로봇(100)의 이동각도를 계산한다.In step S60, when the mobile robot 100 rotates according to the rotation of the motors 31, 33, and 35, the gyro sensor 50 senses the information and feeds it back to the controller 10. Accordingly, in step S23, the controller 10 further applies the information from the gyro sensor 50 to calculate the rotation angle of the mobile robot 100. In addition, in step S29, the controller 10 further applies the information from the gyro sensor 50 to calculate the moving angle of the mobile robot 100.

모터(31,33,35)의 현재 회전속도는 이동각도(Move_Angle)로 이동하기 위한 각속도와 자세를 보정하기 위한 각속도를 합산한 값이다. 이동로봇(100)의 정확한 위치를 파악하기 위해서는, 먼저 각속도 성분을 제거하여야 한다. 각속도 성분이 회전속도(Vrot)이므로 자이로센서(50)를 이용하여 이동로봇(100)의 각속도를 알 수 있고, 앞서 언급한 수학식 6을 이용하여 회전속도(Vrot)를 얻을 수 있다.The current rotational speeds of the motors 31, 33, and 35 are the sum of the angular speeds for moving at the moving angle Move_Angle and the angular speeds for correcting the attitude. In order to determine the exact position of the mobile robot 100, first the angular velocity component Should be removed. Since the angular velocity component is the rotational speed V rot , the angular velocity of the mobile robot 100 may be known using the gyro sensor 50, and the rotational speed V rot may be obtained using Equation 6 described above.

이렇게 하여 회전속도(Vrot)를 알고, 모터속도센서(41,43,45), 예를 들어 엔코더(encoder)를 이용하여

Figure 112009020469217-pat00022
를 알 수 있으며, 자이로센서(50)를 이용하여 이동로봇(100)의 현재 자세(θ)를 알 수 있으므로 수학식 14 내지 수학식 16을 이용한 연립방정식으로 x, y축의 속도를 구할 수 있다. 먼저 수학식 12을 이용하여 Vi를 구하고 회전속도(Vrot)를 제거하면 수학식 14 내지 수학식 16은 수학식17 내지 수학식 19와 같이 나타낼 수 있다.In this way, the rotational speed (V rot ) is known, and the motor speed sensors (41, 43, 45), for example, using an encoder
Figure 112009020469217-pat00022
Since the current position (θ) of the mobile robot 100 can be known using the gyro sensor 50, the velocity of the x and y axes can be obtained by using a system of equations using Equations 14 to 16. First, when V i is obtained using Equation 12 and the rotation speed V rot is removed, Equations 14 to 16 may be expressed as Equations 17 to 19.

Figure 112009020469217-pat00023
Figure 112009020469217-pat00023

Figure 112009020469217-pat00024
Figure 112009020469217-pat00024

Figure 112009020469217-pat00025
Figure 112009020469217-pat00025

여기서 θ를 알고 있으므로 -sin(θ+αi)cos(θ)를 si으로, cos(θ+αi)cos(θ) ci로 치환하면 수학식 17 내지 수학식 19는 수학식 20 내지 수학식 22과 같이 간단히 나타낼 수 있다.Here, since θ is known, -sin (θ + α i ) cos (θ) is replaced with s i and cos (θ + α i ) cos (θ) c i , It can be simply expressed as in Equation 22.

Figure 112009020469217-pat00026
Figure 112009020469217-pat00026

Figure 112009020469217-pat00027
Figure 112009020469217-pat00027

Figure 112009020469217-pat00028
Figure 112009020469217-pat00028

Figure 112009020469217-pat00029
을 제외하고 나머지 값들은 모두 알고 있는 값이기 때문에 이를 상수로 생각하여 수학식 20 내지 수학식 22을 이용한 연립방정식으로 풀면 수학식 23 및
Figure 112009020469217-pat00029
Except for the rest of the values are all known values, so consider them as constants and solve the system of equations using equations (20) to (22).

수학식 24와 같이 나타낼 수 있다.It may be expressed as in Equation 24.

Figure 112009020469217-pat00030
Figure 112009020469217-pat00030

Figure 112009020469217-pat00031
Figure 112009020469217-pat00031

3개의 방정식이 존재하고, 2개의 변수를 가지므로 쉽게 해를 구할 수 있다. 수학식 24에서

Figure 112009020469217-pat00032
을 구하고, 이를 수학식 23에 대입하여
Figure 112009020469217-pat00033
을 구한다.
Figure 112009020469217-pat00034
을 이용하여 현재 좌표 x, y를 구하고 나면, 기존의 방법을 이용하여 이동로봇(100)의 주행을 상기 계획된 주행궤적을 따라가도록 제어할 수 있다.Since there are three equations and two variables, the solution is easy. In equation (24)
Figure 112009020469217-pat00032
, And substitute this into Equation 23
Figure 112009020469217-pat00033
.
Figure 112009020469217-pat00034
After the current coordinates x and y are obtained, the driving of the mobile robot 100 can be controlled to follow the planned driving trajectory using an existing method.

따라서 본 발명에서는, 이동로봇의 주행시스템을 위하여 옴니휠을 이용한 새로운 주행방식을 사용함으로써 옴니휠을 이용한 홀로노믹 시스템을 좁은 실내에서 보다 효율적인 네비게이션을 가능하게 하고, 또한 옴니휠을 이용한 홀로노믹 시스템을 민첩하고 정확하게 이동시킬 수 있다.Therefore, in the present invention, by using a new driving method using the omni wheel for the traveling system of the mobile robot, the holographic system using the omni wheel enables more efficient navigation in a narrow room, and also uses the holonomic system using the omni wheel. It can be moved quickly and accurately.

한편, 본 발명은, 상기 언급된 바람직한 실시예와 관련하여 설명하였지만, 본 발명의 요지와 범위로부터 벗어남 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허청구의 범위는 본 발명의 요지에서 속하는 이러한 수정이나 변형을 포함할 것이다.On the other hand, the present invention has been described in connection with the above-mentioned preferred embodiment, it is possible to make various modifications or variations without departing from the spirit and scope of the present invention. Accordingly, the appended claims are intended to cover such modifications or changes as fall within the scope of the invention.

도 1a 및 도 1b는, 이동로봇의 옴니휠을 각각 나타낸 실물 사진도 및 그래픽도이다.1A and 1B are physical photographs and graphic views showing omni wheels of a mobile robot, respectively.

도 2a 및 도 2b는, 이동로봇의 3개 옴니휠 및 4개 옴니휠을 이용한 모터 구동방식을 각각 설명하기 위한 도면.2A and 2B are diagrams for explaining a motor driving method using three omni wheels and four omni wheels of a mobile robot, respectively.

도 3은 이동로봇의 위치 및 방향을 제어하기 위한 알고리즘을 나타낸 도면.3 is a diagram illustrating an algorithm for controlling a position and a direction of a mobile robot.

도 4는, 이동로봇의 기구학을 나타낸 도면.4 shows the kinematics of a mobile robot.

도 5는, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어방법에 적용된 이동로봇을 개략적으로 나타낸 블록구성도.Figure 5 is a block diagram schematically showing a mobile robot applied to the traveling control method of a mobile robot using an omni wheel according to the present invention.

도 6은, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어방법에 적용된 이동로봇의 주행제어시스템을 나타낸 블록도.6 is a block diagram showing a traveling control system of a mobile robot applied to a traveling control method of a mobile robot using an omni wheel according to the present invention;

도 7은, 본 발명에 따른 옴니휠을 이용한 이동로봇의 주행제어방법을 나타낸 플로우차트.7 is a flowchart illustrating a traveling control method of a mobile robot using an omni wheel according to the present invention.

Claims (2)

3개 옴니휠을 이용한 이동로봇의 주행궤적을 계획하는 단계;Planning driving trajectory of the mobile robot using three omni wheels; 상기 이동로봇의 베이스각도를 설정하는 과정, 상기 이동로봇의 회전각도를 계산하는 과정, 및 상기 이동로봇의 각속도를 제어하는 과정을 포함하는 단계;Setting a base angle of the mobile robot, calculating a rotation angle of the mobile robot, and controlling an angular velocity of the mobile robot; 상기 이동로봇의 이동각도를 설정하는 과정, 및 상기 이동로봇의 이동각도를 계산하는 과정을 포함하는 단계;Setting a moving angle of the mobile robot, and calculating a moving angle of the mobile robot; 상기 제어된 각속도와 상기 계산된 이동각도를 이용하여 상기 옴니휠의 각각에 해당하는 3개 모터 각각의 회전속도를 계산하는 단계;Calculating a rotation speed of each of the three motors corresponding to each of the omni wheels using the controlled angular speed and the calculated moving angle; 상기 계산된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하는 단계; 및Controlling the rotation speed of each motor by using the calculated rotation speed of each motor; And 상기 제어된 모터 각각의 회전속도로 상기 이동로봇을 주행시키는 단계를 포함하며,Driving the mobile robot at a rotational speed of each of the controlled motors, 상기 모터 각각의 회전속도를 제어하는 단계는, 상기 모터 각각의 회전속도를, 3개 모터속도센서 각각에 의해 센싱하는 단계를 더 포함하며, 상기 계산된 모터 각각의 회전속도와 상기 센싱된 모터 각각의 회전속도를 이용하여 상기 모터 각각의 회전속도를 제어하고,The controlling of the rotation speed of each motor further includes sensing the rotation speed of each motor by each of three motor speed sensors, wherein the calculated rotation speed of each of the motors and each of the sensed motors are sensed. The rotational speed of each of the motor to control the rotational speed, 상기 이동로봇의 회전각도를 계산하는 과정은, 상기 이동로봇의 자이로각도를 자이로센서에 의해 센싱하는 단계를 더 포함하며, 상기 설정된 이동로봇의 베이스각도와 상기 센싱된 자이로각도를 이용하여 상기 이동로봇의 회전각도를 계산하 는 것을 특징으로 하는 옴니휠을 이용한 이동로봇의 주행제어방법.The calculating of the rotation angle of the mobile robot further includes sensing the gyro angle of the mobile robot by a gyro sensor, and using the base angle of the set mobile robot and the sensed gyro angle. Traveling control method of the mobile robot using the omni wheel, characterized in that for calculating the rotation angle of. 3개 옴니휠을 이용한 이동로봇의 주행궤적을, 제1항의 주행제어방법에 의해 제어하는 제어부를 구비하는 것을 특징으로 하는 옴니휠을 이용한 이동로봇의 주행제어장치.A traveling control apparatus for a mobile robot using an omni wheel, characterized in that it comprises a control unit for controlling the traveling trajectory of the mobile robot using three omni wheels according to the traveling control method of claim 1.
KR1020090029261A 2009-04-06 2009-04-06 trajectory control device and method of mobile robot using omni-wheels KR101026596B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090029261A KR101026596B1 (en) 2009-04-06 2009-04-06 trajectory control device and method of mobile robot using omni-wheels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090029261A KR101026596B1 (en) 2009-04-06 2009-04-06 trajectory control device and method of mobile robot using omni-wheels

Publications (2)

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

Family

ID=43131345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090029261A KR101026596B1 (en) 2009-04-06 2009-04-06 trajectory control device and method of mobile robot using omni-wheels

Country Status (1)

Country Link
KR (1) KR101026596B1 (en)

Families Citing this family (5)

* 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
US10414052B2 (en) 2016-02-09 2019-09-17 Cobalt Robotics Inc. Building-integrated mobile robot
US11724399B2 (en) 2017-02-06 2023-08-15 Cobalt Robotics Inc. Mobile robot with arm for elevator interactions
CN106864652A (en) * 2017-04-25 2017-06-20 健芮智能科技(昆山)有限公司 It is suitable to the Interesting body-building bicycle that many people ride

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 (en) * 1999-03-06 2000-10-05 곽정환 driving wheel and control method of a mobile robot
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 (en) * 1999-03-06 2000-10-05 곽정환 driving wheel and control method of a mobile robot
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 (en) 2010-10-14

Similar Documents

Publication Publication Date Title
TWI637830B (en) Self-propelled articulated robot
JP3241564B2 (en) Control device and method for motion control of normal wheel type omnidirectional mobile robot
US8322468B2 (en) Robot apparatus and method of controlling the same, and computer program
KR102162756B1 (en) Mobile robot platform system for process and production management
WO2011062094A1 (en) Autonomous mobile body and control method of same
KR101026596B1 (en) trajectory control device and method of mobile robot using omni-wheels
KR20180129861A (en) Agile manufacturing platforms and systems
JP2009093308A (en) Robot system
CN103128729A (en) Robot apparatus, method for controlling the same, and computer program
JP2018527689A (en) Virtual line following method and modification method for autonomous vehicles
Oftadeh et al. A novel time optimal path following controller with bounded velocities for mobile robots with independently steerable wheels
Matsushita et al. Nonholonomic equivalent disturbance based backward motion control of tractor-trailer with virtual steering
CN214846390U (en) Dynamic environment obstacle avoidance system based on automatic guided vehicle
Aref et al. Position-based visual servoing for pallet picking by an articulated-frame-steering hydraulic mobile machine
CN107272725B (en) Spherical robot motion control system with visual feedback and motion control method
JP6944611B1 (en) Self-propelled device and running system of self-propelled device
Heß et al. Linux based control framework for Mecanum based omnidirectional automated guided vehicles
Stetter et al. Development, realization and control of a mobile robot
Mariappan et al. A navigation methodology of an holonomic mobile robot using optical tracking device (OTD)
Kouros et al. PANDORA monstertruck: A 4WS4WD car-like robot for autonomous exploration in unknown environments
JPH04153709A (en) Guidance controller for moving robot
CN112873198A (en) Control method of robot system
Savnani et al. Modelling, Design and Control of a Four wheel Holonomic Drive
Essaidi et al. Trajectory planning for autonomous wheeled mobile robots with trailer
Sato et al. Longitudinal and Turning Manual Operation Control for a Force Sensorless Power-Assisted Transport Cart

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