Trajectory generation device, trajectory generation method, program, and robot system
11518028 · 2022-12-06
Assignee
Inventors
Cpc classification
Y02P90/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B25J9/1664
PERFORMING OPERATIONS; TRANSPORTING
B25J9/1628
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A trajectory generation device generates a trajectory of a robot for conveying an object. A path condition acquisition unit acquires path condition information including at least coordinates of a first via point which is a position of a reference point of a suction nozzle of the robot when the suction nozzle comes into contact with the object, and a velocity, an acceleration, and a jerk of the suction nozzle at the first via point. A pressurization distance and coordinate calculation unit calculates coordinates of a second via point which is a position of the reference point when the suction nozzle is pushed into the object, based on the path condition information; and a trajectory generation unit generates the trajectory of the suction nozzle which satisfies the path condition information and reaches an end point from a predetermined start point via the first via point and the second via point.
Claims
1. A trajectory generation device configured to generate a trajectory of a robot for conveying an object, the trajectory generation device comprising: a path condition acquisition unit configured to acquire path condition information including at least coordinates of a first via point which is a position of a reference point of a suction nozzle of the robot when the suction nozzle comes into contact with the object, and a velocity, an acceleration, and a jerk of the suction nozzle at the first via point; a pressurization distance and coordinate calculation unit configured to calculate coordinates of a second via point which is a position of the reference point when the suction nozzle is pushed into the object, based on the path condition information; and a trajectory generation unit configured to generate the trajectory of the suction nozzle which satisfies the path condition information and reaches an end point from a predetermined start point via the first via point and the second via point, wherein the path condition information further includes a maximum acceleration and a maximum jerk of the suction nozzle at the first via point, wherein the trajectory generation device further comprises: a path condition re-calculation unit configured to correct the velocity, the acceleration, and the jerk at the first via point included in the path condition information based on the maximum acceleration and the maximum jerk of the suction nozzle at the first via point included in the path condition information.
2. The trajectory generation device according to claim 1, wherein the path condition acquisition unit is configured to acquire the path condition information further including a velocity, an acceleration, and a jerk of the suction nozzle at a third via point which is a position of the reference point when pulling-up of the object suctioned by the suction nozzle is started, and the trajectory generation unit is configured to generate the trajectory of the suction nozzle which satisfies the path condition information and reaches the end point from the predetermined start point via the first via point, the second via point, and the third via point.
3. The trajectory generation device according to claim 2, further comprising: a suction condition acquisition unit configured to acquire suction condition information indicating a suction time required for the suction nozzle to reach a predetermined suction pressure; and a stop time calculation unit configured to calculate a stop time at the second via point based on the suction condition information.
4. The trajectory generation device according to claim 3, further comprising: a pressurization time calculation unit configured to calculate a pressurization time necessary for increasing a suction pressure of the suction nozzle, which is a movement time of the suction nozzle from the first via point to the second via point, based on the path condition information; and a pulling-up time calculation unit configured to calculate a pulling-up time for moving the suction nozzle from the second via point to the third via point based on the path condition information, wherein the stop time calculation unit is configured to calculate the stop time at the second via point based on the suction time indicated by the suction condition information, the pressurization time, and the pulling-up time.
5. The trajectory generation device according to claim 3, further comprising: a display control unit configured to display an output screen including the calculated stop time.
6. The trajectory generation device according to claim 1, wherein the path condition information further includes a maximum acceleration and a maximum jerk of the suction nozzle at the third via point, and the path condition re-calculation unit is configured to correct the velocity, the acceleration, or the jerk at the third via point included in the path condition information based on the maximum acceleration and the maximum jerk of the suction nozzle at the third via point included in the path condition information.
7. The trajectory generation device according to claim 6, wherein the path condition re-calculation unit is configured to correct at least one of the maximum acceleration and the maximum jerk of the suction nozzle at the first via point, and the maximum acceleration and the maximum jerk of the suction nozzle at the third via point included in the path condition information, in accordance with at least one of a mass and a suction surface state of the object, coordinates and posture of the suction nozzle, and an acceleration direction of the suction nozzle.
8. A trajectory generation method by a trajectory generation device configured to generate a trajectory of a robot for conveying an object, the trajectory generation method comprising: a path condition acquiring step of acquiring path condition information including at least coordinates of a first via point which is a position of a reference point of a suction nozzle of the robot when the suction nozzle comes into contact with the object, and a velocity, an acceleration, and a jerk of the suction nozzle at the first via point; a pressurization distance and coordinate calculation step of calculating coordinates of a second via point which is a position of the reference point when the suction nozzle is pushed into the object, based on the path condition information; and a trajectory generation step of generating the trajectory of the suction nozzle which satisfies the path condition information and reaches an end point from a predetermined start point via the first via point and the second via point, wherein the path condition information further includes a maximum acceleration and a maximum jerk of the suction nozzle at the first via point, wherein the trajectory generation device further comprises: a path condition re-calculation unit configured to correct the velocity, the acceleration, and the jerk at the first via point included in the path condition information based on the maximum acceleration and the maximum jerk of the suction nozzle at the first via point included in the path condition information.
9. A non-transitory computer readable medium storing a program, the program causing a computer to function as: a path condition acquisition unit configured to acquire path condition information including at least coordinates of a first via point which is a position of a reference point of a suction nozzle of a robot when the suction nozzle comes into contact with an object, and a velocity, an acceleration, and a jerk of the suction nozzle at the first via point; a pressurization distance and coordinate calculation unit configured to calculate coordinates of a second via point which is a position of the reference point when the suction nozzle is pushed into the object, based on the path condition information; and a trajectory generation unit configured to generate the trajectory of the suction nozzle which satisfies the path condition information and reaches an end point from a predetermined start point via the first via point and the second via point, wherein the path condition information further includes a maximum acceleration and a maximum jerk of the suction nozzle at the first via point, wherein the trajectory generation device further comprises: a path condition re-calculation unit configured to correct the velocity, the acceleration, and the jerk at the first via point included in the path condition information based on the maximum acceleration and the maximum jerk of the suction nozzle at the first via point included in the path condition information.
10. A robot system comprising: a robot configured to convey an object; a trajectory generation device configured to generate a trajectory of the robot; and a control device configured to control the robot based on the generated trajectory, wherein the robot includes a suction nozzle configured to suction the object at a tip end of a link, wherein the trajectory generation device comprises: a path condition acquisition unit configured to acquire path condition information including at least coordinates of a first via point which is a position of a reference point of the suction nozzle when the suction nozzle comes into contact with the object, and a velocity, an acceleration, and a jerk of the suction nozzle at the first via point; a pressurization distance and coordinate calculation unit configured to calculate coordinates of a second via point which is a position of the reference point when the suction nozzle is pushed into the object, based on the path condition information; and a trajectory generation unit configured to generate the trajectory of the suction nozzle which satisfies the path condition information and reaches an end point from a predetermined start point via the first via point and the second via point, wherein the path condition information further includes a maximum acceleration and a maximum jerk of the suction nozzle at the first via point, wherein the trajectory generation device further comprises: a path condition re-calculation unit configured to correct the velocity, the acceleration, and the jerk at the first via point included in the path condition information based on the maximum acceleration and the maximum jerk of the suction nozzle at the first via point included in the path condition information.
11. The robot system according to claim 10, further comprising: an imaging device configured to take an image including the object at an angle of view; and a work instruction device configured to set coordinates of the first via point based on the image.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DESCRIPTION OF EMBODIMENTS
(15) An embodiment of the invention will be described below with reference to the drawings. In all the drawings for describing the present embodiment, the same reference sign is attached to the same member in principle, and the repetitive description thereof will be omitted. In addition, in the following embodiments, it is needless to say that the constituent elements (including element steps and the like) are not necessarily essential unless particularly clearly stated or considered to be clear in principle. In addition, when saying “composed of A”, “including A”, “have A”, and “includes A”, unless specifically stated that only the element is specified, it is needless to say that elements other than the element are not excluded. Similarly, in the following embodiments, when referring to a shape, a positional relationship, or the like of a constituent element or the like, it is assumed to include those substantially similar or similar to the shape and the like unless particularly clearly stated or considered to be clear in principle.
Configuration Example of Robot System 10 According to Embodiment of Invention
(16)
(17) The robot system 10 includes a robot 1, a trajectory generation device 11, a work instruction device 12, an imaging device 13, and a control device 14. The trajectory generation device 11, the work instruction device 12, and the control device 14 can be disposed at any desired positions regardless of a position of the robot 1. For example, the trajectory generation device 11 may be disposed on a so-called cloud server. For example, the function of the trajectory generation device 11 may be incorporated in the work instruction device 12 or the control device 14.
(18) The robot 1 is, for example, a multi-joint robot, and includes an arm 2 composed of a plurality of links connected by a plurality of joints, and a suction nozzle 3. The number of joints and links of the robot 1, a link length and a movable range of each link of the robot 1 are recorded in robot shape information 1123 (
(19) The suction nozzle 3 is mounted to a tip end of the arm 2 on which the plurality of links are connected. The suction nozzle 3 has a suction surface which is capable of expanding and contracting in a suction direction, and can suction an object 4 by increasing suction pressure of the suction surface.
(20)
(21) The robot 1 moves a tip end of the suction nozzle 3 from a predetermined start point to a contact point P1 which is assumed to be on an upper surface of the object 4 placed on a mounting table 5. Next, the robot 1 pushes the suction nozzle 3 to a stop point P2 while starting the suction by the suction nozzle 3, and causes the suction nozzle 3 to suction the object 4. Finally, the robot 1 pulls the suction nozzle 3 up to a pulling-up point P3 and then conveys the suction nozzle 3 to a predetermined position. At the contact point P1, the suction nozzle 3 is not stopped but is continuously decelerated from the start point to the stop point P2. Also at the pulling-up point P3, the suction nozzle 3 is not stopped, and is continuously accelerated from the stop point P2 up to a predetermined velocity.
(22) Here, coordinates of the contact point P1 are coordinates of a reference point (for example, a center of the suction surface) set in the suction nozzle 3 when the suction nozzle 3 comes into contact with the object 4. Hereinafter, the contact point P1 is referred to as the first via point P1. A trajectory of the suction nozzle 3 is determined by the trajectory generation device 11 such that a velocity vector of the suction nozzle 3 at the first via point P1 is V.sub.1 and an acceleration vector of the suction nozzle 3 at the first via point P1 is A.sub.1.
(23) Coordinates of the stop point P2 are, for example, coordinates of a reference point set in the suction nozzle 3 when the suction nozzle 3 is pushed into the object 4. However, since the suction nozzle 3 contracts when the object 4 is suctioned by the suction nozzle 3, in that case, the stop point P2 is not an actual position of the reference point, but the position of the reference point when it is assumed that the suction nozzle 3 does not contract and moves in a downward direction in the drawing. Hereinafter, the stop point P2 is referred to as the second via point P2. The velocity and an acceleration of the suction nozzle 3 are 0 at the second via point P2.
(24) Coordinates of the pulling-up point P3 are coordinates of a reference point set in the suction nozzle 3 when the pulling-up of the object 4 suctioned by the suction nozzle 3 is started. Hereinafter, the pulling-up point P3 is referred to as the third via point P3. The third via point P3 has the same coordinates as the first via point P1. However, the third via point P3 may be set at coordinates different from the first via point P1. The trajectory of the suction nozzle 3 is determined by the trajectory generation device 11 such that the velocity vector and the acceleration vector of the suction nozzle 3 at the third via point P3 are predetermined values V.sub.3 and A.sub.3 respectively.
(25) In the present embodiment, coordinates and posture of the suction nozzle 3 are represented using x, y, and z coordinates (x, y, z) of the predetermined reference point of the suction nozzle 3 and rotation angles (ϕ, θ, ψ) around x, y, and z axes. The coordinates of the suction nozzle 3 can also be represented using the rotation angles of all joints of the robot.
(26) Return to
(27) The work instruction device 12 generates path condition information 1121 and suction condition information 1122 (both in
(28) The imaging device 13 takes an image so as to include the object 4 at an angle of view, and outputs an image obtained as a result to the work instruction device 12. The work instruction device 12 may set the coordinates and posture of the first via point P1 and the third via point P3 in the path condition information 1121 based on the image input from the imaging device 13.
(29) The control device 14 controls the operation of the robot 1 based on trajectory information input from the trajectory generation device 11.
Configuration Example of Trajectory Generation Device 11
(30) Next,
(31) The trajectory generation device 11 is, for example, a computer such as a personal computer (PC) including a central processing unit (CPU), a memory, a storage, a communication interface, and the like. The trajectory generation device 11 includes a control unit 111, a storage unit 112, an input unit 113, a display unit 114, and a communication unit 115.
(32) The control unit 111 includes functional blocks of a path condition acquisition unit 1111, a suction condition acquisition unit 1112, a path condition re-calculation unit 1113, a trajectory generation unit 1114, a pressurization distance and coordinate calculation unit 1115, a pressurization time calculation unit 1116, a pulling-up time calculation unit 1117, a stop time calculation unit 1118 and a display control unit 1119. Each functional block of the control unit 111 is realized by the CPU of the PC executing a predetermined program.
(33) The path condition acquisition unit 1111 acquires the path condition information 1121 from the work instruction device 12 and stores the path condition information 1121 in the storage unit 112. The suction condition acquisition unit 1112 acquires the suction condition information 1122 from the work instruction device 12 and stores the acquired suction condition information 1122 in the storage unit 112.
(34) The path condition re-calculation unit 1113 determines whether the velocity vector V.sub.1, the acceleration vector A.sub.1, a jerk vector J.sub.1 at the first via point P1, and the velocity vector V.sub.3, the acceleration vector A.sub.3, and a jerk vector J.sub.3 at the third via point P3 recorded in the path condition information 1121 acquired from the work instruction device 12 are appropriate (details will be described later). When the path condition re-calculation unit 1113 determines that these vectors are inappropriate, the path condition re-calculation unit 1113 corrects the vectors which are determined to be inappropriate, among the velocity vector V.sub.1, the acceleration vector A.sub.1, a jerk vector J.sub.1 at the first via point P1, and the velocity vector V.sub.3, the acceleration vector A.sub.3, and a jerk vector J.sub.3 at the third via point P3 recorded in the path condition information 1121, and updates the path condition information 1121 of the storage unit 112.
(35) The trajectory generation unit 1114 generates the trajectory of the suction nozzle 3 based on the path condition information 1121 and the robot shape information 1123 stored in the storage unit 112. Specifically, the trajectory of the suction nozzle 3 from the predetermined start point to the end point via the first via point P1, the second via point P2 and the third via point P3 is generated so as to satisfy each condition of the velocity vector V.sub.1 and the acceleration vector A.sub.1 of the suction nozzle 3 at the first via point P1, and the velocity vector being 0 and the acceleration vector being 0 of the suction nozzle 3 at the second via point P2, and the velocity vector V.sub.3 and the acceleration vector A.sub.3 of the suction nozzle 3 at the third via point P3. An existing method can be used for trajectory generation by the trajectory generation unit 1114.
(36) The pressurization distance and coordinate calculation unit 1115 calculates a pressurization distance x.sub.2 from the first via point P1, which is the start of suction of the suction nozzle 3, to the second via point P2, and the coordinates of the second via point P2, based on the path condition information 1121 stored in the storage unit 112.
(37) The pressurization time calculation unit 1116 calculates pressurization time t.sub.1 necessary for increasing the suction pressure of the suction nozzle 3, which is movement time of the suction nozzle 3 from the first via point P1 to the second via point P2.
(38) The pulling-up time calculation unit 1117 calculates pulling-up time t.sub.3 for moving the suction nozzle 3 from the second via point P2 to the third via point P3.
(39) The stop time calculation unit 1118 calculates stop time t.sub.2 during which the suction nozzle 3 is stopped at the second via point P2, based on the pressurization time t.sub.1, the pulling-up time t.sub.3, and suction time t.sub.v included in the suction condition information 1122.
(40) The display control unit 1119 controls display of an output screen 50 (
(41) The storage unit 112 stores the path condition information 1121, the suction condition information 1122, the robot shape information 1123, and upper limit value information 1124. The path condition information 1121, the suction condition information 1122, the robot shape information 1123, and the upper limit value information 1124 are stored in the storage unit 112 in advance or input by the user. The storage unit 112 is realized by, for example, the storage or the memory of the PC.
(42) The input unit 113 receives various operations from the user. The input unit 113 is, for example, an input device such as a keyboard and a mouse included in the PC.
(43) The display unit 114 displays, for example, the output screen 50 (
(44) The communication unit 115 communicates with the work instruction device 12 and the control device 14 via a predetermined network. The communication unit 115 is, for example, a communication interface included in the PC.
(45) Next,
(46) In the path condition information 1121, coordinates and posture (x.sub.1, y.sub.1, z.sub.1, ϕ.sub.1, θ.sub.1, ψ.sub.1), the velocity vector V.sub.1, the acceleration vector A.sub.1, the jerk vector J.sub.1, a maximum acceleration A.sub.1max, and a maximum jerk J.sub.1max at the first via point P1 of the suction nozzle 3 are recorded. In addition, in the path condition information 1121, coordinates and posture (x.sub.3, y.sub.3, z.sub.3, ϕ.sub.3, θ.sub.3, ψ.sub.3), the velocity vector V.sub.3, the acceleration vector A.sub.3, the jerk vector J.sub.3, a maximum acceleration A.sub.3max, and a maximum jerk J.sub.3max at the third via point P3 are recorded.
(47) However, maximum accelerations and maximum jerks at the first via point P1 and the third via point P3 may be changed in accordance with mass and a suction surface state of the object 4 and the coordinates and posture and an acceleration direction of the suction nozzle 3. Here, the suction surface state indicates the texture such as fine irregularities on the suction surface, and whether the suction surface is wet.
(48) Next,
(49) Next,
(50) Next,
(51) The path condition re-calculation unit 1113 can correct, based on the upper limit value information 1124, at least one piece of the path condition information 1121 of the storage unit 112 when one vector among the velocity vector V.sub.1, the acceleration vector A.sub.1, the jerk vector J.sub.1 at the first via point P1, and the velocity vector V.sub.3, the acceleration vector A.sub.3, and the jerk vector J.sub.3 at the third via point P3 included in the path condition information 1121 exceeds the upper limit value.
Trajectory of Suction Nozzle 3
(52) Next, the trajectory along which the suction nozzle 3 sequentially moves from the first via point P1 to the second via point P2, and to the third via point P3 will be described with reference to
(53)
(54) In the example of
(55)
(56)
(57)
(58)
(59)
[Math 3]
a=j.sub.1t+a.sub.1(a.sub.1<0) (3)
(60)
[Math 4]
j=j.sub.1(j.sub.1>0) (4)
(61) The time for the suction nozzle 3 to move from the first via point P1 to the second via point P2 (x=x.sub.2) is t.sub.1, and the velocity and the acceleration at the second via point P2 are 0. Therefore, t=t.sub.1, a=0 are substituted into the Formula 3 to obtain the following Formula 5.
(62)
(63) Further, Formula 5 is substituted into Formula 2 to obtain the following Formula 6.
(64)
(65) Further, t=t.sub.1, x=x.sub.2, Formula 5, and Formula 6 are substituted into Formula 1 to obtain the following Formula 7.
(66)
(67) Next,
(68) In the example of
(69)
(70)
(71)
(72)
(73)
[Math 10]
a=j.sub.3t(a.sub.3<0) (10)
(74)
[Math 11]
j=j.sub.3(j.sub.3<0) (11)
(75) The time for the suction nozzle 3 to move from the second via point P2 to the third via point P3 (x=0) is t.sub.3, and the velocity at the third via point P3 is v.sub.3, and the acceleration at the third via point P3 is a.sub.3. Therefore, t=t.sub.3, x=0 are substituted into the Formula 8 to obtain the following Formula 12.
(76)
(77) Therefore, t=t.sub.3, a=a.sub.3 are substituted into the Formula 10 to obtain the following Formula 13.
(78)
(79) Further, t=t.sub.3, v=v.sub.3, and Formula 13 are substituted into Formula 9 to obtain the following Formula 14.
(80)
Trajectory Generation Processing by Trajectory Generation Device 11
(81) Next,
(82) The trajectory generation processing is started, for example, in accordance with a predetermined start operation from the user or a signal issued when the presence of the object 4 is detected by the imaging device 13.
(83) First, the path condition acquisition unit 1111 acquires the path condition information 1121 from the storage unit 112 (step S1). Next, the suction condition acquisition unit 1112 acquires the suction condition information 1122 from the storage unit 112 (step S2).
(84) Next, the path condition re-calculation unit 1113 performs path condition re-calculation processing (step S3). Specifically, the path condition re-calculation unit 1113 determines whether the velocity vector V.sub.1, the acceleration vector A.sub.1, the jerk vector J.sub.1 at the first via point P1, and the velocity vector V.sub.3, the acceleration vector A.sub.3, and the jerk vector J.sub.3 at the third via point P3 included in the path condition information 1121 are appropriate.
(85) When the path condition re-calculation unit 1113 determines that vectors are not appropriate, the path condition re-calculation unit 1113 corrects the velocity vector V.sub.1, the acceleration vector A.sub.1, the jerk vector J.sub.1 at the first via point P1, and the velocity vector V.sub.3, the acceleration vector A.sub.3, and the jerk vector J.sub.3 at the third via point P3 included in the path condition information 1121, and updates the path condition information 1121 of the storage unit 112.
(86) Here, the path condition re-calculation processing in step S3 will be described in detail with reference to
(87)
(88) First, the path condition re-calculation unit 1113 determines whether the jerk j.sub.1 recorded in the path condition information 1121 is equal to or less than a maximum jerk j.sub.1max (step S11). Here, when the path condition re-calculation unit 1113 determines that the jerk j.sub.1 is not the maximum jerk j.sub.1max or less (No in step S11), the path condition re-calculation unit 1113 corrects the jerk j.sub.1 to the maximum jerk j.sub.1max and updates the path condition information 1121 of the storage unit 112 (step S12).
(89) On the contrary, when the path condition re-calculation unit 1113 determines that the jerk j.sub.1 is equal to or less than the maximum jerk j.sub.1max (Yes in step S11), the processing skips step S12 and proceeds to step S13.
(90) Next, the path condition re-calculation unit 1113 determines whether the acceleration al recorded in the path condition information 1121 is equal to or less than a maximum acceleration a.sub.1max (step S13). Here, when the path condition re-calculation unit 1113 determines that the acceleration a.sub.1 is not the maximum acceleration a.sub.1max or less (No in step S13), the path condition re-calculation unit 1113 corrects the acceleration alto the maximum acceleration a.sub.1max, and updates the path condition information 1121 of the storage unit 112 (step S14).
(91) On the contrary, when the path condition re-calculation unit 1113 determines that the acceleration a.sub.1 is equal to or less than the maximum acceleration a.sub.1. (Yes in step S13), the processing skips step S14 and proceeds to step S15.
(92) Next, the path condition re-calculation unit 1113 substitutes the appropriately corrected jerk j.sub.1 and acceleration a.sub.1 into the Formula 6 to calculate the velocity v.sub.1 and compares the velocity v.sub.1 with the velocity v.sub.1 recorded in the path condition information 1121 (step S15).
(93) When the path condition re-calculation unit 1113 determines that the velocity v.sub.1 recorded in the path condition information 1121 is smaller than the velocity v.sub.1 calculated from the Formula 6 (<in step S15), the path condition re-calculation unit 1113 corrects the acceleration a.sub.1 to √(2j.sub.1v.sub.1) so as to satisfy the Formula 6, and updates the path condition information 1121 of the storage unit 112 (step S16).
(94) On the contrary, when the path condition re-calculation unit 1113 determines that the velocity v.sub.1 recorded in the path condition information 1121 is larger than the velocity v.sub.1 calculated from the Formula 6 (>in step S15), the path condition re-calculation unit 1113 corrects the velocity v.sub.1 to the velocity v.sub.1 calculated from the Formula 6, and updates the path condition information 1121 of the storage unit 112 (step S17).
(95) Further, when the path condition re-calculation unit 1113 determines that the velocity v.sub.1 recorded in the path condition information 1121 is equal to the velocity v.sub.1 calculated from the Formula 6 (=in step S15), the processing skips steps S16 and S17, and the path condition re-calculation processing at the time of pushing is ended.
(96) Next,
(97) First, the path condition re-calculation unit 1113 determines whether the jerk j.sub.3 recorded in the path condition information 1121 is equal to or less than −j.sub.3max obtained by multiplying the maximum jerk j.sub.3max by −1 (step S21). Here, when the path condition re-calculation unit 1113 determines that the jerk j.sub.3 is equal to or less than −j.sub.3max (Yes in step S21), the path condition re-calculation unit 1113 corrects the jerk j.sub.3 to −j.sub.3max, and updates the path condition information 1121 of the storage unit 112 (step S22).
(98) On the contrary, when the path condition re-calculation unit 1113 determines that the jerk j.sub.3 is not −j.sub.3max or less (No in step S21), the processing skips step S22 and proceeds to step S23.
(99) Next, the path condition re-calculation unit 1113 determines whether an acceleration a.sub.3 recorded in the path condition information 1121 is equal to or less than −a.sub.3max obtained by multiplying the maximum acceleration a.sub.3max by −1 (step S23). Here, when the path condition re-calculation unit 1113 determines that the acceleration a.sub.3 is equal to or less than −a.sub.3max (Yes in step S23), the path condition re-calculation unit 1113 corrects the acceleration a.sub.3 to −a.sub.3max, and updates the path condition information 1121 of the storage unit 112 (step S24).
(100) On the contrary, when the path condition re-calculation unit 1113 determines that the acceleration a.sub.3 is not −a.sub.3max or less than (No in step S23), the processing skips step S24 and proceeds to step S25.
(101) Next, the path condition re-calculation unit 1113 substitutes the appropriately corrected jerk j.sub.3 and acceleration a.sub.3 into the Formula 14 to calculate the velocity v.sub.3 and compares the velocity v.sub.3 with the velocity v.sub.3 recorded in the path condition information 1121 (step S25).
(102) When the path condition re-calculation unit 1113 determines that the velocity v.sub.3 recorded in the path condition information 1121 is larger than the velocity v.sub.3 calculated from the Formula 14 (>in step S25), the path condition re-calculation unit 1113 corrects the acceleration a.sub.3 to √(2j.sub.3v.sub.3) so as to satisfy the Formula 14, and updates the path condition information 1121 of the storage unit 112 (step S26).
(103) On the contrary, when the path condition re-calculation unit 1113 determines that the velocity v.sub.3 recorded in the path condition information 1121 is smaller than the velocity v.sub.3 calculated from the Formula 14 (<in step S25), the path condition re-calculation unit 1113 corrects the velocity v.sub.3 to the velocity v.sub.3 calculated from the Formula 14, and updates the path condition information 1121 of the storage unit 112 (step S27).
(104) Further, when the path condition re-calculation unit 1113 determines that the velocity v.sub.3 recorded in the path condition information 1121 is equal to the velocity v.sub.3 calculated from the Formula 14 (=in step S25), the processing skips steps S26 and S27, and the path condition re-calculation processing at the time of pulling-up is ended.
(105) After the path condition information 1121 stored in the storage unit 112 is corrected and updated as appropriate by the path condition re-calculation processing described above, the processing proceeds to step S4 in
(106) Return to
(107) Specifically, the pressurization distance and coordinate calculation unit 1115 calculates the pressurization distance x.sub.2 according to with Formula 7. Further, as shown in the following Formula 15, the pressurization distance and coordinate calculation unit 1115 calculates the coordinates (x.sub.2, y.sub.2, z.sub.2) of the second via point P2 by moving the coordinates (x.sub.1, y.sub.1, z.sub.1) of the first via point P1 only by the pressurization distance x.sub.2 in the direction of the velocity vector V.sub.1 at the first via point P1.
(108)
(109) In the Formula, the velocity vector V.sub.1 at the first via point P1 is as shown in the following Formula 16.
[Math 16]
V.sub.1=(v.sub.1x,v.sub.1y,v.sub.1z) (16)
(110) Next, the trajectory generation unit 1114 generates a trajectory of the suction nozzle 3 from the predetermined start point to the end point via the first via point P1, the second via point P2, and the third via point P3 based on the path condition information 1121 and the robot shape information 1123 stored in the storage unit 112 (step S5).
(111) Next, the pressurization time calculation unit 1116 calculates the pressurization time t.sub.1 using Formula 5 based on the path condition information 1121 stored in the storage unit 112 (step S6).
(112) Next, the pulling-up time calculation unit 1117 calculates the pulling-up time t.sub.3 using Formula 12 based on the path condition information 1121 stored in the storage unit 112 (step S7).
(113) Next, based on the pressurization time t.sub.1, the pulling-up time t.sub.3, and the suction time t.sub.v included in the suction condition information 1122, the stop time calculation unit 1118 calculates the stop time t.sub.2 for stopping the suction nozzle 3 at the second via point P2 (step S8).
(114) Next,
(115) First, the stop time calculation unit 1118 determines whether an added value (t.sub.1+t.sub.3) of the pressurization time t.sub.1 and the pulling-up time t.sub.3 is equal to or less than the suction time t.sub.v (step S31). Here, when the stop time calculation unit 1118 determines that the added value (t.sub.1+t.sub.3) is not the suction time t.sub.v or less (No in step S31), the stop time calculation unit 1118 sets the stop time t.sub.2 to 0 (step S32).
(116) On the contrary, when the stop time calculation unit 1118 determines that the added value (t.sub.1+t.sub.3) is equal to or less than the suction time t.sub.v (Yes in step S31), the stop time calculation unit 1118 calculates a value obtained by subtracting the added value (t.sub.1+t.sub.3) from the suction time t.sub.v as the stop time t.sub.2 (step S32). The stop time calculation processing in step S8 is then ended.
(117) Return to
(118) According to the trajectory generation processing described above, in the trajectory from the predetermined start point to the end point via the first via point P1, the second via point P2, and the third via point P3, a trajectory which continuously decelerates from the first via point P1 to the second via point P2 without stopping at the first via point P1 and continuously accelerates from the second via point P2 to the third via point P3 without stopping at the third via point P3 can be generated.
(119) The velocity vector and the acceleration vector at each of the first via point P1 and the third via point P3 set by the user can be appropriately corrected so as not to exceed upper limits.
(120) Further, since the suction of the suction nozzle 3 is started from the first via point P1 and moved to the second via point P2, the stop time t.sub.2 at the second via point P2 can be shortened as much as possible. Therefore, it is possible to shorten the time required for the series of object suction operations.
Display Example of Output Screen 50
(121) Next,
(122) On the output screen 50, a trajectory parameter display area 51, a generated trajectory display area 52, and a display switching button 53 are provided.
(123) In the trajectory parameter display area 51, the coordinates, the velocity vector, the acceleration vector, and pushing time (pressurization time t.sub.1) at the first via point P1, the coordinates and the stop time t.sub.2 of the second via point P2, and the coordinates, the velocity vector, the acceleration vector, and the pulling-up time t.sub.3 at the third via point P3 are displayed.
(124) In the generated trajectory display area 52, the time-series changes of the position, the velocity, the acceleration, and the jerk of the suction nozzle 3 generated by the trajectory generation unit 1114 are displayed.
(125) Every time the user operates the display switching button 53, the display in the trajectory parameter display area 51 and the generated trajectory display area 52 can be switched between the display set by the user before the correction and the display corrected by the path condition re-calculation unit 1113.
(126) By looking at the trajectory parameter display area 51 and the generated trajectory display area 52 in which the display is switched by operating the display switching button 53, the user can check whether the velocity and the acceleration set by the user himself/herself are appropriate (corrected or not). It is possible to know the time required for the series of object suction operations (an added value of the pushing time (pressurization time t.sub.1), the stop time t.sub.2, and the pulling-up time t.sub.3).
(127) The user can intuitively grasp the movement of the suction nozzle 3 by looking at the generated trajectory display area 52.
(128) The invention is not limited to the above embodiments and modifications, and includes various modifications. For example, the embodiments described above are described in detail for easy understanding of the invention, and the invention is not necessarily limited to the embodiment including all the constituent elements described above. A part of the configuration of a certain embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of the certain embodiment. It is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
REFERENCE SIGN LIST
(129) 1: robot
(130) 2: arm
(131) 3: suction nozzle
(132) 4: object
(133) 5: mounting table
(134) 10: robot system
(135) 11: trajectory generation device
(136) 12: work instruction device
(137) 13: imaging device
(138) 14: control device
(139) 50: output screen
(140) 51: trajectory parameter display area
(141) 52: generated trajectory display area
(142) 53: display switching button
(143) 111: control unit
(144) 112: storage unit
(145) 113: input unit
(146) 114: display unit
(147) 115: communication unit
(148) 1111: path condition acquisition unit
(149) 1112: suction condition acquisition unit
(150) 1113: path condition re-calculation unit
(151) 1114: trajectory generation unit
(152) 1115: pressurization distance and coordinate calculation unit
(153) 1116: pressurization time calculation unit
(154) 1117: time calculation unit
(155) 1118: stop time calculation unit
(156) 1119: display control unit
(157) 1121: path condition information
(158) 1122: suction condition information
(159) 1123: robot shape information
(160) 1124: upper limit value information