A robot resource sharing method, device, equipment and storage medium
By querying the robot's local resource library and obtaining updated robot information, the problem of backend pressure and data chaos during robot resource updates is solved, and efficient resource sharing is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- KEENON ROBOTICS CO LTD
- Filing Date
- 2022-01-29
- Publication Date
- 2026-04-24
AI Technical Summary
In existing technologies, updating robot resources requires downloading resources directly from the robot's backend, which increases the bandwidth pressure on the backend server and wastes robot traffic, thus affecting resource acquisition efficiency.
The robot queries the local resource library for the target resource. If the target resource is not found, it sends a resource update request to the backend. The backend sends the updated robot information, and the robot to be updated retrieves the target resource from the local resource library of the updated robot.
This reduces the pressure on the robot's backend, avoids data chaos during resource acquisition, enables offline resource sharing by the robot, and improves resource acquisition efficiency.
Smart Images

Figure CN114489734B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a method, apparatus, device, and storage medium for sharing robot resources. Background Technology
[0002] Robots have been applied across various industries, and multiple robots can work together in a robotic workplace. Each robot needs to update its software resources in a timely manner to improve its work efficiency and accuracy.
[0003] In existing technologies, whenever a robot needs to obtain new resources such as software upgrade installation packages, it needs to search for and download these new resources from the robot's backend. This method increases the bandwidth pressure on the backend server, wastes the robot's own bandwidth, and affects the robot's resource acquisition efficiency. Summary of the Invention
[0004] This invention provides a robot resource sharing method, apparatus, device, and storage medium to improve the efficiency of robot resource acquisition.
[0005] According to one aspect of the present invention, a robot resource sharing method is provided, the method comprising:
[0006] In response to a resource update request, determine whether the target resource exists in the local resource library of the robot to be updated;
[0007] If not, the resource update request is sent to the robot backend, and the updated robot information is received from the robot backend.
[0008] Based on the updated robot information, the target resource is retrieved from the local resource library of the updated robot and added to the local resource library of the robot to be updated.
[0009] According to another aspect of the present invention, a robot resource sharing device is provided, the device comprising:
[0010] The target resource determination module is used to determine whether the target resource exists in the local resource library of the robot to be updated in response to a resource update request.
[0011] The robot information receiving module has been updated. If not, it sends the resource update request to the robot backend and receives the updated robot information sent by the robot backend.
[0012] The target resource acquisition module is used to acquire the target resource from the local resource library of the updated robot and add it to the local resource library of the robot to be updated, based on the updated robot information.
[0013] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0014] At least one processor; and
[0015] A memory communicatively connected to the at least one processor; wherein,
[0016] The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the robot resource sharing method according to any embodiment of the present invention.
[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the robot resource sharing method according to any embodiment of the present invention.
[0018] The technical solution of this invention involves querying the target resource in the local resource library of the robot to be updated. If the target resource is not found in the local resource library, a resource update request is sent to the robot's backend. Instead of directly sending the target resource to the robot to be updated, the robot's backend sends information about the robot with the updated target resource. The robot to be updated then retrieves the target resource from the local resource library of the updated robot, achieving resource sharing between the two robots. This solves the problem in existing technologies where all resource updates for each robot are completed by the robot's backend, effectively reducing the pressure on the robot's backend, avoiding data corruption during resource acquisition, enabling offline resource sharing among robots, and improving the efficiency of resource acquisition.
[0019] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 This is a flowchart illustrating a robot resource sharing method according to Embodiment 1 of the present invention;
[0022] Figure 2This is a flowchart illustrating a robot resource sharing method according to Embodiment 2 of the present invention;
[0023] Figure 3 This is a flowchart illustrating a robot resource sharing method according to Embodiment 3 of the present invention;
[0024] Figure 4 This is a schematic diagram of the structure of a robot resource sharing device according to Embodiment 4 of the present invention;
[0025] Figure 5 This is a schematic diagram of the structure of an electronic device that implements the robot resource sharing method of this invention. Detailed Implementation
[0026] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0027] It should be noted that the terms "history," "target," etc., used in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0028] Example 1
[0029] Figure 1 This is a flowchart illustrating a robot resource sharing method according to Embodiment 1 of the present invention. This embodiment is applicable to situations where robots update resources. The method can be executed by a robot resource sharing device, which can be implemented in hardware and / or software and can be configured within the robot. Figure 1 As shown, the method includes:
[0030] S110. In response to the resource update request, determine whether the target resource exists in the local resource library of the robot to be updated.
[0031] In this scenario, multiple robots can exist in a workplace. Each robot needs to update its resources periodically or irregularly; robots requiring resource updates are designated as "update-pending robots." For example, a robot may periodically issue a resource update request, instructing itself to update its resources; or a user may issue a resource update request to the robot, requesting it to update its resources. Users can select a candidate robot on the robot's screen or from the robot's backend.
[0032] Upon receiving a resource update request, the robot identifies itself as the robot awaiting an update and searches its local resource library to see if the target resource already exists. The target resource can be the latest version of the application software or the resource file corresponding to that application software function. The resource update request can include the version number of the current resource to be updated, as well as the application or function it corresponds to. For example, when the robot needs to update system software, hardware programs, or obtain resource files, it sends a resource update request to the robot's backend. Based on the resource update request, the robot's backend identifies the current resource to be updated and searches its resource library for the latest resource corresponding to that current resource.
[0033] The robot's backend can search for target resources by their version number. That is, the robot to be updated can request the latest version number of the resource from the robot's backend, which is essentially obtaining the version number of the target resource. Based on the version number, it checks its local resource library to see if the target resource exists, thus determining whether the robot has already downloaded it. The robot's local resource library can be a local resource sharing center, for example, it can include a specified folder on the robot's local machine. If the target resource exists in the local resource library, the robot to be updated will directly obtain the target resource from it. The target resource files can include resource packages, software packages, and hardware packages, etc. Resource packages can include scenes and maps, and are used by software packages and hardware packages.
[0034] S120. If not, send the resource update request to the robot backend and receive the updated robot information sent by the robot backend.
[0035] If the target resource is not present in the local resource library of the robot to be updated, the robot backend will determine which robot has already updated the target resource and designate it as the updated robot. The robot backend can obtain the update status of each robot in real time, thus enabling it to identify updated robots. The robot backend sends the updated robot information to the robot to be updated. This updated robot information may include the updated robot's robot ID, current location, and IP address (Internet Protocol Address). The robot to be updated receives the updated robot information from the robot backend.
[0036] There can be multiple updated bots. The bot backend can send information from multiple updated bots to the bot to be updated, or it can select one updated bot from among the multiple updated bots and send its information to the bot to be updated. For example, the bot backend can select the updated bot that is closest to the bot to be updated and is available, and send its information to that bot.
[0037] S130. Based on the updated robot information, retrieve the target resource from the local resource library of the updated robot and add it to the local resource library of the robot to be updated.
[0038] In this process, the robot to be updated obtains the information of the updated robot and determines that the updated robot has already downloaded the target resource. The updated robot information may include the storage path of the target resource in the updated robot. The robot to be updated retrieves the target resource from the storage path of the updated robot and stores the target resource in its own local resource library.
[0039] The robot to be updated can establish a communication connection with the updated robot, request the target resource from the updated robot according to a preset communication protocol, and then obtain and store the target resource in its local resource library. If the robot to be updated cannot obtain the target resource from the updated robot offline due to geographical or network reasons, it can also force the robot to download it from the robot's background.
[0040] In this embodiment, optionally, after obtaining the target resource from the local resource library of the updated robot, the method further includes: determining whether the historical resource corresponding to the target resource in the local resource library of the robot to be updated meets the preset deletion conditions; if so, deleting the historical resource and retaining the target resource.
[0041] Specifically, after obtaining the target resource, the robot's local resource library contains both the target resource and historical resources. Historical resources are the previous versions of resource files corresponding to the target resource before it was obtained; that is, the robot's current resources before downloading the target resource. Deletion conditions for resource files can be preset, such as a time limit for retaining historical resources after obtaining the target resource. In the local resource library, only the latest version of the target resource is saved for each type of resource file. For example, after obtaining the target resource, the corresponding historical resources are only retained for two weeks, after which they are automatically deleted. In this embodiment, the type of resource file can represent different application functions of the robot or different application software installed on the robot. The advantage of this setting is that by setting deletion conditions, the robot's local resource library can contain the latest resource files, ensuring that the robot can apply the latest version of the program, avoiding excessive data in the resource library, and saving disk space. When setting a time limit for deleting historical resources, it also allows the robot to retain older versions of resources for a period of time after obtaining the latest resource, so that if the latest resource becomes unstable, it can be promptly restored to the older version, ensuring stable robot operation.
[0042] This invention, in its embodiments, queries the local resource library of the robot to be updated for the target resource. If the target resource is not found in the local resource library, a resource update request is sent to the robot's backend. Instead of directly sending the target resource to the robot to be updated, the backend sends information about the robot with the updated target resource. The robot to be updated then retrieves the target resource from the local resource library of the updated robot, achieving resource sharing between the two robots. This solves the problem in existing technologies where all resource updates for each robot are handled by the robot's backend, effectively reducing the pressure on the backend, avoiding data corruption during resource acquisition, enabling offline resource sharing among robots, and improving the efficiency of resource acquisition.
[0043] Example 2
[0044] Figure 2 This is a flowchart illustrating a robot resource sharing method according to Embodiment 2 of the present invention. This embodiment is an optional embodiment based on the above embodiment, and the method can be executed by a robot resource sharing device.
[0045] In this embodiment, after the resource update request is sent to the robot backend, the robot backend may add the following: determine whether there is an updated robot with the updated target resource within the preset area; if so, the robot backend sends the updated robot information of the updated robot to the robot to be updated.
[0046] like Figure 2 As shown, the method includes:
[0047] S210. In response to the resource update request, determine whether the target resource exists in the local resource library of the robot to be updated.
[0048] S220. If not, send the resource update request to the robot backend.
[0049] S230: The robot backend determines whether there is an updated robot with updated target resources within the preset area.
[0050] The process involves the robot backend receiving a resource update request from the robot to be updated and then obtaining the resource update status of each robot. Each robot can send the version number of the latest resource file in its local resource library to the robot backend, which records and stores this information. In other words, the robot backend can know the current resource update status of each robot and determine whether each robot should update the target resource.
[0051] The robot to be updated sends a resource update request to the robot backend. This request can include robot information such as its ID, current location, and IP address. The robot backend can pre-store the association between robot IDs and their work areas. Upon receiving the robot's information, the backend can determine the robot's work area based on either its ID or its current location. The work area can be the location of the robot's workplace; for example, it can determine which shopping mall, restaurant, or hotel the robot is located in.
[0052] The robot backend can determine only whether an updated robot with the target resource exists within a preset area, without needing to check all robots. The preset area can be the same as the work area of the robot to be updated; determining the work area of the robot to be updated determines the preset area. In other words, it determines whether a robot within the work area of the robot to be updated has already updated the target resource; this robot is considered an updated robot.
[0053] S240. If so, the robot backend will send the updated robot information of the updated robot to the robot to be updated.
[0054] If the robot's backend determines that an updated robot exists within a preset area, it retrieves the updated robot information and sends it to the robot to be updated. The updated robot information may include the robot ID, current location, IP address, and target resource storage path. There can be one or more updated robots; the robot backend can send information about all identified updated robots to the robot to be updated. By determining updated robots within a preset area, the robot backend avoids judging the update status of a large number of robots, improving accuracy and efficiency, and thus increasing resource update efficiency. Sending updated robot information to the robot to be updated facilitates resource sharing among robots.
[0055] In this embodiment, optionally, after the robot backend determines whether there is an updated robot with updated target resources within a preset area, the method further includes: if there are at least two updated robots with updated target resources, then according to a preset robot selection rule, a target robot is determined from the at least two updated robots, and the target robot information is sent to the robot to be updated.
[0056] Specifically, if the robot backend determines that there are at least two updated robots with updated target resources within a preset area, the robot backend can select one from the multiple updated robots and send the information of the selected updated robot to the robot to be updated. The robot backend can select randomly or according to preset selection rules. The selected updated robot is the target robot.
[0057] Pre-setting robot selection rules can be based on the number of latest-version resource files stored in the robot. Different applications are installed on the robots, each with its own latest-version resource files, and each function within those applications also has its own latest-version resource files. For example, the selection rule could be to choose the updated robot with the most latest-version resource files stored within a preset area as the target robot for resource broadcasting. This allows for the retrieval of multiple resource files in a single connection, improving update efficiency. If all updated robots have the same number of latest-version resource files, a target robot can be randomly selected. After determining the target robot, its information is sent to the robot to be updated. For example, the target robot's robot ID, current location, and target resource storage path can be sent to the robot to be updated. The advantage of this setup is that when multiple updated robots exist, it's not necessary to send information from all updated robots to the robot to be updated; only one target robot needs to be selected. This effectively reduces information transmission pressure, avoids errors during information transmission, and prevents the robot to be updated from being unable to identify the target robot when retrieving target resources, thus improving the efficiency and accuracy of resource sharing.
[0058] In this embodiment, optionally, after the robot backend determines whether there is an updated robot with updated target resources within the preset area, the process includes: if not, the robot backend sends the target resources to the robot to be updated; the robot to be updated receives the target resources and stores them in its local resource library.
[0059] Specifically, if the robot's backend determines that there is no robot with the updated target resource, the backend will directly send the target resource to the robot awaiting update. The robot awaiting update will then acquire the target resource and store it in its local resource library. The advantage of this setup is that, in the absence of an updated robot, the backend can directly provide the target resource, ensuring that the robot awaiting update receives it, thus avoiding any impact on its operation and improving its efficiency.
[0060] S250, the robot to be updated receives the updated robot information sent by the robot backend.
[0061] S260. Based on the updated robot information, retrieve the target resource from the local resource library of the updated robot and add it to the local resource library of the robot to be updated.
[0062] The robot's backend server can determine in real time whether an updated robot exists in the robot's workplace. For example, once the robot to be updated acquires the target resource, it becomes an updated robot.
[0063] In this embodiment, optionally, the method further includes: obtaining information about an unupdated robot located in the same area as the robot to be updated from the robot's backend; and sharing the target resource with the unupdated robot.
[0064] Specifically, if the robot to be updated has already acquired the target resource, the robot's backend can identify unupdated robots located in the same area. This same area can be the robot's workplace or a pre-defined area centered on the robot. Unupdated robots are those that haven't acquired the target resource. The robot to be updated retrieves information about unupdated robots in the same area from the backend. This information may include the robot's ID, IP address, and current location. After identifying unupdated robots, the robot to be updated can share the target resource with them, ensuring all robots in the area receive it. Resource sharing can be achieved through IP addresses on the same local area network, or through Bluetooth or hotspot connections. For example, the target resource can be shared using IP broadcasting based on the IP addresses of the robot to be updated and the unupdated robots.
[0065] The unevolved robot passively acquires the target resource, either after the robot awaiting update obtains the resource from the backend, or after it obtains it from an updated robot. That is, once the first updated robot exists in the area, it can proactively share the resource with other robots; alternatively, once multiple updated robots exist in the area, one of them can proactively share the resource with the unevolved robot. The advantage of this setup is that the unevolved robot can passively acquire the target resource without needing to issue a resource update request, effectively improving the efficiency of resource sharing.
[0066] In this embodiment, optionally, before sharing the target resource with the unupdated robot, the method further includes: determining a target update time that meets the preset requirements of pedestrian flow and task volume based on the pedestrian flow and robot task volume collected within a preset time period; determining whether the current time is the target update time, and if so, then sharing the target resource with the unupdated robot.
[0067] Specifically, robots that have acquired the target resource can share it with robots that haven't updated, either in real-time or periodically. A target update time can be preset, for example, to 24:00 daily. Alternatively, the target update time can be determined based on the traffic flow and task volume collected in the robot's workplace within a preset time period. That is, the target update time can differ across time periods. For example, the preset traffic flow and task volume requirements might be low. The time with the lowest traffic flow and lowest task volume in the robot's workplace each day within the preset time period can be used as the target update time to avoid resource updates impacting robot operations.
[0068] Each robot can determine in real time whether the current time is the target update time. If not, the robot continues to operate normally; if so, the robot that has updated the target resource will share the target resource with the robot that has not updated. The advantage of this setup is that the robot can determine the target update time and automatically share resources with other robots at that time, avoiding resource sharing during peak traffic or task periods, ensuring the normal operation of the robots, and improving the efficiency of robot resource acquisition.
[0069] This invention, in its embodiments, queries the local resource library of the robot to be updated for the target resource. If the target resource is not found in the local resource library, a resource update request is sent to the robot's backend. Instead of directly sending the target resource to the robot to be updated, the backend identifies an already updated robot and sends its updated target resource information to that robot. The robot to be updated then retrieves the target resource from the local resource library of the already updated robot, achieving resource sharing between the two robots. This solves the problem in existing technologies where all resource updates for each robot are handled by the robot's backend, effectively reducing the pressure on the backend, avoiding data corruption during resource acquisition, enabling offline resource sharing among robots, and improving the efficiency of resource acquisition.
[0070] Example 3
[0071] Figure 3 This is a flowchart illustrating a robot resource sharing method provided in Embodiment 3 of the present invention. This embodiment is an optional embodiment based on the above embodiments, and the method can be executed by a robot resource sharing device.
[0072] In this embodiment, the updated robot information includes IP address, resource download key, and target resource storage path. Based on the updated robot information, the target resource is retrieved from the updated robot's local resource library and stored in the robot's local resource library. This includes: determining whether the robot to be updated and the updated robot are located on the same local area network based on the IP address of the robot to be updated and the IP address of the updated robot; if so, the target resource is retrieved from the updated robot's target resource storage path based on the resource download key and stored in the robot's local resource library.
[0073] like Figure 3 As shown, the method includes:
[0074] S310. In response to the resource update request, determine whether the target resource exists in the local resource library of the robot to be updated.
[0075] S320. If not, send the resource update request to the robot backend and receive the updated robot information sent by the robot backend. The updated robot information includes the IP address, resource download key and target resource storage path.
[0076] When a robot awaiting an update sends a resource update request, it can send its own robot information to the robot backend. The robot backend can then send the updated robot information back to the robot awaiting an update. Whether it's a robot awaiting an update or one that has already been updated, the robot information can include the robot ID, current location, IP address, and resource download key. Updated robots may also include the target resource storage path.
[0077] The IP address can be the IP address of the robot's local area network, for example, 192.168.10.1. The current location is the robot's current geographical location within the workplace, which can be represented by coordinates, for example, (8, 9). The robot's resource download key can be a key used by an external device to obtain data from the robot; the external device can be an external robot. The resource download key can be in string form, for example, FDSFSadds23fdf. The target resource storage path can be the storage location of the target resource in the updated robot's local resource library. The storage path can include the address where the target resource is stored and the resource package name of the target resource. For example, the target resource storage path is / data / resource / abc_v3.zip, where / data / resource / is the address where the target resource is located, and abc_v3.zip is the resource package name of the target resource.
[0078] S330. Based on the IP address of the robot to be updated and the IP address of the robot that has been updated, determine whether the robot to be updated and the robot that has been updated are located in the same local area network.
[0079] The robot's backend identifies the updated robot and sends its IP address to the robot to be updated. The robot to be updated obtains its own IP address and the updated robot's IP address, and analyzes the IP addresses to determine if they are on the same local area network (LAN). For example, if the updated robot's IP address is 192.168.10.1 and the updated robot's IP address is 192.168.10.2, then they are on the same LAN.
[0080] If multiple updated robots exist, the robot backend identifies the target robot among the updated robots and sends its IP address to the robot to be updated. The robot to be updated obtains its own IP address and the target robot's IP address, and through IP address analysis, determines whether it and the target robot are on the same local area network.
[0081] S340. If so, then based on the resource download key, retrieve the target resource from the target resource storage path of the updated robot and store the target resource in the local resource library of the robot to be updated.
[0082] If the robot to be updated and the robot that has been updated are on the same local area network, then the robot to be updated can obtain the required target resources directly from the target resource storage path of the robot that has been updated through the local area network without having to search for them.
[0083] The robot to be updated obtains the resource download key and target resource storage path from the updated robot. Using the resource download key, it retrieves the target resource from the updated robot's target resource storage path via a resource sharing program. The target resource is then stored in the robot's local resource library. The IP address is used to determine if the robot to be updated and the updated robot are on the same local area network (LAN). If they are on the same LAN, the target resource can be retrieved directly via the LAN, enabling offline resource sharing between robots without requiring the robot's backend to send the target resource, thus reducing the load on the robot's backend. Furthermore, the resource download key prevents the target resource from being arbitrarily stolen, improving the efficiency and accuracy of resource acquisition.
[0084] In this embodiment, optionally, the updated robot information also includes the robot location, hotspot name, and hotspot key; after determining whether the robot to be updated and the updated robot are located in the same local area network, the method further includes: if not, going to the robot location of the updated robot; connecting to the hotspot of the updated robot according to the hotspot name and hotspot key, obtaining the target resource from the target resource storage path of the updated robot, and storing the target resource in the local resource library of the robot to be updated.
[0085] Specifically, the updated robot information may also include the robot's location, hotspot name, and hotspot key. The robot location is the current location of the updated robot, the hotspot name is the hotspot name set for this device, and the hotspot key is the key used to connect to the updated robot's hotspot. The robot comes with its own hotspot key at the factory; for example, the hotspot key could be SFDfda23d. The robot's backend stores the hotspot name and hotspot key for each robot and can send this information to the robot to be updated.
[0086] If the robot to be updated and the robot already updated are not on the same local area network (LAN), the robot to be updated can locate the robot already updated by using its location, hotspot name, and hotspot key. Once located, it notifies the robot already updated to turn on its hotspot. For example, the robot to be updated can match the hotspot of the robot already updated based on its Wi-Fi (Wireless Fidelity) name. It then connects using the hotspot key of the robot already updated, retrieves the target resource from the robot already updated's local resource library according to the target resource storage path, and stores the target resource in the robot to be updated's local resource library. The advantage of this setup is that when the robot to be updated and the robot already updated are not on the same LAN, the robot to be updated can move to the location of the robot already updated, connect to the hotspot, and obtain the target resource. This reduces the limitation of sharing resources within the same LAN, enabling offline resource sharing in various situations and improving the efficiency of robot resource acquisition.
[0087] The robots can be equipped with Wi-Fi and Bluetooth modules as prerequisites for resource sharing. Each robot has a factory-set key for its hotspot and Bluetooth, which is stored in the robot's backend for easy interconnection between robots. Robots can connect via hotspot or Bluetooth. When connecting via Bluetooth, the robot to be updated will also travel to the location of the updated robot, connect to the updated robot's Bluetooth using the Bluetooth name and key, retrieve the target resource from the updated robot's target resource storage path, and store the target resource in the robot's local resource library. If the robot's hotspot or Bluetooth password changes later, the robot will also report this to the robot's backend for an update.
[0088] This invention, in its embodiments, queries the local resource library of the robot to be updated. If the target resource is not found in the local resource library, a resource update request is sent to the robot's backend. Instead of directly sending the target resource to the robot to be updated, the backend sends information about the robot with the updated target resource. Assuming the robot to be updated and the updated robot are on the same local area network, the robot to be updated retrieves the target resource from the updated robot's local resource library using the resource download key and the target resource storage path, thus achieving resource sharing between the two robots. This solves the problem in existing technologies where all resource updates for each robot are handled by the robot's backend, effectively reducing the pressure on the robot's backend, avoiding data corruption during resource acquisition, enabling offline resource sharing among robots, and improving the efficiency of resource acquisition.
[0089] Example 4
[0090] Figure 4 This is a schematic diagram of the structure of a robot resource sharing device provided in Embodiment 4 of the present invention. Figure 4 As shown, the device includes:
[0091] The target resource determination module 401 is used to determine whether the target resource exists in the local resource library of the robot to be updated in response to the resource update request.
[0092] The updated robot information receiving module 402 is used to send the resource update request to the robot backend if no, and to receive the updated robot information sent by the robot backend.
[0093] The target resource acquisition module 403 is used to acquire the target resource from the local resource library of the updated robot and add it to the local resource library of the robot to be updated, based on the updated robot information.
[0094] Optionally, the device may also include:
[0095] The updated robot judgment module is used to determine whether there is an updated robot with updated target resources within a preset area after the resource update request is sent to the robot backend.
[0096] The updated robot information sending module is used so that, if so, the robot backend sends the updated robot information of the updated robot to the robot to be updated.
[0097] Optionally, the device may also include:
[0098] The target robot determination module is used to determine whether there are updated robots with updated target resources within a preset area after the robot background determines that there are at least two updated robots with updated target resources. If there are at least two updated robots with updated target resources, the target robot is determined from the at least two updated robots according to the preset robot selection rules, and the target robot information is sent to the robot to be updated.
[0099] Optionally, the device may also include:
[0100] The robot backend sending module is used to send the target resource to the robot to be updated after the robot backend determines whether there is an updated robot with the updated target resource within a preset area. If not, the robot backend sends the target resource to the robot to be updated.
[0101] The robot to be updated receives the target resource and stores it in its local resource library.
[0102] Optionally, the updated robot information includes IP address, resource download key, and target resource storage path;
[0103] Target resource acquisition module 403 includes:
[0104] The local area network (LAN) determination unit is used to determine whether the robot to be updated and the robot that has been updated are located in the same LAN based on the IP address of the robot to be updated and the IP address of the robot that has been updated.
[0105] The resource acquisition unit is configured to, if so, acquire the target resource from the target resource storage path of the updated robot according to the resource download key, and store the target resource in the local resource library of the robot to be updated.
[0106] Optionally, the updated robot information may also include robot location, hotspot name, and hotspot key;
[0107] The target resource acquisition module 403 also includes:
[0108] The robot location navigation unit is used to determine whether the robot to be updated and the updated robot are located in the same local area network. If not, it navigates to the location of the updated robot.
[0109] The hotspot connection unit is used to connect to the hotspot of the updated robot according to the hotspot name and hotspot key, obtain the target resource from the target resource storage path of the updated robot, and store the target resource in the local resource library of the robot to be updated.
[0110] Optionally, the device may also include:
[0111] The module for determining unupdated robots is used to obtain information about unupdated robots located in the same area as the robot to be updated from the robot's backend.
[0112] The resource sharing module is used to share the target resource with the unupdated robot.
[0113] Optionally, the device may also include:
[0114] The target update time determination module is used to determine the target update time that meets the preset requirements of traffic flow and task volume based on the traffic flow and task volume of the robot workplace collected within a preset time period before sharing the target resource with the unupdated robot.
[0115] The time determination module is used to determine whether the current time is the target update time. If so, it executes the action of sharing the target resource with the robot that has not been updated.
[0116] Optionally, the device may also include:
[0117] The historical resource deletion module is used to determine whether the historical resources corresponding to the target resource in the local resource library of the robot to be updated meet the preset deletion conditions after obtaining the target resource from the local resource library of the updated robot.
[0118] If so, delete the historical resource and retain the target resource.
[0119] This invention, in its embodiments, queries the target resource in the local resource library of the robot to be updated and sends a resource update request to the robot's backend. Instead of directly sending the target resource to the robot to be updated, the backend sends information about the robot with the updated target resource. The robot to be updated then retrieves the target resource from the local resource library of the updated robot, achieving resource sharing between the two robots. This solves the problem in existing technologies where all resource updates for each robot are handled by the robot's backend, effectively reducing the pressure on the backend, preventing resource acquisition problems, enabling offline resource sharing, and improving the efficiency of resource acquisition for robots.
[0120] The robot resource sharing device provided in this embodiment of the invention can execute the robot resource sharing method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the method execution.
[0121] Example 5
[0122] Figure 5 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0123] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0124] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0125] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as robot resource sharing methods.
[0126] In some embodiments, the robot resource sharing method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the robot resource sharing method by any other suitable means (e.g., by means of firmware).
[0127] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0128] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0129] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0130] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0131] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0132] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0133] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0134] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A method for sharing robot resources, characterized in that, include: In response to a resource update request, determine whether the target resource exists in the local resource library of the robot to be updated; If not, the resource update request is sent to the robot backend, which determines whether there is an updated robot with the target resource already updated within a preset area; the preset area is associated with the work area where the robot to be updated is located. If so, the robot backend will send the updated robot information of the updated robot to the robot to be updated; the updated robot information includes IP address, resource download key, target resource storage path, robot location, hotspot name and hotspot key; Based on the updated robot information, the target resource is retrieved from the local resource library of the updated robot and added to the local resource library of the robot to be updated. If the robot to be updated and the updated robot are not located on the same local area network, the target resource is retrieved from the local resource library of the updated robot and added to the local resource library of the robot to be updated through the following steps: the robot to be updated moves to the location of the updated robot and notifies the updated robot to turn on its hotspot; based on the hotspot name and hotspot key, it connects to the hotspot of the updated robot; the target resource is retrieved from the target resource storage path of the updated robot; and the target resource is stored in the local resource library of the robot to be updated. The method further includes: Obtain information about unupdated robots located in the same work area as the robot to be updated from the robot's backend; Based on the traffic flow and robot task volume collected within a preset time period, determine the target update time that meets the preset traffic flow and task volume requirements. Determine if the current time is the target update time. If so, share the target resource with the robot that has not been updated.
2. The method according to claim 1, characterized in that, After the robot backend determines whether there is an updated robot with updated target resources within the preset area, the process further includes: If there are at least two updated robots that have updated the target resource, then according to the preset robot selection rules, the target robot is determined from the at least two updated robots, and the target robot information is sent to the robot to be updated.
3. The method according to claim 1, characterized in that, After the robot backend determines whether there is an updated robot with updated target resources within a preset area, the process includes: If not, the robot backend will send the target resource to the robot to be updated; The robot to be updated receives the target resource and stores it in its local resource library.
4. The method according to claim 1, characterized in that, Based on the updated robot information, the target resource is retrieved from the local resource library of the updated robot and added to the local resource library of the robot to be updated, including: Based on the IP address of the robot to be updated and the IP address of the robot that has been updated, determine whether the robot to be updated and the robot that has been updated are located in the same local area network; If so, the target resource is retrieved from the target resource storage path of the updated robot according to the resource download key, and the target resource is stored in the local resource library of the robot to be updated.
5. The method according to claim 1, characterized in that, After obtaining the target resource from the updated robot's local resource library, the process also includes: Determine whether the historical resources corresponding to the target resource in the local resource library of the robot to be updated meet the preset deletion conditions; If so, delete the historical resource and retain the target resource.
6. A robot resource sharing device, characterized in that, include: The target resource determination module is used to determine whether the target resource exists in the local resource library of the robot to be updated in response to a resource update request. The robot information receiving module has been updated to send the resource update request to the robot backend if no. The updated robot judgment module is used to determine whether there is an updated robot with the updated target resource within a preset area after the resource update request is sent to the robot backend; the preset area is associated with the working area where the robot to be updated is located. The updated robot information sending module is configured such that, if so, the robot backend sends the updated robot information of the updated robot to the robot to be updated; the updated robot information includes IP address, resource download key, target resource storage path, robot location, hotspot name, and hotspot key. The robot information receiving module has been updated and is also used to receive updated robot information sent by the robot's backend; The target resource acquisition module is used to acquire the target resource from the local resource library of the updated robot and transfer it to the local resource library of the robot to be updated, based on the updated robot information. If the robot to be updated and the updated robot are not located on the same local area network, the target resource acquisition module acquires the target resource from the local resource library of the updated robot and transfers it to the local resource library of the robot to be updated through the following steps: the robot to be updated moves to the location of the updated robot and notifies the updated robot to turn on its hotspot; it connects to the hotspot of the updated robot based on the hotspot name and hotspot key; it acquires the target resource from the target resource storage path of the updated robot; and it stores the target resource in the local resource library of the robot to be updated. The device also includes: The module for determining unupdated robots is used to obtain information about unupdated robots located in the same work area as the robot to be updated from the robot's backend. The target update time determination module is used to determine the target update time that meets the preset requirements of human traffic and robot task volume based on the human traffic and robot task volume collected within a preset time period. The time determination module is used to determine whether the current time is the target update time. If so, it executes the action of sharing the target resource with the robot that has not been updated.
7. An electronic device, characterized in that, The electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform claim 1. The robot resource sharing method described in any one of the 5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute claim 1. The robot resource sharing method described in any one of the 5.
Citation Information
Patent Citations
OTA upgrading processing method and device, electronic equipment and storage medium
CN111158727A
OTA upgrading method and device
CN113076124A
Robot software upgrading method, electronic equipment and storage medium
CN116860297A
Communicating Configurable Instruction Sets to Robots for Controlling Robot Behavior
US20160121487A1