Method for generating control program of robot, storage medium, and teaching device

By generating a robot control program and optimizing the robot arm's trajectory based on constraints, the problem of the inability to pre-optimize power consumption in existing technologies is solved, thus achieving power efficiency optimization for robot operation.

CN115122320BActive Publication Date: 2026-02-24SEIKO EPSON CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210300161.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-25
Filing Date
2022-03-25
Publication Date
2026-02-24
Estimated Expiration
2042-03-25

AI Technical Summary

Technical Problem

Current technology cannot pre-optimize the trajectory of industrial robots to reduce power consumption, resulting in the inability to pre-optimize power consumption.

Method used

The robot's control program generates a robotic arm track based on first and second constraints, displays the track and cumulative power consumption, and generates a control program upon receiving track instructions. This process is implemented using a teaching pendant and a processor.

Benefits of technology

This achieves a reduction in the cumulative power consumption of the robotic arm without increasing movement time, thus optimizing the power usage efficiency of robot operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115122320B_ABST
    Figure CN115122320B_ABST
Patent Text Reader

Abstract

Disclosed is a method for generating a control program of a robot, a storage medium, and a teaching device, which are optimized to reduce the cumulative power consumption when a robot arm moves. The method for generating a control program of a robot includes: a process in which a processor (310) generates a track for a robot arm (120) to move between a plurality of teaching points (P1 to P3) based on a first constraint condition related to the movement time of the robot arm (120) and a second constraint condition related to the driving condition for driving the robot arm (120); a process in which a display unit (340) displays the track generated by the processor (310) and the cumulative power consumption when the robot arm (120) moves along the track; and a process in which, when an instruction to use the track is received, the processor (310) generates a control program of the robot based on the track.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to a method for generating a control program of a robot, a storage medium, and a teaching device that executes a process of creating a control program of a robot. BACKGROUND

[0002] In the past, as shown in Patent Literature 1, a power consumption monitoring device of an industrial robot that acts in compliance with a work program is known. The power consumption monitoring device described in Patent Literature 1 notifies a worker of a cumulative power consumption amount of the industrial robot per step of the work program by detecting the power supplied to a servo motor that drives a robot arm with a power detection section. The worker is able to suppress the cumulative power consumption amount to save power by making a modification of the work program while achieving a balance between a cycle time and power consumption.

[0003] Patent Literature 1: Japanese Patent Application Publication No. 2013-63475

[0004] However, in the power consumption monitoring device described in Patent Literature 1, because the cumulative power consumption amount of the industrial robot cannot be grasped in advance, there is a technical problem that an optimal track of the robot arm cannot be made in advance to make the power consumption required to drive the industrial robot less. SUMMARY

[0005] The method for generating a control program of a robot includes: (a) a control section accepting an instruction of a plurality of teaching points that become a reference of movement of a robot arm of a robot; (b) the control section generating a track for the robot arm to move between the plurality of teaching points based on a first constraint condition and a second constraint condition, the first constraint condition relating to a movement time of the robot arm to move between the plurality of teaching points, the second constraint condition relating to a driving condition when the robot arm moves between the plurality of teaching points; (c) a display section displaying the track and a cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the track; and (d) when the control section accepts an instruction to adopt the track, the control section generating a control program of the robot based on the track.

[0006] The computer program that causes the processor to execute the process of generating the control program of the robot causes the processor to execute: (a) a process of accepting an instruction of a plurality of teaching points that are a reference of movement of a robot arm; (b) a process of generating a track for the robot arm to move between the plurality of teaching points based on a first constraint condition and a second constraint condition, the first constraint condition relating to a movement time when the robot arm moves between the plurality of teaching points, the second constraint condition relating to a drive condition of driving the robot arm to move between the plurality of teaching points; (c) a process of displaying, on a display section, the track and a cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the track; and (d) a process of generating, based on the track, a control program of the robot when an instruction to adopt the track is accepted.

[0007] The teaching device includes a processor and a display section, the processor executing: (a) a process of accepting an instruction of a plurality of teaching points that are a reference of movement of a robot arm; (b) a process of generating a track for the robot arm to move between the plurality of teaching points based on a first constraint condition and a second constraint condition, the first constraint condition relating to a movement time when the robot arm moves between the plurality of teaching points, the second constraint condition relating to a drive condition of driving the robot arm to move between the plurality of teaching points; (c) a process of displaying, on the display section, the track and a cumulative power consumption amount when the robot arm moves between the plurality of teaching points along the track; and (d) a process of generating, based on the track, a control program of the robot when an instruction to adopt the track is accepted. BRIEF DESCRIPTION OF DRAWINGS

[0008] Figure 1 is a diagram illustrating a robot system according to Embodiment 1.

[0009] Figure 2 is a functional block diagram of a teaching device according to Embodiment 1.

[0010] Figure 3 is a flowchart illustrating a method of creating a control program of a robot according to Embodiment 1.

[0011] Figure 4 is a diagram illustrating an example of an operation screen for accepting an instruction of teaching data according to Embodiment 1.

[0012] Figure 5 is a diagram illustrating an example of an angular velocity waveform of a first arm around a first rotation axis in a normal mode according to Embodiment 1.

[0013] Figure 6is an explanatory diagram illustrating an example of an angular velocity waveform of the first arm around the first rotation axis in the power saving mode according to Embodiment 1.

[0014] Figure 7 is an explanatory diagram illustrating an example of an operation screen that displays the trajectory of the robot arm and the cumulative electric power consumption amount of the robot arm according to Embodiment 1.

[0015] Figure 8 is an explanatory diagram illustrating Figure 3 a flowchart of a processing procedure of a process of generating the trajectory of the robot arm in the power saving mode according to Embodiment 1.

[0016] Figure 9 is an explanatory diagram illustrating an example of an angular velocity waveform of the first arm around the first rotation axis in the power saving mode according to Embodiment 2.

[0017] Figure 10 is an explanatory diagram illustrating an example of an operation screen that displays the trajectory of the robot arm and the cumulative electric power consumption amount of the robot arm according to Embodiment 4.

[0018] Explanation of Reference Numerals

[0019] 100: robot; 120: robot arm; 200: control device; 300: teaching device; 310: processor as a control section; 312: teaching processing section; 320: storage section; 340: display section; 350: operation section; TP: teaching processing program; P1: first teaching point; P2: second teaching point; P3: third teaching point; W10: operation screen; W11: robot display window; W12: task operation window; W20, W20a: operation screen; W21: robot display window; W22, W23: electric power consumption display window. DETAILED DESCRIPTION

[0020] 1. Embodiment 1

[0021] The robot system according to Embodiment 1 will be described with reference to Figure 1 and Figure 2 In Figure 1 , 3 axes of an orthogonal coordinate system that defines a three-dimensional space, i.e., an X axis, a Y axis, and a Z axis, are noted. The orthogonal coordinate system is a robot coordinate system that takes a reference point preset in the robot 100 as an origin. The X axis and the Y axis are horizontal axes, and the Z axis is a vertical axis. Note that the vertical direction in the present disclosure indicates the direction of gravity.

[0022] As Figure 1As shown, the robot system includes a robot 100, a control device 200 for controlling the robot 100, and a teaching device 300 for generating control programs for the robot 100. The robot 100, the control device 200, and the teaching device 300 can communicate with each other via wired or wireless communication. It should be noted that in this embodiment, the control device 200 is independent of the robot 100, but the control device 200 can also be located inside the robot 100.

[0023] Robot 100 includes a base 110 and a robotic arm 120 connected to the base 110. The robotic 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, second arm 12, third arm 13, fourth arm 14, fifth arm 15, and sixth arm 16 are connected from the base end side of the robotic arm 120 to the front end side of the robotic arm 120 in the described order, whereby the robotic arm 120 is connected to the base 110 at the base end side.

[0024] The base 110 and the first arm 11 are connected via a joint 171. The first arm 11 is rotatable relative to the base 110 about a first rotation axis J1. The first arm 11 rotates about the first rotation axis J1 via a motor (not shown). It should be noted that the first arm 11 and the motor (not shown) are connected via a reducer (not shown).

[0025] The first arm 11 and the second arm 12 are connected via a joint 172. The second arm 12 is rotatable relative to the first arm 11 about a second rotation axis J2. The second arm 12 rotates about the second rotation axis J2 via a motor (not shown). It should be noted that the second arm 12 and the motor (not shown) are connected via a reducer (not shown).

[0026] Similarly, the second arm 12 and the third arm 13 are connected via joint 173, the third arm 13 and the fourth arm 14 are connected via joint 174, the fourth arm 14 and the fifth arm 15 are connected via joint 175, and the fifth arm 15 and the sixth arm 16 are connected via joint 176. Furthermore, the second arm 12, the third arm 13, the fourth arm 14, the fifth arm 15, and the sixth arm 16 are driven by motors (not shown) and rotate around the third rotating shaft J3, the fourth rotating shaft J4, the fifth rotating shaft J5, and the sixth rotating shaft J6, respectively. It should be noted that arms 12-16 and the motors driving arms 12-16 are connected via reducers (not shown).

[0027] The motors (not shown) that drive arms 11 to 16 respectively can be, for example, AC servo motors, DC servo motors, etc. Additionally, the speed reducers (not shown) that connect to each motor can be planetary gear reducers, wave gear reducers, etc., composed of multiple gears.

[0028] A TCP (Tool Center Point) is set near the front end of the robotic arm 120 to serve as the control point of the robotic arm 120. The control point is the reference point for controlling the robotic arm 120. The TCP can be set to any position.

[0029] In this disclosure, "control of robot 100" refers to controlling the position and orientation of TCP, which serves as the control point of robotic arm 120. That is, "control of robot 100" in this disclosure includes "control of robotic arm 120," and the control program of robot 100 that controls robot 100 includes the control program that controls robotic arm 120.

[0030] The control device 200 has the function of controlling the robot 100. The control device 200 is electrically connected to various parts of the robot 100. The control device 200 has a motor driver (not shown), and controls the movement of the robotic arm 120 by controlling the motors (not shown) that drive the arms 11 to 16 respectively via the motor driver.

[0031] The teach pendant 300 has the function of performing teaching processing for the robot 100 and generating a control program for the robot 100. The teach pendant 300 is electrically connected to the control device 200. The teach pendant 300 includes a display unit 340, an operation unit 350, and a processor 310, equivalent to the "control unit" of this disclosure. The teach pendant 300 can be, for example, an information processing device such as a personal computer, tablet terminal, or smartphone. It should be noted that a teach pendant (not shown) electrically connected to the control device 200 can also be used as the teach pendant 300.

[0032] like Figure 2 As shown, 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. A control device 200 is also connected to the interface circuit 330.

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

[0034] As a processor 310, it can use integrated circuits such as CPU (Central Processing Unit) and MPU (Micro Processing Unit).

[0035] In the storage unit 320, in addition to the teach pendant processing program TP, robot attribute data RD, teach data file PP, and control program file RP are also stored. The robot attribute data RD includes the configuration of the robotic arm 120. The configuration of the robotic arm 120 includes the specifications of the motors and reducers that drive the robotic arm 120. The teach data file PP is a file that stores information related to the teach points used in the control program of the robot 100, as well as the first constraint, second constraint, etc., described later. The control program of the robot 100 consists of multiple commands that cause the robot 100 to move. The control program file RP is a file capable of storing control programs for multiple robots 100.

[0036] As a storage unit 320, it can use, for example, volatile memory such as RAM (Random Access Memory), non-volatile memory such as ROM (Read Only Memory), or removable external storage devices.

[0037] The display unit 340, under the control of the teaching processing unit 312, displays various screens, such as the input operation performed by the teachee, the screen showing the operation selection, and the screen showing the control program of the robot 100.

[0038] The operation unit 350 sends operation signals to the teaching processing unit 312 based on input operations, selection operations, screen transfer operations, etc. performed by the teacher. The teaching processing unit 312 changes the display content of the display unit 340 based on the operation signals from the operation unit 350.

[0039] The display unit 340 can be, for example, an LCD screen. The operation unit 350 can be, for example, a mouse, keyboard, or touch panel. It should be noted that, in the case of a touch panel display, the display unit 340 and the operation unit 350 can also be integrated.

[0040] Next, regarding the method for generating the control program for robot 100, refer to... Figures 3-8 Please provide an explanation.

[0041] like Figure 3As shown, the method for generating the control program of robot 100 includes: a step of displaying an operation screen for receiving instructions on teaching data such as teaching points; a step of receiving instructions on teaching points; a step of receiving instructions on the movement mode of robotic arm 120; a step of generating a track of robotic arm 120 based on the movement mode of robotic arm 120; a step of displaying an operation screen, wherein the operation screen displays the track of robotic arm 120 and the cumulative power consumption of robotic arm 120; and a step of generating the control program of robot 100. It should be noted that, in this embodiment, the track of robotic arm 120 is generated via PTP (Point to Point control).

[0042] It should be noted that the term "track" in this disclosure is a concept defined according to Japanese Industrial Standard B0134:2015. Specifically, the term "track" in this disclosure is a concept obtained by adding time as a parameter to a path, and the path is a sequential set of combinations of positions and orientations of the robotic arm 120.

[0043] Step S1 is a process of displaying an operation screen for receiving teaching data such as teaching points.

[0044] When the teacher initiates the teaching process TP, in step S1, the operation screen W10 is displayed on the display unit 340.

[0045] like Figure 4 As shown, the operation screen W10 includes a robot selection bar RF for selecting the robot type, a robot display window W11 for displaying a simulated image of the robot 100, a task operation window W12 for indicating the teaching point through task operation, an action mode selection bar MF for selecting the action mode of the robotic arm 120, a cycle time setting bar CTF for setting a target value related to the movement time of the robotic arm 120, and an end button B2. It should be noted that the movement time of the robotic arm 120 in this disclosure refers to the movement time of the robotic arm 120 from the start point of the action to the end point of the action. Furthermore, in this embodiment, the movement time of the robotic arm 120 is also referred to as the cycle time of the robotic arm 120.

[0046] Step S2 is the process of accepting instructions for the teaching point.

[0047] The teacher can indicate teach points through the task operation window W12. A teach point is a virtual point in the robot 100's control program that makes the position and orientation of the TCP (Control Point) of the robotic arm 120 consistent. That is, a teach point is a reference point for the movement of the robotic arm 120. The teacher can teach the robot 100 multiple points that serve as references for the trajectory for the robotic arm 120 to move between the start and end points of its movement by indicating multiple teach points, including teach points that serve as the start point and end point of the movement of the robotic arm 120.

[0048] The task operation window W12 includes a coordinate system selection bar CF for selecting a coordinate system, a coordinate value bar VF for specifying six coordinate values ​​corresponding to the selected coordinate system, a teach point bar PF for specifying the teach point of the object to be edited, and a teach point setting button B1. To the right of each coordinate value bar VF and the teach point bar PF are increase / decrease buttons CB for increasing / decrease values. The coordinate system selection bar CF is used to select any one of the robot coordinate system, tool coordinate system, or joint coordinate system. In this embodiment, the coordinate system selection bar CF is configured as a drop-down menu.

[0049] The teacher can select a teach point to be instructed by setting the value of the teach point column PF. Additionally, the teacher can set the coordinate values ​​of the teach point through the task operation in the task operation window W12. Furthermore, by pressing the teach point setting button B1, the teach processing unit 312 accepts the instruction for the teach point and sets and stores the teach point. Specifically, by pressing the teach point setting button B1, the coordinate values ​​of the teach point representing the TCP position and attitude are saved to the teach data file PP stored in the storage unit 320.

[0050] Additionally, the robot display window W11 displays a 3D image of the robot 100, showing the position and orientation of the robotic arm 120 changed through the teacher's task operations, and a simulated image showing the positions of the teaching points set by the teacher. In this embodiment, the teacher instructs three teaching points: a first teaching point P1, a second teaching point P2, and a third teaching point P3, and displays teaching points P1 to P3 in the robot display window W11.

[0051] It should be noted that, in this embodiment, the teaching process is performed by the instructor in the manner in which the robotic arm 120 moves from the first teaching point P1, which is the starting point of the action, to the second teaching point P2, then further moves from the second teaching point P2 to the third teaching point P3, and finally moves from the third teaching point P3 back to the first teaching point P1, which is the ending point of the action. Therefore, in this embodiment, the track for the robotic arm 120 to move between the multiple teaching points P1 to P3, including the starting point and the ending point of the action, is a track consisting of three partial tracks connected in the described order: a partial track moving from the first teaching point P1 to the second teaching point P2, a partial track moving further from the second teaching point P2 to the third teaching point P3, and a partial track moving from the third teaching point P3 to the first teaching point P1.

[0052] Step S3 is the process of accepting instructions for the motion mode of the robotic arm 120. The motion mode of the robotic arm 120 specifies the state of the robotic arm 120 when it is in motion. By changing the motion mode, the algorithms and parameters used to control the position, posture, etc. of the robotic arm 120 are changed, as well as the control target values ​​such as the speed of the robotic arm 120 are changed.

[0053] In this embodiment, the robotic arm 120 has two operating modes: a normal mode and a power-saving mode. The power-saving mode operates by suppressing the cumulative power consumption of the robotic arm 120 when moving between multiple taught points P1 to P3, including the start and end points of the robotic arm 120's movement. In other words, the power-saving mode aims to optimize the trajectory of the robotic arm 120 by setting the cumulative power consumption of the robotic arm 120 as the primary evaluation criterion for generating the trajectory.

[0054] The normal mode is an operation mode other than the power-saving mode. The normal mode, for example, is a mode in which the robot 100 moves using shortest-time control, high-precision control, etc. The shortest-time control minimizes the movement time of the robot arm 120 when moving between multiple teaching points P1 to P3, and the high-precision control increases the accuracy of the TCP position and attitude of the robot arm 120 during movement. In other words, the normal mode aims to optimize the trajectory of the robot arm 120 by setting the main evaluation criteria for generating the trajectory of the robot arm 120 as other than the cumulative power consumption of the robot arm 120, such as the movement time, TCP position, and attitude accuracy.

[0055] The instructor selects either the normal mode or the power-saving mode from the action mode selection bar MF to select the action mode of the robotic arm 120. In this embodiment, the action mode selection bar MF is configured as a drop-down menu. It should be noted that the normal mode can also be any of the other action modes that can be selected, such as shortest time control, high-precision control, etc.

[0056] The instructor selects an action mode in the action mode selection bar MF, and the teaching processing unit 312 receives the instruction for the action mode of the robotic arm 120. The instruction for the action mode is stored in the teaching data file PP stored in the storage unit 320.

[0057] Additionally, the instructor sets a target value in the Cycle Time Setting (CTF) field related to the movement time of the robotic arm 120 when it moves between multiple teaching points P1 to P3 in power-saving mode. This target value related to the movement time of the robotic arm 120 in power-saving mode corresponds to the first constraint condition in this disclosure. In this embodiment, the target value related to the movement time of the robotic arm 120 in power-saving mode is the maximum value Tmax of the movement time of the robotic arm 120. It should be noted that when power-saving mode is selected in the Action Mode Selection (MF) field, the instructor only needs to set the target value related to the movement time of the robotic arm 120 in power-saving mode in the Cycle Time Setting (CTF) field.

[0058] The teacher sets a target value related to the movement time of the robotic arm 120 in power-saving mode in the cycle time setting column (CTF). The teach processing unit 312 receives an instruction for the target value related to the movement time of the robotic arm 120 in power-saving mode, which becomes the first constraint. The target value related to the movement time of the robotic arm 120 in power-saving mode is stored in the teach data file PP stored in the storage unit 320.

[0059] The instructor enters step S4 by pressing the end button B2 on the operation screen W10 of the display unit 340.

[0060] In this embodiment, step S4 is the process of generating the track of the robotic arm 120 according to the operation mode of the robotic arm 120. The process of generating the track of the robotic arm 120 according to the operation mode of the robotic arm 120, i.e., step S4, includes steps S41, S42, and S43. Specifically, step S41 is the process of generating the track of the robotic arm 120 in the normal mode, step S42 is the process of determining whether the operation mode is a power-saving mode, and step S43 is the process of generating the track of the robotic arm 120 in the power-saving mode.

[0061] Step S41 is the process of generating the track of the robotic arm 120 in normal mode.

[0062] The teaching processing unit 312 generates a trajectory for the robotic arm 120 to move between multiple teaching points P1 to P3 based on the coordinate values ​​of multiple teaching points P1 to P3 registered in the teaching data file PP. Various known methods can be used to generate the trajectory. For example, RRT (Rapidly Exploring Random Tree) and PRM (Probabilistic Roadmap Method) can be used, but it is not limited to these methods; any applicable method is acceptable.

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

[0064] In addition, in this embodiment, the cumulative power consumption of the robotic arm 120 when moving along the track in normal mode is calculated. The calculated cumulative power consumption of the robotic arm 120 in normal mode is stored in a teaching data file PP stored in the storage unit 320. It should be noted that the information stored in the teaching data file PP may include not only the cumulative power consumption of the robotic arm 120 in normal mode, but also the instantaneous maximum power consumption, average power consumption, and movement time of the robotic arm 120 in normal mode.

[0065] It should be noted that in this embodiment, firstly, the power consumption of the robotic arm 120 when moving along each partial track is calculated according to each partial track. Then, the power consumption of the robotic arm 120 calculated according to each partial track is summed to calculate the cumulative power consumption of the robotic arm 120. Specifically, by summing the power consumption of the partial track when moving from the first teaching point P1, which is the starting point of the robotic arm 120's movement, to the second teaching point P2, the power consumption of the partial track when moving from the second teaching point P2 to the third teaching point P3, and the power consumption of the partial track when moving from the third teaching point P3 to the first teaching point P1, which is the ending point of the movement, the cumulative power consumption of the robotic arm 120 when moving along the track from the teaching point that is the starting point of the movement to the teaching point that is the ending point of the movement can be calculated.

[0066] In addition, firstly, the power consumption of each of the six motors (not shown) that make the arms 11 to 16 constituting the robotic arm 120 rotate around the rotation axes J1 to J6 respectively is calculated. Then, the power consumption of the six motors calculated according to each motor is summed up, thereby the power consumption of the robotic arm 120 when it moves along each part of the track constituting the track can be calculated.

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

[0068] When arms 11 to 16 rotate around rotation axes J1 to J6 respectively, the angular velocity waveforms around rotation axes J1 to J6 can be calculated based on track data such as the moving distance and direction of the robotic arm 120 when it moves along the track.

[0069] Here, in Figure 5 The example shown is the angular velocity waveform of the first arm 11 about the first rotation axis J1 when the robotic arm 120 moves from the first teach point P1 to the second teach point P2 in normal mode. This is an example of the angular velocity waveforms of arms 11 to 16 about rotation axes J1 to J6 respectively when they rotate around the rotation axes J1 to J6 as rotation centers. (Refer to...) Figure 5 The process of calculating the power consumption of an unshown motor that causes the first arm 11 to rotate around the first rotation axis J1 is explained.

[0070] like Figure 5 As shown, when the robotic arm 120 moves from the first teaching point P1 to the second teaching point P2, the angular velocity waveform of the first arm 11 rotating around the first rotation axis J1 is a trapezoidal shape formed by connecting the acceleration interval (rotation with angular acceleration A during time Ta), the constant velocity interval (rotation with a predetermined angular velocity Vmax during time Tb), and the deceleration interval (rotation with angular deceleration -B during time Tc) in the described order. It should be noted that angular deceleration is a negative angular acceleration, and the absolute value of angular deceleration -B is B. Furthermore, the angular velocity Vmax in the constant velocity interval is the highest angular velocity of the first arm 11 rotating around the first rotation axis J1. The area D enclosed by the trapezoidal angular velocity waveform is the rotation angle of the first arm 11 around the first rotation axis J1. The average angular velocity Vave of the first arm 11 rotating around the first rotation axis J1 is the angular velocity that evenly divides the area D. The total time obtained by summing time Ta, time Tb, and time Tc is the movement time of the first arm 11 when the robotic arm 120 moves from the first teaching point P1 to the second teaching point P2.

[0071] Here, when the robotic arm 120 moves from the first teaching point P1 to the second teaching point P2, the power consumption of the motor (not shown) that causes the first arm 11 to rotate around the first rotation axis J1 can be calculated, for example, from the following equations (1), (2), (3), (4), and (5). It should be noted that, in the following, the motor (not shown) that causes the first arm 11 to rotate around the first rotation axis J1 will be referred to as the first motor, and the reducer (not shown) that connects the first arm 11 and the first motor will be referred to as the first reducer.

[0072] Tq1(t)=I1(t)×A1(t)···(1)

[0073] Tqm1(t)=ηG×Tq1(t)×G···(2)

[0074] Pm1(t)=ηM×Tqm1(t)×V1(t)···(3)

[0075] ηG=f(Tq1(t),V1(t))···(4)

[0076] ηM=f(Tqm1(t),V1(t))···(5)

[0077] Tq1 is the torque output by the drive shaft of the first reducer, which becomes the first rotating shaft J1, during time t when the robotic arm 120 moves from the first teaching point P1 to the second teaching point P2. I1(t) is the moment of inertia about the first rotating shaft J1 during time t, and A1(t) is the angular acceleration about the first rotating shaft J1 during time t. Tqm1 is the torque output by the first motor during time t. ηG is the transmission efficiency of the first reducer, which is a function of the torque Tq1(t) output by the drive shaft of the first reducer during time t and the number of rotations V1(t) of the first motor, which is equivalent to the number of rotations of the driven shaft of the first reducer. Pm1(t) is the instantaneous power consumption of the first motor during time t. ηM is the efficiency of the first motor, which is a coefficient used to calculate the power consumption required by the first motor to obtain the mechanical output of the first motor as specified by Tqm1(t) × V1(t). ηM is a function of the torque Tqm1(t) output by the first motor and the number of rotations V1(t) of the first motor. It should be noted that, in this embodiment, ηM and ηG are pre-stored in the storage unit 320 as robot attribute data RD. The form in which ηM and ηG are stored in the storage unit 320 is not particularly limited; they can be stored as functions or as lookup tables.

[0078] Return to Figure 3The method for generating the control program for robot 100 will be explained starting from step S42. Step S42 is a process of determining whether the operation mode is a power-saving mode. If the operation mode indication stored in the storage unit 320 is power-saving mode, proceed to step S43. If the operation mode indication is normal mode, proceed to step S5.

[0079] Step S43 is the process of generating the track of the robotic arm 120 in power-saving mode. Step S43 is executed when power-saving mode is indicated in step S3. In other words, when power-saving mode is not indicated, step S43 is not executed, thus the generation of the control program for the robot 100 can be performed effectively.

[0080] In step S43, a track for the robotic arm 120 to move between multiple teaching points P1 to P3 is generated based on a first constraint and a second constraint. The first constraint is related to the movement time of the robotic arm 120 when moving between the multiple teaching points P1 to P3, and the second constraint is related to the driving conditions that drive the robotic arm 120 to move between the multiple teaching points P1 to P3. Details of step S43 will be described later.

[0081] In this embodiment, the second constraint is that the absolute values ​​of the acceleration and deceleration of the robotic arm 120 when it moves along the track in power-saving mode between multiple teaching points P1 to P3 are smaller than the absolute values ​​of the acceleration and deceleration of the robotic arm 120 when it moves along the track in normal mode between multiple teaching points P1 to P3.

[0082] The absolute values ​​of the acceleration and deceleration of the robotic arm 120 when it moves between multiple teaching points P1 to P3 can be reduced by reducing the absolute values ​​of the angular acceleration and angular deceleration of the arms 11 to 16 constituting the robotic arm 120 when they rotate around the rotation axes J1 to J6 respectively.

[0083] Here, in Figure 6 The example illustrates the angular velocity waveform of the first arm 11 about the first rotation axis J1 when the robotic arm 120 moves from the first teach point P1 to the second teach point P2 in power-saving mode. This serves as an example of the angular velocity waveforms of arms 11-16 about rotation axes J1-J6 respectively when rotating in power-saving mode. For the absolute values ​​of the angular acceleration and angular deceleration of the first arm 11 about the first rotation axis J1, set based on the second constraint condition, please refer to... Figure 6 Please provide an explanation.

[0084] like Figure 6As shown, the angular velocity waveform of the first arm 11 around the first rotation axis J1 in power-saving mode is a trapezoidal shape formed by connecting an acceleration interval during time Ta' with an angular acceleration A' smaller in absolute value than the angular acceleration A in normal mode, a constant velocity interval during time Tb' with a predetermined angular velocity Vmax, and a deceleration interval during time Tc' with an angular deceleration -B' smaller in absolute value than the angular acceleration -B in normal mode, in the order described. It should be noted that in this embodiment, the area D enclosed by the trapezoidal angular velocity waveform in normal mode is equal to the area D' enclosed by the trapezoidal angular velocity waveform in power-saving mode. The time obtained by summing time Ta', time Tb', and time Tc' is the movement 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 power-saving mode.

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

[0086] Similarly, by making the absolute values ​​of the acceleration and deceleration of the robotic arm 120 during movement smaller than the absolute values ​​of acceleration and deceleration in normal mode based on the second constraint, it is possible to generate partial tracks for the robotic arm 120 during movement from the second teaching point P2 to the third teaching point P3 in power-saving mode, and partial tracks for the robotic arm 120 during movement from the third teaching point P3 to the first teaching point P1 in power-saving mode. Furthermore, by connecting the various partial tracks of the robotic arm 120 in power-saving mode from the teaching point that serves as the start point of the action to the teaching point that serves as the end point of the action, it is possible to generate tracks for the robotic arm 120 to move between multiple teaching points P1 to P3, including the start point and end point of the action, in power-saving mode.

[0087] In this way, the cumulative power consumption of the robotic arm 120 when moving along the track of the robotic arm 120 in power-saving mode, generated based on the angular velocity waveforms of the arms 11-16 about the rotation axes J1-J6, can be calculated similarly to the cumulative power consumption when the robotic arm 120 moves along the track of the robotic arm 120 in normal mode. The cumulative power consumption of the robotic arm 120 in power-saving mode is smaller than the cumulative power consumption of the robotic arm 120 in normal mode.

[0088] Furthermore, by generating the track of the robotic arm 120 in power-saving mode based on the second constraint, the movement time of the robotic arm 120 along the track in power-saving mode becomes longer than the movement time of the robotic arm 120 along the track in normal mode.

[0089] In this embodiment, as described above, the first constraint is set to the maximum value Tmax of the movement time of the robotic arm 120 when it moves between multiple teaching points P1 to P3. In addition to the second constraint, a track for the robotic arm 120 in power-saving mode is generated based on the first constraint, thereby ensuring that the movement time of the robotic arm 120 along this track in power-saving mode is below the maximum value Tmax. Thus, by setting the maximum value Tmax for the movement time of the robotic arm 120 in power-saving mode, the movement time of the robotic arm 120 in power-saving mode can be constrained to an appropriate time.

[0090] The track data and cumulative power consumption of the robotic arm 120 in power-saving mode generated in step S43 are saved in the teaching data file PP stored in the storage unit 320. It should be noted that, in addition to the cumulative power consumption of the robotic arm 120 in power-saving mode, the instantaneous maximum power consumption, average power consumption, and movement time of the robotic arm 120 in power-saving mode can also be saved in the teaching data file PP.

[0091] If a track for the robotic arm 120 in power-saving mode is generated in step S43, then step S4 ends and proceeds to step S5. Step S5 is a process of displaying an operation screen showing the track of the robotic arm 120 generated in step S4 and the cumulative power consumption of the robot 100 as the robotic arm 120 moves along the track.

[0092] In step S5, the display unit 340 displays the operation screen W20.

[0093] like Figure 7 As shown, the operation screen W20 includes a robot selection bar RF for selecting the robot type, a robot display window W21 for displaying a simulated image of the robot 100, a power consumption display window W22 for displaying the cumulative power consumption of the robotic arm 120, a program name input bar NF for indicating the program name of the control program of the robot 100, an application button B3, and a cancel button B4.

[0094] It should be noted that the Apply button B3 and Cancel button B4 are, as described later, the receiving unit of the teaching processing unit 312, which handles the instruction on whether to use the track. The teacher can use the Apply button B3 and Cancel button B4, which serve as the receiving unit, to input the instruction on whether to use the track.

[0095] The robot display window W21 displays a 3D image of the robot 100, the positions of the teaching points P1 to P3 set by the teacher, and a simulated image of the trajectory A of the robotic arm 120 generated in step S4. The power consumption display window W22 displays the instantaneous maximum power consumption, average power consumption, cumulative power consumption, and movement time of the robotic arm 120 as it moves along the trajectory A generated in step S4.

[0096] In step S3, when the power-saving mode is indicated as the robot 100's operation mode, the track A displayed in the robot display window W21 is the track of the robot arm 120 in power-saving mode. Additionally, the instantaneous maximum power consumption, average power consumption, cumulative power consumption, and cycle time displayed in the power consumption display window W22 show the instantaneous maximum power consumption, average power consumption, cumulative power consumption, and the movement time as the cycle time when the robot arm 120 moves along the track in power-saving mode.

[0097] Step S6 is the process of generating the control program for robot 100.

[0098] The instructor confirms the track A displayed in the robot display window W21 and the power consumption display window W22, and determines whether to adopt the track A as the track of the robot arm 120 in power-saving mode.

[0099] When the teacher selects track A as the track for the robot arm 120 in power-saving mode, they enter a program name in the program name input field NF and press the apply button B3. By pressing the apply button B3, the teach pendant processing unit 312 receives the instruction to select track A as the track for the robot arm 120 in power-saving mode. Then, if the teach pendant processing unit 312 receives the instruction to select track A as the track for the robot arm 120, it reads the track data of track A from the teach data file PP stored in the storage unit 320 and generates a control program for the robot 100 based on track A. The generated control program, along with the program name entered into the program name input field NF, is saved to the control program file RP stored in the storage unit 320. Once the control program for the robot 100 is generated and stored, the teach pendant processing program TP ends.

[0100] In step S6, if track A is not used as the track for the robot arm 120 in power-saving mode, the robot 100's control program is not generated when the teacher presses the cancel button B4, and the teaching process TP ends. It should be noted that in this embodiment, since the teaching process TP ends when the teacher presses the cancel button B4, it is necessary to restart the teaching process TP when the teacher generates a new track. However, the invention is not limited to this; it can also be configured so that when the teacher presses the cancel button B4, the teaching process TP does not end but returns to step S3, allowing the teacher to generate a new track.

[0101] Thus, by displaying the Apply button B3 and Cancel button B4 as a receiving unit for the teaching processing unit 312 to accept instructions on whether to adopt track A, the teacher can use the Apply button B3 and Cancel button B4 to select whether to adopt track A as the track for the robotic arm 120 in power-saving mode. In other words, compared to the case where track A is automatically selected without displaying the Apply button B3 and Cancel button B4, the teacher can freely choose the track. For example, when track A is not adopted, the teacher can generate a new track by changing various conditions used to generate the track, such as the number and position of teaching points, the first constraint, the second constraint, and the action mode, thereby freely selecting a more suitable track for the robotic arm 120.

[0102] Furthermore, in this embodiment, when track A is not used, pressing the cancel button B4 prevents the generation of a control program for robot 100. Therefore, the control program for robot 100 based on the track not used by the teacher is not stored in the control program file RP stored in the storage unit 320. Consequently, the teacher can effectively manage the control program for robot 100 stored in the control program file RP.

[0103] It should be noted that, in step S3, when the normal mode is indicated as the robot 100's operation mode, in step S5, the operation screen W20 displayed on the display unit 340 shows the robot arm 120's trajectory in normal mode, the robot arm 120's instantaneous maximum power consumption, average power consumption, cumulative power consumption, and the movement time as the cycle time when moving along the normal mode trajectory. Furthermore, through the same operation as when the power-saving mode is indicated, in step S6, the control program for the robot 100 in normal mode can be generated and saved in the control program file RP.

[0104] Next, for details regarding the process of generating the track of the robotic arm 120 in power-saving mode, i.e., step S43, please refer to... Figure 8 Please provide an explanation.

[0105] In this embodiment, multiple track candidates for the robotic arm 120 to move between multiple teaching points P1 to P3 are generated based on a first constraint and a second constraint. The first constraint is related to the movement time of the robotic arm 120 when moving between the multiple teaching points P1 to P3, and the second constraint is related to the driving conditions for driving the robotic arm 120 to move between the multiple teaching points P1 to P3. Then, the track for the robotic arm 120 in power-saving mode is generated by determining the track candidate with the smallest cumulative power consumption when the robotic arm 120 moves between the multiple teaching points P1 to P3 from the generated track candidates.

[0106] like Figure 8 As shown, first, step S431 is executed. Step S431 is a process of performing initial settings for generating the track of the robotic arm 120 in power-saving mode. In step S431, the cumulative power consumption, first constraint, second constraint, and number of operations Ntry when the robotic arm 120 moves along the track in normal mode are read from the teaching data file PP stored in the storage unit 320. The number of operations Ntry is the upper limit of the number of times track candidates are generated when generating multiple track candidates for the robotic arm 120 to move between multiple teaching points P1 to P3.

[0107] It should be noted that in this embodiment, the second constraint and the number of generation Ntry are pre-stored in the teaching data file PP, but they may not be pre-stored in the teaching data file PP. For example, it may also be configured so that the teacher uses the operation screen W10 to instruct on the second constraint and the number of operations Ntry.

[0108] Additionally, in step S431, a minimum cumulative power consumption Wtp(min) is prepared as a variable to determine which of the multiple track candidates has the minimum cumulative power consumption when the robotic arm 120 moves between multiple teaching points P1 to P3. The initial value of the minimum cumulative power consumption Wtp(min) is the cumulative power consumption of the robotic arm 120 in normal mode.

[0109] In step S432, a candidate track for the robotic arm 120 in power-saving mode is generated based on the second constraint condition.

[0110] Specifically, in each part of the track, the absolute values ​​of the angular acceleration and angular deceleration of arms 11 to 16 around the rotation axes J1 to J6 are made smaller than the absolute values ​​of the angular acceleration and angular deceleration in the normal mode, thereby generating a candidate track for the robot arm 120 in the power-saving mode. The respective parts of the track are: the part of the robot arm 120 when it moves from the first teaching point P1 to the second teaching point P2; the part of the robot arm 120 when it moves from the second teaching point P2 to the third teaching point P3; and the part of the robot arm 120 when it moves from the third teaching point P3 to the first teaching point P1.

[0111] The method for generating combinations of the absolute values ​​of the angular accelerations and decelerations of arms 11-16 around rotation axes J1-J6 to satisfy the second constraint is not particularly limited. For example, it could be to randomly generate combinations of the absolute values ​​of the angular accelerations and decelerations of arms 11-16 around rotation axes J1-J6 within the numerical range that satisfies the second constraint. Alternatively, it could be to generate combinations of the absolute values ​​of the angular accelerations and decelerations of arms 11-16 around rotation axes J1-J6 to satisfy the second constraint using a metaheuristic or other combinatorial optimization method.

[0112] In step S433, the movement time Ttp of the robot arm 120 when it moves between multiple teaching points P1 to P3 along the track of the robot arm 120 generated in step S432 is calculated.

[0113] In step S434, the movement time Ttp of the robotic arm 120 along the track candidate is compared with the first constraint condition in this embodiment, namely, the maximum value Tmax of the movement time of the robotic arm 120. In step S434, if the movement time Ttp of the robotic arm 120 along the track candidate is greater than the maximum value Tmax of the movement time of the robotic arm 120, then the case where the track candidate for the robotic 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, if the movement time Ttp of the robotic arm 120 along the track candidate is less than the maximum value Tmax of the movement time of the robotic arm 120, then the case where the track candidate for the robotic arm 120 created in step S432 satisfies the first constraint condition, and the process proceeds to step S435.

[0114] Thus, in this embodiment, by executing steps S432, S433, and S434, it is possible to generate a candidate track for the robotic arm 120 based on the first constraint condition and the second constraint condition.

[0115] In step S435, the cumulative power consumption Wtp of the robot arm 120 during its alternative movement along the track of the robot arm 120 generated in step S432 is calculated.

[0116] In step S436, the minimum cumulative power consumption Wtp(min) is compared with the cumulative power consumption Wtp of the robot arm 120 moving along the track. If the cumulative power consumption Wtp of the robot arm 120 moving along the track is greater than or equal to the minimum cumulative power consumption Wtp(min), the process returns to step S432. On the other hand, if the cumulative power consumption Wtp of the robot arm 120 moving along the track is less than the minimum cumulative power consumption Wtp(min), the process proceeds to step S437.

[0117] In step S437, the value of the minimum cumulative power consumption Wtp(min) is updated by substituting the cumulative power consumption Wtp of the track candidate created in step S432 into the minimum cumulative power consumption Wtp(min). That is, in step S437, the value maintained for the minimum cumulative power consumption Wtp(min) becomes the cumulative power consumption of the track candidate with the minimum cumulative power consumption at that point in time among the multiple track candidates for the robotic arm 120 generated by repeating step S432.

[0118] In step S438, the track data, cumulative power consumption Wtp, and travel time Ttp of the track candidate with the lowest cumulative power consumption at that time point among the multiple track candidates of the robotic arm 120 generated by repeating step S432 are saved to the teaching data file PP stored in the storage unit 320.

[0119] In step S439, the number of times orbital candidates are generated by repeating step S432 is compared with the upper limit of the number of orbital candidate generation, i.e., the number of operations Ntry. If the number of orbital candidate generation in step S432 is less than the number of operations Ntry, the process returns to step S432 to generate a new orbital candidate. On the other hand, if the number of orbital candidate generation in step S432 reaches the number of operations Ntry, no new orbital candidate is generated, and the process proceeds to step S440.

[0120] In step S440, the track candidate corresponding to the cumulative power consumption maintained by the minimum cumulative power consumption Wtp(min) among the multiple track candidates generated by repeating step S432 is determined as the track in power-saving mode. As described above, in this embodiment, since in step S438 the track data, cumulative power consumption Wtp, and movement time Ttp of the track candidate with the minimum cumulative power consumption at that time point are saved to the teaching data file PP stored in the storage unit 320, the track candidate saved in the teaching data file PP at the time point when the number of times the track candidate is generated reaches the number of generation Ntry can be determined as the track of the robot arm 120 in power-saving mode. In addition, the cumulative power consumption Wtp and movement time Ttp of the track candidate saved in the teaching data file PP can be set as the cumulative power consumption and movement time of the robot arm 120 in power-saving mode, respectively.

[0121] Based on the above description, the following effects can be obtained according to this embodiment.

[0122] The method for generating the control program of robot 100 includes the following steps: (a) the processor 310, which is equivalent to the control unit, receives instructions from a plurality of teaching points P1 to P3 that serve as references when the robotic arm 120 of robot 100 moves; (b) the processor 310, which is equivalent to the control unit, generates a track for the robotic arm 120 to move between the plurality of teaching points P1 to P3 based on a first constraint and a second constraint, wherein the first constraint is related to the movement time of the robotic arm 120 when it moves between the plurality of teaching points P1 to P3, and the second constraint is related to driving the robotic arm 120 to make the robotic arm 120 move between the plurality of teaching points P1 to P3. 20 is related to the driving conditions for moving between multiple teaching points P1 to P3; (c) the display unit 340 displays the track generated by the processor 310, which is equivalent to the control unit, and the cumulative power consumption of the robot arm 120 when it moves along the track between multiple teaching points P1 to P3; and (d) when the processor 310, which is equivalent to the control unit, receives an instruction to adopt the track for the robot arm 120 to move between multiple teaching points P1 to P3, the processor 310, which is equivalent to the control unit, generates a control program for the robot 100 based on the track for the robot arm 120 to move between multiple teaching points P1 to P3.

[0123] According to the method for generating the control program, a power-saving mode control program can be provided that pre-optimizes the track of the robotic arm 120 to reduce the cumulative power consumption when driving the robot 100.

[0124] In addition, the teaching processing program TP, which is a computer program that causes the processor 310 to execute the control program for generating the robot 100, causes the processor 310 to perform: (a) processing to receive instructions for multiple teaching points P1 to P3 that serve as references for the movement of the robotic arm 120; (b) processing to generate a track for the robotic arm 120 to move between the multiple teaching points P1 to P3 based on a first constraint and a second constraint, wherein the first constraint is related to the movement time of the robotic arm 120 when it moves between the multiple teaching points P1 to P3, and the second constraint is related to the driving conditions for driving the robotic arm 120 to move between the multiple teaching points P1 to P3; (c) processing to display the track generated by the processor 310 and the cumulative power consumption of the robotic arm 120 when it moves along the track between the multiple teaching points P1 to P3 on the display unit 340; and (d) processing to generate the control program for the robot 100 based on the track generated by the processor 310 when an instruction using the track generated by the processor 310 is received.

[0125] According to the computer program, a power-saving mode control program can be provided that pre-optimizes the track of the robotic arm 120 to reduce the cumulative power consumption when driving the robot 100.

[0126] Additionally, the teaching device 300 includes a processor 310 and a display unit 340. The processor 310 performs the following: (a) processing to receive instructions for a plurality of teaching points P1 to P3 that serve as references for the movement of the robotic arm 120; (b) processing to generate a track for the robotic arm 120 to move between the plurality of teaching points P1 to P3 based on a first constraint and a second constraint, wherein the first constraint is related to the movement time of the robotic arm 120 when it moves between the plurality of teaching points P1 to P3, and the second constraint is related to the driving conditions for driving the robotic arm 120 to move between the plurality of teaching points P1 to P3; (c) processing to display the track generated by the processor 310 and the cumulative power consumption of the robotic arm 120 when it moves along the track between the plurality of teaching points P1 to P3 on the display unit 340; and (d) processing to generate a control program for the robot 100 based on the track generated by the processor 310 when an instruction using the track generated by the processor 310 is received.

[0127] According to the teaching device 300, a power-saving control program can be provided to pre-optimize the track of the robotic arm 120 to reduce the cumulative power consumption when driving the robot 100.

[0128] It should be noted that, in this embodiment, the second constraint is as follows: the upper limit of the absolute values ​​of the acceleration and deceleration of the robotic arm 120 when it moves along the track in power-saving mode between multiple teaching points P1 to P3 is set to the absolute values ​​of the acceleration and deceleration of the robotic arm 120 in normal mode, and the absolute values ​​of the acceleration and deceleration of the robotic arm 120 in power-saving mode are smaller than the absolute values ​​of the acceleration and deceleration of the robotic arm 120 in normal mode. However, the second constraint is not limited to this. For example, in addition to the upper limit of the absolute values ​​of the acceleration and deceleration of the robotic arm 120 in power-saving mode, it may also include a minimum acceleration and a minimum deceleration as the lower limit of the absolute values ​​of the acceleration and deceleration of the robotic arm 120.

[0129] 2. Implementation Method 2

[0130] Next, regarding the method for generating the control program for the robot 100 according to Embodiment 2, refer to... Figure 9 The following explanation is provided. It should be noted that configurations identical to those in Embodiment 1 are marked with the same reference numerals, and their descriptions are omitted. The method for generating the control program of the robot 100 in Embodiment 2 is the same as that in Embodiment 1, except for the difference in the second constraint condition.

[0131] In this embodiment, the second constraint is that the highest speed or average speed of the robotic arm 120 when it moves between multiple teaching points P1 to P3 along the track in power-saving mode is lower than the highest speed or average speed of the robotic arm 120 when it moves between multiple teaching points P1 to P3 along the track in normal mode.

[0132] like Figure 9 As shown, for example, in power-saving mode, when the robotic arm 120 moves from the first teaching point P1 to the second teaching point P2, in the angular velocity waveform of the first arm 11 rotating around the first rotation axis J1, the highest angular velocity of the first arm 11 rotating around the first rotation axis J1 is the angular velocity Vmax' in the constant velocity range. Based on the second constraint condition, the angular velocity Vmax' is set to be smaller than the angular velocity Vmax of the angular velocity waveform of the first arm 11 around the first rotation axis J1 in normal mode.

[0133] Similarly, in each part of the track, the angular velocity Vmax' of arms 11-16 around the rotation axes J1-J6 in power-saving mode is smaller than the angular velocity Vmax of arms 11-16 around the rotation axes J1-J6 in normal mode. This allows the maximum speed of robot arm 120 in power-saving mode to be smaller than the maximum speed of robot arm 120 in normal mode. The respective parts of the track are: the part of the robot arm 120 when moving from the first teaching point P1 to the second teaching point P2; the part of the robot arm 120 when moving from the second teaching point P2 to the third teaching point P3; and the part of the robot arm 120 when moving from the third teaching point P3 to the first teaching point P1.

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

[0135] In this way, by generating the track of the robot arm 120 in power-saving mode based on the second constraint in this embodiment, the cumulative power consumption of the robot arm 120 when moving along the track of the robot arm 120 in power-saving mode can be smaller than the cumulative power consumption of the robot arm 120 when moving along the track of the robot arm 120 in normal mode.

[0136] According to this embodiment, similar to embodiment 1, it is possible to generate a control program for the robot 100 in a power-saving mode that optimizes the track of the robotic arm 120 in advance to reduce the cumulative power consumption when driving the robot 100.

[0137] 3. Implementation Method 3

[0138] Next, the method for generating the control program of the robot 100 according to Embodiment 3 will be described. It should be noted that configurations identical to those in Embodiment 1 are marked with the same reference numerals, and their descriptions are omitted. The method for generating the control program of the robot 100 in Embodiment 3 is the same as that in Embodiment 1, except for the difference in the second constraint condition.

[0139] In this embodiment, the second constraint is that the position of the robot arm 120 in the direction of gravity changes when the robot arm 120 moves between multiple teaching points along the track in the power-saving mode. This is because the position of the robot arm 120 in the direction of gravity changes when the robot arm 120 moves between multiple teaching points P1 to P3 along the track in the normal mode.

[0140] The variation in position of the robotic arm 120 in the direction of gravity is the distance in the Z-axis direction between the most positive position and the most negative position in the Z-axis direction of each partial track. The partial tracks are the partial tracks of the robotic arm 120 when it moves from the first teaching point P1 to the second teaching point P2, the partial tracks of the robotic arm 120 when it moves from the second teaching point P2 to the third teaching point P3, and the partial tracks of the robotic arm 120 when it moves from the third teaching point P3 to the first teaching point P1.

[0141] For example, the portion of the track along which the robotic arm 120 moves between the first teaching point P1 and the second teaching point P2 will not be a straight line connecting the first teaching point P1 and the second teaching point P2. This portion of the track varies relative to the straight line connecting the first teaching point P1 and the second teaching point P2 in the positive or negative directions of the X-axis, Y-axis, and Z-axis. Since the Z-axis is the direction of gravity, the variation of the portion of the robotic arm 120's track in the Z-axis direction affects the cumulative power consumption of the robotic arm 120. If the variation of the portion of the robotic arm 120's track in the Z-axis direction increases, the cumulative power consumption of the robotic arm 120 increases. Therefore, by making the variation of the portion of the robotic arm 120's track in the Z-axis direction in normal mode smaller than the variation of the portion of the robotic arm 120's track in the Z-axis direction in power-saving mode, the cumulative power consumption of the robotic arm 120 when moving along the portion of the track, where the portion of the track is the part of the track moving between the first teaching point P1 and the second teaching point P2, can be reduced.

[0142] According to this embodiment, similar to embodiment 1, it is possible to generate a control program for the robot 100 in a power-saving mode that optimizes the track of the robotic arm 120 in advance to reduce the cumulative power consumption when driving the robot 100.

[0143] As described above, the second constraint condition of Embodiment 1 uses the absolute values ​​of the acceleration and deceleration of the robotic arm 120, the second constraint condition of Embodiment 2 uses the maximum speed or average speed of the robotic arm 120, and the constraint condition of Embodiment 3 uses the range of position change of the robotic arm 120 in the direction of gravity. The second constraint conditions are different in Embodiment 1, Embodiment 2 and Embodiment 3. However, the second constraint conditions in Embodiments 1 to 3 can also be used in combination.

[0144] 4. Implementation Method 4

[0145] Next, regarding the method for generating the control program for the robot 100 according to Embodiment 4, please refer to... Figure 10 The following explanation is provided. It should be noted that configurations identical to those in Embodiment 1 are marked with the same reference numerals, and their descriptions are omitted. The method for generating the control program of the robot 100 in Embodiment 4 is the same as that in Embodiment 1, except that the operation screen W20a displayed on the display unit 340 is different.

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

[0147] like Figure 10 As shown, the operation screen W20a includes a robot selection bar RF for selecting the robot type, a robot display window W21 for displaying a simulated image of the robot 100, power consumption display windows W22 and W23 for displaying the cumulative power consumption of the robotic arm 120, a track selection bar TF for selecting the track to be used as the object of the control program of the robot 100, a program name input bar NF for indicating the program name of the control program of the robot 100, an apply button B3, and a cancel button B4.

[0148] The robot display window W21 displays a 3D image of the robot 100, the positions of teach points P1 to P3 set by the teacher, and simulated images of the robot arm 120 on track A in power-saving mode and track B in normal mode. The power consumption display window W22 displays the instantaneous maximum power consumption, average power consumption, cumulative power consumption, and movement time of the robot arm 120 while moving along track A. The power consumption display window W23 displays the instantaneous maximum power consumption, average power consumption, cumulative power consumption, and movement time of the robot arm 120 while moving along track B.

[0149] The instructor confirms the display of track A in power-saving mode and track B in normal mode in the robot display window W21 and power consumption display windows W22 and W23, and determines which track A or track B to use as the track for the robot arm 120. The track selection bar TF is used to select either track A or track B. In this embodiment, the track selection bar TF is configured as a drop-down menu. When the instructor selects track A in power-saving mode as the track to be used in generating the control program for the robot 100, they select track A in the track selection bar TF.

[0150] The teacher enters a program name in the program name input field NF and presses the application button B3, causing the teach pendant processing unit 312 to accept the instruction to adopt track A as the track for the robot arm 120 in power-saving mode. Then, if the teach pendant processing unit 312 accepts the instruction to adopt track A as the track for the robot arm 120, it reads the track data of track A selected in the track selection field TF from the teach data file PP stored in the storage unit 320, and generates a control program for the robot 100 based on track A. The generated control program, along with the program name entered in the program name input field NF, is saved to the control program file RP stored in the storage unit 320. Once the control program for the robot 100 is generated and stored, the teach pendant processing program TP ends.

[0151] According to this embodiment, in addition to the effects in Embodiment 1, the following effects can be obtained.

[0152] The display unit 340 displays the robot arm 120's track B in normal mode, the cumulative power consumption of the robot arm 120 moving along track B between multiple teaching points P1 to P3, the robot arm 120's track A in power-saving mode, and the cumulative power consumption of the robot arm 120 moving along track A between multiple teaching points P1 to P3. The teacher can easily compare the robot arm 120's track A in power-saving mode with its track B in normal mode. Therefore, the teacher can effectively advance the generation of the robot 100's control program.

[0153] It should be noted that in the above implementation, PTP control was used to generate the trajectory of robot 100, but CP control (Continuous Path control) can also be used.

[0154] Furthermore, in the above embodiment, a single-arm 6-axis vertical multi-joint robot was exemplified as robot 100. However, the method for generating the control program of robot 100 in this disclosure is not limited to this and can be applied to robots including any robotic arm mechanism with one or more joints.

[0155] Furthermore, as mentioned above, since the method for generating the control program of the robot 100 in this disclosure can generate a control program that is optimized in advance to reduce the cumulative power consumption when driving the robot 100, it can effectively extend the battery driving time when applied to a battery-powered robot.

Claims

1. A method for generating a robot control program, characterized in that, include: (a) The process by which the control unit receives instructions for multiple teaching points that serve as references for the movement of the robot's arm; (b) The process by which the control unit generates a track for the robotic arm to move between the plurality of teaching points based on a first constraint and a second constraint, wherein the first constraint is related to the movement time of the robotic arm between the plurality of teaching points and the second constraint is related to the driving conditions of the robotic arm when it moves between the plurality of teaching points. (c) The display unit simultaneously displays the cumulative power consumption, instantaneous maximum power consumption, average power consumption, and movement time of the track and the robotic arm as they move along the track between the plurality of teaching points. as well as (d) When the control unit receives an instruction to use the track, the control unit generates a control program for the robot based on the track. The method for generating the robot's control program further includes the following steps: the control unit, under the instruction of the teacher via the display unit, selects either a normal mode or a power-saving mode in which the cumulative power consumption of the robotic arm is reduced compared to the normal mode when moving the robotic arm between the plurality of teaching points as an instruction for specifying the action mode of the state when the robotic arm moves. When the power-saving mode is indicated, the procedure (b) is performed. When the normal mode is indicated, the control unit generates a trajectory for the robotic arm to move between the plurality of teaching points based on the shortest movement time of the robotic arm or the position and orientation of the robotic arm. The second constraint is as follows: when the robotic arm moves between the plurality of teaching points along the track in the power-saving mode, the absolute values ​​of the acceleration and deceleration of the robotic arm are smaller than the absolute values ​​of the acceleration and deceleration of the robotic arm when it moves between the plurality of teaching points along the track in the normal mode.

2. The method for generating a robot control program according to claim 1, characterized in that, In step (b), the control unit generates a plurality of track candidates to become the track, and determines the track candidate with the smallest cumulative power consumption among the plurality of track candidates as the track.

3. The method for generating a robot control program according to claim 1, characterized in that, The second constraint is as follows: the maximum speed or average speed of the robotic arm when it moves between the multiple teaching points along the track in the power-saving mode is less than the maximum speed or average speed of the robotic arm when it moves between the multiple teaching points along the track in the normal mode.

4. The method for generating a robot control program according to claim 1, characterized in that, The second constraint is as follows: when the robotic arm moves between the multiple teaching points along the track in the power-saving mode, the variation in the position of the robotic arm in the direction of gravity is smaller than the variation in the position of the robotic arm in the direction of gravity when the robotic arm moves between the multiple teaching points along the track in the normal mode.

5. The method for generating a robot control program according to claim 1, characterized in that, In step (c), the display unit displays the track in the normal mode, the cumulative power consumption of the robotic arm moving between the plurality of teaching points along the track in the normal mode, the track in the power-saving mode, and the cumulative power consumption of the robotic arm moving between the plurality of teaching points along the track in the power-saving mode.

6. The method for generating a robot control program according to claim 1, characterized in that, In the process (c), the display unit shows the control unit's acceptance unit for accepting instructions on whether to use the track.

7. A storage medium, characterized in that, A computer program stores a process that causes a processor to execute a control program for generating a robot, the computer program causing the processor to perform: (a) Processing instructions for multiple teaching points that serve as references for the movement of the robotic arm; (b) The process of generating a track for the robotic arm to move between the plurality of teaching points based on a first constraint and a second constraint, wherein the first constraint is related to the movement time of the robotic arm between the plurality of teaching points and the second constraint is related to the driving conditions of the robotic arm when it moves between the plurality of teaching points. (c) The display unit simultaneously displays the cumulative power consumption, instantaneous maximum power consumption, average power consumption, and movement time of the track and the robotic arm as they move along the track between the plurality of teaching points; as well as (d) Upon receiving an instruction to adopt the track, the processing of generating the robot's control program based on the track. The computer program further causes the processor to perform the following process: the subject of instruction selects, via the display, either a normal mode or a power-saving mode in which the cumulative power consumption of the robotic arm is reduced compared to the normal mode when moving the robotic arm between the plurality of teaching points as an instruction for an operation mode specifying the state when the robotic arm is moved; when the power-saving mode is indicated, the process (b) is executed. When the normal mode is indicated, a trajectory for the robotic arm to move between the plurality of teaching points is generated based on the shortest movement time of the robotic arm or the position and orientation of the robotic arm. The second constraint is as follows: when the robotic arm moves between the plurality of teaching points along the track in the power-saving mode, the absolute values ​​of the acceleration and deceleration of the robotic arm are smaller than the absolute values ​​of the acceleration and deceleration of the robotic arm when it moves between the plurality of teaching points along the track in the normal mode.

8. A teaching device, characterized in that, have: Processor; and Display section, The processor executes: (a) Processing instructions for multiple teaching points that serve as references for the movement of the robotic arm; (b) The process of generating a track for the robotic arm to move between the plurality of teaching points based on a first constraint and a second constraint, wherein the first constraint is related to the movement time of the robotic arm between the plurality of teaching points and the second constraint is related to the driving conditions of the robotic arm when it moves between the plurality of teaching points. (c) The display unit simultaneously displays the cumulative power consumption, instantaneous maximum power consumption, average power consumption, and movement time of the track and the robotic arm as they move along the track between the plurality of teaching points; as well as (d) Upon receiving an instruction to adopt the track, the robot's control program is processed based on the track. The processor also performs the following process: the subject of the instruction selects, via the display, either a normal mode or a power-saving mode in which the cumulative power consumption of the robotic arm is reduced compared to the normal mode when moving the robotic arm between the plurality of teaching points as an instruction for the operation mode that specifies the state when the robotic arm is moved; when the power-saving mode is indicated, the process (b) is executed. When the normal mode is indicated, a trajectory for the robotic arm to move between the plurality of teaching points is generated based on the shortest movement time of the robotic arm or the position and orientation of the robotic arm. The second constraint is as follows: when the robotic arm moves between the plurality of teaching points along the track in the power-saving mode, the absolute values ​​of the acceleration and deceleration of the robotic arm are smaller than the absolute values ​​of the acceleration and deceleration of the robotic arm when it moves between the plurality of teaching points along the track in the normal mode.

Citation Information

Patent Citations

  • Power consumption monitoring device for industrial robot

    JP2013063475A

  • Trajectory planning apparatus, trajectory planning method, and production system

    US20190275675A1