JP5983170B2 - Robot simulation device - Google Patents
Robot simulation device Download PDFInfo
- Publication number
- JP5983170B2 JP5983170B2 JP2012178221A JP2012178221A JP5983170B2 JP 5983170 B2 JP5983170 B2 JP 5983170B2 JP 2012178221 A JP2012178221 A JP 2012178221A JP 2012178221 A JP2012178221 A JP 2012178221A JP 5983170 B2 JP5983170 B2 JP 5983170B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- axis
- arm
- work cycle
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims description 44
- 230000029777 axis specification Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 6
- 239000010687 lubricating oil Substances 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 18
- 239000000314 lubricant Substances 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 12
- 238000000034 method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 5
- 239000003638 chemical reducing agent Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000012636 effector Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 210000000707 wrist Anatomy 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000001050 lubricating effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、複数のアームを有する多関節型のロボットをモデル化し、当該ロボットの動作をシミュレーションするロボットのシミュレーション装置に関する。 The present invention relates to a robot simulation apparatus that models an articulated robot having a plurality of arms and simulates the operation of the robot.
複数のアームを有する多関節型のロボットは、各軸に対応して複数の駆動部が設けられている。各駆動部は、一般的に、各軸を駆動するためのモータと、そのモータの出力を出力軸側に連結されているアームに伝達する歯車機構とを有している。この歯車機構は、例えば周知の波動歯車装置などが採用されており、各軸で歯数が異なるといった差違はあるものの、構造自体は概ね共通した設計となっている。このような歯車機構は潤滑剤が減少すると歯車の破損を招くなどのおそれがあることから、例えば特許文献1では、動作中の歯車に対して十分な潤滑を行うための対策が提案されている。
An articulated robot having a plurality of arms is provided with a plurality of driving units corresponding to the respective axes. Each drive unit generally includes a motor for driving each shaft and a gear mechanism for transmitting the output of the motor to an arm connected to the output shaft side. This gear mechanism employs, for example, a well-known wave gear device, and the structure itself is generally designed in common, although there is a difference that the number of teeth is different for each axis. Since such a gear mechanism may cause the gear to be damaged when the lubricant is reduced, for example,
さて、ロボットなどの産業機器は、一般的に予め耐用年数が想定されており、その耐用年数に耐えうる設計がなされている。具体的には、上記したように複数の駆動部を有する多関節型のロボットの場合、各駆動部の耐用年数が概ね一致するように設計されている。
しかしながら、実際にロボットを設置して予め定められている作業サイクルを繰り返し実行させた際、上記したように耐用年数が概ね一致するはずの駆動部のうち特定の駆動部が想定よりも短い期間で故障し、ロボット全体としての耐用年数の低下を招くことがあった。また、故障する駆動部が顧客ごと異なるなど、ロボットの設計上の不具合とは考えにくい状況であった。
Now, industrial devices such as robots are generally assumed to have a useful life in advance, and are designed to withstand the useful life. Specifically, in the case of an articulated robot having a plurality of drive units as described above, the lifespan of each drive unit is designed to be substantially the same.
However, when the robot is actually installed and a predetermined work cycle is repeatedly executed, among the drive units whose service lives should generally match as described above, a specific drive unit is in a shorter period than expected. A failure may result in a decrease in the useful life of the entire robot. In addition, it was difficult to think of a malfunction in the design of the robot, such as a different drive unit for each customer.
本発明は、上記事情に鑑みてなされたものであり、その目的は、複数の駆動部を備える多関節型のロボットをシミュレーションする際、早期に故障するおそれのある駆動部を提示することができるロボットのシミュレーション装置を提供することにある。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a drive unit that may fail early when simulating an articulated robot including a plurality of drive units. The object is to provide a robot simulation device.
発明者は、故障したロボットを調査した結果、想定よりも短い期間で故障する駆動部が作業サイクル中に動作していない駆動部に集中していることを見いだした。多関節型のロボットの場合、様々な作業を実行する可能性があることから汎用性を考慮して複数の駆動部が設けられているものの、作業内容によっては全く動作しない駆動部も存在する。この場合、駆動部が動作しなければ歯車機構も動作しないことから、歯車機構の歯が摩耗したり破損したりするおそれは小さく、一般論で言えば、動作していない駆動部に故障が集中する状況は考えにくい。そこで、発明者は、駆動部に故障が生じる過程をさらに詳細に解析した結果、動作していない駆動部に故障が集中するのは、作業内容に対して可動軸の構成に冗長性のある多関節型のロボットに特有の現象であることを見いだした。 As a result of investigating the failed robot, the inventor found that the drive units that failed in a shorter period than expected were concentrated on the drive units that were not operating during the work cycle. In the case of an articulated robot, there is a possibility of performing various operations, so that a plurality of drive units are provided in consideration of versatility, but there are also drive units that do not operate at all depending on the work contents. In this case, since the gear mechanism does not operate unless the drive unit operates, there is little possibility that the teeth of the gear mechanism will be worn or damaged. Generally speaking, the failure concentrates on the drive unit that is not operating. It is difficult to think about the situation. Therefore, as a result of further detailed analysis of the process in which a failure occurs in the drive unit, the inventor concentrates the failure in the drive unit that is not operating because the configuration of the movable shaft is redundant with respect to the work content. We found that this is a phenomenon unique to articulated robots.
多関節型のロボットにおいては、他の駆動部の動作やアームの移動に起因する振動が動作していない駆動部に伝達される。そして、ロボットは予め定められている作業サイクルを繰り返し実行することから、動作していない駆動部には繰り返し振動が伝達されることになる。その振動は、駆動部の歯車機構にも伝達される。駆動部の歯車機構には、粘度が比較的大きい潤滑油が潤滑剤として一般的に用いられており、その潤滑油は、歯車機構が動作していない状況では固体に近い性質となっている。このため、歯車機構に振動が伝達されると、その振動によって潤滑油が部分的に欠落し、歯車機構の歯の間に潤滑油が存在しない欠落領域が比較的小さい範囲でまず発生する。この欠落領域は、作業サイクルが繰り返し実行されることによって、すなわち、振動が繰り返し伝達されることによって徐々に拡大していく。その際、噛み合った歯同士が直接的に接触する状態となり、その状態でさらに振動が繰り返し伝達された結果、直接的に接触した歯が損傷し、駆動部の故障を招いていたのである。 In an articulated robot, vibration due to the operation of another driving unit or movement of an arm is transmitted to a non-operating driving unit. Since the robot repeatedly executes a predetermined work cycle, vibrations are repeatedly transmitted to a non-operating drive unit. The vibration is also transmitted to the gear mechanism of the drive unit. Lubricating oil having a relatively high viscosity is generally used as a lubricant for the gear mechanism of the drive unit, and the lubricating oil has a property close to a solid in a situation where the gear mechanism is not operating. For this reason, when vibration is transmitted to the gear mechanism, the lubricating oil is partially lost by the vibration, and a missing region where no lubricating oil is present between the teeth of the gear mechanism is first generated in a relatively small range. This missing area gradually expands as the work cycle is repeatedly executed, that is, when vibration is repeatedly transmitted. At that time, the engaged teeth are in direct contact with each other, and further vibrations are repeatedly transmitted in this state. As a result, the directly contacted teeth are damaged, resulting in a failure of the drive unit.
そこで、請求項1記載の発明では、ロボットに与えられる実行命令を解析し、予め定められている作業サイクルを実行するための一連の実行命令の解析結果を当該作業サイクルにおける動作履歴として記憶し、その動作履歴に基づいてロボットの各軸のうち作業サイクル中に動作していない非動作軸が存在するか否かを判定し、非動作軸が存在することをユーザに提示する。
Therefore, in the invention described in
これにより、実際にロボットを設置して作業サイクルを実行させる前に、作業サイクル中に動作しない駆動部が存在することをユーザに提示することができる。したがって、上記したような故障が発生するおそれのある駆動部に対して、作業サイクル中に非動作軸を駆動させるための実行命令を付加するなどの対策を取ることが可能となり、特定の駆動部における故障の発生を抑制することができるようになる。 Thus, before the robot is actually installed and the work cycle is executed, it can be shown to the user that there is a drive unit that does not operate during the work cycle. Therefore, it is possible to take measures such as adding an execution command for driving the non-operating axis during the work cycle to the drive unit that may cause a failure as described above. It is possible to suppress the occurrence of failures in
請求項2記載の発明では、アームを予め設定される教示点間で移動させる際の移動態様が、アームの移動軌跡を相対的に重視した作業動作とアームの移動速度を相対的に重視した移動動作のいずれであるかを判定し、アームが移動動作を行っている期間を、非動作軸を動作させることが可能な動作可能期間として提示する。なお、作業動作とは、アームを教示点間で移動させる際、ワークを掴んだり組み付けたりするなどの作業を行うために移動軌跡を相対的に重視してアームを滑らかに移動させる制御を行うときの動作であり、一般的にはCP(Continuous Path)動作と呼ばれている。また、移動動作とは、アームを教示点間で移動させる際、移動速度を相対的に重視して教示点間を素早く移動させる制御を行うときの動作、換言すると、軌跡をそれほど重視しない動作であり、一般的にはPTP(Point To Point)動作と呼ばれている。以下、便宜的に、作業動作をCP動作、移動動作をPTP動作と称する。 According to the second aspect of the present invention, the movement mode when moving the arm between preset teaching points is a movement operation that places importance on the movement trajectory of the arm and movement that places importance on the movement speed of the arm. It is determined which of the movements, and the period during which the arm is moving is presented as an operable period during which the non-motion axis can be moved. Note that the work movement is when the arm is moved smoothly between teaching points when performing a control that moves the arm smoothly with a relative emphasis on the movement trajectory to perform work such as gripping or assembling the work. This operation is generally called a CP (Continuous Path) operation. In addition, the moving operation is an operation when performing a control to move quickly between teaching points with a relative emphasis on the moving speed when moving the arm between teaching points, in other words, an operation that places little importance on the trajectory. In general, this is called a PTP (Point To Point) operation. Hereinafter, for convenience, the work operation is referred to as a CP operation, and the movement operation is referred to as a PTP operation.
上記したように非動作軸を提示することで故障するおそれのある駆動部に対して何らかの対処を施すことは可能となるものの、ユーザは、いつ駆動部を動作させればよいかを改めて考え直す必要がある。このとき、例えば一回の作業サイクルが終了する毎に非動作軸を動作させると、次の作業サイクルを実行するまでに本来の作業では不要な時間を要することになり、作業を行うために要する時間(以下、タクトタイムと称する)が長くなる。そして、タクトタイムが長くなると、所定の作業量をこなすためには余分に時間が掛かる一方、予め作業時間が決められている場合には実行可能な作業サイクル数が低下することになり、生産効率が低下する。このため、タクトタイムに影響を与えないように対象となる駆動部を動作させることが求められる。 Although it is possible to take some measures against the drive unit that may fail by presenting the non-operation axis as described above, the user needs to reconsider when to operate the drive unit There is. At this time, for example, if the non-operating axis is moved every time one work cycle is completed, it takes time unnecessary for the original work to execute the next work cycle, which is necessary for performing the work. Time (hereinafter referred to as tact time) becomes longer. And if the tact time becomes longer, it takes more time to handle a predetermined amount of work. On the other hand, if the work time is determined in advance, the number of work cycles that can be executed decreases, and the production efficiency Decreases. For this reason, it is required to operate the target drive unit so as not to affect the tact time.
さて、ロボットの作業サイクルに上記したCP動作やPTP動作が含まれることは一般的に知られている。このため、タクトタイムに影響を与えることなく、また、ロボットの本来の作業に影響を与えることなく(アームの軌跡に大きな影響を与えることなく)駆動部を動作させるには、PTP動作中に動作させることがまず考えられる。しかし、潤滑剤を満遍なく拡散させるために例えば歯車機構の歯の噛み合い位置を一回転させるような動作を行わせると、アームが大きく移動してしまい、いくら軌跡をそれほど重視していないPTP動作中といえども、アームやハンドあるいはハンドに保持されたワークなどが周辺設備に衝突するおそれがある。つまり、どの時期に駆動部を動作させればよいかは、PTP動作中であればよいといった単純な問題ではない。 Now, it is generally known that the CP operation and the PTP operation described above are included in the work cycle of the robot. Therefore, in order to operate the drive unit without affecting the tact time and without affecting the original work of the robot (without greatly affecting the trajectory of the arm), the operation is performed during the PTP operation. First of all, it can be considered. However, in order to spread the lubricant evenly, for example, if the operation of rotating the meshing position of the teeth of the gear mechanism is performed, the arm moves greatly, and no matter how much the trajectory is in the PTP operation However, there is a possibility that an arm, a hand, or a work held by the hand may collide with peripheral equipment. In other words, it is not a simple problem that when the drive unit should be operated during the PTP operation.
ここで、発明者による解析結果が有効活用されることになる。すなわち、発明者によって、潤滑剤の欠落領域が上記したように比較的小さい範囲でまず発生すること、さらに、発生当初の欠落領域が1歯未満程度の大きさであることが見いだされている。このため、発生当初の欠落領域に潤滑剤を拡散させるためには、潤滑剤が欠落していない部位に噛み合わせればよいこと、すなわち、歯車機構の歯の噛み合い位置を1歯以上移動させればよいことが明らかになった。換言すると、発生当初の欠落領域に対処するためには、アームを大きく動かす必要がないことが明らかになった。さらに、噛み合い位置を1歯以上動かす程度の動作であれば、PTP動作中に十分実施可能であると考えられる。
Here, the analysis result by the inventor is effectively used. That is, the inventor has found that the missing region of the lubricant first occurs in a relatively small range as described above, and further, the missing region at the beginning of the occurrence has a size of less than one tooth. For this reason, in order to diffuse the lubricant into the missing region at the beginning of generation, it is only necessary to mesh with a portion where the lubricant is not missing, that is, if the meshing position of the gear mechanism teeth is moved by one or more teeth. It turned out to be good. In other words, it has become clear that it is not necessary to move the arm greatly in order to deal with the missing area at the beginning of the occurrence. Furthermore, if it is an operation | movement which moves a
このような解析結果の裏付けに基づいて、アームが移動動作を行っている期間を、非動作軸を動作させることが可能な動作可能期間として提示している。これにより、発生当初の欠落領域に潤滑剤を拡散させることが可能となり、欠落領域の拡大を抑制することができるとともに、非動作軸を動作させれば潤滑剤が拡散されることから、欠落領域の発生そのものを抑制することができる。また、上記したように非動作軸の動作はPTP動作中に実施可能な動作であることから、PTP動作中に完了する。したがって、タクトタイムが長くなるなどの影響を与えることが無く、生産効率が低下するおそれを抑制することができる。 Based on the support of such an analysis result, the period during which the arm is moving is presented as an operable period during which the non-operating axis can be operated. As a result, the lubricant can be diffused in the missing area at the beginning of the occurrence, and the enlargement of the missing area can be suppressed, and the lubricant is diffused by operating the non-operation shaft. Generation itself can be suppressed. Further, as described above, the operation of the non-operation axis is an operation that can be performed during the PTP operation, and thus is completed during the PTP operation. Therefore, there is no influence such as an increase in tact time, and the possibility that the production efficiency is lowered can be suppressed.
請求項3記載の発明では、ワークを移送していないと判定された期間を優先して提示する。ロボットは、与えられた指令に基づいて動作することから、通常は対象となるワークがどのようなものであるかを自身で把握することができない。そこで、ワークを移送していない期間を優先して提示することにより、本来の作業サイクルでは動作することを想定していない非動作軸を動作させた場合であっても、その動作に起因してワークが周辺設備に衝突するなどの不具合を生じさせることがない。
In the invention according to
請求項4記載の発明では、作業サイクル中に複数の動作可能期間が存在する場合、最も動作時間の長い動作可能期間を優先して提示する。動作可能期間の動作時間が長ければ、非動作軸を動作させたとしても確実に本来の位置まで戻すことができ、アームの軌跡に大きな影響を与えることがない上、動作時間内でより非動作軸を大きく動かすことが可能となり、欠落領域の発生および拡大をさらに抑制することができる。
In the invention according to
請求項5記載の発明では、アームの可動範囲を設定し、当該可動範囲内に仮想的なオブジェクトを配置し、動作可能期間に非動作軸を動作させるための補助実行命令を付加した状態で作業サイクルを実行した際、アームの軌跡がオブジェクトに衝突するか否かを判定し、その判定結果を提示する。なお、オブジェクトは、実際の作業環境における周辺設備などに相当する。これにより、ロボットのシミュレーション装置上で補助実行命令を実行した際の動作を確認することができる。この場合、ハンド(エンドエフェクタとの呼ばれる)やハンドにより保持されたワーク、あるいは周辺設備などをオブジェクトとして配置すれば、実機の動作環境を再現した上で、非動作軸の動作が可能であるか否かを判断することができる。 According to the fifth aspect of the present invention, the work is performed in a state in which the movable range of the arm is set, a virtual object is arranged within the movable range, and an auxiliary execution command for operating the non-motion axis is added during the operable period. When the cycle is executed, it is determined whether or not the arm trajectory collides with the object, and the determination result is presented. The object corresponds to peripheral equipment in an actual work environment. Thereby, it is possible to confirm the operation when the auxiliary execution command is executed on the simulation device of the robot. In this case, if a hand (referred to as an end effector), a work held by the hand, or peripheral equipment is placed as an object, can the non-motion axis be moved while reproducing the actual operating environment? It can be determined whether or not.
(第1実施形態)
以下、本発明の第1実施形態について、図1から図10を参照しながら説明する。
まず、対象となるロボットおよび故障が発生するメカニズムについて、図1から図4を参照して説明する。図1に示すように、一般的な産業用に用いられるロボットシステム1は、多関節型のロボット2、ロボット2を制御するコントローラ3、コントローラ3に接続されたティーチングペンダント4を備えている。
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to FIGS.
First, the target robot and the mechanism of failure will be described with reference to FIGS. As shown in FIG. 1, a general
ロボット2は、いわゆる6軸の垂直多関節型ロボットとして周知の構成を備えており、ベース5上に、Z方向の軸心を持つ第1軸(J1)を介してショルダ6が水平方向に回転可能に連結されている。ショルダ6には、Y方向の軸心を持つ第2軸(J2)を介して上方に延びる下アーム7の下端部が垂直方向に回転可能に連結されている。下アーム7の先端部には、Y方向の軸心を持つ第3軸(J3)を介して第一上アーム8が垂直方向に回転可能に連結されている。第一上アーム8の先端部には、X方向の軸心を持つ第4軸(J4)を介して第二上アーム9が捻り回転可能に連結されている。第二上アーム9の先端部には、Y方向の軸心を持つ第5軸(J5)を介して手首10が垂直方向に回転可能に連結されている。手首10には、X方向の軸心を持つ第6軸(J6)を介してフランジ11が捻り回転可能に連結されている。
The
ベース5、ショルダ6、下アーム7、第一上アーム8、第二上アーム9、手首10およびフランジ11は、ロボット2のアームとして機能し、アームの先端となるフランジ11には、図示は省略するが、ハンド(エンドエフェクタとも呼ばれる)が取り付けられる。ハンドは、例えば図示しないワークを保持して移送したり、ワークを加工する工具などが取り付けられる。ロボット2に設けられている各軸(J1〜J6)には、それぞれに対応して、モータ、モータの回転位置を検出するエンコーダ、モータの出力を減速する減速機22(図2参照)などで構成された駆動部が設けられている。
The
コントローラ3は、図示しないCPUなどを有するコンピュータ、ロボット2の駆動部を動作させるための駆動回路などで構成されており、コンピュータプログラムに基づいてロボット2を制御する。具体的には、コントローラ3は、周知のように、ロボット2に対して予め定められている作業サイクルを繰り返し実行させるための各種の指令を出力することでモータを駆動し、エンコーダで検出したモータの回転位置に基づいてフィードバック制御を行うことで、ロボット2を制御する。
The
図2に示すように、ロボット2の駆動部を構成する減速機22は、本実施形態ではいわゆる波動歯車装置を採用している。減速機22は、内周面に内歯30が形成された円環状の剛性内歯歯車31、この剛性内歯歯車31の内側に同心状に設けられ、外歯32を有する可撓性外歯歯車33を備えている。可撓性外歯歯車33は、図示は省略するが周知のように全体形状としてカップ状に形成されており、カップ状の底部に出力軸が取り付けられる。また、剛性内歯歯車31の内歯30と可撓性外歯歯車33の外歯32との間には、潤滑剤としての潤滑油W(図4参照)が充填されている。この潤滑油Wは、一般的に比較的粘性が高く、剛性内歯歯車31と可撓性外歯歯車33とが動作していれば歯車間に拡散して潤滑剤として機能する一方、動作していない状態では、固体に近い状態となる。なお、潤滑剤としては、油性のものに限らず、他のものであっても良い。
As shown in FIG. 2, the
外歯32の内周側にはウエーブベアリング34が配設されている。このウエーブベアリング34は、可撓性外輪35、可撓性内輪36、可撓性外輪35と可撓性内輪36との間に配列された複数個のボール37とから構成されている。ウエーブベアリング34の内側、つまり可撓性内輪36の内周には、楕円形の剛性カム38が固定されている。この剛性カム38には、モータの出力軸を連結するためのキー溝付きの嵌合孔39が形成されている。
A wave bearing 34 is disposed on the inner peripheral side of the
このような構成の減速機22は、ウエーブベアリング34の可撓性内輪36および可撓性外輪35が楕円形に撓められ、可撓性外輪35が楕円形に撓むことによって、外歯32形成部分が楕円形に撓められる。その結果、楕円形に撓んだ部分の長径方向両端部の2箇所において、外歯32が部分的に剛性内歯歯車31の内歯30に噛み合うようになる。そして、剛性カム38がモータにより回転駆動されると、可撓性外歯歯車33の楕円形に撓んだ部分の長径部分が周方向に移動し、外歯32の内歯30に対する噛み合い位置が周方向に移動する。このとき、外歯32が内歯30よりも例えば2枚少なく設定されているので、噛み合い位置の移動に伴って、剛性内歯歯車31と可撓性外歯歯車33との間で相対的な回転が発生する。そして、可撓性外歯歯車33が出力軸となってモータの減速回転が取り出される。
In the
図1に示すように、ティーチングペンダント4は、例えば薄型の略矩形箱状に形成されており、概ね使用者が携帯あるいは所持して操作可能な程度の大きさとなっている。ティーチングペンダント4には、各種キースイッチやタッチパネルが設けられており、使用者は、それらキースイッチやタッチパネルにより種々の入力操作を行う。ティーチングペンダント4は、ケーブルを経由してコントローラ3に接続され、通信インターフェイスを経由してコントローラ3との間で高速のデータ転送を実行するようになっており、キースイッチ等の操作により入力された操作信号などの情報はティーチングペンダント4からコントローラ3へ送信される。
As shown in FIG. 1, the
ここで、ロボット2が実行する作業サイクルについて説明する。
作業サイクルは、図3に示すように、予め定められている教示点P1〜P4を経由して、例えばワークの移送などを繰り返し行う作業である。例えば図3は、教示点P1を初期位置として、教示点P2まで移動した後、教示点P3にてワークをピックアップし、ワークを保持した状態で教示点P2、P1を経由した後、教示点P4にてワークをプレースする作業サイクルを模式的に示している。より具体的には、教示点P1−P2間ではアームが水平方向に大きく移動し、教示点P2−P3間およびP1−P4間ではアームが垂直に移動している。
Here, a work cycle executed by the
As shown in FIG. 3, the work cycle is a work in which, for example, the transfer of a workpiece is repeatedly performed via predetermined teaching points P1 to P4. For example, in FIG. 3, after moving to the teaching point P2 with the teaching point P1 as the initial position, the workpiece is picked up at the teaching point P3, passed through the teaching points P2 and P1 while holding the workpiece, and then the teaching point P4. A work cycle for placing a work is schematically shown. More specifically, the arm moves greatly in the horizontal direction between the teaching points P1 and P2, and the arm moves vertically between the teaching points P2 and P3 and between P1 and P4.
この場合、アームが水平移動する際には例えば第1軸(J1)が動作し、アームが垂直移動する際には例えば第2軸(J2)、第3軸(J3)や第5軸(J5)が動作するものとする。また、アームが水平方向に大きく移動する教示点P1−P2間では、移動速度を重視した移動動作(以下、PTP動作と称する)が行われ、ワークを所定位置からピックアップする教示点P2−P3間およびワークを所定位置にプレースする教示点P1−P4間では、位置決めの正確性を増すために移動軌跡を重視した作業動作(以下、CP動作と称する)が行われているものとする。 In this case, when the arm moves horizontally, for example, the first axis (J1) operates, and when the arm moves vertically, for example, the second axis (J2), the third axis (J3), and the fifth axis (J5). ) Shall operate. In addition, between the teaching points P1 and P2 where the arm greatly moves in the horizontal direction, a movement operation (hereinafter referred to as a PTP operation) with an emphasis on the moving speed is performed, and between the teaching points P2 and P3 that pick up the workpiece from a predetermined position In addition, it is assumed that a work operation (hereinafter referred to as a CP operation) with an emphasis on the movement trajectory is performed between the teaching points P1 to P4 where the workpiece is placed at a predetermined position in order to increase positioning accuracy.
この図3に示す作業サイクルでは、アームを捻る動作(第4軸(J4)を駆動する動作)が必要ないため、第4軸(J4)は動作していない。換言すると、第4軸(j4)に対応して設けられている駆動部には、作業サイクル中にモータを駆動するための実行命令(後述する動作命令)が出力されていない。以下、本実施形態では、第4軸(J4)に対応して設けられている駆動部のように作業サイクル中に動作しない駆動部を便宜的に非動作軸と称し、動作しない状態を非動作状態と称する。 In the work cycle shown in FIG. 3, since the operation of twisting the arm (the operation of driving the fourth axis (J4)) is not required, the fourth axis (J4) is not operating. In other words, an execution command (an operation command to be described later) for driving the motor during the work cycle is not output to the drive unit provided corresponding to the fourth axis (j4). Hereinafter, in this embodiment, a drive unit that does not operate during a work cycle, such as a drive unit provided corresponding to the fourth axis (J4), is referred to as a non-operation axis for convenience, and a non-operation state is non-operation. This is called a state.
さて、非動作軸は、作業サイクルが繰り返し実行されると、図4(a)〜(d)に示すように、剛性内歯歯車31の内歯30と可撓性外歯歯車33の外歯32とが直接接触する可能性のある状態となる。具体的には、内歯30と外歯32との間に充填されている潤滑油Wは、通常であれば図4(a)に示すように拡散しているものの、非動作状態が続くと潤滑油Wが徐々に固体に近い状態となる。その状態で作業サイクルが繰り返し実行されると、つまり、非動作軸に他の駆動部やロボット2自体からの振動が伝達されると、図4(b)に示すように、概ね1歯未満程度の大きさで潤滑油Wが部分的に欠落し、欠落領域Rが形成される。この図4(b)は、発生当初の欠落領域Rの状態を示している。
Now, when the work cycle is repeatedly executed, the non-operating shaft is configured so that the
この状態でさらに作業サイクルが繰り返し実行されると、欠落領域Rは、図4(c)に示すように徐々に拡大していく。このように欠落領域Rが大きくなると、内歯30と外歯32とが直接的に接触するようになる。そして、作業サイクルが繰り返し実行され、振動が伝達されると、内歯30と外歯32とが接触を繰り返すようになり、その結果として、図4(d)に示すように、例えば内歯30が欠けるなどの破損部位Kが形成される。この状態では、破損部位Kがあることから、例えば作業サイクルが変更されて非動作軸が駆動されるようになると正常に動作せず、故障となってしまう。
When the work cycle is repeatedly executed in this state, the missing region R gradually expands as shown in FIG. When the missing region R becomes larger in this way, the
このように、多関節型のロボット2では、特定の駆動部が全く動作しない状態で作業サイクルが繰り返し実行されることがあり、動作していないことから本来であれば耐用年数に影響がないと思われるその駆動部において、耐用年数が反って低下してしまうという現象が起こり得る。そして、この現象は、作業内容に対して駆動軸が冗長性を備えた構成となっている多関節型のロボット2に特有の問題である。
そこで、ロボット2の動作をシミュレーションする段階で、すなわち、実機のロボット2を設置する前に、故障する可能性のある駆動部をユーザに事前に提示可能することで、上記した問題に対処している。
As described above, in the articulated
Therefore, at the stage of simulating the operation of the
図5に示すように、シミュレーション装置40は、コンピュータ41、モニタ42、キーボード43およびマウス44を備えている。コンピュータ41は、図6に示すように、CPU45、ROM46、RAM47、HDD48および入出力部49を備えており、記憶手段としてのROM46やHDD48などに記憶されているプログラムによって、シミュレーション装置40の全体を制御する。また、HDD48には、ロボット2のシミュレーションを実行するためのアプリケーション(以下、アプリと称する)などのプログラムも記憶されている。このシミュレーション装置40は、上記したように複数のアームを有する多関節型のロボット2をモデル化し、モデル化したデータを仮想空間で動作させ、ロボット2の動作をシミュレートする。
As shown in FIG. 5, the
モニタ42は、例えば液晶ディスプレイなどが採用されており、アプリの実行画面や実行結果(シミュレーション結果)などが表示される。具体的には、モニタ42には、後述するように、ロボット2の各アームのうち非動作軸があるか否か、アームの動作が移動動作であるか否か、ワークを保持しているか否か、アームが周辺設備(K1、K2。図7、図8参照)に衝突するか否か、および、作業サイクル中においてアームを動作させることが可能な期間である動作可能期間など、アプリの実行結果を表示(ユーザに提示)する。モニタ42は、特許請求の範囲に記載した提示手段を構成している。キーボード43およびマウス44は、シミュレーション装置40やアプリに対するユーザの操作を入力可能な操作入力手段として機能する。
The
また、シミュレーション装置40は、命令解析部50、動作履歴記憶部51、移動態様特定部52、非動作軸判定部53、補助命令付加部54、可動範囲設定部55、衝突判定部56、オブジェクト配置部57を備えている。本実施形態では、これら各部50〜57は、CPU45により実行されるプログラムによってソフトウェア的に実現されている。なお、各部50〜57は、ハードウェア的に実現してもよい。
In addition, the
命令解析部50は、ロボット2に与えられる実行命令を解析する。ロボット2に与えられる実行命令としては、大きく分けて、アームを駆動するために駆動部に与えられる動作命令と、分岐条件の判定などの制御命令とが存在する。命令解析部50は、特許請求の範囲に記載した命令解析手段を構成している。
動作履歴記憶部51は、ロボット2が予め定められている作業サイクルを実行するための一連の実行命令の解析結果を、当該作業サイクルにおけるロボット2の動作履歴として記憶する。動作履歴記憶部51は、特許請求の範囲に記載した動作履歴記憶を構成している。
The
The operation
移動態様特定部52は、作業サイクル中において、アームを予め設定される教示点間で移動させる際、アームの移動態様が当該アームの移動軌跡を相対的に重視した作業動作(CP動作)または当該アームの移動速度を相対的に重視した移動動作(PTP動作)のいずれであるかを特定する。また、移動態様特定部52は、ロボット2によりワークが保持されている(移送されている)状態である移送状態であるか否かを特定する。移動態様特定部52は、特許請求の範囲に記載した移動態様特定手段を構成している。
非動作軸判定部53は、動作履歴記憶部51に記憶した動作履歴に基づいて、ロボット2の各軸のうち作業サイクル中に動作していない非動作軸が存在するか否かを判定する。非動作軸判定部53は、特許請求の範囲に記載した非動作軸判定手段を構成している。
When the movement
Based on the motion history stored in the motion
補助命令付加部54は、動作可能期間に非動作軸を動作させるための補助実行命令(動作命令)を付加する。本実施形態では、補助実行命令として、歯車機構の歯を1歯以上移動させるような動作命令を出力している。この場合、一般的な構成のロボットの場合、第4軸(J4)のギア比=100、第5軸(J5)の中心からハンド先端までの距離=200mmとすると、モータを1回転(モータの出力軸が1回転。図2の歯車機構を一回転させるわけではない)させることでハンドの先端は最大で約13mm(2π÷100×200=4π)しか動作しない。補助命令付加部54は、特許請求の範囲に記載した補助命令付加手段を構成している。
The auxiliary
可動範囲設定部55は、仮想空間内において、アームを動作させることが可能な可動範囲を設定する。可動範囲設定部55は、特許請求の範囲に記載した可動範囲設定手段を構成している。
衝突判定部56は、補助実行命令を付加した状態でシミュレーションを実行した際、アームの軌跡が後述するオブジェクトに衝突するか否かを判定する。衝突判定手段は、特許請求の範囲に記載した衝突判定手段を構成している。
The movable
The
オブジェクト配置部57は、可動範囲設定部55により設定された可動範囲V(図7、図8参照)内に、実際の作業環境における例えば周辺設備などに相当する仮想的なオブジェクトを配置する。なお、配置するオブジェクトとしては、周辺設備などの物体だけでなく、進入禁止領域などの範囲も設定することもできる。オブジェクト配置部57は、特許請求の範囲に記載したオブジェクト配置手段を構成している。
The
このような構成のシミュレーション装置40は、図7および図8に示すように、モニタ42にモデル化したロボット2に対して、オブジェクトとしての周辺設備K1、K2、および可動範囲Vを設定する。なお、図7は、仮想空間内におけるXY平面図を示し、図8は仮想空間内におけるYZ平面図を示している。また、図7および図8ではハンドおよびワークの図示を省略したが、前述の衝突判定部56は、アームだけでなく、ハンドやハンドによって保持されたワークとオブジェクトとの衝突も判定可能である。
As shown in FIGS. 7 and 8, the
次に、シミュレーション装置40の作用について、図9に示す処理の流れとともに説明する。本実施形態では非動作軸として第4軸(J4)を想定しているため、第4軸(図9では「4軸目」と記載する)を対象として説明する。また、以下の処理は上記した各部50〜57によりそれぞれ実行されるものであるが、説明の簡略化のため、シミュレーション装置40を主体として説明する。
Next, the operation of the
図9のフローチャートにて用いている変数の意味は、以下の通りである。
・F:第4軸(J4)が動作したか否かを示すフラグ。作業サイクル開始時に0にリセットされ、第4軸が動作すると1にセットされる。
・P:4軸目を+側に動作させる(回転させる)動作軌跡。
・Q:4軸目を−側に動作させる(回転させる)動かす動作軌跡。
The meanings of the variables used in the flowchart of FIG. 9 are as follows.
F: A flag indicating whether or not the fourth axis (J4) has operated. It is reset to 0 at the start of the work cycle, and is set to 1 when the fourth axis operates.
P: An operation locus that moves (rotates) the fourth axis to the + side.
Q: An operation locus for moving (rotating) the fourth axis to the-side.
シミュレーション装置40は、上記したロボット2のモデル化およびオブジェクト(K1,K2)の配置が完了した後、図9に示すように、作業サイクルのシミュレーションを開始すると、Fを0とし(S1)、実行命令が動作命令(駆動部を駆動するための動作命令)であるか否かを判定し(S2)、動作命令でない場合には(S2:NO)、ステップS6に移行する。そして、1サイクル(一回の作業サイクル)が終了したか否かを判定し(S6)、終了していなければ次の行(次の実行命令)を実行し(S8)、ステップS2に移行する。つまり、シミュレーション装置40は、作業サイクルが終了するまで、ステップS2において実行命令を繰り返し解析する。
When the simulation of the work cycle is started as shown in FIG. 9 after the modeling of the
シミュレーション装置40は、ステップS2において実行命令が動作命令であると判定すると(S2:YES)、4軸目が動作するか否かを判定し(S3)、4軸目が動作する場合には(S3:YES)、Fを1とする(S4)。これにより、この作業サイクル中には4軸目が動作することが示される。一方、4軸目が動作しない場合には(S3:NO)、ステップS4を省略し、当該動作における起動補完方法がPTP動作であるか否か、すなわち、PTP動作であるか否かを判定する(S5)。そして、PTP動作でなければ(S5:NO)、ステップS6に移行して上記したように1サイクルが終了したか否かを判定する。
When the
これに対して、シミュレーション装置40は、起動補完方法がPTPである場合には(S5:YES)、当該PTP動作において4軸目を動かす軌道(P)を計算し(S9)、当該軌道(P)にて動作させた際(軌道(P)で移動するように動作命令を付加した際)におけるアームの移動時に、計算した軌道(P)が障害物(オブジェクト)に衝突するか否かを判定する(S10)。ここでは、アーム、ハンドおよびワークと、オブジェクトとの衝突が判定されている。軌道(P)が衝突しないと判定すると(S10:YES)、ステップS11に移行する。一方、軌道(P)が衝突すると判定すると(S10:NO)、軌道(P)とは逆向きに4軸目を動かす軌道(Q)を計算し(S12)、軌道(Q)が障害物と動作するか否かを判定する(S13)。そして、軌道(Q)が障害物と衝突しなければ(S13:YES)、ステップS11に移行する。なお、軌道(P)および軌道(Q)のいずれも衝突すると判定された場合には(S10:NO、且つ、S13NO)、今回の動作中にアームを動作させると衝突することから、ステップS6に移行する。
On the other hand, when the startup complement method is PTP (S5: YES), the
このように、シミュレーション装置40は、実行命令が動作命令であり、且つ、その動作がPTP動作であれば、4軸目を動作させることが可能かを判定する。なお、ステップS4でF=1つまり4軸目が動作する場合であってもPTP動作であれば(S5:YES)ステップS9に移行するのは、そのPTP動作の動作時間などを予め計測しておき、今後の作業サイクルにおいて補助実行命令の出力対象となるPTP動作か否かを判定するためである。
Thus, the
シミュレーション装置40は、軌道(P)または軌道(Q)のいずれかにて4軸目の動作が可能であると判定すると(S10:YES、または、S13:YES)、プログラムの実行行、エンドエフェクタIOの状態(ワークを保持しているか否か、IO=OFFで保持していない状態を示す)、当該PTP動作の動作時間、および、4軸目の回転方向(軌道(P)または軌道(Q)のいずれであるか)をPTP動作リスト(後述する図10のM3参照。作業サイクル中におけるPTP動作の動作履歴)に保存する。このように、シミュレーション装置40は、作業サイクル中のアームの動作を、アームの移動態様や動作時間とともに動作履歴として記憶する。
When the
シミュレーション装置40は、ステップS6において、1サイクルが終了したと判定すると(S6:YES)、F=0であるか否かを判定する(S7)。そして、F=0でない場合には(S7:NO)、4軸目が動作していることから、処理を終了する。
これに対して、シミュレーション装置40は、F=0の場合には(S7:YES)、4軸目が動作していないことから、PTP動作リストを同時間の長い順に並び替え(S14)、PTP動作リストをエンドエフェクタIO=OFFの順(つまり、ワークを保持していない順)で並び替え(S15)、ユーザに4軸目が動作していないことを通知する(S16)。具体的には、シミュレーション装置40は、図10に示すようにPTP動作リストをモニタ42に表示することで、ユーザに通知(提示)する(S17)。
If the
In contrast, when F = 0 (S7: YES), the fourth axis does not operate, so the PTP operation list is rearranged in the longest order (S14), PTP The operation list is rearranged in the order of end effector IO = OFF (that is, the order in which the workpiece is not held) (S15), and the user is notified that the fourth axis is not operating (S16). Specifically, the
図10に示すように、モニタ42には、アプリの実行結果の表示画面として、シミュレーションの対象としたロボット2のモデルを表示する表示領域M1、非動作軸を示す表示領域M2、および、PTP動作リストを表示する表示領域M3が設けられている。表示領域M1には、ロボット2のモデル化した外観、各軸の位置、および非動作軸がいずれであるかの表示(図10の場合、第4軸(J4)を反転表示することで、非動作軸であることを示している)が示されている。表示領域M2には、非動作軸が第4軸(J4)であることが示されている。
As shown in FIG. 10, the
表示領域M3には、アームの移動態様である「動作態様」、作業サイクル中のPTP動作のうち何番目のPTP動作であるかを示す「順番」、当該PTP動作の動作時間をミリ秒単位で示す「動作時間」、当該PTP動作においてワークを保持しているか否かを示す「ワーク保持」(非保持=保持していない状態、保持=保持している状態を示す)、および衝突するか否かを示す「衝突」(○=衝突しない状態を示す)が示されている。この表示領域M3には、作業サイクル中に実行される複数のPTP動作のうち、動作時間の長い順、且つ、ワークを保持しているか否かの順にしたがって、PTP動作の動作履歴が示されている。より具体的には、最も動作時間の長いPTP動作を優先してリストの上位に表示する一方、同時間が長くてもワークを保持しているPTP動作(「順番」=3のPTP動作)については、動作時間が短くワークを保持していないPTP動作(「順番」=7のPTP動作)よりもリストの下位に表示されている。 In the display area M3, the “movement mode” which is the movement mode of the arm, the “order” indicating which PTP operation is the PTP operation in the work cycle, and the operation time of the PTP operation in milliseconds “Operation time” indicating, “work holding” indicating whether or not the workpiece is held in the PTP operation (non-holding = not holding, holding = showing holding state), and whether to collide “Collision” (○ indicates a state of no collision) is shown. In the display area M3, the operation history of the PTP operation is displayed in the order of the long operation time and the order of whether or not the workpiece is held among the plurality of PTP operations executed during the work cycle. Yes. More specifically, the PTP operation with the longest operation time is given priority and displayed at the top of the list, while the PTP operation that holds the work even if the same time is long (PTP operation of “order” = 3) Is displayed at a lower position in the list than a PTP operation that has a short operation time and does not hold a workpiece (PTP operation of “order” = 7).
このようにPTP動作リストを表示すると、シミュレーション装置40は、ユーザによる操作をキーボード43やマウス44から受け付け、4軸目の動作指示があれば(S18:YES)、具体的には、図10に示すように4軸目を動作させるPTP動作が選択されれば(図10では、「順番」=4のPTP動作が選択された状態を、ハッチングにて模式的に示している)、指定した行のPTP動作を、4軸目が動作するように変更する(S19)。これにより、図10の場合では「順番」=4のPTP動作にて、第4軸(J4)が動作することになる。なお、ユーザによる動作指示が行われない場合には(S18:NO)、そのまま処理を終了する。
When the PTP operation list is displayed in this way, the
このように、シミュレーション装置40は、作業サイクル中の各PTP動作について、その動作時間およびワークを保持しているか否かを動作履歴として記憶し、何番目のPTP動作にて補助実行命令を出力可能であるかを判定し、ユーザの操作入力に応じてそのPTP動作の実行行を変更する(実行命令に補助実行命令を付加する)。
As described above, the
このように、本来の(つまり、ユーザが当初設定した)作業サイクルでは動作しない非動作軸を提示し、ユーザの操作に応じて補助実行命令の付加を可能とすることで、非動作軸(第4軸(J4))を動作させるように作業サイクルを変更することが可能となり、上記したような非動作状態で振動が伝達されることにより発生する欠落領域Rに対して、発生当初においては欠落領域Rに潤滑油Wを補充することができ、また、非動作軸を駆動させて潤滑油Wを予め拡散させることで欠落領域Rの発生そのものを抑制することができるようになる。 In this way, a non-motion axis that does not operate in the original (that is, the user initially set) work cycle is presented, and an auxiliary execution command can be added according to the user's operation. It is possible to change the work cycle so as to operate the four axes (J4)), and the missing region R generated when vibration is transmitted in the non-operating state as described above is initially missing. Lubricating oil W can be replenished to region R, and the occurrence of missing region R itself can be suppressed by driving the non-operation shaft to diffuse lubricating oil W in advance.
以上説明した本実施形態によれば、次のような効果を奏する。
ロボット2に与えられる実行命令を解析し、予め定められている作業サイクルを実行するための一連の実行命令の解析結果を当該作業サイクルにおける動作履歴として記憶し、その動作履歴に基づいてロボットの各軸のうち作業サイクル中に動作していない非動作軸が存在するか否かを判定し、非動作軸が存在することをユーザに提示する。これにより、実際にロボット2を設置して作業サイクルを実行させる前に、つまり、ロボット2の動作を確認するシミュレーションの段階で非動作軸が存在することをユーザに提示することができる。したがって、上記したような故障が発生するおそれのある駆動部に対して、作業サイクル中に非動作軸を駆動させるための実行命令を付加するなどの対策を取ることが可能となり、特定の駆動部における故障の発生を抑制することができるようになる。
According to this embodiment described above, the following effects can be obtained.
The execution instruction given to the
アームを予め設定される教示点間(P1〜P4)で移動させる際の移動態様が、PTP動作およびCP動作のいずれであるかを判定し、アームがPTP動作を行っている期間を、非動作軸を動作させることが可能な動作可能期間として提示する。このとき、PTP動作している期間を動作可能期間とするのは、前述のように発明者の解析結果の裏付けに基づいている。これにより、発生当初の欠落領域Rに潤滑油Wを拡散させることが可能となり、欠落領域Rの拡大を抑制することができるとともに、非動作軸を動作させれば潤滑油Wが拡散されることから、欠落領域Rの発生そのものを抑制することができる。また、前述のように非動作軸の動作はPTP動作中に実施可能な動作であることから、PTP動作中に完了するので、タクトタイムが長くなるなどの影響を与えることが無く、生産効率が低下するおそれを抑制することができる。 It is determined whether the movement mode when moving the arm between preset teaching points (P1 to P4) is the PTP operation or the CP operation, and the period during which the arm is performing the PTP operation is not operated. It is presented as an operable period during which the axis can be operated. At this time, the period in which the PTP operation is performed is set as the operable period based on the support of the analysis result of the inventor as described above. As a result, the lubricating oil W can be diffused into the missing region R at the beginning of the occurrence, the expansion of the missing region R can be suppressed, and the lubricating oil W can be diffused by operating the non-operation shaft. Therefore, the occurrence of the missing region R itself can be suppressed. In addition, as described above, since the operation of the non-operation axis is an operation that can be performed during the PTP operation, the operation is completed during the PTP operation, so that the tact time is not affected and the production efficiency is improved. The possibility of a decrease can be suppressed.
また、動作可能期間をユーザに提示することで、どのPTP動作で非動作軸を動作させればよいかをユーザは直ぐに判断できるので、利便性が向上する。
作業サイクル中に複数のPTP動作が存在する場合、最も動作時間の長いPTP動作を優先して提示する。PTP動作の動作時間が長ければ、非動作軸を動作させたとしても確実に本来の位置まで戻すことができるので、アームの軌跡に大きな影響を与えることがない上、動作時間内でより非動作軸を大きく動かすことが可能となり、欠落領域の発生および拡大をさらに抑制することができる。
In addition, by presenting the operable period to the user, the user can immediately determine which PTP operation should operate the non-operation axis, so that convenience is improved.
When there are a plurality of PTP operations in the work cycle, the PTP operation with the longest operation time is presented with priority. If the operation time of the PTP operation is long, even if the non-operation axis is operated, it can be surely returned to its original position, so that it does not significantly affect the trajectory of the arm and is less active within the operation time. The axis can be moved greatly, and the generation and expansion of the missing region can be further suppressed.
このとき、ワークを移送していないと判定された期間を優先して提示するので、本来の(当初の)作業サイクルでは想定していない非動作軸を動作させた場合であっても、その動作に起因してワークが周辺設備(K1、K2)に衝突するなどの不具合を生じさせることがない。 At this time, since the period in which it is determined that the workpiece is not transferred is preferentially presented, even if a non-motion axis that is not assumed in the original (initial) work cycle is operated, the operation Therefore, there is no problem that the work collides with the peripheral equipment (K1, K2).
アームの可動範囲Vを設定し、当該可動範囲V内に仮想的なオブジェクト(K1、K2)を配置し、動作可能期間に非動作軸を動作させるための補助実行命令を付加した状態で作業サイクルを実行した際、アームの軌跡(軌道(P)または軌道(Q))がオブジェクト(K1、K2)に衝突するか否かを判定し、その判定結果を図10の「衝突」のように提示する。これにより、ロボット2のシミュレーションの段階で補助実行命令を実行した際の動作を確認することができる。また、周辺設備などをオブジェクトとして配置しているので、実際の動作環境を再現した上で、非動作軸の動作が可能であるか否かを判断することができる。
A work cycle in which the arm movable range V is set, virtual objects (K1, K2) are arranged in the movable range V, and an auxiliary execution command for operating the non-motion axis is added during the operable period. Is executed, it is determined whether or not the arm trajectory (trajectory (P) or trajectory (Q)) collides with the object (K1, K2), and the determination result is presented as "Collision" in FIG. To do. Thereby, it is possible to confirm the operation when the auxiliary execution command is executed at the simulation stage of the
本実施形態では、補助実行命令を付加できるので、例えば作業サイクル毎に非動作軸に対して補助実行命令を出力できるなどの対策を取ることができる。これにより、作業サイクル毎に駆動部が駆動され、潤滑油Wが拡散する。この場合、一般的には作業サイクルは1分程度と考えられるので、欠落領域Rが発生する前に非動作軸が動作することから、欠落領域Rの発生をより確実に予防することができる。 In this embodiment, since an auxiliary execution command can be added, it is possible to take measures such as outputting an auxiliary execution command to the non-operation axis for each work cycle. Thereby, a drive part is driven for every work cycle, and lubricating oil W spreads. In this case, since the work cycle is generally considered to be about one minute, the non-operating shaft operates before the missing region R occurs, so that the occurrence of the missing region R can be prevented more reliably.
(第2実施形態)
第1実施形態では6軸の垂直多関節型ロボットを例示したが、図11に示すような4軸の水平多関節型ロボットに適用してもよい。なお、第1実施形態と実質的に共通する部位には同一の符号を付し、詳細な説明は省略する。
(Second Embodiment)
In the first embodiment, a 6-axis vertical articulated robot is exemplified, but the present invention may be applied to a 4-axis horizontal articulated robot as shown in FIG. In addition, the same code | symbol is attached | subjected to the site | part substantially common with 1st Embodiment, and detailed description is abbreviate | omitted.
図11に示すように、ロボットシステム61を構成するロボット62は、設置面に固定されるベース63と、このベース63上にZ方向の軸心を持つ第1軸(J61)を中心に回転可能に連結された第一アーム64と、第一アーム64の先端部上にZ方向の軸心を持つ第2軸(J62)を中心に回転可能に連結された第二アーム65と、第二アーム65の先端部に上下動可能(矢印A方向)で且つZ方向の軸心を持つ第3軸(J63)を中心に回転可能に設けられたシャフト66とから構成されている。シャフト66の先端部(下端部)には、ツールなどを取り付けるためのフランジ67が位置決めされて着脱可能に取り付けられるようになっている。
このような構成においても、第1実施形態の図6と同様の処理を行うことにより、複数の軸に対応して設けられている駆動部が非動作軸であるか否かを判定し、作業サイクル中のPTP動作中に補助実行命令を出力することにより、欠落領域Rの拡大や発生そのものを抑制することができるなど、第1実施形態と同様の効果を得ることができる。
As shown in FIG. 11, the
Even in such a configuration, by performing the same processing as in FIG. 6 of the first embodiment, it is determined whether or not the driving unit provided corresponding to the plurality of axes is a non-operating axis. By outputting the auxiliary execution instruction during the PTP operation in the cycle, it is possible to obtain the same effect as that of the first embodiment, such as the expansion of the missing region R and the occurrence itself can be suppressed.
(その他の実施形態)
本発明は上記した各実施形態に限定されるものではなく、次のような変形または拡張が可能である。
各実施形態では歯車機構として波動歯車装置を例示したが、歯車を利用するものでれば他の構成のものであっても本発明を適用することができる。
第1実施形態では第4軸(J4)を対象としたが、他の軸を対象として図9と同様の処理を実行することにより、ロボット2に設けられている複数の駆動部の全てに対して非動作軸と判定された場合には動作させることができるようになり、第1実施形態と同様の効果を得ることができる。
(Other embodiments)
The present invention is not limited to the above-described embodiments, and the following modifications or expansions are possible.
In each embodiment, the wave gear device is exemplified as the gear mechanism. However, the present invention can be applied to other configurations as long as a gear is used.
In the first embodiment, the fourth axis (J4) is targeted. However, the same processing as in FIG. 9 is performed for the other axes, so that all of the plurality of driving units provided in the
もちろん、全ての軸を対象として個別に図9と同様の処理を行い、非動作軸と判定された全ての駆動部に対して同一の作業サイクル中に個別に補助実行命令を出力するようにしてもよい。その場合、複数の非動作軸が特定された場合には、同一のPTP動作中に補助実行命令を出力してもよいし、異なるPTP動作でそれぞれ補助実行命令を出力するようにしてもよい。 Of course, the same processing as in FIG. 9 is performed individually for all axes, and auxiliary execution commands are individually output during the same work cycle to all drive units determined to be non-operating axes. Also good. In this case, when a plurality of non-motion axes are specified, an auxiliary execution command may be output during the same PTP operation, or an auxiliary execution command may be output in different PTP operations.
各実施形態では歯車機構の歯を1歯以上移動させるような補助実行命令を出力するようにしたが、補助実行命令を出力する動作可能期間の動作時間に応じて、その移動量を帳調整するようにしてもよい。例えば、動作可能期間の動作時間が長ければ、移動量を大きくしてもよい。これは、動作時間が長ければ動作可能期間が終了するまでに本来の噛み合い位置に戻すことができるためである。このようにすれば、潤滑油Wの拡散をさらに促進でき、欠落領域Rの発生より確実に予防できるようになる。この場合、アームの軌跡に与える影響を少なくするためには、動作可能期間としてPTP動作を選択することが望ましい。 In each embodiment, an auxiliary execution command for moving one or more teeth of the gear mechanism is output. However, the amount of movement is adjusted according to the operation time of the operable period for outputting the auxiliary execution command. You may do it. For example, the movement amount may be increased if the operation time of the operable period is long. This is because if the operation time is long, it can be returned to the original meshing position by the end of the operable period. In this way, the diffusion of the lubricating oil W can be further promoted and can be reliably prevented from the occurrence of the missing region R. In this case, in order to reduce the influence on the trajectory of the arm, it is desirable to select the PTP operation as the operable period.
各実施形態では潤滑油Wとして非動作状態では個体に近い性質を有するものを例示したが、常時液体の性質を有するものであってもよい。この場合、潤滑油Wの量が減少した部位すなわち潤滑油Wが切れた部位が欠落領域Rに相当すると考えればよいことから、図6と同様の処理を実行することにより、各実施形態と同様の効果を得ることができる。
第1実施形態では6軸ロボット、第2実施形態では4軸ロボットを例示したが、例えば7軸ロボットなど軸数が異なるロボットであっても本発明を適用することができる。
In each embodiment, the lubricating oil W is exemplified as having a property close to an individual in a non-operating state. However, the lubricating oil W may always have a liquid property. In this case, since it may be considered that the part where the amount of the lubricating oil W is reduced, that is, the part where the lubricating oil W is cut out corresponds to the missing region R, the same processing as in FIG. The effect of can be obtained.
In the first embodiment, a 6-axis robot is illustrated, and in the second embodiment, a 4-axis robot is exemplified. However, the present invention can also be applied to a robot having a different number of axes such as a 7-axis robot.
図面中、2はロボット、6はショルダ(アーム)、7は下アーム(アーム)、8は第一上アーム(アーム)、9は第二上アーム(アーム)、10は手首(アーム)、40はシミュレーション装置、41はモニタ(提示手段)、50は命令解析部(命令解析手段)、51は動作履歴記憶部(動作履歴記憶手段)、52は移動態様特定部(移動態様特定手段)、53は非動作軸判定部(非動作軸判定手段)、54は補助命令付加部(補助命令付加手段)、55は可動範囲設定部(可動範囲設定手段)、56は衝突判定部(衝突判定手段)、57はオブジェクト配置部(オブジェクト配置手段)、61はロボットシステム、62はロボット、64は第一アーム(アーム)、65は第二アーム(アーム)、66はシャフト(アーム)、J1〜J6、J61〜J64は軸、K1、K2はオブジェクト、Vは可動範囲を示す。
In the drawings, 2 is a robot, 6 is a shoulder (arm), 7 is a lower arm (arm), 8 is a first upper arm (arm), 9 is a second upper arm (arm), 10 is a wrist (arm), 40 Is a simulation device, 41 is a monitor (presentation means), 50 is a command analysis section (command analysis means), 51 is an operation history storage section (operation history storage means), 52 is a movement mode specification section (movement mode specification means), 53 Is a non-motion axis determination unit (non-motion axis determination unit), 54 is an auxiliary command addition unit (auxiliary command addition unit), 55 is a movable range setting unit (movable range setting unit), and 56 is a collision determination unit (collision determination unit). , 57 is an object placement unit (object placement means), 61 is a robot system, 62 is a robot, 64 is a first arm (arm), 65 is a second arm (arm), 66 is a shaft (arm), J1 to J6,
Claims (5)
前記ロボットに与えられる実行命令を解析する命令解析手段と、
予め定められている作業サイクルを実行するための一連の前記実行命令の解析結果を、当該作業サイクルにおける前記ロボットの動作履歴として記憶する動作履歴記憶手段と、
前記動作履歴に基づいて、前記ロボットの各軸のうち前記作業サイクル中に動作していない非動作軸が存在するか否かを判定する非動作軸判定手段と、
前記非動作軸が存在することをユーザに提示する提示手段と、
を備えることを特徴とするロボットのシミュレーション装置。 A robot simulation device that models an articulated robot having a plurality of arms and simulates the operation of the robot,
Command analysis means for analyzing an execution command given to the robot;
An operation history storage means for storing an analysis result of a series of the execution instructions for executing a predetermined work cycle as an operation history of the robot in the work cycle;
Non-operation axis determination means for determining whether or not there is a non-operation axis that is not operating during the work cycle among the axes of the robot based on the operation history;
Presenting means for presenting to the user that the non-motion axis exists;
A robot simulation apparatus comprising:
前記提示手段は、前記移動動作が行われている期間を、前記非動作軸を動作させることが可能な動作可能期間としてさらに提示することを特徴とする請求項1記載のロボットのシミュレーション装置。 During the work cycle, when the arm is moved between preset teaching points, the movement mode of the arm is relative to the work movement or the movement speed of the arm with a relative emphasis on the movement trajectory of the arm. Further comprising a movement mode specifying means for specifying which of the movement movements emphasized on
2. The robot simulation apparatus according to claim 1, wherein the presenting unit further presents a period during which the moving motion is performed as an operable period during which the non-motion axis can be moved.
前記提示手段は、前記動作可能期間のうち、前記移送状態でない期間を優先して前記動作可能期間としてさらに提示することを特徴とする請求項2記載のロボットのシミュレーション装置。 The movement mode specifying means further specifies whether or not the robot is in a transfer state in which the workpiece is transferred by the robot,
3. The robot simulation apparatus according to claim 2, wherein the presenting unit further presents the period that is not in the transfer state as the operable period in the operable period.
前記可動範囲内に仮想的なオブジェクトを配置するオブジェクト配置手段と、
前記動作可能期間に前記非動作軸を動作させるための補助実行命令を付加する補助命令付加手段と、
前記補助実行命令を付加した状態で前記作業サイクルを実行した際、前記アームの軌跡が前記仮想的なオブジェクトに衝突するか否かを判定する衝突判定手段と、をさらに備え、
前記提示手段は、前記衝突判定手段による判定結果をさらに提示することを特徴とする請求項2から4のいずれか一項記載のロボットのシミュレーション装置。 A movable range setting means for setting a movable range of the arm;
Object placement means for placing a virtual object within the movable range;
An auxiliary command adding means for adding an auxiliary execution command for operating the non-motion axis during the operable period;
Collision determination means for determining whether or not the trajectory of the arm collides with the virtual object when the work cycle is executed with the auxiliary execution command added;
5. The robot simulation apparatus according to claim 2, wherein the presenting unit further presents a determination result by the collision determination unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012178221A JP5983170B2 (en) | 2012-08-10 | 2012-08-10 | Robot simulation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012178221A JP5983170B2 (en) | 2012-08-10 | 2012-08-10 | Robot simulation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014034094A JP2014034094A (en) | 2014-02-24 |
JP5983170B2 true JP5983170B2 (en) | 2016-08-31 |
Family
ID=50283401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012178221A Active JP5983170B2 (en) | 2012-08-10 | 2012-08-10 | Robot simulation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5983170B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019088681A1 (en) * | 2017-10-31 | 2019-05-09 | 경희대학교산학협력단 | Safety improvement and safety evaluation method for robot |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6666370B2 (en) | 2018-01-31 | 2020-03-13 | ファナック株式会社 | Material adhesion simulation device |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0343171A (en) * | 1989-07-11 | 1991-02-25 | Matsushita Electric Ind Co Ltd | Control device for articulated robot |
JPH042592U (en) * | 1990-04-23 | 1992-01-10 | ||
JP3558179B2 (en) * | 1995-06-01 | 2004-08-25 | ソニー株式会社 | Servo control device and servo control method, and robot control device and robot control method using the same |
JP3992094B2 (en) * | 2000-12-06 | 2007-10-17 | 松下電器産業株式会社 | Component mounting method and component mounting machine |
JP3785349B2 (en) * | 2001-11-09 | 2006-06-14 | ファナック株式会社 | Simulation device |
JP2006215807A (en) * | 2005-02-03 | 2006-08-17 | Yaskawa Electric Corp | Robot control device and control method |
-
2012
- 2012-08-10 JP JP2012178221A patent/JP5983170B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019088681A1 (en) * | 2017-10-31 | 2019-05-09 | 경희대학교산학협력단 | Safety improvement and safety evaluation method for robot |
US11511429B2 (en) | 2017-10-31 | 2022-11-29 | Safetics, Inc. | Method of improving safety of robot and method of evaluating safety of robot |
Also Published As
Publication number | Publication date |
---|---|
JP2014034094A (en) | 2014-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3239793B1 (en) | Method for generating robot operation program, and device for generating robot operation program | |
JP4256440B2 (en) | Robot program adjustment device | |
US10259115B2 (en) | Work device | |
WO2014013605A1 (en) | Robot simulator, robot teaching device and robot teaching method | |
WO2004085120A1 (en) | Robot simulation device, and robot simulation program | |
JP2003117863A (en) | Robot simulation device | |
KR101010761B1 (en) | Robot control device with robot body and additional mechanism with additional axis of motion | |
US20240399581A1 (en) | Extendable safety system for robot system | |
US11826913B2 (en) | Control system, robot system and control method | |
JP5983170B2 (en) | Robot simulation device | |
JP2010218036A (en) | Robot off-line programming system | |
US6965803B2 (en) | Apparatus and method for commissioning and diagnosing control systems | |
Gorjup et al. | A flexible robotic assembly system combining cad based localization, compliance control, and a multi-modal gripper | |
JP5272447B2 (en) | Numerical control machine operation simulator | |
JP5958166B2 (en) | Robot controller | |
US20240139948A1 (en) | Robot, robot control method, article manufacturing method using robot, and control program and storage medium | |
JP2004151976A (en) | Simulation device | |
JP2005335000A (en) | Control device for human intervention type robot | |
JP5639341B2 (en) | Simulation system and program | |
JP2018001313A (en) | Robot, robot control device, and robot system | |
JP6044171B2 (en) | Robot system | |
EP4240566A1 (en) | A robot controller with integrated logic functionality | |
JP7485705B2 (en) | ROBOT SYSTEM, TASK GENERATION DEVICE, AND CONTROL METHOD | |
JP2014034093A (en) | Robot system | |
US20230405822A1 (en) | A robot system and a method for monitoring a robot system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160524 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160526 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160601 |
|
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: 20160705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160718 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5983170 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |