Robot control device and control method thereof
The robot control device and method effectively classify external objects using sensor data and grid maps to generate safe travel paths by differentiating between static, dynamic, and mixed objects, enhancing robotic navigation accuracy and safety.
Patent Information
- Application Number
- JP2024210045
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-19
- Filing Date
- 2024-12-03
- Publication Date
- 2026-01-29
AI Technical Summary
Existing robotic technologies face challenges in accurately identifying the type of external objects and generating effective travel paths for robots, particularly when dealing with static, dynamic, and mixed objects.
A robot control device and method that utilizes sensors and a processor to divide areas into sub-regions, identify point groups, and differentiate between ground and non-ground surfaces based on angle and height differences, employing grid maps to classify objects as static, dynamic, or mixed, and generate local maps with specified resolutions to plan safe robot paths.
Enables accurate and efficient identification of external objects and generation of robot travel paths, allowing robots to navigate safely by distinguishing between different types of objects with minimal computational effort.
Smart Images

Figure 2026015147000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot control device and a control method thereof, and more particularly to a technology for identifying an external object. [Background technology]
[0002] Recently, in the field of robotics, various robotic technologies have been researched, particularly technologies for robots to move while tracking a target.
[0003] When a robot plans a path to follow a target, it is necessary to accurately identify the target. For this reason, research is being conducted into identifying targets using a variety of sensors. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Publication No. 2022-40060 Summary of the Invention [Problem to be solved by the invention]
[0005] The present invention has been made in consideration of the above-mentioned conventional technology, and an object of the present invention is to provide a robot control device and a control method thereof for identifying the type of an external object and generating a robot travel path. [Means for solving the problem]
[0006] A robot control device according to one aspect of the present invention, which has been made to achieve the above-mentioned object, comprises at least one sensor and a processor, wherein the processor is configured to divide an area within a designated distance from the robot using a designated angle and a designated length, identify points acquired via the at least one sensor within sub-areas obtained by dividing the area, identify a first group of the points in a reference sub-area within the sub-areas, identify a second group of the points included in each of peripheral sub-areas adjacent to the reference sub-area, and identify the reference sub-area as one of ground and non-ground based on the difference in angle between the first group and the second group and the difference in height between the first group and the second group.
[0007] The processor may be configured to, if the reference subregion is identified as a non-ground object, identify that the reference subregion corresponds to at least one of a static object, a dynamic object, and a mixed object by using a grid map. The processor may be configured to identify partial dynamic objects included in the reference partial region by using the grid map by identifying that the reference partial region corresponds to the mixed object, and output at least one of the static object, the dynamic object, the mixed object, the partial dynamic object, or any combination thereof. The processor may be configured to identify at least one of the static object, the dynamic object, the mixed object, the partially dynamic object, or any combination thereof by transforming a first coordinate system formed around the robot to a second coordinate system representing the grid map. The processor may be configured to match the subregion with the grid map by cropping the grid map to a specified size. The processor may be configured to generate a local map based on the points acquired via the at least one sensor while the robot is navigating. The processor may be configured to generate the local map having a specified resolution. The processor may be configured to exclude the external object from the local map when generating the local map if the speed of the external object is equal to or greater than a specified speed or if the type of the external object is identified as a specified type. The processor may be configured to identify at least one of the angle difference, the height difference, or any combination thereof based on a first representative point of the first group and a second representative point of the second group. The processor may be configured to assign an identifier to each of the sub-regions based on the specified angle and the specified distance to distinguish the sub-regions.
[0008] In order to achieve the above-mentioned object, one aspect of the present invention provides a robot control method executed by a processor, comprising the steps of: dividing an area within a designated distance from the robot using a designated angle and a designated length, thereby identifying points acquired via at least one sensor within sub-areas obtained by dividing the area; identifying a first group of the points in a reference sub-area within the sub-areas, thereby identifying a second group of the points included in each of peripheral sub-areas adjacent to the reference sub-area; and identifying the reference sub-area as one of ground and non-ground based on the difference in angle between the first group and the second group and the difference in height between the first group and the second group.
[0009] The robot control method may include, when the reference partial region is identified as a non-ground surface, identifying that the reference partial region corresponds to at least one of a static object, a dynamic object, and a mixed object by using a grid map. The robot control method may include identifying partial dynamic objects included in the reference partial region by using the grid map by identifying that the reference partial region corresponds to the mixed object, and outputting at least one of the static object, the dynamic object, the mixed object, the partial dynamic object, or any combination thereof. The robot control method may include identifying at least one of the static object, the dynamic object, the mixed object, the partially dynamic object, or any combination thereof by transforming a first coordinate system formed around the robot into a second coordinate system representing the grid map. The robot control method may include matching the partial region with the grid map by cropping the grid map to a specified size. The robot control method may include generating a local map based on the points acquired via the at least one sensor while the robot is operating. The robot control method may include generating the local map having a specified resolution. The robot control method may include excluding the external object from the local map when generating the local map if the speed of the external object is equal to or greater than a specified speed or if the type of the external object is identified as a specified type. The robot control method may include identifying at least one of the angle difference, the height difference, or any combination thereof based on a first representative point of the first group and a second representative point of the second group. The robot control method may include assigning an identifier to each of the partial regions based on the specified angle and the specified distance to distinguish the partial regions. [Effects of the Invention]
[0010] According to the present invention, it is possible to identify the type of external object and generate a robot driving path, and by identifying the external object using sensors including a lidar and a grid map, it is possible to output accurate results with a small amount of calculation.
[0011] Furthermore, by identifying an external object using sensor data and a grid map, the external object can be identified quickly and accurately.
[0012] In addition, various other effects are provided that can be grasped directly or indirectly through this specification. [Brief explanation of the drawings]
[0013] [Figure 1] FIG. 1 is a block diagram illustrating an example of a robot control device according to an embodiment of the present invention. [Figure 2] 1 is a block diagram showing an example of a robot control device according to an embodiment of the present invention. [Figure 3] FIG. 1 illustrates an example of point cloud classification in accordance with an embodiment of the present invention. [Figure 4] FIG. 10 illustrates an example of ground and non-ground filtering in accordance with an embodiment of the present invention. [Figure 5] FIG. 10 is a diagram illustrating an example of determining a partial dynamic object in an embodiment of the present invention. [Figure 6] 1 is a flowchart illustrating an example of a robot control method according to an embodiment of the present invention. [Figure 7] 1 is a diagram illustrating a computer system relating to a robot control device or a robot control method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, specific examples of embodiments of the present invention will be described in detail with reference to the drawings.
[0015] When assigning reference numerals to components in each drawing, it should be noted that the same components are assigned the same numerals as much as possible even if they are displayed in different drawings. Furthermore, when describing embodiments of the present invention, if a detailed description of related known structures or functions is deemed to obscure the understanding of the embodiments of the present invention, the detailed description will be omitted.
[0016] When describing components of an embodiment of the present invention, terms such as "first," "second," "A," "B," "(a)," and "(b)" are used. These terms are intended only to distinguish the component from other components and do not limit the nature, order, or sequence of the components. Furthermore, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning they have in the context of the relevant art, and should not be interpreted as idealized or overly formal unless expressly defined herein.
[0017] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.
[0018] FIG. 1 is a block diagram showing an example of a robot control device according to an embodiment of the present invention.
[0019] 1, a robot controller 100 according to this embodiment may be implemented inside or outside the robot, and some of the components included in the robot controller 100 may be implemented inside or outside the robot. In this case, the robot controller 100 may be integrated with an internal control unit of the robot, or may be implemented in a separate device and connected to the robot's control unit by a separate connection means. For example, the robot controller 100 may further include components not shown in FIG. 1.
[0020] The robot controller 100 according to this embodiment includes a processor 110 and a sensor 120. For example, the robot controller 100 includes at least one of the processor 110, the sensor 120, the memory 130, the communication circuit 140, or any combination thereof. For example, the processor 110 is electrically and / or operably coupled with the sensor 120, the memory 130, or the communication circuit 140 by electronic components including a communication bus.
[0021] Hereinafter, when hardware is operatively coupled, this includes establishing a direct and / or indirect connection between the hardware via wire and / or wirelessly, such that a first piece of hardware controls a second piece of hardware.
[0022] Although shown as different blocks, this embodiment is not limited thereto. Some of the hardware in FIG. 1 may be included in a single integrated circuit, including a system on a chip (SoC). The types and / or number of hardware included in the robot controller 100 are not limited to those shown in FIG. 1. For example, the robot controller 100 includes only a portion of the hardware shown in FIG. 1.
[0023] The robot controller 100 according to this embodiment includes hardware for processing data based on one or more instructions. The hardware for processing data includes a processor 110.
[0024] For example, the hardware for processing data includes an arithmetic and logic unit (ALU), a floating point unit (FPU), a field programmable gate array (FPGA), a central processing unit (CPU), and / or an application processor (AP). The processor 110 may have a single-core processor structure or a multi-core processor structure, including a dual-core, quad-core, hexa-core, or octa-core structure.
[0025] For example, the sensor 120 includes hardware for probing the surrounding environment of at least one of the robot controller 100, a robot including the robot controller 100, or any combination thereof.
[0026] For example, the sensor 120 may include at least one of a depth sensor, an odometry sensor, or any combination thereof. For example, the depth sensor may include at least one of a time of flight (ToF) sensor, a light detection and ranging (LiDAR), a structured light sensor, an ultrasonic sensor, an infrared sensor, an optical distance sensor, an RGB-D (red, green, blue, depth) sensor, or any combination thereof.
[0027] The memory 130 of the robot controller 100 according to this embodiment includes hardware for storing data and / or instructions input and / or output by the processor 110 of the robot controller 100.
[0028] For example, memory 130 may include volatile memory, including random-access memory (RAM), and / or non-volatile memory, including read-only memory (ROM).
[0029] For example, the volatile memory includes at least one of a dynamic RAM (DRAM), a static RAM (SRAM), a cache RAM, a pseudo SRAM (PSRAM), or any combination thereof.
[0030] For example, the non-volatile memory includes at least one of a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), a flash memory, a hard disk, a compact disk, a solid state drive (SSD), an embedded multi-media card (eMMC), or any combination thereof.
[0031] The communication circuitry 140 of the robot controller 100 according to this embodiment includes hardware for supporting the transmission and / or reception of signals between the robot controller 100 and an external electronic device. For example, the communication circuitry 140 includes at least one of a modem, an antenna, an O / E (optical / electronic) converter, or any combination thereof.
[0032] For example, the communications circuitry 140 supports transmission and / or reception of signals based on various types of protocols including at least one of Ethernet (registered trademark), LAN (local area network), WAN (wide area network), WiFi (wireless fidelity), Bluetooth (registered trademark), BLE (Bluetooth (registered trademark) low energy), ZigBee (registered trademark), LTE (long term evolution), 5G NR (new radio), CAN (controller area network), LIN (local interconnect network), or any combination thereof.
[0033] The robot controller 100 according to this embodiment uses a grid map stored in the memory 130. The robot controller 100 according to this embodiment receives the grid map via the communication circuit 140. For example, the processor 110 of the robot controller 100 uses the grid map received via the communication circuit 140.
[0034] The processor 110 of the robot controller 100 according to this embodiment divides an area within a designated distance from the robot using a designated angle and a designated length, and identifies points acquired by at least one sensor 120 within the divided partial areas. For example, the points include points generated by light or sound waves reflected from an external object and acquired by the at least one sensor 120. For example, the points are included in a point cloud.
[0035] For example, the processor 110 assigns an identifier to each of the subregions based on the specified angle and the specified distance to distinguish the subregions.
[0036] For example, the specified angle may be approximately 0.05 degrees. For example, the specified distance may be approximately 0.07 centimeters. For example, the processor 110 may assign a first identifier to the sub-region divided by the specified angle. For example, the processor 110 may assign a second identifier to the sub-region divided by the specified distance. For example, the first identifier may be referred to as a segment. For example, the second identifier may be referred to as a bin.
[0037] In this embodiment, the processor 110 identifies a first group of points in a reference subregion of the subregions, and then identifies a second group of points contained in each of the peripheral subregions adjacent to the reference subregion.
[0038] In this embodiment, the processor 110 identifies the reference subregion as one of ground and non-ground based on the difference in angle between the first group and the second group and the difference in height between the first group and the second group.
[0039] For example, processor 110 identifies a first representative point of the first group and a second representative point of the second group. For example, the first representative point of the first group includes the point that is highest above the ground among the points included in the reference partial region. For example, the second representative point of the second group includes the point that is highest above the ground among the points included in the peripheral partial region.
[0040] For example, the processor 110 groups the reference partial regions determined as ground. For example, the processor 110 groups the reference partial regions determined as non-ground. For example, the processor groups the reference partial regions determined as non-ground using a specified algorithm (for example, a density-based spatial clustering of applications with noise (DBSCAN) algorithm).
[0041] For example, the processor 110 uses the points included in each of the sets of grouped reference regions to obtain at least one of a minimum value, a maximum value, a median value, a virtual box, a concave, a convex, or any combination thereof.
[0042] In this embodiment, when the processor 110 acquires the grid map via the memory 130 or the communication circuit 140, it performs the following operations.
[0043] In this embodiment, when the reference subregion is identified as a non-ground object, the processor 110 uses the grid map to identify that the reference subregion corresponds to at least one of a static object, a dynamic object, and a mixed object.
[0044] For example, static objects include at least one of a tree, a structure, a wall, a curb, or any combination thereof. For example, dynamic objects include objects that are not included in a structure that is not in the grid map. For example, mixed objects include at least one of a person, a mobility object, a vehicle, or any combination thereof. However, embodiments of the present invention are not limited to the above.
[0045] For example, the processor 110 identifies whether the reference partial region corresponds to a mixed object. For example, by identifying that the reference partial region corresponds to a mixed object, the processor 110 identifies a partial dynamic object included in the reference partial region by using a grid map.
[0046] For example, after identifying the partial dynamic object, the processor 110 assigns an identifier to the partial dynamic object, which is indicative of the partial dynamic object, for example, the identifier to the partial dynamic object is referred to as "separated."
[0047] For example, the processor 110 identifies partial dynamic objects included in the reference subregion by determining whether the reference subregion matches the grid map, and outputs at least one of a static object, a dynamic object, a mixed object, a partial dynamic object, or any combination thereof.
[0048] For example, the processor 110 transforms a first coordinate system formed around the robot into a second coordinate system representing a grid map. For example, the processor 110 identifies at least one of a static object, a dynamic object, a mixed object, a partially dynamic object, or any combination thereof by transforming the first coordinate system formed around the robot into the second coordinate system representing the grid map.
[0049] For example, the processor 110 matches the subregion with the grid map by cropping the grid map to a specified size, for example, the specified size comprises approximately 0.05 m x 0.05 m.
[0050] For example, the processor 110 identifies at least one of a static object, a dynamic object, a mixed object, a partially dynamic object, or any combination thereof, and then controls the robot by planning a path to avoid at least one of the static object, the dynamic object, the mixed object, the partially dynamic object, or any combination thereof.
[0051] In this embodiment, if the processor 110 is unable to acquire the grid map, it performs the following operations.
[0052] For example, the processor 110 acquires points via at least one sensor 120 while the robot including the robot controller 100 operates. For example, the processor 110 generates a local map based on the points acquired via the at least one sensor while the robot operates.
[0053] For example, the processor 110 generates a local map having a specified resolution, for example, approximately 25.6 m x 25.6 m with a resolution of 0.05 m.
[0054] For example, the processor 110 identifies an external object while the robot is moving. For example, if the speed of the external object is identified as being equal to or greater than a specified speed, the processor 110 removes the identified external object from the local map.
[0055] For example, the processor 110 identifies the type of an external object while the robot is operating. For example, if the type of the external object is identified as a specified type, the processor 110 removes the identified external object from the local map.
[0056] For example, when generating a local map, the processor 110 excludes an external object from the local map if the speed of the external object is greater than or equal to a specified speed or if the type of the external object is identified as a specified type.
[0057] For example, the specified speed includes approximately 0.4 m / s. For example, the specified type includes a person (or pedestrian).
[0058] For example, the processor 110 performs a delta transform on the local map updated at time point (t-1) based on the movement of the robot. For example, the processor 110 performs a delta transform on the local map updated at time point (t-1) to use it as the local map at time point (t).
[0059] As described above, the robot controller 100 according to this embodiment performs different operations depending on whether a grid map can be acquired or not. For example, when a grid map can be acquired, the robot controller 100 identifies whether an external object is a dynamic object using sensor data (e.g., data acquired using the sensor 120 and / or points acquired using the sensor 120) and controls the robot. For example, when a grid map cannot be acquired, the robot controller 100 generates a local map to identify whether an external object is a dynamic object and controls the robot. By performing the above-described operations, the robot controller 100 can perform relatively safe traveling. In addition, the robot controller 100 can determine whether an external object is a dynamic object with relatively few calculations by comparing the grid map with a partial region to identify whether the external object is a dynamic object.
[0060] FIG. 2 is a block diagram showing an example of a robot control device according to an embodiment of the present invention.
[0061] Referring to FIG. 2, the robot control device according to this embodiment (for example, the robot control device 100 in FIG. 1) includes a hardware section 210 and a software section 220.
[0062] For example, the hardware unit 210 of the robot controller includes at least one of an odometry, a lidar, a depth camera, or any combination thereof.
[0063] For example, the robot controller software unit 220 includes at least one of a mapping and positioning unit 221, a surrounding environment recognition unit 222, a path planning and navigation unit 223, or any combination thereof.
[0064] For example, a processor of the robot controller (eg, processor 110 in FIG. 1) acquires data via hardware unit 210.
[0065] For example, the processor inputs data acquired via the hardware section 210 into the software section 220 .
[0066] For example, the processor inputs lidar data acquired via a lidar to the surrounding environment recognition unit 222. For example, the processor inputs the lidar data to a ground filtering unit included in the surrounding environment recognition unit 222. For example, the lidar data includes a point cloud.
[0067] For example, the processor performs object grouping and feature extraction by inputting the LIDAR data to the ground filtering unit. For example, the processor performs dynamic / static classification by performing object grouping and feature extraction. For example, the processor classifies external objects identified by the LIDAR data into dynamic objects or static objects.
[0068] For example, the processor classifies external objects into dynamic objects or static objects based on driving environment guidance, positioning, and lidar data included in the mapping and positioning unit 221.
[0069] For example, the processor classifies external objects as dynamic objects or static objects based on the local grid map and the lidar data.
[0070] For example, the processor may classify the external object identified by the lidar data to estimate the object type. For example, the object type may include categories for further classifying the type of the external object.
[0071] In this embodiment, the processor inputs camera data acquired through a depth camera to the surrounding environment recognition unit 222. For example, the processor inputs the camera data to a ground filtering unit included in the surrounding environment recognition unit 222. For example, the processor performs data alignment by inputting the camera data to the ground filtering unit.
[0072] In this embodiment, the processor performs data alignment using the camera data by estimating the object type. For example, the data alignment may include an operation to correct the coordinate system. For example, the data alignment may include an operation to express data expressed in different coordinate systems in the same coordinate system.
[0073] In this embodiment, the processor generates a local grid map by performing object tracking, for example, if a grid map is not prepared, the processor generates the local grid map.
[0074] In this embodiment, the processor performs object tracking by performing data alignment, for example, the processor performs object tracking to plan a path using the path planning and navigation unit 223 and control the robot.
[0075] FIG. 3 is a diagram illustrating an example of point cloud classification in one embodiment of the present invention.
[0076] 3, a processor (e.g., processor 110 in FIG. 1) of a robot control device (e.g., robot control device 100 in FIG. 1) according to this embodiment acquires a point cloud. For example, the processor acquires the point cloud using a lidar.
[0077] For example, after acquiring the point cloud, the processor classifies the type of the point cloud.
[0078] For example, the types of point cloud include ground 310 and non-ground 320. For example, the types of non-ground 320 include dynamic objects 321 and static objects 323. For example, dynamic objects 321 include objects that are not included in structures that are not in the map. For example, static objects 323 include at least one of trees, structures, walls, or any combination thereof.
[0079] The type of point cloud includes a mixed object in which a dynamic object 321 and a static object 323 are superimposed. For example, the mixed object includes at least one of a person, a mobility object, a vehicle, or any combination thereof.
[0080] For example, the processor classifies the type of the point cloud into at least one of the types described above, but embodiments of the present invention are not limited to the above.
[0081] FIG. 4 is a diagram illustrating an example of filtering ground and non-ground areas in accordance with an embodiment of the present invention.
[0082] Referring to FIG. 4, a processor (for example, processor 110 in FIG. 1) of a robot control device (for example, robot control device 100 in FIG. 1) according to this embodiment acquires a point cloud via a lidar.
[0083] For example, the processor may divide the robot's perimeter, including the robot controller, using grid 420.
[0084] For example, the processor identifies a representative point 410 in each of the grids 420. For example, the representative point 410 includes the point in the grid 420 that has the largest z-value.
[0085] In this embodiment, the processor identifies the height of representative points 421 contained in the grid 420. For example, the processor identifies the average height 423 of representative points contained in adjacent grids.
[0086] The processor compares the height of the representative point 421 with the average height 423. If the difference between the height of the representative point 421 and the average height 423 exceeds a critical value, the processor determines that the grid 420 including the representative point 421 is not on the ground.
[0087] For example, the processor determines whether the grid 420 and / or the representative point 421 is a ground surface and / or a non-ground surface, and determines the type of the grid 420 and / or the representative point 421 that is determined to be a non-ground surface. The processor determines the type of the grid 420 and / or the representative point 421, and plans a travel path for the robot based on this determination.
[0088] FIG. 5 is a diagram illustrating an example of determining a partial dynamic object in an embodiment of the present invention.
[0089] Referring to FIG. 5, a processor (eg, processor 110 in FIG. 1) of a robot controller (eg, robot controller 100 in FIG. 1) according to this embodiment identifies whether the grid map and the subregion match.
[0090] For example, the processor may represent the subregion represented in the first coordinate system in a second coordinate system, for example, the second coordinate system including the coordinate system in which the grid map is represented.
[0091] For example, the processor searches for a matching structure in each of the subregions represented in the second coordinate system. For example, the processor categorizes the objects that match the structure in each of the subregions. For example, the processor classifies the objects that match the structure in each of the subregions into one of static objects, dynamic objects, and mixed objects.
[0092] For example, the processor identifies whether or not the structures depicted in the grid map match the points included in the sub-region, and classifies the type of points (or point cloud) included in the sub-region based on whether or not the structures depicted in the grid map match the points included in the sub-region.
[0093] For example, if the processor identifies a static object 511 among the points, it assigns an identifier indicating the static object 511 to the point corresponding to the static object 511. For example, if the processor identifies a mixed object 513 among the points, it assigns an identifier indicating the mixed object 513 to the point corresponding to the mixed object 513.
[0094] For example, the processor may identify at least one of the static object 511, the mixed object 513, or any combination thereof, and then generate a travel path for the robot to avoid at least one of the static object 511, the mixed object 513, or any combination thereof. For example, the processor may use the generated travel path to control the robot so that the robot moves along the travel path.
[0095] FIG. 6 is a flowchart showing an example of a robot control method according to an embodiment of the present invention.
[0096] In the following, it is assumed that the robot controller 100 of Fig. 1 performs the process of Fig. 6. Furthermore, in the description of Fig. 6, the operations described as being performed by the device are understood to be controlled by the processor 110 of the robot controller 100.
[0097] At least one of the steps in Fig. 6 is performed by the robot controller 100 of Fig. 1. At least one of the steps in Fig. 6 is controlled by the processor 110 of Fig. 1. The steps in Fig. 6 are performed sequentially, but not necessarily sequentially. For example, the order of the steps may be changed, or at least two operations may be performed in parallel.
[0098] Referring to FIG. 6, in step S601, the robot control method according to this embodiment includes dividing an area within a specified distance from the robot using a specified angle and a specified length, and identifying points acquired via at least one sensor within the divided sub-areas.
[0099] In step S603, the robot control method according to this embodiment includes an operation of identifying a first group of points in a reference subregion among the subregions, and then identifying a second group of points contained in each of the peripheral subregions adjacent to the reference subregion.
[0100] In step S605, the robot control method according to this embodiment includes an operation of identifying the reference sub-region as one of the ground and the non-ground based on the difference in angle between the first group and the second group and the difference in height between the first group and the second group.
[0101] For example, the robot control method includes an act of identifying at least one of an angle difference, an elevation difference, or any combination thereof based on a first representative point of the first group and a second representative point of the second group.
[0102] For example, a robot control method may include the following operations when a grid map is prepared:
[0103] For example, the robot control method may include matching the subregion with the grid map by cropping the grid map to a specified size.
[0104] For example, the robot control method includes an operation of classifying each type of subregion based on whether the subregion matches the grid map.
[0105] For example, the robot control method includes an operation of, when the reference subregion is identified as a non-ground object, using a grid map to identify that the reference subregion corresponds to at least one of a static object, a dynamic object, and a mixed object.
[0106] For example, the robot control method may include, when it is determined that the reference partial region corresponds to a mixed object, identifying a partial dynamic object included in the reference partial region by using a grid map, and outputting at least one of a static object, a dynamic object, a mixed object, a partial dynamic object, or any combination thereof.
[0107] For example, the robot control method includes identifying at least one of a static object, a dynamic object, a mixed object, a partially dynamic object, or any combination thereof by transforming a first coordinate system formed around the robot into a second coordinate system representing a grid map.
[0108] For example, the robot control method may include the following actions if no grid map is prepared:
[0109] For example, the method for controlling a robot may include acquiring points via at least one sensor while the robot is moving, and generating a local map based on the points acquired via the at least one sensor while the robot is moving.
[0110] For example, a robot control method may include identifying at least one of a static object, a dynamic object, a mixed object, or any combination thereof using points acquired via at least one sensor, and generating a local map based on the identified at least one of the static object, the dynamic object, the mixed object, or any combination thereof.
[0111] For example, a robot control method includes an act of generating a local map having a specified resolution.
[0112] For example, the robot control method includes an operation of excluding an external object from a local map when generating a local map based on whether the speed of the external object is greater than or equal to a specified speed or whether the type of the external object is identified as a specified type.
[0113] FIG. 7 is a diagram showing a computer system relating to a robot control device or a robot control method according to an embodiment of the present invention.
[0114] Referring to FIG. 7, computer system 1000 includes at least one processor 1100, memory 1300, user interface input device 1400, user interface output device 1500, storage 1600, and network interface 1700, all connected via a bus 1200.
[0115] The processor 1100 is a semiconductor device that performs processing on instructions stored in a central processing unit (CPU), memory 1300, and / or storage 1600. The memory 1300 and storage 1600 include various types of volatile or non-volatile recording media. For example, the memory 1300 includes a read-only memory (ROM) 1310 and a random access memory (RAM) 1320.
[0116] Accordingly, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware executed by processor 1100, in a software module, or in a combination of the two. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, or on a recording medium such as a hard disk, a removable disk, or a CD-ROM (i.e., memory 1300 and / or storage 1600).
[0117] An exemplary storage medium is coupled to processor 1100 such that processor 1100 reads information from, and writes information to, the storage medium. Alternatively, the storage medium may be integral to processor 1100. The processor and the storage medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.
[0118] The above description is merely an illustrative example of the technical concept of the present invention, and various modifications and variations are possible by those skilled in the art without departing from the essential characteristics of the present invention.
[0119] Therefore, the embodiments disclosed in this specification are for illustrative purposes only and are not intended to limit the technical idea of the present invention, and the scope of the technical idea of the present invention should not be limited by such embodiments. The scope of protection of the present invention should be interpreted by the claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention. [Explanation of symbols]
[0120] 100 Robot control device 110, 1100 processors 120 sensors 130, 1300 memory 140 Communication Circuit 210 Hardware Department 220 Software Department 221 Mapping and Positioning Department 222 Surrounding Environment Awareness Department 223 Route Planning and Driving Department 310 Ground 320 Non-ground 321 Dynamic Object 323, 511 static object 410, 421 representative points 420 grid 423 average height 513 Mixed object 1000 Computer Systems 1200 Bus 1310 ROM 1320 RAM 1400 User Interface Input Device 1500 User interface output device 1600 Storage 1700 network interface
Claims
1. at least one sensor; a processor, The processor: Dividing an area within a designated distance from the robot using a designated angle and a designated length, and identifying points acquired via the at least one sensor within a sub-area obtained by dividing the area; identifying a first group of points in a reference sub-region of the sub-regions to identify a second group of points in each of the peripheral sub-regions adjacent to the reference sub-region; A robot control device configured to identify the reference partial area as one of a ground surface and a non-ground surface based on an angle difference between the first group and the second group and a height difference between the first group and the second group.
2. 2. The robot control device of claim 1, wherein the processor is configured to, when the reference partial region is identified as a non-ground surface, identify that the reference partial region corresponds to at least one of a static object, a dynamic object, and a mixed object by using a grid map.
3. The processor: By identifying that the reference partial region corresponds to the mixed object, identifying a partial dynamic object included in the reference partial region by using the grid map; The robot control device according to claim 2 , configured to output at least one of the static object, the dynamic object, the mixed object, the partially dynamic object, or any combination thereof.
4. 4. The robot control device of claim 3, wherein the processor is configured to identify at least one of the static object, the dynamic object, the mixed object, the partially dynamic object, or any combination thereof by transforming a first coordinate system formed around the robot into a second coordinate system that represents the grid map.
5. The robot control device according to claim 2 , wherein the processor is configured to match the subregion with the grid map by cropping the grid map to a specified size.
6. The robot controller of claim 1 , wherein the processor is configured to generate a local map based on the points acquired via the at least one sensor while the robot is operating.
7. The robot controller of claim 6 , wherein the processor is configured to generate the local map having a specified resolution.
8. 7. The robot control device of claim 6, wherein the processor is configured to exclude the external object from the local map when generating the local map if the speed of the external object is equal to or greater than a specified speed or if the type of the external object is identified as a specified type.
9. 2. The robot controller of claim 1, wherein the processor is configured to identify at least one of the angle difference, the height difference, or any combination thereof based on a first representative point of the first group and a second representative point of the second group.
10. The robot control device according to claim 1 , wherein the processor is configured to assign an identifier for dividing the partial regions to each of the partial regions based on the specified angle and the specified distance.
11. 1. A processor-implemented robot control method, comprising: Dividing an area within a designated distance from the robot using a designated angle and a designated length, and identifying points acquired via at least one sensor within a sub-area obtained by dividing the area; identifying a second group of the points in each of the peripheral sub-regions adjacent to the reference sub-region by identifying the first group of the points in a reference sub-region of the sub-regions; and identifying the reference sub-region as one of a ground surface and a non-ground surface based on an angle difference between the first group and the second group and a height difference between the first group and the second group.
12. 12. The robot control method of claim 11, further comprising: if the reference partial region is identified as a non-ground surface, identifying that the reference partial region corresponds to at least one of a static object, a dynamic object, and a mixed object by using a grid map.
13. The robot control method includes: identifying a partial dynamic object included in the reference partial region by using the grid map by identifying that the reference partial region corresponds to the mixed object; and outputting at least one of the static object, the dynamic object, the mixed object, the partially dynamic object, or any combination thereof.
14. 14. The method of claim 13, further comprising identifying at least one of the static object, the dynamic object, the mixed object, the partially dynamic object, or any combination thereof by transforming a first coordinate system formed around the robot into a second coordinate system representing the grid map.
15. 13. The robot control method of claim 12, further comprising matching the partial region with the grid map by cropping the grid map to a specified size.
16. The method of claim 11, further comprising generating a local map based on the points acquired via the at least one sensor while the robot is operating.
17. The method of claim 16, further comprising generating the local map having a specified resolution.
18. 17. The method of claim 16, further comprising: excluding the external object from the local map when generating the local map if the speed of the external object is equal to or greater than a specified speed or if the type of the external object is identified as a specified type.
19. 12. The method of claim 11, further comprising identifying at least one of the angle difference, the height difference, or any combination thereof based on a first representative point of the first group and a second representative point of the second group.
20. 12. The method of claim 11, further comprising assigning an identifier to each of the partial regions based on the specified angle and the specified distance to distinguish the partial regions.
Citation Information
Patent Citations
Robot control method and system
JP2022040060A