JP2015182145A - Control method of robot system and robot system - Google Patents
Control method of robot system and robot system Download PDFInfo
- Publication number
- JP2015182145A JP2015182145A JP2014057838A JP2014057838A JP2015182145A JP 2015182145 A JP2015182145 A JP 2015182145A JP 2014057838 A JP2014057838 A JP 2014057838A JP 2014057838 A JP2014057838 A JP 2014057838A JP 2015182145 A JP2015182145 A JP 2015182145A
- Authority
- JP
- Japan
- Prior art keywords
- arm
- hand
- control
- time
- arm 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.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
Description
本発明は、複数の制御態様から1の制御態様をその移動制御態様として選択可能なアームと、前記アームにより移動されるハンドを備えたロボットシステムの制御方法、同ロボットシステムに関する。 The present invention relates to a control method for a robot system including an arm capable of selecting one of the plurality of control modes as the movement control mode, and a hand moved by the arm, and the robot system.
従来より、工場の生産ラインにおいて、作業の自動化、省人化を図るために、ロボットを用いた自動組立が利用されている。現在では、より複雑な動作を行うために、多関節ロボットアームを備えたロボットが実用化され、広く普及している。この種のロボットシステムでは、生産性向上のため、サイクルタイム(タクトタイム)の短縮を図るため、例えばワークをロボットハンドにより把持するピッキングの動作時間の短縮が求められている。 Conventionally, automatic assembly using a robot has been used in a production line of a factory in order to automate operations and save labor. Currently, in order to perform more complex operations, robots equipped with articulated robot arms have been put into practical use and are widely used. In this type of robot system, in order to reduce the cycle time (tact time) in order to improve productivity, for example, it is required to reduce the operation time of picking for gripping a workpiece with a robot hand.
従来より、ピッキング動作時間を短縮するため、様々な技術が提案されている。例えば特許文献1には、3軸マニピュレータを用いたピッキング装置において、出庫棚から出荷箱までの一連の動作を連続で実行する制御が開示されている。この特許文献1では、各動作毎に各軸均一の停止位置決め精度を設定するのではなく、各動作に必要限求められる停止位置決め精度を設定することにより、ピッキングのサイクルタイムのアップを図っている。
Conventionally, various techniques have been proposed to shorten the picking operation time. For example,
また特許文献2では、ロボットアームの速度や位置決め精度を向上し、ロボットアームの振動を抑制するために、高精度位置決めモード、高速動作可能モード、のようなモード切替えを行う技術が開示されている。
上記特許文献1、2に記載の技術はいずれも、精度が厳密に必要とされる動作とそれほど精度が要求されない動作を判別して、ロボットの動作を制御することで作業時間短縮を図ることに主眼をおいている。一方、ロボットハンドにより対象物をピッキングするロボットシステムにおいては、次のような技術課題がある。
In any of the techniques described in
例えば、複雑な動作を行う多関節ロボットアームの精密組み付け作業では、ハンドでワークを把持する場合、ロボットアームの位置決めバラつきの影響を考慮し、ハンド開量は、ハンドで把持するワークに対し遊びを持たせる必要がある。しかし、この遊びを大きく取るとハンドの把持制御に要する時間が長くなる傾向がある。従って、ピッキング動作の所要時間のうち、ハンドの把持制御に関しては、ワークのサイズや要求される組み付け精度などによって定まるハンド開量を把持制御時間の長短に影響するパラメータとして考えることができる。 For example, in the precise assembly work of an articulated robot arm that performs complex operations, when gripping a workpiece with a hand, the amount of opening of the hand takes into account play with respect to the workpiece gripped with the hand in consideration of the effects of positioning variations of the robot arm. It is necessary to have it. However, if this play is made large, the time required for hand grip control tends to be long. Therefore, of the time required for the picking operation, regarding the hand grip control, the amount of hand opening determined by the size of the workpiece and the required assembly accuracy can be considered as a parameter that affects the length of the grip control time.
また、ピッキング動作には、例えばロボットアームによりロボットハンドをワークの取り出し位置まで移動させる動作も含まれる。従って、ピッキング動作の所要時間のうち、例えばロボットアームでロボットハンドを待機位置から取り出し位置までの移動させる距離を移動制御時間の長短に影響するパラメータとして考えることができる。 In addition, the picking operation includes an operation of moving the robot hand to a workpiece take-out position by a robot arm, for example. Therefore, of the time required for the picking operation, for example, the distance by which the robot hand moves from the standby position to the take-out position with the robot arm can be considered as a parameter that affects the length of the movement control time.
一方、ロボットの機構部、例えばロボットアームの関節は、波動歯車などを用いた減速機を介してACやDCのサーボモータ、あるいはパルスモータなどのモータによって駆動される。この種の駆動機構の制御においては、モータや減速機の回転軸に設けられたエンコーダを用いて対象物の位置や姿勢を閉(クローズド)ループ制御する。このような閉ループ制御において、対象物の位置や姿勢に相当する実際値を検出するこれらエンコーダの出力を用いる場合、そのエンコーダが機構の位置のどのような位置に設けられているかによって、制御の特性が異なってくる。 On the other hand, a robot mechanism, for example, a joint of a robot arm, is driven by a motor such as an AC or DC servo motor or a pulse motor via a speed reducer using wave gears. In this type of drive mechanism control, the position and posture of the object are closed (closed) loop control using an encoder provided on the rotating shaft of a motor or speed reducer. In such closed-loop control, when using the output of these encoders that detect actual values corresponding to the position and orientation of the object, the control characteristics depend on the position of the mechanism in the encoder. Will be different.
一般に、駆動機構の入力側、例えばモータの駆動軸(あるいは減速機の入力軸)に設けたエンコーダを用いる閉ループ制御はセミクローズ(ド)制御と呼ばれている。また、駆動対象に近い側、例えば減速機の出力軸に設けたエンコーダを用いる閉ループ制御はフルクローズ(ド)制御などと呼ばれる。これらセミクローズ制御およびフルクローズ制御には、制御の速度や精度に関して、それぞれ概ね次のような特徴がある。 Generally, closed loop control using an encoder provided on the input side of the drive mechanism, for example, the drive shaft of the motor (or the input shaft of the speed reducer) is called semi-closed control. Closed loop control using an encoder provided on the side close to the drive target, for example, the output shaft of the reduction gear, is called full-closed control. These semi-closed control and full-closed control generally have the following characteristics regarding the speed and accuracy of control.
例えば、セミクローズ制御は、駆動精度はそれ程高くないが位置や姿勢の制御速度は高速であり、目標の位置(姿勢)付近でのハンチングなどの誤動作を生じない特徴がある。一方、フルクローズ制御は、駆動精度が高いかわりにセミクローズ制御ほど高い制御速度は得られない。また、目標の位置(姿勢)付近でのハンチングなどの誤動作の影響を回避するために様々な付加的な制御を行うなどの必要があり、この点でも高速な駆動制御を行なうのが難しい、といった特徴がある。 For example, the semi-closed control is not so high in driving accuracy but has a high position and orientation control speed, and does not cause malfunction such as hunting near the target position (orientation). On the other hand, the full-closed control cannot obtain a higher control speed than the semi-closed control, although the driving accuracy is high. In addition, it is necessary to perform various additional controls to avoid the effects of malfunctions such as hunting near the target position (posture), and it is difficult to perform high-speed drive control in this respect as well. There are features.
ここで、ピッキング動作時間を短縮する観点から、アーム移動制御態様として、フルクローズ制御またはセミクローズ制御のいずれを選択すべきかを考えると、一見、セミクローズ制御の方が有利であるように思われる。しかしながら、ピッキング動作全体を考えると、必ずしもフルクローズ制御よりもセミクローズ制御の方がピッキング動作の総所要時間が短くなる、とはいえない可能性がある。 Here, from the viewpoint of shortening the picking operation time, it seems that the semi-closed control is more advantageous at first glance when considering whether to select the full-closed control or the semi-closed control as the arm movement control mode. . However, considering the entire picking operation, it may not necessarily be said that the semi-closed control requires a shorter total time for the picking operation than the full-closed control.
例えば、要求されたピッキング動作においてロボットアームによるハンドの移動距離がごく小さい場合と、かなり大きい場合などが考えられる。そして、ハンドの開量も、対象物のサイズによって最小限度の大きさは決定できたとしても、上記のハンド開量に関する遊び量についてはワークが精密部品や壊れ易い部品であるか、などによって調節しなければならない可能性がある。また、ハンド開量については、それ以前のアーム移動がフルクローズ制御でセミクローズ制御のいずれで行われたかによって精度が異なるのであればそれに応じた遊び量(余裕)を取る必要が出てくる可能性がある。 For example, there are cases where the moving distance of the hand by the robot arm in the requested picking operation is very small or quite large. Even if the opening amount of the hand can be determined to the minimum size depending on the size of the object, the play amount related to the opening amount of the hand is adjusted depending on whether the work is a precision part or a fragile part. You may have to do that. In addition, regarding the amount of opening of the hand, if the accuracy differs depending on whether the previous arm movement was performed by full-closed control or semi-closed control, it may be necessary to take a play amount (margin) accordingly. There is sex.
以上のように、ピッキング動作の総所要時間の短縮に関して、フルクローズ制御、セミクローズ制御のいずれが適しているかは、組み立て条件やワークのサイズ、特性などを含んで決定されるピッキング動作の態様によって様々に変化し得る。例えば、ピッキング制御に要する総所要時間のうち、ロボットアームの移動制御時間とハンドの把持制御時間のいずれが大きな比重を持つかはピッキング動作の態様によって異なり、一概に予想できない。また、ロボットアームおよびロボットハンドの制御条件は相互に独立してはおらず、動作前に両者の動作時間を見積もるにしても、アームおよびハンドの動作時間を単純に独立して計算することは適切ではない。 As described above, whether the full-closed control or the semi-closed control is suitable for shortening the total time required for the picking operation depends on the mode of the picking operation that is determined including the assembly conditions, workpiece size, characteristics, etc. Can vary. For example, of the total time required for picking control, which of the robot arm movement control time and the hand gripping control time has a large specific gravity differs depending on the mode of the picking operation, and cannot be generally predicted. Also, the control conditions of the robot arm and robot hand are not independent of each other, and it is not appropriate to simply calculate the arm and hand operating time independently even if the operating time of both is estimated before the operation. Absent.
本発明の課題は、組み立て条件やワークの特性などに応じて、ロボットシステムの制御をフルクローズ制御で行うかセミクローズ制御で行うかを選択し、ワークを把持するピッキング動作を最適かつ高速に制御できるようにすることにある。 The object of the present invention is to select whether to control the robot system with full-closed control or semi-closed control according to the assembly conditions and workpiece characteristics, and to control the picking operation for gripping the workpiece optimally and at high speed. There is to be able to do it.
上記課題を解決するため、本発明においては、対象物を把持するハンドと、前記ハンドを支持して移動するアームと、複数のアーム移動制御態様から選択した1のアーム移動制御態様によって前記アームの動作を制御する制御装置と、を有するロボットシステムの制御方法において、前記制御装置が、前記ハンドにより把持される対象物の少なくとも位置およびサイズに係わる情報を認識する対象物認識工程と、前記制御装置が、前記対象物認識工程で認識された前記対象物の位置まで前記ハンドを移動させるのに必要な前記アームの移動時間を前記複数のアーム移動制御態様ごとに取得するアーム移動時間計算工程と、前記制御装置が、前記対象物認識工程で認識された前記対象物のサイズに基づき取得した前記対象物の把持に必要な前記ハンドの開量に基づき、前記ハンドにより前記対象物を把持する動作におけるハンド把持時間を前記複数のアーム移動制御態様ごとに取得するハンド把持時間計算工程と、前記制御装置が、前記アーム移動時間計算工程、および前記ハンド把持時間計算工程により前記複数のアーム移動制御態様ごとに取得した前記アームの移動時間および前記ハンド把持時間から、前記アームで前記ハンドを前記対象物の位置まで移動させ前記ハンドにより前記対象物を把持させるピッキング動作に必要なピッキング動作時間を前記複数のアーム移動制御態様ごとに取得するピッキング動作時間計算工程と、を備え、前記制御装置は、前記アームの動作を制御するアーム移動制御態様として、前記複数のアーム移動制御態様から、前記ピッキング動作時間計算工程で前記複数のアーム移動制御態様ごとに取得したピッキング動作時間が短いアーム移動制御態様を選択する構成を採用した。 In order to solve the above-described problems, in the present invention, the arm is controlled by a hand that holds an object, an arm that supports and moves the hand, and one arm movement control mode selected from a plurality of arm movement control modes. An object recognition step for recognizing information relating to at least a position and a size of an object to be gripped by the hand; and An arm movement time calculation step for acquiring the movement time of the arm necessary for moving the hand to the position of the object recognized in the object recognition step for each of the plurality of arm movement control modes; The control device is required for gripping the object acquired based on the size of the object recognized in the object recognition step. A hand gripping time calculation step for acquiring a hand gripping time for each of the plurality of arm movement control modes based on an opening amount of the hand for gripping the object by the hand, and the control device calculates the arm movement time. And by moving the hand to the position of the object by the arm from the arm movement time and the hand gripping time acquired for each of the plurality of arm movement control modes by the step and the hand gripping time calculating step. A picking operation time calculating step for obtaining a picking operation time required for the picking operation for gripping the object for each of the plurality of arm movement control modes, and the control device moves the arm to control the operation of the arm. As a control mode, from the plurality of arm movement control modes, the picking operation time meter Picking motion time obtained for each of the plurality of arm movement control aspects in a process is adopted a configuration of selecting a shorter arm movement control mode.
あるいは、対象物を把持するハンドと、前記ハンドを支持して移動するアームと、複数のアーム移動制御態様から選択した1のアーム移動制御態様によって前記アームの動作を制御する制御装置と、を有するロボットシステムにおいて、前記制御装置は、前記ハンドにより把持される対象物の少なくとも位置およびサイズに係わる情報を認識し、認識した前記対象物の位置まで前記ハンドを移動させるのに必要な前記アームの移動時間を前記複数のアーム移動制御態様ごとに取得し、認識した前記対象物のサイズに基づき取得した前記対象物の把持に必要な前記ハンドの開量に基づき、前記ハンドにより前記対象物を把持する動作におけるハンド把持時間を前記複数のアーム移動制御態様ごとに取得し、前記複数のアーム移動制御態様ごとに取得した前記アームの移動時間および前記ハンド把持時間から、前記アームで前記ハンドを前記対象物の位置まで移動させ前記ハンドにより前記対象物を把持させるピッキング動作に必要なピッキング動作時間を前記複数のアーム移動制御態様ごとに取得し、前記アームの動作を制御するアーム移動制御態様として、前記複数のアーム移動制御態様から、前記複数のアーム移動制御態様ごとに取得したピッキング動作時間が短いアーム移動制御態様を選択する構成を採用した。 Or it has a hand which grasps a subject, an arm which supports and moves the hand, and a control device which controls operation of the arm by one arm movement control mode selected from a plurality of arm movement control modes In the robot system, the control device recognizes information related to at least a position and a size of an object held by the hand, and moves the arm necessary to move the hand to the recognized position of the object. Time is acquired for each of the plurality of arm movement control modes, and the object is gripped by the hand based on the opening amount of the hand necessary for gripping the object acquired based on the recognized size of the object. The hand holding time in operation is acquired for each of the plurality of arm movement control modes, and for each of the plurality of arm movement control modes. From the obtained movement time of the arm and the hand gripping time, the picking operation time required for the picking operation in which the arm is moved to the position of the target object by the arm and the target is gripped by the hand is determined by the plurality of arms. As an arm movement control mode acquired for each movement control mode and controlling the operation of the arm, an arm movement control mode with a short picking operation time acquired for each of the plurality of arm movement control modes from the plurality of arm movement control modes. The configuration to select is adopted.
上記構成によれば、アーム移動制御態様として、複数のアーム移動制御態様からピッキング動作時間が短いアーム移動制御態様を選択する。特に、複数のアーム移動制御態様ごとにアーム移動時間とハンド把持時間を加算してピッキング動作の所要時間を取得し、複数のアーム移動制御態様から所要時間が短い制御態様を選択する。このため、組み立て条件やワークの特性などに応じて、適切に複数のアーム移動制御態様から1のアーム移動制御態様を選択でき、ピッキング動作の所要時間を短縮することができる、という優れた効果がある。 According to the above configuration, the arm movement control mode having a short picking operation time is selected from the plurality of arm movement control modes as the arm movement control mode. In particular, the time required for the picking operation is obtained by adding the arm movement time and the hand gripping time for each of the plurality of arm movement control modes, and a control mode with a short required time is selected from the plurality of arm movement control modes. For this reason, according to an assembly condition, the characteristic of a workpiece | work, etc., the outstanding effect that one arm movement control aspect can be selected from several arm movement control aspects appropriately, and the time required for a picking operation | movement can be shortened. is there.
以下、本発明を実施するに好適な実施の形態につき、添付図面に示した実施例を用いて詳細に説明する。 DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments for carrying out the present invention will be described in detail with reference to examples shown in the accompanying drawings.
図1は、本発明の第1実施例に係るロボット装置の概略構成を示す斜視図である。図1に示すロボット装置500は、例えば機械や電子機器の組立などの作業を行う産業ロボット装置として構成されている。図1のロボット装置500は、垂直六軸多関節型のロボットアーム100と、ロボットアーム100を制御する制御装置200と、制御装置200に接続されたティーチングペンダント300と、カメラ310を備えている。
FIG. 1 is a perspective view showing a schematic configuration of the robot apparatus according to the first embodiment of the present invention. A
ロボットアーム100は、作業台に固定されるベース部101に組み立てられている。ロボットアーム100は、変位や力を伝達する複数のリンク121〜126と、これらのリンク121〜126を旋回又は回転可能に連結する複数の関節111〜116とともにロボットの本体部分であるロボット本体100Aを構成する。
The
ロボットアーム100の先端のリンク126には、ハンド102(ロボットハンド)が連結されている。ハンド102は、組立作業などの操作の対象物としてワーク103を把持し、操作するためのエンドエフェクタ(ツール)である。
A hand 102 (robot hand) is connected to the
各関節111〜116は、減速機(後述する図2の11)を介して回転駆動手段であるサーボモータ(図2の1)により駆動される。減速機(図2の11)はサーボモータのトルクを増大させるためにサーボモータの出力を減速するためのものである。このようなロボットアームの関節に用いられる減速機(図2の11)には、例えば小型軽量で減速比の大きい波動歯車減速機が好適である。
Each of the
以下、各関節111〜116を代表して、関節112を例に説明する。図2は、図1に示す関節112の近傍のロボットアーム100の断面を示している。図2に示すように、関節112には、サーボモータ1と、サーボモータ1の出力(回転角度)を減速する減速機11とが設けられている。サーボモータ1は、例えばブラシレスDCサーボモータやACサーボモータから構成される。
Hereinafter, the joint 112 will be described as an example, representing the
サーボモータ1の回転機構は、主に回転軸2とロータマグネット3から構成されている。また、サーボモータ1のモータハウジング4,5には、回転軸2を回転自在に支持する軸受6,7が設けられており、モータハウジング4には、ステータコイル8が取付けられている。サーボモータ1はモータカバー9に収容されている。
The rotating mechanism of the
減速機11の入力側、すなわちモータ1の回転軸2の一端部には、エンコーダ10(第1のエンコーダ)が設けられている。このエンコーダ10は例えば回転軸2の回転角度を検出するロータリエンコーダにより構成される。エンコーダ10はサーボモータ1の回転軸2の回転に伴って、入力側パルス信号を生成し、図1の制御装置200に出力する。このようにして、エンコーダ10によって、減速機11の入力側の駆動軸の駆動量を検出することができる。なお、必要に応じて、サーボモータ1とエンコーダ10との間に、不図示のブレーキユニットを設けてもよい。このようなブレーキユニットを設ける主な目的は電源OFF時のロボット本体100Aの姿勢の保持にある。
An encoder 10 (first encoder) is provided on the input side of the
一方、サーボモータ1の回転軸2の他方の端部には減速比Nの減速機11が取付けられている。波動歯車減速機を用いる場合、減速機11は入力部であるウェブジェネレータ12、サーキュラスプライン13、フレックススプライン14から構成される。動力伝達部として機能するフレックススプライン14は、ウェブジェネレータ12とサーキュラスプライン13との間に配置される。
On the other hand, a
フレックススプライン14は、リンク121に連結されており、減速機11の減速比Nで減速される。減速機11の出力部であるサーキュラスプライン13は、関節112を駆動するリンク122に結合されている。一方、入力側のウェブジェネレータ12は、サーボモータ1の回転軸2に結合されている。
The
以上の構成において、サーボモータ1の回転軸2とウェブジェネレータ12との結合部が、減速機11の入力軸、フレックススプライン14とリンク121との結合部が減速機11の出力軸として機能する。このような構成では、減速機11の出力軸の回転角度が、実出力角度、すなわち関節112の角度となる。
In the above configuration, the connecting portion between the
リンク121とリンク122との間には、クロスローラベアリング15が設けられており、リンク121とリンク122とは、クロスローラベアリング15を介して回転自在に結合されている。以上の構成において、サーボモータ1の回転軸2の回転は、減速機11を介して1/Nに減速され、リンク121とリンク122とが相対的に回転する。
A
減速機11の出力側の駆動軸には、エンコーダ16(第2のエンコーダ)が設けられ、関節112のリンク121とリンク122の相対的な回転角度を検出する。エンコーダ16は、関節112の駆動に伴って出力側パルス信号を生成し、制御装置200(図1)に出力する。すなわち、エンコーダ16は、減速機11の出力側の駆動軸の駆動量を検出することができる。エンコーダ10とエンコーダ16は、一般的なロータリエンコーダと同様に光学式あるいは磁気式ロータリエンコーダなどから構成することができる。
The drive shaft on the output side of the
上記の図2では、ロボットアーム100の関節112を例にサーボモータ1および減速機11廻りの構造につき説明したが、他の関節111、113〜116についても上記と同様の構成が設けられる。本実施例では、ロボットアーム100の関節111〜116はセミクローズ制御(第1のアーム移動制御態様)、またはフルクローズ制御(第2のアーム移動制御態様)のいずれかにより制御される。減速機11の入力側(サーボモータ1の回転軸)に設けられたエンコーダ10はセミクローズ制御で、また減速機11の出力側に設けられたエンコーダ16はフルクローズ制御で用いられる。
In FIG. 2 described above, the structure around the
本実施例(あるいは後述の他の実施例も同様)では、ピッキング動作を行う場合、少なくともロボットアーム100について、セミクローズ制御またはフルクローズ制御のいずれの制御態様で制御するか否かを決定する。
In this embodiment (or in other embodiments described later), when performing the picking operation, it is determined whether or not at least the
また、ハンド102の駆動機構は本実施例では詳細に図示しないが、ハンド102がサーボモータで駆動される場合には、図2と同等のモータおよび減速機を設けることができる。その場合、上記同様に減速機の入力側および出力側にセミクローズ制御、およびフルクローズ制御のためのエンコーダ10とエンコーダ16をそれぞれ設けることができる。このような構成においては、ハンド102についても、セミクローズ制御またはフルクローズ制御のいずれかの制御態様を選択する制御を行なう可能性がある。しかしながら、以下の実施例1〜5ではアームの移動制御に用いる制御態様として、セミクローズ制御またはフルクローズ制御のいずれを用いるのが有利(高速)かを選択する制御につき説明する。
The driving mechanism of the
図3は、ロボット装置500の制御装置200の構成を示すブロック図である。制御装置200は、制御部としてのCPU201、ROM202、RAM203、記憶部としてのHDD204、記録ディスクドライブ205および各種のインタフェース210〜215を有する。
FIG. 3 is a block diagram illustrating a configuration of the
CPU201には、ROM202、RAM203、HDD204、記録ディスクドライブ205およびインタフェース210〜215が、バス216を介して接続されている。ROM202には、BIOSなどの基本プログラムが格納されている。RAM203は、CPU201の演算処理結果を一時的に記憶する記憶装置である。記録ディスクドライブ205にはティーチングペンダントから取得した教示データや、動作手順の動作プログラムを記憶する。
A
HDD204は、CPU201の演算処理結果である各種のデータなどを記憶する記憶部を構成するとともに、本ロボットシステムの制御装置であるCPU201に後述の各制御手順を実行させるためのプログラム330を記録する。CPU201は、HDD204に記録(格納)されたプログラム330に基づいて各種演算処理を実行する。記録ディスクドライブ205は、記録ディスク331に記録された各種データやプログラムなどを読み出すことができる。
The
インタフェース210には、カメラ310が接続されている。カメラ310は、ロボット操作の対象物としてのワーク103を撮影する。カメラ310で撮影された画像にパターンマッチングなどの画像処理を加えることにより、対象物認識を行うことができ、例えば、ワーク103の位置やサイズなどの情報を取得することができる。CPU201は、インタフェース210およびバス216を介してカメラ310から撮影画像のデータ信号を入力することができる。
A
インタフェース211には、ティーチングペンダント300が接続されている。ティーチングペンダント300は、ディスプレイ、ファンクションキーなどのユーザーインターフェース手段を有し、ロボット本体100Aに実行させる動作を教示するのに用いられる。ティーチングペンダント300は、ユーザの教示操作に応じて、例えばロボット本体100Aの各関節111〜116の目標関節角度が順次出力される。CPU201は、この目標関節角度データをインタフェース211およびバス216を介して入力することができる。
A
インタフェース212には、ロボットアーム100(あるいはさらにハンド102)の関節に設けられた各エンコーダが接続される。ここでは、ロボットアーム100の関節(あるいはさらにハンド102)に設けられる全てのエンコーダを代表して、図2に示した減速機11の入力側および出力側のエンコーダ10,16の参照符号を用いている。エンコーダ10,16からは駆動軸の角度を示すパルス信号が出力され、CPU201は、インタフェース212およびバス216を介してエンコーダ10,16の出力値を入力することができる。
Each encoder provided at the joint of the robot arm 100 (or the hand 102) is connected to the
インタフェース213には、モニタ301が接続されており、このモニタ301によって設定状態や現在の動作状態を示す各種の画像や文字を表示することができる。また、インタフェース214には、書き換え可能な不揮発性メモリ(フラッシュメモリなど)や外付けHDDなどの外部記憶装置312が接続される。
A
なお、本実施例ないし後述の実施例における制御手順(制御工程)を実施するためのCPU201(制御装置)のプログラムは上述のHDD204以外の記録媒体に格納してもよい。例えば、同プログラムは上記のROM202になどに格納することができる他、光学ディスクや外付けHDDなどの記録媒体に格納した状態で供給し、記録ディスクドライブ205、あるいは外部記憶装置312などを介してインストールすることができる。この種のプログラム供給用のコンピュータ読み取り可能な記録媒体としては上記の光学ディスクに限らず、フラッシュメモリのような半導体メモリデバイスなど、任意の記録媒体を用いることができる。
Note that a program of the CPU 201 (control device) for performing a control procedure (control process) in the present embodiment or the later-described embodiments may be stored in a recording medium other than the
インタフェース215には、ロボット装置500の各関節111〜116あるいはさらにハンド102などを駆動するサーボモータを制御するサーボ制御装置313が接続されている。サーボ制御装置313は各関節111〜116などを駆動するサーボモータを駆動するが、これらのサーボモータ廻りの構造は例えば図2に示したサーボモータ1と同等である。なお図2では、図2に示したサーボモータ1と同じ参照符号によりサーボモータを示している。
The
CPU201は、サーボ制御装置313およびインタフェース215を介してロボット装置500の各部のサーボモータを駆動制御することができる。例えば、上記のサーボモータ1の場合、サーボモータ1の回転軸2の回転角度の制御量を示す駆動指令のデータを所定時間間隔でバス216およびインタフェース215を介してサーボ制御装置313に出力する。この動作は他の関節のサーボモータでも同様である。これにより、CPU201から入力を受けた駆動指令に基づき、サーボ制御装置313はサーボモータ1への電流の出力量を演算し、サーボモータ1へ電流を供給する。以上のようにして、CPU201は、サーボ制御装置313を介して、制御対象の関節の角度が目標関節角度となるよう、その関節のサーボモータの駆動を制御することができる。
The
図4は、本発明の第1実施例に係るロボット装置の制御系の制御機能ないし制御工程をブロック表現で示したものである。図4に示した各制御機能ないし各制御工程は、図3のCPU201がプログラム330を実行することにより実現される。また、図4では、上で説明済みのハードウェアブロックには、同一の参照符号を付してある。以下、図4の各ブロック表現で示した制御機能ないし制御工程につき説明する。
FIG. 4 is a block diagram showing the control function or control process of the control system of the robot apparatus according to the first embodiment of the present invention. Each control function or each control process shown in FIG. 4 is realized by the
図4において、カメラ310はピッキング動作において、ハンド102で把持するワーク付近の画像を撮影する。このワークの位置は、例えばピッキング動作においては、ロボットアーム100によりハンド102を移動させる目標位置である。
In FIG. 4, the
CPU201は、カメラ310で撮影された画像データに対してパターンマッチなどの画像処理(401)を行うことにより、ワーク位置を特定(402)することができる。
The
ピッキング動作において、ハンド102でワークを把持する際のハンド102の開量は、ワークのサイズから決定しなければならない。ワークのサイズはカメラ310で撮影した画像から求めてもよいが、本実施例では、ワークのサイズを取得、例えばワークのサイズを記録ディスク331などから読み込んで、そのワークサイズを記憶する(403)。
In the picking operation, the opening amount of the
本実施例では、CPU201は、ピッキング動作に先立って、フルクローズ制御計算(404)、およびセミクローズ制御計算(411)を行い、そのピッキング動作に要するピッキング動作時間を計算する。ここでは、フルクローズ制御、およびセミクローズ制御の各制御態様におけるアーム移動時間、およびハンド把持時間からピッキング動作時間を計算する。ピッキング動作は、ワークまでハンド102をロボットアーム100で移動するアーム移動、およびハンド102でワークを把持する把持動作から成る。この場合、アーム移動時間は、先に特定したワークの位置(402)に基づき計算できる。また、ハンド把持時間は先に取得し記憶(403)したワークサイズから適切なハンド開量を求め、このハンド開量に基づき計算できる。このようにして、フルクローズ制御、およびセミクローズ制御の各制御態様ごとにアーム移動時間、およびハンド把持時間を計算し、各制御態様ごとのピッキング動作時間を計算することができる。
In this embodiment, the
ここで、フルクローズ制御とは、減速機11の出力軸の角度を検出するエンコーダ16から得られる値を用いて、アームの位置決めを制御する制御態様である。一般に、フルクローズ制御は、減速機の捩れなどの機構系の誤差をキャンセルし、セミクローズ制御よりは比較的高精度な位置決めが可能である。また、フルクローズ制御では、制御系のループにある減速機の捩れなどの要因で制御系が振動的になり位置決めに時間がかかる傾向がある。すなわち、フルクローズ制御の場合、機構制御を行えるが、移動時間が長くなる傾向がある。
Here, the full-closed control is a control mode in which the arm positioning is controlled using a value obtained from the
また、セミクローズ制御とは、サーボモータ1の入力軸の角度を検出するエンコーダ10から得られる値を用いて、アームの位置決めを制御する制御態様である。一般に、セミクローズ制御は、減速機の捩れなどの機構系の誤差をキャンセルできないため、フルクローズ制御と比較すると、位置決め精度は低くなる。また、セミクローズ制御は制御系のループに減速機の捩れなどが無いので制御系としての振動は少なく、高速駆動が可能であり、位置決め精度は低くなるが、移動時間が短くて済む傾向がある。
The semi-closed control is a control mode in which the arm positioning is controlled using a value obtained from the
さて、図4のフルクローズ制御計算(404)、およびセミクローズ制御計算(411)において、アーム移動量計算(405、412)を行う。このアーム移動量計算(405、412)では、アーム動作開始位置から、ワーク位置特定(402)で特定された目標位置までの移動量を各々の制御方法(制御態様)ごとに計算する。例えば、カメラ310の撮影倍率は既知であるから、ワーク位置特定(402)のための画像処理で得た位置情報に基づき、アーム動作開始位置からワークの位置までの距離を計算することができる。なお、カメラ310の撮影倍率などの定数条件は例えばROM202やRAM203を参照することにより取得できるものとする。
Now, arm movement amount calculation (405, 412) is performed in the full-closed control calculation (404) and the semi-closed control calculation (411) of FIG. In this arm movement amount calculation (405, 412), the movement amount from the arm operation start position to the target position specified by the workpiece position specification (402) is calculated for each control method (control mode). For example, since the photographing magnification of the
本実施例では、ピッキング動作を制御するのに、フルクローズ制御またはセミクローズ制御のいずれの制御方式が適当かを選択するために、それぞれの所要時間を求めるべくフルクローズ制御計算(404)、およびセミクローズ制御計算(411)を行う。本実施例では、これらの計算(404、411)で得られた所要時間のうち、ピッキング動作の所要時間が短かい方の上記の2つの制御方式(制御態様)を選択する。 In this embodiment, a full-closed control calculation (404) to determine the required time for each to select whether a full-closed control or a semi-closed control is appropriate for controlling the picking operation, and Semi-closed control calculation (411) is performed. In the present embodiment, among the required times obtained by these calculations (404, 411), the above two control methods (control modes) having the shorter required time for the picking operation are selected.
フルクローズ制御計算(404)、およびセミクローズ制御計算(411)では、まず、アーム速度計算(406、413)において、ワーク位置特定(402)により特定された目標位置までのロボットアーム100の速度を各々の制御方法ごとに計算する。例えば、ロボットアーム100の各関節の駆動機構のギア比、アーム各部の寸法などは既知であるから、アーム動作開始位置からワークの位置までの距離を計算することができる。ここでも、上記ギア比やアーム各部の寸法などの定数条件は例えばROM202やRAM203を参照することにより取得できるものとする。
In the full-closed control calculation (404) and the semi-closed control calculation (411), first, in the arm speed calculation (406, 413), the speed of the
さらに、フルクローズ制御計算(404)、およびセミクローズ制御計算(411)において、アーム移動時間計算(407、414)では、要求されているピッキング動作におけるアーム移動時間を各々の制御方法ごとに計算する。すなわち、アーム移動量計算(405、412)、アーム速度計算(406、413)で求めたアーム移動量をアーム速度で除する演算によりアーム移動時間を求めることができる。 Further, in the full-closed control calculation (404) and the semi-closed control calculation (411), in the arm movement time calculation (407, 414), the arm movement time in the required picking operation is calculated for each control method. . That is, the arm movement time can be obtained by a calculation that divides the arm movement amount obtained by the arm movement amount calculation (405, 412) and the arm speed calculation (406, 413) by the arm speed.
一方、フルクローズ制御計算(404)、およびセミクローズ制御計算(411)において、ハンド開量計算(408、415)では、ハンド102でワークを把持するのに必要なハンドの開量を各々の制御方法ごとに計算する。すなわち、ワーク位置特定(402)にて特定されたワークの位置、および記憶(403)したワークサイズに基づき、フルクローズ制御にした場合と、セミクローズ制御にした場合の、それぞれのハンドの開量を決定することができる。
On the other hand, in the full-closed control calculation (404) and the semi-closed control calculation (411), in the hand opening amount calculation (408, 415), the opening amount of the hand necessary for gripping the workpiece by the
ハンド開量は、ハンド102でワークを把持する動作を開始する際にハンド102の把持部(爪)を開いておく量である。このハンド開量の大きさは、例えば、システム全体で、あるいは少なともロボットアーム100の移動制御にフルクローズ制御またはセミクローズ制御のいずれを採用するかにによって異なるものとなる。
The hand opening amount is an amount by which the gripping portion (claw) of the
例えば、ロボットアーム100の位置決め精度は、制御方法の違いによって生じるアーム位置決めバラつきが影響し、アーム位置決めバラつきが小さいほど高精度となる。フルクローズ制御はアーム位置決め精度が高いため、ハンドの開量は少量で済む。逆に、セミクローズ制御はアームの位置決め精度が低いため、ハンドの開量は大きく見積る必要がある。フルクローズ制御計算(404)、およびセミクローズ制御計算(411)の各ハンド開量計算(408、415)では、それぞれの制御条件に応じて確実にワークを把持するのに必要なハンド開量をそれぞれ計算する。
For example, the positioning accuracy of the
さらに、フルクローズ制御計算(404)、およびセミクローズ制御計算(411)において、ハンド把持時間計算(409、416)では、ハンド把持時間を各々の制御方法ごとに計算する。すなわち、上記のハンド開量計算(408、415)より計算されたフルクローズ制御の場合と、セミクローズ制御の場合のそれぞれのハンド開量からそれぞれの制御方法における把持時間を計算することができる。 Further, in the full-closed control calculation (404) and the semi-closed control calculation (411), in the hand holding time calculation (409, 416), the hand holding time is calculated for each control method. That is, the gripping time in each control method can be calculated from the respective hand opening amounts in the case of full-closed control and the case of semi-closed control calculated from the above-described hand opening amount calculation (408, 415).
そして、フルクローズ制御計算(404)、およびセミクローズ制御計算(411)では、最後にピッキング動作時間計算(410、417)において、要求されたピッキング動作に要するピッキング動作時間を各々の制御方法ごとに計算することができる。ここでは、ハンド把持時間計算(409、416)で取得したハンド把持時間と、アーム移動時間計算部(407、414)で取得したアームの移動時間を合計することにより、ピッキング動作時間を各々の制御態様ごとに求めることができる。 In the full-closed control calculation (404) and the semi-closed control calculation (411), the picking operation time required for the picking operation requested in the last picking operation time calculation (410, 417) is determined for each control method. Can be calculated. Here, the picking operation time is controlled by summing the hand gripping time acquired by the hand gripping time calculation (409, 416) and the arm moving time acquired by the arm moving time calculation unit (407, 414). It can be determined for each mode.
本実施例では、以上のようにして求めたフルクローズ制御、および、セミクローズ制御でピッキング動作時間に基づき、これらいずれの制御方式を実際のピッキング動作で採用すべきかを選択(418)する。ここでは、制御方法選択(418)では、フルクローズ制御計算(404)と、セミクローズ制御計算部(411)で取得したそれぞれの制御方法におけるピッキング動作時間を比較し、短い時間となった方の制御方法を選択する。 In this embodiment, based on the picking operation time in the full-closed control and semi-closed control obtained as described above, it is selected (418) which control method should be adopted in the actual picking operation. Here, in the control method selection (418), the picking operation time in each control method acquired by the full-closed control calculation (404) and the semi-closed control calculation unit (411) is compared, and the shorter one is obtained. Select the control method.
そして、制御方法切替(419)では、制御方法選択(418)によって選択した制御方法(フルクローズ制御またはセミクローズ制御)に切り替える。制御方法切替(419)は、実際にはサーボ制御装置313に対して選択した制御方法(フルクローズ制御またはセミクローズ制御)のいずれを用いるかを指定することにより実現される。サーボ制御装置313は、制御方法切替部419で切り替えられた制御方法で動作指令をサーボモータ1に出力する。サーボモータ1は、サーボ制御装置313から受信した命令に基づき動作し、ロボットアーム100の各関節(あるいはさらにハンド102)を制御する。
In the control method switching (419), the control method is switched to the control method (full-closed control or semi-closed control) selected by the control method selection (418). The control method switching (419) is actually realized by designating which of the selected control methods (full-closed control or semi-closed control) is used for the
上述の通り、図2のサーボモータ1、エンコーダ10、16はロボットアーム100の各関節に設けられたものを代表して示したものである。従って、本実施例では、ロボットアーム100は、以上の制御によって選択されたフルクローズ制御またはセミクローズ制御のいずれかによって制御されることになる。
As described above, the
上述のように、エンコーダ10は、サーボモータ1に取り付けられ、サーボモータ1の実動作状況を監視する。セミクローズ制御で駆動する際は、入力側のエンコーダ10の出力値を監視して位置制御を行う。すなわち、セミクローズ制御ではロボット各部の位置姿勢の指令値(目標値)を監視しつつロボット各部が制御される。また、エンコーダ16は、減速機11の出力側に取り付けられ、減速機の動作状況を監視する。フルクローズ制御で駆動する際は、減速機11の出力側のエンコーダ16の出力値を監視して位置制御を行う。すなわち、フルクローズ制御ではロボット各部の位置姿勢の実際値を監視しつつロボット各部が制御されることになる。
As described above, the
図5は、上記の制御を実現すべく、制御装置たるCPU201が実行するプログラムの流れを示したフローチャートである。図5に示す各処理ステップは、CPU201がプログラム330を読み出してプログラム330を実行することにより実現される。
FIG. 5 is a flowchart showing the flow of a program executed by the
ステップS1では、カメラ310により把持対象のワークを撮影する。ステップS2では、ステップS1で撮影された画像をCPU201がパターンマッチングなどの画像処理(401)を実行する。
In step S <b> 1, the workpiece to be grasped is photographed by the
ステップS3では、CPU201はステップS2にて画像処理(401)結果に基づき、ワークの位置特定(402)を行い、ワークの位置、すなわちアーム移動目標位置を特定する。
In step S3, the
ステップS4において、CPU201はステップS3で得られたワークの目標位置に基づき、アーム移動量計算(405、412)を行い、アームの現在位置からの移動量Alを計算する。
In step S4, the
ステップS5において、CPU201はアーム速度計算(406、413)を行い、フルクローズ制御とセミクローズ制御に制御方法を切り替えて、それぞれの制御方法におけるアーム移動速度を計算する。ここではフルクローズ制御にて制御した場合のアーム移動速度Avf、セミクローズ制御にて制御した場合のアーム移動速度Avsを計算する。これらの移動速度は、フルおよびセミクローズ制御におけるクロック速度、減速機11のギア比、アーム各部の寸法比などに基づいて計算することができる。
In step S5, the
ステップS6において、CPU201は、ステップS4で計算された移動量Alに基づき、アーム移動時間計算(407、414)を行い、フルクローズ制御とセミクローズ制御に制御方法を切り替えて、それぞれの制御方法でのアーム移動時間を計算する。ここでは、フルクローズ制御にて制御した場合のアーム移動時間Atfと、セミクローズ制御にて制御した場合のアーム移動時間Atsを計算する。これらのアーム移動時間はステップS4で求めたアーム移動量AlをステップS5で求めたアーム移動速度AvfまたはAvsで除することにより取得できる。
In step S6, the
さらに、ステップS7では、CPU201は、記録ディスク331に記録されたワークサイズWを、記録ディスクドライブ205によって読み出し、記憶(403)する。本実施形態では、画像処理によって得たワークの画像からではなく、あらかじめ定められたワークの種別などに応じて記録ディスクドライブ205に記録されているワークサイズWを用いている。
In step S7, the
ステップS8では、CPU201は、ステップS5で読み出されたワークサイズWに基づき、ハンド開量計算(408、415)を行い、フルクローズ制御とセミクローズ制御に制御方法を切り替えて、それぞれの制御方法でのハンド開量を計算する。ここでは、フルクローズ制御にて制御した場合のハンド開量Hf、セミクローズ制御にて制御した場合のハンド開量Hsを計算する。ここで、ワークサイズバラつきをΔW、フルクローズ制御の場合のアーム位置決めバラつきをΔAf、セミクローズの場合のアーム位置決めバラつきをΔAsとする。その場合、アームがフルクローズ制御の場合のハンド開量Hf、およびセミクローズ制御の場合のハンド開量Hsを求める計算式は例えば以下の通りとなる。
Hf=W+ΔAf+ΔW …(1)
Hs=W+ΔAs+ΔW …(2)
In step S8, the
Hf = W + ΔAf + ΔW (1)
Hs = W + ΔAs + ΔW (2)
すなわち、本実施例では、必要なハンド開量を定めるのに、それ迄のアーム移動がフルないしセミクローズ制御のいずれで行われるかによって、異なるアーム位置決めバラつきΔAfまたはΔAsを想定すべきである、との技術思想を採用している。また、ワークサイズWは実測しておらず、記録ディスクドライブ205などから読み出しているため、あらかじめ想定されるワークサイズバラつきΔWの分を必要なハンド開量に加算している。
That is, in this embodiment, in order to determine the necessary hand opening amount, different arm positioning variations ΔAf or ΔAs should be assumed depending on whether the arm movement until that time is performed under full or semi-closed control. The technical idea is adopted. In addition, since the work size W is not actually measured and is read from the
続いてステップS9では、CPU201は、ステップS8で計算されたフルクローズ制御のハンド開量Hfとセミクローズ制御のハンド開量Hsに基づきハンド把持時間計算(409、416)を行う。ここでは、フルクローズ制御のハンド把持時間Htfと、セミクローズ制御のハンド把持時間Htsを計算する。これらハンド把持時間HtfとHtsは、上記のハンド開量Hf、Hsと、ハンド102の駆動系に係る定数から計算することができる。ここで、ハンド102の駆動系に係る定数とは、ハンド102のサーボモータを制御するクロックの周波数、ハンド102の駆動系のギア比などである。
Subsequently, in step S9, the
ステップS10では、CPU201は、ピッキング動作時間計算(410、417)を行い、フルクローズ制御のピッキング動作時間Ptf、セミクローズ制御のピッキング動作時間Ptsを計算する。ここではステップS6で取得したフル、セミクローズ制御のアーム移動時間Atf、アーム移動時間Atsに、ステップS9で取得したフルおよびセミクローズ制御のハンド把持時間Htf、ハンド把持時間Htsにそれぞれ加算する演算を行う。フルクローズ制御のピッキング動作時間Ptf、セミクローズ制御のピッキング動作時間Ptsは例えば次の計算式により取得することができる。
Ptf=Atf+Htf …(3)
Pts=Ats+Hts …(4)
In step S10, the
Ptf = Atf + Htf (3)
Pts = Ats + Hts (4)
ステップS11では、CPU201は制御方法選択(418)を行う。すなわち、ステップS10にて計算されたフルクローズ制御のピッキング動作時間Ptfと、セミクローズ制御のピッキング動作時間Ptsを比較する。そして、フルクローズ制御のピッキング動作時間Ptfの方が短い場合、制御方式としてフルクローズ制御を選択し、セミクローズ制御のピッキング動作時間Ptsの方が短い場合、制御方式としてセミクローズ制御を選択する。ただし、制御方式を自動的に選択する他、例えば上記のようにして計算したピッキング動作時間Ptf、Ptsをティーチングペンダント300に表示させるなどして、ユーザに最終選択操作を行わせるようにしてもよい。
In step S11, the
ステップS12において、CPU201は、ステップS11で選択したフルまたはセミクローズ制御のいずれかの制御方式をサーボ制御装置313に指定する。これにより、サーボ制御装置313は指定された制御方式に応じて、以後サーボモータ1(ないしロボットアーム100各部のサーボモータ、あるいはさらにハンド102のサーボモータ)を制御し、ピッキング動作が行われる。
In step S12, the
以上のように、本実施例によれば、ロボットアーム100の移動量およびハンド102の開量に基づき、アーム移動時間、およびハンド把持時間を取得する。その場合、アーム移動時間、およびハンド把持時間は、ロボットアーム100(あるいはさらにハンド102)をフルクローズ制御またはセミクローズ制御した場合についてそれぞれ取得する。そしてロボットアーム100(あるいはさらにハンド102)の制御方式(制御態様)として、フルクローズ制御、セミクローズ制御のうちピッキング動作の所要時間が短かくて済む制御方式を選択でき、ピッキング動作を最適化でき、時間短縮が可能となる。
As described above, according to this embodiment, the arm movement time and the hand gripping time are acquired based on the movement amount of the
また、本実施例では、必要なハンド開量を定めるのに、それまでのアーム移動がフルないしセミクローズ制御のいずれで行われるかによって、異なるアーム位置決めバラつきΔAfまたはΔAsを想定すべきである、との技術思想を採用している。例えば、ワークまでの距離が小さくアーム移動時間がピッキング動作の所要時間中で小さいファクタであるような場合には、相対的にハンド把持時間が大きなファクタを占めるようになる。このようなケースでは、アーム位置に誤差が生じやすく大きなハンド開量を取らなければならないセミクローズ制御の方よりもフルクローズ制御の方が時間短縮には有利である場合があり得る。本実施例ではこのようなケースにも対応でき、フルまたはセミクローズ制御方式から確実にピッキング動作の所要時間の短い制御態様を選択することができる。 Further, in the present embodiment, in order to determine the necessary hand opening amount, different arm positioning variations ΔAf or ΔAs should be assumed depending on whether the arm movement until that time is performed by full or semi-closed control. The technical idea is adopted. For example, when the distance to the workpiece is small and the arm movement time is a small factor in the time required for the picking operation, the hand gripping time becomes a relatively large factor. In such a case, there is a case where the full-closed control is more advantageous for shortening the time than the semi-closed control in which an error is likely to occur in the arm position and a large hand opening amount must be taken. In this embodiment, it is possible to cope with such a case, and it is possible to select a control mode in which the time required for the picking operation is short from the full or semi-closed control method.
また、本実施例ではワークサイズWを記録ディスクドライブ205などから読み出しているため、あらかじめ想定されるワークサイズバラつきΔWの分を必要なハンド開量に加算する制御を行っている。本実施例では、これらの条件を加味した計算を行った上、ロボットアーム100(あるいはさらにハンド102)の制御方式(制御態様)として、フルクローズ制御、セミクローズ制御のいずれか所要時間が短い制御態様を選択する。従って、本実施例ではよりきめ細かくピッキング動作を最適化でき、時間短縮が可能となる、という優れた効果がある。
Further, in this embodiment, since the work size W is read from the
上記の実施例1では、ハンド開量を計算するのに、記録ディスクドライブ205などに予め記憶したワークサイズWを用いている。これに対して、本実施例2では、ワークサイズはカメラ310で撮影した画像に対する画像処理を介して取得する例を示す。このようにワークサイズを画像処理を介して実測することにより、ワークサイズバラつき、ワーク位置バラつきを高精度に算出でき、ワーク毎に適切なハンド開量を設定することができ、さらなるピッキング動作時間の短縮を期待できる。
In the first embodiment, the work size W stored in advance in the
図6は、本実施例2に係るロボット装置の制御系の制御機能ないし制御工程を図4と同様の形式のブロック表現で示したものである。装置のハードウェア構成は上述の実施例1の図1〜図3に示したものと同様で、図6に示した各制御機能ないし各制御工程は、図3のCPU201がプログラム330を実行することにより実現される。なお、図6において上述の図4(実施例1)と同様の構成については、同一符号を付してその詳細な説明は省略するものとする。以下、図6の各ブロック表現で示した制御機能ないし制御工程につき説明する。
FIG. 6 shows a control function or a control process of the control system of the robot apparatus according to the second embodiment in block representation of the same format as FIG. The hardware configuration of the apparatus is the same as that shown in FIGS. 1 to 3 of the first embodiment, and the
図6において、図4(実施例1)と異なるのは、CPU201の画像処理(401)において、ワーク位置特定(402)とともにワークサイズ算出(421)を行なう点にある。このうちワーク位置特定(402)処理は実施例1と同様に行われる。ワークサイズ算出(421)では、カメラ310で取り込まれた画像に対する画像処理、たとえばパターンマッチングなどの処理を介して、カメラ310で撮影したワークのワークサイズを算出する。図6の他の制御機能(制御工程)ブロックの構成は図4と同様である。
6 is different from FIG. 4 (Embodiment 1) in that, in the image processing (401) of the
図7は本実施例の制御を実現すべく、制御装置たるCPU201が実行するプログラムの流れを示したフローチャートである。図7に示す各処理ステップは、CPU201がプログラム330(図3)を読み出してプログラム330を実行することにより実現される。
FIG. 7 is a flowchart showing the flow of a program executed by the
図7のステップS21、S22、S23の動作は、図5(実施例1)のステップS1、S2、S3と同様で、カメラ310によるワーク撮影、画像処理(401)、ワーク位置特定(402)を行う。
The operations in steps S21, S22, and S23 in FIG. 7 are the same as those in steps S1, S2, and S3 in FIG. 5 (Example 1), and work shooting by the
図7のステップS24において、CPU201は、ステップS22の画像処理(401)に基づきワークサイズ算出(421)を行い、ワークサイズWを算出する。このワークサイズWは、後述のハンド開量計算などで用いられるが、本実施例ではあらかじめ記憶した値ではなく、カメラ310の撮影画像に基づき実測された値である。
In step S24 of FIG. 7, the
続くステップS25、S26、S27の動作は、図5(実施例1)のステップS4、S5、S6と同様である。 The subsequent operations in steps S25, S26, and S27 are the same as those in steps S4, S5, and S6 in FIG. 5 (Example 1).
ステップS25において、CPU201は、図5のステップS4と同様に、画像処理(401)から得たワークの目標位置に基づき、アーム移動量計算(405、412)を行い、アームの現在位置からの移動量Alを計算する。
In step S25, the
ステップS26において、CPU201は図5のステップS5と同様に、アーム速度計算(406、413)を行い、フルクローズ制御とセミクローズ制御に制御方法を切り替えて、それぞれの制御方法におけるアーム移動速度を計算する。ここではフルクローズ制御にて制御した場合のアーム移動速度Avf、セミクローズ制御にて制御した場合のアーム移動速度Avsを計算する。
In step S26, the
ステップS27において、CPU201は、図5のステップS6と同様に、ステップS4で計算された移動量Alに基づき、アーム移動時間計算(407、414)を行う。ここでは、フルクローズ制御にて制御した場合のアーム移動時間Atfと、セミクローズ制御にて制御した場合のアーム移動時間Atsを計算する。
In step S27, the
ステップS28において、CPU201は、ステップS24で実測したワークサイズWに基づき、ハンド開量計算(408、415)を行い、フルクローズ制御とセミクローズ制御に制御方法を切り替え、それぞれの制御方法でのハンド開量を計算する。ここではフルクローズ制御にて制御した場合のハンド開量Hf、セミクローズ制御にて制御した場合のハンド開量Hsを計算する。本実施例では、カメラ310にて撮影した画像よりワークサイズWを算出するため、ワークサイズバラつきΔWはハンド開量に影響しないため計算に用いない。ここでフルクローズ制御の場合のアーム位置決めバラつきをΔAf、セミクローズの場合のアーム位置決めバラつきをΔAsとする。その場合、フルクローズ制御の場合のハンド開量Hf、およびセミクローズ制御の場合のハンド開量Hsを求める計算式は例えば以下のようになる。
Hf=W+ΔAf …(5)
Hs=W+ΔAs …(6)
In step S28, the
Hf = W + ΔAf (5)
Hs = W + ΔAs (6)
図7のステップS29〜S32の動作は、上述の実施例1のステップS9〜S12(図5)と同様である。 The operations in steps S29 to S32 in FIG. 7 are the same as those in steps S9 to S12 (FIG. 5) in the first embodiment.
ステップS29では、図5のステップS9と同様に、CPU201はステップS28で計算されたフルクローズ制御のハンド開量Hfとセミクローズ制御のハンド開量Hsに基づきハンド把持時間計算(409、416)を行い、ハンド把持時間を計算する。ここでは、フルクローズ制御のハンド把持時間Htfと、セミクローズ制御のハンド把持時間Htsを計算する。これらのハンド把持時間HtfとHtsは、上記のハンド開量Hf、Hsと、ハンド102の駆動系に係る上述の諸定数から計算することができる。
In step S29, as in step S9 of FIG. 5, the
ステップS30では、CPU201は、図5のステップS10と同様に、ピッキング動作時間計算(410、417)を行い、フルクローズ制御のピッキング動作時間Ptf、セミクローズ制御のピッキング動作時間Ptsを計算する。ここではステップS27で取得したフル、セミクローズ制御のアーム移動時間Atf、アーム移動時間Atsに、ステップS29で取得したフルおよびセミクローズ制御のハンド把持時間Htf、ハンド把持時間Htsをそれぞれ加算する演算を行う。フルクローズ制御のピッキング動作時間Ptf、およびセミクローズ制御のピッキング動作時間Ptsを取得する計算式は実施例1中の式(3)および式(4)(図7中にも記載)と同じである。
In step S30, the
ステップS31では、図5のステップS11と同様に、CPU201は制御方法選択(418)を行う。すなわち、ステップS30で取得したフルクローズ制御のピッキング動作時間Ptfと、セミクローズ制御のピッキング動作時間Ptsを比較する。そして、フルクローズ制御のピッキング動作時間Ptfの方が短い場合、制御方式としてフルクローズ制御を選択し、セミクローズ制御のピッキング動作時間Ptsの方が短い場合、制御方式としてセミクローズ制御を選択する。
In step S31, as in step S11 of FIG. 5, the
ステップS32では、図5のステップS12と同様に、CPU201は、ステップS11で選択したフルまたはセミクローズ制御のいずれかの制御方式をサーボ制御装置313に指定する。これにより、サーボ制御装置313は指定された制御方式に応じて、以後、サーボモータ1(ないしロボットアーム100各部のサーボモータ)を制御し、ピッキング動作が行われる。
In step S32, as in step S12 of FIG. 5, the
本実施例の基本的な作用効果は実施例1の最後で述べたものと同様であるため、ここではその記述を繰り返すのは省略するが、上述の実施例1の作用効果に加え、本実施例では次のような作用効果を期待できる。本実施例では、ワーク位置に加え、ワークサイズWをカメラ310で撮影した画像に基づき実測するようにしているため、ワークサイズバラつきやワーク位置バラつきを高精度に算出し、その結果をハンドの開量および把持時間計算に反映させることができる。
Since the basic operational effects of the present embodiment are the same as those described at the end of the first embodiment, the description thereof will not be repeated here, but in addition to the operational effects of the above-described first embodiment, the present embodiment will be described. In the example, the following effects can be expected. In this embodiment, in addition to the work position, the work size W is actually measured based on the image taken by the
すなわち、本実施例によれば、ワークに個体差がある場合でも、個々のワークに応じてワーク毎に適切なハンド開量を設定し、的確な把持が可能である。また、ピッキング動作時間の評価に係る把持時間計算をより正確に実現でき、ピッキング動作時間に基づき適切にフル、ないしセミクローズ制御を選択し、ピッキング動作の所要時間を短縮することができる。 That is, according to the present embodiment, even when there are individual differences in the work, an appropriate hand opening amount can be set for each work according to the individual work, and accurate gripping can be performed. In addition, the gripping time calculation related to the evaluation of the picking operation time can be more accurately realized, and the full or semi-closed control can be appropriately selected based on the picking operation time, thereby shortening the time required for the picking operation.
上述の実施例1および2では、ハンド102でワークを把持する時のハンド把持速度については考慮しておらず、その値は一定であることを前提として説明した。
In the above-described first and second embodiments, the hand gripping speed when gripping the workpiece with the
しかしながら、ロボット制御の分野では、ワークが壊れやすい、などの条件がある場合に、従来よりハンド把持速度を遅くしてワークの破損を防ぐことが行われており、このようにワークの特性によってハンド把持速度を変更しなければならない場合がある。本実施例3では、ワーク(の種類、特性)に応じてハンド把持速度を変える制御を行う場合のピッキング制御につき説明する。 However, in the field of robot control, when there is a condition such as the work being fragile, the hand gripping speed is made slower than before to prevent the work from being damaged. It may be necessary to change the gripping speed. In the third embodiment, picking control in the case of performing control for changing the hand gripping speed in accordance with the workpiece (type and characteristics thereof) will be described.
図8は、本実施例3に係るロボット装置の制御系の制御機能ないし制御工程を図4や図6と同様の形式のブロック表現で示したものである。装置のハードウェア構成は上述の実施例1の図1〜図3に示したものと同様で、図8に示した各制御機能ないし各制御工程は、図3のCPU201がプログラム330を実行することにより実現される。なお、図8において上述の図4(実施例1)ないし図6(実施例2)と同様の構成については、同一符号を付してその詳細な説明は省略するものとする。以下、図6の各ブロック表現で示した制御機能ないし制御工程につき説明する。
FIG. 8 shows a control function or a control process of the control system of the robot apparatus according to the third embodiment in a block representation of the same format as in FIG. 4 and FIG. The hardware configuration of the apparatus is the same as that shown in FIGS. 1 to 3 of the first embodiment, and the
図8に示したCPU201の画像処理(401)において、ワークサイズ算出(421)を行なうのは図6(実施例2)と同様であるが、本実施例ではさらにワーク種類特定(431)を行う。このワーク種類特定(431)では、例えばカメラ310から取り込んだ画像に対する画像処理に基づき、ワークの種類を特定する。ワークの種類は、パターンマッチングなどの処理によりワークの特徴部(例えば特徴的な形状、マークや刻印など)を画像認識することによって特定することができる。
In the image processing (401) of the
また、本実施例のHDD204(あるいは他の記憶手段)にはワークの種類に応じた適切なハンド把持速度を記憶(432)させておく。従って、ワーク種類特定(431)の処理で特定されたワークの種類から、例えば部品番号や型番によってインデックスされ、HDD204に記憶されているハンド把持速度から、そのワークの種類に適した把持速度の条件を取得することができる。HDD204から取得したワーク種類に応じた把持速度は、ハンド把持時間計算(後述のステップS51)で用いられる。
Also, an appropriate hand gripping speed corresponding to the type of work is stored (432) in the HDD 204 (or other storage means) of the present embodiment. Therefore, the gripping speed condition suitable for the type of the workpiece is determined from the workpiece gripping speed stored in the
図9は、本実施例の制御を実現すべく、制御装置たるCPU201が実行するプログラムの流れを示したフローチャートである。図9に示す各処理ステップは、CPU201がプログラム330(図3)を読み出してプログラム330を実行することにより実現される。
FIG. 9 is a flowchart showing a flow of a program executed by the
図9のステップS41、S42、S43の動作は、図5(実施例1)のステップS1、S2、S3と同様で、カメラ310によるワーク撮影、画像処理(401)、ワーク位置特定(402)を行う。
The operations in steps S41, S42, and S43 in FIG. 9 are the same as those in steps S1, S2, and S3 in FIG. 5 (Example 1). Work shooting by the
続いてステップS44において、CPU201は、ステップS42の画像処理(401)に基づきワークサイズ算出(421)を行い、ワークサイズWを算出する。このワークサイズWは、後述のハンド開量計算などで用いられるが、本実施例ではあらかじめ記憶した値ではなく、カメラ310の撮影画像に基づき実測された値である。
Subsequently, in step S44, the
図9のステップS45では,CPU201は、ワーク種類特定(431)を行う。ここでは、カメラ310から取り込んだ画像に対する画像処理に基づき、ワーク種類を特定する。特定したワーク種類は、例えば部品番号や型番(あるいはこれに類似の情報)など、下記の把持速度をHDD204中から検索できる形式で表現することができる。
In step S45 of FIG. 9, the
続いて、ステップS46ではステップS45で特定したワーク種類に基づき、HDD204にワーク毎に記録されているハンド把持速度から特定したワークで用いるのに適切なハンド把持速度Hv’を読み込む。
Subsequently, in step S46, based on the work type specified in step S45, a hand holding speed Hv 'appropriate for use with the specified work is read from the hand holding speed recorded for each work in the
続くステップS47、S48、S49の動作は、図5(実施例1)のステップS4、S5、S6と同様である。まず、ステップS47において、図5のステップS4と同様に、CPU201はステップS43で得られたワークの目標位置に基づき、アーム移動量計算(405、412)を行い、アームの現在位置からの移動量Alを計算する。
The subsequent operations in steps S47, S48, and S49 are the same as those in steps S4, S5, and S6 in FIG. 5 (Example 1). First, in step S47, as in step S4 in FIG. 5, the
続いてステップS48において、CPU201は、図5のステップS5と同様に、アーム速度計算(406、413)を行い、フルクローズ制御とセミクローズ制御に制御方法を切り替えて、それぞれの制御方法におけるアーム移動速度を計算する。ここではフルクローズ制御にて制御した場合のアーム移動速度Avf、セミクローズ制御にて制御した場合のアーム移動速度Avsを計算する。これらの移動速度は、フルおよびセミクローズ制御におけるクロック速度、減速機11のギア比、アーム各部の寸法比などに基づいて計算することができる。
Subsequently, in step S48, the
さらに、ステップS49において、CPU201は、図5のステップS6と同様に、ステップS47で計算された移動量Alに基づき、アーム移動時間計算(407、414)を行う。ここでは、フルクローズ制御、およびセミクローズ制御の各制御態様におけるアーム移動時間を計算する。ここでは、フルクローズ制御にて制御した場合のアーム移動時間Atfと、セミクローズ制御にて制御した場合のアーム移動時間Atsを計算する。これらのアーム移動時間は、ステップS47で求めたアーム移動量AlをステップS48で求めたアーム移動速度AvfまたはAvsで除することにより取得できる。
Furthermore, in step S49, the
ステップS50〜S54は、図7(実施例2)のステップS28〜S32と同様である。まず、ステップS50では、CPU201は、図7のステップS28と同様に、ステップS44で実測したワークサイズWに基づき、ハンド開量計算(408、415)を行う。ここでは、フルクローズ制御にて制御した場合のハンド開量Hf、セミクローズ制御にて制御した場合のハンド開量Hsを計算する。実施例2と同様に、本実施例でもカメラ310にて撮影した画像よりワークサイズWを算出するため、ワークサイズバラつきΔWはハンド開量に影響しないため計算に用いない。ここでフルクローズ制御の場合のアーム位置決めバラつきをΔAf、セミクローズの場合のアーム位置決めバラつきをΔAsとする。その場合、フルクローズ制御の場合のハンド開量Hf、およびセミクローズ制御の場合のハンド開量Hsを求める計算式は上述の式(5)および式(6)と同じである。
Steps S50 to S54 are the same as steps S28 to S32 in FIG. 7 (Example 2). First, in step S50, the
ステップS51では、図7のステップS29と同様に、CPU201はステップS50で計算されたフルクローズ制御のハンド開量Hfとセミクローズ制御のハンド開量Hsに基づきハンド把持時間計算(409、416)を行い、ハンド把持時間を計算する。ここでは、フルクローズ制御のハンド把持時間Htfと、セミクローズ制御のハンド把持時間Htsを計算する。これらのハンド把持時間HtfとHtsは、上記のハンド開量Hf、Hsと、ハンド102の駆動系に係る上述の諸定数から計算することができる。
In step S51, as in step S29 of FIG. 7, the
なお、ハンド102に関してフルないしセミクローズ制御のいずれかを選択できる構成においては、フルないしセミクローズ制御態様のいずれを選択するかについては、実施例1、実施例2と同様にアームと同じ制御態様を選択するものとする。従って、ステップS50の開量計算およびステップS51の把持時間計算においては、ハンド102を制御するフルないしセミクローズ制御においてそれぞれ異なる計算条件を用いることができるのも同様である。
In the configuration in which either full or semi-closed control can be selected for the
ステップS52では、CPU201は、図7のステップS30と同様に、ピッキング動作時間計算(410、417)を行い、フルクローズ制御のピッキング動作時間Ptf、セミクローズ制御のピッキング動作時間Ptsを計算する。ここではステップS49で取得したフル、セミクローズ制御のアーム移動時間Atf、アーム移動時間Atsに、ステップS51で取得したフルおよびセミクローズ制御のハンド把持時間Htf、ハンド把持時間Htsをそれぞれ加算する演算を行う。フルクローズ制御のピッキング動作時間Ptf、およびセミクローズ制御のピッキング動作時間Ptsを取得する計算式は実施例1中の式(3)および式(4)(図9中にも記載)と同じである。
In step S52, the
ステップS53では、図7のステップS31と同様に、CPU201は制御方法選択(418)を行う。すなわち、ステップS52で取得したフルクローズ制御のピッキング動作時間Ptfと、セミクローズ制御のピッキング動作時間Ptsを比較する。そして、フルクローズ制御のピッキング動作時間Ptfの方が短い場合、制御方式としてフルクローズ制御を選択し、セミクローズ制御のピッキング動作時間Ptsの方が短い場合、制御方式としてセミクローズ制御を選択する。
In step S53, as in step S31 of FIG. 7, the
ステップS54では、図7のステップS32と同様に、CPU201は、ステップS53で選択したフルまたはセミクローズ制御のいずれかの制御方式をサーボ制御装置313に指定する。これにより、サーボ制御装置313は指定された制御方式に応じて、以後、サーボモータ1(ないしロボットアーム100各部のサーボモータ)を制御し、ピッキング動作が行われる。
In step S54, as in step S32 of FIG. 7, the
本実施例の基本的な作用効果は実施例1の最後で述べたものと同様である。また、ワークサイズWをカメラ310で撮影した画像に基づき実測するようにしているため、ワークに個体差がある場合でも、個々のワークに応じてワーク毎に適切なハンド開量を設定し、的確な把持が可能な点は実施例2と同様である。また、ピッキング動作時間の評価に係る把持時間計算をより正確に実現でき、ピッキング動作時間に基づき適切にフル、ないしセミクローズ制御を選択し、ピッキング動作の所要時間を短縮することができる点も実施例2と同様である。
The basic operational effects of the present embodiment are the same as those described at the end of the first embodiment. In addition, since the workpiece size W is actually measured based on the image taken by the
さらに、本実施例では、ワーク種類をカメラ310で撮影した画像に基づき特定し、そのワーク種類に適したハンド把持速度を用いてハンド把持時間を計算するようにしている。このため、実際に操作されるワークに基づいてハンド把持時間を正確に計算し、ピッキング動作時間の評価を適切に行うことができ、アームを制御する制御態様としてフルまたはセミクローズ制御を適切に選択することができる。例えば、本実施例によれば、実際に操作されるワークに基づいてハンド把持速度が変更となってもアームを制御する制御態様としてフルまたはセミクローズ制御を適切に選択でき、ピッキング動作時間を短縮することができる。
Further, in this embodiment, the work type is specified based on the image taken by the
上記実施例1〜3では、カメラ310によりワーク103を撮影し、画像処理に基づき少なくともワーク103の位置を特定してアーム移動距離/移動時間を計算していた。
In the first to third embodiments, the
本実施例では、図10に示すようにワーク103の位置が固定できる場所、例えば図10中のトレー503などにワークを設置する場合を想定する。このようにトレー503の位置がある程度、正確に規制されている場合には、カメラ310による撮影は必ずしも必要なく、既知のトレー503の位置に基づきアーム移動距離/移動時間を計算することができる。以下、本実施例では上記のような構成におけるピッキング動作の制御につき説明する。
In the present embodiment, it is assumed that the work is installed in a place where the position of the
図10において、ワーク103をトレー503に載せて位置を固定する構成を採用する場合、例えば後述のハンド開量計算において下記のようなパラメータを考慮する必要がある。例えば、ワーク103は、トレー503上面の凹部に載置される場合、ワーク位置バラつきΔXが発生するため、このバラつきを考慮してハンド開量を計算する必要がある。ここでトレーサイズ(上記凹部の幅)をXとすると、ワーク位置バラつきΔXの計算式は次のようになる。
ΔX=X−(W+ΔW) …(7)
このワーク位置バラつきΔXはトレー503各部の寸法などに応じて想定すべき最大の値である。
In FIG. 10, when the configuration in which the
ΔX = X− (W + ΔW) (7)
This workpiece position variation ΔX is the maximum value that should be assumed according to the dimensions of each part of the
図11は、本実施例4に係るロボット装置の制御系の制御機能ないし制御工程を図4、図6、図8などと同様の形式のブロック表現で示したものである。装置のハードウェア構成は上述の実施例1の図1〜図3に示したものと同様である。ただし、本実施例では、制御系の構成に関しては、図3のカメラ310とそのインタフェース201は必ずしも必要なく、除去することが可能である。その他の本実施例に必要な制御系の構成は図3のものと同様でよい。
FIG. 11 shows a control function or a control process of the control system of the robot apparatus according to the fourth embodiment in a block representation of the same format as that of FIGS. The hardware configuration of the apparatus is the same as that shown in FIGS. However, in the present embodiment, regarding the configuration of the control system, the
図11に示した各制御機能ないし各制御工程は、図3のCPU201がプログラム330を実行することにより実現される。なお、図11において上述の図4(実施例1)、図6(実施例2)、図8(実施例3)などと同様の構成については、同一符号を付してその詳細な説明は省略するものとする。以下、図11の各ブロック表現で示した制御機能ないし制御工程につき説明する。
Each control function or each control process shown in FIG. 11 is realized by the
図11に示すように、本実施例ではHDD204(あるいは他の記憶手段)にワーク位置を記憶(441)するようにしている。このワーク位置は、図10のようなトレー503を用いる場合、トレー503の中心座標などの形式で記憶する。本実施例では、実施例1と同様に記録ディスク331などから読み込んだワークサイズWも記憶(403)しておく。図11の他の制御機能(制御工程)ブロックの構成は図4(あるいは図6、図8)と同様である。
As shown in FIG. 11, in this embodiment, the work position is stored (441) in the HDD 204 (or other storage means). This work position is stored in the form of the center coordinates of the
本実施例において、HDD204に記憶(441)したワーク位置情報はロボットアーム100の動作目標位置として用いられる。なお、図10ではトレー503を1つしか図示していないが、例えば多数のトレーやパレットを用意してその上に載置(いわゆるパレタイズ)されたワークを順次取り扱うような動作を制御する場合も考えられる。その場合には、ピッキング動作を何回行ったかによって目標位置が変っていくので、HDD204には複数の目標位置を記録しておき、ピッキング動作の回数に応じて順次、次の目標位置を読み出すようにしても以下の制御を行うことができる。
In this embodiment, the work position information stored (441) in the
図12は本実施例の制御を実現すべく、制御装置たるCPU201が実行するプログラムの流れを示したフローチャートである。図12に示す各処理ステップは、CPU201がプログラム330(図3)を読み出してプログラム330を実行することにより実現される。
FIG. 12 is a flowchart showing the flow of a program executed by the
図12のステップS61において、CPU201(図3)は、HDD204に記憶(441)されているワークの位置情報を読み込み、アーム動作の目標位置を特定する。このステップS61は、図5(実施例1)のステップS1〜S3に相当するワーク位置(アーム目標位置)の特定処理である。また、ステップS62では、CPU201は図5のステップS7と同様に、ワークサイズWを読み出し、記憶(403)する。
In step S61 of FIG. 12, the CPU 201 (FIG. 3) reads the position information of the workpiece stored in the HDD 204 (441), and specifies the target position of the arm operation. This step S61 is a work position (arm target position) specifying process corresponding to steps S1 to S3 in FIG. 5 (Example 1). In step S62, the
図12のステップS63〜S65は、例えば図5(実施例1)のステップS4、S5、S6と同様である。ただし、本実施例ではアーム目標位置は画像処理に基づき取得したものではなく、上記のようにトレー503の位置などを基準として記憶したものである。
Steps S63 to S65 in FIG. 12 are the same as steps S4, S5, and S6 in FIG. 5 (Example 1), for example. However, in this embodiment, the arm target position is not acquired based on image processing, but is stored based on the position of the
まず、ステップS63において、CPU201は、ステップS61で取得したワークの目標位置に基づき、アーム移動量計算(405、412)を行い、アームの現在位置からの移動量Alを計算する。
First, in step S63, the
ステップS64において、CPU201は図5のステップS5と同様に、アーム速度計算(406、413)を行う。ここではフルクローズ制御にて制御した場合のアーム移動速度Avf、セミクローズ制御にて制御した場合のアーム移動速度Avsを計算する。
In step S64, the
ステップS65において、CPU201は、図5のステップS6と同様に、ステップS4で計算された移動量Alに基づき、アーム移動時間計算(407、414)を行う。ここでは、フルクローズ制御でアーム移動を制御した場合のアーム移動時間Atfと、セミクローズ制御でアーム移動を制御した場合のアーム移動時間Atsを計算する。
In step S65, the
ステップS66において、CPU201は、ステップS61で取得したワーク位置とステップS62で取得したワークサイズWに基づきハンド開量計算(408、415)を行い、それぞれの制御方法において必要なハンド開量を計算する。フルクローズ制御にて制御した場合のハンド開量Hf、セミクローズ制御にて制御した場合のハンド開量Hsを計算する。ここでトレー503に設置した時のワーク位置バラつきを上記のΔX、フルクローズ制御の場合のアーム位置決めバラつきをΔAf、セミクローズの場合のアーム位置決めバラつきをΔAsとする。その場合、フルクローズ制御の場合のハンド開量Hf、およびセミクローズ制御の場合のハンド開量Hsを求める計算式は例えば以下のようになる。
Hf=W+ΔAf+ΔX …(8)
Hs=W+ΔAs+ΔX …(9)
In step S66, the
Hf = W + ΔAf + ΔX (8)
Hs = W + ΔAs + ΔX (9)
図12のステップS67〜S70の処理は、図5(実施例1)のステップS9〜S12、図7(実施例2)のステップS29〜S32、図9(実施例3)のステップS51〜S54と同等である。 The processing in steps S67 to S70 in FIG. 12 includes steps S9 to S12 in FIG. 5 (Example 1), steps S29 to S32 in FIG. 7 (Example 2), and steps S51 to S54 in FIG. 9 (Example 3). It is equivalent.
すなわち、ステップS67ではステップS66で取得したハンド開量からフルおよびセミクローズ制御におけるハンド把持時間Htf、Htsをそれぞれ取得する。そして、ステップS68では、フルクローズ制御のピッキング動作時間Ptf、セミクローズ制御のピッキング動作時間Ptsを計算する。ステップS68ではステップS65で取得したフル、セミクローズ制御のアーム移動時間Atf、アーム移動時間Atsに、ステップS67で取得したフルおよびセミクローズ制御のハンド把持時間Htf、ハンド把持時間Htsをそれぞれ加算する演算を行う。 That is, in step S67, the hand gripping times Htf and Hts in full and semi-closed control are respectively acquired from the hand opening amount acquired in step S66. In step S68, a picking operation time Ptf for full-closed control and a picking operation time Pts for semi-closed control are calculated. In step S68, the full and semi-closed control arm movement time Atf and arm movement time Ats acquired in step S65 are respectively added to the full and semi-closed control hand gripping time Hts and hand gripping time Hts acquired in step S67. I do.
ステップS69では、ステップS68で取得したフルクローズ制御のピッキング動作時間Ptfと、セミクローズ制御のピッキング動作時間Ptsを比較する。そしてアームの制御方式として、フル、セミクローズ制御から短い方のピッキング動作時間を持つ制御方式を選択する。ステップS70では、ステップS69で選択したフルまたはセミクローズ制御のいずれかの制御方式をサーボ制御装置313に指定する。これにより、サーボ制御装置313は指定された制御方式に応じて、以後、サーボモータ1(ないしロボットアーム100各部のサーボモータ)を制御し、ピッキング動作が行われる。
In step S69, the picking operation time Ptsf for full-closed control acquired in step S68 is compared with the picking operation time Pts for semi-closed control. As the arm control method, a control method having a shorter picking operation time is selected from full or semi-closed control. In step S70, either the full or semi-closed control method selected in step S69 is designated to the
本実施例の基本的な作用効果は実施例1の最後で述べたものと同様である。本実施例ではカメラ310によるワーク撮影、およびその画像処理が必要なく、その分ハードウェアコストを低減できるとともに、ピッキング動作に必要な総所要時間を短縮することができる。本実施例の制御全体の態様は、実施例1からカメラ310によるワーク撮影とその画像処理を除いたものにほぼ相当するため、実施例1よりもさらに高速なピッキング動作を実現することができる。
The basic operational effects of the present embodiment are the same as those described at the end of the first embodiment. In this embodiment, the work shooting by the
また、本実施例によれば、複数の決まった位置にワークがパレタイズされているような状況にも対応できる。すなわち、記憶してあるワーク位置を読み出して利用することにより、例えば1つのピッキング動作ごとに変化していくアーム移動距離に応じて各ピッキング動作の総所要時間を評価することができる。このため、パレタイズ動作などにおいても各ピッキング動作ごとにフルまたはセミクローズ制御のいずれかの制御方式を適切に選択でき、高速なピッキングを実現することができる。 Further, according to the present embodiment, it is possible to cope with a situation in which a workpiece is palletized at a plurality of predetermined positions. That is, by reading out and using the stored work position, it is possible to evaluate the total time required for each picking operation in accordance with, for example, the arm movement distance that changes for each picking operation. For this reason, in the palletizing operation or the like, either the full or semi-closed control method can be appropriately selected for each picking operation, and high-speed picking can be realized.
上記実施例4では、トレー503によってワーク103の位置を固定し、例えばトレー503中心などの基準位置を用いてアームの動作目標位置を特定していた。
In the fourth embodiment, the position of the
本実施例5では、ロボットの作業空間中の所定位置に図13(a)に示すような円錐台状の供給台501を配置する構成を考える。寸法精度のコントロールが厳密に行える構成であれば供給台501は上から下まで同一直径の円筒形状であってもよいが、円錐台状の供給台は、水平面方向の載置位置の誤差を見込む必要はあるがピッキング動作をスムーズに行なえる可能性がある。本実施例ではこのような円錐台状の供給台501を考える。
In the fifth embodiment, a configuration is considered in which a truncated cone-shaped
本実施例では、このような供給台501に図13(b)のように環(リング)状のワーク502、502…を積み重ねて載置し、ワーク502を順次上部からピックアップしていくピッキング動作を行う場合の制御を例示する。
In this embodiment, a picking operation in which ring-shaped
このような構成によりワーク502、502…を供給する場合、積み重ねて設置されている環状のワーク502の位置を予め記憶しておくことができる。これによりハンドで順次ワーク502、502…を順次把持し、取り出すピッキング動作において、ピックアップ動作の回数に応じてアーム移動量とハンド開量を計算することができる。
When the
なお、上述の実施例4までの構成では、アーム移動時間の評価では、アーム移動量は主に水平面内のアーム移動量のみを考慮していたが、本実施例のようなワーク供給方式ではアーム移動量は水平面内のみならず、垂直方向に関しても考慮する必要がある。従って、ワーク位置のバラつきを見込んでアーム移動量を定めるのであれば、水平面内のみならず、垂直方向に関するワーク位置のバラつきを考慮する必要がある。 In the configuration up to the fourth embodiment described above, in the arm movement time evaluation, the arm movement amount mainly considers only the arm movement amount in the horizontal plane. However, in the work supply method as in this embodiment, the arm movement amount is considered. The amount of movement must be considered not only in the horizontal plane but also in the vertical direction. Therefore, if the amount of movement of the arm is determined in consideration of the variation in the workpiece position, it is necessary to consider the variation in the workpiece position not only in the horizontal plane but also in the vertical direction.
ここで、図13(a)に示すような円錐台状の供給台501に図13(b)のように環状のワーク502を円錐台状の供給台501に載置する場合を考える。この場合、環状のワーク502は、内寸が全て同じだったとしても円錐台状の供給台501に積み重ねられる度に位置バラつきが発生する。
Here, consider a case where an
従って、本実施例のように円錐台状の供給台501を用いる場合には、ワーク502載置される高さに応じて生じるバラつきを考慮してハンド開量を計算する必要がある。また、ワーク502を順次取り出すピッキング動作を繰り返すと、環状のワーク502を取り出す位置が下がっていくため、アーム移動量の変化も考慮する必要がある。
Therefore, when the truncated cone-shaped
なお、本実施例において、装置のハードウェアおよび制御系の構成は上述の実施例1の図1〜図3に示したものと同様である。ただし、制御系の構成では、図3のカメラ310とそのインタフェース201は用いないため除去することが可能である。その他の本実施例に必要な制御系の構成は図3のものと同様でよい。
In this embodiment, the hardware of the apparatus and the configuration of the control system are the same as those shown in FIGS. However, in the configuration of the control system, the
図14は、本実施例5に係るロボット装置の制御系の制御機能ないし制御工程を上述の図4(実施例1)、図6(実施例2)、図8(実施例3)、図11(実施例4)などと同様の形式のブロック表現で示したものである。図14において上述の図4(実施例1)、図6(実施例2)、図8(実施例3)、図11(実施例4)などと同様の構成については、同一符号を付してその詳細な説明は省略するものとする。以下、図11の各ブロック表現で示した制御機能ないし制御工程につき説明する。 FIG. 14 illustrates the control function or control process of the control system of the robot apparatus according to the fifth embodiment described above with reference to FIG. 4 (first embodiment), FIG. 6 (second embodiment), FIG. 8 (third embodiment), and FIG. This is shown in block representation of the same format as in the fourth embodiment. In FIG. 14, the same components as those in FIG. 4 (Embodiment 1), FIG. 6 (Embodiment 2), FIG. 8 (Embodiment 3), FIG. Detailed description thereof will be omitted. Hereinafter, the control function or control process shown by each block representation in FIG. 11 will be described.
本実施例5では、あらかじめHDD204などにワーク位置とワークサイズを記憶(441、403)しておく。このワーク位置とワークサイズは、RAM203などに配置したカウンタなどにより計数されるピッキング動作回数カウント(451)によりインデックスできるよう記憶させておく。
In the fifth embodiment, the work position and work size are stored in advance in the
HDD204などに配置されるメモリ領域にワーク位置を記憶(441)させる場合、例えば図13(b)のように積層配置されたワーク502、502…の位置情報、すなわちアームの動作目標位置を順次記憶させる。この位置情報は高さ(例えば図の上下に沿ったZ軸)方向のアームの移動量を求めるのに用いられる。また、このようなワーク502、502…の位置情報は、例えばティーチングペンダント300などを用いて実際に用いるワーク502、502…の形状、サイズに応じて入力し、HDD204などに配置されるメモリ領域に記憶させることができる。
When the work position is stored (441) in a memory area arranged in the
このようなピッキング動作では、例えばピックアップの回数を重ねる度にアームの動作目標位置はその都度取り出されたワーク502の厚み分ずつ下方に下る。例えばHDD204などに配置されるメモリ領域には、このような高さ情報としてワーク位置を記憶(441)させ、ピッキング動作回数カウント(451)値に応じて順次取り出せるようにしておく。また、ワーク502、502…が全て同じ厚みであるなどの単純な作業では、ワーク位置の記憶(441)形式は、ワーク単体の高さ(厚み)と積層数を記録しておく、といったフォーマットであってもよい。
In such a picking operation, for example, every time the number of pick-ups is repeated, the target operation position of the arm is lowered by the thickness of the
また、供給台501が円錐台のように底部に向けて直径が大きくなる形状の場合、水平面(例えばXY平面)方向に関しては上方に積載されたワークほど位置精度が低くなる。そして、ピッキング動作を重ね、取り出されるワークの位置が下がるに従い、ワークの位置精度が上がっていく。従って、供給台501の形状に応じて、高さ情報に応じた水平面方向のワーク位置のバラつきを水平面(XY平面)方向のアーム移動距離の計算に反映できるよう、HDD204に記憶しておく。この場合には、高さ情報に基づきインデックスした水平面方向のワーク位置のバラつきを読み出すことができる。
Further, when the
なお、ピッキング動作回数カウント(451)を行うカウンタはピッキング動作の回数をカウントし、その値は回数に応じたワーク位置情報をワーク位置記憶部441から読み込むために用いられる。また、供給台のワーク積み重ね可能数をカウント値の上限として保持し、上限値を超えたら0に戻るように制御することも考えられる。
Note that the counter for counting the number of picking operations (451) counts the number of picking operations, and the value is used for reading work position information corresponding to the number of times from the work
図15は、は本実施例の制御を実現すべく、制御装置たるCPU201が実行するプログラムの流れを示したフローチャートである。図15に示す各処理ステップは、CPU201がプログラム330(図3)を読み出してプログラム330を実行することにより実現される。なお、図15のフローチャートは、図13のようなワーク供給構造において、n個目のワーク(502)をピックアップする時の体裁で記述してある。
FIG. 15 is a flowchart showing a flow of a program executed by the
図15のステップS71において、CPU201は、ピッキング動作回数カウント(451)を行う。ここでは同機能のためにRAM203などの領域に配置されたカウンタに格納されている現在のピッキング動作回数に1を加算して、以下のピッキング処理の内容がn個目のワークに対するものに適したものとなるよう制御する。ステップS71では、例えば初回なら0回目に1を足して1回目のピッキングであることを示す。ワークの個数などに応じて定まる上限値に到達している場合には、同カウンタをリセットして処理を終了する。なお、ピッキング動作回数カウント(451)に用いるカウンタの初期化や、処理すべきワークの総数などに応じて実行する終了処理については別途不図示のルーチンが用意されているものとする。
In step S71 in FIG. 15, the
ステップS72において、CPU201は、HDD204に記憶されているワークの位置情報を読み込む。ここでは、上記ピッキング動作回数カウント(451)の現在の値に基づき、現在のピッキング動作回数に応じたアーム動作の目標位置を特定する。図13(b)のような載置状態においては、水平方向に関しては例えば供給台501の中心などの基準位置をアーム動作目標位置として取得する。また、本実施例では、垂直方向に関してはアーム動作目標位置は、ピッキング動作回数カウント(451)の現在の値、および別途記憶したワーク(502)の厚み情報などを用いて取得することができる。
In step S <b> 72, the
ステップS73において、CPU201は、ワークサイズWを取得する。本実施例では、ワークサイズWは記録ディスク331などにあらかじめ記録されているものとし、記録ディスクドライブ205から読み出した値を記憶(403)する。
In step S73, the
ステップS74において、CPU201は、アーム移動量計算(405、412)を行ないピッキング動作回数カウント(451)に基づき特定されるn回目のピッキングにおけるアーム移動量Alnを算出する。なお、このアーム移動量Alnは、厳密には水平方向の移動量と垂直方向の移動量の両方を含む複数のベクトル量などによって表現される。図13(b)のような載置状況においては、ワーク502は最上部のものを順次ピッキングして取り出していくため、ピッキング動作回数nが増加するたび移動量Alnのうち垂直方向の移動量の成分は順次増加していく。
In step S74, the
ステップS75において、CPU201は、アーム速度計算(406、413)を行う。ここではフルクローズ制御にて制御した場合のアーム移動速度Avf、セミクローズ制御にて制御した場合のアーム移動速度Avsを計算する。
In step S75, the
ステップS76において、CPU201は、ステップS74で計算されたn回目の移動量Alnに基づき、CPU201がアーム移動時間計算部(407、414)を実行する。ここでは制御方法をフルクローズ制御、セミクローズ制御に切り替え、n回目のそれぞれの制御方法でのアーム移動時間を計算する。ここでは、n回目のフルクローズ制御にて制御におけるアーム移動時間Atfn、n回目のセミクローズ制御におけるアーム移動時間Atsnを計算する。これらアーム移動時間は、ステップS74で求めたアーム移動量AlnをステップS75で求めたアーム移動速度AvfまたはAvsで除することにより取得できる。
In step S76, the
ステップS77において、CPU201は、ステップS73で取得したワークサイズWに基づき、ハンド開量計算(408、415)を行う。n回目のフルクローズ制御およびセミクローズ制御におけるそれぞれの制御方法でのハンド開量を計算する。ここでは、n回目のフルクローズ制御にて制御した場合のハンド開量Hfn、n回目のセミクローズ制御にて制御した場合のハンド開量Hsnを計算する。例えば、n回目のワーク位置バラつきΔXn、フルクローズ制御の場合のアーム位置決めバラつきΔAf、セミクローズの場合のアーム位置決めバラつきΔAsとすると、上記ハンド開量Hfnおよびハンド開量Hsnを求める計算式は次のようになる。
Hfn=W+ΔAf+ΔXn …(10)
Hsn=W+ΔAs+ΔXn …(11)
In step S77, the
Hfn = W + ΔAf + ΔXn (10)
Hsn = W + ΔAs + ΔXn (11)
ステップS78において、CPU201は、ハンド把持時間計算(409、416)を行う。ここでは、ステップS77で取得したハンド開量Hfn、Hsnからn回目のフルクローズ制御のハンド把持時間Htfn、n回目のセミクローズ制御のハンド把持時間Htsnを計算する。
In step S78, the
続いてステップS79において、CPU201はピッキング動作時間計算(410、417)を行う。ここでは、n回目のフルクローズ制御のピッキング動作時間Ptfn、n回目のセミクローズ制御のピッキング動作時間Ptsnを計算する。ここで、フルクローズ制御におけるピッキング動作時間PtfnはステップS76で求めたn回目のフルクローズ制御のアーム移動時間AtfnとステップS78で求めたn回目のフルクローズ制御のハンド把持時間Htfnを加算して得る。また、セミクローズ制御におけるピッキング動作時間Ptsnは、ステップS76で求めたn回目のセミクローズ制御のアーム移動時間Atsnと、ステップS78で求めたn回目のセミクローズ制御のハンド把持時間Htsnを加算して得る。計算式は次のようになる。
Ptfn=Atfn+Htfn …(12)
Ptsn=Atsn+Htsn …(13)
Subsequently, in step S79, the
Ptfn = Atfn + Htfn (12)
Ptsn = Atsn + Htsn (13)
ステップS80において、CPU201は制御方法選択(418)を行う。ここでは、ステップS79にて計算されたn回目のフルクローズ制御のピッキング動作時間Ptfnと、n回目のセミクローズ制御のピッキング動作時間Ptsnを比較する。そして、n回目のフルクローズ制御のピッキング動作時間Ptfnの方が短い場合はn回目の制御方法はフルクローズ制御を選択する。逆にn回目のセミクローズ制御のピッキング動作時間Ptsnの方が短い場合、n回目の制御方法はセミクローズ制御を選択する。
In step S80, the
ステップS81では、ステップS80で選択したフルまたはセミクローズ制御のいずれかの制御方式をサーボ制御装置313に指定する。これにより、サーボ制御装置313は指定された制御方式に応じて、以後、サーボモータ1(ないしロボットアーム100各部のサーボモータ)を制御し、ピッキング動作が行われる。
In step S81, the control system of either full or semi-closed control selected in step S80 is designated to the
本実施例の基本的な作用効果は実施例1の最後で述べたものと同様である。さらに、本実施例は、複数回のピッキング動作を行い、例えば図13に示したようなワーク供給方式によって、ワーク位置やハンド開量がピッキングごとに変化するような制御にも対応できる。本実施例では、毎回のピッキング動作ごとに変動しうるピッキング動作の総所要時間をそれぞれ評価して、所要時間短縮に有利なフルクローズ制御態様、またはセミクローズ制御態様をアーム移動制御態様として選択することができる。従って、本実施例によれば、例えば図13(b)のように複数、積層配置されたワークを順次ピッキングする動作においても、各々のピッキング動作で所要時間短縮に有利なフルまたはセミクローズ制御方式のいずれかを選択することができる。 The basic operational effects of the present embodiment are the same as those described at the end of the first embodiment. Furthermore, this embodiment can cope with control in which the picking operation is performed a plurality of times and the work position and the amount of opening of the hand are changed for each picking by a work supply system as shown in FIG. In the present embodiment, the total required time of the picking operation that can vary for each picking operation is evaluated, and the full-closed control mode or the semi-closed control mode that is advantageous for reducing the required time is selected as the arm movement control mode. be able to. Therefore, according to the present embodiment, for example, as shown in FIG. 13B, even in an operation of sequentially picking a plurality of stacked workpieces, a full or semi-closed control method that is advantageous in reducing the time required for each picking operation. You can choose either.
以上5つの実施例を示したが、いずれの実施例においても、アーム移動の制御態様として、フルクローズ制御とセミクローズ制御の二つの制御モードを選択することを考えた。すなわち、フルクローズ制御またはセミクローズ制御から、ピッキング動作の処理時間が短くて済む方のアーム移動制御態様を選択する。その場合、動作前に、フルクローズ制御とセミクローズ制御のそれぞれについて求めたアーム移動時間とハンド把持時間を加算してピッキング動作の所要時間を取得する。そして、アーム制御態様としてフルクローズ制御またはセミクローズ制御のいずれか所要時間が短いほうの制御方式を選択する。 Although the five embodiments have been described above, in any of the embodiments, it was considered to select two control modes of full-closed control and semi-closed control as the arm movement control mode. That is, the arm movement control mode that requires shorter processing time for the picking operation is selected from full-closed control or semi-closed control. In this case, the required time for the picking operation is acquired by adding the arm movement time and the hand gripping time obtained for each of the full-closed control and the semi-closed control before the operation. Then, as the arm control mode, either the full-closed control or the semi-closed control is selected which has a shorter required time.
上記各実施例は、いずれも、ハンドの把持制御が開始される時点までのアームの制御態様として、フルクローズ制御、セミクローズ制御のいずれを用いたかによってそれぞれハンドの制御条件が異ったものになる、との知見に基づいている。 In each of the above embodiments, the hand control conditions differ depending on whether the full-closed control or the semi-closed control is used as the arm control mode up to the point when the hand grip control is started. It is based on the knowledge that it becomes.
例えば、アーム移動をセミクローズ制御で行った場合には、把持開始前に、フルクローズ制御でアームを移動した場合よりも大きなハンド開量が必要になる可能性がある。そして、例えば、アーム移動量が小さく、そのための制御時間がごく短かいようなケースでは、アーム移動をフルクローズ制御により行ない、これによってハンド開量を小さく取って結局、ピッキングの総所要時間を短縮できる可能性がある。 For example, when the arm movement is performed by the semi-closed control, there is a possibility that a larger hand opening amount is required before starting the gripping than when the arm is moved by the full-closed control. For example, in a case where the amount of arm movement is small and the control time for it is very short, the arm movement is performed by full-closed control, thereby reducing the hand opening amount and eventually reducing the total time required for picking. there is a possibility.
上記各実施例において、上述のようにして要求されるピッキング動作の態様に応じ、アーム移動の制御態様として、フルクローズ制御とセミクローズ制御のいずれかを選択することにより、ピッキングの総所要時間を短縮することができる。 In each of the embodiments described above, the total time required for picking can be reduced by selecting either full-closed control or semi-closed control as the arm movement control mode according to the mode of picking operation required as described above. It can be shortened.
なお、以上では、要求されるピッキング動作の態様に応じて、アーム移動の制御態様として、フルクローズ制御とセミクローズ制御のいずれかを選択することを考えた。しかしながら、サーボモータ制御においては、フルおよびセミクローズ制御の他に、いわゆるハイブリッド制御などと呼ばれるフルおよびセミクローズ制御を組合せた制御が知られている。例えば、アーム移動中はセミクローズ制御で制御し、アーム移動停止近傍でフルクローズ制御に切替えるような制御がハイブリッド制御と呼ばれることがある。また、減速機の入力および出力側の両方のエンコーダの出力を適当な態様で組み合わせてサーボ制御を行なう方式もハイブリッド制御、などと呼ばれる場合がある。従って、上述のフルクローズ制御とセミクローズ制御のみならず、サーボモータを制御する任意のモータ制御方式をアーム移動の制御態様の選択対象とすることができる。 In the above description, it has been considered to select either full-closed control or semi-closed control as the arm movement control mode according to the required picking mode. However, in servo motor control, in addition to full and semi-closed control, control that combines full and semi-closed control called so-called hybrid control is known. For example, control that is controlled by semi-closed control during arm movement and switched to full-closed control in the vicinity of arm movement stop may be called hybrid control. Also, a system that performs servo control by combining the input of the reducer and the output of the encoder on the output side in an appropriate manner may be called hybrid control. Therefore, not only the above-mentioned full-closed control and semi-closed control, but also an arbitrary motor control method for controlling the servomotor can be selected as a control mode for arm movement.
また、ハンドの把持制御、例えばハンド爪などの位置姿勢制御に用いる制御方式については、上記各実施例では実施例3において把持速度の「条件」を選択する点について述べただけで、例えばハンド爪のサーボ制御などの「方式」については考慮していない。 In addition, regarding the control method used for hand grip control, for example, the position and orientation control of a hand nail or the like, in each of the above embodiments, only the point of selecting the “condition” of the grip speed in the third embodiment is described. The “method” such as servo control is not considered.
例えば、ハンドの駆動機構に図2の構成に類似したサーボ制御機構が用いられているのであれば、ハンドの把持制御でもフルクローズ制御とセミクローズ制御の切り換えを行える可能性がある。このような構成においては、上述の実施例と同様の手法でハンドの把持制御でもフルクローズ制御またはセミクローズ制御のいずれかのサーボ制御態様を選択することが考えられる。その場合、フルクローズ制御、セミクローズ制御ごとのハンドの把持時間計算においては、当然ながら両者の制御方式における計算式を用いればよい。 For example, if a servo control mechanism similar to the configuration of FIG. 2 is used for the hand drive mechanism, there is a possibility that switching between full-closed control and semi-closed control can be performed even with hand grip control. In such a configuration, it is conceivable to select a servo control mode of either full-closed control or semi-closed control in hand grip control in the same manner as in the above-described embodiment. In that case, in the calculation of the gripping time of the hand for each of the full-closed control and the semi-closed control, naturally, the calculation formulas for both control methods may be used.
また、アームの移動制御方式およびハンドの把持制御方式としてフルクローズ制御、セミクローズ制御を選択可能である場合には、アームとハンドで独立して両者の制御方式におけるアーム移動時間およびハンド把持時間を評価する手法が考えられる。この場合には、フルおよびセミクローズ制御をアームとハンドで独立して選択することになる。しかしながら、この場合でもハンド開量などの把持制御条件がアーム移動の態様に依存して定まる点は同じであるから、上記各実施例と同様、ハンド開量などの条件はアーム移動制御に従属して決定すればよい。 If full-closed control or semi-closed control can be selected as the arm movement control method and hand grip control method, the arm movement time and hand grip time in both control methods can be set independently. An evaluation method can be considered. In this case, full and semi-closed control is selected independently by the arm and the hand. However, even in this case, since the grip control conditions such as the hand opening amount are determined depending on the mode of arm movement, the conditions such as the hand opening amount depend on the arm movement control as in the above embodiments. To decide.
あるいは、上述の実施例と同様にアーム移動の制御方式として、フルないしセミクローズ制御を選択する制御を主とし、ハンドの把持制御方式はアーム移動の制御方式として選択したフルないしセミクローズ制御を選択するような制御も考えられる。 Alternatively, as in the above-described embodiment, the main movement control method is to select full or semi-closed control, and the hand holding control method is selected to be the full or semi-closed control selected as the arm movement control method. Such control is also conceivable.
また、ハンド把持の制御条件に関しては、実施例3で例示したハンド把持速度制御の他にハンド開閉用モータの電流値をフィードバックする電流制御モードなどをハンド把持の制御条件に含めてもよい。 Regarding the hand grip control conditions, in addition to the hand grip speed control exemplified in the third embodiment, a current control mode for feeding back the current value of the hand opening / closing motor may be included in the hand grip control conditions.
1…サーボモータ(回転モータ)、2…回転軸、10、16…エンコーダ、11…減速機、100A…ロボット本体、111〜116…関節、201…CPU(制御部)、330…プログラム、500…ロボット装置
DESCRIPTION OF
Claims (11)
前記制御装置が、前記ハンドにより把持される対象物の少なくとも位置およびサイズに係わる情報を認識する対象物認識工程と、
前記制御装置が、前記対象物認識工程で認識された前記対象物の位置まで前記ハンドを移動させるのに必要な前記アームの移動時間を前記複数のアーム移動制御態様ごとに取得するアーム移動時間計算工程と、
前記制御装置が、前記対象物認識工程で認識された前記対象物のサイズに基づき取得した前記対象物の把持に必要な前記ハンドの開量に基づき、前記ハンドにより前記対象物を把持する動作におけるハンド把持時間を前記複数のアーム移動制御態様ごとに取得するハンド把持時間計算工程と、
前記制御装置が、前記アーム移動時間計算工程および前記ハンド把持時間計算工程により前記複数のアーム移動制御態様ごとに取得した前記アームの移動時間および前記ハンド把持時間から、前記アームで前記ハンドを前記対象物の位置まで移動させ前記ハンドにより前記対象物を把持させるピッキング動作に必要なピッキング動作時間を前記複数のアーム移動制御態様ごとに取得するピッキング動作時間計算工程と、を備え、
前記制御装置は、前記アームの動作を制御するアーム移動制御態様として、前記複数のアーム移動制御態様から、前記ピッキング動作時間計算工程で前記複数のアーム移動制御態様ごとに取得したピッキング動作時間が短いアーム移動制御態様を選択することを特徴とするロボットシステムの制御方法。 A robot system comprising: a hand that grips an object; an arm that supports and moves the hand; and a control device that controls the operation of the arm according to one arm movement control mode selected from a plurality of arm movement control modes. In the control method of
An object recognition step in which the control device recognizes information related to at least a position and a size of an object held by the hand;
Arm movement time calculation for acquiring, for each of the plurality of arm movement control modes, the movement time of the arm necessary for the control device to move the hand to the position of the object recognized in the object recognition step. Process,
In the operation in which the control device grips the object by the hand based on the opening amount of the hand necessary for gripping the object acquired based on the size of the object recognized in the object recognition step. A hand gripping time calculating step of acquiring a hand gripping time for each of the plurality of arm movement control modes;
From the arm movement time and the hand gripping time acquired by the control device for each of the plurality of arm movement control modes by the arm movement time calculation step and the hand gripping time calculation step, the arm is used to target the hand. A picking operation time calculation step for obtaining a picking operation time required for a picking operation for moving to the position of an object and gripping the object by the hand for each of the plurality of arm movement control modes, and
The control device has a short picking operation time acquired for each of the plurality of arm movement control modes in the picking operation time calculation step from the plurality of arm movement control modes as an arm movement control mode for controlling the operation of the arm. A control method of a robot system, wherein an arm movement control mode is selected.
前記制御装置は、
前記ハンドにより把持される対象物の少なくとも位置およびサイズに係わる情報を認識し、
認識した前記対象物の位置まで前記ハンドを移動させるのに必要な前記アームの移動時間を前記複数のアーム移動制御態様ごとに取得し、
認識した前記対象物のサイズに基づき取得した前記対象物の把持に必要な前記ハンドの開量に基づき、前記ハンドにより前記対象物を把持する動作におけるハンド把持時間を前記複数のアーム移動制御態様ごとに取得し、
前記複数のアーム移動制御態様ごとに取得した前記アームの移動時間および前記ハンド把持時間から、前記アームで前記ハンドを前記対象物の位置まで移動させ前記ハンドにより前記対象物を把持させるピッキング動作に必要なピッキング動作時間を前記複数のアーム移動制御態様ごとに取得し、
前記アームの動作を制御するアーム移動制御態様として、前記複数のアーム移動制御態様から、前記複数のアーム移動制御態様ごとに取得したピッキング動作時間が短いアーム移動制御態様を選択することを特徴とするロボットシステム。 A robot system comprising: a hand that grips an object; an arm that supports and moves the hand; and a control device that controls the operation of the arm according to one arm movement control mode selected from a plurality of arm movement control modes. In
The controller is
Recognizing at least information on the position and size of the object gripped by the hand,
Obtaining a movement time of the arm necessary for moving the hand to the position of the recognized object for each of the plurality of arm movement control modes;
Based on the opening amount of the hand necessary for gripping the target object acquired based on the recognized size of the target object, a hand gripping time in an operation of gripping the target object by the hand is determined for each of the plurality of arm movement control modes. Get into
Necessary for picking operation in which the arm is moved to the position of the object by the arm and the object is grasped by the hand from the movement time of the arm and the hand grasping time acquired for each of the plurality of arm movement control modes. A long picking operation time for each of the plurality of arm movement control modes,
As an arm movement control mode for controlling the operation of the arm, an arm movement control mode having a short picking operation time acquired for each of the plurality of arm movement control modes is selected from the plurality of arm movement control modes. Robot system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014057838A JP2015182145A (en) | 2014-03-20 | 2014-03-20 | Control method of robot system and robot system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014057838A JP2015182145A (en) | 2014-03-20 | 2014-03-20 | Control method of robot system and robot system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015182145A true JP2015182145A (en) | 2015-10-22 |
Family
ID=54349302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014057838A Pending JP2015182145A (en) | 2014-03-20 | 2014-03-20 | Control method of robot system and robot system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015182145A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109835706A (en) * | 2017-11-24 | 2019-06-04 | 发那科株式会社 | Work piece configuration system |
EP3778895A1 (en) | 2015-09-15 | 2021-02-17 | Nippon Shinyaku Co., Ltd. | Antisense nucleic acid |
JP7237249B1 (en) * | 2022-02-25 | 2023-03-10 | 三菱電機株式会社 | ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD AND ROBOT CONTROL PROGRAM |
-
2014
- 2014-03-20 JP JP2014057838A patent/JP2015182145A/en active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3778895A1 (en) | 2015-09-15 | 2021-02-17 | Nippon Shinyaku Co., Ltd. | Antisense nucleic acid |
CN109835706A (en) * | 2017-11-24 | 2019-06-04 | 发那科株式会社 | Work piece configuration system |
JP2019093495A (en) * | 2017-11-24 | 2019-06-20 | ファナック株式会社 | Workpiece arrangement system with workpiece arranged in storage region or on jig |
US10722992B2 (en) | 2017-11-24 | 2020-07-28 | Fanuc Corporation | Workpiece placement system for placing workpiece in containment area or on jig |
CN109835706B (en) * | 2017-11-24 | 2020-11-20 | 发那科株式会社 | Workpiece configuration system |
JP7237249B1 (en) * | 2022-02-25 | 2023-03-10 | 三菱電機株式会社 | ROBOT CONTROL DEVICE, ROBOT CONTROL METHOD AND ROBOT CONTROL PROGRAM |
WO2023162124A1 (en) * | 2022-02-25 | 2023-08-31 | 三菱電機株式会社 | Robot control device, robot control method, and robot control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10486309B2 (en) | Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component | |
US11090807B2 (en) | Motion generation method, motion generation device, system, and computer program | |
US9298179B2 (en) | Robot and robot controller | |
JP6717768B2 (en) | Robot for learning control considering operation in production line and control method thereof | |
WO2012140770A1 (en) | Robot control apparatus | |
CN109626002A (en) | Automatic stacking machine people and its control method | |
CN104827473A (en) | Method for programming industrial robot and associated industrial robot | |
CN102632506A (en) | Position detection device for robot, robotic system, and position detection method for robot | |
JP2016083713A (en) | Robot control method, robot device, program, recording medium and assembly part manufacturing method | |
JP6661027B2 (en) | Work robot | |
JP2015182145A (en) | Control method of robot system and robot system | |
US11597083B2 (en) | Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium | |
JP6862604B2 (en) | Inertia parameter identification system and inertial parameter identification method for vertical articulated robots, and control device and control method for vertical articulated robots | |
JP2017056525A (en) | Robot device robot control method, program, recording medium, and method of manufacturing assembling component | |
JP2018069381A (en) | Control method for gripping device, gripping device, robot device and manufacturing method of component | |
JP2016040067A (en) | Robot device, method for controlling robot, program and recording medium | |
CN209583061U (en) | Automatic stacking machine people | |
CN117083157A (en) | Method for controlling displacement of robot | |
JP2020097101A (en) | Robot device, robot system, robot device control method, method of manufacturing article using robot device, control program, and recording medium | |
JP5633268B2 (en) | Robot control device | |
JP2020097085A (en) | Robot device inspection method, program, recording medium, robot system, and article manufacturing method | |
JP7447568B2 (en) | Simulation equipment and programs | |
JP7327991B2 (en) | Control method, control program, recording medium, robot system, article manufacturing method, and input device | |
CN107972029A (en) | Mechanical arm instructs control system | |
WO2023142724A1 (en) | Robotic arm, control method and apparatus for same, robot and storage medium |