Display Control Method, Display Program, And Robot System

There is provided a display control method for controlling a display section configured to display a display image including a virtual robot, which is a simulation model of a robot including a robot arm that performs work according to force control, the display control method including a receiving step for receiving information concerning force control parameters including first information concerning a target force, which is a target of force received by the robot arm during the work, and a display step for displaying, in the display image, the virtual robot, a first indicator indicating the first information, and a second indicator indicating second information concerning force applied to the robot arm during the work, the virtual robot, the first indicator, and the second indicator temporally overlapping one another and being distinguished from one another.

The present application is based on, and claims priority from JP Application Serial Number 2020-183020, filed Oct. 30, 2020, the disclosure of which is hereby incorporated by reference herein in its entirety.

BACKGROUND

1. Technical Field

The present disclosure relates to a display control method, a display program, and a robot system.

2. Related Art

For example, as disclosed in JP-A-2017-1122 (Patent Literature 1), there has been known a robot including a robot arm and a force detecting section that detects force applied to the robot arm, the robot performing predetermined work by performing force control for driving the robot arm based on a detection result of the force detecting section. Before the robot performs work, an operator sets force control parameters such as a target force of force received by the robot arm during the work. Consequently, the operator can cause the robot to perform desired work.

In Patent Literature 1, by displaying which degree of force is applied to a workpiece and a place where the force is applied during work, the operator can visually grasp work content. Consequently, the operator can recognize whether the work is appropriate.

However, even if the operator simply grasps which degree of force is applied to the workpiece during the work, it is difficult to determine whether the magnitude of the force is appropriate.

SUMMARY

A display control method according to an aspect of the present disclosure is a display control method for controlling a display section configured to display a display image including a virtual robot, which is a simulation model of a robot including a robot arm that performs work according to force control, the display control method including: a receiving step for receiving information concerning force control parameters including first information concerning a target force, which is a target of force received by the robot arm during the work; and a display step for displaying, in the display image, the virtual robot, a first indicator indicating the first information, and a second indicator indicating second information concerning force applied to the robot arm during the work, the virtual robot, the first indicator, and the second indicator temporally overlapping one another and being distinguished from one another.

A non-transitory computer-readable storage medium according to an aspect of the present disclosure stores a display program for executing a display control method for controlling a display section configured to display a display image including a virtual robot, which is a simulation model of a robot including a robot arm that performs work according to force control, the program causing a computer to execute: a receiving step for receiving information concerning force control parameters including first information concerning a target force, which is a target of force received by the robot arm during the work; and a display step for displaying, in the display image, the virtual robot, a first indicator indicating the first information, and a second indicator indicating second information concerning force applied to the robot arm during the work, the virtual robot, the first indicator, and the second indicator temporally overlapping one another and being distinguished from one another.

A robot system according to an aspect of the present disclosure includes: a robot including a robot arm that performs work according to force control; a display section configured to display a display image including a virtual robot, which is a simulation model of the robot; and a control section configured to control the display section. The control section receives information concerning force control parameters including first information concerning a target force, which is a target of force received by the robot arm during the work and displays, in the display image, the virtual robot, a first indicator indicating the first information, and a second indicator indicating second information concerning force applied to the robot arm during the work, the virtual robot, the first indicator, and the second indicator temporally overlapping one another and being distinguished from one another.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

Embodiment

FIG. 1is a diagram showing an overall configuration of a robot system according to the present disclosure.FIG. 2is a block diagram of the robot system shown inFIG. 1.FIGS. 3 to 8are diagrams showing examples of a display image displayed in a display step.FIG. 9is a diagram for explaining variations of a change of a first indicator or a second indicator displayed in the display step.FIGS. 10 and 11are diagrams showing examples of the display image displayed in the display step.FIG. 12is a flowchart for explaining a display control method according to the present disclosure.

A display control method, a display program, and a robot system are explained in detail below with reference to a preferred embodiment shown in the accompanying drawings. In the following explanation, for convenience of explanation, a +Z-axis direction, that is, an upper side inFIG. 1is referred to as “upper” as well and a −Z-axis direction, that is, a lower side inFIG. 1is referred to as “lower” as well. About a robot arm, a base11side inFIG. 1is referred to as “proximal end” as well and the opposite side of the base11side, that is, an end effector side inFIG. 1is referred to as “distal end” as well. A Z-axis direction, that is, an up-down direction inFIG. 1is represented as a “vertical direction” and an X-axis direction and a Y-axis direction, that is, a left-right direction inFIG. 1is represented as a “horizontal direction”.

As shown inFIG. 1, a robot system100includes a robot1, a control device3that controls the robot1, and a teaching device4.

The robot1shown inFIG. 1is a single-arm six-axis vertical articulated robot in this embodiment and includes a base11and a robot arm10. An end effector20can be attached to the distal end portion of the robot arm10. The end effector20may be a constituent element of the robot1or may not be a constituent element of the robot1.

The robot1is not limited to the configuration shown inFIG. 1and may be, for example, a double-arm articulated robot. The robot1may be a horizontal articulated robot.

The base11is a supporting body that supports the robot arm10from the lower side to be capable of driving the robot arm10. The base11is fixed to, for example, a floor in a factory. In the robot1, the base11is electrically coupled to the control device3via a relay cable18. The coupling of the robot1and the control device3is not limited to the coupling by wire in the configuration shown inFIG. 1and may be, for example, coupling by radio. Further, the robot1and the control device3may be coupled via a network such as the Internet.

In this embodiment, the robot arm10includes a first arm12, a second arm13, a third arm14, a fourth arm15, a fifth arm16, and a sixth arm17. These arms are coupled in this order from the base11side. The number of arms included in the robot arm10is not limited to six and may be, for example, one, two, three, four, five, or seven or more. The sizes such as total lengths of the arms each are not particularly limited and can be set as appropriate.

The base11and the first arm12are coupled via a joint171. The first arm12has a first turning axis parallel to the vertical direction as a turning center and is capable of turning with respect to the base11around the first turning axis. The first turning axis coincides with the normal of the floor to which the base11is fixed.

The first arm12and the second arm13are coupled via a joint172. The second arm13is capable of turning with respect to the first arm12with a second turning axis parallel to the horizontal direction set as a turning center. The second turning axis is parallel to an axis orthogonal to the first turning axis.

The second arm13and the third arm14are coupled via a joint173. The third arm14is capable of turning with respect to the second arm13with a third turning axis parallel to the horizontal direction set as a turning center. The third turning axis is parallel to the second turning axis.

The third arm14and the fourth arm15are coupled via a joint174. The fourth arm15is capable of turning with respect to the third arm14with a fourth turning axis parallel to a center axis direction of the third arm14set as a turning center. The fourth turning axis is orthogonal to the third turning axis.

The fourth arm15and the fifth arm16are coupled via a joint175. The fifth arm16is capable of turning with respect to the fourth arm15with a fifth turning axis set as a turning center. The fifth turning axis is orthogonal to the fourth turning axis.

The fifth arm16and the sixth arm17are coupled via a joint176. The sixth arm17is capable of turning with respect to the fifth arm16with a sixth turning axis set as a turning center. The sixth turning axis is orthogonal to the fifth turning axis.

The sixth arm17is a robot distal end portion located on the most distal end side in the robot arm10. The sixth arm17can turn together with the end effector20according to driving of the robot arm10.

The robot1includes a motor M1, a motor M2, a motor M3, a motor M4, a motor M5, and a motor M6functioning as driving sections and an encoder E1, an encoder E2, an encoder E3, an encoder E4, an encoder E5, and an encoder E6. The motor M1is incorporated in the joint171and relatively rotates the base11and the first arm12. The motor M2is incorporated in the joint172and relatively rotates the first arm12and the second arm13. The motor M3is incorporated in the joint173and relatively rotates the second arm13and the third arm14. The motor M4is incorporated in the joint174and relatively rotates the third arm14and the fourth arm15. The motor M5is incorporated in the joint175and relatively rotates the fourth arm15and the fifth arm16. The motor M6is incorporated in the joint176and relatively rotates the fifth arm16and the sixth arm17.

The encoder E1is incorporated in the joint171and detects the position of the motor M1. The encoder E2is incorporated in the joint172and detects the position of the motor M2. The encoder E3is incorporated in the joint173and detects the position of the motor M3. The encoder E4is incorporated in the joint174and detects the position of the motor M4. The encoder E5is incorporated in the joint175and detects the position of the motor M5. The encoder E6is incorporate in the joint176and detects the position of the motor M6.

The encoders E1to E6are electrically coupled to the control device3. Position information, that is, rotation amounts of the motors M1to M6are transmitted to the control device3as electric signals. The control device3drives the motors M1to M6via a not-shown motor driver based on the information. That is, controlling the robot arm10means controlling the motors M1to M6.

A control point CP is set at the distal end of the robot arm10. The control point CP means a point serving as a reference in performing control of the robot arm10. The robot system100grasps the position of the control point CP in a robot coordinate system and drives the robot arm10such that the control point CP moves to a desired position.

In the robot1, a force detecting section19that detects force is detachably set in the robot arm10. The robot arm10can be driven in a state in which the force detecting section19is set in the robot arm10. In this embodiment, the force detecting section19is a six-axis force sensor. The force detecting section19detects the magnitudes of forces on three detection axes orthogonal to one another and the magnitudes of torques around the three detection axes. That is, the force detecting section19detects force components in axial directions of an X axis, a Y axis, and a Z axis orthogonal to one another, a force component in a Tx direction, which is a direction around the X axis, a force component in a Ty direction, which is a direction around the Y axis, and a force component in a Tz direction, which is a direction around the Z axis. In this embodiment, the Z-axis direction is the vertical direction. The force components in the axial directions can be referred to as “translational force components” as well and the force components around the axes can be referred to as “rotational force components” as well. The force detecting section19is not limited to the six-axis force sensor and may be a sensor having another configuration.

In this embodiment, the force detecting section19is set in the sixth arm17. A setting place of the force detecting section19is not limited to the sixth arm17, that is, the arm located on the most distal end side. The force detecting section19may be set in another arm or between the arms adjacent to each other or may be set below the base11. A plurality of force detecting sections19may be respectively set in all the joints.

The end effector20can be detachably attached to the force detecting section19. The end effector20is configured by a hand, a pair of claws of which approaches and separates to thereby grip and release an object. However, in the present disclosure, the end effector20is not limited to this and may include two or more claws. The end effector20may be a hand that grips an object with attraction.

In the robot coordinate system, a tool center point TCP is set in any position at the distal end of the end effector20, preferably, at the distal end in a state in which the claws approach. As explained above, the robot system100grasps the position of the control point CP in the robot coordinate system and drives the robot arm10such that the control point CP moves to a desired position. A distal end coordinate system having the control point CP as the origin is set at the distal end of the robot arm10.

By grasping a type, in particular, the length of the end effector20, it is possible to grasp an offset amount between the tool center point TCP and the control point CP. Accordingly, the position of the tool center point TCP can be grasped in the robot coordinate system. Therefore, the tool center point TCP can be set as a reference of control.

The control device3is explained.

The control device3is disposed to be separated from the robot1and can be configured by a computer or the like incorporating a CPU (Central Processing Unit), which is an example of a processor. The control device3may be incorporated in the base11of the robot1.

The control device3is communicably coupled to the robot1by the relay cable18. The control device3is wirelessly communicably coupled to the teaching device4by a cable. The teaching device4may be a dedicated computer or may be a general-purpose computer installed with a program for teaching the robot1. For example, a teaching pendant or the like, which is a dedicated device for teaching the robot1, may be used instead of the teaching device4. Further, the control device3and the teaching device4may include separate housings or may be integrally configured.

The teaching device4may be installed with a program for generating an execution program having a target position and posture Stand a target force fStexplained below as arguments and loading the execution program to the control device3. The teaching device4includes a display, a processor, a RAM, and a ROM. These hardware resources cooperate with a teaching program to generate the execution program.

As shown inFIG. 2, the control device3is a computer installed with a control program for performing control of the robot1. The control device3includes a processor and a RAM and a ROM not shown inFIG. 3. These hardware resources cooperate with a program to thereby control the robot1.

As shown inFIG. 2, the control device3includes a target-position setting section3A, a driving control section3B, and a storing section3C. The storing section3C is configured by, for example, a volatile memory such as a RAM (Random Access Memory), a nonvolatile memory such as a ROM (Read Only Memory), and a detachable external storage device. An operation program or the like for causing the robot1to operate is stored in the storing section3C.

The target-position setting section3A sets the target position and posture Stand an operation route for executing predetermined work on a workpiece W1. The target-position setting section3A sets the target position and posture Stand the operation route based on teaching information and the like input from the teaching device4.

The driving control section3B controls driving of the robot arm10and includes a position control section30, a coordinate converting section31, a coordinate converting section32, a correcting section33, a force control section34, and a command integrating section35.

The position control section30generates, according to a target position designated by a command created in advance, a position command signal, that is, a position command value for controlling the position of the tool center point TCP of the robot1.

The control device3is capable of controlling the operation of the robot1with force control or the like. The “force control” means control of the operation of the robot1for changing, based on a detection result of the force detecting section19, the position of the end effector20, that is, the position of the tool center point TCP and the postures of the first to sixth arms12to17.

The force control includes, for example, force trigger control and impedance control. In the force trigger control, the control device3performs force detection with the force detecting section19. The control device3causes the robot arm10to perform operations of movement and a change in a posture until predetermined force is detected by the force detecting section19.

The impedance control includes tracer control. In the impedance control, the control device3controls the operation of the robot arm10to maintain force applied to the distal end portion of the robot arm10at predetermined force as much as possible, that is, maintain a force in a predetermined direction detected by the force detecting section19at the target force fStas much as possible. Consequently, for example, when the impedance control is performed on the robot arm10, the robot arm10performs an operation for tracing, in the predetermined direction, a target object or an external force applied from an operator. The target force fStincludes 0 as well. For example, as one kind of setting in the case of the tracing operation, a target value can be set to “0”. The target force fStcan be set to a numerical value other than 0. The operator can set the target force fStas appropriate via, for example, the teaching device4. The target force fStcan also be set for each of the directions of the axes (X, Y, and Z) or each of the directions around the axes (Tx, Ty and Tz).

The storing section3C stores a correspondence relation between a combination of rotation angles of the motors M1to M6and the position of the tool center point TCP in the robot coordinate system. The control device3stores, in the storing section3C, based on a command, at least one of the target position and posture Stand the target force fStfor each of processes of work performed by the robot1. A command having the target position and posture Stand the target force fStas arguments, that is, parameters is set for each of the processes of the work performed by the robot1.

The driving control section3B controls the first to sixth arms12to17such that the set target position and posture Stand the set target force fStcoincide at the tool center point TCP. The target force fStis a detected force and detected torque of the force detecting section19that should be achieved by the operations of the first to sixth arms12to17. The character “S” represents any one direction of the directions of the axes (X, Y, and Z) defining the robot coordinate system. S also represents a position in an S direction. For example, when S=X, an X-direction component of a target position set in the robot coordinate system is St=Xtand an X-direction component of a target force is fSt=fXt.

In the driving control section3B, when rotation angles of the motors M1to M6are acquired, the coordinate converting section31shown inFIG. 2converts, based on the correspondence relation, the rotation angles into a position and posture S of the tool center point TCP in the robot coordinate system. The coordinate converting section32specifies, based on the position and posture S of the tool center point TCP and a detection value of the force detecting section19, in the robot coordinate system, an acting force fSactually acting on the force detecting section19.

An acting point of the acting force fSis defined as a force detection origin separately from the tool center point TCP. The force detection origin corresponds to a point where the force detecting section19is detecting force. The control device3stores, for each of positions and postures S of the tool center point TCP in the robot coordinate system, a correspondence relation specifying directions of detection axes in a sensor coordinate system of the force detecting section19. Therefore, the control device3can specify the acting force fSin the robot coordinate system based on the position and posture S of the tool center point TCP in the robot coordinate system and the correspondence relation. Torque acting on the robot1can be calculated from the acting force fSand the distance from a contact point to the force detecting section19and is specified as a rotational force component. When the end effector20comes into contact with the workpiece W1and performs work, the contact point can be regarded as the tool center point TCP.

The correcting section33performs gravity compensation on the acting force fS. The gravity compensation means removing components of force and torque due to the gravity from the acting force fS. The acting force fSsubjected to the gravity compensation can be regarded as force other than the gravity acting on the robot arm10or the end effector20.

The correcting section33performs inertia compensation on the acting force fS. The inertia compensation means removing components of force and torque due to an inertial force from the acting force fS. The acting force fSsubjected to the inertia compensation can be regarded as force other than the inertial force acting on the robot arm10or the end effector20.

The force control section34performs impedance control. The impedance control is active impedance control for realizing virtual mechanical impedance with the motors M1to M6. The control device3executes such impedance control when performing processes in a contact state in which the end effector20receives force from a target object such as fitting work, screwing work, and polishing work and direct teaching. In processes other than such processes, safety can be improved by performing, for example, the impedance control when a human touches the robot1.

In the impedance control, the force control section34substitutes the target force fStin an equation of motion explained blow to derive rotation angles of the motors M1to M6. A signal with which the control device3controls the motors M1to M6is a PWM (Pulse Width Modulation)-modulated signal.

In a process in a noncontact state in which the end effector20does not receive an external force, the control device3controls the motors M1to M6with rotation angles derived from the target position and posture Stby a linear operation. A mode for controlling the motors M1to M6at the rotation angles derived from the target position and posture Stby the linear operation is referred to as a position control mode.

The control device3specifies a force-derived correction amount ΔS by substituting the target force fStand the acting force fSin an equation of motion of the impedance control. The force-derived correction amount ΔS means the magnitude of the position and posture S to which the tool center point TCP should move in order to cancel a force deviation ΔfS(t) from the target force fStwhen the tool center point TCP receives mechanical impedance. Expression (1) described below is the equation of motion of the impedance control.

The left side of Expression (1) is formed by a first term obtained by multiplying a second order differential value of the position and posture S of the tool center point TCP by a virtual mass coefficient m (hereinafter referred to as “mass coefficient m”), a second term obtained by multiplying a differential value of the position and posture S of the tool center point TCP by a virtual coefficient of viscosity d (hereinafter referred to as “coefficient of viscosity d”), and a third term obtained by multiplying the position and posture S of the tool center point TCP by a virtual modulus of elasticity k (hereinafter referred to as “modulus of elasticity k”). The right side of Expression (1) is formed by a force deviation ΔfS(t) obtained by subtracting actual force f from the target force fSt. Differential in Expression (1) means differential by time. In a process performed by the robot1, in some case, a fixed value is set as the target force fStor a function of time is set as the target force fSt.

The mass coefficient m means mass that the tool center point TCP virtually has. The coefficient of viscosity d means viscosity resistance that the tool center point TCP virtually receives. The modulus of elasticity k means a spring constant of an elastic force that the tool center point TCP virtually receives.

As a value of the mass coefficient m increases, the acceleration of a motion decreases. As the value of the mass coefficient m decreases, the acceleration of the motion increases. As a value of the coefficient of viscosity d increases, the speed of the motion decreases. As the value of the coefficient of viscosity d decreases, the speed of the operation increases. As a value of the modulus of elasticity k increases, a spring property increases. As the value of the modulus of elasticity k decreases, the spring property decreases.

The mass coefficient m, the coefficient of viscosity d, and the modulus of elasticity k may be set to different values for each of directions or may be set to common values irrespective of directions. The operator can set the mass coefficient m, the coefficient of viscosity d, and the modulus of elasticity k as appropriate before work. The operator inputs the mass coefficient m, the coefficient of viscosity d, and the modulus of elasticity k using, for example, the teaching device4.

The mass coefficient m, the coefficient of viscosity d, and the modulus of elasticity k are force control parameters. The force control parameters are values set before the robot arm10actually performs work. The force control parameters include the target force fStbesides the mass coefficient m, the coefficient of viscosity d, and the modulus of elasticity k.

In this way, the robot system100calculates, during execution of force control, a correction amount from a detection value of the force detecting section19, preset force control parameters, and a preset target force. The correction amount means the force-derived correction amount AS explained above and means a difference from a position to which the tool center point TCP should be move from a position where an external force is received.

The command integrating section35adds the force-derived correction amount ΔS to the position command value P generated by the position control section30. By performing the addition at any time, the command integrating section35calculates a new position command value P′ from the position command value P used to move the tool center point TCP to the position where the external force is received.

The coordinate converting section31converts the new position command value P′ into a robot coordinate and an executing section351executes the new position command value P′. Consequently, it is possible to move the tool center point TCP to a position obtained by taking into account the force-derived correction amount ΔS, respond to the external force, and prevent a more load from being applied to a target object that comes into contact with the robot1.

With such a driving control section3B, in a state in which the robot arm10grips the target object, it is possible to drive the robot arm10such that the tool center point TCP moves until the target force fStreaches a preset value while moving the tool center point TCP toward the target position and posture St. Consequently, assembly work such as fitting work can be executed by force control. It is possible to prevent a load from being excessively applied to the target object during work.

The teaching device4is explained.

As shown inFIG. 2, the teaching device4is a device that receives various settings, generates an operation program, and generates and displays a display image A shown inFIGS. 3 to 8, 10, and 11. The teaching device4includes a control section41, a storing section42, a communication section43, and a display section40. In the configuration shown inFIG. 1, the teaching device4is a notebook personal computer. However, in the present disclosure, the teaching device4is not limited to this and may be, for example, a desktop personal computer, a tablet terminal, or a smartphone.

The control section41includes at least one processor. Examples of the processor include a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The control section41reads out and executes various programs and the like stored in the storing section42. Examples of the various programs include an operation program for the robot arm10and a display program according to the present disclosure explained below. The programs may be generated by the teaching device4, may be stored from an external recording medium such as a CD-ROM, or may be stored via a network or the like.

A signal generated by the control section41is transmitted to the control device3of the robot1via the communication section43. Consequently, the robot arm10can execute predetermined work under predetermined conditions. As shown inFIGS. 3 to 9, the control section41controls driving of the display section40. That is, the control section41functions as a display control section that controls the operation of the display section40.

The control section41generates the display image A explained below and controls the operation of the display section40to display the display image A on the display section40.

The storing section42saves various programs executable by the control section41, various kinds of setting information, and the like. Examples of the storing section42include a volatile memory such as a RAM (Random Access Memory), a nonvolatile memory such as a ROM (Random Access Memory), and a detachable external storage device.

The communication section43performs transmission and reception of signals to and from the control device3using an external interface such as a wired LAN (Local Area Network) or a wireless LAN.

The display section40is configured by various displays including a display screen. In this embodiment, the operator can input various settings by operating an input operation section such as a mouse or a keyboard. However, the display section40is not limited to this configuration and may be, for example, a touch panel, that is, the display section40may include a display function and an input operation function. The touch panel and the mouse and the keyboard may be concurrently used.

The display section40is not limited to the configuration shown inFIG. 2and may be configured to form an image on a target object or in the air.

Examples of the various settings set by the operator include the mass coefficient m, the coefficient of viscosity d, the modulus of elasticity k, and the target force fSt. That is, the operator sets force control parameters using the teaching device4.

The display image A that the control section41generates and causes the display section40to display is explained. The display image A may be a moving image that changes following the operation of the robot1in real time or may be a moving image that reproduces the operation after work of the robot1ends. In the following explanation, the display image A is explained as the moving image that changes following the operation of the robot1in real time.

As shown inFIGS. 3 to 8, 10, and 11, the display image A includes a virtual robot1A, a first indicator11A, and a second indicator12A. The virtual robot1A, the first indicator11A, and the second indicator12A are displayed to temporally overlap one another and to be distinguished from one another.

The virtual robot1A is a simulation model of the robot1. The shape of the virtual robot1A corresponds to the shape of the robot1. The virtual robot1A may be 3DCG generated based on the robot1or may be an image obtained by imaging the robot1.

The first indicator11A indicates first information concerning the target force fSt, which is a target of force received by the robot arm10during work. In this embodiment, the first indicator11A is formed by an arrow, indicates a direction of the set target force fStwith a direction pointed by the arrow, and indicates the magnitude of the target force fStwith the shape of the arrow.

The second indicator12A indicates second information concerning the acting force fS, that is, the force applied to the robot arm10during the work. In this embodiment, the second indicator12A is formed by an arrow and indicates, with a direction pointed by the arrow, a direction in which the force is applied and indicates, with the shape of the arrow, the magnitude of the force. The shape of the second indicator12A changes in real time according to the magnitude of the force applied to the robot arm10during the work.

In the display image A, the virtual robot1A, the first indicator11A, and the second indicator12A are displayed to temporally overlap one another and to be distinguished from one another. “Displayed to temporally overlap” means that the first indicator11A and the second indicator12A at the same predetermined time are displayed. “Displayed to be distinguished” means that the first indicator11A and the second indicator12A are displayed in at least one of colors, sizes, shapes, lengths, thicknesses, and sharpness degrees different from each other or respectively displayed in different positions. Accordingly, the operator can compare the first indicator11A and the second indicator12A and easily recognize, at a glance, which degree of force is actually applied to the robot arm10with respect to the set target force fSt, that is, whether the force is within a normal range. Accordingly, for example, when the set target force fStis inappropriate, the operator can set a desired target force fStat the next and subsequent setting times. When determining that the force applied to the robot arm10is inappropriate, the operator can set, for example, the mass coefficient m, the coefficient of viscosity d, and the modulus of elasticity k to appropriate values at the next and subsequent setting times. In this way, according to the present disclosure, the operator can compare the target force fStand the force applied to the robot arm10in a work result and easily determine whether setting of force control parameters is proper. Accordingly, the operator can feedback the quality of the last setting and set appropriate force control parameters at the next and subsequent setting times.

The control section41acquires operation information of the robot1during work from the control device3and generates the display image A in which the virtual robot1A performs the same operation as the operation of the robot1. Consequently, the operator can grasp a movement of the robot1and can grasp which degree of force is applied to the robot1when the robot1is in what kind of a posture.

Variations of the display image A are explained below.

In a configuration shown inFIG. 3, the first indicator11A and the second indicator12A are displayed to overlap each other at the distal end portion of a robot arm of the virtual robot1A. That is, the first indicator11A and the second indicator12A are displayed in the same position. The first indicator11A and the second indicator12A face the same direction.

In the configuration shown inFIG. 3, the first indicator11A and the second indicator12A have colors different from each other. Consequently, the operator can grasp, at a glance, which of the arrows corresponds to which of the first indicator11A and the second indicator12A.

In the configuration shown inFIG. 3, the length of the second indicator12A changes in real time.

With such a configuration, the operator can compare the length of the first indicator11A and the length of the second indicator12A and grasp, at a glance, which of the first indicator11A and the second indicator12A is larger. Accordingly, the operator can more surely set appropriate force control parameters at the next and subsequent setting times.

A configuration shown inFIG. 4is explained. In the following explanation, only matters different from the matters in the configuration shown inFIG. 3are explained. In the configuration shown inFIG. 4, the first indicator11A and the second indicator12A are disposed in positions different from each other. Specifically, the first indicator11A and the second indicator12A are disposed side by side at the distal end portion of the robot arm of the virtual robot1A.

With such a configuration, it is possible to prevent one of the first indicator11A and the second indicator12A from being hidden and less easily seen irrespective of the lengths of the first indicator11A and the second indicator12A. Accordingly, the operator can more surely set appropriate force control parameters at the next and subsequent setting times.

A configuration shown inFIG. 5is explained. In the following explanation, only matters different from the matters in the configuration shown inFIG. 3and the configuration shown inFIG. 4are explained. In the configuration shown inFIG. 5, the first indicator11A and the second indicator12A are displayed as one arrow. The arrow is displayed in two colors, that is, a color indicating the first indicator11A and a color indicating the second indicator12A. A ratio of the color indicating the second indicator12A in the arrow changes according to force received by the robot arm10during work.

With such a configuration, the operator can grasp, at a glance, which of the first indicator11A and the second indicator12A is larger. Accordingly, the operator can more surely set appropriate force control parameters at the next and subsequent setting times. Further, in the configuration shown inFIG. 5, since only one arrow is displayed, it is possible to further reduce a portion of the robot arm of the virtual robot1A hidden by the arrow. Accordingly, the operator can more accurately grasp a movement of the virtual robot1A.

As explained above, the target force fStcan be set for each of the directions of axes (X, Y, and Z) and for each of the directions around the axes (Tx, Ty, and Tz). In this case, the target force fStcan also be displayed for each of these components. For example, when the torque Tz around the Z axis in the distal end coordinate system in the target force fStis displayed as shown inFIG. 6, the torque Tz can be displayed as a semi-arcuate arrow as shown inFIG. 6. In the case of this configuration, the semi-arcuate arrow is the first indicator11A. A direction pointed by the arrow indicates a direction of torque.

Force applied around the Y axis in the distal end coordinate system, that is, the torque Ty is displayed as an arrow near the first indicator11A. The arrow is the second indicator12A. In the configuration shown in FIG.6, colors of two arrows are different. The length or the thickness of the second indicator12A changes according to the magnitude of the torque Tz.

InFIG. 6, the torque Tz is explained as an example. However, in the present disclosure, display of torque is not limited to this. The torque Tx and the torque Ty may be displayed, all of the torque Tx, the torque Ty, and the torque Tz may be displayed, a direction in which any one of the torque Tx, the torque Ty, and the torque Tz is displayed may be selectable, or the torque Tx, the torque Ty, and the torque Tz may be able to be switched halfway in the display. A direction in which any two of the torque Tx, the torque Ty, and the torque Tz is displayed may be selectable. Further, a combined torque obtained by combining the torque Tx, the torque Ty, and the torque Tz may be displayed.

As shown inFIG. 7, the first indicator11A and the second indicator12A each may be resolved and displayed. In a configuration shown inFIG. 7, the target force fStand force applied to the robot arm10each are resolved into components of the X axis and the Y axis in the distal end coordinate system and displayed. That is, an arrow indicating the X-axis component of the target force fStis a first indicator11Ax and an arrow indicating the Y-axis component of the target force fStis a first indicator11Ay. An arrow indicating the X-axis component of the force applied to the robot arm10is a second indicator12Ax and an arrow indicating the Y-axis component of the force applied to the robot arm10is a second indicator12Ay.

It is preferable that at least one of lengths, colors, and shapes of the second indicator12Ax and the second indicator12Ay change according to the magnitude of the force.

With such a configuration, the operator can grasp, at a glance, force along which axial direction is large.

In the configuration shown inFIG. 7, an arrow indicating a Z-axis component of the target force fStis omitted. However, the arrow indicating the Z-axis component of the target force fStmay be displayed. In the configuration shown inFIG. 7, an arrow indicating a Z-axis component of the force applied to the robot arm10is omitted. However, the arrow indicating the Z-axis component of the force applied to the robot arm10may be displayed.

One or two or more of the X-axis component, the Y-axis component, and the Z-axis component of the target force fStmay be selected and displayed. One or two or more of the X-axis component, the Y-axis component, and the Z-axis component of the force applied to the robot arm10may be selected and displayed.

As shown inFIG. 8, the axis components of the target force fStmay be combined and displayed and the axis components of the force applied to the robot arm10may be combined and displayed. In this case, one of arrows pointing a direction of the combined axis components is the first indicator11A and the other is the second indicator12A. In a configuration shown inFIG. 8, the first indicator11A and the second indicator12A are displayed to overlap each other.

With such a configuration, the operator can grasp, at a glance, a degree of combined force obtained by combining the axis components.

In the configurations shown inFIGS. 3 to 8, the lengths of the arrows are changed according to the magnitude of the target force fStand the magnitude of the force applied to the robot arm10. However, in the present disclosure, the arrows are not limited to this. For example, as shown in an upper part inFIG. 9, thicknesses of arrows may be changed. As shown in a middle part inFIG. 9, sharpness degrees of arrows may be changed. As shown in a lower part inFIG. 9, shapes of arrows may be changed.

In a configuration shown inFIG. 10, the second indicator12A is displayed as a graph G1indicating, over time, the force applied to the robot arm10. The graph G1is displayed on the left side of a simulation image in which the virtual robot1A and the first indicator11A are displayed. In the graph G1, the vertical axis indicates the force applied to the robot arm10and the horizontal axis indicates time.

With such a configuration, the operator can grasp, over time, the force applied to the robot arm10. In the graph G1, the set target force fStis displayed. It is easy to compare the target force fStwith the force applied to the robot arm10.

For example, when a cursor is placed in any position of the horizontal axis of the graph, the simulation image may be able to be reproduced from a time of the position and a part of the graph may flash or a color of the part may change such that force applied to the robot arm10at the time is clearly seen in the graph. Further, the virtual robot1A may change a posture to indicate a posture of the robot arm10at the time on which the cursor is placed.

In a configuration shown inFIG. 11, the second indicator12A is displayed as a graph G2showing a component in the X-axis direction and a component in the Y-axis direction of the force applied to the robot arm10. The graph G2is displayed on the left side of a simulation image in which the virtual robot1A and the first indicator11A are displayed. In the graph G2, the vertical axis indicates a component in the Y-axis direction of the force applied to the robot arm10and the horizontal axis indicates a component in the X-axis direction of the force applied to the robot arm10.

With such a configuration, the operator can grasp, for each of the components in the axial directions, the force applied to the robot arm10.

As explained above, the robot system100according to the present disclosure includes the robot1including the robot arm10that performs work according to force control, the display section40that displays the display image A including the virtual robot1A, which is the simulation model of the robot1, and the control section41that controls the display section40. The control section receives the information concerning the force control parameters including the first information concerning the target force fSt, which is the target of the force received by the robot arm10during work, and controls the operation of the display section40to display, in the display image A, the virtual robot1A, the first indicator11A indicating the first information, the second indicator12A indicating the second information concerning the force applied to the robot arm10during the work, the virtual robot1A, the first indicator11A, and the second indicator12A temporally overlapping one another and being distinguished from one another. Consequently, the operator can compare the target force fStand the force applied to the robot arm10in a work result and easily determine whether setting of the force control parameters is proper. Accordingly, the operator can feedback the quality of the last setting and set appropriate force control parameters at the next and subsequently setting times.

As explained above, at least one of the colors, the sizes, and the shapes of the first indicator11A and the second indicator12A are different from each other. Consequently, the operator can distinguish, at a glance, the difference between the first indicator11A and the second indicator12A. All of the colors, the sizes, and the shapes of the first indicator11A and the second indicator12A may be different or two of the colors, the size, and the shapes may be different.

As explained above, the first indicator11A is the arrow indicating the direction and the magnitude of the target force fStand the second indicator12A is an arrow indicating the direction and the magnitude of the force received by the robot arm10. Since the first indicator11A and the second indicator12A are arrows, the operator can recognize the directions at a glance and, if at least one of colors, sizes, and shapes of the arrows are different from each other, the operator can distinguish the first indicator11A and the second indicator12A. As a result, the first indicator11A and the second indicator12A are easily seen in simple display.

In the configurations shown in the figures, the first indicator11A and the second indicator12A are the arrows. However, in the present disclosure, the first indicator11A and the second indicator12A are not limited to this and may be other indicators such as triangles, pentagons, and indicator lamps.

A display control method according to the present disclosure is explained with reference to a flowchart ofFIG. 12. In the following explanation, the control section executes steps S101, S103, and S104and the control device3executes step S102. However, in the present disclosure, the execution of the steps is not limited to this.

First, in step S101, the control section41receives information concerning force control parameters. That is, the operator sets force control parameters using the teaching device4. The control section41stores the information in the storing section42. Examples of items of the force control parameters set in this step include the mass coefficient m, the coefficient of viscosity d, the modulus of elasticity k, and the target force fStserving as the first information.

Such a step S101is a receiving step for receiving the information concerning the force control parameters including the first information concerning the target force fSt, which is the target of the force that the robot arm10receives during work.

Subsequently, in step S102, the control device3executes work. That is, the control device3executes work based on the information received in step S101.

Subsequently, in step S103, the control section41generates the display image A and displays on the display section40. That is, the control section41acquires operation information for the work in step S102, generates the display image A shown inFIGS. 3 to 8, 10, and 11based on the operation information, and displays the display image A on the display section40.

Subsequently, in step S104, the control section determines whether the work is completed. This determination is made based on, for example, whether the number of times assembly work is performed has reached a predetermined number of times. When determining in step S104that the work is completed, the control section41ends all programs. On the other hand, when determining in step S104that the work is not completed, the control section41returns to step S102and repeats the subsequent steps.

In this way, the display control method according to the present disclosure is a display control method for controlling a display section that displays the display image A including the virtual robot1A, which is a simulation model of the robot1including the robot arm10that performs work according to force control, the display control method including a receiving step for receiving information concerning force control parameters including first information concerning the target force fSt, which is a target of force received by the robot arm10during the work, and a display step for displaying, in the display image A, the virtual robot1A, the first indicator11A indicating the first information, and the second indicator12A indicating second information concerning force applied to the robot arm10during the work, the virtual robot1A, the first indicator11A, and the second indicator12A temporally overlapping one another and being distinguished from one another. Consequently, the operator can compare the target force fStand the force applied to the robot arm10in a work result and easily determine whether setting of the force control parameters is proper. Accordingly, the operator can feedback the quality of the last setting and set appropriate force control parameters at the next and subsequent setting times.

As explained above, in the display step, at least one of a color, a size, and a shape of an arrow, which is the second indicator12A, is changed according to the force received by the robot arm10during the work. Consequently, the operator can grasp, over time, a change in the force received by the robot arm10during the work. In the display step, all of the color, the size, and the shape of the arrow, which is the second indicator12A, may be changed or two of the color, the size, and the shape may be changed according to the force received by the robot arm10during the work.

As explained above, in the display step, at least one of a length, a thickness, and a sharpness degree of the arrow, which is the second indicator12A, is changed according to the force received by the robot arm10during the work (seeFIG. 9). Consequently, the operator can more clearly grasp a change in the force received by the robot arm10during the work. In the display step, all of the length, the thickness, and the sharpness degree of the second indicator12A may be changed or two of the length, the thickness, and the sharpness degree may be changed according to the force received by the robot arm10during the work.

As explained above, in the display step, a posture of the virtual robot1A is changed according to a change in a posture of the robot arm10during the work. Consequently, the operator can grasp, at a glance, which degree of force is applied in what kind of a posture the robot arm10has.

As explained above, in the display step, the first indicator11A and the second indicator12A are respectively resolved into components in the axial directions of the coordinate system set in the virtual robot1A and displayed (seeFIG. 7). Consequently, the operator can grasp, at a glance, force along which axial direction is large.

A display program according to the present disclosure is a program for executing a display control method for controlling a display section that displays a display image including the virtual robot1A, which is a simulation model of the robot1including the robot arm10that performs work according to force control, the program causing a computer to execute a receiving step for receiving information concerning force control parameters including first information concerning the target force fSt, which is a target of force received by the robot arm10during the work and a display step for displaying, in the display image A, the virtual robot1A, the first indicator11A indicating the first information, and the second indicator12A indicating second information concerning force applied to the robot arm10during the work, the virtual robot1A, the first indicator11A, and the second indicator12A temporally overlapping one another and being distinguished from one another. By executing such a program, the operator can compare the target force fStand the force applied to the robot arm10in a work result and easily determine whether setting of the force control parameters is proper. Accordingly, the operator can feedback the quality of the last setting and set appropriate force control parameters at the next and subsequent setting times.

The display program according to the present disclosure may be stored in a storing section of the control device3or the teaching device4, may be stored in a recording medium such as a CD-ROM, or may be stored in a storage device connectable via a network or the like.

Other Configuration Examples of a Robot System

FIG. 13is a block diagram for explaining a robot system centering on hardware.

FIG. 13shows an overall configuration of a robot system100A in which the robot1, a controller61, and a computer62are coupled. Control of the robot1may be executed by reading out a command present in a memory with a processor present in the controller61or may be executed via the controller61by reading out the command present in the memory with a processor present in the computer62.

Therefore, one or both of the controller61and the computer62can be grasped as a “control device”.

FIG. 14is a block diagram showing a modification1centering on hardware of a robot system.

FIG. 14shows an overall configuration of a robot system100B in which a computer63is directly coupled to the robot1. Control of the robot1is directly executed by reading out a command present in a memory with a processor present in the computer63.

Therefore, the computer63can be grasped as a “control device”.

FIG. 15is a block diagram showing a modification2centering on hardware of a robot system.

FIG. 15shows an overall configuration of a robot system100C in which the robot1incorporating the controller61and a computer66are coupled and the computer66is coupled to Cloud64via a network65such as a LAN. Control of the robot1may be executed by reading out a command present in a memory with a processor present in the computer66or may be executed by reading out a command present in the memory via the computer66with a processor present on the Cloud64.

Therefore, at least one, any two, or three of the controller61, the computer66, and the Cloud64can be grasped as a “control device”.

The display control method, the display program, and the robot system according to the present disclosure are explained above with reference to the embodiment shown in the figures. However, the present disclosure is not limited to this. The sections configuring the robot system can be replaced with sections having any configurations that can exert the same functions. Any components may be added.