Robot programming device
By configuring a robot system model and generating a 3D grid in virtual space, selecting grid points and setting their postures, and generating teaching points, the problem of low robot programming efficiency in existing technologies is solved, achieving simplified operation and efficient programming.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2023-11-10
- Publication Date
- 2026-05-26
AI Technical Summary
Existing robot programming methods require fine-tuning of the position and posture of the robot or robot model. The more teaching points there are, the more time is required, and the lower the efficiency of operators teaching action programs.
By using a robot programming device, a three-dimensional grid is generated by configuring a robot system model in a virtual space. Teaching points are generated by the user selecting grid points and setting postures, simplifying the operation process.
It improves the ease of operation and efficiency of robot programming, reduces teaching time, and achieves a more efficient programming process.
Smart Images

Figure CN122094801A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a robot programming device. Background Technology
[0002] As a method for teaching motion programs to a robot, there are known methods in which an operator manipulates a physical robot by using jog operations on a teaching pendant, adjusting its position and orientation while specifying teaching points one by one; or, an operator manipulates a robot model on a robot programming device by using jog operations, adjusting its position and orientation while specifying teaching points one by one. Patent Documents 1 and 2 describe examples of methods for generating motion programs for a robot on an offline programming device.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2020-175471
[0006] Patent Document 2: Japanese Patent Application Publication No. 5-224733 Summary of the Invention
[0007] The problem that the invention aims to solve
[0008] Existing methods, such as manipulating robots or robot models through point operations, adjusting their position and orientation while specifying each teach point, require fine-tuning of the robot's or robot model's position and orientation. The more teach points in the motion program, the more time is required for teaching. The desired technology simplifies the operator's process of teaching robot motion programs, enabling more efficient robot programming.
[0009] Methods for solving problems
[0010] One aspect of this disclosure is a robot programming apparatus comprising: a model configuration unit that configures a robot system model including a robot model in a virtual space; a grid configuration unit that configures a three-dimensional grid in the virtual space; a grid point selection unit that selects grid points within the three-dimensional grid according to user operation; an attitude setting unit that sets the attitude of the robot model at the selected grid point; and a teach point generation unit that generates teach points constituting an action program based on the selected grid point and the attitude of the robot model set for that grid point.
[0011] These objects, features, and advantages of the invention will become more apparent from the detailed description of typical embodiments of the invention shown in the accompanying drawings. Attached Figure Description
[0012] Figure 1 This is a diagram illustrating an example of a robot programming device according to one embodiment.
[0013] Figure 2 This is a functional block diagram of a robot programming device.
[0014] Figure 3 It is a flowchart representing the process of program creation.
[0015] Figure 4 This is a diagram representing the state of a robot model configured in a virtual space.
[0016] Figure 5 This is a diagram representing the first example of a three-dimensional grid generated and configured in virtual space by the grid configuration department.
[0017] Figure 6 This is a diagram representing a second example of a three-dimensional grid generated and configured in virtual space by the grid configuration department.
[0018] Figure 7 It is a diagram showing the operator's actions on the control unit to select grid points within a three-dimensional grid.
[0019] Figure 8 This is a diagram showing how the robot model's posture is adjusted through user interaction.
[0020] Figure 9 It is a diagram that represents the state of the robot model at the selected grid point by the user, and sets the pose of the robot model at the selected grid point.
[0021] Figure 10 It is a diagram that shows the situation where five teaching points are generated in a three-dimensional grid, and the motion program of the robot model's path is generated through these teaching points.
[0022] Figure 11 This is a diagram showing an example of a user interface used to specify the extent of a three-dimensional grid, the grid point spacing, and the reference position. Detailed Implementation
[0023] Next, embodiments of the present disclosure will be described with reference to the accompanying drawings. In the referenced drawings, the same structural or functional parts are labeled with the same reference numerals. For ease of understanding, the scale of these drawings has been appropriately altered. Furthermore, the embodiments shown in the drawings are examples for carrying out the invention, and the invention is not limited to the illustrated embodiments.
[0024] Figure 1 This is a diagram illustrating an example of a robot programming device 10 according to one embodiment. Figure 2This is a functional block diagram of the robot programming device 10. The robot programming device 10 can be composed of various information processing devices such as personal computers, laptops, and tablet terminals. The robot programming device 10 provides the following functions: configuring a robot system model containing a robot model in a virtual space to simulate the robot's actions and perform programming.
[0025] like Figure 1 As shown, the robot programming device 10 includes: a display unit 12 for displaying various images related to programming, and an operation unit 13 for providing various operation inputs to the operator. The display unit 12 includes, for example, a liquid crystal display (LCD). The operation unit 13 includes, for example, an input device such as a keyboard, mouse, or touchpad. A three-dimensional model of the robot, etc., is stored in a storage unit 14. Figure 2 The robot programming device 10 may have a general computer structure, including a memory (ROM, RAM, non-volatile memory, etc.), a display unit 12, an operation unit 13, a storage unit 14, a network interface, and various input / output interfaces connected to the processor 11.
[0026] like Figure 2 As shown, the robot programming device 10 includes: a virtual space creation unit 111, a model configuration unit 112, a grid configuration unit 113, a grid spacing setting unit 114, a grid range setting unit 115, a grid point selection unit 116, a posture setting unit 117, a teach point generation unit 118, and a simulation execution unit 119. These functional blocks can be implemented by executing software through the processor 11.
[0027] The robot programming device 10 includes a storage unit 14. The storage unit 14 may be configured as a storage device such as a non-volatile memory or an HDD. The storage unit 14 stores three-dimensional models or configuration information of each object constituting the robot system model, as well as various setting information required for simulation and programming.
[0028] The virtual space creation unit 111 generates a virtual space for arranging three-dimensional models of various objects constituting the robot system model within the memory space of the robot programming device 10. A three-dimensional image of the robot system model arranged in the virtual space is displayed on the display unit 12.
[0029] The model configuration unit 112 provides the following function: based on the configuration information of various objects constituting the robot system model, it configures the three-dimensional models of various objects constituting the robot system model containing the robot in the virtual space.
[0030] The grid configuration unit 113 provides the following function: generating and configuring a grid with three-dimensional extension (hereinafter also referred to as a three-dimensional grid) in a virtual space. The grid configuration unit 113 may have the function of automatically generating a three-dimensional grid, or it may have the function of generating a three-dimensional grid based on information specified by external input or user operation. As described later, the three-dimensional grid is used to improve operability in scenarios where the operator teaches the robot model its position / posture (motion program).
[0031] The grid spacing setting unit 114 has the function of setting the grid spacing of the three-dimensional grid generated by the grid configuration unit 113. The grid spacing setting unit 114 may have the function of automatically setting the grid spacing, or it may be configured to receive the grid spacing specified by external input or user operation.
[0032] The grid range setting unit 115 provides a function for setting the spatial range of a three-dimensional grid. The grid range setting unit 115 may have the function of automatically setting the spatial range of a three-dimensional grid based on specified information. Alternatively, the grid range setting unit 115 may be configured to receive the spatial range of a three-dimensional grid specified by external input or user operation. The parameters used to specify the spatial range may include at least one of position, size, shape, and vertex position. For example, when the three-dimensional grid has a cuboid shape, the spatial range of the three-dimensional grid can be determined by information indicating the position and size of the three-dimensional grid.
[0033] The grid point selection unit 116 provides the function of selecting grid points within a three-dimensional grid. The grid point selection unit 116 may have the function of selecting grid points through external input or user operation.
[0034] The attitude setting unit 117 provides the function of setting the attitude of the robot model. The attitude setting unit 117 may be configured to receive user operations for specifying the attitude of the robot model at selected grid points, or it may have the function of automatically setting the attitude of the robot model at selected grid points.
[0035] The teach point generation unit 118 provides the following function: based on the selected grid point and the posture of the robot model set for that grid point, it generates teach points that constitute the robot's motion program.
[0036] The simulation execution unit 119 provides the function of simulating the robot system model. In the simulation, in addition to simulating the actions of the three-dimensional models of each device containing the robot model on the display screen (virtual space), it also includes performing numerical calculations of the position or orientation of the robot model and the models of other devices.
[0037] Figure 3This is a flowchart illustrating the process of creating motion programs for the robot in the robot programming device 10 (program creation process). This program creation process is executed under the control of the CPU 11.
[0038] When the program creation process is started by the operator performing the prescribed operation, firstly, the model configuration unit 112 configures the robot system model with the robot model in the virtual space created by the virtual space creation unit 111 (step S1).
[0039] Figure 4 This indicates a situation where robot model 30M, constituting robot system model 100M, is configured within a virtual workspace. Furthermore, other objects constituting robot system model 100M (worktable, conveying device, machine tool, workpiece, pallet, etc.) can also be configured in the virtual space. Tool model 31M is configured on the flange at the front end of the wrist of robot model 30M. Figure 4 The tool tip point T is indicated in the figure. The robot system model 100M, which includes the robot model 30M configured in virtual space, is displayed on the display unit 12 of the robot programming device 10. In addition, an example of using a vertical joint robot model as the robot model 30M is illustrated here, but other types of robot models such as horizontal joint robots, parallel linkage robots, and dual-arm robots can also be used depending on the task.
[0040] Next, the grid configuration unit 113 configures a three-dimensional grid in the virtual space (step S2). Figure 5 This represents the first example of a three-dimensional grid generated and configured in virtual space by the grid configuration unit 113. In this example, the three-dimensional grid 50 consists of equally spaced cubes, and has an overall cuboid shape. The three-dimensional grid 50 in this example is configured with the origin of the robot coordinate system C1 as a reference. The robot coordinate system C1 is a coordinate system set at the base of the robot model 30M. Parameters (position, size, shape, etc.) used to define the spatial extent of the three-dimensional grid 50 can be specified based on the robot coordinate system C1.
[0041] The grid configuration unit 113 can configure three-dimensional grids 50 at specified positions with the origin of the robot coordinate system C1 as a reference. Figure 5 In the example shown, the 3D grid 50 is set to have a grid point on one side of its bottom surface aligned with the origin of the robot coordinate system C1. Its vertical, horizontal, and height directions are parallel to the three coordinate axes (X-axis, Y-axis, and Z-axis) of the robot coordinate system C1, and it is positioned in front of the robot model 30M. Furthermore, for reference, in Figure 5 The circle in the lower right corner indicates the direction of the coordinate axes (X-axis, Y-axis, Z-axis) of the robot coordinate system C1.
[0042] The three-dimensional grid 50 with these specifications can be automatically generated by the grid configuration unit 113. At this time, the spatial range of the three-dimensional grid 50 can be automatically set by the grid range setting unit 115, for example, based on information indicating the movable range of the robot model 30M, to a spatial range that is consistent with or covers the movable range. The grid point spacing of the three-dimensional grid 50 can be automatically set by the grid spacing setting unit 114, for example, based on information indicating the work content (including work objectives, etc.) of the robot model, to a value that ensures accuracy corresponding to the work content of the robot model. For example, it is possible to set a larger grid point spacing when the work content (workpiece transfer, etc.) involves a large movement of the robot model within its movable range, and a smaller grid point spacing when the robot model's movement involves a small work content (work on a worktable). As another example, the grid spacing setting unit 114 can also set a larger grid point spacing value based on the size of the three-dimensional grid, with a larger grid point spacing value for larger three-dimensional grids.
[0043] Thus, the grid point spacing of the three-dimensional grid 50 can be set to a value based on information representing the work content or the size of the three-dimensional grid. As an example, assuming the robot model 30M performs a large-scale operation such as moving a workpiece model like a cardboard box, the following example illustrates this: dividing the ground within the work space... Figure 5 With the grid as shown and the grid spacing d set to 1000mm, the grid point spacing k1 of the three-dimensional grid 50 is set to 250mm.
[0044] Figure 6 This represents a second example of a three-dimensional grid generated and configured in virtual space by the grid configuration unit 113. The three-dimensional grid 52 in this example is configured with the tool tip point T as a reference. The three-dimensional grid 52 in this example consists of equally spaced cubes and has an overall cuboid shape. A tool coordinate system C2 is set at the tool tip point T, with this point as its origin. The tool coordinate system C2 is a coordinate system whose origin coincides with the tool tip point T, and whose Z-axis direction coincides with the extension direction of the front end of the tool model 31M. Furthermore, for reference, in Figure 6 The circle in the lower left corner indicates that the robot model 30M is located in... Figure 6 The basic posture state is the direction of the coordinate axes (X-axis, Y-axis, Z-axis) of the tool coordinate system C2.
[0045] The grid configuration unit 113 can configure a three-dimensional grid 52 at a specified position based on the tool tip point T. Figure 6In the example shown, the three-dimensional grid 52 is defined as follows: a grid point near the center of its upper surface coincides with the tool tip point T; its vertical, horizontal, and height directions are parallel to the directions of the three coordinate axes (X-axis, Y-axis, and Z-axis) of the robot coordinate system C1, respectively; and it is positioned in the space extending from the front end of the tool model 31M. The three-dimensional grid 52 is suitable for scenarios where the tool model 31M performs operations in the area in front of the robot model 30M.
[0046] The three-dimensional grid 52 with these specifications can be automatically generated by the grid configuration unit 113. At this time, the spatial range of the three-dimensional grid 52 can be automatically set by the grid range setting unit 115 based on information indicating the work content (including the work objective). Furthermore, the grid point spacing of the three-dimensional grid 52 can also be automatically set by the grid spacing setting unit 114 based on information indicating the work content. For example, when the work content of the robot model 30M is "assembling a workpiece on a workbench," the spatial range of the three-dimensional grid can be set to cover the area on its workbench. Alternatively, when the work content of the robot model 30M is a high-precision operation such as "setting a workpiece in the workpiece machining position within the machine tool model," the spatial range of the three-dimensional grid can be generated in a manner suitable for the internal space of the machine tool model, and the grid point spacing of the three-dimensional grid can be set to a finer, more precise interval. Thus, when the work content indicates a precision operation, the grid point spacing can be set to a finer interval.
[0047] Thus, the grid point spacing k2 of the three-dimensional grid 52 can be set to a value corresponding to the task content. However, as an example, assuming the robot model 30M is retrieving a workpiece from a pallet, the following example can be given: The ground within the work space is divided... Figure 6 With the grid as shown and the grid spacing d set to 1000mm, the grid point spacing k2 of the three-dimensional grid 52 is set to 100mm.
[0048] The robot programming device 10 also provides the following functions: generating a three-dimensional grid based on information specified by the user, or adjusting the spatial range and grid point spacing of the automatically generated three-dimensional grid through user operation. Specifically, the grid range setting unit 115 can receive user operation to specify the spatial range of the three-dimensional grid. For example, in the case of a cuboid three-dimensional grid, the spatial range of the three-dimensional grid can be specified by defining the three-dimensional position coordinates of a specific part of the three-dimensional grid in the coordinate system and the dimensions in the X, Y, and Z axes. Alternatively, in the case of a polyhedral three-dimensional grid, the spatial range of the three-dimensional grid can be specified by defining the three-dimensional position coordinates of each vertex of the three-dimensional grid in the coordinate system. The grid point spacing can be specified, for example, in mm. The grid configuration unit 113 can generate and configure the three-dimensional grid based on the information specified by the operator.
[0049] The grid configuration unit 113 can be configured to receive user operations for specifying reference positions for configuring a three-dimensional grid (e.g., the origin of the robot coordinate system C1, the tool tip point T, etc., as described above). In this case, the grid configuration unit 113 can, based on the reference positions specified by the operator, configure the grid in... Figure 5 or Figure 6 The example specifies the location for configuring a three-dimensional grid.
[0050] In this way, the operator can specify the spatial extent, grid point spacing, and / or reference position of the three-dimensional grid, and generate and configure the three-dimensional grid with the desired spatial extent, grid point spacing, and / or reference position according to the job content.
[0051] Figure 11 This illustrates an example of a user interface 200 used to specify the reference position, spatial extent, and grid point spacing of a three-dimensional grid. Such a user interface 200 can be generated through the cooperation of the grid configuration unit 113, the grid spacing setting unit 114, and the grid extent setting unit 115. The user interface 200 is displayed on the display unit 12, and input to the user interface 200 is received via the operation unit 13. Figure 11 As shown, the user interface 200 includes input fields 201, 202, and 203 for specifying the reference position, spatial range (here, size), and grid point spacing of the three-dimensional grid, respectively. The operator can specify the reference position (e.g., the origin of the robot coordinate system) in input field 201, input the dimensions of the three-dimensional grid in the X, Y, and Z axis directions (X, Y, and Z axis directions in the robot coordinate system) in input field 202, and input the grid point spacing value in input field 203. When the operator inputs data in these input fields 201 to 203, a three-dimensional grid generated by the grid configuration unit 113 based on the input values is displayed. At this time, the grid configuration unit 113 can configure the three-dimensional grid at a specified position according to the reference position specified in input field 201, set the size of the three-dimensional grid to the size specified in input field 202, and set the grid point spacing of the three-dimensional grid to the value specified in input field 203.
[0052] Furthermore, the settings for user interface 200 are examples, and the user interface for defining the three-dimensional grid may have settings other than those in this example. For example, as one of the elements for determining the spatial extent of the three-dimensional grid, the user interface may include an input field for determining the position of the three-dimensional grid, or an input field for selecting the shape of the three-dimensional grid, etc.
[0053] In addition, such a user interface can also be used to receive user operations such as adjusting the position, size, and grid point spacing of the three-dimensional grid automatically generated by the grid configuration unit 113.
[0054] Next, the grid point selection unit 116 receives a user operation to select at least one grid point within a three-dimensional grid (step S3). The operator can use a pointing device such as a mouse or touchpad provided on the operation unit 13 to select a grid point within the three-dimensional grid. Figure 7 This indicates the operator's operation of the indicator device to select grid point G1 within the three-dimensional grid 50. For example, the operator can select the target grid point by moving the cursor R close to it and performing a predetermined operation. The grid point selection unit 116 may have functions such as highlighting the grid point when the operator moves the cursor R close to it, thus assisting the operator in selecting the grid point.
[0055] Based on the operator's selection of a grid point, the simulation execution unit 119 moves the robot model 30M so that the tool tip point T is aligned with the selected grid point.
[0056] Next, the attitude setting unit 117 sets the attitude of the robot model 30M at the selected grid point G1 (step S4). As an example, such as Figure 8 As shown, the attitude setting unit 117 can be configured to receive, via the operation unit 13, a jog operation that changes the attitude of the robot model 30M (tool model 31M) based on the tool coordinate system C2 when the tool tip point T coincides with the grid point G1. At this time, as... Figure 8 As shown, the tool coordinate system C2 can be displayed on the screen. Figure 8 The text indicates the status of receiving operations that cause the tool model 31M to rotate around the axes of the tool coordinate system C2.
[0057] Alternatively, the attitude setting unit 117 can automatically set the attitude of the robot model 30M (tool model 31M) at the selected grid point G1 as the attitude of the robot model 30M (tool model 31M) at the selected grid point G1. Figure 9 This indicates the pose of the tool model 31M at time G1 of the selected grid point. Figure 7 The pose shown is set as the pose of robot model 30M (tool model 31M) at grid point G1.
[0058] The operator can repeatedly perform the selection of grid points in step S3 and the setting of posture in step S4 to obtain the desired motion path of the robot model 30M.
[0059] Next, the teach point generation unit 118 generates teach points constituting the motion program based on the positions and orientations of the grid points set in steps S3 and S4 (step S5). A teach point is information specifying the position and orientation of a designated part of the robot model 30M (e.g., the tool model 31M). Therefore, the teach point generation unit 118 can also function as a program creation unit, generating motion paths (motion programs) for the robot model 30M that move along the generated teach points. Figure 10 This indicates the situation where five teaching points P1 to P5 are generated within a three-dimensional grid 50, and the motion program of path L1 of robot model 30M is generated through these teaching points P1 to P5.
[0060] As described above, in the program creation process of this embodiment, the operator can generate teach points constituting the motion program through a simple operation such as specifying grid points using a pointing device like a mouse. Since a three-dimensional grid is displayed on the workspace, the operator can use the grid points and the lines connecting them as references to determine the position of the robot model or its positional relationship with other objects (workpieces, worktables, etc.), easily and reliably positioning the robot model in the desired location, and also adjusting its posture. Furthermore, the parameters for defining the three-dimensional grid (spatial range, grid point spacing, reference position, etc.) can be automatically set, or specified by the operator. Therefore, the operator can easily and efficiently create motion programs according to the work content.
[0061] In the example of the three-dimensional lattice above, the shape of the three-dimensional lattice is set as a cuboid, but the shape of the three-dimensional lattice is not limited to this. The shape of the three-dimensional lattice can be various three-dimensional shapes such as spheres, hemispheres, domes, cylinders, and polyhedra.
[0062] In the example of the three-dimensional lattice described above, the grid spacing is set to constant, but examples of three-dimensional lattices are not limited to this. The grid spacing of a three-dimensional lattice can be non-uniform or partially different. For example, there are also examples where the grid spacing near the center of the three-dimensional lattice is smaller than the grid spacing in the surrounding areas (the grid points near the center are denser).
[0063] As a way to display three-dimensional grids on a screen, there are various display methods, such as the following:
[0064] • Displays both the grid points and the horizontal and vertical lines connecting them;
[0065] • Only grid points are displayed;
[0066] • Grid points are displayed with normal emphasis, while the horizontal and vertical lines connecting the grid points are displayed thinner. The grid configuration unit 113 can be configured such that the operator can select a three-dimensional grid. The grid configuration unit 113 can also be configured to receive user operations such as specifying the size, color, density, etc. of the grid points, and the thickness, color, density, etc. of the lines connecting the grid points. With this structure, the operator can easily identify the spatial expansion of the grid points within the three-dimensional grid.
[0067] When the grid configuration unit 113 automatically generates a three-dimensional grid or generates a grid based on information specified by the user, if there is a portion of the three-dimensional grid that is outside the movable range of the robot model 30M, the grid configuration unit 113 may perform one or more of the following processes (a1) and (a2).
[0068] (a1) Display the grid points in the three-dimensional grid that are located outside the movable range of the robot model by 30M, in a different way than the grid points within the movable range, such as displaying them in a lighter color than the grid points within the movable range.
[0069] This allows the three-dimensional grid to be displayed as grid points that the operator can identify as being located outside the movable area.
[0070] (a2) Set the grid points in the three-dimensional grid that are outside the movable range of the robot model by 30M to be unselectable.
[0071] This avoids situations where the operator mistakenly selects a grid point outside the movable range.
[0072] When the grid configuration unit 113 automatically generates a three-dimensional grid based on specified information or based on information specified by the user, if there is a region in the three-dimensional grid that interferes with an object model other than the robot model 30M in the robot system model, the grid configuration unit 113 may perform one or more of the following processes (b1) and (b2).
[0073] (b1) Display the grid points contained in the interference region of the grid points contained in the three-dimensional grid in a different way than the grid points not contained in the interference region, for example, display them in a lighter color than the grid points not contained in the interference region.
[0074] Therefore, the three-dimensional grid can be displayed in a way that the operator can recognize as the grid points contained in the interference region.
[0075] (b2) Set the grid points located in the interference region of the three-dimensional grid to be unselectable.
[0076] This avoids situations where operators mistakenly select grid points located in the interference region.
[0077] Through the above processing ((a1), (a2), (b1), (b2)), the convenience of the operator in selecting grid points can be improved, and the efficiency of programming can be increased.
[0078] As described above, according to this embodiment, the operator can simplify the operation of the robot's teaching action program and program the robot more efficiently.
[0079] In the above embodiments, Figure 2 The functional configuration structure shown in the functional block diagram of the robot programming device is merely an example, and the functional configuration structure of the robot programming device is not limited to this. For example, when the grid configuration unit automatically generates a three-dimensional grid based on specified information such as the job content, the functions of the grid spacing specification unit and the grid range specification unit can be omitted.
[0080] It can function as a teaching control panel, and can also be used to incorporate the functions of the robot programming device described in the above embodiments.
[0081] Figure 2 The functional blocks of the robot programming device shown can be implemented by one or more processors of the robot programming device executing various software stored in the storage device, or they can be implemented by a structure based on hardware such as ASIC (Application Specific Integrated Circuit).
[0082] The program that performs the various processes such as program creation in the above embodiments can be recorded on various storage media that can be read by a computer (e.g., semiconductor memory such as ROM, EEPROM, flash memory, magnetic storage media, CD-ROM, DVD-ROM, etc.).
[0083] This disclosure has been described in detail, but it is not limited to the various embodiments described above. Various additions, substitutions, modifications, and partial deletions may be made to these embodiments without departing from the core essence of this disclosure, or without departing from the core essence of this disclosure derived from the claims and their equivalents. Furthermore, these embodiments may also be implemented in combination. For example, in the above embodiments, the order of actions or the order of processes has been shown as an example, but it is not a limitation. The same applies to the use of numerical values or mathematical formulas in the description of the above embodiments.
[0084] The following notes further describe the above-described embodiments and variations.
[0085] (Note 1)
[0086] A robot programming device (10) has:
[0087] The model configuration unit (112) configures the robot system model (100M) containing the robot model (30M) in the virtual space;
[0088] A grid configuration unit (113) configures a three-dimensional grid in the virtual space;
[0089] The grid point selection unit (116) selects grid points within the three-dimensional grid according to user operations;
[0090] An attitude setting unit (117) sets the attitude of the robot model (30M) at the selected grid point; and
[0091] The teach point generation unit (118) generates teach points that constitute the motion program based on the selected grid point and the posture of the robot model (30M) set for the grid point.
[0092] (Note 2)
[0093] According to the robot programming device (10) described in Appendix 1, wherein,
[0094] The attitude setting unit (117) receives a user operation for specifying the attitude of the robot model (30M) at the selected grid point.
[0095] (Note 3)
[0096] According to the robot programming device (10) described in Appendix 1, wherein,
[0097] The posture setting unit (117) sets the posture of the robot model (30M) at the selected grid point by the user operation as the posture of the robot model (30M) at the selected grid point.
[0098] (Note 4)
[0099] The robot programming device (10) according to any one of Appendices 1 to 3, wherein,
[0100] The grid configuration unit (113) configures the three-dimensional grid based on the origin of the robot coordinate system set for the robot model (30M).
[0101] (Note 5)
[0102] The robot programming device (10) according to any one of Appendices 1 to 3, wherein,
[0103] The grid configuration unit (113) configures the three-dimensional grid based on the tool tip point of the robot model (30M).
[0104] (Note 6)
[0105] The robot programming device (10) according to any one of Appendices 1 to 3, wherein,
[0106] The grid configuration unit (113) is configured to receive user operations for specifying a reference position when configuring the three-dimensional grid in the virtual space.
[0107] (Note 7)
[0108] The robot programming device (10) according to any one of Appendices 1 to 6, wherein,
[0109] The robot programming device (10) further includes a grid spacing setting unit (114), which sets the grid point spacing of the three-dimensional grid according to the first input information or user operation.
[0110] The grid configuration unit (113) generates the three-dimensional grid according to the set grid point interval.
[0111] (Note 8)
[0112] According to the robot programming device (10) described in Appendix 7, wherein,
[0113] The first input information includes at least one of the following: information representing the task performed by the robot model (30M), and information representing the size of the three-dimensional grid.
[0114] (Note 9)
[0115] The robot programming device (10) according to any one of Appendices 1 to 8, wherein,
[0116] The robot programming device (10) further includes a grid range setting unit (115), which sets the spatial range of the three-dimensional grid according to the second input information or user operation.
[0117] The grid configuration unit (113) generates the three-dimensional grid according to the set spatial range.
[0118] (Postscript 10)
[0119] According to the robot programming device (10) described in Appendix 9, wherein,
[0120] The second input information includes at least one of the following: information indicating the work performed by the robot model (30M), and information indicating the range of motion of the robot model.
[0121] (Postscript 11)
[0122] The robot programming device (10) according to any one of Appendices 1 to 10, wherein,
[0123] The grid configuration unit (113) performs one or more of the following processes on grid points contained in the region outside the movable range of the robot model (30M) among the grid points contained in the three-dimensional grid:
[0124] (1) The display method of the grid points contained in the area outside the movable range is different from the display method of the grid points contained in the movable range; and
[0125] (2) Set the grid points contained in the area outside the movable range to an unselectable state.
[0126] (Postscript 12)
[0127] The robot programming device (10) according to any one of Appendices 1 to 10, wherein,
[0128] The grid configuration unit (113) performs one or more of the following processes on grid points contained in the three-dimensional grid, in the region where the three-dimensional grid interferes with the object model other than the robot model (30M) in the robot system model (100M):
[0129] (1) The display method of the grid points contained in the interference region is different from the display method of the grid points not contained in the interference region; and
[0130] (2) Set the grid points contained in the interference area to an unselectable state.
[0131] Symbol Explanation
[0132] 10. Robot Programming Device
[0133] 11 processors
[0134] 12 Display Section
[0135] 13 Operations Department
[0136] 14 Storage Department
[0137] 30M robot model
[0138] 31M tool model
[0139] 50, 52 Three-dimensional lattice
[0140] 100M Robot System Model
[0141] 111 Virtual Space Production Department
[0142] 112 Model Configuration Department
[0143] 113 Grid Configuration Department
[0144] 114 Grid Spacing Setting Section
[0145] 115 Grid Range Setting Department
[0146] 116 grid points selected area
[0147] 117 Attitude Setting Department
[0148] 118 Demonstration Point Generation Department
[0149] 119 Simulation Execution Department
[0150] 200 User Interfaces
[0151] C1 Robot Coordinate System
[0152] C2 tool coordinate system.
Claims
1. A robot programming device, characterized in that, have: The model configuration department configures the robot system model, which includes the robot model, in the virtual space; A grid configuration unit that configures a three-dimensional grid in the virtual space; The grid point selection unit selects grid points within the three-dimensional grid based on user operations; An attitude setting unit sets the attitude of the robot model at the selected grid point; as well as The teach point generation unit generates teach points that constitute the motion program based on the selected grid point and the posture of the robot model set for that grid point.
2. The robot programming device according to claim 1, characterized in that, The attitude setting unit receives user operations for specifying the attitude of the robot model at the selected grid point.
3. The robot programming device according to claim 1, characterized in that, The posture setting unit sets the posture of the robot model at the selected grid point by the user operation as the posture of the robot model at the selected grid point.
4. The robot programming device according to any one of claims 1 to 3, characterized in that, The grid configuration unit configures the three-dimensional grid based on the origin of the robot coordinate system set for the robot model.
5. The robot programming device according to any one of claims 1 to 3, characterized in that, The grid configuration unit configures the three-dimensional grid based on the tool tip point of the robot model.
6. The robot programming device according to any one of claims 1 to 3, characterized in that, The grid configuration unit is configured to receive user operations that specify a reference position when configuring the three-dimensional grid in the virtual space.
7. The robot programming device according to any one of claims 1 to 6, characterized in that, The robot programming device further includes a grid spacing setting unit, which sets the grid point spacing of the three-dimensional grid according to the first input information or user operation. The grid configuration unit generates the three-dimensional grid according to the set grid point interval.
8. The robot programming device according to claim 7, characterized in that, The first input information includes at least one of the following: information representing the task performed by the robot model, and information representing the size of the three-dimensional grid.
9. The robot programming device according to any one of claims 1 to 8, characterized in that, The robot programming device further includes a grid range setting unit, which sets the spatial range of the three-dimensional grid based on second input information or user operation. The grid configuration unit generates the three-dimensional grid according to the set spatial range.
10. The robot programming device according to claim 9, characterized in that, The second input information includes at least one of the following: information indicating the task performed by the robot model, and information indicating the range of motion of the robot model.
11. The robot programming device according to any one of claims 1 to 10, characterized in that, The grid configuration unit performs one or more of the following processes on grid points within the 3D grid that are outside the movable range of the robot model: (1) The display method of the grid points contained in the area outside the movable range is different from the display method of the grid points contained in the movable range; and (2) Set the grid points contained in the area outside the movable range to an unselectable state.
12. The robot programming device according to any one of claims 1 to 10, characterized in that, The grid configuration unit performs one or more of the following processes on grid points contained in the 3D grid, specifically on grid points within the region where the 3D grid interferes with an object model other than the robot model in the robot system model: (1) The display method of the grid points contained in the interference region is different from the display method of the grid points not contained in the interference region; and (2) Set the grid points contained in the interference area to an unselectable state.