Robot traveling together with external robot and travel method thereof
The robot system addresses the challenge of robot collisions by using a processor to set tailored driving paths based on the characteristic information of individual robots, ensuring efficient and safe transportation of heavy objects.
Patent Information
- Application Number
- PCT/KR2024/019384
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-19
- Filing Date
- 2024-11-29
- Publication Date
- 2025-06-26
AI Technical Summary
Existing robot systems face challenges when multiple robots are tasked with transporting heavy objects, as they often collide with walls or obstacles due to the lack of consideration for the characteristic information of individual robots, such as size, speed, and turning radius, when setting driving paths.
A robot system that includes a driving unit, memory for storing characteristic information and map data, an interface, and a processor. The processor acquires characteristic information of external robots, sets a driving path that accounts for the unique characteristics of both the robot and external robots, and controls the driving unit to follow this path.
This solution enables multiple robots to transport heavy objects efficiently without collisions, by ensuring that the driving paths are tailored to the specific characteristics of each robot, thereby improving safety and operational efficiency.
Smart Images

Figure KR2024019384_26062025_PF_FP_ABST
Abstract
Description
Robot driving together with external robot and driving method thereof
[0001] The present disclosure relates to a robot capable of driving together with external robots and a driving method thereof.
[0002] Advances in robotics technology have led to the development and widespread deployment of a variety of robots, including robot vacuum cleaners, mobile projectors, and serving robots. In particular, robots are increasingly being used to transport heavy objects in locations such as hotels, airports, and factories.
[0003] At this time, to transport large quantities of goods to their destinations, multiple robots would divide the load and drive along the same path. In this case, the path of the robot at the head of the group was controlled so that the other robots would follow, enabling the simultaneous transport of large quantities of goods. However, because the robot at the head of the group set its own path without considering the characteristics of the other robots in the group, such as their size, speed, and turning radius, and the other robots simply followed the path of the robot at the head, various problems arose, such as the other robots in the group colliding with walls or obstacles in the driving space.
[0004] According to at least one aspect of the present disclosure, a robot includes a driving unit, a memory storing characteristic information of the robot and map data for a driving space, an interface, and at least one processor, wherein the at least one processor, when characteristic information of at least one external robot to drive along the robot is obtained through the interface, stores the characteristic information of the at least one external robot in the memory, and, based on the information stored in the memory, sets a driving path through which the robot and the at least one external robot can sequentially pass within the space, and controls the driving unit to drive along the driving path.
[0005] According to at least one aspect of the present disclosure, a method for driving a robot may include: when characteristic information of at least one external robot to drive along the robot is acquired, a step of setting a driving path through which the robot and the at least one external robot can sequentially pass within the space based on the characteristic information of the robot and the characteristic information of the at least one external robot; and a step of controlling a driving unit of the robot to drive based on the driving path.
[0006] According to at least one aspect of the present disclosure, a computer-readable recording medium including a program for executing a method for driving a robot may include a step of, when characteristic information of at least one external robot to drive along the robot is acquired, setting a driving path through which the robot and the at least one external robot can sequentially pass within the space based on the characteristic information of the robot and the characteristic information of the at least one external robot, and a step of controlling a driving unit of the robot to drive based on the driving path.
[0007] FIG. 1 is a drawing for explaining a robot according to at least one embodiment of the present disclosure.
[0008] FIG. 2 is a block diagram illustrating a configuration of a robot according to at least one embodiment of the present disclosure.
[0009] FIG. 3 is a drawing for explaining a method for setting a driving path of a robot according to at least one embodiment of the present disclosure.
[0010] FIG. 4 is a drawing for explaining a method for setting a driving path of a robot according to at least one embodiment of the present disclosure.
[0011] FIG. 5 is a drawing for explaining a physical connection method of a robot according to at least one embodiment of the present disclosure.
[0012] FIG. 6 is a drawing for explaining a method for determining a virtual shape of a robot according to at least one embodiment of the present disclosure.
[0013] FIG. 7 is a drawing for explaining a method of connecting a robot and an external robot according to at least one embodiment of the present disclosure.
[0014] FIG. 8 is a drawing for explaining a method for resetting a driving path of a robot according to at least one embodiment of the present disclosure.
[0015] FIG. 9 is a drawing for explaining a method for setting a driving path of a physically connected robot according to at least one embodiment of the present disclosure.
[0016] FIG. 10 is a drawing for explaining a method for setting a driving path of a robot including a marker according to at least one embodiment of the present disclosure.
[0017] The present embodiments may be modified and have various embodiments. Specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope to specific embodiments, but should be understood to encompass various modifications, equivalents, and / or alternatives of the embodiments of the present disclosure. In connection with the description of the drawings, similar reference numerals may be used for similar components.
[0018] In describing the present disclosure, if it is determined that a specific description of a related known function or configuration may unnecessarily obscure the gist of the present disclosure, a detailed description thereof will be omitted.
[0019] Additionally, the following embodiments may be modified in various other forms, and the scope of the technical concepts of the present disclosure is not limited to the following embodiments. Rather, these embodiments are provided to further faithfully and completely convey the technical concepts of the present disclosure to those skilled in the art.
[0020] The terminology used in this disclosure is for the purpose of describing specific embodiments only and is not intended to limit the scope of the rights. Singular expressions include plural expressions unless the context clearly dictates otherwise.
[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] In this disclosure, expressions such as “A or B,” “at least one of A and / or B,” or “one or more of A or / and B” can include all possible combinations of the listed items. For example, “A or B,” “at least one of A and B,” or “at least one of A or B” can all refer to (1) including at least one A, (2) including at least one B, or (3) including both at least one A and at least one 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 said component may be directly coupled to said other component, or may be coupled via another component (e.g., a third component).
[0025] On the other hand, when it is said that a component (e.g., a first component) is "directly connected" or "directly connected" to another component (e.g., a second component), it can be understood that no other component (e.g., a third component) exists between said component and said other component.
[0026] The expression "configured to" as used in the present disclosure may be used interchangeably with, for example, "suitable for," "having the capacity to," "designed to," "adapted to," "made to," or "capable of." The term "configured to" may not necessarily mean only "specifically designed to" in terms of hardware.
[0027] Instead, in some contexts, the phrase "a device configured to" may mean that the device, in conjunction with other devices or components, is "capable of" performing A, B, and C. For example, the phrase "a processor configured (or set) to perform A, B, and C" may refer to a dedicated processor (e.g., an embedded processor) for performing those operations, or a general-purpose processor (e.g., a CPU or application processor) that can perform those operations by executing one or more software programs stored in a memory device.
[0028] In the embodiments, 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, a plurality of 'modules' or 'parts' may be integrated into at least one module and implemented as at least one processor, except for a 'module' or 'part' that needs to be implemented as a specific hardware.
[0029] Meanwhile, the various elements and areas in the drawings are schematically drawn. Therefore, the technical concept of the present invention is not limited by the relative sizes or spacing depicted in the attached drawings.
[0030] Hereinafter, with reference to the attached drawings, embodiments according to the present disclosure will be described in detail so that a person having ordinary knowledge in the technical field to which the present disclosure pertains can easily implement the present disclosure.
[0031] FIG. 1 is a drawing for explaining a robot according to at least one embodiment of the present disclosure.
[0032] A robot can be a device that can drive without being directly controlled by a human. According to FIG. 1, a robot (100) can be connected to an external robot (200) that loads and moves an object that needs to be transported, and the robot (100) can set a path so that it can drive to a destination together with the external robot (200). The robot (100) can be referred to in various ways, 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. The robot (100) can be implemented as various types of robots that drive in 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., depending on its method of use or purpose.
[0033] Figure 1 illustrates a case where multiple robots (100, 200) are linked together. Each robot (100, 200) may be implemented with the same size, shape, or type, or may be implemented with different sizes, shapes, or types. For convenience of explanation, in this disclosure, one robot (100) is referred to as a reference, and the other robots are referred to as external robots (200).
[0034] The external robot (200) can be implemented as a transport robot that loads and moves items that need to be transported, as shown in FIG. 1, but can also be implemented as various types of robots that move through space and perform necessary tasks, such as a cleaning robot, a serving robot, a mobile projector, a guide robot, and a delivery robot.
[0035] In Fig. 1, among a plurality of robots (100, 200) that are connected to each other and run sequentially, the robot running at the front may be called a leader robot, and the robots following it may be called sub-robots. In Fig. 1, a case in which the robot (100) acts as a leader robot is illustrated, but this is not necessarily limited to this, and at least some of the contents described below may also be applied to a case in which the robot (100) acts as a sub-robot.
[0036] Here, "the robot (100) is connected to the external robot (200)" may mean that the robot (100) and the external robot (200) form a single group that travels the same path toward the same destination. For example, the robot (100) may be connected to the external robot (200) by a physical mechanism. When the robot (100) and the external robot (200) are physically connected to each other, the external robot (200) cannot help but move along with the movement of the robot (100), and thus, they can form a single group that travels the same path toward the same destination.
[0037] As another example, the robot (100) and the external robot (200) may not be physically connected but may be connected to each other through a communication session, and the external robot (200) may be implemented to follow the robot (100) by recognizing the shape, specific part, or marker of the robot (100).
[0038] Specifically, if a sensor equipped in an external robot (200) is implemented to sense a marker provided on the exterior of the robot (100), the external robot (200) can follow the robot (100) based on the sensing result of the marker. That is, even if there is no physical connection, the robot (100) and the external robot (200) can operate as a single group as if they are physically connected to each other. As described above, in the present disclosure, a case in which they operate as a single group in this way is described as being "connected."
[0039] In this case, as the robot (100) moves, the external robot (200) has no choice but to move along with the robot (100) in order to sense the marker provided on the exterior of the robot, and thus the robot (100) and the external robot (200) can form a single group that moves along the same path toward the same destination. In addition, the connection between the robot (100) and the external robot (200) can be formed by controlling the distance between the external robot (200) and the robot (100) to be maintained constant by measuring the distance to the robot (100) using various types of sensors capable of measuring distance, such as a lidar sensor and a TOF sensor, which are provided in the external robot (200). In this way, the connection between the robot (100) and the external robot (200) can be formed by various methods, not limited to the above-described method.
[0040] After the robot (100) according to the present disclosure is connected to an external robot (200), the robot (100) can set a path by reflecting the characteristic information of both the robot (100) and the external robot (200).
[0041] Here, "characteristic information" may include "appearance characteristic information" and "driving characteristic information." Appearance characteristic information may include various information that constitutes the robot's appearance, such as its shape, size, and the presence of markers. Furthermore, driving characteristic information may include various information reflecting the robot's driving characteristics, such as its maximum driving speed, turning radius, and driving method.
[0042] Since the robot (100) according to the present disclosure sets a path by reflecting both characteristic information of the robot (100) and the external robot (200), the robot (100) and the external robot (200) can drive to the destination without colliding with walls and obstacles existing in space, which will be described in more detail below.
[0043] FIG. 2 is a block diagram illustrating a configuration of a robot according to at least one embodiment of the present disclosure.
[0044] According to FIG. 2, the robot (100) may include a memory (110), a driving unit (120), an interface (130), and a processor (140).
[0045] The memory (110) can store characteristic information of the robot (100) and map data for the driving space. In addition, the memory (110) can store at least one instruction regarding the robot (100), an O / S (Operating System) or other software modules for driving the robot (100), applications, data, etc. In addition, the memory (110) can include a volatile memory such as a frame buffer, a semiconductor memory such as a flash memory, or a magnetic storage medium such as a hard disk.
[0046] The processor (140) can control the operation of the robot (100) by executing various software modules stored in the memory (110). Meanwhile, in the present disclosure, the term memory (110) may be used to mean a memory (110), a ROM (not shown), a RAM (not shown) in the processor (140), or a memory card (not shown) (e.g., a micro SD card, a memory stick) mounted on the robot (100).
[0047] The driving unit (120) is a component that can move the robot (100). The driving unit (120) may include a plurality of wheels, a driving motor for rotating each of the plurality of wheels, a gear, a shaft, and the like. The plurality of wheels are provided on the lower or side of the robot body (100) and support the robot body (100) from the floor. 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 and the wheels. In addition, the driving unit (120) 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 robot (100), the weight of the loaded item, or the usage environment of the robot (100), an infinite track or the like may be used instead of the wheels.
[0048] The interface (130) may include at least one of a communication interface, a manipulation interface, and an input / output interface. For example, the communication interface is a configuration for performing communication with at least one external robot (200). The communication interface may include at least one wireless communication module, at least one wired communication module, etc. Each communication module may be implemented in the form of at least one hardware chip. The wireless communication module may include at least one module among a Wi-Fi module, a Bluetooth module, an infrared communication module, or other communication modules. In addition, the communication interface may include at least one communication chip that performs communication according to various wireless communication standards such as Zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), 5G (5th Generation), etc. The wired communication module may include, for example, at least one among a LAN (Local Area Network) module, an Ethernet module, a pair cable, a coaxial cable, a fiber optic cable, or a UWB (Ultra Wide-Band) module. In addition, the communication interface may further include an IR receiving module for receiving IR signals from various external devices.
[0049] The communication interface is implemented in various forms like this, and by performing communication with an external robot (200), various data such as characteristic information of the external robot (200) or sensing data of the external robot (200) can be received from the external robot (200).
[0050] The operation interface is a configuration for receiving user operation input. The operation interface may include various buttons, a touch screen, etc. provided on the robot (100).
[0051] Input / output interfaces are components for inputting and outputting various external signals. These interfaces are connected to various external memories or devices (e.g., web servers, user terminal devices, etc.) and can receive various data. At least some of these input / output interfaces may be connected to communication interfaces. For example, the input / output interfaces may transmit information received from external devices to the communication interfaces, or transmit information received through the communication interfaces to the external devices.
[0052] The processor (140) is connected to the memory (110), the driving unit (120), and the interface (130) to control the overall operation and function of the robot (100).
[0053] The processor (140) may include one or more of a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), an APU (Accelerated Processing Unit), a MIC (Many Integrated Core), a DSP (Digital Signal Processor), an NPU (Neural Processing Unit), a hardware accelerator, or a machine learning accelerator. Although one processor (140) is illustrated in FIG. 2, the number of processors (140) may be implemented in various ways. One or more processors (140) may control one or any combination of other components of the robot (100) and perform operations or data processing related to communication. One or more processors (140) may execute one or more programs or instructions stored in the memory (110) to perform methods according to various embodiments of the present disclosure.
[0054] Meanwhile, if a method according to an embodiment of the present disclosure includes multiple operations, the multiple operations may be performed by one processor or by multiple processors.
[0055] In addition, one or more processors (140) 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 multicore or heterogeneous multicore). When one or more processors (140) are implemented as a multicore processor, each of the multiple cores included in the multicore processor may include an internal processor memory, such as a cache memory or an 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.
[0056] When a method according to an embodiment of the present disclosure includes a plurality of operations, the plurality of operations may be performed by one core among the plurality of cores included in a multi-core processor, or may be performed by the plurality of cores. For example, when a first operation, a second operation, and a third operation are performed by a method according to an embodiment, the first operation, the second operation, and the third operation may all be performed by a first core included in the multi-core processor, or the first operation and the second operation may be performed by a first core included in the multi-core processor, and the third operation may be performed by a second core included in the multi-core processor.
[0057] In embodiments of the present disclosure, the processor (140) may mean a system on a chip (SoC) in which one or more processors and other electronic components are integrated, a single-core processor, a multi-core processor, or a core included in a single-core processor or a multi-core processor, wherein the core may be implemented as a CPU, a GPU, an APU, a MIC, a DSP, an NPU, a hardware accelerator, or a machine learning accelerator, but embodiments of the present disclosure are not limited thereto.
[0058] The processor (140) can obtain characteristic information of at least one external robot (200) that will follow the robot (100) through the interface (130).
[0059] Here, "following the robot (100)" may mean driving along the same path toward the same destination as the robot (100). For example, if the robot (100) and an external robot (200) are connected via a physical mechanism, the external robot (200) cannot help but drive along the same path as the robot (100) due to the physical connection, and thus the external robot (200) can drive along the robot (100).
[0060] In one embodiment, when the interface (130) includes a communication interface, the processor (140) can receive characteristic information of the external robot (200) from the external robot (200) through the communication interface.
[0061] In another embodiment, when the interface (130) includes a manipulation interface, the processor (140) can receive characteristic information of the external robot from the user through the manipulation interface. That is, the user can directly input information that the horizontal length of the external robot (200) is 80 cm and the maximum driving speed is 4 m / s through a button or touch screen provided on the robot (100), and the robot (100) can receive the user's input and obtain characteristic information of the external robot (200).
[0062] In addition, when the interface (130) includes an input / output interface, the processor (140) can receive characteristic information of the external robot (200) from an external server device or a user terminal device through the input / output interface, and the processor (140) can obtain characteristic information of the external robot (200) through the interface (130) based on various methods.
[0063] The processor (140) can store the acquired characteristic information of the external robot (200) in the memory (110).
[0064] As described above, the characteristic information of the external robot (200) may include external characteristic information and driving characteristic information of the external robot (200). For example, if the external robot (200) is a rectangular parallelepiped robot, the external characteristic information of the external robot (200) may include length information regarding the width, length, and height of the rectangular parallelepiped, and the driving characteristic information of the external robot (200) may include information regarding the turning radius and maximum driving speed of the external robot (200).
[0065] In one embodiment, the processor (140) may store in the memory (110) information that the external robot (200) is a rectangular robot, has a width of 50 cm, a height of 80 cm, and a height of 2 m. In another embodiment, the processor (140) may store in the memory (110) information that the maximum driving speed of the external robot (200) is 4 m / s, and the turning radius is 1 m.
[0066] In the above description, only information about the shape, size, turning radius, and driving speed of the external robot (200) is specified. However, it is of course possible that various information related to the appearance and driving, such as the type, weight, and size of the object loaded by the robot (100), the weight of the external robot (200), the driving method of the external robot (200), and the type, weight, and size of the object loaded by the external robot (200), may be stored in the memory (110). If the external robot (200) has information related to the object loaded by the external robot (200), it can receive it through the communication interface, just like the other information described above. However, if the external robot (200) does not have information about the object to be loaded, or it is difficult for the external robot (200) to identify it, the robot (100) may also receive information about the characteristics of the loaded object through an input / output interface or a manipulation interface. For example, when a user loads an object wider than the width of the external robot (200) onto the external robot (200), the user can input information about the width of the object into the robot (100).
[0067] The processor (140) can set a driving path that the robot (100) and the external robot (200) can sequentially pass through within the space based on the information stored in the memory (110).
[0068] Here, the information stored in the memory (110) may include characteristic information of the robot (100), characteristic information of an external robot (200), and map data for the driving space. In addition, various information (e.g., driving target time, waypoint) regarding the driving of the robot (100) obtained by the processor (140) through the interface (130) may be stored in the memory (110).
[0069] Here, the “driving path that the robot (100) and the external robot (200) can sequentially pass through” may mean a driving path that the robot (100) and the external robot (200) can sequentially arrive at the destination without worrying about the load loaded on the robot (100) and the external robot (200) falling or being damaged, and may include a driving path that the robot (100) and the external robot (200) can sequentially arrive at the destination without hitting a wall or other obstacles existing within the driving space. Alternatively, when the weight of the object loaded on the robot (100) or the external robot (200) is very heavy, an area where floor damage does not occur during the transport process may be included in the driving path. Alternatively, when the object loaded on the robot (100) or the external robot (200) is a product that is easily damaged by external impact (e.g., glass product, etc.), the processor (140) may set the driving path to an area where there are no or few moving objects.
[0070] In one embodiment, the processor (140) may use the external characteristic information of the robot (100) and the external characteristic information of the external robot (200) to set a driving path that the robot (100) and the external robot (200) can sequentially pass through. A method by which the processor (140) sets a driving path that the robot (100) and the external robot (200) can sequentially pass through will be described in detail in the description of FIG. 3 below.
[0071] FIG. 3 is a drawing for explaining a method for setting a driving path of a robot according to at least one embodiment of the present disclosure.
[0072] According to FIG. 3, the processor (140) can set a driving path based on the external characteristic information of the first external robot (201) or the second external robot (202) connected to the robot (100).
[0073] For example, as illustrated in FIG. 3, the processor (140) can set a first driving route (301) that drives to the destination by passing through a narrow road among two roads that must be passed to drive to the destination, or a second driving route (302) that drives to the destination by passing through a wide road.
[0074] In one embodiment, when the external robot connected to the robot (100) is the first external robot (201), the processor (140) can receive external characteristic information of the first external robot (201) through the interface (130) and store it in the memory (110). Based on information about the horizontal length of the first external robot (201) among the external characteristic information of the first external robot (201) stored in the memory (110), the processor (140) can identify whether the robot (100) and the first external robot (201) can sequentially pass through a narrow path existing in the driving space.
[0075] Specifically, the processor (140) can obtain information about the width of the narrow road based on map data for the driving space stored in the memory (110) and compare the width of the narrow road with the horizontal length of the robot (100) and the horizontal length of the first external robot (201), respectively. If the processor (140) determines that either the horizontal length of the robot (100) or the horizontal length of the first external robot (201) is greater than the width of the narrow road, the robot (100) and the first external robot (201) cannot sequentially pass through the narrow road, and thus the first driving path (301) can be identified as being impossible to drive. Conversely, if the processor (140) determines that both the horizontal length of the robot (100) and the horizontal length of the first external robot (201) are smaller than the width of the narrow passage, the robot (100) and the first external robot can sequentially pass through the narrow passage, and thus the first driving path (301) can be identified as being drivable. If the horizontal length of an object loaded on the first external robot (201) is greater than the horizontal length of the first external robot (201), the processor (140) can also identify whether or not drivability is impossible based on the horizontal length of the object.
[0076] Accordingly, the processor (140) can set the driving path to the first driving path (301) when the external robot connected to the robot (100) is the first external robot (201) whose horizontal length is smaller than the width of the narrow passage. In addition, the processor (140) can set the driving path to the second driving path (302) when the second external robot (202) is connected to the robot (100) because the horizontal length of the second external robot (202) is larger than the width of the narrow passage and smaller than the width of the wide passage.
[0077] In the above description, only the method of setting a driving path based on the horizontal length of the robot (100) and the external robot (200) and the width information of the path has been described, but this is only one example, and it is also possible to identify whether a driving path is passable based on various characteristics of the robot (100), such as comparing the height information of the robot (100) and the external robot (200) with the height of the driving space.
[0078] In the above description, it was said that information on the width of a narrow road existing in a driving space can be obtained based on the map data stored in the memory (110), but this is only one example, and it is of course possible to obtain distance information on a driving space based on sensing data obtained through various sensors capable of detecting distance, such as a lidar sensor, a TOF sensor, and a camera, equipped in the robot (100).
[0079] FIG. 4 is a drawing for explaining a method for setting a driving path of a robot according to at least one embodiment of the present disclosure.
[0080] According to FIG. 4, the processor (140) can set a driving path based on the turning radius of an external robot (200) connected to the robot (100).
[0081] The turning radius indicates the distance that the robot (100) or external robot (200) is from the center of rotation of the curved path when the robot (100) or external robot (200) is driving on a curved path. In order to conserve angular momentum, the larger the size of the rotating robot, the larger the turning radius must be.
[0082] For example, as shown in FIG. 4, since the size of the robot (100) is smaller than that of the external robot (200), the robot (100) can drive along the third driving path (303) with a smaller turning radius, whereas the external robot (200) can only drive along the fourth driving path (304) with a larger turning radius.
[0083] In one embodiment, when the robot (100) is connected to an external robot (200), the processor (140) can obtain driving characteristic information including the turning radius of the external robot (200) through the interface (130) and store the information in the memory (110), compare the turning radius of the robot (100) stored in the memory (110) with the turning radius of the external robot (200), identify a larger value, and then set only a curved path having a turning radius greater than or equal to the identified value as a driving path. Specifically, if the turning radius of the robot (100) is 1 m while the turning radius of the external robot (200) is 3 m, the processor (140) can set the curved path to have a turning radius of 3 m or greater when the driving path must include a curved path.
[0084] As illustrated in FIG. 4, when the robot (100) and the external robot (200) are connected, the processor (140) can set the fourth driving path (304) with a larger turning radius than the third driving path (303) as the driving path based on the turning radius of the external robot (200).
[0085] In the above description, a method for setting a driving path based on information about a turning radius among driving characteristic information by the processor (140) is exemplified, but this is only one example, and it is of course possible to set a driving path based on various driving characteristic information such as maximum driving speed and driving method.
[0086] For example, when a robot (100) is connected to an external robot (200), the processor (140) can obtain maximum driving speed information of the external robot (200) through the interface (130) and store it in the memory (110). Then, the processor (140) can compare the maximum driving speed of the robot (100) stored in the memory (110) with the maximum driving speed of the external robot (200) to identify a smaller value, and can identify the driving speeds of the robot (100) and the external robot (200) based on the identified smaller value.
[0087] Here, “maximum driving speed” may mean the maximum speed at which the robot (100) can drive. That is, it may mean the driving speed of the robot (100) determined based on the output of the driving unit (120) provided in the robot (100), the weight of the robot (100), etc.
[0088] In one embodiment, if the maximum driving speed of the robot (100) is 4 m / s, while the maximum driving speed of the external robot (200) is 2 m / s, the processor (140) can identify the driving speeds of the robot (100) and the external robot (200) as 2 m / s, and control the driving unit (120) so that the robot (100) and the external robot (200) can drive at the identified driving speeds.
[0089] In another embodiment, the processor (140) may set a path that can be driven within a target time as a driving path among a plurality of paths that can be driven to a destination based on the identified driving speed. For example, if the objects loaded on the robot (100) and the external robot (200) must be transported to the destination within 30 seconds, the target time may be 30 seconds. In this case, assuming that there are a total of three paths that can be driven to the destination and that each path includes a driving distance of 60 m, 90 m, and 120 m, in order to drive each path within 30 seconds, the driving speeds of 2 m / s, 3 m / s, and 4 m / s, respectively, must be driven. If the driving speed identified by the processor (140) as described above is 2 m / s, only the path that includes a driving distance of 60 m among the three paths can be a path that can be driven at the identified driving speed within the target time. Accordingly, the processor (140) can set a path including a driving distance of 60 m among multiple paths as a driving path, and can control the driving unit (120) so that the robot (100) and the external robot (200) can drive along the set driving path.
[0090] In the above description, a method for setting a driving path based on characteristic information of a robot (100) and an external robot (200) is described in detail. In the description of FIGS. 5 to 7 described below, a method for connecting a robot (100) and an external robot (200) will be described in detail.
[0091] FIG. 5 is a drawing for explaining a physical connection method of a robot according to at least one embodiment of the present disclosure.
[0092] Figure 5 shows a connection structure between a connection part (150) of a robot (100) and a connection part (250) of an external robot (200).
[0093] The connecting portion (150) is a structure that forms a physical connection between the robot (100) and an external robot (200), and may be formed to protrude from the rear or side of the robot (100). The connecting portion (150) may include a plurality of connecting members (151-1, 151-2), a linear motion detection sensor (152), and a rotational motion detection sensor (153).
[0094] Since the connection part (250) provided in the external robot (200) can also be formed with the same or similar structure, only the connection part (150) will be described below.
[0095] A plurality of connecting members (151-1, 151-2) may be rotatably connected to each other. For example, a bearing or other lubricating member may be provided between the first connecting member (151-1), the second connecting member (151-2) and the rotation shaft to reduce friction. Specifically, the first connecting member (151-1) may have a receiving portion implemented as a cylindrical empty space, and the second connecting member (151-2) may have a cylindrical protrusion that can be received in the receiving portion provided in the first connecting member (151-1). The protrusion of the second connecting member (151-2) is received in the receiving portion of the first connecting member (151-1), and a bearing or the like is arranged in the received protrusion, so that the first connecting member (151-1) and the second connecting member (151-2) may be rotatably coupled about the center of the cylinder as the rotation axis.
[0096] In addition, the second connecting member (151-2) can be connected to the connecting portion (250) of the external robot (200) so as to enable linear movement. For example, the second connecting member (151-2) can be connected in a linear form between the connecting portion (250) of the external robot (200), and through this, while the robot (100) and the external robot (200) are moving together, the human power of the robot (100) can be directly transferred to the external robot (200). An elastic body may be provided in the second connecting member (151-2), and a connecting member such as an elastic body that enables linear movement may be provided at the connection portion between the second connecting member (151-2) and the connecting portion (250) of the external robot (200).
[0097] For example, the second connecting member (151-2) may have a cylindrical body, and the connecting portion (250) of the external robot (200) may have a receiving portion that can receive the cylindrical body. The body of the second connecting member (151-2) may be coupled in a form that is received in the receiving portion of the connecting portion (250) of the external robot (200). In this case, an elastic body may be placed within the receiving portion. Due to the elastic body, the second connecting member (151-2) and the connecting portion (250) of the external robot (200) may be able to move in a straight line, such as moving away from each other and then moving closer to each other, within a maximum deformation distance range.
[0098] In the above description, it has been exemplified that a plurality of connecting parts (150, 250) can be connected to each other by having a cylindrical protrusion or a cylindrical body, but this is only one example, and the plurality of connecting members (151) are not limited to the above examples and can be implemented in various forms that can be connected.
[0099] In the above description, it has been exemplified that the connection between the plurality of connecting parts (150, 250) is formed by a bearing or an elastic body, but this is only one example, and it is obvious that the plurality of connecting members (151) are not limited to the above-described example and can be connected by various joining members.
[0100] The linear motion detection sensor (152) is a sensor for detecting linear motion between the second connecting member (151-2) connected to enable linear motion and the connecting portion (250) of the external robot (200). The linear motion detection sensor (152) can be implemented with various sensors such as an acceleration sensor and a stress sensor. In one embodiment, when the linear motion detection sensor (152) is implemented with an acceleration sensor, the processor (140) can measure an acceleration change of the second connecting member (151-2) based on the sensing data of the linear motion detection sensor (152), and can calculate a change in connection distance between the second connecting member (151-2) and the connecting portion (250) of the external robot (200) based on the acceleration change amount of the second connecting member (151-2). In another embodiment, when the linear motion detection sensor (152) is implemented as a stress detection sensor, the processor (140) can measure the stress applied to the elastic body based on the sensing data of the linear motion detection sensor (152), and can calculate the change in the connection distance between the second connection member (151-2) and the connection portion (250) of the external robot (200) based on the measured stress value.
[0101] In the above description, it has been described only that the linear motion detection sensor (152) can be implemented as an acceleration sensor or a stress sensor, but this is merely an example, and the linear motion detection sensor (152) is not limited to the above-described examples and may be implemented as various sensors capable of detecting distances, such as a hall sensor or an infrared sensor. In addition, although FIG. 5 illustrates that only one linear motion detection sensor (152) is provided in the connecting portion (150), a plurality of linear motion detection sensors (152) may be provided in the connecting portion (150) depending on the number of connecting members that are combined to enable linear motion.
[0102] The rotary motion detection sensor (153) is a sensor for detecting rotary motion between a plurality of connecting members (151-1, 151-2) that are connected to enable rotary motion. At least one rotary motion detection sensor (153) may be provided in the connecting portion (150), and the rotary motion detection sensor (153) may be implemented as an encoder. When the rotary motion detection sensor (153) is implemented as an encoder, the processor (140) can identify a connection angle between the connecting members based on sensing data of the rotary motion detection sensor (153). Specifically, the rotary motion detection sensor (153) can output data on how much the rotating disk has rotated by scanning an optically binary-encoded position code on the rotating disk, and the processor (140) can identify in which direction the rotation between the connecting members has occurred and how much the rotation between the connecting members has occurred based on the data output from the rotary motion detection sensor (153). Ultimately, the processor (140) can identify the connection angle between the connecting members constituting the connecting portion (150).
[0103] In the above description, it has been exemplified that the rotational motion detection sensor (153) can be implemented as an encoder, but this is only one example, and the rotational motion detection sensor (153) is not limited to the above-described example, and may be implemented as various sensors capable of detecting rotational motion, such as a Hall sensor or an acceleration sensor. In addition, although FIG. 5 illustrates that only two rotational motion detection sensors (153) are provided in the connecting portion (150), a variety of rotational motion detection sensors (153) may be provided in the connecting portion (150) depending on the number of connecting members that are combined to enable rotational motion.
[0104] Although Fig. 5 only illustrates two robots being connected by connecting portions (150, 250), this is for convenience of explanation, and it is of course possible for n robots to be connected in sequence by n-1 connecting portions. For example, the connecting portion (150) of the robot (100) may be directly connected to a receiving portion provided in the main body of the external robot (200).
[0105] In addition, although FIG. 5 only shows the connection part (150) provided on the rear of the robot (100), the connection parts (150) may be provided on the left and right sides of the robot (100), and in this case, the robot (100) may be connected to one external robot each on the left, right, and rear sides, so that up to three external robots may be connected to the robot (100).
[0106] The processor (140) can determine a virtual shape based on the connection status between the robot (100) and the external robot (200) when the robot (100) is connected to the external robot (200) by the connection part (150).
[0107] Here, the "virtual shape" may be a shape of a robot arbitrarily determined by the processor (140) to set a driving path. That is, when multiple robots are connected to each other, the virtual robot with a large overall area may be treated as if it is driving by considering the position, size, and turning radius of each robot. For example, it may mean an arbitrary shape determined by the processor (140) based on the external characteristic information of the robot (100) and the external robot (200) and the connection form of the robot (100) and the external robot (200). The method by which the processor (140) determines the virtual shape will be described in detail in the description of FIG. 6 described below.
[0108] FIG. 6 is a drawing for explaining a method for determining a virtual shape of a robot according to at least one embodiment of the present disclosure.
[0109] According to FIG. 6, the processor (140) can determine a virtual shape (410) based on the external characteristic information of the robot (100) and the external robot (200) and the physical connection form of the robot (100) and the external robot (200).
[0110] In one embodiment, it can be assumed that both the robot (100) and the external robot (200) have a rectangular parallelepiped shape, and the robot (100) and the external robot (200) are physically connected by a connecting portion (150) as illustrated in FIG. 5. The processor (140) can identify the horizontal length (w2) of the external robot, which has a larger value among the horizontal lengths of the robot (100) and the external robot (200), as the horizontal length of the virtual shape (410). In addition, the processor (140) can identify the sum of the vertical length (h1) of the robot (100), the vertical length (h2) of the external robot (200), and the connection distance (h3) by the connecting portion (150) as the vertical length of the virtual shape (h1+h2+h3). Finally, the processor (140) can determine the shape of a rectangular solid having a horizontal length of w2 and a vertical length of h1+h2+h3 as a virtual shape.
[0111] Since the processor (140) must set a driving path that the robot (100) and the external robot (200) connected to the robot (100) can sequentially pass through, it can determine a single virtual shape in which the robot (100) and the external robot (200) are combined as described above. In Fig. 6, the case in which the connection angle between the robot (100) and the external robot (200) is 0 degrees is illustrated, but in cases where the connection angle is not 0 degrees, the virtual shape can be determined by also considering the connection angle between the robot (100) and the external robot (200).
[0112] In one embodiment, returning to FIG. 5, the connection angle between the robot (100) and the external robot (200) may change to various values depending on the movement of the robot (100). Therefore, the processor (140) needs to identify the physical connection form of the robot (100) and the external robot (200) that changes depending on the movement of the robot, and determine a virtual shape based on the identified physical connection form. To this end, the processor (140) can identify the connection distance and connection angle between the robot (100) and the external robot (200) based on the sensing data of the linear motion detection sensor (152) and the rotational motion detection sensor (153), thereby accurately identifying the physical connection form of the robot (100) and the external robot (200).
[0113] The method for determining a virtual shape based on the identified physical connection type will be described in detail in the description of FIG. 8 below.
[0114] When the virtual shape (410) is determined by the above-described method, the processor (140) can set a driving path that the virtual shape (410) can pass through within the driving space based on map data for the driving space stored in the memory (110), driving characteristic information of the robot (100), and driving characteristic information of the external robot (200).
[0115] Here, the term "traveling path that a virtual shape (410) can pass" may mean a path that any driving device having a virtual shape (410) can normally travel to a destination without hitting a wall or obstacle existing in space, assuming that there is any driving device. For example, the driving path may include only a road section having a width greater than the horizontal length of the virtual shape (410) and only a curved path having a turning radius greater than the turning radius of the virtual shape (410).
[0116] The processor (140) can compare the turning radius of the robot (100) and the turning radius of the external robot (200) among the driving characteristic information and identify the larger value as the turning radius of the virtual shape (410). In addition, the processor (140) can compare the maximum driving speed of the robot (100) and the maximum driving speed of the external robot (200) among the driving characteristic information and identify the smaller value as the driving speed of the virtual shape (410). When the turning radius and the driving speed of the virtual shape (410) are identified, the processor (140) can set a driving path that includes only curved paths having a turning radius greater than or equal to the size of the identified turning radius, and on which the virtual shape (410) can drive to the destination within a target time (for example, 30 seconds) based on the driving speed of the virtual shape (410).
[0117] In the above description, only the method of setting a driving path that a virtual shape (410) can pass through based on the turning radius or maximum driving speed among the driving characteristic information is exemplified. However, the driving path may be set based on information about the driving method of the robot (100) and the external robot (200) among the driving characteristic information, and the driving path that a virtual shape (410) can pass through may be set based on various driving characteristic information, without being limited to the above-described example.
[0118] For example, if the driving characteristic information includes information that both the robot (100) and the external robot (200) are equipped with a differential driving module that can move in any direction without rotation of the main body, the processor (140) may set the driving path to include only a straight path.
[0119] Although the above description only explains that a physical connection between the robot (100) and the external robot (200) can be formed through the connection portion (150), a connection between the robot (100) and the external robot (200) can also be formed by the processor (140) providing the external robot (200) with a control signal to position the robot (100) within a certain range, and this will be described in detail in the description of FIG. 7 described below.
[0120] FIG. 7 is a drawing for explaining a method of connecting a robot and an external robot according to at least one embodiment of the present disclosure.
[0121] According to FIG. 7, the processor (140) can provide a control signal to the external robot (200) to move the marker (160) provided on the exterior of the robot (100) to a sensing position through the interface (130).
[0122] Here, the marker (160) may refer to a mark provided on the exterior of the robot (100) and having a special pattern, shape, or color that is distinct from the exterior of the robot (100). For example, the marker (160) may be implemented as a "fiducial marker" composed of black and white, and may also be implemented with a special color that is distinct from the exterior color of the robot (100). In addition, the marker (160) may be replaced by various terms such as mark, code, pattern, tag, etc.
[0123] If the external robot (200) is equipped with a sensor (210) such as a camera or a lidar sensor, it is determined whether the sensor (210) equipped in the external robot (200) can sense the marker (160) depending on the position of the external robot (200) or the direction in which the front of the external robot (200) is facing. Accordingly, if the processor (140) continuously changes the position and direction of the external robot (200) so that the sensor equipped in the external robot (200) can sense the marker (160) equipped on the rear of the robot (100), the external robot (200) can eventually move along the same driving path to the same destination as the robot (100). To this end, the processor (140) can transmit a control signal to the external robot (200) via a communication interface or an input / output interface to move to a position where the marker (160) can be sensed.
[0124] When an external robot (200) moves to a position where it can sense a marker (160) and senses the marker (160), the processor (140) can obtain sensing data from the external robot (200) through the interface (130) that the sensor (210) of the external robot (200) senses the marker (160). Then, the processor (140) can identify the relative position of the external robot (200) with respect to the robot (100) based on the sensing data.
[0125] When the sensor (210) of the external robot (200) includes a camera, the processor (140) can obtain an image of the marker (160) and sensor parameters of the camera from the external robot (200). Here, the sensor parameters may refer to parameters required to convert sensing data obtained through the sensor into data in a desired format, and the sensor parameters of the camera may include the camera's principal point, focal length, and the position at which the camera is attached to the external robot.
[0126] When the marker (160) is implemented as an RF (Radio Frequency) tag or an NFC (Near Field Communication) tag, the sensor (210) may be implemented as an RF reader or an NFC reader.
[0127] The processor (140) can perform an operation based on the sensor parameters of the camera on the image captured by the marker (160), thereby identifying the relative position of the external robot (200) with respect to the robot (100). For example, the processor (140) can assume the coordinates of the center of the marker (160) as (0,0,0), and can identify that the coordinates of the camera equipped in the external robot (200) are (5,5,5) through an operation based on the sensor parameters. Since the processor (140) can know in which part of the exterior of the robot (100) the marker (160) is displayed, and can know in which part of the external robot (200) the camera is equipped based on the sensor parameters, the processor (140) can ultimately identify the relative position of the external robot (200) with respect to the robot (100) and even the direction that the front of the external robot (200) is facing.
[0128] In the above description, the case where the sensor (210) of the external robot (200) is a camera is exemplified, but this is only one example, and if the sensor (210) of the external robot (200) is a lidar sensor, the processor (140) can identify the relative position of the external robot (200) with respect to the robot (100) based on the sensing data and sensor parameters of the lidar sensor, and of course, the relative position can be identified based on sensing data of various sensors.
[0129] When the relative position of the external robot (200) is identified, the processor (140) can determine a virtual shape based on the identified relative position and information stored in the memory. For example, the processor (140) can identify how far the external robot (200) is from the robot (100) based on the relative position of the external robot (200), and can identify the shape and size of the robot (100) and the external robot (200) based on the external characteristic information of the robot (100) and the external robot (200) stored in the memory (110). Therefore, even when the robot (100) and the external robot (200) are not physically connected, the processor (140) can determine a virtual shape (410) as illustrated in FIG. 6 based on the above-described identification result. Since the method for determining the virtual shape (410) has been described in detail in the description of FIG. 6, a detailed description thereof will be omitted.
[0130] For convenience of explanation, FIG. 7 illustrates a scene where one external robot (200) senses a marker (160) provided on the rear of a robot (100). However, markers (160) may also be provided on the side of the robot (100), and when the robot (100) is provided with multiple markers (160), each of the multiple external robots (200) may be controlled to sense one marker (160), thereby allowing multiple external robots (200) to be connected to the robot (100). In addition, in FIG. 7, a marker (160) may also be provided on the rear of the external robot (200), so that another robot may be controlled to sense a marker (160) provided on the rear of the external robot (200), and in this manner, two or more robots may be connected in sequence.
[0131] FIG. 8 is a drawing for explaining a method for resetting a driving path of a robot according to at least one embodiment of the present disclosure.
[0132] According to FIG. 8, the processor (140) can regenerate a virtual shape (420, 430) at preset intervals and can re-establish a driving path based on the re-generated virtual shape (420, 430).
[0133] For example, if the preset cycle is 3 seconds, the processor (140) can identify the connection type of the robot (100) and the external robot (200) every 3 seconds. Here, “identifying the connection type” may include identifying the connection distance and connection angle between the robot (100) and the external robot (200), and may also include identifying the relative position of the external robot (200). By identifying the connection type of the robot (100) and the external robot (200) every 3 seconds, the processor (140) can determine a virtual shape corresponding to the connection state of the robot (100) and the external robot (200) every 3 seconds. That is, the processor (140) can identify that the connection angle of the robot (100) and the external robot (200) was θ1 3 seconds ago, but that the connection angle is currently θ2. Additionally, the processor (140) can identify that the connection distance between the robot (100) and the external robot (200) was 1 m 3 seconds ago, but is now 1.5 m.
[0134] In the above description, the processor (140) identifies only the connection type of the robot (100) and the external robot (200) and regenerates a virtual shape, but this is only one example, and when new robots are connected to the rear of the external robot (200), the processor (140) can re-identify the number of connected robots at preset intervals and regenerate a virtual shape corresponding to the connection status of three or more robots, and the processor (140) can of course regenerate a virtual shape based on various characteristics such as the number, shape, and position of the robots.
[0135] The processor (140) regenerates a virtual shape at preset intervals to identify whether driving is possible along a driving route, and if driving is determined to be impossible, the driving route can be reset based on the regenerated virtual shape and information stored in the memory (110).
[0136] Here, "determining that the vehicle is unable to drive" may mean that the processor (140) determines that the virtual shape regenerated cannot pass through the previously set driving path. For example, if the horizontal length of the regenerated virtual shape is longer than that of the existing virtual shape and cannot pass through a narrow passageway on the previously set driving path, the processor (140) may determine that the vehicle is unable to drive.
[0137] The processor (140) can reset the driving path that the re-generated virtual shape can pass through based on the map data stored in the memory (110) and the characteristic information of the robot (100) and the external robot (200). The method for setting the driving path that the virtual shape can pass through has been described in detail in the description of FIG. 6, so a description thereof will be omitted.
[0138] FIG. 9 is a drawing for explaining a method for setting a driving path of a physically connected robot according to at least one embodiment of the present disclosure.
[0139] According to FIG. 9, the robot can form a physical connection with an external robot (S910). For example, the robot can form a physical connection with the external robot through a connection provided on the rear of the robot. Here, the connection may be comprised of a plurality of connection members, at least one linear motion detection sensor, and at least one rotational motion detection sensor.
[0140] Next, the robot can acquire characteristic information about the external robot (S920). Here, the characteristic information may include external characteristic information and driving characteristic information. Furthermore, the external characteristic information may include information about the robot's shape, size, etc., while the driving characteristic information may include information about the robot's turning radius, maximum driving speed, driving method, etc.
[0141] Next, the robot can determine a virtual shape based on the physical connection configuration of the robot and the external robot (S930). Specifically, the robot can identify at least one of a connection angle and a connection distance between the robot and the external robot based on the sensing value of at least one sensor included in the connection unit, and can determine a virtual shape corresponding to the connection configuration of the robot and the external robot based on at least one of the identified connection angle and connection distance.
[0142] Next, the robot can set a driving path that the virtual shape can pass through (S940). For example, the robot can set a driving path that allows the determined virtual shape to move to the destination without colliding with walls or obstacles included in the driving space. Specifically, the robot can identify the turning radius of the virtual shape as the larger value between the turning radius of the robot and the turning radius of an external robot, and can also identify the driving speed of the virtual shape as the smaller value between the maximum driving speed of the robot and the maximum driving speed of an external robot.
[0143] FIG. 10 is a drawing for explaining a method for setting a driving path of a robot including a marker according to at least one embodiment of the present disclosure.
[0144] According to FIG. 10, the robot can provide a control signal to an external robot to move a marker provided on the exterior of the robot to a sensing position (S1010).
[0145] Next, when sensing data of a marker is acquired from an external robot, the robot can identify the relative position of the external robot based on the sensing data (S1020). For example, if the sensor of the external robot is a camera, the robot can acquire an image of the marker and sensor parameters of the camera from the external robot, and identify the relative position of the external robot based on the image of the marker and the sensor parameters of the camera. Specifically, the robot can calculate the relative position of the external robot by performing a calculation based on the sensor parameters of the camera on the image data of the marker.
[0146] Next, the robot can determine a virtual shape based on the relative position of the identified external robot (S1030).
[0147] Next, the robot can set a driving path along which the determined virtual shape can pass (S1040).
[0148] The various methods described in FIGS. 9 and 10 can be performed by a robot having the configuration shown in FIG. 2, but are not necessarily limited thereto, and can be performed by a robot having various configurations.
[0149] While various embodiments have been described individually or in combination above, each embodiment is not necessarily implemented independently. That is, the various embodiments described above may be implemented together in whole or in part with at least one other embodiment in a single product.
[0150] Meanwhile, the methods according to the various embodiments of the present disclosure described above may be implemented in the form of applications that can be installed on existing robots.
[0151] Additionally, the methods according to the various embodiments of the present disclosure described above can be implemented only with a software upgrade or a hardware upgrade for an existing robot.
[0152] Additionally, the various embodiments of the present disclosure described above may be performed through an embedded server provided in the robot, or at least one external server.
[0153] Meanwhile, according to a temporary example of the present disclosure, 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 device 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 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 under the control of the processor by using other components. The instruction may include code generated or executed by a compiler or interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' means that the storage medium does not contain a signal and is tangible, but does not distinguish between whether data is stored semi-permanently or temporarily in the storage medium.
[0154] Furthermore, 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. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-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 generated in a storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
[0155] In addition, each of the components (e.g., modules or programs) according to the various embodiments described above may be composed of a single or multiple entities, and some of the corresponding sub-components described above may be omitted, or other sub-components may be further included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity, which may perform the same or similar functions as those performed by each of the corresponding components prior to integration. Operations performed by modules, programs or other components according to various embodiments may be executed sequentially, in parallel, iteratively or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added.
[0156] 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 having ordinary skill 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, drive unit; A memory for storing characteristic information of the above robot and map data for the driving space; interface; and comprising at least one processor; At least one processor of the above, When characteristic information of at least one external robot to drive along the robot is acquired through the interface, the characteristic information of the at least one external robot is stored in the memory, Based on the information stored in the memory, a driving path is set through which the robot and at least one external robot can sequentially pass within the driving space, A robot that controls the driving unit to drive along the above driving path.
2. In paragraph 1, The above characteristic information includes appearance characteristic information and driving characteristic information. At least one processor of the above, When at least one external robot is physically connected to the robot, A virtual shape is determined based on the external characteristic information of the robot, the external characteristic information of the at least one external robot, and the physical connection form of the robot and the at least one external robot among the information stored in the memory, A robot that sets a driving path through which the virtual shape can pass within the driving space based on map data for the driving space, driving characteristic information of the robot, and driving characteristic information of at least one external robot.
3. In paragraph 2, Further comprising a connecting portion physically connectable to at least one external robot; The above connecting portion comprises at least one sensor, At least one processor of the above, Based on the sensing value of the at least one sensor, at least one of a connection angle and a connection distance between the robot and the at least one external robot is identified, A robot that determines the virtual shape based on at least one of the connection angle and connection distance and information stored in the memory.
4. In paragraph 1, Further comprising a marker provided on the exterior of the robot; The above characteristic information includes appearance characteristic information and driving characteristic information. At least one processor of the above, Providing a control signal to move the marker to a senseable position to at least one external robot through the interface, When sensing data sensing the marker from at least one external robot is acquired, a relative pose of the at least one external robot with respect to the robot is identified based on the sensing data, Determine a virtual shape based on the identified relative position and information stored in the memory, A robot that sets a driving path that the virtual shape can pass through within the driving space based on map data for the driving space, driving characteristic information of the robot, and driving characteristic information of at least one external robot.
5. In paragraph 4, At least one processor of the above, The camera of at least one external robot acquires a photographed image of the marker and sensor parameters of the camera through the interface, A robot that identifies the relative position of the external robot to the robot based on the captured image and the sensor parameters.
6. In paragraph 2, At least one processor of the above, While the robot and at least one external robot drive along the driving path, the virtual shape is regenerated at preset intervals to identify whether driving along the driving path is possible, A robot that, when judged to be unable to drive, resets the driving path based on the re-generated virtual shape and the information stored in the memory.
7. In paragraph 1, The driving characteristic information of the robot includes the turning radius and maximum driving speed of the robot, The driving characteristic information of the external robot includes the turning radius and maximum driving speed of the external robot, At least one processor of the above, A larger value among the turning radius of the above robot and the turning radius of the external robot is identified as the turning radius, and the turning radius of the curved path during the driving path is set to be greater than the identified turning radius. Identify the driving speed as a smaller value between the maximum driving speed of the robot and the maximum driving speed of the external robot, A robot that sets a path that can be driven at the identified driving speed within the target time as the driving path among a plurality of paths that can be driven within the driving space.
8. In paragraph 1, The driving characteristic information of the above robot includes the maximum driving speed of the robot, The driving characteristic information of the external robot includes the maximum driving speed of the external robot, At least one processor of the above, A robot that identifies a driving speed as a smaller value between the maximum driving speed of the robot and the maximum driving speed of the external robot, and controls the driving unit to drive at the identified driving speed.
9. In terms of the robot’s driving method, When characteristic information of at least one external robot to drive following the robot is acquired, a step of setting a driving path through which the robot and the at least one external robot can sequentially pass within a driving space based on the characteristic information of the robot and the characteristic information of the at least one external robot; and A driving method of a robot, comprising: a step of driving along the above driving path.
10. In paragraph 9, The step of setting a driving path through which the robot and the at least one external robot can sequentially pass within the driving space is as follows. A step of determining a virtual shape based on the external characteristic information of the robot, the external characteristic information of the at least one external robot, and the physical connection form of the robot and the at least one external robot, when the at least one external robot is physically connected to the robot; and A driving method of a robot, comprising: a step of setting a driving path through which the virtual shape can pass within the driving space based on map data for the driving space, driving characteristic information of the robot, and driving characteristic information of at least one external robot.
11. In paragraph 10, The step of determining the above virtual shape is: A step of identifying at least one of a connection angle and a connection distance between the robot and the at least one external robot based on a sensing value of at least one sensor of a connection part provided in the robot; and A method for driving a robot, comprising: a step of determining the virtual shape based on the external characteristic information of the robot, the external characteristic information of at least one external robot, and the identification result.
12. In paragraph 9, A step of providing a control signal to at least one external robot to move to a position corresponding to a position of a marker provided on the exterior of the robot; When sensing data sensing the marker from at least one external robot is acquired, a step of identifying a relative position of the at least one external robot with respect to the robot based on the sensing data; A step of determining a virtual shape based on the identified relative position, the external appearance characteristic information of the robot, and the external appearance characteristic information of at least one external robot; and A driving method of a robot, comprising: a step of setting a driving path through which the virtual shape can pass within the driving space based on map data for the driving space, driving characteristic information of the robot, and driving characteristic information of at least one external robot.
13. In paragraph 12, The step of identifying the relative position of at least one external robot with respect to the robot comprises: A step of obtaining a photographed image of the marker and sensor parameters of the camera by the camera of at least one external robot; and A method for driving a robot, comprising: a step of identifying a relative position of the external robot with respect to the robot based on the photographed image and the sensor parameters; 14. In paragraph 10, A step of regenerating the virtual shape at preset intervals while the robot and at least one external robot drive along the driving path to identify whether driving along the driving path is possible; and A method for driving a robot, further comprising: a step of re-establishing the driving path based on the re-generated virtual shape when it is determined that driving is impossible.
15. A non-transitory computer-readable recording medium storing computer instructions that, when executed by a processor of the robot, cause the robot to perform an action, wherein the action is: When characteristic information of at least one external robot to drive following the robot is acquired, a step of setting a driving path through which the robot and the at least one external robot can sequentially pass within a driving space based on the characteristic information of the robot and the characteristic information of the at least one external robot; and A computer-readable recording medium comprising: a step of controlling the robot to drive based on the driving path.
Citation Information
Patent Citations
Autonomous mobile robot
JP2019117431A
Movement planning for autonomous mobile robots
JP2020532018A
System for Providing Self-Driving by using Trailer Information
KR102490073B1
Electronic device incuding glass plate
KR102763209B1
KR20230089406A