Robot simulation device, simulation method and program
The robot simulation device addresses the challenge of accurately positioning virtual workpieces by incorporating linear and planar operation units within the simulation device, allowing for precise control and efficient simulation processes.
Patent Information
- Application Number
- JP2023199771
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-27
- Publication Date
- 2025-06-06
AI Technical Summary
Existing robot simulation devices face challenges in accurately positioning virtual workpieces in three-dimensional virtual spaces due to display methods or patterns, leading to inefficiencies and potential inaccuracies in simulations.
The proposed robot simulation device includes a display unit showing a virtual robot and object in a three-dimensional space, along with a first operation unit (linear) and a second operation unit (planar) that allow precise movement of the virtual object along specific axes and planes within the virtual space.
This solution enables users to intuitively and accurately position virtual objects within the three-dimensional space, facilitating quicker and more accurate simulations by allowing precise control over movements along defined axes and planes.
Smart Images

Figure 2025086011000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a robot simulation device, a simulation method, and a program. [Background technology]
[0002] In recent years, due to rising labor costs and labor shortages in factories, robots with robot arms have begun to carry out tasks such as transporting, manufacturing, processing, assembling, and inspecting workpieces such as machine parts, and the automation of tasks that have been performed manually is progressing. When performing tasks using such robots, the robot's work content, particularly the series of movements of the robot arm, may be simulated in advance. For this simulation, a simulation device such as that described in Patent Document 1 is used.
[0003] The simulation device of Patent Document 1 includes a display screen that displays a virtual robot and a virtual workpiece in a three-dimensional virtual space, and an operation unit that moves and operates the displayed virtual robot and virtual workpiece. For example, when simulating the operation of a robot arm to be executed, the virtual workpiece displayed on the display screen is moved and adjusted so that the virtual robot and the virtual workpiece have a desired positional relationship in the three-dimensional virtual space, and the simulation is executed. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-126760 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the simulation device of Patent Document 1, when moving the virtual workpiece, it is difficult to move the virtual workpiece to a desired position in the three-dimensional virtual space due to, for example, the display method or display pattern on the display screen. This causes problems such as taking time to place the virtual workpiece in an appropriate position, or not being able to place the virtual workpiece in an appropriate position. In this case, it may take time to execute the simulation, or an accurate simulation may not be possible. [Means for solving the problem]
[0006] The robot simulation device of the present invention includes a display unit that displays a virtual robot and a virtual object placed in a three-dimensional virtual space, a first operation unit that is displayed together with the virtual object and has a linear shape extending in the axial direction of a first axis set in the three-dimensional virtual space, and a second operation unit that is displayed together with the virtual object and is set in the three-dimensional virtual space and is a first plane having the first axis as a normal line; an operation unit that performs a movement operation to move the first operation unit or the second operation unit within the three-dimensional virtual space, By operating the first operation unit by moving the first operation unit using the operation unit, the virtual object moves along the first axis together with the first operation unit, By operating the second operating part to move using the operating part, the virtual object moves together with the second operating part along the surface direction of the first plane.
[0007] The simulation method of the present invention includes a first step of displaying a virtual robot and a virtual object placed in a three-dimensional virtual space, a first operation unit that is displayed together with the virtual object and is linear and extends in the axial direction of a first axis set in the three-dimensional virtual space, and a second operation unit that is displayed together with the virtual object, is set in the three-dimensional virtual space, and is a first plane having the first axis as a normal line; a second step of performing a movement operation of moving the first operation unit or the second operation unit in the three-dimensional virtual space, In the second step, by using the operation unit to move the first operation unit, the virtual object moves along the first axial direction together with the first operation unit, and by using the operation unit to move the second operation unit, the virtual object moves along the surface direction of the first plane together with the second operation unit.
[0008] The program of the present invention includes a first step of displaying a virtual robot and a virtual object placed in a three-dimensional virtual space, a first operation unit that is displayed together with the virtual object and that is linear and extends in the axial direction of a first axis set in the three-dimensional virtual space, and a second operation unit that is displayed together with the virtual object, that is set in the three-dimensional virtual space, and that is a first plane having the first axis as a normal line; A second step of performing a movement operation of moving the first operation unit or the second operation unit in the three-dimensional virtual space, In the second step, by using the operation unit to move the first operation unit, the virtual object moves along the first axial direction together with the first operation unit, and by using the operation unit to move the second operation unit, the virtual object moves along the surface direction of the first plane together with the second operation unit. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a schematic diagram of a robot system including a robot simulation device according to the present invention. [Diagram 2] FIG. 2 is a block diagram of the robot system shown in FIG. [Diagram 3] FIG. 3 is a diagram showing an example of a simulation screen displayed on a display unit included in the robot simulation device shown in FIG. [Figure 4] FIG. 4 is a diagram showing an example of a simulation screen displayed on a display unit included in the robot simulation device shown in FIG. [Diagram 5]FIG. 5 is a diagram showing an example of a simulation screen displayed on a display unit included in the robot simulation device shown in FIG. [Figure 6] FIG. 6 is a diagram showing an example of a simulation screen displayed on a display unit included in the robot simulation device shown in FIG. [Figure 7] FIG. 7 is a diagram showing an example of a simulation screen displayed on a display unit included in the robot simulation device shown in FIG. [Figure 8] FIG. 8 is a diagram showing an example of a simulation screen displayed on a display unit included in the robot simulation device shown in FIG. [Figure 9] FIG. 9 is a flowchart illustrating an example of a simulation method according to the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] <Embodiment> Fig. 1 is a schematic diagram of a robot system equipped with a robot simulation device of the present invention. Fig. 2 is a block diagram of the robot system shown in Fig. 1. Figs. 3, 4, 5, 6, 7 and 8 are diagrams showing examples of simulation screens displayed on a display unit provided in the robot simulation device shown in Fig. 1. Fig. 9 is a flowchart for explaining an example of a simulation method of the present invention.
[0011] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a robot simulation device, a simulation method, and a program according to the present invention will be described in detail based on preferred embodiments shown in the accompanying drawings.
[0012] In the following description, for ease of explanation, the side of the robot arm facing the base 21 in FIG. 1 will be referred to as the "base end" and the opposite side, i.e., the side facing the end effector 26, as the "tip".
[0013] As shown in FIG. 1, a robot system 1 includes a robot 2, a robot control device 8 that controls the robot 2, and a robot simulation device 10 of the present invention.
[0014] First, the robot 2 will be described. 1 includes a robot 2 and a robot control device 8 that controls the driving of the robot 2. In this embodiment, the robot control device 8 executes a robot program creation method of the present invention to drive the robot 2. However, the present invention is not limited to this configuration, and other control devices, such as a teaching device (not shown), may execute the program of the present invention.
[0015] The robot 2 in this embodiment is a SCARA robot, and drives the robot arm 22 in a desired motion to perform tasks such as transporting, assembling, and inspecting workpieces such as electronic components, or performing various types of processing and painting on the workpieces using tools (hereinafter, these may be collectively referred to simply as "tasks"). However, the use of the robot 2 is not particularly limited. The robot 2 according to the present invention may be, other than a SCARA robot, for example, a six-axis articulated robot, an Cartesian robot combining linear sliders, and a dual-arm robot.
[0016] 1, the robot 2 has a base 21 which is a base portion, and a robot arm 22 which is rotatably connected to the base 21. The base 21 is fixed to a floor surface which is parallel to a horizontal plane.
[0017] The robot arm 22 has a first arm 23 whose base end is connected to the base 21 and rotates around a first rotation axis J1 that is vertical to the base 21, and a second arm 24 whose base end is connected to the tip end of the first arm 23 and rotates around a second rotation axis J2 that is vertical to the first arm 23.
[0018] A working head 25 is provided at the tip of the second arm 24. The working head 25 has a spline nut 251 and a ball screw nut 252 that are coaxially arranged at the tip of the second arm 24, and a spline shaft 253 that is inserted through the spline nut 251 and the ball screw nut 252. The spline shaft 253 is rotatable around a third rotation axis J3 that is its central axis and extends in the vertical direction relative to the second arm 24, and is movable up and down along the third rotation axis J3.
[0019] An end effector 26 is attached to the lower end of the spline shaft 253. The end effector 26 is detachable and is appropriately selected according to the intended work. An example of the end effector 26 is one that can hold a workpiece or a tool.
[0020] The robot 2 has a first joint actuator 27 that connects the base 21 and the first arm 23 and rotates the first arm 23 relative to the base 21 around a first rotation axis J1, and a second joint actuator 28 that connects the first arm 23 and the second arm 24 and rotates the second arm 24 relative to the first arm 23 around a second rotation axis J2.
[0021] The robot 2 also has a first drive mechanism 291 that rotates the spline nut 251 to rotate the spline shaft 253 around the third rotation axis J3, and a second drive mechanism 292 that rotates the ball screw nut 252 to raise and lower the spline shaft 253 in a direction along the third rotation axis J3.
[0022] The first joint actuator 27 has a motor 27A as a first motor, and a reducer, an encoder, etc. (not shown). The second joint actuator 28 has a motor 28A as a second motor, and a reducer, an encoder, etc. (not shown). The first drive mechanism 291 has a motor 291A, and a reducer, an encoder, etc. (not shown). The second drive mechanism 292 has a motor 292A, and a reducer, an encoder, etc. (not shown).
[0023] 2, motor 27A, motor 28A, motor 291A, and motor 292A are each electrically connected to robot control device 8 via a motor driver (not shown). Robot control device 8 controls the energization conditions, i.e., the amount of energization, energization timing, etc., of motor 27A, motor 28A, motor 291A, and motor 292A from a power source (not shown) via each motor driver. This makes it possible to control the operation of robot arm 22 so as to change each arm to a desired posture.
[0024] Each encoder is electrically connected to the robot controller 8. Each encoder detects rotational position information of the corresponding motor and transmits it to the robot controller 8. The robot controller 8 controls the energization conditions for the motors 27A, 28A, 291A, and 292A based on the rotational position information of each motor received from each encoder. By controlling the operation of the robot arm 22 while grasping the rotational positions of the motors 27A, 28A, 291A, and 292A, it is possible to accurately perform a desired operation.
[0025] As shown in FIG. 1, in this embodiment, the robot control device 8 is built into the base 21. However, this is not limiting, and the robot control device 8 may be installed at a position separate from the robot 2. The robot control device 8 has a function of controlling the driving of the robot 2, and is electrically connected to each of the above-mentioned parts of the robot 2. As shown in FIG. 2, the robot control device 8 has a control unit 81, a storage unit 82, and a communication unit 83. These units are connected to each other so as to be able to communicate with each other, for example, via a bus.
[0026] The control unit 81 is composed of, for example, a CPU (Central Processing Unit), and reads out and executes various programs such as operation programs stored in the storage unit 82. Signals generated by the control unit 81 are transmitted to each part of the robot 2 via the communication unit 83, and signals from each part of the robot 2 are received by the control unit 81 via the communication unit 83. This enables the robot arm 22 to perform a predetermined task under predetermined conditions.
[0027] The storage unit 82 stores various programs and the like executed by the control unit 81. Examples of the storage unit 82 include a configuration having a volatile memory such as a RAM (Random Access Memory), a non-volatile memory such as a ROM (Read Only Memory), a removable external storage device, and the like.
[0028] The communication unit 83 transmits and receives signals to and from each part of the robot 2 using an external interface such as a wired LAN (Local Area Network) or a wireless LAN. In this case, communication may be performed via a server (not shown), or via a network such as the Internet.
[0029] Next, the robot simulation device 10 will be described. 1 and 2, the robot simulation device 10 is, for example, a device for simulating the operation of a robot 2 to be executed, and includes a device main body 11 and a display 40. In this embodiment, the robot simulation device 10 is a tablet terminal. However, the robot simulation device 10 is not limited to this configuration, and may be a notebook or desktop personal computer, a teaching pendant, a smartphone, or the like.
[0030] The display 40 is configured as a touch panel, and various operations and inputs related to the simulation conditions and the like are performed by a user (operator) performing desired operations with his / her finger or a touch pen on an operation screen D formed on the entire surface or in a predetermined area of the display 40. That is, the display 40 serves both as a display unit 4A as a display screen and as an operation unit 4B as the operation screen D. When the robot simulation device 10 is a personal computer, the display serves as the display unit 4A, and the keyboard, mouse, etc. serve as the operation unit 4B.
[0031] The device main body 11 is configured as a thin, flat housing, and houses a control unit 91, a storage unit 92, and a communication unit 93, which will be described later.
[0032] A display 40 is provided on one side of the device body 11. The display 40 is made of, for example, liquid crystal, organic EL, or the like, and can display an operation screen in color or monochrome. The touch panel type of the display 40 may be either a pressure-sensitive type or a capacitance type.
[0033] Unlike this embodiment, the display 40 may be installed on an external display device (not shown) attached to the device main body 11, for example, a monitor device.
[0034] The robot simulation device 10 also has a control unit 91, a storage unit 92, and a communication unit 93. These are installed in the device body 11.
[0035] The control unit 91 is composed of at least one processor such as a CPU (Central Processing Unit), and reads out and executes various programs such as a teaching program stored in the storage unit 92. The control unit 91 also has a function of controlling the operation of the display 40. Specifically, the control unit 91 causes a simulation image SG, which will be described later, to be displayed on the display 40, accepts information on an input operation such as by touching a desired position, and executes a simulation.
[0036] The storage unit 92 stores various programs executable by the control unit 91. Examples of the storage unit 92 include a configuration having a volatile memory such as a random access memory (RAM), a non-volatile memory such as a read only memory (ROM), a removable external storage device, etc. The storage unit 92 also stores the program of the present invention for executing the simulation method of the present invention.
[0037] The communication unit 93 transmits and receives signals to and from external devices such as the robot control device 8 using an external interface such as a wired LAN (Local Area Network) or a wireless LAN. In this case, communication may be performed via a server (not shown), or via a network such as the Internet.
[0038] As shown in Figure 3, the simulation image SG displays a virtual robot 2F and a virtual object WF installed in a three-dimensional virtual space G, a first operation unit 4, a second operation unit 5, a viewpoint operation unit 6, and a switching operation unit 7.
[0039] An X-axis, a Y-axis, and a Z-axis, which are mutually orthogonal coordinate systems, are set in the three-dimensional virtual space G. Although the X-axis, the Y-axis, and the Z-axis are illustrated outside the screen of the display 40 in Fig. 3 to Fig. 6, the X-axis, the Y-axis, and the Z-axis may be displayed within the simulation image SG.
[0040] The virtual robot 2F is a three-dimensional image corresponding to the robot 2. The virtual robot 2F displays each part constituting the robot 2 as is, but some parts of the robot 2 may be omitted or exaggerated, and the shape, etc. may be deformed.
[0041] One virtual robot 2F is displayed in the simulation image SG. However, the present invention is not limited to this configuration, and two or more virtual robots 2F may be displayed.
[0042] The virtual robot 2F is fixed in position within the three-dimensional virtual space G. Note that the virtual robot 2F may be configured to be movable within the three-dimensional virtual space G.
[0043] The virtual object WF is a three-dimensional image corresponding to a workpiece on which the robot 2 is to work. The virtual object WF is configured to be movable within the three-dimensional virtual space G by a user's operation. In the robot simulation device 10, the positional relationship between the virtual robot 2F and the virtual object WF is matched to the positional relationship between the robot 2 and the object during actual work, thereby enabling an accurate simulation. Therefore, it is necessary to move the virtual object WF to a desired position within the three-dimensional virtual space G.
[0044] In this embodiment, the virtual object WF is displayed as a cylindrical member in the simulation image SG. However, the virtual object WF is not limited to this configuration, and may have other shapes such as a cone shape, a truncated cone shape, a rectangular parallelepiped shape, or the like, may have the same shape as the actual object, or may be displayed in multiples. In addition, the virtual object WF is not limited to a workpiece, and may be other objects such as an end effector, a tool, a camera, a measuring device, another robot, an obstacle, a worker, or the like, and may be configured to display two or more of these.
[0045] The first operation unit 4 displayed in the simulation image SG serves as an index for moving and operating the virtual object WF within the three-dimensional virtual space G. The first operation unit 4 is displayed together with the virtual object WF, that is, displayed at a position overlapping the virtual object WF.
[0046] The first operation unit 4 has an X-axis operation unit 4X, a Y-axis operation unit 4Y, and a Z-axis operation unit 4Z, which are linear and perpendicular to each other. The X-axis operation unit 4X is a line segment of a predetermined length extending in the X-axis direction. The Y-axis operation unit 4Y is a line segment of a predetermined length extending in the Y-axis direction. The Z-axis operation unit 4Z is a line segment of a predetermined length extending in the Z-axis direction.
[0047] X-axis operation section 4X, Y-axis operation section 4Y, and Z-axis operation section 4Z are arranged so as to intersect with each other at their centers (midpoints).
[0048] The X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z are displayed so as to penetrate the center of the virtual object WF, respectively. However, this is not limited to the configuration, and the X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z may be configured to be displayed shifted in any direction from the virtual object WF.
[0049] In this embodiment, the X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z are each displayed as a single solid line having a predetermined thickness, but the present invention is not limited to this and may be displayed as, for example, two lines or imaginary lines such as dotted lines, wavy lines, and dashed lines. The display of the first operation unit 4 may be displayed at any time, or may be displayed at predetermined time intervals, such as by blinking.
[0050] The colors (hereinafter simply referred to as "colors") displayed on the X-axis operation section 4X, the Y-axis operation section 4Y, and the Z-axis operation section 4Z are not particularly limited, but preferred examples will be described later.
[0051] The user can perform a movement operation to move the virtual object WF together with the first operation unit 4 along the extension direction of the first operation unit 4 by touching with a finger the portion of the operation screen D of the display 40 where the first operation unit 4 is displayed, and then sliding the finger while still in the touched state.
[0052] Specifically, the user can perform a movement operation to move the virtual object WF together with the X-axis operation unit 4X along the X-axis direction by touching the part of the display 40 where the X-axis operation unit 4X is displayed with a finger and then sliding the finger along the extension direction of the X-axis operation unit 4X while still touching the part.
[0053] When the portion where the X-axis operation unit 4X is displayed is touched, the movement of the virtual object WF in any direction other than the X-axis direction is restricted, allowing the user to accurately move the virtual object WF along the X-axis direction.
[0054] It should be noted that a tool such as a touch pen may be used to touch the portion where the first operation unit 4 is displayed. The same applies to the second operation unit 5 described later.
[0055] Furthermore, the user can perform a movement operation to move the virtual object WF along the Y-axis direction together with the Y-axis operation unit 4Y by touching the portion of the operation screen D of the display 40 where the Y-axis operation unit 4Y is displayed with a finger and, while still touching, sliding the finger along the extension direction of the Y-axis operation unit 4Y. When the portion where the Y-axis operation unit 4Y is displayed is touched, the virtual object WF is restricted from moving in any direction other than the Y-axis direction. This allows the user to accurately move the virtual object WF along the Y-axis direction.
[0056] Furthermore, the user can perform a movement operation to move the virtual object WF along the Z-axis direction together with the Z-axis operation unit 4Z by touching the portion of the operation screen D of the display 40 where the Z-axis operation unit 4Z is displayed with a finger and, while still touching, sliding the finger along the extension direction of the Z-axis operation unit 4Z. When the portion where the Z-axis operation unit 4Z is displayed is touched, the virtual object WF is restricted from moving in any direction other than the Z-axis direction. This allows the user to accurately move the virtual object WF along the Z-axis direction.
[0057] Also, as shown in FIG. 4, for example, when the user touches a portion of the operation screen D of the display 40 where the X-axis operation section 4X is displayed, the Y-axis operation section 4Y, the Z-axis operation section 4Z, and the second operation section 5 described later are in a disappeared state. That is, the display of the operation sections other than the selected operation section is in a disappeared state. Here, the "disappeared state" is a concept that includes a completely disappeared state as well as a state in which the brightness, saturation, contrast with the background, etc. of the display are reduced. That is, the "disappeared state" includes a state in which the non-operated portion is less visible than the operated portion. This also applies to the operation of the second operation section 5 described later.
[0058] With the above configuration, the user can more accurately recognize which first operation unit is selected, and can perform the movement operation quickly and accurately. This also applies to the Y-axis operation unit 4Y and the Z-axis operation unit 4Z.
[0059] 3, the second operation unit 5 displayed in the simulation image SG serves as an index for moving and operating the virtual object WF in the three-dimensional virtual space G. The second operation unit 5 is displayed together with the virtual object WF, that is, displayed at a position overlapping the virtual object WF. The second operation unit 5 is planar and configured with a plane having the first operation unit 4 as a normal line.
[0060] The second operation unit 5 has an YZ plane operation unit 5YZ having the X-axis operation unit 4X as its normal line, an XZ plane operation unit 5XZ having the Y-axis operation unit 4Y as its normal line, and an XY plane operation unit 5XY having the Z-axis operation unit 4Z as its normal line. The YZ plane operation unit 5YZ is composed of a plane of a predetermined shape parallel to the YZ plane. The XZ plane operation unit 5XZ is composed of a plane of a predetermined shape parallel to the XZ plane. The XY plane operation unit 5XY is composed of a plane of a predetermined shape parallel to the XY plane. YZ plane operation section 5YZ, XZ plane operation section 5XZ, and XY plane operation section 5XY are disposed so as to intersect with each other at their centers. In this embodiment, the YZ plane operation unit 5YZ, the XZ plane operation unit 5XZ, and the XY plane operation unit 5XY each have a rectangular or square shape when viewed from their normal direction, but are not limited to this and may have any shape, such as a circle, an ellipse, a diamond, or a polygon other than a rectangle.
[0061] The YZ plane operation unit 5YZ, the XZ plane operation unit 5XZ, and the XY plane operation unit 5XY are displayed overlapping the virtual object WF so as to penetrate the center of the virtual object WF. However, this is not limited to the configuration, and the YZ plane operation unit 5YZ, the XZ plane operation unit 5XZ, and the XY plane operation unit 5XY may be configured to be displayed shifted at any distance in any direction from the virtual object WF.
[0062] In this embodiment, the YZ plane operation unit 5YZ, the XZ plane operation unit 5XZ, and the XY plane operation unit 5XY are displayed as whole rectangular or square planes, respectively, to be distinguished from the others, but this is not limiting, and for example, only the edges (contours) or corners of the planes may be displayed with virtual lines such as solid lines, dotted lines, or dashed lines. The display of the second operation unit 5 may be displayed at any time, or may be displayed at a predetermined time interval, such as by blinking.
[0063] The colors (hereinafter simply referred to as "colors") displayed on the YZ plane operation section 5YZ, XZ plane operation section 5XZ, and XY plane operation section 5XY are not particularly limited, but preferred examples will be described later.
[0064] The user can touch with his / her finger the portion of the operation screen D of the display 40 where the second operation unit 5 is displayed, and then slide his / her finger while still touching the portion, thereby performing a movement operation to move the virtual object WF together with the second operation unit 5 along the surface direction of the second operation unit 5, i.e., along the desired direction on the surface.
[0065] Specifically, the user can perform a movement operation to move the virtual object WF along the surface direction of the YZ plane together with the YZ plane operation unit 5YZ by touching the portion of the operation screen D of the display 40 where the YZ plane operation unit 5YZ is displayed with a finger and sliding the finger along the surface direction of the YZ plane operation unit 5YZ while touching. In the state where the portion where the YZ plane operation unit 5YZ is displayed is touched, the movement of the virtual object WF in a direction other than the surface direction of the YZ plane, for example, in a direction forming an angle of 30° with respect to the YZ plane, is restricted. This allows the user to accurately move the virtual object WF along the surface direction of the YZ plane with a simple operation.
[0066] In addition, the user can perform a movement operation to move the virtual object WF along the surface direction of the XZ plane together with the XZ plane operation unit 5XZ by touching the portion of the operation screen D of the display 40 where the XZ plane operation unit 5XZ is displayed with a finger and sliding the finger along the surface direction of the XZ plane operation unit 5XZ while touching. In the state where the portion where the XZ plane operation unit 5XZ is displayed is touched, the movement of the virtual object WF in a direction other than the surface direction of the XZ plane is restricted. This allows the user to accurately move the virtual object WF along the surface direction of the XZ plane with a simple operation.
[0067] Furthermore, the user can perform a movement operation to move the virtual object WF along the surface direction of the XY plane together with the XY plane operation unit 5XY by touching the portion of the operation screen D of the display 40 on which the XY plane operation unit 5XY is displayed with a finger and sliding the finger along the surface direction of the XY plane operation unit 5XY while still touching. In the state in which the portion on which the XY plane operation unit 5XY is displayed is touched, the movement of the virtual object WF in a direction other than the surface direction of the XY plane is restricted. This allows the user to accurately move the virtual object WF along the surface direction of the XY plane with a simple operation.
[0068] Also, as shown in FIG. 5, for example, when the user touches with his / her finger a portion of the operation screen D of the display 40 where the XY plane operation section 5XY is displayed, the first operation section 4, the XZ plane operation section 5XZ, and the YZ plane operation section 5YZ disappear. That is, the display of the operation sections other than the selected operation section disappears. With this configuration, the user can more accurately recognize which second operation section 5 is selected, and can perform the movement operation quickly and accurately. This also applies to the XZ plane operation section 5XZ and the YZ plane operation section 5YZ.
[0069] By displaying the first operation unit 4 and the second operation unit 5 together with the virtual object WF, the following advantages can be obtained.
[0070] (Advantage 1) Before performing a movement operation, it becomes easy to grasp the position of the virtual object WF (its relative position with respect to the virtual robot 2F and its absolute position in the three-dimensional virtual space G), and the movement operation can be started quickly. In other words, since the position of the virtual object WF in the X-axis direction, the Y-axis direction, and the Z-axis direction can be intuitively and immediately grasped, it is possible to immediately grasp in which direction and how far the virtual object WF needs to be moved and to proceed to the movement operation.
[0071] (Advantage 2) During the movement operation, the virtual object WF can be moved accurately in the desired direction by selecting the operation part along the direction in which the virtual object WF is to be moved from the first operation part 4 or the second operation part 5. Since the first operation part 4 is linear, the direction in which the virtual object WF is to be moved can be easily and accurately specified. Furthermore, since the second operation part 5 is a plane having the first operation part 4 as a normal line, the virtual object WF can be moved in all directions, i.e., all positions, by sequentially selecting either the first operation part 4 or the second operation part 5 once or multiple times and performing the movement operation. As a result, the virtual object WF can be accurately placed in the desired position with a simple operation.
[0072] In this way, after placing the virtual object WF at a desired position, an accurate simulation can be performed by pressing a simulation start button (not shown). As described above, the robot simulation device 10 can easily, accurately, and quickly perform a simulation.
[0073] As described above, the robot simulation device 10 includes a display unit 4A that displays a virtual robot 2F and a virtual object WF placed in a three-dimensional virtual space G, a linear first operation unit 4 (e.g., X-axis operation unit 4X) that is displayed together with the virtual object WF and extends in the axial direction of a first axis (e.g., the X-axis) set in the three-dimensional virtual space G, and a second operation unit 5 that is displayed together with the virtual object WF and is set in the three-dimensional virtual space G and is a first plane (e.g., YZ plane) with the X-axis as its normal line, and an operation unit 4B that performs a movement operation to move the first operation unit 4 (e.g., X-axis operation unit 4X) or the second operation unit 5 (e.g., YZ plane operation unit 5YZ) within the three-dimensional virtual space G. In addition, by using the operation unit 4B to move the first operation unit 4 (for example, the X-axis operation unit 4X), the virtual object WF moves along the X-axis direction together with the first operation unit 4 (for example, the X-axis operation unit 4X), and by using the operation unit 4B to move the second operation unit 5 (for example, the YZ plane operation unit 5YZ), the virtual object WF moves along the surface direction of the first plane (for example, the YZ plane) together with the second operation unit 5 (for example, the YZ plane operation unit 5YZ). This makes it possible to easily, accurately, and quickly grasp the position of the virtual object WF and to easily, accurately, and quickly perform the movement operation. Therefore, the simulation can be easily, accurately, and quickly performed.
[0074] In the above, we have described a case where the display unit 4A displays the X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z as the first operation unit 4, and the YZ plane operation unit 5YZ, the XZ plane operation unit 5XZ, and the XY plane operation unit 5XY as the second operation unit 5. However, the present invention is not limited to this, and the display unit 4A may be configured to display at least one of the sets of the X-axis operation unit 4X and the YZ plane operation unit 5YZ, the Y-axis operation unit 4Y and the XZ plane operation unit 5XZ, and the Z-axis operation unit 4Z and the XY plane operation unit 5XY. Even with these configurations, the effects of the present invention described above can be obtained.
[0075] In addition, the display unit 4A displays the first operation unit 4 and the second operation unit 5 so that they overlap with the virtual object WF. This makes it possible to grasp the position of the virtual object WF and to perform a moving operation more easily, accurately, and quickly.
[0076] The display unit 4A may be configured to display the first operation unit 4 and the second operation unit 5 at an arbitrary distance in an arbitrary direction from the virtual object WF so that they do not overlap with the virtual object WF.
[0077] The first operation unit 4 has an X-axis operation unit 4X, a Y-axis operation unit 4Y, and a Z-axis operation unit 4Z, which are linear and perpendicular to each other, and the second operation unit 5 has an YZ plane operation unit 5YZ, which has the X-axis operation unit 4X as its normal line, an XZ plane operation unit 5XZ, which has the Y-axis operation unit 4Y as its normal line, and an XY plane operation unit 5XY, which has the Z-axis operation unit 4Z as its normal line. This allows the X-axis operation unit 4X, the Y-axis operation unit 4Y, the Z-axis operation unit 4Z, the YZ plane operation unit 5YZ, the XZ plane operation unit 5XZ, and the XY plane operation unit 5XY to be selected and operated according to the direction in which the virtual object WF is to be moved. This allows the virtual object WF to be moved more easily, accurately, and quickly.
[0078] In addition, the X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z are displayed in different colors, the YZ plane operation unit 5YZ is displayed in the same color as the X-axis operation unit 4X, the XZ plane operation unit 5XZ is displayed in the same color as the Y-axis operation unit 4Y, and the XY plane operation unit 5XY is displayed in the same color as the Z-axis operation unit 4Z. This makes it easy and accurate to know which operation units are paired, i.e., which ones correspond, among the X-axis operation unit 4X, the Y-axis operation unit 4Y, the Z-axis operation unit 4Z, the YZ plane operation unit 5YZ, the XZ plane operation unit 5XZ, and the XY plane operation unit 5XY. Therefore, the movement operation of the virtual object WF can be performed more easily, accurately, and quickly.
[0079] The X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z may be displayed in the same color. In this case, the YZ plane operation unit 5YZ, the XZ plane operation unit 5XZ, and the XY plane operation unit 5XY may be the same color as the X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z, or may be a different color.
[0080] When the X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z are displayed in the same color (hue), for example red, the brightness, saturation, contrast with the background, etc. of the color may be the same or different, but from the viewpoint of ease of understanding the display, it is preferable that they are different from each other.
[0081] Additionally, the X-axis operation section 4X, the Y-axis operation section 4Y, and the Z-axis operation section 4Z are displayed with lines of the same thickness, although this is not limited to the configuration and they may be displayed with lines of different thicknesses.
[0082] Also, the X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z may have the same or different line patterns. In the latter case, for example, any one of the X-axis operation unit 4X, the Y-axis operation unit 4Y, and the Z-axis operation unit 4Z may be displayed with a solid line, and the other one or two may be displayed with a virtual line such as a double line, a dotted line, a wavy line, or a dashed line.
[0083] As shown in FIG. 3, the viewpoint operation unit 6 is displayed at the lower left of the simulation image SG. The viewpoint operation unit 6 is used to change the viewpoint of the simulation image SG. In this embodiment, the viewpoint operation unit 6 is configured as a perspective view of a cube, and three of the six faces of the cube are visible. When one of the visible faces of the viewpoint operation unit 6 is touched with a finger on the operation screen D of the display 40, the angle can be changed to a view from a direction normal to the touched face. For example, when the upper face 61 is touched, the viewpoint of the simulation image SG can be changed to a view from a normal direction of the face 61, as shown in FIG. 6.
[0084] By performing such an operation to change the viewpoint, it is possible to change the viewpoint to one more suitable for grasping the shape of the virtual object WF, grasping the positional relationship with the virtual robot 2F, or for moving the virtual object WF. Therefore, the movement operation of the virtual object WF can be performed more easily, accurately, and quickly. The display position of the viewpoint operation unit 6 in the simulation image SG is not limited to the configuration shown in the figure. Also, the viewpoint operation unit 6 is not limited to being displayed at all times in the simulation image SG, and can be configured to be displayed only when necessary, for example, by operating the operation unit 4B as desired.
[0085] In this way, the display unit 4A displays the viewpoint operation unit 6 for performing an operation to change the viewpoint, and the viewpoint of the display unit 4A is changed by operating the viewpoint operation unit 6 using the operation unit 4B. This makes it possible to move the virtual object WF more easily, accurately, and quickly.
[0086] As shown in Fig. 3, a switching operation unit 7 is displayed in the lower left of the simulation image SG. The switching operation unit 7 performs a switching operation to switch between perspective projection and parallel projection as a display method (display form) of the simulation image SG. Perspective projection is a mode in which close objects are displayed large and distant objects are displayed small. In other words, perspective projection is a mode to which the law of perspective is applied. Parallel projection is a mode in which both close and distant objects are displayed in their actual size.
[0087] In this embodiment, the switching operation unit 7 is configured with a check box located to the left of the check box labeled "Parallel Projection." When a portion of the operation screen D of the display 40 corresponding to the check box is touched with a finger, the check box is checked, and the simulation image SG is displayed in parallel projection. On the other hand, when the portion corresponding to the check box is touched with a finger while the check box is checked, the check is removed, and the simulation image SG is displayed in perspective projection.
[0088] When perspective projection is selected, it is easy to grasp the positional relationship between the virtual robot 2F and the virtual object WF in the simulation image SG, particularly the sense of distance in the depth direction. On the other hand, when parallel projection is selected, it is easy to compare and grasp the sizes of the displayed objects, regardless of the distance in the depth direction.
[0089] The display position of the switching operation unit 7 in the simulation image SG is not limited to the configuration shown in the figure. Also, the switching operation unit 7 is not limited to being displayed at all times in the simulation image SG, and can be configured to be displayed only when necessary, for example, by operating the operation unit 4B as desired.
[0090] In this way, the display unit 4A displays the switching operation unit 7 for performing a switching operation to switch between perspective projection and parallel projection, and the operation unit 4B is used to switch between perspective projection and parallel projection by operating the switching operation unit 7. This makes it possible to accurately grasp the size of the virtual object WF and the positional relationship of the virtual object WF with the virtual robot 2F, and to perform the movement operation of the virtual object WF more easily, accurately, and quickly.
[0091] As shown in Fig. 7, the simulation image SG can be displayed together with the teaching image. The simulation image SG is displayed together with the teaching information input screen TG. The teaching information input screen TG and the simulation image SG are arranged side by side in this order from the top of Fig. 7.
[0092] Also, for example, when the robot simulation device 10 is a personal computer, the simulation image SG is displayed in a window W as shown in Fig. 8. In this case, although not shown, the operation unit 4B has a keyboard and a mouse. In this case, the selection and movement operations of the first operation unit 4 or the second operation unit 5 can be performed by clicking and dragging the mouse.
[0093] Next, an example of a simulation method of the present invention will be described with reference to the flow chart shown in FIG.
[0094] First, in step S101, a simulation image SG is displayed on the display 40. The simulation image SG displays a virtual robot 2F and a virtual object WF installed in a three-dimensional virtual space G, a first operation unit 4, and a second operation unit 5. In addition, a viewpoint operation unit 6 and a switching operation unit 7 are displayed as necessary.
[0095] Next, in step S102, a movement operation is performed to move the first operation unit 4 or the second operation unit 5 within the three-dimensional virtual space G. That is, the virtual object WF is moved together with the first operation unit 4 or the second operation unit 5 within the three-dimensional virtual space G based on an operation performed by the user on the display 40 as the operation unit 4B.
[0096] At this time, the position of the virtual object WF in the X-axis direction, the Y-axis direction, and the Z-axis direction can be intuitively and instantly grasped, so that it is possible to immediately grasp in which direction and how far the virtual object WF needs to be moved and proceed to the movement operation.
[0097] Since the first operation unit 4 is linear, the direction of movement can be easily and accurately specified. Moreover, since the second operation unit 5 is planar, the direction of movement can be easily and accurately specified. Furthermore, since the second operation unit 5 is a surface normal to the first operation unit 4, the virtual object WF can be moved in all directions by sequentially selecting and moving either the first operation unit 4 or the second operation unit 5 once or multiple times. As a result, the virtual object WF can be accurately placed in a desired position with a simple operation.
[0098] Next, in step S103, a simulation is executed. That is, when the user presses a simulation execution button (not shown), a simulation is executed at the position to which the virtual object WF has been moved in step S102.
[0099] Thus, the simulation method of the present invention includes a first step of displaying a virtual robot 2F and a virtual object WF placed in a three-dimensional virtual space G, a linear first operation unit 4 (e.g., X-axis operation unit 4X) displayed together with the virtual object WF and extending in the axial direction of a first axis (e.g., the X-axis) set in the three-dimensional virtual space G, and a second operation unit 5 displayed together with the virtual object WF, set in the three-dimensional virtual space G, and being a first plane (e.g., YZ plane) with the X-axis as its normal line, and a second step of performing a movement operation to move the first operation unit 4 (e.g., X-axis operation unit 4X) or the second operation unit 5 (e.g., YZ plane operation unit 5YZ) within the three-dimensional virtual space G. In the second step, the virtual object WF moves along the X-axis direction together with the first operation unit 4 (for example, the X-axis operation unit 4X) by moving the first operation unit 4 (for example, the X-axis operation unit 4X) using the operation unit 4B, and the virtual object WF moves along the surface direction of the first plane (for example, the YZ plane) together with the second operation unit 5 (for example, the YZ plane operation unit 5YZ) by moving the second operation unit 5 (for example, the YZ plane operation unit 5YZ) using the operation unit 4B. This allows the position of the virtual object WF to be grasped and the movement operation to be performed accurately and quickly. Therefore, the simulation can be performed easily, accurately, and quickly.
[0100] In addition, the program of the present invention is for executing a first step of displaying a virtual robot 2F and a virtual object WF placed in a three-dimensional virtual space G, a linear first operation unit 4 (e.g., X-axis operation unit 4X) that is displayed together with the virtual object WF and extends in the axial direction of a first axis (e.g., the X-axis) set in the three-dimensional virtual space G, and a second operation unit 5 that is displayed together with the virtual object WF, is set in the three-dimensional virtual space G, and is a first plane (e.g., the YZ plane) with the X-axis as its normal line, and a second step of performing a movement operation to move the first operation unit 4 (e.g., the X-axis operation unit 4X) or the second operation unit 5 (e.g., the YZ plane operation unit 5YZ) within the three-dimensional virtual space G. In the second step, the virtual object WF moves along the X-axis direction together with the first operation unit 4 (for example, the X-axis operation unit 4X) by moving the first operation unit 4 (for example, the X-axis operation unit 4X) using the operation unit 4B, and the virtual object WF moves along the surface direction of the first plane (for example, the YZ plane) together with the second operation unit 5 (for example, the YZ plane operation unit 5YZ) by moving the second operation unit 5 (for example, the YZ plane operation unit 5YZ) using the operation unit 4B. By executing such a program, the position of the virtual object WF can be grasped and the movement operation can be performed accurately and quickly. Therefore, the simulation can be performed easily, accurately, and quickly.
[0101] In this embodiment, the program of the present invention is stored in the storage unit 92, but the present invention is not limited to this and may be stored in other storage devices, storage media, etc. Also, the program of the present invention may be stored separately in two or more storage devices, storage media, etc. Also, all or a part of the program of the present invention may be stored on a cloud.
[0102] Although the robot simulation device, simulation method, and program of the present invention have been described above with reference to the illustrated embodiments, the present invention is not limited to these. Furthermore, each part and each step of the robot simulation device, simulation method, and program can be replaced with any structure or step that can exert a similar function. Furthermore, any structure or step may be added. [Explanation of symbols]
[0103] 1...robot system, 2...robot, 2F...virtual robot, 4...first operation unit, 4A...display unit, 4B...operation unit, 4X...X-axis operation unit, 4Y...Y-axis operation unit, 4Z...Z-axis operation unit, 5...second operation unit, 5XY...XY plane operation unit, 5XZ...XZ plane operation unit, 5YZ...YZ plane operation unit, 6...viewpoint operation unit, 7...switching operation unit, 8...robot control device, 10...robot simulation device, 11...device main body, 21...base, 22...robot arm, 23...first arm, 24...second arm, 25...work head, 26...end effector, 27...first joint actuator, 27A...model motor, 28...second joint actuator, 28A...motor, 40...display, 61...surface, 81...control unit, 82...storage unit, 83...communication unit, 91...control unit, 92...storage unit, 93...communication unit, 251...spline nut, 252...ball screw nut, 253...spline shaft, 291...first drive mechanism, 291A...motor, 292...second drive mechanism, 292A...motor, D...operation screen, G...three-dimensional virtual space, J1...first rotation axis, J2...second rotation axis, J3...third rotation axis, SG...simulation image, TG...teaching information input screen, W...window, WF...virtual object
Claims
1. a display unit that displays a virtual robot and a virtual object placed in a three-dimensional virtual space, a first operation unit that is displayed together with the virtual object and is linear and extends in the axial direction of a first axis set in the three-dimensional virtual space, and a second operation unit that is displayed together with the virtual object and is set in the three-dimensional virtual space and is a first plane having the first axis as a normal line; an operation unit that performs a movement operation to move the first operation unit or the second operation unit within the three-dimensional virtual space, By operating the first operation unit to move using the operation unit, the virtual object moves along the first axis together with the first operation unit, A robot simulation device, characterized in that, by using the operation unit to move and operate the second operation unit, the virtual object moves along the surface direction of the first plane together with the second operation unit.
2. The robot simulation device according to claim 1 , wherein the display unit displays the first operation unit and the second operation unit so as to overlap the virtual object.
3. The first operation unit has an X-axis operation unit, a Y-axis operation unit, and a Z-axis operation unit that are linearly perpendicular to each other, 3. The robot simulation device according to claim 1, wherein the second operation unit has a Y-Z plane operation unit having a normal line aligned with the X-axis operation unit, an X-Z plane operation unit having a normal line aligned with the Y-axis operation unit, and an X-Y plane operation unit having a normal line aligned with the Z-axis operation unit.
4. the X-axis operation unit, the Y-axis operation unit, and the Z-axis operation unit are displayed in different colors; The YZ plane operation section is displayed in the same color as the X-axis operation section, The XZ plane operation section is displayed in the same color as the Y axis operation section, 4. The robot simulation device according to claim 3, wherein the XY plane operation section is displayed in the same color as the Z axis operation section.
5. the display unit displays a viewpoint operation unit for performing an operation to change a viewpoint, 3. The robot simulation device according to claim 1, wherein the viewpoint on the display unit is changed by operating the viewpoint operating unit using the operating unit.
6. the display unit displays a switching operation unit for switching between perspective projection and parallel projection; 3. The robot simulation device according to claim 1, wherein the operation unit is used to operate the switching operation unit to switch between perspective projection and parallel projection.
7. a first step of displaying a virtual robot and a virtual object placed in a three-dimensional virtual space, a first operation unit that is displayed together with the virtual object and is linear and extends in the axial direction of a first axis set in the three-dimensional virtual space, and a second operation unit that is displayed together with the virtual object, is set in the three-dimensional virtual space, and is a first plane having the first axis as a normal line; a second step of performing a movement operation of moving the first operation unit or the second operation unit in the three-dimensional virtual space, a simulation method characterized in that in the second step, the first operation unit is moved and operated using the operation unit, thereby causing the virtual object to move along the first axial direction together with the first operation unit, and the second operation unit is moved and operated using the operation unit, thereby causing the virtual object to move along the surface direction of the first plane together with the second operation unit.
8. a first step of displaying a virtual robot and a virtual object placed in a three-dimensional virtual space, a first operation unit that is displayed together with the virtual object and is linear and extends in the axial direction of a first axis set in the three-dimensional virtual space, and a second operation unit that is displayed together with the virtual object, is set in the three-dimensional virtual space, and is a first plane having the first axis as a normal line; a second step of performing a moving operation of moving the first operating unit or the second operating unit in the three-dimensional virtual space, In the second step, a program is provided in which the first operation unit is moved using the operation unit, thereby causing the virtual object to move along the first axial direction together with the first operation unit, and the second operation unit is moved using the operation unit, thereby causing the virtual object to move along the surface direction of the first plane together with the second operation unit.
Citation Information
Patent Citations
Universal design pendant
JP2021126760A