JP4706684B2 - Work object arrangement determination method, work object arrangement determination support device, work object arrangement determination support program, and robot system - Google Patents

Work object arrangement determination method, work object arrangement determination support device, work object arrangement determination support program, and robot system Download PDF

Info

Publication number
JP4706684B2
JP4706684B2 JP2007260991A JP2007260991A JP4706684B2 JP 4706684 B2 JP4706684 B2 JP 4706684B2 JP 2007260991 A JP2007260991 A JP 2007260991A JP 2007260991 A JP2007260991 A JP 2007260991A JP 4706684 B2 JP4706684 B2 JP 4706684B2
Authority
JP
Japan
Prior art keywords
simulation
work object
robot
target position
movement
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.)
Expired - Fee Related
Application number
JP2007260991A
Other languages
Japanese (ja)
Other versions
JP2008052749A (en
Inventor
芳博 伊藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007260991A priority Critical patent/JP4706684B2/en
Publication of JP2008052749A publication Critical patent/JP2008052749A/en
Application granted granted Critical
Publication of JP4706684B2 publication Critical patent/JP4706684B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、多関節ロボットのロボットアームの移動時間を短くすることのできる、ロボットアームの最適な動作位置の決定を支援する技術に関する。   The present invention relates to a technique that can shorten the movement time of a robot arm of an articulated robot and supports determination of an optimal operation position of the robot arm.

従来、ロボットの動作位置を決定する方法としては、操作者がロボットを手動で動かして動作位置を教示していくというティーチングという方法がある。そして、ティーチングによって指定された動作位置から次の動作位置にロボットアームを順次、移動させることでロボット動作を実現している。   Conventionally, as a method for determining the operation position of the robot, there is a teaching method in which an operator manually moves the robot and teaches the operation position. The robot operation is realized by sequentially moving the robot arm from the operation position designated by teaching to the next operation position.

ロボットアームの移動時間は、動作位置間の移動距離が短ければ短くなるという原則はあるものの、一慨には言えない部分もあることから、ロボット作業を効率化できる動作位置の決定は勘と経験によるものであった。   Although there is a principle that the movement time of the robot arm becomes shorter if the movement distance between the operation positions is short, there are some parts that can not be said at a glance, so it is intuition and experience to determine the operation position that can make the robot work more efficient It was due to.

例えば、水平多関節ロボットにおいては、複数のアームを関節軸を中心に回転して水平方向の移動を実現しているという構造的な機構から、水平方向に同じ距離を移動するにしても、その移動位置により移動に必要な時間が大きく異なってくる。以下、この点について図を参照して説明する。   For example, in a horizontal articulated robot, even if it moves the same distance in the horizontal direction from a structural mechanism that realizes horizontal movement by rotating a plurality of arms around the joint axis, The time required for movement varies greatly depending on the movement position. Hereinafter, this point will be described with reference to the drawings.

図19は第1アームと第2アームを有する水平多関節ロボットのロボットアーム先端を点Aから点Bに移動するときの各アームの回転角度の説明図、図20は同様の水平多関節ロボットのロボットアーム先端を点Cから点Dに移動するときの各アームの回転角度の説明図である。なお、図19及び図20において点Aと点B間の距離と、点Cと点D間の距離とは等しくなっている。   FIG. 19 is an explanatory diagram of the rotation angle of each arm when the tip of the robot arm of the horizontal articulated robot having the first arm and the second arm is moved from point A to point B, and FIG. 20 is a diagram of a similar horizontal articulated robot. It is explanatory drawing of the rotation angle of each arm when moving the robot arm front-end | tip from the point C to the point D. FIG. In FIGS. 19 and 20, the distance between the points A and B is equal to the distance between the points C and D.

図19において、ロボットアームが点Aから点Bに移動する際に、第1アームは角度θ1、第2アームは角度(θ3−θ2)、反時計方向に回転する。図20において、ロボットアームが点Cから点Dに移動する際に、第1アームは角度θ4、第2アームは角度(θ5−θ6)、時計方向に回転する。このように、ロボットアームが同じ距離を移動するのであっても、各アームの移動に必要な回転角度は異なってくることから、移動に必要な時間も当然のことながら異なってくる。   In FIG. 19, when the robot arm moves from point A to point B, the first arm rotates counterclockwise by an angle θ1, and the second arm rotates by an angle (θ3-θ2). In FIG. 20, when the robot arm moves from point C to point D, the first arm rotates at an angle θ4, and the second arm rotates at an angle (θ5-θ6) clockwise. As described above, even if the robot arm moves the same distance, the rotation angle required for the movement of each arm differs, and the time required for the movement naturally varies.

図21は図19及び図20の第1アームが415mm、第2アームが235mmであるときの水平多関節ロボットのロボットアーム先端を、X軸方向に30cm、1往復した時の移動時間を示す棒グラフ図である。図22はこの往復動作を行う水平多関節ロボットの模式図である。図21のグラフは、1往復動作の中央点(図19で説明すると、点Aと点Bの中間点Mに相当)のXY座標をXY平面上で特定し、その座標(X,Y)に、その位置を中央点とする1往復動作の所要時間を縦棒で示したものである。   FIG. 21 is a bar graph showing the movement time when the robot arm tip of the horizontal articulated robot makes one reciprocation 30 cm in the X-axis direction when the first arm of FIGS. 19 and 20 is 415 mm and the second arm is 235 mm. FIG. FIG. 22 is a schematic diagram of a horizontal articulated robot that performs this reciprocating motion. The graph of FIG. 21 specifies the XY coordinates of the center point of one reciprocating operation (corresponding to the intermediate point M between point A and point B in FIG. 19) on the XY plane, and the coordinates (X, Y) The required time for one reciprocating operation with the position as the center point is indicated by a vertical bar.

このグラフからも判るように、水平多関節ロボットを背面からみた左エリア(図22参照)のうちX座標−400mm近辺でX軸方向に30cm、1往復する時間は、同右エリア(図22参照)のうちX座標+250mm近辺で同動作をさせた場合よりも約2倍の時間を必要としている。従って、ユーザがロボットに課した作業が、作業対象物表面をX軸方向に30cm、1往復するという作業であれば、その作業中心位置がたまたまロボット左エリア(X座標−400mm近辺)となるように作業対象物を配置した場合、その作業時間が大幅に長くなってしまうことになる。   As can be seen from this graph, in the left area when the horizontal articulated robot is viewed from the back (see FIG. 22), the time for one reciprocation of 30 cm in the X-axis direction around the X coordinate of −400 mm is the same area (see FIG. 22). It takes about twice as long as when the same operation is performed near the X coordinate +250 mm. Therefore, if the work imposed on the robot by the user is a work of reciprocating 30 cm on the surface of the work object in the X axis direction, the work center position happens to be the robot left area (X coordinate -400 mm vicinity). If a work object is placed on the work, the work time will be significantly increased.

本発明は上記の課題を解決するためになされたもので、ロボットアームの移動時間を短くすることのできる最適な作業対象物の配置位置の決定を支援する作業対象物の配置決定方法、作業対象物の配置決定支援装置、作業対象物の配置決定支援プログラム及びロボットシステムを得ることを目的とする。   The present invention has been made to solve the above-described problem, and a work object placement determination method and work target for supporting determination of an optimum work object placement position capable of shortening the movement time of a robot arm. An object is to obtain an object arrangement determination support device, a work object arrangement determination support program, and a robot system.

(1)本発明に係る作業対象物の配置決定方法は、水平多関節ロボットの動作位置の配置決定により、作業対象物の最適配置決定を支援する方法であって、水平多関節ロボットのロボットアームの移動経路を特定する第1固定位置、シミュレート対象位置及び第2固定位置を指定し、シミュレート対象位置を含むシミュレート範囲を指定し、さらに、シミュレート範囲内においてシミュレート対象位置を基準として所定のX座標間隔及び所定のY座標間隔で刻んだ位置を複数のシミュレート位置として指定し、第1固定位置、シミュレート対象位置及び第2固定位置をこの順で通過する移動経路に従ってロボットを擬似的に動作させるシミュレーションを、シミュレート対象位置をシミュレート範囲内のシミュレート位置に順次変えて作成した複数の移動経路それぞれについて行い、シミュレート対象位置及び各シミュレート位置のうち、ロボットアームの移動時間が最も短くなる移動経路に対応する最適位置のシミュレーション結果を少なくとも出力することによって、作業対象物の最適位置を決定するものである。 (1) A work object placement determination method according to the present invention is a method for supporting the optimum placement of a work target by determining the movement position of a horizontal articulated robot. The first fixed position, the simulation target position, and the second fixed position for specifying the movement path of the target are specified, the simulation range including the simulation target position is specified, and the simulation target position is set as a reference within the simulation range. A position engraved at a predetermined X coordinate interval and a predetermined Y coordinate interval is designated as a plurality of simulation positions, and the robot follows a movement path that passes through the first fixed position, the simulation target position, and the second fixed position in this order. Create a simulation that simulates the simulation by sequentially changing the simulation target position to a simulation position within the simulation range. It is performed for each of the plurality of movement paths, and at least the simulation result of the optimal position corresponding to the movement path of the simulation target position and the movement position of the robot arm that has the shortest movement time is output. The optimum position is determined.

(2)本発明に係る作業対象物の配置決定方法は、所定のX座標間隔及び所定のY座標間隔を任意に変更可能としたものである。 (2) The work object arrangement determination method according to the present invention is capable of arbitrarily changing a predetermined X coordinate interval and a predetermined Y coordinate interval.

(3)本発明に係る作業対象物の配置決定支援装置は、水平多関節ロボットの動作位置の配置決定により、作業対象物の最適配置を支援する最適位置決定支援装置であって、水平多関節ロボットのロボットアームの移動経路を特定する第1固定位置、シミュレート対象位置及び第2固定位置と、シミュレート対象位置を含むシミュレート範囲と、シミュレート範囲内においてシミュレート対象位置を基準として所定のX座標間隔及び所定のY座標間隔で刻んだ位置である複数のシミュレート位置とを指定する教示データを入力する入力手段と、第1固定位置、シミュレート対象位置及び第2固定位置をこの順で通過する移動経路に従ってロボットを擬似的に動作させるシミュレーションを、シミュレート対象位置をシミュレート範囲内のシミュレート位置に順次変えて作成した複数の移動経路それぞれについて行う演算手段と、シミュレート対象位置及び各シミュレート位置のうち、ロボットアームの移動時間が最も短くなる移動経路に対応する最適位置のシミュレーション結果を少なくとも出力する出力手段とを備えたものである。 (3) A work object placement determination support apparatus according to the present invention is an optimal position determination support apparatus that supports the optimal placement of a work object by determining the movement position of a horizontal articulated robot. A first fixed position, a simulation target position and a second fixed position for specifying the movement path of the robot arm of the robot, a simulation range including the simulation target position, and a predetermined range based on the simulation target position in the simulation range Input means for inputting teaching data for designating a plurality of simulated positions which are positions inscribed at an X coordinate interval and a predetermined Y coordinate interval, a first fixed position, a simulation target position, and a second fixed position. The simulation of moving the robot in a pseudo manner according to the movement path that passes in order, the simulation target position in the simulation range Calculation means for each of a plurality of movement paths created by sequentially changing to the rate position, and the simulation result of the optimal position corresponding to the movement path where the movement time of the robot arm is the shortest among the simulation target position and each simulation position Output means for outputting at least.

(4)本発明に係る作業対象物の配置決定支援装置は、所定のX座標間隔及び所定のY座標間隔を任意に変更可能としたものである。 (4) The work object placement determination support apparatus according to the present invention can arbitrarily change a predetermined X coordinate interval and a predetermined Y coordinate interval.

)本発明に係る作業対象物の配置決定支援装置は、出力手段が、複数の配置候補位置のX座標及びY座標と、複数の配置候補位置に対応するロボットアーム移動時間とを表示するものである。 ( 5 ) In the work object placement determination support apparatus according to the present invention, the output means displays the X and Y coordinates of the plurality of placement candidate positions and the robot arm movement time corresponding to the plurality of placement candidate positions. Is.

)本発明に係る作業対象物の配置決定支援装置は、通常モードとシミュレーションモードを切り替えるモード切替手段を有し、通常モードの場合、動作位置定義命令で、水平多関節ロボットは実際の動作を行い、シミュレーションモードの場合、動作位置定義命令があっても、シミュレーションによって、ロボットアームの移動時間を演算するものである。 ( 6 ) The work object placement determination assisting device according to the present invention has mode switching means for switching between the normal mode and the simulation mode. In the normal mode, the horizontal articulated robot performs the actual motion with the motion position definition command. In the simulation mode, even if there is an operation position definition command, the movement time of the robot arm is calculated by simulation.

(7)本発明に係る作業対象物の配置決定支援プログラムは、水平多関節ロボットのロボットアームにより搬送される作業対象物の配置決定支援を行う配置決定支援装置により実行されるプログラムであって、配置決定支援装置に、水平多関節ロボットのロボットアームの移動経路を特定する第1固定位置、シミュレート対象位置及び第2固定位置を指定し、シミュレート対象位置を含むシミュレート範囲を指定し、さらに、シミュレート範囲内においてシミュレート対象位置を基準として所定のX座標間隔及び所定のY座標間隔で刻んだ位置を複数のシミュレート位置として指定するステップと、第1固定位置、シミュレート対象位置及び第2固定位置をこの順で通過する移動経路に従ってロボットを擬似的に動作させるシミュレーションを、シミュレート対象位置をシミュレート範囲内のシミュレート位置に順次変えて作成した複数の移動経路それぞれについて行い、シミュレート対象位置及び各シミュレート位置のうち、ロボットアームの移動時間が最も短くなる移動経路に対応する最適位置のシミュレーション結果を少なくとも出力することによって、作業対象物の最適位置を決定するステップとを実行させるものである。(7) A work object arrangement determination support program according to the present invention is a program executed by an arrangement determination support apparatus that performs arrangement determination support of a work object conveyed by a robot arm of a horizontal articulated robot, Specifying a first fixed position, a simulation target position, and a second fixed position for specifying the movement path of the robot arm of the horizontal articulated robot to the arrangement determination support device, specifying a simulation range including the simulation target position, Further, a step of designating a plurality of simulation positions as positions that are engraved at a predetermined X coordinate interval and a predetermined Y coordinate interval with respect to the simulation target position within the simulation range, a first fixed position, and a simulation target position And a simulation of operating the robot in a pseudo manner according to the movement path passing through the second fixed position in this order. The simulation target position is changed to the simulation position within the simulation range, and the movement is performed for each of the plurality of movement paths, and the movement time of the robot arm is the shortest of the simulation target position and each simulation position. The step of determining the optimum position of the work object is executed by outputting at least the simulation result of the optimum position corresponding to the route.

)本発明に係る作業対象物の配置決定支援プログラムは、複数の配置候補位置のX座標及びY座標と、複数の配置候補位置に対応するロボットアーム移動時間とを表示するステップを更に含むものである。 ( 8 ) The work object placement determination support program according to the present invention further includes a step of displaying X and Y coordinates of a plurality of placement candidate positions and a robot arm movement time corresponding to the plurality of placement candidate positions. It is a waste.

)本発明に係る作業対象物の配置決定支援プログラムは、通常モードとシミュレーションモードを切り替えるステップを有し、通常モードの場合、動作位置定義命令で、水平多関節ロボットは実際の動作を行い、シミュレーションモードの場合、動作位置定義命令があっても、シミュレーションによって、ロボットアームの移動時間を演算するものである。 ( 9 ) The work object placement determination support program according to the present invention includes a step of switching between a normal mode and a simulation mode. In the normal mode, the horizontal articulated robot performs an actual operation with an operation position definition command. In the simulation mode, even if there is an operation position definition command, the movement time of the robot arm is calculated by simulation.

10)本発明に係るロボットシステムは、上記の作業対象物の配置決定支援プログラムを搭載するものである。 ( 10 ) A robot system according to the present invention is equipped with the above-described work object placement determination support program.

記(1)〜(10)の発明によれば、ユーザは、ロボットアームの移動時間を最も短くできる最適な作業対象物の最適な配置位置をシミュレーション結果に基づき簡単に決定することが可能となる。よって、このシミュレーション結果を活用して最適位置に作業対象物を配置することにより、作業効率の高いロボット作業を実現することが可能となる。 According to the invention of (1) above to (10), the user can be easily determined based on the optimum position of the optimal work object capable shortest moving time of the robot arm on simulation results Become. Therefore, it is possible to realize robot work with high work efficiency by using the simulation result to place the work object at the optimum position.

上記()及び()の発明によれば、ユーザは、シミュレーション結果を出力手段上で確認できる。 According to the above inventions ( 3 ) and ( 7 ), the user can check the simulation result on the output means.

上記()及び()の発明によれば、各配置候補位置それぞれの配置状態と、それぞれに対応する移動時間とを同時に確認できるため、シミュレーション結果をイメージ的に捉えることが可能となり、ユーザは、シミュレート範囲のうち、どの辺りの領域で移動時間が短くなるのかなど、素早く判断することが可能となる。 According to the above inventions ( 5 ) and ( 8 ), it is possible to simultaneously confirm the placement state of each placement candidate position and the movement time corresponding to each placement candidate position. It is possible to quickly determine in which region of the simulated range the moving time is shortened.

実施の形態1.
図1は本発明の実施の形態1のロボットシステムの構成を示す模式図である。
図において1は水平多関節ロボット、2はコントロールユニット、3はコントロールユニット2からの制御信号に従って水平多関節ロボット1の各関節の各モータを駆動するドライブユニットである。4はコントロールユニット2から出力されるデータを表示するCRTモニターである。5はキーボード、6はマウスで、ユーザがコントロールユニット2を操作したり、ユーザプログラムを作成する際の入力装置として使用される。
Embodiment 1 FIG.
FIG. 1 is a schematic diagram showing the configuration of the robot system according to the first embodiment of the present invention.
In the figure, 1 is a horizontal articulated robot, 2 is a control unit, and 3 is a drive unit that drives each motor of each joint of the horizontal articulated robot 1 in accordance with a control signal from the control unit 2. Reference numeral 4 denotes a CRT monitor for displaying data output from the control unit 2. A keyboard 5 and a mouse 6 are used as an input device when the user operates the control unit 2 or creates a user program.

図2は水平多関節ロボットの概要図である。
図において、11は、基台12の上部に回動自在に設けられた軸で、該軸11には第1アーム13が取付られ、該第1アーム13は軸11によってXY水平面を旋回するようになっている。この第1アーム13の先端部には軸14が回動自在に設けられ、該軸14には第2アーム15の基端部が取り付けられ、軸14によって第2アーム15がXY水平面を旋回するようになっている。第2アーム15の先端部には、回動及びZ方向の直動自在な軸16が設けられ、該軸16には同軸にZ軸17が取りつけられ、該Z軸17は軸16と一体となって動作するようになっている。
FIG. 2 is a schematic diagram of a horizontal articulated robot.
In the figure, 11 is a shaft rotatably provided on the upper part of the base 12, and a first arm 13 is attached to the shaft 11, and the first arm 13 is swung on the XY horizontal plane by the shaft 11. It has become. A shaft 14 is rotatably provided at a distal end portion of the first arm 13, and a proximal end portion of a second arm 15 is attached to the shaft 14, and the second arm 15 rotates on the XY horizontal plane by the shaft 14. It is like that. A shaft 16 that can rotate and move in the Z direction is provided at the tip of the second arm 15. A Z-axis 17 is coaxially attached to the shaft 16, and the Z-axis 17 is integrated with the shaft 16. Is supposed to work.

このような構成の水平多関節ロボット1は、軸11及び軸14を任意の位置まで回転することにより第1アーム13及び第2アーム15をXY水平面の任意の位置に移動させることができるようになっている。なお、本来、水平多関節ロボット1の動作は前述の軸11、14、16、17の4つの軸を制御することにより完結するものである。本発明はXY水平面の動作に関わるものであるので、Z軸方向の動作については省略し、XY水平面の動作に大きく関連している軸11、第1アーム13、軸14、第2アーム15動作を中心に説明を進めることにする。   The horizontal articulated robot 1 having such a configuration can move the first arm 13 and the second arm 15 to arbitrary positions on the XY horizontal plane by rotating the shaft 11 and the shaft 14 to arbitrary positions. It has become. Note that the operation of the horizontal articulated robot 1 is essentially completed by controlling the four axes 11, 14, 16, and 17 described above. Since the present invention relates to the movement of the XY horizontal plane, the movement in the Z-axis direction is omitted, and the movement of the shaft 11, the first arm 13, the shaft 14, and the second arm 15 that are largely related to the movement of the XY horizontal plane. The explanation will proceed with a focus on.

図3はコントロールユニットの概略構成を示す図である。
コントロールユニット2は、演算装置(CPU)21、ROM22、RAM23、HD24、HDD25、FDD26、ドライブユニット3と通信するためのドライバーインターフェース27等を備えている。
FIG. 3 is a diagram showing a schematic configuration of the control unit.
The control unit 2 includes an arithmetic unit (CPU) 21, ROM 22, RAM 23, HD 24, HDD 25, FDD 26, driver interface 27 for communicating with the drive unit 3, and the like.

HD24には、ティーチング時に指定された動作位置やユーザにより作成されたユーザプログラムなどの教示データが格納されている。ROM22には、ユーザプログラムを解釈実行するための後述の図8及び図9に示すフローチャートに対応した解釈実行プログラム、図10〜図12に示すフローチャートに対応したシミュレーションプログラム等、CPU21が動作するための各種プログラムが格納されている。   The HD 24 stores teaching data such as an operation position designated at teaching and a user program created by the user. The ROM 22 is used for operating the CPU 21 such as an interpretation execution program corresponding to flowcharts shown in FIGS. 8 and 9 described later for interpreting and executing the user program, a simulation program corresponding to the flowcharts shown in FIGS. Various programs are stored.

CPU21は、ユーザプログラムを構成している命令を、解釈実行プログラムに従って1命令ずつ解釈実行し、ユーザの意図する動作をユーザプログラムに記述された順番に実行する。解釈実行プログラムは、ユーザプログラムの最終命令までの解釈実行が終了すると、シミュレーションプログラムをコールして、シミュレーションプログラムに制御を受け渡すように構成されている。このCPU21と解釈実行プログラムで解釈実行手段が構成され、CPU21とシミュレーションプログラムとで演算手段が構成されている。   The CPU 21 interprets and executes the instructions constituting the user program one by one according to the interpretation execution program, and executes the operation intended by the user in the order described in the user program. When the interpretation execution up to the final instruction of the user program is completed, the interpretation execution program is configured to call the simulation program and transfer control to the simulation program. The CPU 21 and the interpretation execution program constitute interpretation execution means, and the CPU 21 and the simulation program constitute arithmetic means.

RAM23は、CPU21が解釈実行プログラムやシミュレーションプログラム等の各種プログラムに従って動作する際に使用され、各種プログラムの実行に必要なフラグや各種パラメータの一時記憶に利用されるメモリである。   The RAM 23 is a memory used when the CPU 21 operates in accordance with various programs such as an interpretation execution program and a simulation program, and is used for temporary storage of flags and various parameters necessary for executing the various programs.

以上のように構成されたコントロールユニット2は、上記の説明でもわかるように、一般的なパーソナルコンピュータにドライバーインターフェース27を追加した構成となっている。   The control unit 2 configured as described above has a configuration in which a driver interface 27 is added to a general personal computer, as can be seen from the above description.

図4は、本実施の形態1の最適位置決定支援方法の流れの概要を示す図である。
本実施の形態1の最適位置決定支援方法は、大まかに段階を分けると、水平多関節ロボット1のロボットアームの第1候補移動経路を特定する動作位置(第1候補位置及び固定位置)を指定する段階(S1)と、シミュレート範囲を指定する段階(S2)と、シミュレート範囲内の複数の第2候補位置とを指定する段階(S3)と、第1候補位置を、第2候補位置に変えて第1候補移動経路を変更した第2候補移動経路を順次求め、第1候補移動経路及び各第2候補移動経路それぞれに従って水平多関節ロボット1を擬似的に動作させてシミュレーションを行い各移動経路それぞれでのロボットアームの移動時間を求める段階(S4)と、シミュレーション結果を出力する段階(S5)とで構成される。
FIG. 4 is a diagram showing an outline of the flow of the optimum position determination support method according to the first embodiment.
The optimum position determination support method according to the first embodiment roughly specifies the operation position (first candidate position and fixed position) for specifying the first candidate movement path of the robot arm of the horizontal articulated robot 1. Performing (S1), designating a simulation range (S2), designating a plurality of second candidate positions within the simulation range (S3), and selecting the first candidate position as the second candidate position The second candidate movement route obtained by changing the first candidate movement route instead of the first candidate movement route is sequentially obtained, and the horizontal articulated robot 1 is simulated in accordance with the first candidate movement route and each of the second candidate movement routes. It comprises a step (S4) for obtaining the movement time of the robot arm along each movement path and a step (S5) for outputting a simulation result.

第1候補位置及び固定位置、シミュレート範囲、各第2候補位置は、これらの各データを指定する命令がユーザプログラム中に記述されており、これら各命令をCPU21が解釈実行することにより指定されるものである。なお、以下では、第1候補位置及び各第2候補位置を、これらの各位置がステップS4におけるシミュレーションの基準位置となることからシミュレート位置と呼び、各シミュレート位置のうち、特に、第1候補位置をシミュレート対象位置と呼ぶことにする。   The first candidate position and the fixed position, the simulation range, and each second candidate position are specified by the CPU 21 interpreting and executing these instructions, in which instructions for specifying these data are described in the user program. Is. In the following, the first candidate position and each second candidate position will be referred to as a simulated position because each of these positions will be the reference position for simulation in step S4. The candidate position is called a simulation target position.

以下、本実施の形態1の最適位置決定支援方法について、具体的なロボット動作を2例挙げて説明する。   Hereinafter, the optimal position determination support method according to the first embodiment will be described using two specific robot operations.

<具体例1>
図5は、ロボット動作の具体例1を示す図で、図1に示した水平多関節ロボットのロボットアーム先端の移動経路をロボットアーム概略図で示したものである。
具体例1では、水平多関節ロボット1がロボットアーム先端をP0→P1→P5の経路で移動させ、P0に置かれた部品を、P0で保持して作業対象物W上のP1に搬送し、その後、次の作業のためにロボットアーム先端をP5に移動させる動作を行う場合を想定する。本発明の最適位置決定支援は、この具体例1でまず簡単に概要を説明すると、作業対象物W上の作業点を、実線で示した作業対象物W上のP1から、その他、例えば破線で示した作業対象物W上のP1’等に順次変えてそれぞれの移動経路でのロボットアーム移動時間をシミュレーションによって求めることで、この作業対象物Wの最適な配置位置の決定支援を行うものである。以下、詳細に説明する。
<Specific Example 1>
FIG. 5 is a diagram showing a specific example 1 of the robot operation, and shows a movement path of the tip of the robot arm of the horizontal articulated robot shown in FIG. 1 in a schematic diagram of the robot arm.
In the first specific example, the horizontal articulated robot 1 moves the tip of the robot arm along the path P0 → P1 → P5, holds the part placed on P0, and transports it to P1 on the work object W, Then, the case where the operation | movement which moves the robot arm front-end | tip to P5 for the next operation | work is assumed. The outline of the optimum position determination support of the present invention will be briefly described in the first specific example. When the work point on the work object W is indicated by P1 on the work object W indicated by a solid line, other points, for example, by broken lines. By sequentially changing to P1 ′ etc. on the work object W shown, the robot arm movement time along each movement route is obtained by simulation, thereby determining the optimum arrangement position of the work object W. . Details will be described below.

図6は図5の具体例1の詳細説明図である。図6において、P1はシミュレート対象位置、「○」は各シミュレート位置、SRはシミュレート範囲を示している。図7は図6のシミュレーションを実現するユーザプログラムの一例を示す図である。   FIG. 6 is a detailed explanatory diagram of the first specific example of FIG. In FIG. 6, P1 indicates a simulation target position, “◯” indicates each simulation position, and SR indicates a simulation range. FIG. 7 is a diagram showing an example of a user program for realizing the simulation of FIG.

ところで、プログラムを構成するためのロボットプログラミング言語は、表1に示すように、実際にロボットを動作させるための『動作命令』、動作の回数を指定したり、条件によるプログラムの実行先を分岐させたりする『制御命令』、その他入出力命令、動作位置定義命令等の命令によって構成されている。   By the way, as shown in Table 1, the robot programming language for constructing a program specifies an “operation command” for actually operating the robot, specifies the number of operations, and branches the execution destination of the program depending on conditions. "Control command", other input / output commands, operation position definition commands, and the like.

Figure 0004706684
Figure 0004706684

通常、ロボット動作を実現するプログラムでは、まず最初にロボット動作位置を定義するための動作位置定義命令が記述され、そして、その定義された動作位置を目標位置として指定するJUMP等の動作命令が記述される構成となっている。そして、このように構成されたプログラムを実行することで、ロボットアームを、動作命令で指定された目標位置へ移動させるロボット動作が実現される。   Usually, in a program that realizes a robot operation, first, an operation position definition command for defining a robot operation position is described, and then an operation command such as JUMP that specifies the defined operation position as a target position is described. It becomes the composition which is done. And the robot operation | movement which moves a robot arm to the target position designated with the operation | movement command is implement | achieved by running the program comprised in this way.

本実施の形態では、前述の動作命令等に加え、上述のようなシミュレーションを行うためのミュレーション命令を用意し、シミュレーション命令が適当箇所に記述されたユーザプログラムをCPU21が解釈実行することで、水平多関節ロボット1を動作命令に従って実際に動作させる通常モードと、実際に水平多関節ロボット1を動作させることなく擬似的に動作させてシミュレーションを行うシミュレーションモードとを切り替えることができるようになっている。   In the present embodiment, in addition to the operation command described above, a simulation command for performing the simulation as described above is prepared, and the CPU 21 interprets and executes the user program in which the simulation command is described in an appropriate place. It is possible to switch between a normal mode in which the horizontal articulated robot 1 is actually operated according to an operation command and a simulation mode in which simulation is performed by operating the horizontal articulated robot 1 in a pseudo manner without actually operating the horizontal articulated robot 1. Yes.

表2はシミュレーション命令の詳細を示す表である。   Table 2 shows the details of the simulation instruction.

Figure 0004706684
Figure 0004706684

表2に示すように、シミュレーション命令は、シミュレーションモードON命令、シミュレーションモードOFF命令、シミュレート位置設定命令、シミュレート範囲設定命令、時間推定開始命令、時間推定終了命令で構成されている。この各命令の詳細については、以下、該当箇所で適宜説明することにする。   As shown in Table 2, the simulation command includes a simulation mode ON command, a simulation mode OFF command, a simulation position setting command, a simulation range setting command, a time estimation start command, and a time estimation end command. The details of each command will be described as appropriate in the corresponding sections below.

図7のユーザプログラムにおいて、1〜4行目は「‘ 」で始まるコメント文、5〜7行目に記述された命令は、ロボットの移動経路を指定するための動作位置を定義するための動作位置定義命令で、例えば5行目の動作位置定義命令では、P0を、X座標、Y座標、Z座標、XY平面の回転角をそれぞれ250、0、0、0と定義している。なお、この例では、ユーザプログラムでロボット動作位置を指定しているが、ティーチングにより指定するようにしても良い。   In the user program of FIG. 7, comment statements starting with “′” are in the first to fourth lines, and commands described in the fifth to seventh lines are operations for defining an operation position for designating a movement path of the robot. In the position definition command, for example, in the operation position definition command on the fifth line, P0 is defined as X, Y, Z, and XY plane rotation angles as 250, 0, 0, and 0, respectively. In this example, the robot operation position is specified by the user program, but may be specified by teaching.

そして、9行目に記述された命令「SIM MODE ON」は、表1及び表2に示すようにシミュレーションモードON命令で、この命令によってシミュレーションモードをONにすることにより、この命令以降に動作命令があっても、実際のロボット動作を起動することなく、擬似的に動作させてシミュレーションを行うシミュレーションモードに設定される。   The command “SIM MODE ON” described in the ninth line is a simulation mode ON command as shown in Tables 1 and 2. By turning on the simulation mode by this command, an operation command is executed after this command. Even if there is, a simulation mode in which simulation is performed by simulating the actual robot operation without activating it is set.

ついで、10行目に記述された命令「SIM POS(P1)」により、シミュレート対象位置をP1と指定している。なお、シミュレート対象位置P1の座標は先に定義されているように(X=50,Y=100)である。   Next, the simulation target position is designated as P1 by the instruction “SIM POS (P1)” described in the tenth line. Note that the coordinates of the simulation target position P1 are (X = 50, Y = 100) as defined above.

11行目に記述された命令「SIM RANGE(50,3,-2,25,2,0)」は、シミュレート範囲設定命令で、図6に示すシミュレート範囲SRを指定している。シミュレート範囲設定命令の各パラメータ(表2参照)は、最初から順にXステップ距離、Xステップ開始カウント、Xステップ終了カウント、Yステップ距離、Yステップ開始カウント、Yステップ終了カウントである。   The instruction “SIM RANGE (50,3, −2,25,2,0)” described in the eleventh line is a simulation range setting instruction and specifies the simulation range SR shown in FIG. Each parameter (see Table 2) of the simulation range setting command is an X step distance, an X step start count, an X step end count, a Y step distance, a Y step start count, and a Y step end count in order from the beginning.

Xステップ距離は、図6の距離SXに相当するもので、シミュレート範囲SR内の各シミュレート位置間のX方向の間隔である。Yステップ距離は図6の距離SYに相当するもので、シミュレート範囲SR内の各シミュレート位置間のY方向の間隔である。   The X step distance corresponds to the distance SX in FIG. 6 and is an interval in the X direction between each simulated position in the simulated range SR. The Y step distance corresponds to the distance SY in FIG. 6 and is the interval in the Y direction between the simulated positions in the simulated range SR.

このシミュレート範囲設定命令では、シミュレート対象位置P1を基準としてX軸の正方向にXステップ距離をXステップ開始カウント(すなわち3回)進めたX座標値と、Y軸の正方向にYステップ距離をYステップ開始カウント(すなわち2回)進めたY座標値とで特定される点Paと、X軸方向にXステップ距離をXステップ終了カウント(すなわちX軸の負方向に2回)進めたX座標値と、Y軸方向にYステップ距離をYステップ終了カウント(すなわち0回)進めたY座標値とで特定される点Pbを対角の端点とした四角形の領域において、X方向にSX間隔、Y方向にSY間隔で刻まれた各点をシミュレート位置と指定している。   In this simulation range setting command, the X coordinate value obtained by advancing the X step distance by X step start count (that is, three times) in the positive direction of the X axis with respect to the simulation target position P1, and the Y step in the positive direction of the Y axis. The point Pa specified by the Y coordinate value obtained by advancing the distance by the Y step start count (ie twice) and the X step distance in the X axis direction are advanced by the X step end count (ie twice in the negative direction of the X axis). SX in the X direction in the rectangular region with the point Pb specified by the X coordinate value and the Y coordinate value obtained by advancing the Y step distance in the Y axis direction by the Y step end count (ie, 0 times) as a diagonal end point Each point carved at intervals and SY intervals in the Y direction is designated as a simulation position.

なお、以下では、シミュレート対象位置からの各シミュレート位置への距離をシミュレート量と呼ぶことにする。よって、ここでは、シミュレート量は、X方向について、+150、+100、+50、0、−50、−100となり、Y方向について、+50、+25、0となる。また、シミュレート範囲SR内の各シミュレート位置を、ステップカウントを用いて、PS(Xステップカウント,Yステップカウント)と表現することにする。よって、例えばPaはPS(3,2)、PbはPS(−2,0)と表現されることになる。なお、各シミュレート位置のうち、或る1点を特定しないときはシミュレート位置PSと表現することにする。   Hereinafter, the distance from the simulation target position to each simulation position is referred to as a simulation amount. Therefore, here, the simulated amounts are +150, +100, +50, 0, −50, −100 in the X direction, and +50, +25, 0 in the Y direction. Each simulated position in the simulated range SR is expressed as PS (X step count, Y step count) using a step count. Therefore, for example, Pa is expressed as PS (3, 2), and Pb is expressed as PS (-2, 0). In addition, when a certain point is not specified among each simulated position, it will be expressed as a simulated position PS.

図7の説明に戻る。13行目に記述された命令「JUMP P0」はロボットアームをP0へ移動させる動作を指示するものである。この例では、上述したようにP0からシミュレート位置PSへ移動し、そしてさらにP5へ移動するまでの移動時間をシミュレーションにより求めるものであるため、シミュレーションによる移動時間推定開始を指示する時間推定開始命令「SIM START」と、シミュレーションによる移動時間推定終了を指示する時間推定終了命令「SIM STOP」との間に、「JUMP P1」、「JUMP P5」を記述することにより、これをプログラミングしている。   Returning to the description of FIG. The command “JUMP P0” described in the 13th line is an instruction to move the robot arm to P0. In this example, since the movement time from P0 to the simulation position PS and further to P5 is obtained by simulation as described above, a time estimation start command for instructing start of movement time estimation by simulation is obtained. This is programmed by describing “JUMP P1” and “JUMP P5” between “SIM START” and a time estimation end instruction “SIM STOP” for instructing the end of movement time estimation by simulation.

このように構成されたユーザプログラムを実行することにより、P1→PS→P5の移動経路がシミュレート位置PSを順次変更したそれぞれについて特定され、各移動経路それぞれでのロボットアームの移動時間がシミュレーションによって求められる。以下、ユーザプログラムを解釈実行するプログラム解釈実行プログラムの処理の流れを説明する。   By executing the user program configured as described above, the movement path of P1 → PS → P5 is specified for each of the simulation positions PS sequentially changed, and the movement time of the robot arm in each of the movement paths is determined by simulation. Desired. Hereinafter, the flow of processing of a program interpretation execution program that interprets and executes a user program will be described.

図8、プログラム解釈実行プログラムの処理の流れを示すフローチャートである。
なお、本実施の形態のプログラム解釈実行プログラムは、ユーザプログラムを1行目から最終行まで順に1命令ずつ読み込んで解釈し、それぞれ命令に応じた処理を行った後、この1回目のユーザプログラムの解釈実行によってシミュレーションフラグがONに設定された場合に、シミュレーションプログラムをコールしてシミュレーション処理を行うように構成されている。これは、ユーザが、ユーザプログラム中でシミュレーションフラグをON/OFFに設定するだけで、実際にロボットを動作させる場合の通常モードと、動作させずにシミュレーションを行うシミュレーションモードとを切り替えることを可能とするための構成である。
FIG. 8 is a flowchart showing the flow of processing of the program interpretation execution program.
The program interpretation execution program according to the present embodiment reads and interprets the user program one by one from the first line to the last line, performs processing according to each instruction, and then executes the first user program. When the simulation flag is set to ON by interpretation execution, a simulation program is called to perform simulation processing. This allows the user to switch between the normal mode when actually operating the robot and the simulation mode in which the simulation is performed without operating by simply setting the simulation flag ON / OFF in the user program. It is the structure for doing.

CPU21は、まず最初にプログラムカウンタとロボット位置とを初期化すると共に、シミュレーションフラグをOFFにする(S11)。ついで、ユーザプログラムの1行目の命令を読み込み(S12)、命令の内容に応じて次の動作に移行する(S13)。   The CPU 21 first initializes the program counter and the robot position and turns off the simulation flag (S11). Next, the command in the first line of the user program is read (S12), and the process proceeds to the next operation according to the content of the command (S13).

読み込んだ命令がロボット動作位置定義命令であれば、ロボット動作位置を定義する(S14)。   If the read command is a robot motion position definition command, the robot motion position is defined (S14).

読み込んだ命令がシミュレーション命令であれば、シミュレーション命令の内容に応じた処理に移行する(S15)。このシミュレーション命令がシミュレーションフラグON命令であれば、シミュレーションフラグをONにし(S16)、シミュレーションフラグOFF命令であれば、シミュレーションフラグをOFFにする(S17)。また、シミュレート位置設定命令であれば、現在、シミュレーションフラグがONかどうかをチェックし(S18)、ONに設定されていれば、シミュレート位置設定命令中のパラメータで指定されているロボット動作位置をシミュレート対象位置としてRAM23に記憶する(S19)。また、シミュレート範囲設定命令であれば、同様に、現在、シミュレーションフラグがONかどうかをチェックし(S20)、ONに設定されていれば、シミュレート範囲設定命令中の各パラメータをシミュレート範囲指定パラメータ群としてRAM23に記憶する(S21)。なお、ステップS18及びS20において、シミュレーションフラグがOFFと判断した場合、すなわち、シミュレーションモードではなく通常の動作モードであれば、これらのシミュレーション命令は無視される。また、時間推定開始命令および時間推定終了命令であるときも、この1回目のユーザープログラムの読み込みの際には無視される。   If the read instruction is a simulation instruction, the process proceeds to processing according to the contents of the simulation instruction (S15). If this simulation command is a simulation flag ON command, the simulation flag is turned ON (S16), and if it is a simulation flag OFF command, the simulation flag is turned OFF (S17). If it is a simulated position setting command, it is checked whether the simulation flag is currently ON (S18). If it is set to ON, the robot operation position specified by the parameter in the simulated position setting command is checked. Is stored in the RAM 23 as a simulation target position (S19). If it is a simulation range setting command, similarly, it is checked whether the simulation flag is currently ON (S20). If it is set to ON, each parameter in the simulation range setting command is set to the simulation range. The specified parameter group is stored in the RAM 23 (S21). If it is determined in steps S18 and S20 that the simulation flag is OFF, that is, if the simulation mode is not the normal operation mode, these simulation commands are ignored. The time estimation start command and the time estimation end command are also ignored when the first user program is read.

ステップS12において読み込んだ命令が動作命令であれば、シミュレーションフラグがOFFかどうかをチェックし(S22)、OFFであれば、すなわち通常の動作モードであれば、実際にロボットを動作させる動作命令処理を行う(S23)。例えば、JUMP命令であれば、表1に示すように、ロボットアームをJUMP命令で指定される位置に門型軌道で移動させる動作を実行させる。   If the command read in step S12 is an operation command, it is checked whether the simulation flag is OFF (S22). If it is OFF, that is, if it is a normal operation mode, operation command processing for actually operating the robot is performed. Perform (S23). For example, in the case of a JUMP command, as shown in Table 1, an operation of moving the robot arm to a position specified by the JUMP command in a gate-type track is executed.

また、読み込んだ命令がその他の命令であれば、その命令に対応する処理を実行する(S24)。   If the read instruction is another instruction, processing corresponding to the instruction is executed (S24).

以上のように、読み込んだ命令に対応する処理が終了すると、CPU21はプログラム終了かどうかを判定する(S25)。読み込んだ命令がプログラムの終了を明示する「END」でない場合は、終了でないと判定し、プログラムカウンタをカウントアップし(S26)、ステップS12に戻り、次の行の命令を読み込んで、上記と同様の処理を行う。   As described above, when the processing corresponding to the read instruction is completed, the CPU 21 determines whether or not the program is terminated (S25). If the read instruction is not “END” that clearly indicates the end of the program, it is determined that the instruction is not ended, the program counter is incremented (S26), the process returns to step S12, the next line instruction is read, and the same as above. Perform the process.

上記の処理を繰り返し行い、そして、ユーザプログラムの読み込みが最終命令「END」に達すると、シミュレーションフラグがONに設定されているかどうかをチェックし(S27)、ONに設定されていれば、シミュレーションプログラムをコールしてシミュレーションプログラムに制御を移す(S28)。ステップS27においてシミュレーションフラグがONに設定されていないと判断した場合、即ちシミュレーションフラグがOFFで通常の動作モードであれば、ここで処理を終了する。   The above processing is repeated, and when the reading of the user program reaches the final instruction “END”, it is checked whether the simulation flag is set to ON (S27). And control is transferred to the simulation program (S28). If it is determined in step S27 that the simulation flag is not set to ON, that is, if the simulation flag is OFF and the normal operation mode is set, the process ends here.

以上のように、ユーザプログラムにおいて動作命令が記述されている場合、CPU21は、シミュレーションモードがOFFか否かを判断し、シミュレーションフラグがOFFの場合に動作命令処理を行って実際のロボット動作を行わせるようにしているため、シミュレーションモードのON/OFFの設定によって通常モードとシミュレーションモードとを切り替えることが可能となる。   As described above, when an operation command is described in the user program, the CPU 21 determines whether or not the simulation mode is OFF. When the simulation flag is OFF, the CPU 21 performs an operation command process to perform an actual robot operation. Therefore, it is possible to switch between the normal mode and the simulation mode by setting ON / OFF of the simulation mode.

以下、本発明の主要部であるシミュレーション処理の流れについて図面を参照しながら説明する。
図10〜図12は、シミュレーションプログラムの処理の流れを示すフローチャートである。このシミュレーションプログラムに基づくロボットコントローラの動作を、図7のユーザプログラムを実行する場合を例に説明する。なお、このシミュレーション処理に入る前の1回目のユーザプログラムの解釈実行により、シミュレート対象位置P1(250,0,0,0)及びシミュレート範囲指定パラメータ群(50,3,-2,25,2,0)が既にRAM23に記憶されているものとする。
Hereinafter, the flow of simulation processing, which is the main part of the present invention, will be described with reference to the drawings.
10 to 12 are flowcharts showing the flow of processing of the simulation program. The operation of the robot controller based on this simulation program will be described taking the case of executing the user program of FIG. 7 as an example. Note that the simulation target position P1 (250,0,0,0) and the simulation range designation parameter group (50,3, -2,25, 2,0) is already stored in the RAM 23.

CPU21は、X及びYシミュレートステップカウンタをそれぞれ初期化すると共に、計測時間カウンタを0に初期化し、Xシミュレートステップカウンタ及びYシミュレートステップカウンタの最終値を、RAM23に格納されたシミュレート範囲指定パラメータ群に基づいて設定する(S31)。   The CPU 21 initializes the X and Y simulation step counters, initializes the measurement time counter to 0, and sets the final values of the X simulation step counter and the Y simulation step counter to the simulation range stored in the RAM 23. The setting is made based on the designated parameter group (S31).

ここで、Xシミュレートステップカウンタはシミュレート範囲指定パラメータ群のうち、Xステップ開始カウントの値に初期化される。よってここでは「3」に初期化され、同様にYシミュレートステップカウンタは「2」に初期化される。また、Xシミュレートステップカウンタの最終値には、Xステップ終了カウントが設定され、Yシミュレートステップカウンタの最終値には、Yステップ終了カウントが設定される。   Here, the X simulation step counter is initialized to the value of the X step start count in the simulation range designation parameter group. Therefore, here, it is initialized to “3”, and similarly, the Y simulation step counter is initialized to “2”. Further, the X step end count is set as the final value of the X simulated step counter, and the Y step end count is set as the final value of the Y simulated step counter.

続いて、プログラムカウンタを初期化すると共に、ロボット位置を初期化する(S32)。そして、ユーザプログラムを1行目の命令から読み込み(S33)、命令の内容に応じて次の動作に移行する(S34)。   Subsequently, the program counter is initialized and the robot position is initialized (S32). Then, the user program is read from the instruction on the first line (S33), and the process proceeds to the next operation according to the contents of the instruction (S34).

1行目は「’」で始まるコメント文であることから、「その他の命令」として処理される(S39)。その後、CPU21はプログラム終了か否かをチェックし(S40)、ここではまだ終了でないと判断し、プログラムカウンタをカウントアップして(S49)、ステップS33に戻り、次の行の命令を読み込む。   Since the first line is a comment sentence starting with “′”, it is processed as “other command” (S39). Thereafter, the CPU 21 checks whether or not the program is finished (S40). Here, the CPU 21 determines that the program has not finished yet, counts up the program counter (S49), returns to step S33, and reads the instruction on the next line.

同様の処理が4行目の命令まで行われる。そして、CPU21は5行目に記述された命令を読み込むと、ロボット動作位置定義命令であると解釈し、シミュレーション命令でも、動作命令でもないその他の命令であると判断して、対応する処理を行って(S39)、ステップS40に移行する。なお、動作位置定義命令による動作位置の定義は既に当該ユーザプログラムの1回目の解釈実行時に行われていることから、ここでは、実際には何ら処理は行われない。6行目、7行目の動作位置定義命令においても同様である。   Similar processing is performed up to the fourth line command. When the CPU 21 reads the command described in the fifth line, it interprets it as a robot motion position definition command, determines that it is another command that is neither a simulation command nor a motion command, and performs the corresponding processing. (S39), the process proceeds to step S40. Note that since the operation position definition by the operation position definition command has already been performed at the time of the first interpretation execution of the user program, no processing is actually performed here. The same applies to the operation position definition commands on the sixth and seventh lines.

続いてCPU21は、9行目に記述された「SIM MODE ON」を読み込むと、シミュレーション命令のうち(S35)、時間推定開始命令でも、時間推定終了命令でもない、その他のシミュレーションであることから、この命令を無視し、ステップS40に移行する。そして、ステップS40のプログラム終了判定を行い、プログラムカウンタをカウンタアップして(S49)、ステップS33に戻り、次の命令を読み込む。10行目、11行目も時間推定開始命令、時間推定終了命令のどちらでもないことから、同様にプログラムカウンタがカウンタアップされるのみの処理となる。   Subsequently, when the CPU 21 reads “SIM MODE ON” described in the ninth line, among the simulation commands (S35), it is another simulation that is neither a time estimation start command nor a time estimation end command. This command is ignored and the process proceeds to step S40. Then, the program end determination in step S40 is performed, the program counter is incremented (S49), the process returns to step S33, and the next instruction is read. Since the 10th and 11th lines are neither a time estimation start command nor a time estimation end command, the program counter is simply incremented.

そして、CPU21は13行目の「JUMP P0」を読み込むと(S33)、動作命令処理を実行する(S38)。   When the CPU 21 reads “JUMP P0” on the 13th line (S33), it executes an operation command process (S38).

図12は図10の動作命令処理の流れを示すフローチャートである。このシミュレーション処理における動作命令処理は、先の図9のステップS23の動作命令処理と異なり、ロボットアームを実際に動作させるのではなく、擬似的に動作させる処理を行うものである。
CPU21は、動作命令(ここではJUMP命令)で指定された動作位置P0がシミュレート対象位置か否かをRAM23を参照して判断する(S38a)。P0は、RAM23にシミュレート対象位置として記憶されたP1と異なるため、シミュレート対象位置ではないと判断し、ステップS38cに移行してロボットをJUMP命令に従って擬似的に動作させる。すなわち、コントロールユニット2内では、ロボットアームをP0に移動させたものとして処理される。ついで、計測内部フラグがONか否かを判断し(S38d)、ここではOFFであるため、動作命令処理を終了し、図10のステップS40に移行する。そして、ステップS40のプログラム終了判定、ステップS49のプログラムカウンタアップを行って、ステップS33に戻る。
FIG. 12 is a flowchart showing the flow of the operation command process of FIG. The motion command processing in this simulation processing is different from the motion command processing in step S23 of FIG. 9 described above, in that it does not actually operate the robot arm, but performs a process of operating it in a simulated manner.
The CPU 21 refers to the RAM 23 to determine whether or not the operation position P0 designated by the operation instruction (here, the JUMP instruction) is a simulation target position (S38a). Since P0 is different from P1 stored as the simulation target position in the RAM 23, it is determined that the position is not the simulation target position, the process proceeds to step S38c, and the robot is operated in a pseudo manner according to the JUMP instruction. In other words, in the control unit 2, the robot arm is processed as being moved to P0. Next, it is determined whether or not the measurement internal flag is ON (S38d). Since it is OFF here, the operation command process is terminated, and the process proceeds to step S40 in FIG. Then, the program end determination in step S40 and the program counter up in step S49 are performed, and the process returns to step S33.

次に14行目に記述された「SIM START」を読み込むと、当該命令はシミュレーション命令のうち、時間推定開始命令であることから、CPU21は、計測内部フラグをONにし(S36)、ステップS40、ステップS49を行ってステップS33に戻る。   Next, when “SIM START” described in the 14th line is read, the instruction is a time estimation start instruction among the simulation instructions. Therefore, the CPU 21 turns on the measurement internal flag (S36), step S40, Step S49 is performed and it returns to step S33.

次に15行目に記述された「JUMP P1」を読み込むと、動作命令処理(図12参照)に移行する。CPU21は、指定された動作位置P1がRAM23にシミュレート対象位置として記憶された位置と同じであるためシミュレート対象位置であると判断し(S38a)、そのシミュレート対象位置P1をXシミュレートステップカウンタ、Yシミュレートステップカウンタに基づいてオフセットしたシミュレート位置に設定する(S38b)。ここでは、Xシミュレートステップカウンタが「3」、Yシミュレートステップカウンタが「2」であることから、シミュレート位置は、図6においてPS(3,2)で示されるシミュレート開始位置Paに設定されることになる。   Next, when “JUMP P1” described in the 15th line is read, the operation command processing (see FIG. 12) is started. The CPU 21 determines that the designated operation position P1 is the same as the position stored as the simulation target position in the RAM 23, so that it is a simulation target position (S38a). A simulated position offset based on the counter and Y simulated step counter is set (S38b). Here, since the X simulation step counter is “3” and the Y simulation step counter is “2”, the simulation position is the simulation start position Pa indicated by PS (3, 2) in FIG. Will be set.

そして、ロボットをJUMP命令に従ってシミュレート開始位置Paに擬似的に動作させる(S38c)。ついで計測内部フラグがONか否かをチェックし(S38d)、ここではONに設定されているため、ステップS38cの動作、すなわちロボットアームの、P0からシミュレート位置PS(3,2)への移動動作に必要な時間を計算する。そして、計算された移動時間を計測カウンタに追加して(S38f)、動作命令処理を終了する。そして、図10のステップS40に戻り、プログラム終了判定、ステップS49のプログラムカウンタアップを行ってステップS33に戻る。   Then, the robot is simulated to the simulation start position Pa according to the JUMP command (S38c). Next, it is checked whether or not the measurement internal flag is ON (S38d), and since it is set to ON here, the operation in step S38c, that is, the movement of the robot arm from P0 to the simulated position PS (3, 2). Calculate the time required for operation. Then, the calculated travel time is added to the measurement counter (S38f), and the operation command process is terminated. Then, the process returns to step S40 in FIG. 10, the program end determination is performed, the program counter is increased in step S49, and the process returns to step S33.

次に16行目に記述された「JUMP P5」を読み込むと、再度動作命令処理(図12参照)に移行する(S38)。P5はシミュレート対象位置でないため(S38a)、ステップS38bの処理は省略してステップS38cの処理に移行し、ロボットアームを現在位置PS(3,2)からJUMP命令で指定されたP5へ擬似的に動作させる。そして、ここでは計測内部フラグはONに設定されたままであるため(S38d)、ステップS38cの動作、すなわちロボットアームのシミュレート位置PS(3,2)からP5への移動動作に必要な時間を計算し、算出された移動時間を計測カウンタに追加する。これにより、計測カウンタには、P0→PS(3,2)→P5への移動に要する時間が格納されていることになる。そして、図10のステップS40に戻り、プログラム終了判定、ステップS49のプログラムカウンタアップを行ってステップS33に戻る。   Next, when “JUMP P5” described in the 16th line is read, the operation command processing (see FIG. 12) is again executed (S38). Since P5 is not a simulation target position (S38a), the process of step S38b is omitted and the process proceeds to the process of step S38c, and the robot arm is moved from the current position PS (3, 2) to P5 specified by the JUMP instruction. To work. Here, since the measurement internal flag remains set to ON (S38d), the time required for the operation of step S38c, that is, the movement operation from the simulated position PS (3, 2) of the robot arm to P5 is calculated. Then, the calculated travel time is added to the measurement counter. Thereby, the time required for the movement from P0 → PS (3,2) → P5 is stored in the measurement counter. Then, the process returns to step S40 in FIG. 10, the program end determination is performed, the program counter is increased in step S49, and the process returns to step S33.

次に17行目に記述された「SIM STOP」を読み込むと(S33)、CPU21は、計測内部フラグをOFFにし(S37)、ステップS40のプログラム終了判定、ステップS49のプログラムカウンタアップを行ってS33に戻り、「END」を読み込むと、プログラム終了と判定して図11に示すステップS41の処理に移行する。   Next, when “SIM STOP” described in the 17th line is read (S33), the CPU 21 turns off the measurement internal flag (S37), performs the program end determination in step S40, and increments the program counter in step S49. Returning to FIG. 11, when “END” is read, it is determined that the program is ended, and the process proceeds to step S41 shown in FIG.

ステップS41では、これまでの処理でのシミュレーション結果、すなわちシミュレート位置PS(3,2)でのシミュレーション結果を、Xシミュレート量、Yシミュレート量、計測カウンタ値の3データを1組とするシミュレートデータとしてRAM23に記憶する。Xシミュレート量、Yシミュレート量は、ここでは、「+150、50」となる。   In step S41, the simulation result in the process so far, that is, the simulation result at the simulation position PS (3, 2) is made into a set of three data of the X simulation amount, the Y simulation amount, and the measurement counter value. It is stored in the RAM 23 as simulated data. Here, the X simulation amount and the Y simulation amount are “+150, 50”.

ついで、Xシミュレートステップカウンタが最終値に達したかをチェックする(S42)。Xシミュレートステップカウンタは、ここではまだ初期値の「3」であるため、Xシミュレートステップカウンタをカウントアップし(S43)、計測カウンタを0に初期化して(S47)、図10のステップS32に移行する。なお、Xシミュレートステップカウンタは、シミュレート範囲指定パラメータ群に含まれるXステップ終了カウントからXステップ開始カウントを減算した値が負の値を取るときは−1ずつカウントアップされ、正の値を取るときは1ずつカウントアップされる。よって、ここでは、−1カウントアップされて「2」となる。   Next, it is checked whether the X simulation step counter has reached the final value (S42). Since the X simulation step counter is still the initial value “3” here, the X simulation step counter is counted up (S43), the measurement counter is initialized to 0 (S47), and step S32 in FIG. 10 is performed. Migrate to The X simulation step counter is incremented by -1 when the value obtained by subtracting the X step start count from the X step end count included in the simulation range designation parameter group takes a negative value. When taking, it is counted up by one. Therefore, here, -1 is counted up to “2”.

CPU21は、ステップS32において、プログラムカウンタを初期化すると共に、ロボット位置を初期化して、上記と同様の処理を行う。すなわち、再度、ユーザプログラムの1行目から解釈実行する。このシミュレーション処理における2回目(通算3回目)のユーザプログラムの解釈実行時には、図11のステップS43でXシミュレートステップカウンタがカウントアップされ「2」となっていることから(なお、Yシミュレートステップカウンタは「2」のままである)、ステップS40のプログラム終了判定がYESとなるまでの間の処理によって、ロボットアームをP0→PS(2,2)→P5へ移動させるのに要する時間が計測カウンタに保持されていることになる。   In step S32, the CPU 21 initializes the program counter and initializes the robot position, and performs the same processing as described above. That is, the interpretation is executed again from the first line of the user program. At the time of interpreting and executing the user program for the second time (the third time in total) in this simulation process, the X simulation step counter is incremented to “2” in step S43 of FIG. 11 (Y simulation step) The counter remains “2”), and the time required to move the robot arm from P0 → PS (2, 2) → P5 is measured by the processing until the program end determination in step S40 becomes YES. It is held in the counter.

そして、この2回目のユーザプログラムの解釈実行によって「END」が読み込まれると、図11のステップS41によって、シミュレート位置をPS(2,2)としたときのシミュレーション結果を示すシミュレートデータがRAM23に記憶されることになる。ここでのXシミュレート量、Yシミュレート量は、それぞれ「+100」、「50」となる。そして、ステップS42でシミュレートステップカウンタが最終値に達したかを判断し、ここではまだ達していないため、Xシミュレートステップカウンタをカウントアップし(S43)、すなわち、−1カウントアップして「1」とし、計測カウンタを初期化して(S47)、図10のステップS32に戻る。   When “END” is read by the second interpretation of the user program, the simulation data indicating the simulation result when the simulation position is PS (2, 2) is stored in the RAM 23 in step S41 of FIG. Will be remembered. Here, the X simulation amount and the Y simulation amount are “+100” and “50”, respectively. In step S42, it is determined whether the simulated step counter has reached the final value. Since it has not yet reached, the X simulated step counter is counted up (S43), that is, -1 is counted up. 1 ", the measurement counter is initialized (S47), and the process returns to step S32 in FIG.

以上の処理を繰り返し行い、図11のステップS42においてXシミュレートステップカウンタが最終値に達したと判断した場合(S42)、すなわち、各シミュレート位置のうち、Yステップカウントが「2」である、図6において横一列のシミュレート位置PS(3,2)、PS(2,2)、PS(1,2)、PS(0,2)、PS(−1,2)、PS(−2,2)のシミュレーションが終了すると、Xシミュレートステップカウンタを初期化(「3」に初期化)し(S44)、Yシミュレートステップカウンタの最終値到達判定を行った上で(S45)、Yシミュレートステップカウンタをカウントアップする(S46)。   When the above process is repeated and it is determined in step S42 of FIG. 11 that the X simulation step counter has reached the final value (S42), that is, the Y step count is “2” in each simulation position. , In FIG. 6, a horizontal row of simulated positions PS (3, 2), PS (2, 2), PS (1, 2), PS (0, 2), PS (-1, 2), PS (-2 , 2) is completed, the X simulation step counter is initialized (initialized to “3”) (S44), and the final value arrival determination of the Y simulation step counter is performed (S45). The simulated step counter is counted up (S46).

このYシミュレートステップカウンタのカウントアップもXシミュレートステップカウンタのカウントアップと同様に、Yステップ終了カウントからYステップ開始カウントを減算した値が負の値を取るときは、−1ずつカウントアップされ、正の値を取るときは1ずつカウントアップされる。よって、ここではYステップカウントが「1」となり、以上の処理の繰り返しにより、Yステップカウントが「1」の各シミュレート位置のシミュレーションを行い、それぞれのシミュレート位置での移動時間の計算及びシミュレートデータの記憶を順次繰り返す。そして、Xステップカウントが「−2」の最終値に達し、且つ、Yステップカウントが「0」の最終値に達すると(S45)、RAM23に記憶した全てのシミュレート位置でのシミュレートデータをCRTモニター4に表示する(S48)。   The count up of the Y simulation step counter is also incremented by -1 when the value obtained by subtracting the Y step start count from the Y step end count takes a negative value, similarly to the count up of the X simulation step counter. When taking a positive value, it is incremented by one. Therefore, here, the Y step count is “1”, and by repeating the above processing, simulation is performed for each simulated position where the Y step count is “1”, and calculation and simulation of the movement time at each simulated position are performed. Data storage is repeated sequentially. When the X step count reaches the final value of “−2” and the Y step count reaches the final value of “0” (S45), the simulation data at all the simulation positions stored in the RAM 23 is stored. The image is displayed on the CRT monitor 4 (S48).

図13は、CRTモニターに表示されたシミュレーション結果画面の出力例を示す図である。
このシミュレーション結果出力により、ユーザは、作業対象物Wをどの位置に配置すれば、最も短い時間で作業ができるかを判断することが可能となる。この例では、移動時間が0.80となる、Xシミュレート量+150、Yシミュレート量50の位置を最適位置と判断することができ、この最適位置に作業対象物Wを配置することにより、作業効率の高いロボット作業を実現することが可能となる。ユーザはこの結果を基に、ユーザプログラムにおいて、P1の位置を最短移動時間が得られる最適位置に定義し直し、シミュレーションモードON命令をプログラムから削除するか、またはシミュレーションモードOFF命令に書き換えることにより、効率的なロボット作業を実現するプログラムに簡単に書き換えることが可能となる。
FIG. 13 is a diagram illustrating an output example of the simulation result screen displayed on the CRT monitor.
With this simulation result output, the user can determine at which position the work object W should be placed to work in the shortest time. In this example, the positions of the X simulation amount +150 and the Y simulation amount 50 at which the movement time is 0.80 can be determined as the optimum positions, and by arranging the work object W at this optimum position, Robot work with high work efficiency can be realized. Based on this result, the user redefines the position of P1 in the user program as the optimum position where the shortest movement time can be obtained, and deletes the simulation mode ON command from the program or rewrites it as a simulation mode OFF command. It can be easily rewritten into a program that realizes efficient robot work.

<具体例2>
図14はロボット動作の具体例2を示す図で、図1に示した水平多関節ロボット1のロボットアーム先端の移動経路をロボットアーム概略図で示したものである。
この例では、水平多関節ロボット1は、ロボットアーム先端をP0から作業対象物W上のP1に移動させ、そして、作業対象物W上でその四隅のP2、P3、P4、P1にこの順に移動して各位置でそれぞれ作業を行い、この作業経路P2→P3→P4→P1での動作を再度繰り返した後、ロボットアーム先端をP5に移動させる動作を行う場合を想定する。ここでは、作業対象物Wの最適な配置位置の選出を目的として、この作業経路P2→P3→P4→P1を2回移動する動作をシミュレーションの対象とする。
<Specific example 2>
FIG. 14 is a diagram showing a specific example 2 of the robot operation, and shows a movement path of the tip of the robot arm of the horizontal articulated robot 1 shown in FIG. 1 in a schematic diagram of the robot arm.
In this example, the horizontal articulated robot 1 moves the tip of the robot arm from P0 to P1 on the work object W, and then moves to the four corners P2, P3, P4, and P1 in this order on the work object W. Then, it is assumed that the work is performed at each position, and the operation in the work paths P2, P3, P4, and P1 is repeated again, and then the robot arm tip is moved to P5. Here, for the purpose of selecting an optimal arrangement position of the work object W, an operation of moving the work path P2 → P3 → P4 → P1 twice is set as a simulation target.

図15は図14のシミュレーションを実現するユーザプログラムの一例を示す図である。
5行目から10行目でP0〜P5の各ロボット動作位置を定義している。12行目でこのユーザプログラムをシミュレーションモードで実行させることを指定している。13行目でシミュレート対象位置をP1〜P4と指定し、14行目でシミュレーションの範囲を指定している。この例では、Yステップ開始カウント及びYステップ終了カウントが共に0であるため、シミュレート位置は、シミュレート対象位置P1〜P4をそれぞれX軸の正の方向に15mm移動させた位置から、X軸の負の方向に10mm移動させた位置までの直線上に、5mm間隔で刻まれた各点となる。すなわち、図14において◆、●、○、◇で示した位置が、それぞれ各シミュレート対象位置P1、P2、P3、P4に対応する各シミュレート位置となる。また、Xステップ開始カウントが「3」であることから、最初のシミュレート位置は、PS1(3,0)、PS2(3,0)、PS3(3,0)、PS4(3,0)となる。
FIG. 15 is a diagram showing an example of a user program for realizing the simulation of FIG.
The robot operation positions P0 to P5 are defined in the 5th to 10th lines. The 12th line specifies that this user program is executed in the simulation mode. The simulation target positions are designated as P1 to P4 on the 13th line, and the simulation range is designated on the 14th line. In this example, since the Y step start count and the Y step end count are both 0, the simulation position is changed from the position obtained by moving the simulation target positions P1 to P4 by 15 mm in the positive direction of the X axis. These points are engraved at intervals of 5 mm on a straight line up to a position moved 10 mm in the negative direction. That is, the positions indicated by ◆, ●, ○, and ◇ in FIG. 14 are the simulation positions corresponding to the simulation target positions P1, P2, P3, and P4, respectively. Since the X step start count is “3”, the first simulated positions are PS1 (3, 0), PS2 (3, 0), PS3 (3, 0), PS4 (3, 0), and so on. Become.

また、このシミュレーションは、上述したように、P0からP1へ移動した後の、P2→P3→P4→P1の2回の繰り返し移動動作を対象としているため、16行目、17行目でP0,P1への動作命令が記述された後、18行目で移動時間推定の開始が指示され、そして、19行目から24行目までの「FOR … NEXT」ルーチンによってP2→P3→P4→P1への動作命令を2回繰り返すように記述され、25行目で移動時間推定の終了が指示され、そして、26行目でP5への動作命令が記述されたユーザプログラムとなっている。   In addition, as described above, since this simulation is intended for two repetitive movement operations of P2-> P3-> P4-> P1 after moving from P0 to P1, P0, After the operation command to P1 is described, the start of travel time estimation is instructed in the 18th line, and from the 19th line to the 24th "FOR ... NEXT" routine, P2 → P3 → P4 → P1 This is a user program in which the movement time estimation is instructed at the 25th line and the movement instruction to P5 is described at the 26th line.

このように構成されたユーザプログラムを上述の図10〜図12のフローチャートに従って処理することで、まず、ロボットアームをPS2(3,0)→PS3(3,0)→PS4(3,0)→PS1(3,0)の作業経路を2回移動させるのに要する移動時間が求められ、ついで作業経路をPS2(2,0)→PS3(2,0)→S4(2,0)→PS1(2,0)とした場合での同様の移動時間が求められる。すなわち、作業対象物WをX軸に平行に5mmずつ移動させてそれぞれの位置でのシミュレーションが行われることになる。そして、作業経路をPS2(−2,0)→PS3(−2,0)→PS4(−2,0)→PS1(−2,0)としたときのシミュレーションが終了すると、シミュレーション結果画面がCRTモニター4に表示される。   By processing the user program configured as described above in accordance with the flowcharts of FIGS. 10 to 12, first, the robot arm is moved to PS2 (3, 0) → PS3 (3,0) → PS4 (3,0) → The travel time required to move the work path of PS1 (3, 0) twice is obtained, and then the work path is changed to PS2 (2, 0) → PS3 (2,0) → S4 (2,0) → PS1 ( 2, 0), the same travel time is obtained. That is, the work object W is moved by 5 mm in parallel to the X axis, and simulation is performed at each position. When the simulation is completed when the work path is PS2 (−2, 0) → PS3 (−2,0) → PS4 (−2,0) → PS1 (−2,0), the simulation result screen is CRT. Displayed on the monitor 4.

図16は、CRTモニターに表示されたシミュレーション結果画面の出力例を示す図である。
シミュレーション結果出力により、ユーザは、作業対象物Wをどの位置に配置すれば、最も短い時間で作業ができるかを判断することが可能となる。この例では、移動時間が4.53となる、Xシミュレート量が+15、Yシミュレート量が0の位置を最適位置と判断することができ、この最適位置に作業対象物Wを配置することにより、作業効率の高いロボット作業を実現することが可能となる。ユーザはこの結果を基に、ユーザプログラムにおいて、P1、P2、P3、P4の位置を最短移動時間が得られる最適位置に定義し直し、シミュレーションモードON命令をプログラムから削除するか、またはシミュレーションモードOFF命令に書き換えることにより、効率的なロボット作業を実現するプログラムに簡単に書き換えることが可能となる。
FIG. 16 is a diagram illustrating an output example of the simulation result screen displayed on the CRT monitor.
The simulation result output allows the user to determine at which position the work object W is to be placed in the shortest time. In this example, the position where the movement time is 4.53, the X simulation amount is +15, and the Y simulation amount is 0 can be determined as the optimum position, and the work object W is arranged at this optimum position. Thus, it is possible to realize robot work with high work efficiency. Based on this result, the user redefines the positions of P1, P2, P3, and P4 in the user program as the optimum positions where the shortest movement time can be obtained, and deletes the simulation mode ON command from the program or turns off the simulation mode. By rewriting the command, it is possible to easily rewrite the program to realize efficient robot work.

実施の形態2.
本実施の形態2は、シミュレーション結果の効果的な出力方法に関するものである。
図17は、シミュレーション結果出力の他の構成例1を示す図である。なお、ここでは図7のユーザプログラムに対応したものを例示している。この構成例1は、シミュレート対象位置でのシミュレートデータと、移動時間が最短となる最適位置でのシミュレートデータを、太字で強調表示するようにしたものである。なお、CRTモニター4がカラー表示可能なものであれば、表示色を変えて強調表示するようにしても良い。また、この構成例1では、シミュレートデータのリスト表示の他に、シミュレート対象位置の絶対位置(座標値)と移動時間とを含むシミュレート対象位置情報を表示し、更に、最適位置の絶対位置(座標値)と移動時間と、シミュレート対象位置の場合と比較して短縮されるであろう時間(図17において括弧内の数値)とを含む最適位置情報を表示するようにしている。
Embodiment 2. FIG.
The second embodiment relates to an effective output method of simulation results.
FIG. 17 is a diagram illustrating another configuration example 1 of the simulation result output. In addition, the thing corresponding to the user program of FIG. 7 is illustrated here. In this configuration example 1, the simulation data at the simulation target position and the simulation data at the optimal position where the movement time is the shortest are highlighted in bold. If the CRT monitor 4 can display in color, the display color may be changed and highlighted. Further, in this configuration example 1, in addition to the simulation data list display, simulation target position information including the absolute position (coordinate value) of the simulation target position and the movement time is displayed, and the absolute position of the optimum position is further displayed. The optimum position information including the position (coordinate value), the moving time, and the time (numerical value in parentheses in FIG. 17) that will be shortened compared to the case of the simulation target position is displayed.

以上のように表示することで、ユーザは、リスト表示された複数のシミュレートデータの中から、シミュレート対象位置でのシミュレートデータと、最適位置でのシミュレートデータとを直ちに選出することが可能となる。また、このリスト表示と同時にシミュレート対象位置と最適位置のそれぞれの座標値が表示されるため、ユーザは、このシミュレーション結果に基づいてユーザプログラムを書き換える際に、これらの座標値を利用して簡単にユーザプログラムを変更することが可能となる。なお、強調表示の方法は、太字表示、異色表示に限られず、シミュレート対象位置及び最適位置でのシミュレートデータの選出が視覚的に容易な形式を各種採用できる。   By displaying as described above, the user can immediately select the simulation data at the simulation target position and the simulation data at the optimum position from among a plurality of simulation data displayed in the list. It becomes possible. Also, since the coordinate values of the simulation target position and the optimum position are displayed simultaneously with this list display, the user can easily use these coordinate values when rewriting the user program based on the simulation result. It becomes possible to change the user program. Note that the highlighting method is not limited to bold display and different color display, and various types of visually easy selection of simulation data at the simulation target position and the optimal position can be adopted.

図18は、シミュレーション結果出力の他の構成例2を示す図である。
この構成例2は、図17においてリスト表示された部分の表示形式を変えたもので、各シミュレート位置それぞれでの移動時間を、その移動時間に対応するシミュレート位置の位置関係を視覚的に確認できるように表示するものである。上記では、シミュレート範囲を四角形で構成し、各シミュレート位置をシミュレート範囲内でマトリックス状に配置した構成としているので、ここでは各移動時間がマトリックス状に表示されている。この表示により、各シミュレート位置の配置状態と、それぞれに対応する移動時間とを視覚的に同時に確認することが可能となるため、シミュレーション結果をイメージ的に捉えることが可能となり、ユーザは、シミュレーション範囲のうち、どの辺りの領域で移動時間が短くなるのかなどを素早く判断することが可能となる。なお、シミュレート範囲は、上記のような四角形に限られたものではなく、例えば円形や三角形など任意の形状とすることが可能である。
FIG. 18 is a diagram illustrating another configuration example 2 of the simulation result output.
In this configuration example 2, the display format of the part displayed in the list in FIG. 17 is changed. The moving time at each simulated position is visually shown as the positional relationship of the simulated positions corresponding to the moving time. It is displayed so that it can be confirmed. In the above description, the simulation range is configured by a rectangle, and each simulation position is arranged in a matrix within the simulation range, so that each moving time is displayed in a matrix here. This display makes it possible to visually confirm the placement state of each simulation position and the corresponding travel time at the same time, so that the simulation result can be captured in an image, and the user can simulate It is possible to quickly determine in which area of the range the moving time is shortened. Note that the simulation range is not limited to the quadrangular shape as described above, and may be an arbitrary shape such as a circular shape or a triangular shape.

本発明の各実施の形態のロボットシステムの構成を示す模式図。The schematic diagram which shows the structure of the robot system of each embodiment of this invention. 図1の水平多関節ロボットの概要図。FIG. 2 is a schematic diagram of the horizontal articulated robot of FIG. 1. 図1のコントロールユニットの概略構成を示す図。The figure which shows schematic structure of the control unit of FIG. 本実施の形態1の最適位置決定支援処理の流れの概要を示す図。FIG. 5 is a diagram showing an outline of a flow of optimum position determination support processing according to the first embodiment. ロボット動作の具体例1を示す図。The figure which shows the specific example 1 of robot operation | movement. 図5の具体例1の詳細説明図。Detailed explanatory drawing of the specific example 1 of FIG. 図6のシミュレーションを実現するユーザプログラムの一例を示す図。The figure which shows an example of the user program which implement | achieves the simulation of FIG. プログラム解釈実行プログラムの処理の流れを示すフローチャート(1/2)。The flowchart (1/2) which shows the flow of a process of a program interpretation execution program. プログラム解釈実行プログラムの処理の流れを示すフローチャート(2/2)。The flowchart (2/2) which shows the flow of a process of a program interpretation execution program. シミュレーションプログラムの処理の流れを示すフローチャート(1/3)。The flowchart (1/3) which shows the flow of a process of a simulation program. シミュレーションプログラムの処理の流れを示すフローチャート(2/3)。The flowchart (2/3) which shows the flow of a process of a simulation program. シミュレーションプログラムの処理の流れを示すフローチャート(3/3)。The flowchart (3/3) which shows the flow of a process of a simulation program. CRTモニターに表示されたシミュレーション結果画面の出力例を示す図(その1)。The figure which shows the example of an output of the simulation result screen displayed on the CRT monitor (the 1). ロボット動作の具体例2を示す図。The figure which shows the specific example 2 of robot operation | movement. 図14のシミュレーションを実現するユーザプログラムの一例を示す図。The figure which shows an example of the user program which implement | achieves the simulation of FIG. CRTモニターに表示されたシミュレーション結果画面の出力例を示す図(その2)。FIG. 10 is a diagram illustrating an output example of a simulation result screen displayed on the CRT monitor (part 2); シミュレーション結果出力の他の構成例1を示す図。The figure which shows the other structural example 1 of a simulation result output. シミュレーション結果出力の他の構成例2を示す図。The figure which shows the other structural example 2 of a simulation result output. 第1アームと第2アームを有する水平多関節ロボットのロボットアーム先端を点Aから点Bに移動するときの各アームの回転角度の説明図。Explanatory drawing of the rotation angle of each arm when moving the robot arm front-end | tip of the horizontal articulated robot which has a 1st arm and a 2nd arm from the point A to the point B. FIG. 第1アームと第2アームを有する水平多関節ロボットのロボットアーム先端を点Cから点Dに移動するときの各アームの回転角度の説明図。Explanatory drawing of the rotation angle of each arm when moving the robot arm front-end | tip of a horizontal articulated robot which has a 1st arm and a 2nd arm from the point C to the point D. FIG. 図19及び図20の第1アームが415mm、第2アームが235mmときの水平多関節ロボットのロボットアーム先端を、X軸方向に30cm、1往復した時の移動時間を示す棒グラフ図。The bar graph figure which shows the movement time when the robot arm front-end | tip of a horizontal articulated robot when the 1st arm of FIG.19 and FIG.20 is 415 mm and a 2nd arm is 235 mm makes 1 reciprocation in the X-axis direction. 図21の往復動作を行う水平多関節ロボットの模式図。The schematic diagram of the horizontal articulated robot which performs the reciprocating motion of FIG.

符号の説明Explanation of symbols

1 水平多関節ロボット、2 コントロールユニット、5 キーボード、6 マウス、21 CPU、22 ROM、24 HD。   1 horizontal articulated robot, 2 control unit, 5 keyboard, 6 mouse, 21 CPU, 22 ROM, 24 HD.

Claims (10)

水平多関節ロボットの動作位置の配置決定により、作業対象物の最適配置決定を支援する方法であって、
前記水平多関節ロボットのロボットアームの移動経路を特定する第1固定位置、シミュレート対象位置及び第2固定位置を指定し、前記シミュレート対象位置を含むシミュレート範囲を指定し、さらに、前記シミュレート範囲内において前記シミュレート対象位置を基準として所定のX座標間隔及び所定のY座標間隔で刻んだ位置を複数のシミュレート位置として指定し、
前記第1固定位置、前記シミュレート対象位置及び前記第2固定位置をこの順で通過する移動経路に従って前記ロボットを擬似的に動作させるシミュレーションを、前記シミュレート対象位置をシミュレート範囲内の前記シミュレート位置に順次変えて作成した複数の移動経路それぞれについて行い、前記シミュレート対象位置及び前記各シミュレート位置のうち、前記ロボットアームの移動時間が最も短くなる移動経路に対応する最適位置のシミュレーション結果を少なくとも出力することによって、前記作業対象物の最適位置を決定する
ことを特徴とする作業対象物の配置決定方法。
A method for supporting the determination of the optimal arrangement of the work object by determining the movement position of the horizontal articulated robot ,
A first fixed position, a simulation target position, and a second fixed position for specifying a movement path of the robot arm of the horizontal articulated robot are designated, a simulation range including the simulation target position is designated, and the simulation is further performed. Designating a plurality of simulated positions at a predetermined X-coordinate interval and a predetermined Y-coordinate interval with reference to the simulation target position within a range,
A simulation is performed in which the robot is simulated in accordance with a movement path that passes through the first fixed position, the simulation target position, and the second fixed position in this order, and the simulation target position is within the simulation range. A simulation result of the optimal position corresponding to the movement path in which the movement time of the robot arm is the shortest among the simulation target position and each of the simulation positions. The work object placement determination method is characterized in that an optimum position of the work object is determined by outputting at least .
前記所定のX座標間隔及び前記所定のY座標間隔を任意に変更可能としたことを特徴とする請求項1記載の作業対象物の配置決定方法。 2. The work object placement determination method according to claim 1, wherein the predetermined X coordinate interval and the predetermined Y coordinate interval can be arbitrarily changed . 水平多関節ロボットの動作位置の配置決定により、作業対象物の最適配置を支援する作業対象物の配置決定支援装置であって、
前記水平多関節ロボットのロボットアームの移動経路を特定する第1固定位置、シミュレート対象位置及び第2固定位置と、前記シミュレート対象位置を含むシミュレート範囲と、前記シミュレート範囲内において前記シミュレート対象位置を基準として所定のX座標間隔及び所定のY座標間隔で刻んだ位置である複数のシミュレート位置とを指定する教示データを入力する入力手段と、
前記第1固定位置、前記シミュレート対象位置及び前記第2固定位置をこの順で通過する移動経路に従って前記ロボットを擬似的に動作させるシミュレーションを、前記シミュレート対象位置を前記シミュレート範囲内の前記シミュレート位置に順次変えて作成した複数の移動経路それぞれについて行う演算手段と、
前記シミュレート対象位置及び前記各シミュレート位置のうち、前記ロボットアームの移動時間が最も短くなる移動経路に対応する最適位置のシミュレーション結果を少なくとも出力する出力手段と
を備えたことを特徴とする作業対象物の配置決定支援装置。
A work object placement determination support device that supports optimal placement of work objects by determining the movement position of a horizontal articulated robot ,
A first fixed position, a simulation target position and a second fixed position for specifying a movement path of the robot arm of the horizontal articulated robot, a simulation range including the simulation target position, and the simulation within the simulation range Input means for inputting teaching data for designating a plurality of simulated positions which are positions inscribed with a predetermined X coordinate interval and a predetermined Y coordinate interval with respect to the target position as a target;
A simulation for operating the robot in a pseudo manner according to a movement path that passes through the first fixed position, the simulation target position, and the second fixed position in this order, and the simulation target position within the simulation range Calculation means for each of a plurality of movement paths created by sequentially changing to simulated positions;
An output means for outputting at least a simulation result of an optimum position corresponding to a movement path in which the movement time of the robot arm is the shortest among the simulation target position and each of the simulation positions;
Placement decision support device for a work object, characterized in that it comprises a.
前記所定のX座標間隔及び前記所定のY座標間隔を任意に変更可能としたことを特徴とする請求項3記載の作業対象物の配置決定支援装置。 4. The work object placement determination support apparatus according to claim 3, wherein the predetermined X coordinate interval and the predetermined Y coordinate interval can be arbitrarily changed . 前記出力手段は、前記複数の配置候補位置のX座標及びY座標と、前記複数の配置候補位置に対応する前記ロボットアーム移動時間とを表示すること
を特徴とする請求項4記載の作業対象物の配置決定支援装置。
The output means displays the X and Y coordinates of the plurality of placement candidate positions and the robot arm movement time corresponding to the plurality of placement candidate positions.
The work object placement determination support apparatus according to claim 4, wherein
通常モードとシミュレーションモードを切り替えるモード切替手段を有し、
前記通常モードの場合、動作位置定義命令で、前記水平多関節ロボットは実際の動作を行い、
前記シミュレーションモードの場合、前記動作位置定義命令があっても、前記シミュレーションによって、前記ロボットアームの移動時間を演算すること
を特徴とする請求項3乃至5の何れかに記載の作業対象物の配置決定支援装置。
Having mode switching means for switching between normal mode and simulation mode;
In the normal mode, the horizontal articulated robot performs an actual operation by an operation position definition command,
In the simulation mode, the movement time of the robot arm is calculated by the simulation even if there is the operation position definition command.
The work object placement determination support apparatus according to claim 3, wherein the work object placement determination support apparatus is provided.
水平多関節ロボットのロボットアームにより搬送される作業対象物の配置決定支援を行う配置決定支援装置により実行されるプログラムであって、A program executed by an arrangement determination support device that performs an arrangement determination support of a work object conveyed by a robot arm of a horizontal articulated robot,
前記配置決定支援装置に、In the arrangement determination support device,
前記水平多関節ロボットのロボットアームの移動経路を特定する第1固定位置、シミュレート対象位置及び第2固定位置を指定し、前記シミュレート対象位置を含むシミュレート範囲を指定し、さらに、前記シミュレート範囲内において前記シミュレート対象位置を基準として所定のX座標間隔及び所定のY座標間隔で刻んだ位置を複数のシミュレート位置として指定するステップと、A first fixed position, a simulation target position, and a second fixed position for specifying a movement path of the robot arm of the horizontal articulated robot are designated, a simulation range including the simulation target position is designated, and the simulation is further performed. Designating, as a plurality of simulation positions, positions inscribed in a predetermined X coordinate interval and a predetermined Y coordinate interval with respect to the simulation target position in a range,
前記第1固定位置、前記シミュレート対象位置及び前記第2固定位置をこの順で通過する移動経路に従って前記ロボットを擬似的に動作させるシミュレーションを、前記シミュレート対象位置をシミュレート範囲内の前記シミュレート位置に順次変えて作成した複数の移動経路それぞれについて行い、前記シミュレート対象位置及び前記各シミュレート位置のうち、前記ロボットアームの移動時間が最も短くなる移動経路に対応する最適位置のシミュレーション結果を少なくとも出力することによって、前記作業対象物の最適位置を決定するステップとA simulation of operating the robot in a pseudo manner according to a movement path that passes through the first fixed position, the simulation target position, and the second fixed position in this order, and the simulation target position within the simulation range. A simulation result of the optimal position corresponding to the movement path in which the movement time of the robot arm is the shortest among the simulation target position and each of the simulation positions. Determining an optimum position of the work object by outputting at least
を実行させるための作業対象物の配置決定支援プログラム。An arrangement determination support program for a work object for executing
前記複数の配置候補位置のX座標及びY座標と、前記複数の配置候補位置に対応する前記ロボットアーム移動時間とを表示するステップを更に含むことを特徴とする請求項7に記載の作業対象物の配置決定支援プログラム。 The work target according to claim 7, further comprising a step of displaying an X coordinate and a Y coordinate of the plurality of placement candidate positions, and the robot arm movement time corresponding to the plurality of placement candidate positions . Placement decision support program. 通常モードとシミュレーションモードを切り替えるステップを有し、
前記通常モードの場合、動作位置定義命令で、前記水平多関節ロボットは実際の動作を行い、
前記シミュレーションモードの場合、前記動作位置定義命令があっても、前記シミュレーションによって、前記ロボットアームの移動時間を演算すること
を特徴とする請求項7乃至8の何れかに記載の作業対象物の配置決定支援プログラム。
Having a step of switching between normal mode and simulation mode,
In the normal mode, the horizontal articulated robot performs an actual operation by an operation position definition command,
In the simulation mode, the movement time of the robot arm is calculated by the simulation even if there is the operation position definition command.
The work object placement determination support program according to any one of claims 7 to 8 .
請求項9記載の作業対象物の配置決定支援プログラムを搭載することを特徴とするロボットシステム。A robot system comprising the work object placement determination support program according to claim 9.
JP2007260991A 2007-10-04 2007-10-04 Work object arrangement determination method, work object arrangement determination support device, work object arrangement determination support program, and robot system Expired - Fee Related JP4706684B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007260991A JP4706684B2 (en) 2007-10-04 2007-10-04 Work object arrangement determination method, work object arrangement determination support device, work object arrangement determination support program, and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007260991A JP4706684B2 (en) 2007-10-04 2007-10-04 Work object arrangement determination method, work object arrangement determination support device, work object arrangement determination support program, and robot system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002061424A Division JP4210065B2 (en) 2002-03-07 2002-03-07 Optimal position determination support method, optimal position determination support device, and robot system

Publications (2)

Publication Number Publication Date
JP2008052749A JP2008052749A (en) 2008-03-06
JP4706684B2 true JP4706684B2 (en) 2011-06-22

Family

ID=39236683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007260991A Expired - Fee Related JP4706684B2 (en) 2007-10-04 2007-10-04 Work object arrangement determination method, work object arrangement determination support device, work object arrangement determination support program, and robot system

Country Status (1)

Country Link
JP (1) JP4706684B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5911299B2 (en) * 2011-12-27 2016-04-27 キヤノン株式会社 Information processing apparatus, information processing apparatus control method, and program
JP6066041B2 (en) 2012-07-17 2017-01-25 三菱日立パワーシステムズ株式会社 Processing support device and processing support system
US9221175B2 (en) * 2013-03-28 2015-12-29 Denso Wave Incorporated Method of generating path of multiaxial robot and control apparatus for the multiaxial robot
JP7009051B2 (en) * 2016-08-04 2022-01-25 キヤノン株式会社 Layout setting method, control program, recording medium, control device, parts manufacturing method, robot system, robot control device, information processing method, information processing device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166806A (en) * 1999-10-08 2001-06-22 Dassault Systemes Method for operating computer system, computer data signal, cad/cam device, and method for searching data set

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001166806A (en) * 1999-10-08 2001-06-22 Dassault Systemes Method for operating computer system, computer data signal, cad/cam device, and method for searching data set

Also Published As

Publication number Publication date
JP2008052749A (en) 2008-03-06

Similar Documents

Publication Publication Date Title
JP5418322B2 (en) Display device, display control method, program, and computer-readable recording medium
JP4441409B2 (en) Robot simulation apparatus and simulation program
JP7095262B2 (en) Programming support device, robot system and program generation method
US7194396B2 (en) Simulation device
US7945349B2 (en) Method and a system for facilitating calibration of an off-line programmed robot cell
JP6676286B2 (en) Information processing method and information processing apparatus
JP2003117863A (en) Robot simulation device
JP2007038366A (en) Robot programming device
JP4706684B2 (en) Work object arrangement determination method, work object arrangement determination support device, work object arrangement determination support program, and robot system
JP2008033419A (en) Cad device for robot teaching, and robot teaching method
JP7052250B2 (en) Information processing equipment, information processing methods, and information processing programs
JPH10300457A (en) Measurement support system
US20200094408A1 (en) Device which supports programming for robots
CN111791228A (en) Programming assistance device, robot system, and programming assistance method
EP1310843A2 (en) Simulation device
JP2019032788A (en) Information processing apparatus, information processing method, and information processing program
JP4210065B2 (en) Optimal position determination support method, optimal position determination support device, and robot system
JP2009119589A (en) Robot simulator
CN116197894A (en) Program creation device and program
JP2009166172A (en) Simulation method and simulator for robot
JP2008009500A (en) Method for displaying movement of display component on course
JP2022190235A (en) Information processing device, information processing method, robot system, article manufacturing method, program, and recording medium
JP2020089970A (en) Information processing method and information processor
JP4399815B2 (en) Robot control method and control apparatus
JP7217821B1 (en) Robot teaching system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110228

R150 Certificate of patent or registration of utility model

Ref document number: 4706684

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees