WO2024019234A1 - 장애물 인식 방법 및 주행로봇 - Google Patents

장애물 인식 방법 및 주행로봇 Download PDF

Info

Publication number
WO2024019234A1
WO2024019234A1 PCT/KR2022/018073 KR2022018073W WO2024019234A1 WO 2024019234 A1 WO2024019234 A1 WO 2024019234A1 KR 2022018073 W KR2022018073 W KR 2022018073W WO 2024019234 A1 WO2024019234 A1 WO 2024019234A1
Authority
WO
WIPO (PCT)
Prior art keywords
obstacle
captured image
view image
camera
top view
Prior art date
Application number
PCT/KR2022/018073
Other languages
English (en)
French (fr)
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 WO2024019234A1 publication Critical patent/WO2024019234A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads

Definitions

  • the present invention relates to an obstacle recognition method and a driving robot that capture images and determine obstacles in the image.
  • Robots have been developed for industrial use to play a part in factory automation. Recently, the field of application of robots has been expanding, and not only medical robots and aerospace robots, but also robots that can be used in daily life are being developed.
  • robots that perform precise assembly work repeatedly perform the same movements and repeat the same movements at designated locations without unexpected situations, so automation using robots took precedence.
  • robots that perform transportation functions are attracting attention, and competition is intensifying day by day.
  • robots that transport bulk or large items there is a need for robots that can perform services such as transporting small items to their destination.
  • the vehicle drives while searching for obstacles in the driving path using various sensors such as LiDAR, radar, depth camera, and proximity sensor.
  • the sensor's recognition rate may decrease as the driving speed increases, and obstacles that are not high from the ground have a low recognition rate.
  • the purpose of the present invention is to provide an obstacle recognition method and a driving robot that capture images and determine obstacles in the image.
  • a straight line is connected from the origin to the pixels around the outer perimeter of the top-view image, and when the straight line overlaps the obstacle on the top-view image, the front of the obstacle can be extracted.
  • the pixels of the outer perimeter of the top view image may include pixels in a line extending from the bottom left to the top left, top right, and bottom right.
  • the plurality of origins may be distributed at least to the left and right from the position of the camera.
  • the gap between the origins may be wide when the size of the top-view image is large, and narrow when the size of the top-view image is small.
  • the step of extracting the origin includes generating a segmentation map by extracting a boundary between a floor area and an obstacle from the top view image; and designating the plurality of origins at the bottom of the bottom area of the segmentation map.
  • the camera includes a first camera that captures a front view to provide a first captured image and a second camera that captures a downward view to provide a second captured image, and the first captured image and the second captured image are respectively viewed as perspective. After removing, the top view image can be created by compositing.
  • the lower part of the first captured image and the upper part of the second captured image may overlap.
  • the step of converting to the top view image can be done using the IPM (Inverse Perspective Mapping) technique.
  • the top view image may be generated by discarding the upper part of the captured image that does not include the bottom area.
  • the step of distinguishing the floor area from the obstacle may further include removing shadows and light reflections on the captured image.
  • It may include adding the selected obstacle to an existing map or a map acquired using another sensor.
  • the control unit may connect a straight line from the origin to a pixel around the outside of the top-view image, and extract the straight line as the front of the obstacle when the straight line overlaps with the obstacle on the top-view image.
  • the camera includes a first camera that captures a front view to provide a first captured image and a second camera that captures a downward view to provide a second captured image, and the first captured image and the second captured image are respectively viewed as perspective. After removing, the top view image can be created by compositing.
  • the obstacle search method of the present invention it is possible to recognize obstacles that are not high but located on the floor.
  • Figure 1 is a diagram showing a 5G network-based cloud system according to an embodiment of the present invention.
  • Figure 2 is a diagram schematically explaining the appearance of a traveling robot according to an embodiment of the present invention.
  • Figure 3 is a diagram showing a robot control system according to an embodiment of the present invention.
  • Figure 4 is a perspective view of a traveling robot according to an embodiment of the present invention.
  • FIG. 5 is a flowchart according to an embodiment of the obstacle recognition method of the present invention.
  • Figure 6 is a diagram showing the shooting range of a camera according to an embodiment of the traveling robot of the present invention.
  • Figure 7 is a diagram showing a captured image captured by a camera according to an embodiment of the traveling robot of the present invention.
  • FIG. 8 is a diagram illustrating an image of a free space on the floor extracted from the captured image of FIG. 7 according to an embodiment of the obstacle recognition method of the present invention.
  • Figure 9 is a diagram illustrating a hole filter technique for removing a part misrecognized as an obstacle on a captured image according to an embodiment of the obstacle recognition method of the present invention.
  • FIGS. 10 and 11 are diagrams illustrating a process for generating a top view image according to an embodiment of the obstacle recognition method of the present invention.
  • Figure 12 is a diagram illustrating a top view image divided into an obstacle and a floor and reflected on a map according to an embodiment of the obstacle recognition method of the present invention.
  • Figure 13 is a top view showing the state of the actual space.
  • Figure 14 is a diagram showing a method of extracting the actual obstacle front using the vision lidar method according to an embodiment of the obstacle recognition method of the present invention.
  • Figure 15 is a diagram showing a straight line search method when there is only one origin.
  • Figure 16 is a diagram showing a state in which the extracted front surface of an obstacle is reflected on a map according to an embodiment of the obstacle recognition method of the present invention.
  • a robot is a mechanical device that can automatically perform certain tasks or operations.
  • the robot may be controlled by an external control device or may have a built-in control device. It can perform tasks that are difficult for humans to perform, such as repeating only preset movements, lifting heavy objects, performing precise tasks, and working in extreme environments.
  • a driving unit including an actuator or motor can be provided to perform various physical movements such as moving robot joints.
  • a driving part In order to perform driving functions, it is equipped with a driving part and can include wheels, brackets, casters, motors, etc., and robots equipped with artificial intelligence are emerging to identify surrounding obstacles and drive around them.
  • Machine learning refers to the field of defining various problems dealt with in the field of artificial intelligence and researching methodologies to solve them. do.
  • Machine learning is also defined as an algorithm that improves the performance of a task through consistent experience.
  • ANN Artificial Neural Network
  • ANN is a model used in machine learning. It can refer to an overall model with problem-solving capabilities that is composed of artificial neurons (nodes) that form a network through the combination of synapses. Artificial neural networks can be defined by connection patterns between neurons in different layers, a learning process that updates model parameters, and an activation function that generates output values.
  • An artificial neural network may include an input layer, an output layer, and optionally one or more hidden layers. Each layer includes one or more neurons, and the artificial neural network may include synapses connecting neurons.
  • each neuron can output the function value of the activation function for the input signals, weight, and bias input through the synapse.
  • Model parameters refer to parameters determined through learning and include the weight of synaptic connections and the bias of neurons.
  • Hyperparameters refer to parameters that must be set before learning in a machine learning algorithm and include learning rate, number of repetitions, mini-batch size, initialization function, etc.
  • the purpose of artificial neural network learning can be seen as determining model parameters that minimize the loss function depending on the purpose or field of use of the robot.
  • the loss function can be used as an indicator to determine optimal model parameters in the learning process of an artificial neural network.
  • Machine learning can be classified into supervised learning, unsupervised learning, and reinforcement learning depending on the learning method.
  • Supervised learning refers to a method of training an artificial neural network with a given label for the learning data.
  • a label refers to the correct answer (or result value) that the artificial neural network must infer when learning data is input to the artificial neural network. It can mean.
  • Unsupervised learning can refer to a method of training an artificial neural network in a state where no labels for training data are given.
  • Reinforcement learning can refer to a learning method in which an agent defined within an environment learns to select an action or action sequence that maximizes the cumulative reward in each state.
  • machine learning implemented with a deep neural network is also called deep learning, and deep learning is a part of machine learning.
  • machine learning is used to include deep learning.
  • robots can be implemented as guide robots, transport robots, cleaning robots, wearable robots, entertainment robots, pet robots, and unmanned flying robots.
  • a robot may include a robot control module to control its movements, and the robot control module may mean a software module or a chip implementing it as hardware.
  • the robot uses sensor information obtained from various types of sensors to obtain status information of the robot, detect (recognize) the surrounding environment and objects, generate map data, determine movement path and driving plan, or provide information to the user. It can determine a response to an interaction or determine an action.
  • the robot can perform the above operations using a learning model composed of at least one artificial neural network.
  • a robot can recognize the surrounding environment and objects using a learning model, and can determine an action using the recognized surrounding environment information or object information.
  • the learning model may be learned directly from the robot or from an external device such as an AI server.
  • the robot can perform actions by directly generating results using a learning model, but it can also perform actions by transmitting sensor information to an external device such as an AI server and receiving the results generated accordingly.
  • Artificial intelligence allows robots to perform autonomous driving. It refers to a technology that can determine the optimal path on its own and move around while avoiding obstacles.
  • Currently applied autonomous driving technologies include technology that maintains the driving lane, technology that automatically adjusts speed such as adaptive cruise control, and technology that automatically follows a set path. This can include driving technology that automatically sets the route once the destination is set.
  • Sensors include proximity sensors, illumination sensors, acceleration sensors, magnetic sensors, gyro sensors, inertial sensors, RGB sensors, IR sensors, fingerprint recognition sensors, ultrasonic sensors, light sensors, microphones, lidar, and radar.
  • autonomous driving can be performed using image information collected through RGBC cameras, infrared cameras, etc., and sound information collected through microphones. Additionally, the vehicle can be driven based on information input through the user input unit. Map data, location information, and surrounding situation information collected through the wireless communication unit are also necessary information for autonomous driving.
  • Map data may include object identification information about various objects placed in the space where the robot moves.
  • map data may include object identification information for fixed objects such as walls and doors and movable objects such as flower pots and desks.
  • object identification information may include name, type, distance, location, etc.
  • robots are essentially equipped with sensors, various input units, and wireless communication units to collect data that can be learned by artificial intelligence, and can perform optimal operations by combining various types of information.
  • the learning processor that performs artificial intelligence can be mounted on the control unit of the robot to perform learning, or the collected information can be transmitted to the servo and learned through the server, and the learning results can be sent back to the robot to perform autonomous driving based on this. You can.
  • Robots equipped with artificial intelligence can collect surrounding information even in new places to create an entire map, and the large amount of information accumulated in places within the main activity radius allows for more accurate autonomous driving.
  • a touch screen or buttons can be provided to receive user input, and commands can also be received by recognizing the user's voice.
  • the processor uses at least one of a STT (Speech To Text) engine to convert voice input into a string or a Natural Language Processing (NLP) engine to obtain intent information of natural language, and the intent corresponding to the user input. Information can be obtained.
  • STT Seech To Text
  • NLP Natural Language Processing
  • At this time, at least one of the STT engine or the NLP engine may be composed of at least a portion of an artificial neural network learned according to a machine learning algorithm.
  • at least one of the STT engine or the NLP engine may be learned by a learning processor, a learning processor of an AI server, or distributed processing thereof.
  • Figure 1 shows a 5G network-based cloud system 1000 according to an embodiment of the present invention.
  • the cloud system 1000 may include a traveling robot 100, a mobile terminal 300, a robot control system 200, various devices 400, and a 5G network 500.
  • the traveling robot 100 is a robot that transports goods from a starting point to a destination.
  • the driving robot 100 can move directly from the logistics center to the destination, and can be loaded into a vehicle and moved from the logistics center to the vicinity of the product destination, then get off near the destination and move to the destination.
  • the traveling robot 100 can move goods to their destination not only outdoors but also indoors.
  • the driving robot 100 may be implemented as an Automated Guided Vehicle (AGV), and the AGV may be a transportation device moved by sensors on the floor, magnetic fields, vision devices, etc.
  • AGV Automated Guided Vehicle
  • the driving robot 100 may include a storage area for storing goods.
  • the storage area may be divided to load various goods, and various types of goods may be stored in the plurality of divided partial storage areas. can be placed. Accordingly, mixing of goods can be prevented.
  • the mobile terminal 300 can communicate with the driving robot 100 through the 5G network 500.
  • the mobile terminal 300 may be a device owned by a user who installs a partition in a storage area to load goods, or a device owned by a recipient of the loaded goods.
  • the mobile terminal 300 can provide information based on images, and the mobile terminal 300 can be a mobile phone, a smart phone, or a wearable device (e.g., a watch-type terminal (smartwatch), a glass-type device). It may include mobile devices such as terminals (smart glass) and head mounted displays (HMDs).
  • HMDs head mounted displays
  • the robot control system 200 can remotely control the driving robot 100 and respond to various requests from the driving robot 100.
  • the robot control system 200 may perform calculations using artificial intelligence based on a request from the traveling robot 100.
  • the robot control system 200 can set the movement path of the driving robot 100, and when there are multiple destinations, the robot control system 200 can set the movement order of the destinations.
  • Various devices 400 may include a personal computer (PC, 400a), an autonomous vehicle (400b), a home robot (400c), etc.
  • PC, 400a personal computer
  • 400b autonomous vehicle
  • 400c home robot
  • Various devices 400 can be connected wired or wirelessly with the driving robot 100, mobile terminal 300, robot control system 200, etc. through the 5G network 500.
  • the driving robot 100, mobile terminal 300, robot control system 200, and various devices 400 are all equipped with a 5G module and can transmit and receive data at a speed of 100Mbps to 20Gbps (or higher), thereby providing high capacity.
  • Video files can be transmitted to various devices and can be operated at low power to minimize power consumption.
  • the transmission speed may be implemented differently depending on the embodiment.
  • the 5G network 500 may include a 5G mobile communication network, a local area network, the Internet, etc., and may provide a communication environment for devices in a wired or wireless manner.
  • FIG. 2 is a diagram for explaining the configuration of the traveling robot 100 according to an embodiment of the present invention. The description will be made with reference to FIGS. 3 to 5 showing the traveling robot 100 according to an embodiment of the present invention.
  • the traveling robot 100 may include a body 101 (see FIG. 3) including a storage area 50, and components described later may be included in the body.
  • the driving robot 100 includes a communication unit 110, an input unit 120, a sensor unit 140, an output unit 150, a memory 185, a wheel drive unit 170, a control unit 180, and a power supply unit 190. It can be included.
  • the components shown in FIG. 2 are not essential for implementing the driving robot 100, so the driving robot 100 described in this specification may have more or less components than the components listed above. there is.
  • the communication unit 110 may include a wired or wireless communication module capable of communicating with the robot control system 200.
  • the communication unit 110 may include Global System for Mobile communication (GSM), Code Division Multi Access (CDMA), Long Term Evolution (LTE), 5G, Wireless LAN (WLAN), Wireless-Fidelity (Wi-Fi), It can be equipped with modules for Bluetooth R , RFID (Radio Frequency Identification), Infrared Data Association (IrDA), ZigBee, and NFC (Near Field Communication) communication.
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • LTE Long Term Evolution
  • 5G Fifth Generation
  • WLAN Wireless LAN
  • Wi-Fi Wireless-Fidelity
  • Bluetooth R Radio Frequency Identification
  • IrDA Infrared Data Association
  • ZigBee ZigBee
  • NFC Near Field Communication
  • the input unit 120 may include a user input unit 122 for receiving information from a user.
  • the input unit 120 may include a camera 121 for inputting video signals and a microphone 123 (hereinafter referred to as a microphone) for receiving audio signals.
  • the camera 121 or the microphone 123 may be treated as a sensor, and the signal obtained from the camera 121 or the microphone 123 may be referred to as sensing data or sensor information.
  • the input unit 120 may acquire learning data for model learning and input data to be used when obtaining an output using the learning model.
  • the input unit 120 may acquire unprocessed input data, and in this case, the control unit 180 may extract input features by preprocessing the input data.
  • the cameras 121 are located in front to detect obstacles in front, and as shown in FIG. 3, a plurality of cameras 121 may be arranged at different angles. A plurality of cameras 121 with different shooting directions may be provided, such as a camera that recognizes the wide front and a camera that photographs the floor.
  • cameras with different functions may be provided.
  • a wide-angle camera, an infrared camera, etc. may be provided.
  • the camera acts as a sensor unit 140 and can serve to detect surrounding objects.
  • the user input unit 122 may include buttons or a touch panel for touch input. Alternatively, a user command may be input remotely through the communication unit 110. In this case, the user input unit 122 may include a personal computer 400 or a remote control device provided separately from the driving robot 100.
  • the user input unit 122 includes all methods for receiving user commands, the user commands can be recognized through voice recognition. That is, a voice recognition device that extracts user commands by analyzing the voice collected by the microphone 123 can also serve as the user input unit 122.
  • the input unit 120 may include a product information input unit, which can receive product size information, weight information, destination information, and information on the transport requester. At this time, the product information input unit may include a code reader.
  • the sensor unit 140 may use various sensors to obtain at least one of internal information of the driving robot 100, information about the surrounding environment of the driving robot 100, and user information.
  • the sensor unit 140 may include various types of sensors to recognize the surroundings for autonomous driving. Representative examples include a distance sensor or proximity sensor 141 and LIDAR 142.
  • the proximity sensor 141 may include an ultrasonic sensor that recognizes a nearby object and determines the distance to the object based on the return time of the emitted ultrasonic waves.
  • a plurality of proximity sensors may be provided along the circumference, and may also be provided on the upper side to detect obstacles on the upper side.
  • Lidar is a device that emits a laser pulse and receives the light reflected from surrounding objects to accurately depict the surroundings. Like radar, the principle is similar, but the electromagnetic waves used are different, so the technology and scope of use are different.
  • LIDAR uses a longer wavelength than this and is used to measure not only the distance to the target object, but also the speed and direction of movement, temperature, and analysis and concentration of surrounding atmospheric substances.
  • the sensor unit 140 may include an illumination sensor, an acceleration sensor, a magnetic sensor, a gyro sensor, an inertial sensor, an RGB sensor, an infrared sensor, a fingerprint recognition sensor, an ultrasonic sensor, an optical sensor, a hall sensor, etc.
  • the output unit 150 may generate output related to vision, hearing, or tactile sensation.
  • the output unit 150 may include an optical output unit that outputs visual information, a display 151, etc., and outputs auditory information. It may include a speaker 152 that outputs an ultrasonic signal belonging to an inaudible frequency, an ultrasonic output unit that outputs an ultrasonic signal belonging to an inaudible frequency, and a haptic module that outputs tactile information.
  • the memory 185 stores data supporting various functions of the driving robot 100.
  • the memory 185 may store a number of application programs (application programs or applications) running on the driving robot 100, data for operating the driving robot 100, and commands.
  • the memory 185 can store information necessary to perform calculations using artificial intelligence, machine learning, and artificial neural networks.
  • Memory 150 may store a deep neural network model.
  • the deep neural network model can be used to infer a result value for new input data other than learning data, and the inferred value can be used as the basis for a decision to perform a certain operation.
  • the power supply unit 190 receives external power and internal power under the control of the processor 190 and supplies power to each component of the driving robot 100.
  • This power supply unit 190 includes a battery 191, and the battery 191 may be a built-in battery or a replaceable battery.
  • the battery can be charged using a wired or wireless charging method, and the wireless charging method may include a magnetic induction method or a magnetic resonance method.
  • the traveling unit 170 is a means for moving the traveling robot 100 and may include wheels or legs, and may include a wheel driving unit and a leg driving unit that control them.
  • the driving robot 100 including the body can be moved by controlling a plurality of wheels provided on the bottom surface of the wheel drive unit.
  • the wheel includes a caster that includes a main axis that rotates by combining with the body 101, and an auxiliary caster that reinforces the support to prevent the loaded item (L) from falling during driving. (173), etc. may be included.
  • the leg driving unit may control a plurality of legs according to the control of the control unit 180 to move the body.
  • the plurality of legs may correspond to a configuration that allows the traveling robot 100 to walk or run.
  • the plurality of legs may be implemented as four, but the embodiment is not limited to this.
  • the plurality of legs may be combined with the body to form an integrated body, and may be implemented as detachable from the body.
  • the traveling robot 100 may move its body through the traveling unit 170 including at least one of a wheel driving unit and/or a leg driving unit.
  • a wheel driving unit and/or a leg driving unit.
  • the wheel drive unit is mounted on the mobile robot 100 will mainly be described.
  • the control unit 180 is a module that controls the components of the driving robot 100.
  • the control unit 180 may refer to a data processing device built into hardware that has a physically structured circuit to perform functions expressed by codes or commands included in a program. Examples of data processing devices built into hardware include a microprocessor, central processing unit (CPU), processor core, multiprocessor, and application-specific integrated (ASIC). circuit) and FPGA (field programmable gate array), etc., but the scope of the present invention is not limited thereto.
  • the control unit 180 is.
  • the control unit 180 may collect the above information through the input unit 120.
  • the input of the input unit 120 may also include a touch input on the display.
  • control unit 180 may transmit information on the article L loaded in the loading area 50 to the mobile terminal (200 in FIG. 1) through the communication unit 110.
  • the robot control system 200 may include an AI server.
  • An AI server may refer to a device that trains an artificial neural network using a machine learning algorithm or uses a learned artificial neural network.
  • the robot control system 200 may be composed of a plurality of servers to perform distributed processing, and may be defined as a 5G network.
  • the AI server may be included as a part of the driving robot 100 and may perform at least part of the AI processing in the driving robot 100 itself.
  • the robot control system 200 may include a communication unit 210, a memory 230, a learning processor 240, and a processor 260.
  • the communication unit 210 can transmit and receive data with an external device such as the driving robot 100.
  • Memory 230 may include a model storage unit 231.
  • the model storage unit 231 may store a model (or artificial neural network, 231a) that is being trained or has been learned through the learning processor 240.
  • the learning processor 240 can train the artificial neural network 231a using training data.
  • the learning model may be used while mounted on the artificial neural network robot control system 200, or may be mounted and used on an external device such as the traveling robot 100.
  • Learning models can be implemented in hardware, software, or a combination of hardware and software.
  • the learning model When part or all of the learning model is implemented as software, one or more instructions constituting the learning model may be stored in the memory 230.
  • the processor 260 may infer a result value for new input data using a learning model and generate a response or control command based on the inferred result value.
  • Figure 4 is a perspective view of the traveling robot 100 according to an embodiment of the present invention.
  • the traveling robot 100 of the present invention can move through the traveling unit 170 located at the lower part of the body 101.
  • the main body of the traveling robot 100 may have a box-shaped shape and has no area for loading items, so the body 101 includes a traveling unit 170, a battery as the power supply unit 190, a board assembly as the control unit 180, etc. It is sufficient to install only the components, so it can have a flat shape.
  • the display 151 may be placed in a spaced position on the upper side of the body 101 through a vertical bracket 102 in consideration of the user's eye level.
  • the display 151 has a touch sensor and functions as an input unit, and the user can input a destination and change the function settings of the driving robot 100 through the display 151.
  • the driving robot in the drawing is shown in the form of a transportation robot that is transported by combining a trailer at the rear, but is not necessarily limited to this and can include both a transportation robot with its own loading space and a serving robot.
  • This embodiment may include a camera 121 located at a predetermined height, and the camera 121 of this embodiment may include a camera facing the front and a pair of cameras located diagonally downward.
  • a speaker 152 may be further provided to provide a warning sound or notification to the user, and may be positioned on the vertical bracket 102 in consideration of the position of the user's ears.
  • Lidar 142 and proximity sensor 141 can be located on the body 101, and since Lidar has a wide sensing range, it is positioned horizontally as shown in FIG. 4 to expand the sensing range of Lidar 142. It may include long grooves in each direction.
  • a plurality of proximity sensors 141 may be located along the circumference of the body 101 to precisely detect the position.
  • Sensors such as lidar 142 or proximity sensor 141 are sources for building a new map by recognizing obstacles located in front or creating a new driving route by recognizing obstacles that do not exist on the map. do.
  • LIDAR 142 searches in the horizontal direction, it may not be able to recognize obstacles located low on the floor (e.g., fork of a forklift, pallet without load).
  • Proximity sensors have a short recognition distance and the recognition rate may decrease as driving speed increases.
  • the present invention provides an obstacle recognition method that recognizes obstacles by processing an RGB image captured by an RGB camera 121.
  • Figure 5 is a flowchart according to an embodiment of the obstacle recognition method of the present invention.
  • a plurality of captured images 11 and 12 are collected from a plurality of cameras 121a and 121b (S1100).
  • Figure 6 is a diagram showing the shooting range of cameras 121a and 121b according to an embodiment of the driving robot of the present invention.
  • Figure 5 is a diagram showing captured images 11 and 12 captured by cameras 121a and 121b according to an embodiment of the driving robot of the present invention.
  • the cameras 121a and 121b of the present invention refer to cameras that capture general RGB images (visible light images), excluding infrared cameras or depth cameras that measure distance. You can also use a wide-angle camera to expand the camera's viewing angle.
  • RGB images visible light images
  • FIG. 5 it may include a first camera 121a that photographs the front and a second camera 121b that photographs the downward side.
  • a first camera 121a that photographs the front
  • a second camera 121b that photographs the downward side.
  • the description will be based on two captured images 11 and 12 obtained using two cameras, but there may be one captured image or three or more captured images.
  • step S1100 of FIG. 5 can be replaced with a step of collecting one captured image 11 and 12 from one camera.
  • the first captured image 11 acquired from the first camera 121a that photographs the front can obtain an image up to a distance
  • the second camera 121b that photographs the downward side can obtain an image up to a long distance
  • the acquired second captured image 12 can obtain an image of the floor at a short distance.
  • the angle of view of the cameras 11 and 12 and the arrangement of the cameras 11 and 12 may be determined so that the two captured images 11 and 12 include a partially overlapping area.
  • FIG. 8 is a diagram illustrating an image of a free space 25 on the floor extracted from the captured images 11 and 12 of FIG. 7 .
  • the entire 22 can be used as shown in (b) of FIG. 8, but the second captured image 12 captured by the first camera 121a 1 Image 11 can be used by cutting out only the area 21 including the bottom portion, as shown in (a) of FIG. 8.
  • the width of the portion 21 cut out of the first captured image 11 can be determined by considering the width of the second captured image 12. That is, the horizontal width of the portion 21 cut out from the first captured image 11 may be determined so that an area larger than the horizontal width of the second captured image 12 is included.
  • Image analysis to extract the bottom area (25) can be done using deep learning image segmentation techniques. Learning to distinguish between obstacles (26) and floor areas (25) can be performed through the DNN (Deep Neural Network) model.
  • DNN Deep Neural Network
  • the driving robot 100 of the present invention can be mainly used in logistics centers, machine learning can be performed to identify and label items on the driving path using image data collected at the logistics center site.
  • different captured images 11 and 12 can be obtained depending on the angle of the cameras 121a and 121b, making it easier to distinguish between the free space 25 and the obstacle 26.
  • the boundaries of images such as shadows, light reflection, sunlight, and floor contamination can be blurred through a smoothing technique that reduces rapid changes in the captured images (11, 12).
  • smoothing techniques By applying smoothing techniques, the problem of misperceiving lighting reflections, sunlight shining through, and floor contamination as obstacles can be resolved.
  • FIG. 9 is a diagram illustrating a hole filter technique for removing a portion mistakenly recognized as an obstacle on a captured image 13 according to an embodiment of the obstacle recognition method of the present invention.
  • the specified value of the hole filter can be set by the user and can be determined by considering the size of obstacles that exist in a location where the driving robot 100 is located, such as a logistics center.
  • the hole filter can be performed in the step of extracting the bottom area (S1200), and can also be applied on the top view images (31, 32, and 33) after generating the top view image (S1300), which is the next step.
  • 10 and 11 are diagrams illustrating the process of generating top view images 31, 32, and 33 according to an embodiment of the obstacle recognition method of the present invention.
  • perspective can be removed and converted to top view images (31, 32, 33) (S1300).
  • a method of obtaining top view images (31, 32, 33) can be done using inverse perspective mapping (IPM).
  • IPM inverse perspective mapping
  • Inverse perspective is a method of removing the perspective effect of a typical RGB camera and remapping it on a 2D domain.
  • the top view images (31, 32) have an inverted trapezoidal shape. It can be converted into an image.
  • the first top view image 31 may be longer than the size of the first captured image 11.
  • the second top view image 32 of the second captured image 12 may be smaller than the second captured image 12 .
  • the first captured image 11 may be created as a top view image 31 based on the horizontal width of the bottom, and the second captured image 12 may be created as a top view image 32 based on the horizontal width of the top.
  • the top view image 33 can be completed as shown in FIG. 11 by combining the converted first top view image 31 and the second top view image 32 (S1400).
  • S1400 converted first top view image 31 and the second top view image 32
  • an error may occur in the top view image 33, where an object positioned vertically in the captured images 11 and 12 is recognized as a wide obstacle in the horizontal direction.
  • Information at a short distance is accurate, but at a distance due to tall obstacles, a top view image 33 with an obstacle may be generated where there is no actual obstacle.
  • FIG. 12 is a diagram illustrating an image in which the top view image 33 is divided into obstacles and floors and reflected on a map according to an embodiment of the obstacle recognition method of the present invention.
  • Figure 12(b) is a segmentation map 50 that is simplified by distinguishing the obstacle border 56 and the empty floor 51 in the top view image 34 as shown in Figure 12(a).
  • FIG. 13 is a map showing the state of an actual space, and as shown in (a) of FIG. 13, space exists toward the rear of an obstacle 91 such as a forklift or load. However, as shown in (b) of FIG. 12, the obstacle boundary 56 on the segmentation map 50 extracted from the top view image 34 extends toward the back of the obstacle.
  • vision lidar techniques (S1500, S1600, S1700) can be applied to distinguish between real obstacles and incorrectly reflected obstacles among the obstacles 56 extracted from the top view image 33.
  • Vision LiDAR is a method of searching on the top view image 33 by applying a method of searching the surroundings while rotating from the origin 51, 52 like LiDAR 142. This is a method that does not use the actual LIDAR 142, but extracts actual obstacles through a straight line search by rotating on the image.
  • Figure 14 is a diagram showing a method of extracting the actual obstacle front using the vision lidar method according to an embodiment of the obstacle recognition method of the present invention.
  • the obstacle boundary line 56 on the segmentation map 50 includes the surface where the actual obstacle is placed on the floor, but there is also a boundary line that is mistakenly recognized as lying on the floor when the top view is switched due to the height of the obstacle.
  • Vision Lidar extracts the front of the actual obstacle, excluding the misrecognized boundary line from the obstacle boundary on the segmentation map.
  • the origins 51 and 52 are selected at the positions closest to the bottom area 55 of the segmentation map 50 extracted from the top view image 33 (S1500).
  • the closest location is the bottom of the floor area 55, and can be located at the bottom of the segmentation map image 50 as shown in FIG. 14.
  • a plurality of origins 51 and 52 can be extracted, and the greater the number of origins 51 and 52, the higher the accuracy. However, since the processing speed is slow in the control unit 180 or the server of the traveling robot 100, two origins 51 and 52 can be used as shown in FIG. 14.
  • the distance between a pair of origins 51 and 52 may become wider as the segmentation map 50 becomes larger, and may be arranged to be divided from the center of the segmentation map 50 to the left and right. This is to obtain more accurate values through straight line search at different locations.
  • the front surface of the obstacle is extracted through straight line search while rotating at each origin (51, 52) (S1600).
  • the obstacle boundary line 56 of the segmentation map 50 touches a straight line extending from the origin 51, 52 to the outskirts of the segmentation map 50, this is recognized as the front of the obstacle.
  • one or more pixels may be sequentially moved upward to connect the first origin 51 with a straight line. Search sequentially (50a->50b->50c->50d) from the bottom left (50a) to the bottom right (50d) along the perimeter.
  • the obstacle boundary line 56 is first encountered on the straight line connecting the first origin 51 and point 53' (53).
  • a straight line search can be performed by sequentially moving one or more pixels upward from the point 50a at the bottom left of the image of the segmentation map 50 and connecting straight lines in the same manner.
  • the part overlapping with the obstacle borderline 56 when searching for a straight line from the first origin 51 and the part overlapping with the obstacle borderline 56 when searching for a straight line from the second right-hand point may partially match, but may partially mismatch.
  • the obstacle front 57 found at both origins 51 and 52 can be judged and extracted as the actual obstacle front 57.
  • FIG. 16 is a diagram illustrating a state in which the extracted obstacle front 57 is reflected 97 on the map 90 according to an embodiment of the obstacle recognition method of the present invention. As shown in FIG. 16, if only the extracted front of the actual obstacle 57 is reflected 97 in the existing map, the obstacle that was mistakenly recognized as being located on the driving path is removed and the route to the destination can be designed.
  • Such a vision lidar can be driven while performing periodic searches because the searchable range varies depending on the location of the driving robot 100.
  • Vision LiDAR can replace sensors such as LiDAR 142, and can detect obstacles adjacent to the floor that the LiDAR 142 sensor cannot detect, so it can be used additionally with other sensors.
  • the obstacle search method of the present invention it is possible to recognize obstacles that are not high but located on the floor.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Molecular Biology (AREA)
  • Electromagnetism (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mechanical Engineering (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

촬영 이미지를 카메라로부터 제공받는 단계; 상기 촬영 이미지상에서 바닥영역과 장애물을 구분하는 단계; 상기 촬영 이미지의 원근을 제거하여 탑뷰 이미지를 생성하는 단계; 상기 탑뷰 이미지 상에서 가장 근거리의 복수개의 원점(datum point)을 지정하는 단계; 상기 복수개의 원점 각각에서 회전하며 직선탐색하여 장애물 전면을 추출하는 단계; 및 상기 복수개의 원점에서 추출한 장애물 전면 중 중첩되는 부분만 최종 장애물 전면으로 선별하는 단계를 포함하는 장애물 인식방법은 저렴한 비용으로 장애물을 탐색할 수 있다.

Description

장애물 인식 방법 및 주행로봇
본 발명은 이미지를 촬영하여 이미지 내의 장애물을 판단하는 장애물 인식방법 및 주행로봇에 관한 것이다.
공장 자동화의 일 부분을 담당하기 위해, 로봇은 산업용으로 개발되어 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되고 있는바, 의료용 로봇과 우주항공용 로봇뿐만 아니라 일상 생활에서 사용될 수 있는 로봇도 개발되고 있다.
산업용 로봇 중 정밀화 된 조립작업을 수행하는 로봇은 동일한 동작을 반복적으로 수행하고, 정해진 위치에서 돌발상황 없이 동일한 동작을 반복하기 때문에 로봇을 이용한 자동화가 선행되었다.
그러나, 돌발상황에 대한 판단을 할 수 있는 영역인 주행을 포함하는 운송영역은 아직까지 로봇이 상용화가 활발히 이루어지고 있지는 않다. 다만, 최근 주변을 인식하는 센서의 성능이 우수해지고 인식된 정보를 빠르게 처리하여 대응할 수 있는 컴퓨터 파워가 향상되면서 주행용 로봇이 증가하고 있다.
산업적으로는 운송기능을 담당하는 로봇이 주목을 받고 있으며 경쟁이 나날이 심화되고 있다. 대량 또는 대형의 물건을 운송하는 로봇 이외에 작은 물건을 목적지까지 운송하는 서비스를 수행하 루 있는 로봇에 대한 니즈가 있다.
주행로봇의 경우 기본적인 맵을 구비하고 있는 경우에도 맵과 상이한 장애물을 탐색하면서 주행해야한다. 따라서, 라이다(LiDAR), 레이더, 뎁스 카메라(depth camera) 및 근접센서 등의 각종 센서를 이용하여 주행 경로상의 장애물을 탐색하며 주행한다.
다만, 센서는 주행속도가 높아질수록 인식율이 저하될 수 있으며, 바닥에서 높이가 높지 않은 장애물은 인식율이 낮은 문제가 있다.
본 발명은 이미지를 촬영하여 이미지 내의 장애물을 판단하는 장애물 인식방법 및 주행로봇을 제공하는 것을 목적으로 한다.
촬영 이미지를 카메라로부터 제공받는 단계; 상기 촬영 이미지 상에서 바닥영역과 장애물을 구분하는 단계; 상기 촬영 이미지의 원근을 제거하여 탑뷰 이미지를 생성하는 단계; 상기 탑뷰 이미지 상에서 가장 근거리의 복수개의 원점(datum point)을 지정하는 단계; 상기 복수개의 원점 각각에서 회전하며 직선탐색하여 장애물 전면을 추출하는 단계; 및 상기 복수개의 원점에서 추출한 장애물 전면 중 중첩되는 부분만 최종 장애물 전면으로 선별하는 단계를 포함하는 장애물 인식방법을 제공한다.
상기 장애물 전면을 추출하는 단계는, 상기 원점으로부터 상기 탑뷰 이미지 상의 외곽둘레의 픽셀까지 직선을 연결하고 상기 직선과 상기 탑뷰 이미지 상의 장애물이 중첩되는 경우 장애물 전면으로 추출할 수 있다.
상기 탑뷰 이미지 상의 외곽둘레의 픽셀은 좌측하단부터 좌측상단, 우측상단 그리고 우측 하단으로 이어지는 선상의 픽셀을 포함할 수 있다.
상기 복수개의 원점은 적어도 상기 카메라의 위치로부터 좌측과 우측으로 분산될 수 있다.
상기 원점 사이의 간격은 상기 탑뷰 이미지의 크기가 크면 넓고 상기 탑뷰 이미지의 크기가 작으면 좁을 수 있다.
상기 원점을 추출하는 단계는, 상기 탑뷰 이미지에서 바닥영역과 장애물의 경계를 추출한 분할 맵(segmentation map)을 생성하는 단계; 및 상기 분할 맵의 바닥영역의 하단에서 상기 복수개의 원점을 지정하는 단계를 포함할 수 있다.
상기 카메라는 전방을 촬영하여 제1 촬영 이미지를 제공하는 제1 카메라와 하방을 촬영하여 제2 촬영 이미지를 제공하는 제2 카메라를 포함하고, 상기 제1 촬영 이미지와 상기 제2 촬영 이미지를 각각 원근을 제거한 후에 합성하여 상기 탑뷰 이미지를 생성할 수 있다.
상기 제1 촬영 이미지의 하부와 상기 제2 촬영 이미지의 상부는 중첩될 수 있다.
상기 탑뷰 이미지로 전환하는 단계는 IPM(Inverse Perspective Mapping)기법을 이용하여 전환할 수 있다.
상기 탑뷰 이미지는 상기 촬영 이미지 상에 바닥영역이 포함되 않은 상부는 버리고 생성할 수 있다.
상기 바닥영역과 장애물을 구분하는 단계는, 상기 촬영 이미지 상의 그림자 및 빛반사를 제거하는 단계를 더 포함할 수 있다.
상기 선별된 장애물을 기존의 맵 또는 다른 센서로 취득한 맵에 추가하는 단계를 포함할 수 있다.
주행부를 포함하는 본체; 주행방향을 촬영하는 카메라; 및 상기 카메라에서 촬영된 촬영 이미지를 통해 장애물을 인식하여 주행부를 제어는 제어부를 포함하고, 상기 제어부는, 상기 촬영 이미지 상에서 바닥영역과 장애물을 구분하고, 상기 촬영 이미지의 원근을 제거하여 탑뷰 이미지를 생성하며, 상기 탑뷰 이미지 상에서 가장 근거리의 복수개의 원점을 추출하고, 상기 복수개의 원점 각각에서 회전하며 직선탐색하여 장애물 전면을 추출하며, 상기 복수개의 원점에서 추출한 장애물 전면 중 중첩되는 부분만 실제 장애물로 선별하여, 기존의 맵 또는 다른 센서로 취득한 맵에 상기 선별된 장애물을 추가하고, 상기 선별된 장애물이 추가된 맵을 기초로 주행경로를 설정하며, 상기 주행경로를 따라 이동하도록 상기 주행부를 제어하는 주행로봇을 제공한다.
상기 제어부는, 상기 원점으로부터 상기 탑뷰 이미지 상의 외곽둘레의 픽셀까지 직선을 연결하고 상기 직선과 상기 탑뷰 이미지 상의 장애물이 중첩되는 경우 장애물 전면으로 추출할 수 있다.
상기 카메라는 전방을 촬영하여 제1 촬영 이미지를 제공하는 제1 카메라와 하방을 촬영하여 제2 촬영 이미지를 제공하는 제2 카메라를 포함하고, 상기 제1 촬영 이미지와 상기 제2 촬영 이미지를 각각 원근을 제거한 후에 합성하여 상기 탑뷰 이미지를 생성할 수 있다.
본 발명의 장애물 탐색 방법에 따르면 높이가 높지 않고 바닥에 위치하는 장애물을 인식할 수 있다.
센서보다 저렴한 비용으로 장애물을 인식할 수 있어 다양한 형태의 주행로봇에 적용할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 5G 네트워크 기반의 클라우드 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 주행로봇의 외관을 개략적으로 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 로봇 관제 시스템을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 주행로봇의 사시도이다.
도 5는 본 발명의 장애물 인식방법의 일 실시예에 따른 순서도 이다.
도 6은 본 발명의 주행로봇의 일 실시예에 따른 카메라의 촬영 범위를 도시한 도면이다.
도 7은 본 발명의 주행로봇의 일 실시예에 따른 카메라가 촬영한 촬영 이미지를 도시한 도면이다.
도 8은 본 발명의 장애물 인식방법의 일 실시예에 따른 도 7의 촬영 이미지에서 바닥의 빈공간(free space)를 추출한 이미지를 도시한 도면이다.
도 9는 본 발명의 장애물 인식방법의 일 실시예에 따른 촬영 이미지 상에 장애물로 오인식 된 부분을 제거하는 홀필터 기법을 도시한 도면이다.
도 10 및 도 11은 본 발명의 장애물 인식방법의 일 실시예에 따른 탑뷰 이미지를 생성하는 과정을 도시한 도면이다.
도 12는 본 발명의 장애물 인식방법의 일 실시예에 따른 탑뷰 이미지를 장애물과 바닥으로 구분하여 맵으로 반영한 이미지를 도시한 도면이다.
도 13은 실제 공간의 상태를 도시한 탑뷰이다.
도 14는 본 발명의 장애물 인식방법의 일 실시예에 따른 비전 라이다 방식으로 실제 장애물 전면을 추출하는 방법을 도시한 도면이다.
도 15는 원점이 한 개인 경우 직선 탐색 방법을 도시한 도면이다.
도 16은 본 발명의 장애물 인식방법의 일 실시예에 따른 추출된 장애물 전면을 맵에 반영한 상태를 도시한 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
로봇은 어떤 작업이나 조작을 자동으로 할 수 있는 기계 장치로서, 로봇은 외부의 제어 장치에 의해 조종되거나 제어 장치가 내장될 수도 있다. 기 설정된 동작만 반복하여 처리하거나 무거운 물건을 들어올리거나, 정밀한 작업의 수행 및 극한의 환경에서의 작업과 같이 인간이 수행하기 어려운 작업을 수행할 수 있다.
작업수행을 위해 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다.
로봇은 그 제조비용이 높고 조작의 전문성 등의 문제로 특정 작업에 특화된 외관을 가지는 산업용 로봇이나 의료용 로봇이 먼저 발달 되었다. 산업용, 의료용 로봇은 지정된 장소에서 동일한 동작을 반복수행하나,
최근에는 이동 가능한 로봇이 등장하고 있다. 특히 우주항공산업과 같이 인간이 직접 가기 어려운 먼 행성에서 탐사작업 등을 수행할 수 있으며 이러한 로봇은 주행기능이 추가된다.
주행기능을 수행하기 위해서는 구동부를 구비하며 휠, 브레이트, 캐스터, 모터 등을 포함할 수 있으며 주변의 장애물을 파악하고 이를 피해 주행하기 위해서는 인공지능을 탑재한 로봇이 등장하고 있다.
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다.
인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함수값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 로봇의 목적이나 사용 분야에 따라 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥러닝을 포함하는 의미로 사용된다.
로봇은 AI 기술이 적용되어, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
로봇은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇에서 직접 학습되거나, AI 서버등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할수도 있지만, AI 서버 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
인공 지능을 통해 로봇은 자율주행을 수행할 수 있다. 스스로 최적의 경로를 판단하고 장애물을 피해서 이동 가능한 기술을 의미하며 현재 적용되고 있는 자율주행 기술은 주행중인 차선을 유지하는 기술, 어댑티브 크루즈 컨트롤과 같이 속도를 자동으로 조절하는 기술, 정해진 경로를 따라 자동으로 주행하는 기술, 목적지가 설정되면 자동으로 경로를 설정해주는 주행기술 등이 모두 포함될 수 있다.
자율주행을 수행하기 위해서는 주변상황의 데이터를 인지하기 위해 수많은 센서를 포함할 수 있다. 센서로는 근접 센서, 조도 센서, 가속도 센서, 자기센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등을 들 수 있다.
센서에서 수집한 정보 이외에 RGBC카메라, 적외선 카메라 등을 통해 수집한 영상정보와 마이크로폰을 통해 수집한 음향정보를 통해 자율주행을 수행할 수 있다. 또한, 사용자 입력부를 통해 입력된 정보에 기초하여 주행할 수 있다. 무선통신부를 통해 수집한 맵 데이터, 위치정보 및 주변 상황의 정보 등 또한 자율주행 수행에 필요한 정보들이다.
맵 데이터에는 로봇이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
따라서 로봇은 인공지능이 학습할 수 있는 데이터를 수집하기 위해 센서 및 다양한 입력부 그리고 무선통신부 등을 필수적으로 구비하고 각종정보를 종합하여 최적의 동작을 수행할 수 있다. 인공지능을 수행하는 러닝 프로세서는 로봇내의 제어부에 탑재하여 학습을 수행할 수도 있고, 수집한 정보를 서보로 전송하고 서버를 통해 학습하여 학습결과를 로봇에 다시 전송하여 이를 기초로 자율주행을 수행할 수 있다.
인공지능을 구비한 로보트는 새로운 장소에서도 주변 정보를 수집하여 전체 맵을 구현할 수 있으며, 주요활동반경의 장소는 누적되는 정보량이 많아 보다 정확한 자율주행을 수행할 수 있다.
사용자 입력을 받기위해 터치스크린이나 버튼을 구비할 수 있으며 사용자의 음성을 인식하여 명령을 입력받을 수도 있다. 프로세서는 음성입력을 문자열로 변환하기 위해 STT(Speech To Text) 엔진 또는 자연어의 의도 정보를 획득하기 위한 자연어 처리(NLP: Natural Language Processing) 엔진 중에서 적어도 하나 이상을 이용하여, 사용자 입력에 상응하는 의도 정보를 획득할 수 있다.
이때, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, STT 엔진 또는 NLP 엔진 중에서 적어도 하나 이상은 러닝 프로세서에 의해 학습된 것이나, AI 서버의 러닝 프로세서에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
도 1은 본 발명의 일 실시 예에 따른 5G 네트워크 기반의 클라우드 시스템(1000)을 나태낸다.
도 1을 참고하면, 클라우드 시스템(1000)은 주행로봇(100), 이동 단말(300), 로봇 관제 시스템(200), 각종 기기(400) 및 5G 네트워크(500)를 포함할 수 있다.
주행로봇(100)은 물품을 출발지에서 목적지로 운반하는 로봇이다. 주행로봇(100)은 물류 센터에서 직접 목적지까지 이동할 수 있으며, 물류 센터에서 물품 목적지 주변까지 차량에 적재되어 이동한 후, 목적지 주변에서 하차하여 목적지까지 이동할 수 있다.
또한, 주행로봇(100)은 실외뿐만 아니라 실내에서도 물품을 목적지로 이동할 수 있다. 주행로봇(100)은 AGV(Automated Guided Vehicle)로 구현될 수 있으며, AGV는 바닥면의 센서, 자기장, 비전기기 등에 의해 움직이는 운송 장치일 수 있다.
주행로봇(100)은 물품을 저장하는 보관 영역(Storage Area)을 포함할 수 있으며, 상기 보관 영역은 다양한 물품을 적재하기 위해 분할될 수 있으며, 분할된 복수의 부분 보관 영역에는 다양한 종류의 물품이 배치될 수 있다. 이에 따라, 물품의 혼입이 방지될 수 있다.
이동 단말(300)은 5G 네트워크(500)를 통해 주행로봇(100)과 통신할 수 있다. 이동 단말(300)은 물품을 적재하기 위해 파티션을 보관 영역에 설치하는 사용자가 소지한 기기 또는 적재된 물품의 수령자가 소지한 기기일 수 있다. 이동 단말(300)은 영상 기반으로 정보를 제공할 수 있으며, 이동 단말(300)은 휴대폰, 스마트 폰(smart phone), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등의 이동형 기기들을 포함할 수 있다.
로봇 관제 시스템(200)는 주행로봇(100)을 원격으로 제어할 수 있으며, 주행로봇(100)의 다양한 요청에 응답할 수 있다. 예를 들면, 로봇 관제 시스템(200)은 주행로봇(100)의 요청에 기초하여, 인공 지능을 이용한 연산을 수행할 수 있다.
또한, 로봇 관제 시스템(200)은 주행로봇(100)의 이동 경로를 설정할 수 있으며, 로봇 관제 시스템(200)은 복수의 목적지가 있는 경우, 목적지의 이동 순서를 설정할 수 있다.
각종 기기(400)는 개인 컴퓨터(PC, 400a), 자율 주행차(400b), 홈 로봇(400c) 등을 포함할 수 있다. 주행로봇(100)은 물품의 운송 목적지에 도착하는 경우, 홈 로봇(400c)과의 통신을 통해 홈 로봇(400c)에 직접 물품을 전달할 수 있다.
각종 기기(400)는 주행로봇(100), 이동 단말(300), 로봇 관제 시스템(200) 등과 5G 네트워크(500)를 통해 유무선으로 연결될 수 있다.
상기 주행로봇(100), 이동 단말(300), 로봇 관제 시스템(200) 및 각종 기기(400)는 모두 5G 모듈을 탑재하여 100Mbps 내지 20Gbps(또는, 그 이상) 속도로 데이터를 송수신할 수 있어서 대용량의 동영상 파일을 다양한 기기로 전송할 수 있으며, 저전력으로 구동되어 전력 소비가 최소화되게 할 수 있다. 다만, 상기 전송 속도는 실시 예에 따라 달리 구현될 수 있다.
5G 네트워크(500)는 5G 이동 통신 네트워크, 근거리 네트워크, 인터넷 등을 포함할 수 있으며, 유무선으로 기기들의 통신 환경을 제공할 수 있다.
도 2은 본 발명의 일 실시 예에 따른 주행로봇(100)의 구성을 설명하기 위한 도면이다. 본 발명의 일 실시예에 따른 주행로봇(100)을 도시한 도 3 내지 5를 함께 참고하여 설명하기로 한다.
도 2을 참고하면, 주행로봇(100)은 보관 영역(50)을 포함하는 바디(101, 도 3 참고)를 포함할 수 있으며, 후술하는 구성들이 바디(Body)에 포함될 수 있다. 주행로봇(100)은 통신부(110), 입력부(120), 센서부(140), 출력부(150), 메모리(185), 휠 구동부(170), 제어부(180) 및 전원공급부(190)를 포함할 수 있다. 도 2에 도시된 구성요소들은 주행로봇(100)을 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 주행로봇(100)은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
통신부(110, Transceiver)는 로봇 관제 시스템(200)과 통신할 수 있는 유무선의 통신 모듈을 포함할 수 있다.
선택적 실시 예로 상기 통신부(110)는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(BluetoothR), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association;IrDA), ZigBee, NFC(Near Field Communication) 통신에 관한 모듈을 탑재할 수 있다.
입력부(120)는 사용자로부터 정보를 입력 받기 위한 사용자 입력부(122)를 포함할 수 있다. 선택적 실시 예로 입력부(120)는 영상 신호 입력을 위한 카메라(121), 오디오 신호를 수신하기 위한 마이크로폰(123, "이하, 마이크로 칭함")을 포함할 수 있다. 여기서, 카메라(121)나 마이크(123)를 센서로 취급하여, 카메라(121)나 마이크(123)에서 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때, 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 제어부(180)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
카메라(121)는 전방의 장애물을 감지하기 위해 전방에 위치하며, 도 3에 도시된 바와 같이 각도가 상이하게 복수개가 배치될 수 있다. 전방을 넓게 인식하는 카메라와 바닥을 촬영하는 카메라와 같이 촬영 방향이 상이한 복수개의 카메라(121)를 구비할 수 있다.
또는 상이한 기능을 가지는 카메라를 구비할 수 있다. 예를 들어 광각카메라, 적외선 카메라 등을 구비할 수 있다. 카메라는 센서부(140)로서 주변의 사물을 감지하는 역할을 할 수 있다.
사용자 입력부(122)는 버튼이나 터치입력을 위한 터치패널을 구비할 수 있다. 또는 원격으로 통신부(110)를 통해 사용자 명령을 입력할 수도 있으며, 이 경우 사용자 입력부(122)는 주행로봇(100)과 별도로 구비된 개인 컴퓨터(400)나 원격제어장치를 포함할 수 있다.
사용자 입력부(122)는 사용자 명령을 입력받는 방식을 모두 포함하므로 음성인식을 통해 사용자 명령을 인식할 수 있다. 즉 마이크(123)서 수집한 음성을 분석하여 사용자 명령을 추출하는 음성인식장치도 사용자 입력부(122)로서 역할을 할 수 있다.
입력부(120)는 물품 정보 입력부를 포함할 수 있는데, 상기 물품 정보 입력부는 물품의 사이즈 정보, 무게 정보, 목적지 정보, 운송 의뢰자에 대한 정보 등을 입력받을 수 있다. 이때, 상기 물품 정보 입력부는 코드 리더를 포함할 수 있다.
센서부(140)는 다양한 센서들을 이용하여 주행로봇(100)의 내부 정보, 주행로봇(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센서부(140)는 자율주행을 위해 주변을 인식하기 위한 다양한 종류의 센서를 포함할 수 있다. 대표적으로 거리 감지 센서 또는 근접센서(141)와 라이다(142)를 들 수 있다.
근접센서(141)는 사출한 초음파가 돌아오는 시간을 기초로 근처의 사물을 인식하고 사물과의 거리를 판단하는 초음파 센서를 포함할 수 있다. 근접센서는 둘레를 따라 복수개를 구비할 수 있으며, 상측의 장애물을 감지하기 위해 상측에도 구비할 수 있다.
라이다(Lidar, 142)는 레이저 펄스를 발사하고 그 빛이 주위의 대상물체에 반사되어 돌아오는 것을 받아 주변의 모습을 정밀하게 그려내는 장치이다. 레이다와 같이 그 원리는 유사하나 사용하는 전자기파가 달라 이용 기술과 활용범위가 상이하다.
레이저는 600~1000nm 파장의 빛을 사용하기 때문에 사람의 시력을 손상시킬 수 있다. 라이다(342)는 이보다 더 긴 파장을 이용하며, 대상 물체까지의 거리뿐 아니라 움직이는 속도와 방향, 온도, 주변의 대기 물질 분석 및 농도 측정 등에 쓰인다.
그 외에 센서부(140)는 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, 적외선 센서, 지문 인식 센서, 초음파 센서, 광 센서, 홀센서 등을 포함할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있는데, 출력부(150)는 시각 정보를 출력하는 광 출력부, 디스플레이 (151) 등을 포함할 수 있으며, 청각 정보를 출력하는 스피커 (152), 비가청 주파수에 속하는 초음파 신호를 출력하는 초음파 출력부 등을 포함할 수 있고, 촉각 정보를 출력하는 햅틱 모듈을 포함할 수 있다.
메모리(185)는 주행로봇(100)의 다양한 기능을 지원하는 데이터를 저장한다. 메모리(185)는 주행로봇(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 주행로봇(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다.
아울러, 메모리(185)는 인공 지능, 머신 러닝, 인공 신경망을 이용하여 연산을 수행하는데 필요한 정보를 저장할 수 있다. 메모리(150)는 심층 신경망 모델을 저장할 수 있다. 상기 심층 신경망 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
전원공급부(190)는 프로세서(190)의 제어 하에서, 외부의 전원, 내부의 전원을 인가 받아 주행로봇(100)의 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(190)는 배터리(191)를 포함하며, 상기 배터리(191)는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다. 상기 배터리는 유선 또는 무선 충전 방식으로 충전될 수 있는데, 무선 충전 방식은 자기 유도 방식 또는 자기 공진 방식을 포함할 수 있다.
주행부(170)는 주행로봇(100)을 이동시키기 위한 수단으로서, 휠 또는 레그를 포함할 수 있으며 이를 제어하는 휠 구동부 및 레그 구동부를 포함할 수 있다. 휠 구동부 바닥면에 구비된 복수의 휠을 제어하여 바디(Body)를 포함하는 주행로봇(100)을 이동시킬 수 있다.
휠은 빠른 주행을 위한 메인휠(171)과 휠이 회전하는 차축 이외에 바디(101)와 결합되어 회전하는 주축을 포함하는캐스터 그리고 주행 중 적재된 물품(L)이 떨어지지 않도록 지지력을 보강하는 보조 캐스터(173) 등을 포함할 수 있다.
레그 구동부(미도시)는 제어부(180)의 제어에 따라 복수의 레그를 제어하여 바디를 이동시킬 수 있다. 복수의 레그는 주행로봇(100)이 걷거나 뛸 수 있도록 형성된 구성에 해당될 수 있다. 복수의 레그는 4 개로 구현될 수 있으나, 실시 예가 이에 국한되는 것은 아니다. 복수의 레그는 바디에 결합되어 일체형으로 형성될 수 있으며, 바디에 탈부착 형태로 구현될 수 있다.
주행로봇(100)은 휠 구동부 및/또는 레그 구동부 중 적어도 하나를 구비하는 주행부(170)를 통해 바디를 이동시킬 수 있다. 다만, 본 명세서 상에서는 휠 구동부가 이동 로봇(100)에 탑재된 예를 주로 설명한다.
제어부(180)는 주행로봇(100)의 구성들을 컨트롤하는 모듈이다. 상기 제어부(180)는 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
제어부(180)는. 가령, 제어부(180)는 입력부(120)를 통해 상기 정보들을 수집할 수 있다. 상기 입력부(120)의 입력은 디스플레이 상의 터치 입력도 포함할 수 있다.
제어부(180)는 수집된 상기 정보들에 기초하여, 적재 영역(50)에 적재된 물품(L)의 정보를 통신부(110)를 통해 이동 단말(도 1의 200)으로 전송할 수 있다.
도 3를 참조하면, 로봇 관제 시스템(200)은 AI서버를 포함할 수있다. AI 서버는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, 로봇 관제 시스템(200)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버는 주행로봇(100)의 일부의 구성으로 포함되어, 주행로봇(100) 자체에서 AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
로봇 관제 시스템(200)는 통신부(210), 메모리(230), 러닝 프로세서(240) 및 프로세서(260) 등을 포함할 수 있다.
통신부(210)는 주행로봇(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(230)는 모델 저장부(231)를 포함할 수 있다. 모델 저장부(231)는 러닝 프로세서(240)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.
러닝 프로세서(240)는 학습 데이터를 이용하여 인공 신경망(231a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 로봇 관제 시스템(200)에 탑재된 상태에서 이용되거나, 주행로봇(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(230)에 저장될 수 있다.
프로세서(260)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
도 4는 본 발명의 일 실시예에 따른 주행로봇(100)의 사시도이다.본 발명의 주행로봇(100)은 바디(101)의 하부에 위치하는 주행부(170)를 통해 이동할 수 있다. 주행로봇(100)의 본체는 박스 형상의 형태를 가질 수 있으며 물품을 적재하는 영역이 없으므로 바디(101)는 주행부(170), 전원공급부(190)로서 배터리, 제어부(180)로서 기판 조립체 등의 부품만 실장되면 충분하므로 납작한 형태를 가질 수 있다.
다만, 사용자가 사용의 편의성을 위해 디스플레이(151)는 사용자의 눈높이를 고려하여 수직 브라켓(102)을 통해 바디(101)의 상측에 이격된 위치에 배치될 수 있다. 디스플레이(151)는 터치센서를 구비하여 입력부로서 기능을 수행하며, 사용자는 디스플레이(151)를 통해 목적지 입력 및 주행로봇(100)의 기능 설정의 변경을 수행할 수 있다.
도면상의 주행로봇은 후방에 트레일러를 결합하여 운송하는 운송로봇 형태를 도시하고 있으나, 반드시 이에 제한되지 않고 자체적으로 적재공간을 포함한 운송로봇이나 서빙로봇 등을 모두 포함할 수 있다.
본 실시예는 소정 높이에 위치하는 카메라(121)를 구비할 수 있으며 본 실시예의 카메라(121)는 전면을 향하는 카메라와 하측으로 비스듬하게 위치하는 카메라 한 쌍을 구비할 수 있다.
경고음이나 사용자에게 알림을 제공하기 위해 스피커(152)를 더 구비할 수 있으며 사용자의 귀의 위치를 고려하여 수직 브라켓(102) 상에 위치시킬 수 있다.
라이다(142)와 근접센서(141)는 바디(101)에 위치할 수 있으며, 라이다는 센싱 범위가 넓으므로 라이다(142)의 센싱범위를 확장하기 위해 도 4에 도시된 바와 같이 수평방향으로 긴 홈을 포함할 수 있다.
근접센서(141)는 정밀하게 위치를 감지하기 위해 바디(101)의 둘레를 따라 복수개가 위치할 수 있다.
라이다(142)나 근접센서(141) 등의 센서는 전방에 위치하는 장애물을 인식하여 맵을 새로 구축하거나 맵(map) 상에 존재하지 않는 장애물을 인식하여 새로운 주행경로를 생성하기 위한 소스가 된다.
다만 라이다(142)는 수평방향으로 탐색하므로 바닥면에 낮게 위치하는 장애물 (예를 들어 지게차의 포크, 적재물이 없는 팔레트)을 인식하지 못할 수 있다. 근접센서는 인식거리가 짧고 주행속도가 높아지면 인식률이 떨어질 수 있다.
인식률을 높이기 위해 다양한 높이에 라이다(142)를 배치하거나 3D라이다를 이용하는 경우 다양한 높이의 장애물을 인식할 수 있으나, 비용증가의 문제가 있다. 이에 본 발명은 RGB 카메라(121)에서 촬영한 RGB이미지를 가공하여 장애물을 인식한는 장애물 인식방법을 제공한다.
도 5는 본 발명의 장애물 인식방법의 일 실시예에 따른 순서도이다. 먼저 복수개의 카메라(121a, 121b)에서 복수개의 촬영 이미지(11, 12)를 수집한다(S1100).
도 6은 본 발명의 주행로봇의 일 실시예에 따른 카메라(121a, 121b)의 촬영 범위를 도시한 도면이다. 도 5는 본 발명의 주행로봇의 일 실시예에 따른 카메라(121a, 121b)가 촬영한 촬영 이미지(11, 12)를 도시한 도면이다.
본 발명의 카메라(121a, 121b)는 적외선 카메라나 거리를 측정하는 뎁스 카메라를 제외하고 일반적인 RGB이미지(가시광선 이미지)를 촬영하는 카메라를 의미한다. 카메라의 시야각을 넓히기 위해 광각 카메라를 이용할 수도 있다.
광각을 이용하는 경우 넓은 범위를 촬영할 수 있으므로 한 개의 카메라로 충분한 크기의 이미지를 얻을 수 있다. 다만, 광각의 경우 외곽의 왜곡정도가 심하여 후술할 역원근법(IPM: Inverse Perspective Mapping)을 이용하여 탑뷰 이미지를 얻기 어려움이 있다.
따라서 도 5에 도시된 바와 같이 전방을 촬영하는 제1 카메라(121a)와 하방을 촬영하는 제2 카메라(121b)를 포함할 수 있다. 이하에서는 두 개의 카메라를 이용하여 얻은 2개의 촬영 이미지(11, 12)를 기준으로 설명하나, 촬영 이미지는 하나일 수도 있고, 3개 이상일 수도 있다.
따라서 하나의 카메라를 이용하는 경우 도 5의 S1100 단계는 하나의 카메라에서 하나의 촬영 이미지(11, 12)를 수집하는 단계로 대체될 수 있다.
도 6 및 도 7에 도시된 바와 같이 전방을 촬영하는 제1 카메라(121a)에서 취득한 제1 촬영 이미지(11)는 원거리까지의 이미지를 얻을 수 있고, 하방을 촬영하는 제2 카메라(121b)에서 취득한 제2 촬영 이미지(12)는 근거리의 바닥부분의 이미지를 얻을 수 있다.
두 촬영 이미지(11, 12)는 부분적으로 중첩되는 영역(overlap)을 포함하도록 카메라(11, 12)의 화각 및 카메라(11, 12)의 배치를 결정할 수 있다.
촬영 이미지(11, 12)로부터 바닥과 장애물을 구분할 수 있다(S1200). 도 8은 도 7의 촬영 이미지(11, 12)에서 바닥의 빈공간(free space, 25)를 추출한 이미지를 도시한 도면이다.
제2 카메라(121b)에서 촬영한 제2 촬영 이미지(12)는 전체적으로 바닥부분을 포함하므로 도 8의 (b)와 같이 전체(22)를 이용할 수 있으나, 제1 카메라(121a)에서 촬영한 제1 이미지(11)는 도 8의 (a)와 같이 바닥 부분을 포함한 영역(21)만 잘라서 이용할 수 있다.
이때 제2 촬영 이미지(12)의 너비를 고려하여 제1 촬영 이미지(11)에서 잘라낸 부분(21)의 너비를 결정할 수 있다. 즉, 제2 촬영 이미지(12)의 수평방향 너비 이상의 영역이 포함되도록 제1 촬영 이미지(11)에서 잘라낸 부분(21)의 수평방향 너비를 결정할 수 있다.
바닥영역(25)을 추출하는 이미지 분석은 딥러닝 이미지 세그멘테이션 기법을 활용하여 구분할 수 있다. DNN(Deep Neural Network) 모델을 통해 장애물(26)과 바닥영역(25)을 구분하는 학습을 수행할 수 있다.
본 발명의 주행로봇(100)은 물류센터에서 주로 이용할 수 있으므로 물류센터 현장에서 수집한 이미지 데이터를 활용하여 주행로 상의 물품을 식별하고 라벨링하는 기계학습을 진행할 수 있다.
2D이미지 데이터를 충분히 수집하기 어려운 경우 3D 가상환경을 생성하고 이를 기반으로 가상의 2D이미지를 생성하여 부족한 학습용 이미지 데이터를 대량으로 생성하여 단시간에 학습을 수행할 수 있다.
특히 카메라(121a, 121b) 각도에 따라 다른 촬영 이미지(11, 12)를 얻을 수 있어, 바닥영역(free space, 25)과 장애물(26)의 구분이 더욱 용이해진다.
다만 바닥에 형성되는 그림자, 조명 반사, 햇빛비침, 바닥 오염 등이 촬영 이미지(11, 12)에 촬영이 된 경우 장애물이 아닌 데에도 장애물로 오인식할 수 있다.
이러한 오인식을 방지하기 위해 촬영 이미지(11, 12)의 급격한 변화를 줄이는 스무딩 기법을 통해 그림자나 조명반사, 햇빛 비침, 바닥 오염등의 이미지의 경계를 희미하게 만들 수 있다. 스무딩 기법을 적용하여 조명반사, 햇빛 비침, 바닥 오염등을 장애물로 오인식 하는 문제를 해소할 수 있다.
도 9는 본 발명의 장애물 인식방법의 일 실시예에 따른 촬영 이미지(13) 상에 장애물로 오인식 된 부분을 제거하는 홀필터 기법을 도시한 도면이다.
촬영 이미지(13)를 스무딩하여 오인식의 요인이 되는 바닥의 음영을 옅게 하더라도 강한 조명반사 등은 여전히 바닥에서 차이가 보여 도 9의 (b)와 같이 장애물로 인식(27)할 수 있다.
장애물로 인식된 영역의 크기가 지정 값보다 작은 경우 오인식으로 판단하여 도 9의 (c)와 같이 이를 제거하는 홀필터를 적용할 수 있다. 홀필터의 지정값은 사용자가 설정할 수 있으며 물류센터 등 주행로봇(100)이 위치하는 장소에서 존재하는 장애물의 크기를 고려하여 결정할 수 있다.
홀필터는 바닥 영역을 추출하는 단계(S1200)에서 수행할 수 있고, 다음 단계인 탑뷰 이미지를 생성(S1300)한 후에 탑뷰 이미지(31, 32, 33) 상에서 적용할 수도 있다.
도 10 및 도 11은 본 발명의 장애물 인식방법의 일 실시예에 따른 탑뷰 이미지(31, 32, 33) 를 생성하는 과정을 도시한 도면이다.
도 10과 같이 원근감을 제거하고 탑뷰 이미지(31, 32, 33) 로 전환할 수 있다(S1300). 탑뷰 이미지(31, 32, 33) 를 얻는 방법은 역원근법(IPM:Inverse Perspective Mapping) 을 이용할 수 있다. 역원근법은 일반적인 RGB카메라의 원근효과를 제거하고 2D도메인상에 다시 매핑하는 방법이다.
촬영 이미지(11, 12)상 수평길이가 동일하더라도 근거리보다 원거리에서 더 넓은 영역을 나타내므로 도 10의 (a) 및 (b)에 도시된 바와 같이 탑뷰 이미지(31, 32)는 역 사다리꼴 형상의 이미지로 전환될 수 있다.
제1 촬영 이미지(11)는 제2 촬영 이미지(12) 보다 원거리의 이미지를 촬영하므로 제1 탑뷰 이미지(31)는 제1 촬영 이미지(11)의 크기보다 크기가 더 길어질 수 있다.
제2 촬영 이미지(12)의 제2 탑뷰 이미지(32)는 제2 촬영 이미지(12)보다 작아질 수 있다. 제1 촬영 이미지(11)는 하단의 수평 너비를 기준으로 탑뷰 이미지(31)로 생성하고 제2 촬영 이미지(12)는 상단의 수평 너비를 기준으로 탑뷰 이미지(32)를 생성할 수 있다.
이렇게 변환한 제1 탑뷰 이미지(31)와 제2 탑뷰 이미지(32)를 합쳐 도 11과 같이 탑뷰 이미지(33)를 완성할 수 있다(S1400). 단일 카메라로 하나의 촬영 이미지(11, 12)를 얻는 경우 하나의 탑뷰 이미지만 얻을 수 있으므로 S1400과정은 생략할 수 있다.
다만 탑뷰 이미지(33)는 촬영 이미지(11, 12) 상에 수직방향으로 세위진 사물을 수평방향으로 넓은 장애물로 인식하는 오류가 발생할 수 있다. 근거리의 정보는 정확하나 키가 큰 장애물로 인하여 원거리의 경우 실제 장애물이 없는 곳에 장애물이 있는 탑뷰 이미지(33)가 생성될 수 있다.
도 12는 본 발명의 장애물 인식방법의 일 실시예에 따른 탑뷰 이미지(33)를 장애물과 바닥으로 구분하여 맵으로 반영한 이미지를 도시한 도면이다. 도 12의 (b)는 도 12의 (a)와 같은 탑뷰 이미지(34)에서 장애물의 경계선(56)과 빈 바닥(51)을 구분하여 단순화한 분할 맵(segmentation map, 50)이다.
도 13은 실제 공간의 상태를 도시한 맵으로서, 도 13의 (a)와 같이 지게차나 적재물과 같은 장애물(91)의 배면 방향으로 공간이 존재한다. 그러나, 도 12이 (b)와 같이 탑뷰 이미지(34)로부터 추출한 분할 맵(50) 상의 장애물 경계(56)가 장애물의 배면 방향까지 연장된다.
도 13의 (b)와 같이 탑뷰에서 추출된 장애물 경계(56)를 실제 맵(90)에 반영하여 탐색된 장애물(93)로 표시하면 목적지(95)까지 이동하기 위한 경로가 막힌 것으로 맵(90)에 반영되어 주행로봇(100)이 목적지(92)에 도달하는 경로를 생성할 수 있다.
이러한 문제를 해소하기 위해 탑뷰 이미지(33) 상에서 추출한 장애물(56) 중에 실제 장애물과 잘못 반영된 장애물을 구분하기 위해 비전 라이다 기법(S1500, S1600, S1700)을 적용할 수 있다.
비전 라이다(Vision LiDAR)는 라이다(142)와 같이 원점(51, 52)에서 회전하면서 주변을 탐색하는 방법을 응용하여 탑뷰 이미지(33) 상에서 탐색하는 방법이다. 실제 라이다(142)를 이용하는 것이 아니고 이미지 상에서 회전하며 직선탐색을 통해 실제 장애물을 추출하는 방법이다.
도 14는 본 발명의 장애물 인식방법의 일 실시예에 따른 비전 라이다 방식으로 실제 장애물 전면을 추출하는 방법을 도시한 도면이다.
분할 맵(50) 상의 장애물 경계선(56)은 실제 장애물이 바닥에 놓인 면을 포함하지만, 장애물의 높이에 의해 탑뷰 전환시 바닥면에 놓인 것으로 오인식된 경계선도 있다. 비전 라이다는 분할 맵상 장애물 경계에서 오인식된 경계선을 제외하고, 실제 장애물의 전면을 추출한다.
탑뷰 이미지(33)에서 추출한 분할 맵(50)의 바닥영역(55)에서 가장 가까운 위치에서 원점(51, 52)을 선택한다(S1500). 가장 가까운 위치는 바닥영역(55)의 하단이며, 도 14에 도시된 바와 같이 분할 맵 이미지(50)상 하단변에 위치할 수 있다.
원점(51, 52)은 복수 개를 추출할 수 있으며 원점(51, 52)의 개수가 많을수록 정확도는 높아진다. 다만 주행로봇(100)의 제어부(180) 또는 서버에서 처리속도가 늦어지므로 도 14에 도시된 바와 같이 2개의 원점(51, 52)을 이용할 수 있다.
한 쌍의 원점(51, 52) 사이의 거리는 분할 맵(50)이 클수록 넓어질 수 있으며, 분할 맵(50)의 중앙에서 좌우로 나뉘어서 배치될 수 있다. 이는 서로 다른 위치에서 직선탐색을 통해 보다 정확한 값을 얻기 위함이다.
각각의 원점(51, 52)에서 회전하면서 직선탐색을 통해 장애물의 전면을 추출한다(S1600). 원점(51, 52)에서 분할 맵(50)의 외곽까지 연장된 직선에서 분할 맵(50)의 장애물 경계선(56)이 닿으면 이를 장애물 전면으로 인식한다.
분할맵 이미지 좌측하단의 지점(50a)부터 상측으로 순차적으로 하나 이상의 픽셀씩 이동하며 제1 원점(51)과 직선을 연결할 수 있다. 외곽을 따라 좌측 하단(50a) 부터 우측 하단(50d)까지 순차적(50a->50b->50c->50d)으로 탐색한다.
제1 원점(51)과 53' 지점과 연결한 직선에서 처음으로 장애물 경계선(56)과 만나게 된다(53).
도 14에는 제1 원점(51)과 외곽둘레를 따라 연결한 직선이 장애물 경계선(56)과 닿지 않는 경우 도면상에 표시하지 않고, 장애물 경계선(56)과 만난 직선탐색 만 표시하였다.
제2 원점(52)에서 동일한 방법으로 분할 맵(50) 이미지 좌측하단의 지점(50a)부터 상측으로 순차적으로 하나 이상의 픽셀씩 이동하며 직선을 연결하며 직선탐색을 할 수 있다.
제1 원점(51)에서 직선탐색 시 장애물 경계선(56)과 중첩된 부분과 제2 우언점에서 직선탐색 시 장애물 경계선(56)과 중첩된 부분이 부분적으로 일치하나 부분적으로는 불일치할 수 있다.
두 원점(51, 52)에서 모두 탐색된 장애물 전면(57)을 실제 장애물 전면(57)으로 판단하고 추출할 수 있다.
이때, 원점(51, 52)을 하나로 하면 도 15와 같이 탑뷰에서 추출한 장애물 곙계선과 거의 동일한 결과를 얻게 된다. 따라서, 도 14와 같이 2 이상의 원점(51, 52)을 이용하여 직선 탐색을 수행하고 각 원점(51, 52)에서 탐색한 결과 중 중첩되는 결과만 실제 장애물 전면(57)으로 선별한다(S1700).
도 16은 본 발명의 장애물 인식방법의 일 실시예에 따른 추출된 장애물 전면(57)을 맵(90)에 반영(97)한 상태를 도시한 도면이다. 도 16에 도시된 바와 같이 추출된 실제 장애물 전면(57)만 기존맵에 반영(97)하면 주행경로 상에 위치하는 것으로 오인식 되었던 장애물이 제거되어 목적지까지 경로를 설계할 수 있다.
이와 같은 비전 라이다는 주행로봇(100)의 위치에 따라 탐색 가능한 범위가 달라지므로 주기적으로 수행하면서 주행할 수 있다.
비전 라이다는 라이다(142) 등의 센서를 대체할 수도 있고, 라이다(142) 센서가 탐지하지 못하는 바닥에 인접한 장애물을 탐색할 수 있어, 다른 센서와 함께 부가적으로 활용할 수 도 있다.
본 발명의 장애물 탐색 방법에 따르면 높이가 높지 않고 바닥에 위치하는 장애물을 인식할 수 있다.
센서보다 저렴한 비용으로 장애물을 인식할 수 있어 다양한 형태의 주행로봇에 적용할 수 있다.
상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (15)

  1. 촬영 이미지를 카메라로부터 제공받는 단계;
    상기 촬영 이미지 상에서 바닥영역과 장애물을 구분하는 단계;
    상기 촬영 이미지의 원근을 제거하여 탑뷰 이미지를 생성하는 단계;
    상기 탑뷰 이미지 상에서 가장 근거리의 복수개의 원점(datum point)을 지정하는 단계;
    상기 복수개의 원점 각각에서 회전하며 직선탐색하여 장애물 전면을 추출하는 단계; 및
    상기 복수개의 원점에서 추출한 장애물 전면 중 중첩되는 부분만 최종 장애물 전면으로 선별하는 단계를 포함하는 장애물 인식방법.
  2. 제1항에 있어서,
    상기 장애물 전면을 추출하는 단계는,
    상기 원점으로부터 상기 탑뷰 이미지 상의 외곽둘레의 픽셀까지 직선을 연결하고 상기 직선과 상기 탑뷰 이미지 상의 장애물이 중첩되는 경우 장애물 전면으로 추출하는 것을 특징으로 하는 장애물 인식방법.
  3. 제2항에 있어서,
    상기 탑뷰 이미지 상의 외곽둘레의 픽셀은
    좌측하단부터 좌측상단, 우측상단 그리고 우측 하단으로 이어지는 선상의 픽셀을 포함하는 것을 특징으로 하는 장애물 인식방법.
  4. 제1항에 있어서,
    상기 복수개의 원점은
    적어도 상기 카메라의 위치로부터 좌측과 우측으로 분산된 것을 특징으로 하는 장애물 인식방법.
  5. 제1항에 있어서,
    상기 원점 사이의 간격은
    상기 탑뷰 이미지의 크기가 크면 넓고 상기 탑뷰 이미지의 크기가 작으면 좁은 것을 특징으로 하는 장애물 인식방법.
  6. 제1항에 있어서,
    상기 원점을 추출하는 단계는,
    상기 탑뷰 이미지에서 바닥영역과 장애물의 경계를 추출한 분할 맵(segmentation map)을 생성하는 단계; 및
    상기 분할 맵의 바닥영역의 하단에서 상기 복수개의 원점을 지정하는 단계를 포함하는 것을 특징으로 하는 장애물 인식방법.
  7. 제1항에 있어서,
    상기 카메라는
    전방을 촬영하여 제1 촬영 이미지를 제공하는 제1 카메라와
    하방을 촬영하여 제2 촬영 이미지를 제공하는 제2 카메라를 포함하고,
    상기 제1 촬영 이미지와 상기 제2 촬영 이미지를 각각 원근을 제거한 후에 합성하여 상기 탑뷰 이미지를 생성하는 것을 특징으로 하는 장애물 인식방법.
  8. 제7항에 있어서,
    상기 제1 촬영 이미지의 하부와 상기 제2 촬영 이미지의 상부는 중첩되는 것을 특징으로 하는 장애물 인식방법.
  9. 제1항에 있어서,
    상기 탑뷰 이미지로 전환하는 단계는
    IPM(Inverse Perspective Mapping)기법을 이용하여 전환하는 것을 특징으로 하는 장애물 인식방법.
  10. 제1항에 있어서,
    상기 탑뷰 이미지는
    상기 촬영 이미지 상에 바닥영역이 포함되지 않은 상부는 버리고 생성되는 것을 특징으로 하는 장애물 인식방법.
  11. 제1항에 있어서,
    상기 바닥영역과 장애물을 구분하는 단계는,
    상기 촬영 이미지 상의 그림자 및 빛 반사를 제거하는 단계를 더 포함하는 것을 특징으로 하는 장애물 인식방법.
  12. 제1항에 있어서,
    상기 선별된 장애물을
    기존의 맵 또는 다른 센서로 취득한 맵에 추가하는 단계를 포함하는 것을 특징으로 하는 장애물 인식방법.
  13. 주행부를 포함하는 본체;
    주행방향을 촬영하는 카메라; 및
    상기 카메라에서 촬영된 촬영 이미지를 통해 장애물을 인식하여 주행부를 제어는 제어부를 포함하고,
    상기 제어부는,
    상기 촬영 이미지 상에서 바닥영역과 장애물을 구분하고,
    상기 촬영 이미지의 원근을 제거하여 탑뷰 이미지를 생성하며,
    상기 탑뷰 이미지 상에서 가장 근거리의 복수개의 원점을 추출하고,
    상기 복수개의 원점 각각에서 회전하며 직선탐색하여 장애물 전면을 추출하며,
    상기 복수개의 원점에서 추출한 장애물 전면 중 중첩되는 부분만 실제 장애물로 선별하여, 기존의 맵 또는 다른 센서로 취득한 맵에 상기 선별된 장애물을 추가하고,
    상기 선별된 장애물이 추가된 맵을 기초로 주행경로를 설정하며,
    상기 주행경로를 따라 이동하도록 상기 주행부를 제어하는 주행로봇.
  14. 제13항에 있어서,
    상기 제어부는,
    상기 원점으로부터 상기 탑뷰 이미지 상의 외곽둘레의 픽셀까지 직선을 연결하고 상기 직선과 상기 탑뷰 이미지 상의 장애물이 중첩되는 경우 장애물 전면으로 추출하는 것을 특징으로 하는 주행로봇.
  15. 제13항에 있어서,
    상기 카메라는
    전방을 촬영하여 제1 촬영 이미지를 제공하는 제1 카메라와
    하방을 촬영하여 제2 촬영 이미지를 제공하는 제2 카메라를 포함하고,
    상기 제1 촬영 이미지와 상기 제2 촬영 이미지를 각각 원근을 제거한 후에 합성하여 상기 탑뷰 이미지를 생성하는 것을 특징으로 하는 주행로봇.
PCT/KR2022/018073 2022-07-21 2022-11-16 장애물 인식 방법 및 주행로봇 WO2024019234A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0090560 2022-07-21
KR20220090560 2022-07-21

Publications (1)

Publication Number Publication Date
WO2024019234A1 true WO2024019234A1 (ko) 2024-01-25

Family

ID=89618030

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/018073 WO2024019234A1 (ko) 2022-07-21 2022-11-16 장애물 인식 방법 및 주행로봇

Country Status (1)

Country Link
WO (1) WO2024019234A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160103230A (ko) * 2015-02-23 2016-09-01 부경대학교 산학협력단 입체영상의 돌출 시차 변화율을 이용한 물체 접근 감지 장치 및 방법
US20190120633A1 (en) * 2017-10-17 2019-04-25 AI Incorporated Discovering and plotting the boundary of an enclosure
US20200225673A1 (en) * 2016-02-29 2020-07-16 AI Incorporated Obstacle recognition method for autonomous robots
KR20200119394A (ko) * 2019-03-27 2020-10-20 엘지전자 주식회사 이동 로봇 및 그 제어방법
EP3512668B1 (en) * 2016-09-14 2021-07-21 iRobot Corporation Systems and methods for configurable operation of a robot based on area classification

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160103230A (ko) * 2015-02-23 2016-09-01 부경대학교 산학협력단 입체영상의 돌출 시차 변화율을 이용한 물체 접근 감지 장치 및 방법
US20200225673A1 (en) * 2016-02-29 2020-07-16 AI Incorporated Obstacle recognition method for autonomous robots
EP3512668B1 (en) * 2016-09-14 2021-07-21 iRobot Corporation Systems and methods for configurable operation of a robot based on area classification
US20190120633A1 (en) * 2017-10-17 2019-04-25 AI Incorporated Discovering and plotting the boundary of an enclosure
KR20200119394A (ko) * 2019-03-27 2020-10-20 엘지전자 주식회사 이동 로봇 및 그 제어방법

Similar Documents

Publication Publication Date Title
WO2020256159A1 (ko) 이동 로봇과 그의 제어 방법
WO2017091008A1 (ko) 이동 로봇 및 그 제어 방법
US20200046169A1 (en) Robot system and control method of the same
Culler et al. A prototype smart materials warehouse application implemented using custom mobile robots and open source vision technology developed using emgucv
US11580724B2 (en) Virtual teach and repeat mobile manipulation system
WO2020139064A1 (en) Cleaning robot and method of performing task thereof
WO2020256163A1 (ko) 인공지능 이동 로봇과 그의 제어 방법
KR20210055342A (ko) 로봇 및 그의 제어 방법
US20200016767A1 (en) Robot system and control method of the same
WO2020262746A1 (ko) 인공지능 기반의 세탁 코스 추천 장치 및 그 제어 방법
US11092968B2 (en) System and method for real-time supervised machine learning in on-site environment
WO2021040104A1 (ko) 로봇
US20220291685A1 (en) Method and system to improve autonomous robotic systems responsive behavior
WO2020256180A1 (ko) 사용자 인식 기반의 유모차 로봇 및 그 제어 방법
WO2024019234A1 (ko) 장애물 인식 방법 및 주행로봇
KR20210026595A (ko) 로봇이 관리자 모드로 이동하는 방법 및 이를 구현하는 로봇
WO2021230503A1 (en) Electronic apparatus and controlling method thereof
WO2024025013A1 (ko) 자율 모바일 로봇 및 리프트 유닛
US20230161356A1 (en) Method of updating map in fusion slam and robot implementing same
WO2023234447A1 (ko) 운송 로봇
WO2023243748A1 (ko) 운송 로봇, 운송 수단 및 그 제어방법
KR20210042537A (ko) 대면적의 공간에서 로컬 영역별로 위치를 추정하는 방법 및 이를 구현하는 로봇과 클라우드 서버
WO2024043367A1 (ko) 주행로봇
WO2024025010A1 (ko) 서빙 로봇
WO2024043370A1 (ko) 주행로봇

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22952082

Country of ref document: EP

Kind code of ref document: A1