Robot and travel control method therefor
By integrating a secondary sensor to detect blind areas and generating a point cloud map, the navigation system addresses lidar's blind spots, ensuring precise obstacle detection and collision avoidance.
Patent Information
- Application Number
- PCT/KR2025/000522
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-28
- Filing Date
- 2025-01-09
- Publication Date
- 2025-09-04
AI Technical Summary
Lidar sensors mounted on robots at a certain height above the floor fail to detect obstacles close to the floor, creating blind areas that hinder effective navigation.
Incorporating a second sensor positioned below the primary sensor to detect blind areas, along with a processor to integrate data from both sensors and generate a point cloud map, enabling precise navigation and obstacle detection.
Enhances navigation by accurately identifying obstacles near the floor, preventing collisions, and creating a more comprehensive map of the environment.
Smart Images

Figure KR2025000522_04092025_PF_FP_ABST
Abstract
Description
Robot and its driving control method
[0001] The present invention relates to a technology for controlling a robot and its driving.
[0002] Thanks to recent advancements in robotics technology, mobile robots are increasingly being used in spaces like shopping malls, airports, and large restaurants. Mobile robots can use sensors attached to their bodies to detect their surroundings, particularly people and other moving objects.
[0003] Mobile robots typically use lidar sensors. These sensors are mounted on the robot and rotate 360 degrees to detect their surroundings.
[0004] However, since the lidar sensor performs sensing in a nearly horizontal direction from its installed location, if it is placed at a certain height above the floor, it may not be able to identify obstacles close to the floor.
[0005] Therefore, the need for technology to solve these problems is emerging.
[0006] A robot according to at least one embodiment of the present disclosure includes a driving unit, a memory, at least one first sensor, a second sensor arranged to sense a blind area of the at least one first sensor, and at least one processor. The at least one processor controls the driving unit to drive in a space in which the robot is located, and acquires first map data and second map data for the space based on sensing values sensed by the at least one first sensor and the second sensor while the robot drives in the space, stores the first and second map data in the memory, and matches the first map data and the second map data to generate a point cloud map for the space in which the robot drives.
[0007] A method for controlling navigation of a robot according to at least one embodiment of the present disclosure includes a step of obtaining and storing first map data for a space in which the robot is traveling based on a sensing value sensed by at least one first sensor disposed on the robot while the robot is traveling, a step of obtaining and storing second map data for the space based on a sensing value sensed by a second sensor disposed to sense a blind area of the at least one first sensor while the robot is traveling, a step of matching the first map data and the second map data to generate a point cloud map for the space, and a step of traveling based on the point cloud map.
[0008] FIG. 1 is a drawing for explaining the operation of a robot according to at least one embodiment of the present disclosure.
[0009] FIG. 2 is a block diagram illustrating the configuration of a robot according to at least one embodiment of the present disclosure.
[0010] FIG. 3 is a drawing for explaining a process of generating a point cloud map of a robot according to at least one embodiment of the present disclosure.
[0011] FIG. 4 is a diagram illustrating a process of updating a point cloud map of a robot according to at least one embodiment of the present disclosure.
[0012] FIG. 5 and FIG. 6 are drawings for explaining a driving control method of a robot according to at least one embodiment of the present disclosure.
[0013] FIG. 7 is a drawing for explaining the arrangement of a second sensor in a robot according to at least one embodiment of the present disclosure.
[0014] FIG. 8 is a diagram for explaining a process of adjusting the sensing range of a second sensor in a robot according to various embodiments of the present disclosure.
[0015] FIG. 9 is a drawing for explaining an anti-static structure provided in a robot according to at least one embodiment of the present disclosure.
[0016] FIG. 10 is a drawing for explaining an example of an external configuration of a robot according to at least one embodiment of the present disclosure.
[0017] FIGS. 11A to 11C are drawings for explaining the sensor arrangement of a robot according to various embodiments of the present disclosure.
[0018] FIG. 12 is a flowchart illustrating the overall operation process of a robot according to at least one embodiment of the present disclosure.
[0019] FIG. 13 is a flowchart for explaining a driving control method of a robot according to at least one embodiment of the present disclosure.
[0020] The terms used in the various embodiments of this disclosure have been selected from widely used, current terms, taking into account the functions of this disclosure. However, these terms may vary depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Furthermore, in certain cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the description of the relevant disclosure. Therefore, the terms used in this disclosure should be defined based on the meaning of the terms and the overall content of this disclosure, rather than simply their names.
[0021] In this disclosure, expressions such as “has,” “can have,” “includes,” or “may include” indicate the presence of a corresponding feature (e.g., a component such as a number, function, operation, or part), and do not exclude the presence of additional features.
[0022] The expression "at least one of A and / or B" should be understood to mean either "A" or "B" or "A and B".
[0023] The expressions “first,” “second,” “first,” or “second,” etc., used in this disclosure can describe various components, regardless of order and / or importance, and are only used to distinguish one component from another, but do not limit the components.
[0024] When it is said that a component (e.g., a first component) is “(operatively or communicatively) coupled with / to” or “connected to” another component (e.g., a second component), it should be understood that the component may be directly coupled to the other component, or may be connected through another component (e.g., a third component).
[0025] Singular expressions include plural expressions unless the context clearly dictates otherwise. In this disclosure, terms such as "comprise" or "consist of" are intended to indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but should be understood not to preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0026] In the present disclosure, a "module" or "part" performs at least one function or operation and may be implemented as hardware or software, or as a combination of hardware and software. Furthermore, multiple "modules" or multiple "parts" may be integrated into at least one module and implemented as at least one processor (not shown), excluding any "modules" or "parts" that need to be implemented as specific hardware.
[0027] In this disclosure, the term user may refer to a person using an electronic device or a device used by the person.
[0028] An embodiment of the present disclosure will be described in more detail with reference to the attached drawings below.
[0029] FIG. 1 is a drawing for explaining the operation of a robot according to at least one embodiment of the present disclosure.
[0030] A robot (100) may be a device capable of driving without direct human control. The robot (100) may also be referred to by various other terms, such as an autonomous driving device, an autonomous mobile robot (AMR), an automated guided vehicle (AGV), an unmanned ground vehicle (UGV), etc., but is described as a robot (100) in the present disclosure. Depending on its method of use or purpose, the robot (100) may be implemented as various types of robots that drive through a space and perform necessary tasks, such as a cleaning robot, a serving robot, a mobile projector, an industrial robot, a guide robot, a delivery robot, etc.
[0031] The robot (100) may include at least one of various sensors, such as a lidar sensor, an infrared sensor, an image sensor, an ultrasonic sensor, and a depth camera. Using these sensors, the robot (100) may sense the current location of the robot (100) within a space, the characteristics of the floor surface, the shape of the space, the location and shape of objects (such as home appliances or furniture) within the space, the distance to the objects, etc. Based on the sensed information, the robot (100) may create a map of the space, set a driving path within the map, and then drive along the driving path. Even while driving, the robot (100) may use various sensors to identify the location of objects or people within the space that changes from moment to moment, and may drive evasively to avoid collisions. The robot (100) may be used in various environments, such as offices, buildings, factories, restaurants, and public offices. Hereinafter, all of the above-described environments are collectively referred to as spaces.
[0032] Referring to Fig. 1, the robot (100) can detect surrounding obstacles using at least one sensor positioned at a certain height or higher from the floor surface. For example, the robot (100) can use a lidar sensor (30) and a depth camera (40). In the case of the lidar sensor (30), since it scans the surroundings while rotating 360 degrees, it must be mounted on the upper surface of the robot's (100) exterior, or even if it is mounted on the center of the robot (100), it must be mounted in an area where the surroundings are exposed. Fig. 1 illustrates a case where the robot (100) is divided into a first body (101) and a second body (102) and connected to each other in the vertical direction by a support member (103), and the lidar sensor (30) is positioned in the space between the first body (101) and the second body (102). The depth camera (40) can be mounted together with the lidar sensor (30) around the lidar sensor (30).
[0033] Among the first and second bodies (101, 102) of FIG. 1, the first body (101) located at the lower side is provided with a wheel for moving the robot (100), and a drive motor, gear shaft, etc. for rotating the wheel may be provided inside the first body (101). The second body (102) may be manufactured in various shapes and sizes depending on the purpose of the robot (100). For example, when the robot (100) is used for the purpose of moving various items, the second body (102) may be manufactured in the form of a loading box capable of loading items.
[0034] The support member (103) is configured to support the second body (102) on the first body (101), and may be referred to as a connecting member or an intermediate member, or alternatively, may be referred to as a third body separately from the first and second bodies. The second body (102) may be implemented as a structure that can be separated and connected to the first body (101) based on the support member (103), or may be implemented as an integral part together with the first body (101) and the support member (103).
[0035] Meanwhile, if the robot (100) is composed of only the first body (101), sensors such as a lidar sensor (30) and a depth camera (40) may be mounted on the upper surface of the first body (101).
[0036] As described above, the lidar sensor (30) and depth camera (40) are used by being positioned at a certain height or higher relative to the floor surface of the robot (100). Therefore, a rectangular area may be created in the upper and lower directions due to the sensing angles of the lidar sensor (30) and depth camera (40). In Fig. 1, it can be seen that an object (20) placed on the floor surface is in the rectangular area.
[0037] A dead zone is an area where the presence or absence of an object cannot be identified.
[0038] According to at least one embodiment of the present disclosure, the robot (100) further includes a separate sensor for sensing a blind area. In the following disclosure, for convenience of explanation, a sensor used by the robot (100) to identify the surrounding environment is referred to as a first sensor, and a sensor for sensing the blind area of the first sensor is referred to as a second sensor. In Fig. 1, a lidar sensor (30) and a depth camera (40) correspond to the first sensors. The first sensor may alternatively be referred to as a main sensor or a basic sensor, and the second sensor may alternatively be referred to as an auxiliary sensor, an additional sensor, or a blind area sensor.
[0039] In Fig. 1, the second sensor (50) is positioned below the first sensor (30, 40) so as to sense the lower rectangular area of the sensing range (10). Based on the sensing value of the second sensor (50), the robot (100) can identify an external object (20) that has fallen on the ground and stop or drive to avoid it.
[0040] The location of the second sensor (50) is not limited to the location shown in FIG. 1, and may be placed in various locations, and one or more sensors may be used.
[0041] The robot (100) can individually generate map data of the space in which the robot (100) is located using the first sensor and the second sensor, respectively. The robot (100) can create a point cloud map by matching each map data into a single map. Since the map data generated using the second sensor (50), which senses the blind spot of the first sensor, is also reflected, a more precise point cloud map can be created. A detailed description of this will be provided below.
[0042] FIG. 2 is a block diagram illustrating the configuration of a robot according to at least one embodiment of the present disclosure.
[0043] According to FIG. 2, the robot (100) includes a driving unit (110), a memory (120), at least one first sensor (130), a second sensor (140), and at least one processor (150). However, the present invention is not limited thereto, and the robot (100) may be implemented in a form in which some components are excluded, or may be implemented in a form in which other components are further included.
[0044] The driving unit (110) is a component for moving the main body of the robot (100). The driving unit (110) may include components such as a plurality of wheels, a driving motor for rotating each of the plurality of wheels, a gear, and a shaft. The plurality of wheels are provided on the lower or side of the main body of the robot (100) and support the main body of the robot (100) from the floor surface. When the driving motor operates and the driving force is transmitted to the plurality of wheels so that each wheel rotates, the robot (100) can move by the frictional force between the floor surface and the wheels. In addition, the driving unit (110) may vary the rotational speed of at least one wheel among the plurality of wheels or adjust the alignment direction of the wheels differently when changing direction. Depending on the type of the robot (100), the weight of the loaded item, or the characteristics of the space where the robot (100) is located (e.g., the roughness of the floor surface, frictional force, etc.), an infinite track or the like may be used instead of the wheels.
[0045] The memory (120) can store at least one command, data, program, etc. required for the operation of the robot (100). For example, the memory (120) can store a map of the space where the robot (100) is located.
[0046] The memory (120) may be implemented in the form of memory embedded in the robot (100) or in the form of memory detachable from the robot (100) depending on the purpose of data storage. For example, data for driving the robot (100) may be stored in a memory embedded in the robot (100), and data for expanding the functions of the robot (100) may be stored in a memory detachable from the robot (100).
[0047] In the case of memory embedded in the robot (100), it may be implemented as at least one of volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM)), non-volatile memory (e.g., one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g., NAND flash or NOR flash), hard drive, or solid state drive (SSD)).
[0048] The memory (120) may be implemented as a single memory that stores data generated in various operations according to the present disclosure, but is not limited thereto, and the memory (120) may be implemented to include multiple memories that each store different types of data or each store data generated in different stages.
[0049] At least one first sensor (130) is configured to obtain various information about the status of the robot (100) or the surrounding environment of the robot (100). The at least one first sensor (130) may include a Lidar sensor (30), a depth camera (40), an IMU (Inertial Measurement Unit) sensor, a ToF (Time of Flight) sensor, etc., as described in FIG. 1. The Lidar sensor (30) projects light (e.g., laser, near-infrared light, visible light, ultraviolet light, etc.) in a 360-degree direction around the robot, detects light reflected by various surrounding objects (e.g., walls, furniture, home appliances, etc.), and outputs sensing information to obtain information about the distance to the surrounding objects. The depth camera (40) is a sensor that projects laser or infrared light onto an external object, receives the returning light using a stereo camera, and measures the distance to the external object in three dimensions to sense depth data. The IMU sensor is a sensor for detecting the movement of the robot (100), and may include at least one of a geomagnetic sensor, an acceleration sensor, and a gyro sensor. The ToF sensor can measure the distance to an external object by using the time (time of flight) for receiving a reflected signal after outputting a signal such as a laser. The second sensor (140) is a configuration provided separately from at least one first sensor. The second sensor (140) is placed on the main body of the robot (100) at a position where it can sense a blind area of at least one first sensor. The second sensor (140) may include at least one of various sensors such as an infrared sensor, an ultrasonic sensor, and a 1D ToF (Time of Flight) sensor.
[0050] For example, the second sensor (140) may be configured as an infrared proximity sensor. The second sensor (140) may be configured with a structure of a transmitter of a VCSEL (Vertical Cavity Surface Emitting Laser) and a receiver of a SPAD (Single Photon Avalanche Diode) among infrared proximity sensors. A VCSEL is a laser device that emits an optoelectronic element, and is a configuration used to detect objects at close range because it has high emission efficiency and allows for precise control. A SPAD is a configuration for detecting photons emitted from a VCSEL.
[0051] In FIGS. 1 and 2, one second sensor (140) is illustrated, but the number and location of the second sensors (140) may vary. For example, in the case of the robot (100) of FIG. 1, since the upper as well as the lower sensing range (10) may be a rectangular area, the second sensor may also be placed on the second body (102) side.
[0052] At least one processor (150) is configured to control the operation of the robot (100). The at least one processor (150) may be implemented as a digital signal processor (DSP) for processing digital signals, a microprocessor, but is not limited thereto, and may include one or more of a central processing unit (CPU), a microcontroller unit (MCU), a microprocessing unit (MPU), a controller, an application processor (AP), a communication processor (CP), an ARM processor, and an artificial intelligence (AI) processor, or may be defined by the relevant terms. In addition, the at least one processor (150) may be implemented as a system on chip (SoC) having a built-in processing algorithm, a large scale integration (LSI), or may be implemented in the form of a field programmable gate array (FPGA). The at least one processor (150) may perform various functions by executing computer executable instructions stored in the memory (120).
[0053] At least one processor (150) may be implemented as a single core processor including one core, or may be implemented as one or more multicore processors including multiple cores (e.g., homogeneous multicores or heterogeneous multicores). When one or more processors are implemented as multicore processors, each of the multiple cores included in the multicore processor may include internal processor memory, such as cache memory or on-chip memory, and a common cache shared by the multiple cores may be included in the multicore processor. In addition, each of the multiple cores (or some of the multiple cores) included in the multicore processor may independently read and execute a program instruction for implementing a method according to an embodiment of the present disclosure, or all (or some) of the multiple cores may be linked to read and execute a program instruction for implementing a method according to an embodiment of the present disclosure.
[0054] At least one processor (150) can control the driving unit (110) to drive in a space where the robot (100) is located. At least one processor (150) can obtain first map data for the space based on the sensing value of at least one first sensor (130) while the robot (100) drives in the space. At least one processor (150) can obtain second map data for the space based on the sensing value of the second sensor (140) while the robot (100) drives in the space.
[0055] At least one processor (150) can store the acquired first map data and second map data in the memory (120). At least one processor (150) can match the first map data and second map data to generate a point cloud map for the space in which the robot (100) is to drive.
[0056] A point cloud map can be a map that expresses the position and shape of an object in a space where a robot (100) is located as a series of points. Each point represents a coordinate in space. In the case of a 3D point cloud map, the value of each point can be expressed as (x, y, z). The point cloud map is used to model the user's real environment and integrate virtual objects in virtual reality (VR) and augmented reality (AR). At least one processor (150) can navigate the space where the robot (100) is located based on the generated point cloud map. Hereinafter, a specific method by which at least one processor (150) generates a point cloud map will be described.
[0057] FIG. 3 is a drawing for explaining a process of generating a point cloud map of a robot according to at least one embodiment of the present disclosure.
[0058] In FIG. 3, the first map data (310) is data for a map generated based on the sensing value of at least one first sensor (130), and the second map data (320) is data for a map generated based on the sensing value of the second sensor (140). Since the second sensor (140) is positioned to sense toward the rectangular area of at least one first sensor (130), the second map data (320) may include objects (31 to 34) that are not included in the first map data (310).
[0059] For example, objects (31 to 34) such as a ledge on the floor, a small object, a human foot, a small pet, an object that has fallen on the floor, etc. may be included in the second map data (320). (Duplicate)
[0060] As described above, when at least one first sensor (130) is implemented as a lidar sensor (30) or a depth camera (40), even if the object is not placed in a square area, if the object is transparent or black, the laser reflection may not occur well and identification may not occur. When the second sensor (140) is an infrared proximity sensor composed of a VCSEL and a SPAD, it can not only supplement the square area of the first sensor (130), but also improve the identification ability for transparent or black objects.
[0061] At least one processor (150) can match the first map data (310) and the second map data (320) to generate one point cloud map (330). For example, the at least one processor (150) obtains a feature vector corresponding to a boundary portion of space within the first map data (310). The at least one processor (150) obtains a feature vector for the second map data (320) in the same manner and then compares the obtained data with each other. The at least one processor (150) identifies points having feature vectors with a similarity within a certain range as matching points, and then performs scaling to adjust the size of at least one of the first map data (310) and the second map data (320) based on the matching points. The at least one processor (150) adds the values of each point within the first map data (310) and each point within the second map data (320) in a state where the sizes are adjusted, thereby generating one point cloud map (330). Accordingly, objects (31 to 34) included only in the second map data (320) can be reflected in the final point cloud map (330).
[0062] Meanwhile, the positions of movable objects, such as people, animals, or robot vacuum cleaners, within a space may change at any time. Therefore, at least one processor (150) can acquire sensing values in real time through the second sensor and then determine in real time the possibility of collision with an external object based on the sensing values. At least one processor (150) can update the point cloud map based on the results of the real-time determination.
[0063] FIG. 4 is a diagram illustrating a process of updating a point cloud map in a robot according to at least one embodiment of the present disclosure.
[0064] In order to process the sensing value of the second sensor (140) in real time, a separate processor may be provided. Specifically, at least one processor (150) may include a first processor for processing the sensing value of at least one first sensor (130) and a second processor for processing the sensing value of the second sensor (140) in real time.
[0065] The second processor can identify the location information of an object within a rectangular area in real time based on the sensing value of the second sensor (140). The second processor can provide the identified location information in real time to the first processor. The first processor can update the point cloud map based on the location information identified in real time by the second processor.
[0066] For example, the first processor may be implemented in the form of an application processor (AP), and the second processor may be implemented in the form of an MCU (Micro Controller Unit).
[0067] Referring to Fig. 4, the position of an object may change within the space where the robot (100) is located, or changes may occur in terrain features. Based on the sensing values of the second sensor (140), the second processor may obtain new second map data (410) reflecting the position information of objects (41-44) that change in real time.
[0068] The second processor can transmit the newly acquired second map data to the first processor. The first processor can obtain updated second map data (410) based on the object location information transmitted from the second processor. The first processor can update the point cloud map (420) by matching the updated second map data (410) with the first map data (310).
[0069]
[0070] *Meanwhile, the driving part of the robot (100) can be controlled based only on the sensing value of the second sensor (140) of at least one processor (150). A detailed description of this will be provided below.
[0071] FIG. 5 is a drawing for explaining a driving control method of a robot according to at least one embodiment of the present disclosure.
[0072] At least one processor (150) can monitor the distance to an object located within a blind spot of at least one first sensor (130) based on the sensing value of the second sensor (140). If the at least one processor (150) identifies that the robot (100) has entered a collision risk range with an object located within the blind spot, the at least one processor (150) can control the driving unit to stop the robot (100).
[0073] At least one processor (150) can monitor the distance to an object (51 to 53) located within a space through a second sensor (140). Since the location of an object located within a space can change in real time, at least one processor (150) can monitor the distance to the object in real time to identify the distance between the robot (100) and the object.
[0074] At least one processor (150) can identify the collision risk range (54 to 57) of each object through the second sensor (140). The collision risk range may be a distance range in which the possibility of collision with an object is greater than a threshold.
[0075] Referring to FIG. 5, it can be seen that a collision risk zone (58) is set around a robot (100) according to an example. The collision risk zone can be set to various sizes and shapes based on the movement speed of the robot (100). FIG. 5 shows a case where the collision risk zone is set to a circle with a radius of about 10 cm to 30 cm based on the robot.
[0076] For example, at least one processor (150) can sense each object (51 to 53) through the second sensor (140) and set a collision risk range (54 to 57) around each object (51 to 53). The collision risk range can be set to various sizes and shapes based on the moving speed of the robot (100). FIG. 5 illustrates a case where each object is set to a circle with a radius of about 10 cm to 30 cm.
[0077] At least one processor (150) can control the driving unit (110) to stop the robot (100) or to drive in an avoidant manner when it is identified that the robot (100) has entered a collision risk range of a specific object while driving.
[0078] That is, at least one processor (150) can identify a collision risk range of an object located in a blind spot of at least one first sensor (130) through a second sensor (140), and, if it is determined that the robot (100) has entered the collision risk range for a specific object, control the driving unit (110) to stop the robot (100).
[0079] Meanwhile, collision with an object can be prevented by varying the collision risk range depending on the speed at which the robot (100) is moving. A detailed description of this will be provided below.
[0080] FIG. 6 is a diagram for explaining a process for updating a collision risk range of an object according to at least one embodiment of the present disclosure.
[0081] At least one processor (150) can update the collision risk range based on the speed at which the robot (100) is moving. At least one processor (150) can store information about the updated collision risk range in the memory (120).
[0082] The slower the robot (100) travels, the easier it is to stop without colliding with a nearby object. In other words, the braking distance of the robot (100) may be shorter. On the other hand, the faster the robot (100) travels within a space, the greater the risk of colliding with a nearby object. In other words, the braking distance of the robot (100) may be longer. Therefore, the risk of collision with an object can be prevented by varying the collision risk range with the object depending on the traveling speed of the robot (100).
[0083] For example, if the robot is moving at a slow speed, the braking distance is short, so it can easily stop in front of an object, and thus the collision risk range can be set to about the size shown in Fig. 5. On the other hand, if the robot (100) is moving at a fast speed, the braking distance is long, so it cannot easily stop in front of an object, and therefore the collision risk range can be set larger in order to stop from a far distance from the object.
[0084] Referring to Fig. 6, when the robot (100) is moving at a high speed, it can be seen that the collision risk range (61-64) of each object (51-53) becomes larger. This is to prevent the collision risk by updating the collision risk range (61-64) of each object (51-53) to be wider, since the braking distance is long due to the high driving speed of the robot (100).
[0085] Contrary to what is shown in Fig. 6, if the driving speed of the robot (100) is slow, the range may be set to a smaller range than the collision risk range (54 to 57) shown in Fig. 5. Accordingly, at least one processor (150) may control the driving unit (110) to stop the robot (100) based on the collision risk range updated through the second sensor (140).
[0086] Meanwhile, in the case of the second sensor (140), it may be placed lower than at least one first sensor (130) in order to sense a blind area that at least one first sensor (130) cannot sense. If the second sensor (140) is placed lower, the sensing range sensed by the second sensor may meet the floor surface, resulting in false detection. To prevent such false detection, the second sensor (140) may be placed tilted upward with respect to the main body of the robot (100). A detailed description thereof will be provided below.
[0087] FIG. 7 is a drawing for explaining the arrangement of a second sensor according to at least one embodiment of the present disclosure.
[0088] The second sensor (140) may be positioned vertically downward relative to the position where at least one first sensor (130) is positioned on the main body of the robot (100). The second sensor (140) may be positioned in a tilted manner so that the sensing direction faces upward relative to the front.
[0089] When the second sensor (140) senses surrounding objects in a direction parallel to the driving direction of the robot, the floor surface may be included within the sensing range (71). This is because the second sensor (140) is positioned vertically lower than at least one first sensor (130), and a case may occur (73) where the sensing range of the second sensor (140) and the floor surface meet. In this case, at least one processor (150) may recognize the floor surface as an obstacle and perform a malfunction, such as a sudden stop.
[0090] Therefore, according to one embodiment of the present disclosure, the second sensor in the robot (100) can be tilted and placed so as to face upward with respect to the front of the sensing direction, so that the floor surface is not sensed by the second sensor.
[0091] At this time, the process of tilting the second sensor (140) can be performed in the manufacturing stage of the robot. Alternatively, if at least one actuator is provided on the lower side of the second sensor (140), at least one processor (150) can automatically change the tilting direction of the second sensor (140) by adjusting the size of the actuator. For example, if an actuator is arranged at each corner of the part where the second sensor (140) is connected to the robot (100), if the processor (150) recognizes that the second map data sensed by the second sensor (140) includes a floor surface, the processor (150) can increase the size of the lower actuator to tilt the second sensor (140) upward.
[0092] The tilting angle of the second sensor (140) is tilted slightly upward from the horizontal direction as shown in FIG. 7, but is not limited thereto and may be tilted at a smaller or larger angle than shown.
[0093] Meanwhile, the second processor can identify object location information within a rectangular area of at least one first sensor (130) in real time based on the sensing value of the tilted second sensor. The first processor can update the point cloud map based on the location information identified in real time by the second processor.
[0094] Meanwhile, there may be mechanical limitations of the robot (100) in the process of tilting the second sensor (140) upward. For example, depending on the placement of the second sensor (140), it may not be tilted too upward, or tilting may not be possible. In such cases, the sensing range of the second sensor (140) can be adjusted to sense objects around the robot (100). A detailed description of this will be provided below.
[0095] FIG. 8 is a diagram for explaining a sensing range adjustment process of a second sensor according to at least one embodiment of the present disclosure.
[0096] At least one processor (150) can reduce the sensing range of the second sensor (140) if the floor surface on which the robot (100) is driving is included within the sensing range of the second sensor (140). At least one processor (150) can obtain second map data based on the sensing value sensed by the second sensor (140) within the reduced sensing range.
[0097] Referring to Fig. 8, while the robot (100) is moving, the sensing range (81) sensed by the second sensor (140) may meet the floor surface (83). Since the content of the sensing range of the second sensor (140) meeting the floor surface has been described in the above-described section, it will be omitted.
[0098] At least one processor (150) can adjust the sensing range to prevent false detection caused by the sensing range (81) of the second sensor (140) meeting the floor surface (83). For example, if a malfunction occurs, such as the robot stopping even though there is no object around it while the robot is moving, when a user discovers this, the setting values for the sensing range of the robot (100) can be changed. At least one processor (150) can reduce the sensing range of the second sensor compared to the existing range (81) according to the changed setting value. Therefore, the robot (100) can sense objects in the surroundings based on the reduced sensing range (82).
[0099] Meanwhile, if a false detection that contacts the floor surface continues to occur even when the sensing range (82) of the second sensor (140) is reduced, at least one processor (150) can reduce the sensing range of the second sensor (140) once again. In addition, if an object located on the floor surface is not identified with the reduced sensing range, at least one processor (150) can expand the sensing range of the second sensor. In this way, at least one processor (150) can adjust the sensing range of the second sensor (140) based on data sensed while the robot is moving.
[0100] Meanwhile, the second sensor (140) may be affected by static electricity rising from the floor surface because it is positioned on the lower side of the robot (100) body. Therefore, the second sensor can be positioned together with an anti-static element to prevent the influence of static electricity. A detailed description of this will be provided below.
[0101] FIG. 9 is a drawing for explaining an anti-static process of a second sensor according to at least one embodiment of the present disclosure.
[0102] The robot (100) further includes an anti-static element for discharging static electricity generated from the floor surface on which it runs. The anti-static element may be positioned adjacent to the second sensor (140). The second sensor (140) may be positioned to protrude outward from the anti-static element.
[0103] Referring to Fig. 9, the second sensor (140) may be positioned to protrude outward together with the anti-static element (92). Since the second sensor (140) is positioned on the lower side of the robot (100), it may be vulnerable to static electricity (94) rising from the floor surface. The second sensor (140) may be positioned on the PCB (Printed Circuit Board) surface of the robot body (100). At this time, the PCB surface is electrically connected and may be affected by static electricity rising from the floor surface. If the second sensor (140) is affected by static electricity, external noise may be added to the sensing value sensed by the sensor, and the sensor may be damaged or malfunctioned.
[0104] Accordingly, by attaching an anti-static element (92) on the PCB substrate (93) to which the sensor is attached, static electricity absorption can be induced so that the static electricity rising from the bottom surface can be absorbed by the anti-static element (92) rather than the second sensor (140). In addition, if the second sensor (140) is arranged in a structure in which it is embedded within the outer wall (91) of the device, it may be affected by static electricity even if the anti-static element (92) is attached, so the second sensor (140) can be arranged to protrude outside the main body of the robot (100).
[0105] FIG. 10 is a drawing for explaining the structure of a robot according to at least one embodiment of the present disclosure.
[0106] The robot (100) may further include a first body, a second body spaced apart from the first body, and a support member supporting the second body on the first body. At least one first sensor may include a lidar sensor and a depth camera positioned within a spaced apart space formed between the first body and the second body. The second sensor may include an infrared proximity detection sensor positioned on the first body.
[0107] In FIG. 1, the support (103) was arranged only on one side of the space between the first body (101) and the second body (102), but FIG. 10 shows a case where the support (1030) is implemented in the form of multiple pillars distributed on the edge side of the first body (1010) and the second body (1020).
[0108] At least one first sensor (130) may be placed in the center within the space between the first body (1010) and the second body (1020). A second sensor (140) may be placed vertically to the at least one first sensor (130) on the lower side of the robot (100) body, i.e., in front and behind, or in front, behind, and on both sides of the first body (1010). Here, at least one first sensor (130) may include a lidar sensor and a depth camera. The second sensor (140) may include an infrared proximity detection sensor.
[0109] As at least one first sensor (130) is positioned in a spaced area, the area covered by the support (1030) and the vertical lower side of at least one first sensor (130) can become a square area. Accordingly, by positioning the second sensor (140) in the area or lower side where the support (1030) is located, the sensing range of at least one first sensor (130) can be assisted.
[0110] Various cases in which the second sensor (140) is placed on the robot (100) will be described below.
[0111] FIGS. 11A to 11C are drawings for explaining the sensor arrangement of a robot according to at least one embodiment of the present disclosure.
[0112] FIGS. 11A to 11C illustrate various examples of how at least one first sensor (130) and a second sensor (140) are arranged in various robot structures.
[0113] FIG. 11a shows the robot illustrated in FIG. 10, in which two second sensors (140-1 to 140-4) are arranged in front and rear of the robot (100) to sense a blind area that at least one first sensor (130) cannot sense. FIG. 11a shows a state in which the first sensor (130) is positioned at the center, and support members (1030) are arranged at each corner of the first body (1010). In this case, a blind area of the first sensor (130) can be formed toward each corner due to the support members (1030).
[0114] FIG. 11b shows the robot illustrated in FIG. 1, in which the support member (103) is a single structure arranged on one side of the first body (101), and the first sensor (130) is arranged in an area close to the support member (103) in the remaining area on the first body (101). According to FIG. 11b, the rearward direction of the first sensor (130) may become a square area due to the support member (1030). In the case of this structure, if the second sensors (140-5, 140-6) are arranged on both sides of the rearward area that at least one first sensor (130) cannot sense, the square area that at least one first sensor (130) cannot sense can be sensed.
[0115] FIG. 11c is a robot illustrated in FIG. 10, in which a second sensor (140-7 to 140-10) is positioned below a square area created by a support member to sense a square area that at least one first sensor (130) cannot sense.
[0116] Although various sensor structures are illustrated in FIGS. 11A to 11C, they are not limited thereto, and at least one first sensor (130) and second sensor (140) may be placed at any location of the robot (100).
[0117] FIG. 12 is a flowchart illustrating the overall operation process of a robot according to at least one embodiment of the present disclosure.
[0118] According to FIG. 12, the robot scans the surrounding environment using at least one first sensor (S1210) to obtain lidar data and generates first map data of a point cloud (S1211). The robot scans proximity data around the robot using a second sensor (S1212) and generates second map data of a point cloud using the scan data (S1213). These two processes may occur simultaneously or sequentially. Thereafter, the robot aligns the first map data and the second map data into a single point cloud map (S1214). The robot recognizes the locations of surrounding objects based on the aligned point cloud map (S1215) and reflects the locations of obstacles in the path plan (S1216). The robot decelerates or stops (S1217) when there is a risk of collision on the driving path.
[0119] Meanwhile, the robot can acquire distance data through a second sensor (S1218). The robot checks whether an obstacle has entered a designated collision risk area using only the data acquired from the second sensor (S1219), and stops the motor rotation when entering the collision risk area (S1220).
[0120] The robot can perform safe stop or advance avoidance driving based on the point cloud map and distance data acquired by the second sensor (S1221).
[0121] FIG. 13 is a flowchart for explaining a driving control method of a robot according to at least one embodiment of the present disclosure.
[0122] Referring to FIG. 13, the robot acquires and stores first map data for a space in which the robot is driving based on sensing values sensed by at least one first sensor disposed on the robot while the robot is driving (S1310). The robot acquires and stores second map data for the space based on sensing values sensed by a second sensor disposed to sense a blind area of at least one first sensor while the robot is driving (S1320). The robot matches the first map data and the second map data to generate a point cloud map for the space (S1330). The robot drives based on the point cloud map (S1340).
[0123] The method of matching the first map data and the second map data to create a point cloud map and driving based on the point cloud map has been specifically described in the various embodiments described above, so a duplicate description will be omitted.
[0124] The control method described in Fig. 13 can be performed by a robot (100) having the configuration of Fig. 2 described above, but is not necessarily limited thereto, and can also be performed by an electronic device having various configurations.
[0125] The various embodiments described above may be implemented as a single embodiment, or at least one of the embodiments may be combined in whole or in part to be implemented together in one device.
[0126] According to the various embodiments described above, the robot is able to drive more precisely by using a proximity sensor to sense blind areas that the main sensor cannot sense.
[0127] Meanwhile, the various embodiments described above may be applied to a product as an embodiment alone, but at least some of the contents may be implemented in combination with other embodiments of the present disclosure.
[0128] The various embodiments described above can be implemented as software including instructions stored in a machine-readable storage medium that can be read by a machine (e.g., a computer). The machine is a device that can call instructions stored in the storage medium and operate according to the called instructions, and may include an electronic device (e.g., a robot (100)) according to the disclosed embodiments. When an instruction is executed by a processor, the processor can perform a function corresponding to the instruction directly or by using other components under the control of the processor. The instruction may include code generated or executed by a compiler or interpreter. The machine-readable storage medium can be provided in the form of a non-transitory computer-readable storage medium. Here, 'non-transitory' means that the storage medium does not contain a signal and is tangible, but does not distinguish between data being stored semi-permanently or temporarily in the storage medium.
[0129] Additionally, according to one embodiment of the present disclosure, the method according to the various embodiments described above may be provided as included in a computer program product.
[0130] Specifically, a non-transitory readable storage medium or a computer program product storing computer instructions for causing the robot to perform an operation including a step of obtaining and storing first map data for a space in which the robot is driving based on a sensing value sensed by at least one first sensor disposed on the robot while the robot is driving, a step of obtaining and storing second map data for the space based on a sensing value sensed by a second sensor disposed to sense a blind area of the at least one first sensor while the robot is driving, a step of matching the first map data and the second map data to create a point cloud map for the space, and a step of driving based on the point cloud map may be provided.
[0131] The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or online through an application store (e.g., Play Store™). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created in a storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0132] In addition, computer instructions or programs for performing the robot driving control method according to the various embodiments described above may be stored in a non-transitory computer-readable medium. The computer instructions stored in such a non-transitory computer-readable medium, when executed by a processor of a specific device, cause the specific device to perform processing operations in the device according to the various embodiments described above. A non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as a register, cache, or memory. Specific examples of non-transitory computer-readable media may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, or ROM.
[0133] Although the preferred embodiments of the present disclosure have been illustrated and described above, the present disclosure is not limited to the specific embodiments described above, and various modifications may be made by a person skilled in the art to which the present disclosure pertains without departing from the gist of the present disclosure as claimed in the claims, and such modifications should not be understood individually from the technical idea or prospect of the present disclosure.
Claims
1. In robots, driving part; memory; At least one first sensor; a second sensor arranged to sense a square area of at least one first sensor; and comprising at least one processor; At least one processor, Control the driving unit to drive in the space where the robot is located, While the robot is driving in the space, the robot acquires first map data and second map data for the space based on sensing values sensed by at least one first sensor and the second sensor, respectively. Store the first and second map data in the memory, A robot that matches the first map data and the second map data to create a point cloud map for the space in which the robot is to drive.
2. In paragraph 1, At least one processor, Monitor the distance to an object located within the rectangular area based on the sensing value of the second sensor, A robot that controls the driving unit to stop the robot when it is identified that the robot has entered a collision risk range for an object located in the rectangular area.
3. In paragraph 2, At least one processor, A robot that updates the collision risk range based on the speed at which the robot is running, and stores information about the updated collision risk range in the memory.
4. In paragraph 1, At least one processor, a first processor for processing the sensing value of at least one first sensor; and A second processor for processing the sensing value of the second sensor in real time; The second processor, Identify the location information of an object within the rectangular area in real time based on the sensing value of the second sensor, The above first processor, A robot that updates the point cloud map based on location information identified in real time by the second processor.
5. In paragraph 1, The second sensor is positioned vertically downward relative to the position where the first sensor is positioned on the main body of the robot, The second sensor is a robot tilted so that the sensing direction faces upward with respect to the front.
6. In paragraph 5, At least one processor, If the floor surface on which the robot is driving is included within the sensing range of the second sensor, the sensing range of the second sensor is reduced, A robot that acquires the second map data based on the sensing value sensed by the second sensor within the reduced sensing range.
7. In paragraph 6, It further includes an anti-static element for discharging static electricity generated from the floor surface on which the robot runs; The above anti-static element is placed adjacent to the second sensor, A robot wherein the second sensor is positioned to protrude outward from the anti-static element.
8. In paragraph 1, First body; A second body spaced apart from the first body; Further comprising a support member supporting the second body on the first body; At least one of the first sensors, Including a lidar sensor and a depth camera positioned within a separation space formed between the first body and the second body, A robot wherein the second sensor comprises an infrared proximity detection sensor located on the first body.
9. In the method of controlling the driving of a robot, A step of obtaining and storing first map data for a space in which the robot is driving based on a sensing value sensed by at least one first sensor disposed on the robot while the robot is driving; A step of acquiring and storing second map data for the space based on a sensing value sensed by a second sensor arranged to sense a blind area of at least one first sensor while the robot is driving; A step of creating a point cloud map for the space by matching the first map data and the second map data; and A driving control method, comprising: a step of driving based on the above point cloud map.
10. In paragraph 9, A step of monitoring the distance to an object located within the rectangular area based on the sensing value of the second sensor; and A driving control method further comprising a step of stopping the robot when it is determined that the robot has entered a collision risk range for an object located in the square area.
11. In paragraph 10, The step of stopping the above robot is: A step of updating the collision risk range based on the speed at which the robot is running; and A driving control method further comprising a step of stopping the robot when the robot enters the updated collision risk range.
12. In paragraph 9, The steps for generating the above point cloud map are: A step of identifying the location information of an object within the rectangular area in real time based on the sensing value of the second sensor; A driving control method further comprising: a step of updating the point cloud map based on location information identified in real time based on the sensing value of the second sensor.
13. In paragraph 9, A driving control method further comprising a step of tilting the second sensor so that the sensing direction of the second sensor faces upward with respect to the front.
14. In paragraph 13, A driving control method further comprising: a step of reducing the sensing range of the second sensor when the floor surface on which the robot is driving is included within the sensing range of the second sensor; 15. A non-transitory computer-readable storage medium storing computer instructions that, when executed by a processor of the robot, cause the robot to perform an action, wherein the action is: A step of obtaining and storing first map data for a space in which the robot is driving based on a sensing value sensed by at least one first sensor disposed on the robot while the robot is driving; A step of acquiring and storing second map data for the space based on a sensing value sensed by a second sensor arranged to sense a blind area of at least one first sensor while the robot is driving; A step of creating a point cloud map for the space by matching the first map data and the second map data; and A non-transitory computer-readable storage medium, comprising: a step of driving based on the above point cloud map.
Citation Information
Patent Citations
Mobile human interface robot
JP2015092348A
Autonomous mobile platform
KR100901311B1
The fencing sense apparatus for robot
KR101021268B1
Path Planning System and Method
KR101382982B1
Anti-inflammatory and anti-oxidant composition containing polydeoxyribonucleotide derived from seaweed.
KR1020240134666A