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

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

Info

Publication number
WO2025263185A1
WO2025263185A1 PCT/JP2025/017873 JP2025017873W WO2025263185A1 WO 2025263185 A1 WO2025263185 A1 WO 2025263185A1 JP 2025017873 W JP2025017873 W JP 2025017873W WO 2025263185 A1 WO2025263185 A1 WO 2025263185A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
information
command value
driving
conversion unit
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
PCT/JP2025/017873
Other languages
English (en)
French (fr)
Inventor
翔 境野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Tsukuba NUC
Original Assignee
University of Tsukuba NUC
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 University of Tsukuba NUC filed Critical University of Tsukuba NUC
Publication of WO2025263185A1 publication Critical patent/WO2025263185A1/ja
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators

Definitions

  • the present invention relates to a robot control device, a robot control method, and a program.
  • Non-Patent Document 1 Technologies for controlling the autonomous movement of robots are known.
  • technologies such as those described in Non-Patent Document 1 can be cited.
  • Non-Patent Document 1 information such as images and language is converted to generate command values for a robot.
  • information such as images and language is converted to generate command values for a robot.
  • command values there is a problem in that simply converting to command values does not allow for appropriate evaluation of the operation results. In other words, if the robot's operation based on the generated command values deviates from the desired operation (or if a deviation occurs), it is difficult to accurately correct it.
  • the present invention therefore aims to provide a robot control device, robot control method, and program that can correct command values to more accurate values through repeated learning, even when there is a discrepancy between the command values and the robot's operation.
  • One aspect of the present invention is a robot control device comprising: a first conversion unit that converts input information into command values for controlling a robot; a robot driving unit that has a machine learning model that infers parameters for driving the robot based on the command values output by the first conversion unit, and drives the robot based on the inference results of the machine learning model; and a second conversion unit that converts information obtained as a result of driving the robot into a response value of the same dimension as the command value; and the robot control device repeatedly learns the machine learning model by performing a second trial using a value obtained by correcting the command value based on the error between the command value and the response value in a first trial.
  • the degree of freedom of the command value output by the first conversion unit is lower than the degree of freedom of the input information.
  • high-dimensional information having values at each coordinate in a two-dimensional coordinate system is input to the first conversion unit, and the first conversion unit converts the high-dimensional information into the command value having a lower dimension based on the high-dimensional information.
  • image information is input to the first conversion unit, and the first conversion unit converts the image information into a command value with a lower dimensionality than the number of dimensions of the image information, and the second conversion unit converts the image obtained as a result of driving the robot into a response value.
  • the first conversion unit converts, into the command value, image information showing at least a portion of the robot and the driving parameters of the robot at the time the image information was captured as input information.
  • the robot control device described in any one of (1) to (5) above further includes an optimization information acquisition unit that acquires information regarding whether time, energy, or travel distance should be prioritized when driving the robot, and the machine learning model infers parameters for driving the robot based on whether time, energy, or travel distance should be prioritized, based on the information acquired by the optimization information acquisition unit.
  • One aspect of the present invention is a robot system comprising a machine learning model trained by the learning device described in any one of (1) to (6) above, and the robot driven based on the command value inferred by the machine learning model.
  • One aspect of the present invention is a robot control method comprising: a first conversion step of converting input information into command values for controlling a robot; a robot driving step of using a machine learning model to infer parameters for driving the robot based on the command values output by the first conversion step and driving the robot based on the inference results from the machine learning model; and a second conversion step of converting information obtained as a result of driving the robot into a response value of the same dimension as the command value, and repeating learning of the machine learning model by performing a second trial using a value obtained by correcting the command value based on the error between the command value and the response value in a first trial.
  • One aspect of the present invention is a robot control device comprising: a first conversion unit that converts input sound information into command values for controlling a robot; a machine learning model that infers parameters for driving the robot based on the command values output by the first conversion unit, a robot driving unit that drives the robot based on the inference results of the machine learning model; and a second conversion unit that converts sound information obtained as a result of driving the robot into a response value of the same dimension as the command values, wherein the machine learning model infers parameters for driving the robot so that the sound information obtained as a result of driving the robot falls within a predetermined range based on the sound information input to the first conversion unit.
  • One aspect of the present invention is a program that causes a computer to execute various steps, the program comprising: a first conversion step of converting input information into command values for controlling a robot; a robot driving step of using a machine learning model to infer parameters for driving the robot based on the command values output by the first conversion step and driving the robot based on the inference results from the machine learning model; and a second conversion step of converting information obtained as a result of driving the robot into a response value of the same dimension as the command value, and the program repeatedly learns the machine learning model by performing a second trial using a value obtained by correcting the command value based on the error between the command value and the response value in a first trial.
  • One aspect of the present invention is a robot control device comprising: a first conversion unit that converts input information into command values for controlling a robot; a robot driving unit having a machine learning model that infers parameters for driving the robot based on the command values output by the first conversion unit, and that drives the robot based on the inference results of the machine learning model; and a second conversion unit that converts information obtained as a result of driving the robot into a response value of the same dimension as the command value; and the device repeatedly learns the machine learning model by performing an (n+1)th trial using a value obtained by correcting the command value based on the error between the command value and the response value in the nth trial (n is a natural number greater than or equal to 1).
  • FIG. 1 is an example for describing a robot system according to an embodiment.
  • FIG. 2 is a diagram illustrating an example of a functional configuration of a robot control device according to the present embodiment.
  • FIG. 2 is a diagram illustrating an example of a functional configuration of the robot device according to the present embodiment.
  • FIG. 10 is a diagram for explaining an example of repetitive control performed by the robot system according to the present embodiment.
  • 10A and 10B are diagrams for explaining a modified example of the repetitive control performed by the robot system according to the present embodiment.
  • 1 is a flowchart showing a series of steps of a robot control method according to the present embodiment.
  • FIG. 1 is a diagram for explaining a first specific example to which the robot system according to the present embodiment is applied.
  • FIG. 10 is a diagram for explaining a second specific example to which the robot system according to the present embodiment is applied.
  • FIG. 10 is a diagram for explaining a third specific example to which the robot system according to the present embodiment is applied.
  • FIG. 10 is a diagram for explaining a fourth specific example to which the robot system according to the present embodiment is applied.
  • FIG. 10 is a diagram for explaining a fifth specific example to which the robot system according to the present embodiment is applied.
  • FIG. 2 is a diagram showing an example of an internal block diagram of hardware included in the robot control device according to the present embodiment.
  • FIG. 1 is an example for explaining a robot system according to one embodiment.
  • the robot system 1 includes a robot control device 10 and a robot device 20.
  • the scope of application of the robot system 1 according to this embodiment broadly includes systems that include a robot that includes one or more moving parts (which can also be referred to as joints, motors, etc.).
  • the robot control device 10 controls the robot device 20. Specifically, the robot control device 10 controls the robot device 20 by outputting a predetermined drive signal.
  • the predetermined drive signal may be inferred using a pre-trained model.
  • Inference using the trained model is performed based on information input to the robot control device 10.
  • the information input to the robot control device 10 can also be said to be the target values that the robot device 20 aims to drive.
  • One example of information input to the robot control device 10 may be information that is directly used to control the robot device 20, such as angles or torque.
  • the information input to the robot control device 10 is not limited to information that is directly used to control the robot device 20, but may also be information that is indirectly used to control the robot device 20, such as images, sounds, or language.
  • the robot control device 10 also acquires a response signal obtained as a result of controlling the robot device 20.
  • the machine learning model included in the robot control device 10 learns the difference between a command value derived from input information (target value) and a response value derived from a response signal obtained as a result of controlling the robot device 20 as the error between the command value and the response value.
  • learning is performed not only based on the command value, but also on the response value when the robot device 20 is driven by that command value.
  • the robot system 1 performs learning to reduce the error between the command value and the response value, and corrects any discrepancies between the command value and the robot's operation. In particular, by repeatedly learning, the robot system 1 can correct the command value to a more accurate value.
  • An example of the specific functional configuration of the robot control device 10 will be described later.
  • the robot device 20 has at least one sensor and acquires some kind of information.
  • the robot device 20 performs some kind of function by driving at least one motor in accordance with the acquired information.
  • the robot device 20 may treat the information obtained as a result of driving the motor as information obtained from a sensor. An example of the specific functional configuration of the robot device 20 will be described later.
  • FIG. 2 is a diagram illustrating an example of the functional configuration of a robot control device according to this embodiment. An example of the functional configuration of the robot control device 10 will be described with reference to the diagram.
  • the robot control device 10 includes a control information acquisition unit 11, an optimization information acquisition unit 12, a control unit 13, a memory unit 14, and a robot driving unit 15.
  • the control information acquisition unit 11 acquires control information for controlling the robot device 20.
  • the control information may be, for example, information such as angle or torque that is used directly to control the robot device 20.
  • the control information may also be position information indicating the movement of a part of the robot device 20 (for example, the tip of an arm) as a result of operation using the angle or torque. This position information may be expressed, for example, by an image, and used as control information. When the control information is expressed by an image, the control information may also be the trajectory of movement of the robot device 20, etc.
  • control information may be sound.
  • sound information generated as a result of a part of the robot device 20 for example, the tip of an arm
  • control information for example, when the robot device 20 performs an action of rubbing an object against itself, the target value of the sound generated as a result of the rubbing can be used as control information for the sound.
  • control information may be in the form of language.
  • instructions in natural language such as "move 5 meters ahead” or “grab the cup on the shelf” may be input to the robot device 20 as control information.
  • the language control information may be in the form of text data or voice information.
  • the control information acquisition unit 11 may be a microphone.
  • the optimization information acquisition unit 12 can acquire information regarding what to prioritize when optimizing the control of the robot device 20.
  • Optimization information may be, for example, information regarding which of time, energy, or travel distance to prioritize when driving.
  • Specific examples of optimization information may include, for example, selecting time, energy, or travel distance, or inputting a specific numerical value. Examples of when a specific numerical value is input include “complete operation within 10 seconds,” “operate so that power consumption is 100 W (watts) or less,” and "limit travel distance to 10 m or less.”
  • optimization information acquisition unit 12 acquires optimization information by the optimization information acquisition unit 12 .
  • the optimization information acquisition unit 12 is not necessarily a required component.
  • the control unit 13 performs comprehensive control of the robot control device 10.
  • the control unit 13 performs comprehensive control of the robot control device 10 by executing a robot control program stored in the memory unit 14.
  • the storage unit 14 is a memory for storing information.
  • the storage unit 14 may include non-volatile memory for storing the robot control program and volatile memory for storing temporary information used for control.
  • the robot driving unit 15 drives the robot device 20 by outputting a driving signal to the robot device 20.
  • the robot driving unit 15 includes a learning unit 151, an inference unit 152, and a machine learning model 153.
  • the learning unit 151 learns the machine learning model 153.
  • the learning of the machine learning model 153 may be performed, for example, by supervised learning.
  • the learning unit 151 may perform supervised learning using the operation of the leader device (master device) and the operation of the follower device (slave device) as training data.
  • the inference unit 152 performs inference using the machine learning model 153, which is a trained model that has been trained in advance by the learning unit 151.
  • the inference unit 152 obtains an inference result by inputting the control information acquired by the control information acquisition unit 11, or information generated by processing the control information (which can also be called converted information), as input information to the machine learning model 153.
  • the optimization information acquired by the optimization information acquisition unit 12 may also be input to the machine learning model 153 to perform inference.
  • the machine learning model 153 is trained to infer parameters that drive the robot.
  • the parameters may be the torque of the motor of the robot device 20, etc.
  • the machine learning model 153 may also infer parameters that drive the robot device 20, placing emphasis on time, energy, or travel distance, based on the optimization information acquired by the optimization information acquisition unit 12.
  • FIG. 3 is a diagram illustrating an example of the functional configuration of a robot device according to this embodiment. An example of the functional configuration of the robot device 20 will be described with reference to the diagram.
  • the robot device 20 includes a communication unit 21, a robot control unit 22, a memory unit 23, a motor 24, and a sensor 25.
  • the robot control unit 22 controls the movement of the robot.
  • the robot control unit 22 operates based on the control program stored in the memory unit 23 and command values acquired via the communication unit 21.
  • the robot control unit 22 drives the motor 24, for example, by outputting a motor drive signal to the motor 24.
  • the motor 24 drives, for example, a joint. While the diagram shows one motor 24 as an example, the robot device 20 may be equipped with multiple motors 24.
  • the multiple motors 24 may be of different types (for example, an AC motor and a DC motor).
  • the robot control unit 22 also acquires sensor values detected by the sensor 25. While the diagram shows one sensor 25 as an example, the robot device 20 may be equipped with multiple sensors 25.
  • the multiple sensors 25 may be of different types (for example, a photointerrupter and a Hall sensor).
  • the robot control unit 22 may control the driving of the motor 24 based on the acquired sensor values.
  • the degree of freedom of the command value output by the first conversion unit 41 is lower than the degree of freedom of the input information.
  • the dimension of the information (or the input degrees of freedom) is reduced.
  • the information input to the first conversion unit 41 is image information such as an RGB image
  • the RGB image is not treated as three-dimensional information in which pixel values correspond to two-dimensional coordinates, but rather as high-dimensional information in which each coordinate can have multiple pixel values (e.g., 256 bits).
  • the first conversion unit 41 converts this high-dimensional information into low-dimensional information known as command values.
  • image information is input to the first conversion unit 41, and based on the input image information, the first conversion unit 41 converts the image information into command values with a lower dimensionality than the number of dimensions possessed by the image information.
  • the robot driving unit 15 uses the machine learning model 153 to infer parameters for driving the robot device 20 based on the command value x cmd output by the first conversion unit 41.
  • the robot driving unit 15 drives the robot device 20 by outputting a drive signal to the robot device 20 based on the inference result by the machine learning model 153.
  • the machine learning model 153 may infer parameters for driving the robot device 20 so that the sound information obtained as a result of driving the robot falls within a predetermined range based on the sound information input to the first conversion unit 41.
  • the predetermined response value may be, for example, an angle, torque, an image, sound, language, etc.
  • the predetermined response value may be acquired by a sensor 25 provided in the robot device 20, or a camera, microphone, etc. (not shown).
  • the predetermined response value is equivalent to the information input to the first conversion unit 41 (for example, if an image is input as the target value, the image is obtained as the response value), but this is not a limitation.
  • the predetermined response value and the information input to the first conversion unit 41 may be in different formats.
  • the second conversion unit 42 converts the obtained response value (i.e., information obtained as a result of driving the robot device 20) into a response value xres of the same dimension as the command value xcmd output by the first conversion unit 41.
  • the second conversion unit 42 converts the response value xres based on the obtained image.
  • the controller 43 defines the difference between the command value x cmd and the response value x res as the error e, corrects the command value x cmd converted by the first conversion unit 41 based on the error e, and inputs it to the robot driving unit 15 in the second trial.
  • the diagram shows only the first two trials, it is possible to repeat learning from the third trial onwards using the same procedure as the second trial.
  • the first trial can also be described as the nth trial (n is a natural number greater than or equal to 1), and the second trial as the (n+1)th trial.
  • errors can be evaluated offline (models that learn by looking backward from the future can look ahead), and control inputs that will reduce future errors can be calculated (the controller corrects the command value based on the error e).
  • learning can be performed offline (500 samples/second), all samples in the operation process can be evaluated, and the machine learning model can be trained repeatedly. In this case, more efficient learning can be achieved than with reinforcement learning, which does not evaluate intermediate samples and only learns the resulting error.
  • an operation process consisting of multiple samples can be treated as one trial, and the errors of all samples can be evaluated in each trial, and the next trial can be corrected using this error for repeated learning.
  • learning may be performed by comparing ambiguous target values with the robot's operation results, or learning may be performed including a first conversion unit that converts ambiguous target values into command values.
  • FIG. 5 is a diagram for explaining a modified example of the repetitive control performed by the robot system according to this embodiment.
  • VLA Vision Language Action
  • VLA models excel at controlling general-purpose (greatest common denominator) operations.
  • control using the VLA model alone may be insufficient. Therefore, according to this embodiment, by repeatedly learning using the output value from the VLA model as the target value, it is possible to make general-purpose operations (which can also be considered rough commands) smoother by converting them into operations specialized for a specific application (which can also be considered more precise commands).
  • FIG. 6 is a flowchart showing the sequence of steps in the robot control method according to this embodiment.
  • the sequence of steps in the robot control method according to this embodiment will be explained with reference to this figure. Note that the robot control method explained with reference to this figure may be performed using the robot control device 10 described above. Furthermore, a computer program that executes the sequence of steps in the robot control method shown in this figure may be simply referred to as a program.
  • Step S11 First, target values such as angle, torque, image, sound, and language are input to the first conversion unit 41.
  • Step S12 The first conversion unit 41 converts the input information into a command value x cmd .
  • Step S13 Based on the obtained command value x cmd , the robot driving unit 15 uses the machine learning model 153 to infer driving parameters for driving the robot device 20. Based on the inference result, the robot driving unit 15 outputs a driving signal to the robot device 20 to drive the robot.
  • Step S14 information regarding the results of driving the robot device 20 is acquired.
  • This information may be, for example, angle, torque, image, sound, language, etc.
  • Step S15 The second conversion unit 42 converts the information obtained in step S14 into a response value x res .
  • Step S17 If the nth trial (next trial) is to be performed through repeated learning (i.e., Step S17; YES), processing proceeds to Step S18. If the nth trial (next trial) is not to be performed through repeated learning (i.e., Step S17; NO), processing ends.
  • Step S18 When the nth trial (next trial) is performed by repeated learning, a new command value is calculated based on the command value x cmd and the error e. Based on the calculated new command value, steps S13 and subsequent steps are repeated.
  • FIG. 7 is a diagram illustrating a first specific example to which the robot system according to this embodiment is applied.
  • the robot device 20 is an experimental robot (hereinafter sometimes referred to as a writing robot) that has a writing unit at the end of its arm and writes on an object to be written on, such as paper.
  • a writing robot that has a writing unit at the end of its arm and writes on an object to be written on, such as paper.
  • the image information shown in Fig. 7(B) is input to the first conversion unit 41.
  • the first conversion unit 41 converts the image information into a command value x cmd, which is information (e.g., torque of each motor) on how to drive each unit of the robot device 20 to write the characters, figures, symbols, etc. shown in the image information shown in Fig. 7(B).
  • the input information to the second conversion unit 42 is an image captured by an imaging device (not shown) included in the robot device 20 (an image resulting from actual writing by the robot device 20). Based on the image information, the second conversion unit 42 converts the image information into a response value xres , which is information (e.g., the torque of each motor) on how to drive each component included in the robot device 20 to write characters, figures, symbols, etc. shown in the captured image information. Because the command value xcmd and the response value xres are of the same dimension, it is possible to calculate the error e by comparing them with each other.
  • Figure 8 (A) shows an example of the appearance of robot device 20, which is a cleaning robot.
  • a brush attached to the end of the arm is brought into contact with an object to be cleaned, such as a toilet bowl.
  • the cleaning robot cleans the object by sliding the brush while pressing the brush against the object with an appropriate amount of force.
  • the information input to the first conversion unit 41 may be sound information such as that shown in Figure 8 (B).
  • the horizontal axis of the sound information in this figure represents time, and the vertical axis represents amplitude (sound pressure).
  • This sound information is the sound produced when the brush is rubbed against the object to be cleaned with an appropriate amount of force.
  • the cleaning robot performs cleaning by sliding the brush, targeting this sound information. Note that in this case, only the target sound information may be input, or two pieces of sound information, an upper limit and a lower limit, may also be input.
  • image information when the brush comes into contact with the object to be cleaned, torque information at that time, etc. may also be input.
  • the sound information shown in Fig. 8(B) is input to the first conversion unit 41.
  • the first conversion unit 41 converts the sound information into a command value x cmd, which is information (e.g., the torque of each motor) indicating how each component of the robot device 20 should be driven to perform an operation that generates the sound shown in the sound information shown in Fig. 8( B ).
  • the input information to the second conversion unit 42 is sound picked up by a microphone (not shown) provided in the robot device 20 (the sound produced when the robot device 20 actually cleans).
  • the second conversion unit 42 converts the sound information into a response value xres, which is information (e.g., the torque of each motor) on how to drive each component provided in the robot device 20 to generate the sound indicated in the picked-up sound information. Because the command value xcmd and the response value xres are of the same dimension, it is possible to calculate the error e by comparing them with each other.
  • FIG. 9 is a diagram illustrating a third specific example to which the robot system according to this embodiment is applied.
  • the robot device 20 is an experimental robot (hereinafter, sometimes referred to as a mobile robot) that moves autonomously while avoiding obstacles.
  • the mobile robot may have functions such as the ability to grasp and move luggage, and the ability to clean its own bottom as a result of moving.
  • the purpose of the mobile device's movement is not important.
  • the robot device 20 is a cleaning robot will be described.
  • Figure 9 (A) shows the appearance of robot device 20, which is a mobile robot, and an example of a location to which it can move.
  • the trajectory of the mobile robot's movement is indicated by an arrow. By moving along the trajectory indicated by the arrow, the mobile robot can avoid obstacles.
  • the information input to the first conversion unit 41 may be image information such as that shown in FIG. 9(B).
  • the start point of the movement is indicated as "S” and the goal point of the movement is indicated as "G".
  • the trajectory of movement from the start point to the movement point is arbitrary.
  • the optimization information acquired by the optimization information acquisition unit 12 may be used to determine whether to prioritize time, energy, movement distance, etc. when performing movement.
  • the information input to the first conversion unit 41 is the image information shown in Fig. 9(B) .
  • the first conversion unit 41 converts the image information into a command value x cmd, which is information (e.g., the torque of each motor) on how to drive each unit of the robot device 20 to achieve the movement shown in the image information shown in Fig. 9(B) .
  • the input information to the second conversion unit 42 is an image (the actual movement path of the robot device 20) captured by a camera (not shown) provided in the robot device 20 or installed in a location overlooking the movement range of the robot device 20.
  • the path may be shown as a video.
  • the second conversion unit 42 converts the image or video information into a response value xres , which is information (e.g., the torque of each motor) on how to drive each component provided in the robot device 20 to move the robot device 20 along the path shown in the acquired image or video information. Because the command value xcmd and the response value xres are of the same dimension, it is possible to calculate the error e by comparing them with each other.
  • FIG. 10 is a diagram illustrating a fourth specific example to which the robot system according to this embodiment is applied.
  • the robot device 20 is an experimental robot (hereinafter sometimes referred to as a cooking robot) that cooks meat or other objects by heating them using a cooking utensil such as a frying pan.
  • a cooking robot a specific example in which the robot device 20 is a cooking robot will be described with reference to this figure.
  • Figure 10 (A) shows the external appearance of robot device 20, which is a cooking robot.
  • the cooking robot is grilling meat in a frying pan.
  • Robot device 20, which is a cooking robot grasps tongs (or drives an arm portion having the function of tongs), moves the meat to a suitable location, and pulls the meat out of the frying pan at the appropriate timing, thereby cooking the meat to the desired doneness.
  • the information input to the first conversion unit 41 may be thermal image information such as that shown in Figure 10 (B).
  • the thermal image information shown in the figure shows temperature distribution information when meat has reached the desired doneness.
  • the thermal image information may also be the temperature distribution when meat is placed in a frying pan.
  • the information input to the first conversion unit 41 is the thermal image information shown in FIG. 10(B).
  • Sound information indicating that the meat is cooked to the desired doneness e.g., sound information such as that shown in FIG. 8(B)
  • the first conversion unit 41 converts the information into a command value x cmd, which is information (e.g., the torque of each motor) indicating how to drive each component of the robot device 20 to achieve the desired cooking as indicated by the thermal image information shown in FIG. 10(B) or the sound information shown in FIG . 8(B).
  • the input information to the second conversion unit 42 is a thermal image captured by a thermal camera (not shown) provided in the robot device 20, or sound information collected by a microphone (not shown) provided in the robot device 20.
  • the second conversion unit 42 Based on at least one of the thermal image and the sound information, the second conversion unit 42 converts the thermal image and the sound information into a response value xres, which is information (e.g., the torque of each motor) on how to drive each component of the robot device 20 to achieve the desired level of doneness indicated in the acquired thermal image or the collected sound information . Because the command value xcmd and the response value xres are of the same dimension, it is possible to calculate the error e by comparing them.
  • FIG. 11 is a diagram illustrating a fifth specific example to which the robot system according to this embodiment is applied.
  • the robot device 20 is an experimental robot (hereinafter sometimes referred to as a grasping robot) that grasps some kind of grasping object using a grasping unit equipped with a tactile sensor.
  • a grasping robot an experimental robot that grasps some kind of grasping object using a grasping unit equipped with a tactile sensor.
  • Figure 11 (A) shows the external appearance of robot device 20, which is a gripping robot.
  • the gripping robot uses two gripping units (arms) to grip an object to be gripped.
  • the surfaces where the gripping units and the object to be gripped come into contact are equipped with tactile sensors that can measure the planar pressure distribution.
  • Robot device 20, which is a gripping robot may grip the object to be gripped and transport it to a predetermined location.
  • the information input to the first conversion unit 41 may be pressure distribution information such as that shown in FIG. 11(B).
  • the pressure distribution information shown in the figure indicates the pressure distribution when the object to be grasped is optimally grasped.
  • the pressure distribution information shown in Fig. 11(B) is input to the first conversion unit 41.
  • the first conversion unit 41 converts the pressure distribution information into a command value x cmd , which is information (e.g., the torque of each motor) on how to drive each component of the robot device 20 to achieve a suitable grip so as to obtain the pressure distribution information shown in Fig. 11(B).
  • the input information to the second conversion unit 42 is pressure distribution information acquired by a tactile sensor provided in the robot device 20.
  • the second conversion unit 42 converts the pressure distribution information into a response value xres, which is information (e.g., the torque of each motor) on how to drive each component provided in the robot device 20 to achieve a suitable grip indicated in the acquired pressure distribution information. Because the command value xcmd and the response value xres are of the same dimension, it is possible to calculate the error e by comparing them with each other.
  • Figure 12 is a diagram showing an example of an internal block diagram of hardware provided in a robot control device according to this embodiment.
  • the computer is composed of a central processing unit 901, RAM 902, input/output port 903, input/output devices 904 and 905, etc., and bus 906.
  • the computer itself can be implemented using existing technology.
  • the central processing unit 901 executes instructions contained in programs read from RAM 902, etc. In accordance with each instruction, the central processing unit 901 writes data to RAM 902, reads data from RAM 902, and performs arithmetic and logical operations.
  • RAM 902 stores data and programs. Each element included in RAM 902 has an address and can be accessed using the address.
  • the RAM is an abbreviation for "random access memory.”
  • the input/output port 903 is a port through which the central processing unit 901 exchanges data with external input/output devices, etc.
  • the input/output devices 904 and 905 are input/output devices.
  • the input/output devices 904 and 905 exchange data with the central processing unit 901 via the input/output port 903.
  • the bus 906 is a common communication path used within the computer.
  • the central processing unit 901 reads and writes data from the RAM 902 via the bus 906.
  • the central processing unit 901 accesses the input/output port via the bus 906.
  • all or part of the functional units provided in the robot control device 10 may be implemented using hardware such as an ASIC, PLD, or FPGA.
  • all or part of the functional units may be implemented using a combination of software and hardware.
  • the robot control device 10 includes the first conversion unit 41, which converts input information into command values for controlling the robot device 20.
  • the robot driving unit 15 uses the machine learning model 153 to infer parameters for driving the robot device 20 based on the command values output by the first conversion unit 41, and drives the robot device 20 based on the inference results from the machine learning model 153.
  • the second conversion unit 42 converts information obtained as a result of driving the robot device 20 into a response value of the same dimension as the command value.
  • the robot control device 10 repeatedly learns the machine learning model by performing a second trial using a value obtained by correcting a command value based on the error between the command value and the response value in a first trial as a new command value. This configuration enables accurate correction of the command value even when the robot's operation does not match the command value.
  • the degree of freedom of the command value output by the first conversion unit 41 is lower than the degree of freedom of the input information.
  • the first conversion unit 41 converts the input information into information with a lower dimension (input degrees of freedom) than the input information.
  • the first conversion unit 41 converts into a command value input information that includes image information showing at least a portion of the robot device 20 and the driving parameters of the robot device 20 at the time the image information was captured. In this way, by using input information with a larger amount of information, it becomes possible to correct the command value with greater accuracy.
  • the robot control device 10 is equipped with an optimization information acquisition unit 12, thereby acquiring information regarding whether to prioritize time, energy, or travel distance when driving. Furthermore, the machine learning model 153 infers parameters for driving the robot device 20, based on whether to prioritize time, energy, or travel distance, based on the information acquired by the optimization information acquisition unit 12.
  • the optimization information acquisition unit 12 By adopting such a configuration, it is possible to perform driving in line with the user's requests. Furthermore, by adopting such a configuration, it becomes possible to perform inferences that are better (e.g., faster) than when learning is performed by a human being.
  • the robot control device 10 includes a first conversion unit 41 that converts input sound information into command values for controlling the robot device 20.
  • the robot driving unit 15 uses a machine learning model 153 to infer parameters for driving the robot device 20 based on the command values output by the first conversion unit 41, and drives the robot device 20 based on the inference results from the machine learning model 153.
  • the second conversion unit 42 converts sound information obtained as a result of driving the robot device 20 into a response value of the same dimension as the command value.
  • the machine learning model 153 also infers parameters for driving the robot device 20 so that the sound information obtained as a result of driving the robot device 20 falls within a predetermined range based on the sound information input to the first conversion unit 41.
  • each unit of the robot control device 10 in the above-described embodiment may be realized by recording a program for realizing these functions on a computer-readable recording medium, and then loading and executing the program recorded on this recording medium into a computer system.
  • computer system here includes hardware such as the OS and peripheral devices.
  • “computer-readable recording medium” refers to portable media such as flexible disks, optical magnetic disks, ROMs, and CD-ROMs, as well as storage units such as hard disks built into computer systems. Furthermore, “computer-readable recording medium” may also include devices that dynamically store programs for a short period of time, such as communication lines when transmitting programs over networks like the Internet or communication lines like telephone lines, or devices that store programs for a fixed period of time, such as volatile memory within computer systems that serve as servers or clients in such cases. Furthermore, the above-mentioned programs may be those that implement some of the functions described above, or may be those that can implement the functions described above in combination with programs already stored in the computer system.
  • the command value can be corrected to a more accurate value.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

ロボット制御装置は、入力された情報を、ロボットを制御するための指令値に変換する第1変換部と、前記第1変換部により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行う機械学習モデルを有し、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動部と、前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換部と、を備え、第1試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第2試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う。

Description

ロボット制御装置、ロボット制御方法及びプログラム
 本発明は、ロボット制御装置、ロボット制御方法及びプログラムに関する。
 本願は、2024年6月20日に日本に出願された特願2024-099569について優先権を主張し、その内容をここに援用する。
 従来、ロボットの自律的な動作を制御する技術が知られている。このような技術分野において、例えば、非特許文献1のような技術を例示することができる。
 非特許文献1に記載された技術によれば、画像や言語等の情報を変換し、ロボットの指令値を生成している。しかしながら、指令値への変換だけでは、動作結果を好適に評価することができないといった問題があった。言い換えれば、生成した指令値によるロボットの動作が、所望の動作から外れていた場合(又はずれが生じていた場合)、精度よく補正することが困難であるといった問題があった。
 そこで本発明は、指令値とロボットの動作がずれている場合であっても、繰り返し学習により精度のよい指令値に補正することが可能な、ロボット制御装置、ロボット制御方法及びプログラムの提供を目的とする。
(1)本発明の一態様は、入力された情報を、ロボットを制御するための指令値に変換する第1変換部と、前記第1変換部により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行う機械学習モデルを有し、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動部と、前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換部と、を備え、第1試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第2試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う、ロボット制御装置である。
(2)本発明の一態様は、上記(1)に記載のロボット制御装置において、前記第1変換部により出力される前記指令値の自由度は、入力される情報の自由度より低いものである。
(3)本発明の一態様は、上記(1)又は(2)に記載のロボット制御装置において、前記第1変換部には、二次元座標系における各座標に値を有する高次元情報が入力され、前記第1変換部は、前記高次元情報に基づき、前記高次元情報より低次元の前記指令値に変換するものである。
(4)本発明の一態様は、上記(1)から(3)のいずれかに記載のロボット制御装置において、前記第1変換部には、画像情報が入力され、前記第1変換部は、前記画像情報に基づき、前記画像情報が有する次元数より低次元の前記指令値に変換し、前記第2変換部は、前記ロボットの駆動が行われた結果として得られた画像に基づき、前記応答値に変換するものである。
(5)本発明の一態様は、上記(1)から(4)のいずれかに記載のロボット制御装置において、前記第1変換部は、前記ロボットの少なくとも一部が写された画像情報と、当該画像情報が撮像された時点における前記ロボットの駆動パラメータとを入力情報として、前記指令値に変換するものである。
(6)本発明の一態様は、上記(1)から(5)のいずれかに記載のロボット制御装置において、時間、エネルギー、又は移動距離のいずれを重視した駆動を行うかに関する情報を取得する最適化情報取得部を更に備え、前記機械学習モデルは、前記最適化情報取得部により取得された情報に更に基づき、時間、エネルギー、又は移動距離のいずれを重視して、前記ロボットを駆動させるパラメータの推論を行うものである。
(7)本発明の一態様は、上記(1)から(6)のいずれかに記載の学習装置により学習された機械学習モデルと、前記機械学習モデルにより推論された前記指令値に基づき駆動される前記ロボットと、を備えるロボットシステムである。
(8)本発明の一態様は、入力された情報を、ロボットを制御するための指令値に変換する第1変換工程と、機械学習モデルを用いて、前記第1変換工程により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行い、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動工程と、前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換工程と、を有し、第1試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第2試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う、ロボット制御方法である。
(9)本発明の一態様は、入力された音情報を、ロボットを制御するための指令値に変換する第1変換部と、前記第1変換部により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行う機械学習モデルを有し、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動部と、前記ロボットの駆動が行われた結果として得られた音情報を、前記指令値と同一の次元の応答値に変換する第2変換部と、を備え、前記機械学習モデルは、前記ロボットの駆動が行われた結果として得られた音情報が、前記第1変換部に入力された音情報に基づく所定の範囲となるように、前記ロボットを駆動させるパラメータの推論を行う、ロボット制御装置である。
(10)本発明の一態様は、コンピュータに、各工程を実行させるプログラムであって、入力された情報を、ロボットを制御するための指令値に変換する第1変換工程と、機械学習モデルを用いて、前記第1変換工程により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行い、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動工程と、前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換工程と、を有し、第1試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第2試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う、プログラムである。
(11)本発明の一態様は、入力された情報を、ロボットを制御するための指令値に変換する第1変換部と、前記第1変換部により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行う機械学習モデルを有し、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動部と、前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換部と、を備え、第n(nは1以上の自然数)試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第(n+1)試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う、ロボット制御装置である。
 本発明によれば、指令値とロボットの動作がずれている場合であっても、繰り返し学習により精度のよい指令値に補正することができる。
一実施形態に係るロボットシステムについて説明するための一例である。 本実施形態に係るロボット制御装置の機能構成の一例について説明するための図である。 本実施形態に係るロボット装置の機能構成の一例について説明するための図である。 本実施形態に係るロボットシステムが行う繰り返し制御の一例について説明するための図である。 本実施形態に係るロボットシステムが行う繰り返し制御の変形例について説明するための図である。 本実施形態に係るロボット制御方法の一連の流れを示したフローチャートである。 本実施形態に係るロボットシステムが適用される第1の具体例について説明するための図である。 本実施形態に係るロボットシステムが適用される第2の具体例について説明するための図である。 本実施形態に係るロボットシステムが適用される第3の具体例について説明するための図である。 本実施形態に係るロボットシステムが適用される第4の具体例について説明するための図である。 本実施形態に係るロボットシステムが適用される第5の具体例について説明するための図である。 本実施形態に係るロボット制御装置が備えるハードウェアの内部ブロック図の一例を示す図である。
[実施形態]
 以下、本発明の実施形態に係るロボット制御装置、ロボット制御方法及びプログラムについて、好適な実施の形態を掲げ、添付の図面を参照しながら詳細に説明する。なお、本発明の態様は、これらの実施の形態に限定されるものではなく、多様な変更または改良を加えたものも含まれる。つまり、以下に記載した構成要素には、当業者が容易に想定できるもの、実質的に同一のものが含まれ、以下に記載した構成要素は適宜組み合わせることが可能である。また、本発明の要旨を逸脱しない範囲で構成要素の種々の省略、置換または変更を行うことができる。また、以下の図面においては、各構成をわかりやすくするために、各構造における縮尺および数等を、実際の構造における縮尺および数等と異ならせる場合がある。
 図1は、一実施形態に係るロボットシステムについて説明するための一例である。まず、同図を参照しながら、本実施形態に係るロボットシステム1の概要について説明する。ロボットシステム1は、ロボット制御装置10と、ロボット装置20とを備える。本実施形態に係るロボットシステム1の適用範囲としては、1箇所以上の可動部(関節又はモータ等ということもできる)を含むロボットを備えるシステムを広く含む。
 ロボット制御装置10は、ロボット装置20を制御する。具体的に、ロボット制御装置10は、所定の駆動信号を出力することによりロボット装置20を制御する。所定の駆動信号は、予め学習された学習済みモデルを用いて推論されたものであってもよい。
 学習済みモデルモデルによる推論は、ロボット制御装置10に入力された情報に基づいて行われる。ロボット制御装置10に入力される情報は、ロボット装置20が駆動の目標とする目標値であるということもできる。ロボット制御装置10に入力される情報の一例としては、角度やトルク等の直接的にロボット装置20の制御に用いられる情報であってもよい。また、ロボット制御装置10に入力される情報は、直接的にロボット装置20の制御に用いられる情報に限定されず、画像、音、言語等、間接的にロボット装置20の制御に用いられる情報であってもよい。
 また、ロボット制御装置10は、ロボット装置20を制御した結果として得られた応答信号を取得する。ロボット制御装置10に含まれる機械学習モデルは、入力された情報(目標値)から導き出される指令値と、ロボット装置20を制御した結果として得られた応答信号から導き出される応答値との差分を、指令値と応答値との誤差として学習する。すなわち、本実施形態によれば、指令値のみならず、当該指令値によりロボット装置20を駆動した場合の応答値に基づいた学習を行う。このような構成を採用することにより、指令値のみに基づいて駆動した場合に発生する誤差を、精度よく補正することが可能となる。
 ロボットシステム1は、このような指令値と応答値との誤差を小さくするよう学習を行うことにより、指令値とロボットの動作がずれている場合、補正を行う。特に、ロボットシステム1は、繰り返し学習を行うことにより、精度のよい指令値に補正することができる。なお、ロボット制御装置10の具体的な機能構成の一例については後述する。
 ロボット装置20は、少なくとも1つのセンサを有し、何らかの情報を取得する。ロボット装置20は、取得した情報に応じて少なくとも1つのモータを駆動させることにより、何らかの機能を発揮する。ロボット装置20は、モータを駆動した結果として得られた情報を、センサから得られる情報として扱ってもよい。ロボット装置20の具体的な機能構成の一例については後述する。
 図2は、本実施形態に係るロボット制御装置の機能構成の一例について説明するための図である。同図を参照しながら、ロボット制御装置10が備える機能構成の一例について説明する。ロボット制御装置10は、制御情報取得部11と、最適化情報取得部12と、制御部13と、記憶部14と、ロボット駆動部15とを備える。
 制御情報取得部11は、ロボット装置20を制御するための制御情報を取得する、制御情報とは、例えば、角度やトルク等の直接的にロボット装置20の制御に用いられる情報であってもよい。また、制御情報とは、当該角度やトルク等により動作した結果として、ロボット装置20の一部(例えばアームの先端)が移動する位置情報であってもよい。当該位置情報は、例えば、画像等により表現され、制御情報として用いられることも可能である。また、制御情報が画像により表現される場合、制御情報とは、ロボット装置20の移動の軌跡等であってもよい。
 また、制御情報とは、音である場合がある。この場合、ロボット装置20の一部(例えばアームの先端)が摺動した結果として発生する音情報を、制御情報として入力することができる。例えば、ロボット装置20が物体を当接させて擦る動作を行う場合、擦った結果として得られる音の目標値を、音の制御情報とすることが可能である。
 また、制御情報とは、言語である場合がある。この場合、ロボット装置20に対し「5m(メートル)先に移動して」や、「棚の上のコップを取って」等、自然言語による指示を、制御情報として入力することができる。言語の制御情報は、テキストデータによるものであってもよいし、音声情報であってもよい。言語の制御情報が音声情報により入力される場合、制御情報取得部11は、マイクであってもよい。
 最適化情報取得部12は、ロボット装置20の制御において、何を重視して最適化を行うかについての情報を取得することができる。最適化情報としては、例えば、時間、エネルギー、又は移動距離のいずれを重視した駆動を行うかに関する情報であってもよい。最適化情報の具体例は、例えば、時間、エネルギー、又は移動距離のいずれかが選択されるものであってもよいし、具体的な数値が入力されるものであってもよい。具体的な数値が入力される場合の一例としては、「10秒以内に動作を完了させる」「消費電力が100W(ワット)以下となるように動作する」「移動距離は10m以内とする」等を例示することができる。
 なお、最適化情報取得部12により最適化情報が取得されることは選択可能なオプションであり、必ずしも最適化情報取得部12を必須の構成要件とするものではない、
 制御部13は、ロボット制御装置10の包括的な制御を行う。例えば、制御部13は、記憶部14に記憶されたロボット制御プログラムを実行することにより、ロボット制御装置10の包括的な制御を行う。
 記憶部14は、情報を記憶しておくためのメモリである。記憶部14は、ロボット制御プログラムを記憶しておくための不揮発性メモリと、制御に用いられる一時的な情報を記憶しておくための揮発性メモリとを含む場合がある。
 ロボット駆動部15は、ロボット装置20に対して駆動信号を出力することにより、ロボット装置20の駆動を行う。ロボット駆動部15は、学習部151と、推論部152と、機械学習モデル153とを備える。
 学習部151は、機械学習モデル153の学習を行う。機械学習モデル153の学習は、例えば教師あり学習により行われてもよい。ロボットシステム1においてバイラテラル制御による制御が行われる場合、学習部151は、リーダ装置(マスタ装置)の動作と、フォロワ装置(スレーブ装置)の動作とを教師データとして、教師あり学習を行ってもよい。
 推論部152は、学習部151により予め学習が行われた学習済みモデルである機械学習モデル153を用いた推論を行う。推論部152は、制御情報取得部11により取得された制御情報、又は当該制御情報を加工して生成した情報(変換した情報ということもできる)を入力情報として、機械学習モデル153に入力することにより、推論結果を得る。この場合、最適化情報取得部12により取得した最適化情報を更に機械学習モデル153に入力することにより、推論を行ってもよい。
 機械学習モデル153は、ロボットを駆動させるパラメータの推論を行うよう学習される。パラメータとしては、ロボット装置20が有するモータのトルク等であってもよい。また、機械学習モデル153は、最適化情報取得部12により取得された最適化情報に更に基づいて、時間、エネルギー、又は移動距離のいずれを重視して、ロボット装置20を駆動させるパラメータの推論を行ってもよい。
 図3は、本実施形態に係るロボット装置の機能構成の一例について説明するための図である。同図を参照しながら、ロボット装置20が備える機能構成の一例について説明する。ロボット装置20は、通信部21と、ロボット制御部22と、記憶部23と、モータ24と、センサ25とを備える。
 通信部21は、ロボット制御装置10との通信を行う。通信部21は、ロボット制御装置10から指令値を取得し、取得した指令値に基づき動作を行う。また、ロボット装置20は、動作を行った結果、応答値を取得する。通信部21は、ロボット制御装置10に対して取得した応答値の送信を行う。
 ロボット制御部22は、ロボットの動作を制御する。ロボット制御部22は、記憶部23に記憶された制御プログラムと、通信部21を介して取得された指令値に基づいた動作を行う。ロボット制御部22は、例えば、モータ24に対してモータ駆動信号を出力することにより、モータ24の駆動を行う。モータ24は、例えば関節部の駆動を行う。同図には、一例として1つのモータ24を図示しているが、ロボット装置20は、複数のモータ24を備えている場合もある。また、複数のモータ24は、互いに異なる種類(例えば、ACモータとDCモータ等)である場合がある。また、ロボット制御部22は、センサ25により検知されたセンサ値の取得を行う。同図には、一例として1つのセンサ25を図示しているが、ロボット装置20は、複数のセンサ25を備えている場合もある。また、複数のセンサ25は、互いに異なる種類(例えば、フォトインタラプタとホールセンサ等)である場合がある。ロボット制御部22は、取得されたセンサ値に基づき、モータ24の駆動を制御してもよい。
 図4は、本実施形態に係るロボットシステムが行う繰り返し制御の一例について説明するための図である。同図を参照しながら、ロボット制御装置10により行われる繰り返し学習の一例について説明する。同図に示す第1変換部41、第2変換部42、及び制御器43は、ロボット制御装置10が備える制御部13により機能が実現されるものであってもよい。
 まず、第1試行目について説明する。第1試行目では、まず第1変換部41に、角度、トルク、画像、音声、又は言語等の目標値が入力される。当該目標値は、角度、トルク、画像、音声、及び言語等の組み合わせられた情報であってもよい。第1変換部41は、入力された情報を、ロボット装置20を制御するための指令値xcmdに変換する。
 ここで、第1変換部41により出力される指令値の自由度は、入力される情報の自由度より低いことが好適である。第1変換部41により変換が行われた結果、情報の次元(又は入力自由度)が下がるということもできる。
 なお、第1変換部41に入力される情報がRGB画像等の画像情報である場合、当該RGB画像は、2次元座標に画素値が対応付けられた3次元情報とは捉えず、各座標において複数(例えば256ビット)の画素値を取り得る高次元情報として扱う。第1変換部41は、当該高次元情報を、指令値という低次元情報に変換する。言い換えれば、第1変換部41には、画像情報が入力され、第1変換部41は、入力された画像情報に基づき、当該画像情報が有する次元数より低次元の指令値に変換するということもできる。
 ここで、第1変換部41に入力される値は、角度、トルク、画像、音声、及び言語等の組み合わせられた情報であることが好適である場合がある。例えば、ロボット装置20の少なくとも一部が写された画像情報と、当該画像情報が撮像された時点におけるロボット装置20の駆動パラメータ(例えば、トルク等の情報)とを入力情報とすることができる。このような情報に基づいた制御を行うことにより、推論の精度を向上させることができる。
 なお、画像とは、RGB画像等の可視光画像(可視画像)に限定されない。例えば、第1変換部41に入力される画像は、サーマルカメラにより撮像されたサーマル画像(サーモグラフィ)であってもよく、触覚センサにより取得された圧力分布が示された画像等を広く含む。すなわち、画像とは、二次元座標系における各座標に値を有する高次元情報であると言い換えることもできる。第1変換部41は、入力された高次元情報に基づき、当該高次元情報より低次元の、指令値xcmdに変換するということもできる。
 ロボット駆動部15は、機械学習モデル153を用いて、第1変換部41により出力された指令値xcmdに基づき、ロボット装置20を駆動させるパラメータの推論を行う。ロボット駆動部15は、機械学習モデル153による推論結果に基づき、ロボット装置20に対して駆動信号を出力することにより、ロボット装置20の駆動を行う。
 ここで、第1変換部41に入力された情報が音情報である場合、機械学習モデル153は、ロボットの駆動が行われた結果として得られた音情報が、第1変換部41に入力された音情報に基づく所定の範囲となるように、ロボット装置20を駆動させるパラメータの推論を行ってもよい。
 ロボット装置20が駆動された結果として、所定の応答値が得られる。当該所定の応答値とは、例えば、角度、トルク、画像、音声、言語等であってもよい。当該所定の応答値は、ロボット装置20が備えるセンサ25、又は不図示のカメラやマイク等により取得されてもよい。
 なお、当該所定の応答値は、第1変換部41に入力される情報と同等である(例えば画像が目標値として入力されるのであれば、画像を応答値として得る)ことが好適であるが、この一例に限定されない。すなわち、当該所定の応答値と、第1変換部41に入力される情報とは、異なる形式のものであってもよい。
 第2変換部42は、得られた応答値(すなわち、ロボット装置20の駆動が行われた結果として得られた情報)を、第1変換部41により出力された指令値xcmdと同一の次元の応答値xresに変換する。第2変換部42は、ロボット装置20の駆動が行われた結果として、例えば画像が得られる場合、得られた画像に基づき、応答値xresに変換する。
 次に、第2試行目について説明する。第2試行目では、第1試行目における指令値xcmdと、応答値xresとの誤差eに基づき、繰り返し学習を行う。具体的に、制御器43は、指令値xcmdと、応答値xresとの差分を誤差eとし、第1変換部41により変換された指令値xcmdを、誤差eに基づき補正し、第2試行目にけるロボット駆動部15への入力とする。
 なお、同図には、第2試行目まで記載をしているが、第3試行目移行においても、第2試行目と同様の手順により繰り返し学習を行うことが可能である。この場合、第1試行目を第n(nは1以上の自然数)試行目、第2試行目を第(n+1)試行目と記載することもできる。
 本実施形態によれば、オフラインで誤差を評価(未来から過去に遡り学習したモデルは、先読みが可能)し、将来の誤差を減らす制御入力を算出(制御器が誤差eに基づき指令値を補正)することができる。具体的に、第2試行目以降では、オフラインで学習(500サンプル/秒)を行い、当該動作工程における全サンプルを評価し、機械学習モデルを繰り返し学習させてもよい。この場合、途中のサンプルは評価することなく、結果としての誤差のみを学習する強化学習と比べて高効率な学習を行うことができる。このように、本実施形態によれば、複数サンプルからなる動作工程を一試行とし、各試行で全サンプルの誤差を評価し、その誤差で次の試行を補正して繰り返し学習してもよい。
 また、本実施形態によれば、曖昧な目標値とロボット動作結果の比較による学習、若しくは曖昧な目標値を指令値に変換する第1変換部を含めた学習を行ってもよい。
 図5は、本実施形態に係るロボットシステムが行う繰り返し制御の変形例について説明するための図である。図5を参照しながら、図4を参照しながら説明したような繰り返し学習の変形例について説明する。図5に記載の変形例では、VLA(Vision Language Action)の出力値が、第1変換部41に入力される。すなわち、当該変形例では、VLAモデルにより目標値を生成するということができる。
 一般的に、VLAモデルは、汎用的な(最大公約数的な)動作を制御することに優れている。しかしながら特定のアプリケーションに特化した動作については、VLAモデルによる制御のみでは不十分である場合がある。そこで、本実施形態によれば、VLAモデルによる出力値を目標値として繰り返し学習を行うことにより、汎用的な動作(荒い指令ということもできる)を、特定のアプリケーションに特化した動作(より精密な指令ということもできる)として、より滑らかにすることができる。
 図6は、本実施形態に係るロボット制御方法の一連の流れを示したフローチャートである。同図を参照しながら、本実施形態に係るロボット制御方法の一連の流れについて説明する。なお、同図を参照しながら、説明するロボット制御方法は、上述したロボット制御装置10を用いて行われるものであってもよい。また、同図に示すロボット制御方法の一連の流れを実行するコンピュータプログラムを、単にプログラムと記載する場合がある。
(ステップS11)まず、第1変換部41に角度、トルク、画像、音声、言語等の目標値が入力される。
(ステップS12)第1変換部41は、入力された情報を、指令値xcmdに変換する。
(ステップS13)ロボット駆動部15は、得られた指令値xcmdに基づき、機械学習モデル153を用いて、ロボット装置20の駆動を行うための駆動パラメータを推論する。また、ロボット駆動部15は、推論結果に基づき、ロボット装置20に駆動信号を出力し、ロボットの駆動を行う。
(ステップS14)次に、ロボット装置20の駆動が行われた結果に関する情報が取得される。当該情報は、例えば、角度、トルク、画像、音声、言語等であってもよい。
(ステップS15)第2変換部42は、ステップS14において得られた情報を、応答値xresに変換する。
(ステップS16)指令値xcmdと、応答値xresとの差分が、誤差eとして算出される。ここで、指令値xcmdと、応答値xresとは、互いに同じ次元であるため、差分により指令値と応答値との誤差を容易に算出することができる。
(ステップS17)繰り返し学習によりn回目の試行(次の試行)を行う場合(すなわち、ステップS17;YES)、処理がステップS18に進められる。繰り返し学習によりn回目の試行(次の試行)を行わない場合(すなわち、ステップS17;NO)、処理を終了する。
(ステップS18)繰り返し学習によりn回目の試行(次の試行)を行う場合、指令値xcmdと、誤差eとに基づき、新たな指令値が算出される。算出された新たな指令値に基づき、ステップS13以降が繰り返される。
 次に、図7から図11を参照しながら、本実施形態に係るロボットシステム1が適用される具体的な事例について説明する。なお、これらの事例は、説明のための例示列挙であって、本実施形態を何ら限定するものではない。
 図7は、本実施形態に係るロボットシステムが適用される第1の具体例について説明するための図である。図示する一例において、ロボット装置20は、アーム部の先端に筆記部を有し、紙等の被筆記対象に対して筆記する実験的なロボット(以下、筆記ロボットと記載する場合がある)を例示している。同図を参照しながら、ロボット装置20が筆記ロボットである場合の具体的一例について説明する。
 図7(A)は、筆記ロボットであるロボット装置20の外観の一例を示している。図示する一例では、アーム部の先端に備えられた筆記部(例えば、ペン)が、紙等の被筆記対象に対し、文字を書いている。同図に示す一例では、具体的に、筆記部がAという文字を書いている。
 このような筆記ロボットである場合、第1変換部41に入力される情報としては、図7(B)に示すような画像情報であってもよい。筆記ロボットは、当該画像情報に示された文字、図形、又は記号等を筆記する。
 この場合、第1変換部41に入力される情報としては、図7(B)に示した画像情報である。第1変換部41は、当該画像情報に基づき、ロボット装置20が備える各部をどのように駆動すれば、図7(B)に示した画像情報に示された文字、図形、又は記号等を筆記することができるかの情報(例えば、各モータのトルク等)である指令値xcmdに変換する。
 また、この場合、第2変換部42への入力情報としては、ロボット装置20が備える不図示の撮像装置により撮像された画像(実際にロボット装置20が筆記した結果の画像)である。第2変換部42は、当該画像情報に基づき、ロボット装置20が備える各部をどのように駆動すれば、撮像された画像情報に示された文字、図形、又は記号等を筆記することができるかの情報(例えば、各モータのトルク等)である応答値xresに変換する。指令値xcmdと、応答値xresとは、同次元であるため、互いに比較することにより誤差eを算出することが可能となる。
 図8は、本実施形態に係るロボットシステムが適用される第2の具体例について説明するための図である。図示する一例において、ロボット装置20は、アーム部の先端にブラシを有し、便器等の被掃除対象に対してブラシを擦りあてることにより被掃除対象を掃除する実験的なロボット(以下、掃除ロボットと記載する場合がある)を例示している。同図を参照しながら、ロボット装置20が掃除ロボットである場合の具体的一例について説明する。
 図8(A)は、掃除ロボットであるロボット装置20の外観の一例を示している。図示する一例では、アーム部の先端に備えられたブラシが、便器等の被掃除対象に対し、当接させられている。掃除ロボットは、ブラシが被掃除対象に対して、好適な力加減で押し当てられている状態で、ブラシを摺動させ、被掃除対象の掃除をする。
 このような掃除ロボットである場合、第1変換部41に入力される情報としては、図8(B)に示すような音情報であってもよい。同図に示す音情報の横軸は時間であり、縦軸は振幅(音圧)である。当該音情報は、ブラシを被掃除対象に、好適な力加減で擦りあてた際に生じる音である。掃除ロボットは、当該音情報を目標として、ブラシを摺動させることにより、掃除を行う。なお、この場合の音情報は、目標とする音情報のみでもよいが、上限と下限の2つの音情報が入力されてもよい。また、以下における説明は省略するが、ブラシが被掃除対象に当接した場合の画像情報や、当該時点におけるトルク情報等が併せて入力されてもよい。
 この場合、第1変換部41に入力される情報としては、図8(B)に示した音情報である。第1変換部41は、当該音情報に基づき、ロボット装置20が備える各部をどのように駆動すれば、図8(B)に示した音情報に示された音を発生させるような動作をさせることができるかの情報(例えば、各モータのトルク等)である指令値xcmdに変換する。
 また、この場合、第2変換部42への入力情報としては、ロボット装置20が備える不図示のマイクにより収音された音(実際にロボット装置20が掃除した結果の音)である。第2変換部42は、当該音情報に基づき、ロボット装置20が備える各部をどのように駆動すれば、収音された音情報に示された音を発生させることができるかの情報(例えば、各モータのトルク等)である応答値xresに変換する。指令値xcmdと、応答値xresとは、同次元であるため、互いに比較することにより誤差eを算出することが可能となる。
 図9は、本実施形態に係るロボットシステムが適用される第3の具体例について説明するための図である。図示する一例において、ロボット装置20は、障害物を避けて自律的に移動する実験的なロボット(以下、移動ロボットと記載する場合がある)を例示している。当該移動ロボットは、荷物を把持して移動させる機能や、移動した結果として、自身の下部を掃除する機能等を有していてもよい。以下の説明では、移動装置が移動する目的は問わない。同図を参照しながら、ロボット装置20が掃除ロボットである場合の具体的一例について説明する。
 図9(A)は、移動ロボットであるロボット装置20の外観と、移動対象となる場所の一例を示している。図示する一例では、移動ロボットの移動の軌跡を矢印で示している。移動ロボットは、矢印で示された軌跡を通って移動することにより、障害物を避けて移動することが可能となる。
 このような移動ロボットである場合、第1変換部41に入力される情報としては、図9(B)に示すような画像情報であってもよい。同図に示す画像情報には、移動のスタート地点が“S”として示され、移動のゴール地点が“G”として示されている。スタート地点から移動地点までの移動の軌跡は、任意である。このような場合、最適化情報取得部12により取得された最適化情報が用いられ、時間、エネルギー、又は移動距離等のいずれを重視して、移動を行うかが決定されてもよい。
 この場合、第1変換部41に入力される情報としては、図9(B)に示した画像情報である。第1変換部41は、当該画像情報と、最適化情報取得部12により取得された最適化情報とに基づき、ロボット装置20が備える各部をどのように駆動すれば、図9(B)に示した画像情報に示されたような移動をすることができるかの情報(例えば、各モータのトルク等)である指令値xcmdに変換する。
 また、この場合、第2変換部42への入力情報としては、ロボット装置20が備える、又はロボット装置20の移動範囲を一望できる箇所に設置された不図示のカメラにより撮像された画像(実際にロボット装置20が移動した軌跡)である。当該軌跡は、動画により示されてもよい。第2変換部42は、当該画像又は動画情報に基づき、ロボット装置20が備える各部をどのように駆動すれば、取得された画像又は動画情報に示された軌跡の通りロボット装置20を移動させることができるかの情報(例えば、各モータのトルク等)である応答値xresに変換する。指令値xcmdと、応答値xresとは、同次元であるため、互いに比較することにより誤差eを算出することが可能となる。
 図10は、本実施形態に係るロボットシステムが適用される第4の具体例について説明するための図である。図示する一例において、ロボット装置20は、肉等の加熱対象をフライパン等の調理器具を用いて加熱することにより調理する実験的なロボット(以下、調理ロボットと記載する場合がある)を例示している。同図を参照しながら、ロボット装置20が調理ロボットである場合の具体的一例について説明する。
 図10(A)は、調理ロボットであるロボット装置20の外観を示している。具体的に、図示する一例において、調理ロボットは、フライパンで肉を焼いている。調理ロボットであるロボット装置20は、トングを把持し(又はトングの機能を有するアーム部を駆動し)、肉を好適な居場所に移動させ、好適なタイミングで肉をフライパンから引き上げることにより、肉を好適な焼き加減に調理する。
 このような調理ロボットである場合、第1変換部41に入力される情報としては、図10(B)に示すようなサーマル画像情報であってもよい。同図に示すサーマル画像情報には、肉が好適な焼き加減となった場合の温度分布情報が示されている。また、当該サーマル画像情報は、肉をフライパンに置く際の温度分布であってもよい。
 この場合、第1変換部41に入力される情報としては、図10(B)に示したサーマル画像情報である。また、第1変換部41には、肉が好適な焼き加減で焼けている最の音情報(例えば図8(B)に示したような音情報)が入力されてもよい。第1変換部41は、当該サーマル画像情報と、音情報とに基づき、ロボット装置20が備える各部をどのように駆動すれば、図10(B)に示したサーマル画像情報、又は図8(B)に示した音情報に示されたよう好適に調理することができるかの情報(例えば、各モータのトルク等)である指令値xcmdに変換する。
 また、この場合、第2変換部42への入力情報としては、ロボット装置20が備える不図示のサーマルカメラにより撮像されたサーマル画像、又はロボット装置20が備える不図示のマイクにより収音された音情報である。第2変換部42は、当該サーマル画像又は音情報の少なくとも一方に基づき、ロボット装置20が備える各部をどのように駆動すれば、取得されたサーマル画像又は収音された音情報に示された好適な焼き加減とすることができるかの情報(例えば、各モータのトルク等)である応答値xresに変換する。指令値xcmdと、応答値xresとは、同次元であるため、互いに比較することにより誤差eを算出することが可能となる。
 図11は、本実施形態に係るロボットシステムが適用される第5の具体例について説明するための図である。図示する一例において、ロボット装置20は、何らかの把持対象を、触覚センサを有する把持部を用いて把持する実験的なロボット(以下、把持ロボットと記載する場合がある)を例示している。同図を参照しながら、ロボット装置20が把持ロボットである場合の具体的一例について説明する。
 図11(A)は、把持ロボットであるロボット装置20の外観を示している。具体的に、図示する一例において、把持ロボットは、2つの把持部(アーム)を用いて、把持対象の物体を把持している。なお、把持部と把持対象の物体が当接する面は、面状の圧力分布を測定可能な触覚センサが設けられている。把持ロボットであるロボット装置20は、把持対象の物体を把持し、所定の場所まで把持対象の物体を運搬してもよい。
 このような把持ロボットである場合、第1変換部41に入力される情報としては、図11(B)に示すような圧力分布情報であってもよい。同図に示す圧力分布情報には、把持対象の物体を好適に把持した場合の圧力分布が示されている。
 この場合、第1変換部41に入力される情報としては、図11(B)に示した圧力分布情報である。第1変換部41は、当該圧力分布情報に基づき、ロボット装置20が備える各部をどのように駆動すれば、図11(B)に示した圧力分布情報となるように好適に把持することができるかの情報(例えば、各モータのトルク等)である指令値xcmdに変換する。
 また、この場合、第2変換部42への入力情報としては、ロボット装置20が備える触覚センサにより取得された圧力分布情報である。第2変換部42は、当該圧力分布情報に基づき、ロボット装置20が備える各部をどのように駆動すれば、取得された圧力分布情報に示された好適な把持を実現することができるかの情報(例えば、各モータのトルク等)である応答値xresに変換する。指令値xcmdと、応答値xresとは、同次元であるため、互いに比較することにより誤差eを算出することが可能となる。
 図12は、本実施形態に係るロボット制御装置が備えるハードウェアの内部ブロック図の一例を示す図である。ロボット制御装置10の少なくとも一部の機能は、コンピュータを用いて実現され得る。図示するように、そのコンピュータは、中央処理装置901と、RAM902と、入出力ポート903と、入出力デバイス904や905等と、バス906と、を含んで構成される。コンピュータ自体は、既存技術を用いて実現可能である。中央処理装置901は、RAM902等から読み込んだプログラムに含まれる命令を実行する。中央処理装置901は、各命令にしたがって、RAM902にデータを書き込んだり、RAM902からデータを読み出したり、算術演算や論理演算を行ったりする。RAM902は、データやプログラムを記憶する。RAM902に含まれる各要素は、アドレスを持ち、アドレスを用いてアクセスされ得るものである。なお、RAMは、「ランダムアクセスメモリー」の略である。入出力ポート903は、中央処理装置901が外部の入出力デバイス等とデータのやり取りを行うためのポートである。入出力デバイス904や905は、入出力デバイスである。入出力デバイス904や905は、入出力ポート903を介して中央処理装置901との間でデータをやりとりする。バス906は、コンピュータ内部で使用される共通の通信路である。例えば、中央処理装置901は、バス906を介してRAM902のデータを読んだり書いたりする。また、例えば、中央処理装置901は、バス906を介して入出力ポートにアクセスする。また、ロボット制御装置10が備える各機能部の全てまたは一部は、ASIC、PLD又はFPGA等のハードウェアを用いて実現されてもよい。また、各機能部の全部または一部は、ソフトウェアとハードウェアとの組み合わせにより実現されてもよい。
[実施形態のまとめ]
 以上説明した実施形態によれば、ロボット制御装置10は、第1変換部41を備えることにより、入力された情報を、ロボット装置20を制御するための指令値に変換し、ロボット駆動部15を備えることにより、第1変換部41により出力された指令値に基づき、機械学習モデル153を用いて、ロボット装置20を駆動させるパラメータの推論を行い、機械学習モデル153による推論結果に基づきロボット装置20の駆動を行い、第2変換部42を備えることにより、ロボット装置20の駆動が行われた結果として得られた情報を、指令値と同一の次元の応答値に変換する。また、ロボット制御装置10は、第1試行目における指令値と応答値との誤差に基づき、指令値を補正した値を、新たな指令値として第2試行目を行うことにより、機械学習モデルの学習を繰り返し行う。このような構成を採用することにより、指令値とロボットの動作がずれている場合であっても、精度のよい指令値に補正することが可能となる。
 また、上述した実施形態によれば、第1変換部41により出力される指令値の自由度は、入力される情報の自由度より低い。言い換えれば、本実施形態によれば、第1変換部41により、入力された情報より低い次元(入力自由度)の情報に変換しているということができる。このような構成を採用することにより、高次元情報を入力とすることにより、人間にも分かりやすい情報でロボット装置20を制御することが可能となる。
 また、上述した実施形態によれば、第1変換部41は、ロボット装置20の少なくとも一部が写された画像情報と、当該画像情報が撮像された時点におけるロボット装置20の駆動パラメータとを入力情報として、指令値に変換する。このように、より情報量の多い入力情報に基づくことにより、より精度よく指令値を補正することが可能となる。
 また、上述した実施形態によれば、ロボット制御装置10は、最適化情報取得部12を備えることにより、時間、エネルギー、又は移動距離のいずれを重視した駆動を行うかに関する情報を取得する。また、機械学習モデル153は、最適化情報取得部12により取得された情報に更に基づき、時間、エネルギー、又は移動距離のいずれを重視して、ロボット装置20を駆動させるパラメータの推論を行う。このような構成を採用することにより、ユーザの要求に沿った駆動を行うことができる。また、このような構成を採用することにより、人間が教示を行う学習時より優れた(例えば、速く)、推論をすることができるようになる。
 また、上述した実施形態によれば、ロボット制御装置10は、第1変換部41を備えることにより、入力された音情報を、ロボット装置20を制御するための指令値に変換するし、ロボット駆動部15を備えることにより、第1変換部41により出力された指令値に基づき、機械学習モデル153を用いて、ロボット装置20を駆動させるパラメータの推論を行い、機械学習モデル153による推論結果に基づきロボット装置20の駆動を行い、第2変換部42を備えることにより、ロボット装置20の駆動が行われた結果として得られた音情報を、指令値と同一の次元の応答値に変換する。また、機械学習モデル153は、ロボット装置20の駆動が行われた結果として得られた音情報が、第1変換部41に入力された音情報に基づく所定の範囲となるように、ロボット装置20を駆動させるパラメータの推論を行う。このような構成を採用することにより、ロボットが駆動した結果として得られる音情報に基づいて、精度のよい指令値に補正することが可能となる。
 なお、上述した実施形態におけるロボット制御装置10が備える各部の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
 以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
 本発明によれば、指令値とロボットの動作がずれている場合であっても、精度のよい指令値に補正することができる。
1…ロボットシステム、10…ロボット制御装置、20…ロボット装置、11…制御情報取得部、12…最適化情報取得部、13…制御部、14…記憶部、15…ロボット駆動部、151…学習部、152…推論部、153…機械学習モデル、21…通信部、22…ロボット制御部、23…記憶部、24…モータ、25…センサ、41…第1変換部、42…第2変換部

Claims (10)

  1.  入力された情報を、ロボットを制御するための指令値に変換する第1変換部と、
     前記第1変換部により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行う機械学習モデルを有し、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動部と、
     前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換部と、
     を備え、
     第1試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第2試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う、
     ロボット制御装置。
  2.  前記第1変換部により出力される前記指令値の自由度は、入力される情報の自由度より低い、
     請求項1に記載のロボット制御装置。
  3.  前記第1変換部には、二次元座標系における各座標に値を有する高次元情報が入力され、
     前記第1変換部は、前記高次元情報に基づき、前記高次元情報より低次元の前記指令値に変換する、
     請求項1に記載のロボット制御装置。
  4.  前記第1変換部には、画像情報が入力され、
     前記第1変換部は、前記画像情報に基づき、前記画像情報が有する次元数より低次元の前記指令値に変換し、
     前記第2変換部は、前記ロボットの駆動が行われた結果として得られた画像に基づき、前記応答値に変換する、
     請求項1に記載のロボット制御装置。
  5.  前記第1変換部は、前記ロボットの少なくとも一部が写された画像情報と、当該画像情報が撮像された時点における前記ロボットの駆動パラメータとを入力情報として、前記指令値に変換する、
     請求項1に記載のロボット制御装置。
  6.  時間、エネルギー、又は移動距離のいずれを重視した駆動を行うかに関する情報を取得する最適化情報取得部を更に備え、
     前記機械学習モデルは、前記最適化情報取得部により取得された情報に更に基づき、時間、エネルギー、又は移動距離のいずれを重視して、前記ロボットを駆動させるパラメータの推論を行う、
     請求項1に記載のロボット制御装置。
  7.  入力された情報を、ロボットを制御するための指令値に変換する第1変換工程と、
     機械学習モデルを用いて、前記第1変換工程により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行い、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動工程と、
     前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換工程と、
     を有し、
     第1試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第2試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う、
     ロボット制御方法。
  8.  入力された音情報を、ロボットを制御するための指令値に変換する第1変換部と、
     前記第1変換部により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行う機械学習モデルを有し、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動部と、
     前記ロボットの駆動が行われた結果として得られた音情報を、前記指令値と同一の次元の応答値に変換する第2変換部と、
     を備え、
     前記機械学習モデルは、前記ロボットの駆動が行われた結果として得られた音情報が、前記第1変換部に入力された音情報に基づく所定の範囲となるように、前記ロボットを駆動させるパラメータの推論を行う、
     ロボット制御装置。
  9.  コンピュータに、各工程を実行させるプログラムであって、
     入力された情報を、ロボットを制御するための指令値に変換する第1変換工程と、
     機械学習モデルを用いて、前記第1変換工程により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行い、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動工程と、
     前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換工程と、
     を有し、
     第1試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第2試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う、
     プログラム。
  10.  入力された情報を、ロボットを制御するための指令値に変換する第1変換部と、
     前記第1変換部により出力された前記指令値に基づき、前記ロボットを駆動させるパラメータの推論を行う機械学習モデルを有し、前記機械学習モデルによる推論結果に基づき前記ロボットの駆動を行うロボット駆動部と、
     前記ロボットの駆動が行われた結果として得られた情報を、前記指令値と同一の次元の応答値に変換する第2変換部と、
     を備え、
     第n(nは1以上の自然数)試行目における前記指令値と前記応答値との誤差に基づき、前記指令値を補正した値を前記指令値として第(n+1)試行目を行うことにより、前記機械学習モデルの学習を繰り返し行う、
     ロボット制御装置。
PCT/JP2025/017873 2024-06-20 2025-05-16 ロボット制御装置、ロボット制御方法及びプログラム Pending WO2025263185A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2024099569 2024-06-20
JP2024-099569 2024-06-20

Publications (1)

Publication Number Publication Date
WO2025263185A1 true WO2025263185A1 (ja) 2025-12-26

Family

ID=98212885

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2025/017873 Pending WO2025263185A1 (ja) 2024-06-20 2025-05-16 ロボット制御装置、ロボット制御方法及びプログラム

Country Status (1)

Country Link
WO (1) WO2025263185A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012240142A (ja) * 2011-05-17 2012-12-10 Fanuc Ltd 学習制御機能を備えたスポット溶接ロボット
US20150217449A1 (en) * 2014-02-03 2015-08-06 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
JP2021079468A (ja) * 2019-11-15 2021-05-27 川崎重工業株式会社 制御装置、制御システム、ロボットシステム及び制御方法
JP2022145915A (ja) * 2015-07-31 2022-10-04 ファナック株式会社 推論方法、推論プログラム、推論装置、学習方法、学習プログラム、学習装置およびモデル生成方法
WO2023079694A1 (ja) * 2021-11-05 2023-05-11 日本電信電話株式会社 状態推定システムおよび状態推定方法
JP2023179352A (ja) * 2022-06-07 2023-12-19 キヤノン株式会社 制御方法、制御プログラム、記録媒体、物品の製造方法、システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012240142A (ja) * 2011-05-17 2012-12-10 Fanuc Ltd 学習制御機能を備えたスポット溶接ロボット
US20150217449A1 (en) * 2014-02-03 2015-08-06 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
JP2022145915A (ja) * 2015-07-31 2022-10-04 ファナック株式会社 推論方法、推論プログラム、推論装置、学習方法、学習プログラム、学習装置およびモデル生成方法
JP2021079468A (ja) * 2019-11-15 2021-05-27 川崎重工業株式会社 制御装置、制御システム、ロボットシステム及び制御方法
WO2023079694A1 (ja) * 2021-11-05 2023-05-11 日本電信電話株式会社 状態推定システムおよび状態推定方法
JP2023179352A (ja) * 2022-06-07 2023-12-19 キヤノン株式会社 制御方法、制御プログラム、記録媒体、物品の製造方法、システム

Similar Documents

Publication Publication Date Title
JP7291185B2 (ja) 力及びトルク誘導ロボット組立のための技術
Kalakrishnan et al. Learning force control policies for compliant manipulation
CN109483534B (zh) 一种物体抓取方法、装置和系统
CN115338859A (zh) 机器人操纵的深度强化学习
JP6915605B2 (ja) 画像生成装置、ロボット訓練システム、画像生成方法、及び画像生成プログラム
WO2020058669A1 (en) Task embedding for device control
CN115351780A (zh) 用于控制机器人设备的方法
CN111890353A (zh) 机器人示教轨迹复现方法、装置及计算机可读存储介质
CN114516060A (zh) 用于控制机器人装置的设备和方法
EP3414710A1 (en) Deep machine learning methods and apparatus for robotic grasping
WO2021033486A1 (ja) モデル生成装置、モデル生成方法、制御装置及び制御方法
CN111319039A (zh) 机器人
JP2008238396A (ja) ロボットのモーションの発生及び制御のための装置ならびに方法
CN113119108A (zh) 一种二指机械臂抓取方法、系统、装置及存储介质
US20220288777A1 (en) Parameterized Waypoint Generation on Dynamically Parented Non-Static Objects for Robotic Autonomous Tasks
Kobayashi et al. Alpha-α and bi-act are all you need: Importance of position and force information/control for imitation learning of unimanual and bimanual robotic manipulation with low-cost system
WO2023082404A1 (zh) 机器人的控制方法、机器人、存储介质及抓取系统
WO2021025087A1 (ja) 位置・力制御装置、位置・力制御方法及びプログラム
Sidiropoulos et al. A human inspired handover policy using gaussian mixture models and haptic cues
WO2021033471A1 (ja) 制御装置、制御方法、及び制御プログラム
WO2022132558A1 (en) Evolutionary imitation learning
WO2025263185A1 (ja) ロボット制御装置、ロボット制御方法及びプログラム
CN114454194B (zh) 一种服务机器人、机器人手爪控制方法、系统及存储介质
JP7798612B2 (ja) エンドエフェクタ制御方法
Kobayashi et al. A generative model of calligraphy based on image and human motion

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

Country of ref document: EP

Kind code of ref document: A1