KR20110125865A - Method and apparatus for controlling self-driving of mobile-robot - Google Patents
Method and apparatus for controlling self-driving of mobile-robot Download PDFInfo
- Publication number
- KR20110125865A KR20110125865A KR1020100045479A KR20100045479A KR20110125865A KR 20110125865 A KR20110125865 A KR 20110125865A KR 1020100045479 A KR1020100045479 A KR 1020100045479A KR 20100045479 A KR20100045479 A KR 20100045479A KR 20110125865 A KR20110125865 A KR 20110125865A
- Authority
- KR
- South Korea
- Prior art keywords
- lane
- obstacle
- information
- mobile robot
- vector
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000009826 distribution Methods 0.000 claims abstract description 38
- 239000013598 vector Substances 0.000 claims description 159
- 238000010586 diagram Methods 0.000 description 30
- 238000001514 detection method Methods 0.000 description 29
- 239000002131 composite material Substances 0.000 description 18
- 230000002194 synthesizing effect Effects 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Abstract
Description
본 발명은 이동 로봇의 자율 주행 방법 및 자율 주행 장치에 관한 것으로서, 상세하게는 영상 센서와 장애물 감지 센서를 이용하여 이동 로봇이 한 쌍의 차선 내에서 장애물을 회피하며 안전하게 자율적으로 주행할 수 있는 자율 주행 방법 및 자율 주행 장치에 관한 것이다.The present invention relates to an autonomous driving method and an autonomous driving device of a mobile robot, and more particularly, an autonomous autonomous vehicle capable of safely and autonomously traveling by avoiding obstacles in a pair of lanes by using an image sensor and an obstacle detecting sensor. A traveling method and an autonomous driving device.
이동 로봇이 정해진 영역 내에서 작업자의 지시에 따라 정확한 작업을 수행하기 위해서는, 이동 로봇의 진행 방향에 존재할 수 있는 장애물들을 회피할 수 있어야 한다. In order for the mobile robot to perform the correct work according to the operator's instructions within the predetermined area, it must be able to avoid obstacles that may exist in the moving direction of the mobile robot.
종래에는 이동 로봇이 정해진 영역 내에서 장애물들을 회피하며 자율적으로 진행하기 위해서, 이동 로봇은 정해진 영역을 감지하는 영역 센서와 카메라 센서를 탑재해야 한다. In the related art, in order for the mobile robot to autonomously proceed to avoid obstacles in the predetermined area, the mobile robot should be equipped with an area sensor and a camera sensor for detecting the predetermined area.
그러나 종래의 이동 로봇에서 사용되는 영역 센서는 고가의 부품이기 때문에 이동 로봇의 제작 가격이 상승할 수밖에 없어 이동 로봇의 대중화를 저해하는 문제점이 있다.However, since the area sensor used in the conventional mobile robot is an expensive component, the manufacturing cost of the mobile robot is inevitably increased, which hinders the popularization of the mobile robot.
또한, 카메라를 이용하여 장애물 및 영상에 대하여 처리하는 경우 카메라 영상 전체에 대하여 영상 분석을 수행해야 하므로 많은 시간이 소요된다. 이는 빠르게 이동하는 이동 로봇일 경우 영상에 대한 처리속도를 따라가지 못하는 문제점이 있다.In addition, when processing obstacles and images using a camera, it takes a lot of time because image analysis must be performed on the entire camera image. This is a fast moving mobile robot has a problem that can not follow the processing speed for the image.
본 발명이 해결하고자 하는 과제는, 영상 센서인 카메라를 통해 획득한 차선의 정보와, 저가의 장애물 감지 센서를 통해 획득한 차선 내에 존재하는 장애물에 대한 정보를 기초로 이동 로봇이 한 쌍의 차선 내에서 주행하는 동시에 이동 로봇의 이동 경로 상에 존재하는 장애물들을 회피하며 주행하는 이동 로봇의 자율 주행 방법 및 그 장치를 제공하는 것이다. The problem to be solved by the present invention, the mobile robot in a pair of lanes based on the information of the lanes obtained through the camera, which is an image sensor, and the information about the obstacles present in the lanes obtained through the low-cost obstacle detection sensor. The present invention provides a method and apparatus for autonomous driving of a mobile robot that travels at the same time and avoids obstacles existing on a moving path of the mobile robot.
본 발명은 차선을 이탈하지 않고 주행하는 이동 로봇의 자율 주행 방법으로서, 이동 로봇의 전방을 촬영하여 전방 영상 정보를 생성하는 단계; 전방 영상 정보를 처리하여 이동 로봇의 전방에 존재하는 차선의 분포 정도를 나타내는 차선 분포 정보를 생성하는 단계; 차선 분포 정보를 이용하여 이동 로봇을 차선의 반대 방향으로 미는 차선 척력 정보를 생성하는 단계; 및 차선 척력 정보에 기초하여 이동 로봇의 직진 속도 명령과 회전 속도 명령을 포함하는 이동 제어 정보를 생성하는 단계를 포함하는 이동 로봇의 자율 주행 방법을 제공하는 것을 특징으로 한다.The present invention provides an autonomous driving method of a mobile robot that travels without leaving a lane, the method comprising: generating front image information by photographing a front side of a mobile robot; Processing lane image information to generate lane distribution information indicating a degree of distribution of lanes in front of the mobile robot; Generating lane repulsion information that pushes the mobile robot in a direction opposite to the lane using the lane distribution information; And generating movement control information including a linear speed command and a rotational speed command of the mobile robot based on the lane repulsive force information.
바람직하게는, 상기 차선 분포 정보를 검출하는 단계는, 전방 영상 정보에서 동일한 폭과 높이를 가지는 복수의 분할 영상을 좌에서 우로 평행하게 선택하는 단계; 각각의 분할 영상으로부터 차선의 컬러와 동일한 컬러를 가지는 픽셀의 개수를 추출하여 차선 픽셀 수를 획득하는 단계; 및 각각의 분할 공간에 대응하는 차선 픽셀 수로부터 차선 분포 정보를 생성하는 단계를 포함할 수 있다.Preferably, the detecting of the lane distribution information comprises: selecting a plurality of divided images having the same width and height from the front image information in parallel from left to right; Extracting the number of pixels having the same color as the lane color from each of the divided images to obtain the number of lane pixels; And generating lane distribution information from the number of lane pixels corresponding to each division space.
바람직하게는, 상기 방법은, 이동 로봇의 전방에 존재하는 장애물을 감지하고, 이동 로봇에 대한 장애물의 방향 및 이동 로봇으로부터 장애물까지의 거리에 대한 정보를 포함하는 장애물 정보를 생성하는 단계; 및 상기 장애물 정보를 기초로, 이동 로봇을 장애물의 반대 방향으로 미는 장애물 척력 정보를 생성하는 단계를 더 포함하며, 이동 제어 정보는 장애물 척력 정보와 차선 척력 정보를 합성한 합성 척력 정보에 따라 생성될 수 있다.Preferably, the method comprises the steps of sensing an obstacle present in front of the mobile robot and generating obstacle information including information about the direction of the obstacle with respect to the mobile robot and the distance from the mobile robot to the obstacle; And generating obstacle repulsion information that pushes the mobile robot in a direction opposite to the obstacle, based on the obstacle information, wherein the movement control information is generated according to the synthesized repulsion information obtained by combining the obstacle repulsion information and the lane repulsion information. Can be.
한편, 본 발명은 상기 이동 로봇의 자율 주행 방법을 실현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.On the other hand, the present invention provides a computer-readable recording medium recording a program for realizing the autonomous driving method of the mobile robot.
본 발명에 의하면, 이동 로봇이 한 쌍의 차선 밖으로 이탈하는 것이 방지되는 동시에 이동 로봇이 이동 경로에 존재하는 장애물과 충돌하는 것이 방지될 수 있다. According to the present invention, the mobile robot can be prevented from escaping out of the pair of lanes and at the same time, the mobile robot can be prevented from colliding with an obstacle present in the movement path.
또한 본 발명에 의하면, 카메라로 획득된 전방 영상에서 특정 영역에 대한 영상만을 분석하여 차선을 검출하기 때문에 차선에 따른 이동 로봇의 이동 제어 정보를 생성하는 시간이 단축되어 실시간 처리가 가능하며, 저가의 장애물 감지 센서를 이용하므로 이동 로봇의 제작 단가를 줄일 수 있다.In addition, according to the present invention, since only the image of the specific area is detected from the front image obtained by the camera to detect the lane, the time for generating the movement control information of the mobile robot according to the lane is shortened, thereby real-time processing is possible. By using the obstacle detection sensor, the manufacturing cost of the mobile robot can be reduced.
도 1은 본 발명에 따른 이동 로봇의 자율 주행 장치를 예시한 도면.
도 2는 본 발명에 따른 이동 로봇의 자율 주행 장치를 설명한 블록도.
도 3은 장애물 감지 센서가 이동 로봇에 장착되는 배치예를 예시한 도면.
도 4는 차선 검출부를 상세히 나타낸 블록도.
도 5는 차선 분포 정보를 생성하는 과정을 설명하기 위한 도면.
도 6은 차선 척력 생성부를 상세하게 나타낸 블록도.
도 7은 장애물 척력 생성부를 상세하게 나타낸 블록도.
도 8은 도 5(c)의 차선 분포 정보를 기초로 차선 척력 정보를 생성하는 과정을 각각 설명한 도면.
도 9는 감지 신호를 기초로 장애물 척력 정보를 생성하는 과정을 각각 설명한 도면.
도 10은 합성 척력 정보를 생성하는 과정을 예시한 도면.
도 11은 합성 척력 벡터에 따라 제어되는 이동 로봇의 직진 속도 및 회전 속도를 예시한 도면.
도 12는 본 발명에 따른 이동 로봇의 자율 주행 방법을 설명한 흐름도.
도 13은 차선 분포 정보를 생성하는 과정을 상세히 설명한 흐름도.
도 14는 차선 척력 정보를 생성하는 과정을 상세히 설명한 흐름도.
도 15는 장애물 척력 정보를 생성하는 과정을 상세히 설명한 흐름도.
도 16은 이동 제어 정보를 생성하는 과정을 상세히 설명한 흐름도.1 is a diagram illustrating an autonomous driving device of a mobile robot according to the present invention.
Figure 2 is a block diagram illustrating an autonomous running device of a mobile robot according to the present invention.
3 is a diagram illustrating an arrangement example in which an obstacle detecting sensor is mounted on a mobile robot.
4 is a block diagram illustrating in detail a lane detection unit;
5 is a view for explaining a process of generating lane distribution information.
Figure 6 is a block diagram showing in detail the lane repulsion force generation unit.
7 is a block diagram showing in detail the obstacle repulsive force generating unit.
FIG. 8 is a view for explaining a process of generating lane repulsion information based on the lane distribution information of FIG.
9 is a view for explaining the process of generating obstacle repulsion information based on the detection signal, respectively.
10 is a diagram illustrating a process of generating synthetic repulsive force information.
FIG. 11 is a diagram illustrating the straight and rotational speeds of the mobile robot controlled according to the synthetic repulsive force vector. FIG.
12 is a flow chart illustrating an autonomous driving method of a mobile robot according to the present invention.
13 is a flowchart illustrating a process of generating lane distribution information in detail.
14 is a flowchart illustrating a process of generating lane repulsion information in detail;
15 is a flowchart illustrating a process of generating obstacle repulsion information in detail.
16 is a flowchart illustrating a process of generating movement control information in detail.
이하에서 첨부된 도면을 참조하여, 본 발명의 바람직한 실시예를 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Like reference numerals in the drawings denote like elements.
도 1은 본 발명에 따른 이동 로봇의 자율 주행 장치를 예시한 도면이다.1 is a diagram illustrating an autonomous driving device of a mobile robot according to the present invention.
본 발명에 따른 이동 로봇의 자율 주행 장치는 이동 로봇(300)에 장착되어 이동 로봇이 차선을 이탈하지 않고 자율적으로 주행하도록 제어하며, 추가로 이동 로봇이 주행하는 주행 방향의 전방에 장애물이 존재하는 경우 이동 로봇이 그 장애물을 회피하며 자율 주행하도록 제어한다.The autonomous driving device of the mobile robot according to the present invention is mounted on the
이동 로봇(300)에 장착되는 자율 주행 장치는 바퀴의 회전을 제어하여 이동 로봇이 한 쌍의 차선(r1, r2) 내에서 자율적으로 주행하도록 제어하는 동시에 자율 주행중에 주행 방향(x)에 존재할 수 있는 장애물(ob1, ob2)을 회피하며 직진, 후진, 회전, 및 정지를 제어하는 장치이다. 이동 로봇(300)에 장착되는 바퀴의 개수는 도면에 한정되지 않고 3개 또는 4개가 될 수 있으며, 이동 로봇의 자율 주행 장치는 바퀴의 개수에 따라 다양한 방식으로 바퀴의 회전을 제어할 수 있다.The autonomous driving device mounted on the
한편 본 발명에 따른 이동 로봇의 자율 주행 장치는 이동 로봇이 주행하는 도중에 장애물을 감지하면 장애물을 회피하면서 차선을 따라 주행하도록 이동 로봇을 제어할 수도 있다.Meanwhile, the autonomous driving device of the mobile robot according to the present invention may control the mobile robot to travel along a lane while avoiding the obstacle when sensing the obstacle while the mobile robot is driving.
본 발명에 따른 이동 로봇의 자율 주행 장치는 영상 센서인 카메라부(111)를 통해 획득한 전방 영상을 이용하여 차선을 감지하고, 후술하겠지만 장애물은 장애물 감지 센서를 이용하여 전방에 존재하는 장애물을 감지할 수 있다.The autonomous driving device of the mobile robot according to the present invention detects a lane using a front image obtained through the
도 2는 본 발명에 따른 이동 로봇의 자율 주행 장치를 설명한 블록도이다. 2 is a block diagram illustrating an autonomous driving device of a mobile robot according to the present invention.
도 1을 참조하면, 본 발명에 따른 이동 로봇의 자율 주행 장치는 센서부(110), 차선 검출부(120), 차선 척력 생성부(130), 및 이동 제어부(140)를 포함하며, 추가로 장애물 검출부(150), 및 장애물 척력 생성부(160)를 더 포함할 수 있다.Referring to FIG. 1, the autonomous driving device of a mobile robot according to the present invention includes a
우선 센서부(110)는 이동 로봇(300)이 주행하는 주행 방향의 전방을 촬영하여 전방 영상을 생성하는 영상 센서인 카메라부(111)를 포함하며, 추가로 이동 로봇이 주행하는 주행 방향의 전방에 존재하는 장애물을 감지하고 감지된 장애물의 이동 로봇에 대한 방향과 이동 로봇에서 장애물까지의 거리에 대한 정보를 포함하는 장애물 정보를 생성하는 장애물 감지 센서(112)를 더 포함할 수 있다.First, the
카메라부(111)는 이동 로봇(10)이 주행하는 주행 방향의 전방을 촬영하여 전방 영상에 대한 영상 정보를 생성하는 영상 센서이다. 카메라부(111)에 의해 획득된 전방 영상은 후술할 차선 검출부(120)로 제공된다.The
장애물 감지 센서(112)는 이동 로봇이 주행하는 주행 방향의 전방에 존재하는 장애물을 감지한 감지 신호를 생성한다. 장애물 감지 센서(112)로서 저가의 적외선 센서가 이용될 수 있으며, 적외선 센서는 적외선 신호를 발신하고 장애물로부터 반사되어 돌아오는 신호를 감지 신호(적외선 신호)로서 수신한다. 한편, 초음파 신호를 이용하는 초음파 센서 또는 도플러 센서 등이 장애물을 감지하기 위한 장애물 감지 센서(112)로서 이용될 수 있다. 장애물 감지 센서(11)는 장애물을 감지하고, 이동 로봇에 대한 장애물의 방향 및 이동 로봇으로부터 장애물까지의 거리를 측정할 수 있는 센서이면 적외선 센서, 초음파 센서, 및 도플러 센서 중에서 어느 것이든 이용될 수 있다.The
장애물 검출부(150)는 장애물에서 반사되어 돌아오는 감지 신호들을 수신하고 이를 분석함으로써, 이동 로봇의 전방에 존재할 수 있는 모든 장애물에 대하여 각 장애물(ob)의 방향(d) 및 이동 로봇(300)에서 각 장애물(ob)까지의 거리(l)에 대한 정보를 포함하는 장애물 정보를 생성한다.The
장애물 감지 센서(112)는 이동 로봇(10)이 주행하는 주행 방향을 중심으로 180°내에 존재하는 장애물을 감지하기 위해, 이동 로봇(10)의 외부에 각도별로 다수 개가 설치될 수 있다. 장애물 감지 센서(112)는 이동 로봇이 주행하는 주행 방향의 전방에 존재하는 장애물들을 감지한 감지 신호들을 후술할 장애물 검출부(150)로 제공한다.
도 3은 장애물 감지 센서가 이동 로봇에 장착되는 배치예를 예시한 도면이다.3 is a diagram illustrating an arrangement example in which the obstacle detection sensor is mounted on the mobile robot.
도 3을 참조하면, 복수의 장애물 감지 센서(112_1~112_5)가 일정한 각도를 이루며 이동 로봇(10)의 외부에 배치된다. 장애물 감지 센서의 개수를 늘리면, 감지되는 장애물의 방향이 더욱 정밀하게 측정될 수 있다. 각 장애물 감지 센서는 자신이 측정할 수 있는 범위 내에 존재하는 장애물을 감지한 감지 신호를 생성할 수 있다.Referring to FIG. 3, the plurality of obstacle detection sensors 112_1 to 112_5 form a predetermined angle and are disposed outside the
장애물 검출부(150)는 장애물 감지 센서(112_1~112_5)에서 생성된 감지 신호들을 수집하고 이를 분석하여 이동 로봇의 전방에 존재할 수 있는 모든 장애물에 대한 장애물 정보를 생성한다. 장애물 정보는 이동 로봇(300)에 대한 모든 장애물들에 대하여 각 장애물(ob)의 방향(d) 및 이동 로봇(300)에서 각 장애물(ob)까지의 거리(l)에 대한 정보를 포함한다.The
도 3에서는 장애물 검출부(150)가 하나의 장애물(ob)에 대한 장애물 정보를 생성하는 것을 예시하였지만, 장애물 검출부(150)는 물론 복수의 장애물에 대한 장애물 정보를 생성할 수 있다. In FIG. 3, although the
전술한 것처럼 장애물 감지 센서의 개수는 다양하게 변경될 수 있으며, 장애물 감지 센서의 개수가 증가할수록, 이동 로봇에 대한 장애물의 방향이 좀 더 정밀하게 측정될 수 있다. 장애물 감지 센서(112)의 장애물 정보를 이용하여 장애물을 회피하는 과정에 대해서는 후술하도록 한다. As described above, the number of obstacle detection sensors may be variously changed, and as the number of obstacle detection sensors increases, the direction of the obstacle with respect to the mobile robot may be measured more precisely. A process of avoiding obstacles by using obstacle information of the
도 2로 되돌아가 설명하도록 한다.2 will be described again.
차선 검출부(120)는 이동 로봇의 전방 영상을 처리하여, 이동 로봇의 주행 방향에 대하여 차선의 방향 및 차선의 분포 정도를 나타내는 차선 분포 정보를 생성한다.The
도 4는 차선 검출부를 상세히 나타낸 블록도로서, 차선 검출부(120)는 영상 분할부(121) 및 픽셀 추출부(122)를 포함할 수 있다.4 is a detailed block diagram illustrating a lane detector, and the
영상 분할부(121)는 카메라부(111)가 촬영한 전방 영상을 동일한 폭과 높이를 가지는 복수의 분할 영상으로 분할한다. 분할 영상은 전방 영상에서 좌에서 우로 평행하게 분할된 영상이다. The
픽셀 추출부(122)는 각각의 분할 영상을 분석하여 각각의 분할 영상 내에서 차선과 동일한 컬러를 가지는 픽셀인 차선 픽셀 및 차선 픽셀의 픽셀 수를 검출한다.The
차선 검출부(120)는 각각의 분할 영상에 대하여 차선 픽셀 수에 대한 정보를 포함하는 차선 분포 정보를 생성한다. 차선 분포 정보는 각 분할 영상에 대하여 그 분할 영상 내에 포함된 차선 픽셀 수에 대한 정보를 포함한다. 차선 분포 정보는 이동 로봇(10)이 주행하는 방향에 대하여 차선의 방향 및 차선의 분포 정도를 암시한다.The
도 5는 차선 분포 정보를 생성하는 과정을 설명하기 위한 도면으로서, 도 5(a)는 전방 영상을 나타내고, 도 5(b)는 분할 영상을 나타내며, 도 5(c)는 각 분할 영상에 대하여 추출된 차선 픽셀 수를 나타내는 그래프이다.FIG. 5 is a diagram for describing a process of generating lane distribution information. FIG. 5 (a) shows a front image, FIG. 5 (b) shows a segmented image, and FIG. 5 (c) shows each segmented image. A graph showing the number of extracted lane pixels.
도 5(a)는 카메라부(111)가 촬영한 전방 영상(123)을 예시한 도면으로서, 전방 영상(123) 내에 한 쌍의 차선(r1, r2)이 촬영되어 있음을 볼 수 있다. 카메라부(111)가 촬영한 전방 영상(123)은 차선 검출부(120)로 제공된다.FIG. 5A illustrates a
도 5(b)는 분할 영상을 나타낸 도면이다.5B is a diagram illustrating a divided image.
차선 검출부(120)의 영상 분할부(121)는 카메라부(111)가 촬영한 전방 영상(123)에서 동일한 폭과 높이를 가지는 복수의 분할 영상(im)을 선택한다. The
도 5(b)를 참조하면, 분할 영상(im)은 전방 영상(123)을 좌에서 우로 평행하게 분할한 영상들(im_1~im_17)로 이뤄진다. 각각의 분할 영상(im_1~im_17)은 전방 영상(123) 내에서 동일한 폭(w)과 높이(h)를 가진다.Referring to FIG. 5B, the split image im is composed of images im_1 to im_17 obtained by dividing the
이러한 각각의 분할 영상(im_1~im_17)은 전방 영상의 특정 지점을 중심으로 동일한 폭과 높이를 가지도록 수평으로 분할되어 선택되며, 그 각 분할 영상의 폭(w)의 크기에 따라 분할 영상의 개수가 달라질 수 있다. 분할 영상이 선택되는 구역은 카메라부(111)의 설치 위치, 카메라부(11)의 촬영 각도, 카메라부(111)의 촬영 화각, 및 카메라부(111)의 초점 거리 등에 따라 적절하게 선택될 수 있다. 도 5(b)에서 영상 분할부(121)는 그 분할 영상의 개수가 17개가 되도록 분할 영상을 선택하였다. Each of the divided images (im_1 to im_17) is horizontally divided so as to have the same width and height with respect to a specific point of the front image, and the number of the divided images according to the size of the width (w) of each divided image. May vary. The area where the divided image is selected may be appropriately selected according to the installation position of the
한편 분할 영상(im_1~im_17)은 이동 로봇(300)의 전방을 촬영한 영상에 포함된 영상이므로, 카메라부(111)의 설치 위치 및 초점 거리를 바탕으로 이동 로봇(300)에서 각 분할 영상의 중심부까지의 거리는 쉽게 알 수 있다.Meanwhile, since the divided images im_1 to im_17 are images included in the image photographing the front of the
차선 검출부(120)의 픽셀 추출부(122)는 각각의 분할 영상(im_1~im_17)들에 대하여 2진화 영상 처리를 수행하여 각각의 분할 영상(im_1~im_17) 내에서 차선과 동일한 컬러를 가지는 픽셀인 차선 픽셀을 추출하고, 그 차선 픽셀의 개수인 차선 픽셀 수를 검출한다. The
도 5(c)는 각 분할 영상에 대하여 추출된 차선 픽셀 수를 나타내는 그래프로서, x축은 분할 구역을 나타내고, y축은 차선 픽셀 수를 나타낸다.FIG. 5C is a graph showing the number of lane pixels extracted for each divided image, in which the x-axis represents the divided zone and the y-axis represents the number of lane pixels.
도 5(c)를 참조하면, 12번째의 분할 구역의 분할 영상(im_12)과 13번째의 분할 구역의 분할 영상(im_13)에서 차선 픽셀 수가 가장 큼을 알 수 있다. Referring to FIG. 5C, it can be seen that the number of lane pixels is largest in the divided image im_12 of the 12th divided area and the divided image im_13 of the 13th divided area.
차선 검출부(120)는 각각의 분할 영상에서의 차선 픽셀 수에 대한 정보인 차선 분포 정보를 생성하고, 생성된 차선 분포 정보를 차선 척력 생성부(130)로 제공한다. The
한편, 카메라부(111)에서 생성된 이동 로봇의 전방 영상에는 차선과 동일한 컬러를 가지는 노이즈 픽셀이 포함될 수 있다. 따라서, 차선 검출부(120)는 소정의 기준값과 차선 픽셀 수를 비교하고, 차선 픽셀 수가 상기 기준값보다 큰 경우를 분할 구역에 차선이 존재하는 것으로 판단할 수 있다. 이를 위해 차선 검출부(120)는 차선 픽셀 수가 기준값보다 큰 분할 영상들에 대해서만 차선 분포 정보를 생성할 수 있다.Meanwhile, the front image of the mobile robot generated by the
차선 척력 생성부(130)는 차선 분포 정보를 이용하여 차선 척력 정보를 생성하는 역할을 수행한다. 차선 척력 정보란 이동 로봇을 차선의 반대 방향으로 미는 척력에 대한 정보이다.The lane repulsive
도 6은 차선 척력 생성부를 상세하게 나타낸 블록도이다.6 is a block diagram illustrating in detail a lane repulsive force generation unit.
도 6을 참조하면, 차선 척력 생성부(130)는 차선 검출부(120)로부터 제공받은 차선 분포 정보를 바탕으로 차선 척력 정보를 생성하는 구성요소로서, 차선 벡터 생성부(131), 차선 벡터 합성부(132), 및 차선 척력 정보 생성부(133)를 포함한다.Referring to FIG. 6, the lane repulsive
차선 벡터 생성부(131)는 차선 검출부(120)로부터 제공받은 차선 분포 정보를 바탕으로 차선 벡터를 생성하고, 차선 벡터 합성부(132)는 차선 벡터들을 합성하여 합성 차선 벡터를 생성하며, 차선 척력 정보 생성부(133)는 합성 차선 벡터를 기초로 차선 척력 정보를 생성한다.The lane
도 8은 도 5(c)의 차선 분포 정보를 기초로 차선 척력 정보를 생성하는 과정을 각각 설명한 도면으로서, 도 8(a)는 차선 벡터의 생성, 도 8(b)는 차선 벡터의 합성, 및 도 8(c)는 차선 척력 벡터의 생성을 각각 예시한 도면이다.FIG. 8 is a diagram illustrating a process of generating lane repulsion information based on the lane distribution information of FIG. 5 (c). FIG. 8 (a) shows the generation of a lane vector, FIG. 8 (b) shows the synthesis of a lane vector, And FIG. 8C is a diagram illustrating generation of lane repulsive force vectors, respectively.
도 8(a)를 참조하면, 차선 벡터 생성부(131)는 차선 벡터도에서 10번째 분할 영상(im10)에서 15번째 분할 영상(im15)에 대한 차선 벡터(10~15)들을 생성한다.Referring to FIG. 8A, the lane
도 5(c)에서, 분할 영상은 17개의 분할 구역으로 구획되어 있음을 알 수 있다. 차선 벡터 생성부(131)는 차선 벡터도의 제1사분면과 제2사분면을 균등한 각도로 17개의 방향으로 분할하고 각 분할 영상에 대한 차선 벡터를 차선 벡터도에 도시한다. 따라서 도 8(a)의 차선 벡터도에서 음의 x축에는 제1 분할 영상(im1)의 벡터가 도시될 수 있으며, 양의 y축에는 제9 분할 영상(im9)에 따른 차선 벡터가 도시될 수 있으며, 양의 x축에는 제17 분할 영상(im17)에 대한 차선 벡터가 도시될 수 있다. 차선 벡터도에서 차선 벡터의 크기는 차선 픽셀 수와 비례하도록 생성된다. In FIG. 5C, it can be seen that the divided image is divided into 17 divided regions. The lane
한편, 전술한 것처럼 분할 영상의 개수는 영상 분할부(121)에 의해 조정될 수 있으며, 차선 벡터 생성부(131)는 차선 벡터도의 제1사분면과 제2사분면을 분할 영상의 개수에 따라 균등하게 나누고 그 나뉜 방향에 대하여 차선 벡터를 생성할 수 있다.Meanwhile, as described above, the number of split images may be adjusted by the
차선 벡터 각도는 차선 벡터와 양의 x축 간의 각도값을 의미하며, 이동 로봇의 중심에서 우측에 위치하는 양의 x축을 기준으로 양의 x축에서 차선 벡터까지 반시계 방향으로 측정된 각도값이다. 따라서 차선 벡터가 양의 x축 방향을 가지는 경우 차선 벡터 각도는 0°가 되고, 차선 벡터가 양의 y축 방향을 가지는 경우 차선 벡터 각도는 90°가 되며, 차선 벡터가 음의 x축 방향을 가지는 경우 차선 벡터 각도는 180°가 된다. 차선 벡터의 크기는 전술한 것처럼 차선 픽셀 수와 비례한다. Lane vector angle refers to the angle value between the lane vector and the positive x-axis and is measured counterclockwise from the positive x-axis to the lane vector with respect to the positive x-axis positioned to the right from the center of the mobile robot. . Therefore, if the lane vector has a positive x-axis direction, the lane vector angle is 0 °, if the lane vector has a positive y-axis direction, the lane vector angle is 90 °, and the lane vector has a negative x-axis direction. If so, the lane vector angle is 180 °. The size of the lane vector is proportional to the number of lane pixels as described above.
도 5(c)에서 기준값보다 큰 차선 픽셀 수를 가지는 분할 영상이 제1 분할 영상(im10) 내지 제15 분할 영상(im15)으로 가정하면, 결과적으로 차선 벡터 생성부(131)에 의해 도 8(c)처럼 차선 벡터들이 차선 벡터도에 생성될 수 있다. In FIG. 5C, when the divided image having the number of lane pixels larger than the reference value is the first divided image im10 to the fifteenth divided image im15, the lane
도 8(b)는 도 8(a)의 차선 벡터들을 합성하여 합성 차선 벡터를 생성한 것을 예시한 것으로서, 차선 벡터 합성부(132)는 차선 벡터 생성부(131)에서 생성된 차선 벡터들을 모두 합하여 최종적으로 합성 차선 벡터를 생성한다. 8B illustrates an example of generating a synthesized lane vector by synthesizing the lane vectors of FIG. 8A. The lane
도 8(b)를 참조하면, 합성 차선 벡터는 이동 로봇에 대하여 α1 만큼의 합성 차선 각도를 가지며, 차선 벡터의 합력에 따른 소정의 크기를 가진다. 합성 차선 벡터가 양의 x축과 이루는 각도인 합성 차선 각도 및 합성 차선 벡터의 크기는 이동 로봇의 주행 방향에 대하여 차선이 어느 곳에 어느 정도(합성 차선 벡터의 크기)로 존재하는지를 암시한다. Referring to FIG. 8B, the composite lane vector has a composite lane angle of α 1 with respect to the mobile robot, and has a predetermined size according to the force of the lane vector. The combined lane angle and the size of the combined lane vector, which are angles formed by the combined lane vector with the positive x-axis, indicate where and how much (the size of the combined lane vector) the lane exists with respect to the traveling direction of the mobile robot.
도 8(c)는 도 8(b)의 합성 차선 벡터에 따라 생성된 차선 척력 벡터를 예시한 도면이다. FIG. 8C illustrates a lane repulsion vector generated according to the composite lane vector of FIG. 8B.
차선 척력 정보 생성부(133)는 차선 벡터 생성부(132)에서 생성된 합성 차선 벡터를 원점에 대하여 대칭 이동시켜 차선 척력 정보를 생성한다.The lane repulsion
차선 척력 정보에서 차선 척력 벡터의 크기는 합성 차선 벡터의 크기와 동일하다. 차선 척력 정보에서 차선 척력 각도(α3 )는 차선 척력 벡터와 양의 x축 간의 각도값을 의미하며, 이동 로봇의 중심에서 우측에 위치하는 양의 x축을 기준으로 양의 x축에서 차선 척력 벡터까지 반시계 방향으로 측정된 각도값이다.In the lane repulsion information, the magnitude of the lane repulsion vector is the same as that of the synthesized lane vector. The lane repulsion angle (α 3 ) in the lane repulsion information is an angle value between the lane repulsion force vector and the positive x-axis, and the lane repulsion vector on the positive x-axis with respect to the positive x-axis positioned to the right from the center of the mobile robot. Is the angle value measured counterclockwise.
이동 로봇(300)의 진행 방향은 차선 척력 정보의 차선 척력 각도와 관련되어 있으며, 차선 척력 각도가 180°~ 270°인 경우(즉 차선 척력 벡터가 제3사분면에 존재하는 경우) 이동 로봇은 제2사분면을 향해 진행하도록 제어되고, 차선 척력 각도가 270°~ 360°(0°)인 경우(즉 차선 척력 벡터가 제4사분면에 존재하는 경우) 이동 로봇은 제1사분면을 향해 진행하도록 제어된다. 상세하게는, 차선 척력 각도가 180°~ 270°인 경우(즉 차선 척력 벡터가 제3사분면에 존재하는 경우) 이동 로봇은 차선 척력 각도에 -90°를 더한 방향을 향해 진행하도록 제어되고, 차선 척력 각도가 270°~ 360°인 경우(즉 차선 척력 벡터가 제4사분면에 존재하는 경우) 이동 로봇은 차선 척력 각도에 +90°를 더한 방향을 향해 진행하도록 제어된다.The moving direction of the
도 7은 장애물 척력 생성부를 상세하게 나타낸 블록도이다.7 is a block diagram illustrating in detail the obstacle repulsive force generating unit.
도 7을 참조하면, 장애물 척력 생성부(160)는 장애물 감지 센서(112)로부터 제공받은 장애물 정보를 바탕으로 장애물 척력 정보를 생성하는 구성요소로서, 장애물 벡터 생성부(161), 장애물 벡터 합성부(162), 및 장애물 척력 정보 생성부(163)를 포함한다. 장애물 척력 정보란 이동 로봇을 장애물의 반대 방향으로 미는 척력에 대한 정보이다.Referring to FIG. 7, the obstacle repulsive
장애물 벡터 생성부(161)는 장애물 감지 센서(112)로부터 제공받은 장애물 정보를 바탕으로 장애물 벡터를 생성하고, 장애물 벡터 합성부(162)는 장애물 벡터들을 합성하여 합성 장애물 벡터를 생성하며, 장애물 척력 정보 생성부(163)는 합성 장애물 벡터를 기초로 장애물 척력 정보를 생성한다.The obstacle
도 9는 감지 신호를 기초로 장애물 척력 정보를 생성하는 과정을 각각 설명한 도면으로서, 도 9(a)는 장애물 벡터의 생성, 및 도 9(b)는 장애물 벡터의 합성과 장애물 척력 벡터의 생성을 각각 예시한 도면이다.FIG. 9 is a diagram illustrating a process of generating obstacle repulsion information based on a detection signal. FIG. 9 (a) illustrates generation of an obstacle vector, and FIG. 9 (b) illustrates generation of an obstacle vector and generation of an obstacle repulsion vector. Each figure is illustrated.
장애물 벡터 생성부(161)는 장애물 감지 센서(112)로부터 제공받은 장애물 정보를 바탕으로 장애물 벡터도에서 장애물에 대한 장애물 벡터를 생성한다.The
도 9(a)를 참조하면, 장애물 벡터 생성부(161)는 제1 장애물(ob1)에 대한 제1 장애물 벡터(S1)와 제2 장애물(ob2)에 대한 제2 장애물 벡터(S2)를 생성한다. 각각의 장애물 벡터는 양의 x축과 이루는 각도인 장애물 벡터 각도(β1, β2) 및 소정의 벡터 크기를 가진다. 장애물 벡터의 크기는 장애물까지의 거리에 반비례한다. 그리고, 장애물 벡터 각도는 장애물 벡터와 양의 x축 간의 각도값을 의미하며, 이동 로봇의 중심에서 우측에 위치하는 양의 x축을 기준으로 양의 x축에서 장애물 벡터까지 반시계 방향으로 측정된 각도값이다.Referring to FIG. 9A, the
도 9(b)는 도 9(a)의 장애물 벡터들을 합성하여 합성 장애물 벡터를 생성한 것을 예시한 것으로서, 장애물 벡터 합성부(162)는 장애물 벡터 생성부(161)에서 생성된 차선 벡터들을 모두 합하여 최종적으로 합성 장애물 벡터를 생성한다. FIG. 9B illustrates an example of generating a composite obstacle vector by synthesizing the obstacle vectors of FIG. 9A, and the
도 9(b)를 참조하면, 합성 장애물 벡터는 β3 만큼의 합성 장애물 각도를 가지며, 각 장애물 벡터의 합력에 따른 소정의 크기를 가진다. 합성 장애물 각도(β3) 및 합성 장애물 벡터의 크기는 이동 로봇의 주행 방향에 대하여 장애물이 어느 방향에 어느 정도 가까이(합성 차선 벡터의 크기) 존재하는지를 암시한다. 합성 장애물 각도(β3)는 합성 장애물 벡터와 양의 x축 간의 각도값을 의미하며, 이동 로봇의 중심에서 우측에 위치하는 양의 x축을 기준으로 양의 x축에서 합성 장애물 벡터까지 반시계 방향으로 측정된 각도값이다.Referring to FIG. 9 (b), the composite obstacle vector has a composite obstacle angle of β 3 and has a predetermined size according to the force of each obstacle vector. The composite obstacle angle β 3 and the magnitude of the composite obstacle vector imply how close the obstacle is to the moving direction of the mobile robot (the size of the composite lane vector). The compound obstacle angle β 3 means an angle value between the compound obstacle vector and the positive x axis, and is counterclockwise from the positive x axis to the compound obstacle vector with respect to the positive x axis located to the right from the center of the mobile robot. The angle value measured by.
장애물 척력 정보 생성부(163)는 장애물 벡터 생성부(162)에서 생성된 합성 장애물 벡터를 원점에 대하여 대칭 이동시켜 장애물 척력 벡터를 획득하고, 장애물 척력 벡터에 대한 정보인 장애물 척력 정보를 생성한다.The obstacle repulsion
장애물 척력 정보는 장애물 척력 벡터에 대한 정보로서, 장애물 척력 벡터의 크기는 합성 장애물 벡터의 크기와 동일하다. 그리고 장애물 척력 각도(β4)는 장애물 척력 벡터와 양의 x축 간의 각도값을 의미하며, 이동 로봇의 중심에서 우측에 위치하는 양의 x축을 기준으로 양의 x축에서 장애물 척력 벡터까지 반시계 방향으로 측정된 각도값이다.The obstacle repulsive force information is information on an obstacle repulsive force vector, and the size of the obstacle repulsive force vector is the same as that of the synthesized obstacle vector. And the obstacle repulsive angle (β 4 ) means the angle value between the obstacle repulsive force vector and the positive x-axis, and counterclockwise from the positive x-axis to the obstacle repulsion vector with respect to the positive x-axis located on the right side from the center of the mobile robot The angle value measured in the direction.
이동 로봇(300)의 진행 방향은 장애물 척력 정보의 장애물 척력 각도(β4)와 관련되어 있으며, 장애물 척력 각도가 180°~ 270°인 경우(즉 장애물 척력 벡터가 제3사분면에 존재하는 경우) 이동 로봇은 제2사분면을 향해 진행하도록 제어되고, 장애물 척력 각도가 270°~ 360°인 경우(즉 장애물 척력 벡터가 제4사분면에 존재하는 경우) 이동 로봇은 제1사분면을 향해 진행하도록 제어된다. 상세하게는, 장애물 척력 각도가 180°~ 270°인 경우(즉 장애물 척력 벡터가 제3사분면에 존재하는 경우) 이동 로봇은 장애물 척력 각도에 -90°를 더한 방향을 향해 진행하도록 제어되고, 장애물 척력 각도가 270°~ 360°인 경우(즉 장애물 척력 벡터가 제4사분면에 존재하는 경우) 이동 로봇은 장애물 척력 각도에 +90°를 더한 방향을 향해 진행하도록 제어된다. 한편 장애물 벡터는 장애물까지의 거리에 반비례하도록 생성되므로, 장애물이 가까울수록 장애물 척력 벡터도 커지며, 그에 따라 이동 로봇이 장애물을 피하는 척력이 커진다.The moving direction of the
다시 도 2로 되돌아가 설명하도록 한다.2 will be described again.
차선 척력 생성부(130)에서 생성된 차선 척력 정보 및 장애물 척력 생성부(160)에서 생성된 장애물 척력 정보는 이동 제어부(140)로 제공된다.The lane repulsive force information generated by the lane repulsive
이동 제어부(140)는 차선 척력 정보와 장애물 척력 정보를 기초로 합성 척력 정보를 생성하고, 생성된 합성 척력 정보를 기초로 이동 로봇(300)의 구동부(200)를 제어하는 이동 제어 정보를 생성한다. 이를 위해 이동 제어부(140)는 차선 척력 정보와 장애물 척력 정보를 합성하여 합성 척력 정보를 생성하는 척력 합성부(141)를 포함한다.The
한편 전술한 것처럼 장애물 척력 정보를 생성하는 과정에서 장애물 척력 벡터의 크기는 이동 로봇에서 장애물까지의 거리에 반비례한다. 이와 동일하게 차선 척력 정보에서 차선 척력 벡터도 이동 로봇에서 차선까지의 거리에 반비례하도록 결정된다. 전방 영상에 있어서 이동 로봇에서 각 분할 영상의 중심까지의 실제 거리는 알 수 있다. 따라서, 장애물 척력 벡터와 차선 척력 벡터를 합성할 때 실제 거리를 기준으로 벡터의 크기를 결정함으로써, 두 벡터를 합성할 수 있다.Meanwhile, as described above, in the process of generating the obstacle repulsive force information, the size of the obstacle repulsive force vector is inversely proportional to the distance from the mobile robot to the obstacle. Similarly, the lane repulsive force vector in the lane repulsive force information is determined to be inversely proportional to the distance from the mobile robot to the lane. In the forward image, the actual distance from the mobile robot to the center of each segmented image can be known. Therefore, when combining the obstacle repulsive force vector and the lane repulsive force vector, the two vectors may be synthesized by determining the size of the vector based on the actual distance.
이동 로봇(300)의 구동부(200)는 이동 로봇(300)에 장착된 바퀴(310)를 회전하게 하는 구성 요소로서, 이동 제어 정보에 의하여 구동부(200)가 제어된다. 이동 제어 정보는 이동 로봇의 직진 속도 명령과 회전 속도 명령을 포함하며, 추가로 후진 속도 명령 및 정지 명령을 포함할 수 있다. 이동 제어 정보는 이동 로봇(300)의 구동부(200)를 제어함으로써 바퀴(310)를 직진, 후진, 정지, 회전하게 한다.The driving
이동 제어부(140)는 합성 척력 정보를 기초로 생성된 이동 제어 정보를 이용하여 이동 로봇(300)의 구동부(200)를 제어함으로써, 이동 로봇(300)이 한 쌍의 차선 내에서 자율적으로 주행하는 동시에 장애물과 만나면 장애물을 회피하며 자율적으로 주행하도록 이동 로봇(300)의 구동부(200)를 제어한다.The
도 10은 합성 척력 정보를 생성하는 과정을 예시한 도면이다.10 is a diagram illustrating a process of generating synthetic repulsive force information.
척력 합성부(141)는 차선 척력 정보에 따른 차선 척력 벡터와 장애물 척력 정보에 따른 장애물 척력 벡터를 획득하고, 합성 벡터도에서 차선 척력 벡터와 장애물 척력 벡터를 합하여 최종적으로 합성 척력 벡터를 획득하고 합성 척력 벡터에 대한 정보인 합성 척력 정보를 생성한다. The repulsive
합성 척력 정보는 이동 로봇의 진행 방향, 회전 각도, 및 회전 속도와 관련되어 있다. 합성 척력 각도는 합성 척력 벡터와 양의 x축 간의 각도값을 의미하며, 이동 로봇의 중심에서 우측에 위치하는 양의 x축을 기준으로 양의 x축에서 합성 척력 벡터까지 반시계 방향으로 측정된 각도값이다.The synthetic repulsive force information is related to the traveling direction, rotation angle, and rotation speed of the mobile robot. Synthetic repulsive angle refers to the angle value between the synthetic repulsive force vector and the positive x axis, and is measured counterclockwise from the positive x axis to the synthetic repulsive vector with respect to the positive x axis located to the right from the center of the mobile robot. Value.
합성 척력 각도가 180°~ 270°인 경우(즉 합성 척력 벡터가 제3사분면에 존재하는 경우) 이동 로봇은 합성 척력 각도에 -90°를 더한 방향을 향해 진행하도록 제어되고, 합성 척력 각도가 270°~ 360°인 경우(즉 합성 척력 벡터가 제4사분면에 존재하는 경우) 이동 로봇은 합성 척력 각도에 +90°를 더한 방향을 향해 진행하도록 제어된다.If the synthetic repulsive angle is 180 ° to 270 ° (ie, the composite repulsive force vector is in the third quadrant), the mobile robot is controlled to proceed toward the direction of the composite repulsive angle plus -90 °, and the composite repulsive angle is 270 If the angle is 360 ° (i.e., when the synthetic repulsive force vector is in the fourth quadrant), the mobile robot is controlled to travel in the direction of + 90 ° plus the composite repulsive angle.
도 10에서는 합성 척력 벡터의 합성 척력 각도가 270°~ 360°의 범위에 존재하므로(즉, 합성 척력 벡터가 제4사분면에 존재), 이동 로봇은 합성 척력 벡터의 합성 척력 각도에 +90°를 더한 방향으로 진행하도록 제어된다. 이때 이동 로봇이 진행하는 방향은 진행 각도로서 표현될 수 있다. 진행 각도는 진행 방향의 각도를 의미하며, 양의 x축을 0°, 양의 y축을 90°, 음의 x 축을 180°로 설정하고, 양의 x축을 기준으로 양의 x축과 진행 방향 간의 각도값이다.In FIG. 10, since the synthetic repulsive angle of the synthetic repulsive force vector is in the range of 270 ° to 360 ° (that is, the synthetic repulsive force vector exists in the fourth quadrant), the mobile robot adds + 90 ° to the composite repulsive angle of the synthetic repulsive force vector. It is controlled to proceed in the plus direction. In this case, the moving direction of the mobile robot may be expressed as a traveling angle. The advancing angle means the angle in the advancing direction, and sets the positive x axis as 0 °, the positive y axis as 90 °, and the negative x axis as 180 °, and the angle between the positive x axis and the advancing direction based on the positive x axis Value.
도 11은 합성 척력 벡터에 따라 제어되는 이동 로봇의 직진 속도 및 회전 속도를 예시한 도면이다.FIG. 11 is a diagram illustrating a linear speed and a rotation speed of a mobile robot controlled according to the synthetic repulsive force vector. FIG.
도 11을 참조하면, 이동로봇의 진행 각도에 따라, 이동 로봇의 직진속도는 0~ 0.33 m/sec 범위에서 제어되고, 회전 속도는 -1 ~ 1 rad/sec 범위에서 제어되는 실시예를 예시하고 있다. 물론 이동 로봇의 직진 속도 및 회전 속도는 도 11에 한정되지 않고, 다양한 방식으로 제어될 수 있다.Referring to FIG. 11, according to the moving angle of the mobile robot, the moving speed of the moving robot is controlled in the range of 0 to 0.33 m / sec, and the rotating speed is controlled in the range of -1 to 1 rad / sec. have. Of course, the moving speed and the rotating speed of the mobile robot are not limited to FIG. 11 and may be controlled in various ways.
도 11의 속도 제어 실시예에서, 이동 제어부(140)는 도 10에서 획득된 이동 로봇(300)의 진행 각도에 의해 이동 로봇(300)의 직진 속도와 회전 속도 명령을 포함하는 이동 제어 정보를 생성함으로써 이동 로봇(300)의 자율주행을 가능하게 한다. In the speed control embodiment of FIG. 11, the
이하에서는 본 발명에 따른 이동 로봇의 자율 주행 방법을 설명하도록 한다.Hereinafter, the autonomous driving method of the mobile robot according to the present invention will be described.
본 발명에 따른 이동 로봇의 자율 주행 방법은 전술한 이동 로봇의 자율 주행 장치에 따른 방법으로서, 이동 로봇의 자율 주행 장치와 본질적으로 동일한 기능을 수행하므로 중복되는 설명은 생략하도록 한다.The autonomous driving method of the mobile robot according to the present invention is a method according to the above autonomous driving device of the mobile robot, and performs the same function as the autonomous driving device of the mobile robot, so that duplicate description thereof will be omitted.
도 12는 본 발명에 따른 이동 로봇의 자율 주행 방법을 설명한 흐름도이다.12 is a flowchart illustrating an autonomous driving method of a mobile robot according to the present invention.
우선 센서부(110)의 카메라부(111)는 이동 로봇(300)이 주행하는 주행 방향의 전방을 촬영하여 전방 영상에 대한 영상 정보를 생성한다(S10).First, the
차선 검출부(120)는 영상 정보를 기초로 차선 분포 정보를 생성하고(S20), 차선 척력 생성부(S30)는 차선 분포 정보를 기초로 차선 척력 정보를 생성한다(S30).The
한편 카메라부(111)가 이동 로봇(300)의 전방을 촬영하는 동시에, 장애물 감지 센서(112)는 이동 로봇(300)의 전방에 존재하는 장애물을 검출하여 장애물 정보를 생성하고(S30), 장애물 척력 생성부(160)는 장애물 정보에 기초하여 장애물 척력 정보를 생성한다.Meanwhile, while the
차선 척력 정보와 장애물 척력 정보는 이동 제어부(140)로 제공되며, 이동 제어부(140)는 차선 척력 정보와 장애물 척력 정보를 기초로 합성 척력을 생성하고, 생성된 합성 척력을 기초로 이동 제어 정보를 생성한다(S40). 생성된 이동 제어 정보는 이동 로봇(300)의 구동부(200)로 제공되어, 이동 로봇(300)의 구동부(200)가 한 쌍의 차선 내에서 장애물들을 회피하면 자율적으로 주행하도록 한다.The lane repulsive force information and the obstacle repulsive force information are provided to the
도 13은 차선 분포 정보를 생성하는 과정을 상세히 설명한 흐름도이다,.13 is a flowchart illustrating a process of generating lane distribution information in detail.
차선 검출부(120)의 영상 분할부(121)는 카메라부(111)가 촬영한 전방 영상(123)에서 동일한 폭과 높이를 가지는 복수의 분할 영상을 선택한다(S21). The
차선 검출부(120)의 픽셀 추출부(122)는 선택된 분할 영상 각각에 대하여 2진화 영상 처리를 수행하고(S22), 각각의 분할 영상 내에서 차선과 동일한 컬러를 가지는 픽셀인 차선 픽셀을 추출하여 그 차선 픽셀의 개수인 차선 픽셀 수를 검출한다(S23). 차선 검출부(120)는 각 분할 영상에 대한 차선 픽셀 수에 대한 정보를 포함하는 차선 분포 정보를 생성하고, 생성된 차선 분포 정보는 차선 척력 생성부(130)로 제공된다.The
도 14는 차선 척력 정보를 생성하는 과정을 상세히 설명한 흐름도이다.14 is a flowchart illustrating a process of generating lane repulsion information in detail.
전술한 것처럼 전방 영상에는 차선과 동일한 컬러를 가지는 노이즈 픽셀이 포함될 수 있으므로, 상기 노이즈 픽셀을 제거하는 과정이 S30 단계에 더 포함될 수 있다.As described above, since the front image may include noise pixels having the same color as the lane, the process of removing the noise pixels may be further included in step S30.
상기의 노이즈 픽셀을 제거하기 위하여, 차선 검출부(120)는 각 분할 영상에 대하여 차선 분포 정보를 분석할 수 있다(S31).In order to remove the noise pixel, the
차선 검출부(120)는 소정의 기준값과 차선 픽셀 수를 비교하여 차선 픽셀 수가 상기 기준값보다 큰 경우를 분할 구역에 차선이 존재하는 것으로 판단한다(S32).The
차선 벡터 생성부(131)는 차선 픽셀 수가 상기 기준값보다 큰 분할 영상에 대한 차선 분포 정보를 바탕으로 차선 벡터들을 생성한다(S33). The lane
차선 벡터 합성부(132)는 차선 벡터들을 합성하여 합성 차선 벡터를 생성하며(S34), 차선 척력 정보 생성부(133)는 합성 차선 벡터를 기초로 차선 척력 정보를 생성한다(S35). 생성된 차선 척력 정보는 이동 제어부(140)로 제공된다.The
도 15는 장애물 척력 정보를 생성하는 과정을 상세히 설명한 흐름도이다.15 is a flowchart illustrating a process of generating obstacle repulsion information in detail.
우선 장애물 벡터 생성부(161)는 장애물 감지 센서(112)로부터 제공받은 장애물 정보를 바탕으로 장애물 벡터를 생성하고(S61), 장애물 벡터 합성부(162)는 장애물 벡터들을 합성하여 합성 장애물 벡터를 생성한다(S62). 최종적으로 장애물 척력 정보 생성부(163)는 합성 장애물 벡터를 기초로 장애물 척력 정보를 생성한다(S64).First, the
도 16은 이동 제어 정보를 생성하는 과정을 상세히 설명한 흐름도이다.16 is a flowchart illustrating a process of generating movement control information in detail.
우선 이동 제어부(140)는 실시간으로 계속하여 차선 척력 정보와 장애물 척력 정보를 수신하고, 차선 척력 정보 및 장애물 척력 정보의 존재 여부를 감시한다(S41, S42, S46).First, the
차선 척력 정보와 장애물 척력 정보가 모두 존재하는 경우(S41, S42), 이동 제어부(140)는 차선 척력 정보와 장애물 척력 정보를 합성하여 합성 척력 정보를 생성하고(S43), 생성된 합성 척력 정보에 따른 이동 제어 정보를 생성한다(S44).If both lane repulsive force information and obstacle repulsive force information exist (S41 and S42), the
차선 척력 정보만 존재하고 장애물 척력 정보는 존재하지 않는 경우(S41, S42), 이동 제어부(140)는 차선 척력 정보에 따른 이동 제어 정보를 생성한다(S45).When only lane repulsion information exists and obstacle repulsion information does not exist (S41 and S42), the
차선 척력 정보가 존재하지 않고 장애물 척력 정보만 존재하는 경우(S41, S46), 이동 제어부(140)는 장애물 척력 정보에 따른 이동 제어 정보를 생성한다(S47).If there is no lane repulsion information and only obstacle repulsion information exists (S41 and S46), the
차선 척력 정보와 장애물 척력 정보가 모두 존재하지 않는 경우(S41, S46), 이동 제어부(140)는 이동 로봇의 현재 진행 방향 및 현재 진행 속도를 계속 유지하도록 이동 제어 정보를 생성한다.When neither lane repulsion information nor obstacle repulsion information exists (S41 and S46), the
본 발명의 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The method of the present invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서는 도면에 도시된 구체적인 실시예를 참고하여 본 발명을 설명하였으나 이는 예시적인 것에 불과하므로, 본 발명이 속하는 기술 분야에서 통상의 기술을 가진 자라면 이로부터 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 보호 범위는 후술하는 특허청구범위에 의하여 해석되어야 하고, 그와 동등 및 균등한 범위 내에 있는 모든 기술적 사상은 본 발명의 보호 범위에 포함되는 것으로 해석되어야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the invention. Accordingly, the scope of protection of the present invention should be construed in accordance with the following claims, and all technical ideas within the scope of equivalents and equivalents thereof should be construed as being covered by the scope of the present invention.
이동 로봇,300 구동부,200 센서부,100
카메라부,111 장애물 감지 센서,112 차선 검출부,120
차선 척력 생성부,130 이동 제어부,140 척력 합성부,141 장애물 검출부,150 장애물 척력 생성부,160 장애물,ob
차선,rMobile Robot, 300 Driver, 200 Sensor, 100
Camera unit, 111 obstacle detection sensor, 112 lane detection unit, 120
Lane repulsive force generation unit, 130 movement control unit, 140 repulsive force synthesis unit, 141 obstacle detection unit, 150 obstacle repulsive force generation unit, 160 obstacle, ob
Lane, r
Claims (5)
이동 로봇의 전방을 촬영하여 전방 영상 정보를 생성하는 단계;
상기 전방 영상 정보를 처리하여 상기 이동 로봇의 전방에 존재하는 차선의 분포 정도를 나타내는 차선 분포 정보를 생성하는 단계;
상기 차선 분포 정보를 이용하여 상기 이동 로봇을 차선의 반대 방향으로 미는 차선 척력 정보를 생성하는 단계; 및
상기 차선 척력 정보에 기초하여 이동 로봇의 직진 속도 명령과 회전 속도 명령을 포함하는 이동 제어 정보를 생성하는 단계를 포함하는 이동 로봇의 자율 주행 방법. As an autonomous driving method of a mobile robot that travels without leaving a lane,
Photographing the front of the mobile robot to generate forward image information;
Generating lane distribution information indicating a distribution degree of a lane existing in front of the mobile robot by processing the front image information;
Generating lane repulsion information for pushing the mobile robot in a direction opposite to the lane using the lane distribution information; And
And generating movement control information including a linear speed command and a rotational speed command of the mobile robot based on the lane repulsive force information.
상기 전방 영상 정보에서 동일한 폭과 높이를 가지는 복수의 분할 영상을 좌에서 우로 평행하게 선택하는 단계;
상기 각각의 분할 영상으로부터 차선의 컬러와 동일한 컬러를 가지는 픽셀의 개수를 추출하여 차선 픽셀 수를 획득하는 단계; 및
상기 각각의 분할 공간에 대응하는 차선 픽셀 수로부터 상기 차선 분포 정보를 생성하는 단계를 포함하는, 이동 로봇의 자율 주행 방법.The method of claim 1, wherein the detecting of the lane distribution information comprises:
Selecting a plurality of divided images having the same width and height from the front image information in parallel from left to right;
Extracting the number of pixels having the same color as the lane color from each of the divided images to obtain the number of lane pixels; And
And generating the lane distribution information from the number of lane pixels corresponding to each of the divided spaces.
상기 차선 분포 정보를 기초로 상기 각각의 분할 영상에 대응하는 방향을 가지고 상기 차선 픽셀 수와 비례하는 크기를 가지는 차선 벡터들을 생성하는 단계;
상기 차선 벡터들의 합력을 생성하는 단계; 및
상기 차선 벡터들의 합력을 원점에 대해 대칭 이동한 벡터인 차선 척력 벡터에 기초하여 차선 척력 정보를 생성하는 단계를 포함하는, 이동 로봇의 자율 주행 방법. The method of claim 2, wherein the generating of the lane repulsive force information comprises:
Generating lane vectors having a direction corresponding to each of the divided images and having a size proportional to the number of lane pixels based on the lane distribution information;
Generating a force of the lane vectors; And
And generating lane repulsive force information based on a lane repulsive force vector which is a vector in which the force of the lane vectors is symmetrically moved with respect to an origin.
이동 로봇의 전방에 존재하는 장애물을 감지하고, 상기 이동 로봇에 대한 상기 장애물의 방향 및 상기 이동 로봇으로부터 상기 장애물까지의 거리에 대한 정보를 포함하는 장애물 정보를 생성하는 단계; 및
상기 장애물 정보를 기초로, 상기 이동 로봇을 상기 장애물의 반대 방향으로 미는 장애물 척력 정보를 생성하는 단계를 더 포함하며,
상기 이동 제어 정보는 상기 장애물 척력 정보와 상기 차선 척력 정보를 합성한 합성 척력 정보에 따라 생성되는 것을 특징으로 하는, 이동 로봇의 자율 주행 방법.The method of claim 1 wherein the method is
Detecting an obstacle present in front of the mobile robot and generating obstacle information including information about a direction of the obstacle with respect to the mobile robot and a distance from the mobile robot to the obstacle; And
Generating obstacle repulsion information that pushes the mobile robot in a direction opposite to the obstacle, based on the obstacle information;
The movement control information is generated according to synthesized repulsive force information obtained by combining the obstacle repulsive force information and the lane repulsive force information.
상기 장애물 정보를 기초로 상기 이동 로봇에 대한 상기 장애물의 방향과 동일한 방향을 가지고 상기 이동 로봇으로부터 장애물까지의 거리에 반비례하는 크기를 가지는 장애물 벡터를 생성하는 단계;
상기 장애물 벡터가 복수인 경우 장애물 벡터들의 합력을 생성하는 단계; 및
상기 장애물 벡터들의 합력을 원점에 대해 대칭 이동한 벡터인 장애물 척력 벡터에 기초하여 장애물 척력 정보를 생성하는 단계를 포함하는, 이동 로봇의 자율 주행 방법. The method of claim 4, wherein generating the obstacle repulsion information comprises:
Generating an obstacle vector having the same direction as that of the obstacle with respect to the mobile robot based on the obstacle information and having an inverse proportion to the distance from the mobile robot to the obstacle;
Generating a sum of obstacle vectors when the obstacle vectors are plural; And
And generating obstacle repulsion information based on an obstacle repulsion vector, which is a vector obtained by flipping the sum of the obstacle vectors with respect to an origin.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100045479A KR101204086B1 (en) | 2010-05-14 | 2010-05-14 | Method and apparatus for controlling self-driving of mobile-robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100045479A KR101204086B1 (en) | 2010-05-14 | 2010-05-14 | Method and apparatus for controlling self-driving of mobile-robot |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110125865A true KR20110125865A (en) | 2011-11-22 |
KR101204086B1 KR101204086B1 (en) | 2012-11-22 |
Family
ID=45395179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100045479A KR101204086B1 (en) | 2010-05-14 | 2010-05-14 | Method and apparatus for controlling self-driving of mobile-robot |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101204086B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9393690B2 (en) | 2013-10-01 | 2016-07-19 | Electronics And Telecommunications Research Institute | Apparatus for inputting teaching data and apparatus and method for generating teaching command for robot |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160000162A (en) | 2014-06-24 | 2016-01-04 | 주식회사 네오텍 | Self moving method of service robot |
US20240000018A1 (en) * | 2022-06-29 | 2024-01-04 | Techtronic Cordless Gp | Controlling movement of a robotic garden tool with respect to one or more detected objects |
-
2010
- 2010-05-14 KR KR1020100045479A patent/KR101204086B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9393690B2 (en) | 2013-10-01 | 2016-07-19 | Electronics And Telecommunications Research Institute | Apparatus for inputting teaching data and apparatus and method for generating teaching command for robot |
Also Published As
Publication number | Publication date |
---|---|
KR101204086B1 (en) | 2012-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3466764B1 (en) | Method for monitoring blind spot of monitoring vehicle and blind spot monitor using the same | |
US5473364A (en) | Video technique for indicating moving objects from a movable platform | |
KR101539270B1 (en) | sensor fusion based hybrid reactive motion planning method for collision avoidance and autonomous navigation, recording medium and mobile robot for performing the method | |
US20150339825A1 (en) | Stereo Camera Apparatus | |
US10129521B2 (en) | Depth sensing method and system for autonomous vehicles | |
US9330472B2 (en) | System and method for distorted camera image correction | |
US9950667B2 (en) | Vehicle system for detecting object and operation method thereof | |
JP2010198552A (en) | Driving state monitoring device | |
JP6769477B2 (en) | Image processing device, imaging device, mobile device control system, image processing method, and program | |
EP3803790B1 (en) | Motion segmentation in video from non-stationary cameras | |
CN113096151B (en) | Method and apparatus for detecting motion information of object, device and medium | |
WO1998020398A1 (en) | Obstacle collision preventive apparatus of mobile object | |
WO2017159056A1 (en) | Image processing device, image pickup device, mobile-body apparatus control system, image processing method, and program | |
KR101204086B1 (en) | Method and apparatus for controlling self-driving of mobile-robot | |
US11753002B2 (en) | Vehicular control system | |
US11567497B1 (en) | Systems and methods for perceiving a field around a device | |
JP6763198B2 (en) | Image processing equipment, imaging equipment, mobile device control systems, image processing methods, and programs | |
US11010916B2 (en) | Method of configuring camera position suitable for localization and robot implementing same | |
JP3429194B2 (en) | Automatic tracking device | |
JP4575315B2 (en) | Object detection apparatus and method | |
JP6972798B2 (en) | Information processing device, image pickup device, device control system, mobile body, information processing method, and program | |
JP6174884B2 (en) | Outside environment recognition device and outside environment recognition method | |
Schamm et al. | Obstacle detection with a Photonic Mixing Device-camera in autonomous vehicles | |
JP4897539B2 (en) | Obstacle detection device | |
US7899212B2 (en) | Image processing apparatus and image processing method |
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: 20151021 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161021 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20181210 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20191115 Year of fee payment: 8 |