Method for generating a control program for a robot, computer program for causing a processor to execute a process for generating a control program for a robot, and teaching device

By generating a control program for industrial robots that optimizes the robot arm's trajectory based on constraint conditions, the method addresses the challenge of reducing cumulative power consumption, leading to more efficient robot operation.

JP7690762B2Active Publication Date: 2025-06-11SEIKO EPSON CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021051241
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-03-25
Publication Date
2025-06-11
Estimated Expiration
2041-03-25

AI Technical Summary

Technical Problem

Existing power consumption monitor devices for industrial robots cannot anticipate cumulative power consumption, making it difficult to optimize the manipulator's trajectory for reduced power usage.

Method used

A method for generating a control program for a robot that includes receiving instructions for teaching points, applying constraint conditions for movement time and driving conditions to generate a trajectory, displaying the trajectory and cumulative power consumption, and generating a control program based on the adopted trajectory.

Benefits of technology

This approach allows for the optimization of the robot arm's trajectory in advance, reducing the cumulative power consumption and enabling more efficient operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007690762000001
    Figure 0007690762000001
  • Figure 0007690762000002
    Figure 0007690762000002
  • Figure 0007690762000003
    Figure 0007690762000003
Patent Text Reader

Abstract

To provide a method for generating a robot control program optimized to reduce the cumulative power consumed when a robot arm moves.SOLUTION: A method for generating a robot control program comprises steps of: generating, by a processor 310, a trajectory for a robot arm 120 to move among a plurality of teaching points P1 to P3 on the basis of a first constraint on a movement time of the robot arm 120 and a second constraint on drive conditions for driving the robot arm 120; displaying, by a display unit 340, the trajectory generated by the processor 310 and accumulated power consumed when the robot arm 120 moves along the trajectory; and generating, by the processor 310, a robot control program on the basis of the trajectory upon receipt of an instruction to adopt the trajectory.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method for generating a control program for a robot, a computer program that causes a processor to execute a process of generating a control program for a robot, and a teaching device that executes a process of creating a control program for a robot.

Background Art

[0002] Conventionally, as shown in Patent Document 1, a power consumption monitor device for an industrial robot that operates according to a work program is known. The power consumption monitor device described in Patent Document 1 detects the power supplied to a servo motor that drives a manipulator with a power detection unit, and notifies an operator of the cumulative power consumption of the industrial robot for each step of the work program. The operator can suppress the cumulative power consumption and save power by correcting the work program while balancing the tact time and power consumption.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, in the power consumption monitor device described in Patent Document 1, since the cumulative power consumption of the industrial robot cannot be grasped in advance, there is a problem that the trajectory of the manipulator cannot be optimized in advance so that the power consumption required to drive the industrial robot is reduced.

Means for Solving the Problems

[0005] A method for generating a control program for a robot includes: (a) a step in which a control unit receives instructions for a plurality of teaching points that serve as a reference when a robot arm of the robot moves; (b) a first constraint condition regarding a movement time when the robot arm moves between the plurality of teaching points, and a second constraint condition regarding a driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, based on which a step in which the control unit generates a trajectory along which the robot arm moves between the plurality of teaching points; (c) a step in which a display unit displays the trajectory and the cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the trajectory; and (d) a step in which when the control unit receives an instruction to adopt the trajectory, the control unit generates a control program for the robot based on the trajectory.

[0006] A computer program that causes a processor to execute a process of generating a control program for a robot includes: (a) a process of receiving instructions for a plurality of teaching points that serve as a reference when a robot arm moves; (b) a process of generating a trajectory along which the robot arm moves between the plurality of teaching points based on a first constraint condition regarding a movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding a driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points; (c) a process of displaying on a display unit the trajectory and the cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the trajectory; and (d) a process of generating a control program for the robot based on the trajectory when an instruction to adopt the trajectory is received, and causing the processor to execute the processes.

[0007] The teaching device includes a processor and a display unit. The processor performs the following processes: (a) a process of receiving instructions for a plurality of teaching points that serve as a reference when the robotic arm moves; (b) a first constraint condition regarding the movement time when the robotic arm moves between the plurality of teaching points, and a second constraint condition regarding the driving condition for driving the robotic arm so that the robotic arm moves between the plurality of teaching points, and based on these, a process of generating a trajectory along which the robotic arm moves between the plurality of teaching points; (c) a process of displaying the trajectory and the cumulative power consumption amount when the robotic arm moves between the plurality of teaching points along the trajectory on the display unit; (d) a process of generating a control program for the robot based on the trajectory when an instruction to adopt the trajectory is received.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Modes for Carrying Out the Invention

[0009] 1. Embodiment 1 The robot system according to Embodiment 1 will be described with reference to FIGS. 1 and 2. As shown in FIG. 1, the X-axis, Y-axis, and Z-axis, which are three axes defining a rectangular coordinate system in a three-dimensional space, are appended. This rectangular coordinate system is a robot coordinate system with a reference point preset in the robot 100 as the origin. The X-axis and Y-axis are horizontal axes, and the Z-axis is a vertical axis. In the present disclosure, the vertical direction indicates the direction of gravity.

[0010] As shown in FIG. 1, this robot system includes a robot 100, a control device 200 that controls the robot 100, and a teaching device 300 that generates a control program for controlling the robot 100. The robot 100, the control device 200, and the teaching device 300 can communicate with each other by wire or wirelessly. In the present embodiment, the control device 200 is separate from the robot 100, but it may be provided inside the robot 100.

[0011] The robot 100 includes a base 110 and a robot arm 120 connected to the base 110. The robot arm 120 includes a first arm 11, a second arm 12, a third arm 13, a fourth arm 14, a fifth arm 15, and a sixth arm 16. The first arm 11, the second arm 12, the third arm 13, the fourth arm 14, the fifth arm 15, and the sixth arm 16 are connected in this order from the base end side of the robot arm 120 where the robot arm 120 is connected to the base 110 toward the tip side of the robot arm 120.

[0012] The base 110 and the first arm 11 are connected via a joint 171. The first arm 11 is rotatable with respect to the base 110 about a first rotation axis J1 as the rotation center. The first arm 11 rotates about the first rotation axis J1 by the drive of a motor (not shown). The first arm 11 and the motor (not shown) are connected via a speed reducer (not shown).

[0013] The first arm 11 and the second arm 12 are connected via a joint 172. The second arm 12 is rotatable with respect to the first arm 11 about a second rotation axis J2 as the rotation center. The second arm 12 rotates about the second rotation axis J2 by the drive of a motor (not shown). The first arm 11 and the motor (not shown) are connected via a speed reducer (not shown).

[0014] Similarly, the second arm 12 and the third arm 13 are connected via a joint 173, the third arm 13 and the fourth arm 14 are connected via a joint 174, the fourth arm 14 and the fifth arm 15 are connected via a joint 175, and the fifth arm 15 and the sixth arm 16 are connected via a joint 176. The second arm 12, the third arm 13, the fourth arm 14, the fifth arm 15, and the sixth arm 16 each rotate about a third rotation axis J3, a fourth rotation axis J4, a fifth rotation axis J5, and a sixth rotation axis J6 as the rotation centers by the drive of a motor (not shown). The arms 12 to 16 and the motors that drive the arms 12 to 16 are each connected via a speed reducer (not shown).

[0015] As the motors (not shown) that drive the arms 11 to 16, for example, an AC servo motor, a DC servo motor, etc. can be used. As the speed reducers (not shown) connected to the respective motors, a planetary gear type speed reducer composed of a plurality of gears, a harmonic speed reducer, etc. can be used.

[0016] In the vicinity of the tip of the robot arm 120, a TCP (Tool Center Point) is set as the control point of the robot arm 120. The control point is the reference point for controlling the robot arm 120. The TCP can be set at any position.

[0017] The control of the robot 100 in the present disclosure means controlling the position and orientation of the TCP, which is the control point of the robot arm 120. That is, the control of the robot 100 in the present disclosure includes the control of the robot arm 120, and the control program of the robot 100 for controlling the robot 100 includes the control program for controlling the robot arm 120.

[0018] The control device 200 has a function of controlling the robot 100. The control device 200 is electrically connected to each part of the robot 100. The control device 200 includes a motor driver (not shown), and controls motors (not shown) that drive the arms 11 to 16 via this motor driver, thereby controlling the operation of the robot arm 120.

[0019] The teaching device 300 has a function of executing a teaching process for the robot 100 and generating a control program for the robot 100. The teaching device 300 is electrically connected to the control device 200. The teaching device 300 includes a display unit 340, an operation unit 350, and a processor 310 corresponding to the "control unit" of the present disclosure. The teaching device 300 is, for example, an information processing device such as a personal computer, a tablet terminal, or a smartphone. Note that a teaching pendant (not shown) electrically connected to the control device 200 may be used as the teaching device 300.

[0020] As shown in FIG. 2, the teaching device 300 includes a processor 310, a storage unit 320, an interface circuit 330, and a display unit 340 and an operation unit 350 connected to the interface circuit 330. The control device 200 is further connected to the interface circuit 330.

[0021] The processor 310 reads out programs, data, etc. stored in the storage unit 320 from the storage unit 320 and executes the programs read out from the storage unit 320. By the processor 310 reading out and executing the teaching process program TP stored in the storage unit 320, the processor 310 functions as a teaching process unit 312 that executes the teaching process of the robot 100. The teaching process unit 312 uses the display unit 340 and the operation unit 350 to create a control program for the robot 100 based on the teaching process program TP. In other words, the method for generating the control program of the robot 100 is realized by the processor 310 executing the teaching process program TP stored in the storage unit 320.

[0022] As the processor 310, for example, an integrated circuit such as a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) can be used.

[0023] In addition to the teaching process program TP, the storage unit 320 stores robot attribute data RD, a teaching data file PP, and a control program file RP. The robot attribute data RD includes the configuration of the robot arm 120. The configuration of the robot arm 120 includes the specifications of the motors and reducers that drive the robot arm 120. The teaching data file PP is a file that stores information about the teaching points used in the control program of the robot 100, the first constraint condition and the second constraint condition described later, etc. The control program of the robot 100 is composed of a plurality of instructions for operating the robot 100. The control program file RP is a file that can store a plurality of control programs of the robot 100.

[0024] As the storage unit 320, for example, a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), a removable external storage device, etc. can be used. The display unit 340 displays various screens, such as a screen for receiving input operations and selection operations by an instructor, and a screen showing the control program of the robot 100, under the control of the teaching processing unit 312.

[0025] The operation unit 350 transmits an operation signal to the teaching processing unit 312 based on input operations, selection operations, screen transition operations, etc. by the instructor. The teaching processing unit 312 changes the display content of the display unit 340 based on the operation signal from the operation unit 350.

[0026] As the display unit 340, for example, a liquid crystal display or the like can be used. As the operation unit 350, for example, a mouse, a keyboard, a touch panel, etc. can be used. Note that the display unit 340 and the operation unit 350 may be integrated, such as a touch panel display.

[0027] Next, a method for generating the control program of the robot 100 will be described with reference to FIGS. 3 to 8. As shown in FIG. 3, the method for generating the control program of the robot 100 includes a step of displaying an operation screen for receiving instructions of teaching data such as teaching points, a step of receiving instructions of teaching points, a step of receiving instructions of the operation mode of the robot arm 120, a step of generating a trajectory of the robot arm 120 according to the operation mode of the robot arm 120, a step of displaying an operation screen for displaying the trajectory of the robot arm 120 and the cumulative power consumption amount of the robot arm 120, and a step of generating the control program of the robot 100. In this embodiment, the trajectory of the robot arm 120 is generated by PTP control (Point to Point control).

[0028] Note that the "trajectory" in the present disclosure is a concept defined according to Japanese Industrial Standard B0134:2015. Specifically, the "trajectory" in the present disclosure is a concept in which time is added as a parameter to a path that is an ordered set of combinations of the position and posture of the robot arm 120.

[0029] Step S1 is a step of displaying an operation screen for receiving an instruction of teaching data such as teaching points. When the instructor starts the teaching process program TP, in step S1, the operation screen W10 is displayed on the display unit 340.

[0030] As shown in FIG. 4, the operation screen W10 includes a robot selection field RF for selecting a robot type, a robot display window W11 for displaying a simulation image of the robot 100, a jog operation window W12 for instructing a teaching point by jog operation, an operation mode selection field MF for selecting an operation mode of the robot arm 120, a cycle time setting field CTF for setting a target value regarding the movement time of the robot arm 120, and an end button B2. Note that the movement time of the robot arm 120 in the present disclosure means the movement time during which the robot arm 120 moves from the operation start point to the operation end point. Also, in the present embodiment, the movement time of the robot arm 120 is also referred to as the cycle time of the robot arm 120.

[0031] Step S2 is a step of receiving an instruction of a teaching point. The instructor can instruct a teaching point by operating the jog operation window W12. A teaching point is a virtual point that serves as a target for matching the position and posture of the TCP, which is a control point of the robot arm 120, in the control program of the robot 100. That is, the teaching point is a reference point when the robot arm 120 moves. The instructor can teach the robot 100 a plurality of points that serve as a reference for the trajectory along which the robot arm 120 moves between the operation start point and the operation end point by instructing a plurality of teaching points including the teaching point that is the operation start point of the robot arm 120 and the teaching point that is the operation end point of the robot arm 120.

[0032] The jog operation window W12 includes a coordinate system selection field CF for selecting a coordinate system, a coordinate value field VF for specifying six coordinate values according to the selected coordinate system, a teaching point field PF for specifying a teaching point to be edited, and a teaching point setting button B1. On the right side of each coordinate value field VF and on the right side of the teaching point field PF, there are arranged increment / decrement buttons CB for increasing or decreasing the value. The coordinate system selection field CF is a field for selecting any one of a robot coordinate system, a tool coordinate system, and a joint coordinate system. In this embodiment, the coordinate system selection field CF is configured as a pull-down menu.

[0033] The instructor can select the teaching point to be instructed by setting the value of the teaching point field PF. Also, the instructor can set the coordinate values of the teaching point by means of a jog operation in the jog operation window W12. Then, when the instructor presses the teaching point setting button B1, the instruction of the teaching point is received by the teaching processing unit 312, and the setting and storage of the teaching point are performed. Specifically, when the instructor presses the teaching point setting button B1, the coordinate values of the teaching point representing the position and orientation of the TCP are stored in the teaching data file PP stored in the storage unit 320.

[0034] Also, in the robot display window W11, a simulation image including a three-dimensional image of the robot 100 whose position and orientation of the robot arm 120 have been changed by the instructor's jog operation and the position of the teaching point set by the instructor is displayed. In this embodiment, three teaching points, namely a first teaching point P1, a second teaching point P2, and a third teaching point P3, are instructed by the instructor, and the teaching points P1 to P3 are displayed in the robot display window W11.

[0035] In this embodiment, the robot arm 120 is taught by the instructor to move from the first teaching point P1 as the operation start point to the second teaching point P2, and further from the second teaching point P2 to the third teaching point P3, and then from the third teaching point P3 to the first teaching point P1 as the operation end point. Thus, in this embodiment, the trajectory along which the robot arm 120 moves among a plurality of teaching points P1 to P3 including the operation start point and the operation end point is a trajectory that connects three partial trajectories in this order: a partial trajectory from the first teaching point P1 to the second teaching point P2, a partial trajectory from the second teaching point P2 to the third teaching point P3, and a partial trajectory from the third teaching point P3 to the first teaching point P1.

[0036] Step S3 is a step of receiving an instruction for the operation mode of the robot arm 120. The operation mode of the robot arm 120 is information that specifies the state of the robot arm 120 when operating the robot arm 120. By changing the operation mode, changes are made to algorithms and parameters for controlling the position and posture of the robot arm 120, and changes are made to control target values such as the speed of the robot arm 120.

[0037] In this embodiment, the robot arm 120 has two operation modes: a normal mode and a power-saving mode. The power-saving mode is a mode in which the robot arm 120 is operated so that the cumulative power consumption is suppressed when the robot arm 120 moves among a plurality of teaching points P1 to P3 including the operation start point and the operation end point of the robot arm 120. In other words, the power-saving mode is a mode that attempts to optimize the trajectory of the robot arm 120 with the cumulative power consumption of the robot arm 120 as the main evaluation criterion for the trajectory when generating the trajectory of the robot arm 120.

[0038] The normal mode is an operation mode other than the power saving mode. The normal mode is, for example, the shortest time control in which the movement time is the shortest when the robot arm 120 moves between a plurality of teaching points P1 to P3, or the high-precision control in which the accuracy of the position and posture of the TCP is high when the robot arm 120 moves. In other words, the normal mode optimizes the trajectory of the robot arm 120 by setting the main evaluation criteria for the trajectory when generating the trajectory of the robot arm 120 to be other than the cumulative power consumption of the robot arm 120, such as the movement time of the robot arm 120 or the accuracy of the position and posture of the TCP.

[0039] The instructor selects either the normal mode or the power saving mode as the operation mode of the robot arm 120 in the operation mode selection field MF for selecting the operation mode of the robot arm 120. In the present embodiment, the operation mode selection field MF is configured as a pull-down menu. Note that, as the normal mode, a plurality of operation modes other than the power saving mode, such as the shortest time control and the high-precision control, may be selectable.

[0040] When the instructor selects an operation mode in the operation mode selection field MF, an instruction for the operation mode of the robot arm 120 is received by the teaching processing unit 312. The content of the operation mode instruction is stored in the teaching data file PP stored in the storage unit 320.

[0041] In addition, the instructor sets a target value regarding the movement time when the robot arm 120 moves between a plurality of teaching points P1 to P3 in the power saving mode in the cycle time setting field CTF. The target value regarding the movement time of the robot arm 120 in this power saving mode corresponds to the first constraint condition in the present disclosure. In the present embodiment, the target value regarding the movement time of the robot arm 120 in the power saving mode is the maximum value Tmax of the movement time of the robot arm 120. Note that when the instructor selects the power saving mode in the operation mode selection field MF, the instructor may set the target value regarding the movement time of the robot arm 120 in the power saving mode in the cycle time setting field CTF.

[0042] By setting, in the cycle time setting field CTF, the target value regarding the movement time of the robot arm 120 in the power saving mode, an instruction regarding the target value regarding the movement time of the robot arm 120 in the power saving mode, which is the first constraint condition, is received by the teaching processing unit 312. The target value regarding the movement time of the robot arm 120 in the power saving mode is stored in the teaching data file PP stored in the storage unit 320.

[0043] When the instructor presses the end button B2 of the operation screen W10 taught on the display unit 340, the process proceeds to step S4. In the present embodiment, step S4 is a step of generating the trajectory of the robot arm 120 according to the operation mode of the robot arm 120. Step S4, which is a step of generating the trajectory of the robot arm 120 according to the operation mode of the robot arm 120, includes step S41 of generating the trajectory of the robot arm 120 in the normal mode, step S42 of determining whether the operation mode is the power saving mode, and step S43 of generating the trajectory of the robot arm 120 in the power saving mode.

[0044] Step S41 is a step of generating the trajectory of the robot arm 120 in the normal mode. Based on the coordinate values of a plurality of teaching points P1 to P3 registered in the teaching data file PP, the teaching processing unit 312 generates a trajectory when the robot arm 120 moves between these plurality of teaching points P1 to P3. As a generation method for generating the trajectory, various known methods can be adopted. For example, RRT (Rapidly exploring random tree), PRM (Probabilistic roadmap method), etc. can be mentioned, but it is not limited to this, and any method can be applied.

[0045] The trajectory data of the trajectory of the robot arm 120 in the normal mode generated in step S41 is stored in the teaching data file PP stored in the storage unit 320.

[0046] Also, in this embodiment, the cumulative power consumption when the robot arm 120 moves along the trajectory of the robot arm 120 in the normal mode is calculated. The calculated cumulative power consumption of the robot arm 120 in the normal mode is stored in the teaching data file PP stored in the storage unit 320. Note that the information stored in the teaching data file PP may include, in addition to the cumulative power consumption of the robot arm 120 in the normal mode, the instantaneous maximum power consumption, average power consumption, movement time, etc. of the robot arm 120 in the normal mode.

[0047] In addition, in this embodiment, the cumulative power consumption of the robot arm 120 is calculated by first calculating the power consumption of the robot arm 120 when it moves along each partial trajectory that constitutes the trajectory for each partial trajectory, and then summing up the power consumption of the robot arm 120 calculated for each partial trajectory. Specifically, the power consumption of the partial trajectory when moving from the first teaching point P1 as the operation start point of the robot arm 120 to the second teaching point P2, the power consumption of the partial trajectory when moving from the second teaching point P2 to the third teaching point P3, and the power consumption of the partial trajectory when moving from the third teaching point P3 to the first teaching point P1 as the operation end point are summed up, whereby the cumulative power consumption when the robot arm 120 moves along the trajectory from the teaching point as the operation start point to the teaching point as the operation end point can be calculated.

[0048] In addition, the power consumption of the robot arm 120 when it moves along each partial trajectory that constitutes the trajectory can be calculated by first calculating the power consumption for each of the six motors (not shown) that rotate the arms 11 to 16 that constitute the robot arm 120 around the rotation axes J1 to J6 as the rotation centers, and then summing up the power consumption of the six motors calculated for each motor.

[0049] In addition, the power consumption for each of the six motors (not shown) that rotate the arms 11 to 16 around the rotation axes J1 to J6 as the rotation centers can be calculated based on the angular velocity waveforms around the rotation axes J1 to J6 when the arms 11 to 16 rotate around the rotation axes J1 to J6 as the rotation centers.

[0050] The angular velocity waveforms around the rotation axes J1 to J6 when the arms 11 to 16 rotate around the rotation axes J1 to J6 as the rotation centers can be calculated based on trajectory data such as the moving distance and moving direction when the robot arm 120 moves along the trajectory.

[0051] Here, as an example of the angular velocity waveforms around the rotation axes J1 to J6 when the arms 11 to 16 rotate about the rotation axes J1 to J6 respectively, an angular velocity waveform around the first rotation axis J1 of the first arm 11 when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2 in the normal mode is illustrated in FIG. 5, and a procedure for calculating the power consumption of a motor (not shown) that rotates the first arm 11 about the first rotation axis J1 will be described with reference to FIG. 5.

[0052] As shown in FIG. 5, when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2, the angular velocity waveform around the first rotation axis J1 of the first arm 11 that rotates about the first rotation axis J1 is composed of an acceleration section where the first arm 11 rotates with an angular acceleration A for a time Ta, a constant velocity section where the first arm 11 rotates at a predetermined angular velocity Vmax for a time Tb, and a deceleration section where the first arm 11 rotates with an angular deceleration -B for a time Tc, which are connected in this order in a trapezoidal shape. Note that the angular deceleration is negative angular acceleration, and the absolute value of the angular deceleration -B is B. Also, the angular velocity Vmax in the constant velocity section is the maximum angular velocity when the first arm 11 rotates about the first rotation axis J1. The area D surrounded by the trapezoidal angular velocity waveform is the rotation angle around the first rotation axis J1 when the first arm 11 rotates about the first rotation axis J1. The average angular velocity Vave when the first arm 11 rotates about the first rotation axis J1 is the angular velocity that divides the area D equally. The total time of the time Ta, the time Tb, and the time Tc is the moving time of the first arm 11 when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2.

[0053] Here, when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2, the power consumption of a motor (not shown) that rotates the first arm 11 about the first rotation axis J1 can be obtained, for example, from the following formulas (1), (2), (3), (4), and (5). In the following, a motor (not shown) that rotates the first arm 11 about the first rotation axis J1 is referred to as the first motor, and a speed reducer (not shown) that connects the first arm 11 and the first motor is referred to as the first speed reducer. Tq1(t) = I1(t) × A1(t) ···(1) Tqm1(t) = ηG × Tq1(t) × G ···(2) Pm1(t) = ηM × Tqm1(t) × V1(t) ···(3) ηG = f(Tq1(t), V1(t)) ···(4) ηM = f(Tqm1(t), V1(t)) ···(5)

[0054] When the robot arm 120 moves from the first teaching point P1 to the second teaching point P2, Tq1 is the torque output by the drive shaft of the first reduction gear that becomes the first rotation axis J1 at time t, I1(t) is the moment of inertia around the first rotation axis J1 at time t, and A1(t) is the angular acceleration around the first rotation axis J1 at time t. Tqm1 is the torque output by the first motor at time t, ηG is the transmission efficiency of the first reduction gear, and is a function of the torque Tq1(t) output by the drive shaft of the first reduction gear at time t and the rotational speed V1(t) of the first motor corresponding to the rotational speed of the driven shaft of the first reduction gear. Pm1(t) is the instantaneous power consumption of the first motor at time t. ηM is the efficiency of the first motor and is a coefficient for calculating the power consumption required by the first motor to obtain the mechanical output of the first motor determined by Tqm1(t) × V1(t). ηM is a function of the torque Tqm1(t) output by the first motor and the rotational speed V1(t) of the first motor. Note that in this embodiment, ηM and ηG are stored in advance in the storage unit 320 as robot attribute data RD. The format when ηM and ηG are stored in the storage unit 320 is not particularly limited, and they may be stored as a function or as a look-up table, either is acceptable.

[0055] Returning to FIG. 3, the method for generating the control program of the robot 100 will be described starting from step S42. Step S42 is a process for determining whether the operation mode is the power saving mode. If the instruction content of the operation mode stored in the storage unit 320 is the power saving mode, the process proceeds to step S43. If the instruction content of the operation mode is the normal mode, the process proceeds to step S5.

[0056] Step S43 is a step of generating a trajectory of the robot arm 120 in the power saving mode. Step S43 is executed when the power saving mode is instructed in Step S3. In other words, when the power saving mode is not instructed, Step S43 is not executed, so that the generation of the control program of the robot 100 can be efficiently performed.

[0057] In Step S43, based on a first constraint condition regarding the movement time when the robot arm 120 moves between a plurality of teaching points P1 to P3 and a second constraint condition regarding the driving condition for driving the robot arm 120 so that the robot arm moves between the plurality of teaching points P1 to P3, a trajectory for the robot arm 120 to move between the plurality of teaching points P1 to P3 is generated. Details of Step S43 will be described later.

[0058] In the present embodiment, the second constraint condition is that the absolute values of the acceleration and deceleration of the robot arm 120 when the robot arm 120 moves between the plurality of teaching points P1 to P3 along the trajectory in the power saving mode are smaller than the absolute values of the acceleration and deceleration of the robot arm 120 when the robot arm 120 moves between the plurality of teaching points P1 to P3 along the trajectory in the normal mode.

[0059] Reducing the absolute values of the acceleration and deceleration of the robot arm 120 when the robot arm 120 moves between the plurality of teaching points P1 to P3 can be achieved by reducing the absolute values of the angular acceleration and angular deceleration around the rotation axes J1 to J6 of the arms 11 to 16 when the arms 11 to 16 constituting the robot arm 120 rotate about the rotation axes J1 to J6 as the rotation centers.

[0060] Here, as an example of the angular velocity waveforms around the rotation axes J1 to J6 when the arms 11 to 16 rotate about the rotation axes J1 to J6 in the power saving mode, the angular velocity waveform around the first rotation axis J1 of the first arm 11 when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2 in the power saving mode is illustrated in FIG. 6, and the absolute values of the angular acceleration and angular deceleration around the first rotation axis J1 of the first arm 11 set based on the second constraint condition will be described with reference to FIG. 6.

[0061] As shown in FIG. 6, the angular velocity waveform around the first rotation axis J1 of the first arm 11 in the power saving mode includes an acceleration section where it rotates with an angular acceleration A' whose absolute value is smaller than the angular acceleration A in the normal mode during the time Ta', a constant velocity section where the first arm 11 rotates at a predetermined angular velocity Vmax during the time Tb', and a deceleration section where it rotates with an angular deceleration -B' whose absolute value is smaller than the angular deceleration -B in the normal mode during the time Tc', and these are connected in this order to form a trapezoidal shape. In this embodiment, the area D surrounded by the trapezoidal angular velocity waveform in the normal mode and the area D' surrounded by the trapezoidal angular velocity waveform in the power saving mode are equal. The total time of the time Ta', the time Tb', and the time Tc' is the moving time of the first arm 11 when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2 in the power saving mode.

[0062] In this way, based on the second constraint condition, the absolute values of the angular acceleration and angular deceleration of the angular velocity waveforms around the rotation axes J1 to J6 of the arms 11 to 16 in the power saving mode can be made smaller than the absolute values of the angular acceleration and angular deceleration of the angular velocity waveforms around the rotation axes J1 to J6 of the arms 11 to 16 in the normal mode. And based on the angular velocity waveforms around the rotation axes J1 to J6 of the arms 11 to 16 set based on the second constraint condition, the partial trajectory of the robot arm 120 when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2 in the power saving mode can be generated.

[0063] Similarly, based on the second constraint condition, by making the absolute values of the acceleration and deceleration when the robot arm 120 moves smaller than the absolute values of the acceleration and deceleration in the normal mode, a partial trajectory when the robot arm 120 in the power-saving mode moves between the second teaching point P2 and the third teaching point P3, and a partial trajectory when the robot arm 120 in the power-saving mode moves between the third teaching point P3 and the first teaching point P1 can be generated. Then, by connecting each partial trajectory of the robot arm 120 in the power-saving mode from the teaching point that is the operation start point to the teaching point that is the operation end point, a trajectory for the robot arm 120 in the power-saving mode to move between a plurality of teaching points P1 to P3 including the operation start point and the operation end point can be generated.

[0064] In this way, the cumulative power consumption when the robot arm 120 moves along the trajectory of the robot arm 120 in the power-saving mode generated based on the second constraint condition can be calculated based on the angular velocity waveforms around the rotation axes J1 to J6 of the arms 11 to 16 in the same way as the cumulative power consumption when the robot arm 120 moves along the trajectory of the robot arm 120 in the normal mode. The cumulative power consumption of the robot arm 120 in the power-saving mode is smaller than the cumulative power consumption of the robot arm 120 in the normal mode.

[0065] By the way, by generating the trajectory of the robot arm 120 in the power-saving mode based on the second constraint condition in this way, the movement time when the robot arm 120 moves along the trajectory of the robot arm 120 in the power-saving mode becomes longer than the movement time when the robot arm 120 moves along the trajectory of the robot arm 120 in the normal mode.

[0066] In this embodiment, as described above, as the first constraint condition, the maximum value Tmax of the movement time when the robot arm 120 moves between a plurality of teaching points P1 to P3 is set. In addition to the second constraint condition, based on the first constraint condition, by generating the trajectory of the robot arm 120 in the power saving mode, the movement time when the robot arm 120 moves along the trajectory of the robot arm 120 in the power saving mode can be made equal to or less than the maximum value Tmax. Thus, by setting the maximum value Tmax for the movement time of the robot arm 120 in the power saving mode, the movement time of the robot arm 120 in the power saving mode can be kept within an appropriate time range.

[0067] The trajectory data of the trajectory of the robot arm 120 in the power saving mode generated in step S43, the cumulative power consumption amount, and so on are stored in the teaching data file PP in the storage unit 320. In addition to the cumulative power consumption amount of the robot arm 120 in the power saving mode, the instantaneous maximum power consumption, the average power consumption, the movement time, etc. of the robot arm 120 in the power saving mode may also be stored in the teaching data file PP.

[0068] In step S43, when the trajectory of the robot arm 120 in the power saving mode is generated, step S4 ends and the process proceeds to step S5. Step S5 is a step of displaying an operation screen that displays the trajectory of the robot arm 120 generated in step S4 and the cumulative power consumption amount of the robot 100 when the robot arm 120 moves along that trajectory.

[0069] In step S5, the display unit 340 displays the operation screen W20. As shown in FIG. 7, the operation screen W20 includes a robot selection field RF for selecting a robot type, a robot display window W21 for displaying a simulation image of the robot 100, a power consumption display window W22 for displaying the cumulative power consumption of the robot arm 120, etc., a program name input field NF for instructing the program name of the control program of the robot 100, an apply button B3, and a cancel button B4.

[0070] Note that the apply button B3 and the cancel button B4 are receiving parts for the teaching processing unit 312 to receive an instruction on whether to adopt an orbit, which will be described later. The instructor can input an instruction on whether to adopt an orbit using the apply button B3 and the cancel button B4 which are receiving parts.

[0071] In the robot display window W21, a simulation image including a three-dimensional image of the robot 100, the positions of the teaching points P1 to P3 set by the instructor, and the orbit A of the robot arm 120 generated in step S4 is displayed. In the power consumption display window W22, the instantaneous maximum power consumption, the average power consumption, the cumulative power consumption, and the movement time when the robot arm 120 moves along the orbit A generated in step S4 are displayed.

[0072] In step S3, when the power saving mode is instructed as the operation mode of the robot 100, the orbit A displayed in the robot display window W21 is the orbit of the robot arm 120 in the power saving mode. Also, the instantaneous maximum power consumption, the average power consumption, the cumulative power consumption, and the cycle time displayed in the power consumption display window W22 are the instantaneous maximum power consumption, the average power consumption, the cumulative power consumption, and the cycle time which is the movement time when the robot arm 120 moves along the orbit of the robot arm 120 in the power saving mode.

[0073] Step S6 is a step of generating a control program for the robot 100. The instructor checks the trajectory A displayed on the robot display window W21 and the power consumption display window W22, and determines whether to adopt it as the trajectory of the robot arm 120 in the power saving mode.

[0074] If the instructor adopts the trajectory A as the trajectory of the robot arm 120 in the power saving mode, the instructor enters the program name in the program name input field NF and presses the apply button B3. When the instructor presses the apply button B3, an instruction to adopt the trajectory A as the trajectory of the robot arm 120 in the power saving mode is received by the teaching processing unit 312. Then, when the teaching processing unit 312 receives an instruction to adopt the trajectory A as the trajectory of the robot arm 120, the teaching processing unit 312 reads the trajectory data of the trajectory A from the teaching data file PP stored in the storage unit 320, and generates a control program for the robot 100 based on the trajectory A. The generated control program is stored in the control program file RP stored in the storage unit 320 together with the program name entered in the program name input field NF. In this way, when the control program of the robot 100 is generated and stored, the teaching processing program TP ends.

[0075] In step S6, if the instructor does not adopt the trajectory A as the trajectory of the robot arm 120 in the power saving mode, by pressing the cancel button B4, the teaching processing program TP ends without generating the control program of the robot 100. In this embodiment, since the teaching processing program TP ends when the instructor presses the cancel button B4, when the instructor generates a new trajectory, it is necessary to start the teaching processing program TP again. However, the present invention is not limited to this, and when the instructor presses the cancel button B4, the teaching processing program TP may return to step S3 without ending, so that the instructor can generate a new trajectory.

[0076] In this way, by displaying the apply button B3 and the cancel button B4 as a reception unit for the instruction processing unit 312 to receive an instruction on whether to adopt the trajectory A or not, the instructor can use the apply button B3 and the cancel button B4 to select whether to adopt the trajectory A as the trajectory of the robot arm 120 in the power saving mode. That is, compared with the case where the trajectory A is automatically determined without displaying the apply button B3 and the cancel button B4, the instructor can freely select the trajectory. For example, when the trajectory A is not adopted, the instructor can change various conditions for generating the trajectory such as the number and position of the teaching points, the first constraint condition, the second constraint condition, and the operation mode, and generate a new trajectory, so as to freely select a more appropriate trajectory as the trajectory of the robot arm 120.

[0077] Also, in this embodiment, when the trajectory A is not adopted, by pressing the cancel button B4, the control program of the robot 100 is not generated. Therefore, the control program file RP stored in the storage unit 320 does not store the control program of the robot 100 based on the trajectory not adopted by the instructor. For this reason, the instructor can efficiently manage the control program of the robot 100 stored in the control program file RP.

[0078] Note that when the normal mode is instructed as the operation mode of the robot 100 in step S3, on the operation screen W20 displayed by the display unit 340 in step S5, the trajectory of the robot arm 120 in the normal mode, the instantaneous maximum power consumption when the robot arm 120 moves along the trajectory in the normal mode, the average power consumption, the cumulative power consumption amount, and the movement time which is the cycle time are displayed. Then, by the same operation as when the power saving mode is instructed, in step S6, the control program of the robot 100 in the normal mode can be generated and stored in the control program file RP.

[0079] Next, the details of step S43, which is the step of generating the trajectory of the robot arm 120 in the power saving mode, will be described with reference to FIG. 8. In the present embodiment, based on a first constraint condition regarding the movement time when the robot arm 120 moves between a plurality of teaching points P1 to P3, and a second constraint condition regarding the driving condition for driving the robot arm 120 so that the robot arm 120 moves between a plurality of teaching points P1 to P3, a plurality of trajectory candidates for the robot arm 120 to move between a plurality of teaching points P1 to P3 are generated. Then, among the plurality of generated trajectory candidates, one trajectory candidate with the minimum cumulative power consumption when the robot arm 120 moves between a plurality of teaching points P1 to P3 is determined as the trajectory, thereby generating the trajectory of the robot arm 120 in the power saving mode.

[0080] As shown in FIG. 8, first, step S431 is executed. Step S431 is a step of performing initial settings for generating the trajectory of the robot arm 120 in the power saving mode. In step S431, from the teaching data file PP stored in the storage unit 320, the cumulative power consumption when the robot arm 120 moves along the trajectory of the robot arm 120 in the normal mode, the first constraint condition, the second constraint condition, and the number of calculation times Ntry are read. The number of calculation times Ntry is the upper limit value of the number of times of generating trajectory candidates when generating a plurality of trajectory candidates for the robot arm 120 to move between a plurality of teaching points P1 to P3.

[0081] In the present embodiment, the second constraint condition and the number of generation times Ntry are stored in advance in the teaching data file PP, but they do not have to be stored in advance in the teaching data file PP. For example, the instructor may use the operation screen W10 to instruct the second constraint condition and the number of calculation times Ntry.

[0082] Also, in step S431, a minimum cumulative power consumption amount Wtp(min) is prepared as a variable for determining a trajectory candidate with the minimum cumulative power consumption amount among a plurality of trajectory candidates when the robot arm 120 moves between a plurality of teaching points P1 to P3. The initial value of the minimum cumulative power consumption amount Wtp(min) is the cumulative power consumption amount of the robot arm 120 in the normal mode.

[0083] In step S432, based on the second constraint condition, a trajectory candidate of the robot arm 120 in the power saving mode is generated.

[0084] Specifically, for each partial trajectory of the robot arm 120 when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2, for each partial trajectory of the robot arm 120 when the robot arm 120 moves from the second teaching point P2 to the third teaching point P3, and for each partial trajectory of the robot arm 120 when the robot arm 120 moves from the third teaching point P3 to the first teaching point P1, the absolute values of the angular acceleration and angular deceleration around each rotation axis J1 to J6 of the arms 11 to 16 are made smaller than the absolute values of the angular acceleration and angular deceleration in the normal mode, thereby generating a trajectory candidate of the robot arm 120 in the power saving mode.

[0085] The method for generating a combination of the absolute values of the angular acceleration and angular deceleration around each rotation axis J1 to J6 of the arms 11 to 16 so as to satisfy the second constraint condition is not particularly limited. For example, within a numerical range that satisfies the second constraint condition, a combination of the absolute values of the angular acceleration and angular deceleration around each rotation axis J1 to J6 of the arms 11 to 16 may be randomly generated. Alternatively, by using a combinatorial optimization method such as a metaheuristic method, a combination of the absolute values of the angular acceleration and angular deceleration around each rotation axis J1 to J6 of the arms 11 to 16 may be generated so as to satisfy the second constraint condition.

[0086] In step S433, the moving time Ttp when the robot arm 120 moves between a plurality of teaching points P1 to P3 is calculated along the trajectory candidate of the robot arm 120 generated in step S432.

[0087] In step S434, the moving time Ttp when the robot arm 120 moves along the trajectory candidate is compared with the maximum value Tmax of the moving time when the robot arm 120 moves, which is the first constraint condition in this embodiment. In step S434, when the moving time Ttp when the robot arm 120 moves along the trajectory candidate is greater than the maximum value Tmax of the moving time of the robot arm 120, it means that the trajectory candidate of the robot arm 120 created in step S432 does not satisfy the first constraint condition, and the process returns to step S432. On the other hand, in step S434, when the moving time Ttp when the robot arm 120 moves along the trajectory candidate is less than or equal to the maximum value Tmax of the moving time of the robot arm 120, it means that the trajectory candidate of the robot arm 120 created in step S432 satisfies the first constraint condition, and the process proceeds to step S435.

[0088] In this way, in this embodiment, by executing steps S432, S433, and S434, it is possible to generate a trajectory candidate for the robot arm 120 based on the first constraint condition and the second constraint condition.

[0089] In step S435, the cumulative power consumption Wtp when the robot arm 120 moves along the trajectory candidate of the robot arm 120 generated in step S432 is calculated.

[0090] In step S436, the minimum cumulative power consumption Wtp(min) is compared with the cumulative power consumption Wtp when the robotic arm 120 moves along the trajectory candidate. If the cumulative power consumption Wtp when the robotic arm 120 moves along the trajectory candidate is equal to or greater than the minimum cumulative power consumption Wtp(min), the process returns to step S432. On the other hand, if the cumulative power consumption Wtp when the robotic arm 120 moves along the trajectory candidate is less than the minimum cumulative power consumption Wtp(min), the process proceeds to step S437.

[0091] In step S437, the value of the minimum cumulative power consumption Wtp(min) is updated by substituting the cumulative power consumption Wtp of the trajectory candidate created in step S432 into the minimum cumulative power consumption Wtp(min). That is, in step S437, the value held by the minimum cumulative power consumption Wtp(min) is the cumulative power consumption of the trajectory candidate with the minimum cumulative power consumption among the plurality of trajectory candidates of the robotic arm 120 generated by repeating step S432 at this point.

[0092] In step S438, the trajectory data, the cumulative power consumption Wtp, the movement time Ttp, etc. of the trajectory candidate with the minimum cumulative power consumption among the plurality of trajectory candidates of the robotic arm 120 generated by repeating step S432 are stored in the teaching data file PP stored in the storage unit 320.

[0093] In step S439, the number of times of generating the trajectory candidate by repeating step S432 is compared with the number of operations Ntry which is the upper limit value of the number of times of generating the trajectory candidate. If the number of times of generating the trajectory candidate in step S432 is less than the number of operations Ntry, the process returns to step S432 and a new trajectory candidate is generated. On the other hand, if the number of times of generating the trajectory candidate in step S432 has reached the number of operations Ntry, no new trajectory candidate is generated and the process proceeds to step S440.

[0094] In step S440, among the plurality of trajectory candidates generated by repeating step S432, the trajectory candidate corresponding to the cumulative power consumption amount held by the minimum cumulative power consumption amount Wtp(min) is determined as the trajectory in the power saving mode. As described above, in the present embodiment, in step S438, the trajectory data of the trajectory candidate with the minimum cumulative power consumption amount at that time, the cumulative power consumption amount Wtp, the movement time Ttp, etc. are stored in the teaching data file PP stored in the storage unit 320. Therefore, when the number of times of generating the trajectory candidate reaches the generation number Ntry, the trajectory candidate stored in the teaching data file PP may be determined as the trajectory of the robot arm 120 in the power saving mode. Further, the cumulative power consumption amount Wtp, the movement time Ttp, etc. of the trajectory candidate stored in the teaching data file PP may be set as the cumulative power consumption amount, the movement time, etc. of the robot arm 120 in the power saving mode, respectively.

[0095] As described above, according to the present embodiment, the following effects can be obtained. A method for generating a control program for the robot 100 includes: (a) a step in which a processor 310 corresponding to a control unit receives instructions for a plurality of teaching points P1 to P3 that serve as a reference when the robot arm 120 of the robot 100 moves; (b) a first constraint condition regarding a movement time when the robot arm 120 moves between the plurality of teaching points P1 to P3, and a second constraint condition regarding a driving condition for driving the robot arm 120 so that the robot arm 120 moves between the plurality of teaching points P1 to P3. Based on these conditions, a step in which the processor 310 corresponding to the control unit generates a trajectory along which the robot arm 120 moves between the plurality of teaching points P1 to P3; (c) a step in which a display unit 340 displays the trajectory generated by the processor 310 corresponding to the control unit and the cumulative power consumption when the robot arm 120 moves between the plurality of teaching points P1 to P3 along the trajectory; (d) when the processor 310 corresponding to the control unit receives an instruction to adopt a trajectory along which the robot arm 120 moves between the plurality of teaching points P1 to P3, a step in which the processor 310 corresponding to the control unit generates a control program for the robot 100 based on the trajectory along which the robot arm 120 moves between the plurality of teaching points P1 to P3. According to this method for generating a control program, it is possible to provide a control program in a power-saving mode with low power consumption, in which the trajectory of the robot arm 120 is optimized in advance so that the cumulative power consumption when driving the robot 100 is reduced.

[0096] Also, an instruction processing program TP, which is a computer program that causes the processor 310 to execute a process of generating a control program for the robot 100, includes: (a) a process of receiving instructions for a plurality of teaching points P1 to P3 that serve as a reference when the robot arm 120 moves; (b) a first constraint condition regarding the movement time when the robot arm 120 moves between the plurality of teaching points P1 to P3, and a second constraint condition regarding a driving condition for driving the robot arm 120 so that the robot arm 120 moves between the plurality of teaching points P1 to P3. Based on these conditions, a process of generating a trajectory for the robot arm 120 to move between the plurality of teaching points P1 to P3; (c) a process of displaying on the display unit 340 the trajectory generated by the processor 310 and the cumulative power consumption when the robot arm 120 moves between the plurality of teaching points P1 to P3 along the trajectory; and (d) a process of causing the processor 310 to generate a control program for the robot 100 based on the trajectory generated by the processor 310 when an instruction to adopt the trajectory generated by the processor 310 is received. According to this computer program, it is possible to provide a control program for a power-saving mode with low power consumption in which the trajectory of the robot arm 120 is optimized in advance so that the cumulative power consumption when driving the robot 100 is reduced.

[0097] In addition, the teaching device 300 includes a processor 310 and a display unit 340. The processor 310 performs the following processes: (a) a process of receiving instructions for a plurality of teaching points P1 to P3 that serve as a reference when the robot arm 120 moves; (b) a first constraint condition regarding the movement time when the robot arm 120 moves between the plurality of teaching points P1 to P3, and a second constraint condition regarding the driving condition for driving the robot arm 120 so that the robot arm 120 moves between the plurality of teaching points P1 to P3. Based on these conditions, a process of generating a trajectory along which the robot arm 120 moves between the plurality of teaching points P1 to P3; (c) a process of displaying on the display unit 340 the trajectory generated by the processor 310 and the cumulative power consumption when the robot arm 120 moves between the plurality of teaching points P1 to P3 along the trajectory; (d) a process of generating a control program for the robot 100 based on the trajectory generated by the processor 310 when an instruction to adopt the trajectory generated by the processor 310 is received. According to this teaching device 300, it is possible to provide a power-saving mode control program with low power consumption in which the trajectory of the robot arm 120 is optimized in advance so that the cumulative power consumption when driving the robot 100 is reduced.

[0098] In this embodiment, the second constraint condition sets the upper limit value of the absolute value of the acceleration and deceleration of the robot arm 120 when the robot arm 120 moves between the plurality of teaching points P1 to P3 along the trajectory in the power-saving mode to be the absolute value of the acceleration and deceleration of the robot arm 120 in the normal mode, and makes the absolute value of the acceleration and deceleration of the robot arm 120 in the power-saving mode smaller than the absolute value of the acceleration and deceleration of the robot arm 120 in the normal mode. However, the second constraint condition is not limited to this. For example, in addition to the upper limit value of the absolute value of the acceleration and deceleration of the robot arm 120 in the power-saving mode, the minimum acceleration and minimum deceleration as the lower limit value of the absolute value of the acceleration and deceleration of the robot arm 120 may be included.

[0099] 2. Embodiment 2 Next, a method for generating a control program for the robot 100 according to Embodiment 2 will be described with reference to FIG. 9. Note that the same components as those in Embodiment 1 are denoted by the same reference numerals, and the description thereof will be omitted. The method for generating a control program for the robot 100 in Embodiment 2 is the same as that in Embodiment 1, except that the second constraint condition is different.

[0100] In this embodiment, the second constraint condition is that the maximum speed or average speed of the robot arm 120 when the robot arm 120 moves between a plurality of teaching points P1 to P3 along the trajectory in the power saving mode is lower than the maximum speed or average speed of the robot arm 120 when the robot arm 120 moves between a plurality of teaching points P1 to P3 along the trajectory in the normal mode.

[0101] As shown in FIG. 9, for example, in the power saving mode, when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2, in the angular velocity waveform in which the first arm 11 rotates about the first rotation axis J1, the maximum angular velocity when the first arm 11 rotates about the first rotation axis J1 is the angular velocity Vmax' in the constant velocity section. The angular velocity Vmax' is set to be lower than the angular velocity Vmax of the angular velocity waveform of the first arm 11 about the first rotation axis J1 in the normal mode based on the second constraint condition.

[0102] Similarly, in each of the partial trajectories of the robot arm 120 when moving from the first teaching point P1 to the second teaching point P2, the partial trajectory of the robot arm 120 when moving from the second teaching point P2 to the third teaching point P3, and the partial trajectory of the robot arm 120 when moving from the third teaching point P3 to the first teaching point P1, by making the angular velocity Vmax' around each of the rotation axes J1 to J6 of the arms 11 to 16 in the power-saving mode smaller than the angular velocity Vmax around each of the rotation axes J1 to J6 of the arms 11 to 16 in the normal mode, the maximum speed of the robot arm 120 in the power-saving mode can be made smaller than the maximum speed of the robot arm 120 in the normal mode.

[0103] Similarly, by making the average angular velocity Vave' around each of the rotation axes J1 to J6 of the arms 11 to 16 in the power-saving mode smaller than the average angular velocity Vave around each of the rotation axes J1 to J6 of the arms 11 to 16 in the normal mode, the average speed of the robot arm 120 in the power-saving mode can be made smaller than the average speed of the robot arm 120 in the normal mode.

[0104] In this way, based on the second constraint condition in the present embodiment, by generating the trajectory of the robot arm 120 in the power-saving mode, the cumulative power consumption when the robot arm 120 moves along the trajectory of the robot arm 120 in the power-saving mode can be made smaller than the cumulative power consumption when the robot arm 120 moves along the trajectory of the robot arm 120 in the normal mode.

[0105] According to the present embodiment, similar to Embodiment 1, a control program for the robot 100 in the power-saving mode can be generated in which the trajectory of the robot arm 120 is optimized in advance so that the cumulative power consumption when driving the robot 100 is reduced.

[0106] 3. Embodiment 3 Next, a method for generating a control program for the robot 100 according to Embodiment 3 will be described. Regarding the same configurations as in Embodiment 1, the same reference numerals will be used and their descriptions will be omitted. The method for generating a control program for the robot 100 in Embodiment 3 is the same as in Embodiment 1, except that the second constraint condition is different.

[0107] In this embodiment, the second constraint condition is that the variation width of the position of the robot arm 120 in the gravitational direction when the robot arm 120 moves between a plurality of teaching points P1 to P3 along the trajectory in the normal mode is smaller than the variation width of the position of the robot arm in the gravitational direction when the robot arm 120 moves between a plurality of teaching points along the trajectory in the power saving mode.

[0108] The variation width of the position of the robot arm 120 in the gravitational direction is the distance in the Z-axis direction between the position on the Z-axis that is most on the positive side and the position on the Z-axis that is most on the negative side in each partial trajectory of the robot arm 120 when the robot arm 120 moves from the first teaching point P1 to the second teaching point P2, the partial trajectory of the robot arm 120 when the robot arm 120 moves from the second teaching point P2 to the third teaching point P3, and the partial trajectory of the robot arm 120 when the robot arm 120 moves from the third teaching point P3 to the first teaching point P1.

[0109] For example, the partial trajectory of the robot arm 120 moving from the first teaching point P1 to the second teaching point P2 does not form a straight line connecting the first teaching point P1 and the second teaching point P2. The partial trajectory of the robot arm 120 varies on the plus or minus side in the X-axis direction, Y-axis direction, and Z-axis direction with respect to the straight line connecting the first teaching point P1 and the second teaching point P2. Since the Z-axis direction is the direction of gravity, the variation of the partial trajectory of the robot arm 120 in the Z-axis direction affects the cumulative power consumption of the robot arm 120. When the variation of the partial trajectory of the robot arm 120 in the Z-axis direction increases, the cumulative power consumption of the robot arm 120 increases. Therefore, by making the variation width of the partial trajectory of the robot arm 120 in the Z-axis direction in the normal mode smaller than the variation width of the partial trajectory of the robot arm 120 in the Z-axis direction in the power-saving mode, the cumulative power consumption when the robot arm 120 moves along the partial trajectory from the first teaching point P1 to the second teaching point P2 can be reduced.

[0110] According to the present embodiment, similar to Embodiment 1, a control program for the robot 100 in the power-saving mode can be generated by optimizing in advance the trajectory of the robot arm 120 so that the cumulative power consumption when driving the robot 100 is reduced.

[0111] As described above, the second constraint condition of Embodiment 1 uses the absolute values of the acceleration and deceleration of the robot arm 120, the second constraint condition of Embodiment 2 uses the maximum speed or average speed of the robot arm 120, and the constraint condition of Embodiment 3 uses the variation width of the position of the robot arm 120 in the direction of gravity. The second constraint conditions are different in Embodiment 1, Embodiment 2, and Embodiment 3, respectively, but the second constraint conditions may be used in combination with the respective second constraint conditions in Embodiments 1 to 3.

[0112] 4. Embodiment 4 Next, a method for generating a control program for the robot 100 according to Embodiment 4 will be described with reference to FIG. 10. Note that the same components as those in Embodiment 1 are denoted by the same reference numerals, and the description thereof will be omitted. The method for generating a control program for the robot 100 according to Embodiment 4 is the same as that in Embodiment 1, except that the operation screen W20a displayed on the display unit 340 is different.

[0113] The operation screen W20a displayed on the display unit 340 is an operation screen that displays the trajectory of the robot arm 120 and the cumulative power consumption of the robot 100 when the robot arm 120 moves along the trajectory.

[0114] As shown in FIG. 10, the operation screen W20a includes a robot selection field RF for selecting a robot type, a robot display window W21 for displaying a simulation image of the robot 100, power consumption display windows W22 and W23 for displaying the cumulative power consumption of the robot arm 120, a trajectory selection field TF for selecting a trajectory to be the generation target of the control program for the robot 100, a program name input field NF for instructing the program name of the control program for the robot 100, an apply button B3, and a cancel button B4.

[0115] The robot display window W21 displays a simulation image including a three-dimensional image of the robot 100, the positions of the teaching points P1 to P3 set by the instructor, the trajectory A of the robot arm 120 in the power saving mode, and the trajectory B of the robot arm 120 in the normal mode. The power consumption display window W22 displays the instantaneous maximum power consumption, the average power consumption, the cumulative power consumption, and the movement time when the robot arm 120 moves along the trajectory A. The power consumption display window W23 displays the instantaneous maximum power consumption, the average power consumption, the cumulative power consumption, and the movement time when the robot arm 120 moves along the trajectory B.

[0116] The instructor checks the trajectory A in the power-saving mode and the trajectory B in the normal mode displayed on the robot display window W21 and the power consumption display windows W22 and W23, and determines which of the trajectory A and the trajectory B to adopt as the trajectory of the robot arm 120. The trajectory selection field CF is a field for arbitrarily selecting one of the trajectory A and the trajectory B. In the present embodiment, the trajectory selection field TF is configured as a pull-down menu. When the instructor selects the trajectory A in the power-saving mode as the trajectory for generating the control program of the robot 100, the instructor selects the trajectory A in the trajectory selection field TF.

[0117] When the instructor inputs a program name in the program name input field NF and presses the apply button B3, an instruction to adopt the trajectory A as the trajectory of the robot arm 120 in the power-saving mode is received by the teaching processing unit 312. Then, when the teaching processing unit 312 receives an instruction to adopt the trajectory A as the trajectory of the robot arm 120, the teaching processing unit 312 reads out the trajectory data of the trajectory A selected in the trajectory selection field TF from the teaching data file PP stored in the storage unit 320, and generates a control program for the robot 100 based on the trajectory A. The generated control program is stored in the control program file RP stored in the storage unit 320 together with the program name input in the program name input field NF. In this way, when the control program of the robot 100 is generated and stored, the teaching processing program TP ends.

[0118] According to the present embodiment, in addition to the effects in the first embodiment, the following effects can be obtained. The display unit 340 displays the trajectory B of the robot arm 120 in the normal mode, the cumulative power consumption when the robot arm 120 moves between a plurality of teaching points P1 to P3 along the trajectory B, the trajectory A of the robot arm 120 in the power saving mode, and the cumulative power consumption when the robot arm 120 moves between a plurality of teaching points P1 to P3 along the trajectory A. Thus, the instructor can easily compare the trajectory A of the robot arm 120 in the power saving mode with the trajectory B of the robot arm 120 in the normal mode. Therefore, the instructor can efficiently proceed with the generation of the control program for the robot 100.

[0119] In the above-described embodiment, PTP control is used to generate the trajectory of the robot 100, but CP control (Continuous Path control) may be used.

[0120] Also, in the above-described embodiment, the single-arm 6-axis vertical articulated robot is exemplified as the robot 100. However, the method for generating the control program of the robot 100 in the present disclosure is not limited thereto, and can be applied to a robot having any robot arm mechanism having one or more joints.

[0121] Also, as described above, the method for generating the control program of the robot 100 in the present disclosure can generate a control program that is optimized in advance so that the cumulative power consumption when driving the robot 100 is reduced. Therefore, when applied to a robot driven by a battery, the driving time by the battery can be effectively extended.

Description of Reference Numerals

[0122] 100…Robot, 120…Robot arm, 200…Control device, 300…Teaching device, 310…Processor as a control unit, 312…Teaching processing unit, 320…Memory unit, 340…Display unit, 350…Operation unit, TP…Teaching processing program, P1…First teaching point, P2…Second teaching point, P3…Third teaching point, W10…Operation screen, W11…Robot display window, W12…Jog operation window, W20, W20a…Operation screen, W21…Robot display window, W22, W23…Power consumption display window.

Claims

1. a step of the control unit receiving instructions of a plurality of teaching points serving as a reference when a robot arm of a robot moves; a step of the control unit generating a trajectory along which the robot arm moves between the plurality of teaching points based on a first constraint condition regarding a movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding a driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points; a step of a display unit displaying the trajectory and an accumulated power consumption amount when the robot arm moves between the plurality of teaching points along the trajectory; a step of the control unit generating a control program of the robot based on the trajectory when the control unit receives an instruction to adopt the trajectory; a step of the control unit receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points or a power saving mode that reduces the accumulated power consumption amount when the robot arm moves between the plurality of teaching points compared to the normal mode; executing the step (b) when the power saving mode is instructed; executing a step of generating a trajectory without using at least one of the first constraint condition and the second constraint condition when the normal mode is instructed; The second constraint condition is that the absolute values of the acceleration and deceleration of the robot arm when the robot arm moves between the plurality of teaching points along the trajectory in the power saving mode are smaller than the absolute values of the acceleration and deceleration of the robot arm when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode. A method for generating a control program of a robot.

2. a step of the control unit receiving instructions of a plurality of teaching points serving as a reference when a robot arm of a robot moves; a step of the control unit generating a trajectory along which the robot arm moves between the plurality of teaching points based on a first constraint condition regarding a movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding a driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points; Step (c): The display unit displays the trajectory and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory. Step (d): When the control unit receives an instruction to adopt the trajectory, the control unit generates a control program for the robot based on the trajectory. The method includes a step in which the control unit receives an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points, or a power saving mode that reduces the cumulative power consumption when the robot arm moves between the plurality of teaching points compared to the normal mode. When the power saving mode is instructed, step (b) is executed. When the normal mode is instructed, a step of generating a trajectory without using at least one of the first constraint condition and the second constraint condition is executed. The second constraint condition is that the maximum speed or average speed of the robot arm when the robot arm moves between the plurality of teaching points along the trajectory in the power saving mode is lower than the maximum speed or average speed of the robot arm when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode. A method for generating a control program for a robot.

3. Step (a): The control unit receives an instruction for a plurality of teaching points that serve as a reference when the robot arm of the robot moves. Step (b): Based on a first constraint condition regarding the movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding the driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, the control unit generates a trajectory for the robot arm to move between the plurality of teaching points. Step (c): The display unit displays the trajectory and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory. Step (d): When the control unit receives an instruction to adopt the trajectory, the control unit generates a control program for the robot based on the trajectory. a step in which the control unit receives an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points, or a power saving mode that reduces the cumulative power consumption when the robot arm moves between the plurality of teaching points compared to the normal mode, executing step (b) when the power saving mode is instructed; executing a step of generating a trajectory without using at least one of the first constraint condition and the second constraint condition when the normal mode is instructed; The second constraint condition is that the variation range of the position of the robot arm in the gravitational direction when the robot arm moves between the plurality of teaching points along the trajectory in the power saving mode is smaller than the variation range of the position of the robot arm in the gravitational direction when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode. A method for generating a control program for a robot.

4. a step in which a control unit receives instructions for a plurality of teaching points that serve as a reference when a robot arm of a robot moves; a step in which the control unit generates a trajectory along which the robot arm moves between the plurality of teaching points based on a first constraint condition regarding a movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding a driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points; a step in which a display unit displays the trajectory and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory; a step in which the control unit generates a control program for the robot based on the trajectory when the control unit receives an instruction to adopt the trajectory; a step in which the control unit receives an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points, or a power saving mode that reduces the cumulative power consumption when the robot arm moves between the plurality of teaching points compared to the normal mode, executing step (b) when the power saving mode is instructed; executing a step of generating a trajectory without using at least one of the first constraint condition and the second constraint condition when the normal mode is instructed; In the step (c), the display unit displays the trajectory in the normal mode, the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode, the trajectory in the power saving mode, and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory in the power saving mode. A method for generating a control program for a robot.

5. In the step (b), the control unit generates a plurality of trajectory candidates that are candidates for the trajectory, and determines, as the trajectory, one trajectory candidate having the minimum cumulative power consumption among the plurality of trajectory candidates. The method for generating a control program for a robot according to any one of claims 1 to 4.

6. In the step (c), the display unit displays a reception unit for the control unit to receive an instruction on whether to adopt the trajectory. The method for generating a control program for a robot according to any one of claims 1 to 5.

7. A computer program that causes a processor to execute a process of generating a control program for a robot, (a) a process of receiving an instruction of a plurality of teaching points that serve as a reference when the robot arm moves; (b) Based on a first constraint condition regarding a movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding a driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, a process of generating a trajectory for the robot arm to move between the plurality of teaching points; (c) a process of displaying on a display unit the trajectory and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory; (d) a process of generating a control program for the robot based on the trajectory when an instruction to adopt the trajectory is received; a process of receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points or a power saving mode that reduces the cumulative power consumption when the robot arm moves between the plurality of teaching points compared to the normal mode; a process of executing the step (b) when the power saving mode is instructed; When the normal mode is instructed, causing the processor to execute a process of generating a trajectory without using at least one of the first constraint condition and the second constraint condition. The second constraint condition is characterized in that when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode, the absolute values of the acceleration and deceleration of the robot arm are smaller than the absolute values of the acceleration and deceleration of the robot arm when the robot arm moves between the plurality of teaching points along the trajectory in the power saving mode. A computer program.

8. A processor and a display unit. The processor is configured to: (a) a process of receiving an instruction of a plurality of teaching points serving as a reference when the robot arm moves; (b) Based on a first constraint condition regarding a movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding a driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, a process of generating a trajectory along which the robot arm moves between the plurality of teaching points; (c) a process of displaying, on the display unit, the trajectory and the cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the trajectory; (d) a process of generating a control program for the robot based on the trajectory when an instruction to adopt the trajectory is received; a process of receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points or a power saving mode that reduces the cumulative power consumption amount when the robot arm moves between the plurality of teaching points compared to the normal mode; a process of executing the step (b) when the power saving mode is instructed; When the normal mode is instructed, executing a process of generating a trajectory without using at least one of the first constraint condition and the second constraint condition. The teaching device is characterized in that the absolute value of the acceleration and deceleration of the robot arm when moving between the plurality of teaching points along the trajectory in the power saving mode is smaller than the absolute value of the acceleration and deceleration of the robot arm when moving between the plurality of teaching points along the trajectory in the normal mode.

9. A computer program that causes a processor to execute a process of generating a control program for a robot, (a)a process of receiving instructions for a plurality of teaching points that serve as a reference when the robot arm moves, (b)Based on a first constraint condition regarding the movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding the driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, a process of generating a trajectory along which the robot arm moves between the plurality of teaching points, (c)a process of displaying on a display unit the trajectory and the cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the trajectory, (d)a process of generating a control program for the robot based on the trajectory when an instruction to adopt the trajectory is received, a process of receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points or a power saving mode that reduces the cumulative power consumption amount when the robot arm moves between the plurality of teaching points compared to the normal mode, a process of executing the step (b) when the power saving mode is instructed, a process of executing a step of generating a trajectory without using at least one of the first constraint condition and the second constraint condition when the normal mode is instructed, causing the processor to execute, The second constraint condition is that the maximum speed or average speed of the robot arm when moving between the plurality of teaching points along the trajectory in the power saving mode is smaller than the maximum speed or average speed of the robot arm when moving between the plurality of teaching points along the trajectory in the normal mode. A computer program characterized by this.

10. Comprising a processor and a display unit, The processor is (a) A process of receiving instructions for a plurality of teaching points that serve as a reference when the robot arm moves; (b) Based on a first constraint condition regarding the movement time when the robot arm moves between the plurality of teaching points, and a second constraint condition regarding the driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, a process of generating a trajectory for the robot arm to move between the plurality of teaching points; (c) A process of displaying the trajectory and the cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the trajectory on the display unit; (d) A process of generating a control program for the robot based on the trajectory when an instruction to adopt the trajectory is received; A process of receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points, or a power saving mode that reduces the cumulative power consumption amount when the robot arm moves between the plurality of teaching points compared to the normal mode; A process of executing the step (b) when the power saving mode is instructed; A process of executing a step of generating a trajectory without using at least one of the first constraint condition and the second constraint condition when the normal mode is instructed; The second constraint condition is characterized in that the maximum speed or average speed of the robot arm when the robot arm moves between the plurality of teaching points along the trajectory in the power saving mode is smaller than the maximum speed or average speed of the robot arm when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode. A teaching device.

11. A computer program that causes a processor to execute a process of generating a control program for a robot, (a) A process of receiving instructions for a plurality of teaching points that serve as a reference when the robot arm moves; (b) Based on a first constraint condition regarding the movement time when the robot arm moves between the plurality of teaching points, and a second constraint condition regarding the driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, a process of generating a trajectory for the robot arm to move between the plurality of teaching points; (c) a process of displaying, on a display unit, the orbit and the cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the orbit; (d) a process of generating a control program for the robot based on the orbit when an instruction to adopt the orbit is received; a process of receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points or a power saving mode that reduces the cumulative power consumption amount when the robot arm moves between the plurality of teaching points compared to the normal mode; a process of executing the step (b) when the power saving mode is instructed; a process of causing the processor to execute a process of generating an orbit without using at least one of the first constraint condition and the second constraint condition when the normal mode is instructed; The second constraint condition is characterized in that the variation width of the position of the robot arm in the gravitational direction when the robot arm moves between the plurality of teaching points along the orbit in the power saving mode is smaller than the variation width of the position of the robot arm in the gravitational direction when the robot arm moves between the plurality of teaching points along the orbit in the normal mode. A computer program.

12. A processor and a display unit; The processor is (a) a process of receiving an instruction for a plurality of teaching points that serve as a reference when the robot arm moves; (b) Based on a first constraint condition regarding the movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding the driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, a process of generating an orbit for the robot arm to move between the plurality of teaching points; (c) a process of displaying, on the display unit, the orbit and the cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the orbit; (d) a process of generating a control program for the robot based on the orbit when an instruction to adopt the orbit is received; A process of receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points, or a power-saving mode that reduces the cumulative power consumption when the robot arm moves between the plurality of teaching points compared to the normal mode, A process of executing the step (b) when the power-saving mode is instructed, A process of executing a process of generating a trajectory without using at least one of the first constraint condition and the second constraint condition when the normal mode is instructed, The second constraint condition is characterized in that the variation width of the position of the robot arm in the gravitational direction when the robot arm moves between the plurality of teaching points along the trajectory in the power-saving mode is smaller than the variation width of the position of the robot arm in the gravitational direction when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode. A teaching device.

13. A computer program that causes a processor to execute a process of generating a control program for a robot, (a) A process of receiving an instruction of a plurality of teaching points that serve as a reference when the robot arm moves, Based on (b) a first constraint condition regarding the movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding the driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, A process of generating a trajectory along which the robot arm moves between the plurality of teaching points, (c) A process of displaying on a display unit the trajectory and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory, (d) A process of generating a control program for the robot based on the trajectory when an instruction to adopt the trajectory is received, A process of receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points, or a power-saving mode that reduces the cumulative power consumption when the robot arm moves between the plurality of teaching points compared to the normal mode, A process of executing the step (b) when the power-saving mode is instructed, When the normal mode is indicated, causing the processor to execute a process of generating a trajectory without using at least one of the first constraint condition and the second constraint condition. In the step (c), the display unit displays the trajectory in the normal mode, the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode, the trajectory in the power saving mode, and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory in the power saving mode. A computer program characterized by the above.

14. Comprising a processor and a display unit. The processor is configured to: (a) A process of receiving an instruction of a plurality of teaching points serving as a reference when the robot arm moves. (b) Based on a first constraint condition regarding a movement time when the robot arm moves between the plurality of teaching points and a second constraint condition regarding a driving condition for driving the robot arm so that the robot arm moves between the plurality of teaching points, a process of generating a trajectory along which the robot arm moves between the plurality of teaching points. (c) A process of displaying the trajectory and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory on the display unit. (d) A process of generating a control program for the robot based on the trajectory when an instruction to adopt the trajectory is received. A process of receiving an instruction to select either a normal mode as a movement condition when the robot arm moves between the plurality of teaching points or a power saving mode that reduces the cumulative power consumption when the robot arm moves between the plurality of teaching points compared to the normal mode. When the power saving mode is indicated, a process of executing the step (b). When the normal mode is indicated, executing a process of generating a trajectory without using at least one of the first constraint condition and the second constraint condition. In the step (c), the display unit displays the trajectory in the normal mode, the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory in the normal mode, the trajectory in the power saving mode, and the cumulative power consumption when the robot arm moves between the plurality of teaching points along the trajectory in the power saving mode. A teaching device characterized by the above.

Citation Information

Patent Citations

  • Moving route searching device and moving route searching method

    JP2012096355A

  • Power consumption monitoring device for industrial robot

    JP2013063475A

  • Robot simulation device for creating motion path of robot

    JP2015160277A

  • Robot program correction system

    JP2016016488A

  • Programming assistance apparatus, robot system, programming assistance method and program-generating method

    WO2018194094A1