Information processing method, robot, and information processing device
The simulation of robotic device operations and cable behavior allows for efficient cable design by determining optimal cable positions and lengths, addressing inefficiencies in existing cable wiring methods.
Patent Information
- Application Number
- JP2024098148
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-06-18
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2039-12-06
AI Technical Summary
The design of cable wiring for robotic devices is complex and costly due to the need to consider various parameters, leading to inefficient space usage and limited robot motion, with cables often interfering with the surrounding environment.
An information processing method simulates the operation of a robot and its attached cables, outputting information on cable end positions and length that satisfy predetermined conditions, considering physical constraints and optimizing the cable's operation time.
Enables efficient cable design by determining appropriate cable end points and total length, minimizing interference and ensuring the robot's wide range of motion, thus optimizing space utilization and reducing potential cable damage.
Smart Images

Figure 0007721744000007 
Figure 0007721744000008 
Figure 0007721744000009
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing method used for design support related to the overall length of a wire or its fixing position, a control method for a robot device, a robot system, an article manufacturing method, and an information processing device. [Background technology]
[0002] Various types of mobile equipment, such as robotic devices, are used in industrial production lines and the like. Robotic devices may have tools, such as hands or air chucks, attached to the ends of their robotic arms. Wires or umbilical members, such as signal cables or air pipes, may be wired to these tools to transmit driving media, such as electric signals or air. While these wires and umbilical members may be wired inside the robotic arm's body in some cases, they are often routed around the outside of the arm.
[0003] In this specification, components representative of wires and filaments such as signal cables and air pipes arranged along the robot arm as described above may be referred to by the term "cable." In other words, in this specification, "cable" does not necessarily refer only to components that transmit electrical signals, such as signal cables, but may also be a concept that includes wires (or filaments) used for transmitting or propagating other media, such as air pipes.
[0004] As described above, the cables routed outside the arm deform and move as the robot arm moves, but in the operating environment of an actual robot device, there are often various external devices and obstacles such as pillars placed around the device. Avoiding cable or device failures caused by interference between the cables and these external devices and obstacles is a major challenge for this type of technology.
[0005] Simulation methods for calculating the behavior of cables installed in robot arms have been known for some time. Patent Document 1 discloses a technique for automatically adjusting the coefficient of repulsion force used in this type of simulation so that the dynamic behavior of a signal cable or a wire body when it collides with a rigid body matches the simulation results.
[0006] This type of simulation technology can virtually calculate the physical behavior of cables as they move, and can be used to check, for example, whether cables installed in a robot will interfere with its surroundings. This makes it possible to check whether the cable will get wrapped around the robot or interfere with the surrounding environment, and how this will occur. Based on the results, it is possible to program robot operations that will avoid interference, for example. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2013-35083 Summary of the Invention [Problem to be solved by the invention]
[0008] However, when designing this type of cable or its wiring configuration, it is necessary to determine the cable end positions and overall length while taking into consideration loads due to changes in the radius of curvature, pulling, etc. Therefore, cable wiring design requires many parameters to be considered, intuition and empirical rules, and is highly dependent on the individual, resulting in high costs.
[0009] In general, cables installed in robotic devices are often designed with ample length to accommodate the robot's versatile movements with a high degree of freedom. However, if the cables are long, they are more likely to come into contact with the surrounding environment, which requires more space around the robot, potentially resulting in poor space efficiency. Furthermore, the installation of cables can have the adverse effect of limiting the robot's inherently wide range of motion.
[0010] In view of the above, the object of the present invention is to provide support for the design of wires or their wiring to be installed in movable equipment such as robotic devices, by making it possible to obtain information such as the appropriate cable end point positions and total cable length depending on the operation of the movable equipment and the surrounding environment. [Means for solving the problem]
[0011] One aspect of the present invention is an information processing method for simulating the operation of a robot, the method comprising: simulating the operation of the robot and the operation of a wire rod provided on the robot; and outputting, through a simulation, information regarding the length of the wire that satisfies a predetermined condition, or information regarding the holding position of the wire in the robot that satisfies a predetermined condition. The information processing method is characterized by: One aspect of the present invention is an information processing method for simulating the operation of a robot, characterized in that the operation of the robot and the operation of a wire attached to the robot are simulated, and an evaluation value is obtained for the wire that changes through the simulation. One aspect of the present invention is an information processing method for simulating the operation of a robot, which is characterized by simulating the operation of the robot and the operation of a wire attached to the robot, and outputting information about the wire that has satisfied constraints, including physical constraints imposed on the wire, for the longest period of time relative to the operation time of the robot. One aspect of the present invention is an information processing method for simulating the operation of a robot, which is characterized by simulating the operation of the robot and the operation of a wire attached to the robot, and by being able to set the range in which the operation of the wire is simulated depending on the type of the wire. One aspect of the present invention is an information processing device that simulates the operation of a robot, simulating the operation of the robot and the operation of a wire attached to the robot, and outputting, through the simulation, information regarding the length of the wire that satisfies specified conditions, or information regarding the holding position of the wire in the robot that satisfies specified conditions. One aspect of the present invention is an information processing device that simulates the operation of a robot, characterized in that it simulates the operation of the robot and the operation of a wire attached to the robot, and obtains an evaluation value for the wire that changes through the simulation. One aspect of the present invention is an information processing device that simulates the operation of a robot, simulating the operation of the robot and the operation of a wire attached to the robot, and outputting information about the wire that has the longest period of time that it has satisfied constraints, including physical constraints imposed on the wire, relative to the operation time of the robot. One aspect of the present invention is an information processing device that simulates the operation of a robot, and is characterized in that it simulates the operation of the robot and the operation of a wire attached to the robot, and the range in which the operation of the wire is simulated can be set according to the type of the wire. [Effects of the Invention]
[0012] According to the above configuration, when assisting in the design of wires or their wiring to be installed in movable equipment such as robotic devices, it is possible to obtain information such as the appropriate cable end point position and total length of the cable depending on the operation of the movable equipment and the surrounding environment. [Brief explanation of the drawings]
[0013] [Figure 1]FIG. 1 is a block diagram showing a computing device capable of executing the present simulation. [Figure 2] FIG. 2 is an explanatory diagram showing functions of the wiring design support system. [Figure 3] FIG. 10 is an explanatory diagram showing functions of a robot simulation function. [Figure 4] FIG. 1 is an explanatory diagram showing a simulation model of a robot and its surrounding environment. [Figure 5] FIG. 1 is an explanatory diagram showing a simulation model of a robot, a surrounding environment, and cables. [Figure 6] FIG. 1 is a flow chart illustrating the calculation steps for generating a cable model. [Figure 7] FIG. 10 is an explanatory diagram showing an example of an input GUI for generating a cable model. [Figure 8] FIG. 10 is an explanatory diagram showing an example of a GUI that allows physical parameters according to the type of cable to be registered. [Figure 9] FIG. 10 is a flow chart illustrating the calculation steps of the cable routing search function. [Figure 10] FIG. 10 is an explanatory diagram showing an example of an input GUI for a cable wiring search function. [Figure 11] FIG. 10 is an explanatory diagram showing the radius of curvature of a divided cable model. [Figure 12] FIG. 10 is an explanatory diagram showing an example of a GUI showing an output result of a cable wiring search function. [Figure 13] FIG. 10 is an explanatory diagram showing an image in which a cable passable area is added to a simulation model. [Figure 14] FIG. 10 is an explanatory diagram showing an example of a GUI for taking into account a passable area in the cable wiring search function. [Figure 15] FIG. 10 is a flowchart illustrating the calculation process of a cable wiring search function using a genetic algorithm. [Figure 16] FIG. 2 is an explanatory diagram showing an example of a screen of a simulation program. [Figure 17] FIG. 1 is an explanatory diagram showing an example of generation change in a genetic algorithm. [Figure 18] FIG. 10 is an explanatory diagram showing an example of a GUI for taking the type of cable into consideration in the cable wiring search function. [Figure 19] FIG. 10 is an explanatory diagram showing an example of a GUI showing an output result when a cable type is searched for. [Figure 20] FIG. 10 is an explanatory diagram showing an example of a GUI that displays a plurality of output results in a cable wiring search. [Figure 21] FIG. 10 is an explanatory diagram showing an example of a GUI illustrating a case where a valid search result cannot be obtained in a cable wiring search. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. Note that the configurations shown below are merely examples, and those skilled in the art can appropriately modify the detailed configurations, for example, without departing from the spirit of the present invention. Furthermore, the numerical values used in the present embodiments are merely examples of reference values.
[0015] <Embodiment 1> The cable wiring design support system of this embodiment will be described below with reference to FIGS. 1 to 12 and 16. FIG.
[0016] Fig. 1 shows an example of the configuration of a control device 1 capable of executing processing for supporting cable wiring design according to this embodiment. The general appearance of the control device 1 is, for example, as shown in Fig. 16, which will be described later. The control device 1 is a processing device that functions as a wiring design support device, and can be configured as a computer system including, for example, hardware of a control device in the form of a PC (personal computer).
[0017] 1 includes a CPU 20 as a calculation unit, a ROM 21 as storage media, a RAM 22, an HDD 23, a recording disk drive 24, and various interfaces 25, 26, 27, and 28. The ROM 21, RAM 22, HDD 23, recording disk drive 24, and various interfaces 25 to 28 are connected to the CPU 20 via a bus 29 so as to be able to communicate with each other.
[0018] The ROM 21 stores a control program that causes the CPU 20 to execute the control steps described below. The CPU 20 can then execute the control procedures described below based on the control program stored in the ROM 21. The RAM 22 constitutes a storage means for temporarily storing the processing results of the CPU 20. The HDD 23 is an external storage device that stores in advance various information such as component data and calculation formulas for the three-dimensional finite element method. The HDD 23 also stores data such as the results of calculations performed by the CPU 20 in accordance with instructions from the CPU 20.
[0019] The control device 1 corresponds to an information processing device that controls the information processing method for supporting wire design according to the present embodiment. The control device 1 is equipped with an operation input unit including a keyboard 11 connected via an interface 25 and a pointing device such as a mouse 12 connected via an interface 26, and is capable of accepting various operation inputs. The control device 1 is also equipped with a monitor 13 connected via an interface 27, which can display various screens, such as a data input (editing) screen and a display screen that displays components and the like in a virtual three-dimensional space. A user interface is configured using the operation input unit including the monitor 13 (display), keyboard 11, and mouse 12. This user interface can realize a GUI (graphical user interface) equipped with dialogs and menus, which will be described later, and allows the user to enter input settings related to search conditions for a target cable wiring, for example.
[0020] The interface 28 is configured to allow connection to an external storage device 14, such as a rewritable nonvolatile memory or an external HDD. The storage disk drive 24 can access the storage disk 15 for reading and writing. The storage disk 15 can store a program that causes the CPU 20, which serves as a control device, to execute the wiring design support calculation of this embodiment. If the storage disk 15 stores the program related to the wiring design support calculation of this embodiment, the storage disk 15 constitutes a computer-readable recording medium according to this embodiment. The storage disk 15 can be used to install the program related to the wiring design support calculation of this embodiment into a rewritable storage area of the external storage device 14, RAM 22, or ROM 21. The storage disk 15 can also be used to update an already installed program. However, the program related to the wiring design support calculation of this embodiment may be installed or updated via a network (not shown).
[0021] FIG. 16 shows an example of a simulation system including the above-described control device 1 and operation input units such as a monitor 13, a keyboard 11, and a mouse 12 connected to the control device 1. In FIG. 16, a simulation display 161 is displayed on the monitor 13. The simulation display 161 is configured by, for example, display units for the robot and assembly parts described below, and GUIs such as a cable parameter input GUI (FIG. 7), a search parameter input GUI (FIG. 10), and a wiring output GUI (FIG. 12). In this embodiment, the simulation display 161 simulates and displays the behavior of a model in a virtual environment that corresponds to the operation of an actual robot device and the surrounding environment, and is used to support the design of cable wiring.
[0022] In order to design a cable wiring system that corresponds to the operation of a robot device and the surrounding environment, it is desirable to be able to confirm how the robot device operates in any environment. Therefore, the control device 1 of this embodiment is configured as a cable wiring design support system 1301 having function blocks as shown in Fig. 2. As shown in Fig. 2, this cable wiring design support system 1301 has a robot simulation function 1302, a cable model generation function 1303, and a cable wiring search function 1304.
[0023] The cable (wire) targeted by this cable wiring design support system 1301 is placed outside the robot device along its body, and is deformed and displaced as the robot device moves. Therefore, if the cable wiring design support system 1301 simulates specifications such as the position of the end points of the cable (wire) and the required total length, it is preferable that the cable wiring design support system 1301 be provided including a robot simulation function 1302.
[0024] The following describes each of the functions of the cable wiring design support system 1301, that is, the robot simulation function 1302, the cable model generation function 1303, and the cable wiring search function 1304.
[0025] FIG. 3 shows the functional blocks of the robot simulation function 1302. As shown in the figure, the robot simulation function 1302 includes a model placement function 1311 that places a robot model or other equipment models on the simulator, and a robot teaching function 1312 that registers teaching points that serve as starting points for the robot's movements. The robot simulation function 1302 also includes a robot movement generation function 1314 that generates the movements of an actual robot device from a movement command to the teaching points, and an interference detection function 1315 that detects interference with each model and notifies the user. The robot simulation function 1302 also includes a dynamics calculation function 1316 that calculates the physical behavior of the robot device when it interacts with another object. These functions are well-known functions of a robot simulator that simulate the movements of a real robot device in a virtual environment, and a detailed description thereof will be omitted here.
[0026] The cable model generation function 1303 in FIG. 2 is a process for generating a cable model to be used in simulation calculations (first wire model generation process). FIG. 4 shows an example of a simulation model of a robot device and its surrounding environment simulated by the robot simulation function 1302. The simulation state in FIG. 4 is the state before the cable model is generated by the cable model generation function 1303. The simulation state in FIG. 4 is composed of a robot device 41 and models simulating a workpiece 42 and a stand 43 as its surrounding environment. The robot device 41 and the workpiece 42 are placed on the stand 43. Note that in FIG. 4, 44 and 45 indicate fixed positions (positions A and B described below) of the end points where the end regions of the cable arranged in the robot device 41 are fixed and connected, respectively.
[0027] In this specification, the "(fixed) position" of the "end point" where a cable (wire) is fixed or connected is used for convenience only and does not necessarily refer to the cut end surfaces of both ends of the cable (wire). In the following, "end point position" and "(fixed) position" refer to a position fixed to a movable device or environment by a clip, connector, etc., in a specific three-dimensional coordinate system ((X, Y, Z) described below) and in a specific direction (attitude: rotation angles (α±, β±, γ±) described below).
[0028] The actual robot device 41 operates a workpiece as the processing object 42 by the same operation as the operation simulated by the robot simulation function 1302. As a result, in a robot system constituting a production line or the like in which the robot device 41 is arranged, an article such as an industrial product can be manufactured from the workpiece as the processing object 42.
[0029] 5 shows an example of a simulation model of a robot device 41 and its surrounding environment, to which a cable 51 (cable model) generated as a wire model by the robot simulation function 1302 is attached. In addition to the robot device 41, the robot, and the surrounding environment, which are indicated by the same reference numerals as in FIG. 4, both end points of the generated cable 51 are connected to positions 44 and 45.
[0030] Fig. 6 shows the processing flow of the cable model generation function 1303. In the processing of Fig. 6, first, in a cable parameter input step 1321, a user operation to input cable parameters is accepted using a GUI 1330 such as that shown in Fig. 7. In the GUI 1330 of Fig. 7, a type 71 of cable (A, B, C, ...) that has been previously stored in a database can be input using a pull-down menu, as shown in GUI 1340 of Fig. 8. The GUI 1330 of Fig. 7 has a cable generation button 75, and when the user operates this cable generation button 75, a cable model having parameters (as initial values) specified in each of the fields 71 to 74 is generated.
[0031] In GUI 1340 of FIG. 8, cables A, B, C, etc. are stored in advance in a database as types described by several physical parameters. Table display 1341 of the GUI of FIG. 8 can be used to display the settings of the physical parameters of the cable models corresponding to these cables A, B, C, etc., or to edit the setting values. In this embodiment, in order to simulate dynamic cable behavior in accordance with the operation of the robot device 41, the parameters of cables A, B, C, etc. include parameters related to the bending of these cables (wires). The parameters related to the bending of these cables (wires) include parameters related to mass, such as diameter and density, and parameters related to the bending, such as Young's modulus, Poisson's ratio, and damping rate.
[0032] The GUI 1330 in Fig. 7 may be configured so that each of these physical parameters can be explicitly input. However, if each physical parameter is previously stored in a table as shown in Fig. 8 and an operation method is used in which the type 71 is specified as shown in Fig. 7, the operation of specifying the parameters of the cable model can be easily performed.
[0033] In GUI 1330 of FIG. 7, initial values for the cable wiring method, such as from which position to which position and how long the cable will be wired, are specified. For example, two cable endpoint positions are set, such as endpoint A position 72 and endpoint B position 73. In this case, it is possible to specify the relative coordinates of the robot device to which the cable is to be wired. Also, as shown in FIG. 4, it is possible to pre-register the coordinate positions of cable endpoint A position 44 and endpoint B position 45 in the robot model. In this case, in GUI 1330 of FIG. 7, it is possible to specify numbers or macro names appropriately assigned to the pre-registered coordinate positions in the fields of positions 72 and 73.
[0034] Furthermore, it is appropriate to set the total length 74 of the cable with a sufficient margin so that it will not stretch even when the robot operates. In the GUI 1330 in Fig. 7, the positions 72 and 73 as the fixed positions of the cable and the total length 74 are used as initial values when performing a cable routing search, and it is not necessary to input optimal values. When a cable model is generated by the cable model generation function 1303 of this embodiment, optimal values are generated for the positions 72 and 73 as the fixed positions of the cable and the total length 74 according to the results of a robot simulation, etc.
[0035] When the cable generation button 75 is pressed in the GUI 1330 of Fig. 7, the process proceeds to a simulation model calculation step 1322 (Fig. 6). In this simulation model calculation step 1322, a cable simulation model is generated. In this embodiment, for example, the cable model (wire model) is generated as a simulation model in which multiple small cylindrical models are connected together. The cable model (wire model) is defined by positions 72 and 73 as fixed positions of the cable and a total length 74.
[0036] When generating a cable model (wire model), for example, the length (L) of each division unit of the cable is determined. The smaller the division unit length, the smoother the cable can be simulated, but the greater the number of divisions, the longer the calculation time. As a guideline for performing a sufficiently smooth simulation, the division unit length (L) can be determined from the cable diameter (φ) using the following formula:
[0037]
number
[0038] Since the shape of the cable division unit is a cylinder of length (L), the mass parameters, mass (m), inertia (I), and center of gravity (g), can be calculated using the diameter (φ), division unit length (L), and density (D) using the following formula: Here, we assume that this cylinder extends in the Z direction of the component coordinate system.
[0039]
number
[0040] Next, the stiffness coefficient (k) and viscosity coefficient (d) per cable division unit are calculated from parameters related to the bending characteristics of the cable, such as Young's modulus (E), Poisson's ratio (P), and damping rate (δ). These stiffness coefficients (k) and viscosity coefficients (d) can be calculated using the following formulas for each of the x, y, and z directions of the component coordinate system. Naturally, Young's modulus (E), Poisson's ratio (P), and damping rate (δ) use values that are pre-populated in a table, such as those shown in Figure 8, corresponding to the cable type 71 specified in the GUI in Figure 7.
[0041]
number
[0042] The cylindrical models of the cable division units calculated as described above can be connected via, for example, spherical joints, to generate an initial state cable model (first wire model) with a length specified by the user.
[0043] 6, the cable posture calculation step 1323 sets up the cable model generated in the simulation model calculation step 1322 in the simulation environment. At this time, the information on the fixed positions of the cable end points (positions 72 and 73) set in the GUI 1330 in FIG. 7 is used as the initial value of the input information.
[0044] Here, the base of the generated cable model (wire model) is placed at position A, where the endpoint is fixed. At this stage, the cable is not deformed, and position B does not coincide with the tip of the cable, but by subsequently performing inverse kinematics calculations so that the tip of the cable model coincides with the position of endpoint B, the deformation amount of the divided cable parts can be calculated.
[0045] In this manner, a cable model (first wire model) corresponding to the initial state defined by the total length and the fixed positions of the initial values where the end points are fixed is generated in the cable posture calculation step 1323. Then, in the cable model output step 1324 of Fig. 6, the cable model generated as the first wire model in the initial state can be displayed in 3D on the monitor 13 in the form of, for example, a wire frame or polygons.
[0046] In this embodiment, a cable routing search function 1350 (1304 in FIG. 2), the flow of which is shown in FIG. 9, can search for a wire model (cable routing) with appropriate endpoint positions and total length. Here, search conditions are first specified using a setting GUI 1360 (FIG. 10) for the cable routing search function (search parameter input step 1351). Then, starting from the initial cable model (first wire model), a cable model (second wire model) with a different endpoint position and total length is generated as a cable routing candidate (wiring candidate generation step 1352). The operation of the equipment model and the wire model associated with its operation are simulated in a virtual environment, and evaluation values for the total length and fixing positions of the wire model are generated accordingly (wiring candidate evaluation step 1353). Furthermore, using the evaluation values, wire models are searched for as wiring candidates corresponding to the wiring configuration, and the total length and fixing positions of a wire model that satisfies the eligibility conditions are output (wiring output step 1354).
[0047] This cable wiring search function 1350 can search for and identify a wire model that has appropriate end point fixed positions and a total length that meets the eligibility conditions, taking into account the results of the robot simulation, and can then output the appropriate end point fixed positions and a total length that meets the eligibility conditions of the wire model.
[0048] In the GUI 1360 (FIG. 10) used in the search parameter input step 1351, a search range (102-104) for the positions A and B and the total length (L±) of the second wire model to be generated as a candidate is specified based on the positions A and B where the end points of the first wire model are fixed and the total length. The search range (103) for the positions A and B is specified using three-dimensional coordinates (X±, Y±, Z±) and, for example, rotation angles around the coordinate axes (α±, β±, γ±). In addition, in the GUI 1360 of the cable wiring search function 1350 in FIG. 10, a robot operation (101) to be executed by the robot device in the simulation can be specified.
[0049] Furthermore, physical constraints to be imposed on the cable model during the robot operation can be specified as part of the search conditions (105, 106, 107). These search conditions include, for example, the minimum allowable cable curvature radius (105), the maximum load at the cable end (106), and the interference detection target (107). The interference detection target (107) can be specified, for example, in a format such as that shown in FIG. 13, which will be described later. In the setting GUI 1360 of FIG. 10, after inputting the robot operation (101), search range (102 to 104), and search conditions (105 to 107), the specified cable routing search can be executed by operating the search start button 108.
[0050] When specifying the robot operation (101) in the GUI 1360 (FIG. 10) of the cable wiring search function 1350 in FIG. 10, the robot operation is specified as the operation generated by the robot simulator. For example, the operation that has been simulated and output as a file to the HDD is specified. Alternatively, in consideration of cases where the robot simulation of the equipment model has not been completed, an input format can be adopted in which the robot operation (101) is specified using identification information of the robot control data in the form of a teaching point or a robot program.
[0051] 10, in the search range specification (102, 103, 104), the positions A and B where the cable end points are fixed are specified using available three-dimensional coordinates (X±, Y±, Z±) and rotation angles (α±, β±, γ±) around the coordinate axes. The total cable length (L±) is specified in length units. As with the cable model generation function 1303, the cable end points can be specified using relative coordinates from the component to which the cable is to be routed, and the same relative coordinate values can be entered in fields 102 and 103 for the possible wiring range. As with the cable model generation function 1303, the range from the initial value of the set cable total length can also be entered in field 104 for the total cable length.
[0052] Finally, the search conditions are entered. These include the minimum radius of curvature of the cable (105), the maximum load on the cable end (106), and the objects that must not come into contact with the cable (107). After entering all these parameters, the user can start the routing search by clicking the Start Search button 108.
[0053] In the wiring candidate generation step 1352 of FIG. 9, the initial cable model (first wire model) output by the cable model generation function 1303 described above is used as a starting point. Based on this starting point, a cable model (second wire model) is generated as a candidate to be evaluated within the search range input in the search parameter input step. The cable model (second wire model) as a candidate for which an evaluation value is to be generated may include the cable model (first wire model) itself or a model equivalent thereto. Here, by combining positions A and B and the total length included in the specified search range (102 to 104), at least one cable model as a wiring candidate, i.e., the second wire model, can be generated. Note that a large number (plurality) of cable models (second wire models) may be generated at the same time, or when using a genetic algorithm (described later), several cable models (second wire models) may be generated for each generation.
[0054] The second wire model to be generated as an evaluation candidate is defined by the parameters of specific positions A and B and the total length, just like the initial first wire model included in the specified search range (102 to 104). Therefore, the second wire model can be generated by the same routine as the cable model generation function 1303 described above, using the values of the specific positions A and B and the total length.
[0055] Although the shape of a specific cable model (first wire model or second wire model) changes with the movement of the robot device (equipment model) on which the cable model is placed, it is uniquely defined by the parameters of its fixed position (positions A and B) and total length. Therefore, the following description such as "searching for candidates for end point position and total length" can be considered equivalent to "searching for the cable model (wire model)."
[0056] In the wiring candidate evaluation step 1353 (FIG. 9), an evaluation is performed on each of the second wire models (or first wire models) that are wiring candidates. This evaluation value can be calculated using the results of a robot simulation, for example, so that the one that satisfies the search conditions and accumulates the least load on the cable will have the highest evaluation. The evaluation value of the wiring candidate can be generated in a real number range, for example, 0 to 10 or 0 to 100.
[0057] If the simulation results do not satisfy the search conditions, an evaluation value of 0 is generated as the minimum evaluation value. The detection of interference between the cable and the robot or surrounding environment, which should be performed in the wiring candidate evaluation step 1353 (FIG. 9), and the method of calculating the load on the cable end are well known, so a detailed explanation thereof will be omitted here. Alternatively, if the simulation results satisfy the search conditions, an evaluation value can be calculated based on the value of the variation in the radius of curvature of the cable, for example, regarding the accumulation of load on the cable.
[0058] The calculation of the radius of curvature at each division point of a cable model divided into fine division units as described above can be performed, for example, as shown in Figure 11. Figure 11 shows how a cable model divided from division unit 111 to division unit 112 is bent. In such a case, the radius of curvature (R) formed from division unit 111 to division unit 112 can be calculated from the division unit length (L), cable diameter (φ), and the angle (θ) at which division unit 111 bends from division unit 112, as shown in the following formula:
[0059]
number
[0060] The radius of curvature (R) of the cable model is also changed in accordance with the simulated robot motion. The variation (S) of the radius of curvature (R) from division unit 111 to division unit 112 can be calculated, for example, using the following formula:
[0061]
number
[0062] The variation (S) of this curvature radius is calculated between all the divided parts that make up the cable model. In this case, the maximum value of the variation (S) is MAX ) can be considered to be the part of the division unit where the calculated value is the most likely to break or be damaged.
[0063] Therefore, since the accumulation of load on the cable is considered to be proportional to the variation of the curvature radius (S), the evaluation value (V) of the wiring candidate is, for example, the maximum variation (S MAX ) can be calculated as follows:
[0064]
number
[0065] The above calculations are performed for all second wire models (or first wire models) as wiring candidates, and an evaluation value for the model (or its fixed position and total length) can be generated. Furthermore, this evaluation value can be used to rank the wiring designs of the second wire models (or first wire models) as wiring candidates.
[0066] Then, in the wiring output step 1354 (Fig. 9), the second wire model (or the first wire model) that has received the highest evaluation in the wiring candidate evaluation step is output using, for example, a GUI 1370 as shown in Fig. 12. Here, search results 1371 regarding the fixed positions (positions A and B) and the total length (L) are displayed and presented to the user.
[0067] The search process in the search step may be output as a 3D simulation display 161 using a user interface configured as a GUI using the monitor 13, mouse 12, etc. In this case, the robot movement and the cable model movement in the virtual environment may also be output as a simulation display 161. In this case, the maximum value of the variation amount of the radius of curvature (S MAX The positions of the division units for which the calculated σ ) are calculated can be displayed as locations with a high possibility of breakage in the simulation display 161 by marking, changing the display color, highlighting, or other methods.
[0068] Furthermore, if all of the searched wiring candidates do not satisfy the search conditions and have an evaluation value of 0, a GUI 1420 (dialog) such as that shown in FIG. 21 is presented to the user. This GUI 1420 (dialog) has buttons "Yes" 1421 and "No" 1422 arranged to prompt whether or not to present the search results in the simulation display 161 or the like. Furthermore, although not shown in detail, another message display prompting a change of the search range and search conditions and dialog buttons "Yes" 1421 and "No" 1422 may be arranged. In this case, for example, the wiring candidate that has satisfied the search conditions for the longest period of time relative to the robot operation time may be presented to the user, allowing the user to effectively modify the search range and search conditions.
[0069] As described above, this embodiment enables efficient wiring design that corresponds to the operation of a robot device as a mobile device and its surrounding environment. In this case, it is possible to output values related to the total length and fixing position that satisfy the eligibility conditions for a specific type of cable (wire) that is unlikely to break and does not interfere with the surrounding environment.
[0070] <Embodiment 2> In the above embodiment, an example was shown in which one second wire model (or first wire model) with the highest evaluation in the wiring candidate evaluation process was output as shown in Fig. 12. However, as shown in GUI 1410 in Fig. 20, a plurality of second wire models (or first wire models) may be output, for example, in order of evaluation value, such as first to third place. In GUI 1410 in Fig. 20, the parameters of the fixed position (positions A and B) and total length (L) of the second wire model (or first wire model) are output in a format similar to that in Fig. 12 (1411, 1391, 1413).
[0071] In wiring design work, there may be cases where users want to compare the calculation results related to the parameters of different fixed positions (positions A and B) and total length (L). Considering such demands, it is considered effective to present to the user the top-rated results of the wiring search using GUI 1410 in Fig. 20.
[0072] <Embodiment 3> 18 and 19 show an example of an extension of the wiring design support system according to this embodiment. There are various types of commercially available cables, including signal cables with the same or similar electrical characteristics, but with different thicknesses and rigidities. Therefore, there may be a demand for selecting the optimal cable from among different types of cables (wire materials). To meet this demand, it is effective to introduce the type of cable into the search range.
[0073] Fig. 18 shows an example of a GUI 1380 that allows the cable type to be specified as a search range in the cable wiring search function 1350 (Fig. 9). The GUI 1380 in Fig. 18 is obtained by adding a field (181) for specifying the range of cable types to be searched to the GUI 1360 in Fig. 10. The field (181) for specifying the range of cable types is configured to specify cable identification codes, such as cables B and C, in a format similar to CSV format from the table in Fig. 8. Alternatively, the field (181) for specifying the range of cable types may be configured as a pull-down menu that allows multiple checks to be made.
[0074] Next, in the wiring candidate generation step (FIG. 9), wiring candidates (second wire models) are generated for the cable model specified in 181. In this case, in this embodiment, the initial first wire models are generated for multiple wire models included in the range specification of the cable type. Then, similar to the first embodiment, the wiring candidates are evaluated to generate wiring candidates (second to first wire models), and information on their total lengths and fixing positions is output.
[0075] 19 shows an example of a GUI 1390 that displays the wiring search results, including the optimum cable type, in this embodiment. In this example, as shown in the bottom row of the dialog 1391, the cable type (A) with the highest evaluation value is output.
[0076] According to this embodiment, it is possible to select the optimal cable from multiple cable types that corresponds to the operation of the movable device and the surrounding environment, and to perform wiring design including the cable length and fixed positions of the cable ends.
[0077] <Embodiment 4> In this embodiment, an expanded function of the cable wiring design support system will be described with reference to FIGS.
[0078] When designing a work environment using robotic devices, the layout of the robot and peripheral device positions is first determined, and then the robot is taught and its movements are determined. When using a wiring design support system, there may be a need to set the area where cables will pass during the layout process.
[0079] To meet this demand in wiring design support systems, it is considered effective to introduce the area where cables can pass through into the search conditions.
[0080] 13 shows a state in which a cable passable area 131 has been added to a simulation model in a virtual environment. The passable area 131 can be specified by a user through a GUI using, for example, the monitor 13 and the mouse 12, for example, by inputting vertex information of a rectangular parallelepiped shape with the mouse to set the area.
[0081] Fig. 14 shows an example of a GUI 1380 for taking into account a passable area in the cable wiring search function. The GUI 1380 in Fig. 14 has dialogues for specifying robot operation (1381), search range (1382), and search conditions (1383). In the GUI 1380 in Fig. 14, the dialogue for specifying search conditions (1383) has a field (141) for specifying identification information for the passable area 131 specified by inputting a rectangular parallelepiped in Fig. 13, for example.
[0082] In this embodiment, the wiring candidate evaluation step 1353 (FIG. 9) simply checks whether the cable deviates from the passable area. In practice, it is sufficient to check whether the cable model, which operates together with the equipment model of the movable equipment (robot device), interferes (intersects) with each face of the passable area set in the search parameter input step. Checking for interference between a face and the cable model (wire model) can be achieved by using a robot simulation function. If interference between a face of the passable area and the cable model (wire model) is confirmed, the evaluation value of the cable model (wire model) is set to 0.
[0083] As described above, according to this embodiment, it is possible to output a cable model (wire model), particularly its total length and the fixed positions of its ends, taking into account the constraint that the cable must not deviate from the pre-designed cable passable area. When a cable passable area is added, a secondary effect is that it is no longer necessary to prepare a 3D model of the robot's surrounding environment, making it easier to perform cable routing search calculations. While this embodiment shows an example in which a rectangular parallelepiped-shaped cable passable area is set, it goes without saying that the evaluation value can also be calculated in a similar manner for a cylindrical passable area or a passable area with a complex shape.
[0084] <Embodiment 5> In this embodiment, we consider the possibility of speeding up the cable (wire) model search process. For example, in the above embodiment, the search range for the fixed positions (positions A and B) of the end points and the total length (L) specified in the GUIs 1360 and 1380 in Figures 10 and 14 is generated with second wire models as search candidates. If the search range is divided at a high search granularity and a large number of second wire models are generated at once as search candidates, there is a possibility that the number of wiring candidates will become too large, increasing the calculation cost, depending on the performance of the CPU 20 as a calculation means. This may require a long processing time and make the system unusable.
[0085] Therefore, depending on the performance of the CPU 20 as the computing means of the cable wiring design support system, it may be necessary to lower the search granularity in some cases to reduce the calculation cost. However, if the search granularity is too low, the optimality of the finally output wiring design may be reduced.
[0086] As a method for solving such a problem, it is conceivable to use a genetic algorithm, which is a type of metaheuristics, as in this embodiment.
[0087] Fig. 15 shows the processing procedure for searching for cable (wire) wiring using a genetic algorithm in this embodiment. Fig. 17 shows the process of generation change using the genetic algorithm. Here, the seven items used as genetic information for genes in the genetic algorithm are two sets of fluctuation amounts (x±, y±, z±) in the search range of the wire fixing positions (positions A and B) and the fluctuation amount (L±) in the search range of the total cable length.
[0088] 15, in the search parameter input step (S101), search parameters such as robot operation (101), search range (102 to 104), and search conditions (105 to 107) are input using a GUI 1360 similar to that in FIG.
[0089] Next, in the gene initialization step (S102), finite genes are generated randomly within the search range. For example, genes with various cable endpoint positions and total cable lengths are generated, such as the initial generation 1G shown in the upper part of FIG. 17. The wiring candidate evaluation step (S103) is performed in the same manner as the wiring candidate evaluation step (1353: FIG. 9) in the first embodiment. In this case, in the genetic algorithm calculation of this embodiment, the evaluation value of the wiring candidate is also used as the evaluation value of the gene that generated that candidate.
[0090] In the optimization completion determination step (S104), it is determined whether the optimization has progressed sufficiently. This optimization completion determination step (S104) functions as a condition for judging whether the search process is completed. In this optimization completion determination step (S104), for example, comparisons are made to determine whether the number of gene generations and the evaluation value of the wiring candidate are above a certain level. If it is determined that the optimization has been completed sufficiently, the optimization is completed and the optimal wiring candidate is output (S104 ⇒ S105).
[0091] If it is determined in the optimization completion determination step (S104) that optimization has not progressed, the process moves to generating wiring candidates using a genetic algorithm (S106), where genetic information is replaced through a genetic generation change to generate next-generation wiring candidates (second wire model).
[0092] In generating wiring candidates using this genetic algorithm (S106), wiring candidates are generated from the cable endpoint positions and total cable length specified in each gene, and the genes are passed through generations (1G to 2G to 3G... in Figure 17). In addition, the genetic algorithm passes through generations through gene mating and mutation.
[0093] For example, in the example in Figure 17, genes 1A and 1B of the initial generation G1 are selected as parents, and by mating, gene 2B is generated with the characteristics of each. Regarding mutation, gene 2B is selected as a parent, and gene 3B is generated with its characteristics randomly changed. In this case, efficiency can be improved by controlling the selection probability of genes selected as parents so that it is proportional to the magnitude of the evaluation value.
[0094] By searching for wiring candidates (wire models) through computational processing using a genetic algorithm as described above, the probability of inheritance of genetic information between genes with higher evaluation values increases. Moreover, this method employs a eugenic control process. Therefore, it may be possible to search for highly optimal wiring candidates (wire models) more efficiently than the so-called brute force approach, which is a method that exhaustively searches a large number of wiring candidates (wire models).
[0095] As described above, according to this embodiment, by searching for wiring candidates (wire models) through computational processing using a genetic algorithm, it is possible to obtain a highly optimal wiring design in a short time even with computational resources with limited processing power.
[0096] The configurations and effects of the above-described embodiments are merely examples, and those skilled in the art can modify the above-described embodiments without departing from the spirit of the present invention. For example, the above description assumes that the wire model (cable model) has two fixed positions and a total length. In actual hardware, a wire (cable) may be fixed to a movable device at multiple fixed positions. In such a configuration, the partial wire from one fixed position to another may be assigned to the wire model (cable model) in the above-described embodiments, and calculations may be performed. Furthermore, while a robotic device is used as an example of a movable device, the number and arrangement of joints in the robotic device may be arbitrary. Furthermore, the movable device may also be a movable device driven by some other power source than a robotic device. Furthermore, the wire (cable) may include not only a wire for electrical transmission, such as a signal cable, but also pipes or piping for transmitting other media, such as air or liquid.
[0097] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions. In the various embodiments described above, the robot device 41 is illustrated as having a multi-joint robot arm with multiple joints, but the number of joints is not limited to this. Also, although a vertical multi-axis configuration is shown as the type of robot device, a configuration equivalent to the above can be implemented with a different type of joint, such as a parallel link type. Furthermore, the various embodiments described above can be applied to machines that can automatically perform movements such as extension and contraction, bending and stretching, up and down movement, left and right movement, or rotation, or a combination of these movements, based on information stored in a memory device provided in the control device. The present invention is not limited to the above-described embodiments, and many modifications are possible within the technical concept of the present invention. Furthermore, the effects described in the above embodiments are merely a list of the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments of the present invention. [Explanation of symbols]
[0098] 1...control device, 11...keyboard, 12...mouse, 13...monitor, 20...CPU, 41...robot device, 43...base, 44, 45...fixed position, 51...cable, 131...passable area, 161...simulation display, 1330, 1340, 1360, 1370, 1380, 1410, 1420...GUI.
Claims
1. An information processing method for simulating the behavior of a robot, comprising: A simulation is performed on the robot and a wire rod attached to the robot. outputting, through simulation, information regarding the length of the wire that satisfies a predetermined condition, or information regarding the holding position of the wire in the robot that satisfies a predetermined condition; An information processing method comprising:
2. 2. The information processing method according to claim 1, outputting information on a location where the wire is likely to break through the simulation; An information processing method comprising:
3. 3. The information processing method according to claim 1, If the simulation fails to obtain information on the length of the wire that satisfies a predetermined condition or information on the holding position of the wire on the robot that satisfies the predetermined condition, the simulation notifies the user to reset the range in which the length of the wire or the holding position of the wire on the robot is changed. An information processing method comprising:
4. 4. The information processing method according to claim 1, A motion of the robot and a motion of the wire rod accompanying the motion of the robot are simulated in a virtual environment. An information processing method comprising:
5. 5. The information processing method according to claim 1, Acquire information about the wire rod as an initial value; simulating the behavior of the wire based on information about the wire as an initial value; An information processing method comprising:
6. 6. The information processing method according to claim 5, As information about the wire rod as an initial value, information about the length of the wire rod or information about a holding position of the wire rod in the robot is acquired. An information processing method comprising:
7. 7. The information processing method according to claim 1, As information about the characteristics of the wire, at least one of the diameter of the wire, the density of the wire, the mass of the wire, the Young's modulus of the wire, the Poisson's ratio of the wire, and the attenuation rate of the wire is acquired. An information processing method comprising:
8. 8. The information processing method according to claim 1, a range for simulating the movement of the wire is set based on an allowable range for the length of the wire or an allowable range for the holding position of the wire in the robot; An information processing method comprising:
9. 9. The information processing method according to claim 1, simulating the movement of the wire based on constraints including physical constraints imposed on the wire by the movement of the robot; An information processing method comprising:
10. 10. The information processing method according to claim 9, The constraint conditions include at least one of setting a minimum curvature radius of the wire, setting a maximum load on the wire, setting an object that is not allowed to come into contact with the wire, and setting an area through which the wire is allowed to pass. An information processing method comprising:
11. In the information processing method according to claim 9 or 10, If the simulation fails to acquire information regarding the length of the wire that satisfies a predetermined condition or information regarding the holding position of the wire in the robot that satisfies a predetermined condition, the simulation notifies the user to reset the constraint condition. An information processing method comprising:
12. An information processing method for simulating the operation of a robot, comprising: A simulation is performed on the robot and a wire rod attached to the robot. Obtaining an evaluation value for the wire material that changes through simulation; An information processing method comprising:
13. 13. The information processing method according to claim 12, obtaining the evaluation value based on a variation in the radius of curvature of the wire; An information processing method comprising:
14. 14. The information processing method according to claim 13, displaying a position on the wire where the variation in the radius of curvature is greatest; An information processing method comprising:
15. 15. The information processing method according to claim 12, In the simulation, information about the wire rod having the highest evaluation value or ranked at least second is output. An information processing method comprising:
16. The information processing method according to any one of claims 12 to 15, acquiring information about the wire rod that satisfies a predetermined condition based on the evaluation value; An information processing method comprising:
17. 17. The information processing method according to claim 1, If the result of the simulation of the behavior of the wire rod is that information about the wire rod that satisfies a predetermined condition cannot be obtained, the user is notified of this. An information processing method comprising:
18. An information processing method for simulating the operation of a robot, comprising: A simulation is performed on the robot and a wire rod attached to the robot. outputting information about the wire rod that has satisfied constraints including physical constraints imposed on the wire rod for the longest time relative to the operation time of the robot; An information processing method comprising:
19. 19. The information processing method according to any one of claims 1 to 18, a simulation of the movement of the wire by changing information about the length of the wire or information about the holding position of the wire in the robot; An information processing method comprising:
20. 20. The information processing method according to any one of claims 1 to 19, Displaying the simulation process of the wire movement; An information processing method comprising:
21. 21. The information processing method according to claim 1, using a genetic algorithm in simulating the behavior of the wire; An information processing method comprising:
22. An information processing method for simulating the operation of a robot, comprising: A simulation is performed on the robot and a wire rod attached to the robot. The range in which the behavior of the wire is simulated can be set according to the type of the wire. An information processing method comprising:
23. 23. The information processing method according to any one of claims 1 to 22, Information about the holding position of the wire rod on the robot can be set by relative coordinates with respect to the robot, or by a number or name corresponding to a position previously set with respect to the robot. An information processing method comprising:
24. 24. The information processing method according to any one of claims 1 to 23, The robot's movements to be executed in the simulation can be specified by a user. An information processing method comprising:
25. 25. The information processing method according to claim 24, The robot's operation can be specified by any one of teaching point format, robot program format, and robot control data identification information. An information processing method comprising:
26. An information processing method according to any one of claims 1 to 25, the information on the length of the wire or the information on the holding position of the wire in the robot is a wiring design when the wire is provided in the robot; By using a simulation, information regarding the length of the wire or information regarding the holding position of the wire in the robot is changed to change the wiring design, and the robot is operated in this state, and the wire is evaluated. An information processing method comprising:
27. In the information processing method according to claim 26, and operating the robot and evaluating the wire rod by simulation every time information regarding the length of the wire rod or information regarding the holding position of the wire rod in the robot is changed. An information processing method comprising:
28. A program that causes a computer to execute the information processing method according to any one of claims 1 to 27.
29. A computer-readable recording medium storing the program according to claim 28.
30. A robot in which the holding position or length of the wire is set by the information processing method according to any one of claims 1 to 27.
31. A method for manufacturing an article, comprising manipulating a workpiece with the robot according to claim 30 and manufacturing the article using the workpiece.
32. An information processing device that simulates the movement of a robot, A simulation is performed on the robot and a wire rod attached to the robot. outputting, through simulation, information regarding the length of the wire that satisfies a predetermined condition, or information regarding the holding position of the wire in the robot that satisfies a predetermined condition; 1. An information processing device comprising:
33. An information processing device for simulating the operation of a robot, comprising: A simulation is performed on the robot and a wire rod attached to the robot. Obtaining an evaluation value for the wire material that changes through simulation; 1. An information processing device comprising:
34. An information processing device for simulating the operation of a robot, comprising: A simulation is performed on the robot and a wire rod attached to the robot. outputting information about the wire rod that has satisfied constraints including physical constraints imposed on the wire rod for the longest time relative to the operation time of the robot; 1. An information processing device comprising:
35. An information processing device for simulating the operation of a robot, comprising: A simulation is performed on the robot and a wire rod attached to the robot. The range in which the behavior of the wire is simulated can be set according to the type of the wire.
1. An information processing device comprising:
Citation Information
Patent Citations
Method and device for supporting design of wiring route
JP1998021269A
Optimization system using genetic algorithm, controller, optimization method, program and recording medium
JP2002312755A
Robot simulation device for simulating behavior of filament body
JP2013035083A
Robot simulation device
JP2016087750A
Simulation device, simulation program, and simulation method
JP2021045797A