Control system, control method and program
The control system addresses the labor-intensive nature of robot control by utilizing stored moving path, equal length conversion, and posture information to automate and streamline robot operation, reducing the need for repetitive teaching.
Patent Information
- Application Number
- JP2023147827
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-12
- Publication Date
- 2025-03-25
AI Technical Summary
Current robot control systems require significant labor for teaching operations, especially when changes in work tasks necessitate re-teaching the robot's movement paths and postures.
A control system that includes first moving path information, equal length conversion information, and posture information, allowing the control unit to manage the robot's movement and attitude based on these data sets, thereby reducing the need for repetitive teaching operations.
This approach significantly reduces the labor required for controlling robots by allowing for the reuse of stored operations and minimizing the need for re-teaching when changes occur, such as shifts in playback start positions or postures.
Smart Images

Figure 2025040798000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a control system, a control method, and a program. [Background technology]
[0002] The importance of robots, such as industrial robots, is increasing. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 5-096481 [Patent Document 2] Japanese Patent Publication No. 125785 / 1985 Summary of the Invention [Problem to be solved by the invention]
[0004] By the way, when controlling the movement of a robot, a teaching process is required in advance to have the robot memorize the movements while actually moving the robot along a moving path. If teaching is performed every time the robot's task changes, the robot can perform the task desired by the user.
[0005] However, this places a heavy burden on the user. Therefore, the technologies of Patent Documents 1 and 2 aim to reduce the burden on the user by replaying a motion that has been stored once at multiple playback start positions. However, the motions that can be utilized are limited, and re-teaching is required when, for example, the posture at the playback start position needs to be changed.
[0006] The present invention has been made in consideration of the above-mentioned circumstances, and has an object to provide a technique for reducing the effort required to control a robot. [Means for solving the problem]
[0007] One aspect of the present invention is a control system comprising: a control unit that moves the robot along a result of a first isometric transformation for the first movement path based on first path information indicating a first movement path, which is a first movement path of a robot, by a start position of the first movement path, an end position of the first movement path, and zero, one or more positions on the movement path between the start position and the end position, and first isometric transformation information indicating contents of a first isometric transformation, which is an isometric transformation for the first movement path, and the control unit further controls the posture of the robot based on first posture information indicating the posture of the robot at each position indicated by the first path information. Effect of the Invention
[0008] According to the present invention, the effort required to control a robot can be reduced. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is an explanatory diagram illustrating an overview of a control system according to an embodiment. [Diagram 2] 5A and 5B are explanatory diagrams illustrating examples of a movement path and a posture of a control target in the embodiment. [Diagram 3] FIG. 4 is a diagram showing an example of robot status information in the embodiment. [Figure 4] 6A to 6C are diagrams showing an example of the contents of isometric conversion according to the embodiment. [Diagram 5] FIG. 2 is a diagram illustrating an example of a hardware configuration of a control device according to an embodiment. [Figure 6] 4 is a flowchart showing an example of a flow of a process executed by a control device in the embodiment. [Figure 7] FIG. 11 is a first explanatory diagram illustrating an example of a control process in a modified example. [Figure 8] FIG. 21 is a second explanatory diagram illustrating an example of a control process in the modified example. [Figure 9] FIG. 11 is a third explanatory diagram illustrating an example of a control process in the modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] [Embodiment] 1 is an explanatory diagram illustrating an overview of a control system 100 in an embodiment. The control system 100 includes a robot 1 and a control device 2. The robot 1 is a robot such as an industrial robot, and is an object to be controlled by the control device 2. The control device 2 controls the control device. The control device 2 includes a control unit 21 including a processor 91 such as a CPU (Central Processing Unit) and a memory 92 connected by a bus, and executes a program.
[0011] The control unit 21 executes a control process. The control process is a process for controlling a control object. The control process includes, for example, a process of moving the control object along a result of a first isometric conversion for a first movement path based on first path information indicating the first movement path and first isometric conversion information indicating the content of the first isometric conversion, which is an isometric conversion for the first movement path. The first movement path is a first movement path of the control object.
[0012] The first path information indicates the first movement path by a start position of the first movement path (hereinafter referred to as a "first start position"), an end position of the first movement path (hereinafter referred to as a "first end position"), and zero, one or a plurality of positions (hereinafter referred to as "first passing positions") on the first movement path between the first start position and the first end position. Since the first path information indicates the first movement path, the first path information also has information indicating the order in which the controlled object passes through each position indicated by the first path information.
[0013] The control process also controls the attitude of the control object based on, for example, the first attitude information, which indicates the attitude of the control object at each position indicated by the first movement path (i.e., the first start position, the first end position, and the first passing position).
[0014] The first movement path indicated by the first path information and the attitude indicated by the first attitude information may be, for example, the result of teaching previously performed on the control object. Teaching is a process of actually moving the control object and storing the position and attitude of the control object together with information indicating the timing at a predetermined timing during the movement in a predetermined storage device.
[0015] FIG. 2 is an explanatory diagram illustrating an example of a movement path and a posture of a control target in an embodiment. A movement path C101 is an example of a first movement path. A position P1 is a start position of the movement path C101. Therefore, the position P1 is an example of a first start position. A position P4 is an end position of the movement path C101. Therefore, the position P4 is an example of a first end position.
[0016] Both the position P2 and the position P3 are positions on the movement path C101 between the position P1 and the position P4. Therefore, both the position P2 and the position P3 are examples of the first pass position.
[0017] 2, information indicating the position and the posture of the control target at each of positions P1 to P4 (hereinafter referred to as "robot status information") is shown. The position is shown by, for example, coordinates, and the posture is shown by, for example, a rotation angle.
[0018] The movement of the control object in the example of Fig. 2 will be described. In the example of Fig. 2, the control object starts moving from position P1, moves to position P2, then to position P3, passing through positions P2 and P3, and moves to position P4. The orientation of the control object at each position at that time is the orientation indicated by the first orientation information.
[0019] For example, robot situation information is expressed as a six-dimensional vector, with the first to third elements indicating absolute coordinates and the fourth to sixth elements indicating the rotation angle. In other words, the first to third elements indicate the position and the fourth to sixth elements indicate the posture of the control target. In the example in Figure 2, the robot situation information is represented as a six-dimensional vector.
[0020] Vector Q1 in Fig. 2 is robot situation information indicating position P1 and the posture of the control object at position P1. Vector Q2 in Fig. 2 is robot situation information indicating position P2 and the posture of the control object at position P2. Vector Q3 in Fig. 2 is robot situation information indicating position P3 and the posture of the control object at position P3. Vector Q4 in Fig. 2 is robot situation information indicating position P4 and the posture of the control object at position P4.
[0021] The robot status information indicates the position by, for example, the absolute coordinates of each axis in a three-dimensional coordinate system. The three-dimensional coordinate system may be an orthogonal coordinate system such as a system spanned by three orthogonal axes, the X-axis, the Y-axis, and the Z-axis (hereinafter referred to as the "XYZ coordinate system"), or may be an oblique coordinate system. The robot status information indicates the attitude of the controlled object by, for example, a rotation angle from a predetermined reference direction in a plane orthogonal to each axis in the coordinate system used to display the position. If the coordinate system used to display the position is the XYZ coordinate system, the planes orthogonal to each axis in the coordinate system used to display the position are the three planes, the XY plane, the YZ plane, and the XZ plane. For simplicity of explanation, the following explanation will be given taking the three-dimensional coordinate system as the XYZ coordinate system as an example.
[0022] In the example of Fig. 2, for example, vector Q1 indicates that, with regard to position, position P1, when expressed in the XYZ coordinate system, is a position where the X-axis coordinate is 10, the Y-axis coordinate is 10, and the Z-axis coordinate is 10. Also, with regard to orientation, vector Q1 indicates that the orientation of the control object at position P1 is such that the rotation angle in the XY plane is (-45) degrees, the rotation angle in the YZ plane is 0 degrees, and the rotation angle in the XZ plane is 0 degrees.
[0023] In the example of Fig. 2, for example, vector Q2 indicates that, in terms of position, position P2, when expressed in the XYZ coordinate system, has an X-axis coordinate of 10, a Y-axis coordinate of 20, and a Z-axis coordinate of 25. Also, vector Q2 indicates that, in terms of orientation, the orientation of the control object at position P2 is such that the rotation angle in the XY plane is (-45) degrees, the rotation angle in the YZ plane is 0 degrees, and the rotation angle in the XZ plane is 0 degrees.
[0024] In the example of Fig. 2, for example, vector Q3 indicates that, with regard to position, position P3, when expressed in the XYZ coordinate system, has an X-axis coordinate of 10, a Y-axis coordinate of 30, and a Z-axis coordinate of 25. Also, with regard to orientation, vector Q3 indicates that the orientation of the control object at position P3 is such that the rotation angle in the XY plane is (-45) degrees, the rotation angle in the YZ plane is 0 degrees, and the rotation angle in the XZ plane is 0 degrees.
[0025] In the example of Fig. 2, for example, vector Q4 indicates that, with regard to position, position P4, when expressed in the XYZ coordinate system, has an X-axis coordinate of 10, a Y-axis coordinate of 40, and a Z-axis coordinate of 40. Also, with regard to orientation, vector Q4 indicates that the orientation of the control object at position P4 is such that the rotation angle in the XY plane is (90) degrees, the rotation angle in the YZ plane is 0 degrees, and the rotation angle in the XZ plane is 0 degrees.
[0026] In this way, the robot status information is information indicated for each of the start position, end position, and passing position on the first movement path, and is information indicating the position and posture. The number of passing positions may be zero. Therefore, the set of robot status information indicated by each of the start position, end position, and passing position on the first movement path includes first path information and first posture information. In the example of FIG. 2, the set of position information indicated by vectors Q1 to Q4 is an example of first path information, and the set of posture information indicated by vectors Q1 to Q4 is an example of first posture information.
[0027] FIG. 3 is a diagram showing an example of robot status information in an embodiment. The robot status information in FIG. 3 shows the same route as the route shown in the robot status information in FIG. 2, but is displayed in a different manner. Unlike FIG. 2, the example in FIG. 3 shows relative coordinates from the start position of the movement route. The start position of the movement route itself is also shown in relative coordinates from a position other than the start position of the movement route in the example in FIG. 3. However, in the case of the display manner in the example in FIG. 3, the robot status information has not only relative coordinates for the start position of the movement route, but also absolute coordinate information (not shown).
[0028] The first to third elements of vector Q2 shown in Fig. 3 are 0, 10, and 15, respectively. According to Fig. 2, the absolute coordinates of position P1 are (10, 10, 10), so adding vector (0, 10, 15) to vector (10, 10, 10) gives (10, 20, 25). These are the coordinates of position P2 indicated by vector Q2 in Fig. 2.
[0029] The first to third elements of vector Q3 shown in Fig. 3 are, in order, 0, 20, and 15. According to Fig. 2, the absolute coordinates of position P1 are (10, 10, 10), so adding the vector (0, 20, 15) to this gives (10, 30, 25). These are the coordinates of position P3 indicated by vector Q3 in Fig. 2.
[0030] The first to third elements of vector Q4 shown in Fig. 3 are, in order, 0, 30, 30. According to Fig. 2, the absolute coordinates of position P1 are (10, 10, 10), so adding the vector (0, 30, 30) to this gives (10, 40, 40). These are the coordinates of position P4 indicated by vector Q4 in Fig. 2.
[0031] The movement of the control object may be any movement as long as it moves sequentially through each position indicated by the first path information, whether the position is specified by absolute coordinates as in FIG. 2 or by relative coordinates as in FIG. 3. Therefore, the movement may be a relative coordinate specified movement, or may not be. Relative coordinate specified movement is a movement in which the control object moves from the origin to the destination using relative coordinates indicating the destination position as seen from the origin. Movement that does not have to be such a movement may be, for example, a movement in which the control object moves sequentially to positions indicated by absolute coordinates. Furthermore, the movement between each position may occur along any trajectory, and may be a linear movement or a curved movement.
[0032] For example, in the example of Fig. 3, positions P2 to P4 are defined by relative position coordinates when position P1 is the origin (0,0,0). In this case, an identifier that indicates "one data group based on P1" can be assigned to each of positions P1 to P4, and the data can be recorded in a predetermined storage device such as storage unit 23 described later in order to distinguish them from other data. As a result, when control unit 21 controls the control target, data indicating each of positions P1 to P4 can be acquired more easily than when the identifiers are not assigned.
[0033] Easier acquisition of data means that a smaller amount of processing is required for control unit 21 to find desired data from the many pieces of data recorded in storage unit 23. As a result, the amount of processing required for control of translation of the control object by control unit 21 is reduced. In such a case, control unit 21 may obtain, for example, the difference between the relative coordinates of the start point and the destination point, and translate the control object using this as the amount of movement.
[0034] 4 is a diagram showing an example of the contents of isometric transformation in the embodiment, more specifically, FIG 4 shows an example of the result of isometric transformation on the movement path C101 shown in FIG 2.
[0035] As described in textbooks on linear algebra, topological space theory, or functional analysis, an isometric transformation is a transformation that transforms a specified metric space and does not change the distance between any two points in the metric space.
[0036] Therefore, isometric transformation does not include enlargement or reduction, but includes rotation, translation, and reflection. Note that isometric transformation also includes identity transformation.
[0037] In Fig. 4, the moving route is indicated by the reference symbol C103. The moving route shown in the example of Fig. 4 is a moving route indicated by the result of performing isometric transformation indicated by the first isometric transformation information on a predetermined metric space when the metric space includes positions P1 to P4 on the moving route C101 in Fig. 2. The moving route C103 in Fig. 4 is the moving route after transformation of the moving route C101.
[0038] More specifically, position P5 is the position that is transformed by isometric transformation of position P1, position P6 is the position that is transformed by isometric transformation of position P2, position P7 is the position that is transformed by isometric transformation of position P3, and position P8 is the position that is transformed by isometric transformation of position P4.
[0039] In the example of Fig. 4, the coordinates are shown in the above-mentioned absolute coordinates. The start position of the movement path C103 is a position P5 which is a position corresponding to the position P1. To explain the isometric transformation in the example of Fig. 4 more specifically, the movement path C101 is translated so that the position P1 is translated to the position P5, and then the movement path is rotated (-90 degrees) on the paper surface around the position P5.
[0040] We will explain why we can say this about a (-90) degree rotation from Figures 2 and 4. Any combination of positions can be verified by comparing any two positions on the movement path in Figure 2 with the corresponding two positions on the movement path in Figure 4, but for example, let's compare positions P1, P2, P5, and P6. According to Figure 2, the position vector of position P2 seen from position P1 is (0, 10, 15) (= (10, 20, 25) - (10, 10, 10)). On the other hand, according to Figure 4, the position vector of position P6 seen from position P5 is (0, 15, -10) (= (10, 75, 40) - (10, 60, 50)).
[0041] Now consider a case where a column vector (0, 10, 15) is rotated by (-90) degrees. For simplicity, let's define the first, second, and third elements of the column vector as representing the X-axis coordinates, Y-axis coordinates, and Z-axis coordinates, respectively, and define the direction perpendicular to the paper as the X-axis. In this case, the rotation matrix U that represents a rotation of (-90) degrees on the X-axis is expressed by equation (1) below. The result of rotating column vector (0, 10, 15) by (-90) degrees around the X-axis is the column vector (0, 15, -10), as shown in equation (2) below.
[0042]
number
[0043]
number
[0044] Thus, in the example of FIG. 4, the movement path is the result of not only translation but also rotation, and the angle of rotation is (-90) degrees.
[0045] In the example of Fig. 4, not only is the path of movement transformed by isometric transformation, but the attitude of the controlled object is also transformed. Specifically, in the example of Fig. 4, as can be seen by comparing it with Fig. 2, a transformation is performed in which the rotation angle of the attitude indicated by the fourth element at each position is rotated by (-90) degrees.
[0046] As described above, in the example of FIG. 4, the angle of rotation of the movement path is (-90) degrees compared to the movement path in FIG. 2. Since the movement path has been rotated (-90) degrees, the attitude of the control object has also rotated (-90 degrees). That is, in the example of FIG. 4, the first isometric conversion information also indicates the rotation of the movement path, and in such a case, the control unit 21 also rotates the control object by the same rotation angle as the rotation angle of the movement path indicated by the first isometric conversion information. In this way, the control unit 21 converts not only the movement path but also the attitude based on the first isometric conversion information, and controls the movement and attitude of the control object according to the result.
[0047] <Effect of rotating the attitude of the control target by the rotation angle indicated by the first isometric transformation information> Generally, if the posture of the controlled object does not change even if the moving path is changed, the controlled object will not operate properly. For example, if the moving path is rotated by 90 degrees but the value of the rotation angle indicating the posture of the controlled object remains the same, the relative positional relationship between the controlled object and the moving path will change before and after the moving path is rotated.
[0048] Considering that the motion of a controlled object is generally determined according to its relative positional relationship with the moving path, if the relative positional relationship with the moving path changes, the controlled object may not be able to perform an appropriate motion. On the other hand, if the same rotation as that of the moving path is performed on the controlled object, the relative positional relationship between the controlled object and the moving path does not change, so the possibility that the controlled object will not be able to perform an appropriate motion is reduced.
[0049] In addition, since isometric transformation includes reflection, reflection may be performed in the isometric transformation of the movement path. That is, the isometric transformation indicated by the first isometric transformation information may include reflection. In such a case, the posture of the control object may be transformed by reflection similar to the reflection of the movement path. In the case of reflection, as in the case of rotation, if the posture of the control object is not subjected to reflection, the relative positional relationship between the control object and the movement path changes, and the control object may not operate properly. Conversely, in the case of reflection, as in the case of rotation, if the posture of the control object is subjected to reflection, the relative positional relationship between the control object and the movement path does not change, and the possibility that the control object will not operate properly is reduced.
[0050] <Example of hardware configuration> 5 is a diagram showing an example of a hardware configuration of the control device 2 in the embodiment. As described above, the control device 2 includes the control unit 21 and executes a program. The control device 2 functions as a device including the control unit 21, an interface unit 22, and a storage unit 23 by executing the program.
[0051] More specifically, the processor 91 reads out a program stored in the storage unit 23, and stores the read out program in the memory 92. The processor 91 executes the program stored in the memory 92, whereby the control device 2 functions as a device including the control unit 21, the interface unit 22, and the storage unit 23.
[0052] The control unit 21 performs, for example, control processing. The control unit 21 controls, for example, the operation of each functional unit provided in the control device 2. The control unit 21 controls the movement and posture of the control target, for example, via the interface unit 22. The control unit 21 acquires first isometric conversion information, for example, via the interface unit 22. The control unit 21 acquires, for example, information stored in the memory unit 23. The process of acquiring the information stored in the memory unit 23 is specifically a readout process.
[0053] The interface unit 22 includes a communication interface for connecting the control device 2 to an external device. The interface unit 22 communicates with the external device via wired or wireless communication. The external device is, for example, a control target. In such a case, the interface unit 22 controls the movement and attitude of the control target by communicating with the control target.
[0054] The external device is, for example, a device that is a transmission source of the first equal length conversion information. In this case, the interface unit 22 acquires the first equal length conversion information by communicating with the device that is a transmission source of the first equal length conversion information.
[0055] The interface unit 22 includes input devices such as a mouse, a keyboard, and a touch panel. The interface unit 22 may be configured as an interface that connects these input devices to the control device 2. In this manner, the interface unit 22 accepts input of various information to the control device 2 via the input device, either wired or wirelessly. Note that the first isometric conversion information does not necessarily need to be input to a communication interface, and may be input to an input device.
[0056] The interface unit 22 outputs various information. The interface unit 22 includes a display device such as a CRT (Cathode Ray Tube) display, a liquid crystal display, or an organic EL (Electro-Luminescence) display. The interface unit 22 may be configured as an interface that connects these display devices to the control device 2. The interface unit 22 outputs information input to the interface unit 22, for example.
[0057] The memory unit 23 is configured using a computer-readable storage medium device (non-transitory computer-readable recording medium) such as a magnetic hard disk device or a semiconductor storage device. The memory unit 23 stores various information related to the control device 2. The memory unit 23 stores, for example, information necessary for controlling the movement and attitude of a control target. The memory unit 23 stores, for example, first path information and first attitude information in advance. The memory unit 23 stores, for example, various information generated by the operation of the control unit 21. The memory unit 23 stores, for example, information acquired by the interface unit 22.
[0058] 6 is a flowchart showing an example of a flow of processing executed by the control device 2 in the embodiment. The control unit 21 acquires first path information, first attitude information, and first isometric transformation information (step S101). Next, the control unit 21 controls the movement and attitude of the control target based on the various information acquired in step S101 (step S102).
[0059] The control system 100 of the embodiment configured in this manner controls the movement and posture of the controlled object based on the first path information, the first posture information, and the first isometric transformation information. The isometric transformation indicated by the first isometric transformation information is a uniform linear transformation performed on the distance space including the first moving path. Therefore, when specifying the moving path of the controlled object, the user only needs to specify the contents of the isometric transformation, and does not need to input the moving path information and posture information by teaching or the like again. Therefore, the control system 100 can reduce the effort required to control the robot.
[0060] (Modification) In controlling the posture, the control unit 21 may control the posture of the control target based on initial posture information indicating a posture at the first start position that is not necessarily the same as the posture at the first start position indicated by the first posture information, the first posture information, and the first isometric transformation information. For example, when the posture at the first start position indicated by the initial posture information is a posture rotated by θ degrees from the posture at the first start position indicated by the first posture information, the control unit 21 controls the posture of the control target such that the posture at each position on the first movement path is a posture rotated by θ degrees from the posture indicated by the first posture information.
[0061] An example of a modified control process will be described with reference to Figs. 7 to 9. Fig. 7 is a first explanatory diagram illustrating an example of the control process in the modified example. Fig. 8 is a second explanatory diagram illustrating an example of the control process in the modified example. Fig. 9 is a third explanatory diagram illustrating an example of the control process in the modified example.
[0062] FIG. 7 shows an example of a first movement path indicated by the first path information. In the case of FIG. 7, the first path information indicates a first movement path C210 using only a first start position P9 and a first end position P10. Note that in the example of FIG. 7, the first path information indicates the first movement path without using a first pass position (i.e., using zero first pass positions), but the first path information may indicate the first movement path using one or more first pass positions. In the example of FIG. 7, the first movement path C210 is a straight path.
[0063] FIG. 8 shows an example of a second movement path indicated by the second path information. In the case of FIG. 8, the second path information indicates a second movement path C220 by only a second start position P11 and a second end position P12. The second movement path C220 is a curved path different from the first movement path C210. Therefore, even if the second start position P11 is the same as the first start position P9, the second end position P12 is a position different from the second end position P10. As shown in this example, the second movement path is a movement path of the controlled object and is different from the first movement path.
[0064] The second path information indicates the second movement path by a second start position, a second end position, and zero, one or more positions (hereinafter referred to as "second passing positions") on the second movement path between the second start position and the second end position. The second start position is the position where the second movement path starts. The second end position is the position where the second movement path ends. Since the second path information indicates the second movement path, the second path information also has information indicating the order in which the controlled object passes through each position indicated by the second path information.
[0065] The control process includes, for example, a process of moving a controlled object along the result of a second isometric transformation for the second movement path based on second path information and second isometric transformation information indicating the contents of the second isometric transformation, which is an isometric transformation for the second movement path.
[0066] The control process also controls the attitude of the control object based on, for example, the second attitude information, which indicates the attitude of the control object at each position indicated by the second movement path (i.e., the second start position, the second end position, and the second passing position).
[0067] The second movement path indicated by the second path information and the attitude indicated by the second attitude information may be, for example, the result of teaching previously performed on the control target.
[0068] As can be seen from the above explanation, the second route information is information whose indicating value is different from that of the first route information, and whose data structure is the same as that of the first route information. Also, the second orientation information is information whose indicating value is different from that of the first orientation information, and whose data structure is the same as that of the first orientation information. The second isometric conversion information is information whose indicating conversion target is the second movement route, not the first movement route, and whose data structure is the same as that of the first isometric conversion information.
[0069] Therefore, the rules for converting the second movement path indicated by the second path information based on the second isometric transformation and the rules for converting the posture indicated by the second posture information are similar to the rules for converting the first movement path based on the first isometric transformation and the rules for converting the posture indicated by the first posture information described above.
[0070] Incidentally, the control unit 21 may control the movement of the control object using multiple types of information indicating the movement route, namely, the first route information and the second route information. In this case, the attitude of the control object is controlled by using the first attitude information and the second attitude information. Such an example will be described with reference to FIG. 9.
[0071] Fig. 9 shows an example of a moving path of a controlled object obtained based on a plurality of types of first equal length conversion information, a plurality of types of second equal length conversion information, a first path information, and a second path information. The moving path in Fig. 9 is composed of a moving path C211, a moving path C221, a moving path C212, a moving path C222, and a moving path C213.
[0072] The movement route C211 is a movement route based on the first route information, and has a first start position at position P13 and a first end position at position P14. The movement route based on the first route information means a movement route resulting from conversion of the first movement route by isometric conversion indicated by one of a plurality of types of first isometric conversion information.
[0073] The movement route C221 is a movement route based on the second route information, and has a second start position at position P14 and a second end position at position P15. The movement route based on the second route information means a movement route resulting from conversion of the second movement route by isometric conversion indicated by one of the multiple types of second isometric conversion information.
[0074] The moving path C212 is a moving path based on the first path information, and has a first start position P15 and a first end position P16. As shown in Fig. 9, the moving path C212 and the moving path C211 are both obtained based on the first path information, but are different. Therefore, the first isometric conversion information on which the moving path C212 is based is different from the first isometric conversion information on which the moving path C211 is based.
[0075] The moving path C222 is a moving path based on the second path information, and the second start position is a position P16 and the second end position is a position P17. As shown in Fig. 9, the moving path C222 and the moving path C221 are both obtained based on the second path information, but are different. Therefore, the second isometric conversion information on which the moving path C222 is based is different from the second isometric conversion information on which the moving path C221 is based.
[0076] The moving path C213 is a moving path based on the first path information, and has a first start position at position P17 and a first end position at position P18. As shown in Fig. 9, the moving path C213, the moving path C211, and the moving path C212 are all obtained based on the first path information, but are different. Therefore, the first isometric conversion information on which the moving path C213 is based is different from the first isometric conversion information on which the moving path C211 is based and the first isometric conversion information on which the moving path C212 is based.
[0077] On the movement path in FIG. 9 thus configured, the control object moves from position P13, passing through positions P14, P15, P16, and P17 in this order, to position P18.
[0078] Although the first route information and the second route information have been shown so far as examples of information indicating a moving route, the information indicating a moving route used by the control unit 21 to control the movement of the controlled object does not necessarily have to be two or less types. Information indicating M types of moving routes from the first route information to the Mth route information (M is a natural number equal to or greater than 1) may be used. Therefore, for example, information indicating 10 types of moving routes from the first route information to the tenth route information may be used. When there are M types of information indicating a moving route, there are also M types of information indicating a posture. Therefore, when the control unit 21 uses information indicating M types of moving routes from the first route information to the Mth route information, the control unit 21 uses information indicating M types of postures from the first posture information to the Mth posture information.
[0079] When M types of information indicating the movement routes of the first route information to the Mth route information are used, information indicating the corresponding isometric conversion may be used. However, it is not necessary to have information indicating the corresponding isometric conversion, and if the isometric conversion has been performed, there is no difference from the movement route before the conversion, there is no need to have information indicating the corresponding isometric conversion. In addition, as in the example of FIG. 9, there are cases where multiple movement routes along which the control target actually moves are obtained from one type of information indicating the movement route, and in such a case, among the movement routes obtained as the movement routes along which the control target actually moves, there is no need to have a corresponding isometric conversion for ... difference from the movement route before the conversion, even if the isometric conversion has been performed.
[0080] This is because in either case, the result is the same whether or not isometric transformation is performed. Note that an isometric transformation that does not change the result of the transformation is an identity transformation. Therefore, for a travel path that does not necessarily require isometric transformation, there is no need to have information indicating isometric transformation in the first place.
[0081] The expression of the movement route obtained based on the second route information is an expression indicating the movement route along which the controlled object actually moves, including the case where there is no difference between the movement route indicated by the second route information and the movement route after the isometric transformation. More specifically, when there is no difference between the movement route indicated by the second route information and the movement route after the isometric transformation, the movement route along which the controlled object actually moves is the movement route indicated by the second route information, but it does not necessarily have to be the result of the isometric transformation, so it is expressed as the movement route obtained based on the second route information.
[0082] In summary, the moving route obtained based on the second route information is the result of the isometric transformation if the isometric transformation is not an identity transformation, is the result either before or after the isometric transformation is performed if the isometric transformation is an identity transformation, and is the moving route itself indicated by the second route information if there is no information indicating the isometric transformation. This also applies to the m-th route information (m is an integer between 1 and M) from the first route information to the M-th route information.
[0083] This also applies to the m-th posture information. That is, the posture obtained based on the m-th posture information is the result of isometric transformation if the isometric transformation is not an identity transformation, is the result either before or after the isometric transformation is performed if the isometric transformation is an identity transformation, and is the posture itself indicated by the m-th posture information if there is no information indicating an isometric transformation.
[0084] In the example of Figure 9, a case is shown in which multiple types of first equal length conversion information and multiple types of second equal length conversion information are used, but either one or both of the first equal length conversion information and the second equal length conversion information used may be one type or less.
[0085] In the example of Figure 9, the attitude of the controlled object is based on the first attitude information for the attitude on a movement path based on the first route information, and is based on the second attitude information for the attitude on a movement path based on the second route information.
[0086] In this way, the control unit 21 controls the movement and posture of the controlled object so that the controlled object moves along a movement path based on the second path information after moving along the result of the first isometric transformation on the first movement path.
[0087] Meanwhile, the control unit 21 may execute a posture determination process. The posture determination process is a process for determining whether or not a posture based on the first posture information at an end position of a movement path based on the first route information matches a posture based on the second posture information at a start position of a movement path based on the second route information. When performing the posture determination process, the control unit 21 controls the movement path based on a predetermined rule (hereinafter referred to as a "movement path control rule") according to the result of the determination of the posture determination process.
[0088] The posture based on the first posture information and at the end position of the movement path based on the first path information (hereinafter referred to as the "first end posture") is, for example, the posture based on the first posture information at position P16 in Fig. 9. The posture based on the second posture information and at the start position of the movement path based on the second path information (hereinafter referred to as the "second start posture") is, for example, the posture based on the second posture information at position P16 in Fig. 9.
[0089] 9, the end position of the movement path C212 and the start position of the movement path C222 are the same, but the start positions and end positions of different movement paths do not necessarily have to be the same. In other words, for example, the end position of the movement path C212 and the start position of the movement path C222 may be different positions.
[0090] The movement path control rule is, for example, a rule that when the first ending attitude and the second starting attitude differ by a predetermined angle Ψ, such as 180 degrees, the movement path based on the second movement path is further rotated by Ψ.
[0091] <About display> The control unit 21 may display the movement route based on the first movement route and the movement route based on the second route information on a predetermined display device so that they can be distinguished from each other. The predetermined display device is, for example, a display device provided in the interface unit 22. The predetermined display device does not necessarily have to be provided in the control device 2, and may be an external display device different from the control device 2 that can be controlled by the control unit 21 via the interface unit 22.
[0092] Such a display has the effect of improving visibility when multiple movements are combined to create a series of actions, by making it easier to see at a glance how the movements are combined.
[0093] The control unit 21 may display, on a predetermined display device, positions whose coordinates after the first isometric conversion are different from those before the first isometric conversion among the positions indicated by the first route information, so that the positions whose coordinates after the first isometric conversion are distinguishable from those before the first isometric conversion among the positions indicated by the first route information. The predetermined display device does not necessarily need to be provided in the control device 2, and may be an external display device different from the control device 2 that can be controlled by the control unit 21 via the interface unit 22.
[0094] Such a display has the effect of improving visibility when multiple movements are combined to create a series of actions, by making it easier to see at a glance how the movements are combined.
[0095] As mentioned above, isometric transformation includes mirroring. When controlling the movement and posture of a control object with a different installation orientation or a symmetrical shape, the use of mirroring as isometric transformation can reduce the effort required for teaching.
[0096] When the movement path of the controlled object goes outside a predetermined space, the control unit 21 may output, to a predetermined output destination, a notification expressing that the movement path of the controlled object goes outside the predetermined space. The predetermined output destination is, for example, the interface unit 22. The predetermined output destination does not necessarily have to be provided in the control device 2, and may be an external output device different from the control device 2 that can be controlled by the control unit 21 via the interface unit 22. The output method may be, for example, display of an image or video, or output of sound.
[0097] All or part of the respective functions of the control system 100 and the control device 2 may be realized using hardware such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or an FPGA (Field Programmable Gate Array). The program may be recorded on a computer-readable recording medium. Examples of computer-readable recording media include portable media such as flexible disks, magneto-optical disks, ROMs, and CD-ROMs, and storage devices such as hard disks built into computer systems. The program may be transmitted via an electric communication line.
[0098] The control device 2 may be implemented using a plurality of information processing devices communicably connected via a network. In this case, each functional unit of the control device 2 may be distributed and implemented in the plurality of information processing devices.
[0099] In addition, within the scope of the invention, the components in the above-described embodiments may be replaced with well-known components, and the above-described modified examples may be combined as appropriate. [Explanation of symbols]
[0100] 100... control system, 1... robot, 2... control device, 21... control unit, 22... interface unit, 23... storage unit, 91... processor, 92... memory
Claims
1. a control unit that moves the robot along a result of the first isometric transformation on the first movement path based on first path information indicating a first movement path, which is a first movement path of a robot, by a start position of the first movement path, an end position of the first movement path, and zero, one, or a plurality of positions on the movement path between the start position and the end position, and first isometric transformation information indicating the content of a first isometric transformation, which is an isometric transformation on the first movement path; Equipped with The control unit further controls a posture of the robot based on first posture information indicating a posture of the robot at each position indicated by the first path information. Control system.
2. the control unit controls the posture based on initial posture information indicating a posture of the robot at the start position, the posture being not necessarily the same as the posture of the robot at the start position indicated by the first posture information, the first posture information, and the first isometric transformation information. The control system of claim 1 .
3. The control unit further performs the following calculation based on second path information, which is information indicating a second movement path that is different from the first movement path, and which indicates the second movement path by a start position of the second movement path, an end position of the second movement path, and zero or more positions on the movement path between the start position of the second movement path and the end position of the second movement path, and second posture information which indicates a posture of the robot at each position indicated by the second path information: controlling a movement and a posture of the robot such that the robot moves along a movement path based on the second path information after performing a movement along a result of the first isometric transformation on the first movement path; The control system of claim 1 .
4. the control unit determines whether or not a posture based on the first posture information at a position where the movement path based on the first path information ends matches a posture based on the second posture information at a position where the movement path based on the second path information starts; The control unit controls a moving path of the robot according to a predetermined rule corresponding to a result of the determination. The control system of claim 3.
5. The control unit displays a movement route based on the first movement route and a movement route based on the second route information on a predetermined display device so as to be distinguishable from each other. The control system of claim 3.
6. the control unit displays, on a predetermined display device, a position whose coordinate after the first isometric conversion is different from that before the first isometric conversion among the positions indicated by the first route information in such a manner that the position whose coordinate after the first isometric conversion is the same as that before the first isometric conversion among the positions indicated by the first route information. The control system of claim 1 .
7. The isometric transformation is a reflection. The control system of claim 1 .
8. a control step of moving the robot along a result of the first isometric transformation for the first movement path based on first path information indicating a first movement path, which is a first movement path of a robot, by a start position of the first movement path, an end position of the first movement path, and zero, one or a plurality of positions on the movement path between the start position and the end position, and first isometric transformation information indicating the content of a first isometric transformation, which is an isometric transformation for the first movement path; having The control step further includes controlling a posture of the robot based on first posture information indicating a posture of the robot at each position indicated by the first path information. Control methods.
9. A program for causing a computer to function as the control system according to any one of claims 1 to 7.
Citation Information
Patent Citations
Robot sharing system
JP1986125785A
Robot control device
JP1993096481A