Computer program and teaching method for a robot
By visualizing virtual lines at the axes of a robot's torsion joints, the method allows instructors to recognize and avoid singular postures, enhancing the teaching process and preventing joint angle calculation ambiguities.
Patent Information
- Application Number
- JP2020201003
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-12-03
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2040-12-03
AI Technical Summary
Existing robot teaching methods do not effectively allow instructors to recognize and avoid specific postures, particularly singular postures, where the axes of torsion joints align in a straight line, leading to non-unique joint angle calculations.
A computer program and teaching method that visualize virtual lines at the axes of a robot's torsion joints, displaying these lines when a predetermined condition is met, such as when the robot is close to a singular posture, allowing instructors to easily identify and avoid such postures.
Enables instructors to easily determine when the robot is approaching a singular posture and provides clear visual cues and instructions to avoid it, thereby improving the teaching process and preventing singularities.
Smart Images

Figure 0007683195000001 
Figure 0007683195000002 
Figure 0007683195000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a computer program and a teaching method for a robot.
Background Art
[0002] Patent Document 1 discloses an information processing apparatus for teaching a robot. In this prior art, the trajectory of the robot is superimposed on the image of the robot and displayed. At this time, the display is performed so that the trajectory portion near the specific posture of the robot can be visually distinguished.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the prior art, there is a problem that it is not easy to recognize what operation can be performed to avoid the specific posture in the trajectory portion near the specific posture.
Means for Solving the Problems
[0005] According to the first aspect of the present disclosure, a computer program is provided. When a predetermined condition is satisfied, this computer program causes a processor to execute a visualization process of displaying a virtual line visualized at the position of the axis for a plurality of torsion joints of the robot.
[0006] According to the second aspect of the present disclosure, a teaching method for a robot is provided. This teaching method includes a visualization step of displaying a virtual line visualized at the position of the axis for a plurality of torsion joints of the robot when a predetermined condition is satisfied.
Brief Description of the Drawings
[0007]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Mode for Carrying Out the Invention
[0008] A. First Embodiment FIG. 1 is an explanatory drawing showing the robot system in the first embodiment. This robot system includes a robot 100, a control device 200 that controls the robot 100, and an information processing device 300. The information processing device 300 is, for example, a personal computer. In FIG. 1, three axes X, Y, and Z that define a rectangular coordinate system in a three-dimensional space are drawn. The X-axis and the Y-axis are horizontal axes, and the Z-axis is a vertical axis. In this example, the XYZ coordinate system is a robot coordinate system with a reference point preset in the robot 100 as the origin.
[0009] Robot 100 includes a base 110 and an arm 120. The arm 120 is sequentially connected by six joints. The arm 120 is sequentially connected by six joints J1 to J6. Among these joints J1 to J6, three joints J1, J4, and J6 are torsion joints, and the other three joints J2, J3, and J5 are bending joints. A torsion joint is a joint that can twist around the axis of the rotation axis. In this embodiment, a six-axis robot is illustrated, but it is possible to use a robot having any arm mechanism with two or more torsion joints. Also, although the robot 100 of this embodiment is a vertical articulated robot, a horizontal articulated robot may be used.
[0010] Generally, a posture in which the axes of two torsion joints are on the same straight line is a singular posture because the joint angles cannot be uniquely obtained from the coordinates of the orthogonal coordinate system by inverse kinematics. In the present disclosure, in consideration of such characteristics, it is devised so that a teacher can easily recognize whether it is close to a singular posture and what operations can be performed to avoid the singular posture.
[0011] FIG. 2 is a block diagram showing the functions of the information processing apparatus 300. The information processing apparatus 300 includes a processor 310, a memory 320, an interface circuit 330, and an input device 340 and a display unit 350 connected to the interface circuit 330. The control device 200 is further connected to the interface circuit 330. However, the information processing apparatus 300 may not be connected to the control device 200.
[0012] The processor 310 functions as a teaching processing unit 312 that executes the teaching process of the robot 100. The function of the teaching processing unit 312 is realized by the processor 310 executing a teaching processing program TP stored in the memory 320. However, part or all of the functions of the teaching processing unit 312 may be realized by a hardware circuit.
[0013] In the memory 320, in addition to the teaching process program TP, robot attribute data RD and a robot control program RP are stored. The robot attribute data RD includes various robot characteristics such as the configuration and movable range of the arm of the robot 100. The robot control program RP is composed of a plurality of instructions for operating the robot 100.
[0014] Figure 3 is a flowchart showing the procedure of the teaching process in one embodiment. In step S10, the instructor activates the teaching process program TP. In step S20, the instructor specifies the robot type of the robot to be taught and the program name of the robot control program to be edited. In step S30, a simulation image of the robot of the specified type is displayed on the display unit 350.
[0015] Figure 4 is an explanatory diagram showing an example of a teaching process window W10 displayed on the display unit 350 during the teaching process using the teaching process program TP. The teaching process window W10 includes a robot selection field RF for selecting a robot type, a program selection field PF for specifying the program name of the robot control program, a robot display window W11 for displaying a simulation image of the robot 100, and a jog operation window W12 for inputting a jog operation.
[0016] In the robot display window W11, a simulation image including a three-dimensional image of the robot 100 is displayed. Also, at the lower part of the robot display window W11, selection buttons SB1 to SB3 are provided for selecting an axis to be superimposed and displayed on the robot 100 within the robot display window W11 among the axes of a plurality of torsion joints J1, J4, J6 of the robot 100. In order to notify the instructor that the robot is close to a singular posture, it is preferable to select to display the axes of two or more torsion joints. In the example of FIG. 4, it is selected to display the axes of two torsion joints J4, J6, and accordingly, visualization axes VJ4, VJ6, which are virtual lines visualized at the positions of the axes of the two torsion joints J4, J6, are displayed in the three-dimensional image of the robot 100. When all of the selection buttons SB1 to SB3 are selected, visualization axes are respectively displayed at the positions of the axes of the three torsion joints J1, J4, J6.
[0017] The visualization process for displaying the visualization axes VJ4, VJ6 of the two torsion joints J4, J6 is executed when a predetermined condition is satisfied. For example, when one or more conditions preselected from the following conditions 1 to 4 are satisfied, it may be determined that the "predetermined condition" is satisfied.
[0018] <Condition 1: Receiving an instruction for teaching from the instructor for the robot> This condition 1 can be determined to be satisfied, for example, when the type of the robot is selected using the robot selection field RF. Alternatively, when the type of the robot is initially set in the teaching process program TP, it may be determined that condition 1 is satisfied when the instructor starts the teaching process program TP.
[0019] <Condition 2: Receiving an instruction from the instructor to display a plurality of visualization axes> This condition 2 can be determined to be satisfied when the instructor sets the selection buttons SB1 to SB3 in FIG. 4.
[0020] <Condition 3: Among the plurality of axes of the plurality of torsion joints, the angle between two axes is equal to or less than a predetermined threshold value> Whether or not this Condition 3 is satisfied can be determined by calculating the joint displacement by inverse kinematics from the position and orientation of the robot 100 when the position and orientation of the robot 100 change due to a jog operation by the instructor, and obtaining the angle of the bending joint J5. The threshold value of Condition 3 is set to a value in the range of, for example, 3 degrees to 10 degrees.
[0021] <Condition 4: The jog operation is performed in a Cartesian coordinate system> This Condition 4 can be determined to be satisfied when a Cartesian coordinate system such as a robot coordinate system or a tool coordinate system is selected in the jog operation window W12.
[0022] In the present embodiment, only the above Condition 1 is adopted as a predetermined condition for starting the display of the visualization axis. Specifically, when the type of the robot is selected using the robot selection field RF, the display of the visualization axes VJ4 and VJ6 is started together with the display of the three-dimensional image of the robot 100. When the above Condition 3 is adopted as a predetermined condition for starting the visualization axes VJ4 and VJ6, the visualization axes VJ4 and VJ6 are not displayed in the state of FIG. 4, and the visualization axes VJ4 and VJ6 are displayed for the first time when the angles of these axes become equal to or less than the threshold value.
[0023] The jog operation window W12 includes a coordinate system selection field CF for selecting a coordinate system, a coordinate value field VF for specifying six coordinate values corresponding to the selected coordinate system, a teaching point field TF for specifying a teaching point to be edited, a teaching point setting button B1, and an end button B2. Increment / decrement buttons CB for increasing or decreasing the value are arranged on the right side of each coordinate value field VF and on the right side of the teaching point field TF.
[0024] The coordinate system selection field CF is a field for selecting any one of the robot coordinate system, the tool coordinate system, and the joint coordinate system. In the example of FIG. 4, the coordinate system selection field CF is configured as a pull-down menu. The robot coordinate system and the tool coordinate system are orthogonal coordinate systems. When jogging operations are performed in an orthogonal coordinate system, joint coordinate values are calculated by inverse kinematics, so singular postures become a problem. On the other hand, in the joint coordinate system, since calculations by inverse kinematics are not required, singular postures do not become a problem. Therefore, it is preferable that the visualization axes VJ4 and VJ6 are displayed when jogging operations are performed in the orthogonal coordinate system.
[0025] In step S40 of FIG. 3, a teaching point is selected by the instructor. The selection of the teaching point is performed by setting the value of the teaching point field TF. In step S50, the posture of the robot 100 is changed according to the jogging operation of the instructor in the jogging operation window W12. In step S60, the teaching processing unit 312 determines whether the angle between the axes of the twisting joints J4 and J6 to be visualized is less than or equal to a threshold value. If this angle exceeds the threshold value, the process proceeds to step S80 described later. On the other hand, if the angle between the axes of the twisting joints J4 and J6 is less than or equal to the threshold value, the process proceeds to step S70, and the teaching processing unit 312 changes the display mode of the visualization axes VJ4 and VJ6.
[0026] FIG. 5 is an explanatory diagram showing an example when the display mode of the visualization axes VJ4 and VJ6 is changed. In this example, the angle θ between the axes of the twisting joints J4 and J6 is less than or equal to the threshold value θt, and accordingly, the display mode of the visualization axes VJ4 and VJ6 has been changed from FIG. 4. Specifically, for example, when the angle θ between the axes of the twisting joints J4 and J6 is less than or equal to the threshold value θt, the color of at least one of the two visualization axes VJ4 and JV6 is changed to a color different from the color when the angle θ exceeds the threshold value θt. By doing so, by changing the color of the visualization axis, the instructor can be warned that the posture is close to a singular posture.
[0027] FIG. 6 is an explanatory diagram showing another example when the display modes of the visualization axes VJ4 and VJ6 are changed. In this example, within the robot display window W11, an operation instruction prompting the instructor to increase the angle between the axes of the torsion joints J4 and J6 is displayed. Specifically, as the operation instruction, an arrow OPD prompting a jog operation in the direction in which the angles of the two visualization axes VJ4 and VJ6 move apart and a warning message ALM are displayed. As the operation instruction, only one of such an arrow OPD and the warning message ALM may be displayed, or other types of operation instructions may be displayed. By displaying such operation instructions, the instructor can be notified of the operation to move away from the singular posture.
[0028] FIG. 7 is an explanatory diagram showing another example when the display modes of the visualization axes VJ4 and VJ6 are changed. In this example, in the vicinity of the two visualization axes VJ4 and VJ6, a danger area DA indicating proximity to the singular posture is displayed. Specifically, the danger area DA is displayed by applying a specific color to the area sandwiched by the two visualization axes VJ4 and VJ6. However, the danger area DA only needs to be set in the vicinity of the two visualization axes VJ4 and VJ6, and may protrude outside the area sandwiched by the two visualization axes VJ4 and VJ6. By displaying the danger area DA, the instructor can be notified of the danger area DA close to the singular posture.
[0029] The changes in the display modes of the visualization axes VJ4 and VJ6 shown in FIGS. 5 to 7 described above may be arbitrarily combined.
[0030] In step S80 of FIG. 3, the instructor determines whether a change in the posture of the robot 100 is necessary. If it is determined that a change in the posture is necessary, the process returns to step S50 and steps S50 to S70 described above are executed again. On the other hand, if a change in the posture is not necessary, the process proceeds to step S90 and a teaching point is set. The setting of the teaching point is executed by the instructor pressing the teaching point setting button B1. The coordinate values of the set teaching point are registered in the robot control program RP.
[0031] In step S100, it is determined by the instructor whether the teaching process has been completed. If the teaching process has not been completed, the process returns to step S40, and the above-described steps S40 to S90 are repeated. On the other hand, if the teaching process has been completed, the instructor presses the end button B2 to end the process of FIG. 3.
[0032] As described above, in the first embodiment, for the plurality of torsion joints J4, J6, the visualization axes VJ4, VJ6, which are virtual lines visualized at the positions of the axes, are displayed. Thus, the instructor can easily determine whether the axes of the two torsion joints V4, V6 are close to a specific posture where they are aligned on a straight line. Also, it can be easily recognized that the specific posture can be avoided by operating so that the angle between the two visualization axes does not become 0 degrees.
[0033] B. Second Embodiment FIG. 8 is an explanatory diagram showing a robot system according to the second embodiment. This robot system has a configuration in which the information processing device 300 is omitted from the robot system of the first embodiment shown in FIG. 1, and a teaching pendant 400 and a see-through type head-mounted display 500 are added. The configuration of the robot 100 is the same as that of the first embodiment. The teaching pendant 400 and the head-mounted display 500 are respectively connected to the control device 200 of the robot 100. Although the head-mounted display 500 is worn on the head of the instructor, the illustration of the instructor is omitted.
[0034] In the second embodiment, the instructor uses the teaching pendant 400 to execute the teaching process of the robot 100. The teaching pendant 400 is configured to be able to perform almost all processes and instructions except for displaying the simulation image in the teaching process window W10 shown in FIG. 4. The function of the teaching process by the teaching pendant 400 is realized by the processor of the teaching pendant 400 executing a computer program stored in the memory of the teaching pendant 400.
[0035] In the second embodiment, the visualization process for displaying the visualization axis for the torsion joints is performed by the head-mounted display 500. That is, the display by the head-mounted display 500 is executed so that the instructor can visually recognize a state in which a plurality of visualization axes VJ4 and VJ6 are displayed at the positions of the axes of the plurality of torsion joints of the actual robot 100. Regarding the conditions for starting the display of the plurality of visualization axes VJ4 and VJ6 and the display mode, those described in the first embodiment are applicable.
[0036] Also in the second embodiment, as in the first embodiment described above, for the plurality of torsion joints J4 and J6, visualization axes VJ4 and VJ6, which are virtual lines visualized at the axis positions, are displayed, so that it is easy for the instructor to determine whether the axes of the two torsion joints V4 and V6 are close to a specific posture in which they are aligned on a straight line. Also, it can be easily recognized that the specific posture can be avoided by operating so that the angle between the two visualization axes does not become 0 degrees.
[0037] C. Other Embodiments The present disclosure is not limited to the embodiments described above, and can be realized in various forms without departing from the gist thereof. For example, the present disclosure can also be realized by the following aspects. The technical features in the above embodiments corresponding to the technical features in each of the aspects described below can be appropriately replaced or combined in order to solve part or all of the problems of the present disclosure or to achieve part or all of the effects of the present disclosure. Also, if the technical feature is not described as essential in this specification, it can be appropriately deleted.
[0038] (1) According to the first aspect of the present disclosure, a computer program is provided. This computer program causes a processor to execute a visualization process for displaying a virtual line visualized at the axis position for a plurality of torsion joints of a robot when a predetermined condition is satisfied. According to this computer program, since virtual lines are displayed at the positions of the axes of a plurality of torsion joints, an instructor can easily determine whether the axes of the two torsion joints are close to a singular posture where they are aligned in a straight line. Also, it can be easily recognized that the singular posture can be avoided by operating so that the angle between the two virtual lines does not become 0 degrees.
[0039] (2) In the above computer program, the visualization process may be executed on the three-dimensional image of the robot included in the simulation image for teaching the robot. According to this computer program, in the simulation image, an operation to avoid a singular posture can be easily recognized.
[0040] (3) In the above computer program, the condition may include receiving an instruction for teaching from the instructor to the robot. According to this computer program, a plurality of visualization axes can be displayed according to the instructor's instruction.
[0041] (4) In the above computer program, the condition may include receiving an instruction to display the virtual line from the instructor. According to this computer program, the virtual line can be displayed according to the instructor's instruction.
[0042] (5) In the above computer program, the condition may include that the angle between two of the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value. According to this computer program, when the angle between the two axes becomes equal to or less than the threshold value and approaches a singular posture, by displaying a plurality of visualization axes, the instructor can be warned that it is close to a singular posture.
[0043] (6) In the computer program, the visualization process may include a process of changing at least one color of two virtual lines corresponding to the two axes to a color different from the color when the angle is above the threshold value when the angle between the two axes among the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value. According to this computer program, when the angle between the two axes approaches a specific posture with the angle being equal to or less than the threshold value, it is possible to warn the instructor that the posture is close to the specific posture by changing the color of the virtual line.
[0044] (7) In the computer program, the visualization process may include a process of displaying an operation instruction for prompting the instructor to increase the angle between the two axes when the angle between the two axes among the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value. According to this computer program, it is possible to notify the instructor of an operation for changing to a posture away from the specific posture.
[0045] (8) In the computer program, the visualization process may include a process of displaying a danger area indicating proximity to a specific posture in the vicinity of two virtual lines corresponding to the two axes when the angle between the two axes among the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value. According to this computer program, it is possible to notify the instructor of a danger area close to the specific posture.
[0046] (9) According to the second aspect of the present disclosure, a teaching method for a robot is provided. This teaching method includes a visualization step of displaying virtual lines visualized at the positions of the axes for a plurality of torsion joints of the robot when a predetermined condition is satisfied. According to this teaching method, since virtual lines are displayed at the positions of the axes of the plurality of torsion joints, the instructor can easily determine whether the axes of the two torsion joints are close to a specific posture where they are aligned in a straight line. Also, it can be easily recognized that the specific posture can be avoided by operating so that the angle between the two virtual lines does not become 0 degrees.
[0047] The present disclosure can also be realized in various forms other than the above. For example, it can be realized in the form of a robot system including a robot and a robot control device, a computer program for realizing the functions of the robot control device, a non-transitory storage medium recording the computer program, and the like.
Description of Reference Numerals
[0048] 100... robot, 110... base, 120... arm, 122... arm end, 140... force detection unit, 150... end effector, 200... control device, 300... information processing device, 310... processor, 312... teaching processing unit, 320... memory, 330... interface circuit, 350... display unit, 400... teach pendant, 500... head-mounted display
Claims
1. While a predetermined condition is satisfied, for a plurality of torsion joints of a robot, a visualization process that causes a display unit to display a virtual line visualized so as to overlap the position of the axis is executed by a processor, wherein the torsion joint is a joint capable of twisting movement around the axis of the rotation axis, the robot is a vertical multi-joint robot or a horizontal multi-joint robot having two or more of the torsion joints, the condition is that the angle between two of the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value, and when the condition is not satisfied, the visualization process is not executed, a computer program.
2. While a predetermined condition is satisfied, for a plurality of torsion joints of a robot, a visualization process that causes a display unit to display a virtual line visualized so as to overlap the position of the axis is executed by a processor, wherein the torsion joint is a joint capable of twisting movement around the axis of the rotation axis, the robot is a vertical multi-joint robot or a horizontal multi-joint robot having two or more of the torsion joints, the condition is that a Cartesian coordinate system is selected as the coordinate system for operating the robot, and when the condition is not satisfied, the visualization process is not executed, a computer program.
3. While a predetermined condition is satisfied, for a plurality of torsion joints of a robot, a visualization process that causes a display unit to display a virtual line visualized so as to overlap the position of the axis is executed by a processor, wherein the torsion joint is a joint capable of twisting movement around the axis of the rotation axis, the robot is a vertical multi-joint robot or a horizontal multi-joint robot having two or more of the torsion joints, the condition is that an instruction to display the virtual line is received from an instructor, the processor causes the display unit to display a first selection button for selecting to display a first virtual line visualized so as to overlap the axis of a first torsion joint among the plurality of torsion joints, and a second selection button for selecting to display a second virtual line visualized so as to overlap the axis of a second torsion joint among the plurality of torsion joints, and when the condition is not satisfied, the visualization process is not executed, a computer program.
4. A computer program according to any one of Claims 1 to 3, The visualization process is included in a simulation image for teaching the robot A computer program executed on the three-dimensional image of the robot.
5. The computer program according to claim 2 or 3, wherein When the angle between two of the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value, at least one of the two virtual lines corresponding to the two axes is a process of changing the color to a color different from the color when the angle exceeds the threshold value, a co mputer program.
6. The computer program according to any one of claims 1 to 3, wherein When the angle between two of the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value, an operation instruction for prompting the instructor to increase the angle of the two axes is a process of causing the display unit to display the operation instruction, a computer program.
7. The computer program according to any one of claims 1 to 3, wherein When the angle between two of the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value, near the two virtual lines corresponding to the two axes, a specific posture is a process of causing the display unit to display a danger area indicating proximity to the posture, a computer program.
8. While a predetermined condition is satisfied, for a plurality of torsion joints of a robot including a visualization step of displaying on a display unit virtual lines visualized so as to overlap the positions of the axes, The torsion joint is a joint capable of twisting movement around the axis of the rotation axis, The robot is a vertically articulated robot or a horizontally multi articulated robot having two or more of the torsion joints, The condition is that the angle between two of the axes of the plurality of torsion joints is equal to or less than a predetermined threshold value, When the condition is not satisfied, the visualization step is not executed, a teaching method for a robot.
Citation Information
Patent Citations
Method for fading-in information created by computer into image of real environment, and device for visualizing information created by computer to image of real environment
JP2004243516A
Method for adjusting teaching point of robot, method for calculating installation position of robot, robot system, program, and recording medium
JP2015066668A
Robot system representing information for learning of robot
JP2018202514A
Simulator device, and control method for simulator device
JP2019123052A
Multi-turn rotary shaft display device and multi-turn rotary shaft display method
WO2016199200A1