JPH1039909A - Work scheduling method for plural robots - Google Patents

Work scheduling method for plural robots

Info

Publication number
JPH1039909A
JPH1039909A JP21307596A JP21307596A JPH1039909A JP H1039909 A JPH1039909 A JP H1039909A JP 21307596 A JP21307596 A JP 21307596A JP 21307596 A JP21307596 A JP 21307596A JP H1039909 A JPH1039909 A JP H1039909A
Authority
JP
Japan
Prior art keywords
work
robot
solution
group
robots
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP21307596A
Other languages
Japanese (ja)
Other versions
JP2984218B2 (en
Inventor
Kanji Mihashi
寛治 三橋
Yuichi Miyamoto
裕一 宮本
Masato Hayashi
正人 林
Katsutoshi Hikuma
克敏 日隈
Nobuaki Nakatsuchi
宜明 中土
Hirobumi Tanaka
博文 田中
Koji Kato
幸二 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP8213075A priority Critical patent/JP2984218B2/en
Publication of JPH1039909A publication Critical patent/JPH1039909A/en
Application granted granted Critical
Publication of JP2984218B2 publication Critical patent/JP2984218B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce labor required for work scheduling by automating work scheduling for plural robots. SOLUTION: For spot welding by means of plural robots, welding spot information expressed by the respective shaft values of robots is inputted from robot emulator data 41 and according to previously set limitation conditions, the grouping of welding spots is performed (a2). It is previously discriminated whether or not interference is to generate between the groups and the result is outputted as group data 43. For solutions such as the distribution of groups to the respective robots, the operating order of groups for respective robots and the bonding in the welding order of respective welding spots in the groups, initial values are generated while using the approximate solution method of the traveling sales-man problem (a3). Concerning the solution, an optimizing method based on an SA parameter 45 is applied and while evaluating cycle time considering the interference, the solution is improved (a4).

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数台の産業用ロ
ボットを用いてワークに対して効率的に作業を行うため
の作業順序を、容易に決定することができる複数台ロボ
ットの作業計画方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a work planning method for a plurality of industrial robots, which can easily determine a work sequence for efficiently performing a work on a work using a plurality of industrial robots. About.

【0002】[0002]

【従来の技術】従来から、工場などにおける各種作業、
たとえばスポット溶接、組み立てなどのハンドリング、
塗装、切断等に、産業用ロボットが使用されている。自
動車工場等のスポット溶接ラインでは、生産能力向上の
ために1工程に複数台のロボットが配置され、ロボット
同士は重なった動作範囲内で同時に作業を行う場合が多
い。このような場合、動作中のロボットが同時期に作業
する位置が重なり、アームやツールが衝突をおこすロボ
ット間の干渉を考慮する必要がある。ロボット間で干渉
が生じると、予め定める優先順位に従って、優先順位の
低いロボットは干渉回避のための待機を行い、ロボット
の作業に要するサイクルタイムが長くなってしまう。複
数台のロボットのサイクルタイムに大きな差があると、
その工程に要する作業時間が、サイクルタイムの最長の
ロボットに合わせて決定されてしまい、サイクルタイム
の短いロボットに遊びが生じてしまう。ロボットの台
数、サイクルタイム、必要な作業数や作業スペースなど
の仕様を満たしながら、各ロボットの作業順序を決定す
ることは、複雑かつ多大な労力を有する。このため、作
業順序の決定は、熟練者特有の経験の頼って行うことが
多く、ラインの仕様や製品の変更に対して作業順序を改
定することも容易ではない。
2. Description of the Related Art Conventionally, various works in factories and the like,
For example, spot welding, handling such as assembly,
Industrial robots are used for painting and cutting. In a spot welding line at an automobile factory or the like, a plurality of robots are arranged in one process in order to improve production capacity, and the robots often work simultaneously within an overlapping operation range. In such a case, the positions at which the operating robots work at the same time overlap, and it is necessary to consider the interference between the robots that causes a collision between the arm and the tool. When interference occurs between the robots, the lower priority robots wait for interference avoidance according to a predetermined priority order, and the cycle time required for the robot operation becomes longer. If there is a large difference in the cycle time between multiple robots,
The work time required for the process is determined according to the robot having the longest cycle time, and the robot having the short cycle time has play. Determining the work order of each robot while satisfying specifications such as the number of robots, cycle time, required number of works, and work space is complicated and requires a great deal of labor. For this reason, the work order is often determined based on experience specific to a skilled person, and it is not easy to revise the work order in response to changes in line specifications or products.

【0003】特開平2−273807には、複数ロボッ
トの教示データ作成方法として、複数のロボットの各作
業領域を所定の小領域に分割し、各作業順序についてシ
ミュレーションを行い、各ロボットが相互に干渉しない
作業順序を選出する先行技術が開示されている。この先
行技術では、各小領域の作業位置データと各ロボットの
形状データおよび運動性能データとに基づいて、小領域
の作業順序を変えながら、各作業順序についてシミュレ
ーションを行う。シミュレーションから得られる各ロボ
ットの作業状況データのうち、各ロボットが相互に干渉
しない作業順序を選出することによって教示用データが
得られる。
Japanese Patent Application Laid-Open No. 2-273807 discloses a method of creating teaching data for a plurality of robots, in which each work area of a plurality of robots is divided into predetermined small areas, a simulation is performed for each work order, and the robots interfere with each other. Prior art for selecting a work order not to be performed is disclosed. In this prior art, a simulation is performed for each work order while changing the work order of the small regions based on work position data of each small region and shape data and motion performance data of each robot. Teaching data can be obtained by selecting a work order in which the robots do not interfere with each other from the work situation data of each robot obtained from the simulation.

【0004】[0004]

【発明が解決しようとする課題】複数ロボットの作業計
画を行う際に、各ロボットと各作業との組合わせについ
て全て計算し、サイクルタイムが短く干渉を生じない組
合わせを選択する方法も考えられる。たとえばロボット
台数をr、作業数をn、作業jから作業kへの移動時間
をCjk、作業jの作業時間をWjとすると、作業計画
の最適化問題は次の第1式のように定式化することがで
きる。
When performing a work plan for a plurality of robots, a method may be considered in which all combinations of each robot and each work are calculated, and a combination having a short cycle time and causing no interference is selected. . For example, if the number of robots is r, the number of works is n, the movement time from work j to work k is Cjk, and the work time of work j is Wj, the work plan optimization problem is formulated as the following equation 1. can do.

【0005】[0005]

【数1】 (Equation 1)

【0006】ここでXijkは、0か1の値をとる変数
であり、次の第2式および第3式の関係がある。
Here, Xijk is a variable that takes a value of 0 or 1, and has the relationship of the following equations (2) and (3).

【0007】[0007]

【数2】 (Equation 2)

【0008】このときの作業計画の全組合わせ数は、次
の第4式のようになる。
At this time, the total number of combinations in the work plan is expressed by the following formula (4).

【0009】[0009]

【数3】 (Equation 3)

【0010】スポット溶接ラインの増打工程として、標
準的なロボット3台、溶接打点90点、という場合を想
定し、組合わせ数を第4式によって求めると、約10
142 となり、計算不可能な程度な膨大な組合わせ数とな
る。さらにロボットの干渉も考慮しなければならないの
で、現実に解を得ることは不可能である。
Assuming that three standard robots and 90 welding points are used as an additional punching process of the spot welding line, the number of combinations is calculated by the following equation (4).
142 , which is a huge number of combinations that cannot be calculated. Furthermore, it is impossible to actually obtain a solution because the robot's interference must be considered.

【0011】特開平2−273807の先行技術では、
作業を小領域にグループ化し、解の探索範囲を縮小し、
探索の効率化を図ることができるけれども、グループ化
は、熟練した作業者がワークなどの形状データや経験に
基づいて行い、分割した小領域の全ての組合わせを調べ
て干渉しない作業順次を選出するので、小領域の数は5
程度が限界となる。また干渉しない作業順序を選出する
ことが目的であるので、干渉の発生頻度が高い作業計画
の場合には適していない。干渉の発生頻度を抑えるため
には、ロボットの作業領域の重複の程度を小さくしなけ
ればならず、ロボットを密に配置させて生産効率を向上
させることが困難となる。さらに、分割された全ての小
領域とロボットとの組合わせ毎にシミュレーションを行
うために、作業計画に必要な時間が長くなる。
In the prior art of Japanese Patent Application Laid-Open No. 2-273807,
Group your work into smaller areas, reduce the solution search range,
Although efficient search can be achieved, grouping is performed by skilled workers based on shape data such as work and experience, and all combinations of divided small areas are checked to select work orders that do not interfere Therefore, the number of small areas is 5
Degree is the limit. In addition, since the purpose is to select a work order that does not cause interference, it is not suitable for a work plan in which interference frequently occurs. In order to reduce the frequency of occurrence of interference, it is necessary to reduce the degree of overlap of the work areas of the robot, and it becomes difficult to improve the production efficiency by arranging the robots densely. Further, since the simulation is performed for each combination of all the divided small areas and the robot, the time required for the work planning becomes long.

【0012】本発明の目的は、作業のグループ化の作業
計画の立案を自動的かつ現実的時間内で行うことができ
る複数台ロボットの作業計画方法を提供することであ
る。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a work planning method for a plurality of robots, which can make a work plan for grouping works automatically and within a realistic time.

【0013】[0013]

【課題を解決するための手段】本発明は、作業領域の少
なくとも一部が重なるように配置される複数台ロボット
の作業計画方法において、複数台のロボットにおいて行
われるべき複数の作業を、予め定める制約条件に基づ
き、ロボットの台数以上の数のグループに分割するグル
ープ化段階と、グループとロボットとの可能な組合わせ
に対し、他の組合わせとの間でロボットの作業が干渉す
るか否かを予め定める基準に従って判断する調査を行う
干渉調査段階と、各ロボットに対するグループの配分
と、各ロボットにおける配分されるグループの作業の順
序と、各グループ内の作業を行う方向と、ロボット間で
の干渉を生じる場合に優先して作業を行う優先順位とを
示す解として、予め定める手法に従う初期可能解を決定
する初期可能解決定段階と、解について、各ロボットへ
のグループの配分、グループ間の作業順序、各グループ
内での方向およびロボットの優先順位を変更して解の内
容を変更する解変更段階と、初期可能解決定段階で決定
される解または解変更段階で変更される解について、干
渉調査段階の調査結果に従い、干渉が生じるときには回
避に要する作業を含めて、ロボットの作業について予め
定める基準に従う評価値を算出する評価値算出段階と、
初期可能解決定段階で決定される初期可能解について評
価値算出段階で評価値を算出し、予め定める最適化手法
に従って解変更段階での解の変更と評価値算出段階での
解の評価とを繰返し、評価値が最良となる解を探索する
最良解探索段階とを含むことを特徴とする複数台ロボッ
トの作業計画方法である。本発明に従えば、グループ段
階で複数台のロボットによって行われるべき複数の作業
を予め定める制約条件に基づいてロボットの台数以上の
数のグループに分割し、ロボットに対するグループの配
分と、各ロボットにおけるグループの作業順序と、グル
ープ内の作業の方向と、ロボット間で干渉を生じる場合
に優先して作業を行う優先順位とを示す解について、初
期可能解設定段階で設定される初期可能解に基づいて最
良解探索段階で最良解を探索し、作業に必要な時間の評
価値が最小となる作業計画を行うことができる。作業を
グループ化するので、解の探索範囲を縮小して、探索の
効率化を図ることができる。解を評価する評価値算出段
階では、グループ間の干渉を考慮して評価を行うので、
最良解探索段階では、干渉の有無のシミュレータによる
検証が不要であり、作業計画立案に要する作業時間の軽
減を図ることができる。
According to the present invention, in a work planning method for a plurality of robots arranged so that at least a part of a work area overlaps, a plurality of works to be performed by the plurality of robots are determined in advance. A grouping step of dividing the group into a number equal to or greater than the number of robots based on constraints, and whether a possible combination of the group and the robot interferes with the operation of the robot between other combinations. An interference investigation step of conducting an investigation to judge according to a predetermined criterion, the allocation of groups to each robot, the order of work of the group allocated to each robot, the direction in which the work in each group is performed, and the An initial feasible solution routine that determines an initial feasible solution according to a predetermined method as a solution indicating a priority of performing work preferentially when interference occurs And a solution change step of changing the contents of the solution by changing the distribution of groups to each robot, a work order between groups, a direction in each group, and a priority of the robot, and an initial possible solution determination step. For the solution determined in the above or the solution changed in the solution change stage, an evaluation value is calculated according to the criteria determined in advance for the robot's work, including work required for avoidance when interference occurs, according to the result of the interference research stage A value calculation step;
The evaluation value is calculated in the evaluation value calculation step for the initial feasible solution determined in the initial feasible solution determination step, and the solution change in the solution change step and the evaluation of the solution in the evaluation value calculation step are performed according to a predetermined optimization method. And a step of repeatedly searching for a solution having the best evaluation value. According to the present invention, a plurality of tasks to be performed by a plurality of robots in the group stage are divided into groups of a number equal to or larger than the number of robots based on predetermined constraint conditions. The solution indicating the work order of the group, the direction of the work in the group, and the priority of performing the work in a case where interference occurs between the robots, based on the initial feasible solution set in the initial feasible solution setting stage. In the best solution search stage, the best solution is searched, and a work plan that minimizes the evaluation value of the time required for the work can be performed. Since the work is grouped, the search range of the solution can be reduced, and the search can be made more efficient. In the evaluation value calculation stage for evaluating the solution, evaluation is performed in consideration of interference between groups,
In the best solution search stage, it is not necessary to verify the presence or absence of the interference by the simulator, and it is possible to reduce the work time required for the work planning.

【0014】また本発明の前記最良解探索段階では、評
価値決定段階ですでに得られている評価値よりも劣る評
価値しか得られない解についても、一定の確率で採用す
るような予め定める最適化手法を用いることを特徴とす
る。本発明に従えば、最良解探索段階では、たとえばシ
ミュレーティドアニーリング法などを予め定める最適化
手法として用い、評価値が必ずしもよくない解も一定の
確率で採用し、解の探索が局所解に落ちることを防止す
ることができる。
In the best solution search step of the present invention, a solution in which only an evaluation value inferior to the evaluation value already obtained in the evaluation value determination step is obtained is determined in advance so as to be adopted with a certain probability. It is characterized by using an optimization technique. According to the present invention, in the best solution search stage, for example, a simulated annealing method or the like is used as a predetermined optimization method, a solution having an evaluation value that is not always good is adopted with a certain probability, and the search for a solution becomes a local solution. Falling can be prevented.

【0015】また本発明の前記初期可能解決定段階で
は、巡回セールスマン問題の予め定める近似解法を用い
ることを特徴とする。本発明に従えば、初期可能解決定
段階で、たとえばニアレストネイバー法などの巡回セー
ルスマン問題の予め定める近似解法を用いて、最良解が
得られやすい初期可能解を得ることができる。
Further, in the initial feasible solution determination step of the present invention, a predetermined approximate solution of the traveling salesman problem is used. According to the present invention, an initial feasible solution in which the best solution is easily obtained can be obtained in the initial feasible solution determination stage by using a predetermined approximate solution of the traveling salesman problem such as the nearest neighbor method.

【0016】また本発明は、前記グループ化段階で分割
される各グループに対し、干渉回避のための作業位置の
追加が必要か否かを判断し、必要な場合にはグループの
両端に新たな作業位置を回避点として加え、回避が必要
であってもすでに存在するグループの両端の作業点での
回避が可能な場合には両端の作業位置を回避点として設
定することを特徴とする。本発明に従えば各グループに
は、干渉回避が必要な場合に、各グループの両端に回避
点が設定されるので、干渉が生じる際の評価を容易に行
うことができる。
In addition, according to the present invention, it is determined whether or not it is necessary to add a work position for avoiding interference to each group divided in the grouping step. The work position is added as an avoidance point, and if avoidance is possible at the work points at both ends of an existing group even if avoidance is required, the work positions at both ends are set as avoidance points. According to the present invention, when interference avoidance is required for each group, avoidance points are set at both ends of each group, so that evaluation when interference occurs can be easily performed.

【0017】また本発明は、前記初期可能解決定段階で
は、各ロボットに、初期値が0である作業時間を設定し
ておき、各ロボットの初期位置からグループの回避点へ
の移動時間をロボットの運動性能データから算出し、移
動時間が最短となるグループを各ロボットに配分して、
グループ内の作業時間と算出される移動時間とをロボッ
トの作業時間に加えるグループの選択と、作業時間の小
さいロボットについて順次グループの選択を行うロボッ
トの選択とを繰返して、全グループをロボットに配分す
ることを特徴とする。本発明に従えば、初期可能解決定
段階で、各ロボットに初期値が0である作業時間を設定
し、各ロボットに対するグループの選択と、時間時刻が
小さいロボットの選択とを繰返して行うことによって、
ロボット間での作業時間の偏りが小さな初期可能解を決
定することができる。
Further, in the present invention, in the initial possibility solution determination step, a work time having an initial value of 0 is set for each robot, and the movement time from the initial position of each robot to the avoidance point of the group is determined by the robot. Calculate from the athletic performance data of, and distribute the group with the shortest travel time to each robot,
Allocate all the groups to the robot by repeating the selection of the group that adds the working time in the group and the calculated travel time to the robot's working time, and the selection of the robot that sequentially selects the group for the robot with the shortest working time It is characterized by doing. According to the present invention, in the initial possible solution determination stage, a work time with an initial value of 0 is set for each robot, and selection of a group for each robot and selection of a robot with a small time and time are repeatedly performed. ,
It is possible to determine an initial feasible solution in which the deviation of the working time between the robots is small.

【0018】また本発明の前記グループ化段階では、各
ロボットの可動範囲および作業用ツールの種類に従って
作業のグループへの分割を行う作業分割段階と、ワーク
および使用する治工具についての空間情報を入力する情
報入力段階と、作業分割段階で分割される各グループ内
で、予め定める順序で作業位置間をツールが移動する間
に、ワークまたは治工具と干渉するか否かを、情報入力
段階で入力される空間情報に従って判断し、ワークまた
は治工具と干渉すると判断される場合は、通過の前後の
作業でグループを分割するグループ分割段階とを含むこ
とを特徴とする。本発明に従えば、グループ化段階で、
作業分割段階でロボットの可動範囲および作業用ツール
の種類に従って作業をグループへ分割し、情報入力段階
で入力される空間情報に従ってグループ内での作業位置
間のツールの移動がワークまたは治工具と干渉すると判
断されるときには、グループが分割されるので、グルー
プ内では作業位置間の移動の際に干渉が生じないグルー
プを容易に決定することができる。
Further, in the grouping step of the present invention, a work dividing step of dividing the work into groups according to the movable range of each robot and the type of work tool, and inputting space information about the work and the jig and tool to be used. In the information input step, enter whether or not the tool or tool interferes with the work or tool while the tool moves between the work positions in a predetermined order in each group divided in the work division step. The method is characterized in that it includes a group dividing step of dividing a group in work before and after passing when it is determined according to the spatial information to be performed and when it interferes with a work or a tool. According to the invention, in the grouping stage,
In the work division stage, the work is divided into groups according to the robot's movable range and the type of work tool, and the movement of the tool between work positions in the group interferes with the work or jig according to the spatial information input in the information input stage When it is determined that the group is divided, the group in which interference does not occur when moving between the work positions in the group can be easily determined.

【0019】また本発明は、前記作業分割段階によって
分割されるグループに対して、ロボット先端のツール方
向ベクトル間の角度の差異によるグループ化と、ツール
挿入方向ベクトル間の角度の差異によるグループ化と、
グループに含まれる作業について、巡回路生成の近似ア
ルゴリズムを用いる順序決定と、作業位置間の移動距離
によるグループ化とを処理として施すことを特徴とす
る。本発明に従えば、グループ化段階で分割されるグル
ープは、ロボット先端のツール方向ベクトル間の角度の
差異、ツール挿入方向ベクトル間の角度の差異、グルー
プに含まれる作業について、巡回度生成の近似アルゴリ
ズムを用いる順序、および作業位置間の移動距離が長く
なるか否かによってグループ化されるので、グループ内
での作業を効率的に行うことができ、グループに対して
解を得ることができれば、全体として効率的な作業計画
を行うことができる。
The present invention also provides a method of grouping based on the angle difference between the tool direction vectors at the robot tip and the grouping based on the angle difference between the tool insertion direction vectors for the groups divided by the work dividing step. ,
For work included in the group, an order determination using an approximation algorithm of traveling route generation and grouping based on a moving distance between work positions are performed as processing. According to the present invention, the groups divided in the grouping stage include the difference in the angle between the tool direction vectors at the robot tip, the difference in the angle between the tool insertion direction vectors, and the approximation of the tour degree generation for the work included in the group. Since the grouping is performed according to the order in which the algorithm is used and whether or not the moving distance between the work positions is long, the work in the group can be performed efficiently, and if a solution can be obtained for the group, An efficient work plan can be performed as a whole.

【0020】また本発明の前記情報入力段階では、B−
rep表現によるワークおよび治工具の空間情報を入力
することを特徴とする。本発明に従えば、ワークおよび
治工具の空間情報が、B−rep表現によってリストと
して入力されるので、凹凸を含む立体の空間情報を解か
りやすくかつ効率的に入力することができる。
In the information input step of the present invention, B-
It is characterized by inputting spatial information of a work and a tool by rep expression. According to the present invention, since the space information of the work and the jig is input as a list by the B-rep expression, it is possible to easily and efficiently input the three-dimensional space information including the unevenness.

【0021】また本発明で前記干渉するか否かの判断
は、対象物の各座標軸平面への写像に対して、ツールの
移動開始点から写像上の各点へのベクトルとツールの移
動ベクトルとの外積を計算し、外積の符号が異なるベク
トルが存在するときに干渉すると判断することを特徴と
する。本発明に従えば、ツールの移動の際に干渉するか
否かの判断を、対象物の各座標軸平面への写像に対し
て、ツールの移動の開始点から写像上の各点へのベクト
ルとツールの移動ベクトルとの外積を計算して行う。外
積の符号が同一である写像は、移動ベクトルの写像に対
して一方側にあり、外積の符号が異なるベクトルは移動
ベクトルに対して他方側にあるので、符号の異なるベク
トルが存在するときには、移動と対象物とが干渉を生じ
ると判断することができる。
Further, in the present invention, the determination as to whether or not the interference is made is based on the vector from the tool movement start point to each point on the map and the tool movement vector with respect to the mapping of the object onto each coordinate axis plane. Is calculated, and when there is a vector having a different sign of the outer product, it is determined that interference occurs. According to the present invention, the determination as to whether or not interference occurs during the movement of the tool is determined by using a vector from the starting point of the movement of the tool to each point on the mapping with respect to the mapping of the object to each coordinate axis plane. This is done by calculating the cross product of the tool and the movement vector. The mapping with the same sign of the outer product is on one side with respect to the mapping of the moving vector, and the vector with the different sign of the outer product is on the other side with respect to the moving vector. And the object can be determined to cause interference.

【0022】[0022]

【発明の実施の形態】図1は、本発明の実施の一形態に
よる複数台ロボットの作業計画方法の対象となるロボッ
トおよびワークの配置を示す。ロボット1,2,3(以
下、「R1」,「R2」,「R3」と略記することもあ
る)は、ツールとしてスポット溶接ガン4,5,6をそ
れぞれ有し、制御装置10によって総括的に制御され
る。各ロボット1,2,3は、ワークである自動車車体
11,12について、図2に示すような複数の打点20
でスポット溶接を行う。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows an arrangement of a robot and a work to be subjected to an operation planning method for a plurality of robots according to an embodiment of the present invention. The robots 1, 2, and 3 (hereinafter sometimes abbreviated as "R1,""R2," and "R3") have spot welding guns 4, 5, and 6 as tools, respectively. Is controlled. Each of the robots 1, 2, 3 has a plurality of hit points 20 as shown in FIG.
To perform spot welding.

【0023】ロボット1,2,3は、たとえば多軸形の
産業用ロボットであり、ツールであるスポット溶接ガン
4,5,6の先端の位置は、各軸の角度に基づいて算出
される。打点20の位置は、予め教示作業によって、ロ
ボットの各軸値として表され、ロボット作業姿勢はロボ
ットシミュレータあるいは手入力のファイルとして得ら
れる。ロボットの作業範囲、スポット溶接ガン4,5,
6の種類などのデータも、ファイルとして得られる。制
御装置10へは、外部の計算機で行われる作業計画の結
果が転送される。作業計画では、打点20に関するファ
イルと、ロボットに関するファイルとに基づき、連続作
業が適していると思われる作業位置を1つのグループと
してまとめる。打点20をグループ化することによっ
て、作業計画における解探索範囲の減少を図ることがで
きる。打点20のグループ化は、作業者が手入力でファ
イルを編集することによっても可能であるけれども、本
実施形態では、以下に示すような手法で自動的にグルー
プ化を行う。
The robots 1, 2, and 3 are, for example, multi-axis industrial robots, and the positions of the tips of the spot welding guns 4, 5, and 6, which are tools, are calculated based on the angles of the respective axes. The position of the hit point 20 is represented in advance as a value of each axis of the robot by a teaching operation, and the robot working posture is obtained as a robot simulator or a manually input file. Robot working range, spot welding guns 4, 5,
Data such as six types are also obtained as files. The result of the work plan performed by the external computer is transferred to the control device 10. In the work plan, work positions considered to be suitable for continuous work are grouped as one group based on a file on the hit points 20 and a file on the robot. By grouping the hit points 20, the solution search range in the work plan can be reduced. The grouping of the dots 20 can be performed by manually editing the file by the operator, but in the present embodiment, the groups are automatically grouped by the following method.

【0024】図1および図2に示すようなスポット溶接
ロボット1,2,3が3台、14グループで90個所の
打点20を対象とする場合についてを例として説明す
る。ロボットシミュレータからは、作業位置データファ
イルが各ロボットについて用意される。ファイル内容
は、各作業位置についてのx,y,z座標、各作業位置
x,y,zに対応する各ロボットの各軸値を含む。各ロ
ボット1,2についての運動性能データ、溶接ガン種、
ロボットの初期優先順位が予め設定され、作業ロボット
データファイルとして用意される。
An example in which three spot welding robots 1, 2 and 3 as shown in FIGS. 1 and 2 target 90 hit points 20 in 14 groups will be described. A work position data file is prepared for each robot from the robot simulator. The file contents include x, y, z coordinates for each work position, and each axis value of each robot corresponding to each work position x, y, z. Motion performance data for each robot 1 and 2, welding gun type,
The initial priority of the robot is set in advance and prepared as a work robot data file.

【0025】次の表1は、各ロボットの可動範囲や作業
可能ガンによる制約条件の例を示す。
The following Table 1 shows an example of the constraints of the movable range of each robot and the workable gun.

【0026】[0026]

【表1】 [Table 1]

【0027】ここで各ロボット1,2,3はR1,R
2,R3としてそれぞれ示し、1〜14は打点20のグ
ループを示し、各ロボットが各グループに対して制約条
件に違反している組合わせてに対して論理値「1」を与
え、制約条件を満たす組合わせに対しては、論理値
「0」を与える。表1の制約条件に従って打点20をグ
ループ21,22などに分割してグループ化した状態を
図3に示す。さらにロボット先端のツールであるスポッ
ト溶接ガン4,5,6のツール方向および挿入ベクトル
の差異によってグルーピングを行うと、そのグルーピン
グの結果は図4に示すようになる。図3に示すグループ
21がグループ31,32に分割される。図4に示すグ
ループに対し、巡回路生成の近似アルゴリズムを適用
し、グループ内でのスポット溶接の順序を決定する。決
定したグループ内の順序に従って、打点20間の移動を
行う際の移動距離が一定値以上となる移動があれば、そ
の前後でグループを分割する。このようにして、図3お
よび図4のグループ22は、グループ33,グループ3
4に分割される。次に車体および治工具のB−rep表
現を入力する。多点間の移動によって、車体と干渉する
場合、あるいは治工具と干渉する場合にはグループを分
割する。全ての打点間の移動について干渉をチェックし
た後の結果を、図6に示し、各グループG1〜G14の
両端に回避点を設定し、回避点におけるツールの作業姿
勢、グループ内作業時間を決定し、グループファイルに
出力する。
Here, each of the robots 1, 2, 3 is R1, R
2, R3, respectively, and 1 to 14 indicate groups of hit points 20, and each robot gives a logical value "1" to a combination violating the constraint condition for each group. A logical value “0” is given to the combination that satisfies the condition. FIG. 3 shows a state in which the hit points 20 are divided into groups 21, 22 and the like in accordance with the constraint conditions in Table 1 and grouped. Further, when grouping is performed based on the difference between the tool direction and the insertion vector of the spot welding guns 4, 5, and 6, which are the tools at the tip of the robot, the grouping result is as shown in FIG. The group 21 shown in FIG. 3 is divided into groups 31 and 32. The order of spot welding within the group is determined by applying an approximate algorithm for generating a traveling route to the group shown in FIG. According to the determined order within the group, if there is a movement in which the movement distance when performing the movement between the hit points 20 becomes a certain value or more, the group is divided before and after the movement. In this manner, the group 22 in FIGS.
It is divided into four. Next, a B-rep expression of the vehicle body and the jig is input. The group is divided when it interferes with the vehicle body or with the jig / tool due to movement between multiple points. FIG. 6 shows the result after checking the interference with respect to the movement between all the hit points. The avoidance points are set at both ends of each of the groups G1 to G14, and the working posture of the tool at the avoidance points and the working time in the group are determined. And output to a group file.

【0028】次に、各ロボット1,2,3が各グループ
G1〜G14を作業するための制約条件を満たす候補に
対して、グループ間干渉判定を行う。判定結果は次の表
2に示す。
Next, an inter-group interference determination is performed on candidates satisfying the constraints for the robots 1, 2, and 3 to work on the groups G1 to G14. The results of the determination are shown in Table 2 below.

【0029】[0029]

【表2】 [Table 2]

【0030】図7は、本実施形態による複数台ロボット
の作業計画方法の全体の動作の流れを示す。ステップa
1から動作を開始し、ステップa2では前述のグルーピ
ングの処理を行う。この処理の際には、各打点20につ
いての打点情報が各軸値として表されるロボットシミュ
レータデータ41、各ロボットの運転性能データ、優先
順位、各軸値として表される初期値を含むロボットデー
タ42が用いられる。グルーピングの結果は、作業時間
および開始点の各軸値を含むグループデータ43として
出力される。次にステップa3で初期値生成を行う。初
期値生成には、ロボットデータ42とグループデータ4
3とが用いられる。初期値生成結果は、ロボットに対す
るグループの配分、グループ内での作業の順序およびグ
ループ内の作業方向である結合を表す初期値結果44と
して出力される。次にステップa4では、解改善とし
て、ロボットデータ42、グループデータ43、シミュ
レーテッドアニーリング(以下「SA」と略称する)等
を実施するためのパラメータであるSAパラメータ45
と、グループデータ43とに基づき干渉を考慮したサイ
クルタイムを算出し、最良の解を探索する。ロボットに
対するグループの配分、グループの作業順序、ロボット
の優先順位およびグループ内での作業の順序である結合
などについての解改善結果46がファイルとして出力さ
れ、ステップa5で動作を終了する。
FIG. 7 shows an overall operation flow of the work planning method for a plurality of robots according to the present embodiment. Step a
The operation is started from 1 and in step a2, the above-described grouping process is performed. In this process, the robot simulator data 41 in which the dot information for each dot 20 is represented as each axis value, the robot performance data including the driving performance data of each robot, the priority, and the initial value represented as each axis value 42 are used. The result of the grouping is output as group data 43 including each axis value of the work time and the start point. Next, in step a3, an initial value is generated. To generate the initial value, the robot data 42 and the group data 4
3 is used. The initial value generation result is output as an initial value result 44 indicating the distribution of the groups to the robots, the order of the tasks in the group, and the connection that is the work direction in the group. Next, at step a4, as a solution improvement, an SA parameter 45 which is a parameter for executing robot data 42, group data 43, simulated annealing (hereinafter abbreviated as "SA") and the like.
And the group data 43 to calculate the cycle time in consideration of the interference, and search for the best solution. The solution improvement result 46 regarding the distribution of the groups to the robots, the work order of the groups, the priorities of the robots, and the combination of the work order in the group, etc., is output as a file, and the operation ends in step a5.

【0031】ステップa3の初期値生成処理では、前述
のように、グルーピングの結果であるグループデータ4
3と、ロボットデータ42とが読込まれる。各ロボット
1,2,3には予め一意に番号が付けられている。ここ
で各ロボット1,2,3について作業時間を決定し、初
期値を0とする。作業時間の最も小さいロボット1,
2,3が選択され、複数のロボット1,2,3について
作業時間が同一の場合は、番号が若いロボット1,2,
3が選択される。選択されたロボット1,2,3につい
て、現在値から割当てられていない全てのグループG1
〜G14の開始点への移動時間を計算し、その中から最
も短い移動時間のグループを次の作業グループとして配
分する。
In the initial value generation processing in step a3, as described above, the group data 4
3 and the robot data 42 are read. Each of the robots 1, 2, and 3 is uniquely assigned a number in advance. Here, the work time is determined for each of the robots 1, 2, and 3, and the initial value is set to 0. Robot 1, which has the shortest working time
When the working time is the same for a plurality of robots 1, 2, and 3, robots 1, 2, and 3 with lower numbers are selected.
3 is selected. For the selected robots 1, 2, 3, all groups G1 not assigned from the current values
The travel time to the start point of G14 is calculated, and the group with the shortest travel time among them is allocated as the next work group.

【0032】たとえばロボット1が選択されてグループ
G3の作業を次に行うと決定する場合は、R1:G3と
標記する。ロボット1にはG3のグループの開始点への
移動時間と、グループ内の作業時間との和が作業時間に
加えられる。同様に、現在の作業時間の最も小さいロボ
ット1,2,3が選択され、開始点への移動時間が最も
短くなるグループG1〜G14が次の作業のグループと
して選ばれる。このような選択の繰返しによって、全て
のグループG1〜G14がロボット1,2,3に割当て
られると、次の表3に示すような最終結果が、初期可能
解として得られる。初期優先順位はR1が最も高く、次
にR2であり、R3が最も低い。()内はグループ内の
作業の向きを示し、「順」または「逆」として予め設定
される。表3に示すような初期可能解は、各ロボットの
作業配分を示す初期配分ファイル、各ロボットの作業順
序を示す初期順序ファイルおよび各グループ内の作業の
向きを示す初期結合ファイルとして出力される。
For example, when the robot 1 is selected and it is determined that the work of the group G3 is to be performed next, it is denoted as R1: G3. For the robot 1, the sum of the movement time of the group G3 to the start point of the group and the work time in the group is added to the work time. Similarly, the robots 1, 2, and 3 having the shortest current working time are selected, and the groups G1 to G14 in which the moving time to the starting point is the shortest are selected as the next working group. When all the groups G1 to G14 are assigned to the robots 1, 2, and 3 by repeating such selection, a final result as shown in Table 3 below is obtained as an initial feasible solution. R1 has the highest initial priority, followed by R2, and R3 has the lowest. () Indicates the direction of the work in the group, and is set in advance as “order” or “reverse”. The initial possible solutions as shown in Table 3 are output as an initial distribution file indicating the work allocation of each robot, an initial order file indicating the work order of each robot, and an initial combination file indicating the direction of the work in each group.

【0033】[0033]

【表3】 [Table 3]

【0034】図7のステップa4の解改善処理では、干
渉を考慮したサイクルタイムを評価値として解を改善す
る。解改善にはSA法を用い、SAパラメータ45とし
て、初期温度、温度減少率、ループ/ステージ、全ルー
プ回数を設定したファイルが用意される。SA法では、
局所解に落ちることを防ぐために、既に評価されている
サイクルタイムよりもサイクルタイムが長くなる解を採
用する度合いを「温度」として表す。グループ間の干渉
の有無を表すファイルは、前述の表2のように用意され
ている。まず初期値結果44が読込まれ、初期値の評価
値が計算される。計算方法は、予め表3に示すように、
ロボット1,2,3に初期優先順位を付けておき、最も
高い優先順位のロボットは他のロボットから影響を与え
られることなく作業を行う。次に優先順位の高いロボッ
トは、最も優先順位の高いロボットが作業に対して干渉
を起こすか否かを干渉テーブルに従って調査され、干渉
が生じる場合にはその作業を後へ延期する。このような
処理を干渉が生じなくなるまで繰返し、全てのロボット
に対して実行する。優先順位の最も低いロボットは全て
のロボットに対して干渉の有無を調べることになる。こ
れによって各ロボットのサイクルタイムを得ることがで
き、各ロボットのうちで最も長いサイクルタイムがその
解の評価値となる。
In the solution improvement process in step a4 of FIG. 7, the solution is improved using the cycle time in consideration of the interference as an evaluation value. A file in which the initial temperature, the temperature reduction rate, the loop / stage, and the total number of loops are set as the SA parameter 45 is prepared using the SA method for solution improvement. In the SA method,
The degree to which a solution having a cycle time longer than the already evaluated cycle time is adopted to prevent the solution from falling into a local solution is expressed as “temperature”. A file indicating the presence or absence of interference between groups is prepared as shown in Table 2 above. First, the initial value result 44 is read, and the evaluation value of the initial value is calculated. The calculation method is as shown in Table 3 in advance.
The robots 1, 2, and 3 are assigned an initial priority, and the robot with the highest priority performs work without being affected by other robots. The next highest priority robot is checked according to the interference table to determine whether the highest priority robot causes interference with the work, and if interference occurs, the work is postponed. Such processing is repeated until no interference occurs, and the processing is executed for all robots. The robot with the lowest priority checks all robots for interference. Thus, the cycle time of each robot can be obtained, and the longest cycle time among the robots is the evaluation value of the solution.

【0035】初期値は、現在の解として必ず採用される
ので、初期値に対する評価値を記憶する。次に変更処理
として、乱数値を発生し、配分変更、順序変更、結合変
更または優先順位変更のいずれかを選択する。配分変更
では、あるロボットに配分されているグループの処理を
別のロボットに変更する。他のロボットへ処理可能なグ
ループのうちから、ランダムにグループを選んで、選ば
れたグループが属するロボットの配分および順序からそ
のグループを消去する。そのグループを処理可能なロボ
ットを、乱数値に従って決定し、決定されたロボットの
配分および順序に選ばれたグループを追加する。選ばれ
たグループは決定されたロボットに配分されているグル
ープの順序の最後に追加する。次の表4は、初期状態で
ロボットR1に属しているグループG2を、ロボットR
2に配分変更した状態を示す。
Since the initial value is always adopted as the current solution, an evaluation value for the initial value is stored. Next, as a change process, a random number value is generated, and any one of distribution change, order change, combination change, or priority change is selected. In the distribution change, the processing of the group distributed to a certain robot is changed to another robot. A group is randomly selected from groups that can be processed by other robots, and the group is deleted from the distribution and order of the robots to which the selected group belongs. The robot that can process the group is determined according to the random number value, and the selected group is added to the determined robot allocation and order. The selected group is added to the end of the order of the group allocated to the determined robot. The following Table 4 shows the group G2 belonging to the robot R1 in the initial state,
2 shows a state in which the distribution has been changed.

【0036】[0036]

【表4】 [Table 4]

【0037】順序変更では、あるロボットに配分されて
いるグループ間の作業順序を変更する。変更するロボッ
トは乱数値によって選ぶ。順序変更は、隣合うグループ
の順序を逆順位に変更する方法と、無作為にグループを
交換するなどの方法がある。この順序変更では、グルー
プ間の順序のみを変更しているので、変更された作業順
序を記憶する。たとえば初期状態からロボットR1のグ
ループG3,G7を順序変更すると、表5に示すように
なる。
In order change, the work order between groups allocated to a certain robot is changed. The robot to be changed is selected based on a random value. The order can be changed by a method of changing the order of adjacent groups to the reverse order or a method of randomly exchanging groups. In this order change, only the order between groups is changed, so that the changed work order is stored. For example, when the order of the groups G3 and G7 of the robot R1 is changed from the initial state, the result is as shown in Table 5.

【0038】[0038]

【表5】 [Table 5]

【0039】結合変更では、グループ内の作業方向を変
更する。乱数値に従って変更するグループを1あるいは
2に決定する。決定したグループ内の作業方向を、現在
の逆向きに変更し、その状態を記憶する。たとえば初期
状態からロボットR3のグループG10,G14を結合
変更すれば、次の表6に示すようになる。
In the connection change, the work direction in the group is changed. The group to be changed according to the random number is determined to be 1 or 2. The work direction in the determined group is changed to the current reverse direction, and the state is stored. For example, if the connection of the groups G10 and G14 of the robot R3 is changed from the initial state, the result is as shown in Table 6 below.

【0040】[0040]

【表6】 [Table 6]

【0041】優先順位変更では、ロボットの優先順位を
変更する。乱数によって順列を作成し、作成された順列
に従う順序を新しい優先順位とする。決定した優先順位
が記憶される。たとえばR3,R1,R2の順序に優先
順位を変更すると、次の表7に示すようになる。
In the priority change, the priority of the robot is changed. A permutation is created by random numbers, and the order according to the created permutation is set as a new priority. The determined priority is stored. For example, when the priority is changed to the order of R3, R1, and R2, the following table 7 is obtained.

【0042】[0042]

【表7】 [Table 7]

【0043】解改善では、いずれかの変更処理を行って
得られる解を用いて評価値の計算を行う。現在の解より
も変更した解の方がサイクルタイムによって表される評
価値が小さければ、変更した解を現在の解とする。この
とき今までの評価値の中で最も小さな評価値である場合
は、最良解として記憶する。評価値が大きくても、後述
するSA法に従って変更した解を現在の解とするか否か
を決定する。このような変更処理をSAパラメータ45
に含まれるループ回数だけ繰返す。またループ数/ステ
ージ毎に温度に減少率のパラメータを乗算し、温度を変
更する。全ループ回数繰返した後の最良解が、たとえば
表8に示すような最終結果として得られる。
In the solution improvement, an evaluation value is calculated using a solution obtained by performing any of the change processes. If the changed solution has a smaller evaluation value represented by the cycle time than the current solution, the changed solution is regarded as the current solution. At this time, if the evaluation value is the smallest among the evaluation values so far, it is stored as the best solution. Even if the evaluation value is large, it is determined whether or not the solution changed according to the SA method described later is set as the current solution. Such change processing is performed by using the SA parameter 45.
Is repeated for the number of loops included in. In addition, the temperature is changed by multiplying the temperature by the parameter of the decrease rate for each loop number / stage. The best solution after the whole number of loop iterations is obtained as a final result as shown in Table 8, for example.

【0044】[0044]

【表8】 [Table 8]

【0045】図8は、図7のステップa2におけるグル
ーピングの段階で、治具や車体との干渉チェックによる
グループの分割の動作を示す。ステップb1から動作を
開始し、ステップb2では各ロボットの打点可能である
可動範囲と溶接ガン種等によってグループ化を行う。次
にステップb3で車体および治具のB−rep表現を入
力する。次にステップb4で、各グループ内の打点間を
溶接ガンが移動する際に、治具を通過する打点グループ
があるか否かを判断する。治具を通過する打点グループ
がある場合は、ステップb5で、治具を通過する打点間
でグループを分割する。ステップb4で打点間移動の際
に治具を追加する打点グループがないと判断されるとき
は、ステップb6で打点間移動で車体を追加する打点グ
ループがないか否かを判断する。車体を通過する打点グ
ループがある場合は、ステップb7で車体を通過する打
点間で打点グループを分割する。ステップb6で打点間
移動が車体を通過する打点グループがないと判断される
ときは、ステップb8で動作を終了する。
FIG. 8 shows an operation of dividing a group by checking for interference with a jig or a vehicle body at the grouping stage in step a2 of FIG. The operation is started from step b1, and in step b2, grouping is performed according to the movable range where each robot can hit and the type of welding gun. Next, in step b3, a B-rep expression of the vehicle body and the jig is input. Next, in step b4, it is determined whether or not there is a dot group that passes through the jig when the welding gun moves between the dots in each group. If there is a dot group that passes through the jig, in step b5, the group is divided between the dots that pass through the jig. If it is determined in step b4 that there is no hit point group to which a jig is added when moving between hit points, it is determined in step b6 whether there is no hit point group to add a vehicle body by moving between hit points. If there is a hit point group that passes through the vehicle body, the hit point group is divided between the hit points that pass through the vehicle body in step b7. If it is determined in step b6 that there is no hit point group in which the movement between hit points passes through the vehicle body, the operation ends in step b8.

【0046】図9は、2台のロボット1,2についてグ
ループ間での干渉の有無を判定する動作を示す。ステッ
プc1から動作を開始し、ステップc2ではロボットと
打点グループ間の割当てで、まで干渉判定を試みていな
い割当てがあるか否かを判断する。判定を試みていない
割当てがあると判断されるときは、ステップc3で、ま
だ干渉判定を試みていないロボット・打点グループ間割
当ての1つを選択する。次にステップc4でロボット2
に対して割当てられた打点グループに、干渉判定を試み
ていない打点の組があるか否かを判断する。打点の組が
ある場合は、ステップc5で、ロボット2に割当てられ
た打点グループから、まだ干渉判定を試みていない打点
の組s,tを選択する。次にステップc6で、打点s,
t間に線分s,tを引く。ステップc7で打点s,tと
ロボット2の据付け位置間に線分rs,rtを引く。ス
テップc8では、線分st,rs,rtによって生じる
三角形の面をaとする。
FIG. 9 shows an operation of judging the presence or absence of interference between the groups of the two robots 1 and 2. The operation is started from step c1, and in step c2, it is determined whether or not there is an assignment for which interference determination has not been attempted in the assignment between the robot and the hit point group. If it is determined that there is an assignment for which no determination has been attempted, in step c3, one of the assignments between the robot and the hit point group for which no interference determination has been attempted is selected. Next, in step c4, the robot 2
It is determined whether or not there is a set of hit points for which interference determination has not been attempted in the hit point group assigned to. If there is a set of hit points, in step c5, a set of hit points s and t for which no interference determination has been attempted is selected from the hit point groups assigned to the robot 2. Next, in step c6, the hit points s,
Line segments s and t are drawn between t. In step c7, line segments rs and rt are drawn between the hit points s and t and the installation position of the robot 2. In step c8, the surface of the triangle generated by the line segments st, rs, and rt is defined as a.

【0047】ステップc9では、ロボット1に割当てら
れる打点グループに、面aに対してまだ干渉判定を行っ
ていない打点があるか否かを判断する。打点がある場合
は、ステップc10で、ロボット1に割当てられた打点
グループから、まだ面aに対して干渉判定を試みていな
い打点uを選択する。次にステップc11で、打点uと
ロボット1の据付け位置間に線分ruを引く。次のステ
ップc14では、線分ruと面aとの間での干渉判定を
行う。ステップc13では線分ruと面aとが干渉する
か否かを決定する。干渉する場合は、ステップc14で
現在のロボット1・2に対する打点グループ割当ては、
ロボット間の干渉を伴うものであると判断し、ステップ
c2に戻る。ステップc2で、ロボット・打点グループ
間の割当てでまだ干渉判定を試みていない割当てがない
と判断されるときには、ステップc15で動作を終了す
る。ステップc4で、ロボット2に割当てられた打点グ
ループに、干渉判定を試みていない打点の組がないと判
断されるときには、ステップc2に戻る。ステップc9
で、ロボット1に割当てられた打点グループに、面aに
対してまだ干渉判定を行っていない打点がないと判断さ
れるときは、ステップc4に戻る。ステップc13で、
線分ruと面aとが干渉しない判断されるときには、ス
テップc9に戻る。
In step c9, it is determined whether or not there is a hit point in the hit point group assigned to the robot 1 that has not yet been subjected to the interference determination with respect to the surface a. If there is a hit point, at step c10, a hit point u which has not yet attempted to determine the interference with the surface a is selected from the hit point group assigned to the robot 1. Next, in step c11, a line segment ru is drawn between the hit point u and the installation position of the robot 1. In the next step c14, an interference determination between the line segment ru and the surface a is performed. In step c13, it is determined whether or not the line segment ru and the surface a interfere. In the case of interference, the current hit point group assignment for the robots 1 and 2 in step c14 is as follows:
It is determined that this involves interference between the robots, and the process returns to step c2. If it is determined in step c2 that there is no assignment for which the interference determination has not been attempted yet in the assignment between the robot and the hit point group, the operation is terminated in step c15. If it is determined in step c4 that there is no set of hit points for which no collision determination has been made in the hit point group assigned to the robot 2, the process returns to step c2. Step c9
If it is determined that there is no hit point in the hit point group assigned to the robot 1 for which interference determination has not been performed on the surface a, the process returns to step c4. In step c13,
When it is determined that the line segment ru does not interfere with the surface a, the process returns to step c9.

【0048】図10は、図9の動作に対応するロボット
と打点グループとの関係を示す。斜線を施して示す面a
は、ロボット2の据え付け位置rと打点グループ2内の
打点sおよびtとの間で形成される三角形の面である。
これに対して打点グループ1の打点uとロボット1の据
え付け位置との間の線分ruが干渉を生じるか否かが判
定される。
FIG. 10 shows the relationship between the robot corresponding to the operation of FIG. 9 and the hit point group. Surface a shown with diagonal lines
Is a triangular surface formed between the installation position r of the robot 2 and the hit points s and t in the hit point group 2.
In contrast, it is determined whether or not a line segment ru between the hit point u of the hit point group 1 and the installation position of the robot 1 causes interference.

【0049】図11は、図7のステップa3に示す初期
値生成処理の動作をさらに詳細に示す。ステップd1か
ら初期値生成を開始し、ステップd2では各ロボットの
現在位置をロボット初期位置とする。ステップd3では
各ロボットの現作業時間を0に設定する。ステップd4
では、全グループについて各ロボットへの配分が終了し
たか否かを判断する。配分が終了していないと判断され
るときはステップd5で、各ロボットの中で全作業時間
の早いロボットを選択する。ステップd6では、選択さ
れたロボットについて制約条件を満たすグループが存在
するか否かを判断する。存在していないと判断されると
きにはステップd7で次のロボットを選択し、ステップ
d6に戻る。ステップd6で制約条件を満たすグループ
が存在すると判断されるときには、ステップd8で選択
されたロボットについて現位置から最も移動時間の短い
グループを選択する。ステップd9では、選択されたグ
ループの打点のうち、ロボットと反対側に存在する打点
をロボットの現位置に変更する。ステップd10では、
ロボットの現作業時間に、グループ内の打点に対する作
業時間と移動時間とを加える。ステップd10が終了す
るとステップd4に戻る。ステップd4で全グループに
ついての配分が終了すると判断されるときには、ステッ
プd11で初期値結果44をファイルとして出力し、ス
テップd12で初期値生成の動作を終了する。
FIG. 11 shows the operation of the initial value generation processing shown in step a3 of FIG. 7 in more detail. Initial value generation is started from step d1, and in step d2, the current position of each robot is set as the robot initial position. In step d3, the current working time of each robot is set to zero. Step d4
Then, it is determined whether or not the distribution to each robot has been completed for all the groups. When it is determined that the distribution has not been completed, in step d5, a robot having a shorter total working time is selected from the robots. In step d6, it is determined whether or not there is a group satisfying the constraint condition for the selected robot. When it is determined that the robot does not exist, the next robot is selected in step d7, and the process returns to step d6. When it is determined in step d6 that there is a group that satisfies the constraint condition, a group having the shortest moving time from the current position is selected for the robot selected in step d8. In step d9, among the hit points of the selected group, the hit point on the opposite side to the robot is changed to the current position of the robot. In step d10,
The working time and the moving time for the points within the group are added to the current working time of the robot. When step d10 ends, the process returns to step d4. When it is determined in step d4 that the distribution for all the groups is completed, the initial value result 44 is output as a file in step d11, and the operation of generating the initial value is ended in step d12.

【0050】図12は、図7のステップaの解改善処理
の動作をさらに詳細に示す。ステップe1から動作を開
始し、ステップe2では解改善動作のための初期化を行
う。次にステップe3でSA処理を実行し、変更された
解をステップe4で評価し、採用するか否かを判断す
る。採用する場合はステップe5でデータベースとして
登録し、採用しないときにはステップe6で前データを
データベースに再設定する。ステップe5またはステッ
プe6が終了すると、ステップe7で終了条件であるル
ープ回数が満たされるか否かを判断する。終了条件が満
たされないと判断されるときには、ステップe8で乱数
Xを生成する。ステップe9では、生成された乱数によ
ってグループの順序変更、ロボットに対するグループの
配分変更、グループ内での作業順序である結合変更、ロ
ボット間の優先順位変更を決定し、ステップe3のSA
実行を繰返す。ステップe7で終了条件が満たされると
判断されるときには、データベースを参照して、評価値
が最も良好な最良解を出力し、ステップe11で動作を
終了する。
FIG. 12 shows the operation of the solution improvement processing in step a of FIG. 7 in more detail. The operation is started from step e1, and initialization for solution improvement operation is performed in step e2. Next, SA processing is executed in step e3, the changed solution is evaluated in step e4, and it is determined whether to adopt the solution. If adopted, the data is registered as a database in step e5, and if not adopted, the previous data is reset in the database in step e6. When step e5 or step e6 ends, it is determined in step e7 whether the number of loops, which is the end condition, is satisfied. If it is determined that the end condition is not satisfied, a random number X is generated in step e8. In step e9, a change in the order of the groups, a change in the distribution of the groups to the robots, a change in the work order within the group, a change in the priority order among the robots, and a change in the priority order among the robots are determined by the generated random numbers.
Repeat execution. If it is determined in step e7 that the termination condition is satisfied, the best solution having the best evaluation value is output with reference to the database, and the operation is terminated in step e11.

【0051】図13は、図12のステップe3における
SA実行のためのサブルーチンの動作を示す。ステップ
f1から動作を開始し、ステップf2では必要な初期化
を行い、ステップf3で干渉を考慮したサイクルタイム
計算を行う。ステップf4では、計算によって得られる
現サイクルタイムがデータベースに登録されている前サ
イクルタイムよりも小さいか否かを判断する。小さくな
いと判断されるときには、ステップf5で次の第5式に
示すような数値を計算し、その計算値が乱数値よりも大
きいか否かを判断する。
FIG. 13 shows the operation of the subroutine for executing the SA in step e3 of FIG. The operation is started from step f1, the necessary initialization is performed in step f2, and the cycle time calculation in consideration of the interference is performed in step f3. In step f4, it is determined whether or not the current cycle time obtained by the calculation is smaller than the previous cycle time registered in the database. When it is determined that it is not smaller, a numerical value as shown in the following Expression 5 is calculated in step f5, and it is determined whether or not the calculated value is larger than the random number value.

【0052】 exp(−(f(x′)−f(x))/Tk) …(5) ステップf4で現サイクルタイムが前サイクルタイムよ
りも小さくなると判断されるときは、新たな解を採用
し、ステップf5で第5式によって表される値が乱数値
よりも大きいと判断されるときにも現在の解を採用し、
ステップf6で前サイクルタイムであるf(x)に現サ
イクルタイムであるf(x′)を代入する。ステップf
3で第5式の値が乱数値よりも小さいと判断されるとき
には、不採用であり、ステップf6の終了とともに、ス
テップf7に移る。ステップf7では、図12のループ
回数がステージの整数倍に達しているか否かを判断す
る。達していると判断される場合は、ステップf8で温
度Tkを温度減少率m倍する。ここで0<m<1であ
る。ステップf8の動作が終了したとき、またはステッ
プf7でループ回数がステージの整数倍ではないと判断
されるときには、ステップf9でサブルーチンを終了
し、図12のステップe3に戻る。
Exp (− (f (x ′) − f (x)) / Tk) (5) When it is determined in step f4 that the current cycle time is smaller than the previous cycle time, a new solution is adopted. Also, when it is determined in step f5 that the value represented by the fifth equation is larger than the random value, the current solution is adopted,
In step f6, the current cycle time f (x ') is substituted for the previous cycle time f (x). Step f
When it is determined in step 3 that the value of the fifth equation is smaller than the random number, it is not adopted, and the process proceeds to step f7 when step f6 ends. In step f7, it is determined whether or not the number of loops in FIG. 12 has reached an integral multiple of the stage. If it is determined that the temperature has reached, the temperature Tk is multiplied by the temperature reduction rate m in step f8. Here, 0 <m <1. When the operation in step f8 ends, or when it is determined in step f7 that the number of loops is not an integral multiple of the stage, the subroutine ends in step f9, and the process returns to step e3 in FIG.

【0053】図14は、SA法と一般的な近似アルゴリ
ズムである局所探索法との比較結果を示す。図14
(a),(b),(c)は、初期可能解として42.8
2秒、52.55秒、40.65秒のサイクルタイムが
得られる解をそれぞれ設定した場合のSA法に従う解改
善の過程を示す。図14(d)は、図14(a),
(b),(c)とそれぞれ同一の初期解に基づく局所探
索法による解改善の過程を示す。SA法によれば、図1
4(a),(b),(c)に示すように、初期解にあま
り依存せずに、全体的に良好な解を得ることができる。
たとえば図14(a)に示すように、サイクルタイム4
2.25秒の初期解から、約10秒程度の改善がなさ
れ、31.83秒の最終結果を得ることができる。一
方、図14(d)に示す局所探索法では、一旦、解が安
定するとシミュレーションを繰返しても解の改善が困難
であることが判る。
FIG. 14 shows a comparison result between the SA method and the local search method which is a general approximation algorithm. FIG.
(A), (b), and (c) are 42.8 as initial feasible solutions.
The process of improving the solution according to the SA method when solutions having cycle times of 2 seconds, 52.55 seconds and 40.65 seconds are respectively set is shown. FIG. 14 (d) shows the state shown in FIG.
The process of solution improvement by the local search method based on the same initial solution as (b) and (c) is shown. According to the SA method, FIG.
As shown in FIGS. 4 (a), (b), and (c), a good solution can be obtained as a whole without depending much on the initial solution.
For example, as shown in FIG.
From the initial solution of 2.25 seconds, an improvement of about 10 seconds is made, and a final result of 31.83 seconds can be obtained. On the other hand, in the local search method shown in FIG. 14D, it is found that once the solution is stable, it is difficult to improve the solution even if the simulation is repeated.

【0054】図15は、本実施形態によって決定される
作業計画を(a)で示し、熟練者によって決定される作
業計画を(b)で、それぞれガントチャートとして示
す。各グループ間の空白部分は干渉の回避状態を示し、
斜線を施して示す部分は移動時間を示す。SA法を採用
した本実施形態では、熟練者によって決定される作業計
画より約1秒程度サイクルタイムを短縮される結果が得
られている。
FIG. 15A shows a work plan determined by the present embodiment, and FIG. 15B shows a work plan determined by a skilled person as a Gantt chart. The space between each group indicates the avoidance of interference,
The shaded portion indicates the travel time. In the present embodiment employing the SA method, a result is obtained in which the cycle time is reduced by about 1 second from the work plan determined by the skilled worker.

【0055】図16は、図8のステップb4あるいはス
テップb6における、斜線間移動のベクトルが治具や車
体などの構造物を通過するか否かを判定する方法を示
す。ステップg1から動作を開始し、ステップg2では
構造物のxy平面に平行な面fを選択する。ステップg
3では面fをxy平行に写像する。ステップg4では、
移動開始に打点Sと目的打点Dとをxy面に写像する。
ステップg5では、打点Sの写像点から打点Dの写像点
へのベクトルが、面Fと干渉するか否かを判断する。干
渉するときには、ステップg6で、面fをxz平行に写
像する。ステップg7では、移動開始打点Sと目的打点
Dとをxz面に写像する。ステップg8で、打点Sの写
像点から打点Dの写像点へのベクトルが面yと干渉する
か否かを判断する。干渉すると判断されるときには、ス
テップg9に移り、面fをyz平面に写像する。ステッ
プg10では、移動開始打点Sと目的打点Dとをyz面
に写像する。ステップg11では、打点Sの写像点から
打点Dの写像点へのベクトルが面fと干渉するか否かを
判断する。干渉すると判断されるときは、ステップg1
2で、凹形状が面fにあるか否かを判断する。凹形状が
あるときには、ステップg13で、凹形状によってでき
る空間の面wを選択する。次にステップg14で、面w
と打点S・D間の干渉があるか否かを判断する。干渉が
あると判断されるときには、ステップg11で構造物と
移動ベクトルとの間には干渉なしと判断し、ステップg
16で動作を終了する。
FIG. 16 shows a method of determining whether or not the vector of the movement between the oblique lines passes through a structure such as a jig or a vehicle body in step b4 or step b6 in FIG. The operation starts from step g1, and in step g2, a plane f parallel to the xy plane of the structure is selected. Step g
In 3, the plane f is mapped in xy parallel. In step g4,
At the start of the movement, the hit point S and the target hit point D are mapped on the xy plane.
At step g5, it is determined whether or not the vector from the mapping point of the hit point S to the mapping point of the hit point D interferes with the surface F. If there is interference, at step g6, the plane f is mapped parallel to xz. In step g7, the movement start point S and the target point D are mapped on the xz plane. In step g8, it is determined whether or not the vector from the mapping point of the hit point S to the mapping point of the hit point D interferes with the surface y. If it is determined that interference occurs, the process proceeds to step g9, where the surface f is mapped on the yz plane. At step g10, the movement start point S and the target point D are mapped on the yz plane. In step g11, it is determined whether or not a vector from the mapping point of the hit point S to the mapping point of the hit point D interferes with the surface f. If it is determined that interference occurs, step g1
At 2, it is determined whether or not the concave shape is on the surface f. If there is a concave shape, a surface w of the space formed by the concave shape is selected in step g13. Next, in step g14, the face w
It is determined whether or not there is interference between the hit points S and D. When it is determined that there is interference, it is determined in step g11 that there is no interference between the structure and the movement vector.
The operation ends at 16.

【0056】ステップg12で、凹形状が面fにないと
判断されるときには、ステップg17で干渉ありと判断
し、ステップg16で動作を終了する。ステップg14
で、面wと打点S・D間の干渉がないと判断されるとき
には、面fにまだ確認していない凹形状があるか否かを
ステップg18で判断する。確認していない凹形状があ
るときにはステップg13に戻る。確認していない凹形
状がないときには、ステップg17で、干渉ありと判断
し、ステップg16で動作を終了する。ステップg15
で、打点Sの写像点から打点Dの写像点へのベクトルが
面fと干渉しないと判断されているときには、ステップ
g19に移り、また確認していない面があるか否かを判
断する。まだ確認していない面があるときには、ステッ
プg2に戻る。確認していない面がないときには、ステ
ップg15に移り、干渉なしと判断し、ステップg16
で動作を終了する。ステップg8およびステップg11
で、面fと干渉しないと判断されるときには、ステップ
g19に戻る。
If it is determined in step g12 that the concave shape is not on the surface f, it is determined in step g17 that there is interference, and the operation is terminated in step g16. Step g14
When it is determined that there is no interference between the surface w and the hit points S and D, it is determined in step g18 whether or not the surface f has a concave shape that has not yet been confirmed. If there is any unconfirmed concave shape, the process returns to step g13. If there is no unconfirmed concave shape, it is determined in step g17 that there is interference, and the operation ends in step g16. Step g15
If it is determined that the vector from the mapping point of the hitting point S to the mapping point of the hitting point D does not interfere with the surface f, the process proceeds to step g19, and it is determined whether there is any unconfirmed surface. If there is any surface that has not been confirmed, the process returns to step g2. If there is no unconfirmed surface, the process proceeds to step g15, where it is determined that there is no interference, and step g16 is performed.
To end the operation. Step g8 and step g11
When it is determined that the light does not interfere with the surface f, the process returns to step g19.

【0057】図17は、図16の動作におけるベクトル
と面との干渉判定の動作を示す。ステップh1から動作
を開始し、ステップh2では平面の全頂点リストVaか
ら、凹形状の頂点を除いた頂点リストV1を生成する。
ここで言う凹形状には、図18に示すような形状も含ま
れる。図18に示す形状において、干渉判定の際には頂
点aは無関係である。このような頂点を外積計算を行う
頂点リストから除いておくことによって、計算上の削減
を図ることができる。
FIG. 17 shows an operation of judging interference between a vector and a surface in the operation of FIG. The operation starts from step h1, and in step h2, a vertex list V1 is generated by removing the concave vertices from the entire vertex list Va of the plane.
The concave shape mentioned here includes a shape as shown in FIG. In the shape shown in FIG. 18, the vertex a is irrelevant at the time of interference determination. By eliminating such vertices from the vertex list for performing cross product calculation, it is possible to reduce the calculation.

【0058】ステップh3では、打点Sの写像点から頂
点リストV1の頂点vmへのベクトルをベクトルSmと
する。ステップh4では、全てのベクトルSmと打点S
・Dの写像点間のベクトルの外積Gmを計算する。ステ
ップh5では、頂点リストV1内のある点α,βに対し
て、(Gα>0かつGβ<0)なる命題が成立つが否か
を判断する。命題が成立つと判断されるときにはステッ
プh6で干渉すると判断し、命題が成立たないと判断さ
れるときにはステップh7で干渉しないと判断し、ステ
ップh8で操作を終了する。
In step h3, a vector from the mapping point of the hit point S to the vertex vm of the vertex list V1 is set as a vector Sm. In step h4, all the vectors Sm and the hit points S
Calculate the cross product Gm of the vector between the mapping points of D. At Step h5, it is determined whether or not the proposition (Gα> 0 and Gβ <0) holds for certain points α and β in the vertex list V1. When it is determined that the proposition is satisfied, it is determined in step h6 that interference occurs. When it is determined that the proposition is not satisfied, it is determined in step h7 that interference does not occur, and the operation is terminated in step h8.

【0059】図19は、外積を計算することによってス
テップh5による干渉判断が可能な原理を示す。ベクト
ルSDと打点Sを起点とする他のベクトルとの外積の符
号は、他のベクトルがベクトルSDの右側にあるか左側
にあるかによって異なってくる。ベクトルSDに対し、
Sを起点する点S1,S2,S3,S4へのベクトルの
外積を、それぞれF(S1),F(S2),F(S
3),F(S4)とすると、次の第6式〜第9式として
示す関係が成立する。 F(S1)>0ならばF(S2)>0,F(S3)<0,F(S4)<0 …(6) F(S2)>0ならばF(S1)>0,F(S3)<0,F(S4)<0 …(7) F(S3)>0ならばF(S4)>0,F(S1)<0,F(S2)<0 …(8) F(S4)>0ならばF(S3)>0,F(S1)<0,F(S2)<0 …(9) すなわち、外積の符号が異なるベクトルが存在すれば、
ベクトルSDとS1,S2,S3,S4を頂点とする図
形とは干渉すると判断される。
FIG. 19 shows the principle by which the interference can be determined in step h5 by calculating the cross product. The sign of the cross product of the vector SD and another vector starting from the hit point S differs depending on whether the other vector is on the right or left side of the vector SD. For the vector SD,
The cross products of vectors to points S1, S2, S3, and S4 originating from S are represented by F (S1), F (S2), and F (S
3) and F (S4), the following relationships expressed by the sixth to ninth expressions are established. If F (S1)> 0, F (S2)> 0, F (S3) <0, F (S4) <0 ... (6) If F (S2)> 0, F (S1)> 0, F (S3) ) <0, F (S4) <0 (7) If F (S3)> 0, F (S4)> 0, F (S1) <0, F (S2) <0 (8) F (S4) > 0, F (S3)> 0, F (S1) <0, F (S2) <0 (9) That is, if there are vectors having different signs of the outer product,
It is determined that the vector SD interferes with the graphic having the vertices of S1, S2, S3, and S4.

【0060】図20〜図25は、凹形状を有する面fを
打点Sから打点Dまでの像ベクトルが通過するか否かを
判断する過程を示す。図20は、打点S,Dと面fとの
空間的な関係を示す。図21は、(a)で面fのxy平
面への写像を示し、(b)でさらに打点S・Dのxy平
面への写像を示す。(c)は外積計算による干渉検出の
ためのベクトルの組合わせを示す。図22の(a)は、
面fのxz平面への写像を示し、(b)は、打点S・J
をxz平面に写像させた状態を示し、(c)は外積計算
によって干渉を検出する状態を示す。図23は、(a)
で面fのyz平面への写像を示し、(b)で打点S・D
の写像を加えた状態を示し、(c)で外積計算による干
渉検出状態を示す。
FIGS. 20 to 25 show a process of judging whether or not the image vector from the hit point S to the hit point D passes through the concave surface f. FIG. 20 shows a spatial relationship between the hit points S and D and the surface f. 21A shows the mapping of the surface f on the xy plane, and FIG. 21B shows the mapping of the hit points S and D on the xy plane. (C) shows a combination of vectors for interference detection by cross product calculation. (A) of FIG.
FIG. 6 shows a mapping of a surface f onto an xz plane, and FIG.
Is mapped on the xz plane, and (c) shows a state in which interference is detected by cross product calculation. FIG.
Shows the mapping of the surface f to the yz plane, and (b) shows the hit point S · D.
(C) shows the state of interference detection by outer product calculation.

【0061】図24は、打点Sから打点Aへの移動ベク
トルが面に凹形状が存在する状態を示す。図25は、
(a)で凹形状に対応する面wを示し、(b)で打点S
からDまでの移動ベクトルが面wを通過するか否かを判
定する状態を示す。通過の判定は、図21〜図23に示
す方法と同様に行う。この場合は、面wを移動ベクトル
が通過せず、面wに対しては干渉しないと判断される。
図21〜図23に示す判定では、凹形状の部分を含めて
通過を判定しているので、面wを移動ベクトルが通過す
ると判定されれば、面fを実質的には通過しないと判断
される。しかしながら、図25(b)での判定で、面w
を移動ベクトルが通過しないと判断されるので、図24
に示すように、移動ベクトルは面fの凹形状ではない部
分を通過すると判断され、結論として干渉有りとされ
る。
FIG. 24 shows a state in which the movement vector from the hit point S to the hit point A has a concave shape on the surface. FIG.
(A) shows the surface w corresponding to the concave shape, and (b) shows the spot S
It shows a state in which it is determined whether or not the movement vectors from to pass through the plane w. Passage is determined in the same manner as in the method shown in FIGS. In this case, it is determined that the movement vector does not pass through the surface w and does not interfere with the surface w.
In the determinations shown in FIGS. 21 to 23, since the passage is determined including the concave portion, if it is determined that the movement vector passes through the surface w, it is determined that the surface f does not substantially pass. You. However, in the determination in FIG.
It is determined that the movement vector does not pass through
As shown in (1), it is determined that the movement vector passes through a non-concave portion of the surface f, and it is concluded that there is interference.

【0062】図26は、構造物のB−repによる表現
方法の原理を示す。構造物Aは、稜線e5,e6,e
7,e8,…,e13,e14,e15,e16とを有
する。また面f1,…や頂点v5,v6,v7,v8,
…なども有する。方向記号は上方をUとし、下方をDと
する。幅方向および奥行方向をE,W;N,Sでそれぞ
れ示す。図26に示す構造物Aは、図27に示すような
木構造として表現される。
FIG. 26 shows the principle of a method of expressing a structure by B-rep. Structure A has ridge lines e5, e6, e
, E13, e14, e15, e16. .. And vertices v5, v6, v7, v8,
... and so on. The direction symbol is U for the upper direction and D for the lower direction. The width direction and the depth direction are indicated by E, W; N, S, respectively. The structure A shown in FIG. 26 is expressed as a tree structure as shown in FIG.

【0063】図27に示す木構造は、次のようなリスト
として表現することもできる。 objct(01,[f1,f2,…,f13]) …(10) face(f1,[f11,f12]) …(11) face(f2,[f13]) …(12) edge(e5,v5,v6,1) …(13) edge(e6,v6,v8,1) …(14) edge(e7,v7,v8,1) …(15) edge(e8,v8,v5,−1) …(16) vertex(v1) …(17) vertex(v2) …(18) vertex(v3) …(19) たとえば第13式、第14式および第15式で、「1」
になっている部分が第16式で「−1」となっているの
は、稜線e5,e6,e7が凸であるのに対し、稜線e
8は凹であるのを示す。第10式〜第19式のB−re
p表現に対し、図26に示す方向記号U,D,N,W,
S,Eを設定し、稜線をベクトルとしたときの方向記号
リストを追加する。
The tree structure shown in FIG. 27 can be expressed as the following list. objct (01, [f1, f2, ..., f13]) ... (10) face (f1, [f11, f12]) ... (11) face (f2, [f13]) ... (12) edge (e5, v5, v6,1) ... (13) edge (e6, v6, v8,1) ... (14) edge (e7, v7, v8,1) ... (15) edge (e8, v8, v5, -1) ... (16) Vertex (v1) ... (17) vertex (v2) ... (18) vertex (v3) ... (19) For example, in Expressions 13, 14, and 15, "1" is used.
The portion marked with “-1” in Equation 16 is that the ridge lines e5, e6, and e7 are convex while the ridge line e
8 indicates that it is concave. B-re in equations 10 to 19
For the p expression, the direction symbols U, D, N, W,
S and E are set, and a list of direction symbols when the edge line is a vector is added.

【0064】図28は、次の第20式のB−rep表現
と、第21式の方向記号リストによって表現される面の
形状を示す。 fLp(f98,[e50,e51,e52,e53,e54,e55, e56,e57]) …(20) dLp(f98,[S,E,N,W,N,E,N,W] …(21) 方向記号リストを追加することによって、様々な特徴形
状を抽出することができる。
FIG. 28 shows the B-rep expression of the following Expression 20 and the shape of the surface expressed by the direction symbol list of Expression 21. fLp (f98, [e50, e51, e52, e53, e54, e55, e56, e57]) ... (20) dLp (f98, [S, E, N, W, N, E, N, W] ... (21) By adding the direction symbol list, various feature shapes can be extracted.

【0065】なお、本実施形態では、評価値、最適化手
法および巡回セールスマン問題の近似解法として、干渉
を考慮した作業時間、シミュレーティドアニーリング法
およびニアレストネイバー法をそれぞれ用いているけれ
ども、これらに限ることではない。たとえば移動距離や
干渉回数、あるいはそれらを組合わせに基づく評価値を
用いることもできる。また近似解法としては、2 Opt
法、Greedy法、FarthestInsertion法を含む種々の方法
を用いていることもできる。
In this embodiment, as the evaluation value, the optimization method, and the approximate solution to the traveling salesman problem, the work time in consideration of interference, the simulated annealing method, and the nearest neighbor method are used. It is not limited to these. For example, an evaluation value based on the moving distance, the number of interferences, or a combination thereof can be used. As an approximate solution, 2 Opt
Method, the Greedy method, and the Farthest Insertion method can also be used.

【0066】以上説明した実施形態では、3台のロボッ
トによって自動車の車体に対してスポット溶接を行う場
合の作業計画に適用する場合について説明しているけれ
ども、本発明による手法は、複数ロボットによるハンド
リング一般、塗装、切断等の作業計画に広く適用するこ
とができる。
In the embodiment described above, the case where the present invention is applied to a work plan in the case of performing spot welding on the body of an automobile by three robots has been described. It can be widely applied to work plans such as general, painting and cutting.

【0067】[0067]

【発明の効果】以上のように本発明によれば、作業をグ
ループ化し、作業の順序やロボットへの作業の配分は、
グループ単位で行うので、ロボットと作業との組合わせ
についての解を探索する数を大幅に減少させて、現実的
な時間で最適解と大きな差のない最良解を容易かつ自動
的に得ることができる。最良解を自動的に得ることがで
きるので、経験に基づく知識や試行錯誤による決定が不
要であり、作業位置やロボットの追加あるいは削除によ
る仕様変更時の計画変更も容易に行うことができる。作
業の干渉は、干渉調査段階でグループ間で一旦行ってお
けばよく、シミュレータによる干渉調査の反復が不要と
なり、作業時間の短縮を図ることができる。作業位置が
増加しても有限な時間内で最良解を得ることができるの
で、容易かつ現実的な時間で複数のロボットを使用する
作業計画を容易に作成することができる。ロボット間の
作業には作業時間帯にずれがあれば干渉も許容されるの
で、ロボットを密に配置して効率的な作業を行うことが
できる。
As described above, according to the present invention, work is grouped, and the order of work and the distribution of work to robots are
Since it is performed in groups, it is possible to greatly reduce the number of searching for solutions for the combination of robot and task, and to easily and automatically obtain the best solution without a large difference from the optimal solution in a realistic time. it can. Since the best solution can be obtained automatically, knowledge based on experience and determination by trial and error are unnecessary, and a plan change at the time of specification change by adding or deleting a work position or a robot can be easily performed. The interference of the work only needs to be performed once between the groups in the interference investigation stage, so that it is not necessary to repeat the interference investigation by the simulator, and the work time can be reduced. Since the best solution can be obtained within a finite time even if the work position increases, a work plan using a plurality of robots can be easily created in an easy and realistic time. Interference between the robots is allowed if there is a shift in the operation time zone, so that the robots can be arranged densely to perform an efficient operation.

【0068】また本発明によれば、たとえばシミュレー
ティドアニーリング法などを用いて、すでに得られてい
る評価値よりも劣る評価値しか得られない解についても
一定の確率で採用する最良解探索を行うので、局所解に
落ちるおそれを解消し、最適解に近い最良解を短時間で
探索することができる。
Further, according to the present invention, for example, using a simulated annealing method or the like, a best solution search that employs, with a certain probability, a solution for which only an evaluation value that is inferior to an already obtained evaluation value can be obtained. Therefore, it is possible to eliminate the possibility of falling into a local solution and to search for the best solution close to the optimum solution in a short time.

【0069】また本発明によれば、初期可能解を巡回セ
ールスマン問題の近似解法、たとえばニアレストネイバ
ー法などを用いて求めるので、最良解が得られやすい解
を初期可能解として容易に決定することができる。
Further, according to the present invention, an initial feasible solution is obtained by using an approximate solution of the traveling salesman problem, for example, a nearest neighbor method, so that a solution from which the best solution is easily obtained is easily determined as an initial feasible solution. be able to.

【0070】また本発明によれば、各グループには、回
避点が設けられるので、干渉が生じる場合の取扱いを容
易に行うことができる。
Further, according to the present invention, an avoidance point is provided in each group, so that handling in the case where interference occurs can be easily performed.

【0071】また本発明によれば、初期可能解決定段階
で、各ロボットに設定される作業時間に基づき、ロボッ
トに対して配分されるグループの選択と、作業時間が小
さなロボットにグループを優先的に割り当てるロボット
の選択とを繰返すので、初期可能解を容易に設定するこ
とができる。
According to the present invention, at the initial possible solution determination stage, based on the work time set for each robot, the selection of a group to be allocated to the robot and the priority of the group to the robot with a small work time are given. Since the selection of the robot to be assigned to is repeated, the initial feasible solution can be easily set.

【0072】また本発明によれば、グループ化段階で、
ワークあるいは治工具との干渉を生じない作業をグルー
プとして分割するので、グループ内での作業を干渉を考
慮しないで行うことができる。
According to the present invention, in the grouping step,
Since the work that does not cause interference with the work or the tool is divided into groups, the work in the group can be performed without considering the interference.

【0073】また本発明によれば、ロボット先端のツー
ル方向やツール挿入方向あるいはグループに含まれる作
業についての巡回路生成の近似アルゴリズムを用いる順
序決定、さらには作業間の移動距離が長い場合の分割な
どによって、グループ内での作業は効率的に行うことが
できる。
Further, according to the present invention, the order of the tool direction at the tip of the robot, the tool insertion direction or the work included in the group is determined by using an approximate algorithm for generating a traveling route, and the division is performed when the moving distance between the works is long. For example, the work in the group can be performed efficiently.

【0074】また本発明によれば、複雑形状のワークあ
るいは治工具であっても、ツールの移動に対して干渉す
るか否かを確実に判断することができる。
Further, according to the present invention, it is possible to reliably determine whether or not a workpiece or a jig having a complicated shape interferes with the movement of the tool.

【0075】また本発明によれば、干渉の判断は、対象
物の各座標軸平面への写像に対してベクトルの外積の符
号に基づいて行うので、容易かつ確実に干渉が生じるか
否かを判断することができる。
Further, according to the present invention, the determination of interference is made based on the sign of the cross product of the vectors with respect to the mapping of the object onto each coordinate axis plane, so that it is possible to easily and reliably determine whether or not interference occurs. can do.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の一形態による作業計画を行うべ
きスポット溶接ラインの概略的な平面図である。
FIG. 1 is a schematic plan view of a spot welding line for performing a work plan according to an embodiment of the present invention.

【図2】図1のワークである自動車車体に対して溶接す
べき打点の位置を示す溶接指示図である。
FIG. 2 is a welding instruction diagram showing positions of hit points to be welded to an automobile body which is the work of FIG. 1;

【図3】図2の溶接打点に対してグループ化の過程を示
す図である。
FIG. 3 is a diagram illustrating a process of grouping welding spots in FIG. 2;

【図4】図2の溶接打点に対してグループ化の過程を示
す図である。
FIG. 4 is a diagram showing a process of grouping welding spots in FIG. 2;

【図5】図2の溶接打点に対してグループ化の過程を示
す図である。
FIG. 5 is a view showing a process of grouping the welding points of FIG. 2;

【図6】図2の溶接打点に対するグループ化の最終結果
を示す図である。
FIG. 6 is a diagram showing a final result of grouping of the welding points of FIG. 2;

【図7】本実施形態による作業計画の全体的な流れを示
すフローチャートである。
FIG. 7 is a flowchart showing an overall flow of a work plan according to the embodiment.

【図8】図7のグルーピング段階で、治具や車体との干
渉チェックを行う動作を示すフローチャートである。
8 is a flowchart showing an operation of performing an interference check with a jig or a vehicle body in the grouping step of FIG.

【図9】図7のグルーピングの段階でグループ間干渉判
定を行う動作を示すフローチャートである。
9 is a flowchart illustrating an operation of performing an inter-group interference determination at the grouping stage in FIG. 7;

【図10】図9のグループ間判定の対象となるロボット
と打点グループとの関係を示す簡略化した斜視図であ
る。
FIG. 10 is a simplified perspective view showing the relationship between a robot to be subjected to the inter-group determination in FIG. 9 and a hit point group.

【図11】図7の初期値生成段階の動作を示すフローチ
ャートである。
FIG. 11 is a flowchart showing an operation in an initial value generation stage of FIG. 7;

【図12】図7の解改善の段階の動作を示すフローチャ
ートである。
FIG. 12 is a flowchart showing the operation of the solution improvement stage of FIG. 7;

【図13】図12のSA実行の動作を示すフローチャー
トである。
FIG. 13 is a flowchart showing an operation of executing SA in FIG. 12;

【図14】SA法による解改善の過程と、局所探索法に
よる解改善の過程とを比較して示すグラフである。
FIG. 14 is a graph showing a comparison between a solution improvement process by the SA method and a solution improvement process by the local search method.

【図15】本実施形態による作業計画結果と熟練者によ
る作業計画結果とを比較して示すガントチャートであ
る。
FIG. 15 is a Gantt chart showing a comparison between a work plan result according to the present embodiment and a work plan result by a skilled person.

【図16】図8のステップb4およびb6で、移動ベク
トルが対象物を通過するか否かを判断する動作を示すフ
ローチャートである。
FIG. 16 is a flowchart showing an operation of determining whether or not a movement vector passes through an object in steps b4 and b6 of FIG. 8;

【図17】面の写像と移動ベクトルの写像とが干渉する
か否かを判断する過程を示すフローチャートである。
FIG. 17 is a flowchart illustrating a process of determining whether or not a surface mapping and a motion vector mapping interfere with each other.

【図18】凹形状の例を示す図である。FIG. 18 is a diagram showing an example of a concave shape.

【図19】写像の外積計算によるベクトル間の左右関係
が把握できる原理を示す図である。
FIG. 19 is a diagram showing the principle by which the left-right relationship between vectors by cross product calculation of mappings can be grasped.

【図20】図16に対応して、1つの面に対する通過の
判定原理を示す簡略化した斜視図である。
FIG. 20 is a simplified perspective view corresponding to FIG. 16, showing the principle of determining whether or not a sheet passes through one surface;

【図21】図20のxy平面に関する外積計算による干
渉検出の過程を示す図である。
FIG. 21 is a diagram showing a process of interference detection by cross product calculation on the xy plane in FIG. 20;

【図22】図20のxz平面に関連して外積計算による
干渉検出の過程を示す図である。
FIG. 22 is a diagram showing a process of interference detection by cross product calculation in relation to the xz plane of FIG. 20;

【図23】図20のyz平面に関連して外積計算による
干渉検出の過程を示す図である。
FIG. 23 is a diagram showing a process of interference detection by cross product calculation in relation to the yz plane of FIG. 20;

【図24】図20の面fに凹形状の部分が存在すること
を示す簡略化した斜視図である。
FIG. 24 is a simplified perspective view showing that a concave portion exists on a surface f in FIG. 20;

【図25】図24に示す凹形状の部分に対応する面wと
移動ベクトルが干渉しないことを示し、移動ベクトルと
面fとが干渉することを示す図である。
FIG. 25 is a diagram illustrating that the movement vector does not interfere with the plane w corresponding to the concave portion illustrated in FIG. 24, and that the movement vector and the plane f interfere with each other.

【図26】構造物のB−repによる表現の対象となる
構造物Aの斜視図である。
FIG. 26 is a perspective view of a structure A to be expressed by B-rep of the structure.

【図27】図26に示す構造物Aに対応する木構造を示
す図である。
FIG. 27 is a diagram showing a tree structure corresponding to the structure A shown in FIG. 26;

【図28】拡張したB−rep表現に対応する凹形状を
有する面の一例を示す図である。
FIG. 28 is a diagram illustrating an example of a surface having a concave shape corresponding to an expanded B-rep expression.

【符号の説明】[Explanation of symbols]

1,2,3 ロボット 4,5,6 スポット溶接ガン 10 制御装置 11,12 自動車車体 20 打点 21,22,31,32,33,34 グループ 41 ロボットシミュレータデータ 42 ロボットデータ 43 グループデータ 44 初期値結果 45 SAパラメータ 46 解改善結果 1,2,3 robot 4,5,6 spot welding gun 10 controller 11,12 car body 20 spots 21,22,31,32,33,34 group 41 robot simulator data 42 robot data 43 group data 44 initial value result 45 SA parameter 46 Solution improvement result

───────────────────────────────────────────────────── フロントページの続き (72)発明者 林 正人 兵庫県明石市川崎町1番1号 川崎重工業 株式会社明石工場内 (72)発明者 日隈 克敏 兵庫県明石市川崎町1番1号 川崎重工業 株式会社明石工場内 (72)発明者 中土 宜明 兵庫県明石市川崎町1番1号 川崎重工業 株式会社明石工場内 (72)発明者 田中 博文 兵庫県明石市川崎町1番1号 川崎重工業 株式会社明石工場内 (72)発明者 加藤 幸二 兵庫県明石市川崎町1番1号 川崎重工業 株式会社明石工場内 ──────────────────────────────────────────────────続 き Continuing from the front page (72) Inventor Masato Hayashi 1-1, Kawasaki-cho, Akashi-shi, Hyogo Kawasaki Heavy Industries, Ltd. Inside the Akashi Factory (72) Inventor Katsutoshi Hima 1-1, Kawasaki-cho, Akashi-shi, Hyogo Kawasaki Heavy Industries Inside the Akashi Factory (72) Inventor Yoshiaki Nakachi 1-1, Kawasaki-cho, Akashi-shi, Hyogo Kawasaki Heavy Industries Inside Akashi Factory (72) Inventor Hirofumi Tanaka 1-1-1, Kawasaki-cho, Akashi-shi, Hyogo Kawasaki Heavy Industries Stock (72) Inventor Koji Kato 1-1, Kawasaki-cho, Akashi-shi, Hyogo Kawasaki Heavy Industries, Ltd.

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 作業領域の少なくとも一部が重なるよう
に配置される複数台ロボットの作業計画方法において、 複数台のロボットにおいて行われるべき複数の作業を、
予め定める制約条件に基づき、ロボットの台数以上の数
のグループに分割するグループ化段階と、 グループとロボットとの可能な組合わせに対し、他の組
合わせとの間でロボットの作業が干渉するか否かを予め
定める基準に従って判断する調査を行う干渉調査段階
と、 各ロボットに対するグループの配分と、各ロボットにお
ける配分されるグループの作業の順序と、各グループ内
の作業を行う方向と、ロボット間での干渉を生じる場合
に優先して作業を行う優先順位とを示す解として、予め
定める手法に従う初期可能解を決定する初期可能解決定
段階と、 解について、各ロボットへのグループの配分、グループ
間の作業順序、各グループ内での方向およびロボットの
優先順位を変更して解の内容を変更する解変更段階と、 初期可能解決定段階で決定される解または解変更段階で
変更される解について、干渉調査段階の調査結果に従
い、干渉が生じるときには回避に要する作業を含めて、
ロボットの作業について予め定める基準に従う評価値を
算出する評価値算出段階と、 初期可能解決定段階で決定される初期可能解について評
価値算出段階で評価値を算出し、予め定める最適化手法
に従って解変更段階での解の変更と評価値算出段階での
解の評価とを繰返し、評価値が最良となる解を探索する
最良解探索段階とを含むことを特徴とする複数台ロボッ
トの作業計画方法。
In a work planning method for a plurality of robots arranged so that at least a part of a work area overlaps, a plurality of works to be performed by the plurality of robots are described.
A grouping step of dividing the robot into groups of a number equal to or greater than the number of robots based on predetermined constraints, and checking whether a robot combination interferes with a possible combination of the group and the robot with another combination. An interference investigation step of conducting an investigation to determine whether or not the robot is in accordance with a predetermined criterion, the allocation of groups to each robot, the order of work of the group allocated to each robot, the direction in which the work in each group is performed, and An initial feasible solution determining step of determining an initial feasible solution according to a predetermined method as a solution indicating a priority of performing work preferentially when interference occurs in, a solution, a group allocation to each robot, a group A solution change stage that changes the work sequence between the groups, the direction within each group, and the priority of the robot to change the contents of the solution; For the solution determined at the floor or the solution changed at the solution change stage, according to the findings of the interference investigation stage, including the work required to avoid when interference occurs,
An evaluation value calculation step for calculating an evaluation value according to a predetermined standard for the robot operation, and an evaluation value is calculated for the initial feasible solution determined in the initial feasible solution determination step in the evaluation value calculation step, and the evaluation is performed in accordance with a predetermined optimization method. A work solution planning method for a plurality of robots, comprising: repeating a solution change at a change stage and a solution evaluation at an evaluation value calculation stage to search for a solution having the best evaluation value. .
【請求項2】 前記最良解探索段階では、評価値決定段
階ですでに得られている評価値よりも劣る評価値しか得
られない解についても、一定の確率で採用するような予
め定める最適化手法を用いることを特徴とする請求項1
記載の複数台ロボットの作業計画方法。
2. The method according to claim 1, wherein in the search for the best solution, a solution having a lower evaluation value than the evaluation value already obtained in the evaluation value determination stage is determined with a certain probability. 2. The method according to claim 1, wherein a method is used.
Work planning method for multiple robots described.
【請求項3】 前記初期可能解決定段階では、巡回セー
ルスマン問題の予め定める近似解法を用いることを特徴
とする請求項1記載の複数台ロボットの作業計画方法。
3. The work planning method for a plurality of robots according to claim 1, wherein in the initial possible solution determination step, a predetermined approximate solution of the traveling salesman problem is used.
【請求項4】 前記グループ化段階で分割される各グル
ープに対し、干渉回避のための作業位置の追加が必要か
否かを判断し、必要な場合にはグループの両端に新たな
作業位置を回避点として加え、回避が必要であってもす
でに存在するグループの両端の作業点での回避が可能な
場合には両端の作業位置を回避点として設定することを
特徴とする請求項1記載の複数台ロボットの作業計画方
法。
4. For each group divided in the grouping step, it is determined whether or not it is necessary to add a work position for avoiding interference. If necessary, a new work position is added to both ends of the group. 2. The work position according to claim 1, wherein, in addition to the avoidance point, even if the avoidance is required, if the avoidance at the work points at both ends of the existing group is possible, the work positions at both ends are set as the avoidance points. Work planning method for multiple robots.
【請求項5】 前記初期可能解決定段階では、各ロボッ
トに、初期値が0である作業時間を設定しておき、 各ロボットの初期位置からグループの回避点への移動時
間をロボットの運動性能データから算出し、移動時間が
最短となるグループを各ロボットに配分して、グループ
内の作業時間と算出される移動時間とをロボットの作業
時間に加えるグループの選択と、 作業時間の小さいロボットについて順次グループの選択
を行うロボットの選択とを繰返して、 全各グループをロボットに配分することを特徴とする請
求項4記載の複数台ロボットの作業計画方法。
5. In the initial possibility solution determination step, a work time with an initial value of 0 is set for each robot, and the movement time from the initial position of each robot to the avoidance point of the group is determined by the motion performance of the robot. Calculate from the data, allocate the group with the shortest moving time to each robot, select the group that adds the working time in the group and the calculated moving time to the working time of the robot, 5. The method according to claim 4, wherein all the groups are distributed to the robots by repeating the selection of the robot for sequentially selecting the groups.
【請求項6】 前記グループ化段階では、各ロボットの
可動範囲および作業用ツールの種類に従って作業のグル
ープへの分割を行う作業分割段階と、 ワークおよび使用する治工具についての空間情報を入力
する情報入力段階と、作業分割段階で分割される各グル
ープ内で、予め定める順序で作業位置間をツールが移動
する間に、ワークまたは治工具と干渉するか否かを、情
報入力段階で入力される空間情報に従って判断し、ワー
クまたは治工具と干渉すると判断される場合は、通過の
前後の作業でグループを分割するグループ分割段階とを
含むことを特徴とする請求項1または4記載の複数台ロ
ボットの作業計画方法。
6. In the grouping step, a work dividing step of dividing work into groups according to the movable range of each robot and the type of work tool, and information for inputting spatial information on the work and the jig and tool to be used. In the information input step, whether or not the tool or tool interferes with the work or tool while moving between the work positions in a predetermined order in each group divided in the input step and the work division step is input. 5. The multi-unit robot according to claim 1, further comprising: a group dividing step of dividing the group into works before and after passing when it is determined according to the space information that it interferes with a workpiece or a tool. Work planning method.
【請求項7】 前記作業分割段階によって分割されるグ
ループに対して、 ロボット先端のツール方向ベクトル間の角度の差異によ
るグループ化と、 ツール挿入方向ベクトル間の角度の差異によるグループ
化と、 グループに含まれる作業について、巡回路生成の近似ア
ルゴリズムを用いる順序決定と、 作業位置間の移動距離によるグループ化とを処理として
施すことを特徴とする請求項6記載の複数台ロボットの
作業計画方法。
7. The method according to claim 7, wherein the group divided by the operation dividing step includes: grouping based on an angle difference between tool direction vectors at the robot tip; grouping based on an angle difference between tool insertion direction vectors; 7. The work planning method for a plurality of robots according to claim 6, wherein for the included work, the order determination using an approximation algorithm of the traveling route generation and the grouping based on the moving distance between the work positions are performed as processing.
【請求項8】 前記情報入力段階では、B−rep表現
によるワークおよび治工具の空間情報を入力することを
特徴とする請求項6または7記載の複数台ロボットの作
業計画方法。
8. The method according to claim 6, wherein in the information inputting step, spatial information of a work and a tool in a B-rep expression is input.
【請求項9】 前記干渉するか否かの判断は、対象物の
各座標軸平面への写像に対して、ツールの移動開始点か
ら写像上の各点へのベクトルとツールの移動ベクトルと
の外積を計算し、外積の符号が異なるベクトルが存在す
るときに干渉すると判断することを特徴とする請求項1
〜8のいずれかに記載の複数台ロボットの作業計画方
法。
9. The determination as to whether or not interference occurs is based on the cross product of the vector from the tool movement start point to each point on the map and the tool movement vector for the mapping of the object onto each coordinate axis plane. 2. It is determined that interference occurs when there are vectors having different signs of outer products.
An operation planning method for a plurality of robots according to any one of claims 1 to 8.
JP8213075A 1996-07-23 1996-07-23 Work planning method for multiple robots Expired - Fee Related JP2984218B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8213075A JP2984218B2 (en) 1996-07-23 1996-07-23 Work planning method for multiple robots

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8213075A JP2984218B2 (en) 1996-07-23 1996-07-23 Work planning method for multiple robots

Publications (2)

Publication Number Publication Date
JPH1039909A true JPH1039909A (en) 1998-02-13
JP2984218B2 JP2984218B2 (en) 1999-11-29

Family

ID=16633137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8213075A Expired - Fee Related JP2984218B2 (en) 1996-07-23 1996-07-23 Work planning method for multiple robots

Country Status (1)

Country Link
JP (1) JP2984218B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116816A (en) * 2000-10-11 2002-04-19 Nkk Corp Controller and control method
JP2002215214A (en) * 2001-01-23 2002-07-31 Nkk Corp Method and unit for control
US7136715B2 (en) 2003-07-16 2006-11-14 Samsung Electronics Co., Ltd. Working-system for single path and control method thereof
US7512459B2 (en) 2003-07-03 2009-03-31 Fanuc Ltd Robot off-line simulation apparatus
JP2017007075A (en) * 2015-06-26 2017-01-12 ダイハツ工業株式会社 Work equipment
JP2018020413A (en) * 2016-08-04 2018-02-08 株式会社トヨタプロダクションエンジニアリング Work support device, work support method and program
JP2018106542A (en) * 2016-12-27 2018-07-05 ファナック株式会社 Work planning device
JP2019212023A (en) * 2018-06-05 2019-12-12 富士通株式会社 Information processor, work planning program, and work planning method
US10518357B2 (en) 2016-11-29 2019-12-31 Fanuc Corporation Machine learning device and robot system to learn processing order of laser processing robot and machine learning method thereof
WO2020138485A1 (en) 2018-12-28 2020-07-02 川崎重工業株式会社 Robot operation plan creation method and operation plan creation device
KR102590491B1 (en) * 2023-01-30 2023-10-17 주식회사 마키나락스 Method for creating program for robotic process

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5080369B2 (en) * 2008-06-09 2012-11-21 ファナック株式会社 Robot offline programming device
CN110009209A (en) * 2019-03-26 2019-07-12 深兰科技(上海)有限公司 A kind of method and device of robot information interaction

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116816A (en) * 2000-10-11 2002-04-19 Nkk Corp Controller and control method
JP2002215214A (en) * 2001-01-23 2002-07-31 Nkk Corp Method and unit for control
US7512459B2 (en) 2003-07-03 2009-03-31 Fanuc Ltd Robot off-line simulation apparatus
US7136715B2 (en) 2003-07-16 2006-11-14 Samsung Electronics Co., Ltd. Working-system for single path and control method thereof
JP2017007075A (en) * 2015-06-26 2017-01-12 ダイハツ工業株式会社 Work equipment
JP2018020413A (en) * 2016-08-04 2018-02-08 株式会社トヨタプロダクションエンジニアリング Work support device, work support method and program
DE102017010799B4 (en) * 2016-11-29 2021-03-25 Fanuc Corporation Machine learning device for learning a processing sequence of a robot system with a plurality of laser processing robots, associated robot system and machine learning method for learning a processing sequence of the robot system with a plurality of laser processing robots
US10518357B2 (en) 2016-11-29 2019-12-31 Fanuc Corporation Machine learning device and robot system to learn processing order of laser processing robot and machine learning method thereof
US10434648B2 (en) 2016-12-27 2019-10-08 Fanuc Corporation Task planning device
JP2018106542A (en) * 2016-12-27 2018-07-05 ファナック株式会社 Work planning device
JP2019212023A (en) * 2018-06-05 2019-12-12 富士通株式会社 Information processor, work planning program, and work planning method
US11247334B2 (en) 2018-06-05 2022-02-15 Fujitsu Limited Task planning apparatus, task planning method, and non-transitory computer-readable storage medium
WO2020138485A1 (en) 2018-12-28 2020-07-02 川崎重工業株式会社 Robot operation plan creation method and operation plan creation device
JP2020104239A (en) * 2018-12-28 2020-07-09 川崎重工業株式会社 Work plan creation method and work plan creation device for robot
KR20210089731A (en) 2018-12-28 2021-07-16 카와사키 주코교 카부시키가이샤 Robot's work plan creation method and work plan creation device
EP3903997A4 (en) * 2018-12-28 2022-11-02 Kawasaki Jukogyo Kabushiki Kaisha Robot operation plan creation method and operation plan creation device
US11945118B2 (en) 2018-12-28 2024-04-02 Kawasaki Jukogyo Kabushiki Kaisha Method of planning works for robots and work planning device
KR102590491B1 (en) * 2023-01-30 2023-10-17 주식회사 마키나락스 Method for creating program for robotic process

Also Published As

Publication number Publication date
JP2984218B2 (en) 1999-11-29

Similar Documents

Publication Publication Date Title
EP3794314B1 (en) Robot coordination in a shared workspace
EP0744046B1 (en) Intelligent system for generating and executing a sheet metal bending plan
EP1657607B1 (en) Bending apparatus comprising a control means
JP2984218B2 (en) Work planning method for multiple robots
CN108544495B (en) Welding path planning method, system and equipment for multiple welding robots
Spensieri et al. An iterative approach for collision free routing and scheduling in multirobot stations
Suemitsu et al. Simultaneous optimization of layout and task schedule for robotic cellular manufacturing systems
JP2001249961A (en) Optimization tool for laying out assembly work cell
Bopardikar et al. Dynamic vehicle routing for translating demands: Stability analysis and receding-horizon policies
US20050107921A1 (en) Robot operation program modification device
Venkatadri et al. A multi-commodity network flow-based formulation for the multi-period cell formation problem
Pashkevich et al. Multiobjective optimisation of robot location in a workcell using genetic algorithms
JP3104535B2 (en) How to determine the work allocation of the robot
JP3414194B2 (en) Robot work distribution method and apparatus
JP2000141047A (en) Work allotment simulating method for production line
CN117215275B (en) Large-scale dynamic double-effect scheduling method for flexible workshop based on genetic programming
US12099346B1 (en) Large-scale dynamic double-effect scheduling method for flexible job shop based on genetic programming
WO2022230544A1 (en) Robot equipment design device, method, and program
Paul et al. Reinforcement Learning for Segmented Manufacturing
Batra et al. Challenges in Flexible Manufacturing Systems: A Review
Shi et al. WLAA*: A Time-efficient Method for Path Planning in Warehouse Environments
JP2000141176A (en) Work distribution simulation method for production line
Pashkevich Genetic Algorithms in Computer-Aided Design of Robotic Manufacturing Cells
JP2002116817A (en) Method for allocating task and controller to which the same method is applied
JPH0366577A (en) Preparation of teaching data for plural robots

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees