METHOD AND SYSTEM FOR REAL-TIME PATH GENERATION FOR ROBOT TURNING
The method and system for real-time path generation in mobile robots address the challenge of corner navigation by generating a corner turning path that avoids obstacles and secures sensor visibility, enhancing safety and adaptability.
Patent Information
- Application Number
- DE102025124789
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-11-25
- Filing Date
- 2025-06-26
- Publication Date
- 2026-05-28
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL AREA
[0001] The present disclosure relates to a method and system for real-time path generation for turning (corner-turning) a robot. BACKGROUND
[0002] The facts described in this section “Background” serve only to provide a better understanding of the background of the disclosure and are not to be understood as an acknowledgment that they correspond to a prior art already known to the person skilled in the art.
[0003] The use of mobile robots, such as indoor / outdoor delivery robots, service robots, and patrol robots, is increasing. Most of these mobile robots can perform tasks using autonomous driving technology. For a mobile robot to autonomously travel from its current location to a destination, real-time path planning technology capable of actively avoiding obstacles is desirable. Furthermore, there is a growing need for technology that can prevent collisions with obstacles located in areas that are difficult for sensors to detect in advance, such as when turning.
[0004] When a mobile robot attempts to turn a corner, unless programmed with a specific cornering strategy, it follows a route (a path) that runs relatively close to the corner to take the shortest route. In this case, it can be difficult to ensure safety from an object approaching from the area on the opposite side of the corner, which is difficult for sensors to detect.
[0005] In one example of a robot turning procedure, the robot can slow down or temporarily stop while turning and then continue. However, such a procedure cannot fundamentally prevent collisions with objects approaching from the opposite side of the corner.
[0006] In another example of a robot turning procedure, a route can be predefined that makes a large turn at each corner, and the robot can follow this route. However, such a procedure may require a route to be predefined for every corner and lacks flexibility in responding to constantly changing environments. In particular, it can be difficult to handle situations where an unexpected obstacle is encountered along the predefined route.
[0007] Furthermore, even when following a route that goes around a corner, the robot's direction of travel follows the forward direction of the route in such a way that it is difficult to react in advance to an obstacle approaching from the opposite side of the corner. OVERVIEW
[0008] The present disclosure attempts to provide a method and system for real-time path generation for turning a robot that can ensure the safety of objects approaching from the opposite side of a corner by generating, using real-time obstacle information, a path (a route) that makes a large turn around the corner and ensures a field of view for an area opposite the corner.
[0009] According to the present disclosure, a method performed by a robot's device comprises generating a cost map of the robot's environment using a raster map and information about an obstacle detected by a sensor of the robot, wherein the environment is within a threshold distance from the robot; generating a shortest avoidance path from the robot's current position to a target using the cost map, wherein the shortest avoidance path avoids the obstacle; detecting a restricted area that lies outside a sensor scanning area detected by the sensor at the robot's current position; detecting an entry point into the restricted area using the shortest avoidance path and the restricted area; generating a corner turning path using the shortest avoidance path and the entry point into the restricted area; and determiningwhether a sensor's field of view is ensured in each preset time interval, generating, based on determining, a final path from the shortest avoidance path or the corner turning path, outputting a signal indicating the final path, and controlling the robot's movement based on the signal.
[0010] The procedure may include detecting the entry point into the restricted area, checking for each node sequentially contained in the shortest avoidance path from the robot's current position to the target whether the node belongs to the sensor scanning area or the restricted area, and identifying the first node transitioning from the sensor scanning area to the restricted area as the entry point into the restricted area.
[0011] The procedure may include determining whether the field of view is secured, which involves: defining a specific section after the point of entry into the blocked area as the blocked area of interest, accumulating the area of blocked interest to generate an accumulated blocked area of interest, where the blocked area of interest is accumulated from an initial time to a current time, and where the initial time is a time at which the shortest escape path is generated, and determining whether the accumulated blocked area of interest is detected by the sensor.
[0012] The procedure may include determining whether the field of view is secured, whereby the field of view is determined to be secured if the accumulated blocked area of interest is fully recognized, or the field of view is determined to be unsecured if the accumulated blocked area of interest is partially recognized.
[0013] The procedure may include generating the shortest evasive path or corner turning path as the final path, based on the determination that the field of view has been secured, generating the shortest evasive path as the final path.
[0014] The procedure may include generating the shortest evasive path or the corner turn path as the final path, based on the finding that the field of view has not been secured, and generating the corner turn path as the final path.
[0015] The procedure may include controlling the robot's movement along the final path.
[0016] The procedure may include, further comprising: assigning a direction of travel to each final node contained in the final path, setting a target direction of travel for each final node based on the final path and direction of travel, and controlling the sensor's field of view based on the target direction of travel.
[0017] The procedure may include assigning a direction of travel by assigning a direction to a location that is ahead on the final path by a preset distance, or to a final node that is ahead by a preset number of nodes, as the direction of travel for each final node.
[0018] The procedure may include determining the desired direction of travel by setting the desired direction of travel based on a driving state of the robot, either by adding an additional distance to a preset distance assigned to each final node or by adding an additional number to a preset number assigned to each final node.
[0019] According to the present disclosure, a robot device comprises a processor and a memory that stores at least one instruction which, when executed by the processor communicating with the memory, causes the device to, using a sensor of the robot, acquire sensor data within a field of view of the sensor and, based on a raster map and the sensor data, to generate a cost map of the robot's environment, wherein the environment is within a threshold distance from the robot, to generate, based on the cost map, a shortest avoidance path from a current position of the robot to a target such that the shortest avoidance path avoids an obstacle, wherein the obstacle is detected based on the sensor data, and to detect a restricted area that is outside a sensor scanning area detected by the sensor at the current position of the robot.to detect an entry point into the restricted area based on the shortest avoidance path and the restricted area, to generate a corner turning path based on the shortest avoidance path and the entry point into the restricted area, to determine whether a sensor's field of view is secured in each preset time interval, to generate the shortest avoidance path or the corner turning path as the final path based on this determination, to output a signal indicating the final path, and to control the robot's movement based on this signal.
[0020] The device may include the fact that the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to determine the entry point into the restricted area by sequentially checking, for each node contained in the shortest avoidance path, from the current position of the robot to the target, whether the node belongs to the sensor scanning area or the restricted area, and by identifying a first node that transitions from the sensor scanning area into the restricted area as the entry point into the restricted area.
[0021] The device may include the fact that the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to determine whether the field of view is secure by defining a specific section after the entry point into the blocked area as the blocked area of interest, accumulating the blocked area of interest to create an accumulated blocked area of interest, wherein the blocked area of interest is accumulated from an initial time to a current time, and wherein the initial time is a time at which the shortest escape path is generated, and determining whether the accumulated blocked area of interest is detected by the sensor.
[0022] The device may include the provision that, when executed by the processor communicating with the memory, at least one instruction is configured to cause the device to determine, based on the fully detected accumulated blocked area of interest, that the field of view is secured, and, based on the partially detected accumulated blocked area of interest, to determine that the field of view is not secured.
[0023] The device may include the provision that at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device, based on the determination that the field of view has been secured, to generate the shortest escape path as the final path.
[0024] The device may include the provision that, when executed by the processor communicating with the memory, at least one instruction is configured to cause the device to generate the corner turn path as the final path based on the detection that the field of view has not been secured.
[0025] The device may include the provision that at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to control the robot's movement along the final path.
[0026] The device may include at least one instruction, when executed by the processor communicating with the memory, that is configured to cause the device to assign a direction of travel to each final node contained in the final path, to determine a desired direction of travel for each final node based on the final path and the direction of travel, and to control the sensor's field of view based on the desired direction of travel.
[0027] According to the present disclosure, a method performed by a device of a vehicle comprises acquiring information about the vehicle's environment, generating a path for the movement (propulsion) of the vehicle based on the acquired information, identifying an area along the path, determining whether the area lies entirely within a detection range (scanning range) of a sensor, adjusting the path based on determining whether the area is entirely within the detection range, outputting a signal indicating the adjusted path, and controlling the movement of the vehicle based on the signal.
[0028] The procedure may include identifying the area by: identifying an entry point into the restricted area where the path transitions from a sensor scanning area to an area not currently detected by the sensor, and defining the area as a restricted area of interest that includes part of the path after the entry point into the restricted area, wherein the vehicle includes a robot.
[0029] Further effects that can be achieved or are predicted from an example in this revelation are described explicitly or implicitly in a detailed description of the example in this revelation. For example, various effects predicted from an example in this revelation are described in the following detailed description. BRIEF DESCRIPTION OF THE DRAWING FIGURES
[0030] Examples of the present disclosure can be better understood with reference to the following description in conjunction with the accompanying drawings, in which the same reference symbols denote the same or functionally similar elements: Fig. Figure 1 shows an example of a real-time path generation system for turning a robot according to an example of the present disclosure; Fig. Figure 2 shows an example of generating a shortest escape route using a cost map; Fig. Figure 3 shows an example of detecting an entry point into the restricted area using the shortest escape path. Fig. 2; Fig. Figure 4 shows an example of generating a corner turning path using a cost map; Fig. 5, Fig. 6, Fig. 7, Fig. 8 to Fig. Figure 9 shows an example of a process for accumulating an area of blocked interest over time, wherein: Fig. Figure 5 shows an example of detecting an entry point into a restricted area at an initial time t0; Fig. Figure 6 shows an example of an accumulated locked area of interest that has been accumulated up to a first time t1; Fig. Figure 7 shows an example of an accumulated locked area of interest up to a second time t2; Fig. Figure 8 shows an example of an accumulated blocked area of interest up to a third time point t3; and Fig. Figure 9 shows an example of an accumulated blocked area of interest that was accumulated up to a fourth time point t4; Fig. Figure 10 shows an example of selecting a path based on whether a field of view has been secured; and Fig. Figure 11 shows an example of a real-time path generation method for turning a robot according to another example of the present disclosure.
[0031] Note that the drawings mentioned above are not necessarily to scale and show somewhat simplified representations of various preferred features that illustrate the basic principles of this disclosure. Specific design features of this disclosure, insofar as they are included herein, including, for example, specific dimensions, orientations, positions, and shapes, are partly determined by the intended application and the operating environment. DETAILED DESCRIPTION
[0032] The terms used herein serve to describe specific examples and are not intended to limit the present disclosure. Unless the context clearly requires otherwise, the singular forms used in this description also include the plural forms. It is further understood that the terms "include" and / or "include" used in this description denote the presence of the specified features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, components, and / or combinations thereof. Where used herein, the term "and / or" includes any or all combinations of one or more of the listed elements.
[0033] For the purposes of this application and the claims, the use of the exemplary phrase "at least one of: A; B; or C" or "at least one of A, B or C" means "at least one A or at least one B or at least one C or any combination of at least one A, at least one B and at least one C". Furthermore, exemplary expressions such as "A, B or C", "at least one of A, B and C", "at least one of A, B or C", etc., as used herein, may mean any of the listed elements or all possible combinations of the listed elements. For example, "at least one of A or B" may refer to (1) at least one A, (2) at least one B, or (3) at least one A and at least one B.
[0034] The term "robot" or other similar terms as used herein may encompass general land-mobile robots such as passenger cars, including sport utility vehicles (SUVs), buses, trucks, various commercial vehicles; marine-mobile robots such as various boats and ships; air-mobile robots such as airplanes and drones; and any object that can be moved by drawing energy from a power source. It is understood that the term "robot" or other similar terms, as used herein, may include hybrid robots, electrically powered robots, plug-in hybrid robots, hydrogen-powered robots, and other robots using alternative fuels (e.g., fuels derived from resources other than petroleum). As used herein, hybrid robots may include robots with two or more power sources, for example, gasoline-powered and electrically powered robots.A robot according to an example in the present disclosure may include a robot that is controlled autonomously in some way, as well as a robot that is completely autonomous or is controlled automatically.
[0035] Furthermore, it is understood that one or more of the following methods, or examples thereof, can be executed by at least one control unit (here also referred to as a controller). The term "control unit" ("controller") can refer to a hardware device comprising memory and a processor. The memory is configured to store program instructions, and the processor is specifically programmed to execute program instructions to perform one or more of the processes described in more detail below. The control unit / controller can control the operation of units, modules, components, devices, or similar elements as described herein. It is further understood that the following procedures can be performed by an apparatus comprising the control unit together with one or more other components, as recognized by those skilled in the art.
[0036] Furthermore, according to the present disclosure, the controller can be implemented as a non-volatile, computer-readable recording medium containing program instructions that can be executed by a processor. Examples of computer-readable recording media include read-only memory (ROM), random-access memory (RAM), compact disc (CD) ROM, magnetic tapes, floppy disks, flash drives, smart cards, and optical data storage devices, but the computer-readable recording medium is not limited to these. The computer-readable recording medium can also be distributed over a computer network, so that program instructions are stored and executed by a distributed method such as a telematics server or a controller area network (CAN).
[0037] In the present disclosure, the “module” or “unit” may be implemented as a processor and memory. The term “processor” should be broadly defined and include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a microcontroller, a state machine, or the like. In some contexts, the term “processor” may refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field-programmable gate array (FPGA), and the like. For example, the term “processor” may refer to a combination of processing devices, such as a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or any other such combination.Furthermore, the term "memory" should be broadly defined and encompass any electronic component capable of storing electronic information. "Memory" can refer to various types of processor-readable media, such as random-access memory (RAM), read-only memory (ROM), non-volatile random-access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage devices, and registers. If the processor can read information from memory and / or record information in memory, the memory can be in a state of electronic communication with the processor. Memory integrated into a processor is in a state of electronic communication with the processor.
[0038] The one or more functions described herein can be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium can either permanently store a computer-executable program or temporarily store the program for execution or download. Furthermore, the medium can be a variety of recording or storage media in the form of a single hardware device or several combined hardware devices and is not limited to media directly connected to a computer system, but can also be distributed over a network.Examples of such media include magnetic media such as a hard drive, floppy disk, or magnetic tape; optical recording media such as a CD-ROM or DVD; magneto-optical media such as a floppy disk; and ROM, RAM, or flash memory configured, among other things, to store program instructions. Further examples of such media include media or storage media managed by an app store that distributes applications, or by various other websites or servers that provide or distribute software.
[0039] In a hardware implementation, the processing units used to perform the techniques may be implemented in one or more ASICs, DSPs, digital signal processing devices, programmable logic devices, field-programmable gate arrays, processors, controllers, microcontrollers, microprocessors, electronic devices, or computers, or combinations thereof, designed to perform the functions described in this disclosure. The level of automation of an autonomous vehicle may be classified according to the American Society of Automotive Engineers (SAE) as follows. At autonomous driving level 0, the SAE classification standard may correspond to "no automation," where an autonomous driving system temporarily intervenes in emergency situations (e.g., automatic emergency braking) and / or only issues warnings (e.g., blind spot warning, lane departure warning (lane keeping assist), etc.).) and the driver is expected to operate the vehicle. At Level 1 autonomous driving, the SAE classification standard may correspond to "driver assistance," where the system takes over some driving functions (e.g., steering, accelerating, braking, lane keeping, adaptive cruise control, etc.) while the driver controls the vehicle during normal operation, and the driver is expected to determine the system's operating state and / or timing, perform other driving functions, and handle (e.g., resolve) emergency situations. At Level 2 autonomous driving, the SAE classification standard may correspond to "partial automation," where the system takes over steering, accelerating, and / or braking under the driver's supervision, and the driver is expected to determine the system's operating state and / or timing, perform other driving functions, and handle (e.g., resolve) emergency situations.At Level 3 autonomous driving, the SAE classification standard may correspond to "conditional automation," where the system drives the vehicle under certain conditions (e.g., performing driving functions such as steering, accelerating, and / or braking), but hands over control to the driver if the required conditions are not met. The driver is expected to determine the operating state and / or timing of the system and to take control in emergencies, but otherwise does not operate the vehicle (e.g., steer, accelerate, and / or brake). At Level 4 autonomous driving, the SAE classification standard may correspond to "high automation," where the system performs all driving functions and the driver only needs to take control of the vehicle in emergencies.At Level 5 autonomous driving, the SAE classification standard may correspond to "full automation," where the system performs all driving functions without any assistance from the driver, even in emergency situations, and the driver is not expected to perform any driving functions other than determining the system's operating state. Although the present disclosure may apply the SAE classification standard for classifying autonomous driving, other classification methods and / or algorithms may be used in one or more of the configurations described herein.
[0040] One or more features associated with autonomous driving control can be activated based on configured autonomous driving control settings (e.g., based on at least one of the following features: an autonomous driving classification, a selection of an autonomous driving level for a vehicle, etc.). Based on one or more of the features described herein (e.g., the "corner turning" feature), vehicle operation can be controlled. Vehicle control can include various vehicle-related operational controls (e.g., autonomous driving control, sensor control, brake control, braking time control, acceleration control, acceleration rate change control, alarm time control, forward collision warning time control, etc.).
[0041] One or more auxiliary devices (e.g. engine brake, exhaust brake, hydraulic retarder, electric retarder, regenerative brake, etc.) can also be controlled, for example, based on one or more of the features described herein (e.g. corner turning feature (cornering, turning)).
[0042] One or more communication devices (e.g., a modem, a network adapter, a radio transceiver, an antenna, etc., which use one or more wired or wireless communication protocols such as Ethernet, Wi-Fi, Near Field Communication (NFC), Bluetooth, Long-Term Evolution (LTE), 5G New Radio (NR), Vehicle-to-Everything (V2X), etc.) can also be controlled, for example, based on one or more of the features described herein (e.g., the feature of turning).
[0043] Minimal-risk maneuvers (MRM) can also be controlled, for example, based on one or more of the features described here (e.g., corner turning). A minimal-risk maneuver can be a vehicle maneuver to minimize (e.g., reduce) the risk of collision with surrounding vehicles in order to achieve a state of reduced (e.g., minimal) risk. A minimal-risk maneuver can also be an operation that can be activated during autonomous driving when a driver is unable to respond to a prompt to intervene. During the minimal-risk maneuver, one or more of the vehicle's processors can control the vehicle's driving process for a defined period.
[0044] Influenced driving maneuvers can also be controlled, for example, by one or more of the features described herein (e.g., the corner turning feature). A driving control device can perform influenced driving control. To perform influenced driving, the driving control device can control the vehicle to travel in a lane by maintaining a lateral distance between the vehicle's center position and the center of the lane. For example, the driving control device can control the vehicle to remain in the lane but not in the center of the lane. The driving control device can identify or determine an influenced target lateral distance for the influenced driving control.An influenced target lateral distance can, for example, include an intentionally adjusted lateral distance that a vehicle attempts to maintain from a reference point, such as the center of a lane or another vehicle, during maneuvers like lane changes. This adjustment can be made to improve the vehicle's stability, safety, and / or performance under changing driving conditions, etc. For example, during a lane change, the vehicle control system may influence the lateral distance to maintain a safer distance from adjacent vehicles, taking into account factors such as the vehicle's speed, road conditions, and / or the presence of obstacles, etc.
[0045] One or more sensors (e.g., IMU sensors, camera, LiDAR, radar, blind spot sensor, lane keeping assist, parking sensor, light sensor, rain sensor, traction control sensor, anti-lock braking system sensor, tire pressure sensor, seat belt sensor, airbag sensor, fuel sensor, exhaust gas sensor, throttle position sensor, inverter, converter, motor control unit, power distribution unit, high-voltage wiring and connectors, auxiliary power modules, charging interface, etc.) can also be controlled, for example, based on one or more of the features described here (e.g., the cornering feature). An operational control system for the autonomous driving of the vehicle can include various driving controls of the vehicle by the vehicle control device (e.g.,Acceleration, deceleration, steering control, gear shift control, brake control, traction control, stability control, speed control, lane keeping assist control, collision avoidance system control, emergency brake assist control, traffic sign recognition control, adaptive headlight control, etc.).
[0046] Fig. Figure 1 shows an example of a real-time path generation system for turning a robot according to an example of the present disclosure.
[0047] As in Fig. As shown in Figure 1, a real-time path generation system for turning a robot 50 according to an example of the present disclosure can comprise a sensor unit 10, a control unit 20 and a robot 50.
[0048] The sensor unit 10 can be attached to the robot 50 and may include any sensor capable of detecting an obstacle within its field of view, such as a light detector and rangefinder (LiDAR), a camera, or a radar rangefinder (radar) (e.g., ultrasonic sensors, stereo cameras, infrared sensors, or depth sensors, etc.). Here, the term "obstacle" or similar terms can refer to an object such as a building, wall, or person that impedes the movement of the robot 50 or that the robot 50 cannot pass (e.g., furniture, parked vehicles, glass walls, or pillars, etc.). The term "obstacle" or similar terms can also refer to an object that occupies physical space and is located within a certain height of the robot 50.The sensor unit 10 can be connected in such a way that it transmits data to the control unit 20, and can transmit sensor data 68, which are captured within the field of view, to the control unit 20 for further processing, such as obstacle detection, area classification or path planning.
[0049] The control unit 20 can receive sensor data 68 from the sensor unit 10, generate a path for the autonomous driving of the robot 50 based on the sensor data 68, and control the autonomous driving of the robot 50 according to the generated path (e.g., by issuing driving, steering, or course adjustment commands, etc.). For this purpose, the control unit 20 can be implemented by one or more processors that operate according to a defined program, and the defined program can be programmed to execute each step of a real-time path generation procedure for turning the robot 50 according to an example of the present disclosure (e.g., path generation, direction assignment, area analysis, or decision logic, etc.).The control unit 20 can include an obstacle detection unit 22, a shortest avoidance path generation unit 26, a restricted area detection unit 24, an entry point detection unit 28, a corner turning path generation unit 30, a unit 32 for accumulating restricted areas of interest, a sight angle protection determination unit 34, a path selection unit 36, and a path tracking unit 42 (e.g., implemented as software modules, firmware components, or hardware accelerators, etc.).
[0050] The obstacle detection unit 22 can detect the obstacle based on the sensor data 68 received from the sensor unit 10 and transmit information about the detected obstacle to the generation unit 26 for the shortest avoidance path. The information about the obstacle can include its presence, type, position, or similar characteristics (e.g., static obstacles, dynamic pedestrians, moving vehicles, or reflective surfaces, etc.). The obstacle detection unit 22 can store obstacle detection logic that detects the obstacle based on the sensor data 68, and this logic can be point cloud-based, image-based, deep learning-based, sensor fusion-based, or similar (e.g., YOLO, SSD, semantic segmentation, or Kalman filter-based fusion, etc.).The obstacle detection logic is not particularly limited, and depending on the operating context of the robot and the sensor configuration, a suitable obstacle detection logic known to those skilled in the art can be used.
[0051] The shortest path generation unit 26 can include a cost map generation unit, and the cost map generation unit can store a grid map (e.g., a two-dimensional or three-dimensional spatial representation divided into uniform cells, etc.). Using information about the obstacle and the grid map received from the obstacle detection unit 22, the cost map generation unit can generate an occupancy grid map (e.g., by marking occupied, free, or unknown cells depending on the presence of obstacles, etc.). Furthermore, the cost map generation unit can generate a cost map 60 for the robot 50's environment using the occupancy grid map and information about the obstacle (e.g., obstacle size, proximity, type, or speed, etc.).
[0052] The grid map can refer to a map that divides a physical space in which the robot 50 can move, such as the ground or a floor, into a multitude of cells 62 of the same size (e.g., 10 cm × 10 cm, 20 cm × 20 cm, or a resolution suitable for the application, etc.). The occupancy grid map can refer to a map that displays, records, or stores the occupancy by the obstacle on the grid map based on information about the obstacle (e.g., in dark gray). The cost map 60 can refer to a map that displays, records, or stores the costs required for the robot 50 to pass through the cell 62 (e.g., by assigning higher costs to narrow passages, dynamic areas, or areas near detected obstacles, etc.). It is understood that the cost of the cell 62 is in the Fig. 2, Fig. 3, Fig. 4, Fig. 5, Fig. 6, Fig. 7, Fig. 8, Fig. 9 to Fig. 10 were omitted to make the cost card 60 simple and clear.
[0053] The shortest path generation unit 26 can generate a shortest path 70 along which a destination 66 can be reached from the current position of the robot 50 while avoiding the obstacle, using a path generation algorithm based on the cost map 60 generated by the cost map generation unit (e.g., selecting a path with minimal transit costs through unoccupied or low-risk cells, avoiding high-cost or occupied areas, etc.). In one example, the shortest path generation unit 26 can use the cost map 60 to generate a path with the lowest cost from the current position of the robot 50 to the destination 66 as the shortest path 70 (e.g., by evaluating the cumulative cell costs along the candidate paths using a heuristic search strategy, etc.).However, the path generation algorithm is not particularly restricted and can include at least one of several different path generation algorithms (e.g., A, Dijkstra's algorithm, Jump Point Search, RRT or hybrid graph sampling methods, etc.).
[0054] Fig. Figure 2 shows an example of generating the shortest escape route using the cost map. For example, the production unit 26 can be used for the shortest escape route, as shown in Fig. Figure 2 shows how to generate the shortest avoidance path 70 from the cost map 60, along which the robot 50 can reach the destination 66 while avoiding the obstacle at the lowest cost (e.g., by minimizing or reducing the cumulative traverse costs through safe and low-risk areas, etc.). The shortest avoidance path 70 can include several nodes 72 that the robot 50 must pass through, and the multiple nodes 72 can include a node 72 corresponding to the current position of the robot 50, a node 72 corresponding to the destination 66, and at least one node 72 between the nodes 72 (e.g., waypoints along a corridor, at corridor intersections, or around obstacles, etc.).The multiple nodes 72 contained in the shortest avoidance path 70 can be positioned such that the distance between adjacent nodes 72 is equal, or a node 72 can be arranged for each cell 62 contained in the shortest avoidance path 70 (e.g., by assigning one node per grid cell or at fixed spatial intervals, etc.). However, the method for defining the multiple nodes 72 is not limited to this.
[0055] The detection unit 24 for the restricted area can detect a restricted area 76, which is an area not detected by the sensor unit 10 at the current position of the robot 50, based on the sensor data 68 received by the sensor unit 10 (e.g. areas that are obscured by walls, shelves or corners, etc.).
[0056] The detection unit 28 for an entry point into the restricted area can detect an entry point 78 into the restricted area using the shortest escape path 70 received from the generation unit 26 for the shortest escape path and the restricted area 76 received from the detection unit 24 for the restricted area (e.g., by identifying a transition point where the path enters an area outside the sensor's current field of view, such as a blind corner or a concealed corridor, etc.). Furthermore, the detection unit 28 for an entry point into the restricted area can define a specific section around a preset number of nodes 72 beyond the entry point 78 into the restricted area as the restricted area of interest 80 and use the restricted area of interest 80 to determine whether a sufficient field of view is ensured (e.g.,(for early obstacle detection or safe turning before full sensor coverage is achieved, etc.). A method for detecting the entry point 78 into the blocked area and a method for defining the blocked area of interest 80 are described below with reference to . Fig. 3 described in more detail.
[0057] Fig. Figure 3 shows an example of detecting the entry point into the restricted area using the shortest escape path. Fig. 2. In Fig. 3. A bold dotted line indicates the blocked area 76, and a bold solid line indicates a sensor scanning area 74. As in Fig. As shown in Figure 3, the detection unit 28 can check, for an entry point into the restricted area, to which area of sensor scanning area 74 or blocked area 76 each node 72 contained in the shortest avoidance path 70 belongs (e.g., by comparing the position of each node with the current sensor visibility limit, etc.). For example, for an entry point into the restricted area, the detection unit 28 can check, for example, to which area of sensor scanning area 74 and blocked area 76 all nodes 72 sequentially from the current position of the robot 50 to the target 66 belong, in order to identify, for example, the first point of loss of visibility. Then, the first node 72 that belongs to sensor scanning area 74 and then to blocked area 76 is recognized as the entry point 78 into the restricted area (e.g., the first node at which the path enters a sensor-occluded area, such as...).around a wall or corner, etc.). Subsequently, for an entry point into the restricted area, the detection unit 28 can define a specific section (5*3 cells) around a preset number (e.g., five) of nodes 72 beyond the entry point 78 into the restricted area as the restricted area of interest 80 (e.g., as a critical area where visibility should be achieved in advance for safe maneuvering, etc.). Furthermore, it can be determined whether the entry point 78 into the restricted area is on the left or right side of the robot 50 to detect whether the robot 50 enters the corner by turning left or right (e.g., to select a suitable turning strategy or direction assignment scheme, etc.). In the example of . Fig. 3 is the entry point 78 into the restricted area positioned on the left side of the robot 50, so that it can be recognized that the robot 50 enters the corner by making a left turn.
[0058] The corner turn path generation unit 30 can generate a corner turn path 82 based on the shortest avoidance path 70 received from the shortest avoidance path generation unit 26 and the entry point 78 into the restricted area received from the detection unit 28, using a preset algorithm (e.g., rule-based, sample-based, or grid-expansion-based path transformation algorithms, etc.). For example, among the directions orthogonal to a tangent line of the shortest avoidance path 70, the opposite side of a turn direction when entering the corner can be specified as the search direction of the turn area for each node 72 contained in the shortest avoidance path 70 (e.g., searching outwards from the curve to avoid tight corners or blind spots, etc.).
[0059] Subsequently, a point where a safe safety distance can be ensured within a preset search distance in the corresponding search direction can be located as a corner turning node by referring to the cost value of the cell 62 positioned in the search direction, and a set of all corner turning nodes can be generated as a corner turning path 82 (e.g., by forming a widened arc to maintain visibility and obstacle clearance, etc.). The safety distance can be preset or vary depending on the obstacle's properties (e.g., obstacle type, expected movement, or approach threshold, etc.). The preset algorithm is not particularly restricted and can include at least one of several algorithms known to a person skilled in the art that can generate the corner turning path (e.g., elastic bands, potential fields, or motion primitives, etc.).
[0060] Unit 32 for accumulating blocked areas of interest can accumulate the area 80 of blocked interest transmitted by the acquisition unit 28 for an entry point into the blocked area from an initial time t0, at which the shortest escape path 70 is generated, up to a current time, thereby generating an accumulated area 84 of blocked interest, which, for example, represents a union of all previously unobservable areas that must be visible before proceeding, etc.). The following describes a process for accumulating the area of blocked interest over time with reference to the Fig. 5, Fig. 6, Fig. 7, Fig. 8 to Fig. 9 described.
[0061] The Fig. 5, Fig. 6, Fig. 7, Fig. 8 to Fig. Figure 9 shows the process of accumulating the area of blocked interest over time, whereby Fig. Figure 5 shows an example of detecting the entry point into the blocked area at the initial time t0. Fig. 6 shows the accumulated locked area of interest, which was accumulated up to a first time point t1, Fig. 7 shows the accumulated locked area of interest, which was accumulated up to a second time point t2, Fig. 8 shows the area of interest that has accumulated up to a third time point t3 and Fig. 9 shows the area of interest accumulated up to a fourth time point t4 (e.g., when the robot continues to advance into the obscured area while turning a corner). In the Fig. 5, Fig. 6, Fig. 7, Fig. 8 to Fig. 9 denotes a thick dotted line the blocked area 76, a thick solid line the sensor scanning area 74, the hatched area the area 80 of blocked interest, and a square marked by a thick line with alternating long and short strokes the accumulated area 84 of blocked interest (e.g., the union of previously unobservable but critical path segments, etc.).
[0062] As in Fig. As shown in Figure 5, the acquisition unit 28 can, for an entry point into the blocked area at the initial time t0, define the predetermined section (5*3 cells) around the preset number (e.g., five) of nodes 72 around the entry point 78 into the blocked area and transfer the area 80 of blocked interest to the unit 32 for the accumulation of blocked areas of interest (e.g., identification of the first section of the path where visibility is insufficient but advance planning is required, etc.). At the initial time t0, the blocked area of interest 80 and the accumulated blocked area of interest 84 are identical.
[0063] Up to the first time point t1, the robot 50 can move along the corner turning path 82, and the sensor unit 10 can acquire the sensor data 68 (e.g., including distance measurements, obstacle positions, or visibility limits, etc.) and transmit the sensor data 68 to the detection unit 24 for the restricted area (e.g., for continuous updating of the detectable and non-detectable areas during movement). Based on the sensor data 68 (e.g., due to obstructions by walls, fixtures, or rotation blind spots, etc.), the detection unit 24 for the restricted area can determine the sensor scanning area 74 detected by the sensor unit 10 and the restricted area 76 not detected by the sensor unit 10 at the robot 50's current position. As described in Fig. As shown in Figure 6, the detection unit 28 can detect entry point 78 into the blocked area at time t1, define a specific section (5*3 cells) after entry point 78 into the blocked area as the blocked area of interest 80 (e.g., a rectangular area covering upcoming nodes with restricted visibility, etc.), and transfer the blocked area of interest 80 to the unit 32 for the accumulation of blocked areas of interest (e.g., for temporal tracking and evaluation of sensor coverage). The unit 32 for the accumulation of blocked areas of interest can accumulate the area 80 of blocked interest at time t0 into the area 80 of blocked interest at time t1 to generate the accumulated blocked area of interest 84 (e.g.,by incrementally building up a composite target visibility area, which must be secured before proceeding safely).
[0064] Up to the second time point t2, the robot 50 can move along the corner turning path 82, and the sensor unit 10 can acquire the sensor data 68 (e.g., distance measurements, reflected intensities, or camera images, etc.) and transmit the sensor data 68 to the detection unit 24 for the restricted area. The detection unit 24 for the restricted area can use the sensor scanning area 74 and the restricted area 76 to detect the sensor scanning area 74 and the restricted area 76 (e.g., by identifying obscured areas that are currently not visible to the sensors, such as behind corners or obstacles, etc.). As in Fig. As shown in Figure 7, the detection unit 28 can detect entry point 78 into the blocked area at the second time t2, define a specific section (5*3 cells) after entry point 78 into the blocked area as area 80 of blocked interest (e.g., by defining the next part of the obscured path to be evaluated for visibility), and transfer the blocked area of interest 80 to the unit 32 for the accumulation of blocked areas of interest. The unit 32 for the accumulation of blocked areas of interest can accumulate area 80 of blocked interest at the first time t1 with area 80 of blocked interest at the second time t2 to generate the accumulated area 84 of blocked interest (e.g., by continuously expanding the target area that the robot ultimately needs to monitor for safe navigation, etc.).
[0065] Similarly, unit 32 can accumulate the area of blocked interest (80) up to the third time t3 to generate the accumulated area of blocked interest (84), as in Fig. 8 shown, and accumulate the blocked area of interest 80 up to the fourth time t4 to generate the accumulated area 84 of blocked interest u, as shown in Fig. 9 shown (e.g. by creating a complete record of the hidden areas that remain unobserved during the robot's movement, etc.).
[0066] The viewing angle protection determination unit 34 can determine, based on the accumulated blocked areas of interest 84 transferred by unit 32 for the accumulation of blocked areas of interest, whether the field of view of the sensor unit 10 is sufficiently protected (e.g., by checking whether all critical nodes are now within the current sensor visibility). In an example, as shown in Fig. Figure 8 shows that in a case where the sensor unit 10 does not even detect part of the accumulated area 84 of blocked interest, it can be determined that the field of view is not sufficiently secured (e.g., the robot must continue along the wider corner turning path). In another example, as shown in Fig. Figure 9 shows that in a case where the sensor unit 10 can detect the entire accumulated area 84 of blocked interest, it can be determined that the field of view is sufficiently secured (e.g. by allowing the robot to safely switch to a more direct path).
[0067] The path selection unit 36 can select one of the shortest avoidance path 70, which was transferred by the shortest avoidance path generation unit 26, and the corner turn path 82, which was transferred by the corner turn path generation unit 30, as the final path 86, based on: - Information on whether the entry point 78 into the restricted area has been detected, which is transmitted by the detection unit 28 for an entry point into the restricted area (e.g., indication of the presence of a blind corner or a concealed area that requires a forward-looking maneuver, etc.), - Information on whether the accumulated area 84 of blocked interest exists, which is transferred from unit 32 for the accumulation of blocked areas of interest (e.g. to indicate whether previously obscured areas along the route still need to be visible or further navigation planning is required, etc.), and - Information about whether the field of view is secured, transmitted by the field of view securing determination unit 34 (e.g. to indicate whether all critical areas in front of the robot are within the current sensor coverage to enable safe forward movement, etc.).
[0068] For example, detecting the entry point 78 into the blocked area may mean that the corner around which the robot 50 must turn is in front of the robot 50, and therefore the path selection unit 36 can select the corner turning path 82 as the final path 86 (e.g., to proactively avoid a blind corner with limited visibility). In a case where the entry point 78 into the blocked area is not detected, it can be determined whether the accumulated area 84 of blocked interest exists (e.g., to assess whether previously obscured but relevant path segments still require visibility checks, etc.).In a case where no accumulated area 84 of blocked interest exists, the absence of the accumulated area 84 of blocked interest may mean that the corner into which the robot 50 must turn is not positioned in front of the robot 50 (indicating, for example, that the robot is in an open area or a fully visible corridor and no special corner turning maneuver is currently required, etc.), and thus the path selection unit 36 can select the shortest evasive path 70 as the final path 86 (e.g., because a direct and safe route is currently visible). In a case where the entry point 78 into the blocked area is not detected and the accumulated area 84 of blocked interest exists, it can be determined whether the field of view is secure (e.g.,(to assess whether the robot has successfully observed all previously obscured areas, even though it has not encountered a newly identified corner, etc.). In a case where the field of view has been secured, the path selection unit 36 can select the shortest evasive path 70 as the final path 86 (e.g., to indicate that previously obscured areas are now observable and navigable), and in a case where the field of view has not been secured, the path selection unit 36 can select the corner turning path 82 as the final path 86 (e.g., to maintain a safer route until full visibility is ensured).
[0069] Fig. Figure 10 shows an example of path selection based on whether the field of view has been secured. As in Fig. As shown in Figure 10, the robot 50 can move along the corner turning path 82. The sensor unit 10 can acquire the sensor data 68 (e.g., real-time obstacle and visibility data, etc.). The detection unit 28 for an entry point into the blocked area can detect the entry point 78 into the blocked area. The unit 32 for accumulating blocked areas of interest can generate the accumulated area 84 of blocked interest (e.g., by aggregating previously unobserved areas over time). The view-angle security determination unit 34 can determine whether the field of view is sufficiently secured in each preset time interval (e.g., by checking whether all target areas are within the current detection range of the sensor, etc.). In a case where the field of view has not been sufficiently secured, the path selection unit 36 can select the corner turning path as the final path 86 (e.g.,(to carefully continue navigation around the corner). If the field of vision is sufficiently secure, the path selection unit 36 can select the shortest evasive path 70 as the final path 86 (e.g., to continue direct movement to the destination). For example, the path selection unit 36 can generate the shortest path (or an optimal path) that connects the shortest evasive path 70 from a point in time when the field of vision is sufficiently secure, and select a combination of the shortest path (or the optimal path) and the shortest evasive path 70 as the final path 86 (e.g., by combining the updated shortest route with the previously traveled safe detour).
[0070] The path tracking unit 42 can control the driving and steering of the robot 50 so that the robot 50 follows the final path 86 transmitted by the path selection unit 36 (e.g. by issuing low-level commands to motors and steering actuators to follow the selected trajectory, etc.).
[0071] The control unit 20 can also include a viewing angle safeguarding unit for direction assignment 38 and a target direction selection unit 40 to secure the field of vision as quickly as possible during a large turn (e.g. to detect hidden obstacles or dynamic objects emerging from obscured areas, etc.).
[0072] The view-angle safeguarding unit for direction assignment 38 can assign a view direction advantageous for securing the field of view to each final node contained in the final path 86 transmitted by the path selection unit 36 (e.g., by orienting the robot or its sensors toward areas ahead of the path to maximize forward visibility and minimize blind spots during navigation, etc.). Generally, the field of view needs to be secured quickly when the robot 50 turns a corner, and therefore the view-angle safeguarding unit for direction assignment 38 can assign a view direction advantageous for securing the field of view to each corner-turn node contained in the corner-turn path 82 (e.g., by orienting the robot's sensors to detect upcoming obscured areas before entering them, etc.).For example, the view-angle safeguarding unit for direction assignment 38 can define a direction to allow the robot to see a preset distance along the corner turn path 82 from each corner turn node contained within the corner turn path 82 (e.g., by enabling the robot to anticipate upcoming obstacles or obscured areas before reaching them, thereby improving safety and responsiveness during turning, etc.). More precisely, the view-angle safeguarding unit for direction assignment 38 can define the direction of travel for each corner turn node contained within the corner turn path 82 such that a corner turn node located a preset number of positions ahead of the corresponding corner turn node is visible (e.g., to maintain continuous forward visibility and avoid sudden blind spots during turning).The preset distance or number is not particularly limited and can be determined, for example, based on sensor characteristics, the turning radius, or the robot's speed, etc. The view-angle safeguarding unit for direction assignment 38 can assign the preset distance or number to all corner turn nodes contained in the corner turn path 82 (e.g., to align the robot's field of view uniformly with the upcoming segments along the curve, regardless of path curvature or speed, etc.).
[0073] The target direction selection unit 40 can select a final target direction based on the final path 86 transmitted by the direction assignment view safeguard unit 38 and the course directions assigned to all final nodes contained in the final path 86 (e.g., by analyzing the forward orientation of each node to determine an optimal viewing path that improves visibility along the predicted path of movement, etc.). For example, the target direction selection unit 40 can set the target direction by adding an additional distance or number, according to a driving state of the robot 50, to the preset distance or number assigned to each final node (e.g., by extending the view further forward at high speed or sharper turns, etc.).The target direction selection unit 40 can transmit the target direction to the path tracking unit 42, and the path tracking unit 42 can control the robot 50, in particular the sensor unit 10, so that it is steered in the target direction (e.g., by adjusting the orientation of a LiDAR, a camera gimbal, or a steering mechanism to align it with the intended viewing angle, etc.). In this way, the robot 50 can be made to move as if, at each endpoint, it were not looking directly ahead but at a certain distance (e.g., through proactive scanning and smoother path tracking). This allows the field of view to be secured in advance when the robot 50 moves around a corner.
[0074] The robot 50 can comprise at least one energy storage device and a robot drive unit 52. The robot drive unit 52 can be powered by the energy storage device and drive the robot 50 so that, under the control of the control unit 20, in particular under the control of the path tracking unit 42, the robot 50 follows the final path 86 (e.g., by executing real-time trajectory and speed control commands, etc.). The robot drive unit 52 can comprise at least one wheel and at least one drive motor connected to the at least one wheel and rotating the at least one wheel (e.g., in differential or omnidirectional configurations, etc.). The robot drive unit 52 can further comprise a steering device for steering the robot 50 and a direction-of-travel adjustment device for controlling the direction of travel of the robot 50, for example, the direction of travel of the sensor unit 10 (e.g.,by rotating a camera gimbal, a LiDAR platform or a steering axis to align it with the selected target course, etc.).
[0075] The following describes the method for real-time path generation for the robot's turning, according to another example in the present disclosure, with reference to Fig. 11 described (which, for example, outlines the sequential decision and control logic that is executed by the system during navigation near corners, etc.). Fig. Figure 11 shows an example of the method for real-time path generation for turning the robot according to another example of the present disclosure (e.g. with the functional steps from detection to final path execution, etc.).
[0076] As in Fig.As shown in Figure 11, the method for real-time path generation for corner turning by the robot can begin at step S100 according to another example in the present disclosure (e.g., initiating the detection and mapping phase to create an environmental perception before path planning, etc.). To execute step S100, the sensor unit 10 can detect the sensor data 68 within the field of view and transmit the detected sensor data 68 to the control unit 20 (e.g., including obstacle geometry, environmental features, or spatial gaps, etc.).
[0077] In step S100, the cost map generation unit can load the raster map stored in the control unit 20, and in step S110, the obstacle detection unit 22 of the control unit 20 can detect the obstacle using the sensor data 68 (e.g., by processing point cloud data, image frames, or fused sensor inputs to identify objects blocking the path, etc.). The execution order of steps S100 and S110 is not restricted to the sequence shown (e.g., each step can be performed first or in parallel, depending on the system architecture and data availability).
[0078] When the grid map is loaded and the obstacle 88 is detected, the cost map generation unit can generate the occupancy grid map based on the grid map and the obstacle information, and generate the cost map 60 for the environment of the robot 50 based on the occupancy grid map and the obstacle information (e.g., by assigning passage costs based on the proximity of the obstacle, the surface properties, or the movement restrictions, etc.).
[0079] If cost map 60 is generated, the generation unit 26 can generate the shortest avoidance path 70 along which the target 66 can be reached from the current position of the robot 50, while avoiding the obstacle using the path generation algorithm based on cost map 60 in step S120 (e.g. using A, Dijkstra's algorithm or other cost-minimizing planners, etc.).
[0080] The detection unit 24 for the restricted area of the control unit 20 can detect the restricted area 76, which is the area not detected by the sensor unit 10 at the current position of the robot 50, using the sensor data 68 in step S130 (e.g., by comparing the current field of view with mapped areas to identify obscured zones), and the detection unit 28 for an entry point into the restricted area can detect the entry point 78 into the restricted area using the shortest avoidance path 70 received from the generation unit 26 for the shortest avoidance path and the restricted area 76 received from the detection unit 24 for the restricted area in step S140 (e.g., by identifying the first node where the path transitions into an undetectable area).
[0081] If the entry point 78 into the blocked area is detected, the detection unit 28 can, for an entry point into the blocked area in step S150, define the specific section by the preset number of nodes 72 after the entry point 78 into the blocked area as area 80 of blocked interest (e.g. by defining an area of interest that must be monitored for visibility when approaching a corner).
[0082] The corner turn path generation unit 30 can generate the corner turn path 82 based on the shortest avoidance path 70 received from the shortest avoidance path generation unit 26 and the entry point 78 into the restricted area received from the detection unit 28, using the preset algorithm in step S160 (e.g., by extending the path outwards from the curve to maximize visibility and maintain distance to obstacles). The corner turn path 82 generated by the corner turn path generation unit 30 can then be transferred to the path selection unit 36 and subsequently to the path tracking unit 42 (e.g., for evaluation against alternative paths and for possible execution by the robot's motion control system, etc.).Subsequently, the path tracking unit 42 can control the driving and steering of the robot 50 so that the robot 50 follows the final path 86 (e.g. the corner turning path 82) received from the path selection unit 36 in step S170 (e.g. by generating appropriate motor and steering commands in real time).
[0083] In a state where the robot 50 is moving along the final path 86, the unit 32 for accumulating blocked areas of interest can accumulate the area 80 of blocked interest, which is transmitted by the detection unit 28 for the entry point of the blocked area, from the initial time t0, at which the shortest avoidance path 70 is generated, up to the current time in each preset time interval, thus generating in step S180 the accumulated area 84 of blocked interest (e.g. to track the progress of visibility until the obscured zone is fully covered).
[0084] Subsequently, the view-angle security determination unit 34 can determine, based on the accumulated area 84 of blocked interest transmitted by unit 32 for the accumulation of blocked areas of interest, whether the field of view of the sensor unit 10 is sufficiently secured (e.g., by checking whether all nodes in the blocked area have come into the field of view over time). In a case where the field of view was not sufficiently secured in step S190, for example, in a case where the sensor unit 10 does not even detect part of the accumulated area of blocked interest 84, the procedure returns to step S130 and repeats steps S130 to S190 (e.g., continuing corner navigation and visibility updates until full coverage is achieved).In a case where the field of view has been sufficiently secured in step S190, for example, if the sensor unit 10 can detect the entire accumulated blocked area of interest 84, the path selection unit 36 can select one of the shortest avoidance paths 70 transmitted by the shortest avoidance path generation unit 26 and the corner turn path 82 transmitted by the corner turn path generation unit 30 as the final path 86, based on: - the information about whether the entry point 78 into the restricted area has been detected, which is transmitted by the detection unit 28 for an entry point into the restricted area (e.g. whether the robot is still approaching an unmonitored corner or has already passed it and can resume a more direct route, etc.), - the information on whether the accumulated blocked area of interest 84 exists, which is transferred from unit 32 to accumulate blocked areas of interest (e.g. to determine whether the visibility condition is met in all previously unobservable areas and whether a corner maneuver is still required, etc.), and - the information on whether the field of view is secure, transmitted by the field-of-view securing unit 34 in step S200 (e.g., confirming that all relevant obscured areas have entered the sensor's field of view, thus enabling a safe transition to a more direct path (route)). Subsequently, the path tracking unit 42 can control the drive and steering of the robot 50 so that the robot 50 follows the final path 86 received from the path selection unit 36 in step S210 (e.g., by converting the path data into real-time motion and direction control commands).
[0085] To secure the field of view as quickly as possible when the robot 50 moves along the final path 86 in step S170, the method can further assign the direction of travel advantageous for securing the field of view to each final node contained in the final path 86 and select the final direction of travel based on the final path 86 and the directions of travel assigned to all final nodes contained in the final path 86 (e.g., to proactively orient the robot or its sensors towards areas not yet visible and not yet within reach, especially when turning in blind corners).
[0086] More precisely, the view-angle safeguarding unit for direction assignment 38 can assign as the direction the direction in which the preset distance in front of the robot or the final node located a preset number of steps ahead of the robot is visible, for each final node contained in the final path 86 (e.g., so that the robot can look forward a fixed spatial interval or a fixed number of steps to improve corner visibility and responsiveness). The preset distance or number is not particularly limited and can be determined, for example, by the sensor range, the robot speed, or environmental constraints.
[0087] Furthermore, the target direction selection unit 40 can determine the target direction by adding the additional distance or number according to the robot's driving state 50 to the preset distance or number assigned to each final node (e.g., by dynamically extending the lookout distance at high speeds or tighter corners to ensure adequate lookout).
[0088] The target direction selection unit 40 can transmit the set target direction to the path tracking unit 42, and the path tracking unit 42 can control the robot 50, in particular the sensor unit 10, so that it is steered in the target direction (e.g. by adjusting the orientation of the robot or actuating a gimbal, a pan-tilt unit or a steering mechanism to align the sensor's field of view accordingly, etc.).
[0089] A method for real-time path generation for turning a robot, according to an example of the present disclosure, comprises: generating a cost map of the robot's environment by a control unit using a raster map and information about an obstacle detected by a sensor unit; generating a shortest avoidance path by the control unit along which a destination can be reached from the robot's current position, bypassing the obstacle, using the cost map; detecting a restricted area, which is an area not detected by the sensor unit at the robot's current position, by the control unit; detecting an entry point into the restricted area using the shortest avoidance path and the restricted area; and generating a corner turning path using the shortest avoidance path and the entry point into the restricted area.Controlling the robot's movement along the corner turning path by the control unit; determining by the control unit whether a field of view has been secured in each preset time interval; and generating a final path from the shortest avoidance path or the corner turning path by the control unit based on the result of determining whether the field of view has been secured.
[0090] Detecting an entry point into the restricted area using the shortest avoidance path and the restricted area can involve: checking which area from a sensor scanning area and the restricted area all nodes contained in the shortest avoidance path belong to, sequentially from the current position of the robot to the target; and detecting a first node belonging to the sensor scanning area and then to the restricted area as the entry point into the restricted area.
[0091] Determining whether a field of view has been secured may involve: defining a specific section after the point of entry into the blocked area as the blocked area of interest; accumulating the blocked area of interest from an initial time at which the shortest escape path is generated, up to a current time to generate an accumulated blocked area of interest; and determining whether an entire accumulated blocked area of interest is detected by the sensor unit.
[0092] It can be determined that the field of view is secure if the entire accumulated blocked area of interest is detected, and it can be determined that the field of view is not secure if even a part of the accumulated blocked area of interest is not detected.
[0093] Generating the shortest evasive path or the corner turn path as the final path may include generating the shortest evasive path as the final route in response to determining that the field of view has been secured.
[0094] Generating one of the shortest evasive paths and the corner turn path as the final path may further include generating the corner turn path as the final path in response to the finding that the field of view has not been secured.
[0095] The real-time path generation process can further include controlling the robot's movement along the final path by the control unit.
[0096] The real-time path generation procedure may further include: assigning a direction of travel by the control unit to each final node contained in the final path; determining a target direction of travel for each final node by the control unit based on the final path and the direction of travel assigned to each final node; and controlling the sensor unit's field of view by the control unit according to the target direction of travel.
[0097] Assigning a direction of travel to each final node may include assigning a direction as the direction of travel for each final node such that a predetermined distance before the final node or a final node located a predetermined number of ways before the final node is seen.
[0098] Setting a direction of travel for each final node may involve setting the direction of travel by adding an additional distance or number, according to a robot travel state, to a preset distance or number assigned to each final node.
[0099] A real-time path generation system for (corner) turning of a robot according to another example of the present disclosure comprises: a sensor unit configured to acquire sensor data within a field of view; and a control unit configured to receive the sensor data from the sensor unit, generate a path from a current position of the robot to a target, and control the robot to move along the generated path, wherein the control unit is configured to generate a cost map of the robot's environment using a raster map and information about an obstacle detected by the sensor unit, generate a shortest avoidance path along which the target is reachable from the robot's current position, avoiding the obstacle using the cost map, and detect a restricted area, which is an areawhich is not detected by the sensor unit at the robot's current position, to detect an entry point into a restricted area using the shortest avoidance path and the restricted area, to generate a corner turning path based on the shortest avoidance path and the entry point into the restricted area, to control the robot's movement along the corner turning path, to determine at each preset time interval whether a field of view is secure, and based on the result of determining whether the field of view is secure, to generate either the shortest avoidance path or the corner turning path as the final path.
[0100] When determining the entry point into the restricted area using the shortest avoidance path and the restricted area, the control unit can be configured to check sequentially from the current position of the robot to the target, to which area from a sensor scanning area and the restricted area all nodes contained in the shortest avoidance path belong, and to determine a first node that belongs to the sensor scanning area and then to the restricted area as the entry point into the restricted area.
[0101] When determining whether the field of view is secure, the control unit can be configured to define a specific section after the entry point into the blocked area as the blocked area of interest, to accumulate the blocked area of interest from an initial time at which the shortest evasive path is generated up to a current time in order to generate an accumulated blocked area of interest, and to determine whether an entire accumulated blocked area of interest is detected by the sensor unit.
[0102] The control unit can be configured to determine that the field of view is secure when the entire accumulated blocked area of interest is detected, and that the field of view is not secured if even a part of the accumulated blocked area of interest is not detected.
[0103] When generating a final path from the shortest avoidance path and corner turn path, the control unit can be configured to generate the shortest avoidance path as the final path if it is determined that the field of view is secure.
[0104] If one of the shortest avoidance path and the corner turn path is generated as the final path, the control unit may be further configured to generate the corner turn path as the final path if it is determined that the field of view is not secured.
[0105] The control unit can also be configured to control the robot's movement along the final path.
[0106] The control unit can further be configured to assign a direction of travel to each final node contained in the final path, to determine a target direction of travel for each final node based on the final path and the direction of travel assigned to each final node contained in the final path, and to control the field of view of the sensor unit according to the target direction of travel.
[0107] When assigning the direction of travel to each final node, the control unit can be configured to assign a direction of travel for each final node such that a preset distance before the final node or a final node located a preset number of times before the final node is visible.
[0108] When determining the desired direction of travel for each final node, the control unit can be configured to determine the desired direction of travel by adding an additional distance or number, according to a robot travel state, to a preset distance or number assigned to each final node.
[0109] According to the present disclosure, a real-time path can be generated that can make such a large curve at a corner that the safety of an object approaching from the opposite side of the corner—an area that is difficult to detect in advance with a sensor—can be ensured. Furthermore, the real-time path is generated and a direction of travel is assigned that can secure a field of view as quickly as possible, allowing for an advance response to objects approaching from the opposite side of the corner, thus enabling safer and more intelligent corner navigation.
[0110] The present disclosure has been described using examples currently considered practical; however, it is understood that the present disclosure is not limited to the disclosed examples. Rather, it is intended to cover various modifications and equivalent arrangements that are included within the scope and protection of the attached claims.
Claims
[1] Method performed by a device of a robot, the method comprising: Generating a cost map for the robot's environment, where the environment lies within a threshold distance from the robot, using a raster map and information about an obstacle detected by a sensor on the robot; Generating a shortest avoidance path from the robot's current position to a destination using the cost map, such that the shortest avoidance path bypasses the obstacle; Detecting a blocked area that lies outside a sensor scanning area detected by the sensor at the robot's current position; Determining an entry point into the restricted area based on the shortest escape route and the restricted area; Generating a corner turning path based on the shortest escape route and the entry point into the restricted area; Determine whether a sensor's field of view is secured in each preset time interval; Generating, by determining, a final path from the shortest avoidance path or the corner turn path; Outputting a signal indicating the final path; and Controlling the robot's movement based on the signal. [2] Method according to claim 1, wherein detecting the entry point into the restricted area comprises: For each node that is sequentially contained in the shortest avoidance path from the robot's current position to the target, check whether the node belongs to the sensor scanning area or the blocked area; and Identifying a first node that transitions from the sensor scanning area into the blocked area as the entry point into the blocked area. [3] The method of claim 1, wherein determining whether the field of vision has been secured comprises: Defining a specific section after the entry point into the restricted area as the restricted area of interest; Accumulating the area of blocked interest to generate an accumulated locked area of interest, wherein the locked area of interest is accumulated from an initial time point to a current time point, and wherein the initial time point is a time point at which the shortest escape path is generated; and Determine whether the accumulated blocked area of interest is detected by the sensor. [4] The method of claim 3, wherein determining whether the field of vision is secured comprises: Determine that the field of view is secured, based on the fact that the accumulated blocked area of interest has been fully detected, or Determining that the field of view was not secured, based on the fact that the accumulated blocked area of interest was partially detected. [5] Method according to claim 1, wherein generating the shortest avoidance path or the corner turn path comprises: Generating the shortest evasive path as the final path based on determining that the field of view has been secured. [6] Method according to claim 1, wherein generating the shortest avoidance path or the corner turn path as the final path comprises: Based on the finding that the field of vision was not secured, the corner turning path was generated as the final path. [7] Method according to claim 1, wherein controlling the robot's movement comprises controlling the robot's movement along the final path. [8] The method of claim 7, further comprising: Assigning a direction of travel to each final node contained in the final path; Determining a target direction of travel for each final node based on the final path and flight direction; and Controlling the sensor's field of view based on the target direction of travel. [9] The method of claim 8, wherein the assignment of a direction comprises: Assigning a direction as the direction of travel for each final node, specifically in the direction of: a location that lies ahead on the final path by a preset distance, or a final node that precedes it by a preset number of nodes. [10] Method according to claim 8, wherein determining the desired direction of travel comprises: Based on a robot's driving state, the desired direction of travel is determined by adding: an additional distance to a preset distance assigned to each final node, or an additional number to a preset number assigned to each final node. [11] Device of a robot, the device comprising: a processor; and a memory that stores at least one instruction which, when executed by the processor communicating with the memory, causes the device to: to acquire sensor data within the sensor's field of view using a sensor on the robot; and to create a cost map for the robot's environment using a raster map and sensor data, where the environment is within a threshold distance of the robot, to generate a shortest avoidance path from the robot's current position to a target using the cost map, such that the shortest avoidance path bypasses an obstacle, whereby the obstacle is detected using sensor data, to detect a restricted area that lies outside a sensor scanning area detected by the sensor at the current position of the robot, Based on the shortest escape route and the restricted area, identify an entry point into the restricted area. to generate based on the shortest evasive path and the entry point into the blocked area of a corner turn path, to determine whether a sensor's field of view is secured in each preset time interval, to generate one of the shortest evasive paths and the corner turning path as the final route by determining the shortest alternative paths, to output a signal indicating the final path, and to control the robot's movement based on the signal. [12] Device according to claim 11, wherein the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to detect the entry point into the locked area as follows For each node contained in the shortest avoidance path, sequentially from the robot's current position to the target, check whether the node belongs to the sensor scanning area or the blocked area, and Identify a first node that transitions from the sensor scanning area into the blocked area as the entry point into the blocked area. [13] Device according to claim 11, wherein the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to determine whether the field of view has been secured as follows: Define a specific section after the entry point into the restricted area as the restricted area of interest, accumulate the locked area of interest to create an accumulated locked area of interest, wherein the locked area of interest is accumulated from an initial time point to a current time point, and wherein the initial time point is a time point at which the shortest escape path is generated. Determine whether the accumulated blocked area of interest is detected by the sensor. [14] Device according to claim 13, wherein the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to: to determine, based on the fully captured area of blocked interest, that the field of vision is secured, and Based on the partially captured accumulated area of blocked interest, it can be determined that the field of view was not secured. [15] Device according to claim 11, wherein the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to generate the shortest escape path as the final path based on the finding that the field of view has been secured. [16] Device according to claim 11, wherein the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to generate the corner turn path as the final path based on the detection that the field of view has not been secured. [17] Device according to claim 11, wherein the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to control the movement of the robot along the final path. [18] Device according to claim 17, wherein the at least one instruction, when executed by the processor communicating with the memory, is configured to cause the device to: to assign a direction of travel to each final node contained in the final path, to determine a target direction of travel for each final node based on the final path and direction of travel and to control the sensor's field of view based on the desired direction of travel. [19] Method carried out by a device of a vehicle, the method comprising: Gathering information about the vehicle's surroundings; Generating a path for the vehicle's movement from its current position to a destination based on the information received; Identifying an area along the path; Determine whether the area is entirely within the detection range of a sensor of the vehicle; by determining whether the area is entirely within the detection range, adjusting the path; Outputting a signal indicating the adapted path; and Controlling the vehicle's movement based on the signal. [20] Method according to claim 19, wherein identifying the area comprises: Identifying an entry point into the blocked area where the path transitions from a sensor scanning area to an area not currently detected by the sensor; and Defining the area as a restricted area of interest that includes part of the path after the point of entry into the restricted area, and wherein the vehicle includes a robot.
