WO2018164377A1 - 지도 데이터를 생성하는 전자 장치 및 그 동작 방법 - Google Patents

지도 데이터를 생성하는 전자 장치 및 그 동작 방법 Download PDF

Info

Publication number
WO2018164377A1
WO2018164377A1 PCT/KR2018/001488 KR2018001488W WO2018164377A1 WO 2018164377 A1 WO2018164377 A1 WO 2018164377A1 KR 2018001488 W KR2018001488 W KR 2018001488W WO 2018164377 A1 WO2018164377 A1 WO 2018164377A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
node
electronic device
position data
processor
Prior art date
Application number
PCT/KR2018/001488
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 삼성전자 주식회사
Priority to EP18764807.6A priority Critical patent/EP3579215A4/en
Priority to CN201880016696.3A priority patent/CN110392908B/zh
Priority to US16/492,404 priority patent/US11183056B2/en
Publication of WO2018164377A1 publication Critical patent/WO2018164377A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/0969Systems involving transmission of navigation instructions to the vehicle having a display in the form of a map
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • G09B29/006Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes
    • G09B29/007Representation of non-cartographic information on maps, e.g. population distribution, wind direction, radiation levels, air and sea routes using computer methods
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Definitions

  • the present disclosure relates to an electronic device for generating map data and a method of operating the same.
  • Autonomous driving refers to a technology that allows a driver to reach his or her own destination without having to operate a steering wheel, accelerator pedal, or brake.
  • An electronic device and method for generating map data are provided.
  • the present invention provides a computer-readable recording medium having recorded thereon a program for executing the method on a computer.
  • the technical problem to be solved is not limited to the above technical problems, and other technical problems may exist.
  • an electronic device extracts an object from at least one sensing unit for obtaining location data and image data for each of a plurality of nodes at predetermined intervals while the electronic device moves, and extracts an object from the image data.
  • a processor may be configured to generate first object data for identification, and store position data of a first node corresponding to the image data from which the object is extracted, and first object data corresponding to the first node.
  • FIG. 1 is a diagram illustrating an example in which an electronic device operates according to an embodiment of the present disclosure.
  • FIG. 2 is a flowchart illustrating an example in which an electronic device operates according to an embodiment of the present disclosure.
  • FIG. 3 is a flowchart illustrating an example of generating an edge between nodes according to an embodiment.
  • FIG. 4 is a diagram for describing an example of generating an edge between nodes according to an exemplary embodiment.
  • FIG. 5 is a diagram for describing an example of generating an edge between nodes using image data according to an exemplary embodiment.
  • FIG. 6 is a flowchart illustrating an example of generating an edge between nodes using an object according to an embodiment.
  • FIG. 7 to 8 are diagrams for describing an example of generating an edge between nodes using an object according to an exemplary embodiment.
  • FIG. 9 is a flowchart illustrating an example of generating map data according to an exemplary embodiment.
  • FIG. 10 is a diagram for describing an example of generating map data, according to an exemplary embodiment.
  • 11 is a diagram for describing an example of operating an electronic device indoors, according to an exemplary embodiment.
  • FIG. 12 is a diagram illustrating an example of data interworking among a plurality of electronic devices according to an embodiment of the present disclosure.
  • FIG. 13 is a block diagram of an electronic device according to an embodiment.
  • FIG. 14 is a block diagram of an electronic device according to another embodiment.
  • 15 is a block diagram of a vehicle according to an exemplary embodiment.
  • an electronic device extracts an object from at least one sensing unit for obtaining location data and image data for each of a plurality of nodes at predetermined intervals while the electronic device moves, and extracts an object from the image data.
  • a processor may be configured to generate first object data for identification, and store position data of a first node corresponding to the image data from which the object is extracted, and first object data corresponding to the first node.
  • a method of operating an electronic device may include obtaining location data and image data for each of a plurality of nodes at predetermined intervals while the electronic device is moving, extracting an object from the image data, and extracting the extracted object. Generating first object data for identifying the data; and storing position data of the first node corresponding to the image data from which the object is extracted, and first object data corresponding to the first node. .
  • a computer-readable recording medium includes a recording medium recording a program for executing the above-described method on a computer.
  • the vehicle 1 may include an electronic device 100 (hereinafter, the electronic device 100) that assists or controls driving of the vehicle 1.
  • FIG. 1 is a diagram illustrating an example in which an electronic device operates according to an embodiment of the present disclosure.
  • the electronic device 100 included in the vehicle 1 may recognize the surrounding environment through the sensing unit 110 while the vehicle 1 is traveling on a road, and may detect the object in the vicinity.
  • (Eg, signs) 10 may be used to more accurately update map data.
  • the electronic device 100 may include a distance from the vehicle 1 to an object (eg, a sign) 10, a shape, and a size (eg, a size of 150 cm x 100 cm, a square plane) of the object 10.
  • an object eg, a sign
  • a size eg, a size of 150 cm x 100 cm, a square plane
  • Object data may be data for identifying an object.
  • the object data may include a shape, size, shape, color, material, curvature, area, volume, and the like of the object.
  • the object data may include text, a pattern, a logo, and the like extracted from the object.
  • the object data may include a distance between objects from a position of the electronic device 100 that senses the object, a position of the object (for example, 3DoF (x, y, yaw angle) or 6DoF (x, y, z, roll angle, coordinate information of the pitch angle, yaw angle), and the direction of the object.
  • the object data may include flatness and reflectance of the object.
  • the present invention is not limited thereto.
  • the electronic device 100 stores object data instead of the entire image of the surroundings acquired while driving the vehicle to update the map, thereby minimizing the storage capacity and minimizing the amount of computation during the map update. Can reduce the load.
  • the autonomous vehicle may generate and update map data on a surrounding environment using various sensor information and estimate a current location of the vehicle on the map data.
  • map data the more accurate map data the vehicle has, the more accurate the vehicle position can be estimated on the map data.
  • the electronic device 100 updates the map data by using more detailed map data by using data about the object 10 detected in the vicinity while the vehicle 1 is traveling, thereby presenting the current state of the vehicle on the map data.
  • the position can be estimated more accurately.
  • the movable device or robot may include the electronic device 100.
  • the electronic device 100 it will be described in detail with reference to FIGS. 11 to 12 to be described later.
  • FIG. 2 is a flowchart illustrating an example in which an electronic device operates according to an embodiment of the present disclosure.
  • the electronic device 100 may acquire location data and image data for each of a plurality of nodes at predetermined intervals while the electronic device 100 moves. According to an embodiment of the present disclosure, the electronic device 100 May determine a plurality of nodes according to a time interval or a distance interval.
  • a node may refer to a location of the vehicle 1 (FIG. 1) that includes the electronic device 100 at the time when data is acquired through the sensing unit 110 (FIG. 13).
  • the vehicle 1 (FIG. 1) including the electronic device 100 moves, the vehicle 1 (FIG. 1) for each node according to a predetermined time interval (eg, 1 second).
  • the position of can be measured.
  • the position of the electronic device 100 at the time point t is node A
  • the position of the electronic device 100 at the time point t + 1 may be described as a node B adjacent to the node A.
  • FIG. The path through which the vehicle 1 (FIG. 1) including the electronic device 100 passes may be a collection of consecutive nodes.
  • the electronic device 100 may be configured for each node according to a predetermined distance interval (for example, 1 m). Position data and image data of the vehicle 1 (FIG. 1) may be acquired.
  • the electronic device 100 may be located at each node through the sensing unit 110 including the odometery sensor 230, the acceleration sensor 231, the IMU 225, the GPS 224, and the like. Data can be obtained.
  • the position data of a node may include a position coordinate value of the node.
  • the position data may be obtained by 3 DoF (x, y, yaw angle) or 6 DoF (x, y, z, roll angle, pitch angle, yaw angle), but is not limited thereto.
  • the position data of the node A can be obtained as (1m, 2m, 3 degrees), and the position data of the node B as (2m, 2m, 3.1 degrees).
  • the electronic device 100 may acquire image data at each node through the sensing unit 110 including a lidar sensor 227, an image sensor 228, and the like. Can be.
  • the image data acquired at each node may include a 3D point cloud, an image, and the like.
  • the electronic device 100 may recognize a surrounding environment of the electronic device 100 through the sensing unit 110.
  • the sensing unit 110 may include a Lidar sensor 227.
  • the Lidar sensor 227 may recognize a shape of a surrounding object, a relative distance from the surrounding object, a surrounding terrain, and the like of the moving electronic device 100.
  • the lidar sensor 227 may acquire information about a sign around the vehicle 1 (FIG. 1), a road shape, a distance from a vehicle ahead, and the like.
  • the lidar sensor 227 may output information about a shape of an object by outputting a laser beam.
  • the lidar sensor 227 may include a single laser output or a plurality of laser outputs.
  • the single laser output is rotatable about the vertical axis (z axis), the horizontal angle on the xy plane and the vertical angle between the xy plane and the z axis are adjustable and the tilt is also adjustable.
  • Each of the plurality of laser outputs may be the same laser output as a single laser output. Multiple laser outputs are also independently adjustable for rotation, angle and tilt.
  • the Lidar sensor 227 may output a laser beam using a laser output device, and obtain a reflection signal from an object through at least one laser receiver.
  • the reflected signal may include an ultrasonic wave, an infrared ray, visible light, or a laser beam reflected from an object, but is not limited thereto.
  • the electronic device 100 may extract an object from image data.
  • an object to be extracted by the electronic device 100 is an object that is less likely to change in position, shape, size, etc., even with time, among objects that can be observed around the moving electronic device 100.
  • the object may be, but is not limited to, signs, signs, road signs, traffic lights, columns, pylons, monuments, bridges, curbs, guard rails, buildings, lanes, and the like.
  • the electronic device 100 may determine or change the sign on the road as an object to use for updating the map.
  • information about the object may be preset in the electronic device 100.
  • the electronic device 100 may generate first object data for identifying the extracted object.
  • the object data may include a shape, a size, a shape, a color, a material, and a distance between objects from a position of the electronic device 100 that senses the object, but is not limited thereto.
  • the processor 120 of the electronic device 100 may determine the shape, size, and the like of the object using sensor information obtained through the sensing unit 110.
  • the processor 120 of the electronic device 100 may use the sensor information obtained through the sensing unit 110 to determine a relative distance and relative angle between the object and the vehicle 1 (FIG. 1) when the object is extracted. You can decide.
  • the electronic device 100 may store position data of the first node corresponding to the image data from which the object is extracted and first object data corresponding to the first node.
  • the location of the vehicle 1 (FIG. 1) including the electronic device 100 at the time when a specific object is detected may be described as a first node.
  • the electronic device 100 may determine the location data of the first node and the first node.
  • the first object data including the shape, the shape, the distance to the object, and the like regarding the detected object may be matched with the first node and stored in the storage 140.
  • the electronic device 100 when repeatedly driving the same path, the electronic device 100 may detect the same object again.
  • the electronic device 100 may compare the data about the object already stored with the data about the currently generated object.
  • the electronic device 100 may calculate more accurate location data of the node using previously stored object data.
  • the relative position between the node A and the node B may be calculated using the relative position between the node A and the object and the relative position between the node B and the object.
  • the electronic device 100 may correct the position data of the node by using the object, and further update the map data based on the corrected position data of the node. Embodiments related to this will be described in detail later with reference to FIGS. 6 to 8.
  • 3 is a flowchart illustrating an example of edge generation between nodes according to an embodiment.
  • 4 is a diagram for describing an example of generating an edge between nodes according to an exemplary embodiment.
  • 5 is a diagram for describing an example of generating an edge between nodes using image data according to an exemplary embodiment.
  • generating an edge between two nodes may mean calculating an error value of relative position data and relative position data between two nodes.
  • the processor 120 or 13 generates a path graph as a set of at least two nodes and edges between the two nodes. can do.
  • a graph may be generated by displaying a plurality of nodes as dots and connecting adjacent nodes by edges.
  • the path graph p40 may include an edge e41 connecting the node 41 and the node 42.
  • the processor 120 of the electronic device 100 may calculate an error value corresponding to relative position data and relative position data between adjacent nodes by using position data and image data for each node.
  • the electronic device 100 may calculate relative position data between two nodes.
  • the relative position data between two nodes may include a relative distance between two nodes, a relative angle, and the like. For example, when the position data of node A is (1m, 2m, 3 degrees) and the position data of node B is (2m, 2m, 3.1 degrees), the relative position data of node A and node B is (1m, 0 m, 0.1 degree).
  • the electronic device 100 may obtain a change value (movement distance, rotation angle, etc.) of the position of the moving vehicle using the odometer sensor 230.
  • the odometery sensor 230 may calculate a position change value of the vehicle by measuring the number of wheel revolutions while the vehicle is driving.
  • the electronic device 100 may calculate an error value corresponding to relative position data of two nodes.
  • an error value of an edge between two nodes may be calculated as an error covariance.
  • an error value of the relative position data may be calculated in a 3 by 3 matrix.
  • an error value of the relative position data may be calculated in a 6 by 6 matrix.
  • the electronic device 100 may scan and match image data (eg, a 3D point cloud) of two nodes to calculate error values of relative position data and relative position data of the two nodes.
  • image data eg, a 3D point cloud
  • the electronic device 100 scans and matches the image data d51 acquired at the node 51 and the image data d52 obtained at the node 52, and compares the image data.
  • the error value can be calculated.
  • the electronic device 100 may scan and match image data corresponding to consecutive nodes while driving the vehicle 1 (FIG. 1) to generate edges between consecutive nodes.
  • the image data at the first node and the image data at the second node at the time of passing again are scanned and matched to the adjacent points. You can create edges between the nodes you represent.
  • the processor 120 of the electronic device 100 may correct location data for each node such that an error value is minimized.
  • the processor 120 may correct the position data for each node to minimize the error value, based on an error value corresponding to relative position data between adjacent nodes.
  • the processor 120 may generate a path graph with higher accuracy by correcting the path graph which is a set of nodes based on the corrected position data for each node.
  • FIG. 6 is a flowchart illustrating an example of generating an edge between nodes using an object according to an embodiment.
  • 7 to 8 are diagrams for describing an example of generating an edge between nodes using an object according to an exemplary embodiment.
  • the processor 120 or FIG. 13 of the electronic device 100 may determine that an object corresponding to the first object data is the same as an object corresponding to previously stored second object data.
  • a path graph that is a set of edges connecting a plurality of nodes and adjacent nodes at predetermined time intervals while the vehicle 1 and 1 are traveling. p71 may be generated.
  • the electronic device 100 acquires image data around the vehicle 1 and FIG. 1 at each node at predetermined time intervals while the vehicle 1 and 1 are traveling.
  • the object 71 can be extracted from the image data.
  • the processor 120 of the electronic device 100 may generate object data related to the extracted object.
  • the electronic device 100 may generate first object data including a relative distance, a relative angle, a size, a shape, and the like of the object 71 observed at the node 71. have.
  • the electronic device 100 may store second object data for the same object 71.
  • the vehicle 1 FIG. 1
  • the second object data including the relative distance to the object 71, the relative angle, and the like may be previously generated and stored.
  • the first object data and the second object data may be generated by observing the same object at different points in time at which a predetermined time interval exists.
  • the processor 120 of the electronic device 100 may include data regarding the shape and size of an object included in the first object data and data about the shape and size of an object included in the second object data. By comparing, it is possible to determine whether the object is generated by observing the same object.
  • the processor 120 may determine that the first object data and the second object data are observed at the same time from the same object. Can be.
  • the processor 120 of the electronic device 100 uses the first object data and the second object data to perform relative position data of the first node and the second node, the first node, and the second node.
  • An error value corresponding to the relative position data of may be calculated.
  • calculating an error value corresponding to relative position data of the first node and the second node and relative position data of the first node and the second node may include an edge between the first node and the second node ( edge) can be created.
  • the electronic device 100 may not be connected to the entire image data, but to the same object 71 observed at the first node 71 and the second node 72, respectively.
  • the edges of the first node node 71 and the second node node 72 may be generated using the respective object data based on the object data.
  • the processor 120 generates the first object data and the first object data corresponding to the first node (node 71) in order to generate an edge between the first node (node 71) and the second node (node 72). Second object data corresponding to two nodes 72 may be used.
  • the processor 120 includes first object data including a relative position between the first node node 71 and the object 71, and a relative position between the second node node 72 and the object 71. Based on the second object data, for example, relative position data between the first node node 71 and the second node 72 may be calculated using triangulation.
  • the processor 120 of the electronic device 100 may correct position data of the first node and the second node so that an error value is minimized.
  • the processor 120 of the electronic device 100 may correct location data of each node such that the sum of error values of edges constituting the path graph is minimum.
  • the electronic device 100 may use a SLAM (Simultaneous Localizaion And Mapping) technology in which a moving vehicle or a robot measures its location and simultaneously creates a map of the surrounding environment.
  • the electronic device 100 may perform loop-closing based on the relative positions of two adjacent nodes using a graph-based slam technique.
  • the electronic device 100 may derive a corrected result value by generating a loop-closure edge connecting two nodes using a relative distance between the two nodes, a relative angle, and the like.
  • the processor 120 of the electronic device 100 may correct a path graph including the first node and the second node based on the corrected position data of the first node and the second node. have.
  • the processor 120 may generate a path graph having more accurate position data for each node by correcting the path graph based on the corrected position data.
  • the electronic device 100 may generate a path graph with higher accuracy by using a plurality of objects observed while the vehicle 1 (FIG. 1) is driving.
  • the electronic device 100 detects the object A 81 at the node 81 and the object B 83 at the node 83 while the vehicle 1 (FIG. 1) is traveling. Can be detected.
  • the driving route of the vehicle 1 (FIG. 1) may be generated as a route graph p81.
  • the electronic device 100 detects the object 81 at the node 82 and the object 83 at the node 84 while the vehicle 1 (FIG. 1) is traveling. You may have.
  • the driving route of the vehicle 1 (FIG. 1) may be generated as a route graph p82.
  • the electronic device 100 may store object data about the object A 81 and object data about the object B 83.
  • the processor 120 of the electronic device 100 may correct position data of nodes and generate a path graph with high accuracy by using a plurality of stored object data.
  • FIG. 9 is a flowchart illustrating an example of generating map data according to an exemplary embodiment.
  • 10 is a diagram for describing an example of generating map data, according to an exemplary embodiment.
  • the processor 120 of the electronic device 100 may generate map data using the corrected route graph and node-specific image data.
  • the processor 120 may include map data 50 including image data d101 corresponding to a node 101 and image data d102 corresponding to a node 102. Can be generated.
  • the map data may be implemented in the form of a 3D point cloud, a 2D grid map, a 3D Voxel map, and the like, but is not limited thereto.
  • the map data may be implemented in various formats (eg, feature map, semantic map, dense map, texture map, etc.) according to the type of data included in the map when the map is generated.
  • the processor 120 may generate map data in 3D point cloud format using image data in 3D point cloud format corresponding to each node based on the position data of each node in the corrected path graph. have.
  • the processor 120 may generate map data obtained by converting image data in 3D point cloud format corresponding to each node into 3D Voxel format.
  • the processor 120 may generate map data in a 2D grid format using only the ground of the road extracted from the point cloud or image data of the image format corresponding to each node.
  • the processor 120 (FIG. 13) of the electronic device 100 may store the generated map data.
  • the processor 120 of the electronic device 100 may store a route graph used when generating map data.
  • the electronic device 100 may store object data corresponding to a node where an object is observed.
  • the processor 120 may store the route graph and the object data and expand the route graph by adding location data and object data for each node acquired while the vehicle 1 (FIG. 1) is traveling. have.
  • the processor 120 updates the path graph with more precise location data by correcting the previously stored path graph by using node data and object data that are additionally obtained based on the previously stored path graph. can do. Furthermore, the processor 120 may update the map data with more precise map data based on the more precise location data.
  • the electronic device 100 may delete image data for each node used when generating the map data.
  • the electronic device 100 since the electronic device 100 uses the route graph and the object data including the pre-stored location data for each node to update the map data, the electronic device 100 may generate the map data after generating the map data. You can delete the image data of each node.
  • the electronic device 100 is described as performing operations, but the present disclosure is not limited thereto.
  • the electronic device 100 may perform all operations or the server (not shown) may perform some operations of the electronic device 100.
  • the electronic device 100 may store or process data in association with a server (not shown).
  • the data acquired by the electronic device 100 may be transmitted to a server (not shown), and the server may process the data.
  • the electronic device 100 transmits the location data, the image data, and the object data of the electronic device 100 acquired by the electronic device 100 to the server, and the server transmits the path using the location data, the image data, and the object data of the electronic device 100.
  • a graph may be generated and corrected, and map data may be generated and updated, but is not limited thereto.
  • 11 is a diagram for describing an example of operating an electronic device indoors, according to an exemplary embodiment.
  • the movable robot 2 may include the electronic device 100.
  • a robot for providing various services may include the electronic device 100.
  • a robot for detecting a dangerous situation, and the like in a shopping mall, an airport, a hospital, a factory, and a home may include the electronic device 100.
  • the robot 2 including the electronic device 100 may acquire location data and image data for each of a plurality of nodes according to a predetermined time interval or distance interval while moving indoors using the sensing unit 110. Can be.
  • the electronic device 100 may extract an object from the image data.
  • the object may be an object that is less likely to change in position, shape, size, etc., even with time, among objects that the moving robot 2 may observe in the vicinity.
  • the object senses emergency exit signs, guide text, tags (NFC, RFID tags, etc.), fire hydrants, posters, room numbers, guide signs, escalators, elevators, stairs, sensors (temperature, humidity, air quality, air pressure, etc.). Sensor), CCTV, pillar, ceiling, floor, wall, glass, etc., but is not limited thereto.
  • the robot 2 including the electronic device 100 may sense the emergency exit sign 11 installed on a wall while moving indoors.
  • the electronic device 100 may sense object data for identifying the emergency exit sign 11 (for example, the size, shape, material, text information recognized from the emergency exit sign, and the emergency exit sign 11). Distance data between the electronic device 100 and the emergency exit sign 11).
  • object data for identifying the emergency exit sign 11 for example, the size, shape, material, text information recognized from the emergency exit sign, and the emergency exit sign 11.
  • the electronic device 100 may correct the route graph and update the map data using the object data.
  • FIG. 12 is a diagram illustrating an example of data interworking among a plurality of electronic devices according to an embodiment of the present disclosure.
  • the electronic device 100 included in the vehicle 1 may operate in conjunction with the electronic device 100 included in the robot 2 to operate. According to an embodiment of the present disclosure, the electronic device 100 included in the vehicle 1 may operate in cooperation with the electronic device included in another vehicle. In addition, the electronic device 100 included in the robot 2 may operate in conjunction with an electronic device included in another robot.
  • a path graph p120 is generated by combining location data and image data acquired as the vehicle 1 travels on a road, and location data and image data acquired as the robot 2 moves indoors. And map data can be generated.
  • location data, image data, and object data acquired by the vehicle 1 or the robot 2 including the electronic device 100 may be used for updating map data without distinguishing between indoors and outdoors.
  • each of the plurality of electronic devices 100 may perform operations of the electronic device 100 described with reference to FIGS. 1 to 11. Data obtained by the plurality of electronic devices 100 may be shared between other electronic devices that can operate in conjunction.
  • At least one electronic device of the plurality of electronic devices to be interoperable may receive, store, and process data from another electronic device.
  • a server may collect data obtained from a plurality of electronic devices, and the server may store and process the data.
  • FIG. 13 is a block diagram of an electronic device according to an embodiment.
  • the electronic device 100 may include a sensing unit 110 and a processor 120.
  • a sensing unit 110 may include a processor 120.
  • a processor 120 may include a processor 120.
  • FIG. 13 only components related to the present embodiment are illustrated. Therefore, it will be understood by those skilled in the art that other general-purpose components may be further included in addition to the components illustrated in FIG. 13.
  • the sensing unit 110 may acquire a surrounding image including objects located around the vehicle 1 (FIG. 1) that is driving on a road.
  • the sensing unit 110 may include a plurality of sensors for obtaining a surrounding image.
  • the sensing unit 110 may include a distance sensor such as a LIDAR sensor and a RADAR sensor, and an image sensor such as a camera.
  • the sensing unit 110 may include one or more actuators configured to modify the position and / or orientation of a plurality of sensors, the bars 110 being in each direction of the front, rear, and sides of the vehicle 1 (FIG. 1). It can sense the object located.
  • the sensing unit 110 may sense the shape of the object and the shape of the lane located around the image sensor using an image sensor.
  • the processor 120 may include at least one processor. Can be configured.
  • the processor 120 may extract an object from the image data, and generate first object data including the shape of the extracted object.
  • the processor 120 may store the position data of the first node corresponding to the image data from which the object is extracted and the first object data in the storage 140.
  • the processor 120 uses the first object data and the second object data, The relative position data of the second node corresponding to the second object data and the error value corresponding to the relative position data of the first node and the second node may be calculated. In addition, the processor 120 may correct the position data of the first node and the second node to minimize the error value.
  • the processor 120 may correct the path graph including the first node and the second node based on the corrected position data of the first node and the second node.
  • the processor 120 calculates an error value corresponding to the relative position data and the relative position data between adjacent nodes by using the position data and the image data for each node, and corrects the position data for each node so that the error value is minimized. Can be.
  • the processor 120 may generate a path graph including the position data for each node, relative position data between adjacent nodes, and an error value corresponding to the relative position data.
  • the processor 120 may correct the path graph based on the corrected position data for each node.
  • the processor 120 may generate map data and store the generated map data by using the corrected route graph and the node-specific image data.
  • the processor 120 may also generate the map data.
  • the route graph used when generating map data can be stored.
  • the processor 120 may delete image data for each node used when generating the map data.
  • the processor 120 may expand the route graph by using position data acquired while the vehicle 1 (FIG. 1) is traveling.
  • FIG. 14 is a block diagram of an electronic device according to another embodiment.
  • the electronic device 100 may include a sensing unit 110, a processor 120, an output unit 130, a storage unit 140, an input unit 150, and a communication unit 160.
  • the sensing unit 110 may include a plurality of sensors configured to sense information about the surrounding environment in which the vehicle 1 (FIG. 1) is located, and one or more actuators configured to modify the position and / or orientation of the sensors. Can include them.
  • the sensing unit 110 may include a Global Positioning System (GPS) 224, an Inertial Measurement Unit (IMU) 225, a RADAR sensor 226, a LIDAR sensor 227, an image sensor 228, and an odometery sensor. 230 may be included.
  • the sensing unit 110 may include at least one of a temperature / humidity sensor 232, an infrared sensor 233, an air pressure sensor 235, a proximity sensor 236, and an RGB sensor (illuminance sensor) 237. It may be, but is not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
  • the sensing unit 110 may include a movement sensing unit 238 capable of sensing the movement of the vehicle 1 (FIG. 1).
  • the motion sensing unit 238 may include a geomagnetic sensor 229, an acceleration sensor 231, and a gyroscope sensor 234.
  • the GPS 224 may be a sensor configured to estimate the geographic location of the vehicle 1 (FIG. 1). That is, the GPS 224 may include a transceiver configured to estimate the position of the vehicle 1 (FIG. 1) with respect to the earth.
  • the IMU 225 may be a combination of sensors configured to detect positional and orientation changes of the vehicle 1 (FIG. 1) based on inertial acceleration.
  • the combination of sensors may include accelerometers and gyroscopes.
  • the RADAR sensor 226 may be a sensor configured to detect objects in the environment in which the vehicle 1 (FIG. 1) is located using a wireless signal.
  • the RADAR sensor 226 can be configured to sense the speed and / or direction of the objects.
  • the LIDAR sensor 227 may be a sensor configured to detect objects in the environment in which the vehicle 1 (FIG. 1) is located using a laser. More specifically, LIDAR sensor 227 may include a laser light source and / or laser scanner configured to emit a laser, and a detector configured to detect reflection of the laser. LIDAR sensor 227 may be configured to operate in a coherent (eg, using hetirodyne detection) or incoherent detection mode.
  • the image sensor 228 may be a still camera or video camera configured to record an environment outside of the vehicle 1 (FIG. 1).
  • image sensor 228 may include multiple cameras, and multiple cameras may be disposed at multiple locations on the inside and outside of vehicle 1 (FIG. 1).
  • the odometery sensor 230 may estimate the position of the vehicle 1 (FIG. 1) and measure a moving distance. For example, the odometer sensor 230 may measure a position change value of the vehicle 1 (FIG. 1) using the number of revolutions of the wheel of the vehicle 1 (FIG. 1).
  • the location of the electronic device 100 may be measured by a triangulation method.
  • sensors and communication means such as 3G, LTE, Global Navigation Satellite System (GNSS), global system for mobile communication (GSM), Loran-C (LORAN-C), NELS, WLAN, bluetooth, etc.
  • sensors such as indoor-gps, bluetooth, WLAN, VLC, active badge, global system for mobile communication (GSM), RFID, visual tags, WIPS, WLAN, ultrasound, geomagnetic, etc.
  • the location of the electronic device 100 may be measured by using the.
  • the method of measuring the position of the electronic device 100 is not limited to the above-described example, and other methods of obtaining the position data of the electronic device 100 may be applied.
  • the storage unit 140 may include a magnetic disk drive, an optical disk drive, and a flash memory. Alternatively, the storage 140 may be a portable USB data storage device.
  • the storage 140 can store system software for executing examples related to the present application. System software for carrying out the examples relating to the present disclosure may be stored on a portable storage medium.
  • the communicator 160 may include at least one antenna for wirelessly communicating with another device.
  • the communicator 160 may be used to communicate with a cellular network or other wireless protocols and systems wirelessly via Wi-Fi or Bluetooth.
  • the communication unit 160 controlled by the processor 120 may transmit and receive a radio signal.
  • the processor 120 may execute a program included in the storage 140 in order for the communication unit 160 to transmit and receive a wireless signal with the cellular network.
  • the input unit 150 means a means for inputting data for controlling the vehicle 1 (FIG. 1).
  • the input unit 150 includes a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive type, infrared sensing type, surface ultrasonic conduction type, integral tension) Measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the input unit 150 may include a microphone, which may be configured to receive audio (eg, a voice command) from a passenger of the vehicle 1 (FIG. 1).
  • the output unit 130 may output an audio signal or a video signal
  • the output device 280 may include a display 281 and a sound output unit 282.
  • the display 281 may be a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, or a three-dimensional display (3D). display, an electrophoretic display.
  • the output unit 130 may include two or more displays 281.
  • the sound output unit 282 outputs audio data received from the communication unit 160 or stored in the storage unit 140.
  • the sound output unit 282 may include a speaker, a buzzer, and the like.
  • the input unit 150 and the output unit 130 may include a network interface, and may be implemented as a touch screen.
  • the processor 120 controls the sensing unit 110, the communication unit 160, the input unit 150, the storage unit 140, and the output unit 130 by executing programs stored in the storage unit 140. can do.
  • 15 is a block diagram of a vehicle according to an exemplary embodiment.
  • the vehicle 1 may include an electronic device 100 and a traveling device 200.
  • the vehicle 1 shown in FIG. 15 shows only the components related to the present embodiment. Therefore, it will be understood by those skilled in the art that other general-purpose components may be further included in addition to the components illustrated in FIG. 15.
  • the electronic device 100 may include a sensing unit 110 and a processor 120.
  • the traveling device 200 may include a brake unit 221, a steering unit 222, and a throttle 223.
  • the steering unit 222 may be a combination of mechanisms configured to adjust the direction of the vehicle 1.
  • Throttle 223 may be a combination of mechanisms configured to control the speed of operation of engine / motor 211 to control the speed of vehicle 1.
  • the throttle 223 may adjust the amount of throttle opening to adjust the amount of mixed gas of fuel air flowing into the engine / motor 211, and may control power and thrust by adjusting the throttle opening.
  • the brake unit 221 may be a combination of mechanisms configured to decelerate the vehicle 1.
  • the brake unit 221 may use friction to reduce the speed of the wheel / tire 214.
  • the device includes a processor, a memory for storing and executing program data, a permanent storage such as a disk drive, a communication port for communicating with an external device, a touch panel, a key, a button, and the like.
  • a computer readable recording medium may be a magnetic storage medium (eg, read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optical reading medium (eg, CD-ROM). ) And DVD (Digital Versatile Disc).
  • the computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • the medium is readable by the computer, stored in the memory, and can be executed by the processor.
  • This embodiment can be represented by functional block configurations and various processing steps. Such functional blocks may be implemented in various numbers of hardware or / and software configurations that perform particular functions.
  • an embodiment may include an integrated circuit configuration such as memory, processing, logic, look-up table, etc. that may execute various functions by the control of one or more microprocessors or other control devices. You can employ them.
  • the present embodiment includes various algorithms implemented in C, C ++, Java (data structures, processes, routines or other combinations of programming constructs). It may be implemented in a programming or scripting language such as Java), an assembler, or the like.
  • the functional aspects may be implemented with an algorithm running on one or more processors.
  • the present embodiment may employ the prior art for electronic configuration, signal processing, and / or data processing.
  • Terms such as “mechanism”, “element”, “means” and “configuration” can be used widely and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Educational Technology (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Ecology (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)

Abstract

전자 장치 및 방법이 제공된다. 전자 장치는, 전자 장치가 이동하는 중에 미리 정해진 간격에 따른 복수의 노드 마다 위치 데이터와 영상 데이터를 획득하는 적어도 하나의 센싱부, 및 영상 데이터로부터 오브젝트를 추출하고, 추출된 오브젝트를 식별하기 위한 제1 오브젝트 데이터를 생성하고, 오브젝트가 추출된 영상 데이터에 대응하는 제1 노드의 위치 데이터와, 제1 노드에 대응하는 제1 오브젝트 데이터를 저장하는 프로세서를 포함할 수 있다.

Description

지도 데이터를 생성하는 전자 장치 및 그 동작 방법
본 개시는 지도 데이터를 생성하는 전자 장치 및 그 동작 방법에 관한다.
정보통신 기술과 자동차 산업의 융합으로 인해 빠르게 자동차의 스마트화가 진행되고 있다. 스마트화로 인해, 자동차는 단순한 기계적 장치에서 스마트카로 진화하고 있으며, 특히 스마트카의 핵심기술로 자율 주행이 주목 받고 있다.
자율 주행이란 운전자가 핸들과 가속페달, 브레이크 등을 조작하지 않아도 스스로 목적지까지 찾아가는 기술을 말한다.
최근 자율 주행과 관련된 다양한 부가 기능들이 지속적으로 개발되고 있으며, 각종 데이터를 이용하여 주행 환경을 인지하고 판단하여 자동차를 제어함으로써 탑승자에게 안전한 자율 주행 경험을 제공할 수 있는 방법에 대한 연구가 요구되고 있다.
지도 데이터를 생성하는 전자 장치 및 방법을 제공하는 데 있다. 또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다. 해결하려는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
일 측면에 따른 전자 장치는, 전자 장치가 이동하는 중에 미리 정해진 간격에 따른 복수의 노드 마다 위치 데이터와 영상 데이터를 획득하는 적어도 하나의 센싱부, 및 영상 데이터로부터 오브젝트를 추출하고, 추출된 오브젝트를 식별하기 위한 제1 오브젝트 데이터를 생성하고, 오브젝트가 추출된 영상 데이터에 대응하는 제1 노드의 위치 데이터와, 제1 노드에 대응하는 제1 오브젝트 데이터를 저장하는 프로세서를 포함할 수 있다.
도 1은 일 실시 예에 따른 전자 장치가 동작하는 예를 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 전자 장치가 동작하는 예를 설명하기 위한 흐름도이다.
도 3은 일 실시 예에 따라 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 흐름도이다.
도 4는 일 실시 예에 따라 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 도면이다.
도 5는 일 실시 예에 따라 영상 데이터를 이용하여 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 도면이다.
도 6은 일 실시 예에 따라 오브젝트를 이용하여 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 흐름도이다.
도 7 내지 도 8은 일 실시 예에 따라 오브젝트를 이용하여 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 도면이다.
도 9는 일 실시 예에 따라 지도 데이터를 생성하는 예를 설명하기 위한 흐름도이다.
도 10은 일 실시 예에 따라 지도 데이터를 생성하는 예를 설명하기 위한 도면이다.
도 11은 일 실시 예에 따른 실내에서 전자 장치가 동작하는 예를 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 복수의 전자 장치 간의 데이터 연동 예를 설명하기 위한 도면이다.
도 13은 일 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
도 14는 다른 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
도 15는 일 실시예에 따른 차량의 블록 구성도(block diagram)이다.
일 측면에 따른 전자 장치는, 전자 장치가 이동하는 중에 미리 정해진 간격에 따른 복수의 노드 마다 위치 데이터와 영상 데이터를 획득하는 적어도 하나의 센싱부, 및 영상 데이터로부터 오브젝트를 추출하고, 추출된 오브젝트를 식별하기 위한 제1 오브젝트 데이터를 생성하고, 오브젝트가 추출된 영상 데이터에 대응하는 제1 노드의 위치 데이터와, 제1 노드에 대응하는 제1 오브젝트 데이터를 저장하는 프로세서를 포함할 수 있다.
다른 일 측면에 따른 전자 장치의 동작 방법은, 전자 장치가 이동하는 중에 미리 미리 정해진 간격에 따른 복수의 노드 마다 위치 데이터와 영상 데이터를 획득하는 단계, 영상 데이터로부터 오브젝트를 추출하는 단계, 추출된 오브젝트를 식별하기 위한 제1 오브젝트 데이터를 생성하는 단계, 및 오브젝트가 추출된 영상 데이터에 대응하는 제1 노드의 위치 데이터와, 제1 노드에 대응하는 제1 오브젝트 데이터를 저장하는 단계를 포함할 수 있다.
또 다른 측면에 따른 컴퓨터로 읽을 수 있는 기록매체는 상술한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체를 포함한다.
실시 예들에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 “…부”, “…모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
이하에서는 도면을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 명세서에서 차량(1)은 차량(1)의 운전을 보조 또는 제어하는 전자 장치(100)(이하, 전자 장치(100))를 포함할 수 있다.
도 1은 일 실시 예에 따른 전자 장치가 동작하는 예를 설명하기 위한 도면이다.
도 1을 참조하면, 차량(1) 내에 포함된 전자 장치(100)는, 차량(1)이 도로 상에서 주행하는 중에 센싱부(110)를 통해 주변 환경을 인지할 수 있고, 주변에서 검출한 오브젝트(예컨대, 표지판)(10)를 이용하여 지도 데이터를 보다 정밀하게 업데이트할 수 있다. 일 실시 예에 따르면, 전자 장치(100)는, 차량(1)으로부터 오브젝트(예컨대, 표지판)(10)까지의 거리, 오브젝트(10)의 형상, 크기(예컨대, 크기 150cm x 100cm, 사각형 평면) 등을 포함하는 오브젝트 데이터를 생성하고, 오브젝트 데이터를 이용함으로써 지도 데이터의 업데이트를 보다 용이하고 효율적으로 할 수 있다.
일 실시 예에 따른 오브젝트 데이터는, 오브젝트를 식별하기 위한 데이터일 수 있다.
예를 들어, 오브젝트 데이터는 오브젝트의 형상, 크기, 모양, 색상, 재질, 곡률, 면적, 부피 등을 포함할 수 있다. 또한, 오브젝트 데이터는 오브젝트로부터 추출된 텍스트, 패턴, 로고 등을 포함할 수 있다. 또한, 오브젝트 데이터는, 오브젝트를 센싱한 전자 장치(100)의 위치로부터 오브젝트 간의 거리, 오브젝트의 위치(예컨대, 3DoF(x, y, yaw angle) 또는, 6DoF(x, y, z, roll angle, pitch angle, yaw angle)의 좌표 정보), 오브젝트의 방위(direction)를 포함할 수 있다. 또한, 오브젝트 데이터는 오브젝트의 편평도, 반사율을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
일 실시 예에 따르면, 전자 장치(100)는 지도 업데이트를 위해, 차량 주행 중에 획득한 주변의 전체 영상 대신, 오브젝트 데이터를 저장해 놓음으로써, 저장 용량을 최소화하고, 지도 업데이트 시의 연산량을 최소화하여 프로세서의 로드를 줄일 수 있다.
자율 주행 차량은 도로 상에서 주행을 하는 경우 다양한 센서 정보들을 이용하여 주변 환경에 대한 지도 데이터를 생성, 업데이트하고, 지도 데이터 상에서 차량의 현재 위치를 추정(localization)할 수 있다. 이 때, 차량은 보다 정밀한 지도 데이터를 보유할 수록, 지도 데이터 상에서 보다 정확한 차량의 위치를 추정할 수 있게 된다.
일 실시 예에 따르면, 전자 장치(100)는 차량(1)이 주행하는 중에 주변에서 검출한 오브젝트(10)에 관한 데이터를 이용하여, 보다 정밀한 지도 데이터로 업데이트 함으로써, 지도 데이터 상에서의 차량의 현재 위치를 보다 정확하게 추정할 수 있다.
또한, 도 1은 전자 장치(100)가 차량(1)에 포함된 것으로 도시하였으나, 이에 한정되지 않는다. 일 실시 예에 따르면, 이동 가능한 장치 또는 로봇(미도시)은 전자 장치(100)를 포함할 수 있다. 이와 관련하여, 후술할 도 11 내지 도 12에 관한 설명에서 상술하기로 한다.
도 2는 일 실시 예에 따른 전자 장치가 동작하는 예를 설명하기 위한 흐름도이다.
단계 S201에서, 전자 장치(100)는 전자 장치(100)가 이동하는 중에 미리 정해진 간격에 따른 복수의 노드 마다 위치 데이터와 영상 데이터를 획득할 수 있다.일 실시 예에 따라, 전자 장치(100)는 시간 간격 또는 거리 간격에 따라 복수의 노드를 결정할 수 있다.
일 실시 예에 따른 노드(node)는, 센싱부(110, 도 13)를 통해 데이터가 획득된 시점의 전자 장치(100)를 포함하는 차량(1, 도 1)의 위치를 의미할 수 있다.
일 실시 예에 따라, 전자 장치(100)를 포함한 차량(1, 도 1)이 이동하는 경우, 미리 정해진 시간 간격(예컨대, 1초)에 따른 각 노드(node) 마다 차량(1, 도 1)의 위치가 측정될 수 있다. 예를 들어, 시점 t에서의 전자 장치(100)의 위치를 노드 A라고 할 때, 시점 t+1에서의 전자 장치(100)의 위치를 노드 A에 인접한 노드 B로 설명할 수 있다. 전자 장치(100)를 포함하는 차량(1, 도 1)이 지나간 경로는, 연속된 노드(node)들의 집합일 수 있다.
또한, 일 실시 예에 따라, 전자 장치(100)를 포함한 차량(1, 도1)이 이동하는 경우, 전자 장치(100)는 미리 정해진 거리 간격(예컨대, 1m)에 따른 각 노드(node) 마다 차량(1, 도1)의 위치 데이터와 영상 데이터를 획득할 수 있다.
일 실시 예에 따른 전자 장치(100)는, Odometery 센서(230), 가속도 센서(231), IMU(225), GPS(224) 등을 포함하는 센싱부(110)를 통해, 각 노드에서의 위치 데이터를 획득할 수 있다.
일 실시 예에 따라, 노드(node)의 위치 데이터는, 노드의 위치 좌표 값을 포함할 수 있다. 일 실시 예에 따라, 위치 데이터는, 3DoF(x, y, yaw angle) 또는, 6DoF(x, y, z, roll angle, pitch angle, yaw angle)로 획득될 수 있고, 이에 제한되지 않는다. 예를 들어, 노드 A의 위치 데이터는 (1m, 2m, 3도), 노드 B의 위치 데이터는 (2m, 2m, 3.1도)로 획득될 수 있다.
또한, 일 실시 예에 따른 전자 장치(100)는, 라이다(Lidar) 센서(227), 이미지 센서(228) 등을 포함하는 센싱부(110)를 통해, 각 노드에서의 영상 데이터를 획득할 수 있다.
일 실시 예에 따라, 각 노드에서 획득되는 영상 데이터는, 3D 포인트 클라우드(PointCloud), 이미지 등을 포함할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 센싱부(110)를 통해 전자 장치(100)의 주변 환경을 인지할 수 있다. 센싱부(110)는 라이다(Lidar) 센서(227)를 포함할 수 있다. 라이다(Lidar) 센서(227)는, 움직이는 전자 장치(100)의 주변 객체의 형태, 주변 객체와의 상대 거리, 주변 지형 등을 인지할 수 있다. 예를 들면, 라이다 센서(227)는 차량(1, 도 1) 주변의 표지판, 도로의 형태, 앞차와의 거리 등에 대한 정보를 획득할 수 있다.
구체적으로, 라이다 센서(227)는 레이저 빔을 출력하여 객체의 형태에 관한 정보를 획득할 수 있다. 라이다 센서(227)는 단일 레이저 출력기 또는 복수의 레이저 출력기를 포함할 수 있다. 단일 레이저 출력기는 수직축(z 축)을 중심으로 회전 가능하며, xy 평면상의 수평 각도 및 xy 평면과 z 축간의 수직 각도 또한 조절 가능하고, 기울기 또한 조절 가능하다. 복수의 레이저 출력기 각각은 단일 레이저 출력기와 동일한 레이저 출력기일 수 있다. 복수의 레이저 출력기 또한 독립적으로 회전, 각도 및 기울기의 조절이 가능하다.
라이다(Lidar) 센서(227)는 레이저 출력기를 이용하여 레이저 빔을 출력하고, 적어도 하나의 레이저 수신기를 통해 객체로부터의 반사 신호를 획득할 수 있다.
일 실시 예에 따라, 반사 신호는 객체로부터 반사된 초음파, 적외선, 가시광선 또는 레이저 빔을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
단계 S202에서, 전자 장치(100)는 영상 데이터로부터 오브젝트를 추출할 수 있다.
일 실시 예에 따라 전자 장치(100)가 추출할 오브젝트는, 이동하는 전자 장치(100)의 주변에서 관찰될 수 있는 물체 중 시간의 흐름에도 위치, 형상, 크기 등의 변화의 가능성이 적은 물체일 수 있다. 예를 들어, 오브젝트는, 표지판, 간판, 노면 표지, 신호등, 기둥, 철탑, 기념비, 다리, 연석, 가드 레일, 건물, 레인(lane) 등일 수 있으며, 이에 제한되지 않는다.
일 실시 예에 따라, 전자 장치(100)는 도로 상의 표지판을 지도 업데이트를 위해 이용할 오브젝트로 결정 또는 변경할 수 있다. 또한, 오브젝트에 관한 정보는 전자 장치(100)에 기 설정되어 있을 수 있다.
단계 S203에서, 전자 장치(100)는 추출된 오브젝트를 식별하기 위한 제1 오브젝트 데이터를 생성할 수 있다.
일 실시 예에 따라 오브젝트 데이터는, 오브젝트의 형상, 크기, 모양, 색상, 재질, 오브젝트를 센싱한 전자 장치(100)의 위치로부터 오브젝트 간의 거리 등을 포함할 수 있으며, 이에 한정되지 않는다.
예를 들어, 전자 장치(100)의 프로세서(120)는 센싱부(110)를 통해 획득한 센서 정보들을 이용하여, 오브젝트의 형상, 크기 등을 결정할 수 있다. 또한, 전자 장치(100)의 프로세서(120)는 센싱부(110)를 통해 획득한 센서 정보들을 이용하여, 오브젝트를 추출한 시점의 차량(1, 도 1)과 오브젝트 간의 상대 거리, 상대 각도 등을 결정할 수 있다.
단계 S204에서, 전자 장치(100)는 오브젝트가 추출된 영상 데이터에 대응하는 제1 노드의 위치 데이터와, 제1 노드에 대응하는 제1 오브젝트 데이터를 저장할 수 있다.
일 실시 예에 따라, 특정 오브젝트가 검출된 시점의 전자 장치(100)를 포함한 차량(1, 도 1)의 위치를 제1 노드(node)로 설명할 수 있다. 예를 들어, 오브젝트(예컨대, 표지판 A)가 검출된 시점의 차량(1, 도 1)의 위치를 제1 노드라고 할 때, 전자 장치(100)는 제1 노드의 위치 데이터와, 제1 노드에서 검출된 오브젝트에 관한 형상, 모양, 오브젝트까지의 거리 데이터 등을 포함하는 제1 오브젝트 데이터를, 제1 노드에 매칭시켜 저장부(140)에 저장할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 동일한 경로를 반복적으로 주행할 때, 동일한 오브젝트를 다시 검출할 수 있다. 전자 장치(100)는 동일한 오브젝트를 서로 다른 시점에 반복적으로 검출했을 때, 이미 저장된 오브젝트에 관한 데이터와 현재 생성한 오브젝트에 관한 데이터를 비교할 수 있다. 전자 장치(100)는 기 저장된 오브젝트 데이터를 이용하여, 노드의 보다 정확한 위치 데이터를 산출할 수 있다.
예를 들어, 동일한 오브젝트가 노드 A와 노드 B에서 관찰된 경우, 노드 A와 오브젝트 간의 상대 위치, 노드 B와 오브젝트 간의 상대 위치를 이용하여, 노드 A와 노드 B 간의 상대 위치를 산출할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 오브젝트를 이용하여 노드의 위치 데이터를 보정하고, 나아가, 보정된 노드의 위치 데이터에 기초하여 지도 데이터를 갱신할 수 있다. 이와 관련된 실시 예에 대해서는, 후술할 도 6 내지 도 8에 관한 설명에서 상술하기로 한다.
도 3은 일 실시 예에 따라 노드 간의 엣지 생성의 예를 설명하기 위한 흐름도이다. 도 4는 일 실시 예에 따라 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 도면이다. 도 5는 일 실시 예에 따라 영상 데이터를 이용하여 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 도면이다.
일 실시 예에 따르면, 두 개의 노드 사이의 엣지(edge)를 생성함은, 두 개의 노드 사이의 상대 위치 데이터와 상대 위치 데이터의 에러 값을 산출함을 의미할 수 있다.
도 4를 참조하면, 일 실시 예에 따라, 프로세서(120, 도 13)는, 적어도 두 개의 노드(node)와, 두 개의 노드 사이의 엣지(edge)들의 집합으로서 경로 그래프(path graph)를 생성할 수 있다. 복수의 노드들을 점으로 표시하고, 인접한 노드들을 엣지(edge)로 연결함으로써 그래프가 생성될 수 있다. 예를 들어, 경로 그래프(p40)는 노드(node 41)와 노드(node 42)를 연결한 엣지(e41)를 포함할 수 있다.
도 3의 단계 S301에서, 전자 장치(100)의 프로세서(120)는 노드 별 위치 데이터와 영상 데이터를 이용하여, 인접한 노드 간의 상대 위치 데이터와 상대 위치 데이터에 대응하는 에러 값을 산출할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 두 개의 노드 사이의 상대 위치 데이터를 산출할 수 있다.
일 실시 예에 따라, 두 개의 노드 사이의 상대 위치 데이터는, 두 개의 노드 사이의 상대 거리, 상대 각도 등을 포함할 수 있다. 예를 들어, 노드 A 의 위치 데이터가 (1m, 2m, 3도)이고, 노드 B의 위치 데이터가 (2m, 2m, 3.1도)일 때, 노드 A와 노드 B의 상대 위치 데이터는 (1m, 0m, 0.1도)일 수 있다.
일 실시예에 따라, 전자 장치(100)는 Odometery 센서(230)를 이용하여, 이동하는 차량의 위치의 변화 값(이동 거리, 회전 각도 등)을 획득할 수 있다. 예를 들어, Odometery 센서(230)는 차량이 주행하는 중에 바퀴 회전 수 등을 측정함으로써, 차량의 위치 변화 값을 계산할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 두 개의 노드의 상대 위치 데이터에 대응하는 에러 값을 산출할 수 있다.
일 실시 예에 따라, 두 개의 노드 사이의 엣지(edge)의 에러 값은 error covariance로 산출될 수 있다. 예컨대, 두 개의 노드 사이의 상대 위치 데이터가 3DoF로 표현된 경우, 상대 위치 데이터의 에러 값은 3 by 3 매트릭스(Matrix)로 산출될 수 있다. 또한, 두 개의 노드 사이의 상대 위치 데이터가 6Dof로 표현된 경우, 상대 위치 데이터의 에러 값은 6 by 6 매트릭스로 산출될 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 두 개의 노드의 영상 데이터(예컨대, 3D 포인트 클라우드)를 스캔 매칭하여 두 개의 노드의 상대 위치 데이터, 상대 위치 데이터의 에러 값을 산출할 수 있다.
도 5에 도시한 바와 같이, 전자 장치(100)는 노드(node 51)에서 획득된 영상 데이터(d51)와 노드(node 52)에서 획득된 영상 데이터(d52)를 스캔 매칭하여, 영상 데이터를 비교함으로써 에러 값을 산출할 수 있다.
예를 들어, 전자 장치(100)는 차량(1, 도 1)이 주행하는 중, 연속된 노드에 대응하는 영상 데이터를 스캔 매칭하여, 연속된 노드 간의 엣지를 생성할 수 있다.
또한, 예를 들어, 차량(1, 도 1)이 주행하는 중에 비슷한 지점을 반복적으로 지나가는 경우, 첫번째 노드에서의 영상 데이터와 다시 지나간 시점의 두번째 노드에서의 영상 데이터를 스캔 매칭하여, 인접한 지점을 나타내는 노드 간의 엣지를 생성할 수 있다.
도 3의 단계 S302에서, 전자 장치(100)의 프로세서(120)는 에러 값이 최소화되도록, 노드 별 위치 데이터를 보정할 수 있다.
일 실시 예에 따라, 프로세서(120)는 인접한 노드 간의 상대 위치 데이터에 대응하는 에러 값에 기초하여, 에러 값이 최소화되도록 노드 별 위치 데이터를 보정할 수 있다. 프로세서(120)는 보정된 노드 별 위치 데이터에 기초하여 노드의 집합인 경로 그래프를 보정함으로써, 보다 정확도가 높아진 경로 그래프를 생성할 수 있다.
도 6은 일 실시 예에 따라 오브젝트를 이용하여 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 흐름도이다. 도 7 내지 도 8은 일 실시 예에 따라 오브젝트를 이용하여 노드 간의 엣지를 생성하는 일 예를 설명하기 위한 도면이다.
도 6의 단계 S601에서, 전자 장치(100)의 프로세서(120, 도13)는 제1 오브젝트 데이터에 대응하는 오브젝트가, 기 저장된 제2 오브젝트 데이터에 대응하는 오브젝트와 동일한 것으로 판단할 수 있다.
도 7을 참조하여 설명하면, 일 실시 예에 따라, 차량(1, 도 1)이 주행하는 중, 미리 정해진 시간 간격에 따른 복수의 노드들과, 인접한 노드 사이를 연결한 엣지들의 집합인 경로 그래프(p71)가 생성될 수 있다.
도 7에 도시한 바와 같이, 전자 장치(100)는 차량(1, 도 1)이 주행하는 중에, 미리 정해진 시간 간격에 따른 각각의 노드에서 차량(1, 도 1) 주변의 영상 데이터를 획득하고, 영상 데이터로부터 오브젝트(71)를 추출할 수 있다. 전자 장치(100)의 프로세서(120)는 추출된 오브젝트에 관련된 오브젝트 데이터를 생성할 수 있다. 예를 들어, 전자 장치(100)는 노드(node 71)에서 관찰된 오브젝트(71)에 대한 상대 거리, 상대 각도, 오브젝트(71)의 크기, 형상 등을 포함하는 제1 오브젝트 데이터를 생성할 수 있다.
한편, 전자 장치(100)는 동일한 오브젝트(71)에 대한 제2 오브젝트 데이터를 저장하고 있을 수 있다. 일 실시 예에 따라, 차량(1, 도 1)이 경로 그래프(p71)가 생성될 때와 유사한 경로를 지나가면서 동일한 오브젝트(71)를 관찰한 적이 있는 경우, 동일한 오브젝트(71)의 형상, 크기, 오브젝트(71)에 대한 상대 거리, 상대 각도 등을 포함하는 제2 오브젝트 데이터를 기 생성하고 저장하고 있을 수 있다.
일 실시 예에 따라, 제 1 오브젝트 데이터와 제2 오브젝트 데이터는, 소정 시간의 시간 간격이 존재하는 서로 다른 시점에 동일한 오브젝트를 관찰함에 따라 각각 생성될 수 있다.
일 실시 예에 따라, 전자 장치(100)의 프로세서(120)는 제1 오브젝트 데이터에 포함된 오브젝트의 형상, 크기 등에 관한 데이터와, 제2 오브젝트 데이터에 포함된 오브젝트의 형상, 크기 등에 관한 데이터를 비교함으로써, 동일한 오브젝트를 관찰함에 따라 생성된 오브젝트 데이터인지를 판단할 수 있다.
예를 들어, 프로세서(120)는 제1 오브젝트 데이터와 제2 오브젝트 데이터 간의 유사도가 미리 설정된 임계치 이상인 경우, 제1 오브젝트 데이터와 제2 오브젝트 데이터를, 동일한 오브젝트를 서로 다른 시점에 관찰한 것으로 판단할 수 있다.
도 6의 단계 S602에서, 전자 장치(100)의 프로세서(120)는 제1 오브젝트 데이터와 제2 오브젝트 데이터를 이용하여, 제1 노드와 제2 노드의 상대 위치 데이터, 제1 노드와 제2 노드의 상대 위치 데이터에 대응하는 에러 값을 산출할 수 있다.
일 실시 예에 따라, 제1 노드와 제2 노드의 상대 위치 데이터, 제1 노드와 제2 노드의 상대 위치 데이터에 대응하는 에러 값을 산출함은, 제1 노드와 제2 노드 사이의 엣지(edge)를 생성함을 의미할 수 있다.
도 7을 참조하면, 일 실시 예에 따르면, 전자 장치(100)는, 전체 영상 데이터가 아닌, 제1 노드(node 71)와 제2 노드(node 72)에서 각각 관찰된 동일한 오브젝트(71)에 기초한 각각의 오브젝트 데이터를 이용해서, 제1 노드(node 71)와 제2 노드(node 72)의 엣지를 생성할 수 있다.
일 실시 예에 따라, 프로세서(120)는 제1 노드(node 71)와 제2 노드(node 72) 사이의 엣지를 생성하기 위해, 제1 노드(node 71)에 대응하는 제1 오브젝트 데이터와 제2 노드(node 72)에 대응하는 제2 오브젝트 데이터를 이용할 수 있다.
예를 들어, 프로세서(120)는 제1 노드(node 71)와 오브젝트(71)간의 상대 위치를 포함하는 제1 오브젝트 데이터와, 제2 노드(node 72)와 오브젝트(71)간의 상대 위치를 포함하는 제2 오브젝트 데이터에 기초하여, 예컨대, 삼각 측량법을 이용하여, 제1 노드(node 71)와 제2 노드(node 72) 간의 상대 위치 데이터를 산출할 수 있다.
도 6의 단계 S603에서, 전자 장치(100)의 프로세서(120)는 에러 값이 최소화되도록, 제1 노드와 제2 노드의 위치 데이터를 보정할 수 있다.
일 실시 예에 따르면, 전자 장치(100)의 프로세서(120)는 경로 그래프를 구성하는 엣지들의 에러 값의 합이 최소가 되도록 각각의 노드의 위치 데이터를 보정할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 이동하는 차량 또는 로봇이 자신의 위치를 측정하면서 동시에 주변 환경의 지도를 작성하는 슬램(SLAM, Simultaneous Localizaion And Mapping) 기술을 이용할 수 있다. 전자 장치(100)는 그래프(Graph) 기반의 슬램(SLAM) 기술을 이용하여, 인접한 두 개의 노드의 상대 위치를 기초로, 루프 클로징(loop-closing)을 수행할 수 있다. 전자 장치(100)는 두 개의 노드 사이의 상대 거리, 상대 각도 등을 이용하여, 두 개의 노드를 연결하는 루프 클로져 엣지(loop-closure edge)를 생성함으로써, 보정된 결과 값을 도출할 수 있다.
도 6의 단계 S604에서, 전자 장치(100)의 프로세서(120)는 보정된 제1 노드와 제2 노드의 위치 데이터에 기초하여, 제1 노드와 제2 노드를 포함하는 경로 그래프를 보정할 수 있다.
일 실시 예에 따르면, 프로세서(120)는 보정된 위치 데이터에 기초하여 경로 그래프를 보정함으로써, 보다 정확한 노드 별 위치 데이터를 가진 경로 그래프를 생성할 수 있다.
도 8을 참조하면, 일 실시 예에 따른 전자 장치(100)는 차량(1, 도 1)이 주행하는 중에 관찰되는 복수의 오브젝트들을 이용함으로써, 보다 정확도 높은 경로 그래프를 생성할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 차량(1, 도1)이 주행하는 중에, 노드(node 81)에서 오브젝트 A(81)를 검출하고, 노드(node 83)에서 오브젝트 B(83)를 검출할 수 있다. 이 때, 차량(1, 도 1)의 주행 경로는 경로 그래프(p81)로 생성될 수 있다.
한편, 다른 시점에, 전자 장치(100)는 차량(1, 도 1)이 주행하는 중에, 노드(node 82)에서 오브젝트(81)를 검출하고, 노드(node 84)에서 오브젝트(83)를 검출했을 수 있다. 이 때, 차량(1, 도 1)의 주행 경로가 경로 그래프(p82)로 생성될 수 있다. 일 실시 예에 따라, 전자 장치(100)는, 오브젝트 A(81)에 관한 오브젝트 데이터와, 오브젝트 B(83)에 관한 오브젝트 데이터를 저장하고 있을 수 있다.
일 실시 예에 따른 전자 장치(100)의 프로세서는(120)는, 기 저장된 복수의 오브젝트 데이터를 이용해서, 노드들의 위치 데이터를 보정하고 정확도 높은 경로 그래프를 생성할 수 있다.
도 9는 일 실시 예에 따라 지도 데이터를 생성하는 예를 설명하기 위한 흐름도이다. 도 10은 일 실시 예에 따라 지도 데이터를 생성하는 예를 설명하기 위한 도면이다.
도 9의 단계 S901에서, 전자 장치(100)의 프로세서(120)는, 보정된 경로 그래프와 노드 별 영상 데이터를 이용하여, 지도 데이터를 생성할 수 있다.
도 10을 참조하면, 예를 들어, 프로세서(120)는 노드(node 101)에 대응하는 영상 데이터(d101), 노드(node 102)에 대응하는 영상 데이터(d102)를 포함하는 지도 데이터(50)를 생성할 수 있다.
일 실시 예에 따라, 지도 데이터는, 3차원 포인트 클라우드(3D Point Cloud), 2D 격자(grid) 지도, 3D Voxel 지도 등의 형식으로 구현될 수 있으며, 이에 제한되지 않는다. 또한, 일 실시 예에 따라, 지도 데이터는 지도 생성 시 지도에 포함되는 데이터의 종류에 따라 다양한 형식(예를 들어, feature map, semantic map, dense map, texture map 등)으로 구현될 수 있다.
예를 들어, 프로세서(120)는 보정된 경로 그래프의 각 노드의 위치 데이터에 기초하여, 각 노드에 대응하는 3D 포인트 클라우드 형식의 영상 데이터를 이용하여, 3D 포인트 클라우드 형식의 지도 데이터를 생성할 수 있다. 또한, 프로세서(120)는 각 노드에 대응하는 3D 포인트 클라우드 형식의 영상 데이터를 3D Voxel 형식으로 변환한 지도 데이터를 생성할 수도 있다. 또한, 프로세서(120)는 각 노드에 대응하는 포인트 클라우드 또는 이미지 형식의 영상 데이터로부터 추출된 도로의 지면만을 이용하여, 2D 격자(grid) 형식의 지도 데이터를 생성할 수도 있다.
도 9의 단계 S902에서, 전자 장치(100)의 프로세서(120, 도 13)는 생성된 지도 데이터를 저장할 수 있다. 단계 S903에서, 전자 장치(100)의 프로세서(120)는 지도 데이터를 생성할 때 이용된 경로 그래프를 저장할 수 있다.
또한, 도 2에서 설명한 바와 같이, 일 실시 예에 따른 전자 장치(100)는, 오브젝트가 관찰된 노드에 대응하여 오브젝트 데이터를 저장할 수 있다.
일 실시 예에 따라, 프로세서(120)는 경로 그래프와 오브젝트 데이터를 저장해 놓고, 추후 차량(1, 도 1)이 주행하면서 획득한 노드 별 위치 데이터, 오브젝트 데이터를 부가하여, 경로 그래프를 확장시킬 수 있다.
일 실시 예에 따르면, 프로세서(120)는 기 저장된 경로 그래프를 기초로, 추가적으로 획득되는 노드 별 위치 데이터, 오브젝트 데이터를 이용하여, 기 저장된 경로 그래프를 보정함으로써 보다 정밀한 위치 데이터를 가진 경로 그래프로 업데이트할 수 있다. 나아가, 프로세서(120)는 보다 정밀한 위치 데이터에 기초하여, 지도 데이터를 보다 정밀한 지도 데이터로 업데이트할 수 있다.
한편, 전자 장치(100)는 지도 데이터를 생성한 이후, 지도 데이터를 생성할 때 이용된 각 노드 별 영상 데이터를 삭제할 수 있다. 일 실시 예에 따라, 전자 장치(100)는 지도 데이터를 업데이트하기 위해, 기 저장된 노드 별 위치 데이터를 포함하는 경로 그래프와 오브젝트 데이터를 이용하기 때문에, 지도 데이터를 생성한 이후에는 지도 데이터를 생성할 때 이용한 각 노드 별 영상 데이터를 삭제할 수 있다.
한편, 일 실시 예에 따라, 명세서 전반에서 전자 장치(100)가 동작들을 수행하는 것으로 설명하고 있으나, 이에 한정되지 않는다. 전자 장치(100)가 모든 동작을 수행할 수도 있고, 서버(미도시)가 전자 장치(100)의 일부 동작들을 수행할 수도 있다.
일 실시 예에 따라, 전자 장치(100)는 서버(미도시)와 연동하여 데이터를 저장 또는 처리할 수 있다. 일 실시 예에 따라, 전자 장치(100)가 획득한 데이터들을 서버(미도시)로 전송하고, 서버가 데이터들을 처리할 수 있다. 예컨대, 전자 장치(100)가 획득한 전자 장치(100)의 위치 데이터, 영상 데이터, 오브젝트 데이터를 서버로 전송하고, 서버가 전자 장치(100)의 위치 데이터, 영상 데이터, 오브젝트 데이터를 이용하여 경로 그래프를 생성, 보정하고 지도 데이터를 생성, 갱신할 수 있으며, 이에 한정되는 것은 아니다.
도 11은 일 실시 예에 따른 실내에서 전자 장치가 동작하는 예를 설명하기 위한 도면이다.
일 실시 예에 따라, 이동 가능한 로봇(2)은 전자 장치(100)를 포함할 수 있다.
예를 들어, 쇼핑몰, 공항, 병원, 공장, 가정 등에서 각종 서비스 제공을 위한 로봇, 위험 상황 감지를 위한 로봇 등은 전자 장치(100)를 포함할 수 있다.
예를 들어, 전자 장치(100)를 포함한 로봇(2)은 센싱부(110)를 이용하여 실내에서 이동하는 중에 미리 정해진 시간 간격 또는 거리 간격에 따른 복수의 노드 마다 위치 데이터와 영상 데이터를 획득할 수 있다. 전자 장치(100)는 영상 데이터로부터 오브젝트를 추출할 수 있다.
일 실시 예에 따라, 오브젝트는, 이동하는 로봇(2)이 주변에서 관찰할 수 있는 물체 중 시간의 흐름에도 위치, 형상, 크기 등의 변화의 가능성이 적은 물체일 수 있다. 예를 들어, 오브젝트는, 비상구 표지, 안내 텍스트, 태그(NFC, RFID 태그 등), 소화전, 포스터, 방 번호, 안내 표지판, 에스컬레이터, 엘리베이터, 계단, 센서(온도, 습도, 공기질, 기압 등을 센싱하는 센서), CCTV, 기둥, 천장, 바닥, 벽, 유리 등일 수 있으며, 이에 한정되지 않는다.
도 11에 도시한 바와 같이, 일 실시 예에 따라 전자 장치(100)를 포함하는 로봇(2)은 실내에서 이동하는 중에 벽에 설치된 비상구 표지(11)를 센싱할 수 있다.
일 실시 예에 따라 전자 장치(100)는 비상구 표지(11)를 식별하기 위한 오브젝트 데이터(예컨대, 비상구 표지의 크기, 형상, 재질, 안내 표지판으로부터 인식되는 텍스트 정보, 비상구 표지(11)를 센싱한 전자 장치(100)와 비상구 표지(11) 간의 거리 데이터 등)를 생성할 수 있다.
일 실시 예에 따라, 전자 장치(100)는 오브젝트 데이터를 이용하여, 경로 그래프를 보정하고, 지도 데이터를 업데이트 할 수 있다.
도 12는 일 실시 예에 따른 복수의 전자 장치 간의 데이터 연동 예를 설명하기 위한 도면이다.
일 실시 예에 따라, 차량(1)에 포함된 전자 장치(100)는, 로봇(2)에 포함되어 동작하는 전자 장치(100)와 연동하여 동작할 수 있다. 또한, 일 실시 예에 따라, 차량(1)에 포함된 전자 장치(100)는, 다른 차량에 포함된 전자 장치와 연동하여 동작할 수 있다. 또한, 로봇(2)에 포함된 전자 장치(100)는, 다른 로봇에 포함된 전자 장치와 연동하여 동작할 수도 있다.
도 12에 도시한 바와 같이, 도로 상에서 주행하는 차량(1)과 건물 내에서 이동하는 로봇(2)이 연동하여 동작할 수 있다. 예를 들어, 차량(1)이 도로 상에서 주행함에 따라 획득하는 위치 데이터, 영상 데이터와, 로봇(2)이 실내에서 이동함에 따라 획득하는 위치 데이터, 영상 데이터가 조합하여 경로 그래프(p120)가 생성되고 지도 데이터가 생성될 수 있다.
일 실시 예에 따르면, 실내외를 구분하지 않고 전자 장치(100)를 포함하는 차량(1) 또는 로봇(2)이 획득한 위치 데이터, 영상 데이터, 오브젝트 데이터는 지도 데이터의 업데이트에 이용될 수 있다.
일 실시 예에 따라, 복수의 전자 장치(100) 각각은 도 1 내지 도 11에서 설명한 전자 장치(100)의 동작들을 수행할 수 있다. 복수의 전자 장치(100)가 획득한 데이터는, 연동하여 동작 가능한 다른 전자 장치 간에 서로 공유될 수 있다.
또한, 일 실시 예에 따라, 연동하는 복수의 전자 장치 중 적어도 하나의 전자 장치가 다른 전자 장치로부터 데이터를 수신하여 저장, 처리할 수 있다.
또한, 일 실시 예에 따라 서버(미도시)가 복수의 전자 장치에서 획득되는 데이터를 수집하고, 서버가 데이터를 저장, 처리할 수 있으며, 이에 한정되지 않는다.
도 13은 일 실시예에 따른 전자 장치의 블록 구성도(block diagram)이다.
전자 장치(100)는 일 실시 예에 따라, 센싱부(110) 및 프로세서(120)를 포함할 수 있다. 도 13에 도시된 전자 장치(100)는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 13에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
일 실시 예에 따라, 센싱부(110)는 도로 상에서 주행 중인 차량(1, 도 1)의 주변에 위치한 객체들을 포함하는 주변 영상을 획득할 수 있다.
센싱부(110)는 주변 영상을 획득하기 위한 다수의 센서들을 포함할 수 있다. 예를 들어, 센싱부(110)는 LIDAR 센서 및 RADAR 센서와 같은 거리 센서, 및 카메라와 같은 이미지 센서를 포함할 수 있다.
또한, 센싱부(110)는 다수의 센서들의 위치 및/또는 배향을 수정하도록 구성되는 하나 이상의 액추에이터들을 포함할 수 있는 바, 차량(1, 도 1)의 전방, 후방, 및 측방 각각의 방향에 위치한 객체를 센싱할 수 있다.
또한, 센싱부(110)는 이미지 센서(image sensor)를 이용하여 주변에 위치한 객체의 형태 및 차로의 형태 등을 센싱할 수 있다.일 실시예에 따라, 프로세서(120)는 적어도 하나의 프로세서로 구성될 수 있다.
일 실시 예에 따라, 프로세서(120)는 영상 데이터로부터 오브젝트를 추출하고, 추출된 오브젝트의 형상을 포함하는 제1 오브젝트 데이터를 생성할 수 있다.
프로세서(120)는 오브젝트가 추출된 영상 데이터에 대응하는 제1 노드의 위치 데이터와, 제1 오브젝트 데이터를 저장부(140)에 저장할 수 있다.
또한, 프로세서(120)는 제1 오브젝트 데이터에 대응하는 오브젝트가, 기 저장된 제2 오브젝트 데이터에 대응하는 오브젝트와 동일한 것으로 판단되면, 제1 오브젝트 데이터와 제2 오브젝트 데이터를 이용하여, 제1 노드와 제2 오브젝트 데이터에 대응하는 제2 노드의 상대 위치 데이터, 제1 노드와 제2 노드의 상대 위치 데이터에 대응하는 에러 값을 산출할 수 있다. 또한, 프로세서(120)는 에러 값이 최소화되도록, 제1 노드와 제2 노드의 위치 데이터를 보정할 수 있다.
또한, 프로세서(120)는 보정된 제1 노드와 제2 노드의 위치 데이터에 기초하여, 제1 노드와 제2 노드를 포함하는 경로 그래프를 보정할 수 있다.
또한, 프로세서(120)는 노드 별 위치 데이터와 영상 데이터를 이용하여, 인접한 노드 간의 상대 위치 데이터와 상대 위치 데이터에 대응하는 에러 값을 산출하고, 에러 값이 최소화되도록, 노드 별 위치 데이터를 보정할 수 있다.
또한, 프로세서(120)는, 노드 별 위치 데이터, 인접한 노드 간의 상대 위치 데이터 및 상대 위치 데이터에 대응하는 에러 값을 포함하는 경로 그래프를 생성할 수 있다.
또한, 프로세서(120)는, 보정된 노드 별 위치 데이터에 기초하여, 경로 그래프를 보정할 수 있다. 또한, 프로세서(120)는, 보정된 경로 그래프와 노드 별 영상 데이터를 이용하여, 지도 데이터를 생성하고, 생성된 지도 데이터를 저장할 수 있다.또한, 프로세서(120)는, 지도 데이터를 생성한 이후, 지도 데이터를 생성할 때 이용된 경로 그래프를 저장할 수 있다. 또한, 프로세서(120)는 지도 데이터를 생성할 때 이용된 노드 별 영상 데이터를 삭제할 수 있다.
또한, 프로세서(120)는, 경로 그래프가 저장된 이후에, 차량(1, 도 1)이 주행하는 중에 획득되는 위치 데이터를 이용하여, 경로 그래프를 확장할 수 있다.
도 14는 다른 실시 예에 따른 전자 장치의 블록 구성도(block diagram)이다.
전자 장치(100)는 센싱부(110), 프로세서(120), 출력부(130), 저장부(140), 입력부(150), 및 통신부(160)를 포함할 수 있다.
센싱부(110)는 차량(1, 도 1)이 위치해 있는 주변 환경에 관한 정보를 감지하도록 구성되는 다수의 센서들을 포함할 수 있고, 센서들의 위치 및/또는 배향을 수정하도록 구성되는 하나 이상의 액추에이터들을 포함할 수 있다. 예를 들어, 센싱부(110)는 GPS(Global Positioning System)(224), IMU(Inertial Measurement Unit)(225), RADAR 센서(226), LIDAR 센서(227), 이미지 센서(228) 및 Odometery 센서(230)를 포함할 수 있다. 또한, 센싱부(110)는 온/습도 센서(232), 적외선 센서(233), 기압 센서(235), 근접 센서(236), 및 RGB 센서(illuminance sensor)(237) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
또한, 센싱부(110)는 차량(1, 도 1)의 움직임을 센싱할 수 있는 움직임 센싱부(238)를 포함할 수 있다. 움직임 센싱부(238)는 지자기 센서(Magnetic sensor)(229), 가속도 센서(Acceleration sensor)(231), 및 자이로스코프 센서(234)를 포함할 수 있다.
GPS(224)는 차량(1, 도 1)의 지리적 위치를 추정하도록 구성되는 센서일 수 있다. 즉, GPS(224)는 지구에 대한 차량(1, 도 1)의 위치를 추정하도록 구성되는 송수신기를 포함할 수 있다.
IMU(225)는 관성 가속도에 기초하여 차량(1, 도 1)의 위치 및 배향 변화들을 감지하도록 구성되는 센서들의 조합이 될 수 있다. 예를 들어, 센서들의 조합은, 가속도계들 및 자이로스코프들을 포함할 수 있다.
RADAR 센서(226)는 무선 신호를 사용하여 차량(1, 도 1)이 위치해 있는 환경 내의 물체들을 감지하도록 구성되는 센서일 수 있다. 또한, RADAR 센서(226)는, 물체들의 속도 및/또는 방향을 감지하도록 구성될 수 있다.
LIDAR 센서(227)는 레이저를 사용하여 차량(1, 도 1)이 위치해 있는 환경 내의 물체들을 감지하도록 구성되는 센서일 수 잇다. 보다 구체적으로, LIDAR 센서(227)는 레이저를 방출하도록 구성되는 레이저 광원 및/또는 레이저 스캐너와, 레이저의 반사를 검출하도록 구성되는 검출기를 포함할 수 잇다. LIDAR 센서(227)는 코히런트(coherent)(예컨대, 헤티로다인 검출을 사용함) 또는 비코히런트(incoherent) 검출 모드에서 동작하도록 구성될 수 있다.
이미지 센서(228)는 차량(1, 도 1) 외부의 환경을 기록하도록 구성되는 스틸 카메라 또는 비디오 카메라가 될 수 있다. 예를 들어, 이미지 센서(228)는 다수의 카메라들을 포함할 수 있고, 다수의 카메라들은 차량(1, 도 1)의 내부 및 외부 상의 다수의 위치들에 배치될 수 있다.
Odometery 센서(230)는 차량(1, 도 1)의 위치를 추정하고, 이동 거리를 측정할 수 있다. 예를 들어, Odometery 센서(230)는 차량(1, 도 1)의 바퀴의 회전 수를 이용하여 차량(1, 도 1)의 위치 변화 값을 측정할 수 있다.
또한, 3G, LTE, GNSS(Global Navigation Satellite System), GSM(global system for mobile communication), 로란-C(LORAN-C), NELS, WLAN, bluetooth등 센서와 통신 수단 등을 활용하여 삼변측량(trilateration), 삼각측량(triangulation) 등의 방식으로 전자 장치(100)의 위치가 측정될 수 있다.
또한, 전자 장치(100)가 실내에 위치한 경우, indoor-gps, bluetooth, WLAN, VLC, active badge, GSM(global system for mobile communication), RFID, visual tags, WIPS, WLAN, 초음파, 지자기 등의 센서를 활용하여 전자 장치(100)의 위치가 측정될 수 있다.
일 실시 예에 따른 전자 장치(100)의 위치를 측정하는 방법은 상술한 예에 한정되는 것은 아니며, 전자 장치(100)의 위치 데이터가 획득될 수 있는 다른 방법이 적용될 수 있음은 물론이다.
저장부(140)는 마그네틱 디스크 드라이브, 광학 디스크 드라이브, 플래쉬 메모리를 포함할 수 있다. 또는 저장부(140)는 휴대 가능한 USB 데이터 저장 장치가 될 수 있다. 저장부(140)는 본원과 관련되는 예들을 실행하기 위한 시스템 소프트웨어를 저장할 수 있다. 본원과 관련되는 예들을 실행하기 위한 시스템 소프트웨어는 휴대 가능한 저장 매체에 저장될 수 있다.
통신부(160)는 다른 디바이스와 무선으로 통신하기 위한 적어도 하나의 안테나를 포함할 수 있다. 예를 들어, 통신부(160)는 와이파이 또는 블루투스를 통해 무선으로 셀룰러 네트워크 또는 다른 무선 프로토콜 및 시스템과 통신하기 위해 이용될 수 있다. 프로세서(120)에 의해 제어되는 통신부(160)는 무선 신호를 송수신할 수 있다. 예를 들어, 프로세서(120)는, 통신부(160)가 셀룰러 네트워크와 무선 신호를 송수신하기 위해, 저장부(140)에 포함된 프로그램을 실행시킬 수 있다.
입력부(150)는 차량(1, 도 1)을 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부(150)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 또한, 입력부(150)는 마이크를 포함할 수 있는 바, 마이크는 차량(1, 도 1)의 탑승자로부터 오디오(예를 들어, 음성 명령)를 수신하도록 구성될 수 있다.
출력부(130)는 오디오 신호 또는 비디오 신호를 출력할 수 있으며, 출력 장치(280)는 디스플레이(281), 및 음향 출력부(282)를 포함할 수 있다.
디스플레이(281)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 출력부(130)의 구현 형태에 따라, 출력부(130)는 디스플레이(281)를 2개 이상 포함할 수도 있다.
음향 출력부(282)는 통신부(160)로부터 수신되거나 저장부(140)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(282)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
입력부(150) 및 출력부(130)는 네트워크 인터페이스를 포함할 수 있고, 터치 스크린으로 구현될 수 있다.
프로세서(120)는, 저장부(140)에 저장된 프로그램들을 실행함으로써, 센싱부(110), 통신부(160), 입력부(150), 저장부(140), 및 출력부(130)를 전반적으로 제어할 수 있다.
도 15는 일 실시 예에 따른 차량의 블록 구성도(block diagram)이다.
차량(1)은 일 실시 예에 따라, 전자 장치(100) 및 주행 장치(200)를 포함할 수 있다. 도 15에 도시된 차량(1)은 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 15에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있다.
전자 장치(100)는 센싱부(110) 및 프로세서(120)를 포함할 수 있다.
센싱부(110)와 프로세서(120)에 대한 설명은 도 11, 도 12에서 상술하였으므로, 생략하기로 한다.
주행 장치(200)는 브레이크 유닛(221), 조향 유닛(222) 및 스로틀(223)을 포함할 수 있다.
조향 유닛(222)은 차량(1)의 방향을 조절하도록 구성되는 매커니즘들의 조합이 될 수 있다.
스로틀(223)은 엔진/모터(211)의 동작 속도를 제어하여, 차량(1)의 속도를 제어하도록 구성되는 매커니즘들의 조합이 될 수 있다. 또한, 스로틀(223)은 스로틀 개방량을 조절하여 엔진/모터(211)로 유입되는 연료공기의 혼합 가스 양을 조절할 수 있으며, 스로틀 개방량을 조절하여 동력 및 추력을 제어할 수 있다.
브레이크 유닛(221)은 차량(1)을 감속시키도록 구성되는 매커니즘들의 조합이 될 수 있다. 예를 들어, 브레이크 유닛(221)은 휠/타이어(214)의 속도를 줄이기 위해 마찰을 사용할 수 있다.
상기 살펴 본 실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    상기 전자 장치가 이동하는 중에 미리 정해진 간격에 따른 복수의 노드 마다 위치 데이터와 영상 데이터를 획득하는 적어도 하나의 센싱부; 및
    상기 영상 데이터로부터 오브젝트를 추출하고,
    상기 추출된 오브젝트를 식별하기 위한 제1 오브젝트 데이터를 생성하고,
    상기 오브젝트가 추출된 상기 영상 데이터에 대응하는 제1 노드의 위치 데이터와, 상기 제1 노드에 대응하는 상기 제1 오브젝트 데이터를 저장하는 프로세서를 포함하는, 전자 장치.
  2. 제1 항에 있어서,
    상기 프로세서는,
    상기 제1 오브젝트 데이터에 대응하는 상기 오브젝트가, 기 저장된 제2 오브젝트 데이터에 대응하는 오브젝트와 동일한 것으로 판단되면,
    상기 제1 오브젝트 데이터와 상기 제2 오브젝트 데이터를 이용하여, 상기 제1 노드와 상기 제2 오브젝트 데이터에 대응하는 제2 노드의 상대 위치 데이터, 상기 제1 노드와 상기 제2 노드의 상대 위치 데이터에 대응하는 에러 값을 산출하고,
    상기 에러 값이 최소화되도록, 상기 제1 노드와 상기 제2 노드의 위치 데이터를 보정하는, 전자 장치.
  3. 제2 항에 있어서,
    상기 프로세서는,
    상기 보정된 상기 제1 노드와 상기 제2 노드의 위치 데이터에 기초하여, 상기 제1 노드와 상기 제2 노드를 포함하는 경로 그래프를 보정하는, 전자 장치.
  4. 제1 항에 있어서,
    상기 프로세서는,
    상기 노드 별 위치 데이터와 영상 데이터를 이용하여, 인접한 노드 간의 상대 위치 데이터와 상기 상대 위치 데이터에 대응하는 에러 값을 산출하고,
    상기 에러 값이 최소화되도록, 상기 노드 별 위치 데이터를 보정하는, 전자 장치.
  5. 제4 항에 있어서,
    상기 프로세서는,
    상기 노드 별 위치 데이터, 상기 인접한 노드 간의 상대 위치 데이터 및 상기 상대 위치 데이터에 대응하는 에러 값을 포함하는 경로 그래프를 생성하는, 전자 장치.
  6. 제5 항에 있어서,
    상기 프로세서는,
    상기 보정된 노드 별 위치 데이터에 기초하여, 상기 경로 그래프를 보정하는, 전자 장치.
  7. 제6 항에 있어서,
    상기 프로세서는,
    상기 보정된 경로 그래프와 상기 노드 별 영상 데이터를 이용하여, 지도 데이터를 생성하고, 상기 생성된 지도 데이터를 저장하는, 전자 장치.
  8. 제7 항에 있어서,
    상기 프로세서는,
    상기 지도 데이터를 생성한 이후, 상기 지도 데이터를 생성할 때 이용된 상기 경로 그래프를 저장하고,
    상기 지도 데이터를 생성할 때 이용된 상기 노드 별 영상 데이터를 삭제하는, 전자 장치.
  9. 제8 항에 있어서,
    상기 프로세서는,
    상기 경로 그래프가 저장된 이후에 상기 차량이 주행하는 중에 획득되는 상기 위치 데이터를 이용하여, 상기 경로 그래프를 확장하는, 전자 장치.
  10. 제1 항에 있어서,
    상기 제1 오브젝트 데이터는,
    상기 오브젝트의 크기, 색깔, 상기 제1 노드와 상기 오브젝트 간의 거리를 나타내는 거리 데이터 및 상기 제1 노드에 대한 상기 오브젝트의 방위(direction)를 나타내는 방위 데이터 중 적어도 하나를 더 포함하는, 전자 장치.
  11. 전자 장치의 동작 방법에 있어서,
    상기 전자 장치가 이동하는 중에 미리 정해진 간격에 따른 복수의 노드 마다 위치 데이터와 영상 데이터를 획득하는 단계;
    상기 영상 데이터로부터 오브젝트를 추출하는 단계;
    상기 추출된 오브젝트를 식별하기 위한 제1 오브젝트 데이터를 생성하는 단계; 및
    상기 오브젝트가 추출된 상기 영상 데이터에 대응하는 제1 노드의 위치 데이터와, 상기 제1 노드에 대응하는 상기 제1 오브젝트 데이터를 저장하는 단계를 포함하는, 동작 방법.
  12. 제11 항에 있어서,
    상기 제1 오브젝트 데이터에 대응하는 상기 오브젝트가, 기 저장된 제2 오브젝트 데이터에 대응하는 오브젝트와 동일한 것으로 판단하는 단계;
    상기 제1 오브젝트 데이터와 상기 제2 오브젝트 데이터를 이용하여, 상기 제1 노드와 상기 제2 오브젝트 데이터에 대응하는 제2 노드의 상대 위치 데이터, 상기 제1 노드와 상기 제2 노드의 상대 위치 데이터에 대응하는 에러 값을 산출하는 단계; 및
    상기 에러 값이 최소화되도록, 상기 제1 노드와 상기 제2 노드의 위치 데이터를 보정하는 단계를 더 포함하는, 동작 방법.
  13. 제12 항에 있어서,
    상기 보정된 상기 제1 노드와 상기 제2 노드의 위치 데이터에 기초하여, 상기 제1 노드와 상기 제2 노드를 포함하는 경로 그래프를 보정하는 단계를 더 포함하는, 동작 방법.
  14. 제11 항에 있어서,
    상기 노드 별 위치 데이터와 영상 데이터를 이용하여, 인접한 노드 간의 상대 위치 데이터와 상기 상대 위치 데이터에 대응하는 에러 값을 산출하는 단계; 및
    상기 에러 값이 최소화되도록, 상기 노드 별 위치 데이터를 보정하는 단계를 더 포함하는, 동작 방법.
  15. 제14 항에 있어서,
    상기 노드 별 위치 데이터, 상기 인접한 노드 간의 상대 위치 데이터 및 상기 상대 위치 데이터에 대응하는 에러 값을 포함하는 경로 그래프를 생성하는 단계를 더 포함하는, 동작 방법.
  16. 제15 항에 있어서,
    상기 보정된 노드 별 위치 데이터에 기초하여, 상기 경로 그래프를 보정하는 단계를 더 포함하는, 동작 방법.
  17. 제16 항에 있어서,
    상기 보정된 경로 그래프와 상기 노드 별 영상 데이터를 이용하여, 지도 데이터를 생성하는 단계; 및
    상기 생성된 지도 데이터를 저장하는 단계를 더 포함하는, 동작 방법.
  18. 제17 항에 있어서,
    상기 지도 데이터를 생성한 이후, 상기 지도 데이터를 생성할 때 이용된 상기 경로 그래프를 저장하는 단계; 및
    상기 지도 데이터를 생성할 때 이용된 상기 노드 별 영상 데이터를 삭제하는 단계를 더 포함하는, 동작 방법.
  19. 제11 항에 있어서,
    상기 제1 오브젝트 데이터는,
    상기 오브젝트의 크기, 색깔, 상기 제1 노드와 상기 오브젝트 간의 거리를 나타내는 거리 데이터 및 상기 제1 노드에 대한 상기 오브젝트의 방위(direction)를 나타내는 방위 데이터 중 적어도 하나를 더 포함하는, 동작 방법.
  20. 제11 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
PCT/KR2018/001488 2017-03-07 2018-02-05 지도 데이터를 생성하는 전자 장치 및 그 동작 방법 WO2018164377A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18764807.6A EP3579215A4 (en) 2017-03-07 2018-02-05 ELECTRONIC DEVICE FOR GENERATING CARD DATA AND OPERATING METHODS THEREFOR
CN201880016696.3A CN110392908B (zh) 2017-03-07 2018-02-05 用于生成地图数据的电子设备及其操作方法
US16/492,404 US11183056B2 (en) 2017-03-07 2018-02-05 Electronic device for generating map data and operating method therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170029057A KR102414676B1 (ko) 2017-03-07 2017-03-07 지도 데이터를 생성하는 전자 장치 및 그 동작 방법
KR10-2017-0029057 2017-03-07

Publications (1)

Publication Number Publication Date
WO2018164377A1 true WO2018164377A1 (ko) 2018-09-13

Family

ID=63449110

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/001488 WO2018164377A1 (ko) 2017-03-07 2018-02-05 지도 데이터를 생성하는 전자 장치 및 그 동작 방법

Country Status (5)

Country Link
US (1) US11183056B2 (ko)
EP (1) EP3579215A4 (ko)
KR (1) KR102414676B1 (ko)
CN (1) CN110392908B (ko)
WO (1) WO2018164377A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220092984A1 (en) * 2020-09-18 2022-03-24 Stoneridge Electronics Ab Curb detection system for commercial vehicles

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3028286A1 (en) 2018-11-09 2020-05-09 Beijing Didi Infinity Technology And Development Co., Ltd. Vehicle positioning system using lidar
KR102115004B1 (ko) * 2019-07-19 2020-05-26 네이버랩스 주식회사 항공사진을 이용하여 3차원 지도를 생성하는 장치 및 방법
KR102589296B1 (ko) * 2019-07-19 2023-10-13 네이버랩스 주식회사 항공사진을 이용하여 3차원 지도를 생성하는 장치 및 방법
WO2021040059A1 (ko) * 2019-08-23 2021-03-04 엘지전자 주식회사 차량용 전자 장치 및 그의 동작 방법
CN113656525B (zh) * 2021-08-19 2024-04-16 广州小鹏自动驾驶科技有限公司 一种地图处理的方法和装置
CN114111815B (zh) * 2021-11-01 2023-02-03 广州小鹏自动驾驶科技有限公司 一种地图数据的处理方法和装置
CN114111758B (zh) * 2021-11-01 2024-06-04 广州小鹏自动驾驶科技有限公司 一种地图数据的处理方法和装置
CN117234220B (zh) * 2023-11-14 2024-03-01 中国市政工程西南设计研究总院有限公司 一种prt智能小车行驶控制方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003253A (ja) * 2006-06-21 2008-01-10 Toyota Motor Corp 道路形状取得装置
KR100938194B1 (ko) * 2008-07-28 2010-01-21 재단법인대구경북과학기술원 객체 검출 방법 및 객체 검출 장치
JP2012048642A (ja) * 2010-08-30 2012-03-08 Denso Corp 走行環境認識装置
KR20130091907A (ko) * 2012-02-09 2013-08-20 한국전자통신연구원 차량의 자율주행 장치 및 그 방법
KR101610502B1 (ko) * 2014-09-02 2016-04-07 현대자동차주식회사 자율주행차량의 주행환경 인식장치 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4663136B2 (ja) * 2001-01-29 2011-03-30 パナソニック株式会社 デジタル地図の位置情報伝達方法と装置
RU2220643C2 (ru) 2001-04-18 2004-01-10 Самсунг Гванджу Электроникс Ко., Лтд. Автоматическое чистящее устройство, автоматическая чистящая система и способ управления этой системой (варианты)
US7145478B2 (en) 2002-12-17 2006-12-05 Evolution Robotics, Inc. Systems and methods for controlling a density of visual landmarks in a visual simultaneous localization and mapping system
KR100465036B1 (ko) * 2003-02-14 2005-01-06 에스케이 텔레콤주식회사 지도 디스플레이 방식을 이용한 무선 네비게이션 시스템및 방법
KR100520166B1 (ko) * 2003-03-14 2005-10-10 삼성전자주식회사 네비게이션시스템에서 이동체의 위치검출장치 및 그 방법
DE602004023313D1 (de) * 2003-09-30 2009-11-05 Kenwood Corp Führungsroutensuchverfahren
JP2011511281A (ja) * 2008-02-04 2011-04-07 テレ アトラス ノース アメリカ インコーポレイテッド センサにより検出されたオブジェクトとマップマッチングする方法
EP2356584B1 (en) 2008-12-09 2018-04-11 Tomtom North America, Inc. Method of generating a geodetic reference database product
JP4905483B2 (ja) 2009-03-05 2012-03-28 株式会社デンソー 地図データ更新装置および地図データ更新用プログラム
CN104280036B (zh) 2013-07-05 2017-11-17 北京四维图新科技股份有限公司 一种交通信息的检测与定位方法、装置及电子设备
CN103558956A (zh) * 2013-09-10 2014-02-05 三星电子(中国)研发中心 基于兴趣点的地图视野修正方法和修正装置
US9384402B1 (en) 2014-04-10 2016-07-05 Google Inc. Image and video compression for remote vehicle assistance
JP6386300B2 (ja) * 2014-08-28 2018-09-05 株式会社ゼンリン 車両位置特定装置および運転支援装置
KR102398320B1 (ko) 2015-08-07 2022-05-16 삼성전자주식회사 경로 정보 제공 방법 및 그 방법을 처리하는 전자 장치
US10402676B2 (en) * 2016-02-15 2019-09-03 Pictometry International Corp. Automated system and methodology for feature extraction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003253A (ja) * 2006-06-21 2008-01-10 Toyota Motor Corp 道路形状取得装置
KR100938194B1 (ko) * 2008-07-28 2010-01-21 재단법인대구경북과학기술원 객체 검출 방법 및 객체 검출 장치
JP2012048642A (ja) * 2010-08-30 2012-03-08 Denso Corp 走行環境認識装置
KR20130091907A (ko) * 2012-02-09 2013-08-20 한국전자통신연구원 차량의 자율주행 장치 및 그 방법
KR101610502B1 (ko) * 2014-09-02 2016-04-07 현대자동차주식회사 자율주행차량의 주행환경 인식장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3579215A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220092984A1 (en) * 2020-09-18 2022-03-24 Stoneridge Electronics Ab Curb detection system for commercial vehicles
US12008905B2 (en) * 2020-09-18 2024-06-11 Stoneridge Electronics Ab Curb detection system for commercial vehicles

Also Published As

Publication number Publication date
KR102414676B1 (ko) 2022-06-29
US20210142667A1 (en) 2021-05-13
KR20180102428A (ko) 2018-09-17
US11183056B2 (en) 2021-11-23
CN110392908B (zh) 2021-12-14
EP3579215A4 (en) 2020-01-22
CN110392908A (zh) 2019-10-29
EP3579215A1 (en) 2019-12-11

Similar Documents

Publication Publication Date Title
WO2018164377A1 (ko) 지도 데이터를 생성하는 전자 장치 및 그 동작 방법
WO2019143040A1 (en) Device and method for assisting with driving of vehicle
WO2017196062A1 (en) Distance sensor, and calibration method performed by device and system including the distance sensor
WO2019209057A1 (en) Method of determining position of vehicle and vehicle using the same
WO2020060308A1 (ko) 전자 장치 및 전자 장치의 차량 제어 방법, 서버 및 서버의 정밀 지도 데이터 제공 방법
WO2018169164A1 (ko) 차량의 주행을 보조하는 장치 및 방법
WO2019194424A1 (ko) 지도 데이터를 생성하는 전자 장치 및 그 동작 방법
WO2019235743A1 (ko) 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법
WO2019131198A1 (ja) 制御装置、および制御方法、プログラム、並びに移動体
WO2018070663A1 (ko) 공항용 로봇 및 그의 동작 방법
WO2015072621A1 (ko) 모바일 gps 정보를 이용하여 차량의 충돌을 방지하기 위한 시스템 및 그 방법
WO2020138760A1 (ko) 전자 장치 및 그의 제어 방법
WO2018147599A1 (ko) 차량의 운전을 보조하는 전자 장치 및 방법
WO2019103468A1 (ko) 거리 측정 장치 및 그 제어 방법
WO2020226343A1 (en) Electronic device and method for assisting with driving of vehicle
WO2019172645A1 (ko) 차량의 주행을 보조하는 전자 장치 및 방법
WO2021158062A1 (ko) 이동수단의 위치인식방법 및 위치인식시스템
WO2018135745A1 (ko) 차량 주변의 객체를 나타내는 영상을 생성하는 방법 및 장치
WO2020075954A1 (ko) 다종 센서 기반의 위치인식 결과들을 혼합한 위치 측위 시스템 및 방법
WO2017171503A1 (ko) 크라우드 소싱 데이터 기반 교통 신호 조절 방법 및 서버
KR20230051412A (ko) 차량을 찾고 액세스하기 위한 기술
WO2020204500A1 (en) Electronic apparatus and method for assisting with driving of vehicle
WO2019240374A1 (ko) 대기열을 인식하는 이동식 로봇 및 이동식 로봇의 동작 방법
WO2022059878A1 (ko) 증강현실 뷰를 사용하는 경로 안내 방법 및 장치
WO2021221333A1 (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: 18764807

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018764807

Country of ref document: EP

Effective date: 20190903

NENP Non-entry into the national phase

Ref country code: DE