ROBOT CONTROL SYSTEM, API PROCESSING METHOD OF ROBOT CONTROL SYSTEM, PROXY ACCESS DEVICE, AND STORAGE MEDIUM
20230091008 ยท 2023-03-23
Assignee
Inventors
Cpc classification
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
G05B19/4155
PHYSICS
International classification
Abstract
A robot control system includes a cloud server connected to a public network disposed outside an area, a robot scenario control device disposed on an on-premise area and configured to control a device that is a control target while calling an API provided by a cloud server, a proxy access processing unit configured to return an API response corresponding to the API call request to the robot scenario control device, a storage device configured to store API-related information that is related to the API, in which the proxy access processing unit is configured to return the API response to the robot scenario control device based on the API-related information stored in the storage device in a case where the API-related information is stored in the storage device.
Claims
1. A robot control system comprising: a cloud server connected to a public network disposed outside an area; a robot scenario control device disposed on an on-premise area in which communication between devices disposed in the area is executed by a local network constructed in the area, the robot scenario control device being configured to control a device that is a control target while calling an application program interface (API) provided by the cloud server by an API call request; a proxy access processing unit disposed on the on-premise area, the proxy access processing unit being configured to return an API response corresponding to the API call request to the robot scenario control device; a storage device disposed on the on-premise area, the storage device being configured to store API-related information that is related to the API; and a communication relay device configured to relay communication between the local network and the public network, wherein the proxy access processing unit is configured to return the API response to the robot scenario control device based on the API-related information stored in the storage device in a case where the API-related information is stored in the storage device.
2. The robot control system according to claim 1, wherein: the storage device is a cache; and the proxy access processing unit is configured to transmit the API call request to the cloud server, return the API response acquired from the cloud server to the robot scenario control device, and store the API-related information acquired from the cloud server in the cache in a case where the API-related information corresponding to the API call request is not stored in the cache, and return the API response to the robot scenario control device based on the API-related information acquired from the cache in a case where the API-related information corresponding to the API call request is stored in the cache.
3. The robot control system according to claim 1, further comprising a master database provided in an area accessible by the cloud server, wherein: the storage device is a local database; and the proxy access processing unit is configured to execute processing related to the API call request with reference to the local database, and execute synchronization processing of storage contents between the local database and the master database in a case where the API for which the processing is executed is registered in advance.
4. The robot control system according to claim 1, wherein the robot scenario control device is configured to issue the API call request to the cloud server, and issue the API call request to the proxy access processing unit in a case where a response from the cloud server is not returned within a preset time.
5. The robot control system according to claim 1, wherein the robot scenario control device is configured to issue the API call request to the proxy access processing unit, and issue the API call request to the cloud server in a case where a response from the proxy access processing unit is not returned within a preset time.
6. An application program interface (API) processing method in a robot control system including a cloud server connected to a public network disposed outside an area, a robot scenario control device disposed on an on-premise area in which communication between devices disposed in the area is executed by a local network constructed in the area, the robot scenario control device being configured to control a device that is a control target while calling an API provided by the cloud server by an API call request, and a communication relay device configured to relay communication between the local network and the public network, the API processing method comprising: proxy access processing of returning an API response corresponding to the API call request to the robot scenario control device; and storage processing of storing API-related information that is related to the API in a storage device disposed on the on-premise area, wherein, in the proxy access processing, the API response is returned to the robot scenario control device based on the API-related information stored in the storage device in a case where the API-related information is stored in the storage device.
7. A proxy access device configured to return an application program interface (API) response corresponding to an API call request to a robot scenario control device configured to control a device that is a control target while calling an API provided by a cloud server by the API call request, the proxy access device comprising: a proxy access processing unit configured to return the API response to the robot scenario control device in response to the API call request; and a storage device configured to be occupied and used by the proxy access processing unit, and store API-related information that is related to the API, wherein the proxy access processing unit is configured to return the API response to the robot scenario control device based on the API-related information stored in the storage device in a case where the API-related information is stored in the storage device.
8. A non-transitory storage medium storing a proxy access program that is executed on a computer including a storage device and returns an application program interface (API) response corresponding to an API call request to a robot scenario control device configured to control a device that is a control target while calling an API provided by a cloud server by the API call request, the non-transitory storage medium executing: proxy access processing of returning the API response to the robot scenario control device in response to the API call request; and storage processing of storing API-related information that is related to the API in the storage device, wherein, in the proxy access processing, the API response is returned to the robot scenario control device based on the API-related information stored in the storage device in a case where the API-related information is stored in the storage device.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Features, advantages, and technical and industrial significance of exemplary embodiments of the disclosure will be described below with reference to the accompanying drawings, in which like signs denote like elements, and wherein:
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
DETAILED DESCRIPTION OF EMBODIMENTS
[0022] In order to clarify the description, the following description and drawings are omitted or simplified as appropriate. In addition, each element described in the drawing as a functional block that executes various pieces of processing can be configured by a central processing unit (CPU), a memory, and other circuits in terms of hardware, and is realized by a program and the like loaded into the memory in terms of software. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various ways by solely hardware, solely software, or a combination thereof, and the present disclosure is not limited thereto. Note that, in each drawing, the same elements are designated by the same reference numerals, and duplicate descriptions are omitted as needed.
[0023] In addition, the program described above includes an instruction group (or software code) causing a computer to execute one or more functions described in the embodiment in a case where the program is loaded into the computer. The program may be stored on a non-transitory computer-readable medium or a tangible storage medium. Although not limited to these, examples of the computer-readable medium or the tangible storage medium include a random-access memory (RAM), a read-only memory (ROM), a flash memory, a solid-state drive (SSD) or other memory technologies, a CD-ROM, a digital versatile disc (DVD), a Blu-ray (registered trademark) disc or other optical disc storages, and a magnetic cassette, a magnetic tape, a magnetic disk storage or other magnetic storage devices. The program may be transmitted on a transitory computer-readable medium or a communication medium. Although not limited to these, examples of the transitory computer-readable medium or the communication medium include electrical, optical, acoustic, or other forms of propagating signals.
First Embodiment
[0024]
[0025] Moreover, in the robot control system 1 according to the first embodiment, a cloud server 30 is disposed in the cloud area, and a proxy access device 10, a robot scenario control device 11, a robot 12, a door controller 13, an elevator controller 14, a camera 15, and the like are disposed in the on-premise area. Moreover, in the robot control system 1 according to the first embodiment, the communication between the local network in the on-premise area and the public network in the cloud area is relayed by the relay device (for example, a local firewall device 20).
[0026] Here, a system configuration example in the on-premise area will be described. As shown in
[0027] The proxy access device 10 receives an API call request from the robot scenario control device 11 and returns an API response corresponding to the API call request to the robot scenario control device 11. In this case, the proxy access device 10 includes a cache, and in a case where API-related information that is related to the API corresponding to the API call request is stored in the cache, the proxy access device 10 generates the API response based on the API-related information in the cache and returns the API response to the robot scenario control device 11 without transmitting the API call request to the cloud server 30. In addition, in a case where the API-related information is not stored in the cache, the proxy access device 10 transmits the API call request to the cloud server 30 and returns the API response obtained from the cloud server 30 to the robot scenario control device 11.
[0028] Here, the proxy access device 10 will be described in more detail. The proxy access device 10 includes a proxy access processing unit 16 and a cache 17. The proxy access device 10 can realize the proxy access processing unit 16 by a proxy access program executed on the computer or dedicated hardware. In addition, the proxy access processing unit 16 may be a storage device provided in a housing of a device on which the proxy access program or the dedicated hardware is mounted, and may be mounted as another device connected to the housing via the network.
[0029] The proxy access processing unit 16 is disposed in the on-premise area and returns the API response corresponding to the API call request to the robot scenario control device. In addition, the API-related information that is related to the API is stored in the cache 17. Moreover, in a case where the API-related information is stored in the cache 17, the proxy access processing unit 16 returns the API response to the robot scenario control device based on the API-related information stored in the cache 17. In addition, in a case where the API-related information corresponding to the API call request is not stored in the cache 17, the proxy access processing unit 16 transmits the API call request to the cloud server 30, returns the API response acquired from the cloud server 30 to the robot scenario control device 11, and the stores the API-related information acquired from the cloud server 30 in the cache 17.
[0030] Subsequently, an operation of the proxy access device 10 according to the first embodiment will be described in detail. Therefore,
[0031] Moreover, in a case where the confirmation is made in step S2 that the API-related information is stored in the cache 17 (YES branch in step S2), the proxy access processing unit 16 further determines whether or not the API-related information stored in the cache 17 is within a preset cache expiration date (step S3). Then, in step S3, in a case where the API-related information stored in the cache 17 is within the cache expiration date (YES branch of step S3), the proxy access processing unit 16 generates the API response based on the API-related information stored in the cache 17 and returns the API response to the robot scenario control device 11 (step S4).
[0032] On the other hand, in a case where the confirmation is made that the API-related information is not stored in the cache 17 in step S2 (NO branch of step S2) or in a case where the API-related information stored in the cache 17 in step S3 exceeds the cache expiration date (NO branch of step S3), the proxy access processing unit 16 transmits the API call request received from the robot scenario control device 11 to the cloud server 30 and calls the API response related to the requested API from the cloud server 30 (step S5). Moreover, the proxy access processing unit 16 returns the API response acquired in step S5 to the robot scenario control device 11 (step S6). In addition, the proxy access processing unit 16 acquires the API-related information from the cloud server 30 and stores the API-related information in the cache 17 (step S7). The proxy access device 10 executes the operations of steps S1 to S7 each time the API call request is received from the robot scenario control device 11.
[0033] From the above description, in the robot control system 1 according to the first embodiment, the proxy access device 10 returns the API response to the API call request requested by the robot scenario control device 11 based on the API-related information stored in the cache 17 without accessing the cloud server 30. As a result, in the robot control system 1 according to the first embodiment, it is possible to avoid the instability of the communication that occurs when accessing the cloud server 30 via the local firewall device 20 or the public network and to secure a stable operation of the robot scenario control device 11.
[0034] In addition, in the robot control system 1 according to the first embodiment, in a case where the API-related information corresponding to the API call request issued by the robot scenario control device 11 is not stored in the cache 17, the proxy access processing unit 16 transmits the API call request to the cloud server 30 to acquire the API response. Further, in the robot control system 1 according to the first embodiment, the API-related information that is related to the API call request is acquired from the cloud server 30 and stored in the cache 17. As a result, in the robot control system 1 according to the first embodiment, the API to be processed in the on-premise area can be dynamically changed without setting the API to be processed in the on-premise area in advance.
[0035] Since the cache 17 is used in the processing, the robot control system 1 according to the first embodiment is particularly effective in processing related to the API that uses a calculation result (for example, API processing related to position calculation processing, individual authentication processing, image processing, and behavior prediction processing).
Second Embodiment
[0036] In a second embodiment, a robot control system 2 including a proxy access device 40 that is another embodiment of the proxy access device 10 will be described.
[0037] The proxy access processing unit 46 executes the processing related to the API call request issued by the robot scenario control device 11 with reference to the local database 47, and executes synchronization processing of storage contents between the local database 47 and the master database 31 in a case where the API for which the processing is executed is registered in advance. Here, the proxy access processing unit 46 executes processing related to the API that uses a database, such as an API that searches for a content of the local database 47, an API that stores a control history of the robot scenario control device 11 in the local database 47, and an API that stores a movement history of the robot 12 in the local database 47.
[0038] Here, an operation of the proxy access device 40 of the robot control system 2 according to the second embodiment will be described in detail. Therefore,
[0039] Moreover, when the API call request is received from the robot scenario control device 11, the proxy access processing unit 46 executes the processing related to the API call request by using the local database 47 (step S12). In addition, the proxy access processing unit 46 determines whether or not the API processed in step S12 is the API registered in advance (step S13). In a case where the determination is made in step S13 that the API processed in step S12 is not the API registered in advance (NO branch of step S13), the proxy access device 40 waits for the API call request from the robot scenario control device 11 again. On the other hand, the determination is made in step S13 that the API processed in step S12 is the API registered in advance (YES branch of step S13), the proxy access processing unit 46 access the cloud server 30 to synchronize the local database 47 and the master database 31 (step S14), and then waits for the API call request from the robot scenario control device 11 again.
[0040] From the above description, in the robot control system 2 according to the second embodiment, even in the API that accumulates data and uses the accumulated data, a frequency of accessing the cloud server 30 can be reduced to improve the operational stability of the robot scenario control device 11.
[0041] In addition, in the robot control system 2 according to the second embodiment, the synchronization processing of the local database 47 and the master database 31 can be executed asynchronously with an operation timing of the robot scenario control device 11. That is, in the robot control system 2 according to the second embodiment, the synchronization processing can be executed at a timing that does not interfere with the operation of the robot scenario control device 11, and the operational stability of the robot scenario control device 11 can be improved.
Third Embodiment
[0042] In a third embodiment, a proxy access device 50 having both the functions of the proxy access device 10 and the proxy access device 40 will be described. Therefore,
[0043] The proxy access processing unit 56 has both the function of the proxy access processing unit 16 and the function of the proxy access processing unit 46, and can handle both an API of a calculation processing system and an API of a storage and search processing system.
[0044] From the above description, in a robot control system 3 according to the third embodiment, in both the API of the calculation processing system and the API of the storage and search processing system, the frequency of accessing the cloud server 30 can be reduced to improve the operational stability of the robot scenario control device 11.
Fourth Embodiment
[0045] In a fourth embodiment, a robot control system 4 that is another embodiment of the robot control system 3 according to the third embodiment will be described. Therefore,
[0046] As shown in
[0047]
[0048] In addition,
[0049] From the above description, in the robot control system 4 according to the fourth embodiment, the robot scenario control device 61 switches whether to issue the request to the cloud server 30 or the proxy access device 50 based on a response time from the transmission destination of the API call request. As a result, in the robot control system 4 according to the fourth embodiment, it is possible to always select a route without an obstacle even in a case where the congestion of the public network or the congestion of the processing of the proxy access device 50 occurs, and it is possible to improve the operational stability of the robot scenario control device 61.
[0050] Although the disclosure made by the present inventors has been specifically described above based on the embodiments, the present disclosure is not limited to the embodiments described so far, and it is needless to say that various changes can be made without departing from the gist thereof.