Nothing Special   »   [go: up one dir, main page]

WO2024101589A1 - Method and system for controlling traveling of mobile robot by using lidar sensor - Google Patents

Method and system for controlling traveling of mobile robot by using lidar sensor Download PDF

Info

Publication number
WO2024101589A1
WO2024101589A1 PCT/KR2023/011097 KR2023011097W WO2024101589A1 WO 2024101589 A1 WO2024101589 A1 WO 2024101589A1 KR 2023011097 W KR2023011097 W KR 2023011097W WO 2024101589 A1 WO2024101589 A1 WO 2024101589A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile robot
area
driving
information
obstacles
Prior art date
Application number
PCT/KR2023/011097
Other languages
French (fr)
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 주식회사 클로봇
Publication of WO2024101589A1 publication Critical patent/WO2024101589A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes

Definitions

  • This disclosure relates to electronic devices. More specifically, the present disclosure relates to a method and system for controlling the driving of a mobile robot using a lidar sensor.
  • service robots can be easily seen in various places such as hotels, shopping malls, and public institutions. These service robots can refer to professional service robots used in companies and public places, general home service robots, and personal service robots.
  • the global service robot market size in 2019 was $9.46 billion, an increase of 14.1% from the previous year. Over the past five years, the service robot market has recorded an average annual growth rate of 21.9% and is expected to grow to $4 billion by 2021.
  • service robots are mostly self-driving robots and are widely used in indoor spaces as housekeeping, greeting guests, and educational robots.
  • the purpose of the embodiments disclosed in this disclosure is to appropriately control the running of a mobile robot.
  • the system according to the present disclosure for achieving the above-described technical problem includes a lidar sensor, a memory for storing map information including static obstacles, starting point information, and destination point information, a behavior unit for performing behavior, and a memory.
  • a mobile robot including a processor that controls the moving part based on information stored in While moving along the driving path, the area where the mobile robot will drive on the driving path is recognized as either a static area or a dynamic area depending on the presence of at least one dynamic obstacle detectable through a lidar sensor, and the driving path recognition The driving of the mobile robot is controlled based on the type of area and the distance information between the driving path and obstacles obtained through the LiDAR sensor.
  • the method of controlling a mobile robot according to the present disclosure for achieving the above-described technical problem sets a driving path for the mobile robot to move based on map information including static obstacles, starting point information, and destination point information.
  • a computer program stored in a computer-readable recording medium for implementing the present disclosure may be further provided.
  • a computer-readable recording medium recording a computer program for implementing the present disclosure may be further provided.
  • the present disclosure provides the effect of appropriately controlling the running of a mobile robot.
  • FIG. 1 is a block diagram for explaining a system according to example embodiments of the present disclosure.
  • Figure 2 is a block diagram for explaining a mobile robot according to example embodiments of the present disclosure.
  • FIG. 3 is a flowchart illustrating a method of controlling a mobile robot according to example embodiments of the present disclosure.
  • FIG. 4 is a flowchart illustrating a method of setting a driving route according to exemplary embodiments of the present disclosure.
  • FIG. 5 is a diagram for conceptually explaining the flowchart shown in FIG. 4.
  • FIG. 6 is a flowchart illustrating a method of controlling the movement of a mobile robot in a dynamic region according to example embodiments of the present disclosure.
  • FIG. 7 is a diagram for conceptually explaining the flowchart shown in FIG. 6.
  • FIG. 8 is a flowchart illustrating in detail a method of controlling the behavior of a mobile robot in a temporarily narrow area due to a dynamically determined dynamic obstacle according to example embodiments of the present disclosure.
  • FIG. 9 is a diagram for conceptually explaining the flowchart shown in FIG. 8.
  • FIG. 10 is a flowchart illustrating a method of controlling the driving of a mobile robot in a static area according to example embodiments of the present disclosure.
  • FIG. 11 is a diagram for conceptually explaining the flowchart shown in FIG. 10.
  • first and second are used to distinguish one component from another component, and the components are not limited by the above-mentioned terms.
  • the identification code for each step is used for convenience of explanation.
  • the identification code does not explain the order of each step, and each step may be performed differently from the specified order unless a specific order is clearly stated in the context. there is.
  • the 'system according to the present disclosure' includes all various devices that can perform computational processing and provide results to the user.
  • the 'system according to the present disclosure' may include all of a computer, a server device, and a portable terminal, or may be in any one form.
  • the computer may include, for example, a laptop equipped with a web browser, a desktop, a laptop, a tablet PC, a slate PC, etc.
  • a server device is a server that processes information by communicating with external devices and may include an application server, computing server, database server, file server, game server, mail server, proxy server, and web server.
  • Portable terminals are, for example, wireless communication devices that ensure portability and mobility, such as PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), and PDA ( Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminal, smart phone All types of handheld wireless communication devices, such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-device (HMD), etc. It can be included.
  • PCS Personal Communication System
  • GSM Global System for Mobile communications
  • PDC Personal Digital Cellular
  • PHS Personal Handyphone System
  • PDA Personal Digital Assistant
  • IMT International Mobile Telecommunication
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband Code Division Multiple Access
  • WiBro Wireless Broadband Internet
  • FIG. 1 is a block diagram for explaining a system according to example embodiments of the present disclosure.
  • the system 10 may include a plurality of LiDAR sensors 100 and a mobile robot 200.
  • the plurality of LiDAR sensors 100 are sensors that measure the position coordinates of a reflector by emitting millions of laser pulses per second and measuring the time it takes for them to reflect and return from an object.
  • the driving method of the plurality of LIDAR sensors 100 may include, for example, a scanning scanner or a scintillation scanner.
  • the main scanner is a method of measuring the distance between the LiDAR sensor and surrounding objects by measuring the time it takes for the laser pulse from the LiDAR sensor to reflect from the subject and return to the LiDAR sensor.
  • Channel units can be divided depending on how much can be divided and scanned during one rotation.
  • the laser emitting unit of the LiDAR sensor which operates as a scanning scanner, can emit a laser beam split as much as the LiDAR channel. The higher the number of channels, the wider the vertical range that can be scanned per rotation, so more detailed measurements can be obtained with high precision.
  • a scintillation scanner may consist of a pulsed laser, a precisely calibrated lens, and a high-performance image sensor.
  • the beam fired by a specific lens called a beam splitter is divided into thousands of branches and fired, and when the beam reflected by the object is received by the photomultiplier tube (PMT) and CCD (Charge Coupled Device) respectively, the returned light is sent to the PMT.
  • the lidar sensor calculates when the reception time of the beam arrived, and the lidar sensor calculates when the specific beam arrived using the image with the pattern reflected on the CCD, so a specific area can be scanned as a whole at once.
  • Scintillation scanners can have the advantage of very high sampling rates.
  • the plurality of LiDAR sensors 100 may be implemented as two-dimensional (2D) LiDAR sensors.
  • a plurality of LIDAR sensors 100 may communicate with the mobile robot 200.
  • the plurality of LIDAR sensors 100 may provide various sensed information to the mobile robot 200.
  • the mobile robot 200 may be an object that can move freely using a moving member.
  • the mobile robot 200 may include wheels.
  • the mobile robot 200 may operate as a caterpillar or may be applied to a drone, ship, or automobile that operates as a propeller.
  • the mobile robot 200 can travel in various directions.
  • the mobile robot 200 may move in a straight line and/or rotate.
  • straight movement may include forward movement or backward movement.
  • Rotational movement may include, for example, left-turning movement or right-turning movement.
  • the mobile robot 200 may provide various sensed information to the mobile robot 200 through the plurality of LIDAR sensors 100.
  • Figure 2 is a block diagram for explaining a mobile robot according to example embodiments of the present disclosure.
  • the mobile robot 200 includes a communication unit 210, a processor 220, a memory 230, a display 240, a user input unit 250, a behavior unit 260, and an interface unit 270. may include.
  • the communication unit 210 may include one or more components that enable communication with an external device, and may include, for example, at least one of a wireless communication module, a short-range communication module, and a location information module.
  • wireless communication modules include GSM (global System for Mobile Communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), and UMTS (universal mobile telecommunications system). ), TDMA (Time Division Multiple Access), LTE (Long Term Evolution), 4G, 5G, 6G, etc. may include a wireless communication module that supports various wireless communication methods.
  • GSM Global System for Mobile Communication
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • UMTS universal mobile telecommunications system
  • TDMA Time Division Multiple Access
  • LTE Long Term Evolution
  • 4G, 5G, 6G, etc. may include a wireless communication module that supports various wireless communication methods.
  • the wireless communication module may include a wireless communication interface including an antenna and a transmitter that transmits a transmission signal. Additionally, the wireless communication module may further include a transmission signal conversion module that modulates a digital control signal into an analog wireless signal through a wireless communication interface.
  • the wireless communication module may include a wireless communication interface including an antenna and a receiver for receiving received signals. Additionally, the wireless communication module may further include a reception signal conversion module for demodulating an analog wireless signal received through a wireless communication interface into a digital control signal.
  • the short-range communication module is for short-range communication and includes BluetoothTM, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, and NFC (Near Field). Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technology can be used to support short-distance communication.
  • the location information module is a module for acquiring the location (or current location) of the mobile robot 200 according to the present disclosure, and representative examples thereof include a Global Positioning System (GPS) module or a Wireless Fidelity (WiFi) module.
  • GPS Global Positioning System
  • Wi-Fi Wireless Fidelity
  • the location of the mobile robot 200 can be acquired using signals sent from GPS satellites.
  • Wi-Fi Wireless Fidelity
  • the location of the mobile robot 200 can be obtained based on information from the Wi-Fi module and a wireless AP (Wireless Access Point) that transmits or receives wireless signals.
  • the location information module may replace or additionally perform any of the functions of other modules of the communication unit to obtain data regarding the location of the mobile robot 200.
  • the location information module is a module used to obtain the location (or current location) of the mobile robot 200, and is not limited to a module that directly calculates or obtains the location of the mobile robot 200.
  • the processor 220 may perform an algorithm for controlling the operations of components within the mobile robot 200.
  • the processor 220 can control the memory 230 that stores data for a program that reproduces the algorithm.
  • the processor 220 may perform the above-described operations using data stored in the memory 230.
  • the memory 230 and the processor 220 may each be implemented as separate chips.
  • the memory 230 and processor 220 may be implemented as a single chip.
  • the processor 220 can control any one or a combination of the above-described components in order to implement various embodiments according to the present disclosure described in FIGS. 3 to 11 below on the mobile robot 200. You can.
  • the processor 220 may control the action unit 260 based on information stored in the memory 230.
  • the processor 220 may set a driving path for the mobile robot 200 to move based on map information, departure point information, and destination point information. And, while the mobile robot 200 moves along the driving path, the processor 220 uses a LiDAR sensor (for example, at least one of the plurality of LiDAR sensors 100 shown in FIG. 1). Depending on the presence or absence of at least one dynamic obstacle that can be detected, the area in which the mobile robot 200 will travel on the travel path may be recognized as either a static area or a dynamic area.
  • the processor 220 can dynamically determine the nature of the area in which the mobile robot 200 will drive while the mobile robot 200 is traveling, and can determine the nature of the area in which the mobile robot 200 will drive, and can determine the nature of the area in which the mobile robot 200 will drive, and can dynamically determine the nature of the area in which the mobile robot 200 will drive. It can be recognized as an area (dynamically narrow area), a constant narrow area caused by obstacles on the map (statically narrow area), or a wide area.
  • the processor 220 may control the driving of the mobile robot through the moving unit 260 based on the driving path, the type of recognized area, and the distance information between the driving path and obstacles obtained through the LiDAR sensor.
  • the memory 230 can store data and programs that support various functions of the mobile robot 200, and can store input/output data (e.g., music files, still images, videos, etc.), and can store data and programs that support various functions of the mobile robot 200.
  • a plurality of application programs (application programs or applications) running in 200, data for operation of the mobile robot 200, and commands may be stored. At least some of these applications may be downloaded from an external server via wireless communication.
  • the memory 230 may be a flash memory type, a hard disk type, a solid state disk type, an SDD type (Silicon Disk Drive type), or a multimedia card micro type. micro type), card-type memory (e.g. SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), EEPROM (electrically erasable) It may include at least one type of storage medium among programmable read-only memory (PROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk. Additionally, the memory 230 is separate from the mobile robot 200, but may be a database connected wired or wirelessly.
  • the memory 230 may store map information, departure point information, and arrival point information.
  • Map information may include information about the surrounding area where the mobile robot 200 will drive. There may be static obstacles around the mobile robot 200 that do not move. Accordingly, map information may include information about static obstacles.
  • the starting point information may be information indicating the starting point of the mobile robot 200.
  • the arrival point information may be information indicating the arrival point of the mobile robot 200.
  • the display unit 240 can implement a touch screen by forming a layered structure or being integrated with the touch sensor.
  • This touch screen can function as a user input unit that provides an input interface between the mobile robot 200 and the user, and at the same time, can provide an output interface between the mobile robot 200 and the user.
  • the display unit 240 displays (outputs) information processed by the mobile robot 200.
  • the display unit 240 displays execution screen information of an application program (for example, an application) running on the mobile robot 200, or a UI (User Interface) or GUI (Graphic User Interface) according to this execution screen information. Information can be displayed.
  • an application program for example, an application
  • UI User Interface
  • GUI Graphic User Interface
  • the user input unit 250 is for receiving information from the user, and information can be input through the user input unit 250.
  • This user input unit 250 is a hardware-type physical key (e.g., a button, dome switch, jog wheel, jog switch, etc. located on at least one of the front, rear, and side of the mobile robot 200). and software touch keys.
  • the touch key consists of a virtual key, soft key, or visual key displayed on the touch screen type display unit 240 through software processing, or It may consist of a touch key placed in a part other than the touch screen.
  • virtual keys or visual keys can be displayed on the touch screen in various forms, for example, graphics, text, icons, videos, or these. It can be done in combination.
  • the moving unit 260 may be a physical component that performs the movements of the mobile robot 200.
  • the moving unit 260 may include wheels for driving the mobile robot 200.
  • the interface unit 270 serves as a passageway for various types of external devices connected to the mobile robot 200.
  • This interface unit 270 includes a device equipped with a wired/wireless headset port, an external charger port, a wired/wireless data port, a memory card port, and an identification module (SIM). It may include at least one of a connection port, an audio input/output (I/O) port, a video input/output (I/O) port, and an earphone port.
  • SIM identification module
  • the mobile robot 200 can perform appropriate control related to external devices connected to the interface unit 270.
  • the mobile robot 200 may further include at least one camera.
  • the camera processes image frames, such as still images or moving images, obtained by the image sensor in shooting mode.
  • the processed image frame may be displayed on the display unit 240 or stored in memory.
  • the mobile robot 200 may further include at least one sensing unit.
  • the sensing unit senses at least one of the internal information of the mobile robot 200, the surrounding environment information surrounding the mobile robot 200, and the user information, and generates a sensing signal corresponding thereto.
  • the sensing unit includes a proximity sensor, illumination sensor, touch sensor, acceleration sensor, magnetic sensor, G-sensor, and gyroscope sensor. sensor, motion sensor, RGB sensor, infrared sensor, fingerprint scan sensor, ultrasonic sensor, optical sensor (e.g.
  • the mobile robot 200 can utilize information sensed by at least two of these sensors by combining them.
  • environmental sensor e.g., including at least one of a barometer, hygrometer, thermometer, radiation detection sensor, heat detection sensor, gas detection sensor
  • chemical sensor e.g., healthcare sensor, biometric sensor etc.
  • the mobile robot 200 can utilize information sensed by at least two of these sensors by combining them.
  • FIG. 3 is a flowchart illustrating a method of controlling a mobile robot according to example embodiments of the present disclosure.
  • a method of controlling a mobile robot may be performed by the processor 220 shown in FIG. 2.
  • a step of setting a driving route based on map information, departure point information, and arrival point information is performed (S100).
  • the processor 220 may set a driving path for the mobile robot 200 to move based on map information including static obstacles, departure point information, and destination point information.
  • a step of recognizing the area in which the mobile robot 200 will travel on the travel path is performed depending on the presence or absence of a dynamic obstacle (S200).
  • the processor 220 controls the mobile robot 200 on the travel path according to the presence or absence of at least one dynamic obstacle detectable through a lidar sensor.
  • the driving area can be recognized as either a static area or a dynamic area.
  • the processor 220 determines the nature of the area in which the mobile robot 200 will drive on the driving path, whether it is a temporary narrow area (dynamically narrow area) caused by dynamic obstacles that are not in the map, or the nature of the area in which the mobile robot 200 will drive. It can be recognized as either a narrow area (statically narrow area) with a constant character caused by existing obstacles, or a wide area.
  • step S200 the processor 220 determines the nature of the area in which the mobile robot 200 will drive on the travel path as a dynamic area in response to at least one dynamic obstacle being recognized by the LiDAR sensor. It can be recognized. Embodiments for this will be described later with reference to FIGS. 6 to 9.
  • the processor 220 may recognize the area in which the mobile robot will drive on the travel path as a static area in response to only static obstacles being recognized by the LiDAR sensor. Embodiments of this will be described later with reference to FIGS. 10 and 11 .
  • a step of controlling the driving of the mobile robot 200 is performed based on the driving path, the type of recognized area, and distance information (S300).
  • the processor 220 controls the driving path, the type of recognized area, and And based on the distance information, the driving of the mobile robot 200 may be controlled.
  • the distance information may be information indicating the distance between the driving path and the obstacle obtained through the LiDAR sensor.
  • FIG. 4 is a flowchart illustrating a method of setting a driving route according to exemplary embodiments of the present disclosure.
  • the method of setting the driving route shown in FIG. 4 may be an embodiment in which step S100 shown in FIG. 3 is embodied.
  • a step of generating a plurality of simulation paths is performed (S110).
  • the processor 220 may generate a plurality of simulation paths on which the mobile robot 200 can travel from a departure point according to the departure point information to an arrival point according to the arrival point information on a map according to the map information.
  • a step of setting a simulation path selected among a plurality of simulation paths as a driving path is performed (S120).
  • the processor 220 may set a simulation path selected according to a preset selection criterion among a plurality of simulation paths as a driving path.
  • the selection criterion may be, for example, selecting the shortest distance between the departure point and the destination point. However, it is not limited to this.
  • FIG. 5 is a diagram for conceptually explaining the flowchart shown in FIG. 4.
  • the system 10 may include a plurality of LIDAR sensors 100 and a mobile robot 200, as described above with reference to FIG. 1 .
  • System 10 may travel in a first direction D1 and/or a second direction D2.
  • Map information may include static obstacles SO1 and SOP2.
  • the system 10 can recognize the departure point (SP) from departure point information and the arrival point (GP) from arrival point information. Additionally, the system 10 may generate a plurality of simulation paths (SP1 to SP5) between the starting point (SP) and the destination point (GP). In FIG. 5, the number of simulation paths is shown as 5, but this is only for explaining example embodiments of the present disclosure and is not limited to what is shown in FIG. 5.
  • the system 10 may set a simulation path (eg, SP3) selected according to a preset selection criterion among the plurality of simulation paths (SP1 to SP5) as the driving path (DP).
  • a simulation path eg, SP3
  • SP3 selected according to a preset selection criterion among the plurality of simulation paths (SP1 to SP5) as the driving path (DP).
  • the system 10 can start from a starting point (SP), drive on a driving path (DP), and move towards a destination point (GP).
  • SP starting point
  • DP driving path
  • GP destination point
  • FIG. 6 is a flowchart illustrating a method of controlling the movement of a mobile robot in a dynamic region according to example embodiments of the present disclosure.
  • step S300 may be a specific method of step S300 that can be performed when at least one dynamic obstacle is recognized by the LiDAR sensor.
  • step S200 shown in FIG. 3 when the processor 220 recognizes the area on the travel path in which the mobile robot 200 will drive as a dynamic area, step S300 is specifically performed as in the method shown in FIG. 6. It can be.
  • a step is performed to obtain information on the shortest distance between the driving path and obstacles using a LiDAR sensor (S310).
  • each of the plurality of LIDAR sensors 100 may measure the shortest distance between the traveling path of the mobile robot 200 and the obstacle for each obstacle. Additionally, each of the plurality of LIDAR sensors 100 may provide shortest distance information indicating the shortest distance to the mobile robot 200.
  • the processor 220 may obtain the shortest distance information from each of the plurality of LIDAR sensors 100.
  • a step of calculating the number of obstacles existing within the reference distance is performed using the shortest distance information (S330). Specifically, the processor 220 may use the shortest distance corresponding to each obstacle to count the number of obstacles corresponding to the shortest distance less than the reference distance.
  • a step of comparing the number of obstacles and the reference number is performed (S350). Specifically, the processor 220 may compare the number of obstacles existing within a reference distance with a preset reference number.
  • a step of controlling the behavior of the mobile robot is performed based on the comparison result (S370).
  • the processor 220 causes the mobile robot ( The behavior of 200) (i.e., the behavior unit 260) can be controlled.
  • the processor 220 determines whether a temporary narrow area (dynamically narrow area) caused by a dynamic obstacle that is not in the map is a temporary wide area (dynamically narrow area). wide area), and control the moving unit 260 of the mobile robot 200 to perform at least one of an avoidance driving operation of the mobile robot 200 and a running waiting operation of the mobile robot 200.
  • the number of obstacles may be less than the reference number. In this case, it may be relatively advantageous for the mobile robot 200 to travel while avoiding dynamic obstacles. Accordingly, in step S370, the processor 220 may control the moving unit 260 to perform an evasive driving operation of the mobile robot 200. Embodiments for this will be described later with reference to FIGS. 8 and 9 .
  • the number of obstacles may be equal to or greater than the reference number. In this case, it may be relatively advantageous for the mobile robot 200 to wait instead of driving while avoiding dynamic obstacles. Accordingly, in step S370, the processor 220 may control the moving unit 260 to perform a driving standby operation of the mobile robot 200. Embodiments for this will be described later with reference to FIGS. 8 and 9 .
  • FIG. 7 is a diagram for conceptually explaining the flowchart shown in FIG. 6.
  • the system 10 can travel a driving path (DP) formed between a starting point (SP) and a destination point (DP).
  • DP driving path
  • Map information stored in system 10 may include static obstacles SO1 and SOP2.
  • a plurality of obstacles may be present in the driving region DR of system 10.
  • the system 10, specifically the plurality of LiDAR sensors 100, can detect a plurality of dynamic obstacles existing in the driving area DR. Additionally, the system 10 can measure the shortest distances between each of the plurality of dynamic obstacles and the driving path DP. System 10 can recognize dynamic obstacles that exist within a reference distance. For example, with reference to Figure 7, system 10 may detect dynamic obstacles DO1, DO2, DO3, and DO4. Additionally, the system 10 can measure the shortest distances (SD1, SD2, SD3, SD4) between each of the dynamic obstacles (DO1, DO2, DO3, DO4) and the driving path (DP). The shortest distances (SD1, SD2, SD3, SD4) are assumed to be smaller than the reference distance. In this case, the number of dynamic obstacles may be four.
  • FIG. 8 is a flowchart illustrating in detail a method of controlling the behavior of a mobile robot in a temporarily narrow area due to a dynamically determined dynamic obstacle according to example embodiments of the present disclosure.
  • the embodiments shown in FIG. 8 may be a specific method of step S370 described above with reference to FIG. 6.
  • a step is performed to compare whether the number of obstacles is smaller than the reference number (S371).
  • the number of obstacles may be the number of dynamic obstacles counted.
  • a step of determining the number of simulation paths that overlap with the dynamic obstacles among the plurality of simulation paths is performed (S372). Specifically, the processor 220 may determine the number of simulation paths that overlap with at least one dynamic obstacle among the remaining simulation paths excluding the selected simulation path from the plurality of simulation paths.
  • a step of selecting one of the avoidance driving operation and the driving waiting operation is performed depending on the number of overlapping simulation paths (S373).
  • the processor 220 may select a driving standby operation as the number of overlapping simulation paths increases.
  • the processor 220 may select an avoidance driving operation as the number of overlapping simulation paths is relatively small.
  • a step of controlling the moving unit 260 of the mobile robot 200 to perform the selected operation is performed (S374).
  • the moving unit 260 of the mobile robot 200 is configured to perform an avoidance driving operation by changing parameters such as driving speed and reducing the gap margin between obstacles. ) is performed (S375).
  • FIG. 9 is a diagram for conceptually explaining the flowchart shown in FIG. 8.
  • the system 10 when the number (e.g., 4) of dynamic obstacles (DO1, DO2, DO3, DO4) is less than the reference number, the system 10 creates a plurality of simulation paths (SP1 to SP4, DP). It is possible to determine the number of simulation paths that overlap with at least one dynamic obstacle among the remaining simulation paths (SP1 to SP4) excluding the simulation path (eg, driving path (DP)) selected in .
  • the first simulation path (SP1) overlaps the first dynamic obstacle (DO1)
  • the second simulation path (SP2) overlaps the second dynamic obstacle (DO2)
  • the third simulation path (SP3) overlaps the third dynamic obstacle (DO1).
  • It overlaps with the dynamic obstacle (DO3), and the fourth simulation path (SP1) may overlap with the third dynamic obstacle (DO3) and the fourth dynamic obstacle (DO4). Accordingly, the number of simulation paths overlapping with at least one dynamic obstacle may be four.
  • the system 10 can perform a driving standby operation.
  • the system 10 may perform an evasive driving operation by temporarily performing the corresponding simulation path.
  • the system 10 may set the corresponding simulation path as the new driving path (DP) and drive on the new driving path (DP). .
  • FIG. 10 is a flowchart illustrating a method of controlling the driving of a mobile robot in a static area according to example embodiments of the present disclosure.
  • step S300 may be a specific method of step S300 that can be performed when a dynamic obstacle is not recognized by the LIDAR sensor.
  • step S200 shown in FIG. 3 when the processor 220 recognizes the area on the travel path in which the mobile robot 200 will drive as a static area, step S300 is specifically performed in the same manner as shown in FIG. 10. It can be.
  • a step of acquiring information on the shortest distance between the driving path and static obstacles is performed through the LiDAR sensor (S320).
  • a step of controlling the behavior of the mobile robot to perform one of the avoidance driving operation of the mobile robot and the running waiting operation of the mobile robot according to the shortest distance information is performed (S340).
  • FIG. 11 is a diagram for conceptually explaining the flowchart shown in FIG. 10.
  • static obstacles SO1 and SO2 may exist in the driving area DR of the system 10. These static obstacles (SO1, SO2) may be included in map information.
  • the system 100 specifically the plurality of LIDAR sensors 100, calculates the shortest distances (SD, SD') between each of the static obstacles (SO1, SO2) and the driving path (DP) to generate shortest distance information. can do.
  • the processor 220 may recognize whether the area formed by the static obstacles SO1 and SO2 in the driving area DR is a narrow area or a wide area based on the shortest distances SD and SD'.
  • the processor 220 can view the statically narrow area as an area that must be passed unconditionally, unlike the dynamically narrow area. Therefore, the processor 220 changes the driving method or parameters to enable passage. You can control the eastern part (260). Meanwhile, the shortest distances SD and SD' are relatively large, so the area formed by the static obstacles SO1 and SO2 in the driving area DR can be recognized as a wide area. Accordingly, the processor 220 may control the moving unit 260 to perform an evasive driving operation. In some embodiments, the avoidance driving operation may be an operation of driving on any one simulation path among the remaining simulation paths that have not been previously selected among a plurality of simulation paths, as described above with reference to FIGS. 5 and 9. .
  • the disclosed embodiments may be implemented in the form of a recording medium that stores instructions executable by a computer. Instructions may be stored in the form of program code, and when executed by a processor, may create program modules to perform operations of the disclosed embodiments.
  • the recording medium may be implemented as a computer-readable recording medium.
  • Computer-readable recording media include all types of recording media storing instructions that can be decoded by a computer. For example, there may be Read Only Memory (ROM), Random Access Memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, etc.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • magnetic tape magnetic tape
  • magnetic disk magnetic disk
  • flash memory optical data storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Optics & Photonics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The present disclosure relates to a method and a system for controlling the traveling of a mobile robot by using a LiDAR sensor. The method of the present disclosure comprises the steps of: setting, on the basis of departure information, destination information and map information that includes static obstacles, a traveling path on which a mobile robot is to move; recognizing, to be any one of a static region and a dynamic region, a region in which the mobile robot is to travel on the traveling path according to whether there is at least one dynamic obstacle that can be detected through a LiDAR sensor; and controlling the traveling of the mobile robot on the basis of the traveling path, the type of the recognized region, and distance information between the traveling path and an obstacle, acquired through the LiDAR sensor.

Description

라이다 센서를 이용하여 이동 로봇의 주행을 제어하기 위한 방법 및 시스템Method and system for controlling the driving of a mobile robot using a lidar sensor
본 개시는 전자 장치에 관한 것이다. 보다 상세하게는, 본 개시는 라이다 센서를 이용하여 이동 로봇의 주행을 제어하기 위한 방법 및 시스템에 관한 것이다.This disclosure relates to electronic devices. More specifically, the present disclosure relates to a method and system for controlling the driving of a mobile robot using a lidar sensor.
최근 들어 호텔, 쇼핑몰, 공공기관 등 다양한 곳에서 서비스 로봇을 쉽게 볼 수 있게 되었다. 이러한, 서비스 로봇은 기업, 공공장소에서 사용하는 전문용 서비스 로봇(Professional Service Robot), 일반 가정 서비스 로봇 및 개인용 서비스 로봇(Personal Service Robot)을 모두 뜻할 수 있다.Recently, service robots can be easily seen in various places such as hotels, shopping malls, and public institutions. These service robots can refer to professional service robots used in companies and public places, general home service robots, and personal service robots.
2019년 세계 서비스 로봇 시장 규모는 94억 6000만달러로 전년대비 14.1% 증가했다. 지난 5년간 서비스로봇 시장은 연평균 21.9% 성장률을 기록했으며 2021년에는 40억 달러까지 규모가 커질 것으로 전망된다.The global service robot market size in 2019 was $9.46 billion, an increase of 14.1% from the previous year. Over the past five years, the service robot market has recorded an average annual growth rate of 21.9% and is expected to grow to $4 billion by 2021.
특히, 서비스 로봇은 대부분 자율 주행 로봇으로 가사, 손님맞이, 교육용 로봇으로 실내 공간에서 많이 사용되고 있다.In particular, service robots are mostly self-driving robots and are widely used in indoor spaces as housekeeping, greeting guests, and educational robots.
실내 공간은 벽, 기둥, 의자, 책상, 책장, 복합기 등 자율 주행 로봇의 움직임에 제한이 되는 장애물이 많다. 반면, 실내 공간에서 자율 주행 로봇이 부딪혀도 손상되지 않는 비회피 물체도 존재한다.Indoor spaces have many obstacles that limit the movement of self-driving robots, such as walls, pillars, chairs, desks, bookshelves, and multi-function printers. On the other hand, there are non-avoidable objects in indoor spaces that are not damaged even if they are hit by a self-driving robot.
그러나, 대부분 실내에서 주행하는 자율 주행 로봇은 비회피 물체에 대해서도 장애물로 인식하여 회피하여 주행함으로 자율 주행의 효율이 떨어진다.However, self-driving robots that mostly drive indoors recognize non-avoidable objects as obstacles and avoid them when driving, which reduces the efficiency of autonomous driving.
따라서, 실내에서 비회피 물체에 대해 스스로 판단하여 자동 주행에 대한 정확도와 효율성을 높이는 방안이 필요하다.Therefore, a method is needed to increase the accuracy and efficiency of automatic driving by independently determining non-avoidable objects indoors.
본 개시에 개시된 실시예는, 이동 로봇의 주행을 적절히 제어하는 데 그 목적이 있다. The purpose of the embodiments disclosed in this disclosure is to appropriately control the running of a mobile robot.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present disclosure are not limited to the problems mentioned above, and other problems not mentioned can be clearly understood by those skilled in the art from the description below.
상술한 기술적 과제를 달성하기 위한 본 개시에 따른 시스템은, 라이다 센서, 및 정적 장애물을 포함하는 맵 정보, 출발 지점 정보, 및 도착 지점 정보를 저장하는 메모리, 거동을 수행하는 거동부, 및 메모리에 저장된 정보를 기초로 거동부를 제어하는 프로세서를 포함하는 이동 로봇을 포함하고, 프로세서는, 맵 정보, 출발 지점 정보, 도착 지점 정보를 기초로, 이동 로봇이 이동할 주행 경로를 설정하고, 이동 로봇이 주행 경로를 따라 이동하는 동안, 라이다 센서를 통해 검출 가능한 적어도 하나의 동적 장애물의 존재 여부에 따라 주행 경로 상에서 이동 로봇이 주행할 영역을 정적 영역과 동적 영역 중 어느 하나로 인식하고, 주행 경로, 인식된 영역의 종류, 및 라이다 센서를 통해 획득된 주행 경로와 장애물 간의 거리 정보를 기초로, 이동 로봇의 주행을 제어한다.The system according to the present disclosure for achieving the above-described technical problem includes a lidar sensor, a memory for storing map information including static obstacles, starting point information, and destination point information, a behavior unit for performing behavior, and a memory. A mobile robot including a processor that controls the moving part based on information stored in While moving along the driving path, the area where the mobile robot will drive on the driving path is recognized as either a static area or a dynamic area depending on the presence of at least one dynamic obstacle detectable through a lidar sensor, and the driving path recognition The driving of the mobile robot is controlled based on the type of area and the distance information between the driving path and obstacles obtained through the LiDAR sensor.
또한, 상술한 기술적 과제를 달성하기 위한 본 개시에 따른 이동 로봇을 제어하는 방법은, 정적 장애물을 포함하는 맵 정보, 출발 지점 정보, 및 도착 지점 정보를 기초로, 이동 로봇이 이동할 주행 경로를 설정하는 단계, 이동 로봇이 주행 경로를 따라 이동하는 동안, 라이다(LiDAR) 센서를 통해 검출 가능한 적어도 하나의 동적 장애물의 존재 여부에 따라 주행 경로 상에서 이동 로봇이 주행할 영역을 정적 영역과 동적 영역 중 어느 하나로 인식하는 단계, 및 주행 경로, 인식된 영역의 종류, 및 라이다 센서를 통해 획득된 주행 경로와 장애물 간의 거리 정보를 기초로, 이동 로봇의 주행을 제어하는 단계를 포함한다.In addition, the method of controlling a mobile robot according to the present disclosure for achieving the above-described technical problem sets a driving path for the mobile robot to move based on map information including static obstacles, starting point information, and destination point information. Step: While the mobile robot moves along the driving path, the area in which the mobile robot will drive is selected among the static area and the dynamic area on the driving path depending on the presence of at least one dynamic obstacle detectable through a LiDAR sensor. Recognizing it as one, and controlling the driving of the mobile robot based on the driving path, the type of recognized area, and the distance information between the driving path and obstacles obtained through the LiDAR sensor.
이 외에도, 본 개시를 구현하기 위한 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 더 제공될 수 있다.In addition to this, a computer program stored in a computer-readable recording medium for implementing the present disclosure may be further provided.
이 외에도, 본 개시를 구현하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition, a computer-readable recording medium recording a computer program for implementing the present disclosure may be further provided.
본 개시의 전술한 과제 해결 수단에 의하면, 본 개시는 이동 로봇의 주행을 적절히 제어하는 효과를 제공한다.According to the above-described problem solving means of the present disclosure, the present disclosure provides the effect of appropriately controlling the running of a mobile robot.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned may be clearly understood by those skilled in the art from the description below.
도 1은 본 개시의 예시적인 실시예들에 따른 시스템을 설명하기 위한 블록도이다.1 is a block diagram for explaining a system according to example embodiments of the present disclosure.
도 2는 본 개시의 예시적인 실시예들에 따른 이동 로봇을 설명하기 위한 블록도이다.Figure 2 is a block diagram for explaining a mobile robot according to example embodiments of the present disclosure.
도 3은 본 개시의 예시적인 실시예들에 따른 이동 로봇을 제어하는 방법을 설명하기 위한 흐름도이다.FIG. 3 is a flowchart illustrating a method of controlling a mobile robot according to example embodiments of the present disclosure.
도 4는 본 개시의 예시적인 실시예들에 따른 주행 경로를 설정하는 방법을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating a method of setting a driving route according to exemplary embodiments of the present disclosure.
도 5는 도 4에 도시된 흐름도를 개념적으로 설명하기 위한 도면이다.FIG. 5 is a diagram for conceptually explaining the flowchart shown in FIG. 4.
도 6은 본 개시의 예시적인 실시예들에 따른 동적 영역에서의 이동 로봇의 주행을 제어하는 방법을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart illustrating a method of controlling the movement of a mobile robot in a dynamic region according to example embodiments of the present disclosure.
도 7은 도 6에 도시된 흐름도를 개념적으로 설명하기 위한 도면이다.FIG. 7 is a diagram for conceptually explaining the flowchart shown in FIG. 6.
도 8은 본 개시의 예시적인 실시예들에 따른 동적으로 판단한 동적 장애물에 의한 일시적인 좁은 영역에서의 이동 로봇의 거동을 제어하는 방법을 구체적으로 설명하기 위한 흐름도이다.FIG. 8 is a flowchart illustrating in detail a method of controlling the behavior of a mobile robot in a temporarily narrow area due to a dynamically determined dynamic obstacle according to example embodiments of the present disclosure.
도 9는 도 8에 도시된 흐름도를 개념적으로 설명하기 위한 도면이다.FIG. 9 is a diagram for conceptually explaining the flowchart shown in FIG. 8.
도 10은 본 개시의 예시적인 실시예들에 따른 정적 영역에서의 이동 로봇의 주행을 제어하는 방법을 설명하기 위한 흐름도이다.FIG. 10 is a flowchart illustrating a method of controlling the driving of a mobile robot in a static area according to example embodiments of the present disclosure.
도 11은 도 10에 도시된 흐름도를 개념적으로 설명하기 위한 도면이다.FIG. 11 is a diagram for conceptually explaining the flowchart shown in FIG. 10.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 '부, 모듈, 부재, 블록'이라는 용어는 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다. Like reference numerals refer to like elements throughout this disclosure. This disclosure does not describe all elements of the embodiments, and general content or overlapping content between embodiments in the technical field to which this disclosure pertains is omitted. The term 'part, module, member, block' used in the specification may be implemented as software or hardware, and depending on the embodiment, a plurality of 'part, module, member, block' may be implemented as a single component, or It is also possible for one 'part, module, member, or block' to include multiple components.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.Throughout the specification, when a part is said to be “connected” to another part, this includes not only direct connection but also indirect connection, and indirect connection includes connection through a wireless communication network. do.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Additionally, when a part "includes" a certain component, this means that it may further include other components rather than excluding other components, unless specifically stated to the contrary.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.Throughout the specification, when a member is said to be located “on” another member, this includes not only cases where a member is in contact with another member, but also cases where another member exists between the two members.
제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다. Terms such as first and second are used to distinguish one component from another component, and the components are not limited by the above-mentioned terms.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.Singular expressions include plural expressions unless the context clearly makes an exception.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다. The identification code for each step is used for convenience of explanation. The identification code does not explain the order of each step, and each step may be performed differently from the specified order unless a specific order is clearly stated in the context. there is.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.Hereinafter, the operating principle and embodiments of the present disclosure will be described with reference to the attached drawings.
본 명세서에서 '본 개시에 따른 시스템'은 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, '본 개시에 따른 시스템'은, 컴퓨터, 서버 장치 및 휴대용 단말기를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.In this specification, the 'system according to the present disclosure' includes all various devices that can perform computational processing and provide results to the user. For example, the 'system according to the present disclosure' may include all of a computer, a server device, and a portable terminal, or may be in any one form.
여기에서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC 등을 포함할 수 있다.Here, the computer may include, for example, a laptop equipped with a web browser, a desktop, a laptop, a tablet PC, a slate PC, etc.
서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 게임 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다. A server device is a server that processes information by communicating with external devices and may include an application server, computing server, database server, file server, game server, mail server, proxy server, and web server.
휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다. Portable terminals are, for example, wireless communication devices that ensure portability and mobility, such as PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), and PDA ( Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminal, smart phone All types of handheld wireless communication devices, such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-device (HMD), etc. It can be included.
도 1은 본 개시의 예시적인 실시예들에 따른 시스템을 설명하기 위한 블록도이다.1 is a block diagram for explaining a system according to example embodiments of the present disclosure.
도 1을 참조하면, 시스템(10)은 복수의 라이다(LiDAR) 센서들(100) 및 이동 로봇(200)을 포함할 수 있다.Referring to FIG. 1 , the system 10 may include a plurality of LiDAR sensors 100 and a mobile robot 200.
복수의 라이다 센서들(100)은 초당 수백 만개에 달하는 레이저 펄스를 발사하여 물체로부터 반사되어 되돌아오는 시간을 측정하여 반사체의 위치 좌표를 측정하는 센서이다. The plurality of LiDAR sensors 100 are sensors that measure the position coordinates of a reflector by emitting millions of laser pulses per second and measuring the time it takes for them to reflect and return from an object.
복수의 라이다 센서들(100)의 구동 방식은, 예를 들면, 주사식 스캐너, 섬광 스캐너 등이 있을 수 있다. 주자식 스캐너는 라이다 센서에서 나온 레이저 펄스가 피사체에서 반사된 뒤 다시 라이다 센서로 돌아오기까지의 시간을 측정함으로써, 라이다 센서와 주변 물체까지의 거리를 측정하는 방식이다. 1회 회전하는 동안 얼마만큼 쪼개서 스캔이 가능한 지에 따라 채널 단위가 나뉘어 질 수 있다. 주사식 스캐너로 동작하는 라이다 센서의 레이저 발광부는 라이다의 채널만큼 쪼개진 레이저 빔을 방사할 수 있다. 채널 수가 높을수록 1회 회전당 스캐닝할 수 있는 수직 범위가 넓어지므로 더욱 세밀하게, 측정 값이 높은 정밀도로 획득될 수 있다. 섬광 스캐너는 펄스 레이저와 정밀하게 교정된 렌즈, 그리고 고성능 이미지 센서를 통해 구성된 방식일 수 있다. 빔 스플리터라고 불리는 특정한 렌즈에 의해 발사된 빔이 수천 갈래로 나누어져 발사되며, 이후 물체에 반사된 빔이 광전자 증배관(PMT)과 CCD(Charge Coupled Device)에 각각 수신될 때, PMT에는 되돌아온 빛의 수신 시간이 언제 도착했는지 라이다 센서가 연산하고, CCD에는 패턴이 반사된 이미지가 촬영된 것을 사용해 특정 빔이 언제 도착했는지를 라이다 센서가 연산함으로써, 한번에 특정 영역이 전체적으로 스캔될 수 있다. 섬광 스캐너는 샘플링 레이트가 매우 높은 것이 장점일 수 있다.The driving method of the plurality of LIDAR sensors 100 may include, for example, a scanning scanner or a scintillation scanner. The main scanner is a method of measuring the distance between the LiDAR sensor and surrounding objects by measuring the time it takes for the laser pulse from the LiDAR sensor to reflect from the subject and return to the LiDAR sensor. Channel units can be divided depending on how much can be divided and scanned during one rotation. The laser emitting unit of the LiDAR sensor, which operates as a scanning scanner, can emit a laser beam split as much as the LiDAR channel. The higher the number of channels, the wider the vertical range that can be scanned per rotation, so more detailed measurements can be obtained with high precision. A scintillation scanner may consist of a pulsed laser, a precisely calibrated lens, and a high-performance image sensor. The beam fired by a specific lens called a beam splitter is divided into thousands of branches and fired, and when the beam reflected by the object is received by the photomultiplier tube (PMT) and CCD (Charge Coupled Device) respectively, the returned light is sent to the PMT. The lidar sensor calculates when the reception time of the beam arrived, and the lidar sensor calculates when the specific beam arrived using the image with the pattern reflected on the CCD, so a specific area can be scanned as a whole at once. Scintillation scanners can have the advantage of very high sampling rates.
일부 실시예들에서, 복수의 라이다 센서들(100)은 2차원(2D) 라이다 센서로 구현될 수 있다.In some embodiments, the plurality of LiDAR sensors 100 may be implemented as two-dimensional (2D) LiDAR sensors.
복수의 라이다 센서들(100)은 이동 로봇(200)과 통신을 수행할 수 있다. 복수의 라이다 센서들(100)은 감지된 각종 정보를 이동 로봇(200)에 제공할 수 있다.A plurality of LIDAR sensors 100 may communicate with the mobile robot 200. The plurality of LIDAR sensors 100 may provide various sensed information to the mobile robot 200.
이동 로봇(200)은 이동 부재를 이용해 자유롭게 이동할 수 있는 물체일 수 있다. 예를 들면, 이동 로봇(200)은 바퀴를 포함할 수 있다. 하지만, 이에 한정되는 것은 아니며, 다른 예를 들면, 이동 로봇(200)은 캐터필러로 동작하거나, 프로펠러로 동작하는 드론, 선박, 자동차 등에 적용될 수 있다.The mobile robot 200 may be an object that can move freely using a moving member. For example, the mobile robot 200 may include wheels. However, it is not limited to this, and for another example, the mobile robot 200 may operate as a caterpillar or may be applied to a drone, ship, or automobile that operates as a propeller.
이동 로봇(200)은 다양한 방향으로 주행할 수 있다. 이동 로봇(200)은 직선 이동 및/또는 회전 이동할 수 있다. 여기서, 직선 이동은 전진 이동 또는 후진 이동을 포함할 수 있다. 회전 이동은, 예를 들면, 좌회전 이동 또는 우회전 이동을 포함할 수 있다.The mobile robot 200 can travel in various directions. The mobile robot 200 may move in a straight line and/or rotate. Here, straight movement may include forward movement or backward movement. Rotational movement may include, for example, left-turning movement or right-turning movement.
이동 로봇(200)은 복수의 라이다 센서들(100)은 감지된 각종 정보를 이동 로봇(200)에 제공할 수 있다.The mobile robot 200 may provide various sensed information to the mobile robot 200 through the plurality of LIDAR sensors 100.
도 2는 본 개시의 예시적인 실시예들에 따른 이동 로봇을 설명하기 위한 블록도이다.Figure 2 is a block diagram for explaining a mobile robot according to example embodiments of the present disclosure.
도 2를 참조하면, 이동 로봇(200)은 통신부(210), 프로세서(220), 메모리(230), 디스플레이(240), 사용자 입력부(250), 거동부(260), 및 인터페이스부(270)를 포함할 수 있다.Referring to FIG. 2, the mobile robot 200 includes a communication unit 210, a processor 220, a memory 230, a display 240, a user input unit 250, a behavior unit 260, and an interface unit 270. may include.
통신부(210)는 외부 장치와 통신을 가능하게 하는 하나 이상의 구성 요소를 포함할 수 있으며, 예를 들어, 무선 통신 모듈, 근거리 통신 모듈, 및 위치 정보 모듈 중 적어도 하나를 포함할 수 있다.The communication unit 210 may include one or more components that enable communication with an external device, and may include, for example, at least one of a wireless communication module, a short-range communication module, and a location information module.
무선 통신 모듈은 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.In addition to Wi-Fi modules and WiBro (Wireless broadband) modules, wireless communication modules include GSM (global System for Mobile Communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), and UMTS (universal mobile telecommunications system). ), TDMA (Time Division Multiple Access), LTE (Long Term Evolution), 4G, 5G, 6G, etc. may include a wireless communication module that supports various wireless communication methods.
무선 통신 모듈은 송신 신호를 송신하는 안테나 및 송신기(Transmitter)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 무선 통신 인터페이스를 통해 디지털 제어 신호를 아날로그 형태의 무선 신호로 변조하는 송신 신호 변환 모듈을 더 포함할 수 있다.The wireless communication module may include a wireless communication interface including an antenna and a transmitter that transmits a transmission signal. Additionally, the wireless communication module may further include a transmission signal conversion module that modulates a digital control signal into an analog wireless signal through a wireless communication interface.
무선 통신 모듈은 수신 신호를 수신하는 안테나 및 수신기(Receiver)를 포함하는 무선 통신 인터페이스를 포함할 수 있다. 또한, 무선 통신 모듈은 무선 통신 인터페이스를 통하여 수신한 아날로그 형태의 무선 신호를 디지털 제어 신호로 복조하기 위한 수신 신호 변환 모듈을 더 포함할 수 있다.The wireless communication module may include a wireless communication interface including an antenna and a receiver for receiving received signals. Additionally, the wireless communication module may further include a reception signal conversion module for demodulating an analog wireless signal received through a wireless communication interface into a digital control signal.
근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다.The short-range communication module is for short-range communication and includes Bluetooth™, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, and NFC (Near Field). Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technology can be used to support short-distance communication.
위치 정보 모듈은 본 개시에 따른 이동 로봇(200)의 위치(또는 현재 위치)를 획득하기 위한 모듈로서, 그의 대표적인 예로는 GPS(Global Positioning System) 모듈 또는 WiFi(Wireless Fidelity) 모듈이 있다. 예를 들어, GPS모듈을 활용하면, GPS 위성에서 보내는 신호를 이용하여 이동 로봇(200)의 위치를 획득할 수 있다. 다른 예로서, Wi-Fi모듈을 활용하면, Wi-Fi모듈과 무선신호를 송신 또는 수신하는 무선 AP(Wireless Access Point)의 정보에 기반하여, 이동 로봇(200)의 위치를 획득할 수 있다. 필요에 따라서, 위치 정보 모듈은 치환 또는 부가적으로 이동 로봇(200)의 위치에 관한 데이터를 얻기 위해 통신부의 다른 모듈 중 어느 기능을 수행할 수 있다. 위치 정보 모듈은 이동 로봇(200)의 위치(또는 현재 위치)를 획득하기 위해 이용되는 모듈로, 이동 로봇(200)의 위치를 직접적으로 계산하거나 획득하는 모듈로 한정되지는 않는다.The location information module is a module for acquiring the location (or current location) of the mobile robot 200 according to the present disclosure, and representative examples thereof include a Global Positioning System (GPS) module or a Wireless Fidelity (WiFi) module. For example, by using a GPS module, the location of the mobile robot 200 can be acquired using signals sent from GPS satellites. As another example, by using a Wi-Fi module, the location of the mobile robot 200 can be obtained based on information from the Wi-Fi module and a wireless AP (Wireless Access Point) that transmits or receives wireless signals. If necessary, the location information module may replace or additionally perform any of the functions of other modules of the communication unit to obtain data regarding the location of the mobile robot 200. The location information module is a module used to obtain the location (or current location) of the mobile robot 200, and is not limited to a module that directly calculates or obtains the location of the mobile robot 200.
프로세서(220)는 이동 로봇(200) 내의 구성요소들의 동작을 제어하기 위한 알고리즘을 수행할 수 있다. 프로세서(220)는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리(230)를 제어할 수 있다. 프로세서(220)는 메모리(230)에 저장된 데이터를 이용하여 전술한 동작을 수행할 수 있다. 이때, 메모리(230)와 프로세서(220)는 각각 별개의 칩으로 구현될 수 있다. 또는, 메모리(230)와 프로세서(220)는 단일 칩으로 구현될 수도 있다. 또한, 프로세서(220)는 이하의 도 3 내지 도 11에서 설명되는 본 개시에 따른 다양한 실시 예들을 이동 로봇(200) 상에서 구현하기 위하여, 위에서 살펴본 구성요소들을 중 어느 하나 또는 복수를 조합하여 제어할 수 있다.The processor 220 may perform an algorithm for controlling the operations of components within the mobile robot 200. The processor 220 can control the memory 230 that stores data for a program that reproduces the algorithm. The processor 220 may perform the above-described operations using data stored in the memory 230. At this time, the memory 230 and the processor 220 may each be implemented as separate chips. Alternatively, the memory 230 and processor 220 may be implemented as a single chip. In addition, the processor 220 can control any one or a combination of the above-described components in order to implement various embodiments according to the present disclosure described in FIGS. 3 to 11 below on the mobile robot 200. You can.
프로세서(220)는 메모리(230)에 저장된 정보를 기초로 거동부(260)를 제어할 수 있다. 프로세서(220)는 맵 정보, 출발 지점 정보, 도착 지점 정보를 기초로, 이동 로봇(200)이 이동할 주행 경로를 설정할 수 있다. 그리고, 프로세서(220)는, 이동 로봇(200)이 주행 경로를 따라 이동하는 동안, 라이다 센서(예를 들면, 도 1에 도시된 복수의 라이다 센서들(100) 중 적어도 하나)를 통해 검출 가능한 적어도 하나의 동적 장애물의 존재 여부에 따라 주행 경로 상에서 이동 로봇(200)이 주행할 영역을 정적 영역과 동적 영역 중 어느 하나로 인식할 수 있다. 구체적으로, 프로세서(220)는, 이동 로봇(200)이 주행할 영역의 성격을, 이동 로봇(200)의 주행을 진행하면서 동적으로 판단할 수 있으며, 맵에 없는 동적 장애물에 의한 일시적인 성격의 좁은 영역(동적으로 좁은 영역)인지, 맵에 있는 장애물에 의한 항시적인 성격의 좁은 영역(정적으로 좁은 영역)인지, 넓은 영역인지 중 어느 하나로 인식할 수 있다. 프로세서(220)는 주행 경로, 인식된 영역의 종류, 및 라이다 센서를 통해 획득된 주행 경로와 장애물 간의 거리 정보를 기초로, 거동부(260)를 통해 이동 로봇의 주행을 제어할 수 있다.The processor 220 may control the action unit 260 based on information stored in the memory 230. The processor 220 may set a driving path for the mobile robot 200 to move based on map information, departure point information, and destination point information. And, while the mobile robot 200 moves along the driving path, the processor 220 uses a LiDAR sensor (for example, at least one of the plurality of LiDAR sensors 100 shown in FIG. 1). Depending on the presence or absence of at least one dynamic obstacle that can be detected, the area in which the mobile robot 200 will travel on the travel path may be recognized as either a static area or a dynamic area. Specifically, the processor 220 can dynamically determine the nature of the area in which the mobile robot 200 will drive while the mobile robot 200 is traveling, and can determine the nature of the area in which the mobile robot 200 will drive, and can determine the nature of the area in which the mobile robot 200 will drive, and can dynamically determine the nature of the area in which the mobile robot 200 will drive. It can be recognized as an area (dynamically narrow area), a constant narrow area caused by obstacles on the map (statically narrow area), or a wide area. The processor 220 may control the driving of the mobile robot through the moving unit 260 based on the driving path, the type of recognized area, and the distance information between the driving path and obstacles obtained through the LiDAR sensor.
메모리(230)는 이동 로봇(200)의 다양한 기능을 지원하는 데이터와 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 음악 파일, 정지영상, 동영상 등)을 저장할 있고, 이동 로봇(200)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 이동 로봇(200)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. The memory 230 can store data and programs that support various functions of the mobile robot 200, and can store input/output data (e.g., music files, still images, videos, etc.), and can store data and programs that support various functions of the mobile robot 200. A plurality of application programs (application programs or applications) running in 200, data for operation of the mobile robot 200, and commands may be stored. At least some of these applications may be downloaded from an external server via wireless communication.
이러한, 메모리(230)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(230)는 이동 로봇(200)과는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.The memory 230 may be a flash memory type, a hard disk type, a solid state disk type, an SDD type (Silicon Disk Drive type), or a multimedia card micro type. micro type), card-type memory (e.g. SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), EEPROM (electrically erasable) It may include at least one type of storage medium among programmable read-only memory (PROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk. Additionally, the memory 230 is separate from the mobile robot 200, but may be a database connected wired or wirelessly.
메모리(230)는 맵 정보, 출발 지점 정보, 및 도착 지점 정보를 저장할 수 있다. 맵 정보는 이동 로봇(200)이 주행할 주변 영역에 대한 정보를 포함할 수 있다. 이동 로봇(200)의 주변에는 움직이지 않는 정적 장애물이 존재할 수 있다. 따라서, 맵 정보는 정적 장애물에 관한 정보를 포함할 수 있다. 출발 지점 정보는 이동 로봇(200)의 출발 지점을 나타내는 정보일 수 있다. 도착 지점 정보는 이동 로봇(200)의 도착 지점을 나타내는 정보일 수 있다.The memory 230 may store map information, departure point information, and arrival point information. Map information may include information about the surrounding area where the mobile robot 200 will drive. There may be static obstacles around the mobile robot 200 that do not move. Accordingly, map information may include information about static obstacles. The starting point information may be information indicating the starting point of the mobile robot 200. The arrival point information may be information indicating the arrival point of the mobile robot 200.
디스플레이부(240)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 이동 로봇(200)과 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부로써 기능함과 동시에, 이동 로봇(200)과 사용자 간에 출력 인터페이스를 제공할 수 있다.The display unit 240 can implement a touch screen by forming a layered structure or being integrated with the touch sensor. This touch screen can function as a user input unit that provides an input interface between the mobile robot 200 and the user, and at the same time, can provide an output interface between the mobile robot 200 and the user.
디스플레이부(240)는 이동 로봇(200)에서 처리되는 정보를 표시(출력)한다. 예를 들어, 디스플레이부(240)는 이동 로봇(200)에서 구동되는 응용 프로그램(일 예로, 어플리케이션)의 실행화면 정보, 또는 이러한 실행화면 정보에 따른 UI(User Interface), GUI(Graphic User Interface) 정보를 표시할 수 있다.The display unit 240 displays (outputs) information processed by the mobile robot 200. For example, the display unit 240 displays execution screen information of an application program (for example, an application) running on the mobile robot 200, or a UI (User Interface) or GUI (Graphic User Interface) according to this execution screen information. Information can be displayed.
사용자 입력부(250)는 사용자로부터 정보를 입력받기 위한 것으로서, 사용자 입력부(250)를 통해 정보가 입력될 수 있다. 이러한, 사용자 입력부(250)는 하드웨어식 물리 키(예를 들어, 이동 로봇(200)의 전면, 후면 및 측면 중 적어도 하나에 위치하는 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 소프트웨어식 터치 키를 포함할 수 있다. 일 예로서, 터치 키는, 소프트웨어적인 처리를 통해 터치스크린 타입의 디스플레이부(240) 상에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다.The user input unit 250 is for receiving information from the user, and information can be input through the user input unit 250. This user input unit 250 is a hardware-type physical key (e.g., a button, dome switch, jog wheel, jog switch, etc. located on at least one of the front, rear, and side of the mobile robot 200). and software touch keys. As an example, the touch key consists of a virtual key, soft key, or visual key displayed on the touch screen type display unit 240 through software processing, or It may consist of a touch key placed in a part other than the touch screen. On the other hand, virtual keys or visual keys can be displayed on the touch screen in various forms, for example, graphics, text, icons, videos, or these. It can be done in combination.
거동부(260)는 이동 로봇(200)의 거동을 수행하는 물리적 구성일 수 있다. 예를 들면, 거동부(260)는 이동 로봇(200)의 주행을 위한 바퀴를 포함할 수 있다. The moving unit 260 may be a physical component that performs the movements of the mobile robot 200. For example, the moving unit 260 may include wheels for driving the mobile robot 200.
인터페이스부(270)는 이동 로봇(200)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부(270)는 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈(SIM)이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 중 적어도 하나를 포함할 수 있다. 이동 로봇(200)에서는, 인터페이스부(270)에 연결된 외부 기기와 관련된 적절한 제어를 수행할 수 있다.The interface unit 270 serves as a passageway for various types of external devices connected to the mobile robot 200. This interface unit 270 includes a device equipped with a wired/wireless headset port, an external charger port, a wired/wireless data port, a memory card port, and an identification module (SIM). It may include at least one of a connection port, an audio input/output (I/O) port, a video input/output (I/O) port, and an earphone port. The mobile robot 200 can perform appropriate control related to external devices connected to the interface unit 270.
도시되지 않았지만, 이동 로봇(200)은 적어도 하나의 카메라를 더 포함할 수 있다. 카메라는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 처리된 화상 프레임은 디스플레이부(240)에 표시되거나 메모리에 저장될 수 있다. 한편, 카메라가 복수 개일 경우, 매트릭스 구조를 이루도록 배치될 수 있으며, 이와 같이 매트릭스 구조를 이루는 카메라들을 통해 다양한 각도 또는 초점을 갖는 복수의 영상정보가 입력될 수 있고, 또한 카메라들은 3차원의 입체영상을 구현하기 위한 좌 영상 및 우 영상을 획득하도록, 스트레오 구조로 배치될 수도 있다.Although not shown, the mobile robot 200 may further include at least one camera. The camera processes image frames, such as still images or moving images, obtained by the image sensor in shooting mode. The processed image frame may be displayed on the display unit 240 or stored in memory. On the other hand, when there are multiple cameras, they can be arranged to form a matrix structure. In this way, a plurality of image information with various angles or focuses can be input through the cameras forming the matrix structure, and the cameras can produce three-dimensional stereoscopic images. It may be arranged in a stereo structure to obtain left and right images to implement.
도시되지 않았지만, 이동 로봇(200)은 적어도 하나의 센싱부를 더 포함할 수 있다. 센싱부는 이동 로봇(200)의 내 정보, 이동 로봇(200)를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하고, 이에 대응하는 센싱 신호를 발생시킨다. 센싱부는 근접센서(proximity sensor), 조도 센서(illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라), 마이크로폰, 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 중 적어도 하나를 포함함), 화학 센서(예를 들어, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 이동 로봇(200)은, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.Although not shown, the mobile robot 200 may further include at least one sensing unit. The sensing unit senses at least one of the internal information of the mobile robot 200, the surrounding environment information surrounding the mobile robot 200, and the user information, and generates a sensing signal corresponding thereto. The sensing unit includes a proximity sensor, illumination sensor, touch sensor, acceleration sensor, magnetic sensor, G-sensor, and gyroscope sensor. sensor, motion sensor, RGB sensor, infrared sensor, fingerprint scan sensor, ultrasonic sensor, optical sensor (e.g. camera) ), microphone, environmental sensor (e.g., including at least one of a barometer, hygrometer, thermometer, radiation detection sensor, heat detection sensor, gas detection sensor), chemical sensor (e.g., healthcare sensor, biometric sensor etc.) may include at least one of the following. Meanwhile, the mobile robot 200 can utilize information sensed by at least two of these sensors by combining them.
전술한 바에 의하면, 이동 로봇(200)의 주변 영역 상에 동적 장애물이 존재하는지 여부를 인식함으로써, 주행 영역의 성질을 판단하여 이동 로봇(200)의 주행을 적절히 제어하는 장점이 있을 수 있다. According to the above, there may be an advantage in appropriately controlling the travel of the mobile robot 200 by determining the nature of the travel area by recognizing whether a dynamic obstacle exists in the surrounding area of the mobile robot 200.
도 3은 본 개시의 예시적인 실시예들에 따른 이동 로봇을 제어하는 방법을 설명하기 위한 흐름도이다.FIG. 3 is a flowchart illustrating a method of controlling a mobile robot according to example embodiments of the present disclosure.
도 3을 참조하면, 이동 로봇을 제어하는 방법은 도 2에 도시된 프로세서(220)에 의해 수행될 수 있다. Referring to FIG. 3, a method of controlling a mobile robot may be performed by the processor 220 shown in FIG. 2.
맵 정보, 출발 지점 정보, 및 도착 지점 정보를 기초로 주행 경로를 설정하는 단계가 수행된다(S100). 구체적으로, 프로세서(220)는 정적 장애물을 포함하는 맵 정보, 출발 지점 정보, 및 도착 지점 정보를 기초로, 이동 로봇(200)이 이동할 주행 경로를 설정할 수 있다.A step of setting a driving route based on map information, departure point information, and arrival point information is performed (S100). Specifically, the processor 220 may set a driving path for the mobile robot 200 to move based on map information including static obstacles, departure point information, and destination point information.
동적 장애물의 존재 여부에 따라 주행 경로 상에서 이동 로봇(200)이 주행할 영역을 인식하는 단계가 수행된다(S200). 예를 들면, 프로세서(220)는, 이동 로봇(200)이 주행 경로를 따라 이동하는 동안, 라이다 센서를 통해 검출 가능한 적어도 하나의 동적 장애물의 존재 여부에 따라 주행 경로 상에서 이동 로봇(200)이 주행할 영역을 정적 영역과 동적 영역 중 어느 하나로 인식할 수 있다. 구체적으로 예를 들면, 프로세서(220)는, 주행 경로 상에서 이동 로봇(200)이 주행할 영역의 성질을, 맵에 없는 동적 장애물에 의한 일시적인 성격의 좁은 영역(동적으로 좁은 영역)인지, 맵에 있는 장애물에 의한 항시적인 성격의 좁은 영역(정적으로 좁은 영역)인지, 넓은 영역인지 중 어느 하나로 인식할 수 있다.A step of recognizing the area in which the mobile robot 200 will travel on the travel path is performed depending on the presence or absence of a dynamic obstacle (S200). For example, while the mobile robot 200 moves along the travel path, the processor 220 controls the mobile robot 200 on the travel path according to the presence or absence of at least one dynamic obstacle detectable through a lidar sensor. The driving area can be recognized as either a static area or a dynamic area. Specifically, for example, the processor 220 determines the nature of the area in which the mobile robot 200 will drive on the driving path, whether it is a temporary narrow area (dynamically narrow area) caused by dynamic obstacles that are not in the map, or the nature of the area in which the mobile robot 200 will drive. It can be recognized as either a narrow area (statically narrow area) with a constant character caused by existing obstacles, or a wide area.
일부 실시예들에서, 단계 S200에서, 프로세서(220)는, 적어도 하나의 동적 장애물이 라이다 센서에 의해 인식됨에 응답하여, 주행 경로 상에서 이동 로봇(200)이 주행할 영역의 성질을 동적 영역으로 인식할 수 있다. 이에 대한 실시예들은, 도 6 내지 도 9를 참조하여 후술된다.In some embodiments, in step S200, the processor 220 determines the nature of the area in which the mobile robot 200 will drive on the travel path as a dynamic area in response to at least one dynamic obstacle being recognized by the LiDAR sensor. It can be recognized. Embodiments for this will be described later with reference to FIGS. 6 to 9.
일부 실시예들에서, 단계 S200에서, 프로세서(220)는, 정적 장애물만 라이다 센서에 의해 인식됨에 응답하여, 주행 경로 상에서 이동 로봇이 주행할 영역을 정적 영역으로 인식할 수 있다. 이에 대한 실시예들은, 도 10 및 도 11을 참조하여 후술된다.In some embodiments, in step S200, the processor 220 may recognize the area in which the mobile robot will drive on the travel path as a static area in response to only static obstacles being recognized by the LiDAR sensor. Embodiments of this will be described later with reference to FIGS. 10 and 11 .
주행 경로, 인식된 영역의 종류, 및 거리 정보를 기초로 이동 로봇(200의 주행을 제어하는 단계가 수행된다(S300). 구체적으로, 프로세서(220)는, 주행 경로, 인식된 영역의 종류, 및 거리 정보를 기초로, 이동 로봇(200)의 주행을 제어할 수 있다. 여기서, 거리 정보는 라이다 센서를 통해 획득된 주행 경로와 장애물 간의 거리를 나타내는 정보일 수 있다.A step of controlling the driving of the mobile robot 200 is performed based on the driving path, the type of recognized area, and distance information (S300). Specifically, the processor 220 controls the driving path, the type of recognized area, and And based on the distance information, the driving of the mobile robot 200 may be controlled. Here, the distance information may be information indicating the distance between the driving path and the obstacle obtained through the LiDAR sensor.
도 4는 본 개시의 예시적인 실시예들에 따른 주행 경로를 설정하는 방법을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating a method of setting a driving route according to exemplary embodiments of the present disclosure.
도 4를 참조하면, 도 4에 도시된 주행 경로를 설정하는 방법은 도 3에 도시된 단계 S100이 구체화된 실시예들일 수 있다.Referring to FIG. 4, the method of setting the driving route shown in FIG. 4 may be an embodiment in which step S100 shown in FIG. 3 is embodied.
복수의 시뮬레이션 경로들을 생성하는 단계가 수행된다(S110). 구체적으로, 프로세서(220)는, 맵 정보에 따른 맵 상에서 출발 지점 정보에 따른 출발 지점으로부터 도착 지점 정보에 따른 도착 지점까지 이동 로봇(200)이 주행 가능한 복수의 시뮬레이션 경로들을 생성할 수 있다.A step of generating a plurality of simulation paths is performed (S110). Specifically, the processor 220 may generate a plurality of simulation paths on which the mobile robot 200 can travel from a departure point according to the departure point information to an arrival point according to the arrival point information on a map according to the map information.
복수의 시뮬레이션 경로들 중 선택된 시뮬레이션 경로를 주행 경로로 설정하는 단계가 수행된다(S120). 구체적으로, 프로세서(220)는, 복수의 시뮬레이션 경로들 중 미리 설정된 선택 기준에 의해 선택된 시뮬레이션 경로를 주행 경로로 설정할 수 있다. 이때, 선택 기준은, 예를 들면, 출발 지점과 도착 지점 간의 최단 거리를 선택하는 것일 수 있다. 하지만, 이에 한정되는 것은 아니다.A step of setting a simulation path selected among a plurality of simulation paths as a driving path is performed (S120). Specifically, the processor 220 may set a simulation path selected according to a preset selection criterion among a plurality of simulation paths as a driving path. At this time, the selection criterion may be, for example, selecting the shortest distance between the departure point and the destination point. However, it is not limited to this.
도 5는 도 4에 도시된 흐름도를 개념적으로 설명하기 위한 도면이다.FIG. 5 is a diagram for conceptually explaining the flowchart shown in FIG. 4.
도 5를 참조하면, 시스템(10)은 도 1을 참조하여 전술한 바와 같이, 복수의 라이다 센서들(100) 및 이동 로봇(200)을 포함할 수 있다. 시스템(10)은 제1 방향(D1) 및/또는 제2 방향(D2)으로 주행할 수 있다.Referring to FIG. 5 , the system 10 may include a plurality of LIDAR sensors 100 and a mobile robot 200, as described above with reference to FIG. 1 . System 10 may travel in a first direction D1 and/or a second direction D2.
본 개시의 예시적인 실시예들에 따른 맵 정보에는 정적 장애물들(SO1, SOP2)이 포함될 수 있다. Map information according to example embodiments of the present disclosure may include static obstacles SO1 and SOP2.
시스템(10)은 출발 지점 정보로부터 출발 지점(SP)을 인식하고, 도착 지점 정보로부터 도착 지점(GP)을 인식할 수 있다. 그리고, 시스템(10)은 출발 지점(SP)과 도착 지점(GP) 사이에 복수의 시뮬레이션 경로들(SP1~SP5)을 생성할 수 있다. 도 5에서는 시뮬레이션 경로의 개수가 5개인 것으로 도시되어 있으나, 이는 본 개시의 예시적인 실시예들을 설명하기 위한 것일 뿐, 도 5에 도시된 바에 한정되는 것은 아니다.The system 10 can recognize the departure point (SP) from departure point information and the arrival point (GP) from arrival point information. Additionally, the system 10 may generate a plurality of simulation paths (SP1 to SP5) between the starting point (SP) and the destination point (GP). In FIG. 5, the number of simulation paths is shown as 5, but this is only for explaining example embodiments of the present disclosure and is not limited to what is shown in FIG. 5.
시스템(10)은 복수의 시뮬레이션 경로들(SP1~SP5) 중 미리 설정된 선택 기준에 의해 선택된 시뮬레이션 경로(예를 들면, SP3)를 주행 경로(DP)로 설정할 수 있다.The system 10 may set a simulation path (eg, SP3) selected according to a preset selection criterion among the plurality of simulation paths (SP1 to SP5) as the driving path (DP).
시스템(10)은 출발 지점(SP)에서부터 시작하여 주행 경로(DP) 상에서 주행하고 도착 지점(GP)을 향해 이동할 수 있다.The system 10 can start from a starting point (SP), drive on a driving path (DP), and move towards a destination point (GP).
도 6은 본 개시의 예시적인 실시예들에 따른 동적 영역에서의 이동 로봇의 주행을 제어하는 방법을 설명하기 위한 흐름도이다.FIG. 6 is a flowchart illustrating a method of controlling the movement of a mobile robot in a dynamic region according to example embodiments of the present disclosure.
도 6을 참조하면, 도 6에 도시된 실시예들은 적어도 하나의 동적 장애물이 라이다 센서에 의해 인식된 경우에 수행될 수 있는 단계 S300의 구체적인 방법일 수 있다. 구체적으로, 도 3에 도시된 단계 S200에서 프로세서(220)가 주행 경로 상에서 이동 로봇(200)이 주행할 영역을 동적 영역으로 인식한 경우, 단계 S300이 도 6에 도시된 방법과 같이 구체적으로 수행될 수 있다.Referring to FIG. 6, the embodiments shown in FIG. 6 may be a specific method of step S300 that can be performed when at least one dynamic obstacle is recognized by the LiDAR sensor. Specifically, in step S200 shown in FIG. 3, when the processor 220 recognizes the area on the travel path in which the mobile robot 200 will drive as a dynamic area, step S300 is specifically performed as in the method shown in FIG. 6. It can be.
라이다 센서를 이용해 주행 경로와 장애물 간의 최단 거리 정보를 획득하는 단계가 수행된다(S310). 구체적으로, 복수의 라이다 센서들(100) 각각이 이동 로봇(200)의 주행 경로와 장애물 간의 최단 거리를 장애물마다 측정할 수 있다. 그리고, 복수의 라이다 센서들(100) 각각은 최단 거리를 나타내는 최단 거리 정보를 이동 로봇(200)에 제공할 수 있다. 프로세서(220)는 복수의 라이다 센서들(100) 각각으로부터 최단 거리 정보를 획득할 수 있다.A step is performed to obtain information on the shortest distance between the driving path and obstacles using a LiDAR sensor (S310). Specifically, each of the plurality of LIDAR sensors 100 may measure the shortest distance between the traveling path of the mobile robot 200 and the obstacle for each obstacle. Additionally, each of the plurality of LIDAR sensors 100 may provide shortest distance information indicating the shortest distance to the mobile robot 200. The processor 220 may obtain the shortest distance information from each of the plurality of LIDAR sensors 100.
최단 거리 정보를 이용하여 기준 거리 내에 존재하는 장애물의 개수를 연산하는 단계가 수행된다(S330). 구체적으로, 프로세서(220)는 각 장애물에 대응되는 최단 거리를 이용하여 기준 거리보다 작은 최단 거리에 대응되는 장애물의 개수를 카운트할 수 있다.A step of calculating the number of obstacles existing within the reference distance is performed using the shortest distance information (S330). Specifically, the processor 220 may use the shortest distance corresponding to each obstacle to count the number of obstacles corresponding to the shortest distance less than the reference distance.
장애물의 개수와 기준 개수를 비교하는 단계가 수행된다(S350). 구체적으로, 프로세서(220)는 기준 거리 이내에 존재하는 장애물의 개수와 미리 설정된 기준 개수를 비교할 수 있다. A step of comparing the number of obstacles and the reference number is performed (S350). Specifically, the processor 220 may compare the number of obstacles existing within a reference distance with a preset reference number.
비교 결과를 기초로 이동 로봇의 거동을 제어하는 단계가 수행된다(S370). 예를 들면, 프로세서(220)는 장애물의 개수와 기준 개수를 비교한 결과를 기초로 이동 로봇(200)의 회피 주행 동작 및 이동 로봇(200)의 주행 대기 동작 중 적어도 하나를 수행하도록 이동 로봇(200)의 거동(즉, 거동부(260))을 제어할 수 있다. 구체적으로, 프로세서(220)는 장애물의 개수와 기준 개수를 비교한 결과를 기초로, 맵에 없는 동적 장애물에 의한 일시적인 성격의 좁은 영역(동적으로 좁은 영역)인지인지 일시적인 성격의 넓은 영역(동적으로 넓은 영역)인지 여부를 판단하고, 이동 로봇(200)의 회피 주행 동작 및 이동 로봇(200)의 주행 대기 동작 중 적어도 하나를 수행하도록 이동 로봇(200)의 거동부(260)를 제어할 수 있다.A step of controlling the behavior of the mobile robot is performed based on the comparison result (S370). For example, the processor 220 causes the mobile robot ( The behavior of 200) (i.e., the behavior unit 260) can be controlled. Specifically, based on the result of comparing the number of obstacles and the reference number, the processor 220 determines whether a temporary narrow area (dynamically narrow area) caused by a dynamic obstacle that is not in the map is a temporary wide area (dynamically narrow area). wide area), and control the moving unit 260 of the mobile robot 200 to perform at least one of an avoidance driving operation of the mobile robot 200 and a running waiting operation of the mobile robot 200. .
일부 실시예들에서, 장애물의 개수가 기준 개수보다 작을 수 있다. 이 경우, 이동 로봇(200)이 동적 장애물들을 회피하여 주행하는 것이 상대적으로 유리할 수 있다. 따라서, 단계 S370에서, 프로세서(220)는 이동 로봇(200)의 회피 주행 동작을 수행하도록 거동부(260)를 제어할 수 있다. 이에 대한 실시예들은, 도 8 및 도 9를 참조하여 후술된다.In some embodiments, the number of obstacles may be less than the reference number. In this case, it may be relatively advantageous for the mobile robot 200 to travel while avoiding dynamic obstacles. Accordingly, in step S370, the processor 220 may control the moving unit 260 to perform an evasive driving operation of the mobile robot 200. Embodiments for this will be described later with reference to FIGS. 8 and 9 .
일부 실시예들에서, 장애물의 개수가 기준 개수보다 같거나 클 수 있다. 이 경우, 이동 로봇(200)이 동적 장애물들을 회피하여 주행하는 대신에 일단 대기하는 것이 상대적으로 유리할 수 있다. 따라서, 단계 S370에서, 프로세서(220)는 이동 로봇(200)의 주행 대기 동작을 수행하도록 거동부(260)를 제어할 수 있다. 이에 대한 실시예들은, 도 8 및 도 9를 참조하여 후술된다.In some embodiments, the number of obstacles may be equal to or greater than the reference number. In this case, it may be relatively advantageous for the mobile robot 200 to wait instead of driving while avoiding dynamic obstacles. Accordingly, in step S370, the processor 220 may control the moving unit 260 to perform a driving standby operation of the mobile robot 200. Embodiments for this will be described later with reference to FIGS. 8 and 9 .
도 7은 도 6에 도시된 흐름도를 개념적으로 설명하기 위한 도면이다.FIG. 7 is a diagram for conceptually explaining the flowchart shown in FIG. 6.
도 7을 참조하면, 시스템(10)은, 출발 지점(SP)과 도착 지점(DP) 사이에 형성된 주행 경로(DP)를 주행할 수 있다.Referring to FIG. 7, the system 10 can travel a driving path (DP) formed between a starting point (SP) and a destination point (DP).
시스템(10)에 저장된 맵 정보에는 정적 장애물들(SO1, SOP2)이 포함될 수 있다. Map information stored in system 10 may include static obstacles SO1 and SOP2.
시스템(10)의 주행 영역(DR)에서는 복수의 장애물들이 존재할 수 있다. 시스템(10), 구체적으로 복수의 라이다 센서들(100)은 주행 영역(DR)에 존재하는 복수의 동적 장애물들을 감지할 수 있다. 그리고, 시스템(10)은 복수의 동적 장애물들 각각과 주행 경로(DP) 간의 최단 거리들을 측정할 수 있다. 시스템(10)은 기준 거리 내에 존재하는 동적 장애물들을 인식할 수 있다. 도 7을 참조하여 예를 들면, 시스템(10)은 동적 장애물들(DO1, DO2, DO3, DO4)을 감지할 수 있다. 그리고, 시스템(10)은 동적 장애물들(DO1, DO2, DO3, DO4) 각각과 주행 경로(DP) 간의 최단 거리들(SD1, SD2, SD3, SD4)을 측정할 수 있다. 최단 거리들(SD1, SD2, SD3, SD4)은 기준 거리보다 작은 것으로 가정한다. 이 경우, 동적 장애물의 개수를 4 개일 수 있다. A plurality of obstacles may be present in the driving region DR of system 10. The system 10, specifically the plurality of LiDAR sensors 100, can detect a plurality of dynamic obstacles existing in the driving area DR. Additionally, the system 10 can measure the shortest distances between each of the plurality of dynamic obstacles and the driving path DP. System 10 can recognize dynamic obstacles that exist within a reference distance. For example, with reference to Figure 7, system 10 may detect dynamic obstacles DO1, DO2, DO3, and DO4. Additionally, the system 10 can measure the shortest distances (SD1, SD2, SD3, SD4) between each of the dynamic obstacles (DO1, DO2, DO3, DO4) and the driving path (DP). The shortest distances (SD1, SD2, SD3, SD4) are assumed to be smaller than the reference distance. In this case, the number of dynamic obstacles may be four.
도 8은 본 개시의 예시적인 실시예들에 따른 동적으로 판단한 동적 장애물에 의한 일시적인 좁은 영역에서의 이동 로봇의 거동을 제어하는 방법을 구체적으로 설명하기 위한 흐름도이다.FIG. 8 is a flowchart illustrating in detail a method of controlling the behavior of a mobile robot in a temporarily narrow area due to a dynamically determined dynamic obstacle according to example embodiments of the present disclosure.
도 8을 참조하면, 도 8에 도시된 실시예들은 도 6을 참조하여 전술한 단계 S370의 구체적인 방법일 수 있다. Referring to FIG. 8, the embodiments shown in FIG. 8 may be a specific method of step S370 described above with reference to FIG. 6.
장애물 개수가 기준 개수보다 작은지 비교하는 단계가 수행된다(S371). 여기서, 장애물의 개수는 동적 장애물이 카운팅된 숫자일 수 있다. A step is performed to compare whether the number of obstacles is smaller than the reference number (S371). Here, the number of obstacles may be the number of dynamic obstacles counted.
장애물의 개수가 기준 개수보다 큰 경우(S371, 예), 복수의 시뮬레이션 경로들 중 동적 장애물과 중첩되는 시뮬레이션 경로의 개수를 판단하는 단계가 수행된다(S372). 구체적으로, 프로세서(220)는 복수의 시뮬레이션 경로들에서 선택된 시뮬레이션 경로를 제외한 나머지 시뮬레이션 경로들 중 적어도 하나의 동적 장애물과 중첩(Overlap)되는 시뮬레이션 경로의 개수를 판단할 수 있다. If the number of obstacles is greater than the reference number (S371, example), a step of determining the number of simulation paths that overlap with the dynamic obstacles among the plurality of simulation paths is performed (S372). Specifically, the processor 220 may determine the number of simulation paths that overlap with at least one dynamic obstacle among the remaining simulation paths excluding the selected simulation path from the plurality of simulation paths.
중첩되는 시뮬레이션 경로의 개수에 따라 회피 주행 동작 및 주행 대기 동작 중 어느 하나를 선택하는 단계가 수행된다(S373). 구체적으로 예를 들면, 프로세서(220)는, 중첩되는 시뮬레이션 경로의 개수가 상대적으로 많아질 수록, 주행 대기 동작을 선택할 수 있다. 다른 예를 들면, 프로세서(220)는, 중첩되는 시뮬레이션 경로의 개수가 상대적으로 적을 수록, 회피 주행 동작을 선택할 수 있다.A step of selecting one of the avoidance driving operation and the driving waiting operation is performed depending on the number of overlapping simulation paths (S373). For example, as a specific example, the processor 220 may select a driving standby operation as the number of overlapping simulation paths increases. For another example, the processor 220 may select an avoidance driving operation as the number of overlapping simulation paths is relatively small.
선택된 동작을 수행하도록 이동 로봇(200)의 거동부(260)를 제어하는 단계가 수행된다(S374). A step of controlling the moving unit 260 of the mobile robot 200 to perform the selected operation is performed (S374).
한편, 장애물의 개수가 기준 개수보다 작거나 같은 경우(S371, 아니오), 주행 속도, 장애물과의 간격 마진 축소 등의 파라미터 변경을 통하여 회피 주행 동작을 수행하도록 이동 로봇(200)의 거동부(260)를 제어하는 단계가 수행된다(S375).On the other hand, when the number of obstacles is less than or equal to the reference number (S371, No), the moving unit 260 of the mobile robot 200 is configured to perform an avoidance driving operation by changing parameters such as driving speed and reducing the gap margin between obstacles. ) is performed (S375).
도 9는 도 8에 도시된 흐름도를 개념적으로 설명하기 위한 도면이다.FIG. 9 is a diagram for conceptually explaining the flowchart shown in FIG. 8.
도 9를 참조하면, 동적 장애물들(DO1, DO2, DO3, DO4)의 개수(예, 4개)가 기준 개수보다 작은 경우, 시스템(10)은 복수의 시뮬레이션 경로들(SP1~SP4, DP)에서 선택된 시뮬레이션 경로(예를 들면, 주행 경로(DP))를 제외한 나머지 시뮬레이션 경로들(SP1~SP4) 중 적어도 하나의 동적 장애물과 중첩되는 시뮬레이션 경로의 개수를 판단할 수 있다. 이때, 제1 시뮬레이션 경로(SP1)는 제1 동적 장애물(DO1)과 중첩되고, 제2 시뮬레이션 경로(SP2)는 제2 동적 장애물(DO2)과 중첩되고, 제3 시뮬레이션 경로(SP3)는 제3 동적 장애물(DO3)과 중첩되고, 제4 시뮬레이션 경로(SP1)는 제3 동적 장애물(DO3) 및 제4 동적 장애물(DO4)과 중첩될 수 있다. 따라서, 적어도 하나의 동적 장애물과 중첩되는 시뮬레이션 경로의 개수는 4개일 수 있다.Referring to FIG. 9, when the number (e.g., 4) of dynamic obstacles (DO1, DO2, DO3, DO4) is less than the reference number, the system 10 creates a plurality of simulation paths (SP1 to SP4, DP). It is possible to determine the number of simulation paths that overlap with at least one dynamic obstacle among the remaining simulation paths (SP1 to SP4) excluding the simulation path (eg, driving path (DP)) selected in . At this time, the first simulation path (SP1) overlaps the first dynamic obstacle (DO1), the second simulation path (SP2) overlaps the second dynamic obstacle (DO2), and the third simulation path (SP3) overlaps the third dynamic obstacle (DO1). It overlaps with the dynamic obstacle (DO3), and the fourth simulation path (SP1) may overlap with the third dynamic obstacle (DO3) and the fourth dynamic obstacle (DO4). Accordingly, the number of simulation paths overlapping with at least one dynamic obstacle may be four.
도 9에 도시된 바에 따라 중첩되는 시뮬레이션 경로의 개수가 나머지 시뮬레이션 경로들(SP1~SP4)의 개수인 4개이므로, 시스템(10)은 주행 대기 동작을 수행할 수 있다.As shown in FIG. 9, since the number of overlapping simulation paths is 4, which is the number of the remaining simulation paths (SP1 to SP4), the system 10 can perform a driving standby operation.
나머지 시뮬레이션 경로들(SP1~SP4) 중 중첩되지 않는 시뮬레이션 경로가 존재하는 경우, 시스템(10)은 해당 시뮬레이션 경로로 일시적으로 수행함으로써 회피 주행 동작을 수행할 수 있다.If there is a non-overlapping simulation path among the remaining simulation paths (SP1 to SP4), the system 10 may perform an evasive driving operation by temporarily performing the corresponding simulation path.
나머지 시뮬레이션 경로들(SP1~SP4) 중 중첩되지 않는 시뮬레이션 경로가 존재하는 경우, 시스템(10)은 해당 시뮬레이션 경로를 새로운 주행 경로(DP)로 설정하고, 새로운 주행 경로(DP)로 주행할 수도 있다.If there is a non-overlapping simulation path among the remaining simulation paths (SP1 to SP4), the system 10 may set the corresponding simulation path as the new driving path (DP) and drive on the new driving path (DP). .
도 10은 본 개시의 예시적인 실시예들에 따른 정적 영역에서의 이동 로봇의 주행을 제어하는 방법을 설명하기 위한 흐름도이다.FIG. 10 is a flowchart illustrating a method of controlling the driving of a mobile robot in a static area according to example embodiments of the present disclosure.
도 10을 참조하면, 도 10에 도시된 실시예들은 동적 장애물이 라이다 센서에 의해 인식되지 않는 경우에 수행될 수 있는 단계 S300의 구체적인 방법일 수 있다. 구체적으로, 도 3에 도시된 단계 S200에서 프로세서(220)가 주행 경로 상에서 이동 로봇(200)이 주행할 영역을 정적 영역으로 인식한 경우, 단계 S300이 도 10에 도시된 방법과 같이 구체적으로 수행될 수 있다.Referring to FIG. 10, the embodiments shown in FIG. 10 may be a specific method of step S300 that can be performed when a dynamic obstacle is not recognized by the LIDAR sensor. Specifically, in step S200 shown in FIG. 3, when the processor 220 recognizes the area on the travel path in which the mobile robot 200 will drive as a static area, step S300 is specifically performed in the same manner as shown in FIG. 10. It can be.
라이다 센서를 통해 주행 경로와 정적 장애물 간의 최단 거리 정보를 획득하는 단계가 수행된다(S320).A step of acquiring information on the shortest distance between the driving path and static obstacles is performed through the LiDAR sensor (S320).
최단 거리 정보에 따라 이동 로봇의 회피 주행 동작 및 이동 로봇의 주행 대기 동작 중 어느 하나를 수행하도록 이동 로봇의 거동을 제어하는 단계가 수행된다(S340). A step of controlling the behavior of the mobile robot to perform one of the avoidance driving operation of the mobile robot and the running waiting operation of the mobile robot according to the shortest distance information is performed (S340).
도 11은 도 10에 도시된 흐름도를 개념적으로 설명하기 위한 도면이다.FIG. 11 is a diagram for conceptually explaining the flowchart shown in FIG. 10.
도 11을 참조하면, 시스템(100)이 주행 경로(DP)를 따라 주행하는 동안, 시스템(10)의 주행 영역(DR)에 정적 장애물들(SO1, SO2)이 존재할 수 있다. 이러한 정적 장애물들(SO1, SO2)은 맵 정보에 포함될 수 잇다. 시스템(100), 구체적으로 복수의 라이다 센서들(100)은 정적 장애물들(SO1, SO2) 각각과 주행 경로(DP) 간의 최단 거리들(SD, SD')을 연산하여 최단 거리 정보들 생성할 수 있다. 프로세서(220)는 최단 거리들(SD, SD')을 기초로 주행 영역(DR)에서 정적 장애물들(SO1, SO2)에 의해 이루어지는 영역이 좁은 영역인지 넓은 영역인지 여부를 인식할 수 있다. 만약, 최단 거리들(SD, SD')이 상대적으로 작아서 주행 영역(DR)에서 정적 장애물들(SO1, SO2)에 의해 이루어지는 영역이 좁은 영역으로 인식될 수 있다. 이에 따라, 프로세서(220)는 동적으로 좁은 영역과는 달리, 정적으로 좁은 영역은 무조건 통과해야하는 영역이라 볼 수 있고, 따라서, 프로세서(220)는 통과할 수 있도록 주행 방법이나 파라미터 등을 변경하여 거동부(260)를 제어할 수 있다. 한편, 최단 거리들(SD, SD')이 상대적으로 커서 주행 영역(DR)에서 정적 장애물들(SO1, SO2)에 의해 이루어지는 영역이 넓은 영역으로 인식될 수 있다. 이에 따라, 프로세서(220)는 회피 주행 동작을 수행하도록 거동부(260)를 제어할 수 있다. 일부 실시예들에서, 회피 주행 동작은 도 5 및 도 9를 참조하여 전술한 바와 같이, 복수의 시뮬레이션 경로들에서 기 선택되지 않은 나머지 시뮬레이션 경로들 중 어느 하나의 시뮬레이션 경로로 주행하는 동작일 수도 있다.Referring to FIG. 11, while the system 100 is traveling along the driving path DP, static obstacles SO1 and SO2 may exist in the driving area DR of the system 10. These static obstacles (SO1, SO2) may be included in map information. The system 100, specifically the plurality of LIDAR sensors 100, calculates the shortest distances (SD, SD') between each of the static obstacles (SO1, SO2) and the driving path (DP) to generate shortest distance information. can do. The processor 220 may recognize whether the area formed by the static obstacles SO1 and SO2 in the driving area DR is a narrow area or a wide area based on the shortest distances SD and SD'. If the shortest distances SD and SD' are relatively small, the area formed by the static obstacles SO1 and SO2 in the driving area DR may be recognized as a narrow area. Accordingly, the processor 220 can view the statically narrow area as an area that must be passed unconditionally, unlike the dynamically narrow area. Therefore, the processor 220 changes the driving method or parameters to enable passage. You can control the eastern part (260). Meanwhile, the shortest distances SD and SD' are relatively large, so the area formed by the static obstacles SO1 and SO2 in the driving area DR can be recognized as a wide area. Accordingly, the processor 220 may control the moving unit 260 to perform an evasive driving operation. In some embodiments, the avoidance driving operation may be an operation of driving on any one simulation path among the remaining simulation paths that have not been previously selected among a plurality of simulation paths, as described above with reference to FIGS. 5 and 9. .
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.Meanwhile, the disclosed embodiments may be implemented in the form of a recording medium that stores instructions executable by a computer. Instructions may be stored in the form of program code, and when executed by a processor, may create program modules to perform operations of the disclosed embodiments. The recording medium may be implemented as a computer-readable recording medium.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. Computer-readable recording media include all types of recording media storing instructions that can be decoded by a computer. For example, there may be Read Only Memory (ROM), Random Access Memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, etc.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.As described above, the disclosed embodiments have been described with reference to the attached drawings. A person skilled in the art to which this disclosure pertains will understand that the present disclosure may be practiced in forms different from the disclosed embodiments without changing the technical idea or essential features of the present disclosure. The disclosed embodiments are illustrative and should not be construed as limiting.

Claims (10)

  1. 라이다 센서; 및LiDAR sensor; and
    정적 장애물을 포함하는 맵 정보, 출발 지점 정보, 및 도착 지점 정보를 저장하는 메모리, 거동을 수행하는 거동부, 및 상기 메모리에 저장된 정보를 기초로 상기 거동부를 제어하는 프로세서를 포함하는 이동 로봇을 포함하고,It includes a mobile robot including a memory that stores map information including static obstacles, starting point information, and destination point information, a moving unit that performs a movement, and a processor that controls the moving unit based on the information stored in the memory. do,
    상기 프로세서는, The processor,
    상기 맵 정보, 상기 출발 지점 정보, 상기 도착 지점 정보를 기초로, 상기 이동 로봇이 이동할 주행 경로를 설정하고, Setting a driving path for the mobile robot to move based on the map information, the departure point information, and the destination point information,
    상기 이동 로봇이 상기 주행 경로를 따라 이동하는 동안, 상기 라이다 센서를 통해 검출 가능한 적어도 하나의 동적 장애물의 존재 여부에 따라 상기 주행 경로 상에서 상기 이동 로봇이 주행할 영역을 정적 영역과 동적 영역 중 어느 하나로 인식하고, While the mobile robot moves along the travel path, the area in which the mobile robot will drive on the travel path is selected as either a static area or a dynamic area depending on the presence or absence of at least one dynamic obstacle detectable through the lidar sensor. Recognized as one,
    상기 주행 경로, 인식된 영역의 종류, 및 상기 라이다 센서를 통해 획득된 상기 주행 경로와 장애물 간의 거리 정보를 기초로, 상기 이동 로봇의 주행을 제어하는 것을 특징으로 하는, 시스템.The system is characterized in that it controls the driving of the mobile robot based on the driving path, the type of recognized area, and the distance information between the driving path and obstacles obtained through the LiDAR sensor.
  2. 제1 항에 있어서,According to claim 1,
    상기 프로세서는, 상기 주행 경로를 설정할 때에,When setting the driving route, the processor
    상기 맵 정보에 따른 맵 상에서 상기 출발 지점 정보에 따른 출발 지점으로부터 상기 도착 지점 정보에 따른 도착 지점까지 상기 이동 로봇이 주행 가능한 복수의 시뮬레이션 경로들을 생성하고,Generating a plurality of simulation paths on which the mobile robot can travel from a starting point according to the starting point information to a destination point according to the destination point information on a map according to the map information,
    상기 복수의 시뮬레이션 경로들 중 미리 설정된 선택 기준에 의해 선택된 시뮬레이션 경로를 상기 주행 경로로 설정하는 단계를 포함하는 것을 특징으로 하는, 시스템.A system comprising the step of setting a simulation path selected according to a preset selection criterion among the plurality of simulation paths as the driving path.
  3. 제2 항에 있어서,According to clause 2,
    상기 프로세서는, 상기 정적 영역과 동적 영역 중 어느 하나로 인식할 때에,When the processor recognizes one of the static area and the dynamic area,
    상기 적어도 하나의 동적 장애물이 상기 라이다 센서에 의해 인식됨에 응답하여, 상기 주행 경로 상에서 상기 이동 로봇이 주행할 영역을 상기 동적 영역으로 인식하는 것을 특징으로 하는, 시스템.In response to the at least one dynamic obstacle being recognized by the LiDAR sensor, the system is characterized in that it recognizes an area in which the mobile robot will travel on the travel path as the dynamic area.
  4. 제3 항에 있어서,According to clause 3,
    상기 프로세서는, 상기 이동 로봇의 주행을 제어할 때에,When controlling the movement of the mobile robot, the processor
    상기 라이다 센서를 이용해 상기 주행 경로와 각 장애물 간의 최단 거리 정보를 획득하고,Obtain information on the shortest distance between the driving path and each obstacle using the LiDAR sensor,
    상기 최단 거리 정보를 이용하여 기준 거리 내에 존재하는 장애물의 개수를 연산하고,Calculate the number of obstacles existing within the reference distance using the shortest distance information,
    상기 장애물의 개수와 기준 개수를 비교하고,Compare the number of obstacles and the standard number,
    상기 장애물의 개수와 상기 기준 개수를 비교한 결과를 기초로 상기 이동 로봇의 회피 주행 동작 및 상기 이동 로봇의 주행 대기 동작 중 적어도 하나를 수행하도록 상기 이동 로봇의 거동을 제어하는 것을 특징으로 하는, 시스템.The system is characterized in that it controls the behavior of the mobile robot to perform at least one of an avoidance driving operation of the mobile robot and a running waiting operation of the mobile robot based on a result of comparing the number of obstacles with the reference number. .
  5. 제4 항에 있어서,According to clause 4,
    상기 프로세서는, 상기 이동 로봇의 거동을 제어할 때에,When controlling the behavior of the mobile robot, the processor
    상기 장애물의 개수가 상기 기준 개수보다 큰 경우, 상기 복수의 시뮬레이션 경로들에서 상기 선택된 시뮬레이션 경로를 제외한 나머지 시뮬레이션 경로들 중 상기 적어도 하나의 동적 장애물과 중첩(Overlap)되는 시뮬레이션 경로의 개수를 판단하고, 중첩되는 상기 시뮬레이션 경로의 개수에 따라 상기 회피 주행 동작 및 상기 주행 대기 동작 중 어느 하나를 선택하고, 상기 선택된 어느 하나의 동작을 수행하도록 상기 이동 로봇의 거동부를 제어하는 것을 특징으로 하는, 시스템.If the number of obstacles is greater than the reference number, determine the number of simulation paths that overlap with the at least one dynamic obstacle among the remaining simulation paths excluding the selected simulation path from the plurality of simulation paths, A system characterized in that one of the avoidance driving operation and the driving waiting operation is selected according to the number of overlapping simulation paths, and the moving part of the mobile robot is controlled to perform the selected operation.
  6. 제4 항에 있어서,According to clause 4,
    상기 프로세서는, 상기 이동 로봇의 거동을 제어할 때에,When controlling the behavior of the mobile robot, the processor
    상기 장애물의 개수가 상기 기준 개수보다 작거나 같은 경우, 주행과 관련된 파라미터를 변경하여 회피 주행 동작을 수행하도록 상기 이동 로봇의 거동부를 제어하는 것을 특징으로 하는, 시스템.When the number of obstacles is less than or equal to the reference number, the system is characterized in that it controls the moving part of the mobile robot to perform an avoidance driving operation by changing driving-related parameters.
  7. 제2 항에 있어서,According to clause 2,
    상기 프로세서는, 상기 정적 영역과 동적 영역 중 어느 하나로 인식할 때에,When the processor recognizes one of the static area and the dynamic area,
    상기 정적 장애물만 상기 라이다 센서에 의해 인식됨에 응답하여, 상기 주행 경로 상에서 상기 이동 로봇이 주행할 영역을 상기 정적 영역으로 인식하는 것을 특징으로 하는, 시스템.In response to only the static obstacle being recognized by the LiDAR sensor, the system is characterized in that it recognizes the area in which the mobile robot will drive on the travel path as the static area.
  8. 제7 항에 있어서,According to clause 7,
    상기 프로세서는, 상기 이동 로봇의 주행을 제어할 때에,When controlling the movement of the mobile robot, the processor
    상기 라이다 센서를 통해 상기 주행 경로와 상기 정적 장애물 간의 최단 거리 정보를 획득하고,Obtain information on the shortest distance between the driving path and the static obstacle through the LiDAR sensor,
    상기 최단 거리 정보에 따라 상기 이동 로봇의 회피 주행 동작 및 상기 이동 로봇의 주행 대기 동작 중 어느 하나를 수행하도록 상기 이동 로봇의 거동을 제어하는 단계를 포함하는 것을 특징으로 하는, 시스템.A system comprising controlling the behavior of the mobile robot to perform one of an avoidance driving operation of the mobile robot and a running waiting operation of the mobile robot according to the shortest distance information.
  9. 시스템에 의해 수행되는, 이동 로봇을 제어하는 방법에 있어서,In a method of controlling a mobile robot, performed by a system,
    정적 장애물을 포함하는 맵 정보, 출발 지점 정보, 및 도착 지점 정보를 기초로, 상기 이동 로봇이 이동할 주행 경로를 설정하는 단계;Setting a driving path for the mobile robot to move based on map information including static obstacles, starting point information, and destination point information;
    상기 이동 로봇이 상기 주행 경로를 따라 이동하는 동안, 라이다 센서를 통해 검출 가능한 적어도 하나의 동적 장애물의 존재 여부에 따라 상기 주행 경로 상에서 상기 이동 로봇이 주행할 영역을 정적 영역과 동적 영역 중 어느 하나로 인식하는 단계; 및While the mobile robot moves along the travel path, the area in which the mobile robot will drive on the travel path is divided into one of a static area and a dynamic area depending on the presence or absence of at least one dynamic obstacle detectable through a lidar sensor. Recognizing step; and
    상기 주행 경로, 인식된 영역의 종류, 및 상기 라이다 센서를 통해 획득된 상기 주행 경로와 장애물 간의 거리 정보를 기초로, 상기 이동 로봇의 주행을 제어하는 단계를 포함하는, 방법.A method comprising controlling the driving of the mobile robot based on the driving path, the type of recognized area, and the distance information between the driving path and obstacles obtained through the LiDAR sensor.
  10. 하드웨어인 컴퓨터와 결합되어, 제9항의 이동 로봇을 제어하는 방법을 수행하기 위한 프로그램이 저장된 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium that is combined with a hardware computer and stores a program for performing the method of controlling a mobile robot of claim 9.
PCT/KR2023/011097 2022-11-10 2023-07-31 Method and system for controlling traveling of mobile robot by using lidar sensor WO2024101589A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220149277A KR20240068158A (en) 2022-11-10 2022-11-10 METHOD AND SYSTEM FOR CONTROLLING MOBILE ROBOT WITH LiDAR SENSOR
KR10-2022-0149277 2022-11-10

Publications (1)

Publication Number Publication Date
WO2024101589A1 true WO2024101589A1 (en) 2024-05-16

Family

ID=91033134

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/011097 WO2024101589A1 (en) 2022-11-10 2023-07-31 Method and system for controlling traveling of mobile robot by using lidar sensor

Country Status (2)

Country Link
KR (1) KR20240068158A (en)
WO (1) WO2024101589A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118759534A (en) * 2024-09-09 2024-10-11 湖南蓝智云科技有限公司 Article conveying robot based on laser radar

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160086623A (en) * 2015-01-12 2016-07-20 부산대학교 산학협력단 Surveillance Robot System for abnormal behavior detection
KR20160119574A (en) * 2015-04-06 2016-10-14 국방과학연구소 simulation system for moving of robot to pass rough terrain
KR20190134554A (en) * 2019-11-15 2019-12-04 엘지전자 주식회사 Method of identifying dynamic obstacle and robot implementing thereof
KR20210130942A (en) * 2020-04-23 2021-11-02 주식회사 와토솔루션 System for controlling automated guided vehicle for autonomous driving
KR20220052073A (en) * 2020-10-20 2022-04-27 주식회사 에이치엘클레무브 Driving control method of roving robot with detection area indicator

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102272780B1 (en) 2019-12-20 2021-07-05 주식회사 포스코 Facilities diagnosis robot and active avoidance method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160086623A (en) * 2015-01-12 2016-07-20 부산대학교 산학협력단 Surveillance Robot System for abnormal behavior detection
KR20160119574A (en) * 2015-04-06 2016-10-14 국방과학연구소 simulation system for moving of robot to pass rough terrain
KR20190134554A (en) * 2019-11-15 2019-12-04 엘지전자 주식회사 Method of identifying dynamic obstacle and robot implementing thereof
KR20210130942A (en) * 2020-04-23 2021-11-02 주식회사 와토솔루션 System for controlling automated guided vehicle for autonomous driving
KR20220052073A (en) * 2020-10-20 2022-04-27 주식회사 에이치엘클레무브 Driving control method of roving robot with detection area indicator

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118759534A (en) * 2024-09-09 2024-10-11 湖南蓝智云科技有限公司 Article conveying robot based on laser radar

Also Published As

Publication number Publication date
KR20240068158A (en) 2024-05-17

Similar Documents

Publication Publication Date Title
WO2018131914A1 (en) Method and apparatus for providing guidance in a virtual environment
WO2015156465A1 (en) Flexible glass display apparatus and method for controlling the same
WO2016080605A1 (en) Electronic device and control method therefor
WO2017099376A1 (en) Electronic apparatus and controlling method thereof
KR20170092200A (en) Mirror type display device andmethod for controlling the same
WO2024101589A1 (en) Method and system for controlling traveling of mobile robot by using lidar sensor
US10623625B2 (en) Focusing control device, imaging device, focusing control method, and nontransitory computer readable medium
WO2020017890A1 (en) System and method for 3d association of detected objects
WO2023063682A1 (en) System and method for rf based robot localization
WO2021129776A1 (en) Imaging processing method, and electronic device
ES2976717T3 (en) Session creation method and terminal device
WO2019221355A1 (en) Mobile terminal and method for controlling the same
WO2021137460A1 (en) Method for determining movement of electronic device and electronic device using same
WO2021145473A1 (en) Mobile terminal and control method therefor
WO2024143740A1 (en) Mobile robot device moving to destination and method for operating same
KR20190042353A (en) Mobile terminal and method for controlling the same
WO2021107200A1 (en) Mobile terminal and mobile terminal control method
KR20220066385A (en) How to display note information, how to send note information, and electronic devices
WO2018066902A1 (en) Consistent spherical photo and video orientation correction
WO2024075953A1 (en) System and method for acquiring mobile robot map image and object position based on multiple cameras
WO2016111598A1 (en) Display device having transparent display and method for controlling display device
WO2014178477A1 (en) Head mounted display and method for providing contents by using same
WO2024204910A1 (en) Device for providing location information-based communication service and method therefor
JP7192929B2 (en) Information processing system, information processing device, information processing method and program
WO2023038284A1 (en) Robot and control method therefor