Interference determination device, robot control system, and interference determination method

The interference determination device and method address the limitations of existing robot object avoidance techniques by calculating interference values and determining interference regions in three-dimensional space, enhancing the convenience and efficiency of six-axis manipulator operations.

JP7693313B2Active Publication Date: 2025-06-17KYOCERA CORP
View PDF 15 Cites 0 Cited by

Patent Information

Application Number
JP2020214160
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-12-23
Publication Date
2025-06-17
Estimated Expiration
2040-12-23

AI Technical Summary

Technical Problem

Existing methods for robot object avoidance, such as converting a three-dimensional robot model into a two-dimensional model, are inadequate for six-axis manipulators that operate in three-dimensional space, as they fail to consider the position or posture of each link, leading to reduced convenience in path planning and interference determination.

Method used

An interference determination device and method that acquire vertices of objects in a robot's operation range, calculate interference values based on the robot's state when interacting with these vertices, and determine an interference region in the configuration space, thereby improving the convenience of robot object avoidance.

Benefits of technology

The proposed solution enhances the convenience of robot object avoidance by accurately determining interference regions in three-dimensional space, reducing computational load, and improving real-time performance, thus ensuring safer and more efficient robot operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007693313000001
    Figure 0007693313000001
  • Figure 0007693313000002
    Figure 0007693313000002
  • Figure 0007693313000003
    Figure 0007693313000003
Patent Text Reader

Abstract

To provide an interference determination device, a robot control system, and an interference determination method that can improve convenience for causing a robot to avoid an object.SOLUTION: An interference determination device 20 includes a control unit 30 that determines interference between a robot 2 and an object. The control unit 30 acquires vertices of the object existing in an operating range of the robot 2 in a real space. The control unit 30 calculates, as interference values, values of parameters that identify a state of the robot 2 when the robot 2 interferes with the vertex of the object in the real space. The control unit 30 determines an interference region including the interference values of the parameters in a configuration space based on the parameters.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an interference determination device, a robot control system, and an interference determination method.

Background Art

[0002] Conventionally, a method for a robot to avoid an object is known. For example, Patent Document 1 describes a device that converts a three-dimensional robot model into a two-dimensional robot model and performs interference determination on the two-dimensional model.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Although the method of converting a three-dimensional robot model into a two-dimensional robot model can be applied to the object avoidance of a horizontal articulated robot, it cannot be applied to a six-axis manipulator that can freely move in three-dimensional space. Further, in order to calculate a path plan for causing the six-axis manipulator to avoid an object, it is necessary to consider the position or posture of each link of the six-axis manipulator. An improvement in convenience when causing a robot to avoid an object is required.

[0005] An object of the present disclosure is to provide an interference determination device, a robot control system, and an interference determination method that can improve convenience when causing a robot to avoid an object.

Means for Solving the Problems

[0006] An interference determination device according to an embodiment of the present disclosure includes a control unit that determines interference between a robot and an object. The robot has an arm connected by a plurality of joints and operates by driving the joints. The control unit acquires vertices of an object existing in an operation range of the robot in a real space. The control unit calculates a value of a parameter that specifies a state of the robot when the robot interferes with a vertex of the object in the real space as an interference value. The control unit determines an interference region including the interference value of the parameter in a configuration space based on the parameter.

[0007] A robot control system according to an embodiment of the present disclosure includes the interference determination device, an operation amount generation device that generates an operation amount of the robot based on a path planned by the interference determination device, and the robot.

[0008] An interference determination method according to an embodiment of the present disclosure includes acquiring vertices of an object existing in an operation range of a robot in a real space. The robot has an arm connected by a plurality of joints and operates by driving the joints. The interference determination method includes calculating, as an interference value, a value of a parameter that specifies a state of the robot when the robot interferes with a vertex of the object based on the vertices of the object. The interference determination method includes determining an interference region including the interference value of the parameter in a configuration space based on the parameter.

Advantages of the Invention

[0009] According to the interference determination device, the robot control system, and the interference determination method according to an embodiment of the present disclosure, convenience when causing a robot to avoid an object can be improved.

Brief Description of the Drawings

[0010]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Embodiments for Carrying Out the Invention

[0011] (Configuration Example of Robot Control System 1) As shown in FIG. 1, a robot control system 1 according to an embodiment includes a robot 2 and a robot control device 10. In this embodiment, it is assumed that the robot 2 moves the work object 8 from the work start point 6 to the work target point 7. That is, the robot control device 10 controls the robot 2 so that the work object 8 moves from the work start point 6 to the work target point 7. The work object 8 is also referred to as a work target.

[0012] As shown in FIG. 2, the robot control device 10 includes an interference determination device 20 and an operation amount generation device 70. The robot control device 10 controls the robot 2 based on information regarding the space in which the robot 2 performs work. The information regarding the space is also referred to as space information. Hereinafter, each component of the robot control system 1 will be described with reference to FIGS. 1 and 2.

[0013] <Robot 2> The robot 2 includes an arm 2A and an end effector 2B. The arm 2A may be configured as, for example, a 6-axis or 7-axis vertical articulated robot. The arm 2A may also be configured as a 3-axis or 4-axis horizontal articulated robot or a scalar robot. The arm 2A may be configured as a 2-axis or 3-axis orthogonal robot. The arm 2A may be configured as a parallel link robot or the like. The number of axes constituting the arm 2A is not limited to the exemplified ones. In other words, the robot 2 has an arm 2A connected by a plurality of joints and operates by driving the joints.

[0014] The end effector 2B may include, for example, a gripping hand configured to grip the work object 8. The gripping hand may have a plurality of fingers. The number of fingers of the gripping hand may be two or more. The fingers of the gripping hand may have one or more joints. The end effector 2B may also include a suction hand configured to suck the work object 8. The end effector 2B may also include a scooping hand configured to scoop the work object 8. The end effector 2B may include a tool such as a drill and may be configured to perform various processes such as drilling a hole in the work object 8. The end effector 2B is not limited to these examples and may be configured to be able to perform various other operations. In the configuration illustrated in FIG. 1, the end effector 2B is assumed to include a gripping hand.

[0015] The robot 2 can control the position of the end effector 2B by operating the arm 2A. The end effector 2B may have an axis that serves as a reference for the direction in which it acts on the work object 8. When the end effector 2B has an axis, the robot 2 can control the direction of the axis of the end effector 2B by operating the arm 2A. The robot 2 controls the start and end of the operation in which the end effector 2B acts on the work object 8. The robot 2 can move or process the work object 8 by controlling the operation of the end effector 2B while controlling the position of the end effector 2B or the direction of the axis of the end effector 2B. In the configuration illustrated in FIG. 1, the robot 2 causes the end effector 2B to grip the work object 8 at the work start point 6 and moves the end effector 2B to the work target point 7. The robot 2 releases the work object 8 from the end effector 2B at the work target point 7. By doing so, the robot 2 can move the work object 8 from the work start point 6 to the work target point 7.

[0016] <Sensor 3> As shown in FIG. 2, the robot control system 1 further includes a sensor 3. The sensor 3 detects physical information of the robot 2. The physical information of the robot 2 may include information regarding the actual position or posture of each component of the robot 2, or the speed or acceleration of each component of the robot 2. The physical information of the robot 2 may include information regarding the force acting on each component of the robot 2. The physical information of the robot 2 may include information regarding the current flowing through the motor that drives each component of the robot 2 or the torque of the motor. The physical information of the robot 2 represents the result of the actual operation of the robot 2. That is, the robot control system 1 can grasp the result of the actual operation of the robot 2 by acquiring the physical information of the robot 2.

[0017] The sensor 3 may include a force sensor or a tactile sensor that detects, as physical information of the robot 2, a force, a distributed pressure, or a slip acting on the robot 2. The sensor 3 may include a motion sensor that detects, as physical information of the robot 2, the position or orientation of the robot 2, or the speed or acceleration. The sensor 3 may include a current sensor that detects, as physical information of the robot 2, the current flowing through the motor that drives the robot 2. The sensor 3 may include a torque sensor that detects, as physical information of the robot 2, the torque of the motor that drives the robot 2.

[0018] The sensor 3 may be installed at a joint of the robot 2 or at a joint drive unit that drives the joint. The sensor 3 may also be installed on the arm 2A or the end effector 2B of the robot 2.

[0019] The sensor 3 outputs the detected physical information of the robot 2 to the robot control device 10. The sensor 3 detects and outputs the physical information of the robot 2 at a predetermined timing. The sensor 3 outputs the physical information of the robot 2 as time-series data.

[0020] <Camera 4> In the configuration example shown in FIG. 1, assume that the robot control system 1 includes two cameras 4. The cameras 4 photograph articles, humans, etc. located in the influence range 5 that may affect the operation of the robot 2. The images captured by the cameras 4 may include monochrome luminance information or may include luminance information of each color represented by RGB (Red, Green and Blue), etc. The influence range 5 includes the operation range of the robot 2. Assume that the influence range 5 is a range obtained by further expanding the operation range of the robot 2 outward. The influence range 5 may be set so that the robot 2 can be stopped before a human or the like moving from the outside to the inside of the operation range of the robot 2 enters the inside of the operation range of the robot 2. The influence range 5 may be set, for example, to a range expanded by a predetermined distance outward from the boundary of the operation range of the robot 2. The cameras 4 may be installed so as to be able to photograph the influence range 5, the operation range of the robot 2, or the areas around these in a bird's-eye view. The number of cameras 4 is not limited to two, and may be one or three or more.

[0021] <Robot control device 10> The robot control device 10 may be configured to include at least one processor in order to provide control and processing capabilities for executing various functions. Each component of the robot control device 10 may be configured to include at least one processor. For example, the interference determination device 20 may be configured to include at least one processor. A plurality of components among the components of the robot control device 10 may be realized by one processor. The entire robot control device 10 may be realized by one processor. The processor can execute programs for realizing various functions of the robot control device 10. The processor may be realized as a single integrated circuit. The integrated circuit is also referred to as an IC (Integrated Circuit). The processor may be realized as a plurality of communicably connected integrated circuits and discrete circuits. The processor may be realized based on various other known technologies.

[0022] The robot control device 10 may include a storage unit. The storage unit may include an electromagnetic storage medium such as a magnetic disk, or may include a memory such as a semiconductor memory or a magnetic memory. The storage unit stores various information and programs executed by the robot control device 10. The storage unit may be configured as a non-temporary readable medium. The storage unit may function as a work memory of the robot control device 10. At least a part of the storage unit may be configured separately from the robot control device 10.

[0023] <Interference determination device 20> As shown in FIG. 2, the interference determination device 20 includes a space information acquisition unit 52, a recognition unit 50, a control unit 30, a robot information acquisition unit 40, and a planning unit 60. Hereinafter, each component of the interference determination device 20 will be described.

[0024] <<Space information acquisition unit 52>> The space information acquisition unit 52 acquires, as space information, space point cloud information regarding an object existing in the space. The space point cloud information is information representing the space by feature points. The space information acquisition unit 52 may acquire RGB information of the space as the space information. The space information acquisition unit 52 outputs the space information to the recognition unit 50.

[0025] The robot control system 1 may include a visual sensor that detects space point cloud information. The space information acquisition unit 52 may acquire the space point cloud information from the visual sensor. The visual sensor may be installed at the tip of the arm 2A or the end effector 2B of the robot 2, the entire robot 2, the influence range 5 of the robot 2, or a location where the periphery of the influence range 5 of the robot 2 can be captured in an overhead view.

[0026] The spatial information acquisition unit 52 may acquire a captured image from the camera 4. The spatial information acquisition unit 52 may be configured to include the camera 4. The camera 4 may be installed at the tip of the arm 2A of the robot 2 or at the tip of the end effector 2B. The spatial information acquisition unit 52 acquires the RGB information of the captured image obtained from the camera 4. The spatial information acquisition unit 52 may detect spatial point cloud information based on the depth information of the captured image. The depth information includes information regarding the depth of the subject of the camera 4.

[0027] <<Recognition unit 50>> Based on the spatial information obtained from the spatial information acquisition unit 52, the recognition unit 50 recognizes the object of the operation to be executed by the robot 2 and acquires the information of the object. The recognition unit 50 may recognize the work object 8 as the object of the operation. The recognition unit 50 may recognize the work start point 6 and the work target point 7 as the object of the operation.

[0028] The recognition unit 50 distinguishes between the object of the operation and an object such as a background or an obstacle that is not the object of the operation, and recognizes the object. The recognition of distinguishing the object is also referred to as clustering. The recognition unit 50 may approximate the clustered object with a polyhedron. The recognition unit 50 may acquire the vertex information of the polyhedron obtained by approximating the object. The recognition unit 50 may acquire the spatial point cloud information of each clustered object. The recognition unit 50 may recognize each object without generating spatial point cloud information.

[0029] By recognizing the object of the operation, the recognition unit 50 recognizes the operation to be executed by the robot 2. The recognition unit 50 outputs information regarding the recognized object of the operation or information regarding the operation to be executed by the robot 2 to the control unit 30. The information recognized by the recognition unit 50 as information regarding the operation of the robot 2 is also referred to as recognition information. The recognition information includes information regarding the vertices of the object that is the object of the operation. The recognition information includes information regarding the vertices of the object that is not the object of the operation. The object that is not the object of the operation is also referred to as an obstacle 80 (see FIG. 5, etc.). When the recognition unit 50 recognizes an object without generating spatial point cloud information, the recognition information includes information regarding the outer shape of the object.

[0030] <<Robot Information Acquisition Unit 40>> The robot information acquisition unit 40 may acquire the physical information of the robot 2 as the detection result of the sensor 3. The robot information acquisition unit 40 may also acquire the physical information that cannot be directly detected by the sensor 3 by estimation. The robot information acquisition unit 40 outputs the acquired physical information to the control unit 30 and the planning unit 60.

[0031] <<Control Unit 30>> The control unit 30 includes an interference area calculation unit 32. The interference area calculation unit 32 acquires recognition information from the recognition unit 50 and acquires the physical information of the robot 2 from the robot information acquisition unit 40. The interference area calculation unit 32 determines the interference between the object existing in the operating range of the robot 2 and the robot 2 based on the recognition information and the physical information of the robot 2.

[0032] The interference area calculation unit 32 determines the interference between the robot 2 and the object in the space where the robot 2 executes the operation on the target object while avoiding obstacles. The space where the robot 2 executes the operation is also referred to as the real space. The real space corresponds to the space visually recognized as the real space by humans.

[0033] Here, when the robot 2 operates by driving its joints, the position and posture of the robot 2 in the real space are specified by the angles of the respective joints of the robot 2. The parameters for specifying the position and posture of the robot 2 are not limited to the angles of the joints driven in the rotational direction. The parameters may include the movement amounts of the components driven in the translational direction.

[0034] The position and orientation of robot 2 are collectively referred to as the state of robot 2. Robot 2 transitions to different states by moving to different positions or changing to different orientations. The state of robot 2 is specified by a plurality of parameters. One combination of the values of each parameter corresponds to one state of robot 2. In other words, the state of robot 2 is represented as a combination of the values of each parameter. The state of robot 2 is represented by a state vector having the values of each parameter as elements. The state vector is defined in a state space with each parameter as a basis. The state space with each parameter specifying the state of robot 2 is also referred to as a configuration space.

[0035] As illustrated in FIG. 3, the state of robot 2 is specified by the position and orientation of arm 2A. Robot 2 further has joints 2C and 2D. Assume that the position and orientation of arm 2A are specified by the value of the driving angle θ1 of joint 2C and the value of the driving angle θ2 of joint 2D. That is, assume that the state of robot 2 is specified by the values of θ1 and θ2. Also, assume that joints 2C and 2D rotate arm 2A within the XY plane. That is, arm 2A of robot 2 is located within the XY plane. θ1 and θ2 are angles defined within the XY plane.

[0036] The state of robot 2 is represented as a point on a vector plane (two-dimensional vector space) with θ1 and θ2 as bases. Specifically, the state of robot 2 is represented as a point on a plane represented with θ1 and θ2 as axes, as illustrated in FIG. 4. Assume that the state of robot 2 where the position of arm 2A is represented by a solid line in FIG. 3 is the first state. The first state of robot 2 is represented as point P1 on the plane of FIG. 4.

[0037] When robot 2 moves or changes its orientation, the state of robot 2 transitions to a different state. Here, assume that the state of robot 2 transitions from the first state to the second state. Assume that the state of robot 2 where the position of arm 2A is represented by a dashed line in FIG. 3 is the second state. The second state of robot 2 is represented as point P2 on the plane of FIG. 4.

[0038] The state of the robot 2 can be considered to transition continuously or discretely. In the present embodiment, the state of the robot 2 is considered to transition continuously. While the robot 2 executes a predetermined operation, the state of the robot 2 transitions continuously. By the continuous transition of the state of the robot 2, the values of the respective parameters that specify the state of the robot 2 change continuously. A point corresponding to the state of the robot 2 within a configuration space such as the vector plane illustrated in FIG. 4 moves continuously and traces a locus within the configuration space. When the state of the robot 2 transitions from the first state to the second state, the locus of the point corresponding to the state of the robot 2 can be depicted as various paths connecting P1 and P2. For example, the locus may be depicted as a straight line connecting P1 and P2 as shown by the solid line in FIG. 4, or may be depicted as a curve connecting P1 and P2 as shown by the dashed line.

[0039] As shown in FIG. 5, it is assumed that an obstacle 80 is located in the real space in which the robot 2 operates. The obstacle 80 is represented as a rectangle having four vertices 81 to 84. The interference region calculation unit 32 acquires the coordinates of the vertices of the obstacle 80. The interference region calculation unit 32 acquires the spatial point group information of each object clustered by the recognition unit 50, and at least some of the points included in the spatial point group information of each object may be regarded as the vertices of that object. The interference region calculation unit 32 calculates the state of the robot 2 when at least a part of the robot 2 interferes with each vertex of the obstacle 80. In a plurality of states of the robot 2, at least a part of the robot 2 interferes with the vertex 81. The plurality of states of the robot 2 are represented as a set of points or a locus or region constituted by continuous points within the configuration space. That is, the state of the robot 2 when at least a part of the robot 2 interferes with the vertex 81 is represented as a set of points or a locus or region depicted by the continuity of the points within the configuration space.

[0040] For example, as shown in FIG. 6, the interference area calculation unit 32 can draw a locus T81 representing the state of the robot 2 when at least a part of the robot 2 interferes with the vertex 81 on a plane represented by θ1 and θ2 as axes, respectively. Further, the interference area calculation unit 32 can draw loci T82, T83, and T84 representing the states of the robot 2 when at least a part of the robot 2 interferes with the vertices 82, 83, and 84, respectively.

[0041] When at least a part of the robot 2 interferes with an object such as an obstacle 80, the value of the parameter of the robot 2 is also referred to as an interference value. A set, locus, or region of points representing the state of the robot 2 when at least a part of the robot 2 interferes with an object such as an obstacle 80 is also collectively referred to as an interference area. That is, the interference area calculation unit 32 generates an interference area as a set of points, loci, or regions corresponding to the interference value in the configuration space.

[0042] When a point representing the state of the robot 2 in the configuration space is located outside the interference area, the interference area calculation unit 32 can determine that the robot 2 does not interfere with an object such as the obstacle 80. Therefore, the interference area calculation unit 32 can determine whether the robot 2 can operate while avoiding an object such as the obstacle 80 in the real space based on the interference area generated in the configuration space.

[0043] Specifically, the interference area calculation unit 32 assumes the operation when the robot 2 executes a task, and generates a set, locus, or region of points in the configuration space corresponding to the states that the robot 2 can transition to during the assumed operation. The interference area calculation unit 32 can assume the operation of the robot 2 based on the physical information of the robot 2 acquired from the robot information acquisition unit 40. A point, locus, or region in the configuration space representing the state that the robot 2 transitions to during operation is also collectively referred to as an operation area.

[0044] When all of the operating areas corresponding to the assumed operations of the robot 2 do not overlap with the interference area, the interference area calculation unit 32 may determine that the robot 2 does not interfere with an object such as the obstacle 80 by the assumed operation. When the interference area calculation unit 32 determines that the robot 2 does not interfere with an object by the assumed operation, the interference area calculation unit 32 may output the determination result to the planning unit 60.

[0045] When at least a part of the operating area corresponding to the assumed operation of the robot 2 overlaps with the interference area, the interference area calculation unit 32 may determine that the robot 2 interferes with an object such as the obstacle 80 by the assumed operation. When the interference area calculation unit 32 determines that the robot 2 interferes with an object by the assumed operation, the interference area calculation unit 32 may newly assume another operation to generate an operating area, and determine whether the robot 2 interferes with the object by the newly assumed operation.

[0046] The interference area can be generated as a set of a plurality of points, trajectories, or areas as illustrated in FIG. 6. In this case, the points between the plurality of points, trajectories, or areas represent a state where the robot 2 does not interfere with the object. However, the interference area is generated based on some points of the object. Therefore, even in a state represented by a point not included in the interference area, the robot 2 may interfere with at least a part of the object.

[0047] Therefore, the configuration space approximation unit 34 of the control unit 30 newly generates an area including the points, trajectories, or areas constituting the interference area. The area newly generated by the configuration space approximation unit 34 is also referred to as a corrected interference area. The configuration space approximation unit 34 may newly generate, as the corrected interference area, an area A indicated by a broken-line quadrilateral as an area including all of the four trajectories T as illustrated in FIG. 7, for example. When the configuration space is a two-dimensional space, the configuration space approximation unit 34 may generate an area represented by various planar figures such as a polygon as the corrected interference area. When the configuration space is a three-dimensional space, the configuration space approximation unit 34 may generate an area represented by various solid figures such as a polyhedron as the corrected interference area. When the configuration space is a multi-dimensional space of four or more dimensions, the configuration space approximation unit 34 may generate an area represented by various figures defined in the multi-dimensional space as the corrected interference area.

[0048] The configuration space approximation unit 34 may generate a corrected interference region as a region approximating a region including an interference region generated in the configuration space. For example, the configuration space approximation unit 34 may generate a corrected interference region having a simple shape by approximating a region including the interference region with a simple figure. Specifically, when the configuration space is a two-dimensional space, the configuration space approximation unit 34 may approximate the interference region with a simple planar figure such as a triangle or a quadrilateral and generate it as the corrected interference region. When the configuration space is a three-dimensional space, the configuration space approximation unit 34 may approximate the interference region with a simple polyhedron such as a cuboid or a cube and generate it as the corrected interference region.

[0049] The interference region calculation unit 32 may acquire the corrected interference region from the configuration space approximation unit 34 and determine whether the robot 2 interferes with the object based on the corrected interference region.

[0050] <<Planning unit 60>> The planning unit 60 acquires information regarding the operation of the robot 2 determined not to interfere with an object such as the obstacle 80 from the control unit 30, and acquires the physical information of the robot 2 from the robot information acquisition unit 40. The information regarding the operation of the robot 2 is also referred to as operation information. The planning unit 60 plans a path along which the robot 2 moves when operating based on the operation information and physical information of the robot 2, and plans the speed or acceleration of the robot 2 at each position on the planned path. The planning unit 60 outputs information specifying the planned path and the speed or acceleration at each position on the path to the operation amount generation device 70. The information specifying the planned path and the speed or acceleration at each position on the path planned by the planning unit 60 is also referred to as planning information.

[0051] The planning unit 60 includes a path planning unit 62 and a motion planning unit 64. The path planning unit 62 plans the path along which each part of the robot 2 moves. Specifically, the path planning unit 62 may represent the starting point, ending point, or passing point of the path along which each part of the robot 2 moves with spatial coordinate information defined in the XYZ coordinate system. The path planning unit 62 may represent the posture of each part at each position included in the path of the robot 2 as the angle of each joint 2C of the robot 2. The motion planning unit 64 plans the speed, angular velocity, acceleration, or angular acceleration of the robot 2 at each position included in the path of the robot 2.

[0052] As described above, the interference determination device 20 plans the operation of the robot 2 so that the robot 2 does not interfere with other objects, and outputs the planned information to the operation amount generation device 70.

[0053] <Operation amount generation device 70> Based on the planned information obtained from the planning unit 60 of the interference determination device 20, the operation amount generation device 70 generates an operation amount for the robot 2 and outputs it to the robot 2 so that the robot 2 can be appropriately controlled. The operation amount for the robot 2 may include, for example, information for controlling the output of a motor that drives each part such as the joint 2C of the robot 2. The operation amount generation device 70 may include an arm control unit that generates an operation amount for the arm 2A of the robot 2 and an end effector control unit that generates an operation amount for the end effector 2B of the robot 2.

[0054] (Operation example of the interference determination device 20) As described above, the interference determination device 20 assumes the operation of the robot 2 and determines whether at least a part of the robot 2 interferes with an object due to the assumed operation. The interference determination device 20 determines the path and the like of the operation of the robot 2 based on the result of determining the interference between the robot 2 and the object.

[0055] The interference determination device 20 may execute an interference determination method including the procedure of the flowchart illustrated in FIG. 8. The interference determination method may be realized as an interference determination program that causes a processor constituting the interference determination device 20 to execute. The interference determination program may be stored in a non-transitory computer-readable medium.

[0056] The space information acquisition unit 52 acquires space information (step S1). The space information acquisition unit 52 acquires, as the space information, the spatial point cloud information of an object such as an obstacle 80 existing in the space where the robot 2 operates.

[0057] The recognition unit 50 clusters the objects based on the space information (step S2). Specifically, the recognition unit 50 classifies the spatial point cloud information of a plurality of objects included in the space information for each object, and generates the spatial point cloud information of each object.

[0058] The control unit 30 generates an interference region (step S3). Specifically, the interference region calculation unit 32 of the control unit 30 calculates an interference value corresponding to an object existing in the space where the robot 2 operates. The interference region calculation unit 32 generates an interference region including a set of points, a trajectory, or a region by representing the calculated interference value as a set of points, a trajectory, or a region in the configuration space.

[0059] The control unit 30 generates a corrected interference region (step S4). Specifically, the configuration space approximation unit 34 of the control unit 30 generates a new region including the interference region generated by the interference region calculation unit 32. The configuration space approximation unit 34 may generate, as the new region, a region represented by a simple figure including the interference region.

[0060] The control unit 30 generates an operation region (step S5). Specifically, the interference region calculation unit 32 of the control unit 30 assumes the operation of the robot 2. The interference region calculation unit 32 calculates values that the parameters of the robot 2 can take by the assumed operation. The interference region calculation unit 32 generates an operation region including a set of points, a trajectory, or a region by representing the calculated parameter values as a set of points, a trajectory, or a region in the configuration space.

[0061] The control unit 30 determines whether at least a part of the robot 2 interferes with an object (step S6). Specifically, when the robot 2 executes the assumed operation, the control unit 30 determines whether at least a part of the robot 2 interferes with an object such as the obstacle 80 based on the operation area and the corrected interference area. When all of the operation area does not overlap with the corrected interference area, the control unit 30 determines that the entire robot 2 does not interfere with the object by the assumed operation. When at least a part of the operation area overlaps with the corrected interference area, the control unit 30 determines that at least a part of the robot 2 interferes with the object by the assumed operation.

[0062] When the control unit 30 determines that at least a part of the robot 2 interferes with the object (step S6: YES), it returns to the procedure of step S5 and re-performs the assumption of the operation and the generation of the operation area. When the control unit 30 determines that the entire robot 2 does not interfere with the object (step S6: NO), it outputs operation information to the planning unit 60 (step S7). As the operation information, the control unit 30 outputs information regarding the operation determined that the entire robot 2 does not interfere with the object.

[0063] The planning unit 60 generates planning information based on the operation information (step S8). The planning unit 60 outputs the generated planning information to the operation amount generation device 70.

[0064] After executing the procedure of step S8, the interference determination device 20 ends the execution of the procedure of the flowchart in FIG. 8.

[0065] (Parentheses in this embodiment and comparison with the comparative example) As described above, the interference determination device 20 according to the present embodiment calculates the interference value of the robot 2 for the vertices of an object such as an obstacle 80 existing in the space where the robot 2 operates, and generates an interference region within the configuration space. The interference determination device 20 generates a corrected interference region that encompasses all of the interference regions corresponding to the respective vertices of the object. The interference determination device 20 assumes the operation of the robot 2 and generates an operation region corresponding to the assumed operation within the configuration space. The interference determination device 20 determines whether the robot 2 interferes with the object by the assumed operation based on the corrected interference region and the operation region. The interference determination device 20 generates an operation in which the robot 2 does not interfere with the object and generates the planning information of the operation.

[0066] Here, as a determination method according to a comparative example, the interference value can be calculated for the entire object. When calculating the interference value for the entire object, the amount of calculation increases compared to the case of calculating the interference value for the vertices of the object. For example, when the robot 2 is represented by a line segment, to calculate the interference value for the entire object, it is determined whether the surface of the object intersects the line segment representing the robot 2. On the other hand, when calculating the interference value for the vertices of the object as in the interference determination method according to the present embodiment, it is only necessary to determine whether the line segment representing the robot 2 passes through the vertex. To determine the intersection of a surface and a line segment, it is necessary to represent the surface of the object by a mathematical formula, and the amount of calculation increases compared to the calculation for simply confirming that the line segment passes through a point. Therefore, the interference determination device 20 according to the present embodiment can reduce the computational load for causing the robot 2 to avoid the object by calculating the interference value for the vertices of the object. As a result, the convenience of the robot 2 is improved.

[0067] Further, according to the interference determination method according to the present embodiment, by reducing the computational load, the real-time performance of the operation plan of the robot 2 is improved. With the improvement of the real-time performance of the operation plan, the reaction of the robot 2 becomes faster. As a result, the safety of the robot 2 can be improved. Also, according to the interference determination method according to the present embodiment, even when the configuration such as the arm 2A or the end effector 2B of the robot 2 is changed, the load for newly calculating the interference value is reduced. Therefore, the configuration change of the robot 2 can be quickly reflected in the interference determination of the robot 2.

[0068] Also, as a determination method according to the comparative example, by representing the robot 2 or the object in a two-dimensional space and reducing the amount of information, the calculation amount of interference determination can be reduced. Although this method can be applied to a horizontal articulated robot, it cannot be applied to a 6-axis manipulator that can freely move in a three-dimensional space. Further, in the case of a 6-axis manipulator, it is necessary to consider the position or posture of each link in the calculation of path planning that avoids the interference region, and the calculation amount inevitably becomes enormous. In the comparative example, even if the interference region is mapped to the configuration space of the robot 2 and path planning is performed on the configuration space, various problems occur. For example, with respect to an obstacle in the real space where the robot 2 operates, while fixing a part of a plurality of parameters of the robot 2, changing the remaining parameters, mapping the interfering region to the configuration space, and connecting the end points of the mapped objects to approximate them to a polygon, interference can be determined. In this method, almost all the information of the obstacles existing in the real space is mapped. Therefore, compared with mapping only the vertices of the object in the present embodiment, the computational load is high. That is, by mapping the vertices of the object in the present embodiment, the computational load is reduced. As a result, the convenience of the robot 2 is improved.

[0069] Also, as a determination method according to the comparative example, by approximating an obstacle to a sphere, geometrically calculating the positional relationship between the configuration of the robot 2 and the sphere, mapping the interference region to the configuration space, and further approximating it to a simple figure, the calculation amount of interference determination can be reduced. As a demerit of this method by approximating an obstacle to a sphere, when the shape of the obstacle is significantly different from a sphere, the robot 2 is determined to interfere even with a part where there is actually no obstacle. That is, the shape of the obstacle to which this method can be applied is limited. On the other hand, according to the interference determination method according to the present embodiment, by mapping the vertices of the object, the shape of the obstacle to be the determination target of interference is less likely to be limited. As a result, the convenience of the robot 2 is improved. Also, by mapping the vertices of the object, the shape of the obstacle can be easily reflected in the interference determination. As a result, it becomes possible to generate a highly versatile trajectory in which the robot 2 autonomously avoids an object such as the obstacle 80.

[0070] (Other embodiments) Other embodiments will be described below.

[0071] <Singular points and potential> The robot 2 has singular points that cause it to enter an inoperable state. The singular points can be represented as points or regions in the configuration space. The interference region calculation unit 32 of the interference determination device 20 may determine the validity of the operation of the robot 2 based on not only the interference region but also the singular points in the configuration space. Further, the interference region calculation unit 32 can cause the robot 2 to automatically avoid the singular points only by considering the interference region without considering the singular points. That is, by determining the validity of the operation of the robot 2 in the configuration space, the singular points can be easily avoided.

[0072] Further, the interference region calculation unit 32 may set a potential at or near the singular points in the configuration space and determine the validity of the operation of the robot 2 so as to avoid the potential. The potential corresponds to a value determined based on, for example, the distance between the interference region or the singular points and the point representing the state of the robot 2. Assume that the potential is set to a higher value as the point representing the state of the robot 2 approaches the interference region or the singular points. When assuming the operation of the robot 2, the interference region calculation unit 32 may assume the operation of the robot 2 such that the integrated value or the total value of the potential in each state transition during the operation of the robot 2 becomes small. By doing so, the operation of the robot 2 can be assumed so that the robot 2 does not approach an object such as the obstacle 80 or the singular points too closely. Also, the operation of the robot 2 can be assumed so that the path of the robot 2 becomes shorter. This is because the operation of the robot 2 is assumed so that the robot 2 moves away from the interference region or the singular points and the path of the robot 2 becomes shorter in order to set the value of the potential to a low value.

[0073] <Reflection of the shape of the robot 2> The interference region calculation unit 32 of the control unit 30 may calculate an interference value based on the shape of the robot 2 in the real space. Specifically, the interference region calculation unit 32 may calculate the interference value for the vertices of an object such as the obstacle 80 by regarding the arm 2A of the robot 2 as a line segment, and then calculate the interference value considering the actual shape of the arm 2A. By calculating considering the arm 2A as a line segment and further considering the shape of the arm 2A, the calculation load of the interference value can be reduced.

[0074] <Selection of parameters for which the interference value is calculated> The interference region calculation unit 32 of the control unit 30 may calculate an interference value for parameters that have an influence on the position and orientation of the robot 2 by a predetermined amount or more. Specifically, the interference region calculation unit 32 may calculate the interference value for some of the parameters that specify the state of the robot 2.

[0075] The interference region calculation unit 32 may set a priority order for the parameters that specify the state of the robot 2, and calculate the interference value for the parameters with the higher priority order set. The interference region calculation unit 32 may calculate the interference value for the parameters for which the priority order up to the top n positions is set among the parameters that specify the state of the robot 2. The priority order may be set based on the ratio of the change amount of the coordinates of the robot 2 or the change amount of the angle representing the posture to the change amount of each parameter. For example, the higher the change amount of the coordinates of the arm 2A or the change amount of the angle of the arm 2A with respect to the change amount of the parameter, the higher the priority order of that parameter may be set.

[0076] When the change amount of the coordinates of a specific part of the robot 2 becomes a predetermined amount or more when each parameter is changed by a predetermined value, the interference region calculation unit 32 may regard that parameter as a parameter that has an influence on the state of the robot 2 by a predetermined amount or more. The interference region calculation unit 32 may regard the parameter that contributes to a predetermined ratio of the change amount of the coordinates of a specific part of the robot 2 as a parameter that has an influence on the state of the robot 2 by a predetermined amount or more. The specific part of the robot 2 may be, for example, the end effector 2B located at the tip of the robot 2.

[0077] The interference area calculation unit 32 may calculate a specific change amount of the robot 2 when each parameter of the robot 2 is changed by a predetermined value, and calculate a ratio of the change amount of each parameter to the total change amount of all parameters. For example, when there is a parameter with a change amount of 5% or more with respect to the total change amount and there is a parameter with a change amount of less than 5% with respect to the total change amount, the parameter with a change amount of 5% or more with respect to the total change amount may be regarded as a parameter having an influence of a predetermined amount or more. The predetermined ratio is not limited to 5%, and may be set to various values such as 10%, 15%, or 20%. Further, when the difference in the ratio of the change amount of each parameter with respect to the total change amount is within, for example, 10%, the interference area calculation unit 32 may regard all parameters as parameters having an influence of a predetermined amount or more.

[0078] Specifically, it is assumed that the robot 2 has six joints (from the first joint to the sixth joint). The interference area calculation unit 32 calculates the amount of movement of the coordinates of the tip of the robot 2 due to changing the angle of each of the six joints by a predetermined amount. The interference area calculation unit 32 calculates the total amount of movement of the coordinates of the tip of the robot 2 corresponding to each joint. The interference area calculation unit 32 calculates the ratio of the amount of movement of the coordinates of the tip of the robot 2 corresponding to each joint to the total amount of movement of the coordinates of the tip of the robot 2. Assume that the ratio of the amount of movement corresponding to the first joint is 60%. Assume that the ratio of the amount of movement corresponding to the second joint is 20%. Assume that the ratio of the amount of movement corresponding to the third joint is 10%. Assume that the ratio of the amount of movement corresponding to the fourth joint is 5%. Assume that the ratio of the amount of movement corresponding to the fifth joint is 3%. Assume that the ratio of the amount of movement corresponding to the sixth joint is 2%. For example, when the predetermined ratio is set to 15%, the angles of the first joint and the second joint are regarded as parameters having an influence of a predetermined amount or more. For example, when the predetermined ratio is set to 5%, the angles of the first joint, the second joint, the third joint, and the fourth joint are regarded as parameters having an influence of a predetermined amount or more.

[0079] <Recognition of the vertices of an object in real space> As described above, the recognition unit 50 may recognize an object without generating spatial point group information and output information regarding the outer shape of the object as recognition information. In this case, the interference region calculation unit 32 of the control unit 30 may generate an approximate figure including the outer shape of the object. When the robot 2 operates in two dimensions, the interference region calculation unit 32 may approximate the outer shape of the object with a planar figure such as a polygon. When the robot 2 operates in three dimensions, the interference region calculation unit 32 may approximate the outer shape of the object with a solid figure such as a polyhedron. The solid figure may include, for example, a rectangular parallelepiped, a regular polyhedron (regular tetrahedron, cube, octahedron, dodecahedron, and icosahedron), or a prism such as a triangular prism or a quadrangular prism. The interference region calculation unit 32 calculates the interference value of each parameter of the robot 2 by regarding the vertices of the approximate figure as the vertices of the object.

[0080] When the interference region calculation unit 32 acquires spatial point group information as recognition information of the object, the interference region calculation unit 32 may regard the points included in the spatial point group information as the vertices of the object. The interference region calculation unit 32 may acquire both the spatial point group information and the information regarding the outer shape of the object as the recognition information of the object. Also in this case, the interference region calculation unit 32 may generate an approximate figure including the outer shape of the object and regard the vertices of the approximate figure as the vertices of the object.

[0081] Further, the interference region calculation unit 32 may represent the object with a figure including the outer shape of the object and regard the vertices of the figure as the vertices of the object. For example, when the object is represented by spatial point group information, the interference region calculation unit 32 may represent the object with a figure having a number of vertices less than the number of points included in the spatial point group information. The interference region calculation unit 32 may represent the object with a figure having the same number of vertices as the number of points included in the spatial point group information, or may represent the object with a figure having a number of vertices more than the number of points included in the spatial point group information. The interference region calculation unit 32 may represent the object so that the data format for representing the object is simplified. By doing so, the calculation load of the interference value can be reduced. The interference region calculation unit 32 may represent the object with a figure including points for interpolating between vertices separated by a predetermined distance or more so that the distance between the vertices of the figure representing the object is less than the predetermined distance. By doing so, it is possible to reduce the calculation omission of the interference value due to the robot 2 passing through between the vertices.

[0082] When the arm 2A of the robot 2 is columnar, the interference area calculation unit 32 may expand the figure representing the object outward based on the shape of the cross section orthogonal to the axis of the columnar shape of the arm 2A. In this case, the interference area calculation unit 32 may calculate the interference value by regarding the arm 2A of the robot 2 as a line segment. By doing so, the calculation load of the interference value can be reduced.

[0083] As described above, the embodiments of the robot control system 1 have been described. As embodiments of the present disclosure, in addition to the method or program for implementing the system or apparatus, an embodiment as a storage medium (for example, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a CD-RW, a magnetic tape, a hard disk, or a memory card, etc.) on which the program is recorded is also possible.

[0084] Further, the implementation form of the program is not limited to application programs such as object code compiled by a compiler and program code executed by an interpreter, and may be in the form of a program module incorporated in an operating system. Furthermore, the program may or may not be configured such that all processing is performed only on the CPU on the control board. The program may be configured such that a part or all of it is performed by another processing unit mounted on an expansion board or an expansion unit added to the board as necessary.

[0085] The drawings for explaining the embodiments according to the present disclosure are schematic. The dimensional ratios on the drawings do not necessarily match the actual ones.

[0086] Embodiments according to the present disclosure have been described based on the drawings and examples, but it should be noted that those skilled in the art can make various modifications or alterations based on the present disclosure. Therefore, it should be noted that these modifications or alterations are included in the scope of the present disclosure. For example, the functions and the like included in each component and the like can be rearranged so as not to be logically contradictory, and a plurality of components and the like can be combined into one or divided.

[0087] All of the constituent elements described in the present disclosure, and / or all of the disclosed methods, or all of the steps of the processes, can be combined in any combination except combinations in which these features are mutually exclusive. Also, each of the features described in the present disclosure can be replaced with an alternative feature that serves for the same purpose, an equivalent purpose, or a similar purpose, unless explicitly negated. Therefore, unless explicitly negated, each of the disclosed features is merely an example of a comprehensive series of identical or equivalent features.

[0088] Furthermore, the embodiments according to the present disclosure are not limited to any specific configuration of the above-described embodiments. The embodiments according to the present disclosure can be extended to all of the novel features described in the present disclosure, or combinations thereof, or all of the novel methods, or process steps, or combinations thereof.

[0089] In the present disclosure, descriptions such as "first" and "second" are identifiers for distinguishing the relevant configurations. The configurations distinguished by the descriptions such as "first" and "second" in the present disclosure can have their numbers in the relevant configuration exchanged. For example, the first state can have the "first" and "second" which are identifiers exchanged with the second state. The exchange of identifiers is performed simultaneously. The relevant configuration is still distinguishable after the exchange of identifiers. The identifier can be deleted. The configuration with the identifier deleted is distinguished by reference signs. Based only on the descriptions of the identifiers such as "first" and "second" in the present disclosure, the order of the relevant configuration should not be interpreted, nor should it be used as a basis for the existence of an identifier with a smaller number.

Description of Reference Signs

[0090] 1 Robot control system (3: sensor, 4: camera, 5: influence range, 6: work start point, 7: work target point, 8: work object) 2 Robot (2A: arm, 2B: end effector, 2C, 2D: joints) 10 Robot control device 20 Interference determination device 30 Control unit (32: interference area calculation unit, 34: configuration space approximation unit) 40 Robot information acquisition unit 50 Recognition unit 52 Space information acquisition unit 60 Planning unit (62: path planning unit, 64: motion planning unit) 70 Manipulation amount generation device 80 Obstacle (81 - 84: vertices)

Claims

1. A robot having an arm connected by a plurality of joints and operating by driving the joints, and a control unit for determining interference between the robot and an object, The control unit, acquires spatial point group information representing an object existing in the operating range of the robot in the real space, represents the object with a figure having a number of vertices less than the number of points included in the spatial point group information and containing the outer shape of the object, calculates, as an interference value, a value of a parameter for specifying a state of the robot when the robot interferes with the vertex in the real space, An interference determination device that determines an interference region including the interference value of the parameter in a configuration space based on the parameter.

2. The control unit calculates the interference value further based on the shape of the robot in the real space. The interference determination device according to claim 1.

3. The control unit calculates the interference value for a parameter that has a predetermined or greater influence on the state of the robot. The interference determination device according to claim 1 or 2.

4. The control unit expands, outward, a figure containing the outer shape of the object based on the shape of a cross section orthogonal to the axis of the columnar shape of the arm, and calculates the interference value by regarding the arm as a line segment. The interference determination device according to any one of claims 1 to 3.

5. The control unit plans a path of the robot so that the value of the parameter does not interfere with the interference region in the configuration space when the robot operates. The interference determination device according to any one of claims 1 to 4.

6. A robot control system including the interference determination device according to claim 5, an operation amount generation device that generates an operation amount of the robot based on the path planned by the interference determination device, and the robot.

7. Obtaining spatial point group information representing an object existing in the operating range in the real space of a robot having an arm connected by a plurality of joints and operating by driving the joints; Representing the object by a figure having a number of vertices less than the number of points included in the spatial point group information and containing the outer shape of the object; Calculating, as an interference value, a value of a parameter for specifying a state of the robot when the robot interferes with the vertex based on the vertex of the object; Determining an interference region including the interference value of the parameter in a configuration space having the parameter as a basis; An interference determination method including the above.

Citation Information

Patent Citations

  • Decision for interference of robot

    JP1992201096A

  • Interference deciding method for robot

    JP1994246663A

  • Automatic path generating device for robot

    JP1996147020A

  • Interference checking device and method of horizontal multi-articulated robot

    JP2004202627A

  • Inter-object collision decision device and method

    JP2006338389A