WO2020075423A1 - ロボット制御装置、ロボット制御方法及びロボット制御プログラム - Google Patents

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

Info

Publication number
WO2020075423A1
WO2020075423A1 PCT/JP2019/034722 JP2019034722W WO2020075423A1 WO 2020075423 A1 WO2020075423 A1 WO 2020075423A1 JP 2019034722 W JP2019034722 W JP 2019034722W WO 2020075423 A1 WO2020075423 A1 WO 2020075423A1
Authority
WO
WIPO (PCT)
Prior art keywords
constraint condition
robot
unit
object information
operation content
Prior art date
Application number
PCT/JP2019/034722
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/281,495 priority Critical patent/US20210402598A1/en
Publication of WO2020075423A1 publication Critical patent/WO2020075423A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33027Artificial neural network controller
    • 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/39127Roll object on base by link control
    • 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/40073Carry container with liquid, compensate liquid vibration, swinging effect
    • 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/40499Reinforcement learning algorithm

Definitions

  • the present disclosure relates to a robot control device, a robot control method, and a robot control program.
  • a method of determining a unique constraint condition when a specific task is detected is also known. For example, a method is known in which, when a robot holds a cup containing liquid, it is tilted a little to automatically detect that the liquid is contained, and the container is controlled to maintain a horizontal state to carry it. . This approach determines the constraint in the particular task of transporting a cup of liquid.
  • “Task Constrained Motion Planning in Robot Joint Space, Mike Stilman, IROS 2007” is known as a motion planning algorithm that plans a motion trajectory in consideration of constraint conditions.
  • the user specifies the constraint condition in advance according to the task, so that excess or deficiency of the constraint condition easily occurs, and as a result, it is difficult to plan an accurate motion trajectory. Further, the method of determining a unique constraint condition for a specific task cannot be applied if the task is different, and lacks versatility.
  • the present disclosure proposes a robot control device, a robot control method, and a robot control program that can improve the accuracy of a planned motion trajectory.
  • a robot control device includes an acquisition unit that acquires object information regarding an object to be gripped by a robot device that has a grip unit that grips an object, and the robot device.
  • Has a determination unit that determines a constraint condition for performing the operation content based on the operation content performed by grasping the object and the object information.
  • FIG. 1 is a diagram illustrating a robot device 10 according to the first embodiment.
  • the robot apparatus 10 shown in FIG. 1 is an example of a robot apparatus having an arm capable of holding an object, and performs movement, arm operation, grasping of an object, and the like according to a planned operation trajectory.
  • the robot apparatus 10 autonomously determines a constraint condition when the robot apparatus 10 executes a task, using task information regarding a task that defines the operation content and behavior of the robot apparatus 10 and object information regarding a grasped object. To do. Then, the robot apparatus 10 can execute a task by planning a motion trajectory that operates in compliance with the constraint condition and operating the robot according to the planned motion trajectory.
  • the robot apparatus 10 grips the cup, it acquires “put the object to be gripped on a desk” as the task information, and acquires image information of “a cup with water” as the object information.
  • the robot apparatus 10 specifies “keep horizontal so that water does not spill” as the constraint condition from the task information and the object information.
  • the robot apparatus 10 uses a well-known motion planning algorithm to plan a motion trajectory for realizing the task "move a cup containing water and place it on a desk" while complying with this constraint condition.
  • the robot apparatus 10 operates the arm, the end effector, and the like according to the movement trajectory to move the water in the holding cup so as not to spill it and place it on the desk.
  • the robot apparatus 10 can determine the constraint condition by using the task information and the object information and can plan the motion trajectory using the determined constraint condition, so that the constraint condition can be determined without excess or deficiency.
  • the accuracy of the planned motion trajectory can be improved.
  • FIG. 2 is a functional block diagram showing a functional configuration of the robot apparatus 10 according to the first embodiment.
  • the robot device 10 includes a storage unit 20, a robot control unit 30, and a control unit 40.
  • the storage unit 20 is an example of a storage device that stores various data and programs executed by the control unit 40 and the like, and is, for example, a memory or a hard disk.
  • the storage unit 20 stores a task DB 21, an object information DB 22, a constraint condition DB 23, and a set value DB 24.
  • the task DB 21 is an example of a database that stores each task. Specifically, the task DB 21 stores information regarding tasks set by the user. For example, it is possible to set highly abstract processing contents such as "carry” and "put” in the task DB 21, and "carry a cup of water” and “reach to an object to be gripped”. It is also possible to set concrete processing contents such as.
  • the task DB 21 can also store task information in the form of a state transition that sets, for example, what kind of action should be taken next according to the environment and the current task by a state machine or the like.
  • FIG. 3 is a diagram showing an example of task information stored in the task DB 21.
  • the task DB 21 holds each task information in a state transition.
  • the task DB 21 has information that transitions from the task “move to desk” to the task “grasp cup” and the task “place cup on desk”, and the task “move to desk” to task “hold plate”. , Information that transitions to the task "hold a cup”, and information that transitions from the task "move to the desk” to the task “hold a dish”, the task "move to the washroom”, and the task "place the dish in the washroom” .
  • the object information DB 22 is an example of a database that stores information about a gripping object or a gripping object indicating a gripping object.
  • the object information DB 22 stores various information such as image data acquired by the object information acquisition unit 31 of the robot control unit 30 described later.
  • the constraint condition DB 23 is an example of a database that stores constraint conditions that are conditions for achieving the purpose imposed on an object when a task is executed. Specifically, the constraint condition DB 23 stores the constraint condition specified using the task information and the object information.
  • FIG. 4 is a diagram showing an example of the constraint information stored in the constraint condition DB 23. As shown in FIG. 4, the constraint condition DB 23 stores “item number, task information, object information, constraint condition” in association with each other.
  • the “item number” stored here is information that identifies the constraint condition.
  • the “task information” is information regarding a task that defines the processing content of the robot apparatus 10, and is, for example, each task information stored in FIG. 3.
  • the “object information” is each object information stored in the object information DB 22.
  • the “restraint condition” is a specified constraint condition.
  • the constraint condition can also be set with a threshold value.
  • a threshold value indicating the limit value of the arm angle or the end effector.
  • a threshold value or the like indicating the limit value of the angle.
  • the strength of the constraint condition affects the robot mechanism and the motion planning algorithm, so by setting the threshold appropriately according to the mechanism and algorithm to be applied, it will be possible to solve faster and the existence of the solution will be guaranteed. , The accuracy of the planned motion trajectory can be improved. Further, as will be described later, the constraint condition can also be learned by a learning process or the like.
  • the constraint condition was described concretely for explanation, but it can be specified by using a description format that does not depend on the task and is common to each task.
  • a common description format a tool coordinate system or a world coordinate system can be used.
  • the constraint condition can be “posture constraint in the z axis direction of the world coordinate system with respect to the z axis of the tool coordinate system”. .
  • the constraint condition is "posture constraint within the range of error X degrees in the z axis direction of the tool coordinate system in the z axis direction of the world coordinate system”.
  • the constraint condition can be “posture constraint in the ⁇ x axis direction of the world coordinate system with respect to the x axis of the tool coordinate system”.
  • the robot apparatus 10 when the robot apparatus 10 operates, the specific constraint conditions shown in FIG. 4 are stored, and when learning using a neural network, the specific constraint conditions that are correct labels are converted into common-type constraint conditions. It can also be converted and input to the neural network. At this time, the robot apparatus 10 can also convert from a specific constraint condition to a common constraint condition by preparing a common format in advance. Therefore, even if the user registers learning data (teacher data) without being conscious of the common format, the robot apparatus 10 can automatically convert the learning data into the common format and then input the neural network for learning. Therefore, the burden on the user can be reduced.
  • the normal tool coordinate system when nothing is held matches the coordinates of the end effector, but when holding a tool such as a cup, plate, or kitchen knife, the tool tip is set to the tool coordinate system.
  • the front direction of the robot apparatus 10 is the x axis
  • the left direction when viewed from the robot apparatus 10 is the y axis
  • the vertically upward direction is the z axis.
  • the tool coordinate system of the kitchen knife it is possible to use coordinates that coincide with the world coordinate system when actually oriented (when the blade is facing forward and horizontal). Therefore, orienting the x-axis of the tool coordinate system of the kitchen knife in the ⁇ x direction of world coordinates corresponds to orienting the blade on the robot side.
  • the set value DB 24 is an example of a database that stores initial values, target values, and the like used for planning motion trajectories. Specifically, the set value DB 24 stores the hand position, the position and orientation of the joint, and the like. For example, the set value DB 24 stores, as initial values, a joint angle indicating the current state of the robot, the position and posture of the hand, and the like. Further, the set value DB 24 stores, as target values, the position of the object, the target position of the hand of the robot, the posture, the joint angle, and the like. Note that various kinds of information used in robot control can be adopted as the various kinds of position information, such as coordinates.
  • the robot control unit 30 is a processing unit that includes an object information acquisition unit 31, a gripping unit 32, and a driving unit 33, and controls the robot mechanism of the robot apparatus 10.
  • the robot control unit 30 can be realized by an electronic circuit such as a microcomputer or a processor, or a process included in the processor.
  • the object information acquisition unit 31 is a processing unit that acquires object information regarding a gripped object.
  • the object information acquisition unit 31 includes a visual sensor that captures an image using a camera, a force sensor that detects a force or a moment on the wrist of the robot, a tactile sensor that detects the presence or absence of contact with an object, or a sense of thickness.
  • Object information is acquired using a sensor, a temperature sensor that detects temperature, and the like. Then, the object information acquisition unit 31 stores the acquired object information in the object information DB 22.
  • the object information acquisition unit 31 uses a visual sensor to capture an image of a cup that is a gripping object, and stores image data obtained by capturing the image in the object information DB 22 as object information.
  • the feature amount of the object (cup) such as area, center of gravity, length, position and the state such as water in the cup are extracted. can do.
  • the object information acquisition unit 31 can also use sensor information obtained by actively moving the arm based on the task information as the object information.
  • the grip unit 32 is a processing unit that grips an object, and is, for example, an end effector.
  • the grip part 32 is driven by a driving part 33 described later to grip an object to be gripped.
  • the drive unit 33 is a processing unit that drives the grip unit 32, and is, for example, an actuator.
  • the drive unit 33 drives an arm (not shown) of the robot or the gripping unit 32 in accordance with a planned operation trajectory according to an instruction from the arm control unit 45 described later.
  • the control unit 40 has a task management unit 41, an action determination unit 42, and an arm control unit 45, and is a processing unit that plans the motion trajectory of the robot apparatus 10 and is, for example, a processor.
  • the task management unit 41, the action determination unit 42, and the arm control unit 45 are an example of an electronic circuit such as a processor and an example of a process executed by the processor.
  • the task management unit 41 is a processing unit that manages tasks of the robot device 10. Specifically, the task management unit 41 acquires the task information designated by the user and the task information stored in the task DB 21, and outputs the task information to the action determination unit 42. For example, the task management unit 41 refers to the task information in FIG. 3 and transitions the task state to the next state by using the current task status and the environment of the robot apparatus 10 to acquire the corresponding task information. To do.
  • the task management unit 41 identifies the next task as “putting a cup on the desk”. Then, the task management unit 41 outputs “put a cup on the desk” as the task information to the action determination unit 42.
  • the action determining unit 42 is a processing unit that includes a constraint condition determining unit 43 and a planning unit 44, and generates a trajectory plan in consideration of the constraint conditions.
  • the constraint condition determination unit 43 is a processing unit that determines the constraint condition using the task information and the object information. Specifically, the constraint condition determination unit 43 refers to the constraint condition DB 23, and acquires the constraint condition corresponding to the combination of the task information input from the task management unit 41 and the object information acquired by the object information acquisition unit 31. To do. Then, the constraint condition determining unit 43 outputs the acquired constraint condition to the planning unit 44.
  • the constraint condition determining unit 43 can also determine whether or not the constraint condition can be set. For example, the constraint condition determination unit 43 does not set the constraint condition because it is not necessary to keep the cup horizontal when it is confirmed from the object information that the cup does not contain water. That is, the restraint condition determining unit 43 can determine that the restraint condition that the cup is kept horizontal when water is contained is not necessary to set the restraint condition when water is not contained. .
  • the constraint condition determination unit 43 determines whether or not water is contained in the cup from the object information (image data) by image processing to determine the constraint condition. In this way, the constraint condition determining unit 43 determines the constraint condition by combining the task information and the object information.
  • the constraint condition determining unit 43 can acquire the latest information stored in the object information DB 22 regarding the object information.
  • the object information acquisition unit 31 captures and stores the status of the gripper 32.
  • the constraint condition determining unit 43 stores not only the image data of the gripping state but also the image data obtained before the gripping of the gripping target object, and uses it as the object information. You can also
  • the planning unit 44 is a processing unit that plans the motion trajectory of the robot apparatus 10 for executing a task while complying with the constraint conditions determined by the constraint condition determination unit 43. For example, the planning unit 44 acquires an initial value, a target value, etc. from the set value DB 24. The planning unit 44 also acquires task information from the task management unit 41 and acquires the constraint condition from the constraint condition determination unit 43. Then, the planning unit 44 inputs the acquired various information and constraint conditions into the motion planning algorithm to plan the motion trajectory.
  • the planning unit 44 stores the generated motion trajectory in the storage unit 20 or outputs it to the arm control unit 45. If there is no constraint condition, the planning unit 44 plans the motion trajectory without using the constraint condition.
  • the motion planning algorithm various known algorithms such as “Task Constrained Motion Planning in Robot Joint Space, Mike Stilman, IROS 2007” can be used.
  • the arm control unit 45 is a processing unit that operates the robot apparatus 10 according to the movement trajectory planned by the planning unit 44 and executes a task.
  • the arm control unit 45 controls the drive unit 33 along the movement trajectory to comply with the constraint condition “keep horizontal” with respect to the cup gripped by the gripping unit 32, while the task “cup is controlled”. Put it in. "
  • the arm control unit 45 can execute the operation of placing the cup held by the holding unit 32 on the desk so as not to spill the water contained in the cup held by the holding unit 32.
  • FIG. 5 is a flowchart showing the flow of execution processing of the trajectory plan.
  • the task management unit 41 sets initial values and target values of an operation plan given by a user or the like or analysis of image data (S101).
  • the information set here is information stored in the set value DB 24 and is information used when planning the trajectory operation of the robot apparatus 10.
  • the constraint condition determination unit 43 acquires task information corresponding to the task to be executed from the task DB 21 (S102). Then, the constraint condition determination unit 43 determines whether the constraint condition can be set from the task information (S103).
  • the constraint condition determination unit 43 sets the constraint condition of the motion trajectory (S104). For example, when the constraint condition determination unit 43 executes the task of “carrying a cup of water”, the constraint condition determination unit 43 sets a constraint condition of keeping the cup horizontal so as not to spill the water of the cup currently held. Can be set. Further, when the constraint condition determining unit 43 executes the task of “leaching to the grip target object”, if it is known as the task information that nothing is currently gripped, the constraint condition is not necessary. Can be set to none.
  • the constraint condition determination unit 43 determines that the constraint condition cannot be set from the task information (S103: No), it acquires the object information of the gripped object (S105) and uses the task information and the object information. Then, the constraint condition of the motion trajectory is determined (S106), and the determined constraint condition is set (S104). For example, the restraint condition determination unit 43 performs image processing on the image data that is the object information, specifies whether or not water is contained in the cup, and sets the restraint condition according to the specified result.
  • the planning unit 44 uses a well-known motion planning algorithm to plan the motion trajectory of the robot apparatus 10 for executing the task while complying with the constraint condition determined by the constraint condition determining unit 43 (S107). .
  • the arm control unit 45 operates the robot apparatus 10 along the motion trajectory planned by the planning unit 44 to execute the task.
  • the robot apparatus 10 can determine the constraint condition of the motion planning algorithm according to the situation, it is difficult for excess and deficiency of the constraint condition to occur, and the efficient search for the solution of the motion planning algorithm can be executed.
  • the robot apparatus 10 can perform useful motion generation from the viewpoint of human-robot interaction by using task information and object information such as "moving arm so that the blade does not face a person" in the task "handing a knife” or the like. . Further, the robot apparatus 10 does not need to set a constraint condition each time the user responds to a task, and can improve autonomy. Since the robot apparatus 10 also determines the constraint condition using the task information, it can be applied to various purposes regardless of the specific task.
  • the robot apparatus 10 can set the constraint condition loosely or strictly by determining the constraint condition including the threshold value. Optimal settings can be made accordingly. For example, if the robot has many degrees of freedom and you want to reduce the search space, you can efficiently search the motion planning algorithm by setting the constraint conditions strictly. It becomes easier to ensure the existence of the solution by setting the constraint condition loosely.
  • FIG. 6 is a diagram illustrating supervised learning of constraint conditions.
  • the constraint condition determination unit 43 of the robot apparatus 10 sets “image data of object information and task information” as input data and “constraint condition” as a correct answer label which is output data. Retained teacher data as training data. Then, the constraint condition determination unit 43 inputs the teacher data to the learning model using the neural network and updates the learning model.
  • the constraint condition may be used as the label information and the label information may be selected, or the threshold value of the constraint condition may be output as a numerical value.
  • the constraint condition determining unit 43 stores a plurality of teacher data such as input data “object information (image data of a cup containing water), task information (putting a cup on a desk)” and output data “keep horizontal”. Hold.
  • teacher data include input data “object information (image data of a dish containing a dish), task information (putting a dish in the washing room)” and output data “inclination within x degrees”.
  • constraint conditions in which specific conditions are described.
  • constraint of a common format using the tool coordinate system or the world coordinate system is used. It is preferred to use conditions. As a result, even with different constraint conditions for different tasks, the same network can be used for learning.
  • the constraint condition determination unit 43 inputs the input data to the learning model using the neural network, acquires the output result, and calculates the error between the output result and the output data (correct label). After that, the constraint condition determining unit 43 updates the model using error back propagation or the like so that the error is minimized.
  • the constraint condition determination unit 43 builds a learning model using each teacher data. After that, the constraint condition determining unit 43 inputs the current “task information” and “object information” that are prediction targets into the learned learning model, and determines the output result as the constraint condition.
  • FIG. 7 is a diagram illustrating an example of a neural network.
  • the neural network has a multi-stage structure including an input layer, an intermediate layer (hidden layer), and an output layer, and each layer has a structure in which a plurality of nodes are connected by edges.
  • Each layer has a function called "activation function”, edges have "weights”, and the value of each node has the value of the node of the previous layer, the weight value of connection edge (weight coefficient), and the layer has Calculated from the activation function.
  • activation function edges have "weights”
  • weights weights
  • the value of each node has the value of the node of the previous layer, the weight value of connection edge (weight coefficient)
  • weight coefficient weight coefficient
  • Each of the three layers of such a neural network is configured by combining the neurons shown in FIG. That is, the neural network is composed of an arithmetic unit, a memory and the like imitating a neuron model as shown in FIG. As shown in FIG. 7, the neuron outputs an output y for a plurality of inputs x (x 1 to x n ). Each input is multiplied by the weight w (w 1 to w n ) corresponding to the input x. As a result, the neuron outputs the result y expressed by the equation (1).
  • the input x, the result y, and the weight w are all vectors. Further, ⁇ in the equation (1) is a bias, and f k is an activation function.
  • learning in the neural network is to modify the parameters, that is, the weight and the bias, so that the output layer has the correct value.
  • the "loss function" that indicates how far the value of the output layer is from the correct state (desired state) is defined for the neural network, and the steepest descent method etc. Is used to update the weight and bias so that the loss function is minimized.
  • the input value is given to the neural network, the neural network calculates the predicted value based on the input value, the predicted value is compared with the teacher data (correct value), the error is evaluated, and the obtained error is calculated.
  • the learning model is learned and constructed by sequentially correcting the value of the connection weight (synapse coefficient) in the neural network based on the above.
  • FIG. 8 is a diagram for explaining the reinforcement learning of the constraint condition.
  • the constraint condition determination unit 43 of the robot apparatus 10 holds “image data of object information and task information” as learning data. Then, the constraint condition determination unit 43 inputs the learning data to the agent (for example, the robot device 10), executes reward calculation according to the result, and updates the function based on the calculated reward, Learn. Then, the constraint condition determination unit 43 determines the constraint condition from the task information and the object information of the prediction target using the learned agent.
  • Q learning using the action value function shown in Expression (2) can be used for reinforcement learning.
  • s t a t represents the environment and action at time t, by the action a t, the environment is changed to s t + 1.
  • r t + 1 indicates the reward that can be obtained by the change in the environment.
  • the term with max is the Q value when the action a with the highest Q value is selected under the environment st + 1 , and is multiplied by ⁇ .
  • is a parameter of 0 ⁇ ⁇ 1, and is called a discount rate.
  • is a learning coefficient and is in the range of 0 ⁇ ⁇ 1.
  • the equation (2) is obtained by comparing the evaluation value Q (s t , a t ) of the behavior a in the environment s with the evaluation value Q (s t + 1 , maza t + 1 ) of the best behavior in the next environmental state by the behavior a. if it is greater, Q (s t, a t ) is increased and smaller conversely, indicate that to reduce the Q (s t, a t) . In this way, the value of the best action in a certain state propagates to the value of the action in the immediately preceding state.
  • Q (s, a) indicating "how good is action a when state a is action a”.
  • Q (s, a) is updated. For example, if “a cup containing water is moved while keeping it horizontal and the water is placed on the desk without spilling”, the value of Q (carry a cup containing water, keep it horizontal) is increased. In addition, in the case where “the water is spilled if the cup containing water is moved while being tilted by Y degrees,” the value of Q (carry a cup containing water, tilting by Y degrees) is decreased. In this way, the Q value is updated by executing the randomly selected action, learning is performed, and an agent that executes the optimum action is constructed.
  • the above-mentioned threshold value can be used as the constraint condition.
  • the threshold setting for example, as a reward for reinforcement learning (according to a mechanism or an algorithm), a method of learning by giving a constraint condition loose or strict can be adopted. Further, the output of supervised learning can be used as the threshold.
  • the determination as to whether or not the constraint condition can be set based on the task information in S103 of FIG. 5 can also be performed by various machine learning such as supervised learning in which an image is input.
  • Constrained conditions should be applied to tasks where it is desirable to set constrained conditions, in addition to tasks that cannot be achieved without proper setting of constrained conditions, such as serving a cup of water or serving food.
  • a loose constraint condition can be imposed so that the direction of the blade is moved away from the user.
  • constraint conditions limits
  • the constraint condition is not limited to the abstract concept of keeping it horizontal, but it is also possible to set specific numerical values such as the volume of sound, speed, acceleration, joint angle, and the degree of freedom of the robot.
  • the planned movement trajectory corresponds to the trajectory of the arm and the end effector until the cup is placed on the desk while moving the arm while avoiding the obstacle.
  • the learning method is not limited to the neural network, and other machine learning such as a support vector machine or a recursive neural network can be adopted. Further, not limited to supervised learning, non-supervised learning or semi-supervised learning can be adopted. Further, in each learning, it is also possible to use “the strength of the wind, the presence / absence of rain, the pavement condition of a slope or a moving route” which is an example of the environmental information in which the robot apparatus 10 is placed. Also, these environmental information can be used for determining the constraint condition.
  • each component of each illustrated device is functionally conceptual, and does not necessarily have to be physically configured as illustrated. That is, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part of the device may be functionally or physically distributed / arranged in arbitrary units according to various loads and usage conditions. It can be integrated and configured.
  • the robot having an arm and the like and the control device having the robot control unit 30 or the control unit 40 for controlling the robot can be realized in separate housings.
  • the learning of the constraint condition can be performed by a learning unit (not shown) included in the control unit 40 instead of the constraint condition determination unit 43.
  • FIG. 9 is a hardware configuration diagram that realizes the functions of the robot device 10.
  • the computer 1000 has a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600.
  • the respective units of the computer 1000 are connected by a bus 1050.
  • the CPU 1100 operates based on a program stored in the ROM 1300 or the HDD 1400, and controls each part. For example, the CPU 1100 loads a program stored in the ROM 1300 or the HDD 1400 into the RAM 1200, and executes processing corresponding to various programs.
  • the ROM 1300 stores a boot program such as a BIOS (Basic Input Output System) executed by the CPU 1100 when the computer 1000 starts up, a program dependent on the hardware of the computer 1000, and the like.
  • BIOS Basic Input Output System
  • the HDD 1400 is a computer-readable recording medium that non-temporarily records a program executed by the CPU 1100, data used by the program, and the like.
  • the HDD 1400 is a recording medium that records a robot control program according to the present disclosure, which is an example of the program data 1450.
  • the communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (for example, the Internet).
  • the CPU 1100 receives data from another device via the communication interface 1500 or transmits data generated by the CPU 1100 to another device.
  • the input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000.
  • the CPU 1100 receives data from an input device such as a keyboard and a mouse via the input / output interface 1600.
  • the CPU 1100 transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600.
  • the input / output interface 1600 may function as a media interface that reads a program or the like recorded on a predetermined recording medium (media).
  • the media are, for example, optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable Disk), magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, or semiconductor memory. Is.
  • optical recording media such as DVD (Digital Versatile Disc) and PD (Phase change rewritable Disk)
  • magneto-optical recording media such as MO (Magneto-Optical disk), tape media, magnetic recording media, or semiconductor memory.
  • the CPU 1100 of the computer 1000 executes the robot control program loaded on the RAM 1200, so that the robot control unit 30, the control unit 40, and the like. Realize the function of.
  • the HDD 1400 stores the robot control program according to the present disclosure and the data in each DB shown in FIG. 2. Note that the CPU 1100 reads and executes the program data 1450 from the HDD 1400. However, as another example, the CPU 1100 may acquire these programs from another device via the external network 1550.
  • the robot mechanism 2000 has a hardware configuration corresponding to a robot and includes a sensor 2100, an end effector 2200, and an actuator 2300, which are communicatively connected to the CPU 1100.
  • the sensor 2100 is various sensors such as a visual sensor, and acquires the object information of the object to be grasped and outputs it to the CPU 1100.
  • the end effector 2200 grips an object to be gripped.
  • the actuator 2300 drives the end effector 2200 and the like by the instruction operation of the CPU 1100.
  • An acquisition unit that acquires object information about an object to be gripped by a robot apparatus having a gripping unit that grips an object
  • a robot control device comprising: an operation content that the robot apparatus grips and executes the object; and a determination unit that determines a constraint condition when the operation content is executed, based on the object information.
  • the determination unit determines, as the constraint condition, a condition for achieving the purpose imposed on the object when the operation content is executed.
  • the determination unit determines whether or not the constraint condition can be determined from the action content, determines the constraint condition from the action content if it can be determined, and if not, the action content and the object information
  • the robot control device according to (1) or (2), wherein the constraint condition is determined using and.
  • a storage unit that stores each constraint condition associated with a combination of each operation content executed by the robot device and each object information when executing each operation content, The determination unit determines the constraint condition from the storage unit based on a combination of the object information acquired by the acquisition unit and the operation content executed by gripping an object corresponding to the object information.
  • the operation content and the object information are set as input data, and a learning unit for learning a model using a plurality of teacher data in which constraint conditions are set as correct answer information is further provided.
  • the determining unit determines a result obtained by inputting the operation content and the object information into a learned model as the constraint condition, according to any one of (1) to (3) above.
  • Robot controller (6) Further comprising a learning unit for performing reinforcement learning using a plurality of learning data in which the operation content and object information are set as input data, The robot according to any one of (1) to (3), wherein the determining unit determines a result obtained by inputting the operation content and the object information as a reinforcement learning result as the constraint condition. Control device.
  • the determining unit determines, as the constraint condition, a threshold value that indicates at least one limit value of the posture of the robot apparatus, the angle of the gripping unit, and the angle of the arm that drives the gripping unit.
  • the robot controller according to any one of 6).
  • the acquisition unit acquires image data of a state in which the grip unit grips the object or a state before the grip unit grips the object, in any one of (1) to (7) above.
  • Robot controller (9)
  • a robot apparatus having a gripping unit that grips an object acquires object information about an object to be gripped, A robot control method for executing a process of determining a constraint condition when executing the operation content, based on the operation content performed by the robot apparatus by gripping the object and the object information.
  • a robot apparatus having a gripping unit that grips an object acquires object information about an object to be gripped,
  • a robot control program for executing a process of determining a constraint condition for executing the operation content, based on the operation content executed by the robot apparatus by gripping the object and the object information.
  • robot device 10
  • storage unit 21
  • task DB 22
  • Object information DB 23
  • Restraint condition DB 24 set value DB
  • robot control unit 31
  • object information acquisition unit 32
  • gripping unit 33
  • drive unit 40
  • control unit 41
  • action determination unit 43
  • constraint condition determination unit 44
  • arm control unit 45 arm control unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Software Systems (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Fuzzy Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Manipulator (AREA)

Abstract

ロボット装置(10)は、物体を把持する把持部(32)を有するロボット装置が把持対象とする物体に関する物体情報を取得する。そして、ロボット装置(10)は、ロボット装置が物体を把持して実行する動作内容と、物体情報とに基づいて、動作内容を実行する際の拘束条件を決定する。

Description

ロボット制御装置、ロボット制御方法及びロボット制御プログラム
 本開示は、ロボット制御装置、ロボット制御方法及びロボット制御プログラムに関する。
 物体を把持可能なアームを有するロボットの動作軌道を計画する際に、ロボットが実行するタスクに対してユーザが拘束条件を与えることが行われている。また、特定のタスクを検出した場合に、一意な拘束条件を決定する手法も知られている。例えば、ロボットが液体の入ったコップを把持する際に、少し傾動させて液体が入っていることを自動で検出し、容器を水平状態に維持する制御を行って搬送する手法が知られている。この手法は、液体の入ったコップを搬送するという特定のタスクにおいて拘束条件を決定している。なお、拘束条件を加味して動作軌道を計画する動作計画アルゴリズムとしては、「Task Constrained Motion Planning in Robot Joint Space, Mike Stilman, IROS2007」が知られている。
特開2007-260838号公報
 しかしながら、上記の従来技術では、タスクに応じてユーザが事前に拘束条件を指定するので、拘束条件の過不足が生じやすく、結果として正確な動作軌道を計画することが難しい。また、特定のタスクに対して一意な拘束条件を決定する手法では、タスクが異なれば適用することができず、汎用性に欠ける。
 そこで、本開示では、計画される動作軌道の正確性を向上させることができるロボット制御装置、ロボット制御方法及びロボット制御プログラムを提案する。
 上記の課題を解決するために、本開示に係る一形態のロボット制御装置は、物体を把持する把持部を有するロボット装置が把持対象とする物体に関する物体情報を取得する取得部と、前記ロボット装置が前記物体を把持して実行する動作内容と、前記物体情報とに基づいて、前記動作内容を実行する際の拘束条件を決定する決定部とを有する。
第1の実施形態に係るロボット装置を説明する図である。 第1の実施形態に係るロボット装置の機能構成を示す機能ブロック図である。 タスクDBに記憶されるタスク情報の一例を示す図である。 拘束条件DBに記憶される拘束情報の一例を示す図である。 軌道計画の実行処理の流れを示すフローチャートである。 拘束条件の教師有学習を説明する図である。 ニューラルネットワークの一例を説明する図である。 拘束条件の強化学習を説明する図である。 ロボット装置の機能を実現するハードウェア構成図である。
 以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
(1.第1の実施形態)
[1-1.第1の実施形態に係るロボット装置の説明]
 図1は、第1の実施形態に係るロボット装置10を説明する図である。図1に示すロボット装置10は、物体を保持可能なアームを有するロボット装置の一例であり、計画された動作軌道にしたがって、移動、アーム動作、物体の把持などを実行する。
 このロボット装置10は、ロボット装置10の動作内容や行動を規定するタスクに関するタスク情報と、把持物体に関する物体情報とを用いて、ロボット装置10がタスクを実行するときの拘束条件を自律的に決定する。そして、ロボット装置10は、拘束条件を遵守して動作する動作軌道を計画し、計画した動作軌道にしたがってロボットを動作させることで、タスクを実行することができる。
 例えば、図1に示すように、水の入ったコップを移動させて机に置く場合を例にして説明する。ロボット装置10は、コップを把持すると、タスク情報として「把持する物体を机に置く」を取得し、物体情報として「水の入ったコップ」の画像情報などを取得する。この場合、ロボット装置10は、タスク情報と物体情報とから、拘束条件として「水をこぼさない程度に水平に保つ」を特定する。その後、ロボット装置10は、公知の動作計画アルゴリズムを用いて、この拘束条件を遵守しつつ、タスク「水の入ったコップを移動させて机に置く」を実現するための動作軌道を計画する。そして、ロボット装置10は、ロボット装置10は、動作軌道にしたがって、アームやエンドエフェクタなどを動作させて、保持するコップの水をこぼさないように移動させて机の上に置く。
 このように、ロボット装置10は、タスク情報と物体情報とを用いて拘束条件を決定し、決定した拘束条件を用いた動作軌道を計画することができるので、過不足なく拘束条件を決定することができ、計画される動作軌道の正確性を向上させることができる。
[1-2.第1の実施形態に係るロボット装置の機能構成]
 図2は、第1の実施形態に係るロボット装置10の機能構成を示す機能ブロック図である。図2に示すように、ロボット装置10は、記憶部20、ロボット制御部30、制御部40を有する。
 記憶部20は、各種データや制御部40等が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部20は、タスクDB21、物体情報DB22、拘束条件DB23、設定値DB24を記憶する。
 タスクDB21は、各タスクを記憶するデータベースの一例である。具体的には、タスクDB21は、ユーザにより設定されたタスクに関する情報を記憶する。例えば、タスクDB21には、「運ぶ」や「置く」などとのように抽象度の高い処理内容を設定することもでき、「水の入ったコップを運ぶ」や「把持対象物体へリーチングする」などのように具体的な処理内容を設定することもできる。
 また、タスクDB21は、ステートマシンなどにより、環境や現在タスクに応じて次にどのような行動をすべきかなどを設定する状態遷移の形式でタスク情報を記憶することもできる。図3は、タスクDB21に記憶されるタスク情報の一例を示す図である。図3に示すように、タスクDB21は、各タスク情報を状態遷移で保持する。具体的には、タスクDB21は、タスク「机まで移動」からタスク「コップを把持」、タスク「コップを机に置く」に遷移する情報や、タスク「机まで移動」からタスク「皿を保持」、タスク「コップを把持」に遷移する情報や、タスク「机まで移動」からタスク「皿を把持」、タスク「洗い場へ移動」、タスク「皿を洗い場に置く」に遷移する情報などを記憶する。
 物体情報DB22は、把持対象の物体または把持している物体を示す把持物体に関する情報を記憶するデータベースの一例である。例えば、物体情報DB22は、後述するロボット制御部30の物体情報取得部31によって取得された画像データなどの各種情報を記憶する。
 拘束条件DB23は、タスクが実行されるときに物体に課せられる目的を達成するための条件である拘束条件を記憶するデータベースの一例である。具体的には、拘束条件DB23は、タスク情報と物体情報とを用いて特定される拘束条件を記憶する。図4は、拘束条件DB23に記憶される拘束情報の一例を示す図である。図4に示すように、拘束条件DB23は、「項番、タスク情報、物体情報、拘束条件」を対応付けて記憶する。
 ここで記憶される「項番」は、拘束条件を識別する情報である。「タスク情報」は、ロボット装置10の処理内容を規定したタスクに関する情報であり、例えば図3に記憶される各タスク情報である。「物体情報」は、物体情報DB22に記憶される各物体情報である。「拘束条件」は、特定される拘束条件である。
 図4の例では、タスク情報が「コップを机に置く」で物体情報が「水の入ったコップ」である場合は、拘束条件として「水平に保つ」が特定されることを示す。また、タスク情報が「皿を運ぶ」で物体情報が「料理の入った皿」である場合は、拘束条件として「傾きX度以内に保つ」が特定されることを示す。また、タスク情報が「包丁をユーザに渡す」で物体情報が「刃がむき出しの包丁」である場合は、拘束条件として「刃をロボット側に向ける」が特定されることを示す。
 なお、拘束条件は、閾値で設定することもできる。例えば、単純な「z軸周りの姿勢拘束」ではなく「z軸周りの姿勢のずれを5度以内に抑える」などと設定することもでき、アームの角度の限界値を示す閾値やエンドエフェクタの角度の限界値を示す閾値などを設定することもできる。このような設定により、拘束条件に強弱をつけることが可能になる。拘束条件の強弱はロボットの機構や動作計画アルゴリズムに影響するので、適用する機構やアルゴリズムによって閾値を適切に設定することで、より高速に解けるようになったり、解の存在が保証されたりするなど、計画される動作軌道の正確性を向上させることができる。また、後述するが、拘束条件は、学習処理などによって学習することもできる。
 上記拘束条件の例は、説明上、具体的な記載としたが、タスクに依存しない、各タスクに共通となる記載形式を用いて規定することもできる。共通となる記載形式としては、ツール座標系やワールド座標系を用いることができる。上記具体例を用いて説明すると、「水の入ったコップを水平に保つ」場合、拘束条件として、「ツール座標系のz軸をワールド座標系のz軸方向に姿勢拘束」とすることができる。また、「料理の入った皿を傾きX度以内に保つ」場合、拘束条件として、「ツール座標系のz軸をワールド座標系のz軸方向に誤差X度の範囲で姿勢拘束」とすることができる。また、「刃をロボット側に向ける」場合、拘束条件として、「ツール座標系のx軸をワールド座標系の-x軸方向に姿勢拘束」とすることができる。このような記述形式を採用することで、動作計画アルゴリズムに拘束条件を直接的に設定可能であり、後述するニューラルネットワークを用いた学習を行う場合でも出力ラベルがタスクによらないため、同一のネットワークで学習することができる。
 また、ロボット装置10が動作するときは、図4に示す具体的な拘束条件を記憶しておき、ニューラルネットワークを用いた学習時には、正解ラベルとする具体的な拘束条件を共通形式の拘束条件に変換してニューラルネットワークに入力することもできる。このとき、ロボット装置10は、共通形式のフォーマットなどを予め用意することで、具体的な拘束条件から共通形式の拘束条件に変換することもできる。したがって、ユーザが、共通形式などを意識せずに、学習データ(教師データ)を登録しても、ロボット装置10が、自動で共通形式に変換した上でニューラルネットワークに入力して学習することができるので、ユーザの負担も軽減できる。
 なお、何も把持していないときの通常時のツール座標系は、エンドエフェクタの座標に一致するが、コップや皿、包丁などのツールを把持している場合などは、ツール先端をツール座標系とする。また、上記ワールド座標系は、ロボット装置10の正面向きをx軸、ロボット装置10から見て左方向をy軸、鉛直上向きをz軸とする。また、包丁のツール座標系は、実際に切るとき(刃が前に向いていて水平のとき)の向きにしたときにワールド座標系と一致するような座標を用いることができる。そのため、包丁のツール座標系のx軸をワールド座標の-x方向に向けることが刃をロボット側に向けることに対応する。
 設定値DB24は、動作軌道の計画に使用される初期値や目標値などを記憶するデータベースの一例である。具体的には、設定値DB24は、手先位置や関節の位置姿勢などを記憶する。例を挙げると、設定値DB24は、初期値として、ロボットの現在の状態を示す関節角度、手先の位置および姿勢などを記憶する。また、設定値DB24は、目標値として、物体の位置、目標とするロボットの手先の位置、姿勢、関節角度などを記憶する。なお、各種位置情報としては、ロボット制御で使用される各種情報を採用することができ、例えば座標などである。
 ロボット制御部30は、物体情報取得部31、把持部32、駆動部33を有し、ロボット装置10が有するロボット機構を制御する処理部である。例えば、ロボット制御部30は、マイコンやプロセッサなどの電子回路や、プロセッサが有するプロセスによって実現できる。
 物体情報取得部31は、把持物体に関する物体情報を取得する処理部である。例えば、物体情報取得部31は、カメラなどを用いて画像を撮像する視覚センサ、ロボットの手首部分における力やモーメントを検出する力覚センサ、物体への接触の有無や厚覚などを検出する触覚センサ、温度を検出する温度センサなどを用いて、物体情報を取得する。そして、物体情報取得部31は、取得した物体情報を物体情報DB22に格納する。
 一例を挙げると、物体情報取得部31は、視覚センサを用いて、把持物体であるコップを撮像し、撮像して得られた画像データを物体情報として、物体情報DB22に格納する。なお、視覚センサで取得されたコップの画像データに画像処理を行うことで、面積、重心、長さ、位置など対象物(コップ)の特徴量やコップに水が入っているなどの状態を抽出することができる。また、物体情報取得部31は、タスク情報をもとに能動的にアームを動かして得られるセンサ情報を、物体情報として用いることもできる。
 把持部32は、物体を把持する処理部であり、例えばエンドエフェクタなどである。例えば、把持部32は、後述する駆動部33によって駆動され、把持対象の物体を把持する。
 駆動部33は、把持部32を駆動する処理部であり、例えばアクチュエータなどである。例えば、駆動部33は、後述するアーム制御部45の指示等により、図示しないロボットのアームや把持部32を、計画された動作軌道にしたがって駆動する。
 制御部40は、タスク管理部41、行動決定部42、アーム制御部45を有し、ロボット装置10の動作軌道などを計画する処理部であり、例えばプロセッサなどである。また、タスク管理部41、行動決定部42、アーム制御部45は、プロセッサなどの電子回路の一例やプロセッサが実行するプロセスの一例などである。
 タスク管理部41は、ロボット装置10のタスクを管理する処理部である。具体的には、タスク管理部41は、ユーザによって指定されたタスク情報やタスクDB21に記憶されるタスク情報を取得して、行動決定部42に出力する。例えば、タスク管理部41は、図3のタスク情報を参照し、現在のタスク状況やロボット装置10の環境などを用いて、タスクの状態を次の状態に遷移させて、該当するタスク情報を取得する。
 より詳細には、タスク管理部41は、ロボット装置10の現在の状態が「コップを把持」に該当する場合、次のタスクを「コップを机に置く」と特定する。そして、タスク管理部41は、タスク情報として「コップを机に置く」を行動決定部42に出力する。
 行動決定部42は、拘束条件決定部43と計画部44を有し、拘束条件を考慮した軌道計画を生成する処理部である。
 拘束条件決定部43は、タスク情報と物体情報とを用いて、拘束条件を決定する処理部である。具体的には、拘束条件決定部43は、拘束条件DB23を参照し、タスク管理部41から入力されたタスク情報および物体情報取得部31によって取得された物体情報の組み合わせに該当する拘束条件を取得する。そして、拘束条件決定部43は、取得した拘束条件を計画部44に出力する。
 例えば、拘束条件決定部43は、タスク情報「コップを机に置く」と、物体情報「コップに水が入った画像データ」とを取得すると、図4に示す拘束条件一覧から、拘束条件「水平に保つ」を特定する。このとき、拘束条件決定部43は、拘束条件の設定が可能か否かを判定することもできる。例えば、拘束条件決定部43は、物体情報からコップに水が入っていないことが確認できた場合、コップを水平に保つ必要がないので、拘束条件を設定しない。すなわち、拘束条件決定部43は、水が入っていればコップを水平に保つという拘束条件が必要であるが、水が入っていなければ特に拘束条件を設定する必要はないと判断することができる。このように、上記コップの例では、タスク情報として「コップを運ぶ」ことが既知であるため、水が入っているかいないかの判断を行えばよいということがわかっている。そのため、拘束条件決定部43は、物体情報(画像データ)からコップに水が入っていないかどうかを画像処理により確認して拘束条件を決定する。このように、拘束条件決定部43は、タスク情報と物体情報を組み合わせて拘束条件を決定する。
 なお、拘束条件決定部43は、物体情報について、物体情報DB22に記憶される最新の情報を取得することができる。また、コップがすでに把持されている状態である場合、物体情報取得部31は把持部32の状態を撮像して保存する。しかし、拘束条件決定部43は、その把持状態の画像データに限らず、把持対象物体を把持しに行く前の段階で得られた画像データを記憶しておき、それを物体情報として利用することもできる。
 計画部44は、拘束条件決定部43によって決定された拘束条件を遵守しつつ、タスクを実行するためのロボット装置10の動作軌道を計画する処理部である。例えば、計画部44は、設定値DB24から初期値や目標値などを取得する。また、計画部44は、タスク管理部41からタスク情報を取得し、拘束条件決定部43から拘束条件を取得する。そして、計画部44は、取得した各種情報および拘束条件を動作計画アルゴリズムに入力して、動作軌道を計画する。
 その後、計画部44は、生成した動作軌道を記憶部20に格納したり、アーム制御部45に出力したりする。なお、計画部44は、拘束条件がない場合、拘束条件を用いずに、動作軌道を計画する。また、動作計画アルゴリズムは、「Task Constrained Motion Planning in Robot Joint Space, Mike Stilman, IROS2007」など公知の様々なアルゴリズムを用いることができる。
 アーム制御部45は、計画部44により計画された動作軌道にしたがって、ロボット装置10を動作させて、タスクを実行する処理部である。例えば、アーム制御部45は、動作軌道に沿って駆動部33を制御することで、把持部32が把持するコップに対して、拘束条件「水平に保つ」を遵守しつつ、タスク「コップを机に置く」を実行する。この結果、アーム制御部45は、把持部32が把持するコップに入っている水をこぼさないように、把持部32が把持するコップを机に置く動作を実行することができる。
[1-3.第1の実施形態に係るロボット装置の処理の流れ]
 図5は、軌道計画の実行処理の流れを示すフローチャートである。図5に示すように、タスク管理部41は、ユーザ等や画像データの解析等により与えられる動作計画の初期値や目標値を設定する(S101)。ここで設定される情報は、設定値DB24に格納される情報であり、ロボット装置10の軌道動作を計画する際に利用される情報である。
 続いて、拘束条件決定部43は、タスクDB21から、実行対象のタスクに該当するタスク情報を取得する(S102)。そして、拘束条件決定部43は、タスク情報から拘束条件の設定が可能か否かを判定する(S103)。
 ここで、拘束条件決定部43は、タスク情報から拘束条件の設定が可能と判定した場合(S103:Yes)、動作軌道の拘束条件を設定する(S104)。例えば、拘束条件決定部43は、「水の入ったコップを運ぶ」というタスクを実行する場合は、現在持っているコップの水をこぼさないようにするため、コップを水平に保つという拘束条件を設定することができる。また、拘束条件決定部43は、「把持対象物体へリーチングする」というタスクを実行する場合、現在何も把持していないことがタスク情報として既知なのであれば、拘束条件は不要であり、拘束条件なしと設定することができる。
 一方、拘束条件決定部43は、タスク情報から拘束条件の設定が可能ではないと判定した場合(S103:No)、把持物体の物体情報を取得し(S105)、タスク情報と物体情報とを用いて動作軌道の拘束条件を決定し(S106)、決定した拘束条件を設定する(S104)。例えば、拘束条件決定部43は、物体情報である画像データに対して画像処理を行って、コップに水が入っているか否かを特定し、特定結果に応じた拘束条件を設定する。
 そして、計画部44は、公知の動作計画アルゴリズムを用いて、拘束条件決定部43によって決定された拘束条件を遵守しつつ、タスクを実行するためのロボット装置10の動作軌道を計画する(S107)。その後、アーム制御部45は、計画部44により計画された動作軌道に沿って、ロボット装置10を動作させて、タスクを実行する。
[1-4.効果]
 上述したように、ロボット装置10は、動作計画アルゴリズムの拘束条件を状況に応じて決定できるので、拘束条件の過不足が発生しづらくなり、動作計画アルゴリズムの解の効率的な探索を実行できる。ロボット装置10は、タスク「ナイフの手渡し」などにおいて「人に刃を向けないようにアームを動かす」など、タスク情報及び物体情報を用いることでヒューマンロボットインタラクションの観点でも有用な動作生成が実行できる。また、ロボット装置10は、ユーザがタスクに応じて、都度、拘束条件を設定する必要がなくなり、自律性を高めることができる。ロボット装置10は、タスク情報も利用して拘束条件を決定するので、特定タスクによらず汎用的に応用できる。
 また、ロボット装置10は、閾値まで含めて拘束条件を決定することにより、拘束条件を緩めに設定したり厳しめに設定したりすることが可能になるので、ロボットアームの機構や動作計画アルゴリズムに応じた最適な設定が可能となる。例えば、ロボットの自由度が多く探索空間を小さくしたい場合は拘束条件を厳しめに設定することで動作計画アルゴリズムの探索を効率的に行うことが可能になり、ロボットの自由度が少ない場合などは拘束条件を緩めに設定することで解の存在を担保しやすくなる。
(2.第2の実施形態)
 ところで、第1の実施形態では、拘束条件を予め静的に保持しておき、タスク情報と物体情報とから拘束条件を一意に決定する例を説明したが、これに限定されるものではない。例えば、機械学習によって拘束条件の特定を学習することもできる。そこで、第2の実施形態では、拘束条件の機械学習の一例として、ニューラルネットワークを用いた学習と強化学習とについて説明する。
[2-1.ニューラルネットワークを用いた学習の説明]
 図6は、拘束条件の教師有学習を説明する図である。図6に示すように、ロボット装置10の拘束条件決定部43は、入力データとして「物体情報の画像データおよびタスク情報」が設定されて、出力データである正解ラベルとして「拘束条件」が設定された教師データを訓練データとして保持する。そして、拘束条件決定部43は、ニューラルネットワークを用いた学習モデルに教師データを入力して学習モデルの更新を実行する。なお、拘束条件をラベル情報として、ラベル情報を選択するような形式にしてもよく、拘束条件の閾値を数値として出力する形式を採用することもできる。
 例えば、拘束条件決定部43は、入力データ「物体情報(水が入ったコップの画像データ)、タスク情報(コップを机に置く)」と出力データ「水平に保つ」などの複数の教師データを保持する。なお、教師データの別例としては、入力データ「物体情報(料理が入った皿の画像データ)、タスク情報(皿を洗い場に置く)」と出力データ「傾きx度以内」などが挙げられる。
 なお、ここでは一例として、具体的な条件を記載した拘束条件を例示して説明するが、ニューラルネットワークの学習においては、上述したように、ツール座標系やワールド座標系を用いた共通形式の拘束条件を用いることが好ましい。その結果、異なるタスクの異なる拘束条件であっても、同一のネットワークで学習することができる。
 そして、拘束条件決定部43は、ニューラルネットワークを用いた学習モデルに入力データを入力して出力結果を取得し、出力結果と出力データ(正解ラベル)との誤差を算出する。その後、拘束条件決定部43は、誤差逆伝搬などを用いて、誤差が最小になるようにモデルの更新を実行する。
 このようにして、拘束条件決定部43は、各教師データを用いて学習モデルを構築する。その後、拘束条件決定部43は、学習済みの学習モデルに、予測対象である現在の「タスク情報」と「物体情報」とを入力し、その出力結果を拘束条件に決定する。
 ここで、ニューラルネットワークの一例を説明する。図7は、ニューラルネットワークの一例を説明する図である。図7に示すように、ニューラルネットワークは、入力層、中間層(隠れ層)、出力層から構成される多段構成であり、各層は複数のノードがエッジで結ばれる構造を有する。各層は、「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持ち、各ノードの値は、前の層のノードの値、接続エッジの重みの値(重み係数)、層が持つ活性化関数から計算される。なお、計算方法については、公知の様々な手法を採用できる。
 このようなニューラルネットワークの3層それぞれは、図7に示すニューロンを組み合わせて構成される。すなわち、ニューラルネットワークは、図7に示すようなニューロンのモデルを模した演算装置およびメモリ等で構成される。図7に示されるように、ニューロンは、複数の入力x(x~x)に対する出力yを出力する。各入力には、入力xに対応する重みw(w~w)が乗算される。これにより、ニューロンは、式(1)により表現される結果yを出力する。なお、入力x、結果y、重みwは、すべてベクトルである。また、式(1)におけるθはバイアスであり、fkは活性化関数である。
Figure JPOXMLDOC01-appb-M000001
 また、ニューラルネットワークにおける学習とは、出力層が正しい値となるように、パラメータ、すなわち、重みとバイアスを修正していくことである。誤差逆伝播法においては、ニューラルネットワークに対して、出力層の値がどれだけ正しい状態(望まれている状態)から離れているかを示す「損失関数(loss function)」を定め、最急降下法等を用いて、損失関数が最小化するように、重みやバイアスの更新が行われる。具体的には、入力値をニューラルネットワークに与え、その入力値を基にニューラルネットワークが予測値を計算し、予測値と教師データ(正解値)を比較して誤差を評価し、得られた誤差を基にニューラルネットワーク内の結合荷重(シナプス係数)の値を逐次修正することにより、学習モデルの学習および構築が実行される。
[2-2.強化学習の説明]
 図8は、拘束条件の強化学習を説明する図である。図8に示すように、ロボット装置10の拘束条件決定部43は、学習データとして「物体情報の画像データおよびタスク情報」などを保持する。そして、拘束条件決定部43は、学習データをエージェント(例えばロボット装置10)に入力し、その結果に応じて報酬計算を実行し、計算された報酬に基づいて関数更新を行うことで、エージェントの学習を行う。そして、拘束条件決定部43は、学習済みのエージェントを用いて、予測対象のタスク情報と物体情報とから拘束条件を決定する。
 例えば、強化学習には、式(2)に示す行動価値関数を用いたQ学習を用いることができる。ここでs、aは、時刻tにおける環境と行動を表し、行動aにより、環境はst+1に変わる。rt+1は、その環境の変化によって貰える報酬を示す。maxの付いた項は、環境st+1の下で、最もQ値の高い行動aを選んだ場合のQ値にγを掛けたものである。ここで、γは、0<γ≦1のパラメータで、割引率と呼ばれる。αは、学習係数であり、0<α≦1の範囲である。式(2)は、環境sにおける行動aの評価値Q(s,a)よりも、行動aによる次の環境状態に於ける最良の行動の評価値Q(st+1,mazat+1)の方が大きければ、Q(s,a)を大きくし、逆に小さければ、Q(s,a)を小さくする事を示す。このようして、ある状態における最良の行動の価値が、それに至る一つ前の状態における行動の価値に伝搬する。
Figure JPOXMLDOC01-appb-M000002
 例えば、状態sと行動aと「状態sのときに行動aをしたときにどれくらい良さそうか」を示すQ(s,a)を考える。ある条件のときに報酬が得られた場合に、Q(s,a)を更新する。例えば、「水の入ったコップを水平に保ったまま移動させたら、水がこぼれずに机におけた」場合、Q(水の入ったコップを運ぶ、水平に保つ)の値を大きくする。また、「水の入ったコップをY度傾けたまま移動したら、水がこぼれた」場合、Q(水の入ったコップを運ぶ、Y度傾ける)の値を小さくする。このようにして、ランダムに選択した行動を実行することで、Q値を更新して学習を実行し、最適な行動を実行するエージェントを構築する。
[2-3.変形例および効果]
 また、拘束条件として、上述した閾値を用いることもできる。閾値の設定は、例えば強化学習の報酬として(機構やアルゴリズムに応じて)、拘束条件を緩くするか厳しくするかまで与えて学習する手法を採用できる。また、教師有学習の出力を閾値とすることもできる。図5のS103におけるタスク情報から拘束条件の設定が可能かどうかの判断についても、画像を入力した教師有学習など、各種機械学習によって判断することもできる。
(3.その他の実施形態)
 上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態にて実施されてよい。
 拘束条件については、水の入ったコップや料理の配膳などのように、拘束条件を適切に設定しなければ実現できないタスクの他にも、拘束条件を設定した方が望ましいタスクにも適用することができる。例えば、はさみや包丁などといった刃物を把持しながらアームを移動させてユーザに手渡しをする場合は、刃の向きをユーザから遠ざけるような緩めの拘束条件を課すことができる。他にも、環境を認識した結果、あまり騒音を出したくないような状況の場合は、各関節速度レベルの拘束条件(制限)を設定することによって、静かに動かしながらタスクを実行することもできる。
 拘束条件としては、水平に保つという抽象的な概念に限らず、音の大きさや速度、加速度、関節角度などの具体的な数値やロボットの自由度などを設定することもできる。また、拘束条件として、障害物を避けるなどのロボットの動作ではなく、例えばコップなどの把持対象がある目的を達成するための条件を設定することが好ましい。なお、計画される動作軌道としては、障害物を避けてアームを移動させつつ、コップを机に置くまでの、アームやエンドエフェクタの軌跡などが該当する。
 また、学習手法としては、ニューラルネットワークに限らず、サポートベクターマシンや再帰型ニューラルネットワークなどの他の機械学習を採用することもできる。また、教師有学習に限らず、教師無学習や半教師学習などを採用することもできる。また、各学習において、ロボット装置10が置かれている環境情報の一例である「風の強さ、雨の有無、坂道、移動経路の舗装状況」などを用いることもできる。また、これらの環境情報は、拘束条件の決定にも用いることができる。
 この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
 また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、アームなどを有するロボットと、ロボットを制御するロボット制御部30や制御部40を有する制御装置とを別々の筐体で実現することもできる。また、拘束条件の学習は、拘束条件決定部43ではなく、制御部40が有する、図示しない学習部などが実行することもできる。
 また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
(4.ハードウェア構成)
 上述してきた各実施形態に係るロボット装置10は、例えば図9に示すような構成のコンピュータ1000とロボット機構2000によって実現することができる。図9は、ロボット装置10の機能を実現するハードウェア構成図である。
 コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
 CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
 ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
 HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係るロボット制御プログラムを記録する記録媒体である。
 通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
 入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
 例えば、コンピュータ1000が第1の実施形態に係るロボット装置10として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたロボット制御プログラムを実行することにより、ロボット制御部30や制御部40等の機能を実現する。また、HDD1400には、本開示に係るロボット制御プログラムや、図2に示した各DB内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
 ロボット機構2000は、ロボットに該当するハードウェア構成であり、センサ2100、エンドエフェクタ2200、アクチュエータ2300を有し、これらはCPU1100と通信可能に接続される。センサ2100は、視覚センサなどの各種センサであり、把持対象の物体の物体情報を取得してCPU1100に出力する。エンドエフェクタ2200は、把持対象の物体を把持する。アクチュエータ2300は、CPU1100の指示操作により、エンドエフェクタ2200などを駆動する。
 なお、本技術は以下のような構成も取ることができる。
(1)
 物体を把持する把持部を有するロボット装置が把持対象とする物体に関する物体情報を取得する取得部と、
 前記ロボット装置が前記物体を把持して実行する動作内容と、前記物体情報とに基づいて、前記動作内容を実行する際の拘束条件を決定する決定部と
 を有するロボット制御装置。
(2)
 前記決定部は、前記動作内容が実行されるときに、前記物体に課せられる目的を達成するための条件を前記拘束条件として決定する、前記(1)に記載のロボット制御装置。
(3)
 前記決定部は、前記動作内容から前記拘束条件が決定できるか否かを判定し、決定できる場合は、前記動作内容から前記拘束条件を決定し、決定できない場合は、前記動作内容と前記物体情報とを用いて、前記拘束条件を決定する、前記(1)または(2)に記載のロボット制御装置。
(4)
 前記ロボット装置が実行する各動作内容と前記各動作内容を実行するときの各物体情報との組み合わせに対応付けられた各拘束条件を記憶する記憶部を有し、
 前記決定部は、前記取得部により取得された物体情報と、前記物体情報に対応する物体を把持して実行される動作内容との組み合わせに基づいて、前記記憶部から前記拘束条件を決定する、前記(1)から(3)のいずれかに記載のロボット制御装置。
(5)
 入力データとして動作内容および物体情報が設定され、正解情報として拘束条件が設定される複数の教師データを用いてモデルを学習する学習部をさらに有し、
 前記決定部は、前記動作内容と前記物体情報とを、学習済みのモデルに入力して得られた結果を、前記拘束条件として決定する、前記(1)から(3)のいずれかに記載のロボット制御装置。
(6)
 入力データとして動作内容および物体情報が設定される複数の学習データを用いて強化学習を実行する学習部をさらに有し、
 前記決定部は、前記動作内容と前記物体情報とを、強化学習結果に入力して得られた結果を、前記拘束条件として決定する、前記(1)から(3)のいずれかに記載のロボット制御装置。
(7)
 前記決定部は、前記ロボット装置の姿勢、前記把持部の角度、前記把持部を駆動するアームの角度の少なくとも一つの限界値を示す閾値を、前記拘束条件として決定する、前記(1)から(6)のいずれかに記載のロボット制御装置。
(8)
 前記取得部は、前記把持部が前記物体を把持した状態または前記把持部が前記物体を把持する前の状態を撮像した画像データを取得する、前記(1)から(7)のいずれかに記載のロボット制御装置。
(9)
 物体を把持する把持部を有するロボット装置が把持対象とする物体に関する物体情報を取得し、
 前記ロボット装置が前記物体を把持して実行する動作内容と、前記物体情報とに基づいて、前記動作内容を実行する際の拘束条件を決定する
 処理を実行するロボット制御方法。
(10)
 物体を把持する把持部を有するロボット装置が把持対象とする物体に関する物体情報を取得し、
 前記ロボット装置が前記物体を把持して実行する動作内容と、前記物体情報とに基づいて、前記動作内容を実行する際の拘束条件を決定する
 処理を実行させるロボット制御プログラム。
 10 ロボット装置
 20 記憶部
 21 タスクDB
 22 物体情報DB
 23 拘束条件DB
 24 設定値DB
 30 ロボット制御部
 31 物体情報取得部
 32 把持部
 33 駆動部
 40 制御部
 41 タスク管理部
 42 行動決定部
 43 拘束条件決定部
 44 計画部
 45 アーム制御部

Claims (10)

  1.  物体を把持する把持部を有するロボット装置が把持対象とする物体に関する物体情報を取得する取得部と、
     前記ロボット装置が前記物体を把持して実行する動作内容と、前記物体情報とに基づいて、前記動作内容を実行する際の拘束条件を決定する決定部と
     を有するロボット制御装置。
  2.  前記決定部は、前記動作内容が実行されるときに、前記物体に課せられる目的を達成するための条件を前記拘束条件として決定する、
     請求項1に記載のロボット制御装置。
  3.  前記決定部は、前記動作内容から前記拘束条件が決定できるか否かを判定し、決定できる場合は、前記動作内容から前記拘束条件を決定し、決定できない場合は、前記動作内容と前記物体情報とを用いて、前記拘束条件を決定する
     請求項1に記載のロボット制御装置。
  4.  前記ロボット装置が実行する各動作内容と前記各動作内容を実行するときの各物体情報との組み合わせに対応付けられた各拘束条件を記憶する記憶部を有し、
     前記決定部は、前記取得部により取得された物体情報と、前記物体情報に対応する物体を把持して実行される動作内容との組み合わせに基づいて、前記記憶部から前記拘束条件を決定する
     請求項1に記載のロボット制御装置。
  5.  入力データとして動作内容および物体情報が設定され、正解情報として拘束条件が設定される複数の教師データを用いてモデルを学習する学習部をさらに有し、
     前記決定部は、前記動作内容と前記物体情報とを、学習済みのモデルに入力して得られた結果を、前記拘束条件として決定する
     請求項1に記載のロボット制御装置。
  6.  入力データとして動作内容および物体情報が設定される複数の学習データを用いて強化学習を実行する学習部をさらに有し、
     前記決定部は、前記動作内容と前記物体情報とを、強化学習結果に入力して得られた結果を、前記拘束条件として決定する
     請求項1に記載のロボット制御装置。
  7.  前記決定部は、前記ロボット装置の姿勢、前記把持部の角度、前記把持部を駆動するアームの角度の少なくとも一つの限界値を示す閾値を、前記拘束条件として決定する
     請求項1に記載のロボット制御装置。
  8.  前記取得部は、前記把持部が前記物体を把持した状態または前記把持部が前記物体を把持する前の状態を撮像した画像データを取得する
     請求項1に記載のロボット制御装置。
  9.  物体を把持する把持部を有するロボット装置が把持対象とする物体に関する物体情報を取得し、
     前記ロボット装置が前記物体を把持して実行する動作内容と、前記物体情報とに基づいて、前記動作内容を実行する際の拘束条件を決定する
     処理を実行するロボット制御方法。
  10.  物体を把持する把持部を有するロボット装置が把持対象とする物体に関する物体情報を取得し、
     前記ロボット装置が前記物体を把持して実行する動作内容と、前記物体情報とに基づいて、前記動作内容を実行する際の拘束条件を決定する
     処理を実行させるロボット制御プログラム。
PCT/JP2019/034722 2018-10-10 2019-09-04 ロボット制御装置、ロボット制御方法及びロボット制御プログラム WO2020075423A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/281,495 US20210402598A1 (en) 2018-10-10 2019-09-04 Robot control device, robot control method, and robot control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018191997 2018-10-10
JP2018-191997 2018-10-10

Publications (1)

Publication Number Publication Date
WO2020075423A1 true WO2020075423A1 (ja) 2020-04-16

Family

ID=70164304

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/034722 WO2020075423A1 (ja) 2018-10-10 2019-09-04 ロボット制御装置、ロボット制御方法及びロボット制御プログラム

Country Status (2)

Country Link
US (1) US20210402598A1 (ja)
WO (1) WO2020075423A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326666A (zh) * 2021-07-15 2021-08-31 浙江大学 基于卷积神经网络可微分结构搜寻的机器人智能抓取方法
US20210283771A1 (en) * 2020-03-13 2021-09-16 Omron Corporation Control apparatus, robot, learning apparatus, robot system, and method
JP2022102930A (ja) * 2020-12-25 2022-07-07 肇也 矢原 制御システム、および学習済モデルの作成方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6728495B2 (ja) * 2016-11-04 2020-07-22 ディープマインド テクノロジーズ リミテッド 強化学習を用いた環境予測
JP7021158B2 (ja) * 2019-09-04 2022-02-16 株式会社東芝 ロボットシステムおよび駆動方法
US11645498B2 (en) * 2019-09-25 2023-05-09 International Business Machines Corporation Semi-supervised reinforcement learning

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007080733A1 (ja) * 2006-01-13 2007-07-19 Matsushita Electric Industrial Co., Ltd. ロボットアームの制御装置及び制御方法、ロボット、及びプログラム
JP2008055584A (ja) * 2006-09-04 2008-03-13 Toyota Motor Corp 物体把持を行うロボット及びロボットによる物体の把持方法
JP2008183629A (ja) * 2007-01-26 2008-08-14 Toyota Motor Corp ロボットおよびロボットの制御装置と制御方法
JP2018043338A (ja) * 2016-09-16 2018-03-22 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP2018118343A (ja) * 2017-01-25 2018-08-02 株式会社安川電機 ハンドリングシステム及びコントローラ
WO2018143003A1 (ja) * 2017-01-31 2018-08-09 株式会社安川電機 ロボットパス生成装置及びロボットシステム
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6128767B2 (ja) * 2012-07-05 2017-05-17 キヤノン株式会社 ロボット制御装置、及びロボット制御方法
WO2015129474A1 (ja) * 2014-02-28 2015-09-03 ソニー株式会社 ロボットアーム装置、ロボットアーム制御方法及びプログラム
JP2018051647A (ja) * 2016-09-27 2018-04-05 セイコーエプソン株式会社 ロボット制御装置、ロボット、及びロボットシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007080733A1 (ja) * 2006-01-13 2007-07-19 Matsushita Electric Industrial Co., Ltd. ロボットアームの制御装置及び制御方法、ロボット、及びプログラム
JP2008055584A (ja) * 2006-09-04 2008-03-13 Toyota Motor Corp 物体把持を行うロボット及びロボットによる物体の把持方法
JP2008183629A (ja) * 2007-01-26 2008-08-14 Toyota Motor Corp ロボットおよびロボットの制御装置と制御方法
JP2018043338A (ja) * 2016-09-16 2018-03-22 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP2018118343A (ja) * 2017-01-25 2018-08-02 株式会社安川電機 ハンドリングシステム及びコントローラ
WO2018143003A1 (ja) * 2017-01-31 2018-08-09 株式会社安川電機 ロボットパス生成装置及びロボットシステム
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210283771A1 (en) * 2020-03-13 2021-09-16 Omron Corporation Control apparatus, robot, learning apparatus, robot system, and method
US11745338B2 (en) * 2020-03-13 2023-09-05 Omron Corporation Control apparatus, robot, learning apparatus, robot system, and method
JP2022102930A (ja) * 2020-12-25 2022-07-07 肇也 矢原 制御システム、および学習済モデルの作成方法
JP7129673B2 (ja) 2020-12-25 2022-09-02 肇也 矢原 制御システム、および学習済モデルの作成方法
CN113326666A (zh) * 2021-07-15 2021-08-31 浙江大学 基于卷积神经网络可微分结构搜寻的机器人智能抓取方法
CN113326666B (zh) * 2021-07-15 2022-05-03 浙江大学 基于卷积神经网络可微分结构搜寻的机器人智能抓取方法

Also Published As

Publication number Publication date
US20210402598A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
WO2020075423A1 (ja) ロボット制御装置、ロボット制御方法及びロボット制御プログラム
Kartoun et al. A human-robot collaborative reinforcement learning algorithm
US9687984B2 (en) Apparatus and methods for training of robots
US6072466A (en) Virtual environment manipulation device modelling and control
JP4056080B2 (ja) ロボットアームの制御装置
JP4568795B2 (ja) ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
JP6931457B2 (ja) モーション生成方法、モーション生成装置、システム及びコンピュータプログラム
Selvaggio et al. A shared-control teleoperation architecture for nonprehensile object transportation
Argall et al. Tactile guidance for policy refinement and reuse
Khansari-Zadeh et al. Learning to play minigolf: A dynamical system-based approach
JPWO2009001550A1 (ja) ロボットアームの制御装置及び制御方法、ロボット、及びプログラム
JP2022543926A (ja) ロボットシステムのためのデリバティブフリーモデル学習のシステムおよび設計
US20210394362A1 (en) Information processing device, control method, and program
CN114516060A (zh) 用于控制机器人装置的设备和方法
Argall et al. Tactile guidance for policy adaptation
Rhodes et al. Robot-driven trajectory improvement for feeding tasks
Nemec et al. Speed adaptation for self-improvement of skills learned from user demonstrations
Iturrate et al. Quick setup of force-controlled industrial gluing tasks using learning from demonstration
JP7452657B2 (ja) 制御装置、制御方法及びプログラム
TWI835638B (zh) 於非對稱策略架構下以階層式強化學習訓練主策略的方法
Langsfeld Learning task models for robotic manipulation of nonrigid objects
US20220355490A1 (en) Control device, control method, and program
JP2022122670A (ja) ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
Mao et al. Co-active learning to adapt humanoid movement for manipulation
Anand et al. Data-efficient reinforcement learning for variable impedance control

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19871205

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP