WO2022185760A1 - ロボット姿勢決定装置、方法、及びプログラム - Google Patents

ロボット姿勢決定装置、方法、及びプログラム Download PDF

Info

Publication number
WO2022185760A1
WO2022185760A1 PCT/JP2022/001841 JP2022001841W WO2022185760A1 WO 2022185760 A1 WO2022185760 A1 WO 2022185760A1 JP 2022001841 W JP2022001841 W JP 2022001841W WO 2022185760 A1 WO2022185760 A1 WO 2022185760A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
posture
information
work
hand
Prior art date
Application number
PCT/JP2022/001841
Other languages
English (en)
French (fr)
Inventor
春香 藤井
岳史 小島
僚一 倉谷
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to CN202280017811.5A priority Critical patent/CN116963878A/zh
Priority to US18/278,239 priority patent/US20240123621A1/en
Priority to EP22762819.5A priority patent/EP4302936A1/en
Publication of WO2022185760A1 publication Critical patent/WO2022185760A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40463Shortest distance in time, or metric, time optimal

Definitions

  • the present disclosure relates to a robot posture determination device, a robot posture determination method, and a robot posture determination program.
  • Patent Document 1 Japanese Unexamined Patent Application Publication No. 2007-203380.
  • the apparatus described in Patent Literature 1 obtains all travel times between moving points for each combination of solution candidates, and extracts a combination of upstream solution candidates having the shortest travel times with respect to downstream solution candidates. Also, based on the extraction results, this device searches for a combination of solution candidates that minimizes the overall movement time for moving the hand from the start point to the end point.
  • Patent Document 1 is based on the premise that an initial solution for the position and orientation of each movement point of the movement target part (hand) of the robot is input.
  • the technique described in Patent Document 1 requires that the gripping state as described above be specified in advance, and does not take into consideration the existence of many variations in the gripping state.
  • the present disclosure has been made in view of the above points, and aims to efficiently determine the optimal posture of the robot, including the state of gripping the workpiece.
  • a robot posture determination apparatus provides work information related to work to be performed by a robot having a hand, and relative positional relationship between the hand and a workpiece gripped by the hand.
  • an acquisition unit for acquiring gripping information indicating a plurality of candidates, workpiece orientation information indicating a plurality of candidates for the orientation that the workpiece can take, and specification information including kinematics information of the robot;
  • the posture of the hand portion for gripping the workpiece obtained based on the workpiece posture information, the work information, the gripping information, and the workpiece posture information;
  • Each of the combinations with the posture of the robot corresponding to the posture of the hand, which are obtained based on the posture of the hand and the kinematics information are associated with each other, and from the sequence of combinations that can transition between the target points, a searching unit that searches for the sequence of combinations that minimizes the motion time of the robot based on an index related to the motion time of
  • the searching unit may determine that the combination is one in which transition between the target points is impossible. .
  • the searching unit determines that, when the motion of the robot between the postures of the combination is linear movement and the postures of the robots of the combination are different, transition between the target points is impossible. may be determined to be the above combination.
  • the search unit may calculate an index based on the difference between the postures of the robot in the combination as the index related to the operation time.
  • the search unit may calculate, as an index based on the difference in posture of the robot, a maximum value obtained by dividing a difference in rotation angle of each joint of the robot by a maximum rotation speed of each joint. .
  • the search unit includes nodes corresponding to each of the combinations and edges connecting nodes corresponding to the combinations capable of transitioning between the target points, and the index related to the operation time is obtained from the edges. may be generated, and using the graph, the sequence of the combinations that minimizes the operation time of the robot may be searched.
  • the acquisition unit acquires peripheral information indicating a peripheral environment in which the robot works, and specification information further including dynamics information and shape information of the robot, and the search unit acquires the peripheral information, the Based on the specification information and the posture of the robot, a route between the postures of the robot corresponding to the nodes is assumed to cause unavoidable interference with the surrounding environment, and the target points are the nodes. It may be determined that it is between nodes corresponding to the combination that cannot be transitioned between.
  • the search unit may not generate a node corresponding to the combination including the posture of the robot that interferes with the surrounding environment at the target point.
  • the search unit calculates an actual operation time of the robot between the robot postures corresponding to nodes connected by edges included in the paths of the graph corresponding to the searched series, and may be updated with the calculated actual operation time, and the search for the series with the shortest operation time may be repeated until the same series as the previously searched series is searched. .
  • the search unit determines that the actual operation time is an operation for the robot to avoid interference with the surrounding environment between postures of the robot corresponding to the nodes, at a set speed or acceleration/deceleration. An operation time when the robot operates may be calculated.
  • the target points may include a work point at which the hand section grips or releases the workpiece, and an operation change point at which the movement direction of the robot is changed.
  • the acquisition unit obtains work information related to work to be performed by a robot having a hand unit and a plurality of relative positional relationships between the hand unit and a workpiece gripped by the hand unit.
  • a search unit acquires gripping information indicating a candidate, workpiece orientation information indicating a plurality of candidates for the orientation that the workpiece can take, and specification information including kinematics information of the robot, and performs the work.
  • the posture of the hand portion that grips the workpiece obtained based on the workpiece posture information, the work information, the gripping information, and the workpiece posture information, and the hand
  • Each of the combinations with the posture of the robot corresponding to the posture of the hand unit, which are obtained based on the posture of the unit and the kinematics information, are associated with each other, and from the series of combinations that can transition between the target points, the The method searches for the series of combinations that minimizes the motion time of the robot based on an index related to the motion time of the robot between postures of the robot.
  • the robot posture determination program provides a computer with work information related to a work to be performed by a robot having a hand, and a plurality of candidates for the relative positional relationship between the hand and a work gripped by the hand. and workpiece posture information indicating a plurality of candidates for the posture that the workpiece can take, and specification information including kinematics information of the robot; and the robot for performing the work.
  • the program functions as a search unit that searches for the series of combinations that minimize the operation time of the robot based on an index related to the operation time of the robot between postures.
  • the robot posture determination device, method, and program according to the present disclosure it is possible to efficiently determine the optimum posture of the robot, including the state of gripping the workpiece.
  • FIG. 3 is a block diagram showing the hardware configuration of the robot posture determination device;
  • FIG. 3 is a block diagram showing an example of the functional configuration of a robot posture determination device;
  • FIG. 4 is a diagram for explaining gripping information;
  • FIG. 4 is a diagram for explaining work posture information;
  • FIG. 10 is a diagram showing an example of a list of robot poses identified for a certain hand pose;
  • FIG. 4 is a diagram for explaining graph generation and shortest path search;
  • 4 is a diagram for explaining a combination of a work orientation candidate, a hand orientation candidate, and a robot orientation candidate corresponding to one node; 6 is a flow chart showing the flow of robot posture determination processing in the first embodiment. It is a figure for demonstrating the search of the shortest path in 2nd Embodiment. 9 is a flow chart showing the flow of robot attitude determination processing in the second embodiment.
  • the robot posture determination device determines the posture of the robot at each target point of the robot's motion when a robot having a robot hand is caused to handle a work.
  • the robot hand is an example of the hand unit of technology disclosed herein.
  • the example of FIG. 1 shows an example of a pick-and-place operation in which a robot hand picks up a workpiece placed on a workbench A and places it on a workbench B. As shown in FIG. More specifically, the workpiece is grasped on the workbench A, the robot hand is linearly moved upward, moved toward the workbench B, the robot hand is linearly moved downward, and the work is moved to the workbench B. This is the task of placing it on the
  • the target points include work points (white diamonds in FIG. 1) where the robot hand grips or releases a workpiece, and operation change points (hatched diamonds in FIG. 1) where the robot's movement direction is changed. included.
  • the point of interest is specified by coordinates (x, y, z) in the world coordinate system.
  • Interference avoidance points black diamonds in FIG. 1) are also set on the path indicating the motion of the robot to avoid interference with obstacles.
  • the posture of the robot at the interference avoidance points is determined by path planning that automatically determines the route between the target points, and the interference avoidance points are not included in the target points. do.
  • the robot posture determination apparatus determines the posture of the robot at each target point so that the operation time is the shortest when the robot is operated along the route passing through the target points as described above. decide.
  • the robot is a vertically articulated robot having six degrees of freedom necessary for movement in a three-dimensional space. More specifically, the robot is configured by connecting a plurality of links, and a robot hand is attached to the tip of the robot. Connections between links are called joints. Also, the reference position of the tip of the robot (the side to which the robot hand is attached) is called TCP (Tool Center Point).
  • TCP Tool Center Point
  • the posture of the robot is the first joint (joint J1) to the Nth joint ( Joint JN , N is the number of joints of the robot), and is represented by a series ( ⁇ J1 , ⁇ J2 , .
  • the path is a time-series arrangement of the postures of the robot at each time when the TCP is operated from an arbitrary start point to the end point, and the information of the speed and acceleration/deceleration that changes the posture is added to the path. is the operation information.
  • FIG. 2 is a block diagram showing the hardware configuration of the robot posture determination device 10 according to the first embodiment.
  • the robot posture determination device 10 includes a CPU (Central Processing Unit) 12, a memory 14, a storage device 16, an input device 18, an output device 20, a storage medium reader 22, and a communication I/F (Interface ) 24.
  • Each component is communicatively connected to each other via a bus 26 .
  • the storage device 16 stores a robot posture determination program for executing the robot posture determination process, which will be described later.
  • the CPU 12 is a central processing unit that executes various programs and controls each configuration. That is, the CPU 12 reads a program from the storage device 16 and executes the program using the memory 14 as a work area. The CPU 12 performs control of the above components and various arithmetic processing according to programs stored in the storage device 16 .
  • the memory 14 is composed of RAM (Random Access Memory) and temporarily stores programs and data as a work area.
  • the storage device 16 is composed of ROM (Read Only Memory), HDD (Hard Disk Drive), SSD (Solid State Drive), etc., and stores various programs including an operating system and various data.
  • the input device 18 is a device for performing various inputs, such as a keyboard and mouse.
  • the output device 20 is, for example, a device for outputting various information, such as a display and a printer.
  • a touch panel display may be used as the output device 20 to function as the input device 18 .
  • the storage medium reading device 22 reads data stored in various storage media such as CD (Compact Disc)-ROM, DVD (Digital Versatile Disc)-ROM, Blu-ray Disc, USB (Universal Serial Bus) memory, etc. writes data to the
  • the communication I/F 24 is an interface for communicating with other devices, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark), for example.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the robot posture determination device 10.
  • the robot posture determination device 10 includes an acquisition unit 32, a generation unit 34, and a search unit 36 as functional configurations.
  • the generating unit 34 and the searching unit 36 are examples of the "searching unit" of the present disclosure.
  • Each functional configuration is realized by the CPU 12 reading out a robot posture determination program stored in the storage device 16, developing it in the memory 14, and executing it.
  • a graph 38 generated by the generator 34 is stored in a predetermined storage area of the robot posture determination device 10 .
  • the acquisition unit 32 acquires work information, gripping information, workpiece orientation information, robot specification information, and peripheral information.
  • the work information includes information such as the type of work, the order of work, the work to be used in the work, and the gripping state indicating which part of the work is to be gripped by which part of the robot hand.
  • the gripping information is information indicating multiple candidates for the relative positional relationship between the robot hand and the workpiece gripped by the robot hand.
  • the gripping information includes relative coordinates (x, y, z) and relative orientation (roll, pitch, yaw) (roll, pitch, yaw) ( hereinafter referred to as "holding posture").
  • the gripping information acquired by the acquiring unit 32 is a list of gripping information about a plurality of gripping postures. Although three gripping postures (gripping postures 1, 2, and 3) are shown in the example of FIG. 4, the list includes gripping information of more gripping postures (for example, several tens of patterns).
  • the work posture information is the stable posture that the work can take when it is casually placed on a workbench or the like.
  • FIG. 5 shows an example of work postures (work postures 1, 2, and 3) of a T-shaped and pipe-shaped work.
  • the work orientation information is represented, for example, by degrees of freedom of orientation (roll, pitch, yaw).
  • work posture 1 shown in FIG. 5 is represented by work posture information that roll and pitch are fixed at 0° and yaw is freely rotatable.
  • the workpiece posture information may be determined for each posture obtained by changing the rotation angle of the freely rotatable shaft by a predetermined angle.
  • the robot specification information includes kinematics information that indicates the structure such as the connection relationship between links and the rotation axis of the link, dynamics information that is information for specifying the speed during link operation such as the weight of each link, and shape information for each link.
  • the shape information may be three-dimensional data such as CAD (Computer-Aided Design) data.
  • the surrounding information is information that indicates the surrounding environment where the robot works, and is information that indicates the layout and shape of obstacles and the like.
  • the peripheral information may be, for example, CAD data or three-dimensional data measured by a three-dimensional data measuring device.
  • Work information, gripping information, work posture information, robot specification information, and peripheral information are input to the robot posture determining device 10 via the input device 18, the storage medium reading device 22, or the communication I/F 24.
  • the acquisition unit 32 transfers the acquired work information, grip information, workpiece posture information, robot specification information, and peripheral information to each of the generation unit 34 and the search unit 36 .
  • the generation unit 34 generates a graph for searching the posture of the robot at each target point with the shortest operation time.
  • a graph is composed of a plurality of nodes corresponding to each target point, a plurality of edges connecting nodes corresponding to the target points, and weights assigned to the edges.
  • the generator 34 identifies a plurality of candidates for the work posture for each target point.
  • a work posture candidate is one of the work postures indicated by each of the work posture information as shown in FIG.
  • the generation unit 34 identifies a plurality of hand posture candidates for each target point.
  • the hand posture candidates are the posture candidates of the robot hand that grips the workpiece. As shown in FIG. 4, there are a plurality of gripping postures of the robot hand for a given workpiece posture.
  • the generating unit 34 identifies the relative attitude of the TCP with respect to the workpiece for each target point, based on the work information and the gripping information, for each workpiece attitude. Then, the generation unit 34 identifies the hand orientation by using the position of the TCP as the position of the target point and the orientation of the TCP as the orientation obtained by converting the identified relative orientation of the TCP into the world coordinate system.
  • the generation unit 34 also identifies a plurality of candidates for the robot posture.
  • the robot posture is the posture of the robot corresponding to the posture of the hand that grips the workpiece, which is obtained based on the hand posture and kinematics information.
  • the generating unit 34 uses inverse kinematics to identify the posture of the robot, that is, the value of each joint, from the position and posture of the TCP.
  • a plurality of robot postures exist for one hand posture.
  • FIG. 6 shows an example of a list of robot poses identified for a given hand pose. In the example shown in FIG. 6, there are 4 variations in the values of the joints J1 to J3, of which there are 6 variations in the combination of J4 to J6, and a total of 24 patterns of robot postures are specified.
  • the generation unit 34 generates nodes corresponding to the combinations of the work orientation candidates, hand orientation candidates, and robot orientation candidates identified for each target point.
  • each circle corresponds to one node.
  • one combination is selected from each of the work posture candidates, the hand posture candidates, and the robot posture candidates, and corresponds to one node. do.
  • a node group corresponding to one target point (white rhombus or hatched rhombus in FIG. 7) is shown surrounded by a dotted line.
  • the generation unit 34 determines whether the robot will interfere with the surrounding environment (hereinafter also referred to as "obstacle") based on the robot posture, the peripheral information, and the shape information of the robot included in the robot specification information. judge. If it is determined that there will be interference, the generation unit 34 does not generate a node corresponding to the combination including the robot posture. For example, when the robot interferes with a surrounding obstacle in a robot posture included in a combination corresponding to a node indicated by a dashed line in the upper diagram of FIG. 7, the generation unit 34 deletes that node.
  • obstacle the surrounding environment
  • the generating unit 34 generates edges connecting nodes corresponding to combinations that allow transition between target points.
  • the generation unit 34 connects edges (solid line arrows in FIG. 7) in the direction from the start point to the end point of the motion of the robot. That is, of the two nodes connected by the edge, the node corresponding to the target point on the starting point side (hereinafter referred to as "From node”) is the node corresponding to the target point on the starting point and the ending point side of the edge (hereinafter referred to as "To node”) is the end point of the edge.
  • From node the node corresponding to the target point on the starting point side
  • To node the ending point side of the edge
  • the generating unit 34 determines whether or not the grip postures are the same as a determination as to whether or not there is a combination that allows transition between the target points.
  • the grip orientation is specified based on the work orientation and hand orientation included in the combination. If the grip postures are not the same, the generation unit 34 determines that transition between the combinations is impossible, and does not generate edges between the nodes corresponding to the combination. This is because the robot hand does not re-grip the work once it is in motion, so the edge connection is restricted by the fact that the gripping posture, that is, the way the robot hand grips the work is the same. is.
  • the generation unit 34 determines whether or not the combination allows transition between target points. It is determined whether or not the posture forms are the same. For example, the generation unit 34 may determine whether two robot postures have the same form based on the relative relationship between joint values and link postures. This is because, in an articulated robot, the linear movement of the TCP has a mechanical characteristic that the posture of the robot must be between the same forms.
  • the generation unit 34 determines whether or not there is a combination that allows transition between target points based on the peripheral information and the shape information of the robot. Determine whether there is a possibility of occurrence. For example, the generation unit 34 determines that there is a possibility of unavoidable interference with the surrounding environment when a part of the robot in the robot posture corresponding to the From node is close to an obstacle. you can In this case, since it is difficult to change the robot posture from the robot posture corresponding to the From node, it is determined that there is a possibility that unavoidable interference may occur when moving the robot posture to the robot posture corresponding to the To node. It is something to do.
  • Whether or not the robot is close may be determined when the shortest distance between the robot and the obstacle is equal to or less than a predetermined value.
  • the part of the robot may be a part near the base side of the robot. This is because the closer the part near the base is to the obstacle, the more difficult it is to change the posture of the robot from that state.
  • This determination is restricted by excluding unnecessary edges in the graph for searching for the route with the shortest operation time.
  • it is determined whether or not unavoidable interference will occur without calculating the actual route between the target points by path planning or the like.
  • the graph generation time is shortened, and as a result, the search time for the route with the shortest operation time is also shortened.
  • dashed arrows indicate cases in which edges are not generated between nodes due to the constraints described above.
  • the generating unit 34 gives edges an index related to the robot motion time between the robot postures corresponding to the nodes connected by the edges.
  • the generator 34 calculates, as an index related to the movement time, an estimated movement time that can be calculated by a simple method without calculating the actual movement time by path planning or the like.
  • the generation unit 34 calculates an index based on the difference between the robot postures corresponding to the nodes as the estimated motion time. More specifically, the generation unit 34 calculates the maximum value obtained by dividing the difference in rotation angle of each joint of the robot by the maximum rotation speed of each joint as the estimated motion time.
  • the generator 34 assumes that the robot posture corresponding to the From node always moves at the maximum speed to the robot posture corresponding to the To node by joint interpolation without considering the interference avoidance motion, and estimates as follows.
  • the operating time may be calculated.
  • j 1, . . . , 6)
  • the above estimated operation time does not take into account the acceleration/deceleration time required to operate the robot, but the acceleration time required to reach the maximum speed and the deceleration time required to reach the stop speed can be calculated simply. , may be included in the calculation of the estimated operation time.
  • the generation unit 34 assigns the estimated motion time calculated as described above to each edge as a weight.
  • the generation unit 34 generates a temporary start node before the target point corresponding to the starting point of the motion, and connects the start node and each node corresponding to the target point corresponding to the starting point of the motion. generate edges that Similarly, the generation unit 34 generates a temporary goal node after the target point corresponding to the end point of the motion, and connects each node corresponding to the target point corresponding to the end point of the motion to the goal node. generate edges that In addition, the generation unit 34 assigns the same weight to each edge connected to the start node and the goal node. This weight may be a very small value so as not to affect the operating time for each route. For example, it may be 1/10 of the minimum value of the estimated operation time given to the edges in the graph.
  • the generator 34 stores the generated graph 38 in a predetermined storage area.
  • the search unit 36 uses the graph 38 to search for the series of robot postures with the shortest operation time among the series of robot postures at each target point. For example, the search unit 36 finds a path with the shortest sum of estimated motion times given to edges included in the path (hereinafter referred to as "shortest path") among paths from the start node to the goal node included in the graph 38. ). For example, the Dijkstra method or the like may be applied to search for such a shortest path. In the lower diagram of FIG. 7, the searched shortest path is indicated by a thick line. The searching unit 36 outputs a series of robot postures corresponding to each node included in the searched shortest path as a series of robot postures with the shortest operation time.
  • FIG. 9 is a flowchart showing the flow of robot posture determination processing executed by the CPU 12 of the robot posture determination device 10.
  • the CPU 12 reads out the robot posture determination program from the storage device 16, develops it in the memory 14, and executes it, whereby the CPU 12 functions as each functional component of the robot posture determination device 10, and the robot posture determination process shown in FIG. 9 is executed. be done.
  • the acquisition unit 32 acquires work information, gripping information, workpiece orientation information, robot specification information, and peripheral information, and transfers them to the generation unit 34.
  • step S12 the generating unit 34 identifies, for each target point, a plurality of candidates for the work orientation, a plurality of candidates for the hand orientation, and a plurality of candidates for the robot orientation. Then, the generating unit 34 generates a node corresponding to the combination of the work posture candidate, the hand posture candidate, and the robot posture candidate specified for each target point. When determining that the robot will interfere with a surrounding obstacle based on the robot posture, peripheral information, and robot shape information, the generating unit 34 deletes the node corresponding to the robot posture.
  • step S14 the generation unit 34 determines the distance between the target points under the constraints that the grasping posture is the same, the form of the robot posture is the same in the case of linear movement, and unavoidable interference with the surrounding environment does not occur. Generate edges that connect nodes corresponding to combinations that can be transitioned with .
  • step S16 the generator 34 divides, for example, the difference in the rotation angle of each joint of the robot by the maximum value of the rotation speed of each joint between the robot postures corresponding to the nodes connected by the edges.
  • the maximum value of the values obtained is calculated as the estimated operating time.
  • the generation unit 34 assigns the calculated estimated operation time as a weight to the edge connecting the nodes.
  • step S18 the generator 34 generates a start node and a goal node.
  • the generation unit 34 generates an edge connecting each of the start node and each node corresponding to the target point corresponding to the start point of the motion, and each of the nodes corresponding to the target point corresponding to the end point of the motion and the goal node. Generate an edge connecting the .
  • the generator 34 assigns the same and very small weights to the edges connected to the start node and the goal node.
  • a graph 38 is thereby generated.
  • step S20 the search unit 36 calculates the sum of the estimated motion times given to the edges included in the paths from the start node to the goal node included in the graph 38 by, for example, Dijkstra's algorithm. Search for the shortest path, that is, the shortest route.
  • step S22 the search unit 36 outputs the series of robot postures corresponding to each node included in the searched shortest path as the series of robot postures with the shortest operation time. finish.
  • the robot posture determination device acquires work information, gripping information, workpiece posture information, and robot specification information. Then, the robot posture determination device provides edges connecting nodes corresponding to respective combinations of work posture candidates, hand posture candidates, and robot posture candidates, and nodes corresponding to combinations that allow transition between target points. Generate a graph containing and In addition, the robot posture determination device assigns the estimated motion time of the robot between the robot postures corresponding to the nodes connected by the edges as weights to the edges. Using the graph, the robot posture determination device searches for and outputs a sequence of robot postures at each of the plurality of target points that minimizes the estimated motion time.
  • the user can determine the sequence of robot postures that minimizes the operation time regardless of intuition, tricks, experience, etc. Therefore, in constructing a robot system, it is possible to shorten the start-up time and reduce the dependence on skilled engineers. Furthermore, new construction or modification of the robot system is facilitated, and productivity is improved.
  • the robot posture determination apparatus acquires surrounding information indicating the surrounding environment in which the robot works, and when the robot and surrounding obstacles interfere with each other, the corresponding nodes in the graph and Avoid generating edges.
  • the generation of unnecessary nodes and edges can be suppressed, the generated graph can be simplified, and the shortest path search can be performed efficiently.
  • the robot posture determination device 10 In the robot posture determination device 10 according to the first embodiment, the case where the estimated motion time is used as the weight of the edge in the graph has been described. In the second embodiment, a method of searching for the shortest path with higher accuracy while updating edge weights to more accurate operation times will be described.
  • the robot posture determination device 210 includes an acquisition unit 32, a generation unit 34, and a search unit 236 as functional configurations.
  • Each functional configuration is realized by the CPU 12 reading out a robot posture determination program stored in the storage device 16, developing it in the memory 14, and executing it. Further, a graph 38 generated by the generator 34 is stored in a predetermined storage area of the robot posture determination device 210 .
  • the search unit 236 first searches for the shortest path from the graph generated by the generation unit 34, as shown in the upper diagram of FIG. 10, in the same way as the search unit 36 according to the first embodiment. Then, the searching unit 236 calculates the actual operation time of the robot between the robot postures corresponding to the nodes included in the searched shortest path (hereinafter referred to as "actual operation time"), and the result is shown in the middle diagram of FIG. As shown, the weights of edges between nodes are updated with the calculated actual operating times. In FIG. 10, the edge indicated by the double-lined arrow represents the edge whose weight has been updated from the estimated operation time to the actual operation time.
  • the search unit 236 determines and determines the speed and acceleration/deceleration when the robot moves by joint interpolation while avoiding interference with the surrounding environment between the robot postures corresponding to the nodes. Calculate the operation time when the robot operates with speed and acceleration/deceleration. For example, the search unit 236 uses RRT (Rapidly-Exploring Random Tree), PRM (Probabilistic Roadmap Method), etc. to plan the route between the robot postures corresponding to the nodes. The search unit 236 may then calculate the operating time based on the planned route.
  • RRT Randomly-Exploring Random Tree
  • PRM Probabilistic Roadmap Method
  • the search unit 236 finds edges between the nodes. delete. In the diagram shown in the middle of FIG. 10, the portion indicated by the dashed ellipse indicates that the edge has been deleted.
  • the search unit 236 searches for the shortest path using the graph in which the edge weights have been updated, as shown in the lower part of FIG. Then, the searching unit 236 repeats updating the weight of the edge based on the actual operation time and searching for the shortest path until the same shortest path as the previously searched shortest path is searched.
  • the estimated operation time is the operation time that does not consider the interference avoidance operation and the accurate speed and acceleration/deceleration
  • the actual operation time is the time that takes them into account. Therefore, the actual operation time ⁇ estimated operation time is always satisfied. Therefore, when the shortest route is searched repeatedly while updating the weight of the edge from the estimated operation time to the actual operation time, if the same shortest route as the previously searched shortest route is searched, the operation time is increased.
  • the searching unit 236 outputs a series of robot postures corresponding to each node included in the shortest path at the time when the search for the shortest path is completed, as a series of robot postures with the shortest operation time.
  • FIG. 11 is a flow chart showing the flow of robot posture determination processing executed by the CPU 12 of the robot posture determination device 210 .
  • the CPU 12 reads out the robot posture determination program from the storage device 16, develops it in the memory 14, and executes it, whereby the CPU 12 functions as each functional component of the robot posture determination device 210, and the robot posture determination process shown in FIG. 11 is executed. be done.
  • step S200 graph generation processing is executed.
  • the graph generation process is the same as steps S10 to S18 of the robot posture determination process (FIG. 9) in the first embodiment.
  • step S202 the search unit 236 searches for the shortest path P1 from the graph 38 generated in step S200.
  • step S204 the searching unit 236 calculates the actual motion time of the robot between the robot postures corresponding to the nodes included in the searched shortest path P1, and calculates the weight of the edge between the nodes from the estimated motion time. , is updated to the calculated actual operation time.
  • step S206 the search unit 236 searches for the shortest path P2 from the graph 38 in which the edge weights have been updated.
  • step S212 the search unit 236 outputs the robot posture series corresponding to each node included in the shortest path P1 as the robot posture series with the shortest operation time, and the robot posture determination process ends.
  • the robot posture determination apparatus repeats the search for the shortest path while updating the weights of the edges included in the searched shortest path from the estimated motion time to the actual motion time. This makes it possible to shorten the calculation time from generating the graph to searching for the shortest path, compared to the case where the edge weights are all set to the actual operating times. In addition, compared to the case where the edge weights are all estimated motion times, it is possible to more accurately determine the series of robot postures with the shortest motion times.
  • the disclosed technology is also applicable to off-line teaching tools for robots, simulation tools such as CPS (Cyber-Physical System), CAD, and the like.
  • the robot posture determination processing executed by the CPU reading the software (program) in each of the above embodiments may be executed by various processors other than the CPU.
  • the processor is a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit) to execute specific processing.
  • a dedicated electric circuit or the like which is a processor having a specially designed circuit configuration, is exemplified.
  • the robot posture determination processing may be executed by one of these various processors, or by a combination of two or more processors of the same or different type (for example, multiple FPGAs, and a combination of a CPU and an FPGA). combination, etc.). More specifically, the hardware structure of these various processors is an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the robot posture determination program has been pre-stored (installed) in the storage device, but the present invention is not limited to this.
  • the program may be provided in a form stored in a storage medium such as a CD-ROM, DVD-ROM, Blu-ray disc, USB memory, or the like. Also, the program may be downloaded from an external device via a network.

Abstract

取得部(32)が、ハンド部を有するロボットに行わせる作業に関する作業情報と、ハンド部とワークとの相対位置関係の複数の候補を示す把持情報と、ワークが取り得る姿勢の複数の候補を示すワーク姿勢情報と、ロボットのキネマティクス情報を取得し、生成部(34)が、作業を行うためのロボットの経路上の複数の対象点毎に、ワーク姿勢情報と、ワークを把持するハンド部の姿勢と、ロボットの姿勢との組み合わせの各々に対応するノードと、対象点間で遷移可能な組み合わせに対応するノード間を接続するエッジとを含み、エッジで接続されたノード間に対応する推定動作時間を重みとしてエッジに付与したグラフ(38)を生成し、探索部(36)が、グラフ(38)を用いて、動作時間が最短となる、複数の対象点の各々におけるロボットの姿勢の系列を探索する。

Description

ロボット姿勢決定装置、方法、及びプログラム
 本開示は、ロボット姿勢決定装置、ロボット姿勢決定方法、及びロボット姿勢決定プログラムに関する。
 従来、ロボットに所定の作業を行わせるためのロボットの作業姿勢のティーチングは、ロボットの動作時間が最短となるように、熟練の作業員がカン、コツ、経験等を頼りに行っていた。しかし、ロボットで行う作業の増加や複雑化により、ロボットの動作時間が最短となるロボットの姿勢を決定することが困難化し、ロボットの姿勢の試行錯誤にかかる時間が長くなるという課題があった。そこで、ロボットの姿勢の決定を支援する技術が提案されている。
 例えば、最適な移動点毎の各関節の角度位置の組合せを短時間で演算可能な教示支援装置が提案されている(特許文献1:特開2007-203380号公報参照)。特許文献1に記載の装置は、解候補の組み合わせ毎に移動点間の移動時間を全て求め、下流側の解候補に対して、移動時間が最も短い上流側の解候補の組み合わせを抽出する。また、この装置は、抽出結果に基づいて、始点から終点まで手先を移動させる全体的な移動時間が最も短くなる解候補の組み合わせを探索する。
 例えば、ロボットハンドでワークを把持して移動させる作業をロボットに実行させる場合を想定する。この場合、ロボットハンドによるワークの把持状態には多くのバリエーションが存在する。
 しかしながら、特許文献1に記載の技術では、ロボットの移動対象部位(手先)の移動点毎の位置及び姿勢の初期解が入力されることを前提としている。すなわち、特許文献1に記載の技術では、上記のような把持状態が予め特定されている必要があり、この把持状態に多くのバリエーションが存在することが考慮されていない。
 本開示は、上記の点に鑑みてなされたものであり、ワークに対する把持状態も含め、最適なロボットの姿勢を効率良く決定することを目的とする。
 上記目的を達成するために、本開示に係るロボット姿勢決定装置は、ハンド部を有するロボットに行わせる作業に関する作業情報と、前記ハンド部と前記ハンド部により把持されるワークとの相対位置関係の複数の候補を示す把持情報と、前記ワークが取り得る姿勢の複数の候補を示すワーク姿勢情報と、前記ロボットのキネマティクス情報を含む仕様情報とを取得する取得部と、前記作業を行うための前記ロボットの経路上の複数の対象点毎に、前記ワーク姿勢情報と、前記作業情報、前記把持情報、及び前記ワーク姿勢情報に基づいて得られる前記ワークを把持する前記ハンド部の姿勢と、前記ハンド部の姿勢及び前記キネマティクス情報に基づいて得られる、前記ハンド部の姿勢に応じた前記ロボットの姿勢との組み合わせの各々を対応させ、前記対象点間で遷移可能な前記組み合わせの系列から、前記ロボットの姿勢間における前記ロボットの動作時間に関連する指標に基づいて、前記ロボットの動作時間が最短となる前記組み合わせの系列を探索する探索部と、を含んで構成される。
 また、前記探索部は、前記組み合わせの前記ワーク姿勢情報及び前記ハンド部の姿勢に基づいて特定される把持姿勢が異なる場合、前記対象点間で遷移不可能な前記組み合わせであると判定してよい。
 また、前記探索部は、前記組み合わせの前記ロボットの姿勢間でのロボットの動作が直線移動の場合であって、前記組み合わせの前記ロボットの姿勢の形態が異なる場合、前記対象点間で遷移不可能な前記組み合わせであると判定してよい。
 また、前記探索部は、前記動作時間に関連する指標として、前記組み合わせの前記ロボットの姿勢間の差分に基づく指標を算出してよい。
 また、前記探索部は、前記ロボットの姿勢の差分に基づく指標として、前記ロボットの各関節の回転角度の差分を、各関節の回転速度の最大値で割った値の最大値を算出してよい。
 また、前記探索部は、前記組み合わせの各々に対応するノードと、前記対象点間で遷移可能な前記組み合わせに対応するノード間を接続するエッジとを含み、前記動作時間に関連する指標を前記エッジに付与したグラフを生成し、前記グラフを用いて、前記ロボットの動作時間が最短となる前記組み合わせの系列を探索してよい。
 また、前記取得部は、前記ロボットが作業を行う周辺の環境を示す周辺情報と、前記ロボットのダイナミクス情報及び形状情報をさらに含む仕様情報とを取得し、前記探索部は、前記周辺情報、前記仕様情報、及び前記ロボットの姿勢に基づいて、前記ノード間に対応する前記ロボットの姿勢間の経路で、前記周辺の環境と回避不可能な干渉が発生すると推定されるノード間を、前記対象点間で遷移不可能な前記組み合わせに対応するノード間であると判定してよい。
 また、前記探索部は、前記対象点において、前記周辺の環境と干渉する前記ロボットの姿勢を含む前記組み合わせに対応するノードを生成しないようにしてよい。
 また、前記探索部は、探索した前記系列に対応する前記グラフのパスに含まれるエッジで接続されたノード間に対応する前記ロボット姿勢間における前記ロボットの実際の動作時間を算出し、前記ノード間のエッジの重みを、算出した前記実際の動作時間で更新し、前記動作時間が最短となる前記系列の探索を、前回探索された前記系列と同一の系列が探索されるまで繰り返すようにしてよい。
 前記探索部は、前記実際の動作時間として、前記ノード間に対応する前記ロボットの姿勢間において前記ロボットが前記周辺の環境との干渉を回避する動作であって、設定された速度又は加減速度で前記ロボットが動作する場合の動作時間を算出してよい。
 また、前記対象点は、前記ハンド部が前記ワークを把持又は解放する作業点、及び前記ロボットの動作方向が変更される動作変更点を含んでよい。
 また、本開示に係るロボット姿勢決定方法は、取得部が、ハンド部を有するロボットに行わせる作業に関する作業情報と、前記ハンド部と前記ハンド部により把持されるワークとの相対位置関係の複数の候補を示す把持情報と、前記ワークが取り得る姿勢の複数の候補を示すワーク姿勢情報と、前記ロボットのキネマティクス情報を含む仕様情報とを取得し、探索部が、前記作業を行うための前記ロボットの経路上の複数の対象点毎に、前記ワーク姿勢情報と、前記作業情報、前記把持情報、及び前記ワーク姿勢情報に基づいて得られる前記ワークを把持する前記ハンド部の姿勢と、前記ハンド部の姿勢及び前記キネマティクス情報に基づいて得られる、前記ハンド部の姿勢に応じた前記ロボットの姿勢との組み合わせの各々を対応させ、前記対象点間で遷移可能な前記組み合わせの系列から、前記ロボットの姿勢間における前記ロボットの動作時間に関連する指標に基づいて、前記ロボットの動作時間が最短となる前記組み合わせの系列を探索する方法である。
 また、本開示に係るロボット姿勢決定プログラムは、コンピュータを、ハンド部を有するロボットに行わせる作業に関する作業情報と、前記ハンド部と前記ハンド部により把持されるワークとの相対位置関係の複数の候補を示す把持情報と、前記ワークが取り得る姿勢の複数の候補を示すワーク姿勢情報と、前記ロボットのキネマティクス情報を含む仕様情報とを取得する取得部、及び、前記作業を行うための前記ロボットの経路上の複数の対象点毎に、前記ワーク姿勢情報と、前記作業情報、前記把持情報、及び前記ワーク姿勢情報に基づいて得られる前記ワークを把持する前記ハンド部の姿勢と、前記ハンド部の姿勢及び前記キネマティクス情報に基づいて得られる、前記ハンド部の姿勢に応じた前記ロボットの姿勢との組み合わせの各々を対応させ、前記対象点間で遷移可能な前記組み合わせの系列から、前記ロボットの姿勢間における前記ロボットの動作時間に関連する指標に基づいて、前記ロボットの動作時間が最短となる前記組み合わせの系列を探索する探索部として機能させるためのプログラムである。
 本開示に係るロボット姿勢決定装置、方法、及びプログラムによれば、ワークに対する把持状態も含め、最適なロボットの姿勢を効率良く決定することができる。
各実施形態の概要を説明するための図である。 ロボット姿勢決定装置のハードウェア構成を示すブロック図である。 ロボット姿勢決定装置の機能構成の例を示すブロック図である。 把持情報を説明するための図である。 ワーク姿勢情報を説明するための図である。 あるハンド姿勢に対して特定されるロボット姿勢の一覧の一例を示す図である。 グラフの生成及び最短経路の探索を説明するための図である。 1つのノードに対応する、ワーク姿勢の候補、ハンド姿勢の候補、及びロボット姿勢の候補の組み合わせを説明するための図である。 第1実施形態におけるロボット姿勢決定処理の流れを示すフローチャートである。 第2実施形態における最短経路の探索を説明するための図である。 第2実施形態におけるロボット姿勢決定処理の流れを示すフローチャートである。
 以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<各実施形態の概要>
 まず、以下で詳述する各実施形態の概要について説明する。
 各実施形態に係るロボット姿勢決定装置は、図1に示すように、ロボットハンドを有するロボットにワークを取り扱う作業を行わせる場合において、ロボットの動作の各対象点におけるロボットの姿勢を決定する。なお、ロボットハンドは、開示の技術のハンド部の一例である。図1の例では、作業台Aに置かれたワークをロボットハンドで把持(ピック)し、作業台Bに載置(プレース)するピックアンドプレースの作業の一例を示している。より具体的には、作業台Aでワークを把持し、ロボットハンドを直線移動で上昇させた後、作業台Bの方向へ移動させ、ロボットハンドを直線移動で下降させて、ワークを作業台Bに載置する作業である。
 対象点には、ロボットハンドがワークを把持又は解放する作業を行う作業点(図1中の白い菱形)、及びロボットの動作方向が変更される動作変更点(図1中の網掛の菱形)が含まれる。対象点は、世界座標系における座標(x,y,z)で特定される。なお、ロボットの動作を示す経路上には、障害物との干渉を回避するため干渉回避点(図1中の黒い菱形)も設定される。ただし、下記の各実施形態では、干渉回避点におけるロボットの姿勢は、対象点間の経路を自動で決定するパスプランニングにより決定されるものとし、干渉回避点は対象点には含まれないものとする。
 以下の各実施形態に係るロボット姿勢決定装置は、上記のような対象点を経由する経路にしたがってロボットを動作させた際に、動作時間が最短となるように、各対象点におけるロボットの姿勢を決定する。
 以下の各実施形態では、ロボットが、三次元空間における動作に必要な6自由度の構成を備えた垂直多関節型のロボットである場合について説明する。より具体的には、ロボットは、複数のリンクが接続されて構成されると共に、ロボットの手先には、ロボットハンドが取り付けられる。リンク間の接続を関節(ジョイント)という。また、ロボットの手先(ロボットハンドが取り付けられる側)の基準位置をTCP(Tool Center Point)という。
 また、ロボットの姿勢は、TCPが所定の位置(x,y,z)及び姿勢(roll,pitch,yaw)にあると想定した場合の、ロボットの第1関節(ジョイントJ1)から第N関節(ジョイントJN、Nはロボットの関節数)までの各関節の値(回転角度)の系列(θJ1,θJ2,・・・,θJN)で表される。なお、以下の各実施形態では、ロボットの土台側から手先に向かって順に、J1、J2、・・・であるとする。さらに、TCPを任意の始点から終点まで動作させるときのロボットの各時刻における姿勢を時系列に並べたものが経路であり、その経路に、姿勢を変化させる速度及び加減速度の情報を加えたものが動作情報である。以下、各実施形態について詳述する。
<第1実施形態>
 図2は、第1実施形態に係るロボット姿勢決定装置10のハードウェア構成を示すブロック図である。図2に示すように、ロボット姿勢決定装置10は、CPU(Central Processing Unit)12、メモリ14、記憶装置16、入力装置18、出力装置20、記憶媒体読取装置22、及び通信I/F(Interface)24を有する。各構成は、バス26を介して相互に通信可能に接続されている。
 記憶装置16には、後述するロボット姿勢決定処理を実行するためのロボット姿勢決定プログラムが格納されている。CPU12は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU12は、記憶装置16からプログラムを読み出し、メモリ14を作業領域としてプログラムを実行する。CPU12は、記憶装置16に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 メモリ14は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置16は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力装置18は、例えば、キーボードやマウス等の、各種の入力を行うための装置である。出力装置20は、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための装置である。出力装置20として、タッチパネルディスプレイを採用することにより、入力装置18として機能させてもよい。
 記憶媒体読取装置22は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記憶媒体に対するデータの書き込み等を行う。通信I/F24は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
 次に、第1実施形態に係るロボット姿勢決定装置10の機能構成について説明する。図3は、ロボット姿勢決定装置10の機能構成の例を示すブロック図である。図3に示すように、ロボット姿勢決定装置10は、機能構成として、取得部32と、生成部34と、探索部36とを含む。生成部34及び探索部36は、本開示の「探索部」の一例である。各機能構成は、CPU12が記憶装置16に記憶されたロボット姿勢決定プログラムを読み出し、メモリ14に展開して実行することにより実現される。また、ロボット姿勢決定装置10の所定の記憶領域には、生成部34により生成されるグラフ38が記憶される。
 取得部32は、作業情報、把持情報、ワーク姿勢情報、ロボット仕様情報、及び周辺情報を取得する。
 作業情報には、作業の種類、作業の順番、作業で使用するワーク、ロボットハンドのどの部分でワークのどの部分を把持するかを示す把持の状態等の情報が含まれる。
 把持情報は、ロボットハンドと、ロボットハンドにより把持されるワークとの相対位置関係の複数の候補を示す情報である。具体的には、把持情報は、例えば図4に示すように、ロボットハンドでワークを把持した際のTCPのワークに対する相対座標(x,y,z)及び相対姿勢(roll,pitch,yaw)(以下、「把持姿勢」という)の情報である。取得部32が取得する把持情報は、複数の把持姿勢についての把持情報がリスト化されたものである。図4の例では、3つの把持姿勢(把持姿勢1、2、3)を示しているが、リストにはより多くの把持姿勢(例えば数十パターン)の把持情報が含まれる。
 ワーク姿勢情報は、ワークが作業台等に無造作に置かれた際にワークが取り得る安定姿勢である。図5に、T字型かつパイプ状のワークのワーク姿勢の一例(ワーク姿勢1、2、3)を示す。ワーク姿勢情報は、例えば、姿勢(roll,pitch,yaw)の自由度で表される。例えば、図5に示すワーク姿勢1の場合、roll及びpitchは0°で固定、yawは回転自由というワーク姿勢情報で表される。また、回転自由な軸の回転角度を所定角度ずつ変更させた姿勢毎にワーク姿勢情報を定めておいてもよい。
 ロボット仕様情報には、リンク間の接続関係やリンクの回転軸等の構造を示すキネマティクス情報、各リンクの重さ等、リンクの動作時の速度等を特定するための情報であるダイナミクス情報、及び各リンクの形状情報が含まれる。なお、形状情報は、例えばCAD(Computer-Aided Design)データ等の三次元データとしてよい。
 周辺情報は、ロボットが作業を行う周辺の環境を示す情報であり、障害物等の配置及び形状を示す情報である。周辺情報は、例えばCADデータや、三次元データ計測装置で計測された三次元データとしてよい。
 作業情報、把持情報、ワーク姿勢情報、ロボット仕様情報、及び周辺情報は、入力装置18、記憶媒体読取装置22、又は通信I/F24を介してロボット姿勢決定装置10に入力される。取得部32は、取得した作業情報、把持情報、ワーク姿勢情報、ロボット仕様情報、及び周辺情報を、生成部34及び探索部36の各々に受け渡す。
 生成部34は、動作時間が最短となる各対象点におけるロボットの姿勢を探索するためのグラフを生成する。グラフは、各対象点に対応した複数のノードと、対象点間に対応するノード間を接続する複数のエッジと、エッジに付与される重みとで構成される。
 具体的には、生成部34は、対象点毎に、ワーク姿勢の複数の候補を特定する。ワーク姿勢の候補は、図5に示すような、ワーク姿勢情報の各々が示すワーク姿勢のいずれかである。
 また、生成部34は、対象点毎に、ハンド姿勢の複数の候補を特定する。ハンド姿勢の候補は、ワークを把持するロボットハンドの姿勢の候補である。あるワーク姿勢に対して、ロボットハンドの把持姿勢は、図4に示すように複数存在する。より具体的には、生成部34は、対象点毎に、ワーク姿勢の各々について、作業情報及び把持情報に基づいて、ワークに対するTCPの相対姿勢を特定する。そして、生成部34は、TCPの位置を対象点の位置とし、TCPの姿勢を、特定したTCPの相対姿勢を世界座標系に変換した姿勢として、ハンド姿勢を特定する。
 また、生成部34は、ロボット姿勢の複数の候補を特定する。ロボット姿勢は、ハンド姿勢及びキネマティクス情報に基づいて得られる、ワークを把持するハンド姿勢に応じたロボットの姿勢である。具体的には、生成部34は、逆運動学により、TCPの位置及び姿勢から、ロボットの姿勢、すなわち各関節の値を特定する。1つのハンド姿勢に対し、ロボット姿勢は複数存在する。図6に、あるハンド姿勢に対して特定されるロボット姿勢の一覧の一例を示す。図6に示す例では、関節J1~J3の値で4バリエーション、その中でもJ4~J6の組み合わせで6バリエーションが存在し、合計で24パターンのロボット姿勢が特定されている。J4~J6の組み合わせの6バリエーションについて、同一グループ(A又はB)内でのロボットの姿勢の見た目は同一であるが、J4~J6の値がそれぞれ異なる。図6の例では、グループAとグループBとでは、ロボットの出っ張り部分(図6中の破線部)の位置が異なる。
 生成部34は、図7の上段の図に示すように、対象点毎に特定した、ワーク姿勢の候補、ハンド姿勢の候補、及びロボット姿勢の候補の組み合わせに対応するノードを生成する。図7の例では、丸印が1つのノードに相当する。また、例えば、図8の破線部に示すように、ワーク姿勢の候補、ハンド姿勢の候補、及びロボット姿勢の候補の各々から1つずつ選択したものが1つの組み合わせであり、1つのノードに対応する。また、図7の例では、1つの対象点(図7中の白い菱形又は網掛の菱形)に対応するノード群を点線で囲んで示している。
 また、生成部34は、ロボット姿勢、周辺情報、及びロボット仕様情報に含まれるロボットの形状情報に基づいて、ロボットが周辺の環境(以下、「障害物」ともいう)と干渉するか否かを判定する。生成部34は、干渉すると判定した場合、そのロボット姿勢を含む組み合わせに対応するノードを生成しないようにする。例えば、図7の上段の図の破線で示すノードに対応する組み合わせに含まれるロボット姿勢において、ロボットが周辺の障害物と干渉する場合、生成部34は、そのノードを削除する。
 生成部34は、図7の中段の図に示すように、対象点間で遷移可能な組み合わせに対応するノード間を接続するエッジを生成する。なお、生成部34は、ロボットの動作の開始点から終了点へ向かう方向に、エッジ(図7中の実線矢印)を接続する。すなわち、エッジで接続される2つのノードのうち、開始点側の対象点に対応するノード(以下、「Fromノード」という)がエッジの始点、終了点側の対象点に対応するノード(以下、「Toノード」という)がエッジの終点となる。
 生成部34は、対象点間で遷移可能な組み合わせか否かの判定として、把持姿勢が同一か否かを判定する。把持姿勢は、組み合わせに含まれるワーク姿勢及びハンド姿勢に基づいて特定される。把持姿勢が同一ではない場合は、生成部34は、その組み合わせ間は遷移不可能であると判定し、その組み合わせに対応するノード間にはエッジを生成しない。これは、一旦ロボットハンドにより把持したワークを、ロボットの動作中に把持し直すことはないため、把持姿勢、すなわちロボットハンドによるワークのつかみ方が同一であることを、エッジ接続の制約とするものである。
 また、生成部34は、対象点間で遷移可能な組み合わせか否かの判定として、ノード間に対応するロボットの姿勢間でのロボットの動作、すなわちTCPの位置の遷移が直線移動の場合、ロボット姿勢の形態が同一か否かを判定する。例えば、生成部34は、2つのロボット姿勢の形態が同一か否かを、ジョイント値やリンク姿勢間の相対関係で判定してよい。多関節ロボットにおいて、TCPの直線移動は、ロボット姿勢が同一形態間でなければならない機構上の特性があるからである。
 また、生成部34は、対象点間で遷移可能な組み合わせか否かの判定として、周辺情報及びロボットの形状情報に基づいて、ロボット姿勢間の動作で、周辺の環境と回避不可能な干渉が発生する可能性があるか否かを判定する。例えば、生成部34は、Fromノードに対応するロボット姿勢におけるロボットの一部が障害物に近接した状態である場合に、周辺の環境と回避不可能な干渉が発生する可能性があると判定してよい。この場合、Fromノードに対応するロボット姿勢からロボット姿勢を変化させることが困難であるため、Toノードに対応するロボット姿勢へ動作させる際に、回避不可能な干渉が発生する可能性があると判定するものである。近接した状態か否かは、ロボットと障害物との最短距離が所定値以下の場合としてよい。また、ロボットの一部は、ロボットの土台側に近い部分としてよい。土台に近い部分が障害物と近接しているほど、その状態からロボット姿勢を変化させることが困難なためである。この判定は、最終的に動作時間が最短となる経路を探索するためのグラフにおいて不要なエッジを除外することを制約とするものである。なお、ここでは、パスプランニング等により対象点間の実際の経路を算出することなく、回避不可能な干渉が発生するか否かを判定している。これにより、グラフの生成時間が短縮され、結果的に動作時間が最短となる経路の探索時間も短縮される。
 なお、図7の中段の図では、上記のような制約により、ノード間にエッジが生成されない場合を、破線の矢印で示している。
 また、生成部34は、エッジで接続されたノード間に対応するロボット姿勢間におけるロボットの動作時間に関連する指標をエッジに付与する。生成部34は、動作時間に関連する指標として、パスプランニング等により実際の動作時間を算出することなく、簡易的な方法で算出可能な推定動作時間を算出する。例えば、生成部34は、ノード間に対応するロボット姿勢間の差分に基づく指標を、推定動作時間として算出する。より具体的には、生成部34は、推定動作時間として、ロボットの各関節の回転角度の差分を、各関節の回転速度の最大値で割った値の最大値を算出する。
 例えば、生成部34は、干渉回避動作は考慮せず、常に最大速度でFromノードに対応するロボット姿勢からToノードに対応するロボット姿勢へ関節補間で動作するものとみなし、下記に示すように推定動作時間を算出してよい。
Nf:Fromノードのロボット姿勢
 Nf={Jf1,Jf2,Jf3,Jf4,Jf5,Jf6
Nt:Toノードのロボット姿勢
 Nt={Jt1,Jt2,Jt3,Jt4,Jt5,Jt6
Vmax:ロボットのj番目の関節の最大速度
:推定動作時間
 t(Nf,Nt)
  =max((Jfj-Jtj)/Vmax|j=1,・・・,6)
 なお、上記の推定動作時間では、ロボットを動作させる際の加減速時間を考慮していないが、最大速度に達するまでの加速時間、及び停止速度に達するまでの減速時間を簡易的に算出して、推定動作時間の算出に含めてもよい。
 生成部34は、上記のように算出した推定動作時間を重みとして各エッジに付与する。また、生成部34は、動作の開始点に相当する対象点の前に、仮のスタートノードを生成し、スタートノードと、動作の開始点に相当する対象点に対応するノードの各々とを接続するエッジを生成する。同様に、生成部34は、動作の終了点に相当する対象点の後に、仮のゴールノードを生成し、動作の終了点に相当する対象点に対応するノードの各々と、ゴールノードとを接続するエッジを生成する。また、生成部34は、スタートノード及びゴールノードに接続するエッジの各々に、同一の重みを付与する。この重みは、経路毎の動作時間に影響を与えないように、極めて小さい値としてよい。例えば、グラフ内のエッジに付与された推定動作時間の最小値の1/10の値としてよい。生成部34は、生成したグラフ38を所定の記憶領域に記憶する。
 探索部36は、グラフ38を用いて、対象点の各々におけるロボット姿勢の系列のうち、動作時間が最短となるロボット姿勢の系列を探索する。例えば、探索部36は、グラフ38に含まれるスタートノードからゴールノードまでのパスのうち、パスに含まれるエッジに付与された推定動作時間の和が最短となるパス(以下、「最短経路」という)を探索する。このような最短経路の探索には、例えば、ダイクストラ法等を適用してよい。図7の下段の図では、探索された最短経路を太線で示している。探索部36は、探索された最短経路に含まれる各ノードに対応するロボット姿勢の系列を、動作時間が最短となるロボット姿勢の系列として出力する。
 次に、第1実施形態に係るロボット姿勢決定装置10の作用について説明する。図9は、ロボット姿勢決定装置10のCPU12により実行されるロボット姿勢決定処理の流れを示すフローチャートである。CPU12が記憶装置16からロボット姿勢決定プログラムを読み出して、メモリ14に展開して実行することにより、CPU12がロボット姿勢決定装置10の各機能構成として機能し、図9に示すロボット姿勢決定処理が実行される。
 ステップS10で、取得部32が、作業情報、把持情報、ワーク姿勢情報、ロボット仕様情報、及び周辺情報を取得し、生成部34へ受け渡す。
 次に、ステップS12で、生成部34が、対象点毎に、ワーク姿勢の複数の候補、ハンド姿勢の複数の候補、及びロボット姿勢の複数の候補を特定する。そして、生成部34が、対象点毎に特定した、ワーク姿勢の候補、ハンド姿勢の候補、及びロボット姿勢の候補の組み合わせに対応するノードを生成する。なお、生成部34は、ロボット姿勢、周辺情報、及びロボットの形状情報に基づいて、ロボットが周辺の障害物と干渉すると判定した場合、そのロボット姿勢に対応するノードを削除する。
 次に、ステップS14で、生成部34が、把持姿勢が同一、直線移動の場合はロボット姿勢の形態が同一、周辺の環境と回避不可能な干渉が発生しない等の制約の下、対象点間で遷移可能な組み合わせに対応するノード間を接続するエッジを生成する。
 次に、ステップS16で、生成部34が、エッジで接続されたノード間に対応するロボット姿勢間において、例えば、ロボットの各関節の回転角度の差分を、各関節の回転速度の最大値で割った値の最大値を、推定動作時間として算出する。そして、生成部34が、算出した推定動作時間を、そのノード間を接続するエッジの重みとして付与する。
 次に、ステップS18で、生成部34が、スタートノード及びゴールノードを生成する。また、生成部34が、スタートノードと動作の開始点に相当する対象点に対応するノードの各々とを接続するエッジ、及び動作の終了点に相当する対象点に対応するノードの各々とゴールノードとを接続するエッジを生成する。そして、生成部34が、スタートノード及びゴールノードに接続するエッジの各々に、同一かつ極めて小さい値の重みを付与する。これにより、グラフ38が生成される。
 次に、ステップS20で、探索部36が、例えば、ダイクストラ法等により、グラフ38に含まれるスタートノードからゴールノードまでのパスのうち、パスに含まれるエッジに付与された推定動作時間の和が最短となるパス、すなわち最短経路を探索する。次に、ステップS22で、探索部36が、探索された最短経路に含まれる各ノードに対応するロボット姿勢の系列を、動作時間が最短となるロボット姿勢の系列として出力し、ロボット姿勢決定処理は終了する。
 以上説明したように、第1実施形態に係るロボット姿勢決定装置は、作業情報、把持情報、ワーク姿勢情報、及びロボット仕様情報を取得する。そして、ロボット姿勢決定装置は、ワーク姿勢の候補とハンド姿勢の候補とロボット姿勢の候補との組み合わせの各々に対応するノードと、対象点間で遷移可能な組み合わせに対応するノード間を接続するエッジとを含むグラフを生成する。また、ロボット姿勢決定装置は、エッジで接続されたノード間に対応するロボット姿勢間におけるロボットの推定動作時間を重みとしてエッジに付与する。そして、ロボット姿勢決定装置は、グラフを用いて、推定動作時間が最短となる、複数の対象点の各々におけるロボット姿勢の系列を探索して出力する。このように、最短経路を探索するためのグラフのノードに、ワーク姿勢、ハンド姿勢、及びロボット姿勢の組み合わせを対応付けることにより、ワークに対する把持状態も考慮することができる。また、ノード間をエッジで接続する際に、把持姿勢やロボット姿勢の形態の同一性の制約を考慮することで、不要なエッジの生成を抑制し、生成されるグラフを簡素化することができる。また、エッジの重みとして、エッジで接続されたノード間に対応するロボット姿勢間における実際の動作時間ではなく、ロボット姿勢間の差分を用いた推定動作時間を付与することで、グラフの生成から最短経路探索までの計算時間を短縮することができる。したがって、第1実施形態に係るロボット姿勢決定装置によれば、ワークに対する把持状態も含め、最適なロボットの姿勢を効率良く決定することができる。
 また、ユーザは、カン、コツ、経験等を問わず、動作時間が最短となるロボット姿勢の系列を決定することができる。そのため、ロボットシステムの構築において、立ち上げ時間の短縮、及び熟練技術者への依存減を実現することができる。さらに、ロボットシステムの新規構築又は変更がし易くなり、生産性が向上する。
 また、第1実施形態に係るロボット姿勢決定装置は、ロボットが作業する周辺の環境を示す周辺情報を取得し、ロボットと周辺の障害物等が干渉する場合には、グラフ内の対応するノード及びエッジを生成しないようにする。これにより、不要なノード及びエッジの生成を抑制し、生成されるグラフを簡素化することができ、最短経路探索を効率的に行うことができる。
<第2実施形態>
 次に、第2実施形態について説明する。なお、第2実施形態に係るロボット姿勢決定装置において、第1実施形態に係るロボット姿勢決定装置10と同様の構成については、同一符号を付して詳細な説明を省略する。また、第1実施形態と第2実施形態とで、符号の末尾2桁が共通する機能構成において、共通する機能についての詳細な説明を省略する。さらに、第2実施形態に係るロボット姿勢決定装置のハードウェア構成は、図2に示す、第1実施形態に係るロボット姿勢決定装置10のハードウェア構成と同様であるため、説明を省略する。
 第1実施形態に係るロボット姿勢決定装置10では、グラフ内のエッジの重みとして、推定動作時間を用いる場合について説明した。第2実施形態では、エッジの重みをより正確な動作時間に更新しながら、より精度良く最短経路を探索する手法について説明する。
 第2実施形態に係るロボット姿勢決定装置210の機能構成について説明する。図3に示すように、ロボット姿勢決定装置210は、機能構成として、取得部32と、生成部34と、探索部236とを含む。各機能構成は、CPU12が記憶装置16に記憶されたロボット姿勢決定プログラムを読み出し、メモリ14に展開して実行することにより実現される。また、ロボット姿勢決定装置210の所定の記憶領域には、生成部34により生成されるグラフ38が記憶される。
 探索部236は、まず、図10の上段の図に示すように、第1実施形態に係る探索部36と同様に、生成部34により生成されたグラフから最短経路を探索する。そして、探索部236は、探索した最短経路に含まれるノード間に対応するロボット姿勢間におけるロボットの実際の動作時間(以下、「実動作時間」という)を算出し、図10の中段の図に示すように、ノード間のエッジの重みを、算出した実動作時間で更新する。図10では、二重線の矢印で示すエッジが、重みが推定動作時間から実動作時間に更新されたエッジを表している。
 探索部236は、実動作時間として、ノード間に対応するロボット姿勢間において、ロボットが周辺の環境との干渉を回避しつつ、関節補間で動作する場合の速度及び加減速度を決定し、決定した速度及び加減速度でロボットが動作する場合の動作時間を算出する。例えば、探索部236は、RRT(Rapidly-Exploring Random Tree)やPRM(Probabilistic Roadmap Method)等を利用して、ノード間に対応するロボット姿勢間の経路を計画する。そして、探索部236は、計画された経路に基づいて、動作時間を算出してよい。探索部236は、実動作時間を算出する過程において、ノード間に対応するロボット姿勢間の経路として、周辺の環境との干渉が回避可能な経路が見つからない場合には、そのノード間のエッジを削除する。図10の中段に示す図では、破線の楕円で示す部分が、エッジが削除されたことを表している。
 また、探索部236は、図10の下段に示す図のように、エッジの重みが更新されたグラフを用いて、最短経路を探索する。そして、探索部236は、実動作時間によるエッジの重みの更新、及び最短経路の探索を、前回探索された最短経路と同一の最短経路が探索されるまで繰り返す。推定動作時間は、干渉回避動作及び正確な速度及び加減速を考慮していない動作時間であり、実動作時間は、これらを考慮した時間である。そのため、必ず実動作時間≧推定動作時間が成り立つ。したがって、エッジの重みを推定動作時間から実動作時間に更新しながら、最短経路の探索を繰り返すなかで、前回探索された最短経路と同一の最短経路が探索された場合には、それ以上動作時間が短くなる最短経路は存在しないことを表す。そこで、その段階で最短経路の探索を終了するものである。探索部236は、最短経路の探索を終了した時点での最短経路に含まれる各ノードに対応するロボット姿勢の系列を、動作時間が最短となるロボット姿勢の系列として出力する。
 次に、第2実施形態に係るロボット姿勢決定装置210の作用について説明する。図11は、ロボット姿勢決定装置210のCPU12により実行されるロボット姿勢決定処理の流れを示すフローチャートである。CPU12が記憶装置16からロボット姿勢決定プログラムを読み出して、メモリ14に展開して実行することにより、CPU12がロボット姿勢決定装置210の各機能構成として機能し、図11に示すロボット姿勢決定処理が実行される。
 ステップS200で、グラフ生成処理が実行される。グラフ生成処理は、第1実施形態におけるロボット姿勢決定処理(図9)のステップS10~S18と同様である。次に、ステップS202で、探索部236が、上記ステップS200で生成されたグラフ38から最短経路P1を探索する。
 次に、ステップS204で、探索部236が、探索した最短経路P1に含まれるノード間に対応するロボット姿勢間におけるロボットの実動作時間を算出し、ノード間のエッジの重みを、推定動作時間から、算出した実動作時間に更新する。次に、ステップS206で、探索部236が、エッジの重みが更新されたグラフ38から最短経路P2を探索する。
 次に、ステップS208で、探索部236が、最短経路P1と最短経路P2とが同一か否かを判定する。P1≠P2の場合には、ステップS210へ移行し、探索部236が、上記ステップS206で探索された最短経路P2を最短経路P1とし、ステップS204に戻る。一方、P1=P2の場合には、ステップS212へ移行する。
 ステップS212では、探索部236が、最短経路P1に含まれる各ノードに対応するロボット姿勢の系列を、動作時間が最短となるロボット姿勢の系列として出力し、ロボット姿勢決定処理は終了する。
 以上説明したように、第2実施形態に係るロボット姿勢決定装置は、探索された最短経路に含まれるエッジの重みを、推定動作時間から実動作時間に更新しながら、最短経路の探索を繰り返す。これにより、エッジの重みを全て実動作時間とする場合に比べ、グラフの生成から最短経路の探索までの計算時間を短縮できる。また、エッジの重みを全て推定動作時間とする場合に比べ、より精度良く動作時間が最短となるロボット姿勢の系列を決定することができる。
 なお、上記各実施形態では、探索された最短経路に含まれるノードに対応するロボット姿勢の系列を出力する場合について説明したが、あわせて、そのノードに対応するワーク姿勢情報も出力するようにしてもよい。これにより、動作時間が最短となるロボット姿勢の系列と共に、例えば作業台にワークを配置する際のワーク姿勢も決定することができる。
 また、開示の技術は、ロボットのオフラインティーチングツール、CPS(Cyber-Physical System)等のシミュレーションツール、CAD等に適用可能である。
 また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したロボット姿勢決定処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、ロボット姿勢決定処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、ロボット姿勢決定プログラムが記憶装置に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
10、210 ロボット姿勢決定装置
12 CPU
14 メモリ
16 記憶装置
18 入力装置
20 出力装置
22 記憶媒体読取装置
24 通信I/F
26 バス
32 取得部
34 生成部
36、236 探索部
38 グラフ

Claims (13)

  1.  ハンド部を有するロボットに行わせる作業に関する作業情報と、前記ハンド部と前記ハンド部により把持されるワークとの相対位置関係の複数の候補を示す把持情報と、前記ワークが取り得る姿勢の複数の候補を示すワーク姿勢情報と、前記ロボットのキネマティクス情報を含む仕様情報とを取得する取得部と、
     前記作業を行うための前記ロボットの経路上の複数の対象点毎に、前記ワーク姿勢情報と、前記作業情報、前記把持情報、及び前記ワーク姿勢情報に基づいて得られる前記ワークを把持する前記ハンド部の姿勢と、前記ハンド部の姿勢及び前記キネマティクス情報に基づいて得られる、前記ハンド部の姿勢に応じた前記ロボットの姿勢との組み合わせの各々を対応させ、前記対象点間で遷移可能な前記組み合わせの系列から、前記ロボットの姿勢間における前記ロボットの動作時間に関連する指標に基づいて、前記ロボットの動作時間が最短となる前記組み合わせの系列を探索する探索部と、
     を含むロボット姿勢決定装置。
  2.  前記探索部は、前記組み合わせの前記ワーク姿勢情報及び前記ハンド部の姿勢に基づいて特定される把持姿勢が異なる場合、前記対象点間で遷移不可能な前記組み合わせであると判定する請求項1に記載のロボット姿勢決定装置。
  3.  前記探索部は、前記組み合わせの前記ロボットの姿勢間でのロボットの動作が直線移動の場合であって、前記組み合わせの前記ロボットの姿勢の形態が異なる場合、前記対象点間で遷移不可能な前記組み合わせであると判定する請求項1又は請求項2に記載のロボット姿勢決定装置。
  4.  前記探索部は、前記動作時間に関連する指標として、前記組み合わせの前記ロボットの姿勢間の差分に基づく指標を算出する請求項1~請求項3のいずれか1項に記載のロボット姿勢決定装置。
  5.  前記探索部は、前記ロボットの姿勢の差分に基づく指標として、前記ロボットの各関節の回転角度の差分を、各関節の回転速度の最大値で割った値の最大値を算出する請求項4に記載のロボット姿勢決定装置。
  6.  前記探索部は、前記組み合わせの各々に対応するノードと、前記対象点間で遷移可能な前記組み合わせに対応するノード間を接続するエッジとを含み、前記動作時間に関連する指標を前記エッジに付与したグラフを生成し、前記グラフを用いて、前記ロボットの動作時間が最短となる前記組み合わせの系列を探索する請求項1~請求項5のいずれか1項に記載のロボット姿勢決定装置。
  7.  前記取得部は、前記ロボットが作業を行う周辺の環境を示す周辺情報と、前記ロボットのダイナミクス情報及び形状情報をさらに含む仕様情報とを取得し、
     前記探索部は、前記周辺情報、前記仕様情報、及び前記ロボットの姿勢に基づいて、前記ノード間に対応する前記ロボットの姿勢間の経路で、前記周辺の環境と回避不可能な干渉が発生すると推定されるノード間を、前記対象点間で遷移不可能な前記組み合わせに対応するノード間であると判定する
     請求項6に記載のロボット姿勢決定装置。
  8.  前記探索部は、前記対象点において、前記周辺の環境と干渉する前記ロボットの姿勢を含む前記組み合わせに対応するノードを生成しない請求項7に記載のロボット姿勢決定装置。
  9.  前記探索部は、探索した前記系列に対応する前記グラフのパスに含まれるエッジで接続されたノード間に対応する前記ロボットの姿勢間における前記ロボットの実際の動作時間を算出し、前記ノード間のエッジの重みを、算出した前記実際の動作時間で更新し、前記動作時間が最短となる前記系列の探索を、前回探索された前記系列と同一の系列が探索されるまで繰り返す請求項7又は請求項8に記載のロボット姿勢決定装置。
  10.  前記探索部は、前記実際の動作時間として、前記ノード間に対応する前記ロボットの姿勢間において前記ロボットが前記周辺の環境との干渉を回避する動作であって、設定された速度又は加減速度で前記ロボットが動作する場合の動作時間を算出する請求項9に記載のロボット姿勢決定装置。
  11.  前記対象点は、前記ハンド部が前記ワークを把持又は解放する作業点、及び前記ロボットの動作方向が変更される動作変更点を含む請求項1~請求項10のいずれか1項に記載のロボット姿勢決定装置。
  12.  取得部が、ハンド部を有するロボットに行わせる作業に関する作業情報と、前記ハンド部と前記ハンド部により把持されるワークとの相対位置関係の複数の候補を示す把持情報と、前記ワークが取り得る姿勢の複数の候補を示すワーク姿勢情報と、前記ロボットのキネマティクス情報を含む仕様情報とを取得し、
     探索部が、前記作業を行うための前記ロボットの経路上の複数の対象点毎に、前記ワーク姿勢情報と、前記作業情報、前記把持情報、及び前記ワーク姿勢情報に基づいて得られる前記ワークを把持する前記ハンド部の姿勢と、前記ハンド部の姿勢及び前記キネマティクス情報に基づいて得られる、前記ハンド部の姿勢に応じた前記ロボットの姿勢との組み合わせの各々を対応させ、前記対象点間で遷移可能な前記組み合わせの系列から、前記ロボットの姿勢間における前記ロボットの動作時間に関連する指標に基づいて、前記ロボットの動作時間が最短となる前記組み合わせの系列を探索する
     ロボット姿勢決定方法。
  13.  コンピュータを、
     ハンド部を有するロボットに行わせる作業に関する作業情報と、前記ハンド部と前記ハンド部により把持されるワークとの相対位置関係の複数の候補を示す把持情報と、前記ワークが取り得る姿勢の複数の候補を示すワーク姿勢情報と、前記ロボットのキネマティクス情報を含む仕様情報とを取得する取得部、及び、
     前記作業を行うための前記ロボットの経路上の複数の対象点毎に、前記ワーク姿勢情報と、前記作業情報、前記把持情報、及び前記ワーク姿勢情報に基づいて得られる前記ワークを把持する前記ハンド部の姿勢と、前記ハンド部の姿勢及び前記キネマティクス情報に基づいて得られる、前記ハンド部の姿勢に応じた前記ロボットの姿勢との組み合わせの各々を対応させ、前記対象点間で遷移可能な前記組み合わせの系列から、前記ロボットの姿勢間における前記ロボットの動作時間に関連する指標に基づいて、前記ロボットの動作時間が最短となる前記組み合わせの系列を探索する探索部
     として機能させるためのロボット姿勢決定プログラム。
PCT/JP2022/001841 2021-03-03 2022-01-19 ロボット姿勢決定装置、方法、及びプログラム WO2022185760A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280017811.5A CN116963878A (zh) 2021-03-03 2022-01-19 机器人姿势决定装置、方法以及程序
US18/278,239 US20240123621A1 (en) 2021-03-03 2022-01-19 Robot Posture Determination Device, Method, and Program
EP22762819.5A EP4302936A1 (en) 2021-03-03 2022-01-19 Robot posture determination device, method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-033845 2021-03-03
JP2021033845A JP2022134605A (ja) 2021-03-03 2021-03-03 ロボット姿勢決定装置、方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2022185760A1 true WO2022185760A1 (ja) 2022-09-09

Family

ID=83154944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/001841 WO2022185760A1 (ja) 2021-03-03 2022-01-19 ロボット姿勢決定装置、方法、及びプログラム

Country Status (5)

Country Link
US (1) US20240123621A1 (ja)
EP (1) EP4302936A1 (ja)
JP (1) JP2022134605A (ja)
CN (1) CN116963878A (ja)
WO (1) WO2022185760A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003094363A (ja) * 2001-09-27 2003-04-03 Honda Motor Co Ltd 多関節ロボットの姿勢決定方法および装置
JP2004358593A (ja) * 2003-06-03 2004-12-24 Honda Motor Co Ltd 多関節ロボットのティーチングデータ作成方法
JP2007203380A (ja) 2006-01-30 2007-08-16 Kawasaki Heavy Ind Ltd ロボットの教示支援装置
WO2017183414A1 (ja) * 2016-04-22 2017-10-26 三菱電機株式会社 物体操作装置及び物体操作方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003094363A (ja) * 2001-09-27 2003-04-03 Honda Motor Co Ltd 多関節ロボットの姿勢決定方法および装置
JP2004358593A (ja) * 2003-06-03 2004-12-24 Honda Motor Co Ltd 多関節ロボットのティーチングデータ作成方法
JP2007203380A (ja) 2006-01-30 2007-08-16 Kawasaki Heavy Ind Ltd ロボットの教示支援装置
WO2017183414A1 (ja) * 2016-04-22 2017-10-26 三菱電機株式会社 物体操作装置及び物体操作方法

Also Published As

Publication number Publication date
US20240123621A1 (en) 2024-04-18
CN116963878A (zh) 2023-10-27
EP4302936A1 (en) 2024-01-10
JP2022134605A (ja) 2022-09-15

Similar Documents

Publication Publication Date Title
Alatartsev et al. Robotic task sequencing problem: A survey
Mosemann et al. Automatic decomposition of planned assembly sequences into skill primitives
JP4103057B2 (ja) ロボットの動作経路計画方法およびその装置
Sivakumar et al. Automated path planning of cooperative crane lifts using heuristic search
Zacharia et al. Task scheduling and motion planning for an industrial manipulator
Baizid et al. IRoSim: Industrial Robotics Simulation Design Planning and Optimization platform based on CAD and knowledgeware technologies
EP3166084B1 (en) Method and system for determining a configuration of a virtual robot in a virtual environment
Spensieri et al. Optimal robot placement for tasks execution
De Maeyer et al. Cartesian path planning for arc welding robots: Evaluation of the descartes algorithm
Raheem et al. Robot arm free Cartesian space analysis for heuristic path planning enhancement
Umay et al. An integrated task and motion planning technique for multi-robot-systems
JP2016040066A (ja) 経路生成方法、経路生成装置、ロボット装置、プログラム及び記録媒体
Wong et al. A novel clustering-based algorithm for solving spatially constrained robotic task sequencing problems
Jorgensen et al. Finding locomanipulation plans quickly in the locomotion constrained manifold
WO2022185760A1 (ja) ロボット姿勢決定装置、方法、及びプログラム
US20240066705A1 (en) Interference Evaluation Device, Method, and Program
JPH10124130A (ja) 組立装置
JP2021169149A (ja) 分解ベースのアセンブリ計画
JP3705672B2 (ja) 自動組立装置及び自動組立方法
Polini et al. A frame for a computer aided inspection planning system
Weng et al. Quantitative assessment at task-level for performance of robotic configurations and task plans
Johari et al. Robotic modeling and simulation of palletizer robot using Workspace5
WO2022185759A1 (ja) ロボットセルシステム設計装置、方法、及びプログラム
Roßgoderer et al. A concept for automatical layout generation
Schappler Pose optimization of task-redundant robots in second-order rest-to-rest motion with cascaded dynamic programming and Nullspace projection

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22762819

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18278239

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280017811.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2022762819

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022762819

Country of ref document: EP

Effective date: 20231004