WO2018122906A1 - 制御装置、制御システム、及び自律移動可能な情報処理装置 - Google Patents

制御装置、制御システム、及び自律移動可能な情報処理装置 Download PDF

Info

Publication number
WO2018122906A1
WO2018122906A1 PCT/JP2016/088658 JP2016088658W WO2018122906A1 WO 2018122906 A1 WO2018122906 A1 WO 2018122906A1 JP 2016088658 W JP2016088658 W JP 2016088658W WO 2018122906 A1 WO2018122906 A1 WO 2018122906A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
information processing
communication
communication quality
function
Prior art date
Application number
PCT/JP2016/088658
Other languages
English (en)
French (fr)
Inventor
知紘 松田
英也 吉内
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2016/088658 priority Critical patent/WO2018122906A1/ja
Priority to JP2018558521A priority patent/JP6859366B2/ja
Publication of WO2018122906A1 publication Critical patent/WO2018122906A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present invention relates to a control device, a control system, and an information processing device capable of autonomous movement.
  • the movement control means autonomously controls the movement of the leg or the movement mechanism corresponding to the leg based on a task command transmitted from the radio master unit through radio communication.
  • a wireless environment map storage that stores a wireless environment map in which map data of a moving region is associated with comprehensive wireless environment data composed of a plurality of wireless environment data related to the wireless environment in the moving region.
  • the wireless communication is disconnected Based on the wireless environment map, when it becomes a state, search means for searching for a recovery position where the wireless communication can be connected, and the recognized self-position, Mobile robot, characterized in that the serial movement until searched restoration position searching means comprises a self position movement instruction means for instructing said movement control means are described.
  • Patent Document 1 If the technique described in Patent Document 1 is used, it is possible to restore the wireless communication even if the wireless communication is disconnected. However, the communication quality that requires the function of the robot cannot be maintained, and the service quality of the robot deteriorates.
  • a control device is a control device that controls an information processing device capable of autonomous movement, and includes first information that is information related to a position of the information processing device, and the information processing device.
  • a communication quality information generating unit that acquires second information that is information related to communication and creates communication quality information indicating a distribution of communication quality using the first information and the second information; and the communication quality
  • a movement control unit that controls a movement range of the information processing apparatus based on the information.
  • FIG. It is a figure which shows the example of a structure of the robot control system of Example 1.
  • FIG. It is a figure which shows the example of a structure of a control server.
  • It is a flowchart which shows the example of a communication quality measurement process.
  • It is a flowchart which shows the example of a movement permission range map preparation process.
  • It is a flowchart which shows the example of a communication quality determination process.
  • It is a flowchart which shows the example of a robot state change process.
  • FIG. It is a figure which shows the example of a structure of a control server. It is a flowchart which shows the example of a communication quality measurement process. It is a figure which shows the example of a structure of a relay server. It is a flowchart which shows the example of an information transfer process. It is a figure which shows the example of a structure of an apparatus information management table. It is a flowchart which shows the example of a communication quality measurement process.
  • the control device that controls the autonomously movable information processing device includes first information that is information related to a position of the information processing device and second information that is related to communication of the information processing device.
  • a communication quality information generating unit that creates communication quality information indicating a distribution of communication quality using the first information and the second information, and the information based on the communication quality information
  • a movement control unit that controls a movement range of the processing apparatus.
  • the communication quality information generation unit further acquires third information that is information related to communication of a function being executed by the information processing apparatus, and the movement control unit uses the third information to obtain the information You may control the movement range of a processing apparatus.
  • the movement control unit moves to the information processing apparatus An instruction may be sent.
  • the control device further includes a first communication interface that communicates with the information processing device using first communication means, and a second communication interface that communicates with the information processing device using second communication means. May be.
  • the second information may be information related to communication quality of communication performed with the information processing apparatus by the first communication unit using the first communication interface.
  • the control device uses the first communication interface and the second communication interface. You may communicate with the said information processing apparatus.
  • the control device stops the first function being executed by the information processing device, You may further have a function switching process part which performs the 2nd function which is an alternative function of the said 1st function.
  • the control apparatus When the communication quality of the first communication means at the current position of the information processing device is lower than the communication quality required for the information processing device, or obtain movement command information to the information processing device, and according to the movement command When the communication quality of the first communication means at the movement destination position is lower than the communication quality required for the information processing apparatus, the control apparatus performs at least one function among the functions executed by the information processing apparatus You may further have a communication control part which controls the amount of communications about.
  • control device You may further provide the state management part which transmits the command which changes direction.
  • the communication quality information generation unit updates the communication quality information based on a comparison result between the communication quality at the current position of the information processing apparatus and the communication quality information based on the first information and the second information. May be.
  • a control system includes an information processing apparatus that can move autonomously and a control apparatus that controls the information processing apparatus.
  • the control device acquires, from the information processing device, first information that is information related to a position of the information processing device and second information that is information related to communication of the information processing device.
  • a communication quality information generating unit that creates communication quality information indicating a distribution of communication quality between the control device and the information processing device, and based on the communication quality information, the information
  • a movement control unit that controls a movement range of the processing apparatus.
  • the communication quality information generation unit further acquires third information that is information related to communication of a function being executed by the information processing apparatus, and the movement control unit uses the third information to obtain the information You may control the movement range of a processing apparatus.
  • An autonomously movable information processing apparatus uses first information that is information related to a position of the information processing apparatus and second information that is information related to communication of the information processing apparatus. You may have the position management part which performs movement control based on the communication quality information which shows distribution of the produced communication quality, and the present position of the said information processing apparatus.
  • the location management unit may perform movement control of the information processing device based on the communication quality information and a function being executed by the information processing device.
  • the position management unit The information processing apparatus may be moved within the movement permission range.
  • the autonomously movable information processing apparatus may further include a first communication interface that communicates with the first communication means and a second communication interface that communicates with the second communication means.
  • the second information may be information related to communication quality of communication performed by the first communication unit using the first communication interface.
  • the information processing apparatus is configured to transmit the first communication interface and the second communication interface. You may communicate using.
  • the information processing device stops the first function being executed, and the first A second function that is an alternative function of the above function may be executed.
  • FIG. 1 is a diagram illustrating an example of the configuration of the robot management system according to the first embodiment.
  • the robot management system according to the first embodiment includes a robot 101 that is an information processing apparatus capable of autonomous movement, a control server 110, and an application server 111.
  • the robot 101 and the control server 110 are connected by wireless communication.
  • the communication means for connecting the robot 101 and the control server 110 is, for example, a wireless LAN (Local Area Network) 104, a short-range wireless 106, and a mobile communication network 107.
  • a wireless LAN Local Area Network
  • the short-range wireless I / F interface
  • the robot 101 and the control server 110 When the robot 101 and the control server 110 are connected by the short-range wireless 106, the short-range wireless I / F (interface) possessed by each of the robot 101 and the control server 110 performs direct communication.
  • the robot 101 and the control server 110 are connected by the mobile communication network 107, they are connected via the base station device 108 and the Internet 109.
  • the control server 110 measures communication quality information using communication information with the robot 101.
  • the communication quality is communication quality for each robot, and is an index indicating the reception quality in the uplink direction or the reception quality in the downlink direction between the control server 110 and the robot 101.
  • control server 110 acquires position information indicating the current position of the robot 101 measured by the robot 101.
  • the position information may be, for example, an absolute position or a relative position within the maximum movement range 1010 where the movement of the robot 101 is permitted.
  • the control server 110 uses the position information of the robot 101 and the communication quality information, and the movement permission range 103 in which the robot 101 can move within the maximum movement range 1010 and the range in which the robot 101 cannot enter.
  • the movement permission range 102 may be set.
  • the application server 111 is a server for causing the robot 101 to execute an application, and transmits a movement command to the robot 101 via the control server 110.
  • One control server 110 may accommodate a plurality of robots 101, or a plurality of control servers 110 may accommodate one robot 101.
  • FIG. 2 is a diagram illustrating an example of the configuration of the control server 110.
  • the control server 110 includes a memory 201, a CPU (Central Processing Unit) 202, an I / O (input / output interface) 203, an auxiliary storage device 204, a wireless LAN I / F 205, a short-range wireless I / F 206, And a mobile communication network I / F 207.
  • the processing performed by the control server 110 described below is realized by the CPU 202 reading out a computer program (software) stored in the auxiliary storage device 204, developing it on the memory 201, and executing it.
  • the control server 110 communicates with the robot 101 via the wireless LAN I / F 205, the short-range wireless I / F 206, or the mobile communication network I / F 207.
  • the I / O 203 is a user interface for the user to input an instruction to the control server 110 and present the execution result of the program to the user.
  • Input / output devices for example, a keyboard, a mouse, a touch panel, a display, a printer, etc.
  • the I / O 203 may be connected to a user interface provided by a management terminal connected via a network.
  • the CPU 202 is a processor that executes a program stored in the memory 201.
  • the memory 201 includes a ROM (Read Only Memory) which is a nonvolatile storage element and a RAM (Random Access Memory) which is a volatile storage element.
  • the ROM stores an invariant program (for example, BIOS: Basic Input Output System).
  • BIOS Basic Input Output System
  • the RAM is a high-speed and volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores a program stored in the auxiliary storage device 202 and data used when the program is executed.
  • a communication quality measurement program 211 For example, in the memory 201, a communication quality measurement program 211, a movement permission range map creation program 212, a communication quality determination program 213, a communication control program 214, a communication means switching program 215, a function switching program 216, a robot state change program 217, a communication A recovery program 218 and a movement determination program 219 are stored.
  • the communication quality measurement program 211 is a program for executing communication quality measurement processing (see FIG. 3).
  • the movement permission range map creation program 212 is a program for executing movement permission range map creation processing (see FIG. 4).
  • the communication quality determination program 213 is a program for executing communication quality determination processing (see FIG. 5).
  • the communication control program 214 is a program for executing communication control processing (see FIG. 6).
  • the communication means switching program 215 is a program for executing communication means switching processing (see FIG. 7).
  • the function switching program 216 is a program for executing function switching processing (see FIG. 8).
  • the robot state change program 217 is a program for executing a robot state change process (see FIG. 9).
  • the communication recovery program 218 is a program for executing communication recovery processing (see FIG. 10).
  • the movement determination program 219 is a program for executing movement determination processing (see FIG. 11).
  • the memory 201 also includes a function information management table 221 (see FIG. 12), a communication quality information management table 222 (see FIG. 13), a function feasible range information management table 223 (see FIG. 15), and a robot state information management table 224. (See FIG. 17), a function provision range information management table 225 (see FIG. 18), a movement permission range information management table 226 (see FIG. 20), and a function state information management table 227 (see FIG. 22) are stored.
  • a function information management table 221 see FIG. 12
  • a communication quality information management table 222 see FIG. 13
  • a function feasible range information management table 223 see FIG. 15
  • a robot state information management table 224 See FIG. 17
  • a function provision range information management table 225 see FIG. 18
  • a movement permission range information management table 226 see FIG. 20
  • a function state information management table 227 see FIG. 22
  • the auxiliary storage device 204 is a large-capacity and nonvolatile storage device such as a magnetic storage device (HDD: Hard Disk Drive) or a flash memory (SSD: Solid State Drive).
  • the auxiliary storage device 204 stores a program executed by the CPU 202 and data used when the program is executed. That is, the program is read from the auxiliary storage device 204, loaded into the memory 201, and executed by the CPU 202.
  • the control server 110 is a computer system that is physically configured on a single computer or a plurality of logical or physical computers, and the programs stored in the memory 201 are separately stored on the same computer. May operate on a virtual machine constructed on a plurality of physical computer resources. Further, the control server 110 and other devices may be accommodated in one physical or logical computer. Note that all or part of the processing realized by executing the program may be realized by hardware (for example, Field-Programmable Gate Array).
  • FIG. 3 is a flowchart showing an example of the communication quality measurement process.
  • the communication quality measurement process is a process performed when the communication quality measurement program 211 is executed by the CPU 202 of the control server 110.
  • the communication quality measurement program 211 operates as a communication quality information generation unit.
  • the communication quality measurement process is a process performed based on a packet transmitted and received between the robot 101 and the control server 110 and position information of the robot 101.
  • communication quality is measured based on messages transmitted and received between the robot 101 and the control server 110, and the communication quality is associated with the position information of the robot 101 to communicate with the communication quality information management table 222. (FIG. 13).
  • the CPU 202 measures communication quality information from a communication packet between the robot 101 and the control server 110 (step 2111).
  • the CPU 202 acquires the position information of the robot 101 itself measured by the robot 101, and links the position information and the communication quality information based on the time information (step 2112).
  • the CPU 202 refers to the communication quality information management table 222 (FIG. 13) and determines whether or not the communication quality information is already registered at the position indicated by the acquired position information of the robot 101 (step 2113).
  • step 2113 If the communication quality information is not registered at the position indicated by the position information of the robot 101 (step 2113: No), the communication quality measured in step 2111 is registered in the communication quality information management table 222 (FIG. 13). The map 2220 (see FIG. 14) is updated (step 2117). Further, the CPU 202 notifies the robot 101 of the updated communication quality map 2220 (step 2118) and ends the process.
  • step 2113 if the communication quality information is registered at the position indicated by the position information of the robot 101 in step 2113 (step 2113: Yes), the CPU 202 registers the communication registered in the communication quality information management table 222 (FIG. 13). The quality information is compared with the communication quality information measured in step 2111 under the following condition 1 (step 2114).
  • step 2114 If it is determined in step 2114 that the condition 1 is not satisfied, the process proceeds to step 2117.
  • step 2114 If it is determined in step 2114 that the condition 1 is satisfied, the CPU 202 executes the communication quality determination program 213 and performs a communication quality determination process (see FIG. 5) (step 2115).
  • the CPU 202 determines whether or not the communication means switching process has been performed by the communication quality determination process (step 2116). When the communication means switching process is not performed in the communication quality determination process (step 2116: No), the process proceeds to step 2117. On the other hand, when the communication means switching process is performed in the communication quality determination process (step 2116: Yes), the communication quality measurement process is terminated.
  • FIG. 4 is a flowchart showing an example of the movement permission range map creation process.
  • the movement permission range map creation process is a process performed when the movement permission range map creation program 212 is executed by the CPU 202 of the control server 110.
  • the movement permission range map creation program 212 operates as a movement permission range information generation unit.
  • a movement permission range information management table 226 indicating a range in which the robot 101 is permitted to move from the actual communication quality and the required communication quality of the function being used by the robot 101 (FIG. 20). ) Is updated.
  • the CPU 202 acquires the communication quality information management table 222 (FIG. 13) created by the communication quality determination process (step 2121).
  • the CPU 202 refers to the function information management table 221 (FIG. 12) and obtains a required communication quality value 2212 indicating the communication quality required for each function (step 2122).
  • the CPU 202 specifies an area where the current communication quality satisfies the required communication quality of each function based on the current communication quality and the required communication quality value 2212 of each function, and the function feasible range information management table 223 ( (Step 2123).
  • the function feasible range information management table 223 may be a function-specific table.
  • the CPU 202 acquires information on the function being used by the robot 101 from the robot state information management table 224 (FIG. 17) (step 2124). Then, based on the function feasible range information management table 223 (FIG. 15) related to the function being used by the robot, the CPU 202 moves the movable range while maintaining the function being used by the robot to the movement permission range information management table 226. (FIG. 20) is registered (step 2125).
  • the robot 101 uses a plurality of functions, it is determined whether or not the required communication quality for each function is satisfied, and the range that satisfies the communication quality of all the functions is set as the movement permission range of the robot 101 and the movement permission range. You may register into the information management table 226 (FIG. 20).
  • the CPU 202 acquires a range where the function needs to be provided from the function provision range information management table 225 (FIG. 18) (step 2126). Then, the robot movement permission range registered in the movement permission range information management table 226 (FIG. 20) and a range where the functions indicated by the function provision range information management table 225 need to be provided overlap each other.
  • the movement permission range information management table 226 (FIG. 20) is updated as the permission range (step 2127).
  • the CPU 202 transmits the updated movement permission range information management table 226 (FIG. 20) to the robot 101 (step 2128).
  • the movement permission range information management table 226 (FIG. 20) may be transmitted from the control server 110 to the robot 101, or a movement permission range map representing this table as a map of the maximum movement range 1010 (see FIG. 21). )
  • movement permission range information determined from the function being executed by the information processing apparatus and the communication quality between the control server 110 and the robot 101 is provided to the robot 101.
  • the robot 101 can autonomously control the position within the permitted range.
  • FIG. 5 is a flowchart showing an example of the communication quality determination process.
  • the communication quality determination process is a process performed when the communication quality determination program 213 is executed by the CPU 202 of the control server 110.
  • the communication quality determination program 213 operates as a communication quality determination unit.
  • the communication quality determination process a process for improving the communication quality is performed.
  • the CPU 202 refers to the function information management table 221 and the robot state information management table 224 (step 2131). Then, the CPU 202 calculates the difference between the communication quality value of the function being used by the robot 101 and the communication quality value measured in step 2111, and calculates the total communication quality value of the function being used and the measured communication quality value. Are compared under the following condition 2 (step 2132).
  • step 2132: No If it is determined that the condition 2 is not satisfied (step 2132: No), all the following processes are skipped and the communication quality determination process is terminated.
  • step 2132 when it is determined that the condition 2 is satisfied (step 2132: Yes), the CPU 202 executes the communication control program 214 and performs a communication control process (see FIG. 6) (step 2133).
  • a communication control process a process for suppressing the communication amount is performed for a function having a low priority.
  • the CPU 202 executes the communication means switching program 215 and performs communication means switching processing (see FIG. 7) (step 2134).
  • the communication means switching process switching to another communication means that satisfies the required communication quality is performed.
  • the CPU 202 executes the function switching program 216 and performs function switching processing (see FIG. 8) (step 2135).
  • function switching processing when an alternative function is assigned, switching to the alternative function is performed.
  • the CPU 202 determines whether or not the communication amount is suppressed for at least one function in Step 2133, and whether or not the communication means is switched for at least one function in Step 2134. In step 2135, it is determined whether or not switching to an alternative function has been executed for at least one function (step 2136).
  • step 2136 if any of the processes has been executed (step 2136: Yes), the communication quality determination process is terminated.
  • step 2136 the CPU 202 executes the robot state change program 217 and performs the robot shape change process (see FIG. 9) (step 2137).
  • the robot shape change process the orientation or shape of the robot is changed to try to improve the communication quality.
  • step 2137 If the robot orientation or shape is changed in step 2137, the communication quality process is terminated (step 2138: Yes). On the other hand, if the robot orientation or shape has not been changed (step 2138: No), the CPU 202 executes the communication recovery program 218 and performs communication recovery processing (see FIG. 10) (step 2139). In the communication restoration process, the robot 101 is moved to a position where the communication quality is high to try to improve the communication quality.
  • FIG. 6 is a flowchart showing an example of communication control processing.
  • the communication control process is a process performed when the communication control program 214 is executed by the CPU 202 of the control server 110.
  • the communication control program 214 operates as a communication control unit.
  • the communication control process is executed in the communication quality determination process of FIG.
  • the CPU 202 refers to the function information management table 221 (FIG. 12) (step 2141), and determines whether there is a function that satisfies the following condition 3 regarding the priority of the function in use and the predetermined threshold value 2. To do. (Step 2142).
  • step 2142 If there is no function that satisfies condition 3 (step 2142: No), the communication control process is terminated.
  • the CPU 202 determines, for each function, the amount of traffic currently used by the function and the requested communication.
  • the quality value 2212 is compared under the following condition 4 (step 2143).
  • Requirement 4 One or more of communication volume> required communication quality value 2212
  • step 2143: Yes For a function that satisfies the condition 4 (step 2143: Yes), the CPU 202 performs control to suppress the communication amount until the communication amount of the function reaches the required communication quality value (step 2144). On the other hand, for a function that does not satisfy condition 4 (step 2143: No), the CPU 202 determines that the function is not operating normally and ends the function (S2145).
  • FIG. 7 is a flowchart showing an example of communication means switching processing.
  • the communication means switching process is a process performed when the communication means switching program 215 is executed by the CPU 202 of the control server 110.
  • the communication means switching program 215 operates as a communication means switching unit.
  • the communication means switching process is executed in the communication quality determination process of FIG.
  • the CPU 202 determines whether or not there are a plurality of communication means that can communicate between the robot 101 and the control server 110 (step 2151). If there are not a plurality of communicable communication means, the communication means switching process is terminated (step 2151: No).
  • step 2151 If there are a plurality of communicable communication means (step 2151: Yes), the function state information management table 227 (see FIG. 22) is referred to, and information on the correspondence between the function and the communication means is acquired (step 2152). Based on the acquired information, the CPU 202 determines whether there is a function to which no communication means is assigned, or whether there is a function that does not satisfy the required communication quality with the current communication quality of the assigned communication means. (Step 2153).
  • the robot 101 may exist outside the movement permission range determined by the movement permission range information management table 226. It is done.
  • step 2153: No If there is no function to which the communication means is not assigned, or there is no function that does not satisfy the required communication quality in the assigned communication means (step 2153: No), the communication means switching process is terminated.
  • step 2153 when there is a function to which no communication means is assigned or there is a function in which the assigned communication means does not satisfy the required communication quality (step 2153: Yes), the CPU 202 determines the function information management table 221 (FIG. 12). , The function information is acquired (step 2154), and it is determined whether or not there is a communication unit that satisfies the communication quality value required by the function (step 2155).
  • step 2155 if there is no communication means that satisfies the communication quality value required by the function, the communication means switching process is terminated (step 2155: No).
  • step 2155 when there is a communication means that satisfies the communication quality value required by the function (step 2155: Yes), the CPU 202 assigns a communication means that satisfies the communication quality value required for the function (step 2156).
  • the CPU 202 subtracts the communication quality value of the communication means to which the function is assigned in step 2156 from the communication quality value of the entire communication means, and calculates a difference in communication quality values indicating a surplus of the communication band (step 2157). Thereafter, the process returns to step 2153 and is repeated until there is no function to which the communication means is not assigned and no function to which the assigned communication means does not satisfy the required communication quality.
  • different communication means can be assigned to each function. That is, the robot 101 can communicate with a plurality of communication means while executing a plurality of functions, and the communication quality is stabilized.
  • FIG. 8 is a flowchart showing an example of function switching processing.
  • the function switching process is a process performed when the function switching program 216 is executed by the CPU 202 of the control server 110.
  • the function switching program 216 operates as a function switching unit.
  • the function switching process is executed in the communication quality determination process of FIG.
  • the CPU 202 determines whether there is a function to which no communication means is assigned even by the communication means switching process (see FIG. 7), or the current communication quality of the assigned communication means satisfies the required communication quality. It is determined whether there is a function that is not performed (step 2161).
  • the robot 101 may exist outside the movement permission range determined by the movement permission range information management table 226. It is done.
  • step 2161: Yes If there is a function to which the communication means is not assigned or there is a function in which the requested communication quality is not satisfied by the assigned communication means (step 2161: Yes), the CPU 202 stores the function information management table 221 (FIG. 12). Referring to this, it is determined whether or not the alternative function 2215 of the function is registered (step 2162). If the alternative function 2215 is not registered (step 2162: No), the CPU 202 ends the function (step 2165) and returns to step 2161 again.
  • step 2162 the CPU 202 determines whether there is a communication means that satisfies the communication quality value required by the alternative function (step 2163). If there is a communication means that satisfies the communication quality value required by the alternative function (step 2163: Yes), the CPU 202 ends the function to which the communication means is not assigned or the function for which the requested communication quality is not satisfied by the assigned communication means. Then, the alternative function is executed to switch to the alternative function (step 2164), and the process returns to step 2161. If there is no communication means that satisfies the communication quality value required by the alternative function (step 2163: No), the process proceeds to step 2165.
  • FIG. 9 is a flowchart showing an example of the robot state change process.
  • the robot state change process is a process performed when the robot state change program 217 is executed by the CPU 202 of the control server 110.
  • the robot state change program 217 operates as a robot state change unit.
  • the robot state change process is executed in the communication quality determination process of FIG.
  • the CPU 202 refers to the movement permission range information management table 226 (FIG. 20) (step 2171).
  • the CPU 202 determines whether or not there is information regarding the location of the wireless LAN AP or the wireless relay device in the movement permission range information management table 226 (FIG. 20) (step 2172). If there is information about the location of the wireless LAN AP or wireless relay device in the movement permission range information management table 226 (FIG. 20) (step 2172: Yes), the wireless LAN AP or wireless relay device closest to the position of the robot 101 A control command for controlling the posture of the robot 101 is transmitted to the robot 101 so that the wireless LAN I / F 305 of the robot 101 faces in the direction (2173).
  • the CPU 202 The status information management table 224 (FIG. 17) is referred to (step 2274). Then, the control server 110 determines whether or not the current shape of the robot 101 is a shape for restoring communication (step 2175).
  • the communication recovery shape is, for example, a predetermined shape of the robot 101, which is a shape suitable for improving the communication quality when the communication quality is low.
  • step 2175: No the control server 110 transmits a control command for the robot 101 to change its shape to the shape for communication restoration to the robot 101 (step). 2176). If the robot has a shape for communication restoration (step 2175: Yes), step 2176 is skipped and the robot state change process is terminated.
  • FIG. 10 is a flowchart showing an example of communication restoration processing.
  • the communication recovery process is a process performed by the communication recovery program 218 being executed by the CPU 202 of the control server 110.
  • the communication restoration program 218 operates as a movement control unit that controls movement of the robot 101.
  • the communication restoration process is executed in the communication quality determination process of FIG.
  • the CPU 202 compares the priority of the function to which no communication means is assigned and the alternative function is not activated with the predetermined threshold 3 under the following condition 5 (step 2181).
  • step 2181: No If the condition 5 is not satisfied (step 2181: No), the communication recovery process is terminated.
  • step 2181: Yes if there is a function that satisfies the condition 5, that is, if there is a function whose communication state is insufficient even during execution (step 2181: Yes), the communication means switching process (FIG. 7) has already been performed. It is determined whether or not (step 2182). If the communication means switching process has been performed (step 2182: Yes), the process ends.
  • step 2182 When the communication means switching process has not been performed (step 2182: No), the communication quality information management table 222 (FIG. 13) is referred to and the presence / absence of a position with higher communication quality than the current position is determined (step 2183). .
  • step 2183: No If there is no position where the communication quality is higher than the current position (step 2183: No), a command to move to the standby point is transmitted from the control server 110 to the robot 101 (step 2184). If there is a position with higher communication quality than the current position (step 2183: Yes), a command to move to a position with higher communication quality is transmitted from the control server 110 to the robot 101 (step 2185).
  • step 2184 and step 2185 the CPU 202 updates the current position as a range in which movement of the robot 101 is not permitted in the movement permission range information management table 226 (FIG. 20) (step 2186).
  • the robot 101 is forcibly moved to a position where the communication state is better, and the control server 110 can continue to manage the robot 101.
  • FIG. 11 is a flowchart illustrating an example of the movement determination process.
  • the movement determination process is a process performed when the movement determination program 219 is executed by the CPU 202 of the control server 110.
  • the movement determination program 219 operates as a movement determination unit.
  • the movement determination program 219 operates as a movement control unit that controls the movement of the robot 101.
  • the CPU 202 acquires a movement notification for the robot 101 from the application server 111, and acquires the communication quality information of the destination position indicated by the movement notification with reference to the communication quality information management table 222 (step 2191).
  • the CPU 202 refers to the robot state information management table 224 and the function information management table 221 (step 2192), and determines the requested communication quality of the function being used by the robot 101 and the communication quality of the destination location indicated by the movement notification. Comparison is made under the following condition 6 (step 2193).
  • step 2193 the CPU 202 transmits a movement command to the movement destination indicated by the movement notification to the robot 101 (step 2200), and ends the process.
  • step 2193 If it is determined that the condition 6 is satisfied (step 2193: Yes), the CPU 202 activates the communication control program 214 and executes the communication control process (see FIG. 6) (step 2194). Further, the CPU 202 activates the communication means switching program 215 and executes communication means switching processing (see FIG. 7) (step 2195). The CPU 202 further activates the function switching program 216 and executes function switching processing (see FIG. 8) (step 2196).
  • Step 2197 the CPU 202 determines again whether there is a function that satisfies the condition 6 (Step 2197).
  • step 2197: No If there is no function that satisfies condition 6 (step 2197: No), the process proceeds to step 2200. If there is a function that satisfies the condition 6 (step 2197: Yes), the CPU 202 compares the priority of the function that satisfies the condition 6 with the predetermined threshold 4 under the following condition 7 (step 2198).
  • the CPU 202 If it is determined that the condition 7 is satisfied, the CPU 202 notifies the application server 111 that it is impossible to move the robot 101 based on the movement notification (step 2199), and the process ends. If it is determined that the condition 7 is not satisfied, the process proceeds to step 2220.
  • FIG. 12 is a diagram showing an example of the function information management table 221. As shown in FIG. 12
  • the function information management table 221 stores information on functions executed by the robot 101.
  • the function information management table 221 includes a function ID 2211 for uniquely identifying a function, and a required communication quality value 2212 that is information on communication quality between the robot 101 and the control server 110 required for each function.
  • the communication quality request level 2213 determined from the communication quality value 2212, the priority 2214 which is the priority information of the function, and the alternative function 2215 when the function cannot be used are stored.
  • the communication quality value 2212 further includes a throughput such as a data transfer rate, an RTT (Round Trip Time), and a packet loss rate.
  • a throughput such as a data transfer rate, an RTT (Round Trip Time), and a packet loss rate.
  • the communication quality value 2212 may include only a part of these indexes. Other indicators (jitter etc.) may be included.
  • the requested level 2213 is, for example, a throughput of 0 to 100000 bps, 1 of 100001 to 1000000 bps, 3 of 1000001 to 5000000 bps, 4 of 5000001 to 10000000 bps, and 5 of 10000001 bps or more.
  • the rank of the request level is five stages, but the number of ranks of the request level is not limited.
  • FIG. 13 is a diagram showing an example of the communication quality information management table 222.
  • the communication quality information management table 222 has information indicating the communication quality within the maximum movement range 1010 of the robot 101.
  • the communication quality information management table 222 is generated from information related to the position of the robot 101 and information related to communication with the robot 101.
  • the maximum movement range 1010 of the robot 101 is divided into grid areas of a predetermined size, and information on the communication quality level in each area divided into the grid is stored.
  • Each area divided in a lattice shape may be specified by, for example, XY coordinates.
  • the communication quality level may be determined by a communication quality measurement process (FIG. 3).
  • the information stored in the communication quality information management table 222 is the communication quality level, but other information may be used.
  • the communication quality may be an average value, median value, maximum value, or minimum value such as throughput, delay, and packet loss rate.
  • the communication quality information management table 222 may be created for each communication means. Alternatively, one communication quality information management table 222 may be generated based on the total value of communication quality values of a plurality of communication means.
  • FIG. 14 is a diagram showing an example of the communication quality map 2220.
  • the communication quality map 2220 is a map that visualizes the communication quality of the movement range of the robot 101 based on the communication quality information management table 222. For example, as shown in FIG. 14, the communication quality map 2220 divides the maximum movement range 1010 into a grid area of a predetermined size and registers it in the communication quality information management table 222 in the grid-divided area. The obtained throughput may be expressed in multiple stages for each lattice.
  • the grids of the communication quality information management table 222 and the communication quality map 2220 may correspond to each other.
  • the throughput is 0 to 100000 bps as level 1, 100001 to 1000000 bps as level 2, 1000001 to 5000000 bps as level 3, 5000001 to 10000000 bps as level 4, 10000001 bps or more as level 5.
  • the rank of the request level is five stages, but the number of ranks of the request level is not limited.
  • the map may be a three-dimensional map having an x-axis, y-axis, and z-axis, and the level of delay, packet loss rate, and communication quality may be represented by a z-axis graph in the height direction.
  • FIG. 15 is a diagram showing an example of the function feasible range information management table 223.
  • the function feasible range information management table 223 includes information indicating the actual communication quality state with respect to the required communication quality of each function within the maximum movement range 1010 of the robot 101.
  • the function feasible range information management table 223 is generated from actual communication quality and communication quality required for the function.
  • the function feasible range information management table 223 for example, as in the communication quality information management table 222, the maximum movement range 1010 of the robot 101 is divided into grid areas of a predetermined size.
  • information indicating whether or not the required communication quality of each function in each area divided into a grid is satisfied is stored for each function.
  • Each area divided in a lattice shape may be specified by, for example, XY coordinates.
  • a value (for example, 0) indicating that the required quality of the function is not satisfied may be stored in the lattice that does not satisfy the required communication quality of the function.
  • the function feasible range information management table 223 may be created for each communication means.
  • one function feasible range information management table 223 may be generated based on the total value of communication quality values of a plurality of communication means.
  • FIG. 16 is a diagram showing an example of a function feasible range map 2230.
  • the function feasible range map 2230 is a map that visualizes the actual communication quality level with respect to the required communication quality for each function in the maximum movement range 1010 of the robot 101 based on the function feasible range information management table 223.
  • the function feasible range map 2230 divides the maximum movement range 1010 into a grid area having a predetermined size, and the function feasible range information management is performed in the grid-divided area.
  • the actual communication quality level corresponding to the required communication quality for each function registered in the table 223 may be visually represented in multiple stages for each grid. For example, an area indicating that the required communication quality of the function is not satisfied may be displayed indicating that the function cannot be used.
  • the grids of the function feasible range information management table 223 and the function feasible range map 2230 may correspond to each other.
  • FIG. 17 is a diagram illustrating an example of the robot state information management table 224.
  • the robot state information management table 224 shows the state of the robot 101 related to the function and shape.
  • the robot state information management table 224 includes, for example, a robot state ID 2241 that is an ID for uniquely identifying the state of the robot 101, a state 2242 of each function, and a robot shape 2243.
  • a robot state ID 2241 that is an ID for uniquely identifying the state of the robot 101
  • a state 2242 of each function for example, 1 may be stored when the robot 101 performs the function, and 0 may be stored when the robot 101 does not perform the function.
  • the robot shape 2243 for example, 1 may be stored when the robot 101 is in a communication recovery shape, and 0 may be stored in other shapes.
  • FIG. 18 is a diagram showing an example of the function provision range information management table 225.
  • the function provision range information management table 225 indicates an area where each function needs to be provided within the maximum movement range 1010 of the robot 101.
  • the maximum movement range 1010 of the robot 101 is divided into a grid area of a predetermined size, like the communication quality information management table 222 and the function feasible range information management table 223.
  • a value indicating whether or not the function needs to be provided is stored.
  • Each area divided in a lattice shape may be specified by, for example, XY coordinates.
  • the value indicating whether or not the function needs to be provided may be, for example, 1 if the function is provided and 0 if the function is not required.
  • the function provision range information management table 225 may be created for each communication means. Or the one function provision range information management table 225 may be produced
  • FIG. 19 is a diagram showing an example of the function provision range map 2250.
  • the function provision range map 2250 is a map that visualizes a range in which the function needs to be provided within the maximum movement range 1010 of the robot 101 based on the function provision range information management table 225.
  • the function provision range map 2250 divides the map into grid areas of a predetermined size, and is registered in the function provision range information management table 225 in the grid-divided areas.
  • a value indicating whether or not the function needs to be provided may be visually expressed separately for each grid.
  • the grids of the function provision range information management table 225 and the function provision range map 2250 may correspond to each other.
  • FIG. 20 is a diagram illustrating an example of the movement permission range information management table 226.
  • the movement permission range information management table 226 indicates a range in which the robot 101 can move in order to continuously provide the function currently provided within the maximum movement range 1010 of the robot 101.
  • the movement permission range information management table 226 is generated from the communication quality and the required communication quality of the function being executed.
  • the maximum movement range 1010 of the robot 101 has a predetermined size as in the communication quality information management table 222, the function feasible range information management table 223, and the function provision range information management table 225. Divided into grid-like areas. Each area divided in a lattice shape may be specified by, for example, XY coordinates.
  • communication quality information or a communication quality level is stored in each area divided in a lattice shape, and it indicates that movement is not permitted in an area where movement of the robot 101 is not permitted. A value (for example, 0) may be stored.
  • the movement permission range information management table 226 may be created for each communication means. Alternatively, one movement permission range information management table 226 may be generated based on a total value of communication quality values of a plurality of communication means.
  • FIG. 21 is a diagram showing an example of the movement permission range map 2260.
  • the movement permission range map 2260 is a map that visualizes a range in which the movement of the robot 101 is permitted within the maximum movement range 1010 of the robot 101 based on the movement permission range information management table 226.
  • the movement permission range map 2260 divides the map into a grid area of a predetermined size, and is registered in the movement permission range information management table 226 in the area divided into the grid pattern.
  • the communication quality information or the communication quality level may be visually expressed in multiple stages for each grid. For example, a symbol indicating that movement is not permitted may be displayed in an area where movement is not permitted.
  • the grids of the movement permission range information management table 226 and the movement permission range map 2260 may correspond to each other.
  • FIG. 22 is a diagram showing an example of the function state information management table 227.
  • the function status information management table 227 shows communication means used for each function.
  • the function state information management table 227 includes a function ID 2271 that is an ID for uniquely identifying a function, a communication unit 2272 indicating a communication unit to which the function is assigned, and whether or not the function uses an alternative function. And an alternative function usage state 2273 shown.
  • the communication unit 2272 may be assigned when a function is being executed by the robot 101 and may be released when the execution is completed.
  • the substitute function use state 2273 indicates whether or not the substitute function is being executed.
  • FIG. 23 is a sequence diagram showing an example of updating the communication quality map and the movement permission range map.
  • control server 110 executes the communication quality measurement program 211 to measure the communication quality between the robot 101 and the control server 110.
  • the control server 110 transmits the communication quality map equivalent to the updated communication quality information management table 222 or the communication quality information management table 222.
  • Information about 2220 is transmitted to the robot 101.
  • the updated communication quality information management table 222 or the communication quality map 2220 may be transmitted from the control server 110 to the robot 101, or difference information from these before the update may be transmitted.
  • control server 110 executes the movement permission range map creation program 212 and updates the movement permission range information management table 226. Thereafter, the control server 110 transmits to the robot 101 information related to the movement permitted range information management table 226 or the movement permitted range information management table 226 that is updated. At this time, the updated movement-permitted range information management table 226 or movement-permitted range map 2260 may be transmitted from the control server 110 to the robot 101, or difference information from these before updating may be transmitted.
  • the control server 110 and the robot 101 can update the communication quality map and the movement permission range map of FIG. 23 periodically or at an arbitrary timing.
  • FIG. 24 is a sequence diagram illustrating an example of processing for stabilizing the communication quality between the robot 101 and the control server 110.
  • the control server 110 executes the communication quality measurement program 211 to measure the communication quality between the robot 101 and the control server 110.
  • the communication quality determination program 213 is executed in the communication quality measurement process by the communication quality measurement program 211.
  • the control server 110 switches the communication means to the robot 101. Send instructions.
  • control for controlling the control server 110 to change the shape or orientation of the robot 101 to the robot 101 is performed.
  • An instruction is sent.
  • the control server 110 can perform the communication stabilization process of FIG. 24 periodically or at an arbitrary timing.
  • FIG. 25 is a diagram illustrating an example of the configuration of the robot 101 according to the first embodiment.
  • the robot 101 includes a memory 301, a CPU (Central Processing Unit) 302, an I / O (input / output interface) 303, an auxiliary storage device 304, a wireless LAN I / F 305, a short-range wireless I / F 306, A body communication network I / F 307, a mechanism unit 308 that is a mechanism part of a robot such as a head, arms, and legs, a mechanism control unit 309 that controls the mechanism unit 308, a speaker 310 that emits sound, and the like are collected.
  • a microphone 311 and a light emitting unit 312 are included.
  • the processing performed by the robot 101 described below is realized by the CPU 302 reading out a computer program (software) stored in the auxiliary storage device 304, developing it on the memory 301, and executing it.
  • the robot 101 communicates with the control server 110 via the wireless LAN I / F 305, the short-range wireless I / F 306, or the mobile communication network I / F 307.
  • the I / O 303 is a user interface for the user to input an instruction to the robot 101 and present the execution result of the program to the user.
  • Input / output devices for example, a keyboard, a mouse, a touch panel, a display, a printer, etc.
  • the I / O 303 may be connected to a user interface provided by a management terminal connected via a network.
  • the CPU 302 is a processor that executes a program stored in the memory 301.
  • the memory 301 includes a ROM (Read Only Memory) that is a nonvolatile storage element and a RAM (Random Access Memory) that is a volatile storage element.
  • the ROM stores an invariant program (for example, BIOS: Basic Input Output System).
  • BIOS Basic Input Output System
  • the RAM is a high-speed and volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores a program stored in the auxiliary storage device 302 and data used when the program is executed.
  • the memory 301 stores a location management program 321 and a communication recovery program 322.
  • the location management program 321 is a program for executing location management processing (see FIG. 26).
  • the communication recovery program 322 is a program for executing communication recovery processing (see FIG. 27).
  • the memory 301 stores a communication quality information management table 222 (see FIG. 13) and a movement permission range information management table 226 (see FIG. 20).
  • the auxiliary storage device 304 is a large-capacity and nonvolatile storage device such as a magnetic storage device (HDD: Hard Disk Drive) or a flash memory (SSD: Solid State Drive).
  • the auxiliary storage device 304 stores a program executed by the CPU 302 and data used when the program is executed. That is, the program is read from the auxiliary storage device 304, loaded into the memory 301, and executed by the CPU 302.
  • Various tables or maps transmitted from the control server 110 are stored in the memory 301 or the auxiliary storage device 304 and are referred to when the CPU 302 executes the program.
  • the computer system of the robot 101 is a computer system configured on one physical computer or a plurality of logical or physical computers, and the program stored in the memory 201 is stored on the same computer. It may operate in a separate thread, or may operate on a virtual machine constructed on a plurality of physical computer resources. Note that all or part of the processing realized by executing the program may be realized by hardware (for example, Field-Programmable Gate Array).
  • FIG. 26 is a flowchart showing an example of location management processing.
  • the position management process is a process performed when the position management program 321 is executed by the CPU 302 of the robot 101.
  • the position management program 321 operates as a position management unit.
  • the CPU 302 acquires the position information of the robot 101 (step 3221).
  • the CPU 302 refers to the movement permission range information management table 226 based on the acquired position information of the robot 101 (step 3222), and determines whether or not the current position of the robot 101 is within the movement permission range (step 3223). .
  • step 3223 the CPU 302 instructs the mechanism control unit 309 to move to a position within the movement permission range that is closest to the current position. Then, the robot 101 is moved into the movement permission range (step 3224).
  • the robot 101 can keep its own position within the movement permission range instructed from the control server 110.
  • FIG. 27 is a flowchart showing an example of communication restoration processing.
  • the communication recovery process is a process that is performed when the communication recovery program 322 is executed by the CPU 302 of the robot 101.
  • the communication restoration program 322 operates as a communication restoration processing unit or a location management unit.
  • the CPU 302 measures communication quality from a packet transmitted and received between the robot 101 and the control server 110 (step 3231).
  • the communication quality measured here is, for example, throughput such as data transfer rate, delay such as RTT (Round Trip Time), and packet loss rate.
  • the robot 101 may transmit a test packet for measuring communication quality.
  • the CPU 302 compares the measured communication quality value with the predetermined threshold value 5 under the following condition 8 (step 3232).
  • the CPU 302 refers to the communication quality map 2220 (step 3233), It is determined whether there is a good place (step 3234).
  • step 3234: No If there is no place with better communication quality than the current position (step 3234: No), the CPU 302 instructs the mechanism control unit 309 to move the robot 101 to the standby point (step 3235).
  • step 3234 if there is a place with better communication quality than the current position (step 3234: Yes), the CPU 302 issues an instruction to the mechanism control unit 309 and moves the robot 101 to a place with better communication quality than the current position (step). 3236).
  • the position of the robot 101 can be controlled to prevent the robot 101 from communicating with the control server 110.
  • Example 2 In the second embodiment, an example in which the relay server 120 relays communication of the mobile communication network 107 will be described.
  • the same components or functions as those described in the first embodiment may be denoted by the same reference numerals as those in the first embodiment, and the description thereof may be omitted.
  • FIG. 28 is a diagram illustrating an example of the robot management system according to the second embodiment.
  • the robot management system according to the second embodiment includes a robot 101 that is an autonomously movable information processing apparatus, a control server 110 that is a control apparatus, an application server 111, and wireless communication of a mobile communication network between the robot 101 and the control server 110.
  • a relay server 120 that relays
  • the robot 101 and the control server 110 are connected by wireless communication.
  • the communication means for connecting the robot 101 and the control server 110 is, for example, a wireless LAN (Local Area Network) 104 and a short-range wireless 106. Communication using the wireless LAN 104 and the short-range wireless 106 is the same as in the first embodiment.
  • the robot 101 and the relay server 120 are connected by wireless communication.
  • a communication means for connecting the robot 101 and the relay server 120 is, for example, the mobile communication network 107.
  • the robot 101 and the relay server 120 are connected via the base station device 108 and the Internet 109.
  • the control server 110 and the relay server 120 are connected via wired communication, for example, the Internet 109. Therefore, the robot 101 and the control server 110 can communicate via the relay server 120.
  • the control server 110 and the relay server 120 each measure communication quality information using communication information with the robot 101.
  • FIG. 29 is a diagram illustrating an example of the configuration of the control server 110.
  • the control server 110 includes a memory 401, a CPU (Central Processing Unit) 402, an I / O (input / output interface) 403, an auxiliary storage device 404, a wireless LAN I / F 405, a short-range wireless I / F 406, It has a mobile communication network I / F 407 and a network I / F 408.
  • the process performed by the control server 110 described below is realized by the CPU 402 reading out a computer program (software) stored in the auxiliary storage device 404, developing it on the memory 401, and executing it.
  • the control server 110 communicates with the robot 101 via the wireless LAN I / F 405, the short-range wireless I / F 406, or the mobile communication network I / F 407.
  • the control server 110 communicates with the relay server 120 via the network I / F 408.
  • the I / O (input / output interface) 403 is a user interface for the user to input an instruction to the control server 110 and present the execution result of the program to the user.
  • Input / output devices for example, a keyboard, a mouse, a touch panel, a display, a printer, etc.
  • the I / O 403 may be connected to a user interface provided by a management terminal connected via a network.
  • the CPU 402 is a processor that executes a program stored in the memory 401.
  • the memory 401 includes a ROM (Read Only Memory) that is a nonvolatile storage element and a RAM (Random Access Memory) that is a volatile storage element.
  • the ROM stores an invariant program (for example, BIOS: Basic Input Output System).
  • BIOS Basic Input Output System
  • the RAM is a high-speed and volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores a program stored in the auxiliary storage device 402 and data used when the program is executed.
  • a communication quality measurement program 411 For example, in the memory 401, a communication quality measurement program 411, a movement permission range map creation program 212, a communication quality determination program 213, a communication control program 214, a communication means switching program 215, a function switching program 216, a robot state change program 217, a communication A recovery program 218 and a movement determination program 219 are stored.
  • the communication quality measurement program 411 is a program for executing communication quality measurement processing (see FIG. 30). Since the movement permission range map creation program 212 to the movement determination program 219 are the same as those in the first embodiment, description thereof is omitted.
  • the auxiliary storage device 404 is a large-capacity and nonvolatile storage device such as a magnetic storage device (HDD: Hard Disk Drive) or a flash memory (SSD: Solid State Drive).
  • the auxiliary storage device 404 stores a program executed by the CPU 402 and data used when the program is executed. That is, the program is read from the auxiliary storage device 404, loaded into the memory 401, and executed by the CPU 402.
  • FIG. 30 is a flowchart showing an example of communication quality measurement processing.
  • the communication quality measurement process is a process performed when the communication quality measurement program 411 is executed by the CPU 402 of the control server 110.
  • the communication quality measurement program 411 operates as a communication quality measurement unit.
  • the communication quality measurement process performed by the control server 110 of the present embodiment includes a process of measuring the quality of communication performed directly with the robot 101 by the wireless LAN 140 and the short-range wireless 106 as in the first embodiment.
  • the communication quality measurement process of the present embodiment further includes a process of acquiring information related to the communication quality between the relay server 120 and the robot 101 from the relay server 120.
  • the communication quality is measured using a packet transmitted and received between the robot 101 and the control server 110, and the communication quality information management table 222 is updated.
  • the CPU 402 measures the communication quality between the robot 101 and the control server 110 in step 4111, and associates the position information of the robot 101 with the communication quality information in step 4112.
  • the CPU 402 acquires the location information of the relay server 120 and the communication quality between the relay server 120 and the robot 101 from the relay server 120 (step 4113).
  • the relay server 120 measures the communication quality with the robot 101 in advance (see FIG. 34), and the control server 110 acquires the measurement result.
  • the CPU 402 performs processing for registering the communication quality associated with the position information of the robot 101 in the communication quality information management table 222 (steps 4114 to 4119).
  • FIG. 31 is a diagram illustrating an example of the configuration of the relay server 120 according to the second embodiment.
  • the relay server 120 includes a memory 501, a CPU 502, an I / O 503, an auxiliary storage device 504, a mobile communication network I / F 505, and a network I / F 506.
  • the processing performed by the relay server 120 described below is realized by the CPU 502 expanding and executing a computer program stored in the auxiliary storage device 504 on the memory 501.
  • the relay server 120 communicates with the robot 101 via the mobile communication network I / F 505.
  • the relay server 120 communicates with the control server 110 via the network I / F 506.
  • the I / O (input / output interface) 503 is a user interface for the user to input an instruction to the relay server 120 and present the execution result of the program to the user.
  • Input / output devices for example, a keyboard, a mouse, a touch panel, a display, a printer, and the like
  • the I / O 503 may be connected to a user interface provided by a management terminal connected via a network.
  • the CPU 502 is a processor that executes a program stored in the memory 501.
  • the memory 501 includes a ROM (Read Only Memory) that is a nonvolatile storage element and a RAM (Random Access Memory) that is a volatile storage element.
  • the ROM stores an invariant program (for example, BIOS: Basic Input Output System).
  • BIOS Basic Input Output System
  • the RAM is a high-speed and volatile storage element such as a DRAM (Dynamic Random Access Memory), and temporarily stores a program stored in the auxiliary storage device 502 and data used when the program is executed.
  • the memory 501 stores an information transfer program 511 and a communication quality measurement program 512.
  • the information transfer program 511 is a program for executing information transfer processing (see FIG. 32).
  • the communication quality measurement program 512 is a program for executing communication quality measurement processing (see FIG. 34).
  • the device information management table 521 (see FIG. 33) is stored in the memory 501.
  • the auxiliary storage device 504 is a large-capacity and nonvolatile storage device such as a magnetic storage device (HDD: Hard Disk Drive) or a flash memory (SSD: Solid State Drive).
  • the auxiliary storage device 504 stores a program executed by the CPU 502 and data used when the program is executed. That is, the program is read from the auxiliary storage device 504, loaded into the memory 501, and executed by the CPU 502.
  • the relay server 120 is a computer system that is physically configured on one computer or a plurality of logical or physical computers, and the programs stored in the memory 501 are separated on the same computer. May operate on a virtual machine constructed on a plurality of physical computer resources. Further, the relay server 120 and other devices may be accommodated in one physical or logical computer. Note that all or part of the processing realized by executing the program may be realized by hardware (for example, Field-Programmable Gate Array).
  • FIG. 32 is a flowchart showing an example of information transfer processing.
  • the information transfer process is a process performed when the information transfer program 511 is executed by the CPU 502.
  • the information transfer process is a process performed by receiving a packet from the robot 101 or the control server 110.
  • the destination device of the received packet is identified by the CPU 502, and the destination device information is obtained by referring to the device information management table 521. (Step 5112).
  • the CPU 502 transfers the packet received in step 5111 based on the information on the destination device acquired in step 5112 (step 5113).
  • FIG. 33 is a diagram showing an example of the device information management table 521.
  • the device information management table 521 has information regarding devices that can communicate with the relay server 120.
  • the device information management table 521 stores a device ID 5211 that is an ID for uniquely identifying a device, an IP address 5212 that the device uses for communication, and a port number 5213 that the device uses for communication.
  • information (MAC address or the like) for communication by the apparatus may be stored.
  • FIG. 34 is a flowchart showing an example of the communication quality measurement process.
  • the communication quality measurement process is a process performed when the communication quality measurement program 512 is executed by the CPU 502 of the relay server 120.
  • the communication quality measurement program 512 operates as a communication quality measurement unit.
  • the communication quality between the robot 101 and the relay server 120 is determined from the packet that the CPU 502 transmits and receives between the robot 101 and the relay server 120. Is measured (step 5122).
  • the CPU 502 acquires the position information of the robot 101 from the robot 101 and associates the position information of the robot 101 with the communication quality measured in step 5122 based on the time information (step 5123). Then, the CPU 502 transmits the communication quality associated with the position information to the control server 110 (step 5124).
  • control server 110 and the robot 101 even if communication between the control server 110 and the robot 101 is performed via the relay server 120, communication between the control server 110 and the robot 101 is performed in the same manner as when direct communication is performed as in the first embodiment.
  • the robot can be controlled to keep the state at the required communication quality.
  • the above-described processing by the program or the like may be realized by hardware, for example, by designing a part or all of the processing with an integrated circuit, or the processing by the hardware and the processing by the program may be combined.
  • Information such as programs and tables can be stored in a storage device such as a memory, an HDD (Hard Disk Drive), or an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • the control lines and information lines indicate those necessary for explanation, and there may be control lines and information lines other than those shown.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

制御サーバ110は、自律移動可能な情報処理装置であるロボット101の位置に関する情報である第1の情報と、ロボット101の通信に関する情報である第2の情報とを取得し、第1の情報及び第2の情報を用いて通信品質の分布を示す通信品質マップを作成する制御サーバ110は、通信品質マップに基づいて、ロボット101の移動範囲を制御する。

Description

制御装置、制御システム、及び自律移動可能な情報処理装置
 本発明は、制御装置、制御システム、及び自律移動可能な情報処理装置に関するものである。
近年、ロボットを無線通信により遠隔操作する技術や、一部の機能をアプリケーションサーバに実装し、ロボットがアプリケーションサーバと無線通信を行うことで機能を実現する技術が提案されている。無線通信を使用するロボットでは、無線品質(例えば、電波強度)を維持し、機能に適した通信品質(例えば、スループット、遅延)が維持される必要がある。
 これに対して、特許文献1では、無線通信により無線親機から送信されるタスク指令に基づいて、移動制御手段が脚部又は脚部に相当する移動機構を駆動制御することで、自律的に移動する移動ロボットにおいて、移動領域の地図データと、当該移動領域における無線環境に関連する複数の無線環境データで構成された総合無線環境データとを対応付けた無線環境マップを記憶した無線環境マップ記憶手段と、前記移動領域内における自己位置を認識する位置認識手段と、前記無線環境の状態を監視する監視手段と、この監視手段で監視された無線環境の状態が、前記無線通信が切断された状態となった場合に、前記無線環境マップに基づいて、前記無線通信の接続が可能な復旧位置を探索する探索手段と、前記認識された自己位置から、前記探索手段で探索された復旧位置までの移動を前記移動制御手段に指示する自己位置移動指示手段と、を備えていることを特徴とする移動ロボットが記載されている。
特開2008-87102号公報
 特許文献1に記載された技術を用いれば、無線通信が切断されても無線通信を復旧することが可能となる。しかしながら、ロボットの機能が必要な通信品質が維持できず、ロボットのサービス品質が低下する。
 また、ロボットの機能毎に必要な通信品質は異なるため、機能が使用するデータの転送に重要な通信品質(スループット、遅延等)を常に確保することが求められている。
 本発明の一つの実施態様に係る制御装置は、自律移動可能な情報処理装置を制御する制御装置であって、前記情報処理装置の位置に関する情報である第1の情報と、前記情報処理装置の通信に関する情報である第2の情報とを取得し、前記第1の情報及び前記第2の情報を用いて通信品質の分布を示す通信品質情報を作成する通信品質情報生成部と、前記通信品質情報に基づいて、前記情報処理装置の移動範囲を制御する移動制御部と、を有する。
実施例1のロボット制御システムの構成の例を示す図である。 制御サーバの構成の例を示す図である。 通信品質計測処理の例を示すフローチャートである。 移動許可範囲マップ作成処理の例を示すフローチャートである。 通信品質判定処理の例を示すフローチャートである。 通信制御処理の例を示すフローチャートである。 通信手段切替処理の例を示すフローチャートである。 機能切替処理の例を示すフローチャートである。 ロボット状態変更処理の例を示すフローチャートである。 通信復旧処理の例を示すフローチャートである。 移動判定処理の例を示すフローチャートである。 機能情報管理テーブルの構成の例を示す図である。 通信品質情報管理テーブルの構成の例を示す図である。 通信品質マップの例を示す図である。 機能実施可能範囲情報管理テーブルの構成の例を示す図である。 機能実施可能範囲マップの例を示す図である。 ロボット状態情報管理テーブルの構成の例を示す図である。 機能提供範囲情報管理テーブルの構成の例を示す図である。 機能提供範囲マップの例を示す図である。 移動許可範囲情報管理テーブルの構成の例を示す図である。 移動許可範囲マップの例を示す図である。 機能状態管理テーブルの構成の例を示す図である。 移動許可範囲マップ更新の例を示すシーケンス図である。 通信品質を安定させる処理の例を示すシーケンス図である。 ロボットの構成の例を示す図である。 位置管理処理の例を示すフローチャートである。 通信復旧処理の例を示すフローチャートである。 実施例2のロボット制御システムの構成の例を示す図である。 制御サーバの構成の例を示す図である。 通信品質計測処理の例を示すフローチャートである。 中継サーバの構成の例を示す図である。 情報転送処理の例を示すフローチャートである。 装置情報管理テーブルの構成の例を示す図である。 通信品質計測処理の例を示すフローチャートである。
 以下、本発明の実施形態について、図面を参照して説明する。
 なお、以下の実施形態において、説明の便宜上必要があるときは、複数のセクションまたは実施例に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部又は全部の変形例、詳細説明、または補足説明などの関係にある。
 また、以下の実施例において、要素の数など(個数、数値、量及び範囲を含む)に言及する場合、特に明示した場合及び原理的に明らかに特定の数に限定される場合などを除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよいものとする。
 さらに、以下の実施例において、その構成要素(要素ステップなどを含む)は、特に明示した場合及び原理的に明らかに必須であると考えられる場合などを除き、必ずしも必須のものではないことは言うまでもない。
 本発明の一実施形態に係る自律移動可能な情報処理装置を制御する制御装置は、前記情報処理装置の位置に関する情報である第1の情報と、前記情報処理装置の通信に関する情報である第2の情報とを取得し、前記第1の情報及び前記第2の情報を用いて通信品質の分布を示す通信品質情報を作成する通信品質情報生成部と、前記通信品質情報に基づいて、前記情報処理装置の移動範囲を制御する移動制御部と、を有する。
 前記通信品質情報生成部は、さらに、前記情報処理装置が実行中の機能の通信に関する情報である第3の情報を取得し、前記移動制御部は、前記第3の情報を用いて、前記情報処理装置の移動範囲を制御してもよい。
 前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質が前記情報処理装置に要求される通信品質を下回る場合、前記移動制御部は、前記情報処理装置へ移動命令を送信してもよい。
 前記制御装置は、第1の通信手段で前記情報処理装置と通信を行う第1の通信インタフェースと、第2の通信手段で前記情報処理装置と通信を行う第2の通信インタフェースと、をさらに備えてもよい。前記第2の情報は、前記第1の通信インタフェースを用いて前記第1の通信手段で前記情報処理装置と行った通信の通信品質に関する情報でよい。前記情報処理装置の現在位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、又は前記情報処理装置への移動命令情報を取得し、前記移動命令による移動先の位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、前記制御装置は、前記第1の通信インタフェース及び前記第2の通信インタフェースを用いて前記情報処理装置と通信を行ってもよい。
 前記情報処理装置の現在位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、又は前記情報処理装置への移動命令情報を取得し、前記移動命令による移動先の位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、前記制御装置は、前記情報処理装置が実行中の第1の機能を停止させ、前記第1の機能の代替機能である第2の機能を実行させる機能切替処理部をさらに有してもよい。
 前記情報処理装置の現在位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、又は前記情報処理装置への移動命令情報を取得し、前記移動命令による移動先の位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、前記制御装置は、前記情報処理装置が実行する機能のうち少なくとも一つ以上の機能に関する通信量を抑制する通信制御部をさらに有してもよい。
 前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質が前記情報処理装置に要求される通信品質を下回る場合、前記制御装置は、前記情報処理装置の形状又は向きを変更する命令を送信する状態管理部をさらに備えてもよい。
 前記通信品質情報生成部は、前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質と前記通信品質情報との比較結果に基づいて、前記通信品質情報を更新してもよい。
 本発明の一実施形態に係る制御システムは、自律移動可能な情報処理装置と、前記情報処理装置を制御する制御装置とを有する。前記制御装置は、前記情報処理装置から、前記情報処理装置の位置に関する情報である第1の情報と、前記情報処理装置の通信に関する情報である第2の情報とを取得し、前記第1の情報及び前記第2の情報を用いて、前記制御装置と前記情報処理装置との通信品質の分布を示す通信品質情報を作成する通信品質情報生成部と、前記通信品質情報に基づいて、前記情報処理装置の移動範囲を制御する移動制御部と、を有してもよい。
 前記通信品質情報生成部は、さらに、前記情報処理装置が実行中の機能の通信に関する情報である第3の情報を取得し、前記移動制御部は、前記第3の情報を用いて、前記情報処理装置の移動範囲を制御してもよい。
 本発明の一実施形態に係る自律移動可能な情報処理装置は、前記情報処理装置の位置に関する情報である第1の情報、及び前記情報処理装置の通信に関する情報である第2の情報を用いて作成された通信品質の分布を示す通信品質情報と、前記情報処理装置の現在位置とに基づいて、移動制御を行う位置管理部を、有してもよい。
 前記位置管理部は、前記通信品質情報と前記情報処理装置が実行中の機能とに基づいて、前記情報処理装置の移動制御を行ってもよい。
 
 前記自律移動可能な情報処理装置の位置情報が、前記通信品質情報と前記情報処理装置が実行中の機能とに基づいて定まる前記情報処理装置の移動許可範囲外であった場合、前記位置管理部は、前記情報処理装置を前記移動許可範囲内へ移動させるようにしてもよい。
 前記自律移動可能な情報処理装置が、第1の通信手段で通信を行う第1の通信インタフェースと、第2の通信手段で通信を行う第2の通信インタフェースと、をさらに備えてもよい。前記第2の情報は、前記第1の通信インタフェースを用いて前記第1の通信手段で行った通信の通信品質に関する情報でよい。前記情報処理装置の現在位置が、前記通信品質情報と前記情報処理装置が実行中の機能とに基づいて定まる前記情報処理装置の移動許可範囲外であった場合、又は前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質が前記情報処理装置に要求される通信品質を下回る場合、前記情報処理装置は、前記第1の通信インタフェース及び前記第2の通信インタフェースを用いて通信を行ってもよい。
 前記情報処理装置の現在位置が、前記通信品質情報と前記情報処理装置が実行中の機能とに基づいて定まる前記情報処理装置の移動許可範囲外であった場合、又は前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質が前記情報処理装置に要求される通信品質を下回る場合、前記情報処理装置が実行中の第1の機能を停止し、前記第1の機能の代替機能である第2の機能を実行してもよい。
<実施例1>
 図1は、実施例1のロボット管理システムの構成の例を示す図である。実施例1のロボット管理システムは、自律移動可能な情報処理装置であるロボット101と、制御サーバ110と、アプリケーションサーバ111とを有する。
 ロボット101と制御サーバ110とは無線通信により接続される。ロボット101と制御サーバ110とを接続する通信手段は、例えば無線LAN(Local Area Network)104、短距離無線106及び移動体通信網107である。
 ロボット101と制御サーバ110とが無線LAN104により接続される場合は、無線LAN AP(Access Point)を介して接続される。
 ロボット101と制御サーバ110とが短距離無線106により接続される場合は、ロボット101と制御サーバ110とがそれぞれ持つ短距離無線I/F(インタフェース)が直接通信を行う。
 ロボット101と制御サーバ110とが移動体通信網107により接続される場合は、基地局装置108及びインターネット109を介して接続される。
 制御サーバ110は、ロボット101との通信情報を用いて、通信品質情報を計測する。通信品質とは、ロボット毎の通信品質であり、制御サーバ110とロボット101との間の上り方向の受信品質、又は下り方向の受信品質を示す指標である。
 また、制御サーバ110は、ロボット101が計測したロボット101の現在位置を示す位置情報を取得する。位置情報は、例えば絶対位置でもよいし、ロボット101の移動が認められる最大移動範囲1010内の相対位置でもよい。制御サーバ110は、ロボット101の位置情報と、通信品質情報を用いて、最大移動範囲1010内にロボット101が移動可能な範囲である移動許可範囲103と、ロボット101が侵入不可な範囲である非移動許可範囲102を設定してもよい。
 アプリケーションサーバ111は、ロボット101にアプリケーションを実行させるためのサーバであり、移動命令を制御サーバ110を介してロボット101に送信する。
 一つの制御サーバ110が複数のロボット101を収容してもよいし、複数の制御サーバ110が一つのロボット101を収容してもよい。
 図2は、制御サーバ110の構成の例を示す図である。
 制御サーバ110は、メモリ201と、CPU(Central Processing Unit)202と、I/O(入出力インタフェース)203と、補助記憶装置204と、無線LAN I/F205と、短距離無線I/F206と、移動体通信網I/F207とを有する。以下に説明する制御サーバ110が行う処理は、CPU202が、補助記憶装置204に格納されたコンピュータプログラム(ソフトウェア)を読み出して、メモリ201上に展開して実行することにより実現される。制御サーバ110は、無線LAN I/F205、短距離無線I/F206又は移動体通信網I/F207を介してロボット101と通信する。
 I/O203は、ユーザが制御サーバ110に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O203には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O203は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
 CPU202は、メモリ201に格納されたプログラムを実行するプロセッサである。メモリ201は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS:Basic Input Output System)などが格納される。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置202に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
 例えば、メモリ201には、通信品質計測プログラム211、移動許可範囲マップ作成プログラム212、通信品質判定プログラム213、通信制御プログラム214、通信手段切替プログラム215、機能切替プログラム216、ロボット状態変更プログラム217、通信復旧プログラム218、及び移動判定プログラム219が格納される。
 通信品質計測プログラム211は、通信品質計測処理(図3参照)を実行するためのプログラムである。移動許可範囲マップ作成プログラム212は、移動許可範囲マップ作成処理(図4参照)を実行するためのプログラムである。通信品質判定プログラム213は、通信品質判定処理(図5参照)を実行するためのプログラムである。通信制御プログラム214は、通信制御処理(図6参照)を実行するためのプログラムである。通信手段切替プログラム215は、通信手段切替処理(図7参照)を実行するためのプログラムである。機能切替プログラム216は機能切替処理(図8参照)を実行するためのプログラムである。ロボット状態変更プログラム217はロボット状態変更処理(図9参照)を実行するためのプログラムである。通信復旧プログラム218は、通信復旧処理(図10参照)を実行するためのプログラムである。移動判定プログラム219は、移動判定処理(図11参照)を実行するためのプログラムである。
 また、メモリ201には、機能情報管理テーブル221(図12参照)、通信品質情報管理テーブル222(図13参照)、機能実施可能範囲情報管理テーブル223(図15参照)、ロボット状態情報管理テーブル224(図17参照)、機能提供範囲情報管理テーブル225(図18参照)、移動許可範囲情報管理テーブル226(図20参照)、機能状態情報管理テーブル227(図22参照)が格納される。
 補助記憶装置204は、例えば、磁気記憶装置(HDD:Hard Disk Drive)、フラッシュメモリ(SSD:Solid State Drive)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置204は、CPU202により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置204から読み出されて、メモリ201にロードされ、CPU202によって実行される。
 制御サーバ110は、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ201に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、制御サーバ110と他の装置が一つの物理的又は論理的計算機に収容されてもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア(例えば、Field-Programmable Gate Array)によって実現してもよい。
 図3は、通信品質計測処理の例を示すフローチャートである。通信品質計測処理は、通信品質計測プログラム211が制御サーバ110のCPU202で実行されることにより行われる処理である。通信品質計測プログラム211は、通信品質情報生成部として動作する。
 通信品質計測処理は、ロボット101と制御サーバ110との間で送受信されるパケット、及びロボット101の位置情報に基づいて行われる処理である。通信品質計測処理では、ロボット101と制御サーバ110との間で送受信されたメッセージに基づいて通信品質の計測が行われ、この通信品質がロボット101の位置情報と対応付けて通信品質情報管理テーブル222(図13)に保存される。
 まず、CPU202は、ロボット101と制御サーバ110間の通信パケットから通信品質情報を計測する(ステップ2111)。次に、CPU202は、ロボット101が計測したロボット101自身の位置情報を取得し、時間情報を基に位置情報と通信品質情報を紐付ける(ステップ2112)。
 CPU202は通信品質情報管理テーブル222(図13)を参照し、取得したロボット101の位置情報が示す位置に通信品質情報が既に登録されているか否かを判定する(ステップ2113)。
 ロボット101の位置情報が示す位置に通信品質情報が登録されていない場合は(ステップ2113:No)、ステップ2111で計測した通信品質を通信品質情報管理テーブル222(図13)に登録し、通信品質マップ2220(図14参照)を更新する(ステップ2117)。さらにCPU202は、更新した通信品質マップ2220をロボット101に通知して(ステップ2118)処理を終了する。
 一方、ステップ2113において、ロボット101の位置情報が示す位置に通信品質情報が登録されていた場合は(ステップ2113:Yes)、CPU202は通信品質情報管理テーブル222(図13)に登録されている通信品質情報と、ステップ2111で計測した通信品質情報とを以下の条件1で比較する(ステップ2114)。
 条件1:計測された通信品質<登録済み通信品質
 ステップ2114で、条件1を満たさないと判定された場合、ステップ2117へ遷移する。
 ステップ2114で、条件1を満たすと判定された場合、CPU202は通信品質判定プログラム213を実行し、通信品質判定処理(図5参照)を行う(ステップ2115)。CPU202は、通信品質判定処理によって通信手段切替処理が行われたか否か判定する(ステップ2116)。通信品質判定処理で通信手段切替処理が行われなかった場合は(ステップ2116:No)、ステップ2117へ遷移する。一方で、通信品質判定処理で通信手段切替処理が行われた場合は(ステップ2116:Yes)、通信品質計測処理を終了する。
 これにより、制御サーバ110及びロボット101間の最新の通信状態を示す通信品質情報がロボット101へ提供される。その結果、ロボット101が通信品質に基づいて自律的に位置制御することが可能になる。
 図4は、移動許可範囲マップ作成処理の例を示すフローチャートである。移動許可範囲マップ作成処理は、移動許可範囲マップ作成プログラム212が制御サーバ110のCPU202で実行されることにより行われる処理である。移動許可範囲マップ作成プログラム212は、移動許可範囲情報生成部として動作する。
 移動許可範囲マップ作成処理では、現実の通信品質とロボット101で使用中の機能の要求通信品質とから、ロボット101が移動することを許可される範囲を示す移動許可範囲情報管理テーブル226(図20)が更新される。
 まず、CPU202は、通信品質判定処理により作成された通信品質情報管理テーブル222(図13)を取得する(ステップ2121)。次に、CPU202は機能情報管理テーブル221(図12)を参照して機能毎に要求される通信品質を示す要求通信品質値2212を取得する(ステップ2122)。そして、CPU202は、現在の通信品質と各機能の要求通信品質値2212とに基づいて、現在の通信品質が各機能の要求通信品質を満たす領域を特定し、機能実施可能範囲情報管理テーブル223(図15)に登録する(ステップ2123)。機能実施可能範囲情報管理テーブル223は機能別のテーブルであってもよい。
 さらに、CPU202は、ロボット状態情報管理テーブル224(図17)からロボット101が使用中の機能に関する情報を取得する(ステップ2124)。そして、CPU202は、ロボットが使用中の機能に関する機能実施可能範囲情報管理テーブル223(図15)に基づいて、ロボットが使用中の機能を維持したまま移動可能な範囲を移動許可範囲情報管理テーブル226(図20)に登録する(ステップ2125)。ロボット101が複数の機能を使用している場合は、機能毎の要求通信品質を満たすか否かを判定し、すべての機能の通信品質を満たす範囲をロボット101の移動許可範囲として、移動許可範囲情報管理テーブル226(図20)に登録してもよい。
 次に、CPU202は、機能提供範囲情報管理テーブル225(図18)から機能の提供が必要となる範囲を取得する(ステップ2126)。そして、移動許可範囲情報管理テーブル226(図20)に登録されたロボットの移動許可範囲と、機能提供範囲情報管理テーブル225が示す機能の提供が必要となる範囲の重複する範囲を、新たな移動許可範囲として移動許可範囲情報管理テーブル226(図20)を更新する(ステップ2127)。
 CPU202は、ロボット101に更新された移動許可範囲情報管理テーブル226(図20)を送信する(ステップ2128)。このとき、制御サーバ110からロボット101へ送信されるのは移動許可範囲情報管理テーブル226(図20)でもよいし、このテーブルを最大移動範囲1010の地図で表した移動許可範囲マップ(図21参照)でもよい。
 これにより、情報処理装置が実行中の機能と制御サーバ110及びロボット101間の通信品質とから定まる移動許可範囲情報がロボット101へ提供される。その結果、ロボット101が許可された範囲で自律的に位置制御することが可能になる。
 図5は、通信品質判定処理の例を示すフローチャートである。通信品質判定処理は、通信品質判定プログラム213が制御サーバ110のCPU202で実行されることにより行われる処理である。通信品質判定プログラム213は、通信品質判定部として動作する。
 通信品質判定処理では、通信品質を向上させるための処理が行われる。
 通信品質判定処理では、まずCPU202は、機能情報管理テーブル221とロボット状態情報管理テーブル224を参照する(ステップ2131)。そして、CPU202は、ロボット101が使用中の機能の通信品質値の合計と、ステップ2111で計測した通信品質値の差を算出し、使用中の機能の通信品質値の合計と計測した通信品質値を以下の条件2で比較する(ステップ2132)。
 条件2:使用中の機能の要求品質値の合計>計測した通信品質値
 条件2を満たさないと判定された場合は(ステップ2132:No)、以下の処理をすべてスキップして通信品質判定処理を終了する。
 一方で、条件2を満たすと判定された場合は(ステップ2132:Yes)、CPU202は、通信制御プログラム214を実行し、通信制御処理(図6参照)を行う(ステップ2133)。通信制御処理では、優先度の低い機能について通信量を抑制するための処理が行われる。
 さらにCPU202は、通信手段切替プログラム215を実行し、通信手段切替処理(図7参照)を行う(ステップ2134)。通信手段切替処理では、要求通信品質を満たす別の通信手段への切替が行われる。
 さらにCPU202は、機能切替プログラム216を実行し、機能切替処理(図8参照)を行う(ステップ2135)。機能切替処理では、代替機能が割り当てられている場合は代替機能への切替が行われる。
 次に、CPU202は、ステップ2133で少なくとも1つ以上の機能に対して通信量の抑制が実行されたか否か、ステップ2134で少なくとも1つ以上の機能に対して通信手段の切替が実行されたか否か、又はステップ2135で少なくとも1つ以上の機能に対して代替機能への切替が実行されたか否かの判定を行う(ステップ2136)。
 ここで、いずれかの処理が実行されていた場合には(ステップ2136:Yes)、通信品質判定処理を終了する。
 一方で、いずれの処理も実行されなかった場合は(ステップ2136:No)、CPU202は、ロボット状態変更プログラム217を実行し、ロボット形状変更処理(図9参照)を行う(ステップ2137)。ロボット形状変更処理では、ロボットの向き又は形状を変更して、通信品質の改善を試みる。
 、ステップ2137でロボットの向き又は形状の変更が行われた場合は、通信品質処理を終了する(ステップ2138:Yes)。一方で、ロボットの向き又は形状の変更が行われなかった場合は(ステップ2138:No)、CPU202は、通信復旧プログラム218を実行し、通信復旧処理(図10参照)を行う(ステップ2139)。通信復旧処理では、通信品質が高い位置にロボット101を移動させて、通信品質の改善を試みる。
 これにより、通信品質が低いときに通信品質を改善するための種々の処理が実行される。
 図6は通信制御処理の例を示すフローチャートである。通信制御処理は、通信制御プログラム214が制御サーバ110のCPU202で実行されることにより行われる処理である。通信制御プログラム214は、通信制御部として動作する。通信制御処理は、図5の通信品質判定処理において実行される。
 通信制御処理では、まずCPU202が機能情報管理テーブル221(図12)を参照し(ステップ2141)、使用中の機能の優先度と所定の閾値2に関して、以下の条件3を満たす機能があるか判定する。(ステップ2142)。
 条件3:優先度≦閾値2
 条件3を満たす機能がない場合は(ステップ2142:No)、通信制御処理を終了する。一方で、条件3を満たす機能がある場合、すなわち、優先度が閾値2よりも低い機能が使用中の場合は、CPU202は、機能ごとに、その機能が現在使用している通信量と要求通信品質値2212とを以下の条件4で比較する(ステップ2143)。
 条件4:通信量>要求通信品質値2212のいずれか一つ以上
 条件4を満たす機能については(ステップ2143:Yes)、CPU202がその機能の通信量が要求通信品質値になるまで通信量を抑制する制御を行う(ステップ2144)。一方で、条件4を満たさない機能については(ステップ2143:No)、CPU202は、その機能が正常に動作していないと判断して機能を終了する(S2145)。
 これにより、優先度の低い機能が使用する通信量を抑制できる。
 図7は、通信手段切替処理の例を示すフローチャートである。通信手段切替処理は、通信手段切替プログラム215が制御サーバ110のCPU202で実行されることにより行われる処理である。通信手段切替プログラム215は、通信手段切替部として動作する。通信手段切替処理は、図5の通信品質判定処理において実行される。
 通信手段切替処理では、まずCPU202は、ロボット101と制御サーバ110の間で通信可能な通信手段が複数あるか否かを判定する(ステップ2151)。通信可能な通信手段が複数存在しない場合は、通信手段切替処理を終了する(ステップ2151:No)。
 通信可能な通信手段が複数ある場合は(ステップ2151:Yes)、機能状態情報管理テーブル227(図22参照)を参照し、機能と通信手段との対応に関する情報を取得する(ステップ2152)。CPU202は、取得した情報に基づき、通信手段が割り当てられていない機能があるか否か、又は割り当てられた通信手段の現在の通信品質では要求通信品質が満たされない機能があるか否かを判定する(ステップ2153)。ここで、割り当てられた通信手段の現在の通信品質では要求通信品質が満たされない機能がある場合は、例えば、ロボット101が移動許可範囲情報管理テーブル226で定まる移動許可範囲外に存在することが考えられる。
 通信手段が割り当てられていない機能がない、又は割り当てられた通信手段では要求通信品質が満たされない機能がない場合は(ステップ2153:No)、通信手段切替処理を終了する。
 一方、通信手段が割り当てられていない機能があるか、又は割り当てられた通信手段では要求通信品質が満たされない機能がある場合は(ステップ2153:Yes)、CPU202は機能情報管理テーブル221(図12)を参照して、その機能の情報を取得し(ステップ2154)、その機能が要求する通信品質値を満たす通信手段があるか否かの判定を行う(ステップ2155)。
 ここで、その機能が要求する通信品質値を満たす通信手段がなければ通信手段切替処理を終了する(ステップ2155:No)。
 一方で、その機能が要求する通信品質値を満たす通信手段があった場合(ステップ2155:Yes)、CPU202は、その機能に要求する通信品質値を満たす通信手段を割り当てる(ステップ2156)。CPU202は、通信手段の全体の通信品質値からステップ2156で機能を割り当てた通信手段の通信品質値を減算し、通信帯域の余剰分を示す通信品質値の差分を算出する(ステップ2157)。その後ステップ2153に戻り、通信手段が割り当てられていない機能及び割り当てられている通信手段で要求通信品質が満たされない機能がなくなるまで繰り返す。
 これにより、機能に対して割り当てられる通信手段の切替が行われる。その結果、ロボット101が複数の機能を実行しているときは、各機能に異なる通信手段を割り当てることができる。つまり、ロボット101は複数機能を実行中に複数の通信手段で通信することができ、通信品質が安定する。
 図8は機能切替処理の例を示すフローチャートである。機能切替処理は、機能切替プログラム216が制御サーバ110のCPU202で実行されることにより行われる処理である。機能切替プログラム216は機能切替部として動作する。機能切替処理は、図5の通信品質判定処理において実行される。
 機能切替処理では、まずCPU202が通信手段切替処理(図7参照)によっても通信手段が割り当てられていない機能があるか否か、又は割り当てられた通信手段の現在の通信品質では要求通信品質が満たされない機能があるか否かを判定する(ステップ2161)。ここで、割り当てられた通信手段の現在の通信品質では要求通信品質が満たされない機能がある場合は、例えば、ロボット101が移動許可範囲情報管理テーブル226で定まる移動許可範囲外に存在することが考えられる。
 通信手段が割り当てられていない機能がない、又は割り当てられた通信手段では要求通信品質が満たされない機能がない場合は、機能切替処理を終了する(ステップ2161:No)。
 通信手段が割り当てられていない機能があるか、又は割り当てられた通信手段では要求通信品質が満たされない機能がある場合は(ステップ2161:Yes)、CPU202は、機能情報管理テーブル221(図12)を参照し、その機能の代替機能2215が登録されているか否かを判定する(ステップ2162)。代替機能2215が登録されていない場合は(ステップ2162:No)、CPU202はその機能を終了させ(ステップ2165)、再びステップ2161へ戻る。
 その機能の代替機能2215が登録されている場合は(ステップ2162:Yes)、CPU202は、代替機能の要求する通信品質値を満たす通信手段があるか否かを判定する(ステップ2163)。代替機能が要求する通信品質値を満たす通信手段があれば(ステップ2163:Yes)、CPU202は、通信手段が割り当てられていない機能又は割り当てられた通信手段では要求通信品質が満たされない機能を終了し、代替機能を実行して代替機能に切替え(ステップ2164)、ステップ2161へ戻る。代替機能が要求する通信品質値を満たす通信手段がなければ(ステップ2163:No)、ステップ2165へ遷移する。
 これにより、代替機能が設定されている機能については、代替機能への切替が行われる。
 図9はロボット状態変更処理の例を示すフローチャートである。ロボット状態変更処理は、ロボット状態変更プログラム217が制御サーバ110のCPU202で実行されることにより行われる処理である。ロボット状態変更プログラム217は、ロボット状態変更部として動作する。ロボット状態変更処理は、図5の通信品質判定処理において実行される。
 ロボット状態変更処理では、まずCPU202が移動許可範囲情報管理テーブル226(図20)を参照する(ステップ2171)。
 CPU202は、移動許可範囲情報管理テーブル226(図20)の中に無線LAN AP又は無線中継機の場所に関する情報があるか否かを判定する(ステップ2172)。移動許可範囲情報管理テーブル226(図20)の中に無線LAN AP又は無線中継機の場所に関する情報がある場合は(ステップ2172:Yes)、ロボット101の位置から最も近い無線LAN AP又は無線中継機の方向へ、ロボット101の無線LAN I/F305が向くようにロボット101の姿勢を制御するための制御命令をロボット101へ送信する(ステップ2173)。
 上記の制御命令の送信後、及び、移動許可範囲情報管理テーブル226(図20)の中に無線LAN AP又は無線中継機の場所に関する情報がない場合は(ステップ2172:No)、CPU202は、ロボット状態情報管理テーブル224(図17)を参照する(ステップ2274)。そして制御サーバ110は、ロボット101の現在の形状が通信復旧用の形状であるか否か判定する(ステップ2175)。通信復旧用の形状とは、例えば、予め定められたロボット101の形状であって、通信品質が低いときに通信品質を改善させるのに適した形状である。
 ロボット101が通信復旧用の形状でない場合は(ステップ2175:No)、制御サーバ110は、ロボット101が自らの形状を通信復旧用の形状に変更するための制御命令をロボット101へ送信する(ステップ2176)。ロボットが通信復旧用の形状であった場合は(ステップ2175:Yes)、ステップ2176をスキップしてロボット状態変更処理を終了する。
 これにより、ロボットの向き及び形状を変化させることができる。その結果、制御サーバ110とロボット101との通信状態の改善が期待できる。
 図10は通信復旧処理の例を示すフローチャートである。通信復旧処理は、通信復旧プログラム218が制御サーバ110のCPU202で実行されることにより行われる処理である。通信復旧プログラム218は、ロボット101の移動制御をする移動制御部として動作する。通信復旧処理は、図5の通信品質判定処理において実行される。
 通信復旧処理では、まずCPU202が、通信手段が割り当てられておらず、かつ、代替機能も起動されていない機能の優先度と所定の閾値3を以下の条件5で比較する(ステップ2181)。
 条件5:優先度≧閾値3
 条件5を満たさない場合は(ステップ2181:No)、通信復旧処理を終了する。
 一方、条件5を満たす機能がある場合、つまり、実行中であっても通信状態が不十分な機能がある場合は(ステップ2181:Yes)、通信手段切替処理(図7)が既に行われたか否かを判定する(ステップ2182)。通信手段切替処理が行われていた場合は(ステップ2182:Yes)、処理を終了する。
 通信手段切替処理が行われなかった場合は(ステップ2182:No)、通信品質情報管理テーブル222(図13)を参照し、現在の位置より通信品質が高い位置の有無を判定する(ステップ2183)。
 現在の位置より通信品質が高い位置がなければ(ステップ2183:No)、制御サーバ110からロボット101へ、待機地点への移動命令が送信される(ステップ2184)。現在の位置より通信品質が高い位置があれば(ステップ2183:Yes)、制御サーバ110からロボット101へ通信品質が高い位置への移動命令が送信される(ステップ2185)。
 ステップ2184及びステップ2185の終了後、CPU202は、移動許可範囲情報管理テーブル226(図20)において、現在位置をロボット101の移動が許可されない範囲として更新する(ステップ2186)。
 これにより、ロボット101を通信状態がより良い位置に強制的に移動させ、制御サーバ110がロボット101の管理を継続できるようになる。
 図11は移動判定処理の例を示すフローチャートである。移動判定処理は、移動判定プログラム219が制御サーバ110のCPU202で実行されることにより行われる処理である。移動判定プログラム219は移動判定部として動作する。移動判定プログラム219は、ロボット101の移動制御をする移動制御部として動作する。
まず、CPU202は、アプリケーションサーバ111からロボット101に対する移動通知を取得し、通信品質情報管理テーブル222を参照して移動通知が示す移動先の位置の通信品質情報を取得する(ステップ2191)。
 次にCPU202は、ロボット状態情報管理テーブル224と機能情報管理テーブル221とを参照し(ステップ2192)、ロボット101が使用中の機能の要求通信品質と移動通知が示す移動先の位置の通信品質を以下の条件6で比較する(ステップ2193)。
 条件6:使用中の機能の要求品質値の合計値>移動通知の位置の通信品質値
 条件6を満たさないと判定されると(ステップ2193:No)、CPU202は、ロボット101へ移動通知が示す移動先の位置への移動命令を送信し(ステップ2200)、処理を終了する。
 条件6を満たすと判定された場合は(ステップ2193:Yes)、CPU202は、通信制御プログラム214を起動して通信制御処理(図6参照)を実行する(ステップ2194)。CPU202は、さらに、通信手段切替プログラム215を起動し通信手段切替処理(図7参照)を実行する(ステップ2195)。CPU202は、さらに、機能切替プログラム216を起動し機能切替処理(図8参照)を実行する(ステップ2196)。
 そしてステップ2194、ステップ2195、ステップ2196の実行後、CPU202は、あらためて条件6を満たす機能があるか判定する(ステップ2197)。
 条件6を満たす機能がない場合は(ステップ2197:No)、ステップ2200へ遷移する。条件6を満たす機能がある場合(ステップ2197:Yes)、CPU202は、条件6を満たす機能の優先度と所定の閾値4を以下の条件7で比較する(ステップ2198)。
条件7:利用不可な機能の優先度≧閾値4
 条件7を満たすと判定されると、CPU202は、移動通知に基づいてロボット101を移動させることが不可であることを、アプリケーションサーバ111に対して通知し(ステップ2199)、処理を終了する。条件7を満たさないと判定されると、ステップ2220へ遷移する。
 これにより、通信品質がよくない位置へロボット101を移動させることを未然に防止できる。
 図12は機能情報管理テーブル221の例を示す図である。
 機能情報管理テーブル221は、ロボット101が実行する機能に関する情報を格納する。例えば、機能情報管理テーブル221には、機能を一意に識別するための機能ID2211と、機能ごとに要求されるロボット101と制御サーバ110との間の通信品質の情報である要求通信品質値2212と、通信品質値2212から判定される通信品質の要求レベル2213と、機能の優先度情報である優先度2214と、機能が使用できない場合の代替機能2215とが格納される。
 通信品質値2212は、図12に示すように、さらにデータ転送速度などのスループット、RTT(Round Trip Time)及びパケットロス率を含むが、これら指標の一部のみを含むものでもよく、通信品質を示す他の指標(ジッタなど)を含んでもよい。
 要求レベル2213は、例えば、スループットが0~100000bpsを1、100001~1000000bpsを2、1000001~5000000bpsを3、5000001~10000000bpsを4、10000001bps以上を5とする。この例では、要求レベルのランクを5段階としているが、要求レベルのランクの数はいくつでもよい。
 代替機能2215には、機能ID2211に係る機能に代わりうる代替機能の機能IDが格納される。
 図13は通信品質情報管理テーブル222の例を示す図である。通信品質情報管理テーブル222はロボット101の最大移動範囲1010内の通信品質を示す情報を有する。通信品質情報管理テーブル222は、ロボット101の位置に関する情報と、ロボット101との通信に関する情報から生成される。
 通信品質情報管理テーブル222では、例えば、ロボット101の最大移動範囲1010が所定の大きさの格子状の領域に区分され、格子状に区分された各領域における通信品質レベルに関する情報が格納される。格子状に区分された各領域は、例えば、XY座標で特定されてもよい。通信品質レベルは、通信品質計測処理(図3)で判定されてもよい。
 この例では、通信品質情報管理テーブル222に格納される情報は通信品質レベルとしているが、これ以外でもよい。例えば、通信品質であるスループット、遅延、パケットロス率などの平均値、中央値、最大値、又は最小値としてもよい。
 また、無線LAN AP又は無線LANを中継する中継機の位置が分かっているときは、無線LAN AP又は中継機の位置を示す文字、記号又は数字等がそれらが位置する格子状の領域に付加されてもよい。
 ロボット101と制御サーバ110との間に複数の通信手段があるとき、通信品質情報管理テーブル222は通信手段別に作成されてもよい。あるいは、一つの通信品質情報管理テーブル222が複数の通信手段の通信品質値の合計値に基づいて生成されてもよい。
 図14は、通信品質マップ2220の例を示す図である。通信品質マップ2220は、通信品質情報管理テーブル222に基づいて、ロボット101の移動範囲の通信品質を可視化したマップである。例えば、通信品質マップ2220は、図14に示すように、最大移動範囲1010を所定の大きさの格子状の領域に区分し、格子状に区分された領域において、通信品質情報管理テーブル222に登録されたスループットを、格子ごとに多段階に分けて表してもよい。通信品質情報管理テーブル222と通信品質マップ2220の格子は互いに対応していてもよい。
 例えば、スループットが0~100000bpsをレベル1、100001~1000000bpsをレベル2、1000001~5000000bpsをレベル3、5000001~10000000bpsをレベル4、10000001bps以上をレベル5とする。この例では、要求レベルのランクを5段階としているが、要求レベルのランクの数はいくつでもよい。
 また、マップをx軸、y軸、z軸を持つ3次元マップとし、高さ方向のz軸のグラフで遅延やパケットロス率、通信品質のレベルを表現してもよい。
 図15は機能実施可能範囲情報管理テーブル223の例を示す図である。機能実施可能範囲情報管理テーブル223は、ロボット101の最大移動範囲1010内で各機能の要求通信品質に対する現実の通信品質の状態を示す情報を有する。機能実施可能範囲情報管理テーブル223は、現実の通信品質と、機能に要求される通信品質とから生成される。
 機能実施可能範囲情報管理テーブル223では、例えば、通信品質情報管理テーブル222と同様にロボット101の最大移動範囲1010が所定の大きさの格子状の領域に区分される。機能実施可能範囲情報管理テーブル223では、機能別に、格子状に区分された各領域における各機能の要求通信品質を満たすか否かを示す情報が格納される。格子状に区分された各領域は、例えば、XY座標で特定されてもよい。例えば、機能の要求通信品質を満たさない格子には、機能の要求品質を満たさないことを示す値(例えば、0)が格納されるようにしてもよい。
 また、無線LAN AP又は無線LANを中継する中継機の位置が分かっていれば、無線LAN AP又は中継機の位置を示す文字、記号又は数字等がそれらが位置する格子状の領域に付加されてもよい。
 ロボット101と制御サーバ110との間に複数の通信手段があるとき、機能実施可能範囲情報管理テーブル223は通信手段別に作成されてもよい。あるいは、一つの機能実施可能範囲情報管理テーブル223が複数の通信手段の通信品質値の合計値に基づいて生成されてもよい。
 図16は、機能実施可能範囲マップ2230の例を示す図である。機能実施可能範囲マップ2230は、機能実施可能範囲情報管理テーブル223に基づいてロボット101の最大移動範囲1010における機能ごとの要求通信品質に対する現実の通信品質のレベルを可視化したマップである。例えば、機能実施可能範囲マップ2230は、図16に示すように、最大移動範囲1010を所定の大きさの格子状の領域に区分し、格子状に区分された領域において、機能実施可能範囲情報管理テーブル223に登録された機能別の要求通信品質に対する現実の通信品質のレベルを、格子毎に多段階に分けて可視的に表してもよい。例えば、機能の要求通信品質を満たさない領域には、機能利用不可を示す表示してもよい。機能実施可能範囲情報管理テーブル223と機能実施可能範囲マップ2230の格子は互いに対応していてもよい。
 図17は、ロボット状態情報管理テーブル224の例を示す図である。ロボット状態情報管理テーブル224は機能及び形状に関するロボット101の状態を示す。
 ロボット状態情報管理テーブル224は、例えば、ロボット101の状態を一意に識別するためのIDであるロボット状態ID2241と、各機能の状態2242と、ロボットの形状2243とを有する。各機能の状態2242には、例えば、ロボット101が機能を実施する場合は1、ロボット101が機能を実施しない場合は0が格納されるようにしてもよい。ロボット形状2243には、例えば、ロボット101が通信復旧用形状の場合は1、その他の形状の場合は0が格納されるようにしてもよい。
 図18は、機能提供範囲情報管理テーブル225の例を示す図である。機能提供範囲情報管理テーブル225は、ロボット101の最大移動範囲1010内で各機能の提供が必要な領域を示す。
 機能提供範囲情報管理テーブル225では、例えば、通信品質情報管理テーブル222及び機能実施可能範囲情報管理テーブル223と同様にロボット101の最大移動範囲1010が所定の大きさの格子状の領域に区分された領域ごとに、機能の提供が必要な範囲か否かを示す値が格納される。格子状に区分された各領域は、例えば、XY座標で特定されてもよい。機能の提供が必要な範囲か否かを示す値は、例えば、機能の提供が必要な範囲であれば1、機能の提供が必要ない範囲であれば0でよい。
 ロボット101と制御サーバ110との間に複数の通信手段があるとき、機能提供範囲情報管理テーブル225は通信手段別に作成されてもよい。あるいは、一つの機能提供範囲情報管理テーブル225が複数の通信手段の通信品質値の合計値に基づいて生成されてもよい。
 図19は機能提供範囲マップ2250の例を示す図である。機能提供範囲マップ2250は、機能提供範囲情報管理テーブル225に基づいてロボット101の最大移動範囲1010内で機能の提供が必要とされる範囲を可視化したマップである。例えば、機能提供範囲マップ2250は、図19に示すように、地図を所定の大きさの格子状の領域に区分し、格子状に区分された領域において、機能提供範囲情報管理テーブル225に登録された、機能の提供が必要な範囲か否かを示す値を、格子毎に分けて可視的に表してもよい。機能提供範囲情報管理テーブル225と機能提供範囲マップ2250の格子は互いに対応していてもよい。
 図20は移動許可範囲情報管理テーブル226の例を示す図である。移動許可範囲情報管理テーブル226は、ロボット101の最大移動範囲1010内でロボット101が現在提供中の機能を継続して提供するために移動可能な範囲を示す。移動許可範囲情報管理テーブル226は、通信品質と実行中の機能の要求通信品質とから生成される。
 移動許可範囲情報管理テーブル226では、例えば、通信品質情報管理テーブル222、機能実施可能範囲情報管理テーブル223及び機能提供範囲情報管理テーブル225と同様にロボット101の最大移動範囲1010が所定の大きさの格子状の領域に区分される。格子状に区分された各領域は、例えば、XY座標で特定されてもよい。移動許可範囲情報管理テーブル226では、格子状に区分された各領域には、通信品質情報又は通信品質のレベルが格納され、ロボット101の移動が許可されない領域には、移動を許可しないことを示す値(例えば、0)が格納されるようにしてもよい。
 ロボット101と制御サーバ110との間に複数の通信手段があるとき、移動許可範囲情報管理テーブル226は通信手段別に作成されてもよい。あるいは、一つの移動許可範囲情報管理テーブル226が複数の通信手段の通信品質値の合計値に基づいて生成されてもよい。
 図21は移動許可範囲マップ2260の例を示す図である。移動許可範囲マップ2260は、移動許可範囲情報管理テーブル226に基づいて、ロボット101の最大移動範囲1010内でロボット101の移動が許可される範囲を可視化したマップである。例えば、移動許可範囲マップ2260は、図21に示すように、地図を所定の大きさの格子状の領域に区分し、格子状に区分された領域において、移動許可範囲情報管理テーブル226に登録された通信品質情報又は通信品質のレベルを、格子毎に多段階に分けて可視的に表してもよい。例えば、移動が許可されていない領域には、移動を許可しないことを示す記号を表示してもよい。移動許可範囲情報管理テーブル226と移動許可範囲マップ2260の格子は互いに対応していてもよい。
 図22は機能状態情報管理テーブル227の例を示す図である。機能状態情報管理テーブル227は各機能で使用される通信手段を示す。
 機能状態情報管理テーブル227は、機能を一意に識別するためのIDである機能ID2271と、機能が割り当てられている通信手段を示す通信手段2272と、機能が代替機能を使用しているか否かを示す代替機能使用状態2273とを有する。通信手段2272は、ロボット101で機能が実行中のときに割り当てられ、実行が終了すると解除されるようにしてもよい。代替機能使用状態2273は、代替機能が実行中であるか否かを示す。
 次に、制御サーバ110とロボット101との間の通信について説明する。
 図23は、通信品質マップ及び移動許可範囲マップ更新の例を示すシーケンス図である。
 ロボット101と制御サーバ110との間でパケットの送受信が行われると、制御サーバ110は通信品質計測プログラム211を実行して、ロボット101と制御サーバ110との間の通信品質を計測する。
 通信品質計測プログラム211が実行された結果、通信品質情報管理テーブル222が更新されると、制御サーバ110は、更新された通信品質情報管理テーブル222又は通信品質情報管理テーブル222と等価な通信品質マップ2220に関する情報をロボット101に送信する。このとき、制御サーバ110からロボット101へ、更新後の通信品質情報管理テーブル222又は通信品質マップ2220を送信してもよいし、これらの更新前との差分情報を送信してもよい。
 次に、制御サーバ110は移動許可範囲マップ作成プログラム212を実行し、移動許可範囲情報管理テーブル226を更新する。その後、制御サーバ110は更新された移動許可範囲情報管理テーブル226又は移動許可範囲情報管理テーブル226と等価な移動許可範囲マップ2260に関する情報をロボット101へ送信する。このとき、制御サーバ110からロボット101へ、更新後の移動許可範囲情報管理テーブル226又は移動許可範囲マップ2260を送信してもよいし、これらの更新前との差分情報を送信してもよい。
 制御サーバ110及びロボット101は、定期的、あるいは任意のタイミングで図23の通信品質マップ及び移動許可範囲マップの更新を行うことができる。
 図24は、ロボット101と制御サーバ110との間の通信品質を安定させる処理の例を示すシーケンス図である。
 ロボット101と制御サーバ110との間でパケットの送受信が行われると、制御サーバ110は通信品質計測プログラム211を実行して、ロボット101と制御サーバ110との間の通信品質を計測する。計測された通信品質が通信品質情報管理テーブル222に登録された値以下であった場合、通信品質計測プログラム211による通信品質計測処理において、通信品質判定プログラム213が実行される。
 さらに次に、通信品質判定プログラム213による通信品質判定処理において、通信制御プログラム214及び通信手段切替プログラム215が実行され、通信手段の切り替えが行われると、制御サーバ110がロボット101へ通信手段を切り替える命令を送信する。
 次に、機能切替プログラム216による機能切替処理において、ロボット101の機能の切り替えが必要と判定されると、制御サーバ110からロボット101に機能を切り替えるための命令が送信される。
 さらに、ロボット状態変更プログラム217によるロボット状態変更処理において、ロボットの形状又は向きの変更が必要と判定されると、制御サーバ110がロボット101へロボット101の形状又は向きを変更させる制御のための制御命令が送信される。
 そして通信復旧プログラム218による通信復旧処理において、ロボット101の移動が必要と判定されると、制御サーバ110からロボット101に移動命令が送信される。
 制御サーバ110は、定期的、あるいは任意のタイミングで図24の通信安定化処理を行うことができる。
 図25は実施例1のロボット101の構成の例を示す図である。
 ロボット101は、メモリ301と、CPU(Central Processing Unit)302と、I/O(入出力インタフェース)303と、補助記憶装置304と、無線LAN I/F305と、短距離無線I/F306と、移動体通信網I/F307と、頭、腕、脚といったロボットの機構部分である機構部308と、機構部308を制御する機構制御部309と、音声等を発するスピーカ310と、音声等を収集するマイク311と、発光部312とを有する。以下に説明するロボット101が行う処理は、CPU302が補助記憶装置304に格納されたコンピュータプログラム(ソフトウェア)を読み出して、メモリ301上に展開して実行することにより実現される。ロボット101は、無線LAN I/F305、短距離無線I/F306又は移動体通信網I/F307を介して制御サーバ110と通信する。
 I/O303は、ユーザがロボット101に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O303には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O303は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
 CPU302は、メモリ301に格納されたプログラムを実行するプロセッサである。メモリ301は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS:Basic Input Output System)などが格納される。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置302に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
 例えば、メモリ301には、位置管理プログラム321、通信復旧プログラム322が格納される。
 位置管理プログラム321は、位置管理処理(図26参照)を実行するためのプログラムである。通信復旧プログラム322は、通信復旧処理(図27参照)を実行するためのプログラムである。
 また、メモリ301は、通信品質情報管理テーブル222(図13参照)、移動許可範囲情報管理テーブル226(図20参照)が格納される。
 補助記憶装置304は、例えば、磁気記憶装置(HDD:Hard Disk Drive)、フラッシュメモリ(SSD:Solid State Drive)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置304は、CPU302により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置304から読み出されて、メモリ301にロードされ、CPU302によって実行される。
 制御サーバ110から送信された各種テーブル又はマップは、メモリ301又は補助記憶装置304に格納され、CPU302によるプログラム実行時に参照される。
 ロボット101の計算機システムは、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ201に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア(例えば、Field-Programmable Gate Array)によって実現してもよい。
 図26は位置管理処理の例を示すフローチャートである。位置管理処理は、位置管理プログラム321がロボット101のCPU302で実行されることにより行われる処理である。位置管理プログラム321は、位置管理部として動作する。
 位置管理処理では、まずCPU302がロボット101の位置情報を取得する(ステップ3221)。次にCPU302は、取得したロボット101の位置情報を基に移動許可範囲情報管理テーブル226を参照し(ステップ3222)、ロボット101の現在位置が移動許可範囲内か否かを判定する(ステップ3223)。
 ロボット101の現在位置が移動許可範囲内であれば、位置管理処理を終了する(ステップ3223:Yes)。
 一方、ロボット101の現在位置が移動許可範囲内でなければ(ステップ3223:No)、CPU302は機構制御部309へ、現在位置から最も近い移動許可範囲内の位置に移動させるための指示を出して、ロボット101を移動許可範囲内へ移動させる(ステップ3224)。
 これにより、ロボット101は自らの位置を制御サーバ110から指示された移動許可範囲内に保つことができる。
 図27は通信復旧処理の例を示すフローチャートである。通信復旧処理は、通信復旧プログラム322がロボット101のCPU302で実行されることにより行われる処理である。通信復旧プログラム322は、通信復旧処理部または位置管理部として動作する。
 通信復旧処理は、まずCPU302がロボット101と制御サーバ110の間で送受信されるパケットから、通信品質を計測する(ステップ3231)。ここで計測される通信品質は、例えばデータ転送速度などのスループット、RTT(Round Trip Time)などの遅延及びパケットロス率である。ロボット101は、通信品質の計測のためにテストパケットを送信してもよい。
 次に、CPU302は計測された通信品質値と所定の閾値5を、以下の条件8で比較する(ステップ3232)。
 条件8:通信品質値≦閾値5
 条件8を満たさないと判定された場合は、通信復旧処理を終了する(ステップ3232:No)。
 条件8を満たすと判定された場合、すなわち通信品質値が閾値5以下であるときは(ステップ3232:Yes)、CPU302は通信品質マップ2220を参照し(ステップ3233)、現在の位置より通信品質の良い場所があるか否か判定する(ステップ3234)。
 現在の位置より通信品質の良い場所がなければ(ステップ3234:No)、CPU302は機構制御部309へ指示を出して、ロボット101を待機地点へ移動させる(ステップ3235)。
 一方、現在の位置より通信品質の良い場所があれば(ステップ3234:Yes)、CPU302は機構制御部309へ指示を出して、ロボット101を現在の位置より通信品質の良い場所へ移動させる(ステップ3236)。
 これにより、ロボット101の位置を制御して、ロボット101が制御サーバ110と通信不能となることを回避できる。
<実施例2>
 実施例2では、中継サーバ120が移動体通信網107の通信を中継する例を説明する。以下の説明において、実施例1で説明した構成又は機能と共通するものについては、実施例1と同一の符号を付して説明を省略する場合がある。
 図28は、実施例2のロボット管理システムの例を示す図である。実施例2のロボット管理システムは、自律移動可能な情報処理装置であるロボット101、制御装置である制御サーバ110、アプリケーションサーバ111と、ロボット101と制御サーバ110の間の移動体通信網の無線通信を中継する中継サーバ120を有する。
 ロボット101と制御サーバ110は無線通信により接続される。ロボット101と制御サーバ110を接続する通信手段は、例えば無線LAN(Local Area Network)104、短距離無線106である。無線LAN104及び短距離無線106を用いた通信は実施例1と同様である。
 ロボット101と中継サーバ120は無線通信により接続される。ロボット101と中継サーバ120を接続する通信手段は、例えば移動体通信網107である。このとき、ロボット101と中継サーバ120は基地局装置108及びインターネット109を介して接続される。制御サーバ110と中継サーバ120は有線通信、例えばインターネット109を介して接続される。従って、ロボット101と制御サーバ110は、中継サーバ120を介して通信できる。
 制御サーバ110及び中継サーバ120は、それぞれ、ロボット101との通信情報を用いて、通信品質情報を計測する。
 図29は、制御サーバ110の構成の例を示す図である。
 制御サーバ110は、メモリ401と、CPU(Central Processing Unit)402と、I/O(入出力インタフェース)403と、補助記憶装置404と、無線LAN I/F405と、短距離無線I/F406と、移動体通信網I/F407と、ネットワーク I/F408とを有する。以下に説明する制御サーバ110が行う処理は、CPU402が補助記憶装置404に格納されたコンピュータプログラム(ソフトウェア)を読み出して、メモリ401上に展開して実行することにより実現される。制御サーバ110は、無線LAN I/F405、短距離無線I/F406、又は移動体通信網I/F407を介してロボット101と通信する。また、制御サーバ110は、ネットワーク I/F408を介して中継サーバ120と通信する。
 I/O(入出力インタフェース)403は、ユーザが制御サーバ110に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O403には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O403は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
 CPU402は、メモリ401に格納されたプログラムを実行するプロセッサである。メモリ401は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS:Basic Input Output System)などが格納される。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置402に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
 例えば、メモリ401には、通信品質計測プログラム411、移動許可範囲マップ作成プログラム212、通信品質判定プログラム213、通信制御プログラム214、通信手段切替プログラム215、機能切替プログラム216、ロボット状態変更プログラム217、通信復旧プログラム218及び移動判定プログラム219が格納される。
 通信品質計測プログラム411は、通信品質計測処理(図30参照)を実行するためのプログラムである。移動許可範囲マップ作成プログラム212~移動判定プログラム219は実施例1と同じであるので説明を省略する。
 また、メモリ401に格納されている機能情報管理テーブル221~機能状態情報管理テーブル227も実施例1と同じであるので説明を省略する。
 補助記憶装置404は、例えば、磁気記憶装置(HDD:Hard Disk Drive)、フラッシュメモリ(SSD:Solid State Drive)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置404は、CPU402により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置404から読み出されて、メモリ401にロードされ、CPU402によって実行される。
 図30は、通信品質計測処理の例を示すフローチャートである。通信品質計測処理は、通信品質計測プログラム411が制御サーバ110のCPU402で実行されることにより行われる処理である。通信品質計測プログラム411は、通信品質計測部として動作する。本実施例の制御サーバ110が行う通信品質計測処理は、実施例1と同様に、無線LAN140及び短距離無線106によりロボット101と直接行う通信の品質を計測する処理を含む。本実施例の通信品質計測処理は、さらに、中継サーバ120とロボット101間の通信品質に関する情報を中継サーバ120から取得する処理を含む。
 通信品質計測処理は、実施例1と同様に、ロボット101と制御サーバ110との間で送受信されるパケットを用いて通信品質を計測し、通信品質情報管理テーブル222を更新する。
 まず、CPU402は、実施例1と同様に、ステップ4111でロボット101と制御サーバ110間の通信品質を計測し、ステップ4112でロボット101の位置情報と通信品質情報を紐付ける。
 次に、CPU402は、中継サーバ120から、中継サーバ120の位置情報と、中継サーバ120とロボット101との通信品質とを取得する(ステップ4113)。中継サーバ120は、予めロボット101との間の通信品質を計測を行い(図34参照)、制御サーバ110はこの計測結果を取得する。
 これ以降、CPU402は実施例1と同様に、ロボット101の位置情報と対応付けられた通信品質を通信品質情報管理テーブル222に登録するための処理を行う(ステップ4114~ステップ4119)。
 これにより、制御サーバ110及びロボット101間(中継サーバ120を経由する場合を含む)の最新の通信状態を示す通信品質情報がロボット101へ提供される。
 図31は実施例2の中継サーバ120の構成の例を示す図である。
 中継サーバ120は、メモリ501と、CPU502と、I/O503と、補助記憶装置504と、移動体通信網I/F505と、ネットワークI/F506とを有する。以下に説明する中継サーバ120が行う処理は、CPU502が補助記憶装置504に格納されたコンピュータプログラムをメモリ501上に展開して実行することにより実現される。中継サーバ120は、移動体通信網I/F505を介してロボット101と通信する。また、中継サーバ120は、ネットワークI/F506を介して制御サーバ110と通信する。
 I/O(入出力インタフェース)503は、ユーザが中継サーバ120に指示を入力し、プログラムの実行結果などをユーザに提示するためのユーザインタフェースである。I/O503には、入出力デバイス(例えば、キーボード、マウス、タッチパネル、ディスプレイ、プリンタなど)が接続される。I/O503は、ネットワークを経由して接続された管理端末によって提供されるユーザインタフェースが接続されてもよい。
 CPU502は、メモリ501に格納されたプログラムを実行するプロセッサである。メモリ501は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS:Basic Input Output System)などが格納される。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、補助記憶装置502に格納されたプログラム及びプログラムの実行時に使用されるデータが一時的に格納される。
 例えば、メモリ501には、情報転送プログラム511及び通信品質計測プログラム512が格納される。
 情報転送プログラム511は、情報転送処理(図32参照)を実行するためのプログラムである。通信品質計測プログラム512は、通信品質計測処理(図34参照)を実行するためのプログラムである。
 また、メモリ501には、装置情報管理テーブル521(図33参照)が格納される。
 補助記憶装置504は、例えば、磁気記憶装置(HDD:Hard Disk Drive)、フラッシュメモリ(SSD:Solid State Drive)などの大容量かつ不揮発性の記憶装置である。また、補助記憶装置504は、CPU502により実行されるプログラム及びプログラムの実行時に使用されるデータが格納される。すなわち、プログラムは、補助記憶装置504から読み出されて、メモリ501にロードされ、CPU502によって実行される。
 中継サーバ120は、物理的に一つの計算機上で、又は、論理的又は物理的な複数の計算機上で構成される計算機システムであり、メモリ501に格納されたプログラムが、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。また、中継サーバ120と他の装置が一つの物理的又は論理的計算機に収容されてもよい。なお、プログラムの実行によって実現される処理の全部又は一部の処理をハードウェア(例えば、Field-Programmable Gate Array)によって実現してもよい。
 図32は情報転送処理の例を示すフローチャートである。情報転送処理は、情報転送プログラム511はCPU502で実行されることにより行われる処理である。情報転送処理は、ロボット101又は制御サーバ110からのパケットを受信することにより行われる処理である。
 情報転送処理では、まずロボット101又は制御サーバ110からのパケットを受信すると(ステップ5111)、CPU502が受信したパケットの宛先装置を特定し、装置情報管理テーブル521を参照して宛先装置の情報を取得する(ステップ5112)。CPU502は、ステップ5112で取得した宛先装置の情報に基づいて、ステップ5111で受信したパケットを転送する(ステップ5113)。
 図33は、装置情報管理テーブル521の例を示す図である。
 装置情報管理テーブル521は、中継サーバ120と通信可能な装置に関する情報を有する。例えば、装置情報管理テーブル521は、装置を一意に識別するIDである装置ID5211と、装置が通信に使用するIPアドレス5212と、装置が通信に使用するポート番号5213が格納される。その他に装置が通信を行うための情報(MACアドレスなど)が格納されてもよい。
 図34は、通信品質計測処理の例を示すフローチャートである。通信品質計測処理は、通信品質計測プログラム512が中継サーバ120のCPU502で実行されることにより行われる処理である。通信品質計測プログラム512は、通信品質計測部として動作する。
 通信品質計測処理では、図32に示す情報転送処理が行われると(ステップ5121)、CPU502がロボット101と中継サーバ120との間で送受信されるパケットから、ロボット101と中継サーバ120間の通信品質を計測する(ステップ5122)。
 次にCPU502は、ロボット101からロボット101の位置情報を取得し、時間情報を基にロボット101の位置情報とステップ5122で計測した通信品質とを紐付ける(ステップ5123)。そして、CPU502が位置情報と紐付けた通信品質を制御サーバ110に送信する(ステップ5124)。
 これにより、中継サーバ120で通信品質の計測を行うことができる。
 本実施例によれば、中継サーバ120を介して制御サーバ110とロボット101との通信を行っても、実施例1のように直接通信行うときと同様に、制御サーバ110とロボット101との通信状態を要求通信品質に保つようにロボットを制御することができる。
 なお、本発明を実施するための形態は、以上で説明した実施例に限定されるものではなく、様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成の一部を加えてもよい。
 また、前述したプログラムによる処理などは、それらの一部又は全部を、例えば集積回路で設計するなどにより、ハードウェアで実現してもよく、ハードウェアによる処理とプログラムによる処理を組み合わせてもよい。プログラムやテーブルなどの情報は、メモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの記憶装置、又は、ICカード、SDカード、DVDなどの記録媒体に格納することができる。また、制御線や情報線は説明上必要なものを示しており、示した以外の制御線や情報線があってもよい。
101 ロボット
102 移動許可範囲
103 非移動許可範囲
104 無線LAN
105 無線LAN AP
106 短距離無線
107 移動体通信網
108 基地局
109 インターネット
110 制御サーバ
 

Claims (15)

  1.  自律移動可能な情報処理装置を制御する制御装置であって、
     前記情報処理装置の位置に関する情報である第1の情報と、前記情報処理装置の通信に関する情報である第2の情報とを取得し、前記第1の情報及び前記第2の情報を用いて通信品質の分布を示す通信品質情報を作成する通信品質情報生成部と、
     前記通信品質情報に基づいて、前記情報処理装置の移動範囲を制御する移動制御部と、を有する制御装置。
  2.  請求項1に記載の制御装置であって、
     前記通信品質情報生成部は、さらに、前記情報処理装置が実行中の機能の通信に関する情報である第3の情報を取得し、
     前記移動制御部は、前記第3の情報を用いて、前記情報処理装置の移動範囲を制御すること
    を特徴とする制御装置。
  3.  請求項1または2に記載の制御装置であって、
     前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質が前記情報処理装置に要求される通信品質を下回る場合、
     前記移動制御部は、前記情報処理装置へ移動命令を送信すること
    を特徴とする制御装置。
  4.  請求項1または2に記載の制御装置であって、
     第1の通信手段で前記情報処理装置と通信を行う第1の通信インタフェースと、
     第2の通信手段で前記情報処理装置と通信を行う第2の通信インタフェースと、をさらに備え、
     前記第2の情報は、前記第1の通信インタフェースを用いて前記第1の通信手段で前記情報処理装置と行った通信の通信品質に関する情報であり、
     前記情報処理装置の現在位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、又は前記情報処理装置への移動命令情報を取得し、前記移動命令による移動先の位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、
     前記第1の通信インタフェース及び前記第2の通信インタフェースを用いて前記情報処理装置と通信を行うこと
    を特徴とする制御装置。
  5.  請求項1または2に記載の制御装置であって、
     前記情報処理装置の現在位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、又は前記情報処理装置への移動命令情報を取得し、前記移動命令による移動先の位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、
     前記情報処理装置が実行中の第1の機能を停止させ、前記第1の機能の代替機能である第2の機能を実行させる機能切替処理部、をさらに有する制御装置。
  6.  請求項1または2に記載の制御装置であって、
     前記情報処理装置の現在位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、又は前記情報処理装置への移動命令情報を取得し、前記移動命令による移動先の位置の前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、
     前記情報処理装置が実行する機能のうち少なくとも一つ以上の機能に関する通信量を抑制する通信制御部、をさらに有する制御装置。
  7.  請求項1または2に記載の制御装置であって、
     前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質が前記情報処理装置に要求される通信品質を下回る場合、
     前記情報処理装置の形状又は向きを変更する命令を送信する状態管理部、をさらに備える制御装置。
  8.  請求項1または2に記載の制御装置であって、
     前記通信品質情報生成部は、前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質と前記通信品質情報との比較結果に基づいて、前記通信品質情報を更新すること
    を特徴とする制御装置。
  9.  自律移動可能な情報処理装置と、前記情報処理装置を制御する制御装置と、を有する制御システムであって、
     前記制御装置は、
     前記情報処理装置から、前記情報処理装置の位置に関する情報である第1の情報と、前記情報処理装置の通信に関する情報である第2の情報とを取得し、前記第1の情報及び前記第2の情報を用いて、前記制御装置と前記情報処理装置との通信品質の分布を示す通信品質情報を作成する通信品質情報生成部と、
     前記通信品質情報に基づいて、前記情報処理装置の移動範囲を制御する移動制御部と、を有する制御システム。
  10.  請求項9に記載の制御システムであって、
     前記通信品質情報生成部は、さらに、前記情報処理装置が実行中の機能の通信に関する情報である第3の情報を取得し、
     前記移動制御部は、前記第3の情報を用いて、前記情報処理装置の移動範囲を制御すること
    を特徴とする制御装置。
  11.  自律移動可能な情報処理装置であって、
     前記情報処理装置の位置に関する情報である第1の情報、及び前記情報処理装置の通信に関する情報である第2の情報を用いて作成された通信品質の分布を示す通信品質情報と、前記情報処理装置の現在位置とに基づいて、移動制御を行う位置管理部を、有する自律移動可能な情報処理装置。
  12.  請求項11に記載の自律移動可能な情報処理装置であって、
     前記位置管理部は、前記通信品質情報と前記情報処理装置が実行中の機能とに基づいて、前記情報処理装置の移動制御を行うこと
    を特徴とする自律移動可能な情報処理装置。
  13.  請求項11または12に記載の自律移動可能な情報処理装置であって、
     前記自律移動可能な情報処理装置の位置情報が、前記通信品質情報と前記情報処理装置が実行中の機能とに基づいて定まる前記情報処理装置の移動許可範囲外であった場合、
     前記位置管理部は、前記情報処理装置を前記移動許可範囲内へ移動させること
    を特徴とする自律移動可能な情報処理装置。
  14.  請求項11または12に記載の自律移動可能な情報処理装置であって、
     第1の通信手段で通信を行う第1の通信インタフェースと、
     第2の通信手段で通信を行う第2の通信インタフェースと、をさらに備え、
     前記第2の情報は、前記第1の通信インタフェースを用いて前記第1の通信手段で行った通信の通信品質に関する情報であり、
     前記情報処理装置の現在位置が、前記通信品質情報と前記情報処理装置が実行中の機能とに基づいて定まる前記情報処理装置の移動許可範囲外であった場合、
     又は前記第1の情報及び前記第2の情報に基づく前記第1の通信手段の通信品質が前記情報処理装置に要求される通信品質を下回る場合、
     前記第1の通信インタフェース及び前記第2の通信インタフェースを用いて通信を行うこと
    を特徴とする自律移動可能な情報処理装置。
  15.  請求項11または12に記載の自律移動可能な情報処理装置であって、
     前記情報処理装置の現在位置が、前記通信品質情報と前記情報処理装置が実行中の機能とに基づいて定まる前記情報処理装置の移動許可範囲外であった場合、
     又は前記第1の情報及び前記第2の情報に基づく前記情報処理装置の現在位置の通信品質が前記情報処理装置に要求される通信品質を下回る場合、
     前記情報処理装置が実行中の第1の機能を停止し、前記第1の機能の代替機能である第2の機能を実行すること
    を特徴とする自律移動可能な情報処理装置。
     
PCT/JP2016/088658 2016-12-26 2016-12-26 制御装置、制御システム、及び自律移動可能な情報処理装置 WO2018122906A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2016/088658 WO2018122906A1 (ja) 2016-12-26 2016-12-26 制御装置、制御システム、及び自律移動可能な情報処理装置
JP2018558521A JP6859366B2 (ja) 2016-12-26 2016-12-26 制御装置、及び制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/088658 WO2018122906A1 (ja) 2016-12-26 2016-12-26 制御装置、制御システム、及び自律移動可能な情報処理装置

Publications (1)

Publication Number Publication Date
WO2018122906A1 true WO2018122906A1 (ja) 2018-07-05

Family

ID=62708143

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/088658 WO2018122906A1 (ja) 2016-12-26 2016-12-26 制御装置、制御システム、及び自律移動可能な情報処理装置

Country Status (2)

Country Link
JP (1) JP6859366B2 (ja)
WO (1) WO2018122906A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021117695A (ja) * 2020-01-24 2021-08-10 株式会社日立製作所 移動するロボットを制御する方法
WO2022123801A1 (ja) * 2020-12-08 2022-06-16 オムロン株式会社 制御装置及び搬送システム
JP7372872B2 (ja) 2020-04-22 2023-11-01 Kddi株式会社 監視装置、遠隔監視システム、監視方法及びコンピュータプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069196A (ja) * 1998-08-26 2000-03-03 Sharp Corp 通信端末装置
US20120158237A1 (en) * 2010-12-20 2012-06-21 Electronics And Telecommunications Research Institute Unmanned apparatus and method of driving the same
JP2012137909A (ja) * 2010-12-27 2012-07-19 Advanced Telecommunication Research Institute International 移動体遠隔操縦システムおよびそのための制御プログラム
JP2013052462A (ja) * 2011-09-01 2013-03-21 Ntt Docomo Inc 遠隔操作装置及び方法
JP2015056678A (ja) * 2013-09-10 2015-03-23 株式会社デンソー 移動通信装置、マップ作成装置、リソース管理装置、無線局管理装置及び無線アクセスシステム
JP2016019029A (ja) * 2014-07-04 2016-02-01 シャープ株式会社 移動式電波モニター装置
JP2016116079A (ja) * 2014-12-15 2016-06-23 ソニー株式会社 情報処理装置、通信システム、情報処理方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008281358A (ja) * 2007-05-08 2008-11-20 Japan Radio Co Ltd 追尾型アンテナ制御装置
JP6026307B2 (ja) * 2013-02-06 2016-11-16 中国電力株式会社 移動体の向きを示す情報を取得するシステム及び方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000069196A (ja) * 1998-08-26 2000-03-03 Sharp Corp 通信端末装置
US20120158237A1 (en) * 2010-12-20 2012-06-21 Electronics And Telecommunications Research Institute Unmanned apparatus and method of driving the same
JP2012137909A (ja) * 2010-12-27 2012-07-19 Advanced Telecommunication Research Institute International 移動体遠隔操縦システムおよびそのための制御プログラム
JP2013052462A (ja) * 2011-09-01 2013-03-21 Ntt Docomo Inc 遠隔操作装置及び方法
JP2015056678A (ja) * 2013-09-10 2015-03-23 株式会社デンソー 移動通信装置、マップ作成装置、リソース管理装置、無線局管理装置及び無線アクセスシステム
JP2016019029A (ja) * 2014-07-04 2016-02-01 シャープ株式会社 移動式電波モニター装置
JP2016116079A (ja) * 2014-12-15 2016-06-23 ソニー株式会社 情報処理装置、通信システム、情報処理方法およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021117695A (ja) * 2020-01-24 2021-08-10 株式会社日立製作所 移動するロボットを制御する方法
JP7351757B2 (ja) 2020-01-24 2023-09-27 株式会社日立製作所 移動するロボットを制御する方法
JP7372872B2 (ja) 2020-04-22 2023-11-01 Kddi株式会社 監視装置、遠隔監視システム、監視方法及びコンピュータプログラム
WO2022123801A1 (ja) * 2020-12-08 2022-06-16 オムロン株式会社 制御装置及び搬送システム

Also Published As

Publication number Publication date
JPWO2018122906A1 (ja) 2019-10-31
JP6859366B2 (ja) 2021-04-14

Similar Documents

Publication Publication Date Title
US20190028378A1 (en) Information processing apparatus, method and non-transitory computer-readable storage medium
CN111147387B (zh) 一种混合sdn网络的流量控制方法及装置
US9747090B2 (en) Application deployment method and scheduler
US20140019970A1 (en) Virtual machine management system and virtual machine management method
WO2018122906A1 (ja) 制御装置、制御システム、及び自律移動可能な情報処理装置
CN106445473B (zh) 一种容器部署方法及装置
CN105531970A (zh) 实时考量全局网络拥塞的工作负荷部署
CN107211043A (zh) M2m数据处理方法、设备及系统
EP3183848B1 (en) Optimization framework for multi-tenant data centers
EP3616369B1 (en) Communications network node, communications network and communication method
KR20160039254A (ko) 송신 노드 및 버퍼 상태 보고 방법
JP6478669B2 (ja) アクセスポイント位置最適化装置及び方法
JP5765427B2 (ja) 仮想マシン管理装置、仮想マシン移動制御プログラムおよび仮想マシン移動制御方法
KR102543557B1 (ko) 네트워크 시뮬레이션 플랫폼 생성 방법, 네트워크 시뮬레이션 방법 및 대응하는 장치
Louail et al. Centroid-based single sink placement in wireless sensor networks
KR102268470B1 (ko) 가상 네트워크 구성방법 및 그 장치
CN109995678B (zh) 报文传输方法及装置
JP2021009561A (ja) データ処理システム、データ処理装置及びデータ処理プログラム
JP5973971B2 (ja) マシンツーマシン制御システム及び方法
KR20150088462A (ko) 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치
JP6120411B2 (ja) ネットワーク制御方法及び装置
JP6677072B2 (ja) 情報処理装置、情報処理システム、情報処理プログラム、及び情報処理方法
JP2017004050A (ja) キュー管理方法、キュー管理プログラム及びキュー管理装置
JP2017107382A (ja) プログラム実行システム、プログラム実行方法、および、プログラム
US9571568B2 (en) Apparatus and method for selecting a node relaying data communication between servers

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16925434

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018558521

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16925434

Country of ref document: EP

Kind code of ref document: A1