WO2022185759A1 - ロボットセルシステム設計装置、方法、及びプログラム - Google Patents

ロボットセルシステム設計装置、方法、及びプログラム Download PDF

Info

Publication number
WO2022185759A1
WO2022185759A1 PCT/JP2022/001840 JP2022001840W WO2022185759A1 WO 2022185759 A1 WO2022185759 A1 WO 2022185759A1 JP 2022001840 W JP2022001840 W JP 2022001840W WO 2022185759 A1 WO2022185759 A1 WO 2022185759A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
information
posture
cell system
placement
Prior art date
Application number
PCT/JP2022/001840
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
Priority claimed from JP2021033844A external-priority patent/JP7571622B2/ja
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP22762818.7A priority Critical patent/EP4302935A1/en
Priority to US18/279,356 priority patent/US20240139946A1/en
Priority to CN202280018056.2A priority patent/CN116940449A/zh
Publication of WO2022185759A1 publication Critical patent/WO2022185759A1/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/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4097Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4188Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by CIM planning or realisation
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31338Design, flexible manufacturing cell design
    • 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/32Operator till task planning
    • G05B2219/32085Layout of factory, facility, cell, production system planning

Definitions

  • the present disclosure relates to a robot cell system design device, a robot cell system design method, and a robot cell system design program.
  • Patent Document 1 Japanese Patent Laid-Open No. 2018-20410.
  • the device described in Patent Literature 1 determines a teaching point through which a reference portion of the robot arm is passed, corresponding to a specific action of the robot arm accessing a peripheral device. Also, this device determines the initial layout of the robot arm and peripheral equipment, and by meta-heuristics calculation, moves each equipment from the initial layout to update the layout.
  • this apparatus sets the layout using an initial layout or an updated layout using an evaluation value relating to fitness for a specific operation, and determines the optimum layout.
  • the present disclosure has been made in view of the above points, and aims to reduce the time required to design a cell system that includes robots as components.
  • a robot cell system design apparatus includes specification information of robots that are components of a robot cell system, and shape information of members other than the robots that are components of the robot cell system. and work information relating to the work to be performed by the robot; and based on the specification information, the member information, and the work information, the robot and the member in the robot cell system a layout planning unit that calculates one or more layout candidates; and a combination of a start posture of a start point and an end posture of an end point for each motion of the robot based on the specification information, the member information, and the work information.
  • an orientation planning unit that calculates a set for each of the arrangement candidates; and from the start orientation to the end orientation for each combination of the start orientation and the end orientation based on the specification information, the member information, and the work information.
  • a route planning unit that calculates a set of routes to each of the placement candidates; and an evaluation unit that selects an optimum placement from the placement candidates based on the routes.
  • the evaluation unit may calculate a route cost related to the route for each of the arrangement candidates, and select the arrangement candidate with the highest evaluation indicated by the route cost as the optimum arrangement.
  • the layout planning unit calculates a layout cost related to layout for each layout pattern of the robot and the member, and determines one or more patterns in descending order of evaluation indicated by the layout cost, or the layout cost is predetermined. One or more patterns satisfying the conditions may be selected as candidates for the arrangement.
  • the placement cost is based on at least one of the distance between members, the area or volume of the area where the robot and the member are placed, the distance between an obstacle and the member, and the operability of the robot. value.
  • the attitude planning unit selects a combination of the start attitude and the end attitude corresponding to the position and attitude when the hand part of the robot accesses the member.
  • the combination with the highest evaluation indicated by the cost may be selected for each of the operations.
  • the attitude planning unit calculates the starting attitude and the ending attitude by further using gripping information indicating a relative relationship between the workpiece gripped by the hand part of the robot and the hand part among the members.
  • the configuration may further include a grip planning unit that calculates the grip information based on the specification information, the member information, and the work information.
  • the acquisition unit further acquires constraint information specified by a user, and when constraint information related to placement is acquired as the constraint information, the placement planning unit arranges the robot and the members.
  • the layout candidate is selected from the patterns satisfying the constraint information among the patterns of , and the constraint information related to posture is acquired as the constraint information
  • the posture planning unit performs the constraint information satisfying the constraint information.
  • the route planning unit may calculate a set of routes that satisfy the constraint information. good.
  • the constraint information may include at least one of positional relationships between members, non-arrangeable regions for members, designated positions for arranging members, clearances for members, designated postures, and designated routes.
  • the configuration may further include a determination unit that determines the appropriateness of the plans in each of the layout planning unit, the attitude planning unit, and the route planning unit.
  • the determination unit may present a determination result to the user when determining that the appropriateness of the plan is not satisfied.
  • each of the layout planning unit, the posture planning unit, and the route planning unit may stop processing when the determination unit determines that the appropriateness is not satisfied.
  • the determination unit determines whether the member fits within the layout possible area in the layout candidates planned by the layout planning unit and when the layout cost indicating the appropriateness of the layout is equal to or greater than a threshold, the attitude planning unit When the start posture and the end posture planned by the above do not interfere with other members or obstacles, and when the difference between the start posture and the end posture is equal to or less than a threshold, and the path planning unit performs the It may be determined that the suitability is satisfied when a route can be calculated and when the operation time of the robot required for the work is equal to or less than a predetermined value.
  • the acquisition unit includes selection information for selecting a feasible planning mode for obtaining a solution and an optimal planning mode for obtaining a desired solution, and the selected feasible planning mode Alternatively, a termination condition corresponding to the optimum planning mode is further acquired, and until the termination condition is satisfied, the placement planning unit calculates the placement candidate different from the previous one, and the orientation planning unit and the route planning unit process the candidate. is repeatedly executed, and the evaluation unit selects the optimum arrangement with the highest evaluation indicated by the route cost as the final arrangement from among the optimum arrangements obtained for each iteration of processing.
  • the configuration may further include a control unit for controlling.
  • control unit presents to the user the arrangement with the highest evaluation indicated by the route cost at the current stage for each iteration process, and the user is instructed to stop the iteration process. instructions may be accepted.
  • the acquisition unit includes specification information of robots that are components of the robot cell system and shape information of members other than the robots that are components of the robot cell system.
  • Obtaining member information and work information related to the work to be performed by the robot the layout planning unit determines the robot and the member in the robot cell system based on the specification information, the member information, and the work information.
  • One or more placement candidates are calculated, and the posture planning unit combines the start posture of the start point and the end posture of the end point for each motion of the robot based on the specification information, the member information, and the work information.
  • the route planning unit calculates the set of the positions from the start posture for each combination of the start posture and the end posture based on the specification information, the member information, and the work information.
  • a set of paths to the end posture is calculated for each of the placement candidates, and the evaluation unit selects the optimum placement from the placement candidates based on the paths.
  • a robot cell system design program provides a computer with specification information of a robot that is a component of a robot cell system, and member information including shape information of a member other than the robot that is a component of the robot cell system.
  • an acquisition unit for acquiring work information relating to work to be performed by the robot; one candidate for arrangement of the robot and the members in the robot cell system based on the specification information, the member information, and the work information;
  • Based on the layout planning unit, the specification information, the member information, and the work information calculated as described above, a set of combinations of the start posture of the start point and the end posture of the end point for each motion of the robot is determined as the layout candidate.
  • a set of paths from the start posture to the end posture for each combination of the start posture and the end posture is calculated based on the posture planning unit, the specification information, the member information, and the work information.
  • the robot cell system design device, method, and program according to the present disclosure it is possible to reduce the time required to design a cell system that includes robots as components.
  • FIG. 1 is a block diagram showing an example of a functional configuration of a robot cell system designing device according to a first embodiment
  • FIG. 4 is a diagram for explaining gripping information
  • FIG. It is a figure for demonstrating an example of arrangement
  • FIG. 10 is a diagram schematically illustrating manipulability of a robot, which is an example of placement costs;
  • FIG. 5 is a diagram showing an example of a list of postures of a robot;
  • FIG. 11 is a block diagram showing an example of a functional configuration of a robot cell system designing device according to a second embodiment; It is a figure for demonstrating an example of restrictions information.
  • FIG. 5 is a diagram for explaining an example of constraint information related to work information;
  • FIG. It is a figure for demonstrating an example of the process of a determination part.
  • FIG. 11 is a block diagram showing an example of a functional configuration of a robot cell system designing device according to a third embodiment; 14 is a flow chart showing the flow of robot cell system design processing in the third embodiment.
  • FIG. 11 is a block diagram showing an example of a functional configuration of a robot cell system designing device according to a third embodiment; 14 is a flow chart showing the flow of robot cell system design processing in the third embodiment.
  • FIG. 14 is a block diagram showing an example of a functional configuration of a robot cell system designing device according to a fourth embodiment
  • FIG. 5 is a diagram for explaining generation of gripping information
  • FIG. 14 is a flow chart showing the flow of robot cell system design processing in the fourth embodiment.
  • the robot cell system design apparatus includes a robot that is a component of the cell system, an arrangement of members including a work to be worked on and a jig for handling the work, and an operation of the robot. to design.
  • a robot that is a component of the cell system
  • an arrangement of members including a work to be worked on and a jig for handling the work and an operation of the robot. to design.
  • Left covers, Table, Front and right covers, and Finished works are examples of members.
  • robot specification information, member information including shape information of members, and work information relating to the work to be performed by the robot are input to the robot cell system design device. Details of each information will be described later.
  • the speed of work in the cell system will be increased by having multiple robots execute work in parallel, or by using multiple robots to expand the range of motion of the entire system.
  • multiple robots may be multi-skilled by performing one task jointly.
  • a layout plan in order to output optimized layout information and robot motion information in response to inputs of robot specification information, member information, and work information, a layout plan , attitude planning, and path planning.
  • the layout plan a predetermined number of optimized layout candidates are calculated from a plurality of possible layout patterns of the robot and members.
  • optimization is performed using a placement cost with a short calculation time (microsecond order) such as the operability of the robot.
  • posture planning the starting posture at the starting point of the robot motion and the ending posture at the ending point are optimized for each placement candidate.
  • the route planning the route from the start posture optimized for each placement candidate to the end posture is optimized.
  • the optimal posture solution and the optimal path solution are uniquely determined for the placement. Therefore, as shown in Fig. 2, by stepwise processing the placement plan, attitude plan, and route plan, the number of executions of route planning, which requires high computational cost, can be reduced from tens of thousands to hundreds of thousands, and the number of placement candidates can be reduced. can be reduced to This makes it possible to calculate optimal solutions for placement and robot motion in a practical amount of time.
  • the robot motion may not be designed appropriately, and the cause is that the starting and ending postures of the robot motion are not properly planned. Therefore, as shown in FIG. 2, posture planning is performed between the placement plan and the path planning, and after optimizing the starting and ending postures, the path planning is executed to ensure that the placement and robot motion are appropriate. , and the reduction of the calculation time can be realized.
  • the robot which is a component of the robot cell system, 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 tool such as 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 on which a tool such as a 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 path is added with information on the velocity and acceleration that change the posture. This is operational information.
  • FIG. 3 is a block diagram showing the hardware configuration of the robot cell system designing device 10 according to the first embodiment.
  • the robot cell system design 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 cell system design program for executing the robot cell system design 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. 4 is a block diagram showing an example of the functional configuration of the robot cell system designing device 10.
  • the robot cell system designing device 10 includes an acquisition unit 32, a placement planning unit 34, an attitude planning unit 36, a route planning unit 38, and an evaluation unit 40 as functional configurations.
  • Each functional configuration is realized by the CPU 12 reading out a robot cell system design program stored in the storage device 16, developing it in the memory 14, and executing it.
  • the acquisition unit 32 acquires specification information of robots, which are components of the robot cell system, member information of members other than robots, which are components of the robot cell system, and work information related to the work to be performed by the robots.
  • Robot specification information includes kinematics information that indicates the structure such as the connection relationship between links and the rotation axis of the link, and dynamics information that specifies the speed of the link during operation, such as the weight of each link. , and shape information for each link.
  • the member information includes shape information of jigs and works as members, and peripheral machines such as processing machines and inspection machines. Each piece of shape information may be three-dimensional data such as CAD (Computer-Aided Design) data.
  • the work information includes the type of work, the order of work, the parts used in the work and the positions at which the robot accesses those parts, the work to be used in the work, and which part of the work is to be gripped by which part of the robot hand. Information such as grip status is included.
  • the access of the robot to the member includes, for example, gripping (picking) of the work by the robot hand, release of the work (release), attachment of the work to a predetermined position, and the like.
  • the acquisition unit 32 acquires gripping information indicating the relative relationship between the workpiece and the robot hand.
  • the gripping information is, for example, as shown in FIG. 5, the relative coordinates (x, y, z) and the relative orientation (roll, pitch, yaw) of the TCP with respect to the workpiece when the robot hand grips the workpiece.
  • the gripping information acquired by the acquiring unit 32 is a list of gripping information about a plurality of gripping patterns. Although three gripping patterns are shown in the example of FIG. 5, the list includes gripping information of more gripping patterns (for example, several tens of patterns).
  • the robot specification information, member information, work information, and grip information are input to the robot cell system design device 10 via the input device 18, the storage medium reader 22, or the communication I/F 24.
  • the acquisition unit 32 delivers the acquired specification information, member information, and work information of the robot to each of the placement planning unit 34, the posture planning unit 36, and the path planning unit 38.
  • FIG. The acquisition unit 32 also passes the acquired grip information to the posture planning unit 36 .
  • the placement planning unit 34 calculates one or more placement candidates for the robot and members in the robot cell system based on the robot specification information, member information, and work information received from the acquiring unit 32 . Specifically, the placement planning unit 34 calculates the placement cost for placement for each of the placement patterns of the robots and members.
  • the arrangement pattern is a possible arrangement pattern for the robot and members, that is, all possible arrangement patterns.
  • the placement cost may be a value using geometric information such as the distance between members, the area or volume of the area where the robot and members are placed, and the distance between obstacles and members.
  • the arrangement cost c may be a value that increases as the sum of the distances between members L 1 , L 2 , L 3 , . . . , LN increases. Note that FIG. 6 illustrates only part of the inter-member distances because it would be complicated to illustrate all the inter-member distances.
  • the layout cost c may be a value that increases as the area S of the circumscribed shape of the installation portion of the robot and member on the floor increases.
  • c S (2)
  • the layout cost c may be the volume V obtained by multiplying the area S by the height of the robot and each member.
  • the placement planning unit 34 may calculate the placement cost for multi-objective optimization using a plurality of values c. Also, the layout planning unit 34 may reflect the work order indicated by the work information in the layout cost c. For example, as shown in the upper diagram of FIG. 9, it is often the case that the operation time of the robot is shortened by arranging the members related to the work of the robot in order of work. On the other hand, as shown in the lower diagram of FIG. 9, in the case of an arrangement in which only the inter-member distance is minimized without considering the work order, the operation may become redundant and the operation time may be extended.
  • the layout planning unit 34 may calculate, for example, the total sum of distances between members in the work order of the robot as the layout cost.
  • each circle is a work point of the robot.
  • a work point is the position in the configuration where the robot accesses the member to be worked on.
  • the placement cost may be a value based on the operability of the robot.
  • Manipulability is an index that indicates the easiness of movement from a given posture when the robot assumes that posture. Manipulability depends on the geometry (kinematics) of the robot.
  • FIG. 10 schematically illustrates manipulability.
  • a point with a lighter color (density) represents a spatial position where a posture with higher operability can be taken.
  • the operability w is calculated by the following formula (4).
  • the bold q in the formula is the posture of the robot, that is, the vector of the values (rotation angles) of each joint.
  • the bold letter r in the formula is the position and orientation (x, y, z, roll, pitch, yaw) of the predetermined part of the hand of the robot.
  • J(q) in bold in the formula is the Jacobian of the posture q of the robot.
  • the placement cost based on operability may be, for example, the sum of operability values of positions where members are placed.
  • the layout planning unit 34 selects one or more layout patterns as layout candidates in descending order of the layout evaluation indicated by the layout cost calculated for each layout pattern.
  • the layout planning unit 34 may also select, as layout candidates, patterns whose layout costs satisfy a predetermined condition, for example, patterns whose layout costs are equal to or less than a threshold.
  • the placement planner 34 passes information on one or more selected placement candidates to the attitude planner 36 and the route planner 38 .
  • the posture planning unit 36 determines the starting posture at the start point of the motion of the robot and the end posture at the end point of the motion. is calculated for each placement candidate received from the placement planning unit 34 .
  • one unit of motion is the motion of the robot when the TCP of the robot is moved from one work point to the next work point.
  • a robot in a robot cell system performs multiple actions serially.
  • an arrow between work points corresponds to one motion.
  • the working point on the starting point side of the arrow is the starting point of the motion
  • the working point on the ending point side of the arrow is the ending point of the motion. Therefore, the posture planning unit 36 calculates a set of combinations of starting postures and ending postures for each motion for one placement candidate.
  • the posture planning unit 36 specifies the position and posture of the TCP when the robot hand grips the workpiece. For example, the posture planning unit 36 identifies the position where the work to be worked is placed, that is, the work point, in the placement candidate, and uses the grip information to identify the relative position and relative posture of the TCP with respect to the work, Convert to the position and orientation of the world coordinate system. Then, the posture planning unit 36 calculates the posture of the robot, that is, the value of each joint, from the position and posture of the TCP by inverse kinematics using kinematics information and the like. Similarly, in the case of the end posture, the posture planning unit 36 specifies the position and posture of the TCP when the work is released or attached based on the work information, and calculates the posture of the robot in the same manner as described above.
  • FIG. 11 shows an example of a list of robot postures calculated with respect to the position and posture of the TCP at the motion start point, which are calculated from work information, grasping information, and the like.
  • the postures of the robots in the same group (A or B) look the same, but the values of J4 to J6 are different.
  • FIG. 11 shows an example of a list of robot postures calculated with respect to the position and posture of the TCP at the motion start point, which are calculated from work information, grasping information, and the like.
  • the postures of the robots in the same group (A or B) look the same, but the values of J4 to J6 are different.
  • Group A and Group B differ in the position of the projecting portion of the robot (broken line portion in FIG. 11). Such a pattern is also calculated for the position and pose of the TCP at the end point of the motion, and the combination of the start and end poses is calculated.
  • the operation time required for the movement from the starting posture to the ending posture differs.
  • the positions and orientations of the TCP at the start and end points of the motion and the starting posture of the robot are Identical, but with different end poses of the robot.
  • the motion of the robot differs, and thus the motion time also differs.
  • the posture planning unit 36 calculates the posture cost related to the movement time of the robot required for the work for each possible combination of the start posture and the end posture for each motion, and calculates the start posture and the end posture with the highest evaluation indicated by the posture cost. are selected for each operation.
  • the posture cost may be the difference between the starting posture and the ending posture, for example, the vector-to-vector distance between the values of the joints representing each posture, as shown in Equation (5) below.
  • m is the number of working points
  • qi is a posture vector representing the posture corresponding to the i -th working point.
  • This posture cost represents an estimated motion time on the assumption that the smaller the change between postures, the shorter the motion time between postures. Therefore, the combination of postures with the highest evaluation indicated by the posture cost can be regarded as the combination with the shortest motion time between postures.
  • the posture planning unit 36 delivers to the path planning unit 38 a set of combinations of starting postures and ending postures for each motion selected for each placement candidate.
  • the path planning unit 38 calculates the distance from the start posture delivered from the posture planning unit 36 to the end posture for each placement candidate. A path is calculated for each motion. If there are other robots, members, or obstacles between the start posture and the end posture, the route planning unit 38 calculates the route so as to avoid interference with these. The route planning unit 38 transfers to the evaluation unit 40 a set of routes for each motion calculated for each placement candidate.
  • the evaluation unit 40 calculates the route cost for the route handed over from the route planning unit 38, and selects the optimum placement from the placement candidates based on the route cost. Specifically, the evaluation unit 40 determines the motion time of the robot from the start posture to the end posture for each motion, based on the route and dynamics information, etc., for each placement candidate, as shown in the following equation (6), for example. Calculate the sum as the route cost.
  • m is the number of work points
  • t i,i+1 is the operation time between the i-th work point and the i+1-th work point.
  • the path cost is not limited to the above operation time. For example, it may be the moment applied to the workpiece when the robot is moved along the path while gripping the workpiece. Also, the power consumption of the robot when the robot is operated along the path, the path length in the real space or the joint space, and the like may be used. Also, a route cost for multi-objective optimization may be calculated using a plurality of these costs.
  • FIG. 13 is a flowchart showing the flow of robot cell system design processing executed by the CPU 12 of the robot cell system design device 10.
  • the CPU 12 reads out the robot cell system design program from the storage device 16, develops it in the memory 14, and executes it, whereby the CPU 12 functions as each functional configuration of the robot cell system design device 10, and the robot cell system design shown in FIG. Processing is performed.
  • the acquisition unit 32 acquires the specification information, member information, work information, and gripping information of the robot.
  • the acquisition unit 32 passes the acquired specification information, member information, and work information of the robot to each of the layout planning unit 34, the posture planning unit 36, and the path planning unit 38, and transmits the acquired gripping information to the posture planning unit 36. hand over.
  • the layout planning unit 34 calculates the layout cost for each layout pattern of the robot and members, and selects the top N layout patterns in descending order of the evaluation indicated by the layout cost as layout candidates. Select as The placement planning unit 34 assigns numbers 1, 2, . . . , N to the selected placement candidates in descending order of evaluation indicated by the placement cost. In the following description, the placement candidate numbered n will be referred to as “placement candidate n”. The layout planning unit 34 then passes the information on the selected layout candidate to the posture planning unit 36 and the route planning unit 38 .
  • step S14 the posture planning unit 36 sets 1 to the variable n indicating the number of the placement candidate.
  • step S16 the posture planning unit 36 calculates the positions and postures of the TCP at the start and end points of the motion for the placement candidate n based on the specification information, member information, work information, and grip information of the robot. Then, the combination of the starting posture and the ending posture of the robot that can be taken for each motion is calculated.
  • step S18 the posture planning unit 36 calculates the posture cost related to the operation time of the robot required for the work for each combination of the starting posture and the ending posture, and calculates the starting posture and the ending posture with the highest evaluation indicated by the posture cost. are selected for each operation. Then, the posture planning unit 36 delivers to the path planning unit 38 a set of combinations of the start posture and the end posture for each motion selected for the placement candidate n.
  • step S20 the path planning unit 38 calculates the path from the start posture to the end posture received from the posture planning unit 36 for the placement candidate n based on the robot specification information, member information, and work information. is calculated for each motion. Then, the route planning unit 38 transfers to the evaluation unit 40 a set of routes for each movement calculated for the placement candidate n.
  • step S22 the evaluation unit 40 calculates the motion time of the robot from the start posture to the end posture as the route cost based on the route and dynamics information.
  • the route cost the case of calculating the operating time is described, but other route costs may be used.
  • step S24 the evaluation unit 40 increments n by one.
  • step S26 the evaluation unit 40 determines whether or not n exceeds N, which is the number of placement candidates. If n ⁇ N, the process returns to step S16, and if n>N, the process proceeds to step S28.
  • step S28 the evaluation unit 40 selects the layout candidate with the shortest operating time as the optimum layout. Then, the evaluation unit 40 outputs the placement information about the selected placement and the motion information of the robot according to the route planned for the placement, and the robot cell system design process ends.
  • the robot cell system design apparatus includes the specification information of the robot, which is a component of the robot cell system, the member information including the shape information of members other than the robot, and the robot to perform Acquire work information about the work. Further, based on the acquired information, the robot cell system design device plans one or more placement candidates for the robots and members in the robot cell system, and sets a set of starting postures and ending postures for each motion of the robots that perform the work. It is calculated for each placement candidate. Then, the robot cell system design device plans a set of paths from the start posture to the end posture for each planned action for each placement candidate, and from the placement candidates, based on the route cost related to the route, the final placement to select. As a result, the time required for designing a cell system including robots as components can be reduced.
  • FIG. 14 is a block diagram showing an example of the functional configuration of the robot cell system design device 210.
  • the robot cell system design device 210 includes an acquisition unit 232, a layout planning unit 234, an attitude planning unit 236, a route planning unit 238, a determination unit 242, and an evaluation unit 40 as functional configurations. including.
  • Each functional configuration is realized by the CPU 12 reading out a robot cell system design program stored in the storage device 16, developing it in the memory 14, and executing it.
  • the acquisition unit 232 acquires restriction information specified by the user in addition to the specification information, member information, work information, and gripping information of the robot.
  • the constraint information includes at least one of a positional relationship between members, a region where members cannot be arranged, a designated position for arranging members, a clearance for members, a designated work condition, a designated attitude, and a designated route. .
  • Constraint information on the positional relationship between members is a constraint specifying the positional relationship in the local coordinate system of the member, such as arranging member A and member B next to each other, and arranging member C and member D apart from each other by 1 m or more.
  • Information Restriction information on areas where members cannot be arranged is, for example, as indicated by P in FIG.
  • Constraint information on the specified position where members are placed is determined to be placed at a specific position, such as placing a tray, which is one of the members, on a conveyor (fixed equipment), for example, as indicated by Q in FIG. Constraint information that specifies the placement of members in the world coordinate system.
  • the clearance restriction information for the member is defined as a region in which the robot and other members cannot be placed, such as a space for opening and closing the door of the member, in the local coordinate system of the member. Constraint information specified by position.
  • the specified work condition constraint information is constraint information relating to work priority or execution time.
  • the work priority constraint information for example, as shown in FIG. Actions to be preferentially executed between robots are specified.
  • the priority is specified so that the action 2 of the robot B is started after the action 2 of the robot A is completed.
  • the execution time constraint information for example, at least one of the upper limit and the lower limit of the execution time of one or more tasks to be executed in the cell system is specified.
  • the work from picking up a part by the robot to placing it in the next place should be performed within 2 to 3 seconds. you can Also, in order to move the heated work to the next work position before it cools down, it may be specified that the transfer work of the work should be carried out within 2 seconds.
  • the constraint information of the specified posture is constraint information that pre-specifies the posture of the robot or the posture of the TCP at at least one position of the start point, the end point, and any intermediate point.
  • the specified posture may be a specific value, or may be a specified range.
  • the specified route constraint information is constraint information that pre-specifies at least a part of the route along which the robot moves.
  • the designated route may be one that specifies a specific value as a series value of the posture of the robot for a predetermined section, or one that specifies an area that TCP must pass through or an area that cannot be passed. may be Note that the constraint information is not limited to the above example, and the user can specify arbitrary constraint information.
  • the acquisition unit 232 When the acquisition unit 232 acquires constraint information related to placement, it passes the acquired constraint information to the placement planning unit 234 . In addition, when acquiring constraint information related to posture, the acquisition unit 232 passes the acquired constraint information to the posture planning unit 236 . In addition, when obtaining constraint information related to a route, the obtaining unit 232 transfers the obtained constraint information to the route planning unit 238 . Note that if one item of constraint information relates to two or more of the layout, posture, and route, the acquisition unit 232 passes the constraint information to the two or more related planning units. For example, the specified work condition constraint information can relate to any of placement, pose, and path.
  • the placement planning unit 234 When the placement planning unit 234 receives placement-related constraint information from the acquisition unit 232, it selects placement candidates from among the patterns of placement of robots and members that satisfy the delivered constraint information.
  • the posture planning unit 236 calculates a set of starting postures and ending postures that satisfy the passed constraint information.
  • the route planning unit 238 When the route planning unit 238 receives route-related constraint information from the acquisition unit 232, it calculates a set of routes that satisfy the transferred constraint information.
  • the determination unit 242 determines the appropriateness of the plans in each of the layout planning unit 234, the attitude planning unit 236, and the route planning unit 238. The determination by the determination unit 242 is performed because if the user designates arbitrary constraint information, the appropriateness of the plan in each planning unit may deteriorate. Specifically, the determination unit 242 determines whether or not a solution can be obtained in the optimization in each planning unit, and whether or not there is a solution that satisfies a predetermined cost threshold. is obtained.
  • the determination unit 242 determines whether or not the member fits within the layout possible area as a determination as to whether or not a solution layout candidate can be obtained in the optimization performed by the layout planning unit 234 . If at least one member or robot does not fit within the layout possible area for each member or robot as shown in FIG. is not obtained. That is, the determination unit 242 determines that a good solution has not been obtained in the layout planning unit 234 .
  • the determination unit 242 determines whether or not the placement cost for the solution placement candidate satisfies a threshold in the optimization performed by the placement planning unit 234 .
  • FIG. 18 shows an example of the determination using the cost indicating the operability of the robot, which is an example of the arrangement cost. In this case, the determination unit 242 determines that the placement planning unit 234 has not obtained a good solution when the cost indicating operability does not satisfy the threshold for each of the placement candidates.
  • the determination unit 242 determines whether or not the robot interferes with other members or obstacles when the robot takes the starting or ending posture that is the solution in the optimization performed by the posture planning unit 236 .
  • an orientation that can avoid interference is calculated.
  • the user designates a posture as constraint information, interference may occur as shown in FIG. If the determination unit 242 causes interference in the start orientation or the end orientation in all combinations of the start orientation and the end orientation calculated by the orientation planning unit 236 for each arrangement candidate, the orientation planning unit 236: It is determined that a good solution has not been obtained.
  • the determination unit 242 determines whether or not the posture cost for the starting and ending postures that are solutions in the optimization performed by the posture planning unit 236 satisfies a threshold. For example, as shown in FIG. 20, when the posture of the robot changes greatly between the start point and the end point of the motion, that is, when the difference between the start posture and the end posture is large, the evaluation indicated by the posture cost is low. If the orientation cost does not satisfy the threshold for all combinations of the starting orientation and the ending orientation calculated by the orientation planning unit 236, the determination unit 242 determines that a good solution has not been obtained by the placement planning unit 234. judge.
  • the determination unit 242 determines whether or not a route in which the robot does not interfere with other members or obstacles can be calculated for each placement candidate in the optimization performed by the route planning unit 238 . As shown in FIG. 21, when the robot interferes with other members or obstacles on a route that passes through the posture specified as constraint information or a route that partially includes the specified route, the determination unit 242 It is determined that a solution route cannot be planned for the placement candidate. That is, the determination unit 242 determines that no good solution has been obtained for the placement candidate.
  • the determination unit 242 determines whether or not the operation time of the robot required for the work is equal to or less than a predetermined value for each placement candidate. As shown in FIG. 22, if the route calculated using the designated posture and part of the route as constraint information is redundant, the operation time will be long. If the operation time exceeds a predetermined value, the determination unit 242 determines that no good solution has been obtained for the placement candidate.
  • the determination unit 242 may present the determination result to the user when it is determined that the plan by each planning unit does not satisfy the adequacy, that is, the good solution cannot be obtained.
  • the determination unit 242 adds, in the determination result, the content determined that the appropriateness is not satisfied in the above determination, for example, the member does not fit in the placeable area, the planned posture or route interferes with other members, etc. Include content.
  • the determination result presented to the user by the determination unit 242 is not limited to the determination result related to the constraint information acquired by the acquisition unit 232 .
  • the layout, posture, and route planned by each planning unit based on the robot specification information, member information, work information, and gripping information may also be targets.
  • the determination unit 242 may stop the processing of the corresponding planning unit.
  • the placement plan, posture plan, and path plan are executed step by step, even if the planning of any of the planning departments is stopped, the final output of the placement information and the motion of the robot No information is output.
  • FIG. 23 is a flow chart showing the flow of robot cell system design processing executed by the CPU 12 of the robot cell system design device 210 .
  • the CPU 12 reads out the robot cell system design program from the storage device 16, develops it in the memory 14, and executes it, whereby the CPU 12 functions as each functional configuration of the robot cell system design device 210, and the robot cell system design shown in FIG. Processing is performed.
  • the same step numbers are given to the same processes as the robot cell system design process (FIG. 13) in the first embodiment, and detailed descriptions thereof are omitted.
  • the acquisition unit 232 acquires the robot specification information, member information, work information, gripping information, and constraint information specified by the user.
  • the acquisition unit 232 passes the acquired information to related planning units.
  • the determination unit 242 determines whether or not the placement planning unit 234 has obtained a placement candidate that is a good solution in step S12. If an arrangement candidate that is a good solution is obtained, the process proceeds to step S14, and if not obtained, the process proceeds to step S218.
  • the determining unit 242 obtains a set of combinations of the starting posture and the ending posture that are good solutions for the placement candidate n in step S16 by the posture planning unit 236. It is determined whether or not If a set of combinations of starting postures and ending postures that provide a good solution is obtained, the process proceeds to step S18. If not, the process proceeds to step S218.
  • the determination unit 242 determines whether or not the route planning unit 238 has obtained a set of routes that are good solutions for the placement candidate n in steps S20 and S22. be judged. If a set of paths with good solutions is obtained, the process proceeds to step S24, and if not obtained, the process proceeds to step S218.
  • step S218 the determination unit 242 outputs a determination result including the determination that a good solution cannot be obtained in the determination of steps S212, S214, or S216, and the robot cell system design process ends.
  • the robot cell system design device calculates the placement, posture, and route in consideration of the constraint information specified by the user. As a result, it is possible to reflect in the design the user's intentions that cannot be fully expressed by the robot specification information, member information, and work information. In addition, processing time can be reduced by using calculated results as constraint information for a part of the arrangement, orientation, or route.
  • the robot cell system design apparatus cannot obtain a solution, or the predetermined cost for the solution does not satisfy the threshold value, that is, a good solution cannot be obtained in the optimization in each planning department.
  • the content of the determination is presented to the user. This allows the designer of the robot cell system to efficiently modify the design.
  • a third embodiment will be described.
  • the same components as those of the robot cell system designing apparatus 10 according to the first embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted.
  • the functional configuration in which the last two digits of the code are common between the first embodiment and the third embodiment detailed description of the common functions will be omitted.
  • the hardware configuration of the robot cell system designing device according to the third embodiment is the same as the hardware configuration of the robot cell system designing device 10 according to the first embodiment shown in FIG. .
  • FIG. 24 is a block diagram showing an example of the functional configuration of the robot cell system design device 310.
  • the robot cell system design device 310 includes, as a functional configuration, an acquisition unit 332, a layout planning unit 34, an attitude planning unit 36, a route planning unit 38, a control unit 344, an evaluation unit 340 including.
  • Each functional configuration is realized by the CPU 12 reading out a robot cell system design program stored in the storage device 16, developing it in the memory 14, and executing it.
  • the acquisition unit 332 acquires mode selection information, end conditions, and stop instructions specified by the user, in addition to robot specification information, member information, work information, and gripping information.
  • the third embodiment has a feasible planning mode and an optimal planning mode.
  • Mode selection information is information for selecting which of these two modes to execute.
  • the feasible planning mode is a mode for confirming in a short period of time whether or not it is possible to arrange the parts for the robot to perform a given action.
  • the optimal planning mode is a mode for outputting more optimal arrangement information and operation information.
  • the feasible planning mode will be selected during the design of the robot cell system.
  • selecting the feasible planning mode for example, designing a certain facility, verifying whether or not the robot can work on the facility, arranging the verified facility around the robot, For example, it is possible to verify whether or not a series of operations can be executed. If a solution can be obtained in the feasible planning mode, it can be determined that there is a feasible arrangement in the relationship between the facility under design and the robot.
  • the optimal planning mode will be selected when adjusting the layout, etc., with the aim of shortening the operating time of the entire system, etc., after the design of the robot cell system has been completed.
  • the end condition is a condition for ending the planning in each planning department that is repeatedly executed while changing the selection of placement candidates.
  • the feasible planning mode for example, the number of repetitions of planning in each planning section or the calculation time for the entire process is specified as a termination condition.
  • a termination condition such as repeating until some solution is obtained may be specified.
  • the optimal planning mode is selected, the same number of iterations and calculation time as in the case of the feasible planning mode may be specified as end conditions. In this case, the number of repetitions or the calculation time may be specified to be greater than the number of repetitions or the calculation time of the termination condition specified for the feasible plan mode.
  • a convergence determination threshold value of the optimal solution may be designated as the end condition in addition to the number of iterations and the calculation time. More specifically, the optimum solution convergence judgment threshold is defined as the difference between the route cost for the placement calculated this time and the best route cost for the placements calculated so far becomes small, and the solution converges. It is a threshold for determining that.
  • a stop instruction is an instruction to stop the process that is being repeatedly executed in each planning department when the optimal planning mode is selected.
  • the acquisition unit 332 transfers the acquired mode selection information and termination conditions to the control unit 344 . Further, when acquiring a stop instruction, the acquisition unit 3332 notifies the control unit 344 of the stop instruction.
  • control unit 344 causes the layout planning unit 34 to plan a layout candidate different from the previous one, and repeats the planning by the attitude planning unit 36 and the route planning unit 38 until the designated end condition is satisfied. control to run. Then, the control unit 344 controls the evaluation unit 340 to select, as the final placement, the placement with the highest evaluation indicated by the route cost among the placements obtained for each iteration of processing.
  • control unit 344 upon receiving a stop instruction from the acquisition unit 332, causes the placement planning unit 34, the attitude planning unit 36, and the route planning unit 38 to perform respective processes. Control to stop.
  • the evaluation unit 340 calculates a route cost for a set of routes for each placement candidate passed from the route planning unit 38, and based on the route cost, selects an optimal route from the placement candidates. Choose a good placement. Specifically, the evaluation unit 340 selects, as the final arrangement, the arrangement with the highest evaluation indicated by the route cost, for example, the short operation time, among the optimum arrangements obtained for each iteration of processing. The evaluation unit 340 outputs the placement information about the selected placement and the motion information of the robot according to the route planned for the placement.
  • FIG. 25 is a flow chart showing the flow of robot cell system design processing executed by the CPU 12 of the robot cell system design device 310 .
  • the CPU 12 reads out the robot cell system design program from the storage device 16, develops it in the memory 14, and executes it, whereby the CPU 12 functions as each functional configuration of the robot cell system design device 310, and the robot cell system design shown in FIG. Processing is performed.
  • step S310 the acquisition unit 332 acquires robot specification information, member information, work information, gripping information, mode selection information selected by the user, and termination conditions specified by the user.
  • the acquisition unit 332 transfers the acquired robot specification information, member information, work information, and gripping information to the related planning unit, and also delivers the acquired mode selection information and termination conditions to the control unit 344 .
  • step S312 the control unit 344 determines whether the optimal planning mode or the feasible planning mode is selected based on the mode selection information passed from the acquisition unit 332. If the optimal planning mode has been selected, the process proceeds to step S320, and if the feasible planning mode has been selected, the process proceeds to step S314.
  • step S314 a feasible planning process is executed.
  • the feasibility planning process is the same as steps S12 to S28 of the robot cell system design process (FIG. 13) in the first embodiment.
  • step S316 the control unit 344 determines whether or not the designated termination condition is satisfied. For example, the control unit 344 determines whether the number of repetitions of the processing in step S314 has reached the number of repetitions specified by the termination condition, and whether the calculation time of the processing up to this point exceeds the calculation time specified by the termination condition. determine whether or not If the termination condition is satisfied, the process proceeds to step S318, and if not satisfied, the process returns to step S314. In the selection of placement candidates in the repeatedly executed feasible planning process of S314, placement candidates other than the previously selected placement candidates are selected.
  • step S318 among the optimum routes planned in step S314, the placement information about the placement with the highest evaluation indicated by the route cost, for example, the placement with the shortest operation time, and the route planned for that placement, output the motion information of the robot. Then, the robot cell system design process ends.
  • step S320 the feasible planning process is executed. If the feasible planning process has been executed in step S320, the process proceeds to step S322.
  • step S322 the evaluation unit 340 selects the placement obtained in step S320 and the placement obtained by the repeated processing, whichever has the better route cost, for example, the shorter operation time. .
  • the control unit 344 presents to the user the placement information about the placement selected by the evaluation unit 340 and the motion information of the robot according to the route planned for the placement, and is ready to receive a stop instruction from the user. do.
  • the control unit 344 displays on the output device 20 a stop button for the user to select a stop instruction, together with layout information and motion information about the currently selected layout.
  • the control unit 344 may present to the user the route cost calculated for the arrangement information together with the arrangement information and the motion information.
  • step S324 the control unit 344 determines whether or not the user has selected a stop instruction. For example, when the user selects the stop button, the acquisition unit 332 acquires a stop instruction and notifies the control unit 344 of it. In this case, it is determined that the stop instruction has been selected. When the stop instruction is selected, the process proceeds to step S328, and when the stop instruction is not selected, the process proceeds to step S326.
  • step S326 the control unit 344 determines whether or not the designated termination condition is satisfied. For example, the control unit 344 determines whether the operation time indicated by the route cost for the placement selected in step S322 satisfies the target operation time, and whether the difference in route cost compared in step S322 satisfies the convergence determination threshold. determine whether or not If the termination condition is satisfied, the process proceeds to step S328, and if not satisfied, the process returns to step S320. In the selection of placement candidates in the repeatedly executed feasible planning process of S320, placement candidates other than the previously selected placement candidates are selected.
  • step S328 the evaluation unit 340 outputs the placement information about the placement selected in the most recent step S322 and the robot motion information according to the route planned for the placement, and the robot cell system design process ends. .
  • the robot cell system design apparatus has an optimum planning mode for obtaining an optimum solution over time and a feasible planning mode for obtaining an executable solution in a short time. selectively execute As a result, suitable arrangement information and robot operation information can be obtained according to the design stage and purpose of the robot cell system.
  • the robot cell system design device presents the current best arrangement information and operation information for each iteration of the optimal planning mode, making it possible to accept a stop instruction.
  • the processing can be stopped according to the user's instruction, and unnecessary processing time can be reduced.
  • a fourth embodiment will be described.
  • the same components as those of the robot cell system designing apparatus 10 according to the first embodiment are denoted by the same reference numerals, and detailed description thereof will be omitted.
  • the functional configuration in which the last two digits of the reference numerals are common between the first embodiment and the fourth embodiment detailed description of the common functions will be omitted.
  • the hardware configuration of the robot cell system designing device according to the fourth embodiment is the same as the hardware configuration of the robot cell system designing device 10 according to the first embodiment shown in FIG. 3, so the description is omitted. .
  • FIG. 26 is a block diagram showing an example of the functional configuration of the robot cell system design device 410.
  • the robot cell system design device 410 includes, as functional configuration, an acquisition unit 432, a grip planning unit 446, a placement planning unit 34, an attitude planning unit 36, a path planning unit 38, an evaluation unit 40.
  • Each functional configuration is realized by the CPU 12 reading out a robot cell system design program stored in the storage device 16, developing it in the memory 14, and executing it.
  • the acquisition unit 432 acquires robot specification information, member information, and work information, like the acquisition unit 32 in the first embodiment. However, the acquisition unit 432 does not acquire the grasping information acquired by the acquisition unit 32 in the first embodiment. The acquisition unit 432 also transfers the acquired robot specification information, member information, and work information to the grip planning unit 446 .
  • the gripping planning unit 446 generates gripping information for each workpiece based on the robot specification information, member information, and work information delivered from the acquisition unit 432 , and delivers the gripping information to the posture planning unit 36 . Specifically, as shown in FIG. 27, the grip planning unit 446 identifies the shape of the robot hand that grips the workpiece from the specification information of the robot. Also, the grip planning unit 446 identifies the shape of the workpiece to be gripped by the robot hand from the member information. The gripping planning unit 446 also identifies a gripping state indicating which part of the workpiece is to be gripped by which part of the robot hand from the work information. In the example of FIG. 27, it is indicated that the work information specifies that the portion of the work piece is to be gripped by the portion of the robot hand indicated by the circle.
  • the gripping planning unit 446 generates a plurality of gripping patterns as shown in FIG. 5 based on the shape of the robot hand, the shape of the workpiece, and the state of gripping specified as described above. Then, the gripping planning unit 446 expresses each of the gripping patterns by the relative coordinates (x, y, z) and the relative orientation (roll, pitch, yaw) of the TCP with respect to the workpiece when the workpiece is gripped by the robot hand. Generate grip information.
  • FIG. 28 is a flow chart showing the flow of robot cell system design processing executed by the CPU 12 of the robot cell system design device 410 .
  • the CPU 12 reads out the robot cell system design program from the storage device 16, develops it in the memory 14, and executes it, whereby the CPU 12 functions as each functional configuration of the robot cell system design device 410, and the robot cell system design shown in FIG. Processing is performed.
  • the same step numbers are assigned to the same processes as the robot cell system design process (FIG. 13) in the first embodiment, and detailed descriptions thereof are omitted.
  • the acquisition unit 432 acquires robot specification information, member information, and work information. Then, the acquiring unit 432 transfers the acquired robot specification information, member information, and work information to each planning unit including the grasping planning unit 446 .
  • the gripping planning unit 446 identifies the shape of the robot hand, the shape of the workpiece, and the state of gripping based on the specification information, member information, and work information of the robot, and based on the specified contents, to generate a plurality of gripping patterns. Then, the gripping planning unit 446 expresses each of the gripping patterns by the relative coordinates (x, y, z) and the relative orientation (roll, pitch, yaw) of the TCP with respect to the workpiece when the workpiece is gripped by the robot hand. Generate grip information. The grip planning unit 446 delivers the generated grip information to the attitude planning unit 36 .
  • steps S12 to S28 are executed in the same way as the robot cell system design process (FIG. 13) in the first embodiment, and the robot cell system design process ends.
  • the robot cell system design device generates grasping information based on robot specification information, member information, and work information. This eliminates the need to prepare gripping information in advance, thereby reducing the burden on the user.
  • the number of robots included in the robot cell system may be one or may be multiple.
  • a robot cell system capable of handling more complicated work can be constructed.
  • 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 cell system design process 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 cell system design process may be executed on one of these various processors, or on a combination of two or more processors of the same or different type (e.g., multiple FPGAs, and a CPU and an FPGA). , 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 cell system design 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.
  • Robot cell system design device 12 CPU 14 memory 16 storage device 18 input device 20 output device 22 storage medium reading device 24 communication I/F 26 buses 32, 232, 332, 432 acquisition units 34, 234 placement planning units 36, 236 attitude planning units 38, 238 path planning units 40, 340 evaluation unit 242 determination unit 344 control unit 446 grip planning unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

取得部(32)が、ロボットセルシステムの構成要素であるロボットの仕様情報と、ロボットセルシステムの構成要素であるロボット以外の部材の形状情報を含む部材情報と、ロボットに行わせる作業に関する作業情報とを取得し、仕様情報、部材情報、及び作業情報に基づいて、配置計画部(34)が、ロボットセルシステムにおけるロボット及び部材の配置の候補を1つ以上算出し、姿勢計画部(36)が、ロボットの動作毎の開始点の開始姿勢及び終了点の終了姿勢の組み合わせの集合を、配置の候補毎に算出し、経路計画部(38)が、開始姿勢及び終了姿勢の組み合わせ毎の開始姿勢から終了姿勢までの経路の集合を、配置の候補毎に算出し、評価部40が、経路に基づいて、配置の候補から最適な配置を選択する。

Description

ロボットセルシステム設計装置、方法、及びプログラム
 本開示は、ロボットセルシステム設計装置、ロボットセルシステム設計方法、及びロボットセルシステム設計プログラムに関する。
 ロボットセルシステムの設計では、システムの動作時間が目標時間内となるように、ロボット及び各部材の配置、並びにロボットの動作が適切に設計される必要がある。このようなロボットセルシステムの設計を支援する技術が提案されている。
 例えば、ロボットアーム及び周辺機器を含むロボット作業空間に、ロボットアーム及び周辺機器を配置するレイアウトを設定するレイアウト設定装置が提案されている(特許文献1:特開2018-20410号公報参照)。特許文献1に記載の装置は、ロボットアームが周辺機器にアクセスする特定動作に対応し、ロボットアームの基準部位を通過させる教示点を決定する。また、この装置は、ロボットアーム及び周辺機器の初期レイアウトを決定し、メタヒューリスティクス演算により、初期レイアウトから、各機器を移動させてレイアウトを更新する。また、この装置は、初期レイアウト又は更新されたレイアウトで、特定動作に対する適応度に関する評価値を用いて当該のレイアウトを設定し、最適なレイアウトを決定する。
 ロボットセルシステム設計の現状では、システムの動作時間が目標に達するまで、人が、ロボット及び各部材の配置と、ロボットの動作とを試行錯誤して決定しており、多大な工数及び時間を要している。
 また、上記特許文献1に記載の技術では、メタヒューリスティクス演算によりレイアウトを更新しているため、膨大に存在する配置のパターンと、ロボットの動作のパターンとを総当たり的に評価する必要があり、計算時間が長くなる、という問題がある。
 本開示は、上記の点に鑑みてなされたものであり、ロボットを構成要素に含むセルシステムの設計に要する時間を削減することを目的とする。
 上記目的を達成するために、本開示に係るロボットセルシステム設計装置は、ロボットセルシステムの構成要素であるロボットの仕様情報と、前記ロボットセルシステムの構成要素である前記ロボット以外の部材の形状情報を含む部材情報と、前記ロボットに行わせる作業に関する作業情報とを取得する取得部と、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットセルシステムにおける前記ロボット及び前記部材の配置の候補を1つ以上算出する配置計画部と、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットの動作毎の開始点の開始姿勢及び終了点の終了姿勢の組み合わせの集合を、前記配置の候補毎に算出する姿勢計画部と、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記開始姿勢及び前記終了姿勢の組み合わせ毎の前記開始姿勢から前記終了姿勢までの経路の集合を、前記配置の候補毎に算出する経路計画部と、前記経路に基づいて、前記配置の候補から最適な配置を選択する評価部と、を含んで構成される。
 また、前記評価部は、前記配置の候補毎に、前記経路に関する経路コストを算出し、前記経路コストが示す評価が最も高い前記配置の候補を、前記最適な配置として選択してもよい。
 また、前記配置計画部は、前記ロボット及び前記部材の配置のパターン毎に、配置に関する配置コストを算出し、前記配置コストが示す評価が高い順に1つ以上のパターン、又は前記配置コストが予め定めた条件を満たす1つ以上のパターンを、前記配置の候補として選択してもよい。
 また、前記配置コストは、部材間の距離、前記ロボット及び前記部材が配置された領域の面積又は体積、障害物と前記部材との距離、並びに、前記ロボットの可操作性の少なくとも1つに基づく値としてもよい。
 また、前記姿勢計画部は、前記ロボットのハンド部が前記部材にアクセスする際の位置及び姿勢に応じた前記開始姿勢及び前記終了姿勢の組み合わせのうち、前記作業に要する前記ロボットの動作時間に関する姿勢コストが示す評価が最も高い前記組み合わせを前記動作毎に選択してもよい。
 また、前記姿勢計画部は、前記部材のうち、前記ロボットのハンド部に把持されるワークと前記ハンド部との相対関係を示す把持情報をさらに用いて、前記開始姿勢及び前記終了姿勢を算出してもよい。
 また、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記把持情報を算出する把持計画部をさらに含んで構成してもよい。
 また、前記取得部は、さらに、ユーザにより指定された制約情報を取得し、前記制約情報として、配置に関連する制約情報が取得された場合、前記配置計画部は、前記ロボット及び前記部材の配置のパターンのうち、前記制約情報を満たすパターンから、前記配置の候補を選択し、前記制約情報として、姿勢に関連する制約情報が取得された場合、前記姿勢計画部は、前記制約情報を満たす前記開始姿勢及び前記終了姿勢の組み合わせの集合を算出し、前記制約情報として、経路に関連する制約情報が取得された場合、前記経路計画部は、前記制約情報を満たす経路の集合を算出してもよい。
 また、前記制約情報は、部材間の位置関係、部材の配置不可能領域、部材を配置する指定位置、部材に対するクリアランス、指定された姿勢、及び指定された経路の少なくとも1つを含んでもよい。
 また、前記配置計画部、前記姿勢計画部、及び前記経路計画部の各々における計画の適切性を判定する判定部をさらに含んで構成してもよい。
 また、前記判定部は、前記計画の適切性を満たさないと判定した場合に、判定結果をユーザに提示してもよい。
 また、前記配置計画部、前記姿勢計画部、及び前記経路計画部の各々は、前記判定部により前記適切性を満たさないと判定された場合に、処理を停止してもよい。
 また、前記判定部は、前記配置計画部により計画される配置の候補において、部材が配置可能エリアに収まる場合、及び、配置の適切性を示す配置コストが閾値以上となる場合、前記姿勢計画部により計画される前記開始姿勢及び前記終了姿勢が他の部材又は障害物と非干渉の場合、及び、前記開始姿勢と前記終了姿勢との差分が閾値以下の場合、並びに、前記経路計画部により前記経路が算出可能な場合、及び、前記作業に要する前記ロボットの動作時間が所定値以下の場合に、前記適切性を満たすと判定してもよい。
 また、前記取得部は、解を得ることを目的とした実行可能計画モードと、所望の解を得ることを目的とした最適計画モードとを選択する選択情報、及び選択される前記実行可能計画モード又は前記最適計画モードに応じた終了条件をさらに取得し、前記終了条件を満たすまで、前記配置計画部により前回とは異なる前記配置の候補を算出させ、前記姿勢計画部及び前記経路計画部に処理を繰り返し実行させると共に、前記評価部に、繰り返しの処理毎に得られる前記最適な配置の中で、前記経路コストが示す評価が最も高い前記最適な配置を、最終的な配置として選択するように制御する制御部をさらに含んで構成してもよい。
 また、前記制御部は、前記最適計画モードが選択されている場合において、繰り返しの処理毎に、現段階で経路コストが示す評価が最も高い配置をユーザに提示すると共に、ユーザから繰り返し処理の停止の指示を受け付けてもよい。
 また、本開示に係るロボットセルシステム設計方法は、取得部が、ロボットセルシステムの構成要素であるロボットの仕様情報と、前記ロボットセルシステムの構成要素である前記ロボット以外の部材の形状情報を含む部材情報と、前記ロボットに行わせる作業に関する作業情報とを取得し、配置計画部が、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットセルシステムにおける前記ロボット及び前記部材の配置の候補を1つ以上算出し、姿勢計画部が、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットの動作毎の開始点の開始姿勢及び終了点の終了姿勢の組み合わせの集合を、前記配置の候補毎に算出し、経路計画部が、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記開始姿勢及び前記終了姿勢の組み合わせ毎の前記開始姿勢から前記終了姿勢までの経路の集合を、前記配置の候補毎に算出し、評価部が、前記経路に基づいて、前記配置の候補から最適な配置を選択する方法である。
 本開示に係るロボットセルシステム設計プログラムは、コンピュータを、ロボットセルシステムの構成要素であるロボットの仕様情報と、前記ロボットセルシステムの構成要素である前記ロボット以外の部材の形状情報を含む部材情報と、前記ロボットに行わせる作業に関する作業情報とを取得する取得部、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットセルシステムにおける前記ロボット及び前記部材の配置の候補を1つ以上算出する配置計画部、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットの動作毎の開始点の開始姿勢及び終了点の終了姿勢の組み合わせの集合を、前記配置の候補毎に算出する姿勢計画部、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記開始姿勢及び前記終了姿勢の組み合わせ毎の前記開始姿勢から前記終了姿勢までの経路の集合を、前記配置の候補毎に算出する経路計画部、及び、前記経路に基づいて、前記配置の候補から最適な配置を選択する評価部として機能させるためのプログラムである。
 本開示に係るロボットセルシステム設計装置、方法、及びプログラムによれば、ロボットを構成要素に含むセルシステムの設計に要する時間を削減することができる。
各実施形態の目的及び入出力を説明するための図である。 各実施形態の目的及び入出力を説明するための図である。 ロボットセルシステム設計装置のハードウェア構成を示すブロック図である。 第1実施形態に係るロボットセルシステム設計装置の機能構成の例を示すブロック図である。 把持情報を説明するための図である。 配置コストの一例を説明するための図である。 配置コストの一例を説明するための図である。 配置コストの一例を説明するための図である。 作業情報を加味した配置コストの一例を説明するための図である。 配置コストの一例であるロボットの可操作性を概略的に示す図である。 ロボットの姿勢の一覧の一例を示す図である。 開始姿勢及び終了姿勢の相違による動作時間の相違を説明するための図である。 第1実施形態におけるロボットセルシステム設計処理の流れを示すフローチャートである。 第2実施形態に係るロボットセルシステム設計装置の機能構成の例を示すブロック図である。 制約情報の一例を説明するための図である。 作業情報に関する制約情報の一例を説明するための図である。 判定部の処理の一例を説明するための図である。 判定部の処理の一例を説明するための図である。 判定部の処理の一例を説明するための図である。 判定部の処理の一例を説明するための図である。 判定部の処理の一例を説明するための図である。 判定部の処理の一例を説明するための図である。 第2実施形態におけるロボットセルシステム設計処理の流れを示すフローチャートである。 第3実施形態に係るロボットセルシステム設計装置の機能構成の例を示すブロック図である。 第3実施形態におけるロボットセルシステム設計処理の流れを示すフローチャートである。 第4実施形態に係るロボットセルシステム設計装置の機能構成の例を示すブロック図である。 把持情報の生成を説明するための図である。 第4実施形態におけるロボットセルシステム設計処理の流れを示すフローチャートである。
 以下、本開示の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<各実施形態の目的及び入出力>
 まず、以下で詳述する各実施形態で共通する目的及び入出力について説明する。
 各実施形態に係るロボットセルシステム設計装置は、図1に示すように、セルシステムの構成要素であるロボット、並びに作業対象のワーク及びワークを扱うためのジグを含む部材の配置と、ロボットの動作とを設計する。図1の例では、Left covers、Tabele、 Front and right covers、及びFinished worksが部材の一例である。これらの設計を行うために、ロボットセルシステム設計装置には、ロボットの仕様情報と、部材の形状情報を含む部材情報と、ロボットに行わせる作業に関する作業情報とが入力される。各情報の詳細については後述する。
 上述した特許文献1の技術では、ロボットセルシステムを設計する際、ロボット及び部材の配置の初期解に対して教示点を設定し、ロボットの動作を算出し、タクトタイム等をコストとして最適化設計を行っている。一般に、ロボットの動作を算出するための計算量は多く、例えば、1つの動作の算出に数秒を要する。また、ロボット及び部材の配置設計はNP困難な問題であるため、最適化には数万から数十万回の試行が必要である。したがって、上記特許文献1に記載の技術のように、ある配置におけるロボットの動作を算出し、その動作に関するコストを評価しながら最適化する方法では、実時間で最適な解を算出することは事実上不可能であるという課題があった。
 さらに、ロボットセルシステムにおいて、作業の高速化及び多能化のためには、複数台のロボットを使用することが望ましい。例えば、複数台のロボットに並列に作業を実行させたり、複数台のロボットを使用することで全体での可動域を拡大させたりすることにより、セルシステムにおける作業を高速化させることが想定される。また、複数台のロボットにより、1つの作業を共同で実行させることにより多能化する場合もある。このように複数台のロボットがセルシステムに含まれる場合には、ロボットそれぞれの動作を設計する必要があるため、より最適化の計算に時間を要することになる。そこで、解の発散を防ぐ制約及び効率の良い最適解探索方法が必要となる。
 以下の各実施形態では、図2に示すように、ロボットの仕様情報、部材情報、及び作業情報の入力に対して、最適化された配置情報及びロボットの動作情報を出力するために、配置計画、姿勢計画、及び経路計画を段階的に処理する。配置計画では、ロボット及び部材の取り得る複数の配置のパターンから、最適化された所定個の配置候補が算出される。また、配置計画では、例えばロボットの可操作性等の計算時間の短い(μsecオーダー)配置コストを用いた最適化が行われる。姿勢計画では、配置候補毎に、ロボットの動作の開始点における開始姿勢、及び終了点における終了姿勢が最適化される。経路計画では、配置候補毎に最適化された開始姿勢から終了姿勢までの経路が最適化される。
 姿勢の最適解及び経路の最適解は、配置に対して一意に決まる。そのため、図2に示すように、配置計画、姿勢計画、及び経路計画を段階的に処理することで、計算コストの高い経路計画の実行回数を数万~数十万回から、配置候補の数まで削減することができる。これにより、配置及びロボットの動作の最適解を実用的な時間内に算出できるようになる。
 また、現状のロボットセルシステムにおいて、ロボットの動作が適切に設計されない場合があり、その原因として、ロボット動作の開始姿勢及び終了姿勢が適切に計画されていないことが挙げられる。そこで、図2に示すように、配置計画と経路計画との間に姿勢計画を行い、開始姿勢及び終了姿勢を最適化した上で、経路計画を実行することで、配置及びロボットの動作が適切に算出されると共に、その計算時間の削減を実現することができる。
 以下、各実施形態について詳述する。なお、各実施形態では、ロボットセルシステムの構成要素であるロボットが、三次元空間における動作に必要な6自由度の構成を備えた垂直多関節型のロボットである場合について説明する。より具体的には、ロボットは、複数のリンクが接続されて構成されると共に、ロボットの手先には、ロボットハンド等のツールが取り付けられる。リンク間の接続を関節(ジョイント)という。また、ロボットの手先(ロボットハンド等のツールが取り付けられる側)の基準位置をTCP(Tool Center Point)という。
 また、ロボットの姿勢は、TCPが所定の位置(x,y,z)及び姿勢(roll,pitch,yaw)にあると想定した場合の、ロボットの第1関節(ジョイントJ1)から第N関節(ジョイントJN、Nはロボットの関節数)までの各関節の値(回転角度)の系列(θJ1,θJ2,・・・,θJN)で表される。なお、以下の各実施形態では、ロボットの土台側から手先に向かって順に、J1、J2、・・・であるとする。さらに、TCPを任意の始点から終点まで動作させるときのロボットの各時刻における姿勢を時系列に並べたものが経路であり、その経路に、姿勢を変化させる速度及び加速度の情報を加えたものが動作情報である。
<第1実施形態>
 図3は、第1実施形態に係るロボットセルシステム設計装置10のハードウェア構成を示すブロック図である。図3に示すように、ロボットセルシステム設計装置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の機能構成について説明する。図4は、ロボットセルシステム設計装置10の機能構成の例を示すブロック図である。図4に示すように、ロボットセルシステム設計装置10は、機能構成として、取得部32と、配置計画部34と、姿勢計画部36と、経路計画部38と、評価部40とを含む。各機能構成は、CPU12が記憶装置16に記憶されたロボットセルシステム設計プログラムを読み出し、メモリ14に展開して実行することにより実現される。
 取得部32は、ロボットセルシステムの構成要素であるロボットの仕様情報と、ロボットセルシステムの構成要素である、ロボット以外の部材の部材情報と、ロボットに行わせる作業に関する作業情報とを取得する。ロボットの仕様情報には、リンク間の接続関係やリンクの回転軸等の構造を示すキネマティクス情報、各リンクの重さ等、リンクの動作時の速度等を特定するための情報であるダイナミクス情報、及び各リンクの形状情報が含まれる。部材情報には、部材であるジグ及びワーク、並びに加工機や検査機等の周辺機の形状情報が含まれる。なお、各形状情報は、例えばCAD(Computer-Aided Design)データ等の三次元データとしてよい。作業情報には、作業の種類、作業の順番、作業で使用する部材とその部材にロボットがアクセスする位置、作業で使用するワーク、ロボットハンドのどの部分でワークのどの部分を把持するかを示す把持の状態等の情報が含まれる。部材に対するロボットのアクセスとは、例えば、ロボットハンドによるワークの把持(ピック)、ワークの解放(リリース)、所定位置へのワークの取り付け等である。
 また、取得部32は、ワークとロボットハンドとの相対関係を示す把持情報を取得する。把持情報は、例えば図5に示すように、ロボットハンドでワークを把持した際のTCPのワークに対する相対座標(x,y,z)及び相対姿勢(roll,pitch,yaw)である。取得部32が取得する把持情報は、複数の把持パターンについての把持情報がリスト化されたものである。図5の例では、3つの把持パターンを示しているが、リストにはより多くの把持パターン(例えば数十パターン)の把持情報が含まれる。
 ロボットの仕様情報、部材情報、作業情報、及び把持情報は、入力装置18、記憶媒体読取装置22、又は通信I/F24を介してロボットセルシステム設計装置10に入力される。取得部32は、取得したロボットの仕様情報、部材情報、及び作業情報を、配置計画部34、姿勢計画部36、及び経路計画部38の各々に受け渡す。また、取得部32は、取得した把持情報を姿勢計画部36に受け渡す。
 配置計画部34は、取得部32から受け渡されたロボットの仕様情報、部材情報、及び作業情報に基づいて、ロボットセルシステムにおけるロボット及び部材の配置候補を1つ以上算出する。具体的には、配置計画部34は、ロボット及び部材の配置のパターンの各々について、配置に関する配置コストを算出する。配置のパターンは、ロボット及び部材が取り得る配置のパターン、すなわち配置可能な全てのパターンであり、例えば、ロボット及び部材の全てが予め定められた配置エリアに収まっている配置のパターンとしてよい。
 配置コストは、部材間の距離、ロボット及び部材が配置された領域の面積又は体積、障害物と部材との距離等の幾何情報を利用した値としてよい。例えば図6及び下記(1)式に示すように、部材間距離L、L、L、・・・、Lの総和が大きいほど大きくなる値を配置コストcとしてよい。なお、図6では、全ての部材間距離を図示すると煩雑になるため、一部の部材間距離のみを図示している。
Figure JPOXMLDOC01-appb-M000001
 また、例えば図7及び下記(2)式に示すように、ロボット及び部材の床面への設置部分の外接形状の面積Sが大きいほど大きくなる値を配置コストcとしてよい。
c=S (2)
 なお、上記面積Sに、ロボット及び各部材の高さを乗算した体積Vを配置コストcとしてもよい。
 また、例えば図8及び下記(3)式に示すように、各部材と障害物との距離D、D、D、・・・、Dの総和が大きいほど小さくなる値を配置コストcとしてよい。配置コストとして、部材と障害物との距離を用いることで、障害物との干渉により経路計画において除外される解を配置計画の段階で除外することができ、経路計画の成功率の向上及び高速化に寄与することができる。
Figure JPOXMLDOC01-appb-M000002
 上記(1)式~(3)式の配置コストcは、値が小さいほど配置の評価が高いことを表す。配置計画部34は、上記の値cを複数使って多目的最適化する配置コストを算出してもよい。また、配置計画部34は、作業情報が示す作業順序を配置コストcに反映してもよい。例えば、図9上図に示すように、ロボットの作業に関連する部材を作業順に並べて配置した方が、ロボットの動作時間が短くなる場合が多い。一方、図9下図に示すように、作業順序を考慮しないで部材間距離だけを最小化するような配置の場合、冗長な動作になって動作時間が延びてしまう場合がある。これを踏まえ、配置計画部34は、例えば、ロボットの作業順での部材間距離の総和を、配置コストとして算出してよい。なお、図9において、各丸印は、ロボットの作業点である。作業点とは、その配置において、ロボットが作業対象の部材にアクセスする位置である。
 また、配置コストは、ロボットの可操作性に基づく値としてよい。可操作性とは、ロボットがある姿勢をとるときに、その姿勢からの動き易さを示す指標である。可操作性は、ロボットの幾何構成(キネマティクス)によって変わる。図10に、可操作性を概略的に示す。図10の例では、色(濃度)が薄い点ほど可操作性の高い姿勢をとることができる空間位置であることを表している。可操作性wは、下記(4)式により算出される。
Figure JPOXMLDOC01-appb-M000003
 数式内の太字のqは、ロボットの姿勢、すなわち各関節の値(回転角度)のベクトルである。また、数式内の太字のrは、ロボットの手先の所定部位の位置及び姿勢(x,y,z,roll,pitch,yaw)である。また、数式内の太字のJ(q)は、ロボットの姿勢qのヤコビアンである。可操作性に基づく配置コストは、例えば、部材が配置される位置の可操作性の値の総和等としてよい。配置コストとして、ロボットの可操作性を用いることで、姿勢計画における逆運動学の解(詳細は後述)のバリエーションが増え、より良い解を求めることができ、経路計画の成功率の向上に寄与することができる。
 配置計画部34は、配置のパターン毎に算出した配置コストが示す配置の評価が高い順に1つ以上の配置のパターンを配置候補として選択する。また、配置計画部34は、配置コストが予め定めた条件を満たすパターン、例えば配置コストが閾値以下のパターンを配置候補として選択してもよい。配置計画部34は、選択した1つ以上の配置候補の情報を、姿勢計画部36及び経路計画部38に受け渡す。
 姿勢計画部36は、取得部32から受け渡されたロボットの仕様情報、部材情報、作業情報、及び把持情報に基づいて、ロボットの動作の開始点における開始姿勢、及び動作の終了点における終了姿勢を、配置計画部34から受け渡された配置候補毎に算出する。ここでは、動作の1単位を、ロボットのTCPを、ある作業点から次の作業点へ移動させる際のロボットの動作とする。ロボットセルシステムにおけるロボットは、複数の動作を連続的に実行する。例えば、図9に示す例では、作業点間の矢印が1つの動作に相当する。また、矢印の始点側の作業点が動作の開始点であり、矢印の終点側の作業点が動作の終了点である。したがって、姿勢計画部36は、1つの配置候補に対して、動作毎の開始姿勢及び終了姿勢の組み合わせの集合を算出する。
 具体的には、以下のように開始姿勢を算出する。姿勢計画部36は、ロボットハンドがワークを把持する際のTCPの位置及び姿勢を特定する。例えば、姿勢計画部36は、配置候補において、作業対象のワークが配置されている位置、すなわち作業点を特定し、把持情報を用いて、そのワークに対するTCPの相対位置及び相対姿勢を特定し、世界座標系の位置及び姿勢に変換する。そして、姿勢計画部36は、キネマティクス情報等を用いて、逆運動学により、TCPの位置及び姿勢から、ロボットの姿勢、すなわち各関節の値を算出する。姿勢計画部36は、終了姿勢の場合も同様に、作業情報に基づいて、ワークの解放時や取り付け時のTCPの位置及び姿勢を特定し、上記と同様にロボットの姿勢を算出する。
 ここで、姿勢計画においては、動作の開始点及び終了点となるロボットの姿勢が動作時間に与える影響が大きいこと、及び、垂直多関節ロボットは姿勢及び動きの自由度が大きく、最適な姿勢の選択が困難であることに注意すべきである。図11に、作業情報や把持情報等から算出された、動作の開始点におけるTCPの位置及び姿勢に対して算出された、ロボットの姿勢の一覧の一例を示す。図11に示す例では、関節J1~J3の値で4バリエーション、その中でもJ4~J6の組み合わせで6バリエーションが存在し、合計で24パターンのロボットの姿勢が算出されている。J4~J6の組み合わせの6バリエーションについて、同一グループ(A又はB)内でのロボットの姿勢の見た目は同一であるが、J4~J6の値がそれぞれ異なる。図11の例では、グループAとグループBとでは、ロボットの出っ張り部分(図11中の破線部)の位置が異なる。このようなパターンが動作の終了点におけるTCPの位置及び姿勢に対しても算出され、開始姿勢と終了姿勢との組み合わせが算出される。
 また、ロボットの開始姿勢及び終了姿勢によって、その開始姿勢から終了姿勢までの動作に要する動作時間は異なる。例えば、図12では、左図に示す動作(図12上では経路)と、右図に示す動作とでは、動作の開始点及び終了点の各々のTCPの位置及び姿勢と、ロボットの開始姿勢は同一であるが、ロボットの終了姿勢が異なる場合を示している。このように、開始点及び終了点のTCPの位置及び姿勢が同じでも、ロボットの動作には差異が生じるため、動作時間にも差異が生じる。
 そこで、姿勢計画部36は、各動作について取り得る開始姿勢及び終了姿勢の組み合わせ毎に、作業に要するロボットの動作時間に関する姿勢コストを算出し、姿勢コストが示す評価が最も高い開始姿勢及び終了姿勢の組み合わせを、動作毎に選択する。姿勢コストは、開始姿勢と終了姿勢との差分、例えば下記(5)式に示すように、各姿勢を示す関節の値のベクトル間距離等としてよい。
Figure JPOXMLDOC01-appb-M000004
 (5)式において、mは作業点の個数、qはi番目の作業点に対応する姿勢を表す姿勢ベクトルである。この姿勢コストは、姿勢間の変化が小さいほど、姿勢間の動作時間が短いと仮定した推定の動作時間を表す。したがって、姿勢コストが示す評価が最も高い姿勢の組み合わせは、姿勢間の動作時間が最も短い組み合わせであるとみなすことができる。姿勢計画部36は、配置候補毎に選択した、動作毎の開始姿勢及び終了姿勢の組み合わせの集合を経路計画部38に受け渡す。
 経路計画部38は、取得部32から受け渡されたロボットの仕様情報、部材情報、及び作業情報に基づいて、各配置候補について、姿勢計画部36から受け渡された開始姿勢から終了姿勢までの経路を、動作毎に算出する。経路計画部38は、開始姿勢から終了姿勢までの間に他のロボット及び部材や障害物が存在する場合には、これらとの干渉を回避するように経路を算出する。経路計画部38は、配置候補毎に算出した動作毎の経路の集合を評価部40に受け渡す。
 評価部40は、経路計画部38から受け渡された経路について経路コストを算出し、経路コストに基づいて、配置候補から最適な配置を選択する。具体的には、評価部40は、配置候補毎に、経路及びダイナミクス情報等に基づいて、例えば下記(6)式に示すように、動作毎の開始姿勢から終了姿勢までのロボットの動作時間の和を経路コストとして算出する。
Figure JPOXMLDOC01-appb-M000005
 (6)式において、mは作業点の個数、ti,i+1は、i番目の作業点とi+1番目の作業点との間の動作時間である。そして、評価部40は、動作時間が最も短い配置候補を、最適な配置として選択する。評価部40は、選択した配置についての配置情報、及びその配置について算出された経路に応じたロボットの動作情報を出力する。上述したように、動作情報は、経路に、姿勢を変化させる速度及び加速度の情報を加えたものである。
 なお、経路コストは上記の動作時間に限定されない。例えば、ワークを把持した状態で経路に沿ってロボットを動作させた際にワークにかかるモーメントとしてもよい。また、経路に沿ってロボットを動作させた際のロボットの消費電力、実空間又はジョイント空間における経路長等としてもよい。また、これらのコストを複数使って多目的最適化する経路コストを算出してもよい。
 次に、第1実施形態に係るロボットセルシステム設計装置10の作用について説明する。図13は、ロボットセルシステム設計装置10のCPU12により実行されるロボットセルシステム設計処理の流れを示すフローチャートである。CPU12が記憶装置16からロボットセルシステム設計プログラムを読み出して、メモリ14に展開して実行することにより、CPU12がロボットセルシステム設計装置10の各機能構成として機能し、図13に示すロボットセルシステム設計処理が実行される。
 ステップS10で、取得部32が、ロボットの仕様情報、部材情報、作業情報、及び把持情報を取得する。取得部32は、取得したロボットの仕様情報、部材情報、及び作業情報を、配置計画部34、姿勢計画部36、及び経路計画部38の各々に受け渡し、取得した把持情報を姿勢計画部36に受け渡す。
 次に、ステップS12で、配置計画部34が、ロボット及び部材の配置のパターンの各々について、配置に関する配置コストを算出し、配置コストが示す評価が高い順に上位N個の配置のパターンを配置候補として選択する。配置計画部34は、選択した配置候補に、配置コストが示す評価が高い順に番号1、2、・・・、Nを付与する。以下では、番号nの配置候補を「配置候補n」と表記する。そして、配置計画部34は、選択した配置候補の情報を、姿勢計画部36及び経路計画部38に受け渡す。
 次に、ステップS14で、姿勢計画部36が、配置候補の番号を示す変数nに1を設定する。次に、ステップS16で、姿勢計画部36が、配置候補nについて、ロボットの仕様情報、部材情報、作業情報、及び把持情報に基づき、動作の開始点及び終了点におけるTCPの位置及び姿勢に応じて、各動作について取り得るロボットの開始姿勢及び終了姿勢の組み合わせを算出する。
 次に、ステップS18で、姿勢計画部36が、開始姿勢及び終了姿勢の組み合わせ毎に、作業に要するロボットの動作時間に関する姿勢コストを算出し、姿勢コストが示す評価が最も高い開始姿勢及び終了姿勢の組み合わせを動作毎に選択する。そして、姿勢計画部36は、配置候補nについて選択した、動作毎の開始姿勢及び終了姿勢の組み合わせの集合を経路計画部38に受け渡す。
 次に、ステップS20で、経路計画部38が、ロボットの仕様情報、部材情報、及び作業情報に基づいて、配置候補nについて、姿勢計画部36から受け渡された開始姿勢から終了姿勢までの経路を、動作毎に算出する。そして、経路計画部38は、配置候補nについて算出した動作毎の経路の集合を評価部40に受け渡す。
 次に、ステップS22で、評価部40が、経路及びダイナミクス情報等に基づいて、開始姿勢から終了姿勢までのロボットの動作時間を経路コストとして算出する。なお、ここでは、経路コストの一例として、動作時間を算出する場合について説明しているが、他の経路コストを用いてもよい。次に、ステップS24で、評価部40が、nを1インクリメントする。次に、ステップS26で、評価部40が、nが配置候補の数であるNを超えたか否かを判定する。n≦Nの場合、ステップS16に戻り、n>Nの場合、ステップS28へ移行する。
 ステップS28では、評価部40が、動作時間が最も短い配置候補を、最適な配置として選択する。そして、評価部40は、選択した配置についての配置情報、及びその配置について計画された経路に応じたロボットの動作情報を出力し、ロボットセルシステム設計処理は終了する。
 以上説明したように、第1実施形態に係るロボットセルシステム設計装置は、ロボットセルシステムの構成要素であるロボットの仕様情報と、ロボット以外の部材の形状情報を含む部材情報と、ロボットに行わせる作業に関する作業情報とを取得する。また、ロボットセルシステム設計装置は、取得した情報に基づいて、ロボットセルシステムにおけるロボット及び部材の配置候補を1つ以上計画し、作業を行うロボットの動作毎の開始姿勢及び終了姿勢の集合を、配置候補毎に算出する。そして、ロボットセルシステム設計装置は、計画された動作毎の開始姿勢から終了姿勢までの経路の集合を、配置候補毎に計画し、配置候補から、経路に関する経路コストに基づいて、最終的な配置を選択する。これにより、ロボットを構成要素に含むセルシステムの設計に要する時間を削減することができる。
 また、ロボット及び部材の配置と、ロボットの動作とが同時に計画できるため、セルシステムの実装後に、ロボット技術者が行う教示作業に要する工数も削減することができる。また、配置、ロボットの姿勢、及び経路の算出時にそれぞれコストを用いた最適化を行っているため、ロボットの動作が検証済みの状態でシステム設計が完了することになり、セルシステム実装後に問題が発生して設計からやり直すリスクを低減することができる。
<第2実施形態>
 次に、第2実施形態について説明する。なお、第2実施形態に係るロボットセルシステム設計装置において、第1実施形態に係るロボットセルシステム設計装置10と同様の構成については、同一符号を付して詳細な説明を省略する。また、第1実施形態と第2実施形態とで、符号の末尾2桁が共通する機能構成において、共通する機能についての詳細な説明を省略する。さらに、第2実施形態に係るロボットセルシステム設計装置のハードウェア構成は、図3に示す、第1実施形態に係るロボットセルシステム設計装置10のハードウェア構成と同様であるため、説明を省略する。
 第2実施形態に係るロボットセルシステム設計装置210の機能構成について説明する。図14は、ロボットセルシステム設計装置210の機能構成の例を示すブロック図である。図14に示すように、ロボットセルシステム設計装置210は、機能構成として、取得部232と、配置計画部234と、姿勢計画部236と、経路計画部238と、判定部242と、評価部40とを含む。各機能構成は、CPU12が記憶装置16に記憶されたロボットセルシステム設計プログラムを読み出し、メモリ14に展開して実行することにより実現される。
 取得部232は、ロボットの仕様情報、部材情報、作業情報、及び把持情報に加え、ユーザにより指定された制約情報を取得する。制約情報は、部材間の位置関係、部材の配置不可能領域、部材を配置する指定位置、部材に対するクリアランス、指定された作業条件、指定された姿勢、及び指定された経路の少なくとも1つを含む。
 部材間の位置関係の制約情報は、部材Aと部材Bとは隣り合わせに配置する、部材Cと部材Dとは1m以上離して配置する等の位置関係を、部材のローカル座標系で指定した制約情報である。部材の配置不可能領域の制約情報は、例えば図15中のPに示すように、人の動線として確保すべき領域や固定設備が配置されている領域等、ロボット及び部材を配置することができない領域をワールド座標系の位置で指定した制約情報である。部材を配置する指定位置の制約情報は、例えば図15中のQに示すように、部材の1つであるトレイはコンベア(固定設備)上に配置等、特定の位置に配置することが決まっている部材の配置をワールド座標系の位置で指定した制約情報である。部材に対するクリアランスの制約情報は、例えば図15中のRに示すように、部材の扉を開閉するためのスペース等、ロボット及び他の部材を配置することができない領域を、部材のローカル座標系の位置で指定した制約情報である。
 また、指定された作業条件の制約情報は、作業の優先度又は実行時間に関する制約情報である。作業の優先度の制約情報では、例えば図16に示すように、複数台のロボットで作業を行う場合、一方のロボットのある動作が完了してから、もう一方のロボットの動作を開始させる等、ロボット間で優先的に実行させる動作が指定される。図16の例では、ロボットAの動作2が完了してから、ロボットBの動作2が開始されるように優先度が指定されている。また、実行時間の制約情報では、例えば、セルシステムで実行する1つ又は複数の作業の実行時間の上限及び下限の少なくとも一方が指定される。具体例としては、ロボットと同期制御できないコンベアの動作タイミングに合わせるために、ある部品をロボットでピックしてから、次の場所に置くまでの作業を2秒以上3秒以内で行うことを指定してよい。また、熱したワークが冷めないうちに次の作業位置に移動させるために、該当のワークの搬送作業は2秒以内に行うことを指定してよい。
 また、指定された姿勢の制約情報は、開始点、終了点、及び任意の中間点の少なくとも1つの位置におけるロボットの姿勢又はTCPの姿勢を予め指定した制約情報である。指定される姿勢は、特定の値であってもよいし、所定の範囲を指定したものであってもよい。また、指定された経路の制約情報は、ロボットが動作する経路の少なくとも一部を予め指定した制約情報である。指定される経路は、所定区間分のロボットの姿勢の系列の値として特定の値を指定したものであってもよいし、TCPが通過すべき必須の領域、又は通過不可の領域を指定したものであってもよい。なお、制約情報は上記の例に限定されず、ユーザにより任意の制約情報を指定可能である。
 取得部232は、配置に関連する制約情報を取得した場合、取得した制約情報を配置計画部234に受け渡す。また、取得部232は、姿勢に関連する制約情報を取得した場合、取得した制約情報を姿勢計画部236に受け渡す。また、取得部232は、経路に関連する制約情報を取得した場合、取得した制約情報を経路計画部238に受け渡す。なお、1つの制約情報が、配置、姿勢、及び経路のうちの2つ以上に関連する場合、取得部232は、関連する2つ以上の計画部にそれぞれ制約情報を受け渡す。例えば、指定された作業条件の制約情報は、配置、姿勢、及び経路のいずれにも関連し得る。
 配置計画部234は、配置に関連する制約情報を取得部232から受け渡された場合、ロボット及び部材の配置のパターンのうち、受け渡された制約情報を満たすパターンから配置候補を選択する。
 姿勢計画部236は、姿勢に関連する制約情報を取得部232から受け渡された場合、受け渡された制約情報を満たす開始姿勢及び終了姿勢の集合を算出する。
 経路計画部238は、経路に関連する制約情報を取得部232から受け渡された場合、受け渡された制約情報を満たす経路の集合を算出する。
 判定部242は、配置計画部234、姿勢計画部236、及び経路計画部238の各々における計画の適切性を判定する。判定部242による判定を行うのは、ユーザにより任意の制約情報が指定された場合、各計画部における計画の適切性が低下する場合があるためである。具体的には、判定部242は、各計画部における最適化において、解が得られるか否か、及び、所定のコストが閾値を満たす解を持つか否かを判定することにより、良好な解が得られるか否かを判定する。
 例えば、判定部242は、配置計画部234における最適化において、解となる配置候補が得られるか否かの判定として、部材が配置可能エリアに収まるか否かを判定する。判定部242は、全ての配置候補の各々において、例えば図17に示すように、少なくとも1つの部材又はロボットが、その部材又はロボットについての配置可能エリアに収まっていない場合は、解となる配置候補が得られていないと判定する。すなわち、判定部242は、配置計画部234において、良好な解が得られていないと判定する。
 また、判定部242は、配置計画部234における最適化において、解となる配置候補についての配置コストが閾値を満たすか否かを判定する。図18に、配置コストの一例であるロボットの可操作性を示すコストを用いて判定する場合の一例を示す。この場合、判定部242は、全ての配置候補の各々において、可操作性を示すコストが閾値を満たさない場合には、配置計画部234において、良好な解が得られていないと判定する。
 また、判定部242は、姿勢計画部236における最適化において、ロボットが、解となる開始姿勢又は終了姿勢をとった際に、他の部材や障害物と干渉するか否かを判定する。自動で開始姿勢及び終了姿勢を算出する場合には、干渉を回避可能な姿勢が算出される。一方、ユーザにより制約情報として姿勢が指定された場合には、図19に示すように、干渉が発生する可能性がある。判定部242は、配置候補毎に、姿勢計画部236で算出された開始姿勢及び終了姿勢の全ての組み合わせにおいて、開始姿勢又は終了姿勢で干渉が生じている場合には、姿勢計画部236において、良好な解が得られていないと判定する。
 また、判定部242は、姿勢計画部236における最適化において、解となる開始姿勢及び終了姿勢についての姿勢コストが閾値を満たすか否かを判定する。例えば図20に示すように、動作の開始点と終了点とでロボットの姿勢が大きく変化する場合、すなわち開始姿勢と終了姿勢との差分が大きい場合には、姿勢コストが示す評価が低くなる。判定部242は、姿勢計画部236で算出された開始姿勢及び終了姿勢の全ての組み合わせにおいて、姿勢コストが閾値を満たさない場合には、配置計画部234において、良好な解が得られていないと判定する。
 また、判定部242は、経路計画部238における最適化において、配置候補毎に、ロボットが他の部材や障害物と非干渉の経路が算出できたか否かを判定する。図21に示すように、制約情報として指定された姿勢を経由する経路や、指定された経路を一部に含む経路において、ロボットが他の部材や障害物と干渉する場合、判定部242は、その配置候補について、解となる経路が計画できないと判定する。すなわち、判定部242は、その配置候補について、良好な解が得られていないと判定する。
 また、判定部242は、経路計画部238における最適化において、配置候補毎に、作業に要するロボットの動作時間が所定値以下か否かを判定する。図22に示すように、指定された姿勢及び経路の一部を制約情報とした場合に算出された経路が冗長な場合には、動作時間が長くなる。判定部242は、この動作時間が所定値を超える場合には、その配置候補について、良好な解が得られていないと判定する。
 また、判定部242は、各計画部による計画が適切性を満たさない、すなわち良好な解が得られないと判定した場合に、判定結果をユーザに提示してもよい。判定部242は、判定結果に、上記の判定において適切性を満たさないと判定した内容、例えば、部材が配置可能エリアに収まっていない、計画された姿勢又は経路では他の部材と干渉する等の内容を含める。なお、判定部242がユーザに提示する判定結果は、取得部232により取得された制約情報に関連する判定結果に限らない。第1実施形態で説明したように、ロボットの仕様情報、部材情報、作業情報、及び把持情報に基づいて、各計画部で計画される配置、姿勢、及び経路も同様に対象としてもよい。
 また、判定部242は、各計画部の計画が適切性を満たさないと判定した場合、該当の計画部の処理を停止させてもよい。なお、本実施形態では、配置計画、姿勢計画、及び経路計画が段階的に実施されるため、いずれの計画部の計画が停止された場合でも、最終的な出力である配置情報及びロボットの動作情報は出力されない。
 次に、第2実施形態に係るロボットセルシステム設計装置210の作用について説明する。図23は、ロボットセルシステム設計装置210のCPU12により実行されるロボットセルシステム設計処理の流れを示すフローチャートである。CPU12が記憶装置16からロボットセルシステム設計プログラムを読み出して、メモリ14に展開して実行することにより、CPU12がロボットセルシステム設計装置210の各機能構成として機能し、図23に示すロボットセルシステム設計処理が実行される。なお、図23に示すロボットセルシステム設計処理において、第1実施形態におけるロボットセルシステム設計処理(図13)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
 ステップS210で、取得部232が、ロボットの仕様情報、部材情報、作業情報、把持情報、及び、ユーザにより指定された制約情報を取得する。取得部232は、取得した情報を、関連する計画部へ受け渡す。
 次のステップS12を経て、ステップS212へ移行すると、判定部242が、配置計画部234により上記ステップS12で、良好な解となる配置候補が得られたか否かが判定される。良好な解となる配置候補が得られた場合には、ステップS14へ移行し、得られていない場合には、ステップS218へ移行する。
 ステップS14及びS16を経て、ステップS214へ移行すると、判定部242が、姿勢計画部236により上記ステップS16で、配置候補nについて、良好な解となる開始姿勢及び終了姿勢の組み合わせの集合が得られたか否かが判定される。良好な解となる開始姿勢及び終了姿勢の組み合わせの集合が得られた場合には、ステップS18へ移行し、得られていない場合には、ステップS218へ移行する。
 ステップS18~S22を経て、ステップS216へ移行すると、判定部242が、経路計画部238により上記ステップS20及びS22で、配置候補nについて、良好な解となる経路の集合が得られたか否かが判定される。良好な解となる経路の集合が得られた場合には、ステップS24へ移行し、得られていない場合には、ステップS218へ移行する。
 ステップS218では、判定部242が、上記ステップS212、S214、又はS216の判定において、良好な解が得られないと判定した内容を含む判定結果を出力し、ロボットセルシステム設計処理は終了する。
 以上説明したように、第2実施形態に係るロボットセルシステム設計装置は、ユーザにより指定された制約情報を加味して、配置、姿勢、及び経路が算出される。これにより、ロボットの仕様情報、部材情報、及び作業情報では表現しきれないユーザの意図を設計に反映することができる。また、配置、姿勢、又は経路の一部について、制約情報として算出済みの結果を使うことで、処理時間を短縮できる。
 また、第2実施形態に係るロボットセルシステム設計装置は、各計画部における最適化において、解が得られない、又は解についての所定のコストが閾値を満たさない、すなわち良好な解が得られないと判定した場合には、その判定の内容をユーザに提示する。これにより、ロボットセルシステムの設計者が効率的に設計の修正を行うことができる。
<第3実施形態>
 次に、第3実施形態について説明する。なお、第3実施形態に係るロボットセルシステム設計装置において、第1実施形態に係るロボットセルシステム設計装置10と同様の構成については、同一符号を付して詳細な説明を省略する。また、第1実施形態と第3実施形態とで、符号の末尾2桁が共通する機能構成において、共通する機能についての詳細な説明を省略する。さらに、第3実施形態に係るロボットセルシステム設計装置のハードウェア構成は、図3に示す、第1実施形態に係るロボットセルシステム設計装置10のハードウェア構成と同様であるため、説明を省略する。
 第3実施形態に係るロボットセルシステム設計装置310の機能構成について説明する。図24は、ロボットセルシステム設計装置310の機能構成の例を示すブロック図である。図24に示すように、ロボットセルシステム設計装置310は、機能構成として、取得部332と、配置計画部34と、姿勢計画部36と、経路計画部38と、制御部344と、評価部340とを含む。各機能構成は、CPU12が記憶装置16に記憶されたロボットセルシステム設計プログラムを読み出し、メモリ14に展開して実行することにより実現される。
 取得部332は、ロボットの仕様情報、部材情報、作業情報、及び把持情報に加え、ユーザにより指定されたモード選択情報、終了条件、及び停止指示を取得する。ここで、第3実施形態では、実行可能計画モードと、最適計画モードとを有する。モード選択情報は、この2つのモードのうちのいずれを実行するかを選択した情報である。
 実行可能計画モードは、ロボットが所定の動作を行うための部材の配置が実現可能か否かを短時間で確認するモードである。一方、最適計画モードは、より最適な配置情報及び動作情報を出力するためのモードである。
 実行可能計画モードは、ロボットセルシステムの設計中に選択されることが想定される。実行可能計画モードが選択される具体例としては、例えば、ある設備を設計し、ロボットがその設備に対して作業できるか否かの検証や、検証された設備をロボットの周りに配置して、一連の作業を実行可能か否かの検証を行う場合が挙げられる。実行可能計画モードで解を得ることができれば、設計中の設備とロボットとの関係では、実行可能な配置が存在すると判断することができる。
 最適計画モードは、ロボットセルシステムの設計がいったん完了した後で、システム全体の動作時間の短縮等を目指して、配置の調整等を行う場合に選択されることが想定される。
 終了条件は、配置候補の選択を変更しながら、繰り返し実行される各計画部での計画を終了させるための条件である。実行可能計画モードが選択される場合、例えば、各計画部での計画の繰り返し回数、又は処理全体の計算時間が終了条件として指定される。また、具体的な繰り返し回数や計算時間の指定ではなく、何らかの解が得られるまで繰り返す、のような終了条件を指定してもよい。また、最適計画モードが選択される場合、実行可能計画モードの場合と同様の繰り返し回数や計算時間が終了条件として指定されてよい。この場合の繰り返し回数や計算時間は、実行可能計画モードについて指定される終了条件の繰り返し回数又は計算時間よりも多い回数又は多い計算時間が指定されてよい。また、最適計画モードの場合、繰り返し回数や計算時間の他に、例えば、目標動作時間、最適解の収束判定閾値(解の更新率等)が終了条件として指定されてもよい。最適解の収束判定閾値とは、より具体的には、今回算出された配置についての経路コストと、そこまでに算出されている配置についての最良の経路コストの差が小さくなり、解が収束したことを判定するための閾値である。
 停止指示は、最適計画モードが選択されている場合に、各計画部で繰り返し実行されている処理を停止させるための指示である。
 取得部332は、取得したモード選択情報及び終了条件を制御部344に受け渡す。また、取得部3332は、停止指示を取得した場合には、停止指示を制御部344に通知する。
 制御部344は、選択されたモードに応じて、指定された終了条件を満たすまで、配置計画部34により前回とは異なる配置候補を計画させ、姿勢計画部36及び経路計画部38に計画を繰り返し実行させるように制御する。そして、制御部344は、評価部340に、繰り返しの処理毎に得られる配置の中で、経路コストが示す評価が最も高い配置を最終的な配置として選択するように制御する。
 また、制御部344は、最適計画モードが選択されている場合において、取得部332から停止指示が通知されると、配置計画部34、姿勢計画部36、及び経路計画部38の各々の処理を停止させるように制御する。
 評価部340は、第1実施形態における評価部40と同様に、経路計画部38から受け渡された配置候補毎の経路の集合について経路コストを算出し、経路コストに基づいて、配置候補から最適な配置を選択する。具体的には、評価部340は、繰り返しの処理毎に得られる最適な配置のうち、最も経路コストが示す評価が高い、例えば動作時間が短い配置を最終的な配置として選択する。評価部340は、選択した配置についての配置情報、及びその配置について計画された経路に応じたロボットの動作情報を出力する。
 次に、第3実施形態に係るロボットセルシステム設計装置310の作用について説明する。図25は、ロボットセルシステム設計装置310のCPU12により実行されるロボットセルシステム設計処理の流れを示すフローチャートである。CPU12が記憶装置16からロボットセルシステム設計プログラムを読み出して、メモリ14に展開して実行することにより、CPU12がロボットセルシステム設計装置310の各機能構成として機能し、図25に示すロボットセルシステム設計処理が実行される。
 ステップS310で、取得部332が、ロボットの仕様情報、部材情報、作業情報、把持情報、ユーザにより選択されたモード選択情報、及びユーザにより指定された終了条件を取得する。取得部332は、取得したロボットの仕様情報、部材情報、作業情報、及び把持情報を、関連する計画部に受け渡すと共に、取得したモード選択情報及び終了条件を制御部344へ受け渡す。
 次に、ステップS312で、制御部344が、取得部332から受け渡されたモード選択情報に基づいて、最適計画モードが選択されているか、実行可能計画モードが選択されているかを判定する。最適計画モードが選択されている場合には、ステップS320へ移行し、実行可能計画モードが選択されている場合には、ステップS314へ移行する。
 ステップS314では、実行可能計画処理が実行される。実行可能計画処理は、第1実施形態におけるロボットセルシステム設計処理(図13)のステップS12~S28と同様である。次に、ステップS316で、制御部344が、指定された終了条件を満たすか否かを判定する。例えば、制御部344は、上記ステップS314の処理の繰り返し回数が終了条件で指定された繰り返し回数に到達しているか否か、ここまでの処理の計算時間が終了条件で指定された計算時間を超えているか否か等を判定する。終了条件を満たす場合には、ステップS318へ移行し、満たさない場合には、ステップS314に戻る。繰り返し実行されるS314の実行可能計画処理での配置候補の選択においては、前回選択された配置候補以外の配置候補が選択される。ステップS318では、上記ステップS314で計画された最適な経路のうち、経路コストが示す評価が最も高い配置、例えば、動作時間が最も短い配置についての配置情報、及びその配置について計画された経路に応じたロボットの動作情報を出力する。そして、ロボットセルシステム設計処理は終了する。
 一方、ステップS320でも、実行可能計画処理が実行される。ステップS320で実行可能計画処理が実行された場合には、ステップS322へ移行する。
 ステップS322では、評価部340が、上記ステップS320で得られた配置と、これまでの繰り返しの処理で得られた配置とで、経路コストが良い方、例えば動作時間が短い方の配置を選択する。制御部344は、評価部340により選択された配置についての配置情報、及びその配置について計画された経路に応じたロボットの動作情報をユーザに提示すると共に、ユーザによる停止指示を受け付け可能な状態にする。例えば、制御部344は、現在選択されている配置についての配置情報及び動作情報と共に、ユーザが停止指示を選択するための停止ボタンを出力装置20に表示する。なお、制御部344は、配置情報及び動作情報と共に、その配置情報について算出された経路コストもあわせてユーザに提示してもよい。
 次に、ステップS324で、制御部344が、ユーザにより停止指示が選択されたか否かを判定する。例えば、上記の停止ボタンをユーザが選択することにより、取得部332が停止指示を取得し、制御部344へ通知する。この場合に、停止指示が選択されたと判定される。停止指示が選択された場合には、ステップS328へ移行し、停止指示が選択されていない場合には、ステップS326へ移行する。ステップS326では、制御部344が、指定された終了条件を満たすか否かを判定する。例えば、制御部344は、上記ステップS322で選択された配置についての経路コストが示す動作時間が目標動作時間を満たしているか否か、上記ステップS322で比較した経路コストの差が収束判定閾値を満たしているか否か等を判定する。終了条件を満たす場合には、ステップS328へ移行し、満たさない場合には、ステップS320に戻る。繰り返し実行されるS320の実行可能計画処理での配置候補の選択においては、前回選択された配置候補以外の配置候補が選択される。
 ステップS328では、評価部340が、直近の上記ステップS322で選択した配置についての配置情報、及びその配置について計画された経路に応じたロボットの動作情報を出力し、ロボットセルシステム設計処理は終了する。
 以上説明したように、第3実施形態に係るロボットセルシステム設計装置は、時間をかけて最適解を得るための最適計画モードと、短時間で実行可能な解を得るための実行可能計画モードとを選択的に実行する。これにより、ロボットセルシステムの設計の段階や目的に応じて、適切な配置情報及びロボットの動作情報を得ることができる。
 一般に、実行可能な配置についての配置情報及び動作情報を探索する場合でも、人が試行錯誤で行う場合には、例えば数時間程度の時間を要する。本実施形態によれば、実行可能計画モードであれば、分単位の時間で配置情報及び動作情報を得ることができる。また、より最適な配置についての配置情報及び動作情報を人が探索する場合、調整作業及びロボットの動作のティーチングには高いスキル及び経験が必要とされており、熟練者でも数日から数週間の工数がかかってしまう場合がある。本実施形態によれば、最適計画モードであっても、数時間程度で、より最適な配置についての配置情報及び動作情報を得ることができる。したがって、例えば、部材一つ一つとロボットとの関係における配置を検証する場合や、セルシステムの設計途中の段階では、短時間の実行可能計画モードを選択し、全体の設計が完了した段階で、動作時間の短縮を図るために最適解モードを選択する。このように、モードを使い分けることで、ロボットセルシステムの設計を効率的に進めることができる。
 また、第3実施形態に係るロボットセルシステム設計装置は、最適計画モードの繰り返し処理毎に、現在の最良の配置情報及び動作情報を提示して、停止指示を受け付け可能とする。これにより、最適化の収束が悪い場合や、早期にユーザ所望の性能に達した場合などに、ユーザの指示により処理を停止し、不要な処理時間を削減することができる。
<第4実施形態>
 次に、第4実施形態について説明する。なお、第4実施形態に係るロボットセルシステム設計装置において、第1実施形態に係るロボットセルシステム設計装置10と同様の構成については、同一符号を付して詳細な説明を省略する。また、第1実施形態と第4実施形態とで、符号の末尾2桁が共通する機能構成において、共通する機能についての詳細な説明を省略する。さらに、第4実施形態に係るロボットセルシステム設計装置のハードウェア構成は、図3に示す、第1実施形態に係るロボットセルシステム設計装置10のハードウェア構成と同様であるため、説明を省略する。
 第4実施形態に係るロボットセルシステム設計装置410の機能構成について説明する。図26は、ロボットセルシステム設計装置410の機能構成の例を示すブロック図である。図26に示すように、ロボットセルシステム設計装置410は、機能構成として、取得部432と、把持計画部446と、配置計画部34と、姿勢計画部36と、経路計画部38と、評価部40とを含む。各機能構成は、CPU12が記憶装置16に記憶されたロボットセルシステム設計プログラムを読み出し、メモリ14に展開して実行することにより実現される。
 取得部432は、第1実施形態における取得部32と同様に、ロボットの仕様情報、部材情報、及び作業情報を取得する。ただし、取得部432は、第1実施形態における取得部32が取得する把持情報は取得しない。取得部432は、取得したロボットの仕様情報、部材情報、及び作業情報を、把持計画部446へも受け渡す。
 把持計画部446は、取得部432から受け渡されたロボットの仕様情報、部材情報、及び作業情報に基づいて、ワーク毎の把持情報を生成し、姿勢計画部36に受け渡す。具体的には、図27に示すように、把持計画部446は、ロボットの仕様情報から、ワークを把持するロボットハンドの形状を特定する。また、把持計画部446は、部材情報から、ロボットハンドにより把持されるワークの形状を特定する。また、把持計画部446は、作業情報から、ロボットハンドのどの部分で、ワークのどの部分を把持するかを示す把持の状態を特定する。図27の例では、丸印で示すロボットハンドの部分でワークの部分を把持することが作業情報に規定されていることを表している。
 把持計画部446は、上記のように特定したロボットハンドの形状と、ワークの形状と、把持の状態とに基づいて、図5に示すような複数の把持パターンを生成する。そして、把持計画部446は、把持パターンの各々について、ロボットハンドでワークを把持した際のTCPのワークに対する相対座標(x,y,z)及び相対姿勢(roll,pitch,yaw)で表される把持情報を生成する。
 次に、第4実施形態に係るロボットセルシステム設計装置410の作用について説明する。図28は、ロボットセルシステム設計装置410のCPU12により実行されるロボットセルシステム設計処理の流れを示すフローチャートである。CPU12が記憶装置16からロボットセルシステム設計プログラムを読み出して、メモリ14に展開して実行することにより、CPU12がロボットセルシステム設計装置410の各機能構成として機能し、図28に示すロボットセルシステム設計処理が実行される。なお、図28に示すロボットセルシステム設計処理において、第1実施形態におけるロボットセルシステム設計処理(図13)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
 ステップS410で、取得部432が、ロボットの仕様情報、部材情報、及び作業情報を取得する。そして、取得部432が、取得したロボットの仕様情報、部材情報、及び作業情報を、把持計画部446を含む各計画部へ受け渡す。
 次に、ステップS412で、把持計画部446が、ロボットの仕様情報、部材情報、及び作業情報に基づいて、ロボットハンドの形状、ワークの形状、及び把持の状態を特定し、特定した内容に基づいて、複数の把持パターンを生成する。そして、把持計画部446は、把持パターンの各々について、ロボットハンドでワークを把持した際のTCPのワークに対する相対座標(x,y,z)及び相対姿勢(roll,pitch,yaw)で表される把持情報を生成する。把持計画部446は、生成した把持情報を姿勢計画部36に受け渡す。
 以降、第1実施形態におけるロボットセルシステム設計処理(図13)と同様に、ステップS12~S28が実行され、ロボットセルシステム設計処理は終了する。
 以上説明したように、第4実施形態に係るロボットセルシステム設計装置は、ロボットの仕様情報、部材情報、及び作業情報に基づいて、把持情報を生成する。これにより、事前に把持情報を用意しておく必要がなく、ユーザの負担を軽減することができる。
 なお、上記各実施形態において、ロボットセルシステムに含まれるロボットの台数は、1台であってもよいし、複数台であってもよい。複数台のロボットを含む場合には、より複雑な作業に対応可能なロボットセルシステムを構築することができる。
 また、開示の技術は、ロボットのオフラインティーチングツール、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、310、410 ロボットセルシステム設計装置
12 CPU
14 メモリ
16 記憶装置
18 入力装置
20 出力装置
22 記憶媒体読取装置
24 通信I/F
26 バス
32、232、332、432 取得部
34、234 配置計画部
36、236 姿勢計画部
38、238 経路計画部
40、340 評価部
242 判定部
344 制御部
446 把持計画部

Claims (17)

  1.  ロボットセルシステムの構成要素であるロボットの仕様情報と、前記ロボットセルシステムの構成要素である前記ロボット以外の部材の形状情報を含む部材情報と、前記ロボットに行わせる作業に関する作業情報とを取得する取得部と、
     前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットセルシステムにおける前記ロボット及び前記部材の配置の候補を1つ以上算出する配置計画部と、
     前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットの動作毎の開始点の開始姿勢及び終了点の終了姿勢の組み合わせの集合を、前記配置の候補毎に算出する姿勢計画部と、
     前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記開始姿勢及び前記終了姿勢の組み合わせ毎の前記開始姿勢から前記終了姿勢までの経路の集合を、前記配置の候補毎に算出する経路計画部と、
     前記経路に基づいて、前記配置の候補から最適な配置を選択する評価部と、
     を含むロボットセルシステム設計装置。
  2.  前記評価部は、前記配置の候補毎に、前記経路に関する経路コストを算出し、前記経路コストが示す評価が最も高い前記配置の候補を、前記最適な配置として選択する請求項1に記載のロボットセルシステム設計装置。
  3.  前記配置計画部は、前記ロボット及び前記部材の配置のパターン毎に、配置に関する配置コストを算出し、前記配置コストが示す評価が高い順に1つ以上のパターン、又は前記配置コストが予め定めた条件を満たす1つ以上のパターンを、前記配置の候補として選択する請求項1又は請求項2に記載のロボットセルシステム設計装置。
  4.  前記配置コストは、部材間の距離、前記ロボット及び前記部材が配置された領域の面積又は体積、障害物と前記部材との距離、並びに、前記ロボットの可操作性の少なくとも1つに基づく値である請求項3に記載のロボットセルシステム設計装置。
  5.  前記姿勢計画部は、前記ロボットのハンド部が前記部材にアクセスする際の位置及び姿勢に応じた前記開始姿勢及び前記終了姿勢の組み合わせのうち、前記作業に要する前記ロボットの動作時間に関する姿勢コストが示す評価が最も高い前記組み合わせを前記動作毎に選択する請求項1~請求項4のいずれか1項に記載のロボットセルシステム設計装置。
  6.  前記姿勢計画部は、前記部材のうち、前記ロボットのハンド部に把持されるワークと前記ハンド部との相対関係を示す把持情報をさらに用いて、前記開始姿勢及び前記終了姿勢を算出する請求項5に記載のロボットセルシステム設計装置。
  7.  前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記把持情報を算出する把持計画部をさらに含む請求項6に記載のロボットセルシステム設計装置。
  8.  前記取得部は、さらに、ユーザにより指定された制約情報を取得し、
     前記制約情報として、配置に関連する制約情報が取得された場合、前記配置計画部は、前記ロボット及び前記部材の配置のパターンのうち、前記制約情報を満たすパターンから、前記配置の候補を選択し、
     前記制約情報として、姿勢に関連する制約情報が取得された場合、前記姿勢計画部は、前記制約情報を満たす前記開始姿勢及び前記終了姿勢の組み合わせの集合を算出し、
     前記制約情報として、経路に関連する制約情報が取得された場合、前記経路計画部は、前記制約情報を満たす経路の集合を算出する
     請求項1~請求項7のいずれか1項に記載のロボットセルシステム設計装置。
  9.  前記制約情報は、部材間の位置関係、部材の配置不可能領域、部材を配置する指定位置、部材に対するクリアランス、指定された姿勢、及び指定された経路の少なくとも1つを含む請求項8に記載のロボットセルシステム設計装置。
  10.  前記配置計画部、前記姿勢計画部、及び前記経路計画部の各々における計画の適切性を判定する判定部をさらに含む請求項8又は請求項9に記載のロボットセルシステム設計装置。
  11.  前記判定部は、前記計画の適切性を満たさないと判定した場合に、判定結果をユーザに提示する請求項10に記載のロボットセルシステム設計装置。
  12.  前記配置計画部、前記姿勢計画部、及び前記経路計画部の各々は、前記判定部により前記適切性を満たさないと判定された場合に、処理を停止する請求項10又は請求項11に記載のロボットセルシステム設計装置。
  13.  前記判定部は、
      前記配置計画部により計画される配置の候補において、部材が配置可能エリアに収まる場合、及び、配置の適切性を示す配置コストが閾値以上となる場合、
      前記姿勢計画部により計画される前記開始姿勢及び前記終了姿勢が他の部材又は障害物と非干渉の場合、及び、前記開始姿勢と前記終了姿勢との差分が閾値以下の場合、並びに、
      前記経路計画部により前記経路が算出可能な場合、及び、前記作業に要する前記ロボットの動作時間が所定値以下の場合に、
     前記適切性を満たすと判定する
     請求項10~請求項12のいずれか1項に記載のロボットセルシステム設計装置。
  14.  前記取得部は、解を得ることを目的とした実行可能計画モードと、所望の解を得ることを目的とした最適計画モードとを選択する選択情報、及び選択される前記実行可能計画モード又は前記最適計画モードに応じた終了条件をさらに取得し、
     前記終了条件を満たすまで、前記配置計画部により前回とは異なる前記配置の候補を算出させ、前記姿勢計画部及び前記経路計画部に処理を繰り返し実行させると共に、前記評価部に、繰り返しの処理毎に得られる前記最適な配置から、前記経路に基づいて、最終的な配置を選択するように制御する制御部をさらに含む、
     請求項1~請求項13のいずれか1項に記載のロボットセルシステム設計装置。
  15.  前記制御部は、前記最適計画モードが選択されている場合において、繰り返しの処理毎に、現段階で経路コストが示す評価が最も高い配置をユーザに提示すると共に、ユーザから繰り返し処理の停止の指示を受け付ける請求項14に記載のロボットセルシステム設計装置。
  16.  取得部が、ロボットセルシステムの構成要素であるロボットの仕様情報と、前記ロボットセルシステムの構成要素である前記ロボット以外の部材の形状情報を含む部材情報と、前記ロボットに行わせる作業に関する作業情報とを取得し、
     配置計画部が、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットセルシステムにおける前記ロボット及び前記部材の配置の候補を1つ以上算出し、
     姿勢計画部が、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットの動作毎の開始点の開始姿勢及び終了点の終了姿勢の組み合わせの集合を、前記配置の候補毎に算出し、
     経路計画部が、前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記開始姿勢及び前記終了姿勢の組み合わせ毎の前記開始姿勢から前記終了姿勢までの経路の集合を、前記配置の候補毎に算出し、
     評価部が、前記経路に基づいて、前記配置の候補から最適な配置を選択する
     ロボットセルシステム設計方法。
  17.  コンピュータを、
     ロボットセルシステムの構成要素であるロボットの仕様情報と、前記ロボットセルシステムの構成要素である前記ロボット以外の部材の形状情報を含む部材情報と、前記ロボットに行わせる作業に関する作業情報とを取得する取得部、
     前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットセルシステムにおける前記ロボット及び前記部材の配置の候補を1つ以上算出する配置計画部、
     前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記ロボットの動作毎の開始点の開始姿勢及び終了点の終了姿勢の組み合わせの集合を、前記配置の候補毎に算出する姿勢計画部、
     前記仕様情報、前記部材情報、及び前記作業情報に基づいて、前記開始姿勢及び前記終了姿勢の組み合わせ毎の前記開始姿勢から前記終了姿勢までの経路の集合を、前記配置の候補毎に算出する経路計画部、及び、
     前記経路に基づいて、前記配置の候補から最適な配置を選択する評価部
     として機能させるためのロボットセルシステム設計プログラム。
PCT/JP2022/001840 2021-03-03 2022-01-19 ロボットセルシステム設計装置、方法、及びプログラム WO2022185759A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP22762818.7A EP4302935A1 (en) 2021-03-03 2022-01-19 Robot cell system design device, method, and program
US18/279,356 US20240139946A1 (en) 2021-03-03 2022-01-19 Robot Cell System Design Device, Method, and Program
CN202280018056.2A CN116940449A (zh) 2021-03-03 2022-01-19 机器人单元系统设计装置、方法以及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021033844A JP7571622B2 (ja) 2021-03-03 ロボットセルシステム設計装置、方法、及びプログラム
JP2021-033844 2021-03-03

Publications (1)

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

Family

ID=83154958

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/001840 WO2022185759A1 (ja) 2021-03-03 2022-01-19 ロボットセルシステム設計装置、方法、及びプログラム

Country Status (4)

Country Link
US (1) US20240139946A1 (ja)
EP (1) EP4302935A1 (ja)
CN (1) CN116940449A (ja)
WO (1) WO2022185759A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348769A (ja) * 1993-06-14 1994-12-22 Omron Corp 機械構成/機械配置決定装置またはその方法
JP2001249961A (ja) * 1999-11-24 2001-09-14 Dassault Systemes アセンブリワークセルをレイアウトするための最適化ツール
US20100241248A1 (en) * 2008-02-20 2010-09-23 Abb Research Ltd. Method and system for optimizing the layout of a robot work cell
JP2010207997A (ja) * 2009-03-12 2010-09-24 Seiko Epson Corp 産業用ロボットの位置教示装置、産業用ロボットの動作教示装置およびプログラム
US20160282855A1 (en) * 2014-01-28 2016-09-29 Abb Technology Ltd. Method and apparatus for optimizing performance of robotic cell
JP2018020410A (ja) 2016-08-04 2018-02-08 キヤノン株式会社 レイアウト設定方法、およびレイアウト設定装置
WO2019176737A1 (ja) * 2018-03-13 2019-09-19 オムロン株式会社 演算装置、演算方法、及びそのプログラム
JP2021003779A (ja) * 2019-06-27 2021-01-14 株式会社日立製作所 組立計画装置、組立計画方法、及び組立計画プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348769A (ja) * 1993-06-14 1994-12-22 Omron Corp 機械構成/機械配置決定装置またはその方法
JP2001249961A (ja) * 1999-11-24 2001-09-14 Dassault Systemes アセンブリワークセルをレイアウトするための最適化ツール
US20100241248A1 (en) * 2008-02-20 2010-09-23 Abb Research Ltd. Method and system for optimizing the layout of a robot work cell
JP2010207997A (ja) * 2009-03-12 2010-09-24 Seiko Epson Corp 産業用ロボットの位置教示装置、産業用ロボットの動作教示装置およびプログラム
US20160282855A1 (en) * 2014-01-28 2016-09-29 Abb Technology Ltd. Method and apparatus for optimizing performance of robotic cell
JP2018020410A (ja) 2016-08-04 2018-02-08 キヤノン株式会社 レイアウト設定方法、およびレイアウト設定装置
WO2019176737A1 (ja) * 2018-03-13 2019-09-19 オムロン株式会社 演算装置、演算方法、及びそのプログラム
JP2021003779A (ja) * 2019-06-27 2021-01-14 株式会社日立製作所 組立計画装置、組立計画方法、及び組立計画プログラム

Also Published As

Publication number Publication date
JP2022134604A (ja) 2022-09-15
EP4302935A1 (en) 2024-01-10
CN116940449A (zh) 2023-10-24
US20240139946A1 (en) 2024-05-02

Similar Documents

Publication Publication Date Title
US11458626B2 (en) Trajectory generating method, and trajectory generating apparatus
JP7009051B2 (ja) レイアウト設定方法、制御プログラム、記録媒体、制御装置、部品の製造方法、ロボットシステム、ロボット制御装置、情報処理方法、情報処理装置
US8401698B2 (en) Method for optimising the performance of a robot
US6470301B1 (en) Optimization tool for assembly workcell layout
Kaya Machining fixture locating and clamping position optimization using genetic algorithms
Daneshmand et al. Industry 4.0 and prospects of circular economy: a survey of robotic assembly and disassembly
JP2004243461A (ja) ロボットの教示システム
Sanfilippo et al. A universal control architecture for maritime cranes and robots using genetic algorithms as a possible mapping approach
JP2021169149A (ja) 分解ベースのアセンブリ計画
Muñoz et al. Geometrically constrained path planning for robotic grasping with Differential Evolution and Fast Marching Square
Wojtynek et al. Assisted planning and setup of collaborative robot applications in modular production systems
WO2022185759A1 (ja) ロボットセルシステム設計装置、方法、及びプログラム
Li et al. A universal approach for configuration synthesis of reconfigurable robots based on fault tolerant indices
JP7571622B2 (ja) ロボットセルシステム設計装置、方法、及びプログラム
JP2020175471A (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
Chen et al. Planning to build soma blocks using a dual-arm robot
WO2022230544A1 (ja) ロボット設備設計装置、方法、及びプログラム
WO2022185760A1 (ja) ロボット姿勢決定装置、方法、及びプログラム
García-Sedano et al. Stamping line optimization using genetic algorithms and virtual 3d line simulation
Sharma et al. Layout design optimisation with point cloud object modelling for multi-robot industrial working cell
JP7474653B2 (ja) 組立作業順序計画装置、及び組立作業順序計画方法
Pashkevich Genetic Algorithms in Computer-Aided Design of Robotic Manufacturing Cells
Li et al. The Layout Optimization in Robotic Cells for Grinding Applications
Bulej et al. Development of a simulation platform for robots with serial and parallel kinematic structure
Rentia et al. Why symbolic computation in robotics?

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: 22762818

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18279356

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280018056.2

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2022762818

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: 2022762818

Country of ref document: EP

Effective date: 20231004