WO2022180682A1 - 制御装置、制御システム、制御方法およびプログラム記録媒体 - Google Patents

制御装置、制御システム、制御方法およびプログラム記録媒体 Download PDF

Info

Publication number
WO2022180682A1
WO2022180682A1 PCT/JP2021/006865 JP2021006865W WO2022180682A1 WO 2022180682 A1 WO2022180682 A1 WO 2022180682A1 JP 2021006865 W JP2021006865 W JP 2021006865W WO 2022180682 A1 WO2022180682 A1 WO 2022180682A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
constraint
information
time
control
Prior art date
Application number
PCT/JP2021/006865
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 US18/273,164 priority Critical patent/US20240134396A1/en
Priority to PCT/JP2021/006865 priority patent/WO2022180682A1/ja
Priority to EP21927785.2A priority patent/EP4300238A4/en
Priority to JP2023501711A priority patent/JP7485192B2/ja
Publication of WO2022180682A1 publication Critical patent/WO2022180682A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/698Control allocation
    • G05D1/6983Control allocation by distributed or sequential control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/69Coordinated control of the position or course of two or more vehicles
    • G05D1/695Coordinated control of the position or course of two or more vehicles for maintaining a fixed relative position of the vehicles, e.g. for convoy travelling or formation flight
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Definitions

  • the present invention relates to control technology, and in particular to autonomous control of robots that operate in cooperation.
  • Patent Document 1 discloses a technique for controlling positions by communicating among a plurality of such robots.
  • Patent Document 1 discloses a method of moving robots so as to restore communication when communication disruption between robots is detected.
  • Patent Literature 2 discloses an autonomous robot having a receiver that communicates with a transmitter possessed by a person and a sensor that detects surrounding objects. The robot of Patent Document 2 operates so as to avoid contact with an object detected by a sensor.
  • Patent Literature 3 discloses a plurality of autonomous mobile robots that recognize each other's positions and move.
  • Non-Patent Document 1 describes a method of maintaining communication by quantifying the strength of communication in the entire multi-agent system and limiting the distance between robots so that the value of the strength of communication is kept above a certain level. It is shown.
  • Non-Patent Document 2 discloses an automatic control technique for maintaining safety.
  • JP 2017-62768 A Japanese Patent Publication No. 2019-502501 JP 2017-59217 A
  • Patent Document 1 the technology of Patent Document 1 is not sufficient in the following points.
  • the position of the robot is moved so as to restore communication when communication is interrupted, but normal robot operation cannot be continued.
  • Patent Document 2 Patent Document 3, and Non-Patent Document 1
  • automatic control cannot be performed when communication is not possible.
  • Non-Patent Document 2 also does not describe a technique for performing automatic control when communication is not possible. Therefore, the techniques described in each prior art document may not be able to continuously control the position of the robot when the communication environment is bad.
  • the present invention aims to provide a control device etc. that can continue to control the position of a robot even in an environment where communication between robots is intermittent.
  • the control device of the present invention includes a constraint condition calculation section and a control section.
  • the constraint calculation unit calculates candidate constraints indicating conditions within which the first robot can move, based on the constraint-related information and the current position information of the first robot and the second robot. , among the calculated candidates for the constraint, the constraint with the newest time is specified.
  • the constraint-related information is information that is generated using past position information of the first robot and the second robot, and is used to control the second robot.
  • the constraint calculation unit identifies a constraint with a newer time among the calculated candidates for the constraint.
  • the controller controls the position of the first robot so that it operates while satisfying the constraint specified by the constraint calculator.
  • the constraint condition calculation unit indicates the condition of the range in which the first robot can move based on the constraint related information and the current position information of the first robot and the second robot. Constraint candidates are calculated, and a new constraint is specified among the calculated constraint candidates.
  • the constraint-related information is information that is generated using past position information of the first robot and the second robot, and is used to control the second robot. .
  • the control method of the present invention specifies a new constraint condition among the calculated constraint condition candidates. The control method of the present invention controls the position of the first robot so that it operates while satisfying the constraint specified by the constraint calculator.
  • the program recording medium of the present invention records a control program.
  • the constraint condition calculation unit calculates a constraint condition indicating a condition of a range in which the first robot can move based on the constraint-related information and the current position information of the first robot and the second robot. Candidates are calculated, and among the calculated candidates for the constraint, a constraint with a newer time is specified.
  • the constraint-related information is information that is generated using past position information of the first robot and the second robot, and is used to control the second robot. Let the computer do the work.
  • the control program causes the computer to execute a process of identifying a constraint with a newer time among the calculated candidates for the constraint.
  • the control program causes the computer to execute a process of controlling the position of the first robot so as to operate while satisfying the constraint specified by the constraint calculator.
  • FIG. 1 is a diagram showing an overview of the configuration of a first embodiment of the present invention
  • FIG. It is a figure which shows the example of a structure of the 1st control apparatus of the 1st Embodiment of this invention.
  • FIG. 4 is a diagram schematically showing an example of operating states of a first robot and a second robot according to the first embodiment of the present invention; It is a figure which shows the example of a structure of the 2nd control apparatus of the 1st Embodiment of this invention. It is a figure which shows the example of the operation
  • FIG. 5 is a diagram showing an overview of the configuration of a second embodiment of the present invention. It is a figure which shows the example of the operation
  • FIG. 4 is a diagram showing another configuration example of the embodiment of the present invention.
  • FIG. 1 is a diagram showing the configuration of the control system of this embodiment.
  • the control system of this embodiment includes a first control device 10 and a second control device 20 .
  • a first control device 10 is provided as a control device for the first robot and controls the position of the first robot.
  • a second control device 20 is provided as a control device for the second robot and controls the position of the second robot.
  • the control system of this embodiment is a control system of a multi-agent system composed of a first robot and a second robot that operate in cooperation with each other.
  • the number of robots may be three or more. Even in the case of three or more robots, each robot has its own control device.
  • FIG. 2 is a diagram showing an example of the configuration of the first control device 10. As shown in FIG.
  • the first control device 10 includes a communication section 11 , a constraint condition calculation section 12 , a control section 13 and a position information acquisition section 14 .
  • the communication unit 11 performs wireless communication with the second control device 20.
  • the communication unit 11 transmits and receives robot position information and constraint-related information to and from the second control device 20 . Constraint-related information will be explained later.
  • Positional information of the first robot at time t is represented by (x A (t), t).
  • x A (t) is information (eg, vector) indicating the position of the first robot at time t.
  • the origin and coordinate system for indicating the position of the robot by a vector are set in advance at the place where the control system controls the robot. That is, the position information is information in which information indicating the position of the robot at time t and information at time t are associated with each other.
  • the position information of the second robot at time t is represented by (x B (t), t).
  • x B (t) is information (eg, vector) indicating the position of the second robot at time t.
  • the information indicating the position is expressed using a "vector”.
  • FIG. 3 is a diagram schematically showing an example of operating states of the first robot and the second robot.
  • FIG. 3 shows that at time t, the first robot is at position x A (t) and the second robot is at position x B (t).
  • the first robot and the second robot in FIG. 3 are communicating with each other, and when the communication environment is bad, they are stochastically communicating. That is, when the communication environment is poor, communication between the first controller 10 of the first robot and the second controller 20 of the second robot is intermittent. Probabilistic and intermittent communication does not always mean that data is sent and received alternately or at the same time. It refers to communication in which is performed two or more times in succession.
  • the constraint-related information is used when the constraint condition calculation unit 12 calculates the constraint conditions used when the control unit 13 controls the position of the robot.
  • the constraint-related information is information including, for example, a position vector indicating the center point of the constraint and the time when the constraint was set.
  • the constraint-related information is, for example, information representing an area in which the robot can operate based on constraints set at a certain time, or a range that limits the position of the robot based on constraints set at a certain time. It is the information etc. which represent.
  • the constraint does not necessarily have to be represented by a sphere, and may be represented using a polyhedron such as a rectangular parallelepiped, a curve, or the like.
  • a polyhedron such as a rectangular parallelepiped, a curve, or the like.
  • the constraint-related information is assumed to be represented by a sphere (or circle).
  • the constraint-related information is transmitted and received as two pieces of information, for example, first constraint-related information and second constraint-related information.
  • first constraint-related information is set at time t' with the center point of constraint c1
  • second constraint-related information is represented by (c1, t'). be.
  • second constraint-related information is set at time t'' with the center point of the constraint being c2
  • the second constraint-related information is represented by (c2, t ''). be done. Time t' and time t'' may be the same.
  • the constraint calculation unit 12 calculates a constraint candidate using the position information and the constraint-related information transmitted and received via the communication unit 11, and calculates the constraint used to control the position of the first robot using the time information. to identify.
  • the constraint condition calculation unit 12 sets the constraint condition so that the distance between the cooperatively operating robot (for example, the second robot) and the first robot is the distance R or less.
  • the value of the distance R is set in advance, for example, based on the distance that can be communicated between a plurality of robots and the distance between robots suitable for the application of the robots.
  • the first controller 10 of the first robot receives (c1, t') as first constraint-related information from the second robot and (c2 , t'') and position information of the second robot (x B (t''') , t''').
  • the constraint calculation unit 12 calculates candidates for the first constraint at time t using the first constraint-related information, as shown in Equation 1 below.
  • c_1 is the coordinate of the center point of the constraint. This is because the range in which .times..times..times..times..times ..times . The constraint calculation unit 12 calculates candidates for the first constraint and the second constraint at time t using the second constraint-related information as shown in Equation 3 below.
  • Equation 4 Assuming that the control unit 13 controls the position of the first robot according to the candidates for the constraint condition of Equation 2, the range in which the first robot can move is as shown in Equation 4 , with c2 as the center point. be within a sphere or circle that
  • the constraint condition calculation unit 12 calculates candidates for the second constraint condition as shown in Equation 5 below.
  • c 1 , c 2 , and c 3 used in the constraint-related information and constraint conditions are not centered if they are based on the positional information of the first robot and the second robot at a certain time.
  • c 1 , c 2 , and c 3 may be set as the reference point and the center or center of gravity of the triangle formed by the first robot and the second robot. If c 1 , c 2 , and c 3 are set as the center points of the first robot and the second robot, then the value of R is It is set considering the maximum distance.
  • the first robot and the second robot are in a range where the distance between them is R or less. free to move
  • the constraint calculation unit 12 excludes the constraint conditions that the current position of the robot does not satisfy the constraint conditions.
  • the constraint calculation unit 12 sets the constraint with the latest time among the remaining candidates for the constraint as a new constraint.
  • the constraint calculation unit 12 excludes candidates whose time is older than the constraint condition currently used by the control unit 13 to control the first robot.
  • the constraint calculation unit 12 determines, as a new first constraint, whichever has the newer time information among the candidates represented by Equations 1 and 2 and the candidates represented by Equations 3 and 4.
  • the new time information means that the time is later than the other time.
  • the constraint calculation unit 12 determines the candidate with the newer time information among the candidates expressed by Equations 3 and 4 and the candidates expressed by Equations 5 and 6 as a new second constraint. The constraint calculation unit 12 does not update the constraint when there is no candidate for the constraint.
  • the control unit 13 controls the robot based on the constraints calculated by the constraint calculation unit 12.
  • the control unit 13 controls the position of the first robot so as to satisfy the first constraint and the second constraint using, for example, a control barrier function.
  • a method of controlling the position using a control barrier function is described in Non-Patent Document 2, for example.
  • the position information acquisition unit 14 identifies the position of the first robot.
  • the position information acquisition unit 14 identifies the position of the first robot using, for example, information obtained from GNSS (Global Navigation Satellite System).
  • the position information acquisition unit 14 may specify the position of the first robot by a method other than GNSS.
  • the position information acquiring unit 14 may specify the position of the first robot using distances from a plurality of reference points installed at the location where the first robot is operating. Further, the position information acquisition unit 14 may acquire information on the position of the first robot detected by the monitoring system of the place where the first robot is operating using a camera or a sensor from the monitoring system.
  • the communication unit 11, the constraint condition calculation unit 12, the control unit 13, and the position information acquisition unit 14 of the first control device 10 are configured using one or more semiconductor devices.
  • an FPGA Field Programmable Gate Array
  • Each process in the communication unit 11, the constraint calculation unit 12, the control unit 13, and the position information acquisition unit 14 may be performed by executing a computer program on a CPU (Central Processing Unit).
  • CPU Central Processing Unit
  • FIG. 4 is a diagram showing an example of the configuration of the second control device 20.
  • the second control device 20 includes a communication section 21 , a constraint condition calculation section 22 , a control section 23 and a position information acquisition section 24 .
  • the configuration and functions of the communication unit 21, the constraint condition calculation unit 22, the control unit 23, and the position information acquisition unit 24 are the same as those of the same-named parts of the first control device 10, respectively. That is, the second control device 20 uses the first robot's position information and constraint-related information obtained from the first robot and the second robot's position information to find a constraint condition candidate for the second robot. calculate.
  • the second control device uses the time information to determine constraints for controlling the position of the second robot, and controls the position of the second robot so as to satisfy the determined constraints.
  • FIG. 5 is a diagram showing an example of the operation flow of the first control device 10. As shown in FIG. In the following description, an example is given in which two robots are controlled so that the distance between them is R or less. Further, in the following, the first controller 10 of the first robot receives the second robot's position information and constraint-related information from the second robot, and the constraint used when controlling the position of the first robot. A case of updating the conditions will be described as an example.
  • the communication unit 11 of the first control device 10 acquires position information and constraint-related information of the second robot from the second robot that moves cooperatively (step S11).
  • the communication unit 11 receives, for example, the first constraint-related information (c _1 , t′), the second constraint-related information (c 2 , t''), and the second robot position x B (t''') information is received.
  • the constraint calculation unit 12 calculates candidates for the constraint (step S12). For example, the constraint condition calculation unit 12 calculates candidates for the first constraint conditions represented by Equations 1 and 2 from the first constraint-related information, and calculates candidates for the first constraint conditions represented by Equations 3 and 4 from the second constraint-related information. A first constraint candidate is calculated. In addition, the constraint calculation unit 12 calculates candidates for the second constraint indicated by Equations 3 and 4 from the second constraint-related information.
  • the constraint condition calculation unit 12 calculates the position x B (t''') of the second robot and the position x A (t''') of the first robot at time t''' by the following equation: 5 and the second constraint candidate shown in Equation 6 are calculated.
  • the constraint calculation unit 12 acquires the position x A (t′′′) of the first robot at the time t′′′ from the position information acquisition unit 14 .
  • the position information acquisition unit 14 holds the information on the position of the first robot in association with the time when the position of the first robot was specified.
  • the position x A (t''') of the first robot is the position information of the first robot at the time when the information of the position x B (t''') of the second robot is obtained. good.
  • the constraint condition calculation unit 12 determines whether the current state, that is, the current position of the first robot, satisfies each constraint condition candidate. When there is a constraint condition candidate satisfied by the current state (Yes in step S13), the constraint condition calculation unit 12 compares the time of the constraint condition candidate, and sets the constraint condition candidate with the new time as a new constraint condition. Determine (step S14). For example, when the current state satisfies both the candidates represented by Equations 1 and 2 and the candidates represented by Equations 3 and 4, the constraint condition calculation unit 12 compares the times of the two candidates and determines that the times are The newer one is determined as the first constraint.
  • the constraint condition calculation unit 12 compares the times of the two candidates, The one with the newer time is determined as the second constraint.
  • the control unit 13 updates the constraint used for control to the first constraint and the second constraint determined by the constraint calculation unit 12. do. After updating the constraint, the control unit 13 controls the position of the first robot so as to satisfy the updated constraint (step S15).
  • step S13 when there is no constraint candidate that satisfies the current state (No in step S13), the control unit 13 controls the position of the first robot using the set constraint (step S15). That is, when there are no candidate constraints that satisfy the current state, the constraints are not updated.
  • step S15 while the control unit 13 is controlling the position of the first robot, the control unit 13 confirms whether or not information that satisfies the operation end conditions of the first robot is input.
  • the termination condition is set so that the condition is met when, for example, an instruction to stop the robot movement or information indicating that the robot movement has completed its purpose is input to the first control device 10 .
  • the first control device 10 repeats the operations from step S11.
  • the termination condition is satisfied in step S16 (Yes in step S16)
  • the first control device 10 completes the operation of updating the constraints and controlling the position of the first robot.
  • the control system of this embodiment will be described using a more specific example.
  • the first control device 10 and the second control device 20 transmit and receive their respective position information to and from each other.
  • the position of the first robot is x A (t 0 ) and the position of the second robot is x B (t 0 ) at time t 0 .
  • the constraint calculation unit 12 of the first control device 10 calculates the constraint.
  • the constraint calculation unit 12 of the first controller 10 of the first robot calculates a first constraint represented by the following equations 7 and 8 and a second constraint represented by the following equations 9 and 10. do.
  • the constraint condition calculation unit 22 of the second control device 20 of the second robot calculates the first constraint condition expressed by the following equations 11 and 12 and the second constraint condition expressed by the equations 13 and 14 below. calculate.
  • the first constraint and the second constraint of the second robot are also the same as shown in Equations 11 and 12 and Equations 13 and 14.
  • control unit 13 of the first control device 10 starts controlling the position of the first robot so as to satisfy the calculated constraint conditions. Also, the control unit 23 of the second control device 20 similarly starts controlling the position of the second robot so as to satisfy the constraint conditions.
  • the first controller 10 of the first robot notifies the second robot of the position information of the first robot at time t1, the first constraint-related information and the first 2 constraint-related information is transmitted.
  • the first constraint-related information transmitted at this time corresponds to the information about the center points of the first robot and the second robot, which is used for the first constraint condition in the first control device 10.
  • the second constraint-related information corresponds to information about the center points of the first robot and the second robot, which is used for the second constraint in the first control device 10 . That is, at this time, the first constraint-related information and the second constraint-related information transmitted by the first control device 10 are information at time t0 .
  • the constraint calculation unit 22 of the second control device 20 Upon receiving the positional information of the first robot and the constraint-related information, the constraint calculation unit 22 of the second control device 20 calculates the constraint.
  • the first constraint-related information received from the first robot is at time t 0 and includes the constraint center point information shown in Equation 8.
  • a candidate for the first constraint calculated by the constraint calculation unit 22 using the first constraint-related information is represented by Equation 15 below.
  • the constraint condition calculation unit 22 calculates the candidate for the first constraint condition and the second constraint condition in the following equation 16 based on the second constraint related information including the information on the center point of the constraint represented by the equation 10. Compute candidates.
  • the constraint condition calculation unit 22 calculates the following equations 17 and 18 using the position information at time t1. Calculates candidates for the second constraint indicated by .
  • the constraint condition calculation unit 22 excludes constraint condition candidates whose position of the second robot at time t1 does not satisfy the equation from the candidates.
  • the constraint condition calculation unit 22 calculates Equations 15 and 16 when determining the first constraint condition. Since the equations to be compared are calculated using information of the same time, for example, Equation 15 is determined as the first constraint condition. In addition, the constraint calculation unit 22 compares the times of Equations 16 and 17 when determining the second constraint. At this time, since time t1 is newer than time t0 , the constraint calculation unit 22 determines Equation 17 at time t1 as the second constraint.
  • the constraints held by the second control device 20 at time t1 are the first constraints expressed by the following equations 19 and 20, and the following equations 21 and 21. Like the second constraint indicated at 22 .
  • control unit 23 When the constraint conditions are determined, the control unit 23 performs the second constraint condition so as to satisfy the determined first constraint condition represented by Equations 19 and 20 and the second constraint condition represented by Equations 21 and 22. Control the position of the 2 robots.
  • the constraint condition calculation unit 22 uses the information at the same time to Do not update the first constraint shown in Equations 19 and 20 that have been calculated.
  • the constraint condition calculation unit 22 calculates candidates for the second constraint condition based on the second constraint-related information as shown in Equations 23 and 24 below.
  • the constraint condition calculation unit 22 excludes Equations 23 and 24 from the candidates.
  • the constraint calculation unit 22 calculates candidates for the second constraint using the position information at time t2 as shown in Equations 25 and 26 below.
  • Equation 25 and Equation 26 Since there is one candidate for the second constraint expressed by Equations 25 and 26, the constraint calculator 22 determines Equation 25 and Equation 26 as the second constraint.
  • the constraints held by the second control device 20 at time t1 are the first constraints expressed by the following equations 27 and 28, and the following equations 29 and 29. Like the second constraint indicated at 30 .
  • the second controller 20 of the second robot transmits constraint-related information to the first robot at time t3 , which is later than time t2.
  • first constraint-related information including information on the center of the constraint expressed by Equation 28 set using information at time t0
  • first constraint-related information at time t2 This is the second constraint-related information including information about the center of the constraint indicated by the expression 309 set using the information of .
  • the constraint calculation unit 12 of the first controller 10 of the first robot Upon receiving the constraint-related information, the constraint calculation unit 12 of the first controller 10 of the first robot calculates candidates for the first constraint.
  • the constraint calculation unit 12 calculates candidates for the first constraint expressed by the following Equations 31 and 32 calculated using the first constraint-related information at time t0 .
  • the constraint calculation unit 12 calculates the following Expressions 33 and 34 as the first constraint candidate and the second constraint candidate using the second constraint related information at the time t 2 .
  • the constraint calculation unit 12 calculates Equations 35 and 36 as candidates for the second constraint using the position information at time t3.
  • the constraint condition calculation unit 12 uses Equations 33 and 34 with new time information as the first constraint condition. decide. In addition, the constraint calculation unit 12 compares the expressions 33 and 34 with the expressions 35 and 36, and since the time t3 is newer , the expression 35 and the expression 36 at the time t3 are regarded as the second constraint. Determined as
  • Equations 37 and 38 the first constraint for the first robot is as shown in Equations 37 and 38 below.
  • Equations 39 and 40 the second constraint of the first robot after updating the constraint at time t3 is as shown in Equations 39 and 40 below.
  • the control unit 13 controls the position of the first robot so as to satisfy the first constraint indicated by Equations 37 and 38 and the second constraint indicated by Equations 39 and 40.
  • the constraint condition calculator 22 of the second control device 20 of the second robot selects first constraint-related candidates from the first constraint-related information and the second constraint-related information. Calculate Since the first constraint-related information sent from the first robot to the second robot is information at time t 2 , the constraint condition calculation unit 22 uses the following equation 41 as a candidate for the new first constraint condition. and Equation 42 are calculated.
  • the second constraint-related information sent from the first robot to the second robot is information at time t3 , and the constraint condition calculation unit 22 uses Equations 43 and 44 below are calculated.
  • the constraint calculation unit 22 calculates the following equations 45 and 46 as candidates for the second constraint using the position information at time t4.
  • the condition calculation unit 22 determines an expression with new time information as a constraint condition.
  • the constraint calculation unit 22 calculates Equations 43 and 44 as the first constraint and Equations 45 and 46 as the second constraint using the time information. decide.
  • the control unit 23 updates the constraint used for controlling the second robot with the constraint information determined by the constraint calculation unit 22, and satisfies the updated constraint. to control the position of the second robot.
  • the constraint is updated, and the controller of each control device controls the robot based on the updated constraint.
  • the controllers of the first robot and the second robot have common constraints after updating. In this way, based on the constraint update rule, the actual communication becomes probabilistic, and control is performed according to the common constraint regardless of the order.
  • the first controller 10 of the first robot and the second controller 20 of the second robot hold common constraints as shown in Equations 47 and 48 below.
  • Constraints of the first device [Formula 47]
  • Constraints of the second device [Formula 48]
  • the first and second robots lie in a common sphere (or circle) of radius R/2 with center point c, as shown in Equations 47 and 48. Therefore, the distance between the first robot and the second robot is always R or less.
  • the distance between the first robot and the second robot is controlled to be R or less, but the minimum value of the distance between the first robot and the second robot may be further set.
  • the minimum value for example, the constraint can be set by using the minimum value Rmin instead of R in the expression in which the direction of the inequality sign is reversed in the expression of the constraint.
  • the minimum value of the distance between the first robot and the second robot may be set as a restriction condition.
  • the movable range of the first robot and the second robot may be set.
  • the movable ranges of the first robot and the second robot are, for example, the coordinates of the vertices of polygons indicating the movable ranges.
  • Polygon information of n vertices indicating the movable range at time t is indicated as ([P 1 , P 2 , . . . , P n ], t), for example.
  • the controllers of the first robot and the second robot may set the range in which the partner robot can move or the range in which the partner robot is prohibited to move at time t, and transmit it to the partner robot as constraint-related information. good. With such a configuration, for example, it is possible to prevent the operation ranges of the robot controlled by the control device from overlapping with that of the other robot.
  • two robots each calculate the constraint conditions. may be determined.
  • the other robot acquires the constraint from the robot that has determined the constraint and controls the position.
  • the control system of this embodiment can also be used to control three or more robots.
  • the control system may be configured with four robots, one leader robot followed by three follower robots.
  • constraint conditions are set for each of the 2 ⁇ 3 sets of the leader robot and each follower robot. That is, the leader robot has a total of 6 constraints and the follower robot has 2 constraints.
  • constraints are calculated using the position x(t) of the robot, but x(t) is not limited to positional information.
  • constraints may be set by information including orientation and speed of the robot in addition to position information.
  • 2 is used to calculate the constraint, but the constraint may be set using another function.
  • the first control device 10 mounted on the first robot in the control system of the present embodiment stores information generated using the positions of the first robot and the second robot at the past time. , and obtains the constraint-related information used to control the second robot and the position information of the second robot.
  • the first control device 10 uses the constraint-related information and the information on the current position of the second robot to calculate a plurality of candidates for the constraint condition indicating the range of movement of the first robot.
  • the constraint condition with the new time information is specified as the constraint condition to be used for controlling the position of the first robot.
  • the constraint condition calculator 12 in the first robot measures the motion range determined using the position of the first robot at the first time and the position of the second robot at the first time.
  • History of reference positions for example, (c1, t'), (c2, t''), etc., that is, reference positions at the first time
  • the position of the second robot at the second time after the first time is used to define an area in which the first robot can operate so that the positional relationship between the first robot and the second robot after the second time is within a predetermined range (eg, a sphere).
  • the constraint condition calculation unit 12 calculates the reference information representing the reference position in the constraint information representing the motion ranges of the first robot and the second robot at the first time, and the first position at the second time after the first time.
  • position information representing the position of the robot and position information representing the position of the second robot at the second time, the positional relationship between the first robot and the second robot after the second time is predetermined It can also be said that the reference position in the constraint information representing the motion range of the first robot is calculated so as to be within the range.
  • control unit 13 controls the position of the first robot so that it operates while satisfying constraint information (for example, inside a sphere, inside a polyhedron, inside a polygon, outside a circle, etc.) determined by the calculated reference position. .
  • constraint information for example, inside a sphere, inside a polyhedron, inside a polygon, outside a circle, etc.
  • the constraint calculation unit 12 in the first robot may update the information representing the constraint by performing the same processing as described above.
  • the second controller 20 in the second robot also performs the same processing as the first controller 10 in the first robot.
  • the constraint condition calculation unit 12 calculates constraint information at the first time and It can also be said that the process of selecting the constraint information satisfying the constraint conditions for the position of the first robot at the third time after the second time is executed from the constraint information at the second time. . Then, the control unit 13 controls the motion of the first robot after the third time according to the selected constraint information.
  • the time at which communication is performed and the time at which position information is acquired do not necessarily have to be the same.
  • the first control device 10 and the second control device 20 do not necessarily need to exchange mutual position information at a certain time. For example, at a certain time, the second control device 20 acquires the position of the first robot at the first time, and at a time different from the certain time, the first control device 10 acquires the position of the second robot at the first time. may be obtained.
  • FIG. 6 is a diagram showing an example of the configuration of the control device 100 of this embodiment.
  • the control device 100 of this embodiment includes a constraint condition calculation unit 101 and a control unit 102 .
  • Constraint condition calculation unit 101 calculates a constraint condition candidate indicating a condition within which the first robot can move, based on the constraint-related information and the current position information of the first robot and the second robot. Then, among the calculated candidates for the constraint, the constraint with the newest time is specified.
  • the constraint-related information is information that is generated using past position information of the first robot and the second robot, and is used to control the second robot.
  • the control unit 102 controls the position of the first robot so that it operates while satisfying the constraint specified by the constraint calculation unit 101 .
  • the constraint calculation unit 12 and the position information acquisition unit 14 of the first embodiment are examples of the constraint calculation unit 101 .
  • the constraint calculation unit 101 is one aspect of constraint calculation means.
  • the controller 13 of the first embodiment is an example of the controller 102 .
  • the control unit 102 is one aspect of control means.
  • FIG. 7 is a diagram showing an example of the operation flow of the control device 100.
  • Constraint condition calculation unit 101 calculates a constraint condition candidate indicating a condition within which the first robot can move, based on the constraint-related information and the current position information of the first robot and the second robot. (step S101).
  • the constraint-related information is information that is generated using past position information of the first robot and the second robot, and is used to control the second robot.
  • the constraint calculator 101 identifies a constraint with a newer time among the calculated constraint candidates (step S102).
  • the control unit 102 controls the position of the first robot so that it operates while satisfying the constraint specified by the constraint calculation unit 101 (step S103).
  • the control device 100 of this embodiment includes constraint-related information using information based on the positions of the first robot and the second robot at a past time, and current positions of the first robot and the second robot. , candidates for the constraint condition indicating the movement range of the first robot are calculated. Further, the control device 100 determines a constraint used for controlling the position of the first robot by specifying a constraint candidate with new time information among the calculated constraint candidates. In this way, while sharing information with the second robot via the constraint-related information, by using a condition with new time information, the control device 100 can share information with the other robot even when communication is intermittent. Constraint conditions can be appropriately updated based on the information that has been obtained, and control can be continued. As a result, the control device 100 of this embodiment can continue to control the positions of the robots even in an environment where inter-robot communication is intermittent.
  • FIG. 8 is an example of the configuration of a computer 200 that executes a computer program for performing each process in the first control device 10 and the second control device 20 of the first embodiment, and the control device 100 of the second embodiment. is shown.
  • the computer 200 includes a CPU 201 , a memory 202 , a storage device 203 , an input/output I/F (Interface) 204 and a communication I/F 205 .
  • the CPU 201 reads a computer program for each process from the storage device 203 and executes it.
  • the CPU 201 may be configured by a combination of a CPU and a GPU (Graphics Processing Unit).
  • the memory 202 is composed of a DRAM (Dynamic Random Access Memory) or the like, and temporarily stores computer programs executed by the CPU 201 and data being processed.
  • the storage device 203 stores computer programs executed by the CPU 201 .
  • the memory device 203 is configured by, for example, a nonvolatile semiconductor memory device. Other storage devices such as a hard disk drive may be used as the storage device 203 .
  • the input/output I/F 204 is an interface that receives input from the operator and outputs display data and the like.
  • a communication I/F 205 is an interface for transmitting and receiving data to and from other control devices.
  • the computer program used to execute each process can also be stored in a recording medium and distributed.
  • a recording medium for example, a magnetic tape for data recording or a magnetic disk such as a hard disk can be used.
  • an optical disc such as a CD-ROM (Compact Disc Read Only Memory) can be used.
  • a nonvolatile semiconductor memory device may be used as a recording medium.
  • control unit 10 first control device 11 communication unit 12 constraint calculation unit 13 control unit 14 position information acquisition unit 20 second control device 21 communication unit 22 constraint calculation unit 23 control unit 24 position information acquisition unit 100 control device 101 constraint Calculation unit 102 control unit 200 computer 201 CPU 202 memory 203 storage device 204 input/output I/F 205 Communication I/F

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Manipulator (AREA)

Abstract

ロボット間の通信が断続的に行われる環境でもロボットの位置の制御を継続できるようにするため、制御装置100を通信部101と、制約条件算出部102と、制御部103を備える構成とする。通信部101は、第2のロボットから、第2のロボットの現在位置、並びに過去の時刻における第1のロボットおよび第2のロボットの位置に基づいて、第2のロボットの制御に用いられている情報である制約関連情報を受信する。制約条件算出部102は、第2のロボットから受信した現在位置および制約関連情報を基に移動可能な範囲の条件を示す制約条件の候補を算出する。また、制約条件算出部102は、算出した制約条件の候補のうち時刻が新しい制約条件を特定する。制御部103は、制約条件算出部102が特定した制約条件を満たしているまま動作するように第1のロボットの位置を制御する。

Description

制御装置、制御システム、制御方法およびプログラム記録媒体
 本発明は、制御技術に関するものであり、特に、協調して動作するロボットにおける自律制御に関するものである。
 複数のロボットの動きを制御する際に、複数のロボットが協調して動く、マルチエージェントシステムが用いられることがある。マルチエージェントシステムのロボットは、自身のセンサが観測した情報と、近くに存在するロボットとのローカルな通信に基づいて、自身の行動を決定する。ロボットは、互いに通信することでロボット間の距離を適切な距離に保つことで動作する。そのような複数のロボット間で通信を行って位置を制御する技術としては、例えば、特許文献1のような技術が開示されている。
 特許文献1には、ロボット間の通信断絶を検知した際に、通信を復活させるようにロボットを移動させる方法が示されている。また、特許文献2には、人が所持している送信機と通信を行う受信機と、周囲の物体を検出するセンサを有する自律型ロボットが示されている。特許文献2のロボットは、センサで検出した物体との接触を避けるように動作する。また、特許文献3には、互いの位置を認識して動く複数の自律移動ロボットが示されている。
 非特許文献1には、マルチエージェントシステム全体での通信の強さを数値化し、通信の強さの値を一定以上に保つようにロボット間の距離に制限をかけることで、通信を維持する方法が示されている。また、非特許文献2には、安全性の維持するための自動制御技術が示されている。
特開2017-62768号公報 特表2019-502501号公報 特開2017-59217号公報
Da Cai, Sentang Wu, and Jia Deng, "Distributed Global Connectivity Maintenance and Control of Multi-Robot Networks", IEEE Access, Volume 5, 2017, pp.9398-9414 Aaron D. Ame, xiangru xu, Jessy W. Grizzle, Paulo and Tabuada, "Control Barrier Function Based Quadratic Programs for Safety Critical Systems", IEEE Transactions on Automatic Control, Volume 62, Issue 8, August, 2017, pp.3861-3876
 しかしながら、特許文献1の技術は次のような点で十分ではない。特許文献1の技術では、通信が断絶したときに通信が回復するようにロボットの位置を動かしているが、通常のロボットの動作を継続することが出来ない。また、特許文献2、特許文献3および非特許文献1の技術においては、通信ができないときに自動制御することはできない。非特許文献2にも、通信ができない状態のときに自動制御を行う技術は記載されていない。そのため、各先行技術文献記載の技術は、通信環境が悪いときなどにロボットの位置の制御を継続して行うことができない恐れがある。
 本発明は、上記の課題を解決するため、ロボット間の通信が断続的に行われる環境でもロボットの位置の制御を継続することができる制御装置等を提供することを目的としている。
 上記の課題を解決するため、本発明の制御装置は、制約条件算出部と、制御部を備えている。制約条件算出部は、制約関連情報と、第1のロボットおよび第2のロボットの現在の位置情報とを基に、第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出し、算出した制約条件の候補のうち時刻が新しい制約条件を特定する。制約関連情報は、第1のロボットおよび第2のロボットの過去の位置情報を用いて生成され、第2のロボットの制御に用いられている情報である。また、制約条件算出部は、算出した制約条件の候補のうち時刻が新しい制約条件を特定する。制御部は、制約条件算出部が特定した制約条件を満たしているまま動作するように第1のロボットの位置を制御する。
 本発明の制御方法は、制約条件算出部は、制約関連情報と、第1のロボットおよび第2のロボットの現在の位置情報とを基に、第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出し、算出した制約条件の候補のうち時刻が新しい制約条件を特定する。制約関連情報は、第1のロボットおよび第2のロボットの過去の位置情報を用いて生成され、第2のロボットの制御に用いられている情報である。。また、本発明の制御方法は、算出した制約条件の候補のうち時刻が新しい制約条件を特定する。本発明の制御方法は、制約条件算出部が特定した制約条件を満たしているまま動作するように第1のロボットの位置を制御する。
 本発明のプログラム記録媒体は、制御プログラムを記録している。制御プログラムは、制約条件算出部は、制約関連情報と、第1のロボットおよび第2のロボットの現在の位置情報とを基に、第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出し、算出した制約条件の候補のうち時刻が新しい制約条件を特定する。制約関連情報は、第1のロボットおよび第2のロボットの過去の位置情報を用いて生成され、第2のロボットの制御に用いられている情報である。処理をコンピュータに実行させる。また、制御プログラムは、算出した制約条件の候補のうち時刻が新しい制約条件を特定する処理をコンピュータに実行させる。制御プログラムは、制約条件算出部が特定した制約条件を満たしているまま動作するように第1のロボットの位置を制御する処理をコンピュータに実行させる。
 本発明によると、ロボット間の通信が断続的に行われる環境でもロボットの位置の制御を継続することができる。
本発明の第1の実施形態の構成の概要を示す図である。 本発明の第1の実施形態の第1の制御装置の構成の例を示す図である。 本発明の第1の実施形態の第1のロボットと第2のロボットの動作状態の例を模式的に示す図である。 本発明の第1の実施形態の第2の制御装置の構成の例を示す図である。 本発明の第1の実施形態の第1の制御装置および第2の制御装置の動作フローの例を示す図である。 本発明の第2の実施形態の構成の概要を示す図である。 本発明の第2の実施形態の制御装置の動作フローの例を示す図である。 本発明の実施形態の他の構成の例を示す図である。
 (第1の実施形態)
 本発明の第1の実施形態について図を参照して詳細に説明する。図1は、本実施形態の制御システムの構成を示す図である。本実施形態の制御システムは、第1の制御装置10と、第2の制御装置20を備えている。第1の制御装置10は、第1のロボットの制御装置として備えられ、第1のロボットの位置を制御する。第2の制御装置20は、第2のロボットの制御装置として備えられ、第2のロボットの位置を制御する。本実施形態の制御システムは、互いに協調して動作する第1のロボットと第2のロボットによって構成されるマルチエージェントシステムの制御システムである。ロボットの数は、3台以上であってもよい。3台以上の場合にも、各ロボットは、制御装置をそれぞれ備える。
 第1の制御装置10の構成について説明する。図2は、第1の制御装置10の構成の例を示す図である。第1の制御装置10は、通信部11と、制約条件算出部12と、制御部13と、位置情報取得部14を備えている。
 通信部11は、第2の制御装置20と無線通信を行う。通信部11は、第2の制御装置20との間で、ロボットの位置情報および制約関連情報を送受信する。制約関連情報については後で説明する。
 第1のロボットの時刻tにおける位置情報は、(xA(t),t)で表される。xA(t)は、時刻tにおける第1のロボットの位置を示す情報(たとえば、ベクトル)である。ロボットの位置をベクトルで示す際の原点および座標系は、制御システムがロボットの制御を行う場所において、あらかじめ設定されている。すなわち、位置情報は、時刻tにおけるロボットの位置を示す情報と、時刻tの情報が関連付けられた情報である。同様に、第2のロボットの時刻tにおける位置情報は、(xB(t),t)で表される。xB(t)は、時刻tにおける第2のロボットの位置を示す情報(たとえば、ベクトル)である。以降、説明の便宜上、位置を示す情報は、「ベクトル」を用いて表されているとする。
 図3は、第1のロボットと第2のロボットの動作状態の例を模式的に示す図である。図3は、時刻tにおいて、第1のロボットが位置xA(t)に存在し、第2のロボットが位置xB(t)に存在していることを示している。図3の第1のロボットと第2のロボットは、互いに通信を行っているが、通信環境が悪いときには確率的に通信を行っている状態となる。すなわち、通信環境が悪いときに、第1のロボットの第1の制御装置10と、第2のロボットの第2の制御装置20の間の通信は断続的に行われる。確率的および断続的な通信とは、データの送受信が常時、交互または同時に行われるとは限らず、例えば、通信環境の悪化で通信ができない場合に、あるロボットから別のロボットへのデータ送信のみが2回以上連続で行われることがある通信のことをいう。
 制約関連情報は、制御部13がロボットの位置を制御する際に用いる制約条件を制約条件算出部12が算出する際に用いられる。制約条件を球体(または、円)によって表す場合に、制約関連情報は、たとえば、制約の中心点を示す位置ベクトルと、制約が設定された時刻とを含む情報である。言い換えると、制約関連情報は、たとえば、ある時刻にて設定される制約に基づきロボットが動作可能な領域を表す情報、または、ある時刻にて設定される制約に基づきロボットの位置を限定する範囲を表す情報等である。制約条件は、必ずしも、球体で表されている必要はなく、直方体等の多面体や、曲線等を用いて表されていてもよい。説明の便宜上、以降では、制約関連情報は、球(または、円)によって表されているとする。
 制約関連情報は、例えば、第1の制約関連情報と、第2の制約関連情報のように2つの情報として送受信される。このとき、第1の制約関連情報が、たとえば、制約の中心点がc1であり、時刻t’に設定されたとすると、第1の制約関連情報は、(c1, t’)で表される。また、第2の制約関連情報が、たとえば、制約の中心点がc2であり、時刻t''に設定されたとすると、第2の制約関連情報は、(c2, t’’)で表される。時刻t’と時刻t’’は、同一であってもよい。
 制約条件算出部12は、通信部11を介して送受信する位置情報および制約関連情報を用いて制約条件の候補を算出し、第1のロボットの位置の制御に用いる制約条件を、時刻情報を用いて特定する。制約条件算出部12は、協調して動作しているロボット(たとえば、第2のロボット)と第1のロボットとの間の距離が距離R以下になるように制約条件を設定する。距離Rの値は、例えば、複数のロボット間において通信可能な距離およびロボットの用途に適したロボット間の距離に基づいてあらかじめ設定されている。
 制約条件算出部12が算出する制約条件の候補の算出方法の例について説明する。第1のロボットの第1の制御装置10は、時刻t’’’において、第2のロボットから第1の制約関連情報として(c1, t’)、第2の制約関連情報として(c2, t’’)、および第2のロボットの位置情報(xB(t’’’) , t’’’)を取得したとする。
 制約条件算出部12は、第1の制約関連情報を用いた時刻tにおける第1の制約条件の候補を以下の式1のように算出する。
第1の制約条件の候補:
[式1]
Figure JPOXMLDOC01-appb-I000001
このとき、制約の中心点であるc_1は、例えば、以下の式2のように示される。
[式2]
Figure JPOXMLDOC01-appb-I000002
 ||  ||は、ノルムを示している。ただし、制約条件の式は、2-ノルムを用いて示されていなくともよく、様々なノルムを用いることができる。制約関連情報において、c_1を制約の中心点の座標というのは、制御部13が式1の制約条件の候補に従って第1のロボットの位置の制御を行ったとすると、第1のロボットが動くことができる範囲は、式2に示されるようにc_1を中心点とする球または円の範囲内となるからである。
 制約条件算出部12は、第2の制約関連情報を用いた時刻tにおける第1の制約条件および第2の制約条件の候補を以下の式3のように算出する。
第1の制約条件および第2の制約条件の候補:
[式3]
Figure JPOXMLDOC01-appb-I000003
このとき、制約の中心点であるc_1は、例えば、以下の式4のように示される。
[式4]
Figure JPOXMLDOC01-appb-I000004
制御部13が式2の制約条件の候補に従って第1のロボットの位置の制御を行ったとすると、第1のロボットが動くことができる範囲は、式4に示されるようにc2を中心点とする球または円の範囲内となる。
 また、時刻t’’’における位置情報を基に、制約条件算出部12は、第2の制約条件の候補を以下の式5のように算出する。
第2の制約条件の候補:
[式5]
Figure JPOXMLDOC01-appb-I000005
制約の中心であるcは、時刻t’’’における第1のロボットの位置がxA(t’’’)であったとすると、以下の式6のように示される。
[式6]
Figure JPOXMLDOC01-appb-I000006
制約条件算出部12は、制約条件の候補のうち現在のロボットの位置が各式に示される条件を満たす候補の中からどの候補を採用するかを、時刻情報を用いて決定する。
 制約関連情報および制約条件に用いられているc1、c2、およびc3は、第1のロボットと第2のロボットのある時刻における位置情報に基づいたものであれば中心に設定されていなくてもよい。c1、c2、およびc3は、例えば、基準点と、第1のロボットおよび第2のロボットが作る三角形の内心または重心として設定されていてもよい。c1、c2、およびc3が第1のロボットと第2のロボットの中心点として設定される場合には、Rの値は、第1のロボットと第2のロボットの間で通信可能な最大の距離を考慮して設定される。c1、c2、およびc3が第1のロボットと第2のロボットの中心点として設定される場合には、第1のロボットおよび第2のロボットは、互いの距離がR以下となる範囲を自由に動ける
 制約条件算出部12は、制約条件の候補の中で、現在のロボットの位置が制約条件を満たさないものを除外する。制約条件算出部12は、残った制約条件の候補の中で、もっとも新しい時刻のものを新たな制約条件として設定する。また、制約条件算出部12は、現在、制御部13が第1のロボットの制御に用いている制約条件よりも時刻が古い候補を候補から除外する。
 制約条件算出部12は、式1および式2で示される候補と、式3および式4で示される候補のうち時刻情報が新しい方を新たな第1の制約条件として決定する。時刻情報が新しいとは、もう一方の時刻よりも時刻が後のことをいう。また、制約条件算出部12は、式3および式4で示される候補と、式5および式6で示される候補のうち時刻情報が新しい方を新たな第2の制約条件として決定する。制約条件算出部12は、制約条件の候補が存在しない場合には、制約条件を更新しない。
 制御部13は、制約条件算出部12が算出した制約条件に基づいてロボットの制御を行う。制御部13は、例えば、制御バリア関数を用いて第1の制約条件および第2の制約条件を満たすように第1のロボットの位置を制御する。制御バリア関数を用いて位置を制御する方法は、例えば、非特許文献2に記載されている。
 位置情報取得部14は、第1のロボットの位置を特定する。位置情報取得部14は、例えば、GNSS(Global Navigation Satellite System)から得る情報を用いて第1のロボットの位置を特定する。位置情報取得部14は、GNSS以外の方法で第1のロボットの位置を特定してもよい。例えば、位置情報取得部14は、第1のロボットが稼働している場所に設置されている複数の基準点からの距離を用いて第1のロボットの位置を特定してもよい。また、位置情報取得部14は、第1のロボットが稼働している場所の監視システムがカメラまたはセンサを用いて検出した第1のロボットの位置の情報を監視システムから取得してもよい。
 第1の制御装置10の通信部11、制約条件算出部12、制御部13および位置情報取得部14は、単数または複数の半導体装置を用いて構成されている。半導体装置には、例えば、FPGA(Field Programmable Gate Array)を用いることができる。通信部11、制約条件算出部12、制御部13および位置情報取得部14における各処理は、CPU(Central Processing Unit)上でコンピュータプログラムを実行することで行われてもよい。
 第2の制御装置20の構成について説明する。図4は、第2の制御装置20の構成の例を示す図である。第2の制御装置20は、通信部21と、制約条件算出部22と、制御部23と、位置情報取得部24を備えている。通信部21、制約条件算出部22、制御部23および位置情報取得部24の構成と機能は、第1の制御装置10の同名称の部位とそれぞれ同様である。すなわち、第2の制御装置20は、第1のロボットから取得した第1のロボットの位置情報および制約関連情報と、第2のロボットの位置情報を用いて第2のロボットの制約条件の候補を算出する。第2の制御装置は、時刻情報を用いて第2のロボットの位置を制御する制約条件を決定し、決定した制約条件を満たすように第2のロボットの位置を制御する。
 本実施形態の制御システムの動作について説明する。図5は、第1の制御装置10の動作フローの例を示す図である。以下の説明は、2台のロボットが互いに距離をR以下になるように制御する場合を例に行う。また、以下では、第1のロボットの第1の制御装置10が、第2のロボットから第2のロボットの位置情報と制約関連情報を受け取り、第1のロボットの位置を制御する際に用いる制約条件を更新する場合を例に説明する。
 図5において、第1の制御装置10の通信部11は、協調して動く第2のロボットから、第2のロボットの位置情報と制約関連情報を取得する(ステップS11)。通信部11は、例えば、第1の制約関連情報(c_1, t’)、第2の制約関連情報(c, t’’)および時刻t’’’における第2のロボットの位置xB(t’’’)の情報を受け取る。
 第2のロボットから制約関連情報および位置情報が取得されると、制約条件算出部12は、制約条件の候補を算出する(ステップS12)。制約条件算出部12は、例えば、第1の制約関連情報から式1および式2で示される第1の制約条件の候補を算出し、第2の制約関連情報から式3および式4で示される第1の制約条件の候補を算出する。また、制約条件算出部12は、第2の制約関連情報から式に3および式4で示される第2の制約条件の候補を算出する。さらに、制約条件算出部12は、第2のロボットの位置xB(t’’’)と、時刻t’’’における第1のロボットの位置xA(t’’’)を基に、式5および式6で示される第2の制約条件の候補を算出する。制約条件算出部12は、時刻t’’’における第1のロボットの位置xA(t’’’)を位置情報取得部14から取得する。位置情報取得部14は、第1のロボットの位置の情報を第1のロボットの位置を特定した時刻と関連付けて保持している。第1のロボットの位置xA(t’’’)は、第2のロボットの位置xB(t’’’)の情報が取得された時刻における第1のロボットの位置の情報であってもよい。
 制約条件の候補を算出すると、制約条件算出部12は、現在の状態、すなわち、第1のロボットの現在の位置が制約条件の各候補を満たすかを判定する。現在の状態によって満たされる制約条件の候補があるとき(ステップS13でYes)、制約条件算出部12は、制約条件の候補の時刻を比較し、時刻が新しい制約条件の候補を新たな制約条件として決定する(ステップS14)。制約条件算出部12は、例えば、現在の状態が式1および式2で示される候補と、式3および式4で示される候補の両方を満たすとき、2つの候補の時刻を比較し、時刻が新しい方を第1の制約条件として決定する。また、制約条件算出部12は、例えば、現在の状態が式3および式4で示される候補と、式5および式6で示される候補の両方を満たすとき、2つの候補の時刻を比較し、時刻が新しい方を第2の制約条件として決定する。
 第1の制約条件および第2の制約条件が決定されると、制御部13は、制御に用いる制約条件を、制約条件算出部12が決定した第1の制約条件および第2の制約条件に更新する。制約条件を更新すると、制御部13は、更新した制約条件を満たすように第1のロボットの位置を制御する(ステップS15)。
 ステップS13において、現在の状態を満たす制約条件の候補が無いとき(ステップS13でNo)、制御部13は、設定済みの制約条件を用いて第1のロボットの位置を制御する(ステップS15)。すなわち、現在の状態を満たす制約条件の候補が無いとき、制約条件の更新は行われない。
 ステップS15において、制御部13が第1のロボットの位置の制御を行っている際に制御部13は、第1のロボットの動作の終了条件を満たす情報の入力が行われているかを確認する。終了条件は、例えば、ロボットの動作を停止する命令、またはロボットの動作の目的が完了したことを示す情報が第1の制御装置10に入力されたときに条件を満たすように設定される。
 第1のロボットが動作を継続していて終了条件を満たさないとき(ステップS16でNo)、第1の制御装置10は、ステップS11からの動作を繰り返す。ステップS16において終了条件を満たすとき(ステップS16でYes)、第1の制御装置10は、制約条件の更新および第1のロボットの位置の制御の動作を完了する。
 本実施形態の制御システムの動作について、より具体的な例を用いて説明する。制御システムが各ロボットの位置の制御の動作を開始すると、第1の制御装置10および第2の制御装置20は、それぞれの位置情報を互いに送受信する。このとき、時刻tにおいて、第1のロボットの位置は、xA(t)、第2のロボットの位置は、x(t)であったとする。
 第1の制御装置10の通信部11は、第1のロボットの位置情報を受け取ると、第1の制御装置10の制約条件算出部12は、制約条件を算出する。
 第1のロボットの第1の制御装置10の制約条件算出部12は、以下の式7および式8で示される第1の制約条件と式9および式10で示される第2の制約条件を算出する。
第1の制約条件:
[式7]
Figure JPOXMLDOC01-appb-I000007
[式8]
Figure JPOXMLDOC01-appb-I000008
第2の制約条件:
[式9]
Figure JPOXMLDOC01-appb-I000009
[式10]
Figure JPOXMLDOC01-appb-I000010
動作開始直後の時刻tでは、式7および式8と、式9および式10とに示すように、第1のロボットの第1の制約条件と第2の制約条件は、互いに同一となる。
 第2のロボットの第2の制御装置20の制約条件算出部22も同様に以下の式11および式12で示される第1の制約条件と式13および式14で示される第2の制約条件を算出する。
第1の制約条件:
[式11]
Figure JPOXMLDOC01-appb-I000011
[式12]
Figure JPOXMLDOC01-appb-I000012
第2の制約条件:
[式13]
Figure JPOXMLDOC01-appb-I000013
[式14]
Figure JPOXMLDOC01-appb-I000014
動作開始直後の時刻tでは、式11および式12と、式13および式14とに示すように、第2のロボットの第1の制約条件と第2の制約条件も、互いに同一となる。
 制約条件が算出されると、第1の制御装置10の制御部13は、算出した制約条件を満たすように第1のロボットの位置の制御を開始する。また、第2の制御装置20の制御部23も同様に制約条件を満たすように第2のロボットの位置の制御を開始する。
 時刻tよりも後の時刻tにおいて、第1のロボットの第1の制御装置10が第2のロボットに、時刻tにおける第1のロボットの位置情報、第1の制約関連情報および第2の制約関連情報を送信したとする。このとき送信される第1の制約関連情報は、第1の制御装置10において第1の制約条件に用いられている、第1のロボットと第2のロボットの中心点の情報に対応している。また、第2の制約関連情報は、第1の制御装置10において第2の制約条件に用いられている、第1のロボットと第2のロボットの中心点の情報に対応している。すなわち、このとき、第1の制御装置10が送信する第1の制約関連情報および第2の制約関連情報は、時刻t0の情報となる。
 第1のロボットの位置情報および制約関連情報を受け取ると、第2の制御装置20の制約条件算出部22は、制約条件を算出する。このとき、第1のロボットから受信する第1の制約関連情報は、時刻t0におけるものであり、式8で示される制約の中心点の情報を含む。制約条件算出部22が第1の制約関連情報を用いて算出する第1の制約条件の候補は、以下の式15のようになる。
[式15]
Figure JPOXMLDOC01-appb-I000015
 また、制約条件算出部22は、式10で示される制約の中心点の情報を含む第2の制約関連情報を基に以下の式16の第1の制約条件の候補と第2の制約条件の候補を算出する。
[式16]
Figure JPOXMLDOC01-appb-I000016
 第2の制約関連情報を基にした第1の制約条件および第2の制約条件の候補を算出すると、制約条件算出部22は、時刻tにおける位置情報を用いて以下の式17および式18で示される第2の制約条件の候補を算出する。
[式17]
Figure JPOXMLDOC01-appb-I000017
[式18]
Figure JPOXMLDOC01-appb-I000018
このとき、制約条件算出部22は、時刻tにおける第2のロボットの位置が式を満たさない制約条件の候補を候補から除外する。
 時刻tにおける第2のロボットの位置が式15、式16および式17のすべてを満たすとすると、制約条件算出部22は、第1の制約条件を決定する際に、式15と式16を比較するが同一の時刻の情報を用いて算出されている式のため、例えば、式15を第1の制約条件として決定する。また、制約条件算出部22は、第2の制約条件を決定する際に、式16と式17の時刻を比較する。このとき、時刻tよりも時刻tの方が新しいため、制約条件算出部22は、時刻tの式17を第2の制約条件として決定する。
 以上のような処理の結果、時刻tのときに第2の制御装置20が保持している制約条件は、以下の式19および式20で示される第1の制約条件と、式21および式22で示される第2の制約条件のようになる。
第1の制約条件:
[式19]
Figure JPOXMLDOC01-appb-I000019
[式20]
Figure JPOXMLDOC01-appb-I000020
第2の制約条件:
[式21]
Figure JPOXMLDOC01-appb-I000021
[式22]
Figure JPOXMLDOC01-appb-I000022
制約条件が決定されると、制御部23は、決定された式19および式20で示される第1の制約条件と、式21および式22で示される第2の制約条件とを満たすように第2のロボットの位置を制御する。
 次に、時刻t1より後の時刻tに第1のロボットの第1の制御装置10が第2のロボットに制約関連情報を送信したとする。このとき、第1の制御装置10が送信する情報は、時刻tの第1の制約関連情報および第2の制約関連情報であるため、制約条件算出部22は、同じ時刻の情報を用いて算出されている式19および式20で示される第1の制約条件を更新しない。
 制約条件算出部22は、第2の制約関連情報に基づいて第2の制約条件の候補を以下の式23および式24のように算出する。
[式23]
Figure JPOXMLDOC01-appb-I000023
[式24]
Figure JPOXMLDOC01-appb-I000024
しかし、式23および式24で示される候補は、現在の制約条件よりも前の時刻の情報が用いられているため、制約条件算出部22は、式23および式24を候補から除外する。また、制約条件算出部22は、時刻tにおける位置情報を用いて、第2の制約条件の候補を以下の式25および式26のように算出する。
[式25]
Figure JPOXMLDOC01-appb-I000025
[式26]
Figure JPOXMLDOC01-appb-I000026
式25および式26で示される第2の制約条件の候補を算出すると、候補が1つであるため、制約条件算出部22は、式25および式26を第2の制約条件として決定する。
 以上のような処理の結果、時刻tのときに第2の制御装置20が保持している制約条件は、以下の式27および式28で示される第1の制約条件と、式29および式30で示される第2の制約条件のようになる。
第1の制約条件:
[式27]
Figure JPOXMLDOC01-appb-I000027
[式28]
Figure JPOXMLDOC01-appb-I000028
第2の制約条件:
[式29]
Figure JPOXMLDOC01-appb-I000029
[式30]
Figure JPOXMLDOC01-appb-I000030
 さらによりも時刻tよりも後の時刻tに、第2のロボットの第2の制御装置20が制約関連情報を第1のロボットに送信したとする。このとき、送信されるのは、時刻tにおける位置情報、時刻t0の情報を用いて設定されている式28で示される制約の中心の情報を含む第1の制約関連情報、時刻t2の情報を用いて設定されている式309で示される制約の中心の情報を含む第2の制約関連情報である。
 制約関連情報を受け取ると、第1のロボットの第1の制御装置10の制約条件算出部12は、第1の制約条件の候補を算出する。制約条件算出部12は、時刻tの第1の制約関連情報を用いて算出した以下の式31および式32で示される第1の制約条件の候補を算出する。
[式31]
Figure JPOXMLDOC01-appb-I000031
[式32]
Figure JPOXMLDOC01-appb-I000032
また、制約条件算出部12は、時刻t2の第2の制約関連情報を用いて第1の制約条件の候補と第2の制約条件の候補として以下の式33および式34を算出する。
[式33]
Figure JPOXMLDOC01-appb-I000033
[式34]
Figure JPOXMLDOC01-appb-I000034
さらに、制約条件算出部12は、時刻tにおける位置情報を用いて第2の制約条件の候補として式35および式36を算出する。
[式35]
Figure JPOXMLDOC01-appb-I000035
[式36]
Figure JPOXMLDOC01-appb-I000036
このとき、第1のロボットの位置が式31および式32と、式33および式34を満たしたとすると、制約条件算出部12は、時刻情報が新しい式33および式34を第1の制約条件として決定する。また、制約条件算出部12は、式33および式34と、式35および式36とを比較し、時刻tの方が新しいため、時刻tにおける式35および式36を第2の制約条件として決定する。
 時刻tにおいて制約条件を更新した後の第1のロボットの第1の制約条件は下記の式37および式38で示す通りとなる。また、時刻tにおいて制約条件を更新した後の第1のロボットの第2の制約条件は、下記の式39および式40で示す通りとなる。
第1の制約条件:
[式37]
Figure JPOXMLDOC01-appb-I000037
[式38]
Figure JPOXMLDOC01-appb-I000038
第2の制約条件:
[式39]
Figure JPOXMLDOC01-appb-I000039
[式40]
Figure JPOXMLDOC01-appb-I000040
制御部13は、式37および式38で示される第1の制約条件と、式39および式40で示される第2の制約条件とを満たすように第1のロボットの位置を制御する。
 時刻t3よりも後の時刻tにおいて、第1のロボットの第1の制御装置10が第2のロボットに位置情報および制約関連情報を送信したとする。位置情報および制約関連情報を受け取ると、第2のロボットの第2の制御装置20の制約条件算出部22は、第1の制約関連情報と第2の制約関連情報から第1の制約条件の候補を算出する。第1のロボットから第2のロボットに送られる第1の制約関連情報は、時刻t2における情報であるため、制約条件算出部22は、新たな第1の制約条件の候補として以下の式41および式42を算出する。
[式41]
Figure JPOXMLDOC01-appb-I000041
[式42]
Figure JPOXMLDOC01-appb-I000042
第1ロボットから第2のロボットに送られる第2の制約関連情報は、時刻tにおける情報であり、制約条件算出部22は、新たな第1の制約条件および第2の制約条件の候補として以下の式43および式44を算出する。
[式43]
Figure JPOXMLDOC01-appb-I000043
[式44]
Figure JPOXMLDOC01-appb-I000044
制約条件算出部22は、時刻t4の位置情報を用いて第2の制約条件の候補として以下の式45および式46を算出する。
[式45]
Figure JPOXMLDOC01-appb-I000045
[式46]
Figure JPOXMLDOC01-appb-I000046
第2のロボットの位置が式41および式42で示される候補と、式43および式44で示される候補と、式45および式46で示される候補のすべての候補の条件を満たしたとすると、制約条件算出部22は、時刻情報が新しい式を制約条件として決定する。第2のロボットの位置が全ての式を満たすとき、制約条件算出部22は、時刻情報を用いて第1の制約条件として式43および式44、第2の制約条件として式45および式46を決定する。新たな制約条件が決定されると、制御部23は、第2のロボットの制御に用いる制約条件を、制約条件算出部22で決定された制約条件の情報で更新し、更新した制約条件を満たすように第2のロボットの位置を制御する。
 上記のような動作を繰り返すとことで、制約条件の更新が行われ、更新された制約条件を基に、各制御装置の制御部は、ロボットを制御する。上記の説明では、例えば、時刻t1および時刻t2において、第2のロボットだけが第1のロボットからの情報の受信を続けている。しかし、第1のロボットと第2のロボットの制御部は、更新後において共通する制約条件を有している。このように、制約条件の更新規則から、実際の通信が確率的になりどのような順序で行われても共通の制約条件によって制御が行われる。
 ある時刻において第1のロボットの第1の制御装置10および第2のロボットの第2の制御装置20は、以下の式47および式48に示すような共通した制約条件を保持している。
第1の装置の制約条件:
[式47]
Figure JPOXMLDOC01-appb-I000047
第2の装置の制約条件:
[式48]
Figure JPOXMLDOC01-appb-I000048
 第1のロボットおよび第2のロボット、式47および式48に示されるように、中心点をcとして、半径R/2の共通の球(または円)の中に存在する。よって、第1のロボットと第2のロボットの間の距離は、必ずR以下になる。
 上記の説明では、第1のロボットと第2のロボットの距離がR以下になるように制御されているが、第1のロボットと第2のロボットの距離の最小値がさらに設定されてもよい。最小値が設定される場合には、例えば、上記の制約条件の式において不等号の向きを逆に設定した式においてRに代えて最小値Rminを用いることで制約条件を設定することができる。また、第1のロボットと第2のロボットの通信可能な距離に制約が無い場合には、第1のロボットと第2のロボットの距離の最小値のみが制約条件として設定されていてもよい。
 また、制約関連情報において、第1のロボットおよび第2のロボットが移動可能な範囲が設定されていてもよい。第1のロボットおよび第2のロボットの移動可能な範囲は、例えば、移動可能な範囲を示す多角形の頂点の座標としてされる。時刻tにおける移動可能な範囲を示すn個の頂点の多角形の情報は、例えば、([P,P,・・・,P],t)として示される。例えば、多角形が四角形の場合に、P=(0,2)、P=(1,2)、P=(1,0)、P=(0,0)であるとすると、各ロボットは、x軸方向に長さ1の、y軸方向に長さ2の長方形内を移動可能になる。また、第1のロボットおよび第2のロボットの制御装置は、時刻tにおいて、相手のロボットが移動可能な範囲または移動禁止の範囲を設定して制約関連情報として相手側のロボットに送信してもよい。そのような構成とすることで、例えば、制御装置が制御を行っているロボットと相手側のロボットの動作する範囲を互に重ならないようにすることができる。
 上記の説明は、2台のロボットがそれぞれ制約条件の算出を行う構成を例に行っているが、2台のロボットのうち、片方の1台のロボット(リーダーロボット)が2台分の制約条件を決定してもよい。そのような構成とした場合、もう一方のロボットは、制約条件を決定したロボットから制約条件を取得して位置の制御を行う。
 本実施形態の制御システムは、3台以上のロボットの制御の用いることもできる。例えば、制御システムを、4台のロボットで、1台のリーダーロボットに3台のフォロワーロボットが追随するというような構成にしてもよい。そのような構成とした場合、リーダーロボットと各フォロワーロボットの2台×3セットについて、それぞれ制約条件が設定される。すなわち、リーダーロボットは、合計6個の制約条件を有し、フォロワーロボットは、2個の制約条件を有する。
 上記の説明において制約条件は、ロボットの位置x(t)を用いて算出されているが、x(t)は位置情報のみに限定されない。例えば、制約条件は、位置情報に加えて、ロボットの向きおよび速度を含む情報によって設定されていてもよい。また、上記の説明では、制約条件の算出においてノルムの2乗||  ||を用いているが、他の関数を用いて制約条件の設定が行われてもよい。
 海中などの視界が悪く通信が不安定な状況では、ロボット間の距離が離れると、センサで相手のロボットの位置を観測することは困難になる、そのような環境において、通信は断続的になり確率的にしか成功しない。相手のロボットの位置を直接、検出することができない場合において、ロボットは互いの位置情報を通信で送受信することで相手のロボットの位置情報を取得する。しかし、通信が確率的にしか成功しない状況では、常に互いの位置を把握することはできない。そのため、通信が継続していることを前提にした制御システムでは、各ロボットは位置の安定した制御を継続することが出来ない恐れがある。
 一方で、本実施形態の制御システムにおいて第1のロボットに搭載されている第1の制御装置10は、過去の時刻における第1のロボットおよび第2のロボットの位置を用いて生成されている情報であり、第2のロボットの制御に用いられている制約関連情報と、第2のロボットの位置情報を取得している。第1の制御装置10は、制約関連情報と、第2のロボットの現在位置の情報を用いて、第1のロボットの移動範囲を示す制約条件の候補を複数、算出し、制約条件の候補のうち時刻情報が新しい制約条件を第1のロボットの位置の制御に用いる制約条件として特定している。このように、制約関連情報を介して第2のロボットと情報を共有しつつ、時刻情報が新しい条件を用いることで、通信環境の悪化で通信が断続的になり、双方向の通信が確率的にしか行えない状態でも、制約条件の更新および第1のロボットの位置の制御を継続することができる。第2のロボットに搭載されている第2の制御装置も同様である。その結果、本実施形態の制御システムは、ロボット間の通信が断続的に行われる環境でもロボットの位置の制御を継続することができる。
 言い換えると、第1のロボットにおける制約条件算出部12は、第1時刻における第1のロボットの位置と、第1時刻における第2のロボットの位置とを用いて決定される、動作範囲を測定する基準位置(たとえば、(c1, t’)、(c2, t’’)等、すなわち、第1時刻置における基準位置)の履歴と、第1時刻以降の第2時刻における第2のロボットの位置とを用いて、第2時刻以降における第1のロボットと第2のロボットとの間の位置関係が所定の範囲(例えば、球)内になるよう、第1のロボットが動作可能な領域を規定する制約条件を表す情報を作成する。
 言い換えると、制約条件算出部12は、第1時刻において第1のロボットおよび第2のロボットの動作範囲を表す制約情報における基準位置を表す基準情報と、第1時刻以降の第2時刻における第1のロボットの位置を表す位置情報と、第2時刻における第2のロボットの位置を表す位置情報とを用いて、第2時刻以降における第1のロボットと第2のロボットとの位置関係が所定の範囲となるよう、第1のロボットの動作範囲を表す制約情報における基準位置を算出するともいうことができる。
 そして、制御部13は、算出した基準位置によって定まる制約情報(たとえば、球内、多面体内、多角形内、円外等)を満たしているまま動作するよう、第1のロボットの位置を制御する。言い換えると、制御部13は、算出した基準位置によって定まる制約情報に従い、第2時刻以降における第1のロボットの動作を制御するともいうことができる。
 そして、第1のロボットにおける制約条件算出部12は、ある時間が経過した後に、該制約条件を表す情報を、上述した処理と同様な処理を行うことによって更新してもよい。第2のロボットにおける第2の制御装置20も、第1のロボットにおける第1の制御装置10と同様な処理を実行する。
 図5における処理を言い換えると、制約条件算出部12は、第1のロボットと第2のロボットとが動作可能な領域を規定する制約条件を表す、第1時刻における制約情報と、第1時刻以降の第2時刻における制約情報との中から、第2時刻以降の第3時刻における第1のロボットの位置が制約条件を満たしている制約情報を選択する処理を実行しているともいうことができる。そして、制御部13は、選択した制約情報に従い、第3時刻以降の第1のロボットの動作を制御する。
 尚、通信が行われる時刻と、位置情報を取得する時刻とは、必ずしも、同じである必要はない。また、第1の制御装置10と、第2の制御装置20とは、必ずしも、ある時刻に、相互の位置情報を交換する必要はない。たとえば、ある時刻に第2の制御装置20が第1時刻における第1のロボットの位置を取得し、ある時刻とは異なる時刻に第1の制御装置10が第1時刻における第2のロボットの位置を取得してもよい。
 (第2の実施形態)
 本発明の第2の実施形態について図を参照して詳細に説明する。図6は、本実施形態の制御装置100の構成の例を示す図である。
 本実施形態の制御装置100は、制約条件算出部101と、制御部102を備えている。制約条件算出部101は、制約関連情報と、第1のロボットおよび第2のロボットの現在の位置情報とを基に、第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出し、算出した制約条件の候補のうち時刻が新しい制約条件を特定する。制約関連情報は、第1のロボットおよび第2のロボットの過去の位置情報を用いて生成され、第2のロボットの制御に用いられている情報である。制御部102は、制約条件算出部101が特定した制約条件を満たしているまま動作するように第1のロボットの位置を制御する。
 第1の実施形態の制約条件算出部12および位置情報取得部14は、制約条件算出部101の一例である。制約条件算出部101は、制約条件算出手段の一態様である。第1の実施形態の制御部13は、制御部102の一例である。制御部102は、制御手段の一態様である。
 制御装置100の動作について説明する。図7は、制御装置100の動作フローの例を示す図である。制約条件算出部101は、制約関連情報と、第1のロボットおよび第2のロボットの現在の位置情報とを基に、第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出する(ステップS101)。制約関連情報は、第1のロボットおよび第2のロボットの過去の位置情報を用いて生成され、第2のロボットの制御に用いられている情報である。制約条件の候補を算出すると、制約条件算出部101は、算出した制約条件の候補のうち時刻が新しい制約条件を特定する(ステップS102)。新しい制約条件が特定されると、制御部102は、制約条件算出部101が特定した制約条件を満たしているまま動作するように第1のロボットの位置を制御する(ステップS103)。
 本実施形態の制御装置100は、過去の時刻における第1のロボットおよび第2のロボットの位置に基づいた情報が用いられている制約関連情報と、第1のロボットと第2のロボットの現在位置を基に、第1のロボットの移動範囲を示す制約条件の候補を算出している。また、制御装置100は、算出した制約条件の候補のうち時刻情報が新しい制約条件の候補を特定することで第1のロボットの位置の制御に用いる制約条件を決定している。このように、制約関連情報を介して第2のロボットと情報を共有しつつ、時刻情報が新しい条件を用いることで、制御装置100は、通信が断続的に行われる場合においても、相手と共有している情報を基に適切に制約条件を更新して制御を継続することができる。その結果、本実施形態の制御装置100は、ロボット間の通信が断続的に行われる環境でもロボットの位置の制御を継続することができる。
 第1の実施形態の第1の制御装置10および第2の制御装置20、並びに第2の実施形態の制御装置100における各処理は、コンピュータプログラムをコンピュータで実行することによって行うことができる。図8は、第1の実施形態の第1の制御装置10および第2の制御装置20、並びに第2の実施形態の制御装置100における各処理を行うコンピュータプログラムを実行するコンピュータ200の構成の例を示したものである。コンピュータ200は、CPU201と、メモリ202と、記憶装置203と、入出力I/F(Interface)204と、通信I/F205を備えている。
 CPU201は、記憶装置203から各処理を行うコンピュータプログラムを読み出して実行する。CPU201は、CPUとGPU(Graphics Processing Unit)の組み合わせによって構成されていてもよい。メモリ202は、DRAM(Dynamic Random Access Memory)等によって構成され、CPU201が実行するコンピュータプログラムや処理中のデータが一時記憶される。記憶装置203は、CPU201が実行するコンピュータプログラムを記憶している。記憶装置203は、例えば、不揮発性の半導体記憶装置によって構成されている。記憶装置203には、ハードディスクドライブ等の他の記憶装置が用いられてもよい。入出力I/F204は、作業者からの入力の受付および表示データ等の出力を行うインタフェースである。通信I/F205は、他の制御装置との間でデータの送受信を行うインタフェースである。
 各処理の実行に用いられるコンピュータプログラムは、記録媒体に格納して頒布することもできる。記録媒体としては、例えば、データ記録用磁気テープや、ハードディスクなどの磁気ディスクを用いることができる。また、記録媒体としては、CD-ROM(Compact Disc Read Only Memory)等の光ディスクを用いることもできる。不揮発性の半導体記憶装置を記録媒体として用いてもよい。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 10  第1の制御装置
 11  通信部
 12  制約条件算出部
 13  制御部
 14  位置情報取得部
 20  第2の制御装置
 21  通信部
 22  制約条件算出部
 23  制御部
 24  位置情報取得部
 100  制御装置
 101  制約条件算出部
 102  制御部
 200  コンピュータ
 201  CPU
 202  メモリ
 203  記憶装置
 204  入出力I/F
 205  通信I/F

Claims (10)

  1.  第1のロボットおよび第2のロボットの過去の位置情報を用いて生成され、前記第2のロボットの制御に用いられている情報である制約関連情報と、前記第1のロボットおよび前記第2のロボットの現在の位置情報とを基に、前記第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出し、算出した前記制約条件の候補のうち時刻が新しい制約条件を特定する制約条件算出手段と、
     前記制約条件算出手段が特定した前記制約条件を満しているまま動作するように前記第1のロボットの位置を制御する制御手段と
     を備える制御装置。
  2.  前記第2のロボットから、前記第2のロボットの現在位置、並びに過去の時刻における前記第1のロボットおよび前記第2のロボットの位置に基づいた情報である制約関連情報を受信し、前記第2のロボットに、前記第1のロボットの現在位置、並びに過去の時刻における前記第1のロボットおよび前記第2のロボットの位置に基づいた情報である制約関連情報を送信する通信手段をさらに備える請求項1に記載の制御装置。
  3.  前記制約条件算出手段は、過去の複数の時刻における前記第1のロボットと前記第2のロボットの位置座標を用いて生成された複数の前記制約関連情報を基に複数の制約条件を算出し、前記位置座標が取得された時刻を基に前記第1のロボットの位置の制御に用いる前記制約条件を決定する請求項1または2に記載の制御装置。
  4.  前記制約条件算出手段は、第1時刻における第1の制約関連情報と第2時刻における第2の制約関連情報を基に第1の制約条件の候補をそれぞれ算出し、前記第2の制約関連情報と、前記第2のロボットから受信した位置情報と前記第1のロボットの位置を基に第2の制約条件の候補をそれぞれ算出し、時刻を基に前記第1の制約条件と前記第2の制約条件を決定し、
     前記制御手段は、前記第1の制約条件および前記第2の制約条件を満たすように前記第1のロボットの位置を制御する請求項1から3いずれかに記載の制御装置。
  5.  前記制約条件算出手段は、前記第1のロボットと前記第2のロボットの間の距離があらかじめ設定された距離以内となる条件を満たすように前記第1の制約条件と前記第2の制約条件を決定する請求項4に記載の制御装置。
  6.  請求項1から5いずれかに記載の制御装置からなり、第1のロボットの制御を行う第1の制御装置と、
     第2のロボットの制御を行う第2の制御装置と
     を備え、
     前記第1の制御装置の前記制約条件算出手段は、前記第2のロボットの制御に用いられている情報である制約関連情報と、前記第1のロボットおよび前記第2のロボットの現在の位置情報とを基に、前記第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出する制御システム。
  7.  第1のロボットと第2のロボットとが動作可能な領域を規定する制約条件を表す、第1時刻における制約情報と、前記第1時刻以降の第2時刻における前記制約情報との中から、第2時刻以降の第3時刻における前記第1のロボットの位置が制約条件を満たしている前記制約情報を選択する制約条件算出手段と、
     選択した前記制約情報に従い、前記第3時刻以降の前記第1のロボットの動作を制御する制御手段と
     を備える制御装置。
  8.  第1のロボットおよび第2のロボットの過去の位置情報を用いて生成され、前記第2のロボットの制御に用いられている情報である制約関連情報と、前記第1のロボットおよび前記第2のロボットの現在の位置情報とを基に、前記第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出し、
     算出した前記制約条件の候補のうち時刻が新しい制約条件を特定し、
     特定した前記制約条件を満たしているまま動作するように前記第1のロボットの位置を制御する制御方法。
  9.  過去の複数の時刻における前記第1のロボットと前記第2のロボットの位置座標を用いて生成された複数の前記制約関連情報を基に複数の制約条件を算出し、前記位置座標が取得された時刻を基に前記第1のロボットの位置の制御に用いる前記制約条件を決定する請求項8に記載の制御方法。
  10.  第1のロボットおよび第2のロボットの過去の位置情報を用いて生成され、前記第2のロボットの制御に用いられている情報である制約関連情報と、前記第1のロボットおよび前記第2のロボットの現在の位置情報とを基に、前記第1のロボットが移動可能な範囲の条件を示す制約条件の候補を算出し、算出した前記制約条件の候補のうち時刻が新しい制約条件を特定す処理と、
     特定した前記制約条件を満たしているまま動作するように前記第1のロボットの位置を制御する処理と
     をコンピュータに実行させる制御プログラムを記録したプログラム記録媒体。
PCT/JP2021/006865 2021-02-24 2021-02-24 制御装置、制御システム、制御方法およびプログラム記録媒体 WO2022180682A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US18/273,164 US20240134396A1 (en) 2021-02-24 2021-02-24 Control device, control method, and program recording medium
PCT/JP2021/006865 WO2022180682A1 (ja) 2021-02-24 2021-02-24 制御装置、制御システム、制御方法およびプログラム記録媒体
EP21927785.2A EP4300238A4 (en) 2021-02-24 2021-02-24 CONTROL DEVICE, CONTROL SYSTEM, CONTROL METHOD AND PROGRAM RECORDING MEDIUM
JP2023501711A JP7485192B2 (ja) 2021-02-24 2021-02-24 制御装置、制御システム、制御方法および制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/006865 WO2022180682A1 (ja) 2021-02-24 2021-02-24 制御装置、制御システム、制御方法およびプログラム記録媒体

Publications (1)

Publication Number Publication Date
WO2022180682A1 true WO2022180682A1 (ja) 2022-09-01

Family

ID=83047844

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/006865 WO2022180682A1 (ja) 2021-02-24 2021-02-24 制御装置、制御システム、制御方法およびプログラム記録媒体

Country Status (4)

Country Link
US (1) US20240134396A1 (ja)
EP (1) EP4300238A4 (ja)
JP (1) JP7485192B2 (ja)
WO (1) WO2022180682A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024180726A1 (ja) * 2023-03-01 2024-09-06 日本電気株式会社 情報処理装置、制御装置、制御方法、及びコンピュータ読み取り可能な記録媒体
WO2024201593A1 (ja) * 2023-03-24 2024-10-03 日本電気株式会社 制御装置、制御方法及び記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110495A (ja) * 2007-04-12 2009-05-21 Panasonic Corp 自律移動型装置、自律移動型装置用の制御装置および自律移動型装置用のプログラム
JP2016212462A (ja) * 2015-04-28 2016-12-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 移動制御方法および移動制御装置
JP2020500763A (ja) * 2016-12-01 2020-01-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 静止及び移動体に対する無人航空機の飛行方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190073140A (ko) * 2017-12-18 2019-06-26 엘지전자 주식회사 복수의 로봇 청소기 및 그 제어방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110495A (ja) * 2007-04-12 2009-05-21 Panasonic Corp 自律移動型装置、自律移動型装置用の制御装置および自律移動型装置用のプログラム
JP2016212462A (ja) * 2015-04-28 2016-12-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 移動制御方法および移動制御装置
JP2020500763A (ja) * 2016-12-01 2020-01-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 静止及び移動体に対する無人航空機の飛行方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AARON D. AMEXIANGRU XUJESSY W. GRIZZLEPAULO AND TABUADA: "Control Barrier Function Based Quadratic Programs for Safety Critical Systems", IEEE TRANSACTIONS ON AUTOMATIC CONTROL, vol. 62, 8 August 2017 (2017-08-08), pages 3861 - 3876
DA CAISENTANG WUJIA DENG: "Distributed Global Connectivity Maintenance and Control of Multi-Robot Networks", IEEE ACCESS, vol. 5, 2017, pages 9398 - 9414, XP011653621, DOI: 10.1109/ACCESS.2017.2708422
See also references of EP4300238A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024180726A1 (ja) * 2023-03-01 2024-09-06 日本電気株式会社 情報処理装置、制御装置、制御方法、及びコンピュータ読み取り可能な記録媒体
WO2024201593A1 (ja) * 2023-03-24 2024-10-03 日本電気株式会社 制御装置、制御方法及び記録媒体

Also Published As

Publication number Publication date
JP7485192B2 (ja) 2024-05-16
US20240134396A1 (en) 2024-04-25
JPWO2022180682A1 (ja) 2022-09-01
EP4300238A4 (en) 2024-04-03
EP4300238A1 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
US11145206B2 (en) Roadmap segmentation for robotic device coordination
US20220331961A1 (en) Safety system for integrated human/robotic environments
WO2022180682A1 (ja) 制御装置、制御システム、制御方法およびプログラム記録媒体
US10994418B2 (en) Dynamically adjusting roadmaps for robots based on sensed environmental data
US9945677B1 (en) Automated lane and route network discovery for robotic actors
US9214021B2 (en) Distributed position identification
US20190354113A1 (en) Control device, control method, and program recording medium
US10107632B2 (en) Assisted roadmap generation
EP4172707A1 (en) An edge computing based path planning system for agv with intelligent deviation correction algorithm
US20190286159A1 (en) Position estimation system, position detection method, and program
CN111045433B (zh) 一种机器人的避障方法、机器人及计算机可读存储介质
CN116339397A (zh) 增强的机器人安全感知和完整性监测
CN113438615A (zh) 定位方法和装置
EP3633955A1 (en) An apparatus, method and computer program for controlling wireless network capacity
CN116576847A (zh) 一种移动机器人的自动导航系统、导航方法、设备及介质
US20200409388A1 (en) Controller, control method, and program
US20220019217A1 (en) Travel control apparatus, travel control method, and computer program
US20240345564A1 (en) Control device, control method, and recording medium
WO2020188818A1 (ja) 無人機制御システム、方法、無人機、指示端末、及びコンピュータ可読媒体
EP4332712A1 (en) Autonomous vehicle control
EP4438241A1 (en) Camera and end-effector planning for visual servoing
CN113580144B (zh) 机械手控制方法、装置、设备和存储介质
WO2024180724A1 (ja) 情報処理装置、制御方法、及びコンピュータ読み取り可能な記録媒体
US20240142976A1 (en) Information processing device
JP2022182045A (ja) 制御システム、制御装置、制御プログラム、及び移動体

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: 21927785

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023501711

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18273164

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2021927785

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021927785

Country of ref document: EP

Effective date: 20230925