Robots with collision avoidance functionality
First Claim
1. A method for controlling a robot, comprising:
- defining a target for a motion of the robot;
supplying the target to a whole body motion control unit and a collision avoidance control unit;
combining a joint velocity vector calculated by the whole body motion control unit with a joint velocity vector calculated by the collision avoidance control unit in a blending control unit;
outputting a combined joint velocity vector by the blending control unit;
calculating a distance between different segments of the robot connected to each other via at least one joint or a segment of the robot and another object by a distance computation unit based on the combined joint velocity vector;
submitting the computed distance information to the collision avoidance control unit, the whole body motion control unit and the blending control unit;
calculating a final joint velocity vector {dot over (q)} by {dot over (q)}={1−
f(d)}{dot over (q)}control+f(d){dot over (q)}ca wherein {dot over (q)}control is the joint velocity vector calculated by the whole body motion control unit, {dot over (q)}ca is the joint velocity vector calculated by the collision avoidance control unit, f(d) representing a function of a shortest distance between segments, wherein the result of function f(d) decides whether the collision avoidance control unit takes over controlling of the robot or the whole body motion control unit takes over control of the robot; and
calculating a motion control signal adapted to command the robot to reach the target on the basis of the final joint velocity vector and controlling the robot based on the calculated motion control signal.
2 Assignments
0 Petitions
Accused Products
Abstract
A robot is provided with a motion control unit that avoids collision between segments of the robot or between segments of the robot and other objects. The motion control unit of the robot comprises a distance computing module, a whole body control module, a collision avoidance module, and a blending control unit. The distance computing module calculates two closest points of different segments of the robot connected to each other via at least one joint or a segment of the robot and another object. The collision avoidance module is provided with the information about the two closest points. The blending control unit combines the weighted output control signals of the whole body control module and the collision avoidance control module. The weight of the whole body control output signal is higher when the risk of collision is lower. The weight of the collision avoidance control output signal is higher when the risk of collision is higher. The collision avoidance module is designed to control a collision avoidance action only in the direction parallel to a line connecting between the two closest points.
58 Citations
20 Claims
-
1. A method for controlling a robot, comprising:
-
defining a target for a motion of the robot; supplying the target to a whole body motion control unit and a collision avoidance control unit; combining a joint velocity vector calculated by the whole body motion control unit with a joint velocity vector calculated by the collision avoidance control unit in a blending control unit; outputting a combined joint velocity vector by the blending control unit; calculating a distance between different segments of the robot connected to each other via at least one joint or a segment of the robot and another object by a distance computation unit based on the combined joint velocity vector; submitting the computed distance information to the collision avoidance control unit, the whole body motion control unit and the blending control unit; calculating a final joint velocity vector {dot over (q)} by {dot over (q)}={1−
f(d)}{dot over (q)}control+f(d){dot over (q)}ca wherein {dot over (q)}control is the joint velocity vector calculated by the whole body motion control unit, {dot over (q)}ca is the joint velocity vector calculated by the collision avoidance control unit, f(d) representing a function of a shortest distance between segments, wherein the result of function f(d) decides whether the collision avoidance control unit takes over controlling of the robot or the whole body motion control unit takes over control of the robot; andcalculating a motion control signal adapted to command the robot to reach the target on the basis of the final joint velocity vector and controlling the robot based on the calculated motion control signal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer readable storage medium structured to store instructions executable by a processor in a computing device, the instructions, when executed cause the processor to:
-
define a target for a motion of a robot; supply the target to a whole body motion control unit and a collision avoidance control unit; combine a joint velocity vector calculated by the whole body motion control unit with a joint velocity vector calculated by the collision avoidance control unit in a blending control unit; output a combined joint velocity vector by the blending control unit; calculate a distance between different segments of the robot connected to each other via at least one joint or a segment of the robot and another object by a distance computation unit based on the combined joint velocity vector; submit the computed distance information to the collision avoidance control unit, the whole body motion control unit and the blending control unit; calculate a final joint velocity vector {dot over (q)} by {dot over (q)}={1−
f(d)}{dot over (q)}control+f(d){dot over (q)}ca wherein {dot over (q)}control is the joint velocity vector calculated by the whole body motion control unit, {dot over (q)}ca is the joint velocity vector calculated by the collision avoidance control unit, f(d) representing a function of a shortest distance between segments, wherein the result of function f(d) decides whether the collision avoidance control unit takes over controlling of the robot or the whole body motion control unit takes over control of the robot; andcalculate a motion control signal adapted to command the robot to reach the target on the basis of the final joint velocity vector and controlling the robot based on the calculated motion control signal. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A motion control unit in a robot, comprising:
-
a whole body motion control unit; a collision avoidance unit; a blending control unit adapted to; combine a joint velocity vector calculated by the whole body control unit with a joint velocity vector calculated by the collision avoidance control unit; and output a combined joint velocity vector; submit the computed distance information to the collision avoidance control unit, the whole body motion control unit and the blending control unit; and a distance computing unit adapted to calculate a distance between different segments of the robot connected to each other via at least one joint or a segment of the robot and another object based on the combined joint velocity vector and submit the computed distance information to the collision avoidance control unit, the whole body motion control unit and the blending unit; wherein the whole body motion control unit is adapted to; define a target for a motion of the robot; supply the target to a whole body motion control unit and a collision avoidance unit control; combine a joint velocity vector calculated by the whole body motion control unit with a joint velocity vector calculated by the collision avoidance control unit in a blending unit; output a combined joint velocity vector by the blending unit; calculate a distance between different segments of the robot connected to each other via at least one joint, or a segment of the robot and another object, by a distance computing unit based on the combined joint velocity vector; submit the computed distance information to the collision avoidance control unit, the whole body motion control unit and the blending unit; calculate a final joint velocity vector {dot over (q)} by {dot over (q)}={1−
f(d)}{dot over (q)}control+f(d){dot over (q)}ca wherein {dot over (q)}control is the joint velocity vector calculated by the whole body motion control unit, {dot over (q)}ca is the joint velocity vector calculated by the collision avoidance control unit, f(d) represents a function of a shortest distance between segments, wherein the result of function f(d) decides whether the collision avoidance control unit takes over controlling of the robot, or whether the whole body motion control unit takes over control of the robot;calculate a motion control signal adapted to command the robot to reach the target on the basis of the final joint velocity vector and controlling the robot based on the calculated motion control signal. - View Dependent Claims (17, 18, 19)
-
-
20. A robot having a motion control unit for avoiding collision, comprising:
-
a whole body motion control unit; a collision avoidance unit control; a blending unit combining a joint velocity vector calculated by the whole body motion control unit with a joint velocity vector calculated by the collision avoidance control unit, and outputting a combined joint velocity vector; a distance computing module adapted to calculate a distance between two different segments of the robot connected to each other via at least one joint or a segment of the robot and another object based on the combined joint velocity vector, and submit the computed distance information to the collision avoidance control unit, the whole body motion control unit and the blending unit; and wherein the motion control unit is adapted to; define a target for a motion of the robot; supply the target to a whole body motion control unit and a collision avoidance unit control; combine a joint velocity vector calculated by the whole body motion control unit with a joint velocity vector calculated by the collision avoidance control unit in a blending unit; output a combined joint velocity vector by the blending unit; calculate a distance between different segments of the robot connected to each other via at least one joint, or a segment of the robot and another object, by a distance computing unit based on the combined joint velocity vector; submit the computed distance information to the collision avoidance control unit, the whole body motion control unit and the blending unit; calculate a final joint velocity vector {dot over (q)} by {dot over (q)}={1−
f(d)}{dot over (q)}control+f(d){dot over (q)}ca wherein {dot over (q)}control is the joint velocity vector calculated by the whole body motion control unit, {dot over (q)}ca is the joint velocity vector calculated by the collision avoidance control unit, f(d) represents a function of a shortest distance between segments, wherein the result of function f(d) decides whether the collision avoidance control unit takes over controlling of the robot, or whether the whole body motion control unit takes over control of the robot;calculate a motion control signal adapted to command the robot to reach the target on the basis of the final joint velocity vector and controlling the robot based on the calculated motion control signal.
-
Specification