Estimation of external force for robot control
View Patent ↗A robot control system includes circuitry configured to acquire a plurality of disturbance torques and a plurality of axis positions for a plurality of axes of a robot. The plurality of disturbance torques corresponds to the plurality of axis positions, and the plurality of disturbance torques and the plurality of axis positions correspond to a particular motion of the robot. The circuitry is further configured to transmit input data to a learned model for external force. The input data includes the plurality of disturbance torques or the plurality of axis positions. The circuitry is further configured to receive output data from the learned model for external force, calculate an estimated external force having acted on an end effector of the robot based on the output data, and control the robot based on the estimated external force. The output data includes transmission torque data or external force data.
1 . A robot control system comprising circuitry configured to:
acquire a plurality of disturbance torques and a plurality of axis positions for a plurality of axes of a robot, wherein the plurality of disturbance torques correspond to the plurality of axis positions, and wherein the plurality of disturbance torques and the plurality of axis positions correspond to a particular motion of the robot;
transmit input data to a learned model for external force, wherein the input data includes the plurality of disturbance torques or the plurality of axis positions;
receive output data from the learned model for external force, wherein the output data includes transmission torque data;
calculate an estimated external force having acted on an end effector of the robot based on the output data; and
control the robot based on the estimated external force,
wherein the learned model for external force is configured to:
receive the plurality of disturbance torques as the input data;
calculate, for the plurality of axes, a plurality of transmission torques based on the plurality of disturbance torques, wherein each of the plurality of transmission torques is a torque transmitted from an axis of the robot to the end effector of the robot;
generate the transmission torque data indicating the plurality of transmission torques; and
transmit the transmission torque data as the output data to the circuitry, and wherein the circuitry is configured to:
transmit the plurality of disturbance torques as the input data to the learned model for external force;
receive the transmission torque data indicating the plurality of transmission torques from the learned model for external force; and
calculate the estimated external force based on the plurality of transmission torques indicated by the transmission torque data.
2 . The robot control system according to claim 1 , wherein the learned model for external force includes a neural network generated by machine learning using training data based on a past operation of the robot.
3 . The robot control system according to claim 1 , wherein the learned model for external force calculates the plurality of transmission torques reflecting a transmission efficiency of each of the plurality of disturbance torques.
4 . The robot control system according to claim 1 , wherein the circuitry is configured to:
set a Jacobian matrix based on the plurality of axis positions and a structural parameter indicating a structure of the robot; and
calculate the estimated external force based on the plurality of transmission torques and the Jacobian matrix.
5 . The robot control system according to claim 4 , wherein the circuitry is configured to:
optimize the structural parameter based on a difference between the estimated external force and an actual external force that is an external force having actually affected on the end effector; and
update the Jacobian matrix based on the optimized structural parameter.
6 . The robot control system according to claim 5 , wherein the circuitry is configured to optimize the structural parameter indicating a deviation from a design value related to a structure of the robot.
7 . The robot control system according to claim 1 , wherein the circuitry is configured to execute machine learning based on training data indicating combinations of a plurality of past disturbance torques, a plurality of past axis positions, and a past actual external force that is affected on the end effector to generate the learned model for external force for calculating the plurality of transmission torques.
8 . The robot control system according to claim 7 , wherein the circuitry is configured to:
calculate ground truth values of the plurality of transmission torques based on the plurality of past axis positions and the past actual external force, for each of the plurality of combinations; and
execute the machine learning based on the plurality of past disturbance torques indicated by the training data and the ground truth values of the plurality of transmission torques to generate the learned model for external force.
9 . A method for controlling a robot, the method comprising:
acquiring a plurality of disturbance torques and a plurality of axis positions for a plurality of axes of a robot, wherein the plurality of disturbance torques correspond to the plurality of axis positions, and wherein the plurality of disturbance torques and the plurality of axis positions correspond to a particular motion of the robot;
transmitting input data to a learned model for external force, wherein the input data includes the plurality of disturbance torques and the plurality of axis positions;
receiving output data from the learned model for external force, wherein the output data includes an estimated external force having acted on an end effector of the robot; and
controlling the robot based on the estimated external force,
wherein the learned model for external force is configured to:
receive the plurality of disturbance torques and the plurality of axis positions as the input data;
calculate the estimated external force based on the plurality of disturbance torques and the plurality of axis positions; and
transmit the estimated external force as the output data to at least one processor executing the method.
10 . A non-transitory computer-readable storage medium storing processor-executable instructions to:
acquire a plurality of disturbance torques and a plurality of axis positions for a plurality of axes of a robot, wherein the plurality of disturbance torques correspond to the plurality of axis positions, and wherein the plurality of disturbance torques and the plurality of axis positions correspond to a particular motion of the robot;
transmit input data to a learned model for external force, wherein the input data includes the plurality of disturbance torques or the plurality of axis positions;
receive output data from the learned model for external force, wherein the output data includes transmission torque data;
calculate an estimated external force having acted on an end effector of the robot based on the output data; and
control the robot based on the estimated external force,
wherein the learned model for external force is configured to:
receive the plurality of disturbance torques as the input data;
calculate, for the plurality of axes, a plurality of transmission torques based on the plurality of disturbance torques, wherein each of the plurality of transmission torques is a torque transmitted from an axis of the robot to the end effector of the robot;
generate the transmission torque data indicating the plurality of transmission torques; and
transmit the transmission torque data as the output data to at least one processor, and
wherein the processor-executable instructions further cause the at least one processor to:
transmit the plurality of disturbance torques as the input data to the learned model for external force;
receive the transmission torque data indicating the plurality of transmission torques from the learned model for external force; and
calculate the estimated external force based on the plurality of transmission torques indicated by the transmission torque data.
11 . The method according to claim 9 , further comprising executing machine learning based on training data indicating combinations of a plurality of past disturbance torques, a plurality of past axis positions, and a past actual external force that is affected on the end effector to generate the learned model for external force for calculating the estimated external force.
12 . The storage medium according to claim 10 , further storing processor-executable instructions to:
access a storage device configured to store a reference torque model reflecting a relationship between a trajectory of the end effector and a plurality of reference torques corresponding to the plurality of axes of the robot that moves along the trajectory without being affected by a disturbance; and
calculate, based on the reference torque model and a plurality of actual torques corresponding to the plurality of axes of the robot that moves along an actual trajectory, the plurality of disturbance torques in the actual trajectory in order to acquire the plurality of disturbance torques.
13 . The storage medium according to claim 12 , further storing processor-executable instructions to:
identify the plurality of reference torques based on the reference torque model and posture information indicating a posture of the robot in the actual trajectory; and
calculate a difference between the actual torque and the reference torque as the disturbance torque, for each of the plurality of axes.
14 . The storage medium according to claim 13 ,
wherein the reference torque model is a learned model for torque that receives the plurality of axis positions corresponding to the plurality of axes of the robot in the actual trajectory and calculates the plurality of reference torques, and
wherein the storage medium further stores processor-executable instructions to:
transmit the plurality of axis positions to the learned model for torque to calculate the plurality of reference torques; and
receive the plurality of reference torques from the learned model for torque.
15 . The storage medium according to claim 14 , further storing processor-executable instructions to execute machine learning based on training data indicating combinations of a plurality of past axis positions and a plurality of past reference torques to generate the learned model for torque.
16 . The storage medium according to claim 13 ,
wherein the reference torque model includes, for each of a plurality of candidate positions of the end effector including the trajectory, a relationship between the candidate position and the plurality of reference torques, and
wherein the storage medium further stores processor-executable instructions to:
select at least one candidate position corresponding to an actual position of the end effector indicated by the posture information, from the plurality of candidate positions; and
identify the plurality of reference torques based on the selected at least one candidate position and the reference torque model.
17 . The storage medium according to claim 16 ,
wherein each of the plurality of candidate positions is included in one of a plurality of candidate trajectories that are set to positions different from each other in a force control axis direction of the robot, and
wherein the storage medium further stores processor-executable instructions to select one candidate trajectory corresponding to an actual position of the end effector in the force control axis direction.