KR102245824B1 - System and method for controlling multiple robots - Google Patents

System and method for controlling multiple robots Download PDF

Info

Publication number
KR102245824B1
KR102245824B1 KR1020200026011A KR20200026011A KR102245824B1 KR 102245824 B1 KR102245824 B1 KR 102245824B1 KR 1020200026011 A KR1020200026011 A KR 1020200026011A KR 20200026011 A KR20200026011 A KR 20200026011A KR 102245824 B1 KR102245824 B1 KR 102245824B1
Authority
KR
South Korea
Prior art keywords
robots
user terminal
robot
control server
zone
Prior art date
Application number
KR1020200026011A
Other languages
Korean (ko)
Inventor
김대현
김현수
Original Assignee
주식회사 큐리보
김대현
김현수
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 큐리보, 김대현, 김현수 filed Critical 주식회사 큐리보
Priority to KR1020200026011A priority Critical patent/KR102245824B1/en
Application granted granted Critical
Publication of KR102245824B1 publication Critical patent/KR102245824B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • G05D1/0282Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • G05D2201/0217

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Manipulator (AREA)

Abstract

The present invention provides a system for controlling a plurality of robots which can quickly use mobile robots by arranging the mobile robots regardless of the scale of a task area. The system for controlling a plurality of robots comprises: a user terminal; at least one robot performing an assigned motion task, wherein the robot includes a local control server which transmits state information to the user terminal in accordance with a request of the user terminal or receives the motion task from the user terminal; and a control server connected to communicate with a plurality of the robots to control the plurality of robots. The control server collects state information of at least one among the plurality of robots to transmit the state information to the user terminal in accordance with a request of the user terminal via the local control server or receives the motion task for at least one among the plurality of robots from the user terminal to transfer the motion task. When the control server does not exist, the local control server transmits the state information of the corresponding robot to the user terminal in accordance with a request of the user terminal or receives the motion task from the user terminal.

Description

복수로봇 제어시스템 및 방법 {SYSTEM AND METHOD FOR CONTROLLING MULTIPLE ROBOTS}Multiple robot control system and method {SYSTEM AND METHOD FOR CONTROLLING MULTIPLE ROBOTS}

본 발명은 복수로봇 제어시스템 및 방법에 관한 것으로서, 보다 상세하게는 복수의 로봇을 관제하기 위해 로봇의 상태를 모니터링하고 임무를 부여하여 제어할 수 있는 복수로봇 제어시스템 및 방법에 관한 것이다.The present invention relates to a multi-robot control system and method, and more particularly, to a multi-robot control system and method capable of controlling a state of a robot and assigning a task to control a plurality of robots.

최근 자율주행기술이 접목된 이동로봇에 대한 연구가 활발하게 이루어지고 있으며, 이에 대한 수요도 증가하고 있는 추세에 있다. 이동로봇의 활용도 역시 다양해져서, 대규모의 공장이나 창고 등은 물론, 그보다 작은 규모의 공장이나 창고 등에서도 운용하기 위한 수요가 증가하고 있다.In recent years, research on mobile robots to which autonomous driving technology is applied has been actively conducted, and the demand for this is also on the rise. The use of mobile robots has also been diversified, and the demand for operation is increasing not only in large-scale factories and warehouses, but also in factories and warehouses of smaller sizes.

이동로봇을 활용하기 위한 곳의 규모나, 그 곳에서의 이동로봇의 역할(또는 임무)에 따라 이동로봇을 새롭게 설정하여야 하는 번거로움이 있으며, 특히 임무영역 내 이동로봇이 한 대인지 또는 여러 대인지에 따라 이동로봇을 관제하기 위한 서버를 달리 설계하여야 하는 문제가 있다.Depending on the size of the place to use the mobile robot or the role (or mission) of the mobile robot at the place, there is a hassle to set up a new mobile robot. In particular, whether there is one or several mobile robots in the mission area. There is a problem in that a server for controlling a mobile robot must be designed differently depending on the perception.

한편, 관제대상인 이동로봇의 운용은 통상 사용자(또는 운용자)에 의해 이루어지는 것이 일반적이다.On the other hand, the operation of a mobile robot that is a control target is generally performed by a user (or operator).

이 경우, 사용자가 적은 수의 이동로봇을 운용하기에는 큰 문제가 없지만, 그 수가 많아진 경우 많은 수의 이동로봇을 통합적으로 운용하기에는 벅찬 문제가 있다. 특히, 복수의 이동로봇들이 공동의 목표를 달성할 수 있도록 복수의 이동로봇들이 상호 협업하도록 제어 운용할 때에는 위 문제는 더 클 수 있다.In this case, there is no big problem for the user to operate a small number of mobile robots, but when the number of mobile robots is increased, it is difficult to integrate a large number of mobile robots. In particular, when a plurality of mobile robots are controlled and operated to cooperate with each other so that a plurality of mobile robots can achieve a common goal, the above problem may be greater.

따라서, 위와 같은 문제점들을 해소할 수 있는 기술을 제안코자 한다.Therefore, we would like to propose a technology that can solve the above problems.

KRKR 10-115225110-1152251 B1B1 KRKR 10-166807810-1668078 B1B1 KRKR 10-173300210-1733002 B1B1

본 발명은, 임무영역 내 이동로봇이 한 대인지, 또는 여러 대인지에 따라 관제 환경을 다르게 설계할 필요가 없고, 이동로봇을 활용하고자 하는 임무영역의 규모와 무관하게 이동로봇을 배치하여 신속하게 활용할 수 있는 복수로봇 제어시스템 및 방법을 제공하고자 한다.In the present invention, there is no need to design a control environment differently depending on whether there is one or several mobile robots in the mission area, and by disposing the mobile robots regardless of the size of the mission area to use the mobile robots, It is intended to provide a multi-robot control system and method that can be utilized.

상기 과제를 해결하기 위하여, 본 발명은 사용자단말기, 부여된 동작임무를 수행하는 적어도 하나의 로봇 - 상기 로봇은, 상기 사용자단말기의 요청에 따라 상태정보를 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 동작임무를 부여받는 로컬관제서버를 포함함 -, 및 복수의 상기 로봇들과 통신 가능하도록 연결되어, 상기 복수의 로봇들을 관제하기 위한 관제서버를 포함하되, 상기 관제서버는, 상기 로컬관제서버를 매개로 상기 사용자단말기의 요청에 따라 상기 복수의 로봇들 중 적어도 하나의 상태정보를 수집하여 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 복수의 로봇들 중 적어도 하나에 대한 상기 동작임무를 수신하여 전달하고, 상기 관제서버 부존재시 상기 로컬관제서버는, 상기 사용자단말기의 요청에 따라 해당하는 상기 로봇의 상태정보를 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 동작임무를 부여받는 것을 특징으로 하는 복수로봇 제어시스템을 제공한다.In order to solve the above problems, the present invention provides a user terminal, at least one robot performing an assigned operation task-The robot transmits status information to the user terminal at the request of the user terminal, or from the user terminal. Including a local control server to be assigned the operation task -, and a control server connected to enable communication with the plurality of robots to control the plurality of robots, wherein the control server, the local control server According to the request of the user terminal, at least one of the plurality of robots is collected and transmitted to the user terminal, or the operation task for at least one of the plurality of robots is received from the user terminal. And, when the control server does not exist, the local control server transmits the status information of the robot to the user terminal according to the request of the user terminal, or receives the operation task from the user terminal. It provides a multi-robot control system.

일 실시예에 따라, 상기 사용자단말기는, 관제대상인 어느 하나의 상기 로봇에 의해 생성된 지도를 전달받고, 사용자 입력에 따라 상기 생성된 지도를 수정하여, 상기 생성된 지도를 갱신토록 할 수 있다.According to an embodiment, the user terminal may receive a map generated by any one of the robots to be controlled, modify the generated map according to a user input, and update the generated map.

일 실시예에 따라, 상기 사용자단말기는, 관제대상인 적어도 어느 하나의 상기 로봇에 대한 위치이동명령 및 방향설정명령을 사용자의 드래그앤드롭(drag&drop) 입력에 의하여 한번에 생성할 수 있다.According to an embodiment, the user terminal may generate a position movement command and a direction setting command for at least one of the robots to be controlled at a time by a user's drag and drop input.

일 실시예에 따라, 상기 사용자단말기는, 관제대상인 적어도 어느 하나의 상기 로봇에 대한 상기 동작임무는 스크래치 코딩으로 생성할 수 있다.According to an embodiment, the user terminal may generate the operation task for at least one of the robots to be controlled by scratch coding.

일 실시예에 따라, 상기 관제서버는, 임무영역 내 적어도 하나의 기능존(zone)을 설정하여, 상기 임무영역 내 복수의 상기 로봇들의 동작임무를 제한하되, 상기 기능존은, 상기 로봇의 진입을 금지하는 포비든존(forbidden zone) 또는 제한된 댓수의 로봇의 진입만 허용하는 리미티드존(limitted zone)일 수 있다.According to an embodiment, the control server sets at least one functional zone in the mission area to limit the operation tasks of the plurality of robots in the mission area, wherein the functional zone is the entry of the robot. It may be a forbidden zone that prohibits the system or a limited zone that allows only a limited number of robots to enter.

일 실시예에 따라, 상기 복수의 로봇 중 어느 하나는, 상기 리미티드존 내 제한된 댓수 만큼의 로봇이 존재하고 있는 경우, 상기 리미티드존 내 어느 하나가 벗어날때까지 상기 리미티드존의 진입 직전에 대기할 수 있다.According to an embodiment, if any one of the plurality of robots exists in the limited zone as many as a limited number of robots, it may wait immediately before entering the limited zone until any one in the limited zone leaves. have.

일 실시예에 따라, 상기 관제서버는, 상기 복수의 로봇들 중 적어도 하나의 현재 위치 주변에 충돌회피존을 설정하고, 상기 로봇 주변에 설정된 상기 충돌회피존에 다른 상기 로봇이 진입하지 못하도록 상기 복수의 로봇들의 이동을 제어할 수 있다.According to an embodiment, the control server sets a collision avoidance zone around at least one current position among the plurality of robots, and prevents the other robots from entering the collision avoidance zone set around the robot. You can control the movement of robots.

일 실시예에 따라, 상기 관제서버는, 상기 복수의 로봇들에 대해 부여된 우선순위에 따라, 상기 복수의 로봇들의 이동을 제어할 수 있다.According to an embodiment, the control server may control movement of the plurality of robots according to the priority given to the plurality of robots.

일 실시예에 따라, 상기 관제서버는, 상기 로봇 주변의 상기 충돌회피존의 형상을 상기 로봇의 현재 이동속도에 따라 가변설정할 수 있다.According to an embodiment, the control server may variably set the shape of the collision avoidance zone around the robot according to the current moving speed of the robot.

또한, 본 발명은, 사용자단말기와, 부여된 동작임무를 수행하는 적어도 하나의 로봇과, 복수의 상기 로봇들과 통신 가능하도록 연결되어 상기 복수의 로봇들을 관제하기 위한 관제서버를 포함하는 복수로봇 제어시스템의 제어방법에 있어서, 상기 로봇이 상기 사용자단말기의 요청에 따라 상태정보를 상기 사용자단말기에 전송하거나 상기 사용자단말기로부터 상기 동작임무를 부여받는 로컬관제서버를 마련하는 단계와, 상기 관제서버가 상기 로컬관제서버를 매개로 상기 사용자단말기의 요청에 따라 상기 복수의 로봇들 중 적어도 하나의 상태정보를 수집하여 상기 사용자단말기에 전송하는 단계와, 상기 관제서버가 상기 사용자단말기로부터 상기 복수의 로봇들 중 적어도 하나에 대한 상기 동작임무를 수신하여 전달하는 단계를 포함하되, 상기 관제서버 부존재시 상기 로컬관제서버는 상기 사용자단말기의 요청에 따라 해당하는 상기 로봇의 상태정보를 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 동작임무를 부여받는 것을 특징으로 하는 복수로봇 제어방법을 제공한다.In addition, the present invention is a multi-robot control comprising a user terminal, at least one robot performing a given operation task, and a control server for controlling the plurality of robots connected to communicate with the plurality of robots. In the control method of the system, the robot transmitting status information to the user terminal according to the request of the user terminal or providing a local control server receiving the operation task from the user terminal, and the control server Collecting at least one of the plurality of robots according to the request of the user terminal via a local control server and transmitting the status information to the user terminal, and the control server from the user terminal to one of the plurality of robots Receiving and transmitting the operation task for at least one, wherein when the control server does not exist, the local control server transmits the status information of the robot to the user terminal according to the request of the user terminal, or It provides a method for controlling a plurality of robots, characterized in that receiving the operation task from a user terminal.

본 발명의 일 실시예에 따르면, 임무영역 내 이동로봇이 한 대인지, 또는 여러 대인지에 따라 관제 환경을 다르게 설계할 필요가 없고, 이동로봇을 활용하고자 하는 임무영역의 규모와 무관하게 이동로봇을 배치하여 신속하게 활용할 수 있는 효과가 있다.According to an embodiment of the present invention, it is not necessary to design the control environment differently depending on whether there is one or multiple mobile robots in the mission area, and regardless of the size of the mission area in which the mobile robot is to be used, the mobile robot It has the effect of being able to use it quickly by placing it.

또한, 본 발명의 일 실시예에 따르면, 로봇에 의해 생성된 지도를 사용자가 명확하게 수정하여 갱신토록 함으로써, 로봇의 오동작 등을 미연에 방지할 수 있다.In addition, according to an embodiment of the present invention, by allowing the user to clearly modify and update the map generated by the robot, it is possible to prevent malfunction of the robot.

또한, 본 발명의 일 실시예에 따르면, 로봇에 대한 관제를 웹(web) 환경에서 구현하되, 사용자는 로봇의 위치이동명령 및 방향설정명령을 한 번의 마우스 동작으로 일괄생성할 수 있다. 또한, 로봇에 대한 동작임무 생성을 스크래치 코딩에 의함으로써, 사용자는 매우 간편하게 제어명령을 생성할 수 있다. In addition, according to an embodiment of the present invention, control of a robot is implemented in a web environment, but a user can collectively generate a position movement command and a direction setting command of the robot with a single mouse operation. In addition, by generating the operation task for the robot by scratch coding, the user can very easily generate a control command.

또한, 본 발명의 일 실시예에 따르면, 임무영역 내 다양한 종류의 기능존(zone)을 설정함으로써 각 로봇에 대한 제어명령을 따로 생성하지 않더라도 영역별 로봇의 동작임무를 일괄 제한할 수 있다.In addition, according to an embodiment of the present invention, by setting various types of functional zones within a mission area, it is possible to collectively limit the operation tasks of the robots for each area even without separately generating a control command for each robot.

또한, 또 다른 실시예에 따라, 복수의 로봇들이 개별적으로 부여된 동작임무에 따라 동작할 때, 복수의 로봇들 간 충돌가능성을 회피하기 위해, 현재 로봇의 위치 주변에 충돌회피존을 마련하고, 로봇들에게 부여된 우선순위에 따라 로봇의 이동을 제한할 수 있다. 이때, 로봇의 이동속도를 고려함으로써, 이동로봇의 급정거에 의해 이동로봇 또는 리프팅(lifting)하고 있는 이송물의 충격이나 낙하 등을 미연에 방지할 수 있다.In addition, according to another embodiment, when a plurality of robots operate according to an individually assigned operation task, in order to avoid a possibility of collision between the plurality of robots, a collision avoidance zone is provided around the current position of the robot, It is possible to limit the movement of the robot according to the priority given to the robots. At this time, by considering the moving speed of the robot, it is possible to prevent the shock or fall of the moving robot or the transported object that is being lifted due to the sudden stop of the moving robot.

도 1은 본 발명의 일 실시예에 따른 복수로봇 제어시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 이동로봇의 구성도이다.
도 3a는 본 발명의 일 실시예에 따라 사용자단말기가 로컬관제서버를 매개로 로봇을 관제하는 모습을 나타낸 도면이다.
도 3b는 본 발명의 일 실시예에 따라 관제서버가 복수의 로봇을 관제하는 모습을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따라 생성된 지도를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따라 로봇의 이동에 대한 제어명령을 생성하는 모습을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따라 로봇에 대한 동작임무를 생성하는 모습을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따라 지도 내 기능존이 설정된 모습을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따라 설정된 리미티드존이 작동하는 예시를 나타낸 도면이다.
도 9a는 본 발명의 일 실시예에 따라 로봇 주변에 설정된 충돌회피존이 작동하는 예시를 나타낸 도면이다.
도 9b는 도 9a의 충돌회피존이 로봇의 상태에 따라 가변된 예시를 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 복수로봇 제어방법에 대한 단계별 흐름도이다.
1 is a block diagram of a multiple robot control system according to an embodiment of the present invention.
2 is a block diagram of a mobile robot according to an embodiment of the present invention.
3A is a view showing a state in which a user terminal controls a robot through a local control server according to an embodiment of the present invention.
3B is a view showing a state in which a control server controls a plurality of robots according to an embodiment of the present invention.
4 is a diagram showing a map generated according to an embodiment of the present invention.
5 is a view showing a state of generating a control command for the movement of the robot according to an embodiment of the present invention.
6 is a diagram showing a state of generating a motion task for a robot according to an embodiment of the present invention.
7 is a diagram illustrating a function zone in a map is set according to an embodiment of the present invention.
8 is a diagram illustrating an example in which a limited zone set according to an embodiment of the present invention operates.
9A is a view showing an example in which a collision avoidance zone set around a robot operates according to an embodiment of the present invention.
9B is a view showing an example in which the collision avoidance zone of FIG. 9A is changed according to the state of the robot.
10 is a step-by-step flowchart of a method for controlling a plurality of robots according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성 요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, exemplary embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but identical or similar elements are denoted by the same reference numerals regardless of reference numerals, and redundant descriptions thereof will be omitted. The suffixes "module" and "unit" for constituent elements used in the following description are given or used interchangeably in consideration of only the ease of preparation of the specification, and do not have meanings or roles that are distinguished from each other by themselves. In addition, in describing the embodiments disclosed in the present specification, when it is determined that a detailed description of related known technologies may obscure the subject matter of the embodiments disclosed in the present specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are for easy understanding of the embodiments disclosed in the present specification, and the technical idea disclosed in the present specification is not limited by the accompanying drawings, and all changes included in the spirit and scope of the present invention It should be understood to include equivalents or substitutes.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Singular expressions include plural expressions unless the context clearly indicates otherwise.

본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present specification, terms such as "comprises" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.

복수로봇 제어시스템Multiple robot control system

도 1은 본 발명의 일 실시예에 따른 복수로봇 제어시스템의 구성도이다.1 is a block diagram of a multiple robot control system according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 복수로봇 제어시스템(100)은, 사용자단말기(130)와, 부여된 동작임무를 수행하는 적어도 하나의 로봇(121~123)과, 복수의 로봇들(121~123)과 통신 가능하도록 연결되어, 상기 복수의 로봇들(121~123)을 관제하기 위한 관제서버(110)를 포함할 수 있다.As shown in FIG. 1, the multiple robot control system 100 according to an embodiment of the present invention includes a user terminal 130, at least one robot 121 to 123 performing assigned operation tasks, and It is connected to enable communication with the plurality of robots (121 to 123), it may include a control server 110 for controlling the plurality of robots (121 to 123).

이때, 상기 각 로봇(121~123)은, 사용자단말기(130)의 요청에 따라 자신의 상태정보를 사용자단말기(130)에 전송하거나, 사용자단말기(130)로부터 동작임무를 부여받는 로컬관제서버(121a~123a)를 포함할 수 있다.At this time, each of the robots 121 to 123 transmits its own status information to the user terminal 130 at the request of the user terminal 130, or a local control server ( 121a to 123a).

즉, 사용자단말기(130)를 이용하여 로봇(121~123)에 대한 관제를 수행할 때, 통상적으로 사용자단말기(130)는 여러대의 로봇(121~123)을 관제하는 관제서버(110)에 접속하지만, 본 발명의 일 실시예에 따른 사용자단말기(130)는 각 로봇(121~123)에 포함된 로컬관제서버(121a~123a)에 접속하여, 개별 로봇(121~123)을 관제할 수 있다.That is, when controlling the robots 121-123 using the user terminal 130, the user terminal 130 is typically connected to the control server 110 that controls several robots 121-123. However, the user terminal 130 according to an embodiment of the present invention may control individual robots 121 to 123 by accessing the local control servers 121a to 123a included in each of the robots 121 to 123. .

결국, 임무영역 내 로봇(121~123)이 한 대인지, 또는 여러 대인지와 무관하게 관제 환경을 다르게 설계할 필요가 없고, 또 반드시 관제서버(110)를 구비할 필요가 없어, 로봇(121~123)을 활용하고자 하는 임무영역의 규모와 무관하게 로봇(121~123)을 배치하고 신속하게 활용할 수 있는 효과가 있다.In the end, regardless of whether there is one or multiple robots 121 to 123 in the mission area, there is no need to design the control environment differently, and there is no need to have the control server 110 necessarily, the robot 121 There is an effect that robots 121 to 123 can be placed and used quickly regardless of the size of the mission area to be utilized.

이하, 각 구성요소들에 대해 살펴보기로 한다.Hereinafter, each component will be described.

본 발명의 일 실시예에 따른 사용자단말기(130)는 네트워크를 통해 관제서버(110) 및/또는 로봇(121~123) 내 로컬관제서버(121a~123a)와 통신 가능하도록 연결되, 데이터를 송수신할 수 있는 것이면 그 종류를 한정하지 않으나, 일 예로 상기 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook) 등과 같은 이동 단말기이거나, 디지털 TV, 데스크탑 컴퓨터 등과 같은 고정 단말기일 수 있다.The user terminal 130 according to an embodiment of the present invention is connected to enable communication with the control server 110 and/or the local control servers 121a to 123a in the robots 121 to 123 through a network, and transmits and receives data. The type is not limited as long as it can be done, but examples include the mobile phone, smart phone, laptop computer, digital broadcasting terminal, personal digital assistants (PDA), portable multimedia player (PMP), and slate PC. It may be a mobile terminal such as a (slate PC), a tablet PC, or an ultrabook, or a fixed terminal such as a digital TV or a desktop computer.

사용자는 사용자단말기(130)를 운용함으로써, 관제서버(110)에 접속하여 웹환경에서 복수의 로봇들(121~123)에 대한 상태정보를 수신하여 확인할 수 있고 또 복수의 로봇들(121~123) 중 적어도 하나에 대해 제어명령을 생성하여 전송할 수 있다.By operating the user terminal 130, the user can access the control server 110 to receive and check the status information on the plurality of robots 121 to 123 in the web environment, and the plurality of robots 121 to 123 ) Can be transmitted by generating a control command for at least one of.

로봇(121~123) 각각은, 해당 로봇(121~123)에 대한 상태정보를 수집하여 사용자단말기(130)의 요청에 따라 제공하거나, 사용자단말기(130)로부터 수신한 제어명령에 따라 해당 로봇(121~123)이 동작할 수 있도록 로컬관제서버(121a~123a)를 포함할 수 있다.Each of the robots 121 to 123 collects status information on the corresponding robots 121 to 123 and provides them according to the request of the user terminal 130, or according to a control command received from the user terminal 130. A local control server 121a to 123a may be included so that the 121 to 123 can operate.

따라서, 관제서버(110)가 부존재하더라도, 또는 로봇(121~123)이 한대만 있다고 하더라도, 사용자단말기(130)는 관제서버(110)를 거치지 않고 각 로봇(121~123)에 포함된 로컬관제서버(121a~123a)에 접속함으로써, 개별 로봇(121~123)을 관제할 수 있다.Therefore, even if the control server 110 does not exist, or even if there is only one robot (121 to 123), the user terminal 130 does not go through the control server 110, the local control server included in each robot (121 to 123) By connecting to (121a to 123a), it is possible to control the individual robots (121 to 123).

환편, 관제서버(110)는 복수의 로봇(121~123)의 상태를 모니터링하거나, 관제대상인 로봇(121~123)의 적어도 일부에 대하여 제어명령을 생성하여 제공할 수 있다.The circular knitting, control server 110 may monitor the state of the plurality of robots 121 to 123, or may generate and provide control commands for at least a part of the robots 121 to 123 to be controlled.

이렇게 관제서버(110)가 복수의 로봇(121~123)에 대해 관제를 수행하기 때문에, 이때 사용자단말기(130)는 각 로봇(121~123)이 포함하고 있는 로컬관제서버(121a~123a)에 접속하여 개별제어하지 못하도록 하고, 사용자단말기(130)가 관제서버(110) 및 로컬관제서버(121a~123a)를 순차적으로 거쳐 해당 로봇을 관제토록 하는 것이 바람직하다.Since the control server 110 controls a plurality of robots 121 to 123 in this way, the user terminal 130 at this time is connected to the local control servers 121a to 123a included in each robot 121 to 123. It is preferable to prevent individual control by accessing, and to control the robot through the user terminal 130 sequentially through the control server 110 and the local control servers 121a to 123a.

왜냐하면, 어느 한 로봇(121~123)이 사용자에 의해 생성되어 관제서버(110)로부터 전달받은 제어명령과 로컬관제서버(121a~123a)로부터 전달받은 제어명령 간에 충돌이 발생할 수 있기 때문에, 제어명령 전달 경로를 명확히하여 이와 같은 문제를 해소토록 하는 것이 바람직하다.Because, because any one robot (121-123) is generated by a user and transmitted from the control server 110 and the control command transmitted from the local control server (121a-123a), because a conflict may occur, the control command It is desirable to solve this problem by clarifying the delivery path.

한편, 본 발명의 일 실시예에 따른 이동 가능한 로봇(121~123)은, 사용자로부터 부여된 동작임부를 수행하는 로봇으로서, 그 종류를 한정하지 않는다.On the other hand, the movable robots 121 to 123 according to an embodiment of the present invention are robots that perform an operation assigned by a user, and the type is not limited thereto.

도 2는 본 발명의 일 실시예에 따른 이동로봇의 구성도이다.2 is a block diagram of a mobile robot according to an embodiment of the present invention.

도 2에 도시한 바와 같이, 본 발명의 일 실시예에 따른 로봇(121~123)은, 제어부(1211), 주행부(1212), 저장부(1213), 센서부(1214), 통신부(1215) 및 상태검출부(1216) 중 적어도 하나를 포함할 수 있다.As shown in FIG. 2, the robots 121 to 123 according to an embodiment of the present invention include a control unit 1211, a driving unit 1212, a storage unit 1213, a sensor unit 1214, and a communication unit 1215. ) And at least one of the state detection unit 1216.

주행부(1212)는 로봇의 본체를 이동시키기 위한 적어도 하나의 바퀴와, 바퀴를 회전 구동시키기 위한 모터 따위를 포함한 구동장치를 포함할 수 있다.The driving unit 1212 may include a driving device including at least one wheel for moving the main body of the robot and a motor for rotating the wheel.

주행부(1212)는 전후좌우 방향으로 주행방향을 설정하기 위한 조향장치를 더 포함할 수 있으나, 조향장치를 포함하지 않는 경우 주행부(1212)는 조향장치 구비없이 좌우측 각각에 구비된 바퀴의 회전 속도에 차이를 두어 좌측 또는 우측으로 본체의 주행방향을 전환하거나, 본체를 회전구동할 수도 있다.The driving unit 1212 may further include a steering device for setting the driving direction in the front, rear, left and right directions, but if the steering device is not included, the driving unit 1212 rotates the wheels provided on each of the left and right sides without the steering device. It is also possible to change the driving direction of the main body to the left or right by making a difference in speed, or to rotate the main body.

도면에 도시하지 않았으나, 본 발명의 일 실시예에 따른 이동로봇(10)은 작동 전반에 필요한 전원을 공급하기 위한 배터리를 더 포함할 수 있고, 여기서 배터리는 충전 가능한 2차전지인 것이 바람직하다.Although not shown in the drawings, the mobile robot 10 according to an embodiment of the present invention may further include a battery for supplying power required for overall operation, wherein the battery is preferably a rechargeable secondary battery.

센서부(1214)는 외부신호감지센서, 전방감지센서, 낭떠러지감지센서, 카메라센서 및 자세센서 중 적어도 하나를 포함할 수 있다.The sensor unit 1214 may include at least one of an external signal detection sensor, a front detection sensor, a cliff detection sensor, a camera sensor, and a posture sensor.

외부신호감지센서는 로봇 청소기의 외부 신호를 감지할 수 있다. 외부 신호 감지 센서는, 일 예로, 적외선 센서(Infrared Ray Sensor), 초음파 센서(Ultra Sonic Sensor), RF 센서(Radio Frequency Sensor) 등일 수 있으며, 로봇(121~123)은 외부 신호 감지 센서에 의해 감지되는 신호에 따라 제어 명령 입력을 받을 수 있다.The external signal detection sensor may detect an external signal of the robot cleaner. The external signal detection sensor may be, for example, an infrared ray sensor, an ultrasonic sensor, an RF sensor, and the like, and the robots 121 to 123 are detected by an external signal detection sensor. Control command input can be received according to the signal.

전방감지센서는, 로봇(121~123)의 전방, 구체적으로 로봇(121~123)의 측면 외주면을 따라 일정 간격으로 설치될 수 있다. 전방감지센서는 로봇(121~123)의 적어도 일 측면에 위치하여 전방의 장애물을 감지하기 위한 것으로서, 일 예로, 적외선 센서, 초음파 센서, RF 센서 및 지자기 센서 등 중 어느 하나 또는 이들의 조합일 수 있다.The front detection sensor may be installed at a predetermined interval in front of the robots 121 to 123, specifically along the lateral outer circumferential surface of the robots 121 to 123. The front detection sensor is located on at least one side of the robots 121 to 123 to detect an obstacle in front, and may be, for example, any one of an infrared sensor, an ultrasonic sensor, an RF sensor, and a geomagnetic sensor, or a combination thereof. have.

낭떠러지감지센서(또는 클리프 센서(Cliff Sensor))는, 다양한 형태의 광 센서를 주로 이용하여, 로봇의 본체를 지지하는 바닥의 장애물을 감지할 수 있다. 낭떠러지감지센서는, 일 예로 로봇의 저면에 설치된 적외선 센서, 초음파 센서, RF 센서 및 PSD(Position Sensitive Detector) 센서 등 중 어느 하나 또는 이들의 조합일 수 있다.The cliff detection sensor (or Cliff Sensor) can detect obstacles on the floor supporting the main body of the robot by mainly using various types of optical sensors. The cliff detection sensor may be, for example, any one of an infrared sensor, an ultrasonic sensor, an RF sensor, a position sensitive detector (PSD) sensor, etc. installed on the bottom of the robot, or a combination thereof.

카메라센서는 로봇 본체의 상방이나 전방을 향하도록 설치되어 주변을 촬영할 수 있다. 일 예로 카메라센서는 복수 개가 구비되어, 로봇의 본체의 상부나 옆면에 일정 거리 또는 일정 각도로 배치될 수 있다. 카메라센서는 피사체의 초점을 맞추는 렌즈와, 카메라 센서를 조절하는 조절부와, 상기 렌즈를 조절하는 렌즈 조절부를 포함할 수 있고, 제어부(1211)는 카메라센서가 촬영한 영상데이터를 이용하여 로봇의 현재 위치를 인식할 수 있고, 임무영역에 대한 지도를 작성할 수 있다.The camera sensor is installed to face up or in front of the robot body, so that the surrounding can be photographed. For example, a plurality of camera sensors may be provided, and may be disposed at a certain distance or at a certain angle on the top or side of the body of the robot. The camera sensor may include a lens that focuses on a subject, an adjuster that adjusts the camera sensor, and a lens adjuster that adjusts the lens, and the controller 1211 uses the image data captured by the camera sensor. You can recognize your current location and create a map for the mission area.

자세센서는 로봇의 자세 등을 인식하기 위한 것으로서, 가속도 센서, 자이로 센서, 및 휠 센서 등 중 어느 하나 또는 이들의 조합일 수 있고, 제어부(1211)는 카메라센서에 의한 영상데이터와의 조합으로 현재 위치를 정밀하게 인식할 수도 있다.The attitude sensor is for recognizing the attitude of the robot, and may be any one of an acceleration sensor, a gyro sensor, and a wheel sensor, or a combination thereof, and the controller 1211 is currently in combination with image data by a camera sensor. You can also accurately recognize the location.

상태검출부(1216)는 로봇(121~123)의 각 구성요소들(또는 유닛들)의 상태를 검출하는 센서들로서, 바퀴상태, 구동모터상태, 배터리상태, 통신상태 등을 검출하는 센서를 포함한다. 제어부(1211)는, 상태검출부(1216)에 의해 검출된 로봇의 각 구성요소들의 상태를 통신부(1215)를 통해 관제서버(110)나 로컬관제서버(121a~123a)를 매개로 사용자단말기(130)에 전달하여 사용자에게 제공할 수 있다.The state detection unit 1216 is sensors that detect the state of each component (or units) of the robots 121 to 123, and includes a sensor that detects a wheel state, a driving motor state, a battery state, a communication state, etc. . The control unit 1211 transmits the status of each component of the robot detected by the state detection unit 1216 to the user terminal 130 through the control server 110 or the local control servers 121a to 123a through the communication unit 1215. ) To provide to users.

저장부(1213)는 로봇(121~123)을 제어 또는 구동하는 제어 프로그램 및 그에 따른 데이터를 저장할 수 있다. 구체적으로 저장부(1213)는 임무영역에 대한 지도(map)를 저장할 수 있고, 이외에 오디오정보, 영상정보, 장애물정보, 위치정보 등을 저장할 수 있다. 또, 저장부(1213)는 주행 방식 등을 저장할 수 있다.The storage unit 1213 may store a control program for controlling or driving the robots 121 to 123 and data corresponding thereto. Specifically, the storage unit 1213 may store a map for the mission area, and may store audio information, image information, obstacle information, location information, and the like. In addition, the storage unit 1213 may store a driving method or the like.

저장부(1213)는 비휘발성 메모리를 주로 사용할 수 있으며, 여기서, 비휘발성 메모리(Non-Volatile Memory, NVM, NVRAM)는 전원이 공급되지 않아도 저장된 정보를 계속 유지할 수 있는 저장 장치로서, 일 예로, 롬(ROM), 플래시 메모리(Flash Memory), 마그네틱 컴퓨터 기억 장치(예를 들어, 하드 디스크, 디스켓 드라이브, 마그네틱 테이프), 광디스크 드라이브, 마그네틱 RAM, PRAM 등일 수 있다.The storage unit 1213 may mainly use a non-volatile memory, wherein the non-volatile memory (NVM, NVRAM) is a storage device capable of maintaining stored information even when power is not supplied, for example, It may be a ROM, a flash memory, a magnetic computer memory device (eg, a hard disk, a diskette drive, a magnetic tape), an optical disk drive, a magnetic RAM, a PRAM, and the like.

제어부(1211)는 로봇(121~123)의 전반적인 동작을 제어하는 수단으로서, 로봇(121~123)의 각 구성요소와 연동하여 각종 응용 프로그램을 실행하고, 그와 관련된 동작을 수행토록 할 수 있다. 즉 제어부(1211)는 로봇(121~123)의 구성요소들을 통해 입출력되는 신호 또는 데이터 등을 처리하거나, 저장부(1213)에 저장된 응용 프로그램을 구동함으로써, 로봇(121~123)의 구동을 제어할 수 있다. 또한, 제어부(1211)는 저장부(1213)에 저장된 응용 프로그램을 구동하기 위하여, 이동로봇(10)의 구성요소들 중 적어도 일부를 제어할 수 있다.The control unit 1211 is a means for controlling the overall operation of the robots 121 to 123, and can execute various application programs in conjunction with each component of the robots 121 to 123 and perform operations related thereto. . That is, the control unit 1211 controls the driving of the robots 121 to 123 by processing signals or data input/output through the components of the robots 121 to 123, or by driving an application program stored in the storage unit 1213. can do. In addition, the control unit 1211 may control at least some of the components of the mobile robot 10 in order to drive the application program stored in the storage unit 1213.

제어부(1211)는 전방 감지 센서나 장애물 감지 센서 등에 의해 검출된 장애물 정보와 적어도 하나의 카메라 센서에 의해 인식된 위치를 이용하여, 도 3에 도시한 바와 같이, 임무영역에 대한 지도를 생성할 수 있다. 임무영역에 대한 지도를 생성하는 방법은 공지의 방법에 따르고, 본 발명에서는 특별히 한정하지 않는다.The control unit 1211 may generate a map for the mission area, as shown in FIG. 3, using the obstacle information detected by the forward detection sensor or the obstacle detection sensor and the position recognized by at least one camera sensor. have. The method of generating a map for the mission area is according to a known method, and is not particularly limited in the present invention.

여기서, 본 명세서에서 사용하는 용어 중 '임무영역'은 벽 따위와 같은 장애물에 의해 형성되는 영역으로서, 로봇(121~123)이 사용자로부터 부여받은 이동명령이나 물건의 상하차 또는 물건의 배송 등의 임무를 수행하는 영역을 가리킬 수 있다.Here, the'mission area' among the terms used in the present specification is an area formed by obstacles such as walls, and the robots 121 to 123 are assigned a movement command given from a user, or a task such as loading or unloading an object or delivering an object. It can refer to an area to perform.

이와 달리, 지도는 로봇(121~123)이 자율적으로 주행하며 생성되지 않고, 외부로부터 제공받아 저장부(1213)에 저장할 수도 있다.In contrast, the map is not generated while autonomously traveling by the robots 121 to 123, but may be provided from the outside and stored in the storage unit 1213.

로봇(121~123)이 지도를 생성할 때, 로봇(121~123)이 전방 감지 센서 또는 장애물 감지 센서 등에 의해 전방의 벽이나 장애물 등을 감지하고 이를 근거로 하기 때문에, 도 3에 도시한 바와 같이, 일부 지점에 대해서는 로봇(121~123)으로부터 발사된 광이 수신되지 않거나 오수신되어, 생성된 지도의 경계가 매끄럽지 못하고 일부 지점에서 경계를 잘못 인식하여 지저분하게 되는 문제가 있다. 도 3의 도면부호 d1 내지 d6가 가리키는 부분들이 로봇(121~123)이 지도의 경계를 잘못 인식한 부분들이다.When the robots 121 to 123 generate a map, since the robots 121 to 123 detect a wall or an obstacle in front of the front sensor or an obstacle detection sensor, etc., and based on this, as shown in FIG. Likewise, for some points, the light emitted from the robots 121 to 123 is not received or incorrectly received, so that the boundary of the generated map is not smooth, and the boundary is misrecognized at some points and thus becomes messy. The parts indicated by reference numerals d1 to d6 of FIG. 3 are parts in which the robots 121 to 123 erroneously recognize the boundary of the map.

로봇(121~123)에 의해 생성된 지도를 근거로, 임무를 수행하는 로봇(121~123)은 지도에 오류가 있는 경우, 사용자의 의도와 다르게 동작할 수 있는 문제가 있다. 따라서, 본 발명의 일 실시예에 따른 사용자단말기(130)는 관제대상인 각 로봇(121~123)의 로컬관제서버(121a~123a)나, 복수의 로봇(121~123)을 관제하는 관제서버(110)와 통신 가능하도록 연결되어, 적어도 어느 하나의 로봇(121~123)으로부터 생성된 지도를 전달받고, 사용자 입력에 따라 생성된 지도를 편집할 수 있다.Based on the maps generated by the robots 121-123, the robots 121-123 performing tasks may operate differently from the user's intention when there is an error in the map. Accordingly, the user terminal 130 according to an embodiment of the present invention includes a local control server 121a to 123a of each robot 121 to 123 to be controlled, or a control server that controls a plurality of robots 121 to 123 ( 110), the map generated from at least one of the robots 121 to 123 may be transmitted, and the generated map may be edited according to a user input.

사용자단말기(130)는 적어도 하나의 로봇(121~123)으로부터나 관제서버(110)로부터 불러드린 지도에 대하여, 경계를 선, 도형 등으로 생성하거나, 경계 중 일부를 선택하고 선택된 부분을 삭제, 회전, 반전 등으로 수정하는 등 생성된 지도를 편집할 수 있고, 이렇게 사용자에 의해 경계가 명확해 지도록 편집된 지도를 다시 어느 하나 또는 전 로봇(121~123)에게 전달하여 갱신토록 할 수 있다. 구체적으로 사용자단말기(130)는 편집된 지도를 관제서버(110)에 전송하여 적어도 하나의 로봇(121~123)에 기 저장된 지도를 대체하거나, 또는 각 로봇(121~123)이 가진 로컬관제서버(121a~123a)에 전송하여 해당 로봇(121~123)이 저장하고 있는 지도를 대체할 수 있다.The user terminal 130 creates a boundary as a line or figure, or selects a part of the boundary and deletes the selected part, for the map loaded from at least one robot 121-123 or the control server 110, The generated map can be edited, such as revised by rotation, reversal, etc., and the edited map can be transferred to any one or all robots 121 to 123 so that the boundary is cleared by the user to be updated. Specifically, the user terminal 130 transmits the edited map to the control server 110 to replace a map previously stored in at least one robot 121 to 123, or a local control server of each robot 121 to 123 It can be transmitted to (121a ~ 123a) to replace the map stored by the robot (121 ~ 123).

통신부(1215)는 관제서버(110) 및/또는 사용자단말기(130)와 통신을 수행하기 위한 것으로서, 통신방식은 유선 또는 무선일 수 있고, 일 예로 상기 통신방식은 WLAN(Wireless LAN), WiFi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등과 같은 무선인터넷방식이나 이동통신방식, 또는 라디오주파수(RF)통신, 블루투스(Bluetooth), 적외선통신(IrDA), 지그비(Zigbee) 등 근거리 무선통신방식 중 하나일 수 있다.The communication unit 1215 is for performing communication with the control server 110 and/or the user terminal 130, and the communication method may be wired or wireless. For example, the communication method is WLAN (Wireless LAN), WiFi ( Wireless Internet method or mobile communication method such as Wireless Fidelity) Direct, DLNA (Digital Living Network Alliance), Wibro (Wireless broadband), Wimax (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), or radio frequency ( It may be one of short-range wireless communication methods such as RF) communication, Bluetooth, infrared communication (IrDA), and Zigbee.

한편, 제어부(1211)는 상기 임무영역 내 일 지점에서 타 지점으로 이동경로를 설정하고, 현재 위치를 인식하여 이동경로를 따라 주행토록 주행부(1212)를 제어할 수 있다.Meanwhile, the controller 1211 may control the driving unit 1212 to set a movement route from one point in the mission area to another point, recognize the current position, and drive along the movement route.

이를 위해, 이동로봇(10)은 사용자로부터 각종 명령이나 입력을 받기 위한 입력부(미도시)를 포함할 수 있다. 입력부는 이동지점설정, 이동경로설정, 또는 수행동작설정 등을 사용자로부터 입력받기 위해 적어도 하나의 버튼 등을 포함할 수 있고, 또한 입력부는 통신부(1215)와 연동되어 유무선으로 연결된 외부의 단말장치 또는 서버로부터 각종 명령이나 입력을 전달받을 수도 있다.To this end, the mobile robot 10 may include an input unit (not shown) for receiving various commands or inputs from a user. The input unit may include at least one button or the like to receive input from a user for moving point setting, moving route setting, or performing operation setting, and the input unit is interlocked with the communication unit 1215 to connect an external terminal device or Various commands or inputs can be received from the server.

구체적으로, 사용자는 사용자단말기(130)를 이용하여 로봇(121~123)에 대하여 임무영역 내 어느 일 지점으로 이동하도록 이동명령을 생성하여 전달하거나, 또는 적어도 두 지점을 설정하여 그에 따라 생성되는 이동경로를 따라 1회 또는 2회 이상 주행토록 주행명령을 생성하여 전달할 수도 있다.Specifically, the user generates and transmits a movement command to the robots 121 to 123 using the user terminal 130 to move to a certain point in the mission area, or sets at least two points and moves generated accordingly. It is also possible to generate and transmit a driving command to drive once or more than two times along the route.

도 5는 본 발명의 일 실시예에 따라 로봇의 이동에 대한 제어명령을 생성하는 모습을 나타낸 도면이다.5 is a view showing a state of generating a control command for the movement of the robot according to an embodiment of the present invention.

도 5에 도시한 바와 같이, 본 발명의 일 실시예에 따른 사용자단말기(130)는 관제대상인 어느 하나의 로봇(121~123)을 나타내는 아이콘(R1)을 로봇(121~123)의 현재 위치에 따라 지도 상에 출력할 수 있다.As shown in FIG. 5, the user terminal 130 according to an embodiment of the present invention displays an icon R1 representing one of the robots 121 to 123 to be controlled at the current position of the robots 121 to 123. You can print it on the map accordingly.

구체적인 예로, 사용자단말기(130)는 화면에 임무영역에 대한 지도와, 그 지도 상에 로봇(121~123)의 현재 위치에 상응하는 위치에 로봇(121~123)을 나타내는 아이콘(R1~R3)을 출력할 수 있다(도 7 참조).As a specific example, the user terminal 130 includes a map of the mission area on the screen and icons (R1 to R3) representing the robots 121 to 123 at a position corresponding to the current position of the robots 121 to 123 on the map. Can be output (see Fig. 7).

이때, 사용자가 여러 로봇 중 어느 하나(R1)에 대해 위치이동명령을 생성하여 전달하려면, 사용자는 화면에 나타난 여러 로봇 중 어느 하나(R1)를 선택하고 이동시키고자 하는 목적지(일 예로, 목적지#1 또는 목적지#2)로 끌어 놓음으로써, 즉 드래그앤드롭(drag&drop) 입력을 이용하여 해당 로봇에 대한 위치이동명령을 생성하여 전달시킬 수 있다.At this time, in order for the user to create and transmit a position movement command to any one of several robots (R1), the user selects one of several robots (R1) on the screen and wants to move to the destination (for example, destination # 1 or by dragging to destination #2), that is, by using a drag and drop input, a position movement command for the robot can be generated and transmitted.

더욱 바람직하게는, 전술한 바와 같이, 로봇(121~123)에 위치이동명령을 생성하여 전달할 수 있으나, 목적지에서 로봇(121~123)의 자세나 바라보는 방향을 설정하기 위해, 사용자는 화면에 나타난 로봇을 목적지로 끌고 그 로봇 아이콘(R1~R3)의 주변을 선택하는 입력을 이용하여 목적지에서의 로봇(121~123) 방향설정명령을 생성할 수 있다.More preferably, as described above, a position movement command can be generated and transmitted to the robots 121 to 123, but in order to set the attitude or viewing direction of the robots 121 to 123 at the destination, the user can By using an input for dragging the appeared robot to the destination and selecting the surroundings of the robot icons R1 to R3, a direction setting command for the robots 121 to 123 at the destination can be generated.

즉, 사용자는 화면에 나타난 여러 로봇 중 어느 하나(R1)를 선택하고 이동시키고자 하는 목적지(일 예로, 목적지#1 또는 목적지#2)까지 끈(drag) 다음, 목적지의 해당 로봇 아이콘(R1) 내에서 해당 방향으로 이동한 후 뗌(drop)으로써, 사용자는 로봇(121~123)에 대한 위치이동명령 및 방향설정명령을 한 번에 생성할 수 있다.In other words, the user selects one of several robots (R1) displayed on the screen and drags it to the destination to be moved (for example, destination #1 or destination #2), and then the corresponding robot icon (R1) of the destination. By moving in the corresponding direction within and then dropping, the user can generate a position movement command and a direction setting command for the robots 121 to 123 at once.

한편, 본 발명의 일 실시예에 따라 사용자단말기(130)는 관제대상인 적어도 어느 하나의 로봇(121~123)에 대해 부여하는 동작임무를 생성하기 위해, 스크래치 코딩을 이용할 수 있다.Meanwhile, according to an embodiment of the present invention, the user terminal 130 may use scratch coding to generate an operation task assigned to at least one of the robots 121 to 123 to be controlled.

종래 적어도 한 로봇(121~123)에 대해 동작임무를 부여하기 위해 제어명령을 사용자가 직접 프로그램을 작성하였어야 했고, 이 경우 프로그램을 작성하지 못하는 일반사용자는 로봇(121~123)에 대해 동작임무를 부여하기 위해서는 매우 어려운 문제가 있었다.Conventionally, in order to assign an operation task to at least one robot (121-123), the user had to write a control command directly, and in this case, a general user who cannot write a program performs an operation task on the robot (121-123). There was a very difficult problem to give.

본 발명의 일 실시예에 따라 로봇(121~123)에 부여하고자 하는 동작임무를 스크래치 코딩으로 생성토록함으로써, 위와 같은 문제는 해소될 수 있다.According to an embodiment of the present invention, the above problem can be solved by generating the operation task to be assigned to the robots 121 to 123 by scratch coding.

사용자단말기(130)는 로봇에 대한 동작명령을 직관적으로 사용자에게 제공하고, 사용자가 그 나열된 동작명령들을 조합하여 동작명령들의 조합으로 이루어진 동작임무를 생성토록 그 환경을 제공할 수 있다.The user terminal 130 may intuitively provide an operation command for a robot to a user, and provide an environment for the user to create an operation task consisting of a combination of operation commands by combining the listed operation commands.

도 6은 본 발명의 일 실시예에 따라 로봇에 대한 동작임무를 생성하는 모습을 나타낸 도면이다. 도 6에 도시한 바와 같이, 본 발명의 일 실시예에 따라 사용자단말기(130)는 동작명령들을 종류별로 그룹화(일 예로 제어, 연산, 무브먼트 등)(도면부호 W1 참조)하고, 이를 각 그룹에 속한 구체적인 동작명령들(도면부호 W2 참조)과 함께 사용자에게 제공함으로써, 사용자가 적어도 하나의 동작명령을 동작임무생성창(W3)에 드래그앤드롭(drag&drop) 입력으로 가져다 놓고 배치함으로써, 사용자단말기(130)은 사용자에 의해 배치된 동작명령들의 조합으로 동작임무를 생성하여 해당 로봇에 전달할 수 있다.6 is a view showing a state of generating a motion task for a robot according to an embodiment of the present invention. As shown in Fig. 6, according to an embodiment of the present invention, the user terminal 130 groups operation commands by type (for example, control, operation, movement, etc.) (refer to reference numeral W1), and this into each group. By providing the user with specific operation commands (refer to the drawing symbol W2), the user brings at least one operation command to the operation task creation window W3 as a drag and drop input and places it, thereby placing the user terminal ( 130) may generate a motion task with a combination of motion commands arranged by the user and transmit it to the corresponding robot.

이렇게 사용자는 프로그램 작성 능력이 없더라도 로봇(121~123)에 대한 동작임무 생성을 단순한 드래그앤드롭명령으로 코딩할 수 있게 되어, 매우 간편하게 제어명령을 생성할 수 있다. In this way, even if the user does not have the ability to write a program, it is possible to code the creation of the operation mission for the robots 121 to 123 with a simple drag-and-drop command, so that a control command can be generated very easily.

한편, 본 발명의 일 실시예에 따라 관제서버(110)는 임무영역에 적어도 하나의 기능존(zone)을 설정하여, 임무영역 내에 있는 로봇(121~123)의 동작임무를 제한할 수 있다.On the other hand, according to an embodiment of the present invention, the control server 110 may set at least one functional zone in the mission area to limit the operation tasks of the robots 121 to 123 in the mission area.

도 7은 본 발명의 일 실시예에 따라 지도 내 기능존이 설정된 모습을 나타낸 도면이다.7 is a diagram illustrating a function zone in a map is set according to an embodiment of the present invention.

도 7에 도시한 바와 같이, 사용자는 사용자단말기(130)를 이용하여 임무영역을 가리키는 지도(m) 내 적어도 하나의 기능존(Z1~Z3)을 설정할 수 있다.As shown in FIG. 7, the user may set at least one functional zone Z1 to Z3 in the map m indicating the mission area using the user terminal 130.

기능존(Z1~Z3)은 사용자의 경계설정입력에 따라 다양한 형태로 형성될 수 있으며, 경계에 의해 설정된 기능존(Z1~Z3) 내 로봇(121~123)의 동작임무제한방법 등에 따라 여러 종류로 나뉠 수 있다. 이때, 기능존(Z1~Z3)은 그 종류에 따라 사용자단말기(130)에 표시되는 색상은 다르게 구분 표시될 수 있다.The functional zones (Z1 to Z3) can be formed in various forms according to the user's boundary setting input, and various types according to the method of limiting the operation task of the robots 121 to 123 in the function zones (Z1 to Z3) set by the boundary. It can be divided into. In this case, the color displayed on the user terminal 130 may be differentiated and displayed in the functional zones Z1 to Z3 according to their type.

사용자입력에 의해 부여된 동작임무를 수행하는 로봇(121~123)은 이동 중 사용자에 의해 설정된 해당 기능존(Z1~Z3)과 마주할 수 있으며, 로봇(121~123)은 마주하는 해당 기능존(Z1~Z3)의 종류에 따라 그에 상응하는 동작을 수행할 수 있다.The robots 121 to 123 performing the motion task assigned by the user input can face the corresponding function zone (Z1 to Z3) set by the user while moving, and the robots 121 to 123 may face the corresponding function zone. Depending on the type of (Z1 to Z3), the corresponding operation can be performed.

일 실시예에 따라 상기 기능존(Z1~Z3)은 기능에 따라 임무영역 내, 로봇의 진입을 금지하는 포비든존(forbidden zone), 존(zone) 내 제한된 댓수의 로봇만 진입할 수 있도록 하는 리미티드존(limitted zone), 로봇의 고속주행을 허용하는 스피드존(speed zone), 또는 로봇이 주변에 소리나 빛 따위로 경고신호를 출력하도록 하는 알람존(alarm zone) 등일 수 있다.According to an embodiment, the functional zones (Z1 to Z3) are a forbidden zone that prohibits the entry of robots within a mission area according to their function, and a limited number of robots within the zone can enter. It may be a limited zone, a speed zone allowing the robot to travel at high speed, or an alarm zone in which the robot outputs a warning signal such as sound or light around it.

관제서버(110)는 로봇(121~123)의 현재 위치를 실시간으로 수신하여 인식할 수 있고, 사용자에 의해 임무영역 내 설정된 기능존(Z1~Z3)의 경계와 비교하여, 로봇(121~123)이 현재 기능존(Z1~Z3)에 접근하였는지 또는 그 안에 속하였는지 판단하고, 그에 따라 해당 기능존(Z1~Z3)에 따른 제어명령을 생성하여 해당 로봇(121~123)에 전달할 수 있다.The control server 110 can receive and recognize the current position of the robots 121 to 123 in real time, and compare the boundaries of the functional zones Z1 to Z3 set in the task area by the user, and compare the robots 121 to 123 ), it is possible to determine whether or not the current function zones Z1 to Z3 have been accessed or belong to them, and accordingly, a control command according to the corresponding function zones Z1 to Z3 may be generated and transmitted to the corresponding robots 121 to 123.

이렇게 임무영역 내 다양한 종류의 기능존(zone)을 설정함으로써 로봇들 각각에 대하여 제어명령을 따로 생성하지 않더라도 영역별 로봇의 동작임무를 일괄 제한할 수 있다.By setting various types of functional zones in the mission area, it is possible to collectively limit the operation tasks of the robots for each area even if a control command is not separately generated for each of the robots.

한편, 도 8은 본 발명의 일 실시예에 따라 설정된 리미티드존이 작동하는 예시를 나타낸 도면이다.Meanwhile, FIG. 8 is a diagram illustrating an example in which a limited zone set according to an embodiment of the present invention operates.

도 8에 도시한 바와 같이, 본 발명의 일 실시예에 따라 사용자가 사용자단말기(130)를 이용하여 임무영역 내 적어도 하나의 제1 내지 제4 리미티드존(ZL1~ZL4)을 설정할 수 있다.As shown in FIG. 8, according to an embodiment of the present invention, a user may set at least one of the first to fourth limited zones ZL1 to ZL4 in the mission area using the user terminal 130.

리미티드존은, 전술한 바와 같이, 존(zone) 내 한정된 댓수의 로봇(R1~R5)만 진입할 수 있는 곳으로서, 각 리미티드존 내에는 기 설정된 한정 댓수만큼의 로봇(R1~R5)만 존재할 수 있으며, 각 리미티드존마다 로봇(R1~R5)의 제한수는 서로 다르게 설정될 수 있다.As described above, the limited zone is a place where only a limited number of robots (R1 to R5) in the zone can enter, and there are only a preset limited number of robots (R1 to R5) in each limited zone. The limit number of robots R1 to R5 may be set differently for each limited zone.

이때, 각 로봇(R1~R5)들에 대해 제1 내지 제4 리미티드존(ZL1~ZL4)을 시계방향을 따라 순차대로 이동하는 동작임무를 부여할 수 있으며, 제1 내지 제4 리미티드존(ZL1~ZL4) 중 어느 하나에 기 설정된 한정 댓수만큼의 로봇(R1~R5)이 존재하는 경우, 해당 리미티드존(ZL3)에 진입하고자하는 로봇(R3)은 진입하고자하는 리미티드존(ZL3) 내 어느 하나가 벗어날때까지 해당 리미티드존(ZL3)의 진입 직전에 대기하는 것이 바람직하다.At this time, it is possible to assign an operation task to sequentially move the first to fourth limited zones ZL1 to ZL4 clockwise to each of the robots R1 to R5, and the first to fourth limited zones ZL1 If there are a preset limited number of robots (R1 to R5) in any one of ~ZL4), the robot (R3) that wants to enter the limited zone (ZL3) is any one of the limited zone (ZL3) that wants to enter. It is desirable to wait just before entering the corresponding limited zone (ZL3) until it leaves.

즉, 해당 리미티드존(ZL3) 내 속하고 있는 로봇(R4, R5)의 수가 제한수에 미치지 못할 때, 진입예정인 로봇(R3)이 바로 진입하여, 해당 리미티드존(ZL3)에서 임무를 수행토록 하는 것이 바람직하게 때문이다.In other words, when the number of robots (R4, R5) belonging to the limited zone (ZL3) does not reach the limit, the robot (R3), which is scheduled to enter, immediately enters and performs the task in the limited zone (ZL3). This is because it is preferable.

한편, 본 발명의 일 실시예에 따라, 관제서버(110)는 복수의 로봇(121~123)들 중 적어도 하나에 대하여 해당 로봇의 현재 위치를 중심으로 그 주변에 충돌회피존(C1~C2)을 설정할 수 있다. 즉, 관제서버(110)는 적어도 어느 하나의 로봇 주변에 충돌회피존(C1~C2)을 설정하고, 설정된 충돌회피존(C1~C2)에 다른 로봇이 진입하지 못하도록 로봇들의 이동을 제어할 수 있다.On the other hand, according to an embodiment of the present invention, the control server 110 has a collision avoidance zone (C1 to C2) around at least one of the plurality of robots (121 to 123) around the current position of the robot. Can be set. That is, the control server 110 may set a collision avoidance zone (C1 to C2) around at least one robot and control the movement of the robots to prevent other robots from entering the set collision avoidance zones (C1 to C2). have.

일 예로, 충돌회피존(C1~C2) 내, 또는 충돌회피존(C1~C2) 경계에 다른 로봇(R1~R5)이 위치하는 경우이거나, 또는 어느 한 로봇 주변에 설정된 충돌회피존(C1~C2) 경계와 다른 로봇 주변에 설정된 충돌회피존(C1~C2) 경계가 서로 겹쳐지는 경우에는 인접한 로봇들 간에 충돌을 방지하기 위하여, 그 인접한 로봇들 중 적어도 하나의 로봇의 이동을 제어할 수 있다.For example, if another robot (R1 to R5) is located within a collision avoidance zone (C1 to C2) or at the boundary of a collision avoidance zone (C1 to C2), or a collision avoidance zone (C1 to C2) set around a robot C2) When the boundary and the boundary of the collision avoidance zone (C1 to C2) set around other robots overlap each other, the movement of at least one of the adjacent robots can be controlled to prevent collisions between adjacent robots. .

이때, 이동을 제한하는 대상이 되는 로봇(R1~R5)을 결정하는 방법은 여러가지가 있으나, 본 발명의 일 실시예에 따른 관제서버(110)는 각 로봇(R1~R5)들에 대해 우선순위를 부여하고, 인접한 로봇들 중 우선순위가 낮은 로봇의 이동을 제한하도록 제어하는 것이 바람직하다.At this time, there are various methods of determining the robots (R1 to R5) to be restricted movement, but the control server 110 according to an embodiment of the present invention prioritizes each of the robots (R1 to R5). It is desirable to control to limit the movement of robots with low priority among adjacent robots.

도 9a에 도시한 바와 같이, 관제서버(110)는 어느 한 로봇(R1)의 현재 위치를 중심으로 한 그 주변에 충돌회피존(C1)을 설정할 수 있고, 이와 마찬가지로 다른 한 로봇(R2)의 현재 위치를 중심으로 한 그 주변에 또 다른 충돌회피존(C2)을 설정할 수 있다. 두 로봇(R1, R2)이 서로 다른 방향으로 이동하는 도중, 각 로봇(R1, R2)의 주변에 설정된 충돌회피존(C1, C2)이 겹치는 경우, 인접한 두 로봇(R1, R2) 중 우선순위가 낮게 설정되어 있는 로봇의 이동을 제한하고, 이동이 정지된 로봇 주변에 설정된 충돌회피존에 다른 로봇이 존재하지 않거나 다른 충돌회피존이 겹쳐지지 않는 경우에는 기존 중단되었던 임무를 계속하여 수행할 수 있다.As shown in FIG. 9A, the control server 110 may set a collision avoidance zone C1 around the current position of one robot R1, and similarly, the other robot R2 Another collision avoidance zone (C2) can be set around the current location. If two robots (R1, R2) are moving in different directions and the collision avoidance zones (C1, C2) set around each robot (R1, R2) overlap, priority among the two adjacent robots (R1, R2) If there is no other robot in the collision avoidance zone set around the robot where movement is stopped or other collision avoidance zones do not overlap, the previously interrupted mission can be continued. have.

로봇(R1~R5)의 현재 위치를 중심으로 설정되는 충돌회피존(C1~C2)은 해당 로봇(R1~R5)의 현재 위치를 중심으로 한 소정 거리의 범위로 할 수 있으나, 바람직한 일 실시예에 따라 상기 충돌회피존(C1~C2)의 형상이 해당 로봇(R1~R5)의 현재 이동속도에 따라 가변설정되도록 하는 것이 바람직하다.Collision avoidance zones (C1 to C2) set around the current position of the robots (R1 to R5) may be within a range of a predetermined distance based on the current position of the robots (R1 to R5), but a preferred embodiment Accordingly, it is preferable that the shape of the collision avoidance zones C1 to C2 is set variable according to the current moving speed of the corresponding robots R1 to R5.

도 9b는 도 9a의 충돌회피존이 로봇의 상태에 따라 가변된 예시를 나타낸 도면이다.9B is a view showing an example in which the collision avoidance zone of FIG. 9A is changed according to the state of the robot.

도 9b에 도시한 바와 같이, 로봇(R1, R2) 중 어느 한 로봇(R1)이 고속으로 이동 중일 수 있으며, 고속으로 이동하는 로봇(R1)의 경우에는 해당 로봇(R1)의 주변에 설정되는 충돌회피존(C1´)의 형상을 달리 설정하는 것이 바람직하다.As shown in FIG. 9B, one of the robots R1 and R2 may be moving at high speed, and in the case of the robot R1 moving at a high speed, it is set around the robot R1. It is desirable to set the shape of the collision avoidance zone C1' differently.

즉, 로봇(R1)의 현재 위치를 중심으로, 기본적으로 소정 거리만큼의 범위를 가진 충돌회피존(C1´)을 설정하되, 로봇(R1)이 이동하는 방향에 해당하는 충돌회피존(C1´)의 거리를 로봇(R1)의 이동속도에 따라 더 길게할 수 있다. 도 9b에 도시한 바와 같이, 로봇(R1)의 현재 위치를 중심으로 주변에 설정되는 충돌회피존(C1´)이 로봇(R1)이 고속으로 이동할 때 그 이동방향에 해당하는 충돌회피존(C1´)의 거리를 더 길게함으로써 그 형상이 가변하도록할 수 있다.That is, a collision avoidance zone (C1´) having a range of a predetermined distance is basically set based on the current position of the robot (R1), but a collision avoidance zone (C1´) corresponding to the direction in which the robot (R1) moves. The distance of) can be made longer depending on the moving speed of the robot R1. As shown in FIG. 9B, a collision avoidance zone C1′, which is set around the current position of the robot R1, is a collision avoidance zone C1 corresponding to the moving direction when the robot R1 moves at high speed. The shape can be changed by increasing the distance of ´).

이렇게, 로봇의 주변에 충돌회피존을 설정할 때, 로봇의 이동속도를 고려함으로써, 다른 로봇의 충돌회피존과 겹치거나 다른 로봇이 해당 충돌회피존에 진입하였을 때, 급정거에 의해 이동로봇 또는 리프팅(lifting)하고 있는 이송물의 충격이나 낙하 등을 미연에 방지할 수 있다.In this way, when setting the collision avoidance zone around the robot, by considering the movement speed of the robot, when it overlaps with the collision avoidance zone of another robot or when another robot enters the collision avoidance zone, a mobile robot or a lifting ( It is possible to prevent the impact or falling of the transported material that is being lifted.

다만 리미티드존(ZL1~ZL4) 내에 속한 로봇(R1~R5)에 대해서는 그 로봇 주변에 설정되는 충돌회피존(C1~C2)이 해당 리미티드존(ZL1~ZL4)을 벗어나지 않도록 하는 것이 바람직하다.However, for the robots (R1 to R5) belonging to the limited zones (ZL1 to ZL4), it is desirable that the collision avoidance zones (C1 to C2) set around the robot do not deviate from the corresponding limited zones (ZL1 to ZL4).

왜냐하면, 리미티드존(ZL1~ZL4)에 진입하고자 하는 다른 로봇의 존재로, 그 리미티드존(ZL1~ZL4) 내에서 임무를 완수하고 빨리 이탈하지 못하는 로봇이 발생할 수 있는 문제가 발생하기 때문에다.This is because the existence of other robots who want to enter the limited zone (ZL1-ZL4), and there is a problem that a robot that cannot complete the task and quickly escape within the limited zone (ZL1-ZL4) may occur.

복수로봇 제어방법Multiple robot control method

도 10은 본 발명의 일 실시예에 따른 복수로봇 제어방법에 대한 단계별 흐름도이다.10 is a step-by-step flowchart of a method for controlling a plurality of robots according to an embodiment of the present invention.

도 10에 도시한 바와 같이, 본 발명의 일 실시예에 따른 복수로봇 제어방법은, 로봇(121~123)이 사용자단말기(130)의 요청에 따라 상태정보를 사용자단말기(130)에 전송하거나, 사용자단말기(130)로부터 동작임무를 부여받는 로컬관제서버(121a~123a)를 마련하는 단계(S110)와, 관제서버(110)가 로컬관제서버(121a~123a)를 매개로 사용자단말기(130)의 요청에 따라 복수의 로봇들(R1~R5) 중 적어도 하나의 상태정보를 수집하여 사용자단말기(130)에 전송하는 단계(S121)와, 관제서버(110)가 사용자단말기(130)로부터 복수의 로봇들(R1~R5) 중 적어도 하나에 대한 동작임무를 수신하여 전달하는 단계(S121)를 포함하되, 관제서버(110) 부존재시 로컬관제서버(121a~123a)는 사용자단말기(130)의 요청에 따라 해당하는 로봇(R1~R5)의 상태정보를 사용자단말기(130)에 전송하거나 사용자단말기(130)로부터 동작임무를 부여받을 수 있다.As shown in FIG. 10, in the method for controlling a plurality of robots according to an embodiment of the present invention, the robots 121 to 123 transmit status information to the user terminal 130 at the request of the user terminal 130, or The step (S110) of preparing a local control server (121a ~ 123a) to be assigned an operation task from the user terminal (130) (S110), and the control server (110) through the local control server (121a ~ 123a) the user terminal (130) Collecting at least one of the plurality of robots (R1 ~ R5) according to the request of the step (S121) and transmitting it to the user terminal 130 (S121), and the control server 110 from the user terminal 130 Including the step (S121) of receiving and transmitting the operation task for at least one of the robots (R1 ~ R5), but in the absence of the control server 110, the local control server (121a ~ 123a) is a request from the user terminal (130) Depending on the status information of the corresponding robots (R1 to R5) may be transmitted to the user terminal 130 or may be assigned an operation task from the user terminal 130.

결국, 임무영역 내 로봇(121~123)이 한 대인지, 또는 여러 대인지와 무관하게 관제 환경을 다르게 설계할 필요가 없고, 또 반드시 관제서버(110)를 구비할 필요가 없어, 로봇(121~123)을 활용하고자 하는 임무영역의 규모와 무관하게 로봇(121~123)을 배치하고 신속하게 활용할 수 있는 효과가 있다.In the end, regardless of whether there is one or multiple robots 121 to 123 in the mission area, there is no need to design the control environment differently, and there is no need to have the control server 110 necessarily, the robot 121 There is an effect that robots 121 to 123 can be placed and used quickly regardless of the size of the mission area to be utilized.

상기 복수로봇 제어방법에 포함된 각 단계별 설명은 전술한 것과 중복되므로, 이에 대한 설명은 생략하고 그에 갈음하기로 한다.Since the description of each step included in the method for controlling multiple robots is redundant with that described above, a description thereof will be omitted and replaced.

컴퓨터 판독 가능한 기록 매체Computer readable recording medium

이상 설명된 본 발명의 일 실시예에 따른 복수로봇 제어방법은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. The method for controlling a plurality of robots according to an embodiment of the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium.

상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The computer-readable recording medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded in the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks. media), and a hardware device specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the processing according to the present invention, and vice versa.

이상으로 본 발명의 바람직한 실시예를 도면을 참고하여 상세하게 설명하였다. 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.In the above, preferred embodiments of the present invention have been described in detail with reference to the drawings. The description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that other specific forms can be easily modified without changing the technical spirit or essential features of the present invention.

따라서, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미, 범위 및 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, the scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning, scope and equivalent concepts of the claims are included in the scope of the present invention. It must be interpreted.

100: 복수로봇 제어시스템 110: 관제서버
121~123: 로봇 121a~123a: 로컬관제서버
1211: 제어부 1212: 주행부
1213: 저장부 1214: 센서부
1215: 통신부 1216: 상태검출부
130: 사용자단말기
100: multiple robot control system 110: control server
121~123: Robot 121a~123a: Local control server
1211: control unit 1212: driving unit
1213: storage unit 1214: sensor unit
1215: communication unit 1216: state detection unit
130: user terminal

Claims (10)

사용자단말기;
부여된 동작임무를 수행하는 적어도 하나의 로봇 - 상기 로봇은, 상기 사용자단말기의 요청에 따라 상태정보를 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 동작임무를 부여받는 로컬관제서버를 포함함 -; 및
복수의 상기 로봇들과 통신 가능하도록 연결되어, 상기 복수의 로봇들을 관제하기 위한 관제서버;
를 포함하되,
상기 관제서버는, 상기 로컬관제서버를 매개로 상기 사용자단말기의 요청에 따라 상기 복수의 로봇들 중 적어도 하나의 상태정보를 수집하여 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 복수의 로봇들 중 적어도 하나에 대한 상기 동작임무를 수신하여 전달하고,
상기 관제서버 부존재시 상기 로컬관제서버는, 상기 사용자단말기의 요청에 따라 해당하는 상기 로봇의 상태정보를 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 동작임무를 부여받는 것을 특징으로 하며,
상기 관제서버는, 임무영역 내 적어도 하나의 기능존(zone)을 설정하여, 상기 임무영역 내 복수의 상기 로봇들의 동작임무를 제한하되, 상기 기능존은, 제한된 댓수의 로봇의 진입만 허용하는 리미티드존(limitted zone)을 포함하고,
상기 복수의 로봇 중 어느 하나는, 상기 리미티드존 내 제한된 댓수 만큼의 로봇이 존재하고 있는 경우, 상기 리미티드존 내 어느 하나가 벗어날때까지 상기 리미티드존의 진입 직전에 대기하는 것을 특징으로 하는 복수로봇 제어시스템.
User terminal;
At least one robot performing the assigned operation task-The robot includes a local control server that transmits status information to the user terminal at the request of the user terminal, or receives the operation task from the user terminal- ; And
A control server connected to enable communication with the plurality of robots to control the plurality of robots;
Including,
The control server collects at least one of the plurality of robots according to the request of the user terminal via the local control server and transmits the status information to the user terminal, or from the user terminal to one of the plurality of robots. Receiving and transmitting the operation task for at least one,
In the absence of the control server, the local control server transmits the status information of the robot to the user terminal according to the request of the user terminal, or receives the operation task from the user terminal,
The control server sets at least one functional zone in the mission area to limit the operation tasks of the plurality of robots in the mission area, but the functional zone allows only a limited number of robots to enter. Includes a limited zone,
Any one of the plurality of robots, when there are a limited number of robots in the limited zone, waits immediately before entering the limited zone until any one in the limited zone escapes. system.
제 1 항에 있어서,
상기 사용자단말기는,
관제대상인 어느 하나의 상기 로봇에 의해 생성된 지도를 전달받고, 사용자 입력에 따라 상기 생성된 지도를 수정하여, 상기 생성된 지도를 갱신토록 하는 것을 특징으로 하는 복수로봇 제어시스템.
The method of claim 1,
The user terminal,
A multi-robot control system, characterized in that receiving a map generated by one of the robots to be controlled, modifying the generated map according to a user input, and updating the generated map.
제 1 항에 있어서,
상기 사용자단말기는,
관제대상인 적어도 어느 하나의 상기 로봇에 대한 위치이동명령 및 방향설정명령을 사용자의 드래그앤드롭(drag&drop) 입력에 의하여 한번에 생성하는 것을 특징으로 하는 복수로봇 제어시스템.
The method of claim 1,
The user terminal,
A plurality of robot control system, characterized in that for generating a position movement command and a direction setting command for at least one of the robots to be controlled by a user's drag & drop input at a time.
제 1 항에 있어서,
상기 사용자단말기는,
관제대상인 적어도 어느 하나의 상기 로봇에 대한 상기 동작임무는 스크래치 코딩으로 생성하는 것을 특징으로 하는 복수로봇 제어시스템.
The method of claim 1,
The user terminal,
The multi-robot control system, characterized in that the operation task for at least one of the robots to be controlled is generated by scratch coding.
제 1 항에 있어서,
상기 기능존은, 상기 로봇의 진입을 금지하는 포비든존(forbidden zone), 고속주행을 허용하는 스피드존(speed zone), 또는 경고신호를 출력하도록 하는 알람존(alarm zone)을 더 포함하는 것을 특징으로 하는 복수로봇 제어시스템.
The method of claim 1,
The functional zone further includes a forbidden zone for prohibiting the entry of the robot, a speed zone for allowing high-speed driving, or an alarm zone for outputting a warning signal. Multiple robot control system.
삭제delete 제 1 항에 있어서,
상기 관제서버는,
상기 복수의 로봇들 중 적어도 하나의 현재 위치 주변에 충돌회피존을 설정하고, 상기 로봇 주변에 설정된 상기 충돌회피존에 다른 상기 로봇이 진입하지 못하도록 상기 복수의 로봇들의 이동을 제어하는 것을 특징으로 하는 복수로봇 제어시스템.
The method of claim 1,
The control server,
Setting a collision avoidance zone around at least one current position among the plurality of robots, and controlling movement of the plurality of robots to prevent other robots from entering the collision avoidance zone set around the robot. Multiple robot control system.
제 7 항에 있어서,
상기 관제서버는,
상기 복수의 로봇들에 대해 부여된 우선순위에 따라, 상기 복수의 로봇들의 이동을 제어하는 것을 특징으로 하는 복수로봇 제어시스템.
The method of claim 7,
The control server,
A plurality of robot control system, characterized in that for controlling the movement of the plurality of robots according to the priority given to the plurality of robots.
제 7 항에 있어서,
상기 관제서버는,
상기 로봇 주변의 상기 충돌회피존의 형상을 상기 로봇의 현재 이동속도에 따라 가변설정하는 것을 특징으로 하는 복수로봇 제어시스템.
The method of claim 7,
The control server,
A plurality of robot control system, characterized in that the shape of the collision avoidance zone around the robot is variablely set according to the current moving speed of the robot.
사용자단말기와, 부여된 동작임무를 수행하는 적어도 하나의 로봇과, 복수의 상기 로봇들과 통신 가능하도록 연결되어 상기 복수의 로봇들을 관제하기 위한 관제서버를 포함하는 복수로봇 제어시스템의 제어방법에 있어서,
상기 로봇은, 상기 사용자단말기의 요청에 따라 상태정보를 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 동작임무를 부여받는 로컬관제서버를 마련하는 단계;
상기 관제서버는, 상기 로컬관제서버를 매개로 상기 사용자단말기의 요청에 따라 상기 복수의 로봇들 중 적어도 하나의 상태정보를 수집하여 상기 사용자단말기에 전송하는 단계; 및
상기 관제서버는, 상기 사용자단말기로부터 상기 복수의 로봇들 중 적어도 하나에 대한 상기 동작임무를 수신하여 전달하는 단계;
를 포함하되,
상기 관제서버 부존재시 상기 로컬관제서버는, 상기 사용자단말기의 요청에 따라 해당하는 상기 로봇의 상태정보를 상기 사용자단말기에 전송하거나, 상기 사용자단말기로부터 상기 동작임무를 부여받는 것을 특징으로 하며,
상기 관제서버는, 임무영역 내 적어도 하나의 기능존(zone)을 설정하여, 상기 임무영역 내 복수의 상기 로봇들의 동작임무를 제한하되, 상기 기능존은, 제한된 댓수의 로봇의 진입만 허용하는 리미티드존(limitted zone)을 포함하고,
상기 복수의 로봇 중 어느 하나는, 상기 리미티드존 내 제한된 댓수 만큼의 로봇이 존재하고 있는 경우, 상기 리미티드존 내 어느 하나가 벗어날때까지 상기 리미티드존의 진입 직전에 대기하는 것을 특징으로 하는 복수로봇 제어방법.
In the control method of a multi-robot control system comprising a user terminal, at least one robot performing the assigned operation task, and a control server for controlling the plurality of robots connected to communicate with the plurality of robots ,
The robot may transmit status information to the user terminal according to the request of the user terminal, or provide a local control server for receiving the operation task from the user terminal;
The control server includes the steps of collecting status information of at least one of the plurality of robots according to a request of the user terminal via the local control server and transmitting the status information to the user terminal; And
The control server, receiving and transmitting the operation task for at least one of the plurality of robots from the user terminal;
Including,
In the absence of the control server, the local control server transmits the status information of the robot to the user terminal according to the request of the user terminal, or receives the operation task from the user terminal,
The control server sets at least one functional zone in the mission area to limit the operation tasks of the plurality of robots in the mission area, but the functional zone allows only a limited number of robots to enter. Includes a limited zone,
Any one of the plurality of robots, when there are a limited number of robots in the limited zone, waits immediately before entering the limited zone until any one in the limited zone escapes. Way.
KR1020200026011A 2020-03-02 2020-03-02 System and method for controlling multiple robots KR102245824B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200026011A KR102245824B1 (en) 2020-03-02 2020-03-02 System and method for controlling multiple robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200026011A KR102245824B1 (en) 2020-03-02 2020-03-02 System and method for controlling multiple robots

Publications (1)

Publication Number Publication Date
KR102245824B1 true KR102245824B1 (en) 2021-04-28

Family

ID=75721180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200026011A KR102245824B1 (en) 2020-03-02 2020-03-02 System and method for controlling multiple robots

Country Status (1)

Country Link
KR (1) KR102245824B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024010318A1 (en) * 2022-07-07 2024-01-11 주식회사 케이티 Autonomous driving robot, method for autonomous driving robot operating, autonomous driving robot platform server and method for control of autonomous driving robot using user terminal

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050027952A (en) * 2003-09-16 2005-03-21 혼다 기켄 고교 가부시키가이샤 Image distribution system
JP2007190659A (en) * 2006-01-20 2007-08-02 Advanced Telecommunication Research Institute International Robot remote operation system
KR101152251B1 (en) 2011-10-14 2012-06-08 국방과학연구소 Multi robots control system and method of control the multi robots
KR101668078B1 (en) 2015-04-23 2016-10-19 국방과학연구소 Autonomous robot collaborative system and method
KR101733002B1 (en) 2015-03-05 2017-05-08 국방과학연구소 Unmmaned robot operation method of system assignning multiple missions to a plurality of unmmaned robots and operating the plurality of unmmaned robots based on the aggigned multiple missions
KR20190007285A (en) * 2017-07-12 2019-01-22 엘지전자 주식회사 Moving Robot and controlling method
KR101953145B1 (en) * 2018-02-26 2019-03-05 주식회사 도구공간 Method for controlling mobile robot and apparatus thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050027952A (en) * 2003-09-16 2005-03-21 혼다 기켄 고교 가부시키가이샤 Image distribution system
JP2007190659A (en) * 2006-01-20 2007-08-02 Advanced Telecommunication Research Institute International Robot remote operation system
KR101152251B1 (en) 2011-10-14 2012-06-08 국방과학연구소 Multi robots control system and method of control the multi robots
KR101733002B1 (en) 2015-03-05 2017-05-08 국방과학연구소 Unmmaned robot operation method of system assignning multiple missions to a plurality of unmmaned robots and operating the plurality of unmmaned robots based on the aggigned multiple missions
KR101668078B1 (en) 2015-04-23 2016-10-19 국방과학연구소 Autonomous robot collaborative system and method
KR20190007285A (en) * 2017-07-12 2019-01-22 엘지전자 주식회사 Moving Robot and controlling method
KR101953145B1 (en) * 2018-02-26 2019-03-05 주식회사 도구공간 Method for controlling mobile robot and apparatus thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
공개특허공보 제10-2005-0027952호(2005.03.21.)*
공개특허공보 제10-2019-0007285호(2019.01.22.)*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024010318A1 (en) * 2022-07-07 2024-01-11 주식회사 케이티 Autonomous driving robot, method for autonomous driving robot operating, autonomous driving robot platform server and method for control of autonomous driving robot using user terminal

Similar Documents

Publication Publication Date Title
US11468983B2 (en) Time-dependent navigation of telepresence robots
US11289192B2 (en) Interfacing with a mobile telepresence robot
EP3525992B1 (en) Mobile robot and robotic system comprising a server and the robot
US10335949B2 (en) System for operating mobile robot based on complex map information and operating method thereof
US8577535B2 (en) System and method for providing perceived first-order control of an unmanned vehicle
US9104202B2 (en) Remote vehicle missions and systems for supporting remote vehicle missions
US11958688B2 (en) Area-based operation by autonomous robots in a facility context
US20220357174A1 (en) Stand-alone self-driving material-transport vehicle
KR102245824B1 (en) System and method for controlling multiple robots
AU2011293447B2 (en) Remote vehicle missions and systems for supporting remote vehicle missions
KR102341703B1 (en) Robot for driving optimal path, and method for operating the same
US12124256B2 (en) Systems and methods of remote teleoperation of robotic vehicles
KR20240062983A (en) Method of cost determination for path planning for unmanned vehicle and unmanned vehicle

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant