WO2021038844A1 - 情報処理装置、制御方法及び記憶媒体 - Google Patents

情報処理装置、制御方法及び記憶媒体 Download PDF

Info

Publication number
WO2021038844A1
WO2021038844A1 PCT/JP2019/034184 JP2019034184W WO2021038844A1 WO 2021038844 A1 WO2021038844 A1 WO 2021038844A1 JP 2019034184 W JP2019034184 W JP 2019034184W WO 2021038844 A1 WO2021038844 A1 WO 2021038844A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
abstract model
robot
generation unit
task
Prior art date
Application number
PCT/JP2019/034184
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 US17/635,585 priority Critical patent/US20220299949A1/en
Priority to EP19943679.1A priority patent/EP4023397A4/en
Priority to PCT/JP2019/034184 priority patent/WO2021038844A1/ja
Priority to JP2021541933A priority patent/JP7276466B2/ja
Publication of WO2021038844A1 publication Critical patent/WO2021038844A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • B25J13/082Grasping-force detectors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0205Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
    • G05B13/024Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40014Gripping workpiece to place it in another place
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40108Generating possible sequence of steps as function of timing and conflicts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40114From vision detected initial and user given final state, generate tasks

Definitions

  • the present invention relates to a technical field of an information processing device, a control method, and a storage medium that perform processing related to a task to be performed by a robot.
  • Patent Document 1 When a task to be made to work by a robot is given, a control method for controlling the robot necessary to execute the task has been proposed.
  • Patent Document 1 when a plurality of articles are gripped by a robot having a hand and stored in a container, a combination of the order in which the hands hold the articles is determined, and the storage is based on an index calculated for each combination.
  • a robot control device for determining the order of articles to be processed is disclosed.
  • Patent Document 1 does not disclose any method for setting a dynamics model that solves these problems.
  • An object of the present invention is to provide an information processing device, a control method, and a storage medium capable of suitably generating a model of dynamics in a robot work space in view of the above-mentioned problems.
  • One aspect of the information processing device is an information processing device, which is an abstract model information acquisition unit that acquires abstract model information about an abstract model that abstracts the dynamics in the workspace of a robot that executes a task, and an abstract model information acquisition unit in the workspace. It has a measurement information acquisition unit that acquires measurement information indicating a measurement result, and an abstract model generation unit that generates the abstract model based on the abstract model information and the measurement information.
  • One aspect of the control method is a control method executed by an information processing device, in which abstract model information relating to an abstract model that abstracts the dynamics in the workspace of a robot that executes a task is acquired, and the measurement result in the workspace is obtained.
  • the measurement information indicating the above is acquired, and the abstract model is generated based on the abstract model information and the measurement information.
  • One aspect of the storage medium is an abstract model information acquisition unit that acquires abstract model information about an abstract model that abstracts the dynamics in the workspace of the robot that executes the task, and an acquisition information that indicates the measurement result in the workspace. It is a storage medium in which a program for operating a computer as an abstract model generation unit for generating the abstract model based on the measurement information acquisition unit, the abstract model information, and the measurement information is stored.
  • the configuration of the robot control system is shown.
  • the hardware configuration of the information processing device is shown.
  • An example of the data structure of application information is shown.
  • a bird's-eye view of the work space is shown. It is a functional block composition diagram of the target logical formula generation part.
  • the first display example of the task input screen is shown.
  • a second display example of the task input screen is shown.
  • This is an example of a flowchart showing the details of the process of step S13 of FIG.
  • FIG. 1 shows the configuration of the robot control system 100 according to the first embodiment.
  • the robot control system 100 mainly includes an information processing device 1, an input device 2, a display device 3, a storage device 4, a robot 5, and a measuring device 7.
  • the information processing device 1 sets the target task in a sequence for each time step (time step) of a simple task that the robot 5 can accept. Is converted, and the sequence is supplied to the robot 5.
  • a simple task (command) that can be accepted by the robot 5 is also referred to as a "subtask”.
  • the information processing device 1 is electrically connected to the input device 2, the display device 3, and the storage device 4. For example, the information processing device 1 receives an input signal "S1" for designating a target task from the input device 2. Further, the information processing device 1 transmits a display signal "S2" to the display device 3 for displaying the task to be executed by the robot 5. Further, the information processing device 1 transmits a control signal "S3" related to the control of the robot 5 to the robot 5. For example, the information processing device 1 transmits a sequence of subtasks (also referred to as “subtask sequence”) to be executed for each robot hand 52 as a control signal S3 to the robot 5. Further, the information processing device 1 receives the output signal “S4” from the measuring device 7.
  • subtask sequence also referred to as “subtask sequence”
  • the input device 2 is an interface that accepts user input, and corresponds to, for example, a touch panel, a button, a keyboard, a voice input device, and the like.
  • the input device 2 supplies the input signal S1 generated based on the user's input to the information processing device 1.
  • the display device 3 is, for example, a display, a projector, or the like, and performs a predetermined display based on the display signal S2 supplied from the information processing device 1. As will be described later, for example, the display device 3 displays an input screen (also referred to as a “task input screen”) for designating information about the target task based on the display signal S2.
  • an input screen also referred to as a “task input screen”
  • the storage device 4 has an application information storage unit 41.
  • the application information storage unit 41 stores application information necessary for generating a sequence of subtasks from a target task. Details of the application information will be described later.
  • the storage device 4 may be an external storage device such as a hard disk connected to or built in the information processing device 1, or may be a storage medium such as a flash memory. Further, the storage device 4 may be a server device that performs data communication with the information processing device 1. In this case, the storage device 4 may be composed of a plurality of server devices.
  • the robot 5 operates based on the control signal S3 transmitted from the information processing device 1.
  • the robot 5 shown in FIG. 1 has a plurality of (two) robot arms 52 capable of gripping an object as control targets, and picks and places (picks up) an object 61 existing in the work space 6. Process to move).
  • the robot 5 has a robot control unit 51.
  • the robot control unit 51 controls the operation of each robot arm 52 based on the subtask sequence designated for each robot arm 52 by the control signal S3.
  • the work space 6 is a work space in which the robot 5 executes a target task.
  • the measuring device 7 is a camera, a range sensor, a sonar, or a combination of these, one or a plurality of external world sensors that measure the work space 6 as a measurement target range.
  • the measuring device 7 supplies the generated output signal S4 to the information processing device 1.
  • the output signal S4 may be image data captured in the work space 6 or point cloud data indicating the position of an object in the work space 6.
  • the configuration of the robot control system 100 shown in FIG. 1 is an example, and various changes may be made to the configuration.
  • the robot 5 may include only one robot arm 52 or three or more robot arms 52.
  • the information processing apparatus 1 generates a subtask sequence to be executed for each control target of the robot 5 based on the target task, and sends a control signal S3 indicating the subtask sequence to the control target of the target. It is transmitted to the robot 5 that has it.
  • the measuring device 7 may be a part of the robot 5.
  • the robot control unit 51 may be configured separately from the robot 5.
  • the input device 2 and the display device 3 may be configured as the same device (for example, a tablet terminal) as the information processing device 1 depending on the mode such as being built in the information processing device 1.
  • the information processing device 1 may be composed of a plurality of devices. In this case, the plurality of devices constituting the information processing device 1 exchange information necessary for executing the pre-assigned process between the plurality of devices.
  • the robot 5 may have at least a part of the functions of the information processing device 1.
  • FIG. 2 shows the hardware configuration of the information processing device 1.
  • the information processing device 1 includes a processor 11, a memory 12, and an interface 13 as hardware.
  • the processor 11, the memory 12, and the interface 13 are connected via the data bus 19.
  • the processor 11 executes a predetermined process by executing the program stored in the memory 12.
  • the processor 11 is a processor such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit).
  • the memory 12 is composed of various types of memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory). Further, the memory 12 stores a program for the information processing apparatus 1 to execute a predetermined process. Further, the memory 12 is used as a working memory and temporarily stores information and the like acquired from the storage device 4. The memory 12 may function as a storage device 4. Similarly, the storage device 4 may function as the memory 12 of the information processing device 1. The program executed by the information processing device 1 may be stored in a storage medium other than the memory 12.
  • the interface 13 is an interface for electrically connecting the information processing device 1 and another device.
  • the interface 13 connects an interface for connecting the information processing device 1 and the input device 2, an interface for connecting the information processing device 1 and the display device 3, and the information processing device 1 and the storage device 4.
  • the interface 13 includes an interface for connecting the information processing device 1 and the robot 5, and an interface for connecting the information processing device 1 and the measuring device 7.
  • These connections may be wired connections or wireless connections.
  • the interface for connecting the information processing device 1 and the storage device 4 may be a communication interface for transmitting and receiving data to and from the storage device 4 by wire or wirelessly under the control of the processor 11.
  • the information processing device 1 and the storage device 4 may be connected by a cable or the like.
  • the interface 13 includes an interface compliant with USB, SATA (Serial AT Attainment), etc. for exchanging data with the storage device 4.
  • the hardware configuration of the information processing device 1 is not limited to the configuration shown in FIG.
  • the information processing device 1 may include at least one of an input device 2, a display device 3, and a storage device 4. Further, the information processing device 1 may be connected to or built in a sound output device such as a speaker. In these cases, the information processing device 1 may be a tablet terminal or the like in which an input function and an output function are integrated with the main body.
  • FIG. 3 shows an example of the data structure of the application information stored in the application information storage unit 41.
  • the application information storage unit 41 provides abstract state designation information I1, constraint condition information I2, operation limit information I3, subtask information I4, abstract model information I5, and object model information I6. Including.
  • Abstract state specification information I1 is information that specifies the abstract state that needs to be defined when generating a subtask sequence.
  • This abstract state is an abstract state of an object in the work space 6, and is defined as a proposition used in a target logical formula described later.
  • the abstract state specification information I1 specifies the abstract state that needs to be defined for each type of target task.
  • the target task may be various types of tasks such as pick-and-place, capture of moving objects, and screwdriver.
  • Constraint information I2 is information indicating the constraint conditions when executing the target task.
  • the constraint condition information I2 is, for example, a constraint condition that the robot 5 (robot arm 52) must not touch an obstacle and a constraint condition that the robot arms 52 must not touch each other when the target task is pick and place. And so on.
  • the constraint condition information I2 may be information that records suitable constraint conditions for each type of target task.
  • the operation limit information I3 indicates information regarding the operation limit of the robot 5 controlled by the information processing device 1.
  • the operation limit information I3 is, for example, information that defines the maximum leaching speed of the robot arm 52 in the case of the robot 5 shown in FIG.
  • Subtask information I4 indicates information on subtasks that can be accepted by the robot 5. For example, when the target task is pick-and-place, the subtask information I4 defines leaching, which is the movement of the robot arm 52, and glassing, which is the gripping by the robot arm 52, as subtasks. The subtask information I4 may indicate information on subtasks that can be used for each type of target task.
  • Abstract model information I5 is information related to a model (also referred to as an "abstract model") that abstracts the dynamics in the workspace 6.
  • the abstract model is represented by a model in which the dynamics of reality are abstracted by a hybrid system, as will be described later.
  • the abstract model information I5 includes information indicating the conditions for switching the dynamics in the above-mentioned hybrid system. The switching condition corresponds to, for example, in the case of the pick-and-place shown in FIG. 1, the condition that the object 61 cannot be moved unless it is gripped by the hand of the robot arm 52.
  • Abstract model information I5 has information about an abstract model suitable for each type of target task.
  • the object model information I6 is information about the object model of each object (in the example of FIG. 1, the robot arm 52, the object 61, the obstacle 62, etc.) to be recognized from the output signal S4 generated by the measuring device 7.
  • the above-mentioned object model is, for example, a learning model in machine learning such as a neural network. This learning model is learned to output, for example, the type and position of the object to be measured by the output signal S4, and the parameters of the learned learning model are recorded in the object model information I6.
  • the object model information I6 may include CAD data of the object to be recognized.
  • the application information storage unit 41 may store various information related to the generation process of the subtask sequence in addition to the above-mentioned information.
  • the application information storage unit 41 includes a dynamic model of the robot 5 itself, an abstracted dynamic model of the robot arm 52, a simple model for calculating the time required to grip the object 61 by the robot arm 52, and the like. It may be.
  • FIG. 4 is an example of a functional block of the information processing device 1.
  • the processor 11 of the information processing device 1 has an abstract state setting unit 31, a target logical formula generation unit 32, a time step logical formula generation unit 33, an abstract model generation unit 34, and a control input generation unit 35. And a subtask sequence generation unit 36.
  • FIG. 4 shows an example of data that is exchanged between blocks, but the present invention is not limited to this.
  • the abstract state setting unit 31 generates information (also referred to as “measurement information Im”) indicating the measurement result in the work space 6 based on the output signal S4 supplied from the measurement device 7. Specifically, when the abstract state setting unit 31 receives the output signal S4, the abstract state setting unit 31 refers to the object model information I6 and the like, and the type of each object in the work space 6 related to the execution of the target task (object 61). , Obstacles 62, etc.) and position, etc. are recognized, and this recognition result is generated as measurement information Im. The abstract state setting unit 31 supplies the generated measurement information Im to the abstract model generation unit 34.
  • the abstract state setting unit 31 is an abstraction in the workspace 6 that needs to be considered when executing the target task based on the above-mentioned measurement information Im and the abstract state designation information I1 acquired from the application information storage unit 41. Set the state.
  • the abstract state setting unit 31 defines a proposition for expressing each abstract state by a logical expression.
  • the abstract state setting unit 31 supplies information indicating the set abstract state (also referred to as “abstract state setting information Is”) to the target logical expression generation unit 32.
  • the target logical expression generation unit 32 When the target logical formula generation unit 32 receives the input signal S1 related to the target task from the input device 2, the target logical expression generation unit 32 sets the target task indicated by the input signal S1 as a time phase representing the final achievement state based on the abstract state setting information Is. It is converted into a logical expression (also referred to as "target logical expression Ltag"). In this case, the target logical expression generation unit 32 adds the constraint conditions to be satisfied in the execution of the target task to the target logical expression Ltag by referring to the constraint condition information I2 from the application information storage unit 41. Then, the target logical formula generation unit 32 supplies the generated target logical formula Ltag to the time step logical formula generation unit 33. Further, the target logical formula generation unit 32 generates a display signal S2 for displaying a task input screen that receives an input related to the target task, and supplies the display signal S2 to the display device 3.
  • a logical expression also referred to as "target logical expression Ltag"
  • the time step logical formula generation unit 33 converts the target logical formula Ltag supplied from the target logical formula generation unit 32 into a logical formula (also referred to as “time step logical formula Lts”) representing the state at each time step. To do. Then, the time step logical formula generation unit 33 supplies the generated time step logical formula Lts to the control input generation unit 35.
  • the abstract model generation unit 34 generates an abstract model " ⁇ " that abstracts the actual dynamics in the workspace 6 based on the measurement information Im and the abstract model information I5 stored in the application information storage unit 41.
  • the abstract model generation unit 34 regards the target dynamics as a hybrid system in which continuous dynamics and discrete dynamics are mixed, and generates an abstract model ⁇ based on the hybrid system. The method of generating the abstract model ⁇ will be described later.
  • the abstract model generation unit 34 supplies the generated abstract model ⁇ to the control input generation unit 35.
  • the control input generation unit 35 satisfies the time step logical expression Lts supplied from the time step logical expression generation unit 33 and the abstract model ⁇ supplied from the abstract model generation unit 34, and optimizes the evaluation function for each time step.
  • the control input to the robot 5 is determined.
  • the control input generation unit 35 supplies the subtask sequence generation unit 36 with information indicating the control input for each time step to the robot 5 (also referred to as “control input information Ic”).
  • the subtask sequence generation unit 36 generates a subtask sequence based on the control input information Ic supplied from the control input generation unit 35 and the subtask information I4 stored in the application information storage unit 41, and the control signal S3 indicating the subtask sequence. Is supplied to the robot 5.
  • the abstract state setting unit 31 outputs measurement information Im indicating the measurement result (type, position, etc.) of an object in the work space 6 based on the output signal S4 supplied from the measurement device 7. At the same time as generating, the abstract state in the workspace 6 is set.
  • the abstract state setting unit 31 refers to the abstract state designation information I1 and recognizes the abstract state to be set in the workspace 6.
  • the abstract state to be set in the workspace 6 differs depending on the type of the target task. Therefore, when the abstract state to be set for each type of the target task is defined in the abstract state specification information I1, the abstract state setting unit 31 specifies the abstract state corresponding to the target task specified by the input signal S1. Refer to the information I1 and recognize the abstract state to be set.
  • FIG. 5 shows a bird's-eye view of the work space 6.
  • two robot arms 52a and 52b, four objects 61a to 61d, and an obstacle 62 are present.
  • the abstract state setting unit 31 first analyzes the output signal S4 received from the measuring device 7 using the object model information I6 and the like, so that the state of the object 61, the existence range of the obstacle 62, and the goal Recognize the existence range of the area G set as a point.
  • the abstract state setting unit 31 recognizes the position vectors “x 1 ” to “x 4 ” at the centers of the objects 61a to 61d as the positions of the objects 61a to 61d.
  • the abstract state setting unit 31 recognizes the position vector “x r1 ” of the robot hand 53a that grips the object and the position vector “x r2 ” of the robot hand 53b as the positions of the robot arm 52a and the robot arm 52b. To do.
  • the abstract state setting unit 31 recognizes the existence range of the obstacle 62, the existence range of the region G, and the like, such as the postures of the objects 61a to 61d (unnecessary because the object is spherical in the example of FIG. 5).
  • the abstract state setting unit 31 recognizes the position vectors of the obstacle 62 and each vertex of the area G. Then, the abstract state setting unit 31 generates these recognition results based on the output signal S4 as measurement information Im.
  • the abstract state setting unit 31 determines the abstract state to be defined in the target task by referring to the abstract state designation information I1. In this case, the abstract state setting unit 31 recognizes the object and the area existing in the work space 6 based on the measurement information Im, and the recognition result (for example, the number of each type of the object and the area) and the constraint regarding the object and the area. Based on the condition information I2, a proposition indicating an abstract state is determined.
  • abstract state setting unit 31 refers to the abstract state designation information I1, recognizes the abstract state should be defined, the proposition representing the abstract state (g i in the above example, o i, h) Is defined according to the number of objects 61, the number of robot arms 52, the number of obstacles 62, and the like. Then, the abstract state setting unit 31 supplies the information indicating the proposition representing the abstract state to the target logical expression generation unit 32 as the abstract state setting information Is.
  • FIG. 6 is a functional block configuration diagram of the target logical formula generation unit 32.
  • the target logical expression generation unit 32 functionally includes an input reception unit 321, a logical expression conversion unit 322, a constraint condition information acquisition unit 323, and a constraint condition addition unit 324.
  • the input receiving unit 321 receives the input of the input signal S1 that specifies the type of the target task and the final state of the object to be worked by the robot. Further, the input receiving unit 321 transmits the display signal S2 of the task input screen that accepts these inputs to the display device 3.
  • the logical expression conversion unit 322 converts the target task specified by the input signal S1 into a logical expression using temporal logic.
  • temporal logic There are various existing techniques for converting a task expressed in natural language into a logical expression. For example, it is assumed that the logical expression conversion unit 322 is given the target task of "finally the object 2 exists in the region G" in the example of FIG.
  • logical expression conversion unit 322 a linear logical expression of the desired task (LTL: Linear Temporal Logic) the operator corresponding to "eventually"" ⁇ ", propositions defined by abstract state setting unit 31 "g i To generate the logical expression " ⁇ g 2".
  • LTL Linear Temporal Logic
  • the formula conversion unit 322 is an operator of any temporal logic other than the operator " ⁇ " (logical product “ ⁇ ”, OR “ ⁇ ”, negative “ ⁇ ”, logical inclusion “ ⁇ ”, always “ ⁇ ”, next“ ⁇ ”, until“ U ”, etc.) may be used to express the logical expression. Further, the logical expression may be expressed by using any time phase logic such as MTL (Metric Temporal Logic) or STL (Signal Temporal Logic), not limited to the linear temporal logic.
  • the constraint condition information acquisition unit 323 acquires the constraint condition information I2 from the application information storage unit 41.
  • the constraint condition information acquisition unit 323 has a constraint condition corresponding to the type of the target task specified by the input signal S1.
  • Information I2 is acquired from the application information storage unit 41.
  • the constraint condition addition unit 324 generates a target logical expression Ltag by adding the constraint condition indicated by the constraint condition information I2 acquired by the constraint condition information acquisition unit 323 to the logical expression generated by the logical expression conversion unit 322.
  • constraint condition information I2 includes two constraint conditions corresponding to pick and place, "the robot arms 52 do not interfere with each other" and "the object i does not interfere with the obstacle O"
  • the constraint condition The addition unit 324 converts these constraints into a logical expression.
  • constraint addition section 324 uses the proposition "o i” and the proposition "h” which is defined by the abstract state setting unit 31 in the description of FIG. 5, the two constraints mentioned above, respectively below Convert to a logical expression of. ⁇ ⁇ h ⁇ i ⁇ ⁇ o i
  • the constraint condition addition unit 324 adds the logical expressions of these constraint conditions to the logical expression " ⁇ g 2" corresponding to the target task "finally the object 2 exists in the area G". By doing so, the following target formula Ltag is generated. ( ⁇ g 2 ) ⁇ ( ⁇ ⁇ h) ⁇ ( ⁇ i ⁇ ⁇ o i )
  • the constraint conditions corresponding to pick and place are not limited to the above two, and "the robot arm 52 does not interfere with the obstacle O" and "a plurality of robot arms 52 do not grab the same object". , "Objects do not touch each other” and other constraints exist. Similarly, such a constraint condition is also stored in the constraint condition information I2 and reflected in the target logical expression Ltag.
  • FIG. 7 shows a first display example of the task input screen.
  • the input receiving unit 321 generates the display signal S2 and transmits the display signal S2 to the display device 3, so that the display device 3 displays the task input screen shown in FIG. 7.
  • the task input screen shown in FIG. 7 mainly has a task type designation field 15, an image display field 16, an estimated work time designation field 17, a calculation work time display area 18, and a decision button 20.
  • the input reception unit 321 accepts an input for designating the type of the target task in the task type designation field 15.
  • the task type designation field 15 is a pull-down menu format input field, and the input reception unit 321 displays a list of acceptable target task type candidates in the task type designation field 15 so as to be selectable. ..
  • pick and place is designated as the type of the target task in the task type designation field 15.
  • the input reception unit 321 uses the CAD model of the object 61 stored in the object model information I6 in the image display field 16 to display a CAD image that reproduces the environment in the work space 6.
  • the input receiving unit 321 generates a CAD image that reproduces the environment in the work space 6 based on, for example, the measurement information Im generated by the abstract state setting unit 31 and the object model information I6 that records the CAD data. To do.
  • the input receiving unit 321 accepts an input for designating the final position of each object 61 based on a touch panel operation on the image display field 16 or a drag-and-drop operation with a mouse. Then, the input receiving unit 321 recognizes the target task based on the input signal S1 indicating the input in the task type designation field 15 and the image display field 16.
  • the animation in which the robot 5 executes the target task may be displayed on the image display field 16. ..
  • the input receiving unit 321 may display an animation on the image display field 16 showing changes in the work space 6 until the object 61 is carried by the robot 5 to the designated final position.
  • the input receiving unit 321 operates the robot 5 and changes the position of each object 61 for each time step based on the control input information Ic or the subtask sequence obtained based on the target logical expression Ltag obtained by converting the target task, for example. Etc. are recognized. Then, the input reception unit 321 displays the animation generated based on the recognition result on the image display field 16.
  • the input reception unit 321 may display a two-dimensional image representing a bird's-eye view of the work space 6 instead of displaying the CAD image of the work space 6 on the image display field 16. Even in this case, the input receiving unit 321 can suitably accept the designation of the final position of each object 61 based on the touch panel operation on the image display field 16 or the drag-and-drop operation by the mouse.
  • the input reception unit 321 accepts the input of the estimated work time of the target task in the estimated work time designation field 17.
  • the input receiving unit 321 supplies the estimated time specified in the estimated working time designation field 17 to the time step logical formula generation unit 33.
  • the time step logical formula generation unit 33 can preferably determine the target number of time steps from the notified estimated time.
  • the input reception unit 321 displays the estimated work time of the target task calculated by the information processing device 1 in the calculation work time display area 18.
  • the input receiving unit 321 displays the above-mentioned estimated time by, for example, calculating the required number of time steps based on the target logical expression Ltag obtained by converting the target task specified on the task input screen.
  • the input reception unit 321 calculates that an error has occurred when the designated target task cannot be achieved, for example, when the control input generation unit 35 cannot generate the control input information Ic based on the target task. Display on 18.
  • the input receiving unit 321 prompts the re-input of the position of the object on the task input screen.
  • the input receiving unit 321 detects that the enter button 20 is selected, the input receiving unit 321 supplies the information of the target task recognized based on the input signal S1 indicating the input contents on the task input screen to the logical expression conversion unit 322. .. After that, the information processing device 1 generates a control signal S3 and transmits the generated control signal S3 to the robot 5 to cause the robot 5 to execute a target task.
  • FIG. 8 shows a second display example of the task input screen.
  • the input receiving unit 321 transmits the display signal S2 to the display device 3, so that the display device 3 displays the task input screen shown in FIG.
  • the input receiving unit 321 tasks the table column 16A for designating the final position for each object instead of the image display column 16 of the first display example for displaying the CAD image related to the work space 6. It is displayed on the input screen.
  • the table column 16A has each item of "object”, "initial position", and "final position".
  • the identification label of each labeled object 61 is displayed.
  • a coordinate value indicating the initial position of each object 61 in the work space 6 is displayed. This coordinate value is a coordinate value defined in the work space 6.
  • the item "final position” is an input field, and each object 61 can be input.
  • the input receiving unit 321 receives an input that specifies a coordinate value indicating the final position or a defined area name (“area G” in FIG. 8).
  • the input receiving unit 321 displays an image schematically showing the work space 6 (for example, an image displayed in the image display field 16) when an arbitrary input field of the item "final position" is selected. , An input for designating the final position of the target object 61 in the image may be accepted.
  • Target logical expression generation unit 33 determines the number of time steps (also referred to as “target time step number”) for completing the target task, and the target logical expression Ltag is determined by the target number of time steps. Determine a combination of propositions that represent the state at each time step that satisfies. Since there are usually a plurality of these combinations, the time step logical expression generation unit 33 generates a logical expression in which these combinations are combined by a logical sum as a time step logical expression Lts.
  • the above combination is a candidate for a logical expression representing a sequence of actions instructing the robot 5, and is also referred to as "candidate ⁇ " hereafter.
  • the time step logical formula generation unit 33 is supplied with "( ⁇ g 2 ) ⁇ ( ⁇ ⁇ h) ⁇ ( ⁇ i ⁇ ⁇ o i )" as the target logical formula Ltag from the target logical formula generation unit 32.
  • the time step logical expression generating unit 33 the proposition "g i” an extended proposition "g i, k” to include the notion of time step is used.
  • the proposition "gi , k " is a proposition that "the object i exists in the region G in the time step k".
  • ⁇ g2 and 3 can be rewritten as shown in the following equation.
  • the above-mentioned target logical formula Ltag is represented by the logical sum ( ⁇ 1 ⁇ ⁇ 2 ⁇ ⁇ 3 ⁇ ⁇ 4 ) of the four candidates “ ⁇ 1 ” to “ ⁇ 4” shown below.
  • the time step logical expression generating unit 33 defines a logical sum of the four candidate phi 1 ⁇ phi 4 as a time step formulas Lts.
  • the time step formulas Lts is either at least four candidate phi 1 ⁇ phi 4 is true if that is true.
  • the time step logical formula generation unit 33 determines the feasibility of the generated candidate by referring to the operation limit information I3, and excludes the candidate determined to be unrealizable. For example, the time step logical formula generation unit 33 recognizes the distance that the robot hand can move per time step based on the operation limit information I3. Further, the time step logical formula generation unit 33 recognizes the distance between the object to be moved (object 2) and the robot hand based on the position vector of each object and the robot hand indicated by the measurement information Im. Then, the time step logical formula generation unit 33 determines the feasibility based on these distances.
  • the time step logical expression generating unit 33 both the robot hand 53a and the robot hand 53b is, if the distance to the object 2 is determined to longer than the moving distance per one time step, the above-mentioned candidate phi 3 and candidate phi 4 is determined to not realized.
  • the time step logical expression generating unit 33 excludes the candidate phi 3 and candidate phi 4 from time step formulas Lts.
  • the time step logical formula Lts is the logical sum ( ⁇ 1 ⁇ ⁇ 2 ) of the candidate ⁇ 1 and the candidate ⁇ 2.
  • the time step logical formula generation unit 33 preferably reduces the processing load of the subsequent processing unit by excluding the unrealizable candidates from the time step logical formula Lts with reference to the operation limit information I3. be able to.
  • the time step logical formula generation unit 33 determines the target number of time steps based on, for example, the estimated work time specified by user input (see the estimated work time designation column 17 in FIGS. 7 and 8). In this case, the time step logical formula generation unit 33 calculates the target number of time steps from the above-mentioned estimated time based on the information of the time width per time step stored in the memory 12 or the storage device 4. In another example, the time step logical formula generation unit 33 previously stores information associated with the target number of time steps suitable for each type of target task in the memory 12 or the storage device 4, and refers to the information. By doing so, the target number of time steps is determined according to the type of target task to be executed.
  • the time step logical expression generation unit 33 sets the target number of time steps to a predetermined initial value. Then, the time step logical formula generation unit 33 gradually increases the target number of time steps until the time step logical formula Lts in which the control input generation unit 35 can determine the control input is generated. In this case, the time step logical formula generation unit 33 determines the target time step number when the optimum solution cannot be derived as a result of the control input generation unit 35 performing the optimization process according to the set target time step number. Add only a number (integer of 1 or more).
  • the time step logical expression generation unit 33 specifies the initial value of the target time step number as a value smaller than the number of time steps corresponding to the work time of the target task expected by the user (for example, in the expected work time designation column 17). It is recommended to set it to half of the estimated time. As a result, the time step logical expression generation unit 33 preferably suppresses setting an unnecessarily large target number of time steps.
  • the time step logical formula generation unit 33 sets the initial value of the target time step number to a small value, and gradually increases the target time step number until a solution in the optimization process of the control input generation unit 35 exists. ..
  • the time step logical formula generation unit 33 can set the target number of time steps as small as possible within the range in which the solution in the optimization process of the control input generation unit 35 exists. Therefore, in this case, it is possible to reduce the processing load in the optimization process and shorten the time required for the robot 5 to achieve the target task.
  • the abstract model generation unit 34 generates the abstract model ⁇ based on the measurement information Im and the abstract model information I5.
  • the abstract model information I5 information necessary for generating the abstract model ⁇ is recorded for each type of the target task. For example, when the target task is pick-and-place, a general-purpose abstraction that does not specify the position and number of objects, the position of the area where the objects are placed, the number of robots 5 (or the number of robot arms 52), etc.
  • the model is recorded in the abstract model information I5.
  • the abstract model generation unit 34 refers to the position and number of objects indicated by the measurement information Im, the position of the area on which the objects are placed, and the robot 5 with respect to the abstract model of the general-purpose format recorded in the abstract model information I5.
  • An abstract model ⁇ is generated by reflecting the number of units.
  • the dynamics in the work space 6 are frequently switched. For example, in pick and place, when the robot arm 52 grabs the object i, the object i moves, but when the robot arm 52 does not grab the object i, the object i moves. Absent.
  • the action of grabbing the object i is abstractly expressed by the logical variable “ ⁇ i”.
  • the abstract model generation unit 34 can determine the abstract model ⁇ to be set for the work space 6 shown in FIG. 5 by the following equation (1).
  • u j indicates a control input for controlling the robot hand j
  • "I" is the unit matrix. Shown.
  • the control input is assumed to be speed as an example here, it may be acceleration.
  • ⁇ j, i is a logical variable that becomes “1” when the robot hand j grabs the object i, and becomes "0” in other cases.
  • x r1 " and “x r2 " indicate the position vector of the robot hand j
  • x 1 " to "x 4 indicate the position vector of the object i.
  • equation (1) is a difference equation showing the relationship between the state of the object at the time step k and the state of the object at the time step k + 1. Then, in the above equation (1), the gripping state is represented by a logical variable that is a discrete value, and the movement of the object is represented by a continuous value, so that the equation (1) represents a hybrid system. ..
  • Equation (1) considers only the dynamics of the robot hand, which is the hand of the robot 5 that actually grips the object, rather than the detailed dynamics of the entire robot 5. As a result, the amount of calculation of the optimization process can be suitably reduced by the control input generation unit 35.
  • the abstract model generation unit 34 has abstract model information I5 and measurement information even when the position and number of objects, the area where the objects are placed (area G in FIG. 5), the number of robots 5 and the like fluctuate. By combining with Im, it is possible to determine the abstract model ⁇ suitable for the environment of the target workspace 6.
  • the abstract model generation unit 34 generates a model of a mixed logical dynamic (MLD: Mixed Logical Dynamic) system or a hybrid system combining Petri net, an automaton, etc., instead of the model shown in the equation (1). May be good.
  • MLD Mixed Logical Dynamic
  • Control input generation unit 35 is based on the time step logical formula Lts supplied from the time step logical formula generation unit 33 and the abstract model ⁇ supplied from the abstract model generation unit 34.
  • the control input for each time step for the robot 5 for each optimal time step is determined.
  • the control input generation unit 35 defines an evaluation function for the target task, and solves an optimization problem that minimizes the evaluation function with the abstract model ⁇ and the time step logical expression Lts as constraints.
  • the evaluation function is determined in advance for each type of target task, and is stored in the memory 12 or the storage device 4, for example.
  • the control input generation unit 35 when the pick and place purposes task, the control input generation unit 35, the minimum distance "d k" control input "u k" between the target point carrying the object and the object of interest to carry (That is, the evaluation function is defined so as to minimize the energy consumed by the robot 5).
  • the above-mentioned distance d k corresponds to the distance between the object 2 and the area G in the case of the target task that “the object 2 finally exists in the area G”.
  • control input generation unit 35 defines a sum of the square of the square and the control input u k of the distance d k of the total time steps as the evaluation function, the abstract model ⁇ and timestep formulas Lts (i.e. candidate phi i Solve the constrained mixed integer optimization problem shown in the following equation (2) with the constraint condition (logical sum).
  • T is the number of time steps to be optimized, may be the target number of time steps, or may be a predetermined number smaller than the target number of time steps, as will be described later.
  • the control input generation unit 35 approximates the logical variable to a continuous value (referred to as a continuous relaxation problem). As a result, the control input generation unit 35 can suitably reduce the amount of calculation.
  • STL linear logic formula
  • LTL linear logic formula
  • the control input generation unit 35 sets the time step number T of the equation (2) used for optimization to a value smaller than the target time step number (for example). It may be set to the above-mentioned threshold value). In this case, the control input generation unit 35 is, for example, each time a predetermined time step number has elapsed, by solving an optimization problem based on the equation (2), to determine the control input u k sequentially.
  • the control input generation unit 35 for each predetermined event corresponding to the intermediate state for achieving the desired state task, solve the optimization problem based on the equation (2), to determine the control input u k to be used You may.
  • the control input generation unit 35 sets the number of time steps until the next event occurs to the number of time steps T in the equation (2).
  • the above-mentioned event is, for example, an event in which the dynamics in the workspace 6 are switched. For example, when pick and place is the target task, it is determined as an event that the robot 5 grabs the object, the robot 5 finishes carrying one of the plurality of objects to be carried to the destination, and the like. Be done.
  • the event is determined in advance for each type of target task, for example, and information for identifying the event for each type of target task is stored in the storage device 4. Details of the processing for determining a control input u k for each event will be described later in the flowchart of FIG. 11.
  • the number of time steps T in the equation (2) can be reduced to preferably reduce the amount of calculation of the optimization problem.
  • Subtask sequence generation unit 36 generates a subtask sequence based on the control input information Ic supplied from the control input generation unit 35 and the subtask information I4 stored in the application information storage unit 41. To do. In this case, the subtask sequence generation unit 36 recognizes the subtask that can be accepted by the robot 5 by referring to the subtask information I4, and converts the control input for each time step indicated by the control input information Ic into the subtask.
  • the subtask information I4 is a function indicating two subtasks, that is, the movement of the robot hand (reaching) and the grasping of the robot hand (grasping), as the subtasks that the robot 5 can accept when the target task is pick and place.
  • the function "Move” representing leaching takes, for example, the initial state of the robot 5 before the execution of the function, the final state of the robot 5 after the execution of the function, and the time required to execute the function as arguments. It is a function.
  • the function "Grasp” representing glassing is, for example, a function that takes as arguments the state of the robot 5 before the execution of the function, the state of the object to be grasped before the execution of the function, and the logical variable ⁇ .
  • the function "Grasp” indicates that the operation of grasping is performed when the logical variable ⁇ is "1", and the operation of releasing when the logical variable ⁇ is "0" is performed.
  • the subtask sequence generation unit 36 determines the function "Move” based on the trajectory of the robot hand determined by the control input for each time step indicated by the control input information Ic, and the control input information Ic determines the function "Grasp". It is determined based on the transition of the logical variable ⁇ for each time step shown.
  • the subtask sequence generation unit 36 generates a subtask sequence composed of the function "Move” and the function "Grasp", and supplies the control signal S3 indicating the subtask sequence to the robot 5. For example, when the target task is "finally the object 2 exists in the area G", the subtask sequence generation unit 36 uses the function “Move”, the function "Grasp”, and the function "Grasp” for the robot hand closest to the object 2. Generate a subtask sequence of the function "Move” and the function "Grasp". In this case, the robot hand closest to the object 2 moves to the position of the object 2 by the function "Move”, grasps the object 2 by the function "Grasp", and moves to the area G by the function "Move". The object 2 is placed in the region G by the function "Grasp".
  • FIG. 9 is an example of a flowchart showing an outline of robot control processing executed by the information processing apparatus 1 in the first embodiment.
  • the abstract state setting unit 31 of the information processing device 1 generates measurement information Im indicating the measurement result of an object in the work space 6 and sets the abstract state based on the output signal S4 supplied from the measurement device 7. (Step S11).
  • the target logical formula generation unit 32 determines the target logical formula Ltag from the target task designated by the input signal S1 or the like (step S12). In this case, the target logical expression generation unit 32 adds the constraint condition in the execution of the target task to the target logical expression Ltag by referring to the constraint condition information I2.
  • the process of step S12 may be executed before step S11.
  • the time step logical formula generation unit 33 converts the target logical formula Ltag into the time step logical formula Lts representing the state at each time step (step S13).
  • the time step logical formula generation unit 33 determines the target number of time steps, and the logical sum of the candidates ⁇ representing the state at each time step such that the target number of time steps satisfies the target logical formula Ltag is the time step logic. Generated as the formula Lts.
  • the time step logical formula generation unit 33 determines the feasibility of each candidate ⁇ by referring to the operation limit information I3, and time steps the candidate ⁇ determined to be infeasible. Exclude from the formula Lts.
  • the abstract model generation unit 34 determines the abstract model ⁇ suitable for the target task based on the measurement information Im generated in step S11 and the abstract model information I5 (step S14). Then, the control input generation unit 35 satisfies the abstract model ⁇ and the time step logical formula Lts, and determines the control input for optimizing the evaluation function (step S15). Then, the subtask sequence generation unit 36 determines the subtask sequence from the control input determined by the control input generation unit 35, and outputs the control signal S3 indicating the subtask sequence to the robot 5 (step S16).
  • FIG. 10 is an example of a flowchart showing the details of the process of step S13 of FIG.
  • the time step logical expression generation unit 33 sets the target number of time steps to the initial value (step S21).
  • This initial value may be determined based on user input, or may be a value stored in advance in the memory 12 or the storage device 4.
  • the initial value is preferably set to a value smaller than the number of time steps expected to be required to execute the target task (for example, half the number of time steps specified by the user).
  • the time step logical formula generation unit 33 determines a logical formula candidate ⁇ representing a state for each time step that satisfies the target logical formula Ltag with the target number of time steps set in step S21 (step S22). Then, the time step logical formula generation unit 33 determines the feasibility of each candidate ⁇ by referring to the operation limit information I3, and excludes the candidate ⁇ determined to be infeasible (step S23).
  • the time step logical formula generation unit 33 determines whether or not the optimization solution in step S15 of FIG. 9 exists (step S24). In this case, the time step logical formula generation unit 33 satisfies the abstract model ⁇ determined in step S14 and one of the executable candidates ⁇ , and controls and generates the control input to the robot 5 that optimizes the evaluation function. It is determined whether or not the unit 35 can be derived. Then, when the solution of the optimization in step S15 exists (step S24; Yes), the time step logical formula generation unit 33 generates the abstract model generation unit 34 with the time step logical formula Lts in which the candidate ⁇ s are ORed by OR. Is output to (step S25).
  • step S15 when the optimization solution in step S15 does not exist (step S24; No), the time step logical expression generation unit 33 determines that the target task cannot be executed with the currently set target number of time steps. Therefore, in this case, the time step logical expression generation unit 33 adds the target number of time steps by a predetermined value (an integer of 1 or more) (step S26). Then, the time step logical formula generation unit 33 executes the processes of steps S22 to S24 again.
  • a predetermined value an integer of 1 or more
  • the time step logical expression generation unit 33 can preferably set the target time step number so that the target time step number becomes an appropriate value.
  • FIG. 11 is a modification of the robot control process shown in the flowchart of FIG. 9, and is an example of a flowchart showing the robot control process that determines a subtask sequence each time an event occurs.
  • the abstract state setting unit 31 and the target logical formula generation unit 32 perform the same processing as in steps S11 and S12 of FIG. 9, respectively, in step S31 and step S32, respectively.
  • the time step logical formula generation unit 33 converts the target logical formula Ltag into the time step logical formula Lts until the next event occurs (step S33). In this case, the time step logical formula generation unit 33 determines the target number of time steps required until the next event occurs, and the candidate ⁇ representing the state at each time step such that the target logical formula Ltag is satisfied by the target number of time steps. Is generated as the time step formula Lts.
  • the target number of time steps in this case may be determined based on, for example, the method for determining the number of target time steps shown in FIG. 10, or may be set to an appropriate value stored in advance in the storage device 4 or the like.
  • the abstract model generation unit 34 determines the abstract model ⁇ suitable for the target task based on the measurement information Im generated in step S31 and the abstract model information I5 (step S34). If the number or type of the object does not change during the operation of the robot 5, the process of step S34 may be executed only once, and does not need to be executed every time an event occurs. Therefore, if the abstract model generation unit 34 has already executed step S34, the abstract model generation unit 34 may output the abstract model ⁇ obtained in the previous step S34.
  • control input generation unit 35 satisfies the abstract model ⁇ and the time step logical formula Lts, and determines the control input for optimizing the evaluation function (step S35). In this case, the control input generation unit 35 determines the control inputs for the number of time steps required until the next event occurs. Then, the subtask sequence generation unit 36 determines the subtask sequence from the control input determined by the control input generation unit 35, and outputs the control signal S3 indicating the subtask sequence to the robot 5 (step S36).
  • the information processing device 1 determines whether or not the target task has been completed (step S37).
  • the information processing device 1 determines whether or not the target task is completed by recognizing the state of the object or the like based on the output signal S4 supplied from the measuring device 7, for example.
  • the information processing device 1 determines that the target task has been completed when the robot 5 notifies that the subtask sequence has been normally completed. Then, when the target task is completed (step S37; Yes), the information processing apparatus 1 ends the processing of the flowchart.
  • step S38 determines whether or not the next event has occurred.
  • the information processing device 1 determines whether or not an event has occurred by recognizing the state of the object or the like based on the output signal S4 supplied from the measuring device 7, for example.
  • the information processing apparatus 1 determines that an event has occurred when the robot 5 notifies the robot 5 of the normal end of the subtask sequence until the next event occurs.
  • step S38; Yes the information processing apparatus 1 returns the process to step S33.
  • the information processing apparatus 1 re-executes the subtask sequence generation process required for the next event occurrence in steps S33 to S36.
  • step S38 when the event has not occurred (step S38; No), the information processing apparatus 1 returns the process to step S37.
  • FIG. 12 is a schematic configuration diagram of the information processing device 1A according to the second embodiment.
  • the information processing apparatus 1A mainly includes a logical expression conversion unit 322A, a constraint condition information acquisition unit 323A, and a constraint condition addition unit 324A.
  • the logical formula conversion unit 322A converts the target task, which is a task to be performed by the robot, into a logical formula based on the temporal logic.
  • the constraint condition information acquisition unit 323A acquires the constraint condition information I2 indicating the constraint conditions to be satisfied in the execution of the target task.
  • the constraint condition addition unit 324A generates a target logical expression Ltag, which is a logical expression in which a proposition representing the above constraint condition is added to the logical expression generated by the logical expression conversion unit 322A.
  • the information processing device 1A when the target task to be worked by the robot is given, the information processing device 1A preferably generates a target logical expression Ltag that clearly indicates the constraint conditions to be satisfied in the execution of the target task. be able to.
  • FIG. 13 is a schematic configuration diagram of the information processing device 1B according to the third embodiment.
  • the information processing apparatus 1B mainly includes an abstract model information acquisition unit 34X, a measurement information acquisition unit 34Y, and an abstract model generation unit 34Z.
  • the abstract model information acquisition unit 34X acquires the abstract model information I5 relating to the abstract model that abstracts the dynamics in the workspace 6 of the robot 5 that executes the target task.
  • the measurement information acquisition unit 34Y acquires the measurement information Im indicating the measurement result in the work space 6.
  • the abstract model generation unit 34Z generates the abstract model ⁇ based on the abstract model information I5 and the measurement information Im.
  • the abstract model information acquisition unit 34X, the measurement information acquisition unit 34Y, and the abstract model generation unit 34Z are realized by, for example, the abstract model generation unit 34 in the first embodiment.
  • the information processing apparatus 1B preferably generates an abstract model ⁇ that simply represents an actual dynamic model of the robot when a target task to be made to work by the robot is given. be able to.
  • [Appendix 1] An abstract model information acquisition unit that acquires abstract model information about an abstract model that abstracts the dynamics in the workspace of the robot that executes the task.
  • a measurement information acquisition unit that acquires measurement information indicating the measurement results in the work space,
  • An abstract model generation unit that generates the abstract model based on the abstract model information and the measurement information.
  • Information processing device with.
  • Appendix 2 The information processing according to Appendix 1, wherein the abstract model generation unit generates the abstract model based on the information about the robot included in the measurement information and the information about the object to be worked by the robot. apparatus.
  • the abstract model generation unit When the robot executes a task related to pick-and-place, the abstract model generation unit generates a model of a hybrid system that abstractly expresses the action of the robot grasping an object by logical variables as the abstract model. Or the information processing apparatus according to 2.
  • Control input generation that determines the control input for each time step for controlling the robot based on the abstract model and the time step logical expression that is a logical expression that represents the state of each time step to execute the task.
  • the information processing apparatus according to any one of Supplementary note 1 to 3, further comprising a unit.
  • control input generator determines an evaluation function according to the task, and determines an evaluation function.
  • the information processing apparatus according to Appendix 4, wherein the control input generation unit satisfies the abstract model and the time step logical formula, and determines the control input for optimizing the evaluation function.
  • the control input generation unit generates the control input for the number of time steps required for the event required to complete the task to occur, and generates the control input each time the event occurs.
  • the information processing apparatus according to Appendix 4 or 5.
  • Appendix 7 A time step logical expression generator that generates the time step logical expression represented by the number of time steps required to complete the task or the number of time steps required to generate the event required to complete the task.
  • the information processing apparatus according to any one of Appendix 4 to 6, further comprising.
  • the time step logical formula generation unit sets the number of time steps to a predetermined initial value, and keeps the number of time steps until the time step logical formula that allows the control input generation unit to determine the control input is generated.
  • the information processing apparatus according to Appendix 7, which is increased.
  • Appendix 9 The information processing apparatus according to Appendix 8, wherein the time step logical formula generation unit sets the initial value to a value smaller than the number of time steps corresponding to the working time of the task expected by the user.
  • [Appendix 11] Acquires abstract model information about an abstract model that abstracts the dynamics in the workspace of the robot that executes the task. Acquire measurement information indicating the measurement result in the work space, The abstract model is generated based on the abstract model information and the measurement information. Control method.
  • An abstract model information acquisition unit that acquires abstract model information about an abstract model that abstracts the dynamics in the workspace of the robot that executes the task.
  • a measurement information acquisition unit that acquires measurement information indicating the measurement results in the work space,
  • a storage medium in which a program that functions a computer as an abstract model generation unit that generates the abstract model based on the abstract model information and the measurement information is stored.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

情報処理装置1Bは、主に、抽象モデル情報取得部34Xと、計測情報取得部34Yと、抽象モデル生成部34Zと、を有する。抽象モデル情報取得部34Xは、指定されたタスクである目的タスクを実行するロボット5の作業空間6におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報I5を取得する。計測情報取得部34Yは、作業空間6における計測結果を示す計測情報Imを取得する。抽象モデル生成部34Zは、抽象モデル情報I5と、計測情報Imとに基づき、抽象モデルΣを生成する。

Description

情報処理装置、制御方法及び記憶媒体
 本発明は、ロボットに作業させるタスクに関する処理を行う情報処理装置、制御方法及び記憶媒体の技術分野に関する。
 ロボットに作業させるタスクが与えられた場合に、当該タスクを実行するために必要なロボットの制御を行う制御手法が提案されている。例えば、特許文献1には、ハンドを有するロボットにより複数の物品を把持して容器に収容する場合に、ハンドが物品を把持する順序の組み合わせを決定し、組み合わせ毎に算出した指標に基づき、収容する物品の順序を決定するロボット制御装置が開示されている。
特開2018-51684号公報
 ロボットにタスクを実行させる制御入力を決定する場合、与えられたタスク及び作業環境に応じたダイナミクスのモデルを設定する必要があるが、このようなモデルを人手により指定するのは手間がかかるという問題がある。また、ロボット全体の詳細なダイナミクスを考慮した場合、制御入力を決定するための最適化処理が煩雑化するという問題も生じる。一方、特許文献1には、これらの問題を解決するダイナミクスのモデルの設定方法については、何ら開示されていない。
 本発明の目的は、上述した課題を鑑み、ロボットの作業空間におけるダイナミクスのモデルを好適に生成することが可能な情報処理装置、制御方法及び記憶媒体を提供することを主な課題とする。
 情報処理装置の一の態様は、情報処理装置であって、タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得する抽象モデル情報取得部と、前記作業空間における計測結果を示す計測情報を取得する計測情報取得部と、前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する抽象モデル生成部と、を有する
 制御方法の一の態様は、情報処理装置が実行する制御方法であって、タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得し、前記作業空間における計測結果を示す計測情報を取得し、前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する。
 記憶媒体の一の態様は、タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得する抽象モデル情報取得部と、前記作業空間における計測結果を示す計測情報を取得する計測情報取得部と、前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する抽象モデル生成部としてコンピュータを機能させるプログラムが格納された記憶媒体である。
 本発明によれば、ロボットの作業空間におけるダイナミクスを抽象化したモデルを好適に生成することができる。
ロボット制御システムの構成を示す。 情報処理装置のハードウェア構成を示す。 アプリケーション情報のデータ構造の一例を示す。 情報処理装置の機能ブロックの一例である。 作業空間の俯瞰図を示す。 目標論理式生成部の機能的なブロック構成図である。 タスク入力画面の第1表示例を示す。 タスク入力画面の第2表示例を示す。 ロボット制御処理の概要を示すフローチャートの一例である。 図9のステップS13の処理の詳細を表すフローチャートの一例である。 図9のフローチャートが示すロボット制御処理の変形例を示すフローチャートの一例である。 第2実施形態における情報処理装置の概略構成図である。 第3実施形態における情報処理装置の概略構成図である。
 以下、図面を参照しながら、情報処理装置、制御方法及び記憶媒体の実施形態について説明する。
 <第1実施形態>
 (1)システム構成
 図1は、第1実施形態に係るロボット制御システム100の構成を示す。ロボット制御システム100は、主に、情報処理装置1と、入力装置2と、表示装置3と、記憶装置4と、ロボット5と、計測装置7と、を備える。
 情報処理装置1は、ロボット5に実行させるタスク(「目的タスク」とも呼ぶ。)が指定された場合に、ロボット5が受付可能な単純なタスクのタイムステップ(時間刻み)毎のシーケンスに目的タスクを変換し、当該シーケンスをロボット5に供給する。以後では、ロボット5が受付可能な単純なタスク(コマンド)を、「サブタスク」とも呼ぶ。
 情報処理装置1は、入力装置2、表示装置3及び記憶装置4と電気的に接続している。例えば、情報処理装置1は、入力装置2から、目的タスクを指定するための入力信号「S1」を受信する。また、情報処理装置1は、表示装置3に対し、ロボット5に実行させるタスクに関する表示を行うための表示信号「S2」を送信する。また、情報処理装置1は、ロボット5の制御に関する制御信号「S3」をロボット5に送信する。例えば、情報処理装置1は、制御信号S3として、ロボットハンド52毎に実行させるサブタスクのシーケンス(「サブタスクシーケンス」とも呼ぶ。)を、ロボット5に送信する。さらに、情報処理装置1は、計測装置7から出力信号「S4」を受信する。
 入力装置2は、ユーザの入力を受け付けるインターフェースであり、例えば、タッチパネル、ボタン、キーボード、音声入力装置などが該当する。入力装置2は、ユーザの入力に基づき生成した入力信号S1を情報処理装置1へ供給する。
 表示装置3は、例えば、ディスプレイ、プロジェクタ等であり、情報処理装置1から供給される表示信号S2に基づき、所定の表示を行う。後述するように、例えば、表示装置3は、表示信号S2に基づき、目的タスクに関する情報を指定する入力画面(「タスク入力画面」とも呼ぶ。)を表示する。
 記憶装置4は、アプリケーション情報記憶部41を有する。アプリケーション情報記憶部41は、目的タスクからサブタスクのシーケンスを生成するために必要なアプリケーション情報を記憶する。アプリケーション情報の詳細は後述する。記憶装置4は、情報処理装置1に接続又は内蔵されたハードディスクなどの外部記憶装置であってもよく、フラッシュメモリなどの記憶媒体であってもよい。また、記憶装置4は、情報処理装置1とデータ通信を行うサーバ装置であってもよい。この場合、記憶装置4は、複数のサーバ装置から構成されてもよい。
 ロボット5は、情報処理装置1から送信された制御信号S3に基づき動作を行う。図1に示すロボット5は、一例として、物を把持可能な複数(2つ)のロボットアーム52を制御対象として有し、作業空間6内に存在する対象物61のピックアンドプレイス(摘み上げて移動させる処理)を行う。ロボット5は、ロボット制御部51を有する。ロボット制御部51は、制御信号S3によりロボットアーム52毎に指定されたサブタスクシーケンスに基づき、各ロボットアーム52の動作制御を行う。
 作業空間6は、ロボット5が目的タスクを実行する作業空間であり、図1では、一例として、ロボット5による作業対象となる複数の対象物61と、ロボット5の作業において障害となる障害物62とが存在している。
 計測装置7は、作業空間6内を計測対象範囲として計測を行うカメラ、測域センサ、ソナーまたはこれらの組み合わせとなる1又は複数の外界センサである。計測装置7は、生成した出力信号S4を情報処理装置1に供給する。出力信号S4は、作業空間6内を撮影した画像データであってもよく、作業空間6内の物体の位置を示す点群データであってもよい。
 なお、図1に示すロボット制御システム100の構成は一例であり、当該構成に種々の変更が行われてもよい。例えば、ロボット5は複数台存在してもよい。また、ロボット5は、ロボットアーム52を1つのみ又は3つ以上備えてもよい。これらの場合であっても、情報処理装置1は、目的タスクに基づき、ロボット5の制御対象毎に実行すべきサブタスクシーケンスを生成し、当該サブタスクシーケンスを示す制御信号S3を、対象の制御対象を有するロボット5に送信する。また、計測装置7は、ロボット5の一部であってもよい。また、ロボット制御部51は、ロボット5とは別体に構成されてもよい。また、入力装置2及び表示装置3は、夫々、情報処理装置1に内蔵されるなどの態様により、情報処理装置1と同一の装置(例えばタブレット型端末)として構成されてもよい。また、情報処理装置1は、複数の装置から構成されてもよい。この場合、情報処理装置1を構成する複数の装置は、予め割り当てられた処理を実行するために必要な情報の授受を、これらの複数の装置間において行う。また、情報処理装置1の少なくとも一部の機能を、ロボット5が有してもよい。
 (2)情報処理装置のハードウェア構成
 図2は、情報処理装置1のハードウェア構成を示す。情報処理装置1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス19を介して接続されている。
 プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、所定の処理を実行する。プロセッサ11は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)などのプロセッサである。
 メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)などの各種のメモリにより構成される。また、メモリ12には、情報処理装置1が所定の処理を実行するためのプログラムが記憶される。また、メモリ12は、作業メモリとして使用され、記憶装置4から取得した情報等を一時的に記憶する。なお、メモリ12は、記憶装置4として機能してもよい。同様に、記憶装置4は、情報処理装置1のメモリ12として機能してもよい。なお、情報処理装置1が実行するプログラムは、メモリ12以外の記憶媒体に記憶されてもよい。
 インターフェース13は、情報処理装置1と他の装置とを電気的に接続するためのインターフェースである。例えば、インターフェース13は、情報処理装置1と入力装置2とを接続するためのインターフェース、情報処理装置1と表示装置3とを接続するためのインターフェース、及び情報処理装置1と記憶装置4とを接続するためのインターフェースを含む。また、インターフェース13は、情報処理装置1とロボット5とを接続するためのインターフェース、及び情報処理装置1と計測装置7とを接続するためのインターフェースを含む。これらの接続は、有線接続であってもよく、無線接続であってもよい。例えば、情報処理装置1と記憶装置4とを接続するためのインターフェースは、プロセッサ11の制御に基づき記憶装置4とデータの送受信を有線又は無線により行うための通信インターフェースであってもよい。他の例では、情報処理装置1と記憶装置4とは、ケーブル等により接続されてもよい。この場合、インターフェース13は、記憶装置4とデータの授受を行うためのUSB、SATA(Serial AT Attachment)などに準拠したインターフェースを含む。
 なお、情報処理装置1のハードウェア構成は、図2に示す構成に限定されない。例えば、情報処理装置1は、入力装置2、表示装置3及び記憶装置4の少なくとも一方を含んでもよい。また、情報処理装置1は、スピーカなどの音出力装置と接続又は内蔵してもよい。これらの場合、情報処理装置1は、入力機能及び出力機能が本体と一体となったタブレット型端末等であってもよい。
 (3)アプリケーション情報
 次に、アプリケーション情報記憶部41が記憶するアプリケーション情報のデータ構造について説明する。
 図3は、アプリケーション情報記憶部41に記憶されるアプリケーション情報のデータ構造の一例を示す。図3に示すように、アプリケーション情報記憶部41は、抽象状態指定情報I1と、制約条件情報I2と、動作限界情報I3と、サブタスク情報I4と、抽象モデル情報I5と、物体モデル情報I6とを含む。
 抽象状態指定情報I1は、サブタスクシーケンスの生成にあたり定義する必要がある抽象状態を指定する情報である。この抽象状態は、作業空間6内における物体の抽象的な状態であって、後述する目標論理式において使用する命題として定められる。例えば、抽象状態指定情報I1は、目的タスクの種類毎に、定義する必要がある抽象状態を指定する。なお、目的タスクは、例えば、ピックアンドプレイス、移動物体の捕獲、ねじ回しなどの種々の種類のタスクであってもよい。
 制約条件情報I2は、目的タスクを実行する際の制約条件を示す情報である。制約条件情報I2は、例えば、目的タスクがピックアンドプレイスの場合、障害物にロボット5(ロボットアーム52)が接触してはいけないという制約条件、ロボットアーム52同士が接触してはいけないという制約条件などを示す。なお、制約条件情報I2は、目的タスクの種類毎に夫々適した制約条件を記録した情報であってもよい。
 動作限界情報I3は、情報処理装置1により制御が行われるロボット5の動作限界に関する情報を示す。動作限界情報I3は、例えば、図1に示すロボット5の場合には、ロボットアーム52のリーチングの最高速度等を規定する情報である。
 サブタスク情報I4は、ロボット5が受付可能なサブタスクの情報を示す。例えば、目的タスクがピックアンドプレイスの場合には、サブタスク情報I4は、ロボットアーム52の移動であるリーチングと、ロボットアーム52による把持であるグラスピングとをサブタスクとして規定する。サブタスク情報I4は、目的タスクの種類毎に使用可能なサブタスクの情報を示すものであってもよい。
 抽象モデル情報I5は、作業空間6におけるダイナミクスを抽象化したモデル(「抽象モデル」とも呼ぶ。)に関する情報である。抽象モデルは、後述するように、現実のダイナミクスをハイブリッドシステムにより抽象化したモデルにより表されている。抽象モデル情報I5は、上述のハイブリッドシステムにおけるダイナミクスの切り替わりの条件を示す情報を含む。切り替わりの条件は、例えば、図1に示すピックアンドプレイスの場合、対象物61はロボットアーム52の手先により把持されなければ移動できないという条件などが該当する。抽象モデル情報I5は、目的タスクの種類毎に適した抽象モデルに関する情報を有している。
 物体モデル情報I6は、計測装置7が生成した出力信号S4から認識すべき各物体(図1の例では、ロボットアーム52、対象物61、及び障害物62など)の物体モデルに関する情報である。上述の物体モデルは、例えば、ニューラルネットワークなどの機械学習における学習モデルである。この学習モデルは、例えば、出力信号S4により計測対象となった物体の種類及び位置等を出力するように学習され、学習済みの学習モデルのパラメータが物体モデル情報I6に記録される。他の例では、物体モデル情報I6は、認識すべき物体のCADデータを含んでもよい。
 なお、アプリケーション情報記憶部41は、上述した情報の他、サブタスクシーケンスの生成処理に関する種々の情報を記憶してもよい。例えば、アプリケーション情報記憶部41は、ロボット5自身の動的モデル、抽象化されたロボットアーム52の動的モデル、及びロボットアーム52により対象物61を把持する所要時間を算出する簡易モデルなどを含んでもよい。
 (4)機能ブロック
 図4は、情報処理装置1の機能ブロックの一例である。情報処理装置1のプロセッサ11は、機能的には、抽象状態設定部31と、目標論理式生成部32と、タイムステップ論理式生成部33と、抽象モデル生成部34と、制御入力生成部35と、サブタスクシーケンス生成部36とを有する。なお、図4では、各ブロック間で授受が行われるデータの一例が示されているが、これに限定されない。
 抽象状態設定部31は、計測装置7から供給される出力信号S4に基づき、作業空間6内における計測結果を示す情報(「計測情報Im」とも呼ぶ。)を生成する。具体的には、抽象状態設定部31は、出力信号S4を受信した場合に、物体モデル情報I6等を参照し、目的タスクの実行に関連する作業空間6内の各物体の種類(対象物61、障害物62等の分類)及び位置等を認識し、この認識結果を、計測情報Imとして生成する。抽象状態設定部31は、生成した計測情報Imを、抽象モデル生成部34に供給する。
 また、抽象状態設定部31は、上述の計測情報Im及びアプリケーション情報記憶部41から取得した抽象状態指定情報I1等に基づき、目的タスクを実行する際に考慮する必要がある作業空間6内の抽象状態を設定する。この場合、抽象状態設定部31は、各抽象状態に対し、論理式で表すための命題を定義する。抽象状態設定部31は、設定した抽象状態を示す情報(「抽象状態設定情報Is」とも呼ぶ。)を目標論理式生成部32に供給する。
 目標論理式生成部32は、目的タスクに関する入力信号S1を入力装置2から受信した場合に、抽象状態設定情報Isに基づき、入力信号S1が示す目的タスクを、最終的な達成状態を表す時相論理の論理式(「目標論理式Ltag」とも呼ぶ。)に変換する。この場合、目標論理式生成部32は、アプリケーション情報記憶部41から制約条件情報I2を参照することで、目的タスクの実行において満たすべき制約条件を、目標論理式Ltagに付加する。そして、目標論理式生成部32は、生成した目標論理式Ltagを、タイムステップ論理式生成部33に供給する。また、目標論理式生成部32は、目的タスクに関する入力を受け付けるタスク入力画面を表示するための表示信号S2を生成し、当該表示信号S2を表示装置3に供給する。
 タイムステップ論理式生成部33は、目標論理式生成部32から供給された目標論理式Ltagを、各タイムステップでの状態を表した論理式(「タイムステップ論理式Lts」とも呼ぶ。)に変換する。そして、タイムステップ論理式生成部33は、生成したタイムステップ論理式Ltsを、制御入力生成部35に供給する。
 抽象モデル生成部34は、計測情報Imと、アプリケーション情報記憶部41が記憶する抽象モデル情報I5とに基づき、作業空間6における現実のダイナミクスを抽象化した抽象モデル「Σ」を生成する。この場合、抽象モデル生成部34は、対象のダイナミクスを連続ダイナミクスと離散ダイナミクスとが混在したハイブリッドシステムとみなし、ハイブリッドシステムに基づく抽象モデルΣを生成する。抽象モデルΣの生成方法については後述する。抽象モデル生成部34は、生成した抽象モデルΣを、制御入力生成部35へ供給する。
 制御入力生成部35は、タイムステップ論理式生成部33から供給されるタイムステップ論理式Ltsと、抽象モデル生成部34から供給される抽象モデルΣとを満たし、評価関数を最適化するタイムステップ毎のロボット5への制御入力を決定する。そして、制御入力生成部35は、ロボット5へのタイムステップ毎の制御入力を示す情報(「制御入力情報Ic」とも呼ぶ。)を、サブタスクシーケンス生成部36へ供給する。
 サブタスクシーケンス生成部36は、制御入力生成部35から供給される制御入力情報Icと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、サブタスクシーケンスを生成し、サブタスクシーケンスを示す制御信号S3を、ロボット5へ供給する。
 (5)ブロック毎の処理詳細
 次に、図4に示す機能ブロックごとの処理の詳細について、具体例を用いて説明する。
 (5-1)抽象状態設定部
 抽象状態設定部31は、計測装置7から供給される出力信号S4に基づき、作業空間6内の物体の計測結果(種類、位置等)を示す計測情報Imを生成すると共に、作業空間6内の抽象状態を設定する。この場合、抽象状態設定部31は、抽象状態指定情報I1を参照し、作業空間6内において設定すべき抽象状態を認識する。なお、作業空間6内において設定すべき抽象状態は、目的タスクの種類によって異なる。よって、目的タスクの種類毎に設定すべき抽象状態が抽象状態指定情報I1に規定されている場合には、抽象状態設定部31は、入力信号S1により指定された目的タスクに対応する抽象状態指定情報I1を参照し、設定すべき抽象状態を認識する。
 図5は、作業空間6の俯瞰図を示す。図5に示す作業空間6には、2つのロボットアーム52a、52bと、4つの対象物61a~61dと、障害物62とが存在している。
 この場合、抽象状態設定部31は、まず、計測装置7から受信した出力信号S4を、物体モデル情報I6等を用いて解析することで、対象物61の状態、障害物62の存在範囲、ゴール地点として設定される領域Gの存在範囲等を認識する。ここでは、抽象状態設定部31は、対象物61a~61dの各々の中心の位置ベクトル「x」~「x」を、対象物61a~61dの位置として認識する。また、抽象状態設定部31は、対象物を把持するロボットハンド53aの位置ベクトル「xr1」と、ロボットハンド53bの位置ベクトル「xr2」とを、ロボットアーム52aとロボットアーム52bの位置として認識する。同様に、抽象状態設定部31は、対象物61a~61dの姿勢(図5の例では対象物が球状のため不要)等、障害物62の存在範囲、領域Gの存在範囲等を認識する。なお、抽象状態設定部31は、例えば、障害物62を直方体とみなし、領域Gを矩形とみなす場合には、障害物62及び領域Gの各頂点の位置ベクトルを認識する。そして、抽象状態設定部31は、出力信号S4に基づくこれらの認識結果を、計測情報Imとして生成する。
 また、抽象状態設定部31は、抽象状態指定情報I1を参照することで、目的タスクにおいて定義すべき抽象状態を決定する。この場合、抽象状態設定部31は、計測情報Imに基づき、作業空間6内に存在する物体及び領域を認識し、当該物体及び領域に関する認識結果(例えば物体及び領域の種類毎の個数)と制約条件情報I2とに基づき、抽象状態を示す命題を定める。
 図5の例では、抽象状態設定部31は、計測情報Imにより特定される対象物61a~61dに対し、夫々識別ラベル「1」~「4」を付す。また、抽象状態設定部31は、対象物「i」(i=1~4)が最終的に載置されるべき目標地点である領域G(破線枠63参照)内に存在するという命題「g」を定義する。また、抽象状態設定部31は、計測情報Imにより特定される障害物62に対して識別ラベル「O」を付し、対象物iが障害物Oに干渉しているという命題「o」を定義する。さらに、抽象状態設定部31は、ロボットアーム52同士が干渉するという命題「h」を定義する。
 このように、抽象状態設定部31は、抽象状態指定情報I1を参照することで、定義すべき抽象状態を認識し、当該抽象状態を表す命題(上述の例ではg、o、h)を、対象物61の数、ロボットアーム52の数、障害物62の数等に応じてそれぞれ定義する。そして、抽象状態設定部31は、抽象状態を表す命題を示す情報を、抽象状態設定情報Isとして目標論理式生成部32に供給する。
 (5-2)目標論理式生成部
 図6は、目標論理式生成部32の機能的なブロック構成図である。図6に示すように、目標論理式生成部32は、機能的には、入力受付部321と、論理式変換部322と、制約条件情報取得部323と、制約条件付加部324とを有する。
 入力受付部321は、目的タスクの種類と、前記ロボットの作業対象となる対象物の最終状態と、を指定する入力信号S1の入力を受け付ける。また、入力受付部321は、これらの入力を受け付けるタスク入力画面の表示信号S2を、表示装置3に送信する。
 論理式変換部322は、入力信号S1により指定された目的タスクを、時相論理を用いた論理式に変換する。なお、自然言語で表されたタスクを論理式に変換する方法は、種々の既存技術が存在する。例えば、論理式変換部322は、図5の例において、「最終的に対象物2が領域Gに存在する」という目的タスクが与えられたとする。この場合、論理式変換部322は、目的タスクを線形論理式(LTL:Linear Temporal Logic)の「eventually」に相当する演算子「◇」と、抽象状態設定部31により定義された命題「g」と用いて、論理式「◇g」を生成する。なお、論理式変換部322は、演算子「◇」以外の任意の時相論理の演算子(論理積「∧」、論理和「∨」、否定「¬」、論理包含「⇒」、always「□」、next「○」、until「U」等)を用いて論理式を表現してもよい。また、線形時相論理に限らず、MTL(Metric Temporal Logic)やSTL(Signal Temporal Logic)などの任意の時相論理を用いて論理式を表現してもよい。
 制約条件情報取得部323は、アプリケーション情報記憶部41から制約条件情報I2を取得する。なお、タスクの種類毎に制約条件情報I2がアプリケーション情報記憶部41に記憶されている場合には、制約条件情報取得部323は、入力信号S1により指定された目的タスクの種類に対応する制約条件情報I2を、アプリケーション情報記憶部41から取得する。
 制約条件付加部324は、制約条件情報取得部323が取得した制約条件情報I2が示す制約条件を、論理式変換部322が生成した論理式に付加することで、目標論理式Ltagを生成する。
 例えば、ピックアンドプレイスに対応する制約条件として、「ロボットアーム52同士が干渉しない」、「対象物iは障害物Oに干渉しない」の2つが制約条件情報I2に含まれていた場合、制約条件付加部324は、これらの制約条件を論理式に変換する。具体的には、制約条件付加部324は、図5の説明において抽象状態設定部31により定義された命題「o」及び命題「h」を用いて、上述の2つの制約条件を、夫々以下の論理式に変換する。
       □¬h
       ∧□¬o
 よって、この場合、制約条件付加部324は、「最終的に対象物2が領域Gに存在する」という目的タスクに対応する論理式「◇g」に、これらの制約条件の論理式を付加することで、以下の目標論理式Ltagを生成する。
       (◇g)∧(□¬h)∧(∧□¬o
 なお、実際には、ピックアンドプレイスに対応する制約条件は、上述した2つに限られず、「ロボットアーム52が障害物Oに干渉しない」、「複数のロボットアーム52が同じ対象物を掴まない」、「対象物同士が接触しない」などの制約条件が存在する。このような制約条件についても同様に、制約条件情報I2に記憶され、目標論理式Ltagに反映される。
 次に、タスク入力画面での目的タスクに関する入力例について説明する。
 図7は、タスク入力画面の第1表示例を示す。入力受付部321は、表示信号S2を生成し、当該表示信号S2を表示装置3に送信することで、表示装置3に図7に示すタスク入力画面を表示させている。図7に示すタスク入力画面は、主に、タスク種類指定欄15と、画像表示欄16と、見込み作業時間指定欄17と、算出作業時間表示領域18と、決定ボタン20とを有する。
 入力受付部321は、タスク種類指定欄15において、目的タスクの種類を指定する入力を受け付ける。ここでは、一例として、タスク種類指定欄15はプルダウンメニュー形式の入力欄であり、入力受付部321は、受付可能な目的タスクの種類の候補を、タスク種類指定欄15において選択可能に一覧表示する。ここでは、タスク種類指定欄15には、ピックアンドプレイスが目的タスクの種類として指定されている。
 また、入力受付部321は、画像表示欄16において、物体モデル情報I6に記憶された対象物61のCADモデルなどを用い、作業空間6内の環境を再現したCAD画像を表示する。この場合、入力受付部321は、例えば、抽象状態設定部31が生成した計測情報Imと、CADデータを記録した物体モデル情報I6とに基づき、作業空間6内の環境を再現したCAD画像を生成する。
 そして、入力受付部321は、画像表示欄16上でのタッチパネル操作又はマウスによるドラッグアンドドロップ操作等に基づき、各対象物61の最終的な位置を指定する入力を受け付ける。そし、入力受付部321は、タスク種類指定欄15及び画像表示欄16での入力を示す入力信号S1に基づき、目的タスクを認識する。
 好適には、入力受付部321は、各対象物61に対する最終位置の入力を画像表示欄16において受け付けた場合、ロボット5が目的タスクを実行するアニメーションを画像表示欄16上に表示してもよい。言い換えると、入力受付部321は、指定された最終位置に対象物61がロボット5により運ばれるまでの作業空間6内の変化を示すアニメーションを、画像表示欄16上に表示してもよい。この場合、入力受付部321は、例えば、目的タスクを変換した目標論理式Ltagに基づき得られる制御入力情報Ic又はサブタスクシーケンスに基づき、タイムステップ毎のロボット5の動作及び各対象物61の位置変化等を認識する。そして、入力受付部321は、この認識結果に基づき生成したアニメーションを、画像表示欄16上に表示する。
 なお、入力受付部321は、画像表示欄16上において、作業空間6のCAD画像を表示する代わりに、作業空間6の俯瞰図を表す2次元画像を表示してもよい。この場合においても、入力受付部321は、画像表示欄16上でのタッチパネル操作又はマウスによるドラッグアンドドロップ操作等に基づき、各対象物61の最終位置の指定を好適に受け付けることが可能である。
 また、入力受付部321は、見込み作業時間指定欄17において、目的タスクの作業の見込み時間の入力を受け付ける。好適には、入力受付部321は、見込み作業時間指定欄17で指定された見込み時間を、タイムステップ論理式生成部33に供給するとよい。この場合、タイムステップ論理式生成部33は、通知された見込み時間から、目標タイムステップ数を好適に決定することができる。
 また、入力受付部321は、算出作業時間表示領域18に、情報処理装置1が算出した目的タスクの作業の見込み時間を表示する。この場合、入力受付部321は、例えば、タスク入力画面において指定された目的タスクを変換した目標論理式Ltagに基づき必要なタイムステップ数を算出することで、上述の見込み時間を表示する。なお、入力受付部321は、指定された目的タスクが達成できない場合、例えば当該目的タスクに基づく制御入力情報Icを制御入力生成部35が生成できない場合、エラーが発生した旨を算出作業時間表示領域18に表示する。これにより、入力受付部321は、タスク入力画面での対象物の位置などの再入力を促す。
 そして、入力受付部321は、決定ボタン20が選択されたことを検知した場合、タスク入力画面での入力内容を示す入力信号S1に基づき認識した目的タスクの情報を論理式変換部322に供給する。その後、情報処理装置1は、制御信号S3を生成し、生成した制御信号S3をロボット5に送信することで、ロボット5に目的タスクを実行させる。
 図8は、タスク入力画面の第2表示例を示す。入力受付部321は、表示信号S2を表示装置3に送信することで、表示装置3に図8に示すタスク入力画面を表示させている。第2表示例では、入力受付部321は、作業空間6に関するCAD画像を表示する第1表示例の画像表示欄16に代えて、対象物毎に最終位置を指定するためのテーブル欄16Aをタスク入力画面上に表示させている。
 ここで、テーブル欄16Aは、「対象物」、「初期位置」及び「最終位置」の各項目を有する。項目「対象物」には、ラベル付けされた各対象物61の識別ラベルが表示される。項目「初期位置」には、各対象物61の作業空間6内での初期位置を示す座標値が表示される。この座標値は、作業空間6内において定義される座標値である。項目「最終位置」は、入力欄となっており、各対象物61の入力が可能となっている。図8の例では、入力受付部321は、最終位置を示す座標値又は定義されている領域名(図8では「領域G」)を指定する入力を受け付ける。なお、入力受付部321は、項目「最終位置」の任意の入力欄が選択された場合に、作業空間6を模式的に示した画像(例えば画像表示欄16で表示された画像)を表示し、当該画像内で対象の対象物61の最終位置を指定する入力を受け付けてもよい。
 (5-3)目標論理式生成部
 タイムステップ論理式生成部33は、目的タスクを完了するタイムステップ数(「目標タイムステップ数」とも呼ぶ。)を定め、目標タイムステップ数で目標論理式Ltagを満たすような各タイムステップでの状態を表す命題の組み合わせを定める。この組み合わせは、通常複数存在するため、タイムステップ論理式生成部33は、これらの組み合わせを論理和により結合した論理式を、タイムステップ論理式Ltsとして生成する。上述の組み合わせは、ロボット5に命令する動作のシーケンスを表す論理式の候補となり、以後では「候補φ」とも呼ぶ。
 ここで、図5の説明において例示した「最終的に対象物2が領域Gに存在する」という目的タスクが設定された場合のタイムステップ論理式生成部33の処理の具体例について説明する。
 この場合、タイムステップ論理式生成部33は、目標論理式Ltagとして、「(◇g)∧(□¬h)∧(∧□¬o)」が目標論理式生成部32から供給される。この場合、タイムステップ論理式生成部33は、命題「g」をタイムステップの概念を含むように拡張した命題「gi,k」を用いる。ここで、命題「gi,k」は、「タイムステップkで対象物iが領域Gに存在する」という命題である。ここで、目標タイムステップ数を「3」とした場合、目標論理式Ltagは、以下のように書き換えられる。
       (◇g2,3)∧(∧k=1,2,3□¬h)∧(∧i,k=1,2,3□¬o
 また、◇g2,3は、以下の式に示すように書き換えることが可能である。
Figure JPOXMLDOC01-appb-M000001
 このとき、上述した目標論理式Ltagは、以下に示す4つの候補「φ」~「φ」の論理和(φ∨φ∨φ∨φ)により表される。
Figure JPOXMLDOC01-appb-M000002
 よって、タイムステップ論理式生成部33は、4つの候補φ~φの論理和をタイムステップ論理式Ltsとして定める。この場合、タイムステップ論理式Ltsは、4つの候補φ~φの少なくともいずれかが真となる場合に真となる。
 好適には、タイムステップ論理式生成部33は、生成された候補に対し、動作限界情報I3を参照することで、実現可能性を判定し、実現不可と判定した候補を除外するとよい。例えば、タイムステップ論理式生成部33は、動作限界情報I3に基づき、ロボットハンドが1タイムステップ当たりに移動可能な距離を認識する。また、タイムステップ論理式生成部33は、計測情報Imが示す各対象物及びロボットハンドの位置ベクトルに基づき、移動対象となる対象物(対象物2)とロボットハンドとの距離を認識する。そして、タイムステップ論理式生成部33は、これらの距離に基づき、実現可能性を判定する。
 例えば、タイムステップ論理式生成部33は、ロボットハンド53a及びロボットハンド53bがいずれも、対象物2との距離が1タイムステップ当たりの移動可能距離よりも長いと判定した場合、上述の候補φ及び候補φは実現不可と判定する。この場合、タイムステップ論理式生成部33は、候補φ及び候補φをタイムステップ論理式Ltsから除外する。この場合、タイムステップ論理式Ltsは、候補φと候補φとの論理和(φ∨φ)となる。
 このように、タイムステップ論理式生成部33は、動作限界情報I3を参照して実現不可能な候補をタイムステップ論理式Ltsから除外することで、後段の処理部の処理負荷を好適に低減させることができる。
 次に、目標タイムステップ数の設定方法について補足説明する。
 タイムステップ論理式生成部33は、例えば、ユーザ入力により指定された作業の見込み時間(図7及び図8の見込み作業時間指定欄17参照)に基づき、目標タイムステップ数を決定する。この場合、タイムステップ論理式生成部33は、メモリ12又は記憶装置4に記憶された、1タイムステップ当たりの時間幅の情報に基づき、上述の見込み時間から目標タイムステップ数を算出する。他の例では、タイムステップ論理式生成部33は、目的タスクの種類毎に適した目標タイムステップ数を対応付けた情報を予めメモリ12又は記憶装置4に記憶しておき、当該情報を参照することで、実行すべき目的タスクの種類に応じた目標タイムステップ数を決定する。
 好適には、タイムステップ論理式生成部33は、目標タイムステップ数を所定の初期値に設定する。そして、タイムステップ論理式生成部33は、制御入力生成部35が制御入力を決定できるタイムステップ論理式Ltsが生成されるまで、目標タイムステップ数を徐々に増加させる。この場合、タイムステップ論理式生成部33は、設定した目標タイムステップ数により制御入力生成部35が最適化処理を行った結果、最適解を導くことができなかった場合、目標タイムステップ数を所定数(1以上の整数)だけ加算する。
 このとき、タイムステップ論理式生成部33は、目標タイムステップ数の初期値を、ユーザが見込む目的タスクの作業時間に相当するタイムステップ数よりも小さい値(例えば、見込み作業時間指定欄17において指定された見込み時間の半分等)に設定するとよい。これにより、タイムステップ論理式生成部33は、不必要に大きな目標タイムステップ数を設定することを好適に抑制する。
 上述の目標タイムステップ数の設定方法による効果について補足説明する。一般に、目標タイムステップ数が大きいほど、制御入力生成部35による最適化処理において最適解が存在する可能性が高くなる一方で、最低化処理等の処理負荷や目的タスク達成に要するロボット5の所要時間が長くなる。以上を勘案し、タイムステップ論理式生成部33は、目標タイムステップ数の初期値を小さい値とし、制御入力生成部35の最適化処理における解が存在するまで徐々に目標タイムステップ数を大きくする。これにより、タイムステップ論理式生成部33は、制御入力生成部35の最適化処理における解が存在する範囲において可能な限り少ない目標タイムステップ数を設定することができる。従って、この場合、最適化処理における処理負荷の低減、及び、目的タスク達成に要するロボット5の所要時間の短縮を実現することができる。
 (5-4)抽象モデル生成部
 抽象モデル生成部34は、計測情報Imと、抽象モデル情報I5とに基づき、抽象モデルΣを生成する。ここで、抽象モデル情報I5には、目的タスクの種類毎に、抽象モデルΣの生成に必要な情報が記録されている。例えば、目的タスクがピックアンドプレイスの場合には、対象物の位置や数、対象物を置く領域の位置、ロボット5の台数(又はロボットアーム52の数)等を特定しない汎用的な形式の抽象モデルが抽象モデル情報I5に記録されている。そして、抽象モデル生成部34は、抽象モデル情報I5に記録された汎用的な形式の抽象モデルに対し、計測情報Imが示す対象物の位置や数、対象物を置く領域の位置、ロボット5の台数等を反映することで、抽象モデルΣを生成する。
 ここで、ロボット5による目的タスクの作業時においては、作業空間6内のダイナミクスが頻繁に切り替わる。例えば、ピックアンドプレイスでは、ロボットアーム52が対象物iを掴んでいる場合には、当該対象物iは動くが、ロボットアーム52が対象物iを掴んでない場合には、当該対象物iは動かない。
 以上を勘案し、本実施形態においては、ピックアンドプレイスの場合、対象物iを掴むという動作を論理変数「δ」により抽象表現する。この場合、例えば、抽象モデル生成部34は、図5に示す作業空間6に対して設定すべき抽象モデルΣを、以下の式(1)により定めることができる。
Figure JPOXMLDOC01-appb-M000003
 ここで、「u」は、ロボットハンドj(「j=1」はロボットハンド53a、「j=2」はロボットハンド53b)を制御するための制御入力を示し、「I」は単位行列を示す。なお、制御入力は、ここでは、一例として速度を想定しているが、加速度であってもよい。また、「δj,i」は、ロボットハンドjが対象物iを掴んだ場合に「1」となり、その他の場合に「0」となる論理変数である。また、「xr1」、「xr2」は、ロボットハンドjの位置ベクトル、「x」~「x」は、対象物iの位置ベクトルを示す。また、「h(x)」は、対象物を掴める程度に対象物の近傍にロボットハンドが存在する場合に「h(x)≧0」となる変数であり、論理変数δとの間で以下の関係を満たす。
       δ=1 ⇔ h(x)≧0
 ここで、式(1)は、タイムステップkでの物体の状態とタイムステップk+1での物体の状態との関係を示した差分方程式である。そして、上記の式(1)では、把持の状態が離散値である論理変数により表わされ、物体の移動は連続値により表わされているため、式(1)はハイブリッドシステムを示している。
 式(1)では、ロボット5全体の詳細なダイナミクスではなく、対象物を実際に把持するロボット5の手先であるロボットハンドのダイナミクスのみを考慮している。これにより、制御入力生成部35により最適化処理の計算量を好適に削減することができる。
 また、抽象モデル情報I5には、ダイナミクスが切り替わる動作(ピックアンドプレイスの場合には対象物iを掴むという動作)に対応する論理変数及び計測情報Imから式(1)の差分方程式を導出するための情報が記録されている。よって、抽象モデル生成部34は、対象物の位置や数、対象物を置く領域(図5では領域G)、ロボット5の台数等が変動する場合であっても、抽象モデル情報I5と計測情報Imとを組み合わせることで、対象の作業空間6の環境に即した抽象モデルΣを決定することができる。
 なお、抽象モデル生成部34は、式(1)に示されるモデルに代えて、混合論理動的(MLD:Mixed Logical Dynamical)システムまたはペトリネットやオートマトンなどを組み合わせたハイブリッドシステムのモデルを生成してもよい。
 (5-5)制御入力生成部
 制御入力生成部35は、タイムステップ論理式生成部33から供給されるタイムステップ論理式Ltsと、抽象モデル生成部34から供給される抽象モデルΣとに基づき、最適となるタイムステップ毎のロボット5に対するタイムステップ毎の制御入力を決定する。この場合、制御入力生成部35は、目的タスクに対する評価関数を定義し、抽象モデルΣ及びタイムステップ論理式Ltsを制約条件として評価関数を最小化する最適化問題を解く。評価関数は、例えば、目的タスクの種類毎に予め定められ、メモリ12又は記憶装置4に記憶されている。
 例えば、ピックアンドプレイスを目的タスクとした場合、制御入力生成部35は、運ぶ対象となる対象物と当該対象物を運ぶ目標地点との距離「d」と制御入力「u」とが最小となる(即ちロボット5が費やすエネルギーを最小化する)ように評価関数を定める。上述の距離dは、「最終的に対象物2が領域Gに存在する」という目的タスクの場合には、対象物2と領域Gとの距離に相当する。
 例えば、制御入力生成部35は、全タイムステップにおける距離dの2乗と制御入力uの2乗との和を評価関数として定め、抽象モデルΣ及びタイムステップ論理式Lts(即ち候補φの論理和)を制約条件とする以下の式(2)に示す制約付き混合整数最適化問題を解く。
Figure JPOXMLDOC01-appb-M000004
 
 ここで、「T」は、最適化の対象となるタイムステップ数であり、目標タイムステップ数であってもよく、後述するように、目標タイムステップ数よりも小さい所定数であってもよい。この場合、好適には、制御入力生成部35は、論理変数を連続値に近似する(連続緩和問題とする)。これにより、制御入力生成部35は、計算量を好適に低減することができる。なお、線形論理式(LTL)に代えてSTLを採用した場合には、非線形最適化問題として記述することが可能である。
 また、制御入力生成部35は、目標タイムステップ数が長い場合(例えば所定の閾値より大きい場合)、最適化に用いる式(2)のタイムステップ数Tを、目標タイムステップ数より小さい値(例えば上述の閾値)に設定してもよい。この場合、制御入力生成部35は、例えば、所定のタイムステップ数が経過する毎に、式(2)に基づく最適化問題を解くことで、逐次的に制御入力uを決定する。
 好適には、制御入力生成部35は、目的タスクの達成状態に対する中間状態に相当する所定のイベント毎に、式(2)に基づく最適化問題を解き、使用すべき制御入力uを決定してもよい。この場合、制御入力生成部35は、次のイベント発生までのタイムステップ数を、式(2)におけるタイムステップ数Tに設定する。上述のイベントは、例えば、作業空間6におけるダイナミクスが切り替わる事象である。例えば、ピックアンドプレイスを目的タスクとした場合には、ロボット5が対象物を掴む、ロボット5が運ぶべき複数の対象物のうちの1つの対象物を目的地点へ運び終える、などがイベントとして定められる。イベントは、例えば、目的タスクの種類毎に予め定められており、目的タスクの種類毎にイベントを特定する情報が記憶装置4に記憶されている。イベント毎に制御入力uを決定する処理の詳細については、図11のフローチャートにおいて後述する。
 この態様によっても、式(2)におけるタイムステップ数Tを小さくして最適化問題の計算量等を好適に低減することができる。
 (5-6)サブタスクシーケンス生成部
 サブタスクシーケンス生成部36は、制御入力生成部35から供給される制御入力情報Icと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、サブタスクシーケンスを生成する。この場合、サブタスクシーケンス生成部36は、サブタスク情報I4を参照することで、ロボット5が受け付け可能なサブタスクを認識し、制御入力情報Icが示すタイムステップ毎の制御入力をサブタスクに変換する。
 例えば、サブタスク情報I4には、ピックアンドプレイスを目的タスクとする場合にロボット5が受け付け可能なサブタスクとして、ロボットハンドの移動(リーチング)とロボットハンドの把持(グラスピング)の2つのサブタスクを示す関数が定義されている。この場合、リーチングを表す関数「Move」は、例えば、当該関数実行前のロボット5の初期状態、当該関数実行後のロボット5の最終状態、及び当該関数の実行に要する所要時間をそれぞれ引数とする関数である。また、グラスピングを表す関数「Grasp」は、例えば、当該関数実行前のロボット5の状態、及び当該関数実行前の把持対象の対象物の状態, 論理変数δをそれぞれ引数とする関数である。ここで、関数「Grasp」は、論理変数δが「1」のときに掴む動作を行うこと表し、論理変数δが「0」のときに放す動作を行うこと表す。この場合、サブタスクシーケンス生成部36は、関数「Move」を、制御入力情報Icが示すタイムステップ毎の制御入力により定まるロボットハンドの軌道に基づき決定し、関数「Grasp」を、制御入力情報Icが示すタイムステップ毎の論理変数δの遷移に基づき決定する。
 そして、サブタスクシーケンス生成部36は、関数「Move」と関数「Grasp」とにより構成されるサブタスクシーケンスを生成し、当該サブタスクシーケンスを示す制御信号S3をロボット5に供給する。例えば、目的タスクが「最終的に対象物2が領域Gに存在する」の場合、サブタスクシーケンス生成部36は、対象物2に最も近いロボットハンドに対し、関数「Move」、関数「Grasp」、関数「Move」、関数「Grasp」のサブタスクシーケンスを生成する。この場合、対象物2に最も近いロボットハンドは、関数「Move」により対象物2の位置まで移動し、関数「Grasp」により対象物2を把持し、関数「Move」により領域Gまで移動し、関数「Grasp」により対象物2を領域Gに載置する。
 (6)処理フロー
 図9は、第1実施形態において情報処理装置1が実行するロボット制御処理の概要を示すフローチャートの一例である。
 まず、情報処理装置1の抽象状態設定部31は、計測装置7から供給される出力信号S4に基づき、作業空間6内の物体の計測結果を示す計測情報Imの生成及び抽象状態の設定を行う(ステップS11)。次に、目標論理式生成部32は、入力信号S1等により指定された目的タスクから、目標論理式Ltagを決定する(ステップS12)。この場合、目標論理式生成部32は、制約条件情報I2を参照することで、目的タスクの実行における制約条件を、目標論理式Ltagに付加する。なお、ステップS12の処理は、ステップS11よりも前に実行されてもよい。
 そして、タイムステップ論理式生成部33は、目標論理式Ltagを、各タイムステップでの状態を表すタイムステップ論理式Ltsに変換する(ステップS13)。この場合、タイムステップ論理式生成部33は、目標タイムステップ数を定め、目標タイムステップ数で目標論理式Ltagを満たすような各タイムステップでの状態を表す候補φの論理和を、タイムステップ論理式Ltsとして生成する。この場合、好適には、タイムステップ論理式生成部33は、動作限界情報I3を参照することで、各候補φの実行可能性を判定し、実行不可能と判定される候補φを、タイムステップ論理式Ltsから除外する。
 次に、抽象モデル生成部34は、ステップS11で生成した計測情報Imと、抽象モデル情報I5とに基づき、目的タスクに適した抽象モデルΣを決定する(ステップS14)。そして、制御入力生成部35は、抽象モデルΣ及びタイムステップ論理式Ltsを満たし、評価関数を最適化する制御入力を決定する(ステップS15)。そして、サブタスクシーケンス生成部36は、制御入力生成部35が決定した制御入力からサブタスクシーケンスを決定し、サブタスクシーケンスを示す制御信号S3をロボット5へ出力する(ステップS16)。
 図10は、図9のステップS13の処理の詳細を表すフローチャートの一例である。
 まず、タイムステップ論理式生成部33は、目標タイムステップ数を初期値に設定する(ステップS21)。この初期値は、ユーザ入力に基づき定められてもよく、予めメモリ12又は記憶装置4に記憶された値であってもよい。初期値は、目的タスクの実行に必要と見込まれるタイムステップ数よりも小さい値(例えばユーザが指定したタイムステップ数の半分等)に設定されることが好ましい。
 次に、タイムステップ論理式生成部33は、ステップS21で設定した目標タイムステップ数で目標論理式Ltagを満たすようなタイムステップ毎の状態を表す論理式の候補φを決定する(ステップS22)。そして、タイムステップ論理式生成部33は、動作限界情報I3を参照することで、各候補φの実行可能性を判定し、実行不可能と判定される候補φを除外する(ステップS23)。
 次に、タイムステップ論理式生成部33は、図9のステップS15での最適化の解が存在するか否か判定する(ステップS24)。この場合、タイムステップ論理式生成部33は、ステップS14で決定される抽象モデルΣと、実行可能な候補φのいずれかとを満たし、評価関数を最適化するロボット5への制御入力を制御入力生成部35が導出できるか否か判定する。そして、タイムステップ論理式生成部33は、ステップS15での最適化の解が存在する場合(ステップS24;Yes)、候補φを論理和により結合したタイムステップ論理式Ltsを、抽象モデル生成部34に出力する(ステップS25)。
 一方、ステップS15での最適化の解が存在しない場合(ステップS24;No)、タイムステップ論理式生成部33は、現在設定されている目標タイムステップ数では目的タスクを実行できないと判定する。よって、この場合、タイムステップ論理式生成部33は、目標タイムステップ数を所定値(1以上の整数)だけ加算する(ステップS26)。そして、タイムステップ論理式生成部33は、再びステップS22~ステップS24の処理を実行する。
 図10に示すフローチャートの処理によれば、タイムステップ論理式生成部33は、目標タイムステップ数が適正値になるように好適に目標タイムステップ数を設定することができる。
 図11は、図9のフローチャートが示すロボット制御処理の変形例であって、イベントの発生毎にサブタスクシーケンスを決定するロボット制御処理を示すフローチャートの一例である。
 抽象状態設定部31及び目標論理式生成部32は、夫々、ステップS31及びステップS32において、それぞれ図9のステップS11及びステップS12と同一処理を行う。
 タイムステップ論理式生成部33は、目標論理式Ltagを、次のイベント発生までのタイムステップ論理式Ltsに変換する(ステップS33)。この場合、タイムステップ論理式生成部33は、次のイベント発生までに要する目標タイムステップ数を決定し、目標タイムステップ数で目標論理式Ltagを満たすような各タイムステップでの状態を表す候補φの論理和を、タイムステップ論理式Ltsとして生成する。この場合の目標タイムステップ数は、例えば図10に示した目標タイムステップ数の決定方法に基づき決定されてもよく、予め記憶装置4等に記憶された適正値に設定されてもよい。
 次に、抽象モデル生成部34は、ステップS31で生成された計測情報Imと、抽象モデル情報I5とに基づき、目的タスクに適した抽象モデルΣを決定する(ステップS34)。なお、ステップS34の処理は、ロボット5の動作中に対象物の個数や種類が変化しない場合には、1回限り実行すればよく、イベント発生毎に実行する必要はない。よって、抽象モデル生成部34は、ステップS34を実行済みの場合には、前回のステップS34で得られた抽象モデルΣを出力してもよい。
 次に、制御入力生成部35は、抽象モデルΣ及びタイムステップ論理式Ltsを満たし、評価関数を最適化する制御入力を決定する(ステップS35)。この場合、制御入力生成部35は、次のイベント発生までに必要なタイムステップ数分の制御入力を決定する。そして、サブタスクシーケンス生成部36は、制御入力生成部35が決定した制御入力から、サブタスクシーケンスを決定し、サブタスクシーケンスを示す制御信号S3をロボット5へ出力する(ステップS36)。
 次に、情報処理装置1は、目的タスクが完了したか否か判定する(ステップS37)。情報処理装置1は、例えば、計測装置7から供給される出力信号S4に基づき対象物等の状態を認識することで、目的タスクの完了の有無を判定する。他の例では、情報処理装置1は、次のイベントが目的タスクの完了である場合には、ロボット5からサブタスクシーケンスの正常終了の通知を受けた場合に、目的タスクが完了したと判定する。そして、目的タスクが完了した場合(ステップS37;Yes)、情報処理装置1は、フローチャートの処理を終了する。
 一方、目的タスクが完了していない場合(ステップS37;No)、情報処理装置1は、次のイベントが発生したか否か判定する(ステップS38)。この場合、情報処理装置1は、例えば、計測装置7から供給される出力信号S4に基づき対象物等の状態を認識することで、イベント発生の有無を判定する。他の例では、情報処理装置1は、次のイベント発生までのサブタスクシーケンスの正常終了の通知をロボット5から受けた場合に、イベントが発生したと判定する。そして、情報処理装置1は、イベントが発生した場合(ステップS38;Yes)、ステップS33へ処理を戻す。この場合、情報処理装置1は、次のイベント発生に必要なサブタスクシーケンスの生成処理を、ステップS33~ステップS36において再び実行する。一方、イベントが発生していない場合(ステップS38;No)、情報処理装置1は、ステップS37へ処理を戻す。
 <第2実施形態>
 図12は、第2実施形態における情報処理装置1Aの概略構成図である。図12に示すように、情報処理装置1Aは、主に、論理式変換部322Aと、制約条件情報取得部323Aと、制約条件付加部324Aとを有する。
 論理式変換部322Aは、ロボットに作業させるタスクである目的タスクを時相論理に基づく論理式に変換する。制約条件情報取得部323Aは、目的タスクの実行において満たすべき制約条件を示す制約条件情報I2を取得する。制約条件付加部324Aは、論理式変換部322Aが生成した論理式に上記制約条件を表す命題を付加した論理式である目標論理式Ltagを生成する。
 第2実施形態の構成によれば、情報処理装置1Aは、ロボットに作業させる目的タスクが与えられた場合に、目的タスクの実行において満たすべき制約条件を明示した目標論理式Ltagを好適に生成することができる。
 <第3実施形態>
 図13は、第3実施形態における情報処理装置1Bの概略構成図である。図13に示すように、情報処理装置1Bは、主に、抽象モデル情報取得部34Xと、計測情報取得部34Yと、抽象モデル生成部34Zと、を有する。
 抽象モデル情報取得部34Xは、目的タスクを実行するロボット5の作業空間6におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報I5を取得する。計測情報取得部34Yは、作業空間6における計測結果を示す計測情報Imを取得する。抽象モデル生成部34Zは、抽象モデル情報I5と、計測情報Imとに基づき、抽象モデルΣを生成する。
 ここで、抽象モデル情報取得部34Xと、計測情報取得部34Yと、抽象モデル生成部34Zとは、例えば、第1実施形態における抽象モデル生成部34により実現される。
 第3実施形態の構成によれば、情報処理装置1Bは、ロボットに作業させる目的タスクが与えられた場合に、ロボットの実際の動的モデルを簡略的に表した抽象モデルΣを好適に生成することができる。
 その他、上記の各実施形態の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
[付記1]
 タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得する抽象モデル情報取得部と、
 前記作業空間における計測結果を示す計測情報を取得する計測情報取得部と、
 前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する抽象モデル生成部と、
を有する情報処理装置。
[付記2]
 前記抽象モデル生成部は、前記計測情報に含まれる、前記ロボットに関する情報、及び、前記ロボットによる作業の対象となる対象物に関する情報に基づき、前記抽象モデルを生成する、付記1に記載の情報処理装置。
[付記3]
 前記抽象モデル生成部は、前記ロボットがピックアンドプレイスに関するタスクを実行する場合、対象物を前記ロボットが掴む動作を論理変数により抽象表現したハイブリッドシステムのモデルを、前記抽象モデルとして生成する、付記1または2に記載の情報処理装置。
[付記4]
 前記抽象モデルと、前記タスクを実行するためタイムステップ毎の状態を表す論理式であるタイムステップ論理式と、に基づき、前記ロボットを制御するためのタイムステップ毎の制御入力を決定する制御入力生成部をさらに有する、付記1~3のいずれか一項に記載の情報処理装置。
[付記5]
 前記制御入力生成部は、前記タスクに応じた評価関数を決定し、
 前記制御入力生成部は、前記抽象モデルと、前記タイムステップ論理式とを満たし、前記評価関数を最適化する前記制御入力を決定する、付記4に記載の情報処理装置。
[付記6]
 前記制御入力生成部は、前記タスクを完了するまでに必要なイベントが発生するまでに要するタイムステップ数分の前記制御入力を生成し、前記イベントが発生する毎に当該制御入力の生成を行う、付記4または5に記載の情報処理装置。
[付記7]
 前記タスクの完了に必要なタイムステップ数又は前記タスクを完了するまでに必要なイベントが発生するまでに要するタイムステップ数により表わされた前記タイムステップ論理式を生成するタイムステップ論理式生成部をさらに有する、付記4~6のいずれか一項に記載の情報処理装置。
[付記8]
 前記タイムステップ論理式生成部は、前記タイムステップ数を所定の初期値に設定し、前記制御入力生成部が前記制御入力を決定できる前記タイムステップ論理式が生成されるまで、前記タイムステップ数を増加させる、付記7に記載の情報処理装置。
[付記9]
 前記タイムステップ論理式生成部は、前記初期値を、ユーザが見込む前記タスクの作業時間に相当するタイムステップ数よりも小さい値に設定する、付記8に記載の情報処理装置。
[付記10]
 前記タイムステップ毎の制御入力から、前記ロボットが受け付け可能な単位のタスクであるサブタスクのシーケンスを生成するサブタスクシーケンス生成部をさらに有する、付記4~9のいずれか一項に記載の情報処理装置。
[付記11]
 タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得し、
 前記作業空間における計測結果を示す計測情報を取得し、
 前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する、
制御方法。
[付記12]
 タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得する抽象モデル情報取得部と、
 前記作業空間における計測結果を示す計測情報を取得する計測情報取得部と、
 前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する抽象モデル生成部
としてコンピュータを機能させるプログラムが格納された記憶媒体。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
 1、1A、1B 情報処理装置
 2 入力装置
 3 表示装置
 4 記憶装置
 5 ロボット
 6 作業空間
 7 計測装置
 41 アプリケーション情報記憶部
 100 ロボット制御システム

Claims (12)

  1.  タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得する抽象モデル情報取得部と、
     前記作業空間における計測結果を示す計測情報を取得する計測情報取得部と、
     前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する抽象モデル生成部と、
    を有する情報処理装置。
  2.  前記抽象モデル生成部は、前記計測情報に含まれる、前記ロボットに関する情報、及び、前記ロボットによる作業の対象となる対象物に関する情報に基づき、前記抽象モデルを生成する、請求項1に記載の情報処理装置。
  3.  前記抽象モデル生成部は、前記ロボットがピックアンドプレイスに関するタスクを実行する場合、対象物を前記ロボットが掴む動作を論理変数により抽象表現したハイブリッドシステムのモデルを、前記抽象モデルとして生成する、請求項1または2に記載の情報処理装置。
  4.  前記抽象モデルと、前記タスクを実行するためタイムステップ毎の状態を表す論理式であるタイムステップ論理式と、に基づき、前記ロボットを制御するためのタイムステップ毎の制御入力を決定する制御入力生成部をさらに有する、請求項1~3のいずれか一項に記載の情報処理装置。
  5.  前記制御入力生成部は、前記タスクに応じた評価関数を決定し、
     前記制御入力生成部は、前記抽象モデルと、前記タイムステップ論理式とを満たし、前記評価関数を最適化する前記制御入力を決定する、請求項4に記載の情報処理装置。
  6.  前記制御入力生成部は、前記タスクを完了するまでに必要なイベントが発生するまでに要するタイムステップ数分の前記制御入力を生成し、前記イベントが発生する毎に当該制御入力の生成を行う、請求項4または5に記載の情報処理装置。
  7.  前記タスクの完了に必要なタイムステップ数又は前記タスクを完了するまでに必要なイベントが発生するまでに要するタイムステップ数により表わされた前記タイムステップ論理式を生成するタイムステップ論理式生成部をさらに有する、請求項4~6のいずれか一項に記載の情報処理装置。
  8.  前記タイムステップ論理式生成部は、前記タイムステップ数を所定の初期値に設定し、前記制御入力生成部が前記制御入力を決定できる前記タイムステップ論理式が生成されるまで、前記タイムステップ数を増加させる、請求項7に記載の情報処理装置。
  9.  前記タイムステップ論理式生成部は、前記初期値を、ユーザが見込む前記タスクの作業時間に相当するタイムステップ数よりも小さい値に設定する、請求項8に記載の情報処理装置。
  10.  前記タイムステップ毎の制御入力から、前記ロボットが受け付け可能な単位のタスクであるサブタスクのシーケンスを生成するサブタスクシーケンス生成部をさらに有する、請求項4~9のいずれか一項に記載の情報処理装置。
  11.  情報処理装置が実行する制御方法であって、
     タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得し、
     前記作業空間における計測結果を示す計測情報を取得し、
     前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する、
    制御方法。
  12.  タスクを実行するロボットの作業空間におけるダイナミクスを抽象化した抽象モデルに関する抽象モデル情報を取得する抽象モデル情報取得部と、
     前記作業空間における計測結果を示す計測情報を取得する計測情報取得部と、
     前記抽象モデル情報と、前記計測情報とに基づき、前記抽象モデルを生成する抽象モデル生成部
    としてコンピュータを機能させるプログラムが格納された記憶媒体。
PCT/JP2019/034184 2019-08-30 2019-08-30 情報処理装置、制御方法及び記憶媒体 WO2021038844A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/635,585 US20220299949A1 (en) 2019-08-30 2019-08-30 Information processing device, control method, and storage medium
EP19943679.1A EP4023397A4 (en) 2019-08-30 2019-08-30 INFORMATION PROCESSING DEVICE, CONTROL METHOD AND INFORMATION MEDIA
PCT/JP2019/034184 WO2021038844A1 (ja) 2019-08-30 2019-08-30 情報処理装置、制御方法及び記憶媒体
JP2021541933A JP7276466B2 (ja) 2019-08-30 2019-08-30 情報処理装置、制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/034184 WO2021038844A1 (ja) 2019-08-30 2019-08-30 情報処理装置、制御方法及び記憶媒体

Publications (1)

Publication Number Publication Date
WO2021038844A1 true WO2021038844A1 (ja) 2021-03-04

Family

ID=74685387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/034184 WO2021038844A1 (ja) 2019-08-30 2019-08-30 情報処理装置、制御方法及び記憶媒体

Country Status (4)

Country Link
US (1) US20220299949A1 (ja)
EP (1) EP4023397A4 (ja)
JP (1) JP7276466B2 (ja)
WO (1) WO2021038844A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012125871A (ja) * 2010-12-15 2012-07-05 Mitsubishi Electric Corp ロボット制御設定支援装置
JP2014240110A (ja) * 2013-06-12 2014-12-25 三菱電機株式会社 ビンピッキング性能評価装置及び方法
JP2016528483A (ja) * 2013-06-11 2016-09-15 ソマティス センサー ソリューションズ エルエルシー 物体を検知するシステム及び方法
JP2018051684A (ja) 2016-09-28 2018-04-05 ファナック株式会社 複数個の物品をひとつずつ最適な経路で取り出す搬送装置
JP2018167361A (ja) * 2017-03-30 2018-11-01 株式会社安川電機 ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム
JP2019056966A (ja) * 2017-09-19 2019-04-11 株式会社東芝 情報処理装置、画像認識方法および画像認識プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4413891B2 (ja) * 2006-06-27 2010-02-10 株式会社東芝 シミュレーション装置およびシミュレーション方法並びにシミュレーションプログラム
CN107671857B (zh) * 2017-10-11 2021-04-02 上海交通大学 用于服务机器人操作演示与算法验证的三维仿真平台

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012125871A (ja) * 2010-12-15 2012-07-05 Mitsubishi Electric Corp ロボット制御設定支援装置
JP2016528483A (ja) * 2013-06-11 2016-09-15 ソマティス センサー ソリューションズ エルエルシー 物体を検知するシステム及び方法
JP2014240110A (ja) * 2013-06-12 2014-12-25 三菱電機株式会社 ビンピッキング性能評価装置及び方法
JP2018051684A (ja) 2016-09-28 2018-04-05 ファナック株式会社 複数個の物品をひとつずつ最適な経路で取り出す搬送装置
JP2018167361A (ja) * 2017-03-30 2018-11-01 株式会社安川電機 ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム
JP2019056966A (ja) * 2017-09-19 2019-04-11 株式会社東芝 情報処理装置、画像認識方法および画像認識プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4023397A4

Also Published As

Publication number Publication date
US20220299949A1 (en) 2022-09-22
EP4023397A1 (en) 2022-07-06
EP4023397A4 (en) 2022-09-14
JPWO2021038844A1 (ja) 2021-03-04
JP7276466B2 (ja) 2023-05-18

Similar Documents

Publication Publication Date Title
CN108873768B (zh) 任务执行系统及方法、学习装置及方法、以及记录介质
WO2021038842A1 (ja) 情報処理装置、制御方法及び記憶媒体
WO2022074823A1 (ja) 制御装置、制御方法及び記憶媒体
JP7452619B2 (ja) 制御装置、制御方法及びプログラム
WO2021038844A1 (ja) 情報処理装置、制御方法及び記憶媒体
JP7416197B2 (ja) 制御装置、制御方法及びプログラム
WO2022064653A1 (ja) 制御装置、制御方法及び記憶媒体
WO2022049756A1 (ja) 判定装置、判定方法及び記憶媒体
JP7456552B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2021171350A1 (ja) 制御装置、制御方法及び記録媒体
WO2022224449A1 (ja) 制御装置、制御方法及び記憶媒体
WO2022224447A1 (ja) 制御装置、制御方法及び記憶媒体
WO2021171358A1 (ja) 制御装置、制御方法及び記録媒体
WO2022107207A1 (ja) 情報収集装置、情報収集方法及び記憶媒体
WO2022244060A1 (ja) 動作計画装置、動作計画方法及び記憶媒体
JP7416199B2 (ja) 制御装置、制御方法及びプログラム
WO2021171352A1 (ja) 制御装置、制御方法及び記録媒体
WO2022074827A1 (ja) 命題設定装置、命題設定方法及び記憶媒体
JP7435814B2 (ja) 時相論理式生成装置、時相論理式生成方法及びプログラム
JP7435815B2 (ja) 動作指令生成装置、動作指令生成方法及びプログラム
JP7148938B2 (ja) 状態判定システム、状態判定方法、及び状態判定プログラム
Wang et al. Reinforcement Learning based End-to-End Control of Bimanual Robotic Coordination

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021541933

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019943679

Country of ref document: EP

Effective date: 20220330