Method of controlling a robot through a singularity
First Claim
1. A method of controlling a robot (32) having a plurality of arms rotatable about a plurality of axes defining a plurality of angles therebetween and supporting a tool (49) having a tool point (TCP) for relative movement of the tool (49) along a path (33) having a starting point (44) and an ending point (46) defined in Cartesian coordinates, wherein the robot (32) has at least one of a first configuration set having an up configuration and a down configuration, a second configuration set having a flip configuration and a no-flip configuration, and a third configuration set having a front configuration and a back configuration, and wherein the robot (32) approaches a singularity associated with the configuration set along the path (33) while moving about the plurality of axes, said method comprising the steps of:
- selecting the up configuration, the no-flip configuration, and the front configuration from the first, second, and third sets to position the TCP at the starting point (44) with the angles of the arms in an initial configuration;
selecting the up configuration, the flip configuration, and the front configuration from the sets to position the TCP at the ending point (46) with the angles of the arms in a final configuration;
rotating the arms about the axes by changing the angles therebetween to move the TCP from the starting point (44) along the path (33) while maintaining the initial configuration;
approaching the singularity which occurs between a first point (48) and a second point (50) along the path (33);
selecting one of the axes in the initial configuration in response to reaching the first point (48);
interpolating the angle for the selected axis from the first point (48) to the second point (50) in a predetermined number of steps (52) between the first point (48) and the second point (50);
determining the angles about the remaining axes in relationship to the aforesaid interpolation at each of the steps (52) to position the arms in the final configuration when the TCP reaches the second point (50) in response to determining the angles; and
rotating the arms about the axes by changing the angles therebetween to move the TCP along the path (33) to the ending point (46) while maintaining the final configuration.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of controlling a robot (32) includes the steps of selecting an initial configuration from at least one of a first, second, and third sets to position a TCP at a starting point (44) along a path (33) and selecting a final configuration different than the initial configuration to position the TCP at an ending point (46). Next, the TCP moves from the starting point (44) while maintaining the initial configuration, approaches the singularity between a first point (48) and a second point (50), and selects one of the axes in response to reaching the first point (48). The angle for the selected axis is interpolated from the first point (48) to the second point (50). After the interpolation, the angles about the remaining axes are determined and positions the arms in the final configuration when the TCP reaches the second point (50) and moves to the ending point (46) while maintaining the final configuration.
79 Citations
36 Claims
-
1. A method of controlling a robot (32) having a plurality of arms rotatable about a plurality of axes defining a plurality of angles therebetween and supporting a tool (49) having a tool point (TCP) for relative movement of the tool (49) along a path (33) having a starting point (44) and an ending point (46) defined in Cartesian coordinates, wherein the robot (32) has at least one of a first configuration set having an up configuration and a down configuration, a second configuration set having a flip configuration and a no-flip configuration, and a third configuration set having a front configuration and a back configuration, and wherein the robot (32) approaches a singularity associated with the configuration set along the path (33) while moving about the plurality of axes, said method comprising the steps of:
-
selecting the up configuration, the no-flip configuration, and the front configuration from the first, second, and third sets to position the TCP at the starting point (44) with the angles of the arms in an initial configuration;
selecting the up configuration, the flip configuration, and the front configuration from the sets to position the TCP at the ending point (46) with the angles of the arms in a final configuration;
rotating the arms about the axes by changing the angles therebetween to move the TCP from the starting point (44) along the path (33) while maintaining the initial configuration;
approaching the singularity which occurs between a first point (48) and a second point (50) along the path (33);
selecting one of the axes in the initial configuration in response to reaching the first point (48);
interpolating the angle for the selected axis from the first point (48) to the second point (50) in a predetermined number of steps (52) between the first point (48) and the second point (50);
determining the angles about the remaining axes in relationship to the aforesaid interpolation at each of the steps (52) to position the arms in the final configuration when the TCP reaches the second point (50) in response to determining the angles; and
rotating the arms about the axes by changing the angles therebetween to move the TCP along the path (33) to the ending point (46) while maintaining the final configuration.
-
-
2. A method of controlling a robot (32) having a plurality of arms rotatable about a plurality of axes defining a plurality of angles therebetween and supporting a tool (49) having a tool point (TCP) for relative movement of the tool (49) along a path (33) having a starting point (44) and an ending point (46) defined in Cartesian coordinates, wherein the robot (32) has at least one of a first configuration set having an up configuration and a down configuration, a second configuration set having a flip configuration and a no-flip configuration, and a third configuration set having a front configuration and a back configuration, and wherein the robot (32) approaches a singularity associated with the configuration set along the path (33) while moving about the plurality of axes, said method comprising the steps of:
-
selecting the up configuration, the no-flip configuration, and the front configuration from the first, second, and third sets to position the TCP at the starting point (44) with the angles of the arms in an initial configuration;
selecting the up configuration, the no-flip configuration, and the back configuration from the sets to position the TCP at the ending point (46) with the angles of the arms in a final configuration;
rotating the arms about the axes by changing the angles therebetween to move the TCP from the starting point (44) along the path (33) while maintaining the initial configuration;
approaching the singularity which occurs between a first point (48) and a second point (50) along the path (33);
selecting one of the axes in the initial configuration in response to reaching the first point (48);
interpolating the angle for the selected axis from the first point (48) to the second point (50) in a predetermined number of steps (52) between the first point (48) and the second point (50);
determining the angles about the remaining axes in relationship to the aforesaid interpolation at each of the steps (52) to position the arms in the final configuration when the TCP reaches the second point (50) in response to determining the angles; and
rotating the arms about the axes by changing the angles therebetween to move the TCP along the path (33) to the ending point (46) while maintaining the final configuration.
-
-
3. A method of controlling a robot (32) having a plurality of arms rotatable about a plurality of axes defining a plurality of angles therebetween and supporting a tool (49) having a tool point (TCP) for relative movement of the tool (49) along a path (33) having a starting point (44) and an ending point (46) defined in Cartesian coordinates, wherein the robot (32) has at least one of a first configuration set having an up configuration and a down configuration, a second configuration set having a flip configuration and a no-flip configuration, and a third configuration set having a front configuration and a back configuration, and wherein the robot (32) approaches a singularity associated with the configuration set along the path (33) while moving about the plurality of axes, said method comprising the steps of:
-
selecting the up configuration, the no-flip configuration, and the front configuration from the first, second, and third sets to position the TCP at the starting point (44) with the angles of the arms in an initial configuration;
selecting the down configuration, the no-flip configuration, and the front configuration from the sets to position the TCP at the ending point (46) with the angles of the arms in a final configuration;
rotating the arms about the axes by changing the angles therebetween to move the TCP from the starting point (44) along the path (33) while maintaining the initial configuration;
approaching the singularity which occurs between a first point (48) and a second point (50) along the path (33);
selecting one of the axes in the initial configuration in response to reaching the first point (48);
interpolating the angle for the selected axis from the first point (48) to the second point (50) in a predetermined number of steps (52) between the first point (48) and the second point (50);
determining the angles about the remaining axes in relationship to the aforesaid interpolation at each of the steps (52) to position the arms in the final configuration when the TCP reaches the second point (50) in response to determining the angles; and
rotating the arms about the axes by changing the angles therebetween to move the TCP along the path (33) to the ending point (46) while maintaining the final configuration.
-
-
4. A method of controlling a robot (32) having a plurality of arms rotatable about a plurality of axes defining a plurality of angles therebetween and supporting a tool (49) having a tool point (TCP) for relative movement of the tool (49) along a path (33) having a starting point (44) and an ending point (46) defined in Cartesian coordinates, wherein the robot (32) has at least one of a first configuration set having an up configuration and a down configuration, a second configuration set having a flip configuration and a no-flip configuration, and a third configuration set having a front configuration and a back configuration, and wherein the robot (32) approaches a singularity associated with the configuration set along the path (33) while moving about the plurality of axes, said method comprising the steps of:
-
selecting the configuration of at least one of the first, second, and third sets to position the TCP at the starting point (44) with the angles of the arms in an initial configuration;
selecting the other configuration of at least one of the sets to position the TCP at the ending point (46) with the angles of the arms in a final configuration;
rotating the arms about the axes by changing the angles therebetween to move the TCP from the starting point (44) along the path (33) while maintaining the initial configuration;
approaching the singularity which occurs between a first point (48) and a second point (50) along the path (33);
selecting one of the axes in the initial configuration in response to reaching the first point (48);
interpolating the angle for the selected axis from the first point (48) to the second point (50) in a predetermined number of steps (52) between the first point (48) and the second point (50);
determining the angles about the remaining axes in relationship to the aforesaid interpolation at each of the steps (52) to position the arms in the final configuration when the TCP reaches the second point (50) in response to determining the angles; and
rotating the arms about the axes by changing the angles therebetween to move the TCP along the path (33) to the ending point (46) while maintaining the final configuration. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method of controlling a robot (32) having a plurality of arms rotatable about a plurality of axes defining a plurality of angles therebetween and supporting a tool (49) having a tool point (TCP) for relative movement of the tool (49) along a path (33) having a starting point (44) and an ending point (46) defined in Cartesian coordinates, wherein the robot (32) has at least one of a first configuration set having an up configuration and a down configuration, a second configuration set having a flip configuration and a no-flip configuration, and a third configuration set having a front configuration and a back configuration, and wherein the robot (32) approaches a singularity associated with the configuration set along the path (33) while moving about the plurality of axes, said method comprising the steps of:
-
selecting the configuration of at least one of the first, second, and third sets to position the TCP at the starting point (44) with the angles of the arms in an initial configuration;
selecting the other configuration of at least one of the sets to position the TCP at the ending point (46) with the angles of the arms in a final configuration;
rotating the arms about the axes by changing the angles therebetween to move the TCP from the starting point (44) along the path (33) while maintaining the initial configuration;
approaching the singularity which occurs between a first point (48) and a second point (50) along the path (33);
determining the angles about the axes to move the TCP between the first point (48) and the second point (50) and through the singularity; and
rotating the arms about the axes by changing the angles therebetween to move the TCP along the path (33) while maintaining the final configuration to the ending point (46). - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
Specification