Origin recovery control device of robot and search method of origin recovery path thereof
Patent Information
- Application Number
- CN202210180400.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-25
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2042-02-25
AI Technical Summary
[0004]根据设置机器人的环境,有的情况下,由于追加了初始的设计中不存在的设备,或者未以机器人能够识别的状态读取设备的CAD数据,因此基于如位于其他公司的周边的设备模型,无法计算安全的恢复路径
[0020] Furthermore, according to a preferred embodiment of the robot arm origin recovery path search device, during the recovery path search process, if motion log data located on a path connecting two nodes exists in the motion log data deleted during the extraction process, then the node based on this motion log data is interpolated between the two nodes to generate a recovery path. After the recovery path search is completed, by interpolating the motion log data located on the path connecting two nodes, the trajectory of the robot moving from the recovery origin to the current position is more accurately tracked in the reverse direction until the robot actually moves to the recovery origin along the searched path. This further reduces the possibility of contact with obstacles or other obstacles during the robot's movement to the recovery origin.
Smart Images

Figure CN116690552B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to a robot origin restoration control device and a method for searching the origin restoration path. In particular, it relates to a control device for a robot having an arm (mechanical arm or manipulator) as a movable part, which restores the position and posture of the arm to a predetermined origin, and a method for searching the origin restoration path. Background Technology
[0002] In recent years, robots that handle objects and perform tasks have been frequently used in industrial and various service sectors.
[0003] For example, in equipment using industrial robots (factories, etc.), when a robot encounters an anomaly during automatic operation, it will stop (abnormal stop). In this case, to restore the robot (robotic arm or manipulator) to the operation it was performing before stopping, it is first necessary to perform an origin recovery operation to return the robot to the origin position specified by the robot program, and then restart the robot program. Generally speaking, about 60% of the startup time for such equipment is spent on creating and modifying the robot program used for the origin recovery operation in case of abnormal stop.
[0004] Depending on the environment in which the robot is set up, in some cases, due to the addition of equipment not present in the initial design, or the failure to read the CAD data of the equipment in a state that the robot can recognize, it is impossible to calculate a safe recovery path based on equipment models located in the vicinity of other companies. Because of this, it is necessary to pre-determine the direction of the recovery action, or to classify the action scenarios based on the robot's state, etc. In short, prior preparation takes time.
[0005] For example, Patent Document 1 discloses a method for restoring the origin of a robot, which attempts to restore the robot from the stopped position to the working origin position in a simple way without increasing the load on the system.
[0006] Specifically, a limited recovery method is adopted, in which the area map, including at least the area where the robot moves, is divided according to the block units with specified areas, and the recovery direction of the robot is calculated according to the divided block units.
[0007] Existing technical documents
[0008] Patent documents
[0009] Patent Document 1: Japanese Patent Application Publication No. 2009-90383 Summary of the Invention
[0010] The technical problem to be solved by the present invention
[0011] However, in the case of the limited recovery method disclosed in Patent Document 1, it is necessary to register in advance the area where the robot's movement is disturbed and the robot's recovery direction, or to generate a region block as the robot's movement area, etc., which increases the operator's working hours accordingly.
[0012] In view of the above-mentioned prior art, it is desirable to provide a control device and a method for searching the origin of a robot that can more easily perform path search based on the motion log data of the robot, including the arm as a movable part, for origin recovery.
[0013] Technical solutions for solving technical problems
[0014] According to one aspect of this disclosure, a robot origin recovery path search apparatus performs an extraction process to delete motion log data between two points located at the two ends of the straight line when the robot arm's trajectory is a straight line during the recovery path search process. The remaining motion log data at the point where the extraction process is completed is then used for the recovery path search. In other words, for a straight line segment of the robot's trajectory, if motion log data exists at both ends of the straight line, a recovery path can be searched without any problems. Therefore, the amount of motion log data used for the recovery path search can be reduced, and the search time can be reduced.
[0015] Furthermore, according to the robot arm's origin recovery path search device, when two consecutive line segments in the robot's trajectory can be considered as straight lines through path recovery search processing, the motion log data of the two points located at the ends of these two line segments are processed in the same way as described above. Here, "two consecutive line segments can be considered as straight lines" means that it is not problematic to treat the connection between the two line segments as a straight line in practice. That is, even for trajectory parts that cannot be strictly called straight lines, the same processing as in technical solution 1 can be performed on trajectory parts that can be treated as straight lines in practice.
[0016] Furthermore, according to the robot arm origin recovery path search device, through recovery path search processing, when the angle formed by the first vector determined by the action log data D(R+X) and D(R) and the second vector determined by the action log data D(R+X) and D(R+X+1) for the position and posture of the robot's fingertips is greater than a threshold, the action log data D(R+X) is deleted, and the variable X is incremented. Similarly, the angle formed by the first and second vectors is compared with the threshold. In addition, "R" and "X" in the data D(R) and D(R+X) are indices indicating the order in which the action log data was obtained, such as sequence numbers. The initial value of R and X is "1", and the action log data D(1) represents the recovery of the origin.
[0017] When the angle formed by the first and second vectors is less than or equal to the threshold, the action log data D(R+X) is retained, and action log data D(R+X) is set as the next action log data D(R). That is, after substituting the variable "R+X" into the variable X and setting the variable X to the initial value "1", the extraction process of comparing the angle formed by the first and second vectors with the threshold is repeated. Moreover, the extraction process stops when the action log data D(R+X+1) reaches the current position.
[0018] Based on this structure, when the action log data D(R), D(R+X) and D(R+X+1) of the three points are determined to be arranged on a straight line according to the threshold setting, the action log data D(R+X) located in between can be deleted, and the number of action log data used for searching the recovery path can be reduced.
[0019] Furthermore, for example, in a path recovery search device based on the origin of the robot arm, if the changes in the position and posture of the robot's fingertips based on two adjacent motion log data are less than or equal to a threshold, a merging process is performed to combine the nodes determined from these two motion log data into one node. This merged node is then used for the path recovery search. That is, depending on the robot's motion trajectory, sometimes the fingertips' positions and postures shown in the two remaining motion log data are roughly the same, so there is no obstacle to merging these path recovery searches. In this case, by merging the nodes determined from the two motion log data into one, the number of nodes used for path recovery searching can be reduced, further reducing the search time.
[0020] Furthermore, according to a preferred embodiment of the robot arm origin recovery path search device, during the recovery path search process, if motion log data located on a path connecting two nodes exists in the motion log data deleted during the extraction process, then the node based on this motion log data is interpolated between the two nodes to generate a recovery path. After the recovery path search is completed, by interpolating the motion log data located on the path connecting two nodes, the trajectory of the robot moving from the recovery origin to the current position is more accurately tracked in the reverse direction until the robot actually moves to the recovery origin along the searched path. This further reduces the possibility of contact with obstacles or other obstacles during the robot's movement to the recovery origin.
[0021] In addition, according to other aspects of this disclosure, a method and apparatus for searching the origin recovery path of a robot (mechanical arm, manipulator) with a movable arm, which achieves the same effect as one of the aforementioned aspects, are also provided, along with an installable recording medium adapted to the method. As will be described later, their structure and effects will also be explained in conjunction with the attached... Figure 1 The implementation method described above will become obvious. Attached Figure Description
[0022] Figure 1 This is a diagram conceptually illustrating the structure of a robot system including an action log data recording device and an origin recovery path search device according to a first embodiment.
[0023] Figure 2A is a flowchart (1) showing a series of origin recovery control contents.
[0024] Figure 2B is a flowchart (2) showing a series of origin recovery control contents.
[0025] Figure 3 This is a diagram illustrating the downsampling process (Figure 1).
[0026] Figure 4 This is a diagram illustrating the downsampling process (Figure 2).
[0027] Figure 5 This is a diagram illustrating the downsampling process (Figure 3).
[0028] Figure 6 This is a diagram illustrating an example of obtaining action log data through processing raw log data.
[0029] Figure 7 It shows the... Figure 6 The figure shown is an example of the remaining data after downsampling the action log data.
[0030] Figure 8 This is a diagram illustrating the case where the node used for the origin recovery path search is an undirected flag.
[0031] Figure 9 This is a diagram illustrating the case where the nodes used for the origin recovery path search are directed markers.
[0032] Figure 10 Figure 1 shows an example of the results of searching for the origin recovery path.
[0033] Figure 11 Figure 2 shows an example of the results of searching for the origin recovery path.
[0034] Figure 12 This is an example of the result of creating a path from the origin.
[0035] Figure 13 Figure (1) shows other examples of the search process and extraction process for the origin recovery path in the second embodiment.
[0036] Figure 14 The figure shown is 2-1, illustrating the search process for the origin recovery path and other examples of the extraction process.
[0037] Figure 15 The figure shown is 2-2, which illustrates other examples of the search process for the origin recovery path and the extraction process.
[0038] Explanation of reference numerals in the attached figures
[0039] 1: Robot System
[0040] 10: Robot
[0041] 22: Storage Department
[0042] 24: Action log data recording device
[0043] 241: Raw Log Data Acquisition and Processing Department
[0044] 242: Downsampling Processing Unit
[0045] 243: Records Processing Department
[0046] 25: Origin Restoration Path Search Device
[0047] 251: Recovery Point Processing Department
[0048] 252: Recovery Path Search Processing Department Detailed Implementation
[0049] The following is for reference Figures 1 to 12 The first embodiment will be described. Figure 1 The robot system 1 shown includes a multi-joint robot 10 and a robot controller 20.
[0050] The multi-joint robot 10 (hereinafter referred to as the robot) functions as a robotic arm (manipulator). As described below, the robot 10 is a vertical multi-joint robot with multiple arms (arm portions that are movably connected to each other via joints (axes)) and is controlled by a robot controller 20. Furthermore, the robot 10 can also be, for example, a horizontal multi-joint robot, a parallel link robot, or an orthogonal robot. The robot 10 and the robot controller 20 are configured to communicate with each other via wired or wireless means. Additionally, the robot controller 20 can also be communicatively connected to portable terminals such as personal computers and smartphones, or other external devices, via wired or wireless means.
[0051] In this embodiment, robot 10 is an industrial robotic arm (manipulator), for example, composed of a six-axis vertical joint robot. Figure 1 As shown, the robot 10 has a base 11 and multiple (six in this case) arms 121-126 joined together by multiple joints.
[0052] If the robot 10 is used in a specific location, the base 11 is fixed to the mounting surface. Alternatively, if the robot 10 is small enough to be moved by a person, the base 11 may not be fixed to the mounting surface. For example, it could be a structure that moves on a track. Arms 121 to 126 are sequentially mounted on the base 11. In this embodiment, they are sequentially referred to from the base 11 side as the first arm 121, the second arm 122, the third arm 123, the fourth arm 124, the fifth arm 125, and the sixth arm 126. Furthermore, unless each arm 121 to 126 is specifically designated, they are collectively referred to as arm 12.
[0053] Each arm 121 to 126 is rotatably connected to each other via multiple axes J1 to J6 (structurally composed of joints) around each axis J1 (to J6). Thus, a robotic arm (manipulator) is provided together with the base 11.
[0054] In this configuration, from the base 11 side, they are sequentially referred to as the first axis J1, the second axis J2, the third axis J3, the fourth axis J4, the fifth axis J5, and the sixth axis J6. Furthermore, unless each axis J1 to J6 is specifically designated, they are collectively referred to as axis J. The first axis J1 is a rotating axis extending in the vertical direction, rotatably connected to the first arm 121 in the horizontal direction relative to the base 11. The second axis J2 is a rotating axis extending in the horizontal direction, rotatably connected to the second arm 122 in the vertical direction relative to the first arm 121.
[0055] The third axis J3 is a rotating axis extending in the horizontal direction, rotatably connected to the third arm 123 in the vertical direction relative to the second arm 122. The fourth axis J4 is a rotating axis extending along the length of the third arm 123, rotatably connected to the fourth arm 124 relative to the third arm 123. The fifth axis J5 is a rotating axis extending in the horizontal direction, rotatably connected to the fifth arm 125 in the vertical direction relative to the fourth arm 124. Furthermore, the sixth axis J6 is a rotating axis extending along the length of the fifth arm 125, rotatably connected to the sixth arm 126 relative to the fifth arm 125.
[0056] The sixth arm 126 is the fingertip portion of the robot 10, and is configured, for example, as a flange shape. The tool 13 is detachably mounted on the tip of the sixth arm 126. The tool 13 may be, for example, a chuck or gripper, or a suction cup for holding and moving workpieces, or a machining tool for various machining operations on the workpiece, such as a drill bit for screw tightening and drilling. The tool 13 can be appropriately selected according to the purpose of the robot 10. Furthermore, although not shown in detail, the robot 10 includes motors for driving each axis J1 to J6, encoders for detecting the rotational speed and position of each axis J1 to J6, and brakes for stopping the movement of each axis J1 to J6.
[0057] The robot controller 20 includes a control unit 21, an input display device 22, a recording unit 23, an action log data recording device 24, and an origin recovery path search device 25. The control unit 21 is, for example, a microcomputer with a CPU 211 and storage areas 212 including ROM, RAM, and rewritable flash memory, and controls the movements of the entire robot 10. The input display device 22 has, for example, a touch panel, an electrical or mechanical switch, and a liquid crystal display. The recording unit 23 is, for example, a storage device capable of writing and reading various information according to instructions from the robot controller 20, or a device capable of writing to recording media such as CDs or DVDs.
[0058] Alternatively, the recording unit 23 can employ a recording device such as a flash memory fixedly installed within the housing of the robot controller 20, or a USB memory or memory card that can be plugged into and removed from the robot controller 20. Alternatively, the recording unit 23 can also employ an external so-called online storage device that can be communicatively connected via the Internet, LAN, or WAN.
[0059] The storage area 212 of the control unit 21 stores the robot control program used to drive and control the robot 10. The robot controller 20 controls the actions of the robot 10 by executing the robot control program in the CPU 211. In addition, in this embodiment, the storage area 212 stores the action log data recording program and the origin recovery path search program.
[0060] Therefore, the storage area 212 is equivalent to the recording medium of this disclosure, provided as a non-transitory computer-readable storage medium.
[0061] The control unit 21 executes an action log data recording program in the CPU 211, thereby functionally implementing the raw log data acquisition and processing unit 241, the downsampling processing unit 242, and the recording processing unit 243 virtually through software. In this case, the raw log data acquisition and processing unit 241, the downsampling processing unit 242, and the recording processing unit 243 constitute the action log data recording device 24. That is, in this embodiment, the robot control unit 20 is configured to include the action log data recording device 24.
[0062] Furthermore, the control unit 21 executes the origin recovery path search program in the CPU 211, thereby functionally implementing the origin setting processing unit 251 and the recovery path search processing unit 252 virtually through software. In this case, the origin setting processing unit 251 and the recovery path search processing unit 252 constitute the origin recovery path search device 25. That is, in this embodiment, the robot controller 20 is configured to include the origin recovery path search device 25.
[0063] Furthermore, the action log data recording program and the origin recovery path search program can also be stored in the recording unit 23 or other external recording media, and installed into the control unit 21 from the recording unit 23 or the external recording media or executed directly. Additionally, the raw log data acquisition processing unit 241, the downsampling processing unit 242, and the recording processing unit 243 can, for example, be implemented in hardware as an integrated circuit integrated with the control unit 21. Furthermore, the origin recovery setting processing unit 251 and the recovery path search processing unit 252 can, for example, be implemented in hardware as an integrated circuit integrated with the control unit 21.
[0064] Next, the motion log data recording device 24 will be described. The motion log data recording device 24 acquires motion log data from the automatic movements of the robot 10, and downsamples (i.e., extracts) the acquired motion log data according to predetermined conditions, recording it to the recording unit 23. The motion log data recording device 24 can be accessed by the recording unit 23 through processing by the control unit 21. The motion log data recording device 24 is configured to include a raw log data acquisition and processing unit 241, a downsampling processing unit 242, and a recording processing unit 243.
[0065] The raw log data acquisition and processing unit 241 is capable of performing raw log data acquisition processing. Raw log data acquisition processing involves acquiring angle information of each axis J1 to J6 of the robot 10 when it moves, as raw log data, in a certain periodic unit. In the following description, the motion log data related to the robot 10's movement may be simply referred to as log data; alternatively, it may be called motion log data D(N).
[0066] The motion log data may include at least angle information α1(N) to α6(N) related to the motion of each axis J1 to J6, and fingertip position information P(N), i.e., the position information of the tip of tool 13 or the tip of the sixth arm 126. In this case, the angle information α1(N) to α6(N) related to the motion of each axis J1 to J6 may be, for example, the motion angle, angular velocity, angular acceleration, etc. of each axis J1 to J6. In addition, the motion log data D(N) of robot 10 may also include velocity information or acceleration information of the tip of tool 13 or the tip of the sixth arm 126. The N mentioned above represents the acquisition order of the motion log data, which can be represented by either a sequence number or the acquisition time.
[0067] During the operation of the robot 10, the raw log data acquisition and processing unit 241 acquires the robot 10's operation log data at certain intervals, for example, several m seconds to tens of m seconds. In this embodiment, when raw log data acquisition processing is performed during the operation of the robot 10, the raw log data acquisition and processing unit 241 temporarily stores and saves the raw log data acquired during the robot 10's operation in the buffer of the storage area 212.
[0068] In this case, the raw log data acquisition process may also include the process of temporarily storing the acquired raw log data D(N) in a buffer, such as a volatile memory like RAM, in storage area 212. In this case, the downsampling processing unit 242 performs downsampling processing in units of a predetermined amount of raw log data D(N) accumulated in the buffer. Downsampling processing is the process of excluding data from the raw log data acquired by the raw log data acquisition processing unit 241 that meets specific conditions from the recorded data.
[0069] Next, the operation of this embodiment will be explained. Figure 2 is a flowchart showing a series of control operations performed by the robot controller 20 to restore the robot 10 to its original position (including its posture at that position) when the robot 10 stops moving, for example due to a collision with an obstacle. The process shown in Figure 2 includes the above-mentioned raw log data acquisition process ( Figure 2AS1) and downsampling processing (S3~S9), node creation processing for computation (S10~S16), path search processing ( Figure 2B The process includes S18), path creation (S19-S23), and origin position restoration (S24). First, a summary of each process will be given.
[0070] [Downsampling Processing]
[0071] Figures 3 to 7 This schematically illustrates an outline of the downsampling process, equivalent to the decimation process. For example, as shown... Figure 3 As shown, when raw log data t1 to t5 obtained through raw log data acquisition processing exists, the downsampling processing unit 242 compares the angle formed by the first vector formed by data t2→t1 and the angle formed by the second vector formed by data t2→t3 with a threshold. The threshold is set to, for example, 179 degrees. Here, the angle formed by the two vectors is greater than the threshold, so it is determined that the raw log data t1, t2, and t3 are arranged on a straight line (i.e., can be regarded as a straight line), and the raw log data t2 is deleted.
[0072] Next, as Figure 4 As shown, the downsampling processing unit 242 compares the angle formed by the first vector formed by data t3→t1 and the angle formed by the second vector formed by data t3→t4 with a threshold. Here, the angle formed by the two vectors is greater than the threshold, so it is determined that the original log data t1, t3, and t4 are arranged in a straight line, and the original log data t3 is deleted.
[0073] Next, as Figure 5 As shown, the downsampling processing unit 242 compares the angle formed by the first vector from data t4→t1 and the angle formed by the second vector from data t4→t5 with a threshold. Here, the angle formed by the two vectors is less than or equal to the threshold, so the original log data t4 is retained instead of being deleted. Furthermore, the angle formed by the first and second vectors is compared with the threshold for both P-type data (position determined by X, Y, Z coordinate values) and J-type data (pose determined by the angles formed by the four, five, and six axes of the 6-axis robot 10).
[0074] Furthermore, when generalizing the above processing, assume there are three points of original log data D(R), D(R+X), and D(R+X+1). Variables R and X are natural numbers; if these are initialized to "1", then... Figure 3 The corresponding cases are data D(1), D(2), and D(3). When deleting data D(2)... Figure 4 In the case of incrementing variable X to obtain data D(1), D(3), and D(4), and then deleting data D(3)... Figure 5In this case, the variable X is further incremented to become data D(1), D(4), and D(5).
[0075] exist Figure 5 After the data t5 shown, as Figure 6 As shown, assuming there is data t6; D(6), after deleting data D(4), the variable R is set to "4" and the variable X is set to the initial value "1". Thus, the data for the three points are D(4), D(5), and D(6). That is to say, the middle data D(R+X) is the starting point of the first and second vectors. Downsampling is performed as described above.
[0076] When, for example, Figure 6 As shown, when downsampling data t1 to t17 obtained through processing raw log data, as follows: Figure 7 As shown, only the data t1-t4, t4-t7, t7-t10, t10-t14, and t14-t17 of the robot 10's motion trajectory at both ends of the straight line are left. These are the remaining motion log data, and the original log data in between is deleted.
[0077] [Processing Node Creation for Computation]
[0078] like Figure 7 As shown, in the motion trajectory from node t4 to node t7 and then to t10, nodes t4 and t10 are close. These two close nodes would not present any obstacle during path search even if merged into one. Therefore, the path search processing unit 252, for two nodes arranged chronologically among the nodes composed of remaining motion log data, similarly to the downsampling process, compares the coordinate values (X, Y, Z) of P-type data and the angles (four-axis, five-axis, six-axis) of J-type data with thresholds to determine whether the two nodes can be merged. For example, the position threshold is set to approximately 1 mm, and the angle threshold is set to approximately 0.457 degrees. Figure 8 Show the merged nodes t4 and t10, and treat them as the state of a single node.
[0079] In addition, the nodes used for path search can also be Figure 9 The undirected sign shown Figure 10 Any of the directed signs shown. When using undirected signs, the two nodes are bidirectionally connected, and the search is performed as if all paths are traversed in both directions. Undirected signs have the advantage of being able to calculate the shortest path. On the other hand, when using directed signs, the two nodes are connected in one direction, and the search is performed to find the path that returns in the opposite direction with the shortest path that is traversed in one go. Compared to undirected signs, in directed signs, the number of data points for the paths following each node is halved.
[0080] In addition, in adopting Figure 10 In the case of the directed flag shown, the original path to return to the origin was t10→t7→t4. However, since nodes t4 and t10 merge into one node, the result is that there is no need to go through the path to node t7.
[0081] [Path search processing]
[0082] In this embodiment, a graph search, such as Dijkstra's algorithm which uses a priority queue, is applied in the search for the recovery path. For Figure 8 The nodes shown, when using graph search to derive the path from the current position t17 back to the origin t1, are as follows: Figure 11 As shown, this is the path t17→t4(&t10)→t1. Furthermore, as... Figure 12 As shown, the data on the recovery path in the original log data deleted during the downsampling process is reconfigured. This allows the robot 10 to recover to its origin position via a more accurate reverse-direction tracking path from the origin to the current position.
[0083] Next, the series of processes performed by the above-mentioned processes will be explained according to the flowchart shown in Figure 2. When the robot 10 starts to move, the raw log data acquisition processing unit 241 begins to acquire raw log data (S1). Afterwards, when the robot 10 collides with an obstacle or the like and stops moving, the acquisition of raw log data also stops (S2).
[0084] Next, the downsampling processing unit 242 takes the raw log data D(R), D(R+X), and D(R+X+1) arranged in time sequence as the first vector: D(R+X)→D(R) and the second vector: D(R+X)→D(R+X+1), and compares the angle formed by the first and second vectors with a threshold in the XYZ space (S3). When the angle formed by the two vectors is greater than the threshold (Yes), the angle formed by the two vectors with the threshold is compared in the four-axis, five-axis, and six-axis spaces (S4).
[0085] If the determination in step S4 is "yes", the data D(R+X) which serves as the starting point of the two vectors is deleted (S5), and the variable X is incremented (S6). On the other hand, if the determination in either step S3 or S4 is "no", the data D(R+X) is retained (S7), and (R+X) is substituted into the variable R, initializing the variable X to "1" (S8). Afterwards, if not all log data has been searched (S9; no), the process returns to step S3. Steps S3 to S9 above constitute downsampling processing.
[0086] When the search of all log data is complete (S9; Yes), the process moves to the node creation process for computation. This process deals with the remaining motion log data after downsampling. First, it is determined whether the starting point of the search has not been merged into other nodes (S10). If it has not been merged (Yes), it is determined whether the distance from the starting point to the next point is less than or equal to 1 mm (S12). If the distance is less than or equal to 1 mm (Yes), it is further determined whether the displacement of the four-axis, five-axis, and six-axis is less than or equal to a specified value (e.g., 0.457 degrees here) (S13).
[0087] If the determination in step S13 is "yes", the two points are recorded as the same node in the data array (S14), and it is then determined whether all points have been searched from the starting point (S15). If all points have been searched from the starting point (yes), it is determined whether all points of the remaining action log data have been searched (S16). If the determination here is "yes", proceed to step S18. If the determination in steps S10 and S16 is "no" respectively, advance one point from the starting point of the search (S11, S17) and return to step S10. Additionally, if the determination in steps S12 and S13 is "no" respectively, proceed to step S15. This concludes the node creation process for computation.
[0088] Step S18 is the path search process, which performs a graph search based on the nodes created by the node creation process (i.e., some nodes are merged) to minimize the distance of the path to the target, i.e., to the restored origin (S18). After that, the process moves to step S19, which is the path creation process.
[0089] In step S19, it is determined whether the current node on the searched recovery path is temporally separated from its next node. Here, regarding whether they are "temporally separated," for example, the sampling period of the log data is used as a threshold; if the sampling period between two nodes is more than twice that period, they are considered "separated." If the two nodes are not temporally separated (No), these nodes are directly registered to the recovery path (S20). On the other hand, if they are temporally separated (Yes), the remaining log data existing on the path between the two nodes is interpolated, and these are also registered to the recovery path (S21).
[0090] Next, it is determined whether the path has been registered to the final node of the recovery path, i.e., the recovery origin (S23). If it has not been registered to the final node (No), the path creation process proceeds to the next node (S22) and returns to step S19. This completes the path creation process. When registration is completed at the final node (Yes), the origin position recovery process is performed, causing the robot 10 to move and recover to the origin along the path (S24).
[0091] As described above, according to this embodiment, in the origin recovery path search device 25 mounted on the robot controller 20, when there is a section where the trajectory of the robot 10 is a straight line, the recovery path search processing unit 252 performs downsampling processing to delete motion log data between the motion log data of the two points located at both ends of the straight line, and uses the remaining motion log data left at the time point of completion of the processing for the recovery path search. That is, for a section where the trajectory of the robot 10 is a straight line, if there is motion log data located at both ends of the straight line, the recovery path can be searched without any problems. Therefore, the amount of motion log data used for the recovery path search can be reduced, and the search time can be reduced.
[0092] Specifically, the path recovery processing unit 252, regarding the position and posture of the robot 10's fingertips, when the angle formed by the first vector determined by action log data D(R+X) and D(R) and the second vector determined by action log data D(R+X) and D(R+X+1) is greater than a threshold, deletes data D(R+X), increments variable X, and similarly compares the angle formed by the first and second vectors with the threshold. When the angle formed by the first and second vectors is less than or equal to the threshold, retains action log data D(R+X), sets action log data D(R+X) as the next action log data D(R), that is, substitutes variable "R+X" into variable X, sets variable X to the initial value "1," and similarly repeats the downsampling process of comparing the angle formed by the first and second vectors with the threshold. Moreover, the downsampling process stops when data D(R+X+1) reaches the current position.
[0093] Based on this structure, when the action log data D(R), D(R+X) and D(R+X+1) of the three points are determined to be arranged on a straight line by setting the threshold, the action log data D(R+X) located in between can be deleted, and the number of action log data used for searching the recovery path can be reduced.
[0094] Furthermore, for the remaining motion log data, the recovery path search processing unit 252 performs a merging process to combine the nodes determined from the two motion log data into one node when the changes in the fingertip position and posture of the robot 10 based on two adjacent motion log data are less than or equal to a threshold. This merged node is then used for the recovery path search. This reduces the number of nodes used for the recovery path search and further reduces the search time.
[0095] Furthermore, when searching for a recovery path based on the nodes after merging, the recovery path search processing unit 252, if data located on a path connecting two nodes exists in the motion log data deleted during the downsampling process, interpolates the nodes based on that motion log data between the two nodes to generate a recovery path. This allows for more accurate reverse tracking of the robot 10's trajectory from the recovery origin to its current position, and further reduces the possibility of contact with obstacles or other obstacles during the process of moving the robot 10 back to the recovery origin.
[0096] Furthermore, the origin recovery path search device 25 described above performs the following... Figure 2A , Figure 2B In the processing, step S2 is equivalent to the recovery or non-recovery determination step (sequence, unit), steps S3 and S4 are equivalent to the deemed straight line part determination step (sequence, unit), steps S5 to S9 are equivalent to the extraction step (sequence, unit), and steps S10 to S23 are equivalent to the calculation step. Further, step S24 is equivalent to the recovery control unit (recovery control section).
[0097] (Second Implementation)
[0098] Next, refer to Figures 13-15 The robot system of the second embodiment will be described.
[0099] The hardware structural elements of this robot system are identical to those of the industrial robot system 1 of the first embodiment described above. Therefore, structural elements with the same or equivalent functions are labeled with the same symbols, and their descriptions are omitted or simplified.
[0100] The robot system 1 of the second embodiment also includes a multi-joint robot 10 and a robot controller 20, just like the first embodiment, but the recovery path search performed by the robot controller 20 is different.
[0101] The second embodiment illustrates various other examples of extraction processing in path recovery search. As stated in the first embodiment, the threshold for extraction processing is set to 179. Therefore, as Figures 13 to 15 As shown, if the angle formed by the first vector and the second vector is 179 degrees, it means that although strictly speaking, the connection between these two line segments cannot be called a straight line, it is not a problem to treat it as a straight line in practice.
[0102] exist Figure 13In the process, when the spatial direction determined by log data t2→t1 is taken as the first vector, and the spatial direction determined by log data t2→t3 is taken as the second vector (in the following text, only the direction marker "→" is used to simplify the expression of vectors), if the angle formed by these vectors is less than 179 degrees (i.e., cannot be regarded as a straight line), then the original log data t2 is not extracted and remains. Next, when t3→t2 is taken as the first vector and t3→t4 is taken as the second vector, if the angle formed by these vectors is 179 degrees (i.e., regarded as a straight line), then the original log data t3 is extracted.
[0103] In addition, such as Figure 14 As shown, the original log data t1 to t4 can be considered as arranged on a straight line, therefore the data t2 and t3 between them are extracted sequentially. On the other hand, although the original log data t4 to t7 are not arranged on a straight line, when t5→t4 is taken as the first vector and t5→t6 as the second vector, the angle formed by these vectors is greater than or equal to 179 degrees (i.e., considered as a straight line), therefore the original log data t5 is extracted. Moreover, when t6→t4 is taken as the first vector and t6→t7 as the second vector, the angle formed by these vectors is also greater than or equal to 179 degrees (i.e., considered as a straight line), therefore... Figure 15 The original log data t6 shown was also extracted.
[0104] However, when t4→t1 is taken as the first vector and t4→t5 as the second vector, the angle formed by these vectors is acute, less than 179 degrees. Therefore, these vectors are not considered as straight lines. Therefore, as... Figure 15 As shown, the search traces the recovery path from t1 to t4 to t7.
[0105] In this way, even if there are obstacles such as pillars between the spatial locations shown in log data t1 and t7, a detour path can be reliably established through the spatial location shown in log data t4. Therefore, based on the determination of whether it is a straight line or can be considered a straight line, the search for a recovery path can be performed more accurately and reliably.
[0106] The present invention is not limited to the embodiments described above and in the accompanying drawings, and can be modified, combined or extended in any way without departing from the spirit of the invention.
[0107] First, the types of robots that can apply the origin-restoring path search device and search method of the present invention are not necessarily limited to the aforementioned industrial robots used in manufacturing sites. These search devices and search methods can be any robot that has an arm (mechanical arm, manipulator) as a movable part that performs some work on an object, and that detects and restores the arm to a predetermined origin when an anomaly occurs. For example, as exemplified by collaborative robots that work with humans in recent years, robots used in the service sector can also be used.
[0108] In addition, downsampling processing does not necessarily follow Figures 3 to 5 Proceed in the order shown.
[0109] In addition, merging two adjacent nodes can be done as needed.
[0110] In addition, the interpolation of action log data located between the two nodes can also be performed as needed.
[0111] In addition, the specific values of each threshold can be adjusted according to individual design changes.
[0112] Furthermore, pathfinding methods are not limited to graph search.
Claims
1. A method for searching a robot's origin recovery path, wherein, Based on the robot's motion log data recorded in the robot controller's recording unit, a recovery path is searched to restore the robot's movable arm from its current position during motion to a recovery origin set on the robot's trajectory. The search method includes: The recovery determination step (S2, S3) determines whether the arm needs to be restored from its current position to the origin. The step of determining the part that is considered to be a straight line (S4) is as follows: when it is determined through the recovery determination step that the arm needs to be restored to the origin, the action log data recorded in the recording unit at the current time point when the determination is made is used to determine whether there is a part of the trajectory that is considered to be a straight line in the movement trajectory of the arm before the determination time point. Extraction steps (S5~S9): If the determination step of the perceived straight line portion indicates the existence of a trajectory portion considered a straight line, the action log data of the node located between the two ends of the trajectory portion considered a straight line in the temporal space corresponding to the sampling period is extracted; and The calculation steps (S10~S23) are as follows: based on the remaining action log data extracted through the extraction step, a recovery path is calculated to restore the arm to the origin.
2. The method for searching the origin recovery path of a robot according to claim 1, wherein, The motion log data is expressed as nodes for each sampling period and edges connecting those nodes, calculated using graph theory based on the arm's position and posture. The trajectory portion determined in the step of judging the apparent straight line portion is the two edges connected to one of the nodes.
3. The method for searching the origin recovery path of a robot according to claim 1 or 2, wherein, In the above calculation step, for the motion log data D(R), D(R+X), and D(R+X+1) of the three points, if the angle formed by the first vector determined by the motion log data D(R+X) and the second vector determined by the motion log data D(R+X) and the second vector determined by the motion log data D(R+X+1) for the position and posture of the robot's fingertip is greater than a threshold, then the motion log data D(R+X) is deleted, and the variable X is incremented. The angle formed by the first vector and the second vector is then compared with the threshold. If the angle is less than or equal to the threshold, then the action log data D(R+X) is retained, and D(R+X) is set as the next action log data D(R). The variable X is set to the initial value "1", and the angle formed by the first vector and the second vector is repeatedly compared with the extraction process of the threshold. The extraction process stops when the action log data D(R+X+1) reaches the current position. Where the initial value of R represents the restored origin, and X is a natural number with an initial value of "1".
4. The method for searching the origin recovery path of a robot according to claim 1 or 2, wherein, In the calculation step, for the remaining motion log data, if the changes in the position and posture of the robot's fingertips based on two adjacent motion log data are less than or equal to a threshold, then a merging process is performed to merge the nodes determined based on the two motion log data into one node, and the node after the merging process is used for the search of the recovery path.
5. The method for searching the origin recovery path of a robot according to claim 4, wherein, In the operation step, when searching for the recovery path based on the nodes after the merging process, if there is action log data located on the path connecting two nodes in the action log data deleted in the extraction process, then the node based on the action log data is interpolated between the two nodes to generate the recovery path.
6. A recording medium having a pre-stored program that enables a CPU, acting as a computing device, to access a recording unit capable of recording motion log data of a robot having a movable arm, and to execute a step of searching, based on the motion log data, a recovery path that restores the position and posture of the robot's arm from its current position to a pre-set recovery origin on the robot's trajectory. The program causes the CPU to perform the following steps in a functional manner: The decision step involves determining whether it is necessary to restore the arm from its current position to the origin. In the straight line judgment step, when it is determined through the judgment step that the arm needs to be returned to the origin, the motion log data recorded in the recording unit at the current time point when the judgment is made is used to determine whether there is a trajectory part that can be regarded as a straight line in the movement trajectory of the arm before the judgment time point. In the extraction step, if it is determined through the straight line judgment step that there is a trajectory portion regarded as a straight line, the action log data of the node located between the two ends of the trajectory portion regarded as a straight line in the temporal space corresponding to the sampling period is extracted. as well as The recovery path calculation step calculates a recovery path to restore the arm to the origin based on the remaining action log data extracted in the extraction step.
7. A robot origin return control device that restores the arm of a robot having a movable arm to a predetermined origin in space, said robot origin return control device comprising: The recording unit stores the position and posture of the arm as motion log data of the robot according to the sampling period unit; as well as The control unit controls the movement of the arm. The control unit includes: The determination unit determines whether it is necessary to restore the arm from its current position to the origin. The straight line judgment unit determines, when it determines that the arm needs to be returned to the origin, whether there is a trajectory part that can be regarded as a straight line in the movement trajectory of the arm before the current time point when the judgment is made, based on the action log data recorded in the recording unit at the current time point when the judgment is made. The extraction unit, when the straight-line judgment unit determines that a trajectory portion considered a straight line exists, extracts the action log data of the node located between two nodes at the two ends of the trajectory portion considered a straight line in the temporal space corresponding to the sampling period; and The recovery path calculation unit calculates a recovery path for restoring the arm to the origin based on the remaining action log data extracted by the extraction unit.
8. The robot origin recovery control device according to claim 7, wherein... The motion log data is expressed as nodes for each sampling period and edges connecting those nodes, calculated using graph theory based on the arm's position and posture. The trajectory determined by the straight line determination unit is the two edges connected to one of the nodes.
9. The robot origin recovery control device according to claim 7 or 8, wherein, The path recovery calculation unit is configured such that, for action log data D(R), D(R+X), and D(R+X+1) arranged in chronological order, if the angle formed by the first vector determined by the action log data D(R+X) and the second vector determined by the action log data D(R+X) and the action log data D(R+X+1) for the position and posture of the robot's fingertip is greater than a threshold, then the action log data D(R+X) is deleted, and the variable X is incremented before comparing the angle formed by the first vector and the second vector with the threshold. If the angle is less than or equal to the threshold, then the action log data D(R+X) is retained, and D(R+X) is set as the next action log data D(R). The variable X is set to the initial value "1", and the angle formed by the first vector and the second vector is repeatedly compared with the extraction process of the threshold. The extraction process stops when the action log data D(R+X+1) reaches the current position. Where the initial value of R represents restoring the origin, and X is a natural number with an initial value of "1".
10. The robot origin recovery control device according to claim 7 or 8, wherein, The recovery path calculation unit is configured to, for the remaining action log data, if the changes in the position and posture of the robot's fingertips based on two adjacent action log data are less than or equal to a threshold, perform a merging process to merge the nodes determined based on the two action log data into one node, and apply the node after the merging process to the search of the recovery path.
11. The robot origin recovery control device according to claim 10, wherein, The recovery path calculation unit is configured such that, when searching for the recovery path based on the nodes that have undergone the merging process, if there is action log data located on the path connecting two nodes in the action log data deleted in the extraction process, then the node based on the action log data is interpolated between the two nodes to generate a recovery path.
12. The robot origin recovery control device according to claim 7, characterized in that, The system includes a recovery control unit, which restores the position and posture of the arm to the origin based on the recovery path calculated by the recovery path calculation unit.
Citation Information
Patent Citations
Method of returning robot to origin
JP2009090383A
Robot arm and method of controlling robot arm to avoid collisions
US20110213497A1
Robot planning from process definition graph
US20210060778A1