WO2020110495A1 - 制御装置、制御方法、及び制御プログラム - Google Patents

制御装置、制御方法、及び制御プログラム Download PDF

Info

Publication number
WO2020110495A1
WO2020110495A1 PCT/JP2019/040794 JP2019040794W WO2020110495A1 WO 2020110495 A1 WO2020110495 A1 WO 2020110495A1 JP 2019040794 W JP2019040794 W JP 2019040794W WO 2020110495 A1 WO2020110495 A1 WO 2020110495A1
Authority
WO
WIPO (PCT)
Prior art keywords
relative relationship
amount
relative
relationship amount
control
Prior art date
Application number
PCT/JP2019/040794
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/270,442 priority Critical patent/US11745355B2/en
Priority to EP19888433.0A priority patent/EP3888859A4/en
Priority to CN201980052690.6A priority patent/CN112584990B/zh
Publication of WO2020110495A1 publication Critical patent/WO2020110495A1/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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36404Adapt teached position as function of deviation 3-D, 2-D position workpiece
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning
    • 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/40607Fixed camera to observe workspace, object, workpiece, global

Definitions

  • the present invention relates to a control device, a control method, and a control program.
  • Robotic devices such as manipulators are used in production lines that produce products.
  • the components of the robot device such as the mechanism, the connector, and the end effector have many variations depending on the work (task) to be performed, and the operation procedure of the robot device corresponding to all of them is manually created. It is difficult. Therefore, conventionally, after the types of components such as the mechanism, the connector, and the end effector are determined, the robot apparatus is manually moved to record the postures in a series of operations to be performed, and the work to be performed is directly taught. The method has been adopted.
  • Non-Patent Document 1 proposes a method of causing a robot apparatus to learn an operation of gripping an object based on image data obtained from a camera by reinforcement learning. According to this method, it is possible to automate at least a part of a series of processes for teaching the robot apparatus the operation of gripping the object. Therefore, it is possible to reduce the cost of teaching the robot device to work.
  • the conventional control method of the robot device has the following problems.
  • time-series control commands given to the robot apparatus for the work to be performed are learned. That is, the learned time-series control commands are directly related to the work. Therefore, if at least one of the environment for performing the work and the object changes, the contents of the work will also change substantially, and the robot will perform the work properly unless new learning is performed. It may not be possible.
  • the robot apparatus can appropriately perform the work based on the learning result.
  • the position and the posture at which the robot apparatus grips the target C change. The content of the work to be performed will change due to reasons such as doing.
  • the work to be performed is “to carry the object C that is displaced or tilted from the point A to the point D”, and “to move the object C existing in the posture B at the point A”. It is different from the original work of "carry to D point”. Then, the robot device may not be able to properly perform this work even if it operates based on the learning result. That is, the conventional control method has a problem in that the versatility of the ability to perform the learned work is poor. Due to this problem, in order to operate the robot apparatus in a general-purpose manner, the control command is learned for each different work, and the cost required to teach the work to the robot apparatus is still high.
  • the present invention in one aspect, has been made in view of such circumstances, and an object thereof is to provide a technique for enhancing versatility of the ability to perform a learned task.
  • the present invention adopts the following configurations in order to solve the above problems.
  • a control device is a control device that generates a control command for controlling the operation of a robot device that operates in an environment in which a plurality of objects are present, and the control device generates a final target.
  • a target setting unit that sets a relative relationship amount between a plurality of objects, wherein the relative relationship amount indicates an attribute relating to a relative and physical relationship between the plurality of objects, and a target setting unit.
  • a data acquisition unit that repeatedly acquires observation data from a sensor that observes the plurality of objects existing in the environment, and a relationship that calculates a relative relationship amount between the plurality of objects from the acquired observation data.
  • a behavior determining unit that determines a series of relative relations in a state, and a relative relation in the current state calculated from the latest observation data obtained from the sensor until the relative relation of the final goal is realized,
  • a command determination unit that repeatedly determines a control command to be given to the robot device so as to change the relative relationship amount in the target state that transitions next to the current state, which is included in the series of relative relationship amounts, is determined.
  • an output unit that outputs the control command to the robot apparatus.
  • the situation and the target of a plurality of objects existing in the environment in which the robot apparatus operates are related to the performance of the task (task), and the control command changes the relative relationship amount. It is decided according to what is done.
  • the relative relationship amount indicates an attribute relating to a relative and physical relationship between a plurality of objects existing in the environment, and, for example, relative coordinates (relative position, relative attitude) between the plurality of objects, A force acting between a plurality of objects, a state between the plurality of objects (for example, whether they are connected or not), and the like. That is, in the above configuration, the control command is not directly associated with the work, but is associated with the change amount of the relative relationship amount.
  • the “object” is an object that can be related to the operation of the robot device, and is, for example, an end effector, a work, an obstacle, or the like.
  • the "environment” is an area in which an object is present and the robot device operates.
  • the type of robot device is not particularly limited and may be appropriately selected according to the embodiment.
  • the robot device may include, for example, an industrial robot such as a manipulator, a movable body that can move automatically, and the like.
  • Industrial robots include, for example, the vertical articulated robots, SCARA robots, parallel link robots, orthogonal robots, cooperative robots, and the like.
  • the moving body that can be automatically moved includes, for example, a drone, a vehicle configured to be self-driving, a mobile robot, and the like.
  • INDUSTRIAL APPLICABILITY The present invention may be applied to all kinds of robot devices capable of manipulating an object.
  • the work (task) is a work to be performed by the robot device, and the type thereof is not particularly limited and may be appropriately selected according to the embodiment.
  • the work is, for example, component transportation, component fitting, screwdriver, and the like.
  • the work may be, for example, a simple work such as gripping a work or releasing a work.
  • the work may be given in advance or given by an operator.
  • the type of the “sensor” is not particularly limited as long as it can observe the relative relationship amount, and may be appropriately selected according to the embodiment.
  • the sensor may be, for example, a camera.
  • the observation data is image data. "Obtaining observation data from a sensor” means that the control device and the sensor are connected, and the observation data is obtained directly from the sensor, and the observation data is obtained indirectly from the sensor via another device. May include doing.
  • the “final goal” is the end point (goal), which is realized when the work is completed and is set according to the given work.
  • the “starting point” is a starting point (start), which is a state before the control of the operation of the robot apparatus is started with respect to the performance of the work.
  • the “relative relationship amount at the time of starting” may be given in advance, or may be calculated from observation data acquired before starting control of the operation of the robot apparatus with respect to performance of work.
  • Goal includes final goal and is set appropriately to achieve the performance of work.
  • the number of targets set may be one (in this case, only the final target is set), or may be plural.
  • a goal other than the final goal is a waypoint from the start point to the end point. Therefore, the final goal may be simply referred to as a “goal”, and a goal other than the final goal may be referred to as a “subgoal”.
  • “Achieving the final target relative relationship amount” is the completion of the work. For example, the relative relationship amount calculated from the observation data acquired from the sensor matches the final target relative relationship amount. That is. This "match” may include an approximation by a threshold value (allowable error), as well as a perfect match.
  • the “goal to transition to” is a state to be aimed next from the current state (a provisional state if it is a goal other than the final goal). For example, the goal closest to the current state toward the final goal. is there. "Latest” is when the operation is controlled by the control command, and is the time immediately before the control command is determined.
  • Control command relates to control of the operation of the robot device, and is, for example, a target control amount, an operation amount, or the like.
  • Outputting a control command means directly controlling the robot device based on the control command, and when the robot device includes a controller, outputting the control command to the controller so that the controller can control the robot device. Including controlling the operation.
  • the relative relationship amount may include relative coordinates between the plurality of objects.
  • the sensor may include a camera
  • the observation data may include image data obtained by the camera
  • the relationship specifying unit is obtained by the camera.
  • a model of each of the objects may be matched with the image data, and the relative coordinates between the plurality of objects may be calculated based on the result of the matching.
  • the relative coordinate may be expressed in any method as long as the relative positional relationship between the objects can be specified.
  • the relative coordinates may include, for example, a relative position and a relative attitude.
  • the command determination unit sets the relative relationship amount in the first state to the relative relationship amount in the first state and the relative relationship amount in the second state. It may include a first learned learning model trained to determine a control command for controlling the operation of the robot apparatus so as to change the relative relationship amount in the two states. Then, determining the control command includes inputting the relative relationship amount in the current state and the relative relationship amount in the next transition target state into the first learned learning model, It may include performing a calculation process of a first learned learning model, and acquiring an output value output from the first learned learning model as a result of determining the control command. .. According to the configuration, by using the learning model, it is possible to appropriately determine the control command given to the robot apparatus for changing the relative relationship amount. Therefore, the versatility of the ability to perform the work can be improved, and the robot device can appropriately perform the work based on the learned ability.
  • the first state is the "current state” for training.
  • the relative relationship amount in the first state may be referred to as a first relative relationship amount.
  • the second state is a "next transition state” for training.
  • the relative relationship amount in the second state may be referred to as a second relative relationship amount.
  • the type of the learning model is not particularly limited as long as the ability to infer for determining the control command can be acquired by machine learning, and may be appropriately selected according to the embodiment.
  • the type of machine learning is not particularly limited and may be appropriately selected according to the embodiment.
  • Machine learning is typically supervised learning or reinforcement learning.
  • the learning model When supervised learning is adopted as machine learning, the learning model is composed of, for example, a fully connected neural network or a neural network such as a recursive neural network including a long short-term memory (LSTM) block. You may.
  • the long-term short-term memory block is also referred to as “LSTM block”.
  • the learning model may be configured by a value function such as a state value function and a behavior value function.
  • the robot device may include an observation sensor for observing the attribute of the robot device, and the first learned learning model is one of attribute data obtained by the observation sensor. It may be configured to further receive an input, and determining the control command may further include inputting the attribute data obtained by the observation sensor to the first learned learning model. Good. According to this configuration, the control command given to the robot apparatus can be more appropriately determined by further using the attribute data.
  • the type of the “observation sensor” is not particularly limited as long as it observes some attribute of the robot device, and may be appropriately selected according to the embodiment.
  • the observation sensor may be, for example, a proximity sensor, a tactile sensor, a force sensor, an encoder, or the like.
  • the attribute data is, for example, measurement data of a proximity sensor, a tactile sensor, a force sensor, an encoder, or the like, or a feature amount calculated from the measurement data.
  • the observation sensor may be composed of a plurality of sensors.
  • the time at which the attribute data to be input to the first learned learning model is obtained is, for example, the time at which the operation is controlled by the control command, and immediately before the control command is determined.
  • the action determination unit is a placement space that expresses a set of relative relationship amounts between the plurality of objects, and the relative relationship in a state that is a candidate for the target state.
  • determining the series of the relative relationship amount is performed by selecting a node passing through from among the plurality of nodes in the arrangement space indicated by the map information, thereby determining the relative relationship in the state at the time of starting.
  • a path from the node corresponding to the quantity to the node corresponding to the relative relationship quantity in the state of the final goal, and the series of the relative relationship quantities according to the relative relationship quantity corresponding to the nodes included in the searched path May be included.
  • the series of relative relationship amounts that is, the action plan
  • the versatility of the ability to perform the work can be enhanced, and the robot device can easily and appropriately perform the work based on the learned ability.
  • each node corresponds to one state of multiple objects, and indicates the relative amount of relation in that state.
  • Each node may be appropriately set by random sampling, manual input, or the like.
  • Edges may be appropriately set between the nodes. That is, the map information may have a graph structure composed of nodes and edges. An edge (branch, side) connects two nodes and indicates that the state corresponding to one node can be transited to the state corresponding to the other node.
  • the method of determining the combination of the two nodes for setting the edge is not particularly limited, and may be appropriately selected according to the embodiment. For example, the combination of two nodes that set edges may be determined based on a known method such as the nearest neighbor method.
  • the path is composed of edges connected to the selected node.
  • a known search method such as the Dijkstra method may be adopted.
  • a constraint condition such as passing through a designated node may be imposed on the route search.
  • the constraint condition may be appropriately determined according to the embodiment.
  • Layout space represents a set of relative relations.
  • a free area and a restricted area may be set in this arrangement space.
  • a node corresponding to a state (realizable relative relationship amount) that can be taken as a relative relationship between a plurality of objects belongs to the free area.
  • a node corresponding to a state (an unrealizable relative relationship amount) that cannot be taken as a relative relationship between a plurality of objects belongs to the restricted area.
  • each node is arranged in the free area. Further, the edge is appropriately set so as not to enter the restricted area.
  • the action determination unit after inputting the relative relationship amount in the final goal for training and the relative relationship amount in the current state for training, the next state of the current state for training. May include a second trained learning model trained to determine relative quantities in the target state transitioning to. Then, determining the series of the relative relationship amount is to input the relative relationship amount in the current state and the relative relationship amount of the set final goal to the second learned learning model, Executing the arithmetic processing of the second learned learning model, and determining the relative relationship amount in the target state to which the output value output from the second learned learning model is next transitioned. It is also possible to include retrieving as a result of doing and repeatedly executing.
  • the learning model by using the learning model, it is possible to improve the accuracy of determining the target state from the start time to the final goal. Therefore, it is possible to appropriately determine the control command given to the robot apparatus based on the accurately determined target, and thereby the robot apparatus can appropriately perform the work.
  • the second learned learning model may be configured to further receive an input of the observation data acquired from the sensor, and determines the series of the relative relationship amount. This may further include inputting the latest observation data into the second learned learning model. According to this configuration, the accuracy of determining the target state can be further increased by further utilizing the latest observation data. Therefore, the robot apparatus can perform the work more appropriately.
  • the relationship specifying unit calculates a relative relationship amount between the plurality of objects appearing in the training observation data with respect to the input of the training observation data. It may include a third trained learning model that has been trained. Then, the calculation of the relative relationship amount includes inputting the acquired observation data into the third learned learning model, and executing a calculation process of the third learned learning model, And acquiring an output value output from the third learned learning model as a result of calculating the relative relationship amount. According to this configuration, the accuracy of deriving the relative relationship amount from the observation data obtained from the sensor can be increased by using the learning model. Therefore, it is possible to appropriately determine the control command given to the robot apparatus for changing the relative relationship amount, and thereby the robot apparatus can appropriately perform the work.
  • the robot device may include an observation sensor that observes an attribute of the robot device, and the third learned learning model may include attribute data obtained by the observation sensor. It may be configured to further receive an input, and calculating the relative relationship amount may further include inputting the attribute data obtained by the observation sensor to the third learned learning model. Good. According to this configuration, the accuracy of deriving the relative relationship amount can be further increased by further using the attribute data. Therefore, the robot apparatus can perform the work more appropriately.
  • the robot device may be a manipulator including an end effector
  • the plurality of objects may include the end effector
  • the command determination unit controls the end effector.
  • the command may be determined, and the output unit may output the determined control command to the manipulator.
  • the end effector is attached to the hand of the manipulator, and its type is not particularly limited and may be appropriately selected according to the embodiment.
  • the end effector may be, for example, a gripper, a suction device, a driver, or the like.
  • one aspect of the present invention may be an information processing method that realizes each of the above configurations, a program, or such a program.
  • the stored storage medium may be a computer-readable storage medium.
  • a computer-readable storage medium is a medium that stores information such as programs by electrical, magnetic, optical, mechanical, or chemical action.
  • a control method is an information processing method that generates a control command for controlling the operation of a robot device that operates in an environment in which a plurality of objects exist, and a computer
  • a control program is a program for generating a control command for controlling the operation of a robot apparatus that operates in an environment in which a plurality of objects are present.
  • FIG. 1 schematically illustrates an example of a scene to which the present invention is applied.
  • FIG. 2A schematically illustrates an example of the relative relationship amount according to the embodiment.
  • FIG. 2B schematically illustrates an example of the relative relationship amount according to the embodiment.
  • FIG. 2C schematically illustrates an example of the relative relationship amount according to the exemplary embodiment.
  • FIG. 2D schematically illustrates an example of the relative relationship amount according to the embodiment.
  • FIG. 2E schematically illustrates an example of the relative relationship amount according to the embodiment.
  • FIG. 2F schematically illustrates an example of the relative relationship amount according to the embodiment.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the control device according to the embodiment.
  • FIG. 4 schematically illustrates an example of the robot apparatus according to the embodiment.
  • FIG. 5A schematically illustrates an example of a software configuration related to control processing of the control device according to the embodiment.
  • FIG. 5B schematically illustrates an example of a software configuration related to learning processing of the control device according to the embodiment.
  • FIG. 6 exemplifies an example of a processing procedure regarding creation of map information by the control device according to the embodiment.
  • FIG. 7A schematically illustrates an example of a process of creating map information according to the embodiment.
  • FIG. 7B schematically illustrates an example of a process of creating map information according to the embodiment.
  • FIG. 7C schematically illustrates an example of a process of creating map information according to the embodiment.
  • FIG. 8 illustrates an example of a processing procedure regarding machine learning of a learning model by the control device according to the embodiment.
  • FIG. 9A illustrates an example of a processing procedure regarding control of the robot apparatus by the control apparatus according to the embodiment.
  • FIG. 9B illustrates an example of a processing procedure regarding control of the robot apparatus by the control apparatus according to the embodiment.
  • FIG. 10 schematically illustrates an example of an action plan by the control device according to the embodiment.
  • FIG. 11A is a diagram for explaining a problem of the conventional control method.
  • FIG. 11B is a diagram for explaining a problem of the conventional control method.
  • FIG. 12 is a diagram for explaining the features of the control method according to the embodiment.
  • FIG. 13 schematically illustrates an example of the software configuration of the control device according to the modification.
  • FIG. 14A schematically illustrates an example of a scene in which the learning device according to the modification is applied.
  • FIG. 14B schematically illustrates an example of the hardware configuration of the learning device according to the modification.
  • FIG. 15 schematically illustrates an example of a software configuration regarding control processing of the control device according to the modification.
  • FIG. 16 schematically illustrates an example of a software configuration regarding control processing of the control device according to the modification.
  • FIG. 17A schematically illustrates an example of a software configuration related to control processing of the control device according to the modification.
  • FIG. 17B schematically illustrates an example of a software configuration regarding learning processing of the control device according to the modification.
  • FIG. 18 schematically illustrates an example of a software configuration regarding control processing of the control device according to the modification.
  • FIG. 19A schematically illustrates an example of a software configuration regarding control processing of the control device according to the modification.
  • FIG. 19B schematically illustrates an example of a software configuration related to the learning process of the control device according to the modification.
  • FIG. 20 schematically illustrates an example of a software configuration regarding control processing of the control device according to the modification.
  • the present embodiment will be described with reference to the drawings.
  • the present embodiment described below is merely an example of the present invention in all respects. It goes without saying that various improvements and modifications can be made without departing from the scope of the present invention. That is, in implementing the present invention, a specific configuration according to the embodiment may be appropriately adopted. It should be noted that although the data that appears in this embodiment is described in natural language, more specifically, it is specified by a computer-recognizable pseudo language, command, parameter, machine language, or the like.
  • FIG. 1 schematically illustrates an example of an application scene of the control device 1 according to the present embodiment.
  • the manipulator 3 is an example of the “robot device” of the present invention
  • the gripper 37 is an example of the “end effector” of the present invention.
  • the application target of the present invention is not limited to such an example, and can be applied to all situations in which the operation of some robot device is controlled.
  • the control device 1 is a computer that generates a control command 41 for controlling the operation of a robot device (manipulator 3) that operates under an environment WS in which a plurality of objects exist.
  • the environment WS is an area where an object is present and the robot device operates.
  • the object is an object that can be related to the operation of the robot device, and is, for example, an end effector, a work, an obstacle, or the like.
  • the object may include components of a robotic device.
  • the gripper 37, the first work W1, and the second work W2 are present in the environment WS as an example of the object.
  • the control device 1 repeatedly acquires observation data from a sensor that observes a plurality of objects existing in the environment WS, and calculates the relative relationship amount between the plurality of objects from the acquired observation data.
  • the relative relationship amount indicates an attribute relating to a relative and physical relationship between a plurality of objects.
  • the relative relationship amount is, for example, relative coordinates (relative position, relative posture) between a plurality of objects, a force acting between the plurality of objects, a state between the plurality of objects (for example, whether they are connected to each other). Or not) etc.
  • the camera CA is adopted as an example of the sensor.
  • the relative relationship amount includes relative coordinates between a plurality of objects. Therefore, the control device 1 acquires the image data 40 from the camera CA as observation data, and calculates the relative relationship amount including the relative coordinates from the acquired image data 40.
  • the control device 1 sets the amount of relative relationship between a plurality of target objects as final goals.
  • the final goal is determined according to the task to be performed by the manipulator 3.
  • the control device 1 plans the transition of the relative relationship amount from the time when the control of the operation is started to the time when this final goal is achieved, and determines the control command 41 to be given to the manipulator 3 in accordance with the planned transition of the relative relationship amount. ..
  • the “starting point” is a starting point (start) in the plan, and is a state before the control of the operation of the robot apparatus (manipulator 3) is started with respect to the performance of the work.
  • the “final goal” is a final point (goal) in the plan, which is realized when the work is completed and is set according to the given work.
  • control device 1 determines the targets of the plurality of objects until the relative relationship amount of the final goal set from the relative relationships between the plurality of objects at the time of starting the control of the operation is realized. Determine the series of relative relations in the state.
  • the control device 1 includes the relative relationship amount in the current state calculated from the latest observation data acquired from the sensor in the current state, which is included in the series of relative relationship amounts, until the final target relative relationship amount is realized.
  • the control command 41 to be given to the manipulator 3 is repeatedly determined so as to be changed to the relative relationship amount in the target state which transits to.
  • the control device 1 outputs the determined control command 41 to the manipulator 3.
  • the control command 41 relates to the control of the operation of the robot device (manipulator 3), and is, for example, a target control amount, an operation amount, or the like.
  • outputting the control command 41 directly controls the robot device based on the control command 41, and when the robot device includes a controller, the control command 41 is given to the controller so that the robot can be transmitted to the controller. Including controlling the operation of the device.
  • the control device 1 controls the operation of the manipulator 3 based on the control command 41 as the output process of the control command 41. As a result, the manipulator 3 is controlled in operation so as to perform the given work.
  • FIGS. 1 and 2A to 2F show, as an example of the work to be performed by the manipulator 3, the first work W1 arranged at a position apart from the second work W2 is gripped by the gripper 37, and the first work is gripped.
  • the work of transporting W1 onto the second work W2 is schematically illustrated.
  • FIG. 1 exemplifies a scene in which, as a result of the above-mentioned plan, a series RS of relative relation quantities is determined so that the work of transporting the parts from the start point st to the final target gn is executed in n (n is a natural number) steps. is doing.
  • 2A to 2F schematically illustrate a process of causing the manipulator 3 to perform the work of disposing the first work W1 on the second work W2.
  • the work to be performed by the manipulator 3 is not limited to such component transportation, and may be appropriately selected according to the embodiment.
  • the work may be, for example, component fitting, screwdriver, etc., in addition to component transportation.
  • the work may be, for example, a simple work such as gripping a work or releasing a work.
  • the number of steps for performing a series of operations that is, the number of relative relationship quantities included in the series RS may not be limited to such an example, and may be appropriately selected according to the embodiment. ..
  • targets (g1, g2, etc.) other than the final target gn are set between the time point st at which the control of the operation is started and the final target gn.
  • the example of the process of determining the series of relative relationship amounts is not limited to such an example, and the final target gn is set after the start point st, in other words, a target other than the final target gn.
  • the series of relative relationship quantities may be determined such that
  • the relative relationship amount includes relative coordinates (rc1, rc2, rc3).
  • the relative coordinate rc1 represents the local coordinate system CO2 of the first work W1 viewed from the local coordinate system CO1 of the gripper 37, and shows the relative position and orientation relationship between the gripper 37 and the first work W1.
  • the relative coordinate rc2 represents the local coordinate system CO3 of the second work W2 viewed from the local coordinate system CO1 of the gripper 37, and indicates the relative position and attitude relationship between the gripper 37 and the second work W2.
  • the relative coordinate rc3 represents the local coordinate system CO3 of the second work W2 viewed from the local coordinate system CO2 of the first work W1, and indicates the relative position and posture relationship between the first work W1 and the second work W2. Show.
  • each relative coordinate is a relative position represented by three axes (front-back, left-right, top-bottom; relative position) in three-dimensional space, and rotation of each axis (roll, pitch). , Yaw) is included.
  • Each relative coordinate (rc1, rc2, rc3) is an example of the “relative coordinate between a plurality of objects” in the present invention.
  • the expression of the relative coordinates is not limited to such an example, and may be appropriately determined according to the embodiment.
  • the relative coordinates may be set to include only one of the relative position and the relative attitude, for example. Further, the method of giving the relative coordinates is not limited to such an example, and may be appropriately determined according to the embodiment.
  • the relative coordinate rc1 represents the local coordinate system CO1 of the gripper 37 viewed from the local coordinate system CO2 of the first workpiece W1, and so on, even if the relationship between the relative coordinates (rc1, rc2, rc3) is reversed. Good.
  • each state in a series of operations for component transportation is represented by a relative relationship amount including each relative coordinate (rc1, rc2, rc3).
  • rc1, rc2, rc3 each relative coordinate
  • the relative coordinates (rc1, rc2, rc3) included in the relative relation amount r0 at the time point st to start are the relative position and posture of the gripper 37, the first work W1, and the second work W2 in this state. Show the relationship.
  • the relative coordinates (rc1, rc2, rc3) of the relative relationship amount r0 are the image data 401 acquired before the control of the operation of the manipulator 3 with respect to the performance of the work is started (at the start time st). Calculated from
  • the final target gn in the example of this work is that the gripper 37 grips the upper part of the first work W1 and arranges the gripped first work W1 on the second work W2. ..
  • the relative coordinates (rc1, rc2, rc3) included in the relative relationship amount rn in the final target gn are the relative position and posture relationship between the gripper 37, the first work W1, and the second work W2 in this state. Indicates. This relative relation amount rn is appropriately given according to the work to be performed by the manipulator 3.
  • the control device 1 determines a series RS of relative relationship amounts in a target state of a plurality of objects from the relative relationship amount r0 at the starting point st to the realization of the relative relationship amount rn of the final target gn.
  • the “goal” includes the final goal gn and is appropriately set to achieve the achievement of the work.
  • the number of targets set may be one or more.
  • n targets (g1, g2, etc.) including the final target gn are set.
  • the targets (g1, g2, etc.) other than the final target gn are via points (corresponding to intermediate states) through which the starting point is reached to the ending point. Therefore, the final goal gn may be simply referred to as a “goal”, and goals other than the final goal gn may be referred to as “subgoals”.
  • 2B to 2E schematically exemplify an example of intermediate targets (g1, g2, etc.) established as a result of determining the series RS of the relative relationship amount.
  • the posture of the gripper 37 is changed so that the first work W1 can be gripped, and the gripper 37 is moved above the first work W1. It is designed to be placed in.
  • the relative coordinates (rc1, rc2, rc3) included in the relative relationship amount r1 at the target g1 are the relative positional and attitude relationships between the gripper 37, the first work W1, and the second work W2 in this state. Is set.
  • FIG. 2B schematically exemplify an example of intermediate targets (g1, g2, etc.) established as a result of determining the series RS of the relative relationship amount.
  • the gripper 37 is lowered and the upper part of the first work W1 is gripped by the gripper 37 as the target g2 to be transitioned after the target g1.
  • the relative coordinates (rc1, rc2, rc3) included in the relative relationship amount r2 in the target g2 are the relative position and posture relationship between the gripper 37, the first work W1, and the second work W2 in this state. Is set.
  • the relative relationship amount at each target is appropriately determined so as to correspond to one time point (that is, the intermediate state) of the process in which the relative relationship amount r0 at the start time point st transits to the relative relationship amount rn at the final target gn.
  • a scene in which the gripper 37 holding the first work W1 approaches the second work W2 is shown as a target set between the target g2 and the final target gn.
  • the respective relative coordinates (rc1, rc2, rc3) included in the relative relationship amount rr in this target indicate the relative position and posture relationship between the gripper 37, the first work W1, and the second work W2 in this state. Set as shown.
  • FIG. 2D a scene in which the gripper 37 holding the first work W1 approaches the second work W2 is shown as a target set between the target g2 and the final target gn.
  • the respective relative coordinates (rc1, rc2, rc3) included in the relative relationship amount rr in this target indicate the relative position
  • the control device 1 includes the relative relation amount in the current state calculated from the latest image data 40 acquired from the camera CA in the series RS of relative relation amounts until the relative relation amount rn of the final target gn is realized.
  • the control command 41 to be given to the manipulator 3 is repeatedly determined so as to change to the relative relationship amount in the target state to which the current state is changed next.
  • the initial state at the start point st is the current state n1. That is, the relative relationship amount p1 in the current state n1 calculated from the latest image data 401 is the same as the relative relationship amount r0 at the start time point st.
  • the "latest" is when the operation is controlled by the control command, and is the time immediately before the control command is determined.
  • the “goal to transition to” is a state to be aimed next from the current state (provisional state if it is a goal other than the final goal), for example, the closest to the current state toward the final goal. It is a goal. Therefore, the goal to transition to after the current state n1 is the goal g1. Therefore, in step s1, the control device 1 changes the relative relationship amount p1 (FIG. 2A) in the current state n1 calculated by the latest image data 401 to the relative relationship amount r1 (FIG. 2B) in the state of the target g1. Thus, the control command 411 is determined. The manipulator 3 is controlled in operation based on the determined control command 411.
  • the gripper 37, the first work W1, and the second work W2 are in the state shown in FIG. 2B. That is, in the next step s2, the relative relationship amount p2 in the current state n2 calculated from the latest image data 402 matches or approximates to the relative relationship amount r1 of the target g1 achieved before executing this step s2. is doing.
  • the next transition target of the current state n2 is the target g2 set next to the target g1. Therefore, in step s2, the control device 1 changes the relative relation amount p2 (FIG. 2B) in the current state n2 calculated from the image data 402 into the relative relation amount r2 (FIG. 2C) in the state of the target g2. Then, the control command 412 is determined. The operation of the manipulator 3 is controlled based on the determined control command 412.
  • the determination of the control instruction 41 and the control of the operation of the manipulator 3 based on the determined control instruction 41 are repeatedly executed. By repeating this, the states of the gripper 37, the first work W1, and the second work W2 transit from the state at the start time point st to the state of the final target gn.
  • the relative relationship amount pn in the current state nn calculated from the latest image data 40n is the relative relationship amount r() of the target achieved before the final target gn. It matches or approximates n-1).
  • the control device 1 changes the relative relation amount pn (FIG.
  • control command 41n is determined.
  • the manipulator 3 is controlled in operation based on the determined control command 41n.
  • the relative relation amount rn of the final target gn that is, the state in which the first work W1 gripped by the gripper 37 is arranged on the second work W2 is realized.
  • realizing the relative relationship amount rn of the final target gn means completion of the work.
  • the relative relationship amount calculated from the image data 40 acquired from the camera CA is the relative value of the final target gn. That is, it matches the relational quantity rn. This "match" may include an approximation by a threshold value (allowable error), as well as a perfect match.
  • the manipulator 3 grips the first work W1 arranged at a position away from the second work W2 by the gripper 37 by performing the above-described repeated processing until the final target gn is achieved, and the first gripped first work W1 is gripped. It is controlled to execute a series of operations for transporting the work W1 onto the second work W2.
  • the statuses and targets of the plurality of objects existing under the environment WS in which the manipulator 3 operates are related to the performance of the work, and are expressed by the relative relation amount, and the control command 41 is the relative command amount. It is decided in response to changing the relationship quantity.
  • the relative relationship amount indicates an attribute relating to a relative and physical relationship between a plurality of objects (gripper 37, first work W1, second work W2) existing in the environment WS, and in this embodiment, Relative coordinates (rc1, rc2, rc3) are included. That is, in this embodiment, the control command 41 is not directly associated with the work, but is associated with the change amount of the relative relationship amount.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the control device 1 according to the present embodiment.
  • the control device 1 is a computer to which a control unit 11, a storage unit 12, an external interface 13, an input device 14, an output device 15, and a drive 16 are electrically connected. ..
  • the external interface is described as “external I/F”.
  • the control unit 11 includes a CPU (Central Processing Unit) that is a hardware processor, a RAM (Random Access Memory), a ROM (Read Only Memory), and the like, and is configured to execute information processing based on a program and various data.
  • the storage unit 12 is an example of a memory, and includes, for example, a hard disk drive, a solid state drive, or the like.
  • the storage unit 12 stores various kinds of information such as a control program 81, a learning program 82, CAD (computer-aided design) data 121, map information 123, learning data 125, learning result data 127, and the like.
  • the control program 81 is a program for causing the control device 1 to execute information processing (FIGS. 9A and 9B) regarding control of the manipulator 3 described later.
  • the control program 81 includes a series of instructions for this information processing.
  • the learning program 82 performs information processing (FIG. 6, FIG. 6) related to the construction of the learned model (neural network 51 described later) used for determining the map information 123 used for determining the series RS of the relative relationship amount and the control command 41. This is a program for causing the control device 1 to execute 8).
  • the learning program 82 includes a series of instructions for this information processing.
  • the CAD data 121 includes a model of each object existing in the environment WS.
  • the map information 123 and the learning result data 127 are generated as the execution result of the learning program 82.
  • the map information 123 is an arrangement space that expresses a set of relative relation amounts between a plurality of objects, and a plurality of nodes corresponding to the relative relation amounts in a state that is a target state candidate are arranged. The arrangement space is shown.
  • the learning data 125 is used for machine learning of a learning model.
  • the learning result data 127 is data for setting a learned learning model constructed by machine learning. Details will be described later.
  • the external interface 13 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device.
  • the type and number of external interfaces 13 may be appropriately selected according to the type and number of external devices to be connected.
  • the control device 1 is connected to the manipulator 3 and the camera CA via the external interface 13.
  • the camera CA is appropriately arranged so as to observe each object (gripper 37, first work W1, second work W2) existing in the environment WS in which the manipulator 3 operates.
  • the type of the camera CA is not particularly limited and may be appropriately determined according to the embodiment.
  • a known camera such as a digital camera or a video camera may be used as the camera CA.
  • the control device 1 can acquire the image data 40 from the camera CA via the external interface 13.
  • the image data 40 is an example of the “observation data” of the present invention.
  • the camera CA is provided separately from the manipulator 3.
  • the configuration of the camera CA may not be limited to such an example.
  • the camera CA may be provided integrally with the manipulator 3.
  • the input device 14 is a device for inputting, for example, a mouse or a keyboard.
  • the output device 15 is a device for outputting a display, a speaker, or the like, for example. The operator can operate the control device 1 by using the input device 14 and the output device 15.
  • the drive 16 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 91.
  • the type of drive 16 may be appropriately selected according to the type of storage medium 91.
  • At least one of the control program 81, the learning program 82, the CAD data 121, and the learning data 125 may be stored in this storage medium 91.
  • the storage medium 91 stores information such as a recorded program by an electrical, magnetic, optical, mechanical, or chemical action so that a computer, other device, machine, or the like can read the recorded program or other information. It is a storage medium.
  • the control device 1 may acquire at least one of the control program 81, the learning program 82, the CAD data 121, and the learning data 125 from the storage medium 91.
  • a disk type storage medium such as a CD or a DVD is illustrated as an example of the storage medium 91.
  • the type of the storage medium 91 is not limited to the disc type, and may be other than the disc type.
  • a semiconductor memory such as a flash memory can be cited.
  • the control unit 11 may include a plurality of hardware processors.
  • the hardware processor may be configured with a microprocessor, FPGA (field-programmable gate array), DSP (digital signal processor), or the like.
  • the storage unit 12 may include a RAM and a ROM included in the control unit 11. At least one of the external interface 13, the input device 14, the output device 15, and the drive 16 may be omitted.
  • the control device 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the control device 1 may be a general-purpose information processing device such as a PC (Personal Computer), a controller such as a PLC (programmable logic controller), or the like, in addition to an information processing device designed exclusively for the provided service.
  • PC Personal Computer
  • PLC programmable logic controller
  • FIG. 4 schematically illustrates an example of the hardware configuration of the manipulator 3 according to this embodiment.
  • the manipulator 3 is a 6-axis vertical multi-joint type industrial robot, and includes a pedestal portion 30 and six joint portions 31 to 36.
  • Each of the joint portions 31 to 36 has a built-in servo motor (not shown), and is configured to be rotatable about each axis.
  • the first joint portion 31 is connected to the pedestal portion 30 and rotates the tip end side portion around the axis of the pedestal.
  • the second joint portion 32 is connected to the first joint portion 31 and rotates the front end side portion in the front-rear direction.
  • the third joint portion 33 is connected to the second joint portion 32 via a link 391, and rotates the tip side portion in the vertical direction.
  • the fourth joint portion 34 is connected to the third joint portion 33 via a link 392, and rotates the tip side portion around the axis of the link 392.
  • the fifth joint portion 35 is connected to the fourth joint portion 34 via a link 393, and rotates the tip end side portion in the vertical direction.
  • the sixth joint portion 36 is connected to the fifth joint portion 35 via a link 394, and rotates the tip side portion around the axis of the link 394.
  • a gripper 37 is attached to the tip end side of the sixth joint 36 together with a force sensor 38.
  • An encoder (not shown) is further built in each joint 31 to 36.
  • the encoder is configured to be able to measure the angles (control amounts) of the joints 31 to 36.
  • the encoder measurement data is used to control the angles of the joints 31 to 36.
  • the force sensor 38 is configured to detect forces and moments acting on the gripper 37 in the six axis directions.
  • the measurement data of the force sensor 38 may be used for adjusting the gripping force of the gripper 37 and detecting whether or not an abnormal force is acting on the gripper 37.
  • the hardware configuration of the manipulator 3 need not be limited to this example. With respect to the specific hardware configuration of the manipulator 3, it is possible to omit, replace, and add components as appropriate according to the embodiment.
  • the manipulator 3 may include a sensor other than the encoder and the force sensor 38 in order to observe the controlled variable or other attributes of the manipulator 3.
  • the number of axes of the manipulator 3 may not be limited to 6 axes.
  • a known industrial robot may be adopted as the manipulator 3.
  • FIG. 5A schematically illustrates an example of a software configuration regarding control processing of the control device 1 according to the present embodiment.
  • the control unit 11 of the control device 1 loads the control program 81 stored in the storage unit 12 into the RAM. Then, the control unit 11 interprets and executes the control program 81 expanded in the RAM by the CPU to control each component.
  • the control device 1 according to the present embodiment, the target setting unit 101, the data acquisition unit 102, the relationship identification unit 103, the action determination unit 104, the command determination unit 105, and the operation control unit 106. It operates as a computer equipped with. That is, in the present embodiment, each software module of the control device 1 regarding control processing is realized by the control unit 11 (CPU).
  • the target setting unit 101 sets a relative relationship amount rn among a plurality of objects which is the final target gn.
  • the relative relationship amount rn of the final target gn is set according to the given work T, as illustrated in FIG. 2F.
  • the relative amount rn of the final target gn may be given by a simulator such as CAD, or may be given by an operator's designation.
  • the data acquisition unit 102 repeatedly acquires observation data from a sensor that observes a plurality of objects existing in the environment WS.
  • the relationship identifying unit 103 calculates the relative relationship amount between the plurality of objects from the acquired observation data.
  • the relative relationship amount includes the relative coordinates between the plurality of objects.
  • the sensor also includes a camera CA, and the observation data includes image data 40 obtained by the camera CA. Therefore, in the present embodiment, the data acquisition unit 102 repeatedly acquires the image data 40 as observation data from the camera CA.
  • the relationship identifying unit 103 calculates the relative relationship amount including the relative coordinates between the plurality of objects from the acquired image data 40.
  • the method of calculating the relative coordinates from the image data 40 is not particularly limited and may be appropriately selected according to the embodiment.
  • the relationship identifying unit 103 uses the model of each target object to calculate the relative coordinates between the target objects. Specifically, the relationship identifying unit 103 matches the model of each object indicated by the CAD data 121 with the image data 40 obtained by the camera CA. The relationship identifying unit 103 calculates the relative coordinates between the plurality of objects based on the result of this matching.
  • the series RS of the relative relation amount in is determined.
  • the relative relationship amount r0 at the start time point st is calculated from the image data 40 acquired at the time point immediately before the start of controlling the operation of the manipulator 3 with respect to the performance of the work.
  • the action determination unit 104 holds the map information 123.
  • the map information 123 is used to determine the series RS of the relative relationship amount.
  • the action determining unit 104 selects the node to pass through from the plurality of nodes in the arrangement space indicated by the map information 123, and thereby the action determining unit 104 corresponds to the relative relationship amount r0 in the state at the time point st to start. A path from the node to the node corresponding to the relative relation amount rn in the state of the final target gn is searched. Then, the action determination unit 104 generates the series RS of the relative relationship amount by the relative relationship amount (r1 etc.) corresponding to the node included in the searched route.
  • the command determination unit 105 sets the relative relationship amount in the current state calculated from the latest image data 40 acquired from the camera CA into the series RS of relative relationship amounts until the relative relationship amount rn of the final target gn is realized.
  • the control command 41 to be given to the manipulator 3 is repeatedly determined so as to be changed to the included relative relationship amount in the target to be transitioned to next to the current state.
  • FIG. 5A a scene in which the current state ns is transited to the state of the next target gs is illustrated as the s-th repeated processing.
  • the command determination unit 105 changes the relative relationship amount ps in the current state ns calculated from the latest image data 40s to the relative relationship amount rs in the next transition target gs so that the control instruction 41s is changed. To decide.
  • the method for determining the control command 41 is not particularly limited, and may be appropriately selected according to the embodiment.
  • the instruction determination unit 105 includes the learned neural network 51 by holding the learning result data 127.
  • the learned neural network 51 is an example of the “first learned learning model” in the present invention.
  • the command determining unit 105 determines the control command 41 by using the learned neural network 51. Specifically, the command determination unit 105 inputs the relative relation amount ps in the current state ns and the relative relation amount rs in the state of the target gs to be transitioned next to the neural network 51, and executes the arithmetic processing of the neural network 51. To do. Accordingly, the command determination unit 105 acquires the output value output from the neural network 51 as a result of determining the control command 41s.
  • the operation control unit 106 outputs the determined control command 41 to the manipulator 3.
  • the operation control unit 106 is an example of the “output unit” in the present invention.
  • the operation control unit 106 controls the operation of the manipulator 3 based on the control instruction 41 as the output processing of the control instruction 41.
  • the manipulator 3 repeats the processes of the command determining unit 105 and the operation control unit 106 until the relative target amount rn of the final target gn is realized, and thus the manipulator 3 gives, for example, as illustrated in FIGS. It is controlled to execute a series of operations related to the execution of the task T.
  • the neural network 51 which is an example of a learning model
  • the neural network 51 is a neural network having a multi-layer structure used for so-called deep learning, and includes an input layer 511, an intermediate (hidden) layer 512, and an output layer in order from the input side. 513 is provided.
  • the neural network 51 includes one intermediate layer 512, the output of the input layer 511 is input to the intermediate layer 512, and the output of the intermediate layer 512 is input to the output layer 513.
  • the number of the intermediate layers 512 may not be limited to such an example.
  • the neural network 51 may include two or more intermediate layers.
  • the number of neurons included in each layer 511 to 513 may be appropriately selected according to the embodiment.
  • the neurons in the adjacent layers are appropriately connected to each other, and a weight (connection weight) is set for each connection.
  • a threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of products of each input and each weight exceeds the threshold.
  • the weights of the connections between the neurons and the thresholds of the neurons included in the layers 511 to 513 are examples of the calculation parameters of the learning model.
  • the command determination unit 105 inputs the relative relation amount ps in the current state ns and the relative relation amount rs in the state of the target gs to be transitioned next to the input layer 511, and is included in each layer 511 to 513 as the arithmetic processing of the neural network 51. The firing of each neuron is determined sequentially from the input side. Accordingly, the command determination unit 105 acquires the output value output from the output layer 513 as a result of determining the control command 41s.
  • the configuration of the learned neural network 51 for example, the number of layers of the neural network, the number of neurons in each layer, the connection relationship between neurons, the transfer function of each neuron
  • the learning result data 127 includes information indicating the weight of connection between neurons and the threshold value of each neuron.
  • the command determination unit 105 refers to the learning result data 127 and sets the learned neural network 51 used for the process of determining the control command 41 from the current state and the next transition target.
  • FIG. 5B schematically illustrates an example of a software configuration regarding the learning process of the control device 1 according to the present embodiment.
  • the control unit 11 of the control device 1 loads the learning program 82 stored in the storage unit 12 into the RAM. Then, the control unit 11 interprets and executes the learning program 82 expanded in the RAM by the CPU to control each component.
  • the control device 1 includes the environment information acquisition unit 111, the map creation unit 112, the map storage processing unit 113, the learning data acquisition unit 114, the learning processing unit 115, and the storage. It operates as a computer including the processing unit 116 as a software module. That is, in the present embodiment, each software module of the control device 1 related to the learning process is realized by the control unit 11 (CPU).
  • the environment information acquisition unit 111 acquires environment information (for example, CAD data 121) regarding each object existing in the environment WS for performing the work T.
  • the map creation unit 112 creates map information 123 indicating the arrangement space using the acquired environment information.
  • the map storage processing unit 113 stores the created map information 123 in a predetermined storage area.
  • the predetermined storage area may be, for example, the RAM in the control unit 11, the storage unit 12, the external storage device, the storage medium, or a combination thereof.
  • the storage medium may be, for example, a CD, a DVD, or the like, and the control unit 11 may store the map information 123 in the storage medium via the drive 16.
  • the external storage device may be, for example, a data server such as NAS (Network Attached Storage).
  • the control device 1 may further include a communication interface such as a wired LAN (Local Area Network) module and a wireless LAN module, and the control unit 11 uses the communication interface to connect to the data server via the network.
  • the map information 123 may be stored in the.
  • the external storage device may be, for example, an external storage device connected to the control device 1.
  • the learning data acquisition unit 114 acquires learning data 125 used for machine learning of the neural network 51.
  • the learning data 125 controls the operation of the manipulator 3 so as to change the relative relationship amount 1251 in the first state and the relative relationship amount 1252 in the second state, and the relative relationship amount 1251 to the relative relationship amount 1252.
  • a plurality of learning data sets 1250 each configured by a combination with the control command 1253 of FIG.
  • the first state corresponds to the "current state" for training.
  • the second state corresponds to the "next transition state” for training. Therefore, the relative relationship amount 1251 may be referred to as a “first relative relationship amount” and the relative relationship amount 1252 may be referred to as a “second relative relationship amount”.
  • the relative relationship amount 1251 in the first state and the relative relationship amount 1252 in the second state are used as training data (input data).
  • the control instruction 1253 is used as teacher data (correct answer data).
  • the learning processing unit 115 uses the acquired learning data 125 to perform machine learning of the neural network 51. That is, the learning processing unit 115 changes the relative relationship amount between the respective objects from the relative relationship amount 1251 to the relative relationship amount 1252 in response to the input of the relative relationship amount 1251 and the relative relationship amount 1252 by machine learning.
  • the neural network 51 is trained to determine the control command (control command 1253) for controlling the operation of the manipulator 3. As a result, the learned neural network 51 is constructed.
  • the save processing unit 116 saves information on the constructed learned neural network 51 in a predetermined storage area.
  • each software module of the control device 1 will be described in detail in an operation example described later. It should be noted that the present embodiment describes an example in which each software module of the control device 1 is realized by a general-purpose CPU. However, some or all of the above software modules may be implemented by one or more dedicated processors. Further, with respect to the software configuration of the control device 1, depending on the embodiment, omission, replacement, and addition of software modules may be appropriately performed.
  • control device 1 executes two processes as a learning process, a process of creating the map information 123 and a process of constructing the learned neural network 51. Further, the control device 1 according to the present embodiment executes processing for controlling the operation of the manipulator 3.
  • processing for controlling the operation of the manipulator 3 will be described. However, each processing procedure described below is merely an example, and each step may be changed as much as possible. Furthermore, in each processing procedure described below, steps can be omitted, replaced, and added as appropriate according to the embodiment.
  • FIG. 6 is a flowchart showing an example of a processing procedure for creating the map information 123 by the control device 1 according to the present embodiment.
  • 7A to 7C schematically illustrate an example of a process of creating the map information 123.
  • Step S101 the control unit 11 operates as the environment information acquisition unit 111 and acquires environment information about each target object existing in the environment WS in which the work T is performed.
  • the form and type of the environmental information are not particularly limited as long as the amount of relative relationship between the objects can be simulated, and may be appropriately selected according to the embodiment.
  • the control unit 11 may acquire the CAD data 121 as the environment information, for example.
  • the CAD data 121 includes configuration information indicating a physical configuration such as a model (for example, 3D model) of each target.
  • the CAD data 121 may be generated by known software.
  • Steps S102 and S103 the control unit 11 operates as the map creation unit 112 to create and set the arrangement space. Specifically, in step S102, the control unit 11 uses the acquired environment information to perform relative movement between a plurality of objects (in the present embodiment, the gripper 37, the first work W1, and the second work W2). Create an arrangement space that represents a set of relation quantities. In the next step S103, a free area and a restricted area are set in the created arrangement space.
  • a plurality of objects in the present embodiment, the gripper 37, the first work W1, and the second work W2.
  • FIG. 7A schematically illustrates an example of the created arrangement space SP.
  • the arrangement space SP is expressed in two dimensions.
  • the dimension of the arrangement space SP is not always two-dimensional because it depends on the relative relation amount.
  • the nodes (points) belonging to the arrangement space SP correspond to the relative relationship amount between the plurality of objects.
  • each object has a physical configuration, there are a relative relationship quantity that can be realized and a relative relationship quantity that cannot be realized as the relative relationship quantity of each object.
  • a state in which the gripper 37, the first work W1, and the second work W2 are apart from each other within a movable range can be a relative relationship between the objects. And the relative quantity in this state is feasible.
  • a state in which one of the first work W1 and the second work W2 is incapable of penetrating each other, but one of them is penetrating into the other may be a relative relationship between the objects. It is a non-existent state, and the relative quantity in this state cannot be realized.
  • the movable range and angle of the gripper 37 are restricted according to the configuration of the manipulator 3. Therefore, the state in which the gripper 37 is moving within the immovable range with respect to other objects is a state that cannot be taken as a relative relationship between the respective objects, and the relative relationship amount in this state cannot be realized. Is.
  • the control unit 11 refers to the CAD data 121 after creating the arrangement space SP that expresses the set of relative relation quantities, and determines the relative relation quantity that can be realized according to the physical configuration of each object.
  • a free area to which a corresponding node belongs and a restricted area to which a node corresponding to an unrealizable relative relationship amount belong are set.
  • the area E1 is a free area
  • the other areas E2 to E4 are restricted areas.
  • Step S104 the control unit 11 operates as the map creation unit 112, and in the free region of the arrangement space, the control unit 11 makes a plurality of relative relationship amounts in each state that can be taken as a relative relationship between the respective objects. Place the node.
  • Each node corresponds to, for example, a relative relationship amount in a state that is a candidate for the state of the target (g1 or the like).
  • FIG. 7B schematically illustrates a scene in which each node Nd is arranged in the free area (area E1) of the arrangement space SP.
  • Each node Nd corresponds to one state of the relative relationship between the plurality of objects, and indicates the relative relationship amount (each relative coordinate rc1 to rc3 in this embodiment) in the one state.
  • Each node Nd may be set by a known method such as random sampling. Further, each node Nd may be set, for example, by an operator's designation via the input device 14.
  • control unit 11 sets a node (start point) corresponding to the candidate at the start time point st and a node (end point) corresponding to the candidate at the final target gn, and sets the set start point to the end point.
  • You may search a route suitably. A known method may be adopted for this route search. Further, this route search may be performed by simulation or may be performed by driving the manipulator 3. Then, in this route search, the control unit 11 may extract a node having a high transition probability, for example, each node whose appearance frequency is a threshold value or more, and set each extracted node as the node Nd.
  • Each node Nd to be set may include a node corresponding to each candidate of the starting point st and the final goal gn.
  • the control unit 11 advances the process to the next step S105.
  • step S105 the control unit 11 operates as the map creation unit 112 and connects the nodes with edges.
  • FIG. 7C schematically illustrates a scene in which each node Nd is connected by an edge Eg.
  • the edge Eg connects the two nodes Nd, and indicates that the state corresponding to one node Nd can be transited to the state corresponding to the other node Nd. Therefore, the edge Eg is set so as not to enter the restricted area (areas E2 to E4 in the example of FIG. 7C).
  • the method of determining the combination of the two nodes Nd for setting the edge Eg may be appropriately selected according to the embodiment.
  • the combination of the two nodes Nd that set the edge Eg may be determined based on a known method such as the nearest neighbor method.
  • the combination of the two nodes Nd for setting the edge Eg may be determined by the designation of the operator via the input device 14.
  • Step S106 the control unit 11 operates as the map storage processing unit 113 and stores the created map information 123 in a predetermined storage area.
  • the predetermined storage area may be, for example, the RAM in the control unit 11, the storage unit 12, the external storage device, the storage medium, or a combination thereof. As described above, the control unit 11 finishes the series of processes regarding the creation of the map information 123.
  • FIG. 8 is a flowchart showing an example of a processing procedure regarding the construction of the learned neural network 51 by the control device 1 according to the present embodiment.
  • Step S201 the control unit 11 operates as the learning data acquisition unit 114 and acquires the learning data 125 used for machine learning of the neural network 51.
  • the learning data 125 includes a plurality of learning data sets 1250 each configured by the relative relationship amount 1251, the combination of the relative relationship amount 1252 and the control command 1253.
  • the method for acquiring each learning data set 1250 is not particularly limited and may be appropriately selected according to the embodiment.
  • a virtual environment or a real environment by a simulator is prepared, and in the prepared environment, a combination of the first state and the second state is given under various conditions, and a relative relationship between a plurality of objects is given.
  • the manipulator 3 is driven so as to transition from the first state to the second state.
  • the control command 1253 at the time of driving so as to appropriately transition from the first state to the second state is combined with the relative relationship amount 1251 in the first state and the relative relationship amount 1252 in the second state. Thereby, each learning data set 1250 can be generated.
  • Each learning data set 1250 may be automatically generated by the operation of a computer, or may be manually generated by an operator's operation via the input device 14. Moreover, the generation of each learning data set 1250 may be performed by the control device 1 or may be performed by a computer other than the control device 1.
  • the control unit 11 automatically or manually executes the series of processes described above by an operator, thereby learning data including a plurality of learning data sets 1250. Get 125.
  • the control unit 11 may include, for example, learning data including a plurality of learning data sets 1250 generated by the other computer via the network, the storage medium 91, or the like. Get 125.
  • the number of learning data sets 1250 to be acquired does not have to be particularly limited and may be appropriately selected according to the embodiment.
  • the control unit 11 advances the processing to the next step S202.
  • Step S202 the control unit 11 operates as the learning processing unit 115 and uses the acquired learning data 125 to perform machine learning of the neural network 51.
  • the control unit 11 prepares the neural network 51 to be processed.
  • the initial value of the connection weight between neurons and the initial value of the threshold value of each neuron may be given by a template or may be given by an operator's input.
  • the control unit 11 may prepare the neural network 51 based on the learning result data obtained by performing the past machine learning.
  • control unit 11 uses the relative relationship amount 1251 and the relative relationship amount 1252 included in each learning data set 1250 acquired in step S201 as input data, and uses the corresponding control instruction 1253 as teacher data,
  • the learning process of the neural network 51 is executed.
  • a stochastic gradient descent method or the like may be used.
  • the control unit 11 inputs the relative relationship amount 1251 and the relative relationship amount 1252 for each learning data set 1250 into the input layer 511, and is included in each layer (511 to 513) in order from the input side.
  • the firing of each neuron is determined. Accordingly, the control unit 11 acquires, from the output layer 513, the output value corresponding to the result of determining the control command given to the manipulator 3 to change the relative relationship amount 1251 to the relative relationship amount 1252.
  • the control unit 11 calculates the error between the acquired output value and the corresponding control command 1253.
  • control unit 11 calculates the weight of the coupling between each neuron and the error of each threshold value of each neuron by using the error of the calculated output value by the back propagation method.
  • control unit 11 updates the weights of the connections between the neurons and the threshold values of the neurons based on the calculated errors.
  • the control unit 11 matches the corresponding control command 1253.
  • the value of the operation parameter of the neural network 51 is adjusted so that the output value is output from the output layer 513.
  • the control unit 11 sets the calculation parameters in the first to fourth steps until the sum of the error between the output value obtained from the output layer 513 and the control command 1253 becomes a threshold value or less. Repeat the value adjustment.
  • the threshold value may be appropriately set according to the embodiment.
  • control unit 11 constructs the learned neural network 51 trained to output the output value that matches the corresponding control command 1253 with respect to the input of the relative relationship amount 1251 and the relative relationship amount 1252. be able to.
  • the control unit 11 advances the process to the next step S203.
  • Step S203 the control unit 11 operates as the storage processing unit 116 and stores the learned information about the neural network 51 in a predetermined storage area.
  • the control unit 11 generates, as the learning result data 127, information indicating the configuration and the calculation parameters of the learned neural network 51 constructed by the machine learning in step S202. Then, the control unit 11 saves the generated learning result data 127 in a predetermined storage area.
  • the predetermined storage area may be, for example, the RAM in the control unit 11, the storage unit 12, the external storage device, the storage medium, or a combination thereof. As described above, the control unit 11 finishes the series of processes regarding the construction of the learned neural network 51.
  • FIGS. 9A and 9B are flowcharts showing an example of a processing procedure relating to operation control of the manipulator 3 by the control device 1 according to the present embodiment.
  • the processing procedure described below is an example of the “control method” of the present invention.
  • step S301 the control unit 11 receives the designation of the work T to be performed.
  • the method for accepting the designation of the work T is not particularly limited, and may be appropriately selected according to the embodiment.
  • the control unit 11 may accept the designation of the work T to be performed by inputting the name of the work T via the input device 14. Further, for example, the control unit 11 outputs a list indicating candidates for the work T to be performed to the output device 15 and allows the operator to select the work T to be performed from the list, thereby accepting the designation of the work T to be performed. Good.
  • the control unit 11 operates as the target setting unit 101 and sets the relative relationship amount rn that becomes the final target gn according to the designated work T.
  • the relative amount rn of the final target gn may be given by a simulator such as CAD, or may be given by an operator's designation.
  • the control unit 11 advances the process to step S303.
  • Step S303 the control unit 11 operates as the data acquisition unit 102 and acquires observation data from a sensor that observes a plurality of objects existing in the environment WS.
  • step S304 the control unit 11 operates as the relationship specifying unit 103 and calculates the relative relationship amount between the plurality of objects from the acquired observation data.
  • the control unit 11 acquires the image data 40 from the camera CA. Then, the control unit 11 matches the model of each target object (the gripper 37, the first work W1, and the second work W2) indicated by the CAD data 121 with the acquired image data 40. The control unit 11 calculates the relative coordinates rc1 to rc3 (relative relationship amount) between the respective objects based on the result of this matching.
  • a known image processing method may be used for the matching method and the derivation of the relative coordinates rc1 to rc3.
  • the processing time of these steps S303 and S304 is the time immediately before the control of the operation is started (that is, the start time st).
  • the image data 40 acquired in step S303 is the latest at this point. Therefore, the relative relation amount calculated in step S304 is used as the relative relation amount r0 at the start time point st and the relative relation amount p1 in the current state n1.
  • the control unit 11 advances the process to the next step S305.
  • Step S305 the control unit 11 operates as the action determination unit 104, and realizes a plurality of target objects from the relative relationship amount r0 at the time point st when the control of the operation is started to the real relationship amount rn of the final target gn.
  • a series RS of relative relationship quantities in a target (g1 etc.) state is determined.
  • the control unit 11 uses the map information 123 to determine the series RS of the relative relationship amount. Specifically, the control unit 11 selects a node passing through from the plurality of nodes in the arrangement space indicated by the map information 123, so that the node corresponding to the relative relationship amount r0 in the state at the time point st to start is selected. To a node corresponding to the relative relation amount rn in the state of the final target gn. Then, the control unit 11 generates the series RS of the relative relationship amount by the relative relationship amount corresponding to the node included in the searched route.
  • FIG. 10 shows that, as a result of the route search (action plan), the node N1 is a transit node of the route from the node Ns corresponding to the relative relation amount r0 at the start point st to the node Ng corresponding to the relative relation amount rn of the final target gn.
  • a scene in which N5 is selected is schematically illustrated. Note that, in the example of FIG. 10, for convenience of description, the nodes Ns to Ng pass through five nodes N1 to N5 (that is, n is 6), but the number of nodes passing through is such an example. It is not necessary to be limited to.
  • the control unit 11 sets the corresponding node Nd to each node (Ns, Ng). To use as.
  • the control unit 11 sets each node (Ns, Ng) in the arrangement space SP. Then, the control unit 11 searches for a route from the node Ns to the node Ng by selecting a passing node from among the plurality of nodes Nd set in the arrangement space SP.
  • a known search method such as the Dijkstra method may be used for the route search. In the example of FIG.
  • the path from the node Ns to the node Ng is configured by the edge Eg connected to the selected nodes N1 to N5.
  • the control unit 11 configures the series RS of the relative relation amount by the relative relation amount corresponding to each node (N1 to N5, Ng) included in this path.
  • the control unit 11 searches for a route from the node Ns to the node Ng so that the constraint condition is satisfied.
  • the type of constraint condition is not particularly limited, and may be appropriately selected according to the embodiment.
  • the constraint condition may be, for example, to pass through the node Nd designated by the operator or the like.
  • the control unit 11 searches for a route from the node Ns to the node Ng so as to pass through the designated node Nd.
  • a weight may be set for each edge Eg. This weight may be set or changed as appropriate according to the priority item in the route search. For example, assume that the priority item was the shortest route. In this case, the weight of each edge Eg may be set according to the distance to drive the gripper 37. Further, for example, assume that the priority item is to transport the first work W1 at a predetermined distance from the second work W2. In this case, during the transportation of the first work W1, the edge Eg passing through the node corresponding to the relative relationship amount in which the distance between the first work W1 and the second work W2 is within the predetermined distance is not prioritized, which is not the case. The weight of each edge Eg may be set so that the edge Eg passing through the node is prioritized. The control unit 11 may utilize this weight to perform a route search.
  • control unit 11 advances the processing to the next step S306.
  • Step S306 the control unit 11 operates as the action determination unit 104, and specifies the relative relationship amount in the target state to which the current state transitions next from the series of relative relationship amounts RS.
  • the relative coordinates rc1 to rc3 of the relative relationship amount in the current state are calculated from the latest image data 40 acquired from the camera CA.
  • the next transitional goal is, for example, the goal closest to the current state toward the final goal gn.
  • the control unit 11 can specify the relative relationship amount in the target state to which the current state is transitioned next by following the route searched in step S305.
  • the control unit 11 identifies the relative relationship amount r1 of the target g1 as the relative relationship amount to be transitioned next from the series of relative relationship amounts RS.
  • the relative relationship amount p1 in the current state n1 corresponds to the starting node Ns. Therefore, the relative relation amount in the next transition target state reaches the final node Ng from the starting node Ns via one edge Eg (that is, the node N1 adjacent to the starting node Ns).
  • control unit 11 advances the process to the next step S307.
  • Step S307 the control unit 11 operates as the command determination unit 105, and gives the control command 41 to the manipulator 3 so as to change the relative relationship amount in the current state to the relative relationship amount in the next transition target state. To decide.
  • the control unit 11 determines the control command 41 by using the learned neural network 51. Specifically, the control unit 11 refers to the learning result data 127 and sets the learned neural network 51. Subsequently, the control unit 11 inputs the relative relationship amount in the current state and the relative relationship amount in the next transition target state into the input layer 511 of the neural network 51. Then, the control unit 11 performs firing determination of each neuron included in each of the layers 511 to 513 in order from the input side as the arithmetic processing of the neural network 51. Accordingly, the control unit 11 acquires the output value corresponding to the result of determining the control command 41 from the output layer 513.
  • the format of the output value of the neural network 51 is not particularly limited and may be appropriately selected according to the embodiment.
  • the output value of the neural network 51 may directly correspond to the control command 41.
  • the control unit 11 can directly handle the output value of the neural network 51 as the control command 41.
  • the output value of the neural network 51 may indicate an index (for example, class) for determining the control command 41.
  • the control device 1 may store reference information (not shown) in a table format or the like in which the output value and the control command are associated with each other in the storage unit 12.
  • the control unit 11 can determine the control command 41 from the output value of the neural network 51 based on this reference information.
  • the control unit 11 advances the processing to the next step S308.
  • step S308 the control unit 11 operates as the operation control unit 106 and outputs the determined control command 41 to the manipulator 3.
  • the control unit 11 controls the operation of the manipulator 3 based on the control command 41 as the output process of the control command 41.
  • the method of controlling the operation of the manipulator 3 may be appropriately selected according to the format of the control command 41.
  • the control command 41 may directly indicate the operation amount of each joint 31 to 36.
  • the operation amount of each joint 31 to 36 is, for example, a torque command value, a voltage command value, or the like.
  • the control unit 11 controls the operation of the manipulator 3 by giving the obtained control command 41 as it is to the servo motors of the joint units 31 to 36.
  • control command 41 may indicate the target value of the control amount of each joint 31 to 36.
  • the control amount of each joint 31 to 36 is, for example, the angle of each joint 31 to 36.
  • the control unit 11 acquires the measured value (measurement data) of the control amount of each joint unit 31 to 36 from the encoder built in each joint unit 31 to 36.
  • the timing for acquiring the measurement value from the encoder is not particularly limited as long as it is immediately before the operation of the manipulator 3 is controlled, and may be appropriately selected according to the embodiment.
  • the timing of acquiring the measurement value from the encoder may be the same as the timing of acquiring the image data 40.
  • control unit 11 determines the operation amount of each joint unit 31 to 36 from the difference (deviation) between the target value of the control amount of each joint unit 31 to 36 indicated by the control command 41 and the measurement value acquired from the encoder. calculate.
  • a conventional control method such as PID (Proportional Integral Differential) control may be used to calculate the operation amount.
  • control unit 11 controls the operation of the manipulator 3 by applying the calculated operation amounts to the servo motors of the joint units 31 to 36.
  • the control command 41 may also be related to the end effector.
  • the control command 41 may indicate the target value of the control amount of the work coordinate system of the gripper 37.
  • the control amount of the work coordinate system is, for example, the position and orientation of the gripper 37.
  • the control unit 11 calculates the target value of the control amount of the joint coordinate system of each joint 31 to 36 from the target value of the control amount of the work coordinate system indicated by the control command 41 based on the inverse kinematics. ..
  • the subsequent processing may be similar to the above example. That is, the control unit 11 acquires the measured value of the control amount of each joint unit 31 to 36 from the encoder incorporated in each joint unit 31 to 36.
  • control unit 11 determines the operation amount of each joint unit 31 to 36 from the difference (deviation) between the target value of the control amount of each joint unit 31 to 36 indicated by the control command 41 and the measurement value acquired from the encoder. calculate. Then, the control unit 11 controls the operation of the manipulator 3 by applying the calculated operation amounts to the servo motors of the joint units 31 to 36.
  • control unit 11 advances the processing to the next step S309.
  • Steps S309 and S310 are the same as steps S303 and S304.
  • the control unit 11 operates as the data acquisition unit 102 and acquires the image data 40 from the camera CA.
  • the control unit 11 operates as the relationship specifying unit 103, and with respect to the acquired image data 40, each object (gripper 37, first work W1, and second work W2) indicated by the CAD data 121. ) Matching models.
  • the control unit 11 calculates the relative coordinates rc1 to rc3 (relative relationship amount) between the respective objects based on the result of this matching. When the calculation of the relative relationship amount is completed, the control unit 11 advances the processing to the next step S311.
  • Step S311 In step S311, as a result of the control in step S308, the control unit 11 determines whether the relative relationship amount between the plurality of objects has transitioned to the target state specified in step S306.
  • the control unit 11 may determine whether the relative relationship amount calculated in step S310 matches the relative relationship amount in the target state specified in step S306. This matching may include an approximation based on a threshold value (allowable error), as well as a perfect match.
  • the control unit 11 shifts the relative relationship amount between the plurality of objects to the target state. You may judge that it did.
  • the control unit 11 may determine that the relative relationship amount between the plurality of objects has not transitioned to the target state.
  • the control unit 11 When it is determined that the relative relationship amount between the plurality of objects has not transitioned to the target state, the control unit 11 returns the process to step S307 and repeats the series of processes of steps S307 to S310. In this iterative process, the image data 40 acquired in step S309 is the latest before returning to step S307. Therefore, in this iterative process, the control unit 11 handles the relative relationship amount calculated in step S310 before returning to step S307 as the relative relationship amount in the current state. On the other hand, when the control unit 11 determines that the relative relationship amount between the plurality of objects has transited to the target state, the control unit 11 advances the process to step S312.
  • Step S312 the control unit 11 determines whether or not the relative relationship amount rn of the final target gn has been realized.
  • the target specified in step S306 is the final target gn
  • the relative relationship amount rn of the final target gn is realized from the result of the determination in step S311. Therefore, in this case, it is determined that the relative relationship amount rn of the final target gn has been realized, and the control unit 11 ends the series of processes regarding the operation control of the manipulator 3.
  • step S306 If the target specified in step S306 is a target other than the final target gn, the relative relation amount rn of the final target gn has not yet been realized. In this case, the control unit 11 returns the process to step S306. As a result, the control unit 11 repeatedly executes the series of processes of steps S306 to S311 until the relative relationship amount rn of the final target gn is realized. As in step S311, the image data 40 acquired in step S309 before returning to step S306 is the latest in this repeated processing. Therefore, in this iterative process, the control unit 11 handles the relative relationship amount calculated in step S310 before returning to step S306 as the relative relationship amount in the current state.
  • step S306 when executing the series of processes of steps S306 to S311 for the s-th time, in step S306, the control unit 11 selects the current state ns calculated from the latest image data 40s from the relative relationship series RS. The relative relationship amount rs in the state of the target gs that transits to is specified.
  • step S307 the control unit 11 determines the control command 41s so as to change the relative relation amount ps in the current state ns to the relative relation amount rs in the state of the next transition target gs. Then, in step S308, the control unit 11 outputs the determined control command 41s to the manipulator 3.
  • the manipulator 3 executes a series of operations related to the work T such as parts transportation illustrated in FIGS. 2A to 2F, for example. To be controlled.
  • the current states and targets of the plurality of objects are the relative coordinates rc1.
  • the control command 41 is expressed by a relative relationship amount including to rc3, and is determined in accordance with the change of the relative relationship amount. That is, in the present embodiment, the control command 41 is not associated with the work T itself taught to the manipulator 3, but is associated with the change amount in the relative relationship amount. Thereby, it is possible to teach the time-series control command 41 to be given to the manipulator 3 for changing the relative relationship amount, without depending on the content of the work.
  • 11A and 11B are diagrams for explaining the problems of the conventional control method.
  • FIG. 12 is a diagram for explaining the above characteristics of the control method according to the present embodiment.
  • the gripper (37, 370) conveys the first work W1 onto the second work W2 as an example of an operation for teaching the manipulator, as in the case of FIGS. 2A to 2F. The work is illustrated.
  • the first work W1 is placed on the table B2, and the second work W2 is placed on the table B1 having the same height as the table B2. It was assumed that Under this condition, the gripper 370 grips the first work W1 by the conventional method, and the gripped first work W1 is horizontally moved near the height h1 above the second work W2. It is assumed that the manipulator is taught a series of operations for arranging the first work W1 on the second work W2 by lowering it.
  • FIG. 11B illustrates a scene in which the first work W1 is placed on the table B3 which is lower than the table B2 by a height h2.
  • the time-series control command acquired by the above teaching is associated with the work to be taught. Therefore, the manipulator attempts to convey the first work W1 to the second work W2 by the control command similar to the above.
  • the gripper 370 the position at which the first work W1 is gripped is changed by the amount that the table B3 is lower than the table B2 by the height h2.
  • the gripper 370 grips the upper end side of the first work W1 more than in the scene of FIG. 11A, and the gap V between the gripper 370 and the first work W1 expands by the height h2.
  • step S305 when the manipulator 3 is instructed to perform a work as in the case of FIG. 11A, the learned control command is associated not with the work itself but with the relative amount of variation. Therefore, in step S305, the series RS of relative relation quantities can be determined so that the first work W1 includes the target placed at the height h1 above the second work W2. Then, in step S307, the control command 41 can be determined so as to realize the relative relationship amount in which the first work W1 is arranged at the height h1 above the second work W2. Therefore, as illustrated in FIG.
  • the gap V between the gripper 37 and the first work W1 is equal to the height h2. Even if the first work W1 is expanded, the operation of the manipulator 3 can be controlled so as to horizontally move the first work W1 near the height h1 above the second work W2.
  • the time-series control command 41 given to the manipulator 3 for changing the relative relationship amount can be taught without depending on the content of the work. Therefore, according to the present embodiment, it is possible to increase the versatility of the ability to perform the learned task. As a result, the cost required to teach the manipulator 3 to work can be reduced.
  • the vertically articulated manipulator 3 is illustrated as the robot device to be controlled.
  • the robot device may include, for example, an industrial robot, a movable body that can move automatically, and the like.
  • Industrial robots include, for example, the vertical articulated robots, SCARA robots, parallel link robots, orthogonal robots, cooperative robots, and the like.
  • the moving body that can be automatically moved includes, for example, a drone, a vehicle configured to be self-driving, a mobile robot, and the like.
  • INDUSTRIAL APPLICABILITY The present invention may be applied to all kinds of robot devices capable of manipulating an object.
  • the present invention when the present invention is applied to a moving body that is automatically movable and includes a GPS (Global Positioning System) measuring device, it is possible to specify a relative relationship amount (for example, the relative coordinates) related to a position. May use GPS information measured by a GPS measuring device.
  • the GPS measuring device provided for each object is an example of the sensor
  • the GPS information obtained from each GPS measuring device is an example of the observation data.
  • the sensor and the observation data may be appropriately selected according to the type of robot device.
  • the gripper 37 is exemplified as the end effector included in the manipulator.
  • the type of the end effector is not limited to the gripper, and may be appropriately selected according to the embodiment.
  • the end effector may be, for example, a suction device, a driver, etc. other than the gripper.
  • the camera CA is illustrated as a sensor for observing a plurality of objects existing in the environment WS.
  • the image data 40 is illustrated as the observation data acquired from the sensor.
  • the relative coordinates rc1 to rc3 are calculated as the relative relationship amounts from the image data 40 acquired by the camera CA.
  • the types of the sensor and the relative relationship amount may not be limited to such an example, and may be appropriately selected according to the embodiment.
  • the observation data is not limited to the image data, and may be appropriately selected according to the type of sensor used.
  • the sensor may be, for example, a depth sensor, a stereo camera, or the like, other than a general camera.
  • the relative relationship amount may be, for example, a force acting between a plurality of objects, a state between the objects (for example, whether they are connected or not), and the like.
  • a force acting between a plurality of objects is adopted as a relative relationship amount, for example, a force of the force sensor 38, a tactile sensor, a pressure sensor, a load cell, or the like is detected as a sensor for observing the plurality of objects. Possible sensors may be employed.
  • control device 1 is connected to the camera CA and acquires the observation data directly from the camera CA.
  • acquiring observation data from a sensor is not limited to acquiring observation data directly from such a sensor, and indirectly acquiring observation data from a sensor via another device. May include doing.
  • the control device 1 may acquire the image data 40 from the camera CA via another device.
  • control unit 11 receives the designation of the work to be performed in step S301.
  • the method of giving the work to be performed need not be limited to such an example.
  • the work to be performed may be given in advance.
  • step S301 may be omitted.
  • the control unit 11 calculates the relative relationship amount r0 at the start time point st in steps S303 and S304.
  • the method of giving the relative relationship amount r0 at the start time point st is not limited to such an example.
  • the relative relation amount r0 may be given in advance, or may be given by a simulator or the like. In this case, step S303 and step S304 may be omitted.
  • the control device 1 controls the operation of the manipulator 3 based on the control command 41 in step S308.
  • the output process of the control command 41 may not be limited to such an example.
  • the output process of the control command 41 may be simply transmitting the control command 41 to the controller.
  • FIG. 13 schematically illustrates an example of the software configuration of the control device 1A according to this modification.
  • This modification is the same as the above embodiment, except that the operation control unit 106 in the software module is replaced with the output unit 106A. That is, except for this point, the hardware configuration and the software configuration of the control device 1A are the same as those of the control device 1 according to the above embodiment.
  • the controller 19 includes a hardware processor such as a CPU and a memory such as a RAM, and is appropriately configured to control the operation of the manipulator 3.
  • the hardware configuration of the controller 19 may be the same as that of the control device 1 according to the above embodiment.
  • step S308 the control unit 11 of the control device 1A operates as the output unit 106A and transmits the determined control command 41 to the controller 19.
  • the control device 1A executes the other steps in the same manner as in the above embodiment.
  • the processor of the controller 19 that has received the control command 41 operates as the operation control unit 108 and executes the same processing as step S308 according to the above-described embodiment. That is, the processor of the controller 19 controls the operation of the manipulator 3 based on the control command 41.
  • a conventional controller can be used as the controller 19. Therefore, according to this modification, the introduction cost of the present invention can be reduced.
  • the control device 1A may be referred to as an upper controller and the controller 19 may be referred to as a lower controller.
  • control device 1 holds the control program 81 and the learning program 82 and executes both the control processing and the learning processing.
  • the computer that executes each process may be separate.
  • the learning process may be executed by another computer.
  • FIG. 14A schematically illustrates an example of a scene in which the learning device 2 according to this modification is applied.
  • FIG. 14B schematically illustrates an example of the hardware configuration of the learning device 2 according to this modification.
  • This modification is the same as the above-described embodiment except that the learning device 2 is caused to execute the processes of steps S101 to S106 and steps S201 to S203. That is, in the control device 1 according to this modification, the learning program 82 is omitted. In the software configuration of the control device 1, the software module related to the learning program 82 is omitted.
  • the control device 1 and the learning device 2 may be connected via a network or the like, or data may be transferred via a storage medium.
  • the learning device 2 is a computer to which a control unit 21, a storage unit 22, an external interface 23, an input device 24, an output device 25, and a drive 26 are electrically connected. ..
  • the control unit 21 to the drive 26 of the learning device 2 may be configured similarly to the control unit 11 to the drive 16 of the control device 1, respectively.
  • the storage unit 22 stores various kinds of information such as the learning program 82, CAD data 121, map information 123, learning data 125, learning result data 127, and the like.
  • the drive 26 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading a program stored in the storage medium 92. At least one of the learning program 82, the CAD data 121, and the learning data 125 may be stored in the storage medium 92. Further, the learning device 2 may acquire at least one of the learning program 82, the CAD data 121, and the learning data 125 from the storage medium 92.
  • the control unit 21 of the learning device 2 loads the learning program 82 stored in the storage unit 22 into the RAM. Then, the control unit 21 interprets and executes the learning program 82 expanded in the RAM by the CPU to control each component.
  • the learning device 2 according to the present modified example operates as a computer including a software module similar to the software configuration of the control device 1 regarding the learning processing shown in FIG. 5B.
  • control unit 21 of the learning device 2 generates the map information 123 used in the process (action plan) of determining the series RS of the relative relationship amount by executing the processes of steps S101 to S106.
  • control unit 21 constructs the learned neural network 51 to be used in the process of determining the control command 41 according to the change amount of the relative relationship amount by executing the processes of steps S201 to S203.
  • the learning device 2 appropriately transfers the generated map information 123 and learning result data 127 to the control device 1 via a network, a storage medium, or the like.
  • the map information 123 and the learning result data 127 generated by the learning device 2 may be incorporated in the control device 1 in advance.
  • the computer that executes the control process and the computer that executes the learning process can be separated. As a result, the speed of each process can be increased.
  • the learning device 2 executes both the process of creating the map information 123 and the process of building the learned neural network 51. However, these processes may also be executed by different computers.
  • the learned neural network 51 is used for the process of determining the control command 41.
  • the process of determining the control command 41 need not be limited to such an example.
  • a learned learning model may not be used in the process of determining the control command 41.
  • the control device 1 may use reference information in a table format or the like indicating the correspondence between the change amount of the relative relationship amount and the control command in the process of determining the control command 41. This reference information may be stored in the storage unit 12. In this case, in step S307, the control unit 11 may determine the control command 41 based on the reference information.
  • a neural network is used as a learning model.
  • the learning model is not limited to the neural network as long as the learning model can acquire the inference ability for determining the control command by machine learning, and is appropriately selected according to the embodiment. Good.
  • the type of machine learning may not be limited to supervised learning, and may be appropriately selected according to the embodiment.
  • reinforcement learning may be adopted as machine learning.
  • the learning model may be configured by a value function such as a state value function and a behavior value function.
  • the learned neural network 51 is input with the relative relationship amount in the current state and the relative relationship amount in the next transitional target state.
  • the information input to the learned neural network 51 need not be limited to these.
  • the neural network 51 may be configured to further accept input of other information that may be related to the operation of the manipulator 3.
  • FIG. 15 schematically illustrates an example of the software configuration of the control device 1B according to this modification.
  • the present modification is similar to the above-described embodiment, except that the manipulator 3 includes the observation sensor CB, and the neural network 51B is configured to further accept the attribute data 45 obtained by the observation sensor CB. That is, except for this point, the hardware configuration and the software configuration of the control device 1B are the same as those of the control device 1 according to the above embodiment.
  • the observation sensor CB is configured to observe the attributes of the manipulator 3.
  • the type of the observation sensor CB is not particularly limited as long as it can observe some attribute of the manipulator 3, and may be appropriately selected according to the embodiment.
  • the observation sensor CB may be, for example, a proximity sensor, a tactile sensor, a force sensor, an encoder, or the like.
  • the force sensor 38 or the encoder built in each joint 31 to 36 may be adopted.
  • the attribute data 45 may be, for example, measurement data of a proximity sensor, a tactile sensor, a force sensor, an encoder, or the like, or a characteristic amount calculated from the measurement data.
  • the neural network 51B is configured in the same manner as the neural network 51 except that the neural network 51B is further configured to accept the input of the attribute data 45 obtained by the observation sensor CB.
  • the neural network 51B is set so that the number of neurons in the input layer or the like is larger than that of the neural network 51 in order to receive the input of the attribute data 45 and incorporate the received attribute data 45 into the arithmetic processing.
  • the neural network 51B may be configured similarly to the neural network 51.
  • the learning process of the neural network 51B may be executed in the same manner as in the above embodiment, except that the learning data to be used includes data corresponding to the attribute data 45 as training data.
  • the control unit 11 of the control device 1B includes a relative relationship amount 1251, a relative relationship amount 1252, and a plurality of learning data sets each configured by a combination of attribute data and a control command 1253. Acquire learning data.
  • Each learning data set can be generated by adding the attribute data obtained in the first state (that is, the current state for training) to each learning data set 1250.
  • step S202 the control unit 11 of the control device 1B uses this learning data to perform machine learning of the neural network 51B.
  • the learned neural network 51B that has been trained to output the output value that matches the corresponding control command 1253 with respect to the input of the relative relationship amount 1251, the relative relationship amount 1252, and the attribute data can be constructed. it can.
  • step S203 the control unit 11 of the control device 1B generates, as the learning result data 127B, information indicating the configuration and the calculation parameters of the constructed learned neural network 51B, and the generated learning result data 127B is stored in a predetermined storage area. Save to.
  • control processing according to the present modification example is repeated except that the attribute data 45 is repeatedly acquired together with the image data 40, and the latest attribute data 45 acquired from the observation sensor CB is further input to the learned neural network 51B. May be performed in the same manner as the above embodiment.
  • the control unit 11 of the control device 1B operates as the data acquisition unit 102B and further acquires the attribute data 45 from the observation sensor CB before executing the process of step S307.
  • the time at which the attribute data 45 is acquired is when the operation is controlled by the control command and immediately before the control command is determined.
  • the timing of acquiring the attribute data 45 may be the same as the timing of acquiring the image data 40, for example. However, the timing of acquiring the attribute data 45 and the timing of acquiring the image data 40 do not necessarily have to be exactly the same. The timing of acquiring the attribute data 45 and the timing of acquiring the image data 40 may be different.
  • step S307 the control unit 11 of the control device 1B operates as the command determination unit 105B and further inputs the latest attribute data 45 obtained by the observation sensor CB to the learned neural network 51B.
  • the control unit 11 refers to the learning result data 127B and sets the learned neural network 51B.
  • the control unit 11 inputs the relative relationship amount in the current state calculated from the latest image data 40, the relative relationship amount in the next transition target state, and the latest attribute data 45 to the neural network 51B.
  • the control unit 11 acquires the output value corresponding to the result of determining the control command 41 from the neural network 51B.
  • Other processes regarding the operation control of the manipulator 3 may be executed in the same manner as in the above embodiment.
  • the control command 41 can be appropriately determined by further using the attribute data 45.
  • a computer that executes each of the learning process and the control process may be a separate body, as in the above modification ⁇ 4.5>.
  • obtaining the attribute data 45 from the observation sensor CB means that the control device 1B and the observation sensor CB are connected and the attribute data 45 is obtained from the observation sensor CB. It may include directly acquiring and indirectly acquiring the attribute data 45 from the observation sensor CB via another device.
  • the neural network 51 is a fully connected neural network having a three-layer structure.
  • the configuration of the neural network 51 is not limited to such an example, and may be appropriately selected according to the embodiment.
  • the neural network 51 may have a recursive structure such as an LSTM block.
  • FIG. 16 schematically illustrates an example of the software configuration of the control device 1C according to this modification.
  • This modified example is the same as the above-described embodiment except that the configuration of the neural network 51C is different from that of the neural network 51 according to the above-described embodiment. That is, except for this point, the hardware configuration and the software configuration of the control device 1C are the same as those of the control device 1 according to the above embodiment.
  • the neural network 51C has a configuration in which the intermediate layer 512 of the neural network 51 is replaced with an LSTM block 515.
  • the LSTM block 515 is a block including an input gate and an output gate and configured to be able to learn the timing of storing and outputting information (S. Hochreiter and J. Schmidhuber, "Long short-term memory” Neural Computation, 9 (8):1735-1780, November15, 1997).
  • the LSTM block 515 may further include a forget gate that adjusts the timing of forgetting information (Felix A. Gers, Jurgen Schmidhuber and Fred Cummins, “Learning to Forget: Continual Prediction with LSTM” Neural Computation, pages 2451-2471 , October 2000).
  • the configuration of the LSTM block 515 may be set as appropriate according to the embodiment.
  • the learning process and the control process according to this modification may be executed in the same manner as in the above embodiment, except that the configuration of the neural network 51C is different from that in the above embodiment. That is, the control unit 11 of the control device 1C constructs the learned neural network 51C by executing the processes of steps S201 to S203, and stores the learning result data 127C in a predetermined storage area. In addition, the control unit 11 of the control device 1C operates as the command determination unit 105C, refers to the learning result data 127C, and sets the learned neural network 51C.
  • control unit 11 inputs the relative relationship amount in the current state calculated from the latest image data 40 and the relative relationship amount in the next transition target state to the neural network 51C, and the arithmetic processing of the neural network 51C. To execute. Thereby, the control unit 11 acquires the output value corresponding to the result of determining the control command 41 from the neural network 51C.
  • Other processes regarding the operation control of the manipulator 3 may be executed in the same manner as in the above embodiment.
  • the control command 41 can be appropriately determined in consideration of the time series context of the relative relationship amount.
  • a computer that executes each of the learning process and the control process may be a separate body, as in the modification ⁇ 4.5>.
  • the control device 1 uses the map information 123 to determine the series RS of the relative relationship amount from the start point st to the final target gn.
  • the method of determining the series RS of relative relationship amounts is not limited to such an example, and may be appropriately selected according to the embodiment.
  • the learned model that has been learned may be used for the determination process of the series RS of the relative relationship amount.
  • 17A and 17B each schematically illustrate an example of a software configuration related to each of the control processing and the learning processing of the control device 1D according to the present modification.
  • This modification is the same as the above-described embodiment except that the learned neural network 52 is used for the process of determining the series RS of the relative relationship amount. That is, except for this point, the hardware configuration and the software configuration of the control device 1D are the same as those of the control device 1 according to the above embodiment.
  • the action determination unit 104D includes the learned neural network 52 by holding the learning result data 128.
  • the learning result data 128 may be stored in the storage unit 12.
  • the learning result data 127 may be referred to as first learning result data and the learning result data 128 may be referred to as second learning result data.
  • the control device 1D operates as a computer that further includes a learning data acquisition unit 181, a learning processing unit 182, and a storage processing unit 183 as a software module for the learning process of the neural network 52.
  • the learning data acquisition unit 114, the learning processing unit 115, and the storage processing unit 116 are referred to as a first learning data acquisition unit, a first learning processing unit, and a first storage processing unit, respectively.
  • the unit 181, the learning processing unit 182, and the storage processing unit 183 may be referred to as a second learning data acquisition unit, a second learning processing unit, and a second storage processing unit, respectively.
  • the learned neural network 52 is an example of the “second learned learning model” of the present invention.
  • the learned neural network 52 compares the relative relationship amount in the final goal for training and the relative relationship amount in the current state for training with respect to the input of the relative relationship amount in the state of the target that transits to the current state for training. Trained to determine related quantities.
  • the neural network 52 according to this modification includes an input layer 521, an LSTM block 522, and an output layer 523 in order from the input side.
  • the configuration of the neural network 52 is similar to that of the neural network 51C according to the above modification.
  • the learning process of the neural network 52 may be executed similarly to the learning process of the neural network 51. That is, in the first step, the control unit 11 of the control device 1D operates as the learning data acquisition unit 181, and acquires the learning data 171 used for machine learning of the neural network 52.
  • the learning data 171 includes the relative relationship amount 1711 in the current state for training, the relative relationship amount 1712 in the final goal state for training, and the relative relationship in the target that transits next to the current state for training. It includes a plurality of learning data sets 1710 each configured by a combination with the quantity 1713.
  • the relative relation amount 1711 and the relative relation amount 1712 are used as training data (input data), and the relative relation amount 1713 is used as teacher data (correct answer data).
  • each learning data set 1710 may not be particularly limited, and may be appropriately selected according to the embodiment. Similar to the above-described embodiment, for example, a virtual environment or a real environment by a simulator is prepared, and the manipulator 3 is appropriately driven under various conditions from the time when the performance of the work is started to the final goal under the prepared environment. Then, the obtained relative relationship amount 1711 in the current state, the relative relationship amount 1712 in the final target state, and the relative relationship amount 1713 in the target to which the current state transitions next are combined. Thereby, each learning data set 1710 can be generated.
  • the map information 123 may be used to generate each learning data set 1710.
  • Each learning data set 1710 may be automatically generated by the operation of a computer, or may be manually generated by the operation of the operator via the input device 14. Further, the generation of each learning data set 1710 may be performed by the control device 1D or may be performed by a computer other than the control device 1D. These points are the same as in the above embodiment.
  • the control unit 11 operates as the learning processing unit 182 and executes the machine learning of the neural network 52 using the learning data 171. Accordingly, with respect to the input of the relative relation amount 1711 in the current state for training and the input of the relative relation amount 1722 in the state of the final goal for training, the relative relation amount 1713 in the corresponding target state to be transited to matches.
  • a trained neural network 52 that has been trained to output output values that
  • the control unit 11 operates as the storage processing unit 183, generates information indicating the configuration and the operation parameter of the constructed learned neural network 52 as the learning result data 128, and the generated learning result data. 128 is saved in a predetermined storage area.
  • the predetermined storage area may be, for example, the RAM in the control unit 11, the storage unit 12, the external storage device, the storage medium, or a combination thereof.
  • the control unit 11 finishes the series of processes regarding the construction of the learned neural network 52.
  • control process according to the present modification does not determine the series RS of the relative relationship amounts at once, but sequentially determines the relative relationship amounts included in the series RS by using the learned neural network 52. Except for this, it may be executed in the same manner as the above-described embodiment.
  • the control unit 11 of the control device 1D operates as the action determination unit 104D in place of steps S305 and S306, and uses the learned neural network 52 to generate a series RS of relative relationship amounts.
  • the relative relationship amount in the included target state of the next transition is determined (hereinafter, this step is also referred to as “alternative step”).
  • control unit 11 of the control device 1D refers to the learning result data 128 and sets the learned neural network 52. Subsequently, the control unit 11 inputs the relative relationship amount in the current state calculated from the latest image data 40 and the relative relationship amount rn of the final target gn to the learned neural network 52, and the learned neural network 52. The calculation processing of is executed. As a result, the control unit 11 acquires from the neural network 52 an output value corresponding to the result of determining the relative relationship amount in the next transitional target state. Then, the control unit 11 executes the processing from step S307.
  • the control unit 11 determines the series RS of the relative relationship amount by repeating the processing of this alternative step and steps S307 to S311.
  • the relative relationship amount ps in the current state ns calculated from the latest image data 40s and the relative relationship amount rn of the final target gn to the next target gs are calculated.
  • a scene for deriving the quantity rs is illustrated.
  • Other processes regarding the operation control of the manipulator 3 may be executed in the same manner as in the above embodiment.
  • a computer that executes each of the learning process and the control process may be a separate body, as in the modification ⁇ 4.5>.
  • the computer that executes each learning process may be a separate body.
  • a neural network is used as a learning model for learning the inference ability for determining the relative relationship amount in the next transitional target state.
  • the type of the learning model is not limited to the neural network as long as the inference ability can be acquired by machine learning, and may be appropriately selected according to the embodiment.
  • the type of machine learning may not be limited to supervised learning, and may be appropriately selected according to the embodiment.
  • the neural network 52 is a recursive neural network including the LSTM block 522.
  • the neural network 52 can appropriately determine the target relative relationship amount to be transitioned to next, in consideration of the time series context of the relative relationship amount.
  • the configuration of the neural network 52 is not limited to such an example, and may be appropriately selected according to the embodiment.
  • a fully connected neural network having a multilayer structure may be used as in the neural network 51 according to the above-described embodiment.
  • the learned neural network 52 is input with the relative relationship amount in the current state and the relative relationship amount in the final target state.
  • the information input to the learned neural network 52 need not be limited to these.
  • neural network 52 may be configured to further accept input of observational data acquired from the sensor.
  • FIG. 18 schematically illustrates an example of the software configuration of the control device 1E according to this modification.
  • This modification is similar to the modifications of FIGS. 17A and 17B, except that the neural network 52E is configured to further receive the latest image data 40. That is, except for this point, the hardware configuration and the software configuration of the control device 1E are the same as those of the control device 1D according to the above modification.
  • the neural network 52E is configured in the same manner as the neural network 52, except that the neural network 52E is configured to further accept the input of the latest image data 40 obtained by the camera CA.
  • the neural network 52E is set so that the number of neurons in the input layer or the like is larger than that of the neural network 52 in order to receive the input of the image data 40 and incorporate the received image data 40 in the arithmetic processing.
  • the neural network 52E may be configured similarly to the neural network 52 described above.
  • the learning process of the neural network 52E may be executed in the same manner as in the above modification except that the learning data to be used includes the data corresponding to the image data 40 as the training data.
  • the control unit 11 of the control device 1E uses the relative relation amount 1711 in the current state for training, the relative relation amount 1712 in the state of the final goal for training, and the image data, and then Learning data including a plurality of learning data sets each configured by a combination with the relative relationship amount 1713 in the transitional target state is acquired.
  • Each learning data set can be generated by adding image data obtained in the current state for training to each learning data set 1710.
  • the control unit 11 of the control device 1E uses this learning data to carry out machine learning of the neural network 52E. Thereby, for the input of the relative relationship amount 1711, the relative relationship amount 1712, and the image data, the learned neural network 52E trained to output the output value that matches the corresponding relative relationship amount 1713 is constructed. You can In the third step, the control unit 11 of the control device 1E generates, as the learning result data 128E, information indicating the configuration and the calculation parameter of the constructed learned neural network 52E, and the generated learning result data 128E is set to a predetermined value. Save to storage area.
  • the control process according to this modification may be executed in the same manner as the above modification, except that the latest image data 40 acquired from the camera CA is further input to the learned neural network 52E.
  • the control unit 11 of the control device 1E operates as the action determination unit 104E, refers to the learning result data 128E, and sets the learned neural network 52E.
  • the control unit 11 inputs the latest image data 40, the relative relationship amount in the current state calculated from the latest image data 40 and the relative relationship amount rn of the final target gn to the learned neural network 52E, The arithmetic processing of the learned neural network 52E is executed.
  • control unit 11 acquires from the neural network 52E an output value corresponding to the result of determining the relative relationship amount in the next transitional target state.
  • Other processes related to the operation control of the manipulator 3 may be executed in the same manner as in the above modified example.
  • a computer that executes each of the learning process and the control process may be a separate body, as in the modification ⁇ 4.5>.
  • the computer that executes each learning process may be a separate body.
  • the control device 1 calculates the relative relationship amount between each object by matching the model of each object with the image data 40.
  • the method of calculating the relative relationship amount from the observation data is not limited to such an example, and may be appropriately selected according to the embodiment.
  • a learned learning model may be used for the process of calculating the relative relationship amount from the observation data.
  • 19A and 19B each schematically illustrate an example of a software configuration related to each of the control processing and the learning processing of the control device 1F according to the present modification.
  • This modification is the same as the above embodiment except that the learned neural network 53 is used for the process of calculating the relative relationship amount. That is, except for this point, the hardware configuration and the software configuration of the control device 1F are the same as those of the control device 1 according to the above-described embodiment.
  • the relationship identifying unit F includes the learned neural network 53 by holding the learning result data 129.
  • the learning result data 129 may be stored in the storage unit 12.
  • the learning result data 129 may be referred to as third learning result data in order to distinguish the learning result data (127, 128) from each other.
  • the control device 1F operates as a computer that further includes a learning data acquisition unit 185, a learning processing unit 186, and a storage processing unit 187 as a software module for the learning process of the neural network 53.
  • the learning data acquisition unit 114, the learning processing unit 115, the storage processing unit 116, and the like the learning data acquisition unit 185, the learning processing unit 186, and the storage processing unit 187 are respectively referred to as a third learning data acquisition unit and a third learning data acquisition unit. It may be referred to as a learning processing unit and a third storage processing unit.
  • the learned neural network 53 is an example of the “third learned learning model” of the present invention.
  • the learned neural network 53 is trained to calculate the relative relationship amount between the plurality of objects appearing in the training image data with respect to the input of the training image data.
  • the neural network 53 according to this modification includes an input layer 531, an intermediate (hidden) layer 532, and an output layer 533 in order from the input side.
  • the configuration of the neural network 53 is the same as that of the neural network 51 according to the above embodiment.
  • the learning process of the neural network 53 may be executed similarly to the learning process of the neural network 51. That is, in the first step, the control unit 11 of the control device 1F operates as the learning data acquisition unit 185 and acquires the learning data 175 used for machine learning of the neural network 53.
  • the learning data 175 includes a plurality of learning data sets 1750 each configured by a combination of CAD data 1751 including a model of each target object, training image data 1752, and a relative relationship amount 1753.
  • the CAD data 1751 and the image data 1752 are used as training data (input data), and the relative relationship amount 1753 is used as teacher data (correct answer data).
  • each learning data set 1750 may not be particularly limited and may be appropriately selected according to the embodiment.
  • the CAD data 1751 may be generated by known software.
  • Image data 1752 can be obtained by preparing a camera and shooting a plurality of objects with the prepared camera under various conditions. Further, the relative relation amount 1753 of the plurality of objects is appropriately measured. The relative relationship amount 1753 may be calculated from the image data 1752. Then, each learning data set 1750 can be generated by associating the obtained CAD data 1751 and image data 1752 with the relative relationship amount 1753.
  • Each learning data set 1750 may be automatically generated by the operation of the computer, or may be manually generated by the operation of the operator via the input device 14. Moreover, the generation of each learning data set 1750 may be performed by the control device 1F or may be performed by a computer other than the control device 1F. These points are the same as in the above embodiment.
  • control unit 11 operates as the learning processing unit 186 and uses the learning data 175 to perform machine learning of the neural network 53.
  • the learned neural network 53 that has been trained to output the output value that matches the corresponding relative relationship amount 1753 with respect to the input of the CAD data 1751 and the training image data 1752 can be constructed. ..
  • the control unit 11 operates as the storage processing unit 187, generates information indicating the construction and calculation parameters of the constructed learned neural network 53 as the learning result data 129, and the generated learning result data.
  • 129 is stored in a predetermined storage area.
  • the predetermined storage area may be, for example, the RAM in the control unit 11, the storage unit 12, the external storage device, the storage medium, or a combination thereof.
  • the control unit 11 of the control device 1F ends a series of processes regarding the construction of the learned neural network 53.
  • control process according to the present modification may be executed in the same manner as in the above embodiment, except that the learned neural network 53 is used to calculate the relative relationship amount.
  • the control unit 11 of the control device 1F operates as the relationship specifying unit 103F and uses the learned neural network 53 to obtain the latest image data obtained from the camera CA.
  • the relative relationship amount in the current state is calculated from 40.
  • the control unit 11 of the control device 1F refers to the learning result data 129 and sets the learned neural network 53. Then, the control unit 11 inputs the latest image data 40 and the CAD data 121 to the learned neural network 53, and executes the arithmetic processing of the learned neural network 53. As a result, the control unit 11 acquires from the neural network 53 an output value corresponding to the result of calculating the relative relationship amount in the current state.
  • FIG. 19A exemplifies a scene in which the relative relation amount ps in the current state ns is calculated from the latest image data 40s and the CAD data 121 as the s-th repeated processing. Other processes regarding the operation control of the manipulator 3 may be executed in the same manner as in the above embodiment.
  • a computer that executes each of the learning process and the control process may be a separate body, as in the modification ⁇ 4.5>.
  • the computer that executes each learning process may be a separate body.
  • a neural network is used as a learning model for learning the ability to calculate the amount of relative relationship.
  • the type of the learning model is not limited to the neural network as long as the ability can be acquired by machine learning, and may be appropriately selected according to the embodiment.
  • the type of machine learning may not be limited to supervised learning, and may be appropriately selected according to the embodiment.
  • the neural network 53 is a fully connected neural network having a three-layer structure.
  • the configuration of the neural network 53 is not limited to such an example, and may be appropriately selected according to the embodiment.
  • the neural network 53 may have a recursive structure such as an LSTM block.
  • the latest image data 40 and CAD data 121 are input to the learned neural network 53.
  • the information input to the learned neural network 53 need not be limited to these.
  • the CAD data 121 may be omitted from the information input to the learned neural network 53.
  • the learning data 175 to the CAD data 1751 are omitted.
  • the neural network 53 may be configured to further accept input of other information that may be related to the operation of the manipulator 3.
  • FIG. 20 schematically illustrates an example of the software configuration of the control device 1G according to this modification.
  • This modification is different from the above-described modifications of FIGS. 19A and 19B except that the manipulator 3 includes an observation sensor CB, and the neural network 53G is configured to further accept the attribute data 45 obtained by the observation sensor CB.
  • the hardware configuration and the software configuration of the control device 1G are the same as those of the control device 1F according to the above modification.
  • the observation sensor CB and the attribute data 45 are the same as those in the modified example of the control device 1B.
  • the neural network 53G is configured in the same manner as the neural network 53 except that the neural network 53G is further configured to accept the input of the attribute data 45 obtained by the observation sensor CB.
  • the neural network 53G is set so that the number of neurons in the input layer or the like is larger than that of the neural network 53 in order to receive the input of the attribute data 45 and incorporate the received attribute data 45 into the arithmetic processing.
  • the neural network 53G may be configured similarly to the neural network 53.
  • the learning process of the neural network 53G may be executed in the same manner as in the above modification, except that the learning data to be used includes the data corresponding to the attribute data 45 as the training data.
  • the control unit 11 of the control device 1G causes the CAD data 1751, the training image data 1752, and a plurality of learning data each configured by a combination of the attribute data and the relative relationship amount 1753. Get the training data including the set.
  • An observation sensor is prepared, and when the image data 1752 is obtained, the observation sensor acquires the attribute data.
  • Each learning data set can be generated by adding the obtained attribute data to each learning data set 1750.
  • the control unit 11 of the control device 1G uses this learning data to carry out machine learning of the neural network 53G.
  • the learned neural network 53G that has been trained to output the output value that matches the corresponding relative relationship amount 1753 with respect to the input of the CAD data 1751, the training image data 1752, and the attribute data is constructed. be able to.
  • the control unit 11 of the control device 1G generates, as the learning result data 129G, information indicating the configuration and the calculation parameters of the constructed learned neural network 53G, and the generated learning result data 129G is set to a predetermined value. Save to storage area.
  • control processing according to the present modification example is repeated except that the attribute data 45 is repeatedly acquired together with the image data 40, and the latest attribute data 45 acquired from the observation sensor CB is further input to the learned neural network 53G. , May be performed in the same manner as the above-mentioned modified example.
  • the control unit 11 of the control device 1G operates as the data acquisition unit 102G and further acquires the attribute data 45 from the observation sensor CB before executing the processes of steps S304 and S310.
  • the timing of acquiring the attribute data 45 may be the same as that of the modification of the control device 1B.
  • the control unit 11 of the control device 1G operates as the relationship specifying unit 103G and further inputs the latest attribute data 45 obtained by the observation sensor CB to the learned neural network 53G.
  • the control unit 11 of the control device 1G refers to the learning result data 129G and sets the learned neural network 53G.
  • the control unit 11 inputs the latest image data 40, the CAD data 121, and the latest attribute data 45 into the learned neural network 53G, and executes the arithmetic processing of the learned neural network 53G. Thereby, the control unit 11 acquires the output value corresponding to the result of calculating the relative relationship amount in the current state from the neural network 53G.
  • Other processes related to the operation control of the manipulator 3 may be executed in the same manner as in the above modified example.
  • a computer that executes each of the learning process and the control process may be a separate body, as in the modification ⁇ 4.5>.
  • the computer that executes each learning process may be a separate body.
  • Pedestal part 31 to 36... Joint part, 37... Gripper (end effector), 38... Force sensor, 391-394... Link, CA... camera (sensor), 40... Image data (observation data), 41... Control command, 51... Neural network (learning model), 511... Input layer, 512... Intermediate (hidden) layer, 513... Output layer, WS...Environment, W1...First work, W2...Second work, CO1-CO3... Local coordinate system, rc1 to rc3... Relative coordinates (relative relationship amount)

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

習得される作業を遂行する能力の汎用性を高めるための技術を提供する。本発明の一側面に係る制御装置は、最終目標となる複数の対象物の間の相対関係量を設定する。また、制御装置は、センサから観察データを繰り返し取得し、取得された観察データから、環境に存在する複数の対象物の間の相対関係量を算出する。更に、制御装置は、動作の制御を開始する時点における相対関係量から最終目標の相対関係量を実現するまでの、目標とする状態における相対関係量の系列を決定し、最終目標の相対関係量を実現するまで、最新の観察データから算出された現在の状態における相対関係量を次に遷移する目標の状態における相対関係量に変化させるように制御指令を繰り返し決定する。そして、制御装置は、決定された制御指令をロボット装置に出力する。

Description

制御装置、制御方法、及び制御プログラム
 本発明は、制御装置、制御方法、及び制御プログラムに関する。
 製品を生産する生産ラインでは、マニピュレータ等のロボット装置が利用されている。機構、コネクタ、エンドエフェクタ等のロボット装置の構成要素は、遂行する作業(タスク)等に応じて多くのバリエーションを有しており、それらすべてに対応したロボット装置の動作手順を人手で作成するのは困難である。そのため、従来、機構、コネクタ、エンドエフェクタ等の構成要素の種類を決定した後、ロボット装置を人手で動かして、実行させる一連の動作における姿勢をレコードしながら、遂行する作業を直接的にティーチングする方法が採用されている。
 しかしながら、この方法では、機構、コネクタ、エンドエフェクタ等の構成要素が変更される度に、遂行する作業をロボット装置に教示することになる。したがって、遂行する作業をロボット装置に教示するのにあまりにコストがかかってしまう。そこで、近年、機械学習を利用して、遂行する作業をロボット装置に習得させる方法が研究されている。例えば、非特許文献1では、カメラから得られる画像データに基づいて対象物を把持する動作を強化学習によりロボット装置に習得させる方法が提案されている。この方法によれば、対象物を把持する動作をロボット装置に教示する一連の処理の少なくとも一部を自動化することができる。よって、ロボット装置に作業を教示するコストを低減することができる。
Dmitry Kalashnikov, et al. "QT-Opt: Scalable Deep Reinforcement Learning for Vision-Based Robotic Manipulation" arXiv preprint arXiv:1806.10293, 2018.
 本件発明者らは、上記のようなロボット装置の従来の制御方法には、次のような問題があることを見出した。従来の制御方法では、遂行する作業に対してロボット装置に与える時系列の制御指令を学習している。つまり、学習された時系列の制御指令は作業に直接的に関連付けられる。そのため、作業を遂行する環境及び対象物の少なくとも一方が少しでも変化した場合には、実質的に作業の内容も変化してしまい、新たに学習させなければ、ロボットは、その作業を適切に遂行できなくなる可能性がある。
 例えば、ロボット装置に教示した作業が、A地点に姿勢Bで存在する対象物CをD地点に運ぶことであったと想定する。この場合に、対象物CがA地点に姿勢Bで正確に配置されていたならば、ロボット装置は、学習結果に基づいて、当該作業を適切に遂行可能である。しかしながら、対象物CがA地点からややずれて配置されていたり、A地点に配置されているが姿勢Bから傾いていたりした場合には、ロボット装置が対象物Cを把持する位置及び姿勢が変化する等の理由により、遂行すべき作業の内容が変化してしまう。すなわち、この場合には、遂行すべき作業は、「A地点からずれたり傾いたりしている対象物CをD地点に運ぶ」ことであり、「A地点に姿勢Bで存在する対象物CをD地点に運ぶ」という元の作業と相違している。そうすると、ロボット装置は、学習結果に基づいて動作しても、この作業を適切に遂行できない可能性がある。つまり、従来の制御方法では、習得される作業を遂行する能力の汎用性が乏しいという問題点がある。この問題点に起因して、ロボット装置を汎用的に動作させるためには、異なる作業毎に制御指令を学習させることになり、ロボット装置に作業を教示するのにかかるコストは依然として高い。
 本発明は、一側面では、このような実情を鑑みてなされたものであり、その目的は、習得される作業を遂行する能力の汎用性を高めるための技術を提供することである。
 本発明は、上述した課題を解決するために、以下の構成を採用する。
 すなわち、本発明の一側面に係る制御装置は、複数の対象物の存在する環境下で稼働するロボット装置の動作を制御するための制御指令を生成する制御装置であって、最終目標となる前記複数の対象物の間の相対関係量を設定する目標設定部であって、前記相対関係量は、前記複数の対象物の間の相対的かつ物理的な関係に関する属性を示す、目標設定部と、前記環境に存在する前記複数の対象物を観察するセンサから観察データを繰り返し取得するデータ取得部と、取得された前記観察データから、前記複数の対象物の間の相対関係量を算出する関係特定部と、前記動作の制御を開始する時点における前記複数の対象物の間の相対関係量から設定された前記最終目標の相対関係量を実現するまでの、前記複数の対象物の目標とする状態における相対関係量の系列を決定する行動決定部と、前記最終目標の相対関係量を実現するまで、前記センサから取得された最新の観察データから算出された現在の状態における相対関係量を、前記相対関係量の系列に含まれる、当該現在の状態の次に遷移する目標の状態における相対関係量に変化させるように、前記ロボット装置に与える制御指令を繰り返し決定する指令決定部と、決定された前記制御指令を前記ロボット装置に出力する出力部と、を備える。
 上記構成では、作業(タスク)の遂行に関連し、ロボット装置の稼働する環境下に存在する複数の対象物の状況及び目標が相対関係量で表現され、制御指令は、この相対関係量を変化させることに応じて決定される。相対関係量は、環境に存在する複数の対象物の間の相対的かつ物理的な関係に関する属性を示すものであり、例えば、複数の対象物の間の相対座標(相対位置、相対姿勢)、複数の対象物の間に作用する力、複数の対象物の間の状態(例えば、連結されているか否か)等である。つまり、上記構成では、制御指令は、作業に直接的に関連付けられるのではなく、相対関係量の変化量に関連付けられる。これにより、作業の内容に依存せずに、相対関係量を変化させることに対してロボット装置に与える制御指令の系列を教示することができる。すなわち、同じ相対関係量の変化で遂行可能な作業であれば、その作業の内容が多少変更されていても、ロボット装置にそれらの作業を適切に遂行させることができる。したがって、上記構成によれば、習得される作業を遂行する能力の汎用性を高めることができる。これによって、ロボット装置に作業を教示するのにかかるコストを低減することができる。
 なお、「対象物」は、ロボット装置の動作に関連し得る物体であり、例えば、エンドエフェクタ、ワーク、障害物等である。「環境」は、対象物が存在し、ロボット装置が稼働する区域である。ロボット装置の種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。ロボット装置は、例えば、マニピュレータ等の産業用ロボット、自動的に移動可能な移動体等を含んでよい。産業用ロボットは、例えば、上記垂直多関節ロボット、スカラロボット、パラレルリンクロボット、直交ロボット、協調ロボット等を含む。また、自動的に移動可能な移動体は、例えば、ドローン、自度運転可能に構成された車両、モバイルロボット等を含む。本発明は、対象物の操作可能なあらゆる種類のロボット装置に適用されてよい。
 作業(タスク)は、ロボット装置に遂行させる仕事であり、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。作業は、例えば、部品運搬、部品嵌合、ネジ回し等である。作業は、例えば、ワークの把持、ワークの解放等の単純な仕事であってもよい。作業は、予め与えられてもよいし、オペレータの指定により与えられてもよい。
 「センサ」は、相対関係量を観察可能であれば、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。センサは、例えば、カメラであってよい。この場合、観察データは、画像データである。「センサから観察データを取得すること」は、制御装置とセンサとが接続され、センサから直接的に観察データを取得すること、及び他の装置を経由してセンサから間接的に観察データを取得することを含んでよい。
 「最終目標」は、終着点(ゴール)であり、作業の遂行を完了した時点に実現され、与えられた作業に応じて設定される。「開始する時点」は、開始点(スタート)であり、作業の遂行に関してロボット装置の動作の制御を開始する前の状態である。「開始する時点における相対関係量」は、予め与えられてもよいし、作業の遂行に関してロボット装置の動作の制御を開始する前に取得された観察データから算出されてよい。
 「目標」は、最終目標を含み、作業の遂行を達成するために適宜設定される。設定される目標の数は、1つであってもよいし(この場合、最終目標だけが設定される)、複数であってもよい。最終目標以外の目標は、開始点から終着点に到達するまでに経由する経由点である。そのため、最終目標を単に「目標(ゴール)」と称し、最終目標以外の目標を「下位目標(サブゴール)」と称してもよい。
 「最終目標の相対関係量を実現する」とは、作業の遂行が完了することであり、例えば、センサから取得された観測データから算出された相対関係量が最終目標の相対関係量に一致することである。この「一致」は、完全に一致することの他、閾値(許容誤差)による近似を含んでもよい。「次に遷移する目標」は、現在の状態から次に目指す状態(最終目標以外の目標であれば暫定的な状態)であり、例えば、最終目標に向かって、現在の状態に最も近い目標である。「最新」は、制御指令により動作を制御する際であり、その制御指令を決定する直前の時点である。
 「制御指令」は、ロボット装置の動作の制御に関するものであり、例えば、目標制御量、操作量等である。「制御指令を出力すること」は、制御指令に基づいてロボット装置を直接的に制御すること、及びロボット装置がコントローラを備える場合に、コントローラに制御指令を出力することで、コントローラにロボット装置の動作を制御させることを含む。
 上記一側面に係る制御装置において、前記相対関係量は、前記複数の対象物の間の相対座標を含んでもよい。また、上記一側面に係る制御装置において、前記センサは、カメラを含んでよく、前記観察データは、前記カメラにより得られる画像データを含んでよく、前記関係特定部は、前記カメラにより得られた前記画像データに対して前記各対象物のモデルをマッチングし、当該マッチングの結果に基づいて、前記複数の対象物の間の相対座標を算出してもよい。当該構成によれば、相対座標に基づいて、ロボット装置に教示する作業を遂行する能力の汎用性を容易に高めることができる。なお、相対座標は、対象物の間の相対的な位置関係が特定可能であれば、その表現方法は特に限定されなくてもよい。相対座標は、例えば、相対位置及び相対姿勢を含んでよい。
 上記一側面に係る制御装置において、前記指令決定部は、第1の状態における相対関係量及び第2の状態における相対関係量の入力に対して、前記第1の状態における相対関係量を前記第2の状態における相対関係量に変化させるように前記ロボット装置の動作を制御するための制御指令を決定するように訓練された第1の学習済みの学習モデルを含んでもよい。そして、前記制御指令を決定することは、前記現在の状態における前記相対関係量及び前記次に遷移する目標の状態における前記相対関係量を前記第1の学習済みの学習モデルに入力すること、前記第1の学習済みの学習モデルの演算処理を実行すること、及び前記第1の学習済みの学習モデルから出力される出力値を、前記制御指令を決定した結果として取得すること、を含んでもよい。当該構成によれば、学習モデルを利用することで、相対関係量を変化させることに対してロボット装置に与える制御指令を適切に決定することができる。そのため、作業を遂行する能力の汎用性を高めた上で、習得させた能力に基づいて、ロボット装置に作業を適切に遂行させることができる。
 なお、第1の状態は、訓練用の「現在の状態」である。第1の状態における相対関係量を第1の相対関係量と称してもよい。第2の状態は、訓練用の「次に遷移する状態」である。第2の状態における相対関係量を第2の相対関係量と称してもよい。学習モデルは、制御指令を決定するための推論する能力を機械学習により獲得可能であれば、その種類は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械学習の種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。機械学習は、典型的には、教師あり学習又は強化学習である。機械学習として教師あり学習を採用する場合には、学習モデルは、例えば、全結合ニューラルネットワーク、長期短期記憶(LSTM:Long short-term memory)ブロックを含む再帰型ニューラルネットワーク等のニューラルネットワークにより構成されてよい。以下、長期短期記憶ブロックを「LSTMブロック」とも記載する。また、機械学習として強化学習を採用する場合には、学習モデルは、例えば、状態価値関数、行動価値関数等の価値関数により構成されてよい。
 上記一側面に係る制御装置において、前記ロボット装置は、前記ロボット装置の属性を観測する観測センサを備えてもよく、前記第1の学習済みの学習モデルは、前記観測センサにより得られる属性データの入力を更に受け付けるように構成されてもよく、前記制御指令を決定することは、前記観測センサにより得られた前記属性データを前記第1の学習済みの学習モデルに更に入力すること、を含んでもよい。当該構成によれば、属性データを更に利用することで、ロボット装置に与える制御指令を更に適切に決定することができる。
 なお、「観測センサ」は、ロボット装置の何らかの属性を観測するものであれば、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。観測センサは、例えば、近接センサ、触覚センサ、力覚センサ、エンコーダ等であってよい。この場合、属性データは、例えば、近接センサ、触覚センサ、力覚センサ、エンコーダ等の測定データ又は測定データから算出された特徴量である。観測センサは、複数のセンサにより構成されてよい。第1の学習済みの学習モデルに入力する属性データを得る時点は、例えば、制御指令により動作を制御する時点であり、その制御指令を決定する直前である。
 上記一側面に係る制御装置において、前記行動決定部は、前記複数の対象物の間の相対関係量の集合を表現する配置空間であって、前記目標とする状態の候補となる状態における相対関係量にそれぞれ対応する複数のノードが配置された配置空間を示すマップ情報を保持してもよい。そして、前記相対関係量の系列を決定することは、前記マップ情報により示される前記配置空間において、前記複数のノードのうちから経由するノードを選択することで、前記開始する時点の状態における相対関係量に対応するノードから前記最終目標の状態における相対関係量に対応するノードまでの経路を探索すること、及び探索された前記経路に含まれるノードに対応する相対関係量により前記相対関係量の系列を生成すること、を含んでもよい。当該構成によれば、制御指令を決定する指針となる相対関係量の系列の決定(すなわち、行動計画)を簡易かつ適切に行うことができる。そのため、作業を遂行する能力の汎用性を高めた上で、習得させた能力に基づいて、ロボット装置に作業を簡易かつ適切に遂行させることができる。
 なお、各ノード(節点、頂点)は、複数の対象物の一状態に対応し、その一状態における相対関係量を示す。各ノードは、ランダムサンプリング、手入力等により適宜設定されてよい。各ノード間には、エッジが適宜設定されてよい。つまり、マップ情報は、ノード及びエッジにより構成されるグラフ構造を有してもよい。エッジ(枝、辺)は、2つのノード間を接続し、一方のノードに対応する状態から他方のノードに対応する状態に遷移可能であることを示す。エッジを設定する2つのノードの組み合わせを決定する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、最近傍法等の公知の方法に基づいて、エッジを設定する2つのノードの組み合わせが決定されてよい。経路は、選択されたノードに連結されたエッジにより構成される。経路探索には、例えば、ダイクストラ法等の公知の探索方法が採用されてよい。また、経路探索には、例えば、指定されたノードを経由する等の制約条件が課されてもよい。制約条件は、実施の形態に応じて適宜決定されてよい。
 配置空間は、相対関係量の集合を表現する。この配置空間には、自由領域及び制限領域が設定されてよい。自由領域には、複数の対象物の間の相対的な関係として取り得る状態(実現可能な相対関係量)に対応するノードが属する。一方、制限領域には、複数の対象物の間の相対的な関係として取り得ない状態(実現不能な相対関係量)に対応するノードが属する。この場合、各ノードは、自由領域に配置される。また、エッジは、制限領域に入らないように適宜設定される。
 上記一側面に係る制御装置において、前記行動決定部は、訓練用の最終目標における相対関係量及び訓練用の現在の状態における相対関係量の入力に対して、当該訓練用の現在の状態の次に遷移する目標の状態における相対関係量を決定するように訓練された第2の学習済みの学習モデルを含んでもよい。そして、前記相対関係量の系列を決定することは、前記現在の状態における前記相対関係量及び設定された前記最終目標の前記相対関係量を前記第2の学習済みの学習モデルに入力すること、前記第2の学習済みの学習モデルの演算処理を実行すること、及び前記第2の学習済みの学習モデルから出力される出力値を、前記次に遷移する目標の状態における前記相対関係量を決定した結果として取得すること、を繰り返し実行することを含んでもよい。当該構成によれば、学習モデルを利用することで、開始時点から最終目標までに目標とする状態を決定する精度を高めることができる。そのため、精度よく決定された目標に基づいて、ロボット装置に与える制御指令を適切に決定することができ、これによって、ロボット装置に作業を適切に遂行させることができる。
 上記一側面に係る制御装置において、前記第2の学習済みの学習モデルは、前記センサから取得される前記観察データの入力を更に受け付けるように構成されてよく、前記相対関係量の系列を決定することは、前記最新の観察データを前記第2の学習済みの学習モデルに更に入力すること、を含んでもよい。当該構成によれば、最新の観察データを更に利用することで、目標の状態を決定する精度を更に高めることができる。そのため、ロボット装置に作業を更に適切に遂行させることができる。
 上記一側面に係る制御装置において、前記関係特定部は、訓練用の観察データの入力に対して、当該訓練用の観察データに現れる前記複数の対象物の間の相対関係量を算出するように訓練された第3の学習済みの学習モデルを含んでもよい。そして、前記相対関係量を算出することは、取得された前記観察データを前記第3の学習済みの学習モデルに入力すること、前記第3の学習済みの学習モデルの演算処理を実行すること、及び前記第3の学習済みの学習モデルから出力される出力値を、前記相対関係量を算出した結果として取得すること、を含んでもよい。当該構成によれば、学習モデルを利用することで、センサより得られた観察データから相対関係量を導出する精度を高めることができる。そのため、相対関係量を変化させることに対してロボット装置に与える制御指令を適切に決定することができ、これによって、ロボット装置に作業を適切に遂行させることができる。
 上記一側面に係る制御装置において、前記ロボット装置は、前記ロボット装置の属性を観測する観測センサを備えてもよく、前記第3の学習済みの学習モデルは、前記観測センサにより得られる属性データの入力を更に受け付けるように構成されてよく、前記相対関係量を算出することは、前記観測センサにより得られた前記属性データを前記第3の学習済みの学習モデルに更に入力すること、を含んでもよい。当該構成によれば、属性データを更に利用することで、相対関係量を導出する精度を更に高めることができる。そのため、ロボット装置に作業を更に適切に遂行させることができる。
 上記一側面に係る制御装置において、前記ロボット装置は、エンドエフェクタを備えるマニピュレータであってよく、前記複数の対象物は、前記エンドエフェクタを含んでよく、前記指令決定部は、前記エンドエフェクタに関する制御指令を決定してもよく、前記出力部は、決定された制御指令を前記マニピュレータに出力してもよい。当該構成によれば、マニピュレータに教示する作業を遂行する能力の汎用性を高めることができる。これにより、マニピュレータに作業を教示するのにかかるコストを低減することができる。なお、エンドエフェクタは、マニピュレータの手先に取り付けられるものであり、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。エンドエフェクタは、例えば、グリッパ、吸引器、ドライバ等であってよい。
 上記各形態に係る制御装置の別の態様として、本発明の一側面は、以上の各構成を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータ等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。
 例えば、本発明の一側面に係る制御方法は、複数の対象物の存在する環境下で稼働するロボット装置の動作を制御するための制御指令を生成する情報処理方法であって、コンピュータが、最終目標となる前記複数の対象物の間の相対関係量を設定するステップであって、前記相対関係量は、前記複数の対象物の間の相対的かつ物理的な関係に関する属性を示す、ステップと、前記環境に存在する前記複数の対象物を観察するセンサから観察データを繰り返し取得するステップと、取得された前記観察データから、前記複数の対象物の間の相対関係量を算出するステップと、前記動作の制御を開始する時点における前記複数の対象物の間の相対関係量から設定された前記最終目標の相対関係量を実現するまでの、前記複数の対象物の目標とする状態における相対関係量の系列を決定するステップと、前記最終目標の相対関係量を実現するまで、前記センサから取得された最新の観察データから算出された現在の状態における相対関係量を、前記相対関係量の系列に含まれる、当該現在の状態の次に遷移する目標の状態における相対関係量に変化させるように、前記ロボット装置に与える制御指令を繰り返し決定するステップと、決定された前記制御指令を前記ロボット装置に出力するステップと、を実行する、情報処理方法である。
 例えば、本発明の一側面に係る制御プログラムは、複数の対象物の存在する環境下で稼働するロボット装置の動作を制御するための制御指令を生成するためのプログラムであって、コンピュータに、最終目標となる前記複数の対象物の間の相対関係量を設定するステップであって、前記相対関係量は、前記複数の対象物の間の相対的かつ物理的な関係に関する属性を示す、ステップと、前記環境に存在する前記複数の対象物を観察するセンサから観察データを繰り返し取得するステップと、取得された前記観察データから、前記複数の対象物の間の相対関係量を算出するステップと、前記動作の制御を開始する時点における前記複数の対象物の間の相対関係量から設定された前記最終目標の相対関係量を実現するまでの、前記複数の対象物の目標とする状態における相対関係量の系列を決定するステップと、前記最終目標の相対関係量を実現するまで、前記センサから取得された最新の観察データから算出された現在の状態における相対関係量を、前記相対関係量の系列に含まれる、当該現在の状態の次に遷移する目標の状態における相対関係量に変化させるように、前記ロボット装置に与える制御指令を繰り返し決定するステップと、決定された前記制御指令を前記ロボット装置に出力するステップと、を実行させるための、プログラムである。
 本発明によれば、習得される作業を遂行する能力の汎用性を高めることができる。
図1は、本発明が適用される場面の一例を模式的に例示する。 図2Aは、実施の形態に係る相対関係量の一例を模式的に例示する。 図2Bは、実施の形態に係る相対関係量の一例を模式的に例示する。 図2Cは、実施の形態に係る相対関係量の一例を模式的に例示する。 図2Dは、実施の形態に係る相対関係量の一例を模式的に例示する。 図2Eは、実施の形態に係る相対関係量の一例を模式的に例示する。 図2Fは、実施の形態に係る相対関係量の一例を模式的に例示する。 図3は、実施の形態に係る制御装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係るロボット装置の一例を模式的に例示する。 図5Aは、実施の形態に係る制御装置の制御処理に関するソフトウェア構成の一例を模式的に例示する。 図5Bは、実施の形態に係る制御装置の学習処理に関するソフトウェア構成の一例を模式的に例示する。 図6は、実施の形態に係る制御装置によるマップ情報の作成に関する処理手順の一例を例示する。 図7Aは、実施の形態に係るマップ情報の作成過程の一例を模式的に例示する。 図7Bは、実施の形態に係るマップ情報の作成過程の一例を模式的に例示する。 図7Cは、実施の形態に係るマップ情報の作成過程の一例を模式的に例示する。 図8は、実施の形態に係る制御装置による学習モデルの機械学習に関する処理手順の一例を例示する。 図9Aは、実施の形態に係る制御装置によるロボット装置の制御に関する処理手順の一例を例示する。 図9Bは、実施の形態に係る制御装置によるロボット装置の制御に関する処理手順の一例を例示する。 図10は、実施の形態に係る制御装置による行動計画の一例を模式的に例示する。 図11Aは、従来の制御方法の問題点を説明するための図である。 図11Bは、従来の制御方法の問題点を説明するための図である。 図12は、実施の形態に係る制御方法の特徴を説明するための図である。 図13は、変形例に係る制御装置のソフトウェア構成の一例を模式的に例示する。 図14Aは、変形例に係る学習装置が適用される場面の一例を模式的に例示する。 図14Bは、変形例に係る学習装置のハードウェア構成の一例を模式的に例示する。 図15は、変形例に係る制御装置の制御処理に関するソフトウェア構成の一例を模式的に例示する。 図16は、変形例に係る制御装置の制御処理に関するソフトウェア構成の一例を模式的に例示する。 図17Aは、変形例に係る制御装置の制御処理に関するソフトウェア構成の一例を模式的に例示する。 図17Bは、変形例に係る制御装置の学習処理に関するソフトウェア構成の一例を模式的に例示する。 図18は、変形例に係る制御装置の制御処理に関するソフトウェア構成の一例を模式的に例示する。 図19Aは、変形例に係る制御装置の制御処理に関するソフトウェア構成の一例を模式的に例示する。 図19Bは、変形例に係る制御装置の学習処理に関するソフトウェア構成の一例を模式的に例示する。 図20は、変形例に係る制御装置の制御処理に関するソフトウェア構成の一例を模式的に例示する。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
 §1 適用例
 まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態に係る制御装置1の適用場面の一例を模式的に例示する。図1の例では、グリッパ37を備える垂直多関節型のマニピュレータ3の動作を制御する場面を想定している。マニピュレータ3は、本発明の「ロボット装置」の一例であり、グリッパ37は、本発明の「エンドエフェクタ」の一例である。しかしながら、本発明の適用対象は、このような例に限定されなくてもよく、何らかのロボット装置の動作を制御するあらゆる場面に適用可能である。
 図1に示されるとおり、本実施形態に係る制御装置1は、複数の対象物の存在する環境WS下で稼働するロボット装置(マニピュレータ3)の動作を制御するための制御指令41を生成するコンピュータである。環境WSは、対象物が存在し、ロボット装置が稼働する区域である。対象物は、ロボット装置の動作に関連し得る物体であり、例えば、エンドエフェクタ、ワーク、障害物等である。対象物は、ロボット装置の構成要素を含んでもよい。本実施形態では、環境WSには、グリッパ37、第1ワークW1、及び第2ワークW2が対象物の一例として存在している。
 制御装置1は、環境WSに存在する複数の対象物を観察するセンサから観察データを繰り返し取得し、取得された観察データから複数の対象物の間の相対関係量を算出する。相対関係量は、複数の対象物の間の相対的かつ物理的な関係に関する属性を示すものである。相対関係量は、例えば、複数の対象物の間の相対座標(相対位置、相対姿勢)、複数の対象物の間に作用する力、複数の対象物の間の状態(例えば、連結されているか否か)等である。本実施形態では、センサの一例としてカメラCAが採用されている。また、本実施形態では、後述するとおり、相対関係量は、複数の対象物の間の相対座標を含む。そのため、制御装置1は、カメラCAから画像データ40を観察データとして取得し、取得された画像データ40から相対座標を含む相対関係量を算出する。
 制御装置1は、最終目標となる複数の対象物の間の相対関係量を設定する。最終目標は、マニピュレータ3に遂行させる作業(タスク)に応じて決定される。制御装置1は、動作の制御を開始する時点からこの最終目標を達成するまでの相対関係量の遷移を計画し、計画された相対関係量の遷移に従って、マニピュレータ3に与える制御指令41を決定する。「開始する時点」は、当該計画における開始点(スタート)であり、作業の遂行に関してロボット装置(マニピュレータ3)の動作の制御を開始する前の状態である。「最終目標」は、当該計画における終着点(ゴール)であり、作業の遂行を完了した時点に実現され、与えられた作業に応じて設定される。
 具体的には、制御装置1は、動作の制御を開始する時点における複数の対象物の間の相対関係量から設定された最終目標の相対関係量を実現するまでの、複数の対象物の目標とする状態における相対関係量の系列を決定する。制御装置1は、最終目標の相対関係量を実現するまで、センサから取得された最新の観察データから算出された現在の状態における相対関係量を、相対関係量の系列に含まれる、現在の状態の次に遷移する目標の状態における相対関係量に変化させるように、マニピュレータ3に与える制御指令41を繰り返し決定する。
 そして、制御装置1は、決定された制御指令41をマニピュレータ3に出力する。制御指令41は、ロボット装置(マニピュレータ3)の動作の制御に関するものであり、例えば、目標制御量、操作量等である。また、制御指令41を出力することは、制御指令41に基づいてロボット装置を直接的に制御すること、及びロボット装置がコントローラを備える場合に、制御指令41をコントローラに与えることで、コントローラにロボット装置の動作を制御させることを含む。本実施形態では、制御装置1は、制御指令41の出力処理として、制御指令41に基づいて、マニピュレータ3の動作を制御する。これにより、マニピュレータ3は、与えられた作業を遂行するように動作を制御される。
 図2A~図2Fを更に用いて、制御装置1による動作制御の具体例について説明する。図1及び図2A~図2Fは、マニピュレータ3に遂行させる作業の一例として、第2ワークW2から離れた場所に配置されている第1ワークW1をグリッパ37により把持させ、把持させた第1ワークW1を第2ワークW2上に運搬する作業を模式的に例示している。図1は、上記計画の結果、開始する時点stから最終目標gnまで当該部品運搬の作業をn(nは自然数)回のステップで実行させるように相対関係量の系列RSを決定した場面を例示している。図2A~図2Fは、第1ワークW1を第2ワークW2の上に配置する作業をマニピュレータ3に遂行させる過程を模式的に例示する。
 ただし、マニピュレータ3に遂行させる作業は、このような部品運搬に限られなくてもよく、実施の形態に応じて適宜選択されてよい。作業は、部品運搬の他、例えば、部品嵌合、ネジ回し等であってよい。作業は、例えば、ワークの把持、ワークの解放等の単純な仕事であってもよい。また、一連の作業を遂行するためのステップ数、すなわち、系列RSに含まれる相対関係量の数は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。更に、図1の例では、動作の制御を開始する時点stと最終目標gnとの間に、最終目標gn以外の目標(g1、g2等)が設定されている。しかしながら、相対関係量の系列を決定する処理の例は、このような例に限定されなくてもよく、開始する時点stの後に最終目標gnが設定される、換言すると、最終目標gn以外の目標が存在しないように相対関係量の系列が決定されてもよい。
 まず、相対関係量の一例について説明する。図2Aに示されるとおり、本実施形態に係る相対関係量は、相対座標(rc1、rc2、rc3)を含んでいる。相対座標rc1は、グリッパ37のローカル座標系CO1から見た第1ワークW1のローカル座標系CO2を表し、グリッパ37と第1ワークW1との間の相対的な位置及び姿勢の関係を示す。相対座標rc2は、グリッパ37のローカル座標系CO1から見た第2ワークW2のローカル座標系CO3を表し、グリッパ37と第2ワークW2との間の相対的な位置及び姿勢の関係を示す。相対座標rc3は、第1ワークW1のローカル座標系CO2からみた第2ワークW2のローカル座標系CO3を表し、第1ワークW1と第2ワークW2との間の相対的な位置及び姿勢の関係を示す。
 本実施形態では、各相対座標(rc1、rc2、rc3)は、3次元空間の3つの軸(前後、左右、上下;相対位置)で表現される相対位置、及び各軸の回転(ロール、ピッチ、ヨー)で表現される相対姿勢を含む。各相対座標(rc1、rc2、rc3)は、本発明の「複数の対象物の間の相対座標」の一例である。ただし、相対座標の表現は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。相対座標は、例えば、相対位置及び相対姿勢のいずれか一方のみを含むように設定されてもよい。また、相対座標の与え方は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。例えば、相対座標rc1は、第1ワークW1のローカル座標系CO2から見たグリッパ37のローカル座標系CO1を表す等のように、各相対座標(rc1、rc2、rc3)の関係は反転されてもよい。
 次に、この相対関係量に基づいて、制御指令41を決定する過程の一例について説明する。本実施形態では、部品運搬の一連の動作における各状態が、各相対座標(rc1、rc2、rc3)を含む相対関係量により表現される。図2Aに示されるとおり、動作の制御を開始する時点stでは、第1ワークW1は第2ワークW2から離れて配置されており、グリッパ37は、第1ワークW1及び第2ワークW2から離れた位置に傾いて配置されている。開始する時点stにおける相対関係量r0に含まれる各相対座標(rc1、rc2、rc3)は、この状態におけるグリッパ37、第1ワークW1、及び第2ワークW2の間の相対的な位置及び姿勢の関係を示す。本実施形態では、この相対関係量r0の各相対座標(rc1、rc2、rc3)は、作業の遂行に関してマニピュレータ3の動作の制御を開始する前(開始する時点st)に取得された画像データ401から算出される。
 一方、図2Fに示されるとおり、この作業の一例における最終目標gnは、グリッパ37が第1ワークW1の上部を把持し、把持した第1ワークW1を第2ワークW2上に配置することである。最終目標gnにおける相対関係量rnに含まれる各相対座標(rc1、rc2、rc3)は、この状態におけるグリッパ37、第1ワークW1、及び第2ワークW2の間の相対的な位置及び姿勢の関係を示す。この相対関係量rnは、マニピュレータ3に遂行させる作業に応じて適宜与えられる。
 制御装置1は、この開始する時点stにおける相対関係量r0から最終目標gnの相対関係量rnを実現するまでの、複数の対象物の目標とする状態における相対関係量の系列RSを決定する。「目標」は、最終目標gnを含み、作業の遂行を達成するために適宜設定される。設定される目標の数は、1つであってもよいし、複数であってもよい。図1の例では、最終目標gnを含むn個の目標(g1、g2等)が設定されている。最終目標gn以外の目標(g1、g2等)は、開始点から終着点に到達するまでに経由する経由点(途中状態に対応する)である。そのため、最終目標gnを単に「目標(ゴール)」と称し、最終目標gn以外の目標を「下位目標(サブゴール)」と称してもよい。
 図2B~図2Eは、相対関係量の系列RSを決定した結果、策定された途中状態の目標(g1、g2等)の一例を模式的に例示する。具体的に、図2Bの例では、開始する時点stの次に遷移する目標g1として、第1ワークW1を把持可能なようにグリッパ37の姿勢を変更し、グリッパ37を第1ワークW1の上空に配置することが策定されている。この目標g1における相対関係量r1に含まれる各相対座標(rc1、rc2、rc3)は、この状態におけるグリッパ37、第1ワークW1、及び第2ワークW2の間の相対的な位置及び姿勢の関係を示すように設定される。図2Cの例では、目標g1の次に遷移する目標g2として、グリッパ37を下降させ、第1ワークW1の上部をグリッパ37で把持することが策定されている。この目標g2における相対関係量r2に含まれる各相対座標(rc1、rc2、rc3)は、この状態におけるグリッパ37、第1ワークW1、及び第2ワークW2の間の相対的な位置及び姿勢の関係を示すように設定される。
 このように、各目標における相対関係量は、開始する時点stにおける相対関係量r0が最終目標gnにおける相対関係量rnに遷移する過程の一時点(すなわち、途中状態)に対応するように適宜決定される。図2Dの例では、目標g2と最終目標gnとの間に策定される目標として、第1ワークW1を把持したグリッパ37が第2ワークW2に近付く場面が示されている。この目標における相対関係量rrに含まれる各相対座標(rc1、rc2、rc3)は、この状態におけるグリッパ37、第1ワークW1、及び第2ワークW2の間の相対的な位置及び姿勢の関係を示すように設定される。図2Eの例では、最終目標gnの直前の目標として、第1ワークW1を把持したグリッパ37が第2ワークW2の上空に位置する場面が示されている。この目標における相対関係量r(n-1)に含まれる各相対座標(rc1、rc2、rc3)は、この状態におけるグリッパ37、第1ワークW1、及び第2ワークW2の間の相対的な位置及び姿勢の関係を示すように設定される。
 制御装置1は、最終目標gnの相対関係量rnを実現するまで、カメラCAから取得された最新の画像データ40から算出された現在の状態における相対関係量を、相対関係量の系列RSに含まれる、現在の状態の次に遷移する目標の状態における相対関係量に変化させるように、マニピュレータ3に与える制御指令41を繰り返し決定する。この繰り返しの最初のステップs1では、開始する時点stの初期状態が現在の状態n1である。つまり、最新の画像データ401から算出された現在の状態n1における相対関係量p1は、開始する時点stにおける相対関係量r0と同じである。「最新」とは、制御指令により動作を制御する際であり、その制御指令を決定する直前の時点である。また、「次に遷移する目標」は、現在の状態から次に目指す状態(最終目標以外の目標であれば暫定的な状態)であり、例えば、最終目標に向かって、現在の状態に最も近い目標である。そのため、現在の状態n1の次に遷移する目標は、目標g1である。したがって、ステップs1では、制御装置1は、最新の画像データ401算出された現在の状態n1における相対関係量p1(図2A)を、目標g1の状態における相対関係量r1(図2B)に変化させるように、制御指令411を決定する。マニピュレータ3は、決定された制御指令411に基づいて動作を制御される。
 この制御指令411に基づくマニピュレータ3の動作制御が適切に完了すると、グリッパ37、第1ワークW1、及び第2ワークW2は、図2Bに示される状態になる。つまり、次のステップs2では、最新の画像データ402から算出された現在の状態n2における相対関係量p2は、このステップs2を実行する前に達成される目標g1の相対関係量r1と一致又は近似している。この現在の状態n2の次に遷移する目標は、目標g1の次に設定された目標g2である。そのため、ステップs2では、制御装置1は、画像データ402から算出された現在の状態n2における相対関係量p2(図2B)を、目標g2の状態における相対関係量r2(図2C)に変化させるように、制御指令412を決定する。マニピュレータ3は、決定された制御指令412に基づいて動作を制御される。
 このような制御指令41の決定、及び決定された制御指令41に基づくマニピュレータ3の動作の制御が繰り返し実行される。この繰り返しにより、グリッパ37、第1ワークW1、及び第2ワークW2の状態は、開始する時点stの状態から最終目標gnの状態に遷移していく。最終目標gnを実現する直前のステップsnの時点では、最新の画像データ40nから算出された現在の状態nnにおける相対関係量pnは、最終目標gnの前に達成される目標の相対関係量r(n-1)と一致又は近似している。このステップsnでは、制御装置1は、画像データ40nから算出された現在の状態nnにおける相対関係量pn(図2E)を、最終目標gnの状態における相対関係量rn(図2F)に変化させるように、制御指令41nを決定する。マニピュレータ3は、決定された制御指令41nに基づいて動作を制御される。
 このステップsnにおける制御による動作が完了すると、最終目標gnの相対関係量rn、すなわち、グリッパ37により把持された第1ワークW1が第2ワークW2上に配置された状態が実現される。なお、最終目標gnの相対関係量rnを実現することは、作業の遂行が完了することであり、例えば、カメラCAから取得された画像データ40から算出される相対関係量が最終目標gnの相対関係量rnと一致することである。この「一致」は、完全に一致することの他、閾値(許容誤差)による近似を含んでもよい。最終目標gnを実現するまで上記繰り返しの処理が実行されることで、マニピュレータ3は、第2ワークW2から離れた場所に配置されている第1ワークW1をグリッパ37により把持し、把持した第1ワークW1を第2ワークW2上に運搬する一連の動作を実行するように制御される。
 以上のとおり、本実施形態では、作業の遂行に関連し、マニピュレータ3の稼働する環境WS下に存在する複数の対象物の状況及び目標が相対関係量で表現され、制御指令41は、この相対関係量を変化させることに応じて決定される。相対関係量は、環境WSに存在する複数の対象物(グリッパ37、第1ワークW1、第2ワークW2)の間の相対的かつ物理的な関係に関する属性を示すものであり、本実施形態では、各相対座標(rc1、rc2、rc3)を含んでいる。つまり、本実施形態では、制御指令41は、作業に直接的に関連付けられるのではなく、相対関係量の変化量に関連付けられる。これにより、作業の内容に依存せずに、相対関係量を変化させることに対してマニピュレータ3に与える時系列の制御指令41を教示することができる。したがって、本実施形態によれば、習得される作業を遂行する能力の汎用性を高めることができる。これによって、マニピュレータ3に作業を教示するのにかかるコストを低減することができる。
 §2 構成例
 [ハードウェア構成]
 <制御装置>
 次に、図3を用いて、本実施形態に係る制御装置1のハードウェア構成の一例について説明する。図3は、本実施形態に係る制御装置1のハードウェア構成の一例を模式的に例示する。
 図3に示されるとおり、本実施形態に係る制御装置1は、制御部11、記憶部12、外部インタフェース13、入力装置14、出力装置15、及びドライブ16が電気的に接続されたコンピュータである。なお、図3では、外部インタフェースを「外部I/F」と記載している。
 制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、制御プログラム81、学習プログラム82、CAD(computer-aided design)データ121、マップ情報123、学習データ125、学習結果データ127等の各種情報を記憶する。
 制御プログラム81は、後述するマニピュレータ3の制御に関する情報処理(図9A、図9B)を制御装置1に実行させるためのプログラムである。制御プログラム81は、この情報処理の一連の命令を含む。学習プログラム82は、相対関係量の系列RSの決定に利用するマップ情報123及び制御指令41の決定に利用する学習済みの学習モデル(後述するニューラルネットワーク51)の構築に関する情報処理(図6、図8)を制御装置1に実行させるためのプログラムである。学習プログラム82は、この情報処理の一連の命令を含む。CADデータ121は、環境WSに存在する各対象物のモデルを含む。マップ情報123及び学習結果データ127は、学習プログラム82の実行結果として生成される。マップ情報123は、複数の対象物の間の相対関係量の集合を表現する配置空間であって、目標とする状態の候補となる状態における相対関係量にそれぞれ対応する複数のノードが配置された配置空間を示す。学習データ125は、学習モデルの機械学習に使用される。学習結果データ127は、機械学習により構築された学習済みの学習モデルの設定を行うためのデータである。詳細は後述する。
 外部インタフェース13は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース13の種類及び数は、接続される外部装置の種類及び数に応じて適宜選択されてよい。本実施形態では、制御装置1は、外部インタフェース13を介して、マニピュレータ3及びカメラCAに接続される。
 カメラCAは、マニピュレータ3の稼働する環境WSに存在する各対象物(グリッパ37、第1ワークW1、第2ワークW2)を観察するように適宜配置される。このカメラCAの種類は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。カメラCAには、例えば、デジタルカメラ、ビデオカメラ等の公知のカメラが利用されてよい。制御装置1は、外部インタフェース13を介して、カメラCAから画像データ40を取得することができる。画像データ40は、本発明の「観察データ」の一例である。なお、図1及び図3の例では、カメラCAは、マニピュレータ3と別体に設けられている。しかしながら、カメラCAの構成は、このような例に限定されなくてもよい。カメラCAは、マニピュレータ3と一体に設けられていてもよい。
 入力装置14は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置15は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。オペレータは、入力装置14及び出力装置15を利用することで、制御装置1を操作することができる。
 ドライブ16は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラムを読み込むためのドライブ装置である。ドライブ16の種類は、記憶媒体91の種類に応じて適宜選択されてよい。上記制御プログラム81、学習プログラム82、CADデータ121、及び学習データ125の少なくともいずれかは、この記憶媒体91に記憶されていてもよい。
 記憶媒体91は、コンピュータその他装置、機械等が、記録されたプログラム等の情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。制御装置1は、この記憶媒体91から、上記制御プログラム81、学習プログラム82、CADデータ121、及び学習データ125の少なくともいずれかを取得してもよい。
 ここで、図3では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限定される訳ではなく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。
 なお、制御装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。外部インタフェース13、入力装置14、出力装置15及びドライブ16の少なくともいずれかは省略されてもよい。制御装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、制御装置1は、提供されるサービス専用に設計された情報処理装置の他、PC(Personal Computer)等の汎用の情報処理装置、PLC(programmable logic controller)等のコントローラ等であってよい。
 <マニピュレータ>
 次に、図4を用いて、本実施形態に係るマニピュレータ3のハードウェア構成の一例について説明する。図4は、本実施形態に係るマニピュレータ3のハードウェア構成の一例を模式的に例示する。
 本実施形態に係るマニピュレータ3は、6軸の垂直多関節型の産業用ロボットであり、台座部30及び6つの関節部31~36を備えている。各関節部31~36は、サーボモータ(不図示)を内蔵していることで、各軸を中心に回転可能に構成されている。第1関節部31は、台座部30に接続されており、先端側の部分を台座の軸周りに回転させる。第2関節部32は、第1関節部31に接続されており、先端側の部分を前後方向に回転させる。第3関節部33は、リンク391を介して第2関節部32に接続されており、先端側の部分を上下方向に回転させる。第4関節部34は、リンク392を介して第3関節部33に接続されており、先端側の部分をリンク392の軸周りに回転させる。第5関節部35は、リンク393を介して第4関節部34に接続されており、先端側の部分を上下方向に回転させる。第6関節部36は、リンク394を介して第5関節部35に接続されており、先端側の部分をリンク394の軸周りに回転させる。第6関節部36の先端側には、力覚センサ38と共にグリッパ37が取り付けられている。
 各関節部31~36には、エンコーダ(不図示)が更に内蔵されている。エンコーダは、各関節部31~36の角度(制御量)を測定可能に構成されている。エンコーダの測定データは、各関節部31~36の角度の制御に利用される。また、力覚センサ38は、グリッパ37に作用する6軸方向の力及びモーメントを検出するように構成されている。力覚センサ38の測定データは、グリッパ37の把持力を調整したり、グリッパ37に異常な力が作用しているか否かを検知したりするために利用されてよい。
 なお、マニピュレータ3のハードウェア構成は、このような例に限定されなくてもよい。マニピュレータ3の具体的なハードウェア構成に関して、実施の形態に応じて適宜、構成要素の省略、置換及び追加が可能である。例えば、マニピュレータ3は、マニピュレータ3の制御量又はその他の属性を観測するために、エンコーダ及び力覚センサ38以外のセンサを備えていてもよい。マニピュレータ3の軸数は、6軸に限定されなくてもよい。また、マニピュレータ3には、公知の産業用ロボットが採用されてもよい。
 [ソフトウェア構成]
 (A)制御処理
 次に、図5Aを用いて、本実施形態に係る制御装置1の制御処理に関するソフトウェア構成の一例について説明する。図5Aは、本実施形態に係る制御装置1の制御処理に関するソフトウェア構成の一例を模式的に例示する。
 制御装置1の制御部11は、記憶部12に記憶された制御プログラム81をRAMに展開する。そして、制御部11は、RAMに展開された制御プログラム81をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図5Aに示されるとおり、本実施形態に係る制御装置1は、目標設定部101、データ取得部102、関係特定部103、行動決定部104、指令決定部105、及び動作制御部106をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、制御処理に関する制御装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
 目標設定部101は、最終目標gnとなる複数の対象物の間の相対関係量rnを設定する。最終目標gnの相対関係量rnは、上記図2Fに例示されるように、与えられた作業Tに応じて設定される。この最終目標gnの相対関係量rnは、CAD等のシミュレータにより与えられてもよいし、オペレータの指定により与えられてもよい。
 データ取得部102は、環境WSに存在する複数の対象物を観察するセンサから観察データを繰り返し取得する。関係特定部103は、取得された観察データから、複数の対象物の間の相対関係量を算出する。本実施形態では、相対関係量は、複数の対象物の間の相対座標を含む。また、センサは、カメラCAを含み、観察データは、カメラCAにより得られた画像データ40を含む。そのため、本実施形態では、データ取得部102は、カメラCAから画像データ40を観察データとして繰り返し取得する。関係特定部103は、取得された画像データ40から、複数の対象物の間の相対座標を含む相対関係量を算出する。
 画像データ40から相対座標を算出する方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。本実施形態では、関係特定部103は、各対象物のモデルを利用して、各対象物の間の相対座標を算出する。具体的に、関係特定部103は、カメラCAにより得られた画像データ40に対して、CADデータ121により示される各対象物のモデルをマッチングする。関係特定部103は、このマッチングの結果に基づいて、複数の対象物の間の相対座標を算出する。
 行動決定部104は、動作の制御を開始する時点stにおける相対関係量r0から設定された最終目標gnの相対関係量rnを実現するまでの、複数の対象物の目標(g1等)とする状態における相対関係量の系列RSを決定する。本実施形態では、開始する時点stにおける相対関係量r0は、作業の遂行に関してマニピュレータ3の動作の制御を開始する直前の時点に取得された画像データ40から算出される。また、本実施形態では、行動決定部104は、マップ情報123を保持する。相対関係量の系列RSの決定には、このマップ情報123が利用される。具体的には、行動決定部104は、マップ情報123により示される配置空間において、複数のノードのうちから経由するノードを選択することで、開始する時点stの状態における相対関係量r0に対応するノードから最終目標gnの状態における相対関係量rnに対応するノードまでの経路を探索する。そして、行動決定部104は、探索された経路に含まれるノードに対応する相対関係量(r1等)により相対関係量の系列RSを生成する。
 指令決定部105は、最終目標gnの相対関係量rnを実現するまで、カメラCAから取得された最新の画像データ40から算出された現在の状態における相対関係量を、相対関係量の系列RSに含まれる、現在の状態の次に遷移する目標における相対関係量に変化させるように、マニピュレータ3に与える制御指令41を繰り返し決定する。図5Aの例では、この繰り返しのs回目の処理として、現在の状態nsから次の目標gsの状態に遷移させる場面が例示されている。この場面では、指令決定部105は、最新の画像データ40sから算出された現在の状態nsにおける相対関係量psを、次に遷移する目標gsにおける相対関係量rsに変化させるように、制御指令41sを決定する。
 制御指令41を決定する方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。本実施形態では、指令決定部105は、学習結果データ127を保持することで、学習済みのニューラルネットワーク51を含んでいる。この学習済みのニューラルネットワーク51は、本発明の「第1の学習済みの学習モデル」の一例である。指令決定部105は、学習済みのニューラルネットワーク51を利用することで、制御指令41を決定する。具体的には、指令決定部105は、現在の状態nsにおける相対関係量ps及び次に遷移する目標gsの状態における相対関係量rsをニューラルネットワーク51に入力し、ニューラルネットワーク51の演算処理を実行する。これにより、指令決定部105は、ニューラルネットワーク51から出力される出力値を、制御指令41sを決定した結果として取得する。
 動作制御部106は、決定された制御指令41をマニピュレータ3に出力する。この動作制御部106は、本発明の「出力部」の一例である。本実施形態では、動作制御部106は、この制御指令41の出力処理として、制御指令41に基づいて、マニピュレータ3の動作を制御する。最終目標gnの相対関係量rnを実現するまで、指令決定部105及び動作制御部106の処理が繰り返されることで、マニピュレータ3は、例えば、上記図2A~図2Fで例示されるような、与えられた作業Tの遂行に関する一連の動作を実行するように制御される。
 (ニューラルネットワーク)
 次に、学習モデルの一例であるニューラルネットワーク51について説明する。図5Aに示されるとおり、本実施形態に係るニューラルネットワーク51は、いわゆる深層学習に用いられる多層構造のニューラルネットワークであり、入力側から順に、入力層511、中間(隠れ)層512、及び出力層513を備えている。なお、図5Aの例では、ニューラルネットワーク51は、1層の中間層512を備えており、入力層511の出力が中間層512に入力され、中間層512の出力が出力層513に入力されている。ただし、中間層512の数は、このような例に限られなくてもよい。ニューラルネットワーク51は、2層以上の中間層を備えてもよい。
 各層511~513に含まれるニューロンの数は、実施の形態に応じて適宜選択されてよい。隣接する層のニューロン同士は適宜結合され、各結合には重み(結合荷重)が設定されている。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。各層511~513に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、学習モデルの演算パラメータの一例である。
 指令決定部105は、現在の状態nsにおける相対関係量ps及び次に遷移する目標gsの状態における相対関係量rsを入力層511に入力し、ニューラルネットワーク51の演算処理として各層511~513に含まれる各ニューロンの発火判定を入力側から順に行う。これにより、指令決定部105は、制御指令41sを決定した結果として、出力層513から出力される出力値を取得する。
 なお、本実施形態では、このような学習済みのニューラルネットワーク51の構成(例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの伝達関数)、及び演算パラメータ(例えば、各ニューロン間の結合の重み、各ニューロンの閾値)を示す情報は、学習結果データ127に含まれている。指令決定部105は、学習結果データ127を参照して、現在の状態及び次に遷移する目標から制御指令41を決定する処理に利用する学習済みのニューラルネットワーク51の設定を行う。
 (B)学習処理
 次に、図5Bを用いて、本実施形態に係る制御装置1の学習処理に関するソフトウェア構成の一例について説明する。図5Bは、本実施形態に係る制御装置1の学習処理に関するソフトウェア構成の一例を模式的に例示する。
 制御装置1の制御部11は、記憶部12に記憶された学習プログラム82をRAMに展開する。そして、制御部11は、RAMに展開された学習プログラム82をCPUにより解釈及び実行して、各構成要素を制御する。これによって、図5Bに示されるとおり、本実施形態に係る制御装置1は、環境情報取得部111、マップ作成部112、マップ保存処理部113、学習データ取得部114、学習処理部115、及び保存処理部116をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、学習処理に関する制御装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
 環境情報取得部111は、作業Tを遂行する環境WSに存在する各対象物に関する環境情報(例えば、CADデータ121)を取得する。マップ作成部112は、取得された環境情報を利用して、配置空間を示すマップ情報123を作成する。マップ保存処理部113は、作成されたマップ情報123を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。
 記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ16を介して記憶メディアにマップ情報123を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御装置1は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等の通信インタフェースを更に備えてよく、制御部11は、通信インタフェースを利用して、ネットワークを介してデータサーバにマップ情報123を格納してもよい。また、外部記憶装置は、例えば、制御装置1に接続された外付けの記憶装置であってもよい。
 学習データ取得部114は、ニューラルネットワーク51の機械学習に利用する学習データ125を取得する。学習データ125は、例えば、第1の状態における相対関係量1251及び第2の状態における相対関係量1252と、相対関係量1251から相対関係量1252に変化させるようにマニピュレータ3の動作を制御するための制御指令1253との組み合わせによりそれぞれ構成される複数の学習データセット1250を含む。第1の状態は、訓練用の「現在の状態」に相当する。第2の状態は、訓練用の「次に遷移する状態」に相当する。そのため、相対関係量1251を「第1の相対関係量」と称し、相対関係量1252を「第2の相対関係量」と称してもよい。第1の状態における相対関係量1251及び第2の状態における相対関係量1252は、訓練データ(入力データ)として利用される。一方、制御指令1253は、教師データ(正解データ)として利用される。
 学習処理部115は、取得された学習データ125を利用して、ニューラルネットワーク51の機械学習を実施する。すなわち、学習処理部115は、機械学習により、相対関係量1251及び相対関係量1252の入力に対して、各対象物の間の相対関係量を相対関係量1251から相対関係量1252に変化させるようにマニピュレータ3の動作を制御するための制御指令(制御指令1253)を決定するようにニューラルネットワーク51を訓練する。これにより、学習済みのニューラルネットワーク51が構築される。保存処理部116は、構築された学習済みのニューラルネットワーク51に関する情報を所定の記憶領域に保存する。
 (C)その他
 制御装置1の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、制御装置1の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、以上のソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサにより実現されてもよい。また、制御装置1のソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
 §3 動作例
 次に、制御装置1の動作例について説明する。本実施形態に係る制御装置1は、学習処理として、マップ情報123を作成する処理及び学習済みのニューラルネットワーク51を構築する処理の2つの処理を実行する。また、本実施形態に係る制御装置1は、マニピュレータ3の動作を制御するための処理を実行する。以下、各処理手順の一例について説明する。ただし、以下で説明する各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。更に、以下で説明する各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 (3-1)マップ情報の作成
 まず、図6及び図7A~図7Cを用いて、マップ情報123の作成に関する処理手順の一例について説明する。図6は、本実施形態に係る制御装置1によるマップ情報123の作成に関する処理手順の一例を示すフローチャートである。また、図7A~図7Cは、マップ情報123を作成する過程の一例を模式的に例示する。
 (ステップS101)
 ステップS101では、制御部11は、環境情報取得部111として動作し、作業Tを遂行する環境WSに存在する各対象物に関する環境情報を取得する。環境情報は、各対象物の間の相対関係量をシミュレート可能であれば、その形式及び種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。制御部11は、例えば、環境情報としてCADデータ121を取得してもよい。CADデータ121は、各対象物のモデル(例えば、3Dモデル)等の物理的な構成を示す構成情報を含む。このCADデータ121は、公知のソフトウェアにより生成されてよい。環境情報を取得すると、制御部11は、次のステップS102に処理を進める。
 (ステップS102及びステップS103)
 ステップS102及びステップS103では、制御部11は、マップ作成部112として動作して、配置空間の作成及び設定を行う。具体的に、ステップS102では、制御部11は、取得された環境情報を利用して、複数の対象物(本実施形態では、グリッパ37、第1ワークW1、第2ワークW2)の間の相対関係量の集合を表現する配置空間を作成する。次のステップS103では、作成された配置空間に自由領域及び制限領域を設定する。
 図7Aは、作成される配置空間SPの一例を模式的に例示する。図7Aでは、説明の便宜のため、配置空間SPを2次元で表現している。しかしながら、配置空間SPの次元は、相対関係量に依存するため、必ずしも2次元とは限らない。後述する図7B及び図7Cにおいても同様である。配置空間SPに属するノード(点)は、複数の対象物の間の相対関係量に対応する。
 各対象物は、物理的な構成を有しているため、各対象物の相対関係量として実現可能な相対関係量と実現不能な相対関係量とが存在する。例えば、上記図2A等のように、グリッパ37、第1ワークW1、及び第2ワークW2それぞれが移動可能な範囲で離れている状態は、各対象物の間の相対的な関係として取り得る状態であり、この状態のおける相対関係量は実現可能である。一方で、例えば、第1ワークW1及び第2ワークW2が互いに貫通不能であるにも関わらず、いずれか一方が他方に貫通している状態は、各対象物の間の相対的な関係として取り得ない状態であり、この状態における相対関係量は実現不能である。また、例えば、マニピュレータ3の構成に応じて、グリッパ37が移動可能な範囲及び角度は制約される。そのため、グリッパ37が他の対象物に対して移動不能な範囲に移動している状態は、各対象物の間の相対的な関係として取り得ない状態であり、この状態における相対関係量は実現不能である。
 そこで、制御部11は、相対関係量の集合を表現する配置空間SPを作成した後に、CADデータ121を参照して、各対象物の物理的な構成に応じて、実現可能な相対関係量に対応するノードの属する自由領域、及び実現不能な相対関係量に対応するノードの属する制限領域を設定する。図7Aの例では、領域E1が、自由領域であり、その他の領域E2~E4が、制限領域である。自由領域及び制限領域の設定が完了すると、制御部11は、次のステップS104に処理を進める。
 (ステップS104)
 ステップS104では、制御部11は、マップ作成部112として動作し、配置空間の自由領域内において、各対象物の間の相対的な関係として取り得る各状態における相対関係量にそれぞれ対応する複数のノードを配置する。各ノードは、例えば、目標(g1等)とする状態の候補となる状態における相対関係量に対応する。
 図7Bは、配置空間SPの自由領域(領域E1)に各ノードNdを配置した場面を模式的に例示する。各ノードNdは、複数の対象物の間の相対的な関係の一状態に対応し、その一状態における相対関係量(本実施形態では、各相対座標rc1~rc3)を示す。各ノードNdは、例えば、ランダムサンプリング等の公知の方法により設定されてもよい。また、各ノードNdは、例えば、入力装置14を介したオペレータの指定により設定されてもよい。
 また、制御部11は、開始する時点stの候補に対応するノード(開始点)と最終目標gnの候補に対応するノード(終着点)とを設定し、設定された開始点から終着点までの経路を適宜探索してもよい。この経路探索には、公知の方法が採用されてもよい。また、この経路探索は、シミュレーションで行われてもよいし、マニピュレータ3を駆動して行われてもよい。そして、制御部11は、この経路探索において、遷移確率の高いノード、例えば、登場頻度が閾値以上である各ノードを抽出し、抽出した各ノードをノードNdとして設定してもよい。
 設定される各ノードNdは、開始する時点st及び最終目標gnそれぞれの候補に対応するノードを含んでもよい。各ノードNdの設定が完了すると、制御部11は、次のステップS105に処理を進める。
 (ステップS105)
 ステップS105では、制御部11は、マップ作成部112として動作し、各ノード間をエッジで連結する。
 図7Cは、各ノードNd間をエッジEgで連結した場面を模式的に例示する。エッジEgは、2つのノードNdの間を接続し、一方のノードNdに対応する状態から他方のノードNdに対応する状態に遷移可能であることを示す。そのため、エッジEgは、制限領域(図7Cの例では、領域E2~E4)に入らないように設定される。
 エッジEgを設定する2つのノードNdの組み合わせを決定する方法は、実施の形態に応じて適宜選択されてよい。例えば、最近傍法等の公知の方法に基づいて、エッジEgを設定する2つのノードNdの組み合わせが決定されてもよい。また、例えば、入力装置14を介したオペレータの指定により、エッジEgを設定する2つのノードNdの組み合わせが決定されてもよい。これにより、エッジEgが設定されると、マップ情報123の作成が完了する。つまり、本実施形態では、マップ情報123は、ノードNd及びエッジEgにより構成されるグラフ構造を有している。マップ情報123の作成が完了すると、制御部11は、次のステップS106に処理を進める。
 (ステップS106)
 ステップS106では、制御部11は、マップ保存処理部113として動作し、作成されたマップ情報123を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。以上により、制御部11は、マップ情報123の作成に関する一連の処理を終了する。
 (3-2)ニューラルネットワークの機械学習
 次に、図8を用いて、制御指令41の決定処理に利用する学習済みのニューラルネットワーク51の構築に関する処理手順の一例について説明する。図8は、本実施形態に係る制御装置1による学習済みのニューラルネットワーク51の構築に関する処理手順の一例を示すフローチャートである。
 (ステップS201)
 ステップS201では、制御部11は、学習データ取得部114として動作し、ニューラルネットワーク51の機械学習に利用する学習データ125を取得する。本実施形態では、学習データ125は、相対関係量1251及び相対関係量1252と制御指令1253との組み合わせによりそれぞれ構成される複数の学習データセット1250を含む。
 各学習データセット1250を取得する方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。例えば、シミュレータによる仮想環境又は実環境を用意し、用意した環境下で、第1の状態及び第2の状態の組み合わせを様々な条件で与え、複数の対象物の間の相対的な関係が与えた第1の状態から第2の状態に遷移するようにマニピュレータ3を駆動する。そして、第1の状態から第2の状態に適切に遷移するように駆動した時の制御指令1253を、第1の状態のおける相対関係量1251及び第2の状態における相対関係量1252と組み合わせる。これにより、各学習データセット1250を生成することができる。
 各学習データセット1250は、コンピュータの動作により自動的に生成されてもよいし、入力装置14を介したオペレータの操作により手動的に生成されてもよい。また、各学習データセット1250の生成は、制御装置1により行われてもよいし、制御装置1以外の他のコンピュータにより行われてもよい。各学習データセット1250を制御装置1が生成する場合、制御部11は、自動的に又はオペレータの操作により手動的に上記一連の処理を実行することで、複数の学習データセット1250を含む学習データ125を取得する。一方、各学習データセット1250を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の学習データセット1250を含む学習データ125を取得する。
 取得する学習データセット1250の件数は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。学習データ125を取得すると、制御部11は、次のステップS202に処理を進める。
 (ステップS202)
 ステップS202では、制御部11は、学習処理部115として動作し、取得された学習データ125を利用して、ニューラルネットワーク51の機械学習を実施する。
 詳細には、まず、制御部11は、処理対象となるニューラルネットワーク51を用意する。用意するニューラルネットワーク51の構成は、各ニューロン間の結合の重みの初期値、及び各ニューロンの閾値の初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。また、再学習を行う場合には、制御部11は、過去の機械学習を行うことで得られた学習結果データに基づいて、ニューラルネットワーク51を用意してもよい。
 次に、制御部11は、ステップS201で取得した各学習データセット1250に含まれる相対関係量1251及び相対関係量1252を入力データとして利用し、対応する制御指令1253を教師データとして利用して、ニューラルネットワーク51の学習処理を実行する。この学習処理には、確率的勾配降下法等が用いられてよい。
 例えば、第1のステップでは、制御部11は、各学習データセット1250について、相対関係量1251及び相対関係量1252を入力層511に入力し、入力側から順に各層(511~513)に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、相対関係量1251から相対関係量1252に変化させるためにマニピュレータ3に与える制御指令を決定した結果に対応する出力値を出力層513から取得する。第2のステップでは、制御部11は、取得した出力値と対応する制御指令1253との誤差を算出する。第3のステップでは、制御部11は、誤差逆伝播(Back propagation)法により、算出した出力値の誤差を用いて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの誤差を算出する。第4のステップでは、制御部11は、算出した各誤差に基づいて、各ニューロン間の結合の重み及び各ニューロンの閾値それぞれの値の更新を行う。
 制御部11は、上記第1~第4のステップを繰り返すことで、各学習データセット1250について、相対関係量1251及び相対関係量1252を入力層511に入力すると、対応する制御指令1253と一致する出力値が出力層513から出力されるように、ニューラルネットワーク51の演算パラメータの値を調節する。例えば、制御部11は、各学習データセット1250について、出力層513から得られる出力値と制御指令1253との誤差の和が閾値以下になるまで、上記第1~第4のステップによる演算パラメータの値の調節を繰り返す。閾値は、実施の形態に応じて適宜設定されてよい。これにより、制御部11は、相対関係量1251及び相対関係量1252の入力に対して、対応する制御指令1253と一致する出力値を出力するように訓練された学習済みのニューラルネットワーク51を構築することができる。この学習データ125を利用した機械学習が完了すると、制御部11は、次のステップS203に処理を進める。
 (ステップS203)
 ステップS203では、制御部11は、保存処理部116として動作し、学習済みのニューラルネットワーク51に関する情報を所定の記憶領域に保存する。本実施形態では、制御部11は、ステップS202の機械学習により構築された学習済みのニューラルネットワーク51の構成及び演算パラメータを示す情報を学習結果データ127として生成する。そして、制御部11は、生成した学習結果データ127を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。以上により、制御部11は、学習済みのニューラルネットワーク51の構築に関する一連の処理を終了する。
 (3-3)制御処理
 次に、図9A及び図9Bを用いて、マニピュレータ3の動作制御に関する処理手順の一例について説明する。図9A及び図9Bは、本実施形態に係る制御装置1によるマニピュレータ3の動作制御に関する処理手順の一例を示すフローチャートである。以下で説明する処理手順は、本発明の「制御方法」の一例である。
 (ステップS301及びステップS302)
 ステップS301では、制御部11は、遂行する作業Tの指定を受け付ける。作業Tの指定を受け付ける方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。例えば、制御部11は、入力装置14を介した作業Tの名称の入力により、遂行する作業Tの指定を受け付けてもよい。また、例えば、制御部11は、遂行する作業Tの候補を示すリストを出力装置15に出力し、オペレータに遂行する作業Tをリストから選択させることで、遂行する作業Tの指定を受け付けてもよい。
 次のステップS302では、制御部11は、目標設定部101として動作し、指定された作業Tに応じて最終目標gnとなる相対関係量rnを設定する。この最終目標gnの相対関係量rnは、CAD等のシミュレータにより与えられてもよいし、オペレータの指定により与えられてもよい。最終目標gnの相対関係量を設定すると、制御部11は、次のステップS303に処理を進める。
 (ステップS303及びステップS304)
 ステップS303では、制御部11は、データ取得部102として動作し、環境WSに存在する複数の対象物を観察するセンサから観察データを取得する。次のステップS304では、制御部11は、関係特定部103として動作し、取得された観察データから、複数の対象物の間の相対関係量を算出する。
 本実施形態では、制御部11は、カメラCAから画像データ40を取得する。そして、制御部11は、取得された画像データ40に対して、CADデータ121により示される各対象物(グリッパ37、第1ワークW1、及び第2ワークW2)のモデルをマッチングする。制御部11は、このマッチングの結果に基づいて、各対象物の間の相対座標rc1~rc3(相対関係量)を算出する。マッチングの方法及び各相対座標rc1~rc3の導出には、公知の画像処理方法が用いられてよい。
 なお、このステップS303及びステップS304を処理する時点は、動作の制御を開始する直前の時点(すなわち、開始する時点st)である。ステップS303で取得された画像データ40はこの時点では最新である。そのため、ステップS304により算出された相対関係量は、上記開始する時点stにおける相対関係量r0及び現在の状態n1における相対関係量p1として利用される。相対関係量の算出が完了すると、制御部11は、次のステップS305に処理を進める。
 (ステップS305)
 ステップS305では、制御部11は、行動決定部104として動作し、動作の制御を開始する時点stにおける相対関係量r0から最終目標gnの相対関係量rnを実現するまでの、複数の対象物の目標(g1等)とする状態における相対関係量の系列RSを決定する。
 本実施形態では、制御部11は、マップ情報123を利用して、相対関係量の系列RSを決定する。具体的には、制御部11は、マップ情報123により示される配置空間において、複数のノードのうちから経由するノードを選択することで、開始する時点stの状態における相対関係量r0に対応するノードから最終目標gnの状態における相対関係量rnに対応するノードまでの経路を探索する。そして、制御部11は、探索された経路に含まれるノードに対応する相対関係量により相対関係量の系列RSを生成する。
 図10は、経路探索(行動計画)の結果、開始する時点stの相対関係量r0に対応するノードNsから最終目標gnの相対関係量rnに対応するノードNgまでの経路の経由ノードとしてノードN1~N5が選択された場面を模式的に例示する。なお、図10の例では、説明の便宜上、ノードNsからノードNgまで5つのノードN1~N5を経由している(すなわち、nが6である)が、経由するノードの数はこのような例に限定されなくてもよい。
 開始する時点stに対応するノードNs及び最終目標gnに対応するノードNgが既にノードNdとして設定されている場合には、制御部11は、それぞれに対応するノードNdを各ノード(Ns、Ng)として利用する。一方、各ノード(Ns、Ng)がノードNdとして設定されていない場合には、制御部11は、配置空間SP内に各ノード(Ns、Ng)を設定する。そして、制御部11は、配置空間SPに設定された複数のノードNdのうちから経由するノードを選択することで、ノードNsからノードNgまでの経路を探索する。経路探索には、例えば、ダイクストラ法等の公知の探索方法が用いられてよい。図10の例では、ノードNsからノードNgまでの経路は、選択されたノードN1~N5に連結されたエッジEgにより構成される。この場合、制御部11は、この経路に含まれる各ノード(N1~N5、Ng)に対応する相対関係量により相対関係量の系列RSを構成する。
 なお、経路探索には、制約条件が課されてもよい。この場合、制御部11は、制約条件を満たすように、ノードNsからノードNgまでの経路を探索する。制約条件の種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。制約条件は、例えば、オペレータ等に指定されたノードNdを経由することであってもよい。この場合、制御部11は、指定されたノードNdを経由するように、ノードNsからノードNgまでの経路を探索する。
 また、制約条件として、例えば、各エッジEgに重みが設定されてよい。この重みは、経路探索において優先する項目に応じて適宜設定又は変更されてよい。例えば、優先する項目が最短経路であったと想定する。この場合には、各エッジEgの重みは、グリッパ37を駆動する距離に応じて設定されてよい。また、例えば、優先する項目が、第1ワークW1を第2ワークW2から所定距離だけ離して運搬することであったと想定する。この場合、第1ワークW1の運搬中において、第1ワークW1と第2ワークW2との距離が所定距離以内である相対関係量に対応するノードを経由するエッジEgが優先されず、そうではないノードを経由するエッジEgが優先されるように、各エッジEgの重みが設定されてよい。制御部11は、この重みを利用して、経路探索を行ってもよい。
 相対関係量の系列RSを決定すると、制御部11は、次のステップS306に処理を進める。
 (ステップS306)
 ステップS306では、制御部11は、行動決定部104として動作し、相対関係量の系列RSの中から、現在の状態の次に遷移する目標の状態における相対関係量を特定する。現在の状態における相対関係量の各相対座標rc1~rc3は、カメラCAから取得された最新の画像データ40から算出される。次に遷移する目標は、例えば、最終目標gnに向かって、現在の状態に最も近い目標である。制御部11は、ステップS305で探索した経路をたどることで、現在の状態の次に遷移する目標の状態における相対関係量を特定することができる。
 例えば、ステップS306を最初に実行する段階では、ステップS303で取得された画像データ40が最新であり、この画像データ40から算出された各相対座標rc1~rc3が現在の状態n1における相対関係量p1である。そのため、この段階では、制御部11は、相対関係量の系列RSの中から、目標g1の相対関係量r1を次に遷移する相対関係量として特定する。図10の例では、現在の状態n1における相対関係量p1は、開始のノードNsに対応する。そのため、次に遷移する目標の状態における相対関係量は、開始のノードNsから最終のノードNgの方にエッジEgを一つ経由して到達する(すなわち、開始のノードNsに隣接する)ノードN1に対応する。
 次に遷移する目標の状態における相対関係量を特定すると、制御部11は、次のステップS307に処理を進める。
 (ステップS307)
 ステップS307では、制御部11は、指令決定部105として動作し、現在の状態における相対関係量を、次に遷移する目標の状態における相対関係量に変化させるように、マニピュレータ3に与える制御指令41を決定する。
 本実施形態では、制御部11は、学習済みのニューラルネットワーク51を利用して、制御指令41を決定する。具体的に、制御部11は、学習結果データ127を参照して、学習済みのニューラルネットワーク51の設定を行う。続いて、制御部11は、現在の状態における相対関係量及び次に遷移する目標の状態における相対関係量をニューラルネットワーク51の入力層511に入力する。そして、制御部11は、ニューラルネットワーク51の演算処理として、入力側から順に各層511~513に含まれる各ニューロンの発火判定を行う。これにより、制御部11は、制御指令41を決定した結果に対応する出力値を出力層513から取得する。
 なお、ニューラルネットワーク51の出力値の形式は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。例えば、ニューラルネットワーク51の出力値は、制御指令41に直接的に対応していてもよい。この場合、制御部11は、ニューラルネットワーク51の出力値をそのまま制御指令41として取り扱うことができる。また、例えば、ニューラルネットワーク51の出力値は、制御指令41を決定するためのインデックス(例えば、クラス)を示してもよい。この場合、制御装置1は、出力値と制御指令とを対応付けたテーブル形式等の参照情報(不図示)を記憶部12に保持していてもよい。制御部11は、この参照情報に基づいて、ニューラルネットワーク51の出力値から制御指令41を決定することができる。制御指令41を決定すると、制御部11は、次のステップS308に処理を進める。
 (ステップS308)
 ステップS308では、制御部11は、動作制御部106として動作し、決定された制御指令41をマニピュレータ3に出力する。本実施形態では、制御部11は、制御指令41の出力処理として、制御指令41に基づいて、マニピュレータ3の動作を制御する。
 マニピュレータ3の動作を制御する方法は、制御指令41の形式に応じて適宜選択されてよい。例えば、制御指令41は、各関節部31~36の操作量を直接的に示してもよい。各関節部31~36の操作量は、例えば、トルク指令値、電圧指令値等である。この場合、制御部11は、得られた制御指令41をそのまま各関節部31~36のサーボモータに与えることで、マニピュレータ3の動作を制御する。
 また、例えば、制御指令41は、各関節部31~36の制御量の目標値を示してもよい。各関節部31~36の制御量は、例えば、各関節部31~36の角度である。この場合、制御部11は、各関節部31~36に内蔵されたエンコーダから各関節部31~36の制御量の計測値(測定データ)を取得する。エンコーダから計測値を取得するタイミングは、マニピュレータ3の動作を制御する直前であれば、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。例えば、エンコーダから計測値を取得するタイミングは、上記画像データ40を取得するタイミングと同じであってもよい。次に、制御部11は、制御指令41により示される各関節部31~36の制御量の目標値とエンコーダから取得した計測値との差分(偏差)から各関節部31~36の操作量を算出する。操作量の算出には、PID(Proportional Integral Differential)制御等の従来の制御方法が用いられてよい。そして、制御部11は、算出した各操作量を各関節部31~36のサーボモータに与えることで、マニピュレータ3の動作を制御する。
 また、制御指令41は、エンドエフェクタに関するものであってもよい。例えば、制御指令41は、グリッパ37の作業座標系の制御量の目標値を示してもよい。作業座標系の制御量は、例えば、グリッパ37の位置、姿勢等である。この場合、制御部11は、逆運動学に基づいて、制御指令41により示される作業座標系の制御量の目標値から各関節部31~36の関節座標系の制御量の目標値を算出する。以降の処理は、上記の例と同様であってよい。すなわち、制御部11は、各関節部31~36に内蔵されたエンコーダから各関節部31~36の制御量の計測値を取得する。続いて、制御部11は、制御指令41により示される各関節部31~36の制御量の目標値とエンコーダから取得した計測値との差分(偏差)から各関節部31~36の操作量を算出する。そして、制御部11は、算出した各操作量を各関節部31~36のサーボモータに与えることで、マニピュレータ3の動作を制御する。
 制御指令41に基づいてマニピュレータ3の動作を制御すると、制御部11は、次のステップS309に処理を進める。
 (ステップS309及びステップS310)
 ステップS309及びステップS310は、ステップS303及びステップS304と同様である。ステップS309では、制御部11は、データ取得部102として動作し、カメラCAから画像データ40を取得する。ステップS310では、制御部11は、関係特定部103として動作し、取得された画像データ40に対して、CADデータ121により示される各対象物(グリッパ37、第1ワークW1、及び第2ワークW2)のモデルをマッチングする。制御部11は、このマッチングの結果に基づいて、各対象物の間の相対座標rc1~rc3(相対関係量)を算出する。相対関係量の算出が完了すると、制御部11は、次のステップS311に処理を進める。
 (ステップS311)
 ステップS311では、制御部11は、ステップS308による制御の結果、複数の対象物の間の相対関係量がステップS306で特定した目標の状態に遷移したか否かを判定する。
 目標の状態に遷移したか否かを判定する方法は、実施の形態に応じて適宜決定されてよい。例えば、制御部11は、ステップS310で算出された相対関係量が、ステップS306で特定した目標の状態における相対関係量と一致するか否かを判定してもよい。この一致は、完全に一致することの他、閾値(許容誤差)による近似を含んでもよい。ステップS310で算出された相対関係量が、ステップS306で特定した目標の状態における相対関係量と一致する場合に、制御部11は、複数の対象物の間の相対関係量が目標の状態に遷移したと判定してもよい。一方、そうではない場合に、制御部11は、複数の対象物の間の相対関係量は目標の状態に遷移していないと判定してもよい。
 複数の対象物の間の相対関係量が目標の状態に遷移していないと判定した場合には、制御部11は、ステップS307に処理を戻して、ステップS307~S310の一連の処理を繰り返す。なお、この繰り返しの処理では、ステップS307に戻る前にステップS309で取得された画像データ40が最新である。そのため、この繰り返しの処理では、制御部11は、ステップS307に戻る前にステップS310で算出した相対関係量を現在の状態における相対関係量として取り扱う。一方、複数の対象物の間の相対関係量が目標の状態に遷移していると判定した場合には、制御部11は、次のステップS312に処理を進める。
 (ステップS312)
 ステップS312では、制御部11は、最終目標gnの相対関係量rnを実現したか否かを判定する。ステップS306で特定された目標が最終目標gnである場合には、ステップS311の判定の結果から、最終目標gnの相対関係量rnが実現されていることになる。そのため、この場合には、最終目標gnの相対関係量rnを実現したと判定し、制御部11は、マニピュレータ3の動作制御に関する一連の処理を終了する。
 ステップS306で特定された目標が最終目標gn以外の目標である場合には、最終目標gnの相対関係量rnはまだ実現されていないことになる。この場合には、制御部11は、ステップS306に処理を戻す。これにより、制御部11は、最終目標gnの相対関係量rnを実現するまで、ステップS306~S311の一連の処理を繰り返し実行する。なお、上記ステップS311と同様に、この繰り返しの処理では、ステップS306に戻る前にステップS309で取得された画像データ40が最新である。そのため、この繰り返しの処理では、制御部11は、ステップS306に戻る前にステップS310で算出した相対関係量を現在の状態における相対関係量として取り扱う。
 例えば、ステップS306~S311の一連の処理をs回目に実行する際、ステップS306では、制御部11は、相対関係量の系列RSの中から、最新の画像データ40sから算出された現在の状態nsの次に遷移する目標gsの状態における相対関係量rsを特定する。ステップS307では、制御部11は、現在の状態nsにおける相対関係量psを、次に遷移する目標gsの状態における相対関係量rsに変化させるように、制御指令41sを決定する。そして、ステップS308では、制御部11は、決定された制御指令41sをマニピュレータ3に出力する。最終目標gnの相対関係量rnを実現するまでこの一連の処理が繰り返されることで、マニピュレータ3は、例えば、図2A~図2Fに例示される部品運搬等の作業Tに関する一連の動作を実行するように制御される。
 [特徴]
 以上のとおり、本実施形態では、マニピュレータ3の稼働する環境WS下に存在する複数の対象物(グリッパ37、第1ワークW1、第2ワークW2)の現在の状態及び目標が、各相対座標rc1~rc3を含む相対関係量で表現され、制御指令41は、この相対関係量を変化させることに応じて決定される。つまり、本実施形態では、制御指令41は、マニピュレータ3に教示する作業Tそのものに関連付けられるのではなく、相対関係量に変化量に関連付けられる。これにより、作業の内容に依存せずに、相対関係量を変化させることに対してマニピュレータ3に与える時系列の制御指令41を教示することができる。
 図11A、図11B及び図12を用いて、この点について詳細に説明する。図11A及び図11Bは、従来の制御方法の問題点を説明するための図である。一方、図12は、本実施形態に係る制御方法の上記の特徴を説明するための図である。各図では、説明の便宜のために、上記図2A~図2Fと同様に、マニピュレータに教示する作業の一例として、グリッパ(37、370)により第1ワークW1を第2ワークW2上に運搬する作業を例示している。
 図11Aに示されるとおり、作業を教示する際に、第1ワークW1は台B2の上に配置されており、第2ワークW2は、台B2と同じ高さを有する台B1の上に配置されていたと想定する。この条件の下、従来の方法により、グリッパ370により第1ワークW1を把持させ、把持させた第1ワークW1を第2ワークW2の上空の高さh1付近で水平移動させた後に、グリッパ370を下降させることで、第1ワークW1を第2ワークW2の上に配置する一連の動作をマニピュレータに教示したと想定する。
 この作業の教示が完了した後に、例えば、作業を行う場所を変更した等の事情により、第1ワークW1及び第2ワークW2の少なくとも一方の状態が変更されたと想定する。図11Bの例では、第1ワークW1が、台B2よりも高さh2だけ低い台B3に配置された場面を例示している。
 従来の方法では、上記の教示により習得された時系列の制御指令は、教示対象の作業そのものに関連付けられている。そのため、マニピュレータは、上記と同様の制御指令により、第1ワークW1を第2ワークW2に運搬するよう試みる。その結果、グリッパ370は、台B3が台B2よりも高さh2だけ低くなっている分だけ、第1ワークW1を把持する位置が変更されてしまう。具体的には、図11Aの場面よりもグリッパ370は第1ワークW1の上端部側を把持し、グリッパ370と第1ワークW1との隙間Vが高さh2の分だけ拡がってしまう。
 したがって、高さh2が高さh1よりも大きい場合には、マニピュレータが、グリッパ370に把持させた第1ワークW1を第2ワークW2の上空で水平移動させようと試みた際に、第1ワークW1の下部が第2ワークW2に衝突する不具合が生じてしまう。そのため、従来の方法では、このような小さな変更が生じた際にも、新たに作業の内容を教示させなければ、マニピュレータは、その作業を適切に遂行できなくなる可能性がある。
 一方、本実施形態では、図11Aと同様にマニピュレータ3に作業を教示した場合に、習得された制御指令は、作業そのものではなく、相対関係量に変化量に関連付けられる。そのため、上記ステップS305では、第1ワークW1が第2ワークW2の上空の高さh1に配置される目標を含むように、相対関係量の系列RSを決定することができる。そして、ステップS307では、第1ワークW1が第2ワークW2の上空の高さh1に配置される相対関係量を実現するよう制御指令41を決定することができる。したがって、図12に例示されるとおり、第1ワークW1が台2Bよりも高さh2だけ低い台B3に配置されることで、グリッパ37と第1ワークW1との隙間Vが高さh2の分だけ拡がってしまったとしても、第1ワークW1を第2ワークW2の上空の高さh1付近で水平移動させるようにマニピュレータ3の動作を制御することができる。
 本実施形態では、このように、作業の内容に依存せずに、相対関係量を変化させることに対してマニピュレータ3に与える時系列の制御指令41を教示することができる。したがって、本実施形態によれば、習得される作業を遂行する能力の汎用性を高めることができる。これによって、マニピュレータ3に作業を教示するのにかかるコストを低減することができる。
 §4 変形例
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
 <4.1>
 上記実施形態では、制御対象のロボット装置として、垂直多関節型のマニピュレータ3を例示している。しかしながら、ロボット装置の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。ロボット装置は、例えば、産業用ロボット、自動的に移動可能な移動体等を含んでよい。産業用ロボットは、例えば、上記垂直多関節ロボット、スカラロボット、パラレルリンクロボット、直交ロボット、協調ロボット等を含む。また、自動的に移動可能な移動体は、例えば、ドローン、自度運転可能に構成された車両、モバイルロボット等を含む。本発明は、対象物の操作可能なあらゆる種類のロボット装置に適用されてよい。なお、自動的に移動可能な移動体であって、GPS(Global Positioning System)測定器を備える移動体に本発明を適用する場合に、位置に関する相対関係量(例えば、上記相対座標)の特定には、GPS測定器により測定されたGPS情報が用いられてよい。この場合、各対象物に備えられたGPS測定器がセンサの一例であり、各GPS測定器から得られたGPS情報が観察データの一例である。センサ及び観察データは、ロボット装置の種類に応じて適宜選択されてよい。また、上記実施形態では、マニピュレータの備えるエンドエフェクタとして、グリッパ37を例示している。しかしながら、エンドエフェクタの種類は、グリッパに限定されなくてもよく、実施の形態に応じて適宜選択されてよい。エンドエフェクタは、例えば、グリッパ以外に、吸引器、ドライバ等であってもよい。
 <4.2>
 上記実施形態では、環境WSに存在する複数の対象物を観察するセンサとして、カメラCAを例示している。センサから取得される観察データとして画像データ40を例示している。また、上記実施形態では、このカメラCAにより取得される画像データ40から相対関係量として各相対座標rc1~rc3を算出している。しかしながら、センサ及び相対関係量の種類は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。観察データは、画像データに限定されなくてよく、採用されるセンサの種類に応じて適宜選択されてよい。
 センサは、一般的なカメラ以外に、例えば、深度センサ、ステレオカメラ等であってもよい。また、相対関係量は、相対座標以外に、例えば、複数の対象物の間に作用する力、複数の対象物の間の状態(例えば、連結されているか否か)等であってよい。複数の対象物の間に作用する力を相対関係量として採用する場合に、複数の対象物を観察するセンサとして、例えば、上記力覚センサ38、触覚センサ、圧力センサ、ロードセル等の力を検知可能なセンサが採用されてよい。
 なお、上記実施形態では、制御装置1は、カメラCAに接続され、カメラCAから直接的に観察データを取得している。しかしながら、センサから観察データを取得することは、このようなセンサから観察データを直接的に取得することに限られなくてもよく、他の装置を経由してセンサから観察データを間接的に取得することを含んでよい。上記実施形態では、制御装置1は、他の装置を経由してカメラCAから画像データ40を取得してもよい。
 <4.3>
 上記実施形態に係る各処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、上記実施形態に係る各処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が可能である。
 例えば、上記実施形態では、制御部11は、ステップS301により、遂行する作業の指定を受け付けている。しかしながら、遂行する作業を与える方法は、このような例に限定されなくてもよい。例えば、遂行する作業は、予め与えられてもよい。この場合、ステップS301は省略されてもよい。
 また、例えば、上記実施形態では、制御部11は、ステップS303及びステップS304により、開始する時点stにおける相対関係量r0を算出している。しかしながら、開始する時点stにおける相対関係量r0を与える方法は、このような例に限定されなくてもよい。例えば、相対関係量r0は、予め与えられてもよいし、シミュレータ等により与えられてもよい。この場合、ステップS303及びステップS304は省略されてもよい。
 <4.4>
 上記実施形態では、制御装置1は、ステップS308により、制御指令41に基づいて、マニピュレータ3の動作を制御している。しかしながら、制御指令41の出力処理は、このような例に限定されなくてもよい。例えば、マニピュレータ3がコントローラを備える場合には、制御指令41の出力処理は、制御指令41をコントローラに単に送信することであってもよい。
 図13は、本変形例に係る制御装置1Aのソフトウェア構成の一例を模式的に例示する。本変形例は、ソフトウェアモジュールにおいて動作制御部106が出力部106Aに置き換わっている点を除き、上記実施形態と同様である。つまり、この点を除き、制御装置1Aのハードウェア構成及びソフトウェア構成は、上記実施形態に係る制御装置1と同様である。また、コントローラ19は、CPU等のハードウェアプロセッサ及びRAM等のメモリを備え、マニピュレータ3の動作を制御するように適宜構成される。コントローラ19のハードウェア構成は、上記実施形態に係る制御装置1と同様であってよい。
 本変形例では、上記ステップS308において、制御装置1Aの制御部11は、出力部106Aとして動作し、決定された制御指令41をコントローラ19に送信する。制御装置1Aは、これ以外のステップは上記実施形態と同様に実行する。一方、制御指令41を受信したコントローラ19のプロセッサは、動作制御部108として動作し、上記実施形態に係るステップS308と同様に処理を実行する。すなわち、コントローラ19のプロセッサは、制御指令41に基づいて、マニピュレータ3の動作を制御する。本変形例では、コントローラ19には従来のコントローラを利用することができる。そのため、本変形例によれば、本発明の導入コストを低減することができる。なお、本変形例では、制御装置1Aを上位コントローラと称し、コントローラ19を下位コントローラと称してもよい。
 <4.5>
 上記実施形態では、制御装置1は、制御プログラム81及び学習プログラム82を保持し、制御処理及び学習処理の両方の処理を実行する。しかしながら、各処理を実行するコンピュータは別体であってもよい。特に、学習処理は、別のコンピュータに実行させてもよい。
 図14Aは、本変形例に係る学習装置2が適用される場面の一例を模式的に例示する。図14Bは、本変形例に係る学習装置2のハードウェア構成の一例を模式的に例示する。本変形例は、上記ステップS101~S106及びステップS201~S203の処理を学習装置2に実行させる点を除き、上記実施形態と同様である。すなわち、本変形例に係る制御装置1では、学習プログラム82が省略される。制御装置1のソフトウェア構成では、学習プログラム82に関するソフトウェアモジュールが省略される。なお、制御装置1及び学習装置2は、ネットワーク等を介して接続されてもよいし、記憶媒体を介してデータの受け渡しが行われてもよい。
 図14Bに示されるとおり、本変形例に係る学習装置2は、制御部21、記憶部22、外部インタフェース23、入力装置24、出力装置25、及びドライブ26が電気的に接続されたコンピュータである。学習装置2の制御部21~ドライブ26はそれぞれ、制御装置1の制御部11~ドライブ16それぞれと同様に構成されてよい。
 記憶部22は、学習プログラム82、CADデータ121、マップ情報123、学習データ125、学習結果データ127等の各種情報を記憶する。ドライブ26は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体92に記憶されたプログラムを読み込むためのドライブ装置である。学習プログラム82、CADデータ121、及び学習データ125の少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、学習装置2は、記憶媒体92から、学習プログラム82、CADデータ121、及び学習データ125の少なくともいずれかを取得してもよい。
 学習装置2の制御部21は、記憶部22に記憶された学習プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された学習プログラム82をCPUにより解釈及び実行して、各構成要素を制御する。これによって、本変形例に係る学習装置2は、上記図5Bに示される学習処理に関する制御装置1のソフトウェア構成と同様のソフトウェアモジュールを備えるコンピュータとして動作する。
 すなわち、学習装置2の制御部21は、上記ステップS101~S106の処理を実行することで、相対関係量の系列RSを決定する処理(行動計画)に利用するマップ情報123を生成する。また、制御部21は、上記ステップS201~S203の処理を実行することで、相対関係量の変化量に応じて制御指令41を決定する処理に利用する学習済みのニューラルネットワーク51を構築する。
 学習装置2は、生成されたマップ情報123及び学習結果データ127をネットワーク、記憶媒体等を介して制御装置1に適宜引き渡す。或いは、本変形例では、学習装置2により生成されたマップ情報123及び学習結果データ127は、制御装置1に予め組み込まれてもよい。
 本変形例によれば、制御処理を実行するコンピュータと学習処理を実行するコンピュータとを分離することができる。これにより、各処理の高速化を図ることができる。なお、本変形例では、マップ情報123の作成及び学習済みのニューラルネットワーク51の構築の両方の処理を学習装置2が実行する。しかしながら、これらの処理も別々のコンピュータで実行されてもよい。
 <4.6>
 上記実施形態では、学習済みのニューラルネットワーク51が制御指令41を決定する処理に利用されている。しかしながら、制御指令41を決定する処理は、このような例に限定されなくてもよい。制御指令41を決定する処理には、学習済みの学習モデルが利用されなくてもよい。例えば、制御装置1は、制御指令41を決定する処理に、相対関係量の変化量と制御指令との対応関係を示すテーブル形式等の参照情報を利用してもよい。この参照情報は、記憶部12に格納されていてもよい。この場合、上記ステップS307では、制御部11は、当該参照情報に基づいて、制御指令41を決定してもよい。
 また、上記実施形態では、学習モデルとしてニューラルネットワークが利用されている。しかしながら、学習モデルは、制御指令を決定するための推論する能力を機械学習により獲得可能であれば、その種類は、ニューラルネットワークに限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械学習の種類は、教師あり学習に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、機械学習として強化学習が採用されてもよい。この場合、学習モデルは、例えば、状態価値関数、行動価値関数等の価値関数により構成されてよい。
 また、上記実施形態では、学習済みのニューラルネットワーク51には、現在の状態における相対関係量及び次に遷移する目標の状態における相対関係量が入力される。しかしながら、学習済みのニューラルネットワーク51に入力される情報は、これらに限定されなくてもよい。例えば、ニューラルネットワーク51は、マニピュレータ3の動作に関連し得るその他の情報の入力を更に受け付けるように構成されてもよい。
 図15は、本変形例に係る制御装置1Bのソフトウェア構成の一例を模式的に例示する。本変形例は、マニピュレータ3が観測センサCBを備える点、及びニューラルネットワーク51Bが観測センサCBにより得られる属性データ45を更に受け付けるように構成されている点を除き、上記実施形態と同様である。つまり、この点を除き、制御装置1Bのハードウェア構成及びソフトウェア構成は、上記実施形態に係る制御装置1と同様である。
 観測センサCBは、マニピュレータ3の属性を観測するように構成される。この観測センサCBは、マニピュレータ3の何らかの属性を観測可能であれば、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。観測センサCBは、例えば、近接センサ、触覚センサ、力覚センサ、エンコーダ等であってよい。観測センサCBには、上記力覚センサ38又は各関節部31~36に内蔵されたエンコーダが採用されてもよい。属性データ45は、例えば、近接センサ、触覚センサ、力覚センサ、エンコーダ等の測定データ又は測定データから算出された特徴量であってよい。
 ニューラルネットワーク51Bは、観測センサCBにより得られた属性データ45の入力を更に受け付けるように構成される点を除き、上記ニューラルネットワーク51と同様に構成される。例えば、ニューラルネットワーク51Bは、属性データ45の入力を受け付け、受け付けた属性データ45を演算処理に組み込むために、入力層等のニューロンの数が上記ニューラルネットワーク51よりも多くなるように設定される。この点を除き、ニューラルネットワーク51Bは、上記ニューラルネットワーク51と同様に構成されてよい。
 このニューラルネットワーク51Bの学習処理は、利用する学習データが属性データ45に対応するデータを訓練データとして含む点を除き、上記実施形態と同様に実行されてよい。具体的には、ステップS201では、制御装置1Bの制御部11は、相対関係量1251、相対関係量1252、及び属性データと制御指令1253との組み合わせによりそれぞれ構成される複数の学習データセットを含む学習データを取得する。各学習データセットは、上記第1の状態(すなわち、訓練用の現在の状態)で得られる属性データを上記各学習データセット1250に追加することで生成することができる。
 ステップS202では、制御装置1Bの制御部11は、この学習データを利用して、ニューラルネットワーク51Bの機械学習を実施する。これにより、相対関係量1251、相対関係量1252及び属性データの入力に対して、対応する制御指令1253と一致する出力値を出力するように訓練された学習済みのニューラルネットワーク51Bを構築することができる。ステップS203では、制御装置1Bの制御部11は、構築された学習済みのニューラルネットワーク51Bの構成及び演算パラメータを示す情報を学習結果データ127Bとして生成し、生成した学習結果データ127Bを所定の記憶領域に保存する。
 また、本変形例に係る制御処理は、画像データ40と共に属性データ45を繰り返し取得する点、観測センサCBから取得された最新の属性データ45を学習済みのニューラルネットワーク51Bに更に入力する点を除き、上記実施形態と同様に実行されてよい。具体的には、制御装置1Bの制御部11は、ステップS307の処理を実行する前に、データ取得部102Bとして動作し、観測センサCBから属性データ45を更に取得する。
 属性データ45を取得する時点は、制御指令により動作を制御する際であり、その制御指令を決定する直前の時点である。属性データ45を取得するタイミングは、例えば、画像データ40を取得するタイミングと同じであってよい。ただし、属性データ45を取得するタイミングと画像データ40を取得するタイミングとは必ずしも完全に一致していなければならない訳ではない。属性データ45を取得するタイミングと画像データ40を取得するタイミングとは異なっていてもよい。
 ステップS307では、制御装置1Bの制御部11は、指令決定部105Bとして動作し、観測センサCBにより得られた最新の属性データ45を学習済みのニューラルネットワーク51Bに更に入力する。具体的には、制御部11は、学習結果データ127Bを参照して、学習済みのニューラルネットワーク51Bの設定を行う。続いて、制御部11は、最新の画像データ40から算出された現在の状態における相対関係量、次に遷移する目標の状態における相対関係量、及び最新の属性データ45をニューラルネットワーク51Bに入力し、ニューラルネットワーク51Bの演算処理を実行する。これにより、制御部11は、制御指令41を決定した結果に対応する出力値をニューラルネットワーク51Bから取得する。マニピュレータ3の動作制御に関するその他の処理については、上記実施形態と同様に実行されてよい。
 本変形例によれば、属性データ45を更に利用することで、制御指令41を適切に決定することができる。なお、本変形例に係る制御装置1Bの別形態として、上記変形例<4.5>と同様に、学習処理及び制御処理それぞれを実行するコンピュータは別体であってよい。また、上記「センサから観察データを取得すること」と同様に、観測センサCBから属性データ45を取得することは、制御装置1Bと観測センサCBとが接続され、観測センサCBから属性データ45を直接的に取得すること、及び他の装置を経由して観測センサCBから属性データ45を間接的に取得することを含んでよい。
 また、上記実施形態では、ニューラルネットワーク51は、3層構造を有する全結合型のニューラルネットワークである。しかしながら、ニューラルネットワーク51の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、ニューラルネットワーク51は、LSTMブロック等の再帰型の構造を有してもよい。
 図16は、本変形例に係る制御装置1Cのソフトウェア構成の一例を模式的に例示する。本変形例は、ニューラルネットワーク51Cの構成が上記実施形態に係るニューラルネットワーク51と異なる点を除き、上記実施形態と同様である。つまり、この点を除き、制御装置1Cのハードウェア構成及びソフトウェア構成は、上記実施形態に係る制御装置1と同様である。
 本変形例に係るニューラルネットワーク51Cは、上記ニューラルネットワーク51の中間層512をLSTMブロック515に置き換えた構成を有している。LSTMブロック515は、入力ゲート及び出力ゲートを備え、情報の記憶及び出力のタイミングを学習可能に構成されたブロックである(S.Hochreiter and J.Schmidhuber, "Long short-term memory" Neural Computation, 9(8):1735-1780, November 15, 1997)。LSTMブロック515は、情報の忘却のタイミングを調節する忘却ゲートを更に備えてもよい(Felix A. Gers, Jurgen Schmidhuber and Fred Cummins, "Learning to Forget: Continual Prediction with LSTM" Neural Computation, pages 2451-2471, October 2000)。LSTMブロック515の構成は、実施の形態に応じて適宜設定されてよい。
 本変形例に係る学習処理及び制御処理は、ニューラルネットワーク51Cの構成が上記実施形態とは異なる点を除き、上記実施形態と同様に実行されてよい。すなわち、制御装置1Cの制御部11は、上記ステップS201~S203の処理を実行することで、学習済みのニューラルネットワーク51Cを構築し、学習結果データ127Cを所定の記憶領域に保存する。また、制御装置1Cの制御部11は、指令決定部105Cとして動作し、学習結果データ127Cを参照して、学習済みのニューラルネットワーク51Cの設定を行う。続いて、制御部11は、最新の画像データ40から算出された現在の状態における相対関係量及び次に遷移する目標の状態における相対関係量をニューラルネットワーク51Cに入力し、ニューラルネットワーク51Cの演算処理を実行する。これにより、制御部11は、制御指令41を決定した結果に対応する出力値をニューラルネットワーク51Cから取得する。マニピュレータ3の動作制御に関するその他の処理については、上記実施形態と同様に実行されてよい。
 本変形例によれば、再帰型の構成を有するニューラルネットワーク51Cを利用することで、相対関係量の時系列の文脈を考慮して、制御指令41を適切に決定することができる。なお、本変形例に係る制御装置1Cの別形態として、上記変形例<4.5>と同様に、学習処理及び制御処理それぞれを実行するコンピュータは別体であってよい。
 <4.7>
 上記実施形態では、制御装置1は、マップ情報123を利用して、開始する時点stから最終目標gnまでの相対関係量の系列RSを決定している。しかしながら、相対関係量の系列RSを決定する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、上記実施形態に係る制御指令41の決定処理と同様に、相対関係量の系列RSの決定処理にも学習済みの学習モデルが利用されてもよい。
 図17A及び図17Bはそれぞれ、本変形例に係る制御装置1Dの制御処理及び学習処理それぞれに関するソフトウェア構成の一例を模式的に例示する。本変形例は、相対関係量の系列RSを決定する処理に学習済みのニューラルネットワーク52を用いる点を除き、上記実施形態と同様である。つまり、この点を除き、制御装置1Dのハードウェア構成及びソフトウェア構成は、上記実施形態に係る制御装置1と同様である。
 図17Aに示されるとおり、本変形例に係る行動決定部104Dは、学習結果データ128を保持することで、学習済みのニューラルネットワーク52を含んでいる。学習結果データ128は、記憶部12に格納されていてもよい。それぞれを区別するため、学習結果データ127を第1学習結果データと称し、学習結果データ128を第2学習結果データと称してもよい。
 一方、図17Bに示されるとおり、制御装置1Dは、ニューラルネットワーク52の学習処理に関して、学習データ取得部181、学習処理部182、及び保存処理部183をソフトウェアモジュールとして更に備えるコンピュータとして動作する。それぞれを区別するために、学習データ取得部114、学習処理部115、及び保存処理部116それぞれを第1学習データ取得部、第1学習処理部、及び第1保存処理部と称し、学習データ取得部181、学習処理部182、及び保存処理部183それぞれを第2学習データ取得部、第2学習処理部、及び第2保存処理部と称してもよい。
 学習済みのニューラルネットワーク52は、本発明の「第2の学習済みの学習モデル」の一例である。学習済みのニューラルネットワーク52は、訓練用の最終目標における相対関係量及び訓練用の現在の状態における相対関係量の入力に対して、訓練用の現在の状態の次に遷移する目標の状態における相対関係量を決定するように訓練される。本変形例に係るニューラルネットワーク52は、入力側から順に、入力層521、LSTMブロック522、及び出力層523を備える。このニューラルネットワーク52の構成は、上記変形例に係るニューラルネットワーク51Cと同様である。
 このニューラルネットワーク52の学習処理は、上記ニューラルネットワーク51の学習処理と同様に実行されてよい。すなわち、第1のステップでは、制御装置1Dの制御部11は、学習データ取得部181として動作し、ニューラルネットワーク52の機械学習に利用する学習データ171を取得する。本変形例では、学習データ171は、訓練用の現在の状態における相対関係量1711及び訓練用の最終目標の状態における相対関係量1712と訓練用の現在の状態の次に遷移する目標における相対関係量1713との組み合わせによりそれぞれ構成される複数の学習データセット1710を含む。相対関係量1711及び相対関係量1712は訓練データ(入力データ)として利用され、相対関係量1713は教師データ(正解データ)として利用される。
 各学習データセット1710を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。上記実施形態と同様に、例えば、シミュレータによる仮想環境又は実環境を用意し、用意した環境下で、作業の遂行を開始する時点から最終目標まで様々な条件でマニピュレータ3を適宜駆動する。そして、得られる現在の状態における相対関係量1711及び最終目標の状態における相対関係量1712と現在の状態の次に遷移する目標における相対関係量1713とを組み合わせる。これにより、各学習データセット1710を生成することができる。
 各学習データセット1710の生成には、上記マップ情報123が利用されてよい。各学習データセット1710は、コンピュータの動作により自動的に生成されてもよいし、入力装置14を介したオペレータの操作により手動的に生成されてもよい。また、各学習データセット1710の生成は、制御装置1Dにより行われてもよいし、制御装置1D以外の他のコンピュータにより行われてもよい。これらの点については、上記実施形態と同様である。
 第2のステップでは、制御部11は、学習処理部182として動作し、学習データ171を利用して、ニューラルネットワーク52の機械学習を実施する。これにより、訓練用の現在の状態における相対関係量1711及び訓練用の最終目標の状態における相対関係量1722の入力に対して、対応する次に遷移する目標とする状態における相対関係量1713と一致する出力値を出力するように訓練された学習済みのニューラルネットワーク52を構築することができる。
 第3のステップでは、制御部11は、保存処理部183として動作し、構築された学習済みのニューラルネットワーク52の構成及び演算パラメータを示す情報を学習結果データ128として生成し、生成した学習結果データ128を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。以上により、制御部11は、学習済みのニューラルネットワーク52の構築に関する一連の処理を終了する。
 また、本変形例に係る制御処理は、相対関係量の系列RSを一度に決定するのではなく、学習済みのニューラルネットワーク52を利用して系列RSに含まれる相対関係量を順次決定する点を除き、上記実施形態と同様に実行されてよい。具体的には、制御装置1Dの制御部11は、上記ステップS305及びステップS306に代えて、行動決定部104Dとして動作し、学習済みのニューラルネットワーク52を利用して、相対関係量の系列RSに含まれる次に遷移する目標の状態における相対関係量を決定する(以下、本ステップを「代替ステップ」とも称する)。
 すなわち、制御装置1Dの制御部11は、学習結果データ128を参照して、学習済みのニューラルネットワーク52の設定を行う。続いて、制御部11は、最新の画像データ40から算出された現在の状態における相対関係量及び最終目標gnの相対関係量rnを学習済みのニューラルネットワーク52に入力し、学習済みのニューラルネットワーク52の演算処理を実行する。これにより、制御部11は、次に遷移する目標の状態における相対関係量を決定した結果に対応する出力値をニューラルネットワーク52から取得する。そして、制御部11は、ステップS307以降の処理を実行する。
 本変形例では、制御部11は、本代替ステップ及びステップS307~S311の処理を繰り返すことで、相対関係量の系列RSを決定する。図17Aの例では、この繰り返しのs回目の処理として、最新の画像データ40sから算出された現在の状態nsにおける相対関係量ps及び最終目標gnの相対関係量rnから次の目標gsの相対関係量rsを導出する場面が例示されている。マニピュレータ3の動作制御に関するその他の処理については、上記実施形態と同様に実行されてよい。
 本変形例によれば、学習済みの学習モデルを利用することで、開始時点から最終目標までに目標とする状態を決定する精度を高めることができる。なお、本変形例に係る制御装置1Dの別形態として、上記変形例<4.5>と同様に、学習処理及び制御処理それぞれを実行するコンピュータは別体であってよい。各学習処理を実行するコンピュータも別体であってよい。
 上記変形例では、次に遷移する目標の状態における相対関係量を決定するための推論する能力を習得させる学習モデルとしてニューラルネットワークが利用されている。しかしながら、学習モデルは、当該推論の能力を機械学習により獲得可能であれば、その種類は、ニューラルネットワークに限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械学習の種類は、教師あり学習に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
 また、上記変形例では、ニューラルネットワーク52は、LSTMブロック522を含む再帰型のニューラルネットワークである。これにより、ニューラルネットワーク52は、相対関係量の時系列の文脈を考慮して、次に遷移する目標の相対関係量を適切に決定することができる。ただし、ニューラルネットワーク52の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、ニューラルネットワーク52には、上記実施形態に係るニューラルネットワーク51と同様に、多層構造を有する全結合型のニューラルネットワークが用いられてよい。
 また、上記変形例では、学習済みのニューラルネットワーク52には、現在の状態のおける相対関係量及び最終目標の状態における相対関係量が入力される。しかしながら、学習済みのニューラルネットワーク52に入力される情報は、これらに限定されなくてもよい。例えば、ニューラルネットワーク52は、センサから取得される観察データの入力を更に受け付けるように構成されてもよい。
 図18は、本変形例に係る制御装置1Eのソフトウェア構成の一例を模式的に例示する。本変形例は、ニューラルネットワーク52Eが最新の画像データ40を更に受け付けるように構成されている点を除き、上記図17A及び図17Bの変形例と同様である。つまり、この点を除き、制御装置1Eのハードウェア構成及びソフトウェア構成は、上記変形例に係る制御装置1Dと同様である。
 ニューラルネットワーク52Eは、カメラCAにより得られた最新の画像データ40の入力を更に受け付けるように構成される点を除き、上記ニューラルネットワーク52と同様に構成される。例えば、ニューラルネットワーク52Eは、画像データ40の入力を受け付け、受け付けた画像データ40を演算処理に組み込むために、入力層等のニューロンの数が上記ニューラルネットワーク52よりも多くなるように設定される。この点を除き、ニューラルネットワーク52Eは、上記ニューラルネットワーク52と同様に構成されてよい。
 このニューラルネットワーク52Eの学習処理は、利用する学習データが画像データ40に対応するデータを訓練データとして含む点を除き、上記変形例と同様に実行されてよい。具体的には、第1のステップでは、制御装置1Eの制御部11は、訓練用の現在の状態における相対関係量1711、訓練用の最終目標の状態における相対関係量1712及び画像データと次に遷移する目標の状態における相対関係量1713との組み合わせによりそれぞれ構成される複数の学習データセットを含む学習データを取得する。各学習データセットは、訓練用の現在の状態で得られる画像データを上記各学習データセット1710に追加することで生成することができる。
 第2のステップでは、制御装置1Eの制御部11は、この学習データを利用して、ニューラルネットワーク52Eの機械学習を実施する。これにより、相対関係量1711、相対関係量1712及び画像データの入力に対して、対応する相対関係量1713と一致する出力値を出力するように訓練された学習済みのニューラルネットワーク52Eを構築することができる。第3のステップでは、制御装置1Eの制御部11は、構築された学習済みのニューラルネットワーク52Eの構成及び演算パラメータを示す情報を学習結果データ128Eとして生成し、生成した学習結果データ128Eを所定の記憶領域に保存する。
 また、本変形例に係る制御処理は、カメラCAから取得された最新の画像データ40を学習済みのニューラルネットワーク52Eに更に入力する点を除き、上記変形例と同様に実行されてよい。具体的には、代替ステップでは、制御装置1Eの制御部11は、行動決定部104Eとして動作し、学習結果データ128Eを参照して、学習済みのニューラルネットワーク52Eの設定を行う。続いて、制御部11は、最新の画像データ40、最新の画像データ40から算出された現在の状態における相対関係量及び最終目標gnの相対関係量rnを学習済みのニューラルネットワーク52Eに入力し、学習済みのニューラルネットワーク52Eの演算処理を実行する。これにより、制御部11は、次に遷移する目標の状態における相対関係量を決定した結果に対応する出力値をニューラルネットワーク52Eから取得する。マニピュレータ3の動作制御に関するその他の処理については、上記変形例と同様に実行されてよい。
 本変形例によれば、画像データ40を更に利用することで、開始時点から最終目標までに目標とする状態を決定する精度を更に高めることができる。なお、本変形例に係る制御装置1Eの別形態として、上記変形例<4.5>と同様に、学習処理及び制御処理それぞれを実行するコンピュータは別体であってよい。各学習処理を実行するコンピュータも別体であってよい。
 <4.8>
 上記実施形態では、制御装置1は、画像データ40に対して各対象物のモデルをマッチングすることで、各対象物の間の相対関係量を算出している。しかしながら、観察データから相対関係量を算出する方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、上記実施形態に係る制御指令41の決定処理と同様に、観察データから相対関係量を算出する処理にも学習済みの学習モデルが利用されてもよい。
 図19A及び図19Bはそれぞれ、本変形例に係る制御装置1Fの制御処理及び学習処理それぞれに関するソフトウェア構成の一例を模式的に例示する。本変形例は、相対関係量を算出する処理に学習済みのニューラルネットワーク53を用いる点を除き、上記実施形態と同様である。つまり、この点を除き、制御装置1Fのハードウェア構成及びソフトウェア構成は、上記実施形態に係る制御装置1と同様である。
 図19Aに示されるとおり、本変形例に係る関係特定部Fは、学習結果データ129を保持することで、学習済みのニューラルネットワーク53を含んでいる。学習結果データ129は、記憶部12に格納されていてもよい。上記各学習結果データ(127、128)と区別するために、学習結果データ129を第3学習結果データと称してもよい。
 一方、図19Bに示されるとおり、制御装置1Fは、ニューラルネットワーク53の学習処理に関して、学習データ取得部185、学習処理部186、及び保存処理部187をソフトウェアモジュールとして更に備えるコンピュータとして動作する。上記学習データ取得部114、学習処理部115、保存処理部116等と区別するために、学習データ取得部185、学習処理部186、及び保存処理部187それぞれを第3学習データ取得部、第3学習処理部、及び第3保存処理部と称してもよい。
 学習済みのニューラルネットワーク53は、本発明の「第3の学習済みの学習モデル」の一例である。学習済みのニューラルネットワーク53は、訓練用の画像データの入力に対して、訓練用の画像データに現れる複数の対象物の間の相対関係量を算出するように訓練される。本変形例に係るニューラルネットワーク53は、入力側から順に、入力層531、中間(隠れ)層532、及び出力層533を備える。このニューラルネットワーク53の構成は、上記実施形態に係るニューラルネットワーク51と同様である。
 このニューラルネットワーク53の学習処理は、上記ニューラルネットワーク51の学習処理と同様に実行されてよい。すなわち、第1のステップでは、制御装置1Fの制御部11は、学習データ取得部185として動作し、ニューラルネットワーク53の機械学習に利用する学習データ175を取得する。本変形例では、学習データ175は、各対象物のモデルを含むCADデータ1751及び訓練用の画像データ1752と相対関係量1753との組み合わせによりそれぞれ構成される複数の学習データセット1750を含む。CADデータ1751及び画像データ1752は訓練データ(入力データ)として利用され、相対関係量1753は教師データ(正解データ)として利用される。
 各学習データセット1750を取得する方法は、特に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、CADデータ1751は、公知のソフトウェアにより生成されてよい。また、カメラを用意し、用意したカメラにより複数の対象物を様々な条件で撮影することで、画像データ1752を得ることができる。更に、複数の対象物の相対関係量1753を適宜測定する。相対関係量1753は、画像データ1752から算出されてもよい。そして、得られたCADデータ1751及び画像データ1752と相対関係量1753とを関連付けることで、各学習データセット1750を生成することができる。
 各学習データセット1750は、コンピュータの動作により自動的に生成されてもよいし、入力装置14を介したオペレータの操作により手動的に生成されてもよい。また、各学習データセット1750の生成は、制御装置1Fにより行われてもよいし、制御装置1F以外の他のコンピュータにより行われてもよい。これらの点については、上記実施形態と同様である。
 第2のステップでは、制御部11は、学習処理部186として動作し、学習データ175を利用して、ニューラルネットワーク53の機械学習を実施する。これにより、CADデータ1751及び訓練用の画像データ1752の入力に対して、対応する相対関係量1753と一致する出力値を出力するように訓練された学習済みのニューラルネットワーク53を構築することができる。
 第3のステップでは、制御部11は、保存処理部187として動作し、構築された学習済みのニューラルネットワーク53の構築及び演算パラメータを示す情報を学習結果データ129として生成し、生成した学習結果データ129を所定の記憶領域に保存する。所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。以上により、制御装置1Fの制御部11は、学習済みのニューラルネットワーク53の構築に関する一連の処理を終了する。
 また、本変形例に係る制御処理は、学習済みのニューラルネットワーク53を相対関係量の算出に利用する点を除き、上記実施形態と同様に実行されてよい。具体的には、ステップS304及びS310それぞれでは、制御装置1Fの制御部11は、関係特定部103Fとして動作し、学習済みのニューラルネットワーク53を利用して、カメラCAより得られた最新の画像データ40から現在の状態における相対関係量を算出する。
 すなわち、制御装置1Fの制御部11は、学習結果データ129を参照して、学習済みのニューラルネットワーク53の設定を行う。続いて、制御部11は、最新の画像データ40及びCADデータ121を学習済みのニューラルネットワーク53に入力し、学習済みのニューラルネットワーク53の演算処理を実行する。これにより、制御部11は、現在の状態における相対関係量を算出した結果に対応する出力値をニューラルネットワーク53から取得する。図19Aでは、繰り返しのs回目の処理として、最新の画像データ40s及びCADデータ121から現在の状態nsにおける相対関係量psを算出する場面が例示されている。マニピュレータ3の動作制御に関するその他の処理については、上記実施形態と同様に実行されてよい。
 本変形例によれば、学習済みの学習モデルを利用することで、相対関係量を算出する精度を高めることができる。なお、本変形例に係る制御装置1Fの別形態として、上記変形例<4.5>と同様に、学習処理及び制御処理それぞれを実行するコンピュータは別体であってよい。各学習処理を実行するコンピュータも別体であってよい。
 上記変形例では、相対関係量を算出する能力を習得させる学習モデルとしてニューラルネットワークが利用されている。しかしながら、学習モデルは、当該能力を機械学習により獲得可能であれば、その種類は、ニューラルネットワークに限定されなくてもよく、実施の形態に応じて適宜選択されてよい。機械学習の種類は、教師あり学習に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。
 また、上記変形例では、ニューラルネットワーク53は、3層構造を有する全結合型のニューラルネットワークである。しかしながら、ニューラルネットワーク53の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、ニューラルネットワーク53は、LSTMブロック等の再帰型の構造を有してもよい。
 また、上記変形例では、学習済みのニューラルネットワーク53には、最新の画像データ40及びCADデータ121が入力される。しかしながら、学習済みのニューラルネットワーク53に入力される情報は、これらに限定されなくてもよい。例えば、学習済みのニューラルネットワーク53に入力される情報からCADデータ121は省略されてよい。この場合、学習データ175からCADデータ1751は省略される。また、例えば、ニューラルネットワーク53は、マニピュレータ3の動作に関連し得るその他の情報の入力を更に受け付けるように構成されてもよい。
 図20は、本変形例に係る制御装置1Gのソフトウェア構成の一例を模式的に例示する。本変形例は、マニピュレータ3が観測センサCBを備える点、及びニューラルネットワーク53Gが観測センサCBにより得られる属性データ45を更に受け付けるように構成されている点を除き、上記図19A及び図19Bの変形例と同様である。つまり、この点を除き、制御装置1Gのハードウェア構成及びソフトウェア構成は、上記変形例に係る制御装置1Fと同様である。また、観測センサCB及び属性データ45については上記制御装置1Bの変形例と同様である。
 ニューラルネットワーク53Gは、観測センサCBにより得られた属性データ45の入力を更に受け付けるように構成される点を除き、上記ニューラルネットワーク53と同様に構成される。例えば、ニューラルネットワーク53Gは、属性データ45の入力を受け付け、受け付けた属性データ45を演算処理に組み込むために、入力層等のニューロンの数が上記ニューラルネットワーク53よりも多くなるように設定される。この点を除き、ニューラルネットワーク53Gは、上記ニューラルネットワーク53と同様に構成されてよい。
 このニューラルネットワーク53Gの学習処理は、利用する学習データが属性データ45に対応するデータを訓練データとして含む点を除き、上記変形例と同様に実行されてよい。具体的には、第1のステップでは、制御装置1Gの制御部11は、CADデータ1751、訓練用の画像データ1752及び属性データと相対関係量1753との組み合わせによりそれぞれ構成される複数の学習データセットを含む学習データを取得する。観測センサを用意し、画像データ1752を得た際に観測センサにより属性データを取得する。各学習データセットは、得られた属性データを上記各学習データセット1750に追加することで生成することができる。
 第2のステップでは、制御装置1Gの制御部11は、この学習データを利用して、ニューラルネットワーク53Gの機械学習を実施する。これにより、CADデータ1751、訓練用の画像データ1752及び属性データの入力に対して、対応する相対関係量1753と一致する出力値を出力するように訓練された学習済みのニューラルネットワーク53Gを構築することができる。第3のステップでは、制御装置1Gの制御部11は、構築された学習済みのニューラルネットワーク53Gの構成及び演算パラメータを示す情報を学習結果データ129Gとして生成し、生成した学習結果データ129Gを所定の記憶領域に保存する。
 また、本変形例に係る制御処理は、画像データ40と共に属性データ45を繰り返し取得する点、観測センサCBから取得された最新の属性データ45を学習済みのニューラルネットワーク53Gに更に入力する点を除き、上記変形例と同様に実行されてよい。具体的には、制御装置1Gの制御部11は、ステップS304及びS310それぞれの処理を実行する前に、データ取得部102Gとして動作し、観測センサCBから属性データ45を更に取得する。属性データ45を取得するタイミングについては、上記制御装置1Bの変形例と同様であってよい。
 ステップS304及びS310それぞれでは、制御装置1Gの制御部11は、関係特定部103Gとして動作し、観測センサCBにより得られた最新の属性データ45を学習済みのニューラルネットワーク53Gに更に入力する。具体的には、制御装置1Gの制御部11は、学習結果データ129Gを参照して、学習済みのニューラルネットワーク53Gの設定を行う。続いて、制御部11は、最新の画像データ40、CADデータ121、及び最新の属性データ45を学習済みのニューラルネットワーク53Gに入力し、学習済みのニューラルネットワーク53Gの演算処理を実行する。これにより、制御部11は、現在の状態における相対関係量を算出した結果に対応する出力値をニューラルネットワーク53Gから取得する。マニピュレータ3の動作制御に関するその他の処理については、上記変形例と同様に実行されてよい。
 本変形例によれば、属性データ45を更に利用することで、相対関係量を算出する精度を更に高めることができる。なお、本変形例に係る制御装置1Gの別形態として、上記変形例<4.5>と同様に、学習処理及び制御処理それぞれを実行するコンピュータは別体であってよい。各学習処理を実行するコンピュータも別体であってよい。
 1…制御装置、
 11…制御部、12…記憶部、13…外部インタフェース、
 14…入力装置、15…出力装置、16…ドライブ、
 101…目標設定部、102…データ取得部、
 103…関係特定部、104…行動決定部、
 105…指令決定部、106…動作制御部、
 111…環境情報取得部、112…マップ作成部、
 113…マップ保存処理部、114…学習データ取得部、
 115…学習処理部、116…保存処理部、
 121…CADデータ、123…マップ情報、
 125…学習データ、127…学習結果データ、
 81…制御プログラム、82…学習プログラム、
 91…記憶媒体、
 3…マニピュレータ(ロボット装置)、
 30…台座部、
 31~36…関節部、37…グリッパ(エンドエフェクタ)、
 38…力覚センサ、391~394…リンク、
 CA…カメラ(センサ)、
 40…画像データ(観察データ)、41…制御指令、
 51…ニューラルネットワーク(学習モデル)、
 511…入力層、512…中間(隠れ)層、513…出力層、
 WS…環境、W1…第1ワーク、W2…第2ワーク、
 CO1~CO3…ローカル座標系、
 rc1~rc3…相対座標(相対関係量)

Claims (13)

  1.  複数の対象物の存在する環境下で稼働するロボット装置の動作を制御するための制御指令を生成する制御装置であって、
     最終目標となる前記複数の対象物の間の相対関係量を設定する目標設定部であって、前記相対関係量は、前記複数の対象物の間の相対的かつ物理的な関係に関する属性を示す、目標設定部と、
     前記環境に存在する前記複数の対象物を観察するセンサから観察データを繰り返し取得するデータ取得部と、
     取得された前記観察データから、前記複数の対象物の間の相対関係量を算出する関係特定部と、
     前記動作の制御を開始する時点における前記複数の対象物の間の相対関係量から設定された前記最終目標の相対関係量を実現するまでの、前記複数の対象物の目標とする状態における相対関係量の系列を決定する行動決定部と、
     前記最終目標の相対関係量を実現するまで、前記センサから取得された最新の観察データから算出された現在の状態における相対関係量を、前記相対関係量の系列に含まれる、当該現在の状態の次に遷移する目標の状態における相対関係量に変化させるように、前記ロボット装置に与える制御指令を繰り返し決定する指令決定部と、
     決定された前記制御指令を前記ロボット装置に出力する出力部と、
    を備える、
    制御装置。
  2.  前記相対関係量は、前記複数の対象物の間の相対座標を含む、
    請求項1に記載の制御装置。
  3.  前記センサは、カメラを含み、
     前記観察データは、前記カメラにより得られる画像データを含み、
     前記関係特定部は、前記カメラにより得られた前記画像データに対して前記各対象物のモデルをマッチングし、当該マッチングの結果に基づいて、前記複数の対象物の間の相対座標を算出する、
    請求項2に記載の制御装置。
  4.  前記指令決定部は、第1の状態における相対関係量及び第2の状態における相対関係量の入力に対して、前記第1の状態における相対関係量を前記第2の状態における相対関係量に変化させるように前記ロボット装置の動作を制御するための制御指令を決定するように訓練された第1の学習済みの学習モデルを含み、
     前記制御指令を決定することは、
      前記現在の状態における前記相対関係量及び前記次に遷移する目標の状態における前記相対関係量を前記第1の学習済みの学習モデルに入力すること、
      前記第1の学習済みの学習モデルの演算処理を実行すること、及び
      前記第1の学習済みの学習モデルから出力される出力値を、前記制御指令を決定した結果として取得すること、
    を含む、
    請求項1から3のいずれか1項に記載の制御装置。
  5.  前記ロボット装置は、前記ロボット装置の属性を観測する観測センサを備え、
     前記第1の学習済みの学習モデルは、前記観測センサにより得られる属性データの入力を更に受け付けるように構成され、
     前記制御指令を決定することは、前記観測センサにより得られた前記属性データを前記第1の学習済みの学習モデルに更に入力すること、を含む、
    請求項4に記載の制御装置。
  6.  前記行動決定部は、前記複数の対象物の間の相対関係量の集合を表現する配置空間であって、前記目標とする状態の候補となる状態における相対関係量にそれぞれ対応する複数のノードが配置された配置空間を示すマップ情報を保持し、
     前記相対関係量の系列を決定することは、
      前記マップ情報により示される前記配置空間において、前記複数のノードのうちから経由するノードを選択することで、前記開始する時点の状態における相対関係量に対応するノードから前記最終目標の状態における相対関係量に対応するノードまでの経路を探索すること、及び
      探索された前記経路に含まれるノードに対応する相対関係量により前記相対関係量の系列を生成すること、
    を含む、
    請求項1から5のいずれか1項に記載の制御装置。
  7.  前記行動決定部は、訓練用の最終目標における相対関係量及び訓練用の現在の状態における相対関係量の入力に対して、当該訓練用の現在の状態の次に遷移する目標の状態における相対関係量を決定するように訓練された第2の学習済みの学習モデルを含み、
     前記相対関係量の系列を決定することは、
      前記現在の状態における前記相対関係量及び設定された前記最終目標の前記相対関係量を前記第2の学習済みの学習モデルに入力すること、
      前記第2の学習済みの学習モデルの演算処理を実行すること、及び
      前記第2の学習済みの学習モデルから出力される出力値を、前記次に遷移する目標の状態における前記相対関係量を決定した結果として取得すること、
    を繰り返し実行することを含む、
    請求項1から5のいずれか1項に記載の制御装置。
  8.  前記第2の学習済みの学習モデルは、前記センサから取得される前記観察データの入力を更に受け付けるように構成され、
     前記相対関係量の系列を決定することは、前記最新の観察データを前記第2の学習済みの学習モデルに更に入力すること、を含む、
    請求項7に記載の制御装置。
  9.  前記関係特定部は、訓練用の観察データの入力に対して、当該訓練用の観察データに現れる前記複数の対象物の間の相対関係量を算出するように訓練された第3の学習済みの学習モデルを含み、
     前記相対関係量を算出することは、
      取得された前記観察データを前記第3の学習済みの学習モデルに入力すること、
      前記第3の学習済みの学習モデルの演算処理を実行すること、及び
      前記第3の学習済みの学習モデルから出力される出力値を、前記相対関係量を算出した結果として取得すること、
    を含む、
    請求項1から8のいずれか1項に記載の制御装置。
  10.  前記ロボット装置は、前記ロボット装置の属性を観測する観測センサを備え、
     前記第3の学習済みの学習モデルは、前記観測センサにより得られる属性データの入力を更に受け付けるように構成され、
     前記相対関係量を算出することは、前記観測センサにより得られた前記属性データを前記第3の学習済みの学習モデルに更に入力すること、を含む、
    請求項9に記載の制御装置。
  11.  前記ロボット装置は、エンドエフェクタを備えるマニピュレータであり、
     前記複数の対象物は、前記エンドエフェクタを含み、
     前記指令決定部は、前記エンドエフェクタに関する制御指令を決定し、
     前記出力部は、決定された制御指令を前記マニピュレータに出力する、
    請求項1から10のいずれか1項に記載の制御装置。
  12.  複数の対象物の存在する環境下で稼働するロボット装置の動作を制御するための制御指令を生成する制御方法であって、
     コンピュータが、
     最終目標となる前記複数の対象物の間の相対関係量を設定するステップであって、前記相対関係量は、前記複数の対象物の間の相対的かつ物理的な関係に関する属性を示す、ステップと、
     前記環境に存在する前記複数の対象物を観察するセンサから観察データを繰り返し取得するステップと、
     取得された前記観察データから、前記複数の対象物の間の相対関係量を算出するステップと、
     前記動作の制御を開始する時点における前記複数の対象物の間の相対関係量から設定された前記最終目標の相対関係量を実現するまでの、前記複数の対象物の目標とする状態における相対関係量の系列を決定するステップと、
     前記最終目標の相対関係量を実現するまで、前記センサから取得された最新の観察データから算出された現在の状態における相対関係量を、前記相対関係量の系列に含まれる、当該現在の状態の次に遷移する目標の状態における相対関係量に変化させるように、前記ロボット装置に与える制御指令を繰り返し決定するステップと、
     決定された前記制御指令を前記ロボット装置に出力するステップと、
    を実行する、
    制御方法。
  13.  複数の対象物の存在する環境下で稼働するロボット装置の動作を制御するための制御指令を生成するための制御プログラムであって、
     コンピュータに、
     最終目標となる前記複数の対象物の間の相対関係量を設定するステップであって、前記相対関係量は、前記複数の対象物の間の相対的かつ物理的な関係に関する属性を示す、ステップと、
     前記環境に存在する前記複数の対象物を観察するセンサから観察データを繰り返し取得するステップと、
     取得された前記観察データから、前記複数の対象物の間の相対関係量を算出するステップと、
     前記動作の制御を開始する時点における前記複数の対象物の間の相対関係量から設定された前記最終目標の相対関係量を実現するまでの、前記複数の対象物の目標とする状態における相対関係量の系列を決定するステップと、
     前記最終目標の相対関係量を実現するまで、前記センサから取得された最新の観察データから算出された現在の状態における相対関係量を、前記相対関係量の系列に含まれる、
    当該現在の状態の次に遷移する目標の状態における相対関係量に変化させるように、前記ロボット装置に与える制御指令を繰り返し決定するステップと、
     決定された前記制御指令を前記ロボット装置に出力するステップと、
    を実行させるための、
    制御プログラム。
PCT/JP2019/040794 2018-11-30 2019-10-17 制御装置、制御方法、及び制御プログラム WO2020110495A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/270,442 US11745355B2 (en) 2018-11-30 2019-10-17 Control device, control method, and non-transitory computer-readable storage medium
EP19888433.0A EP3888859A4 (en) 2018-11-30 2019-10-17 CONTROL DEVICE, CONTROL METHOD AND CONTROL PROGRAM
CN201980052690.6A CN112584990B (zh) 2018-11-30 2019-10-17 控制装置、控制方法以及存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-225815 2018-11-30
JP2018225815A JP6904327B2 (ja) 2018-11-30 2018-11-30 制御装置、制御方法、及び制御プログラム

Publications (1)

Publication Number Publication Date
WO2020110495A1 true WO2020110495A1 (ja) 2020-06-04

Family

ID=70852269

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/040794 WO2020110495A1 (ja) 2018-11-30 2019-10-17 制御装置、制御方法、及び制御プログラム

Country Status (5)

Country Link
US (1) US11745355B2 (ja)
EP (1) EP3888859A4 (ja)
JP (1) JP6904327B2 (ja)
CN (1) CN112584990B (ja)
WO (1) WO2020110495A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021171558A1 (ja) * 2020-02-28 2021-09-02 日本電気株式会社 制御装置、制御方法及び記録媒体
JP7463777B2 (ja) * 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法
US11945123B2 (en) 2020-04-28 2024-04-02 Altec Industries, Inc. Head mounted display for remote operation of machinery
JPWO2022014485A1 (ja) * 2020-07-14 2022-01-20
KR102320659B1 (ko) * 2020-09-16 2021-11-03 한국생산기술연구원 로봇을 이용한 단위행동 딥러닝 모델 학습방법과 이를 이용한 로봇 제어 방법
CN114578720B (zh) * 2020-12-01 2023-11-07 合肥欣奕华智能机器股份有限公司 控制方法及控制***
WO2022145150A1 (ja) * 2020-12-28 2022-07-07 ソニーグループ株式会社 制御システム及び制御方法
WO2022145213A1 (ja) * 2020-12-28 2022-07-07 ソニーグループ株式会社 制御装置、制御システム及び制御方法
KR102346900B1 (ko) * 2021-08-05 2022-01-04 주식회사 애자일소다 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법
JP2023038776A (ja) * 2021-09-07 2023-03-17 オムロン株式会社 指令値生成装置、方法、及びプログラム
US11660750B1 (en) * 2022-07-28 2023-05-30 Altec Industries, Inc. Autonomous and semi-autonomous control of aerial robotic systems

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111701A (ja) * 1996-10-05 1998-04-28 Ricoh Co Ltd 学習型自動セル装置と学習方法
JP2003089086A (ja) * 2001-09-14 2003-03-25 Yaskawa Electric Corp ロボット制御装置
JP2013151066A (ja) * 2013-05-16 2013-08-08 Fuji Electric Co Ltd 動作軌道生成装置、動作軌道生成方法、ロボット制御装置及びロボット制御方法
JP2015085450A (ja) * 2013-10-31 2015-05-07 セイコーエプソン株式会社 ロボット制御システム、ロボット、プログラム及びロボット制御方法
JP2016068169A (ja) * 2014-09-29 2016-05-09 セイコーエプソン株式会社 ロボット、ロボットシステム、制御装置、及び制御方法
JP2016103230A (ja) * 2014-11-28 2016-06-02 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2017087325A (ja) * 2015-11-06 2017-05-25 キヤノン株式会社 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58177295A (ja) * 1982-04-07 1983-10-17 株式会社日立製作所 ロボット制御装置
AU2003239171A1 (en) * 2002-01-31 2003-09-02 Braintech Canada, Inc. Method and apparatus for single camera 3d vision guided robotics
JP2006289531A (ja) * 2005-04-07 2006-10-26 Seiko Epson Corp ロボット位置教示のための移動制御装置、ロボットの位置教示装置、ロボット位置教示のための移動制御方法、ロボットの位置教示方法及びロボット位置教示のための移動制御プログラム
US8559699B2 (en) * 2008-10-10 2013-10-15 Roboticvisiontech Llc Methods and apparatus to facilitate operations in image based systems
JP5164811B2 (ja) * 2008-11-26 2013-03-21 キヤノン株式会社 作業システム及び情報処理方法
JP5509645B2 (ja) * 2009-03-25 2014-06-04 富士ゼロックス株式会社 位置・姿勢認識方法、部品把持方法、部品配置方法、部品組立方法、位置・姿勢認識装置、部品把持装置、部品配置装置、および部品組立装置
FI20105732A0 (fi) * 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
JP5835926B2 (ja) * 2011-04-11 2015-12-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5733518B2 (ja) * 2011-05-25 2015-06-10 株式会社Ihi 運動予測制御装置と方法
JP5787642B2 (ja) * 2011-06-28 2015-09-30 キヤノン株式会社 対象物保持装置、対象物保持装置の制御方法、およびプログラム
EP2546712A1 (de) 2011-07-12 2013-01-16 Siemens Aktiengesellschaft Verfahren zum Betrieb einer Produktionsmaschine
JP5852364B2 (ja) * 2011-08-26 2016-02-03 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5806606B2 (ja) * 2011-12-01 2015-11-10 キヤノン株式会社 情報処理装置、情報処理方法
US9258550B1 (en) * 2012-04-08 2016-02-09 Sr2 Group, Llc System and method for adaptively conformed imaging of work pieces having disparate configuration
JP6192088B2 (ja) * 2013-02-20 2017-09-06 国立大学法人九州工業大学 物体検出方法および物体検出装置
CN103273497B (zh) * 2013-06-06 2015-08-19 山东科技大学 人机交互式机械手控制***及其控制方法
CN104802166B (zh) * 2013-10-10 2016-09-28 精工爱普生株式会社 机器人控制***、机器人、程序以及机器人控制方法
CN105792996B (zh) * 2013-11-28 2017-07-25 三菱电机株式会社 机器人***以及机器人***的控制方法
US9259844B2 (en) * 2014-02-12 2016-02-16 General Electric Company Vision-guided electromagnetic robotic system
KR102081139B1 (ko) * 2014-03-12 2020-02-25 한국전자통신연구원 물체 피킹 시스템, 물체 검출 장치 및 그 방법
JP6548422B2 (ja) * 2015-03-27 2019-07-24 キヤノン株式会社 情報処理装置、情報処理方法、プログラム
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
WO2018135509A1 (ja) * 2017-01-23 2018-07-26 パナソニックIpマネジメント株式会社 イベント予測システム、イベント予測方法、プログラムおよびそれを記録した記録媒体
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP6438512B2 (ja) * 2017-03-13 2018-12-12 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法
JP6897593B2 (ja) * 2017-03-14 2021-06-30 オムロン株式会社 学習対象装置及び動作方法
US10537995B2 (en) * 2017-05-08 2020-01-21 Seiko Epson Corporation Controller and control method of robot, and robot system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10111701A (ja) * 1996-10-05 1998-04-28 Ricoh Co Ltd 学習型自動セル装置と学習方法
JP2003089086A (ja) * 2001-09-14 2003-03-25 Yaskawa Electric Corp ロボット制御装置
JP2013151066A (ja) * 2013-05-16 2013-08-08 Fuji Electric Co Ltd 動作軌道生成装置、動作軌道生成方法、ロボット制御装置及びロボット制御方法
JP2015085450A (ja) * 2013-10-31 2015-05-07 セイコーエプソン株式会社 ロボット制御システム、ロボット、プログラム及びロボット制御方法
JP2016068169A (ja) * 2014-09-29 2016-05-09 セイコーエプソン株式会社 ロボット、ロボットシステム、制御装置、及び制御方法
JP2016103230A (ja) * 2014-11-28 2016-06-02 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2017087325A (ja) * 2015-11-06 2017-05-25 キヤノン株式会社 ロボット制御装置、ロボット制御方法、ロボット制御システムおよびコンピュータプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DMITRY KALASHNIKOV ET AL.: "QT-Opt: Scalable Deep Reinforcement Learning for Vision-Based Robotic Manipulation", ARXIV PREPRINT, 2018, pages 10293
FELIX A. GERSJURGEN SCHMIDHUBERFRED CUMMINS: "Learning to Forget: Continual Prediction with LSTM", NEURAL COMPUTATION, October 2000 (2000-10-01), pages 2451 - 2471
S. HOCHREITERJ. SCHMIDHUBER: "Long short-term memory", NEURAL COMPUTATION, vol. 9, no. 8, 15 November 1997 (1997-11-15), pages 1735 - 1780
YAMASHITA, TAKAHIRO ET AL.: "Recurrent Neural Network and Rapidly-exploring Random Tree Path Planning Adaptable to Environmental Change. Proceedings of 2018 JSME Annual Conference on Robotics and Mechatronics", THE JAPAN SOCIETY OF MECHANICAL ENGINEERS, 2 June 2018 (2018-06-02), pages 1 - 4, XP055712927 *

Also Published As

Publication number Publication date
US11745355B2 (en) 2023-09-05
JP2020082332A (ja) 2020-06-04
JP6904327B2 (ja) 2021-07-14
EP3888859A4 (en) 2022-08-10
US20210252714A1 (en) 2021-08-19
CN112584990B (zh) 2024-05-10
EP3888859A1 (en) 2021-10-06
CN112584990A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
WO2020110495A1 (ja) 制御装置、制御方法、及び制御プログラム
JP4413891B2 (ja) シミュレーション装置およびシミュレーション方法並びにシミュレーションプログラム
US11331803B2 (en) Mixed reality assisted spatial programming of robotic systems
JP6807949B2 (ja) 干渉回避装置
WO2018143003A1 (ja) ロボットパス生成装置及びロボットシステム
US20210213606A1 (en) Parameter identification apparatus, parameter identification method, and non-transitory computer-readable storage medium storing a parameter identification program
JP7295421B2 (ja) 制御装置及び制御方法
Al-Sharo et al. Generalized Procedure for Determining the Collision-Free Trajectory for a Robotic Arm
WO2021033471A1 (ja) 制御装置、制御方法、及び制御プログラム
CN115351780A (zh) 用于控制机器人设备的方法
De Farias et al. Dual quaternion-based visual servoing for grasping moving objects
Zhu et al. Robot performing peg-in-hole operations by learning from human demonstration
Chien et al. Kinematic model predictive control for a novel tethered aerial cable-driven continuum robot
JP2014065098A (ja) ロボット装置及び多関節ロボットの軌道シミュレーション装置並びに軌道生成方法
Díaz et al. Integration of a robotic arm Lynxmotion to a Robotino Festo through a Raspberry Pi 4
JP7263987B2 (ja) 制御装置、制御方法、及び制御プログラム
WO2021033472A1 (ja) 制御装置、制御方法、及び制御プログラム
Sanfilippo et al. SnakeSIM: A snake robot simulation framework for perception-driven obstacle-aided locomotion
Tereda Path Planning and Sensing for Autonomous Control of Robot Manipulators
Maheshwari et al. DESIGN OF ADVANCE ROBOT FOR SURVEILLANCE AND RISK-FREE MOVEMENT: A SIMULATION APPROACH.
Bun et al. COLLABORATIVE PATH PLANNING OF ROBOT ARM AND TURNABLE-TABLE USING RRT ALGORITHM FOR 3D OBJECT INSPECTION
US20220390922A1 (en) Workcell modeling using motion profile matching and swept profile matching
JP7424122B2 (ja) シミュレーション装置およびプログラム
Rastegarpanah et al. Electric Vehicle Battery Disassembly Using Interfacing Toolbox for Robotic Arms
Wozniak et al. Virtual reality framework for better human-robot collaboration and mutual understanding

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019888433

Country of ref document: EP

Effective date: 20210630