JP2023135808A - Route generation method for robot system and control method of robot system - Google Patents
Route generation method for robot system and control method of robot system Download PDFInfo
- Publication number
- JP2023135808A JP2023135808A JP2022041088A JP2022041088A JP2023135808A JP 2023135808 A JP2023135808 A JP 2023135808A JP 2022041088 A JP2022041088 A JP 2022041088A JP 2022041088 A JP2022041088 A JP 2022041088A JP 2023135808 A JP2023135808 A JP 2023135808A
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- robot
- threshold
- operation commands
- commands
- 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
- 238000000034 method Methods 0.000 title claims abstract description 191
- 230000008569 process Effects 0.000 claims abstract description 153
- 239000012636 effector Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 239000003638 chemical reducing agent Substances 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005452 bending Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
Description
本開示は、ロボットシステムの経路生成方法、および、ロボットシステムの制御方法に関する。 The present disclosure relates to a route generation method for a robot system and a method for controlling the robot system.
特許文献1には、ロボットシステムを遠隔で制御するために、外部コンピューターが、動作指令を生成し、ロボットの決められた部位の目標位置を示す情報を含む動作指令を、通信を介してロボットシステムに順次出力することが記載されている。
特許文献1に記載された技術のように、遠隔のコンピューターから、ロボットの決められた部位の目標位置を示す動作指令が送られてくる場合、ロボットシステムのロボットコントローラーは、受信した複数の目標位置を示す情報から、複数の目標位置の間の経路を補間して軌道を生成し、生成した軌道に沿ってロボットを動作させる。
As in the technology described in
精度の高い補間の処理のためには、複数の動作指令を使用する必要がある。このため、ロボットシステムは、外部コンピューターから受信した動作指令をバッファリングしておき、バッファリングした動作指令を使用して補間処理を行うことが一般的である。例えば、ロボットシステムは、指定された目標位置に到達するたびに、現在位置より先の目標位置のデータについて、決められた数の目標位置のデータをバッファから読み出し、補間処理を行う。 For highly accurate interpolation processing, it is necessary to use multiple motion commands. For this reason, the robot system generally buffers motion commands received from an external computer and performs interpolation processing using the buffered motion commands. For example, each time a robot system reaches a specified target position, it reads out a predetermined number of target position data from a buffer and performs interpolation processing on data for target positions beyond the current position.
通信不良により、ロボットシステムが動作指令を受信できない期間が続いた場合には、補間処理が実行されるタイミングで、バッファリングされている動作指令の数が、補間処理に必要な数に対して不足することがある。そのような場合、ロボットシステムは補間処理を実行することができないため、ロボットの動作を継続することができなかった。 If the robot system is unable to receive movement commands due to communication failure, the number of buffered movement commands may be insufficient for the number required for interpolation processing at the timing when interpolation processing is executed. There are things to do. In such a case, the robot system could not perform interpolation processing, so the robot could not continue operating.
本開示の一形態によれば、ロボットシステムの経路生成方法が提供される。このロボットシステムの経路生成方法は、外部機器から、ロボットの目標位置を指定する動作指令を受信して、前記動作指令を記憶部に格納する受信ステップと、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が第1閾値Th1以上である場合に、Th1個の前記動作指令を使用した第1補間処理を実行することにより、Th1個の前記動作指令のうち、少なくとも最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間を含む経路を、補間する第1補間ステップと、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が前記第1閾値Th1より小さい第2閾値Th2以上であり、かつ前記第1閾値Th1未満である場合に、Th2個の前記動作指令を使用した第2補間処理を実行することにより、Th2個の前記動作指令のうち、最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間の経路を補間する第2補間ステップと、を含む。 According to one aspect of the present disclosure, a route generation method for a robot system is provided. This route generation method for a robot system includes a receiving step of receiving a motion command specifying a target position of the robot from an external device and storing the motion command in a storage section; When the number of the plurality of operation commands specifying the target position further ahead and in which the order of execution of the operation commands is consecutive is greater than or equal to the first threshold Th1, By executing the first interpolation process using the movement commands, the target position specified by at least the first movement command among the Th1 movement commands and the target position specified by the next movement command are determined. a first interpolation step of interpolating a route including a route between the target position and the target position; and a first interpolation step that specifies the target position beyond the current position stored in the storage unit, the operation command being executed. If the number of the plurality of operation commands whose order of execution is consecutive is greater than or equal to a second threshold Th2 smaller than the first threshold Th1, and less than the first threshold Th1, Th2 of the operation commands are By executing the used second interpolation process, the difference between the target position specified by the first movement command and the target position specified by the next movement command among the Th2 movement commands is determined. a second interpolation step of interpolating a path between the two.
本開示の他の形態によれば、ロボットシステムの制御方法が提供される。このロボットシステムの制御方法は、外部機器から、ロボットの目標位置を指定する動作指令を受信して、前記動作指令を記憶部に格納する受信ステップと、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が第1閾値Th1以上である場合に、Th1個の前記動作指令を使用した第1補間処理を実行することにより、Th1個の前記動作指令のうち、少なくとも最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間を含む経路を、補間する第1補間ステップと、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が前記第1閾値Th1より小さい第2閾値Th2以上であり、かつ前記第1閾値Th1未満である場合に、Th2個の前記動作指令を使用した第2補間処理を実行することにより、Th2個の前記動作指令のうち、最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間の経路を補間する第2補間ステップと、補完された経路に沿って、前記ロボットを動作させる動作ステップと、を含む。 According to another aspect of the present disclosure, a method of controlling a robot system is provided. This robot system control method includes a receiving step of receiving a motion command specifying a target position of the robot from an external device and storing the motion command in a storage section; When the number of the plurality of motion commands specifying the previous target position and in which the order of execution of the motion commands is consecutive is greater than or equal to the first threshold Th1, By executing the first interpolation process using the movement commands, the target position specified by at least the first movement command and the target position specified by the next movement command among the Th1 movement commands are determined. a first interpolation step for interpolating a route including a path to and from a target position; and the operation command, which is stored in the storage unit and specifies the target position beyond the current position, and the operation command is executed. If the number of the plurality of operation commands whose order is consecutive is equal to or greater than a second threshold Th2 smaller than the first threshold Th1, and less than the first threshold Th1, Th2 of the operation commands are used. By executing the second interpolation process, the distance between the target position specified by the first movement command and the target position specified by the next movement command among the Th2 movement commands is determined. a second interpolation step of interpolating the path of the robot; and an operation step of operating the robot along the interpolated path.
A1.実施形態:
図1は、本実施形態に係るロボットシステム10の全体構成を示す概略図である。ロボットシステム10は、ロボット100と、ロボットコントローラー200と、を備える。
A1. Embodiment:
FIG. 1 is a schematic diagram showing the overall configuration of a
ロボット100は、6個の関節J1~J6を備えている。ロボット100は、関節J1~J6それぞれをサーボモーターで回転または直進させることにより、アーム50の先端部に取りつけられたエンドエフェクター80を、3次元空間中の指定された位置に指定された姿勢で配することができる。ロボット100は、アーム50と、サーボモーター60と、角度センサー65と、減速機70と、エンドエフェクター80と、力覚センサー85と、基台90とを備える。
The
アーム50は、6個の関節J1~J6を備える。関節J1~J6は回転関節である。また、アーム50は、アーム要素54、55、56、57、58、59を含む。関節J1~J5それぞれには、サーボモーター60と、角度センサー65と、減速機70とが備えられている。図1においては、技術の理解を容易にするため、関節J1にのみ、サーボモーター60と、角度センサー65と、減速機70とを図示している。
Arm 50 includes six joints J1 to J6. Joints J1 to J6 are rotational joints. Arm 50 also includes
アーム要素54は、一方の端において、減速機70に支持されている。アーム要素54と減速機70との接続部分は、関節J1を構成している。関節J1は、ねじり関節である。アーム要素55は、一方の端において、アーム要素54に接続されている。アーム要素55とアーム要素54との接続部分は、関節J2を構成している。関節J2は、曲げ関節である。アーム要素56は、一方の端において、アーム要素55に接続されている。アーム要素56とアーム要素55との接続部分は、関節J3を構成している。関節J3は、曲げ関節である。
The
アーム要素57は、一方の端において、アーム要素56に接続されている。アーム要素57とアーム要素56との接続部分は、関節J4を構成している。関節J4は、ねじり関節である。アーム要素58は、一方の端において、アーム要素57に接続されている。アーム要素58とアーム要素57との接続部分は、関節J5を構成している。関節J5は、曲げ関節である。アーム要素59は、一方の端において、アーム要素58に接続されている。アーム要素59とアーム要素58との接続部分は、関節J6を構成している。関節J6は、ねじり関節である。アーム要素59の他端には、力覚センサー85を介して、エンドエフェクター80が取り付けられる。
サーボモーター60は、関節J1を駆動するため、ロボットコントローラー200から電流を供給されて、出力軸60oを回転させる。サーボモーター60の出力軸60oは、減速機70の入力軸70iに接続されている。関節J2~J6それぞれに設けられているサーボモーター60も、対応する関節を同様に駆動する。
The
角度センサー65は、関節J1の回転角度として、サーボモーター60の出力軸60oの角度位置を検出し、検出値をロボットコントローラー200に出力する。角度センサー65は、ロータリエンコーダーである。関節J2~J6それぞれに設けられている角度センサー65も、対応する関節の回転角度を同様に検出する。
The
減速機70は、その入力軸70iに対する回転入力を、回転入力より回転速度が低い回転出力に変換して、出力軸から出力する。減速機70の出力軸には、アーム要素54が固定されている。なお、図1においては、減速機70の出力軸の図示を省略している。関節J1を構成するアーム要素54には、減速機70を介して、サーボモーター60の出力軸60oの回転が伝えられる。この結果、関節J1が回転される。関節J1が回転することにより、アーム要素54が動かされる。関節J2~J6それぞれに設けられている減速機70も、対応するサーボモーター60の回転出力を、接続されているアーム要素に伝達するように機能する。
The
ロボット100においては、関節J1~J6それぞれが回転可能である。各関節の回転により、関節を介して接続されている2つのアーム要素の相対角度が変化する。従って、アーム要素59に取り付けられたエンドエフェクター80が、任意の位置に任意の姿勢で配される。
In the
エンドエフェクター80は、力覚センサー85を介して、アーム要素59に取り付けられている。エンドエフェクター80は、例えば、不図示のワークを把持するための装置である。技術の理解を容易にするために、図1において、エンドエフェクター80を筒状部材として表示している。ロボット100の制御点は、例えば、アーム要素59の回転軸上であってアーム要素59から予め決められたの距離にある位置に設定される。制御点は、3次元空間におけるエンドエフェクター80の位置を代表する地点のことである。制御点を、TCP(Tool Center Point)とよぶことがある。実施形態においては、ロボットコントローラー200は、ロボット100を駆動することによって、ロボット座標系RCにおいて制御点の位置を制御する。
The
力覚センサー85は、アーム要素59に取り付けられている。力覚センサー85は、ロボット座標系とは異なるセンサー座標系において、エンドエフェクター80に作用するX軸、Y軸、Z軸の検出軸に平行な力の大きさと、各検出軸回りのトルクの大きさとを検出し、検出値をロボットコントローラー200に出力する。センサー座標系は、力覚センサー85上の点を原点とした三次元直交座標系である。なお、ロボットコントローラー200は、センサー座標系と、ロボット座標系とを対応付けた対応関係データを有しており、センサー座標系の座標値を、ロボット座標系の座標値に変換できるものとする。
Force sensor 85 is attached to arm element 59. The force sensor 85 detects the magnitude of force acting on the
基台90は、ロボット100を構成する部材を支持している。基台90を床に固定することで、ロボット100が床の上に設置される。
The
ロボットコントローラー200は、制御装置500から受信した動作指令に従って、ロボット100およびエンドエフェクター80を制御する。ロボットコントローラー200は、ロボット100と通信可能に接続されている。また、ロボットコントローラー200は、制御装置500と通信可能に接続されている。制御装置500を外部機器ともよぶ。
実施形態においては、基台90の位置を基準として、ロボット100が設置された空間を規定する座標系をロボット座標系RCと表す。ロボット座標系RCは、水平面上において、互いに直交するX軸およびY軸と、鉛直上向きを正方向とするZ軸と、によって規定される三次元直交座標系である。以下、ロボット座標系RCにおけるX軸のことを、単にX軸と表す。ロボット座標系RCにおけるY軸のことを、単にY軸と表す。ロボット座標系RCにおけるZ軸のことを、単にZ軸と表す。ロボット座標系RCにおける位置は、X軸方向の位置と、Y軸方向の位置と、Z軸方向の位置とにより特定することができる。また、X軸回りの回転の角度位置RX、Y軸回りの回転の角度位置RY、Z軸回りの回転の角度位置RZにより、ロボット座標系RCにおける任意の姿勢を表すことができる。以下、「位置」と表記した場合、狭義の位置に加えて姿勢をも意味する。
In the embodiment, a coordinate system that defines a space in which the
また、ロボットコントローラー200は、ロボット100の制御点の制御について、PTP制御(Point To Point control)と、CP制御(Continuous Path control)とを行うことができる。PTP制御は、目標とする位置と姿勢のみを指定され、目標とする位置に至るまでの動作経路を指定されない制御である。CP制御は、動作経路に沿って、位置と姿勢を指定される制御である。実施形態においては、ロボット100は、CP制御により制御される。
Further, the
図2は、ロボットコントローラー200の機能構成を示すブロック図である。ロボットコントローラー200は、メモリー201と、CPU(Central Processing Unit)202とを備える。メモリー201は、ロボットコントローラー200が実行する各種処理に使用されるプログラムおよびデータを記憶する。また、メモリー201は、CPU202のワークメモリとして使用される。すなわち、メモリー201は記憶部として機能する。CPU202は、メモリー201に記憶されたプログラムを実行することにより、様々な機能を実現する。
FIG. 2 is a block diagram showing the functional configuration of the
ロボットコントローラー200は、機能的には、位置演算部210と、指令出力部220と、動作制御部230とを有する。位置演算部210、指令出力部220、動作制御部230それぞれの機能はCPU202により実現される。
Functionally, the
位置演算部210は、制御点の位置を演算し、求めた制御点の位置を示す値を指令出力部220に出力する。ロボットコントローラー200のメモリー201には、関節J1~J6それぞれを駆動するサーボモーター60それぞれの回転角度の組み合わせと、ロボット座標系における制御点の位置とを対応付けた位置対応データがあらかじめ記憶されている。位置演算部210は、決められた時間毎に、位置対応データと、関節J1~J6それぞれを駆動するサーボモーター60それぞれに対応する角度センサー65の検出値と、に基づいて、制御点のロボット座標系RCにおける制御点の位置を示す座標を演算する。位置演算部210は、求めた制御点の位置を示す座標の値を指令出力部220に出力する。
The
指令出力部220は、制御装置500から、制御点の目標地点を示す座標値と、周期とを含む動作指令を受け付ける。周期は、制御点を目標地点まで遷移させる時間を指定する値である。
The
動作指令においては、1つの周期において、制御点の移動先である目標位置を示す目標地点が指定されるものの、目標地点までの経路については指定されていない。よって、指令出力部220は、連続する2以上の動作指令で指定された目標地点の間の経路を補間する。
In the operation command, a target point indicating a target position to which a control point is to be moved is specified in one cycle, but a route to the target point is not specified. Therefore, the
指令出力部220は、例えば、2つの目標地点の間の経路を補間により求める。指令出力部220は、求めた経路を、N個に分割し、分割位置における座標値を補間点として求める。補間処理の詳細については後述する。
For example, the
さらに、指令出力部220は、補間点の座標値に基づいて、モーター角度指令を生成する。モーター角度指令は、関節J1~J6それぞれを駆動するサーボモーター60の回転方向と回転量を指定する指令である。ロボットコントローラー200のメモリー201には、ロボット座標系における制御点の位置と、関節J1~J6それぞれを駆動するサーボモーター60それぞれの回転角度の組み合わせと、を対応付けた関節角対応データがあらかじめ記憶されている。指令出力部220は、各補間点の座標値と、関節角対応データと、から生成したモーター角度指令を、順次、動作制御部230に出力する。
Furthermore, the
動作制御部230は、指令出力部220から出力されたモーター角度指令に基づいて、各軸のサーボモーター60を作動させる。
The
制御装置500は、動作指令をロボットコントローラー200に送信する。制御装置500は遠隔地にあるコンピューターである。遠隔地とは、制御装置500を操作する作業者が、ロボットシステム10を直接視認することができない場所のことである。制御装置500は、メモリー501と、CPU502とを備える。メモリー501は、制御装置500が実行する各種処理に使用されるプログラムおよびデータを記憶する。メモリー501には、ロボットシステム10を制御するための制御プログラムが記憶されている。CPU502が、制御プログラムを実行することにより、ロボットコントローラー200に動作指令が送信される。動作指令は、実行される順で、ロボットコントローラー200に送信される。
ここで、遠隔地にある制御装置500からネットワークを介して、動作指令を受信する場合には、ネットワークに発生した通信異常等により、ロボットコントローラー200が動作指令を制御装置500から受信できない状態が継続することが想定される。動作指令を受信できない状態であっても、ロボットコントローラー200は、メモリー201に格納されている動作指令の数が、通常使用される補間処理に必要な数以上である場合には、補間処理を実行し、ロボット100を動作させることができる。しかし、メモリー201に格納されている動作指令の数が、補間処理の実行に必要な数未満となった場合には、ロボットコントローラー200は、補間処理を実行することができない。
Here, when receiving operation commands from the
このため、実施形態において、ロボットコントローラー200は、メモリー201に格納されている動作指令の数に応じて、異なる補間処理を選択する。
Therefore, in the embodiment, the
まず、メモリー201に格納されている動作指令の数が、決められた閾値以上であるときに実行される補間処理を説明する。メモリー201に格納されている動作指令の数が決められた閾値以上であるときを、正常状態という。このような場合、ロボットコントローラー200は、通常の補間処理として、5次のスプライン補間を使用する。通常の補間処理として使用される5次のスプライン補間を第1補間処理ともよぶ。ロボット100は、補間された経路に沿って動作するため、ロボット100の動作が急峻なものとなり、ロボット100の各関節にかかる負荷が大きくなることを回避することが望ましい。このため、通常の補間処理では、複数の目標地点の間の経路が滑らかなもとのなるように、曲線で補間する。
First, interpolation processing that is executed when the number of operation commands stored in the
図3は、複数の目標地点の間の経路を補間する方法を説明するための図である。制御装置500から受信した動作指令で指定されている目標地点の座標値は、受信した順に、P0、P1、・・・、P11、P12であるものとする。目標地点P0は、制御点の初期位置であるものとする。図3においては、X軸上における目標地点の座標値と、Z軸上における目標地点の座標値とを示している。技術の理解を容易にするため、Y軸上における目標地点の座標値については図3に表していない。しかしながら、制御装置500から受信する動作指令に含まれる目標地点を示す座標値は、X軸方向、Y軸方向、Z軸方向それぞれの位置が含まれているものとする。指令出力部220は、3軸の座標値を使用して、目標地点間の経路を補間するものとする。
FIG. 3 is a diagram for explaining a method of interpolating a route between a plurality of target points. It is assumed that the coordinate values of the target points specified in the operation commands received from the
指令出力部220は、6つの動作指令を使用した5次のスプライン補間により、6つの目標地点の間の経路をスプライン曲線で補間する。例えば、指令出力部220は、目標地点P0、P1、・・・、P4、P5の座標値を使用して、5次のスプライン補間により、目標地点P0、P1、・・・、P4、P5の座標値で指定される地点の間の経路を補間する。初回の補正時においては、指令出力部220は、6つの動作指令それぞれで指定されている目標地点のうち、少なくとも最初の目標地点P0と最初に移動する目標地点であるP1との間における補間経路を示す補間点を求める。例えば、指令出力部220は、初期位置である目標地点P0と最初の目標地点P1との間における経路を10個に分割し、分割位置における座標値を補間点として求める。また、指令出力部220は、補間処理の後、使用した6個の動作指令のうちの最初の動作指令、即ち、6個の動作指令のうち、最も先に指令出力部220に到達した動作指令を、メモリー201から削除する。指令出力部220は、補間点の座標値に基づいたモーター角度指令を動作制御部230に出力する。
The
また、指令出力部220は、制御点が、目標地点P1に移動した場合に、次の補間処理を実行する。この場合、指令出力部220は、目標地点P1、P2、・・・、P5、P6の座標値を使用して、5次のスプライン補間により、目標地点P1、P2、・・・、P5、P6の座標値で指定される地点の間の経路を補間する。指令出力部220は、6つの動作指令それぞれで指定されている目標地点のうち、少なくとも制御点の現在位置である目標地点P1と次の目標地点P2との間における補間経路を示す補間点を求める。指令出力部220は、補間点の座標値に基づいたモーター角度指令を動作制御部230に出力する。これ以降、指令出力部220は、制御点が、ある目標地点に到達するたびに、その地点と、先の目標地点との間の経路を補間する処理を行う。
Further, the
次に、メモリー201に格納されている動作指令の数が、決められた閾値未満であるときに実行される補間処理を説明する。メモリー201に格納されている動作指令の数が決められた閾値未満であるときを、異常状態という。このような場合、ロボットコントローラー200は、臨時の補間処理として、2点間の線形補間を使用する。臨時の補間処理として使用される2点間の線形補間を第2補間処理ともよぶ。
Next, an explanation will be given of an interpolation process that is executed when the number of operation commands stored in the
図4は、複数の目標地点の間の経路を補間する他の方法を説明するための図である。制御装置500から受信した動作指令で指定されている目標地点の座標値は、受信した順に、P0、P1、・・・、P9、P10であるものとする。目標地点P0は、制御点の初期位置であるものとする。図4においては、X軸上における目標地点の座標値と、Z軸上における目標地点の座標値とを示している。技術の理解を容易にするため、Y軸上における目標地点の座標値については図4に表していない。しかしながら、制御装置500から受信する動作指令に含まれる目標地点を示す座標値は、X軸方向、Y軸方向、Z軸方向それぞれの位置が含まれているものとする。指令出力部220は、3軸の座標値を使用して、目標地点間の経路を補間するものとする。
FIG. 4 is a diagram for explaining another method of interpolating a route between a plurality of target points. It is assumed that the coordinate values of the target points specified in the operation commands received from the
指令出力部220は、2つの動作指令で指定された目標地点の間の経路を線形補間で補間する。ここで、5次のスプライン補間を実行できるか否かを決める閾値は6であるとする。
The
例えば、目標地点P5までロボット100の制御点が移動した時点で、メモリー201に格納されている動作指令の数が5個であるとする。なお、目標地点P5までの経路は、通常の5次のスプライン補間により補間されている。この場合、指令出力部220は、ロボット100の制御点が現在位置する目標地点P5と、目標地点P6とを直線で結んだ経路を補間経路として求める。例えば、指令出力部220は、目標地点P5と目標地点P6との間の経路を10個に分割し、分割位置における座標値を補間点として求める。また、指令出力部220は、補間処理の後、使用した2個の動作指令のうちの最初の動作指令、即ち、2個の動作指令のうち、最も先に指令出力部220に到達した動作指令を、メモリー201から削除する。指令出力部220は、補間点の座標値に基づいたモーター角度指令を動作制御部230に出力する。
For example, assume that the number of operation commands stored in the
また、指令出力部220は、制御点が、目標地点P6に移動した場合に、メモリー201に格納されている動作指令の数に応じて、5次のスプライン補間、あるいは、2点間の線形補間を実行する。
Further, when the control point moves to the target point P6, the
図5は、ロボットコントローラー200が実行する補間経路の生成処理のフローチャートである。ロボットコントローラー200は、制御装置500から、動作開始を示す開始指令を受信すると、補間経路の生成処理を開始する。開始指令は、例えば、ロボット100の初期位置である目標地点P0を指定する座標値を含む。なお、補間経路の生成処理と並行して、ロボットコントローラー200は、制御装置500から動作指令を受信すると、受信した動作指令をメモリー201に順次格納しているものとする。
FIG. 5 is a flowchart of interpolation path generation processing executed by the
ステップS101において、補間処理の実行条件を満たす場合(ステップS101;YES)、ロボットコントローラー200は、ステップS102の処理を実行する。初回の補間処理の実行条件は、開始指令を受信した後、メモリー201に、あらかじめ決められた数の動作指令が格納されたことである。一方、ロボットコントローラー200は、補間処理の実行条件を満たされない場合(ステップS101;NO)、待機する。ロボットコントローラー200は、例えば、メモリー201に格納されている動作指令の数を決められた時間間隔で監視してもよい。
In step S101, if the execution conditions for the interpolation process are satisfied (step S101; YES), the
ステップ102において、ロボットコントローラー200は、メモリー201に格納されている動作指令の数が第1閾値Th1以上である場合に(ステップS102;YES)、ステップ103の処理を実行する。第1補間処理である5次のスプライン補間では、6つの動作指令を使用するため、第1閾値Th1は6である。一方、ステップS102において、ロボットコントローラー200は、メモリー201に格納されている動作指令の数が第1閾値Th1未満である場合に(ステップS102;NO)、ステップ106の処理を実行する。
In step 102, the
ステップ103において、ロボットコントローラー200は、第1補間処理として、5次のスプライン補間を実行する。ロボットコントローラー200は、制御装置500から到着した時刻が最も早い6個の動作指令をメモリー201から読み出す。前述のように、動作指令は、実行される順で、制御装置500からロボットコントローラー200に送信される。よって、読み出される6個の動作指令は、実行される順番が連続している動作指令である。ロボットコントローラー200は、6個の動作指令に含まれる6点の目標地点を使用したスプライン補間により、6個の動作指令のうちの、少なくとも最初の動作指令と2番目の動作指令との間の経路を、補間する。補間処理により、最初の動作指令と次の動作指令との間の補間経路を示す補間点が求められる。補間処理が実行された後、使用された6個の動作指令のうちの最初の動作指令、即ち、使用された6個の動作指令のうち、最も先にロボットコントローラー200に到達した動作指令が、メモリー201から削除される。その後、ロボットコントローラー200は、ステップS104の処理を実行する。
In step 103, the
ステップS104において、ロボットコントローラー200は、生成した補間経路に沿って、ロボット100を動作させる。よって、ロボット100の制御点が、補間に使用された動作指令のうち最初の動作指令と2番目の動作指令との間の補間点が示す位置を順次移動することになる。その後、ロボットコントローラー200は、ステップS105の処理を実行する。
In step S104, the
ステップS105において、終了条件が満たされていない場合(ステップS105;NO)、再び、ステップS101の処理が再び実行される。終了条件は、例えば、ロボットコントローラー200が制御装置500から終了指令を受信したことである。一方、ステップS105において、終了条件が満たされている場合(ステップS105;YES)、補間経路の生成処理が終了される。
In step S105, if the end condition is not satisfied (step S105; NO), the process in step S101 is executed again. The termination condition is, for example, that the
ステップS106において、ロボットコントローラー200は、メモリー201に格納されている動作指令の数が第2閾値Th2以上である場合(ステップS106;YES)、ステップS107の処理を実行する。第2補間処理である2点間の線形補間では、2つの動作指令を使用するため、第2閾値Th2は2である。一方、ステップS106において、ロボットコントローラー200は、メモリー201に格納されている動作指令の数が第2閾値Th2未満である場合(ステップS106;NO)、ステップS108の処理を実行する。
In step S106, if the number of motion commands stored in the
ステップS107において、ロボットコントローラー200は、第2補間処理として、2点間の線形補間を実行する。ロボットコントローラー200は、制御装置500から到着した時刻が最も早い2個の動作指令をメモリー201から読み出す。ロボットコントローラー200は、2個の動作指令に含まれる2点の目標地点を使用した線形補間により、2つの動作指令で指定された目標地点の間の経路を補間する。補間処理が実行された後、使用された2個の動作指令のうちの最初の動作指令、即ち、使用された2個の動作指令のうち、最も先にロボットコントローラー200に到達した動作指令が、メモリー201から削除される。その後、ステップS104において、ロボットコントローラー200は、生成した補間経路に沿って、ロボット100を動作させる。
In step S107, the
ステップS108において、ロボットコントローラー200はエラーを出力する。例えば、ロボットコントローラー200は、補間処理を実行できない旨を通知する画面を、ロボットコントローラー200に備えられている表示装置に出力する。その後、補間経路の生成処理が終了される。
In step S108, the
以上、説明したように、実施形態においては、ロボットコントローラー200は、メモリー201に蓄積されている動作指令の数が、第1閾値Th1以上である場合には、第1補間処理である5次のスプライン補間を使用して、目標地点の間を補間する。ロボットコントローラー200は、蓄積されている動作指令の数が、第1閾値Th1未満であり、第2閾値Th2以上である場合には、第2補間処理である2点間の線形補間を使用して、目標地点の間を補間する。
As described above, in the embodiment, when the number of motion commands stored in the
このように、メモリー201に格納されている動作指令の数が、第1閾値Th1未満であり、第1補間処理を実行することができない場合に、第1補間処理より使用する動作指令の数が少ない第2補間処理が実行される。補間された経路によっては、ロボット100の動作が急峻なものとなり、ロボット100の各関節にかかる負荷が大きくなることも想定されるが、第1補間処理だけを使用する態様に比べ、動作指令の数の不足により、ロボット100の動作が停止することを低減することができる。
In this way, when the number of motion commands stored in the
また、メモリー201に格納されている動作指令の数が、第1閾値Th1未満であり第2閾値以上の場合には、第2補間処理が実行される。さらに、メモリー201に格納されている動作指令の数が、第2閾値Th2未満となるまで、第2補間処理が実行される。従来のように、1種類の補間処理だけを使用する場合より、動作指令の数の不足により、ロボット100の動作が停止することを回避できる。
Further, when the number of operation commands stored in the
また、例えば、第1補間処理ではなく、第1補間処理より使用する動作指令の数が少ない第2補間処理を常時実行することも考えられる。しかし、第2補間処理を常時実行する場合には、補間処理の精度が低下することが想定される。実施形態では、メモリー201に格納されている動作指令の数に応じて補間処理を選択するので、第2補間処理を常時実行する場合に比べて、ロボット100の動作の停止を回避しつつ、補間処理の精度の低下を抑制することができる。
Furthermore, for example, instead of the first interpolation process, a second interpolation process that uses fewer operation commands than the first interpolation process may be constantly executed. However, if the second interpolation process is always executed, it is assumed that the accuracy of the interpolation process will decrease. In the embodiment, since the interpolation process is selected according to the number of motion commands stored in the
また、図5に示すように、例えば、ステップS107において、第2補間処理が実行された後、ステップS102で、メモリー201に格納されている動作指令の数が第1閾値Th1以上となると、ステップS103で、第1補間処理が再び実行される。メモリー201に格納されている動作指令の数が、第1閾値Th1以上となるまで、第1補間処理ではなく、第2補間処理を実行することにより、ロボット100の動作を継続させることができる。さらに、メモリー201に格納されている動作指令の数が第1閾値Th1以上となった場合には、再び、精度の高い補間処理を使用して、補間経路を生成することができる。
Further, as shown in FIG. 5, for example, after the second interpolation process is executed in step S107, when the number of operation commands stored in the
B1.他の実施形態1
実施形態においては、図5に示すように、第2補間処理が実行された後、メモリー201に格納されている動作指令の数が第1閾値Th1以上となると、第1補間処理が再び実行される。例えば、直前に実行された動作指令に基づいて補間された経路が2点間の線形補間により生成された経路であり、次の動作指令に基づいて補間される経路が5次のスプライン補間で生成された経路であるとする。この場合、補間処理が切り替えられることにより、ロボット100の動作が急激に変化することが予想される。よって、メモリー201に格納されている動作指令の数が第1閾値Th1以上となった後、最初に生成する補間経路については、第1補間処理の5次のスプライン補間以外の補間処理によって生成してもよい。メモリー201に格納されている動作指令の数が、再び第1閾値Th1以上となった後、最初に生成する補間経路について、ロボットコントローラー200は以下のように補間経路を生成する。
B1.
In the embodiment, as shown in FIG. 5, after the second interpolation process is executed, when the number of operation commands stored in the
図6は、他の実施形態1における補間方法を説明するための図である。例えば、目標地点P1からP4までの間、線形補間により経路が補間されていたとする。ロボット100の制御点が目標地点P4に到達した時点で、メモリー201に格納されている動作指令の数が、第1閾値Th1以上であったとする。この場合、まず、ロボットコントローラー200は、6個の動作指令に含まれる6点の目標地点を使用して5次のスプライン補間により、補間経路RSを生成する。図6に示す例では、目標地点P4~P9までの間の補間経路RSを破線で表している。
FIG. 6 is a diagram for explaining an interpolation method in another
また、補間経路RSのうち、使用された動作指令のうち、最初の動作指令で指定された目標地点と次の動作指令で指定された目標地点との間の経路を補間経路R1とする。補間経路R1を第1経路ともよぶ。図6に示す例では、補間経路RSのうち、目標地点P4~P5までの間の経路を補間経路R1とする。ロボットコントローラー200は、使用された動作指令のうち、最初の動作指令で指定された目標地点と2番目の動作指令で指定された目標地点との間の補間経路R1を示す補間点を求める。例えば、ロボットコントローラー200は、補間経路R1を10個に分割し、分割位置における座標値を補間点として求める。
Further, among the interpolated routes RS, a route between the target point designated by the first motion command and the target point designated by the next motion command among the used motion commands is defined as an interpolated route R1. The interpolated route R1 is also referred to as a first route. In the example shown in FIG. 6, of the interpolated route RS, the route between target points P4 and P5 is set as the interpolated route R1. The
さらに、ロボットコントローラー200は、5次のスプライン補間で使用した6個の動作指令のうち、最初の動作指令と2番目の動作指令とを使用して、2点間の線形補間により補間経路R2を生成する。補間経路R2を第2経路ともよぶ。図6に示す例では、目標地点P4~P5までの間の、補間経路R2を一点鎖線で表している。ロボットコントローラー200は、使用された動作指令で指定された目標地点との間の補間経路R2を示す補間点を求める。例えば、補間経路R2を10個に分割し、分割位置における座標値を補間点として求める。
Furthermore, the
ロボットコントローラー200は、補間経路R1の補間点と、対応する補間経路R2の補間点と、の間を取った地点を示す座標値を求め、求めた地点をつないだ経路を、補間経路R3として生成する。補間経路R3を生成する処理を第3補間処理ともよぶ。
The
ロボットコントローラー200は、生成した補間経路R3に沿って、ロボット100を動作させる。その後、補間処理を実行するタイミングとなり、メモリー201に第1閾値Th1個以上の動作指令が格納されている場合には、ロボットコントローラー200は、第1補間処理である5次のスプライン補間によって補間経路を生成する。
The
他の実施形態1においては、第2補間処理を実行しているときに、メモリー201に格納されている動作指令の数が再び第1閾値Th1以上となった場合、第1補間処理であるスプライン補間により生成された補間経路R1と、第2補間処理である線形補間により生成された補間経路R2と、を使用した第3補間処理を実行する。その後、第1補間処理が再開される。よって、第2補間処理から第1補間処理に切り替えるときに、ロボット100の動作が急激に変化することを抑制し、第2補間処理から第1補間処理への切替をスムーズに行うことができる。
In another
B2.他の実施形態2
また、第1補間処理を実行しているときに、メモリー201に格納されている動作指令の数が、第1閾値Th1未満で、第2閾値Th2以上である場合に、ロボットコントローラー200は以下のように補間経路を生成してもよい。ロボットコントローラー200は、スプライン補間を実行する度に、6つの動作指令で指定された目標地点間の5区間の経路を生成しているものとする。さらに、生成された補間経路の情報がメモリー201に記憶されているものとする。例えば、ロボット100の制御点が目標地点P4に到達した時点で、メモリー201に格納されている動作指令の数が、第1閾値Th1未満で、第2閾値Th2以上であるとする。目標地点P4に到達するまでの経路はスプライン補間により補間されていたとする。この場合、ロボットコントローラー200は、ロボット100の制御点が現在位置している目標地点P4と、次の目標地点P5との間の経路を線形補間により補間する。さらに、ロボットコントローラー200は、メモリー201から、直前に実行されたスプライン補間により生成された経路のうち目標地点P4とP5との間の補間点の情報を取得する。
B2. Other embodiment 2
Furthermore, while executing the first interpolation process, if the number of motion commands stored in the
ロボットコントローラー200は、線形補間により求められた補間点と、直前に実行されたスプライン補間により求められた補間点との間を取った地点を示す座標値を求め、求めた地点をつないだ経路を、補間経路として生成する。ロボットコントローラー200は、生成した補間経路に沿って、ロボット100を動作させる。その後、補間処理を実行するタイミングとなり、メモリー201に格納されている動作指令の数が、第1閾値Th1未満で、第2閾値Th2以上である場合には、ロボットコントローラー200は、第2補間処理である線形補間によって補間経路を生成する。
The
このように、他の実施形態2においては、メモリー201に格納されている動作指令の数が第1閾値Th1未満となり、第2閾値Th2以上である場合、線形補間を実行する前に、線形補間により補間された経路を示す補間点と、スプライン補間により補間された経路を示す補間点との間を取った経路を補間経路として使用する。よって、5次のスプライン補間により生成された補間経路から、線形補間により生成された補間経路に直接切り替えられる場合に比べて、ロボット100の動作が急激に変化することを抑制することができる。このようにして、第1補間処理から第2補間処理への切替をスムーズに行うことができる。
In this way, in the second embodiment, when the number of operation commands stored in the
B3.他の実施形態3
あるいは、第2補間処理を実行しているときに、メモリー201に格納されている動作指令の数が、再び第1閾値Th1以上となった後、第1補間処理を再開する前に、ロボットコントローラー200は以下のように補間経路を生成してもよい。ロボットコントローラー200は、2個の動作指令に含まれる2点の目標地点を使用して円弧補間により、補間経路を生成する。ロボットコントローラー200は、円弧補間により生成した補間経路に沿って、ロボット100を動作させる。その後、補間処理を実行するタイミングとなり、メモリー201に第1閾値Th1個以上の動作指令が格納されている場合には、ロボットコントローラー200は、第1補間処理である5次のスプライン補間によって補間経路を生成する。
B3. Other embodiment 3
Alternatively, while executing the second interpolation process, after the number of motion commands stored in the
このように、他の実施形態3においては、メモリー201に格納されている動作指令の数が再び第1閾値Th1以上となった場合、第2補間処理から第1補間処理に切り替える前に、円弧補間により生成された補間経路に沿って、ロボット100を動作させる。よって、線形補間により生成された補間経路から、5次のスプライン補間により生成された補間経路に直接切り替えられる場合に比べて、ロボット100の動作が急激に変化することを抑制することができる。このようにして、第2補間処理から第1補間処理への切替をスムーズに行うことができる。
In this manner, in the third embodiment, when the number of motion commands stored in the
B4.他の実施形態4
また、第2補間処理を実行しているときに、メモリー201に格納されている動作指令の数が、再び第1閾値Th1以上となった後、第1補間処理を再開する前に、ロボットコントローラー200は以下のように補間経路を生成してもよい。ロボットコントローラー200は、4個の動作指令に含まれる4点の目標地点を使用して3次のスプライン補間により、補間経路を生成する。ロボットコントローラー200は、3次のスプライン補間により生成した補間経路に沿って、ロボット100を動作させる。その後、補間処理を実行するタイミングとなり、メモリー201に第1閾値Th1個以上の動作指令が格納されている場合には、ロボットコントローラー200は、第1補間処理である5次のスプライン補間によって補間経路を生成する。
B4. Other embodiment 4
Furthermore, while executing the second interpolation process, after the number of motion commands stored in the
このように、他の実施形態4においては、第2補間処理を実行しているときに、メモリー201に格納されている動作指令の数が再び第1閾値Th1以上となった場合、5次のスプライン補間より精度が低い3次のスプライン補間により生成された補間経路に沿って、ロボット100を動作させる。その後、第1補間処理である5次のスプライン補間処理が再開される。よって、線形補間により生成された補間経路から、5次のスプライン補間により生成された補間経路に直接切り替えられる場合に比べて、ロボット100の動作が急激に変化することを抑制することができる。このようにして、第2補間処理から第1補間処理への切替をスムーズに行うことができる。
In this manner, in the fourth embodiment, when the number of operation commands stored in the
B5.他の実施形態5
また、第1補間処理は、5次のスプライン補間でなくてもよい。例えば、第1補間処理として、3次のスプライン補間を使用してもよい。また、第2補間処理は、線形補間でなくてもよい。例えば、第2補間処理として、2点間の円弧補間を使用してもよい。
B5. Other embodiment 5
Furthermore, the first interpolation process does not need to be quintic spline interpolation. For example, cubic spline interpolation may be used as the first interpolation process. Furthermore, the second interpolation process does not need to be linear interpolation. For example, circular interpolation between two points may be used as the second interpolation process.
実施形態においては、ロボットコントローラー200が、6つの動作指令それぞれで指定されている目標地点のうち、少なくとも制御点の現在位置である目標地点P1と次の目標地点P2との間における補間経路を示す補間点を求める例を説明した。しかしながら、ロボットコントローラー200は、6つの動作指令それぞれで指定されている目標地点の間のすべての補間経路を求めてもよい。
In the embodiment, the
実施形態においては、目標地点の間の経路を補間する方法を中心に説明したが、実施形態にかかる構成は、ロボット100の制御点の移動の速度または加速度の補間にも採用することができる。
In the embodiment, a method of interpolating a route between target points has been mainly described, but the configuration according to the embodiment can also be adopted for interpolating the speed or acceleration of movement of a control point of the
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替え、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。 The present disclosure is not limited to the embodiments described above, and can be implemented in various configurations without departing from the spirit thereof. For example, the technical features in the embodiments corresponding to the technical features in each form described in the summary column of the invention may be used to solve some or all of the above-mentioned problems, or to achieve one of the above-mentioned effects. In order to achieve some or all of the above, it is possible to perform appropriate substitutions and combinations. Further, unless the technical feature is described as essential in this specification, it can be deleted as appropriate.
C.他の形態:
(1)本開示の一形態によれば、ロボットシステムの経路生成方法が提供される。このロボットシステムの経路生成方法は、外部機器から、ロボットの目標位置を指定する動作指令を受信して、前記動作指令を記憶部に格納する受信ステップと、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が第1閾値Th1以上である場合に、Th1個の前記動作指令を使用した第1補間処理を実行することにより、Th1個の前記動作指令のうち、少なくとも最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間を、含む経路を、補間する第1補間ステップと、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が前記第1閾値Th1より小さい第2閾値Th2以上であり、かつ前記第1閾値Th1未満である場合に、Th2個の前記動作指令を使用した第2補間処理を実行することにより、Th2個の前記動作指令のうち、最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間の経路を補間する第2補間ステップと、を含む。
上記の形態によれば、記憶部に格納されている動作指令の数が第1閾値Th1未満であり、第1補間処理を実行することができない場合に、第1補間処理より使用する動作指令の数が少ない第2補間処理を実行することにより、動作指令の数の不足により、ロボットの動作が停止することを回避できる。また、第1補間処理より使用する動作指令の数が少ない第2補間処理を常時実行する態様に比べて、補間処理の精度の低下を抑制することができる。
C. Other forms:
(1) According to one embodiment of the present disclosure, a route generation method for a robot system is provided. This route generation method for a robot system includes a receiving step of receiving a motion command specifying a target position of the robot from an external device and storing the motion command in a storage section; When the number of the plurality of operation commands specifying the target position further ahead and in which the order of execution of the operation commands is consecutive is greater than or equal to the first threshold Th1, By executing the first interpolation process using the movement commands, the target position specified by at least the first movement command among the Th1 movement commands and the target position specified by the next movement command are determined. a first interpolation step of interpolating a route including a path between the target position and the operation command, which is stored in the storage unit and specifies the target position beyond the current position; When the number of the plurality of operation commands whose execution order is consecutive is greater than or equal to a second threshold Th2 smaller than the first threshold Th1 and less than the first threshold Th1, Th2 of the operation commands are executed. By executing the second interpolation process using and a second interpolation step of interpolating a path between.
According to the above embodiment, when the number of motion commands stored in the storage unit is less than the first threshold Th1 and the first interpolation process cannot be executed, the number of motion commands to be used from the first interpolation process is By executing a small number of second interpolation processes, it is possible to avoid stopping the robot's motion due to an insufficient number of motion commands. Further, compared to a mode in which the second interpolation process, which uses fewer operation commands than the first interpolation process, is always executed, it is possible to suppress a decrease in the accuracy of the interpolation process.
(2)上記形態のロボットシステムの経路生成方法において、前記記憶部に格納されている前記動作指令の数が、前記第2閾値Th2未満である場合、前記第2補間処理を実行することができないことを通知するエラーを出力するステップ、を含む。
上記の形態によれば、記憶部に格納されている動作指令の数が、第2閾値Th2未満である場合には、第2補間処理を実行できないことを通知するエラーを出力するが、記憶部に格納されている動作指令の数が、第1閾値Th1未満であり第2閾値Th2以上の場合には、第2補間処理が実行される。上記の形態によれば、従来のように、1種類の補間処理だけを使用する場合より、動作指令の数の不足により、ロボットの動作が停止することを回避できる。
(2) In the route generation method for a robot system according to the above aspect, if the number of the movement commands stored in the storage unit is less than the second threshold Th2, the second interpolation process cannot be executed. The method includes a step of outputting an error to notify the user of the error.
According to the above embodiment, if the number of operation commands stored in the storage unit is less than the second threshold Th2, an error is output to notify that the second interpolation process cannot be executed. If the number of operation commands stored in the ``second'' threshold Th1 is less than the first threshold Th1 and greater than the second threshold Th2, the second interpolation process is executed. According to the above embodiment, it is possible to avoid stopping the robot's motion due to an insufficient number of motion commands, compared to the conventional case where only one type of interpolation processing is used.
(3)上記形態のロボットシステムの経路生成方法において、前記記憶部に格納されている前記動作指令の数が前記第1閾値Th1未満となった場合、前記記憶部に格納されている前記動作指令の数が前記第1閾値Th1以上となるまでの間、前記第2補間処理の実行が継続される。
上記の形態によれば、記憶部に格納されている動作指令の数が、第1閾値Th1以上となるまで、第1補間処理ではなく、第2補間処理を実行することにより、ロボットの動作を継続させることができる。
(3) In the route generation method for a robot system according to the above aspect, when the number of the motion commands stored in the storage section is less than the first threshold Th1, the motion commands stored in the storage section The execution of the second interpolation process is continued until the number becomes equal to or greater than the first threshold Th1.
According to the above embodiment, the robot's motion is controlled by executing the second interpolation process instead of the first interpolation process until the number of movement commands stored in the storage unit reaches or exceeds the first threshold Th1. It can be continued.
(4)上記形態のロボットシステムの経路生成方法において、前記第2補間処理の実行が継続されているときに前記記憶部に格納されている前記動作指令の数が前記第1閾値Th1以上となった場合、前記第1補間処理を実行する。
上記の形態によれば、第2補間処理の実行が継続されているときに記憶部に格納されている動作指令の数が第1閾値Th1以上となった場合には、第2補間処理より精度の高い第1補間処理が再び実行されるので、複数の目標位置の間の経路を精度よく補間することができる。
(4) In the route generation method for a robot system according to the above aspect, when the second interpolation process continues to be executed, the number of operation commands stored in the storage unit becomes equal to or greater than the first threshold Th1. If so, the first interpolation process is executed.
According to the above embodiment, if the number of operation commands stored in the storage unit becomes equal to or greater than the first threshold Th1 while the execution of the second interpolation process is continued, the accuracy of the second interpolation process is higher than that of the second interpolation process. Since the first interpolation process with a high value is executed again, it is possible to accurately interpolate routes between a plurality of target positions.
(5)上記形態のロボットシステムの経路生成方法において、前記第2補間処理の実行が継続されているときに前記記憶部に格納されている前記動作指令の数が前記第1閾値Th1以上となった場合、前記第1補間処理を実行する前に、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続しているTh1個の前記動作指令を使用した前記第1補間処理を実行することにより生成した第1経路の情報と、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続しているTh2個の前記動作指令を使用した前記第2補間処理を実行することにより生成した第2経路の情報と、を使用した第3補間処理を実行する。
上記の形態によれば、第2補間処理から第1補間処理に切り替える前に、直前に第2補間処理により補間された第1経路の情報と、1補間処理により補間された第2経路の情報とを使用した第3補間処理を実行することにより、第2補間処理から第1補間処理への切替をスムーズに行うことができる。
(5) In the route generation method for a robot system according to the above aspect, when the second interpolation process continues to be executed, the number of operation commands stored in the storage unit becomes equal to or greater than the first threshold Th1. In this case, before executing the first interpolation process, the operation commands specifying the target position beyond the current position are stored in the storage unit, and the order in which the operation commands are executed is consecutive. specifying the first route information generated by executing the first interpolation process using the Th1 movement commands and the target position beyond the current one stored in the storage unit; using second path information generated by executing the second interpolation process using Th2 of the operation commands in which the order of execution of the operation commands is consecutive; Then, the third interpolation process is executed.
According to the above embodiment, before switching from the second interpolation process to the first interpolation process, the information on the first route interpolated by the second interpolation process immediately before, and the information about the second route interpolated by the first interpolation process. By executing the third interpolation process using the above, it is possible to smoothly switch from the second interpolation process to the first interpolation process.
(6)本開示の他の形態によれば、ロボットシステムの制御方法が提供される。このロボットシステムの制御方法は、外部機器から、ロボットの目標位置を指定する動作指令を受信して、前記動作指令を記憶部に格納する受信ステップと、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が第1閾値Th1以上である場合に、Th1個の前記動作指令を使用した第1補間処理を実行することにより、Th1個の前記動作指令のうち、少なくとも最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間を含む経路を、補間する第1補間ステップと、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が前記第1閾値Th1より小さい第2閾値Th2以上であり、かつ前記第1閾値Th1未満である場合に、Th2個の前記動作指令を使用した第2補間処理を実行することにより、Th2個の前記動作指令のうち、最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間の経路を補間する第2補間ステップと、補完された経路に沿って、前記ロボットを動作させる動作ステップと、を含む。
上記の形態によれば、記憶部に格納されている動作指令の数が第1閾値Th1未満であり、第1補間処理より使用する動作指令の数が少ない第2補間処理を実行して補間した経路に沿ってロボットを動作させるので、動作指令の数の不足により、ロボットの動作が停止することを回避できる。また、第1補間処理より使用する動作指令の数が少ない第2補間処理を常時実行する場合には、補間処理の精度が低下することが想定される。しかし、記憶部に格納されている動作指令の数に応じて補間処理を選択するので、第2補間処理を常時実行する場合に比べて、ロボットの動作の停止を回避しつつ、補間処理の精度の低下を抑制することができる。
(6) According to another aspect of the present disclosure, a method of controlling a robot system is provided. This robot system control method includes a receiving step of receiving a motion command specifying a target position of the robot from an external device and storing the motion command in a storage section; When the number of the plurality of motion commands specifying the previous target position and in which the order of execution of the motion commands is consecutive is greater than or equal to the first threshold Th1, By executing the first interpolation process using the movement commands, the target position specified by at least the first movement command and the target position specified by the next movement command among the Th1 movement commands are determined. a first interpolation step for interpolating a route including a path to and from a target position; and the operation command, which is stored in the storage unit and specifies the target position beyond the current position, and the operation command is executed. If the number of the plurality of operation commands whose order is consecutive is equal to or greater than a second threshold Th2 smaller than the first threshold Th1, and less than the first threshold Th1, Th2 of the operation commands are used. By executing the second interpolation process, the distance between the target position specified by the first movement command and the target position specified by the next movement command among the Th2 movement commands is determined. a second interpolation step of interpolating the path of the robot; and an operation step of operating the robot along the interpolated path.
According to the above embodiment, the number of motion commands stored in the storage unit is less than the first threshold Th1, and the second interpolation process, which uses fewer motion commands than the first interpolation process, is performed to perform interpolation. Since the robot is operated along the route, it is possible to avoid stopping the robot's operation due to an insufficient number of operation commands. Furthermore, if the second interpolation process, which uses fewer operation commands than the first interpolation process, is constantly executed, it is assumed that the accuracy of the interpolation process will decrease. However, since the interpolation process is selected according to the number of movement commands stored in the storage unit, the accuracy of the interpolation process can be improved while avoiding stopping the robot's movement compared to when the second interpolation process is constantly executed. It is possible to suppress the decrease in
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替え、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。 The present disclosure is not limited to the embodiments described above, and can be implemented in various configurations without departing from the spirit thereof. For example, the technical features in the embodiments corresponding to the technical features in each form described in the summary column of the invention may be used to solve some or all of the above-mentioned problems, or to achieve one of the above-mentioned effects. In order to achieve some or all of the above, it is possible to perform appropriate substitutions and combinations. Further, unless the technical feature is described as essential in this specification, it can be deleted as appropriate.
10…ロボットシステム、50…アーム、54…アーム要素、55…アーム要素、56…アーム要素、57…アーム要素、58…アーム要素、59…アーム要素、60…サーボモーター、60o…出力軸、65…角度センサー、70…減速機、70i…入力軸、80…エンドエフェクター、85…力覚センサー、90…基台、100…ロボット、200…ロボットコントローラー、201…メモリー、202…CPU、210…位置演算部、220…指令出力部、230…動作制御部、500…制御装置、501…メモリー、502…CPU、J1…関節、J2…関節、J3…関節、J4…関節、J5…関節、J6…関節、P1…プログラム、Th1…第1閾値、Th2…第2閾値
DESCRIPTION OF
Claims (6)
外部機器から、ロボットの目標位置を指定する動作指令を受信して、前記動作指令を記憶部に格納する受信ステップと、
前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が第1閾値Th1以上である場合に、Th1個の前記動作指令を使用した第1補間処理を実行することにより、Th1個の前記動作指令のうち、少なくとも最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間を、含む経路を補間する第1補間ステップと、
前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が前記第1閾値Th1より小さい第2閾値Th2以上であり、かつ前記第1閾値Th1未満である場合に、Th2個の前記動作指令を使用した第2補間処理を実行することにより、Th2個の前記動作指令のうち、最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間の経路を補間する第2補間ステップと、
を含む、
ロボットシステムの経路生成方法。 A path generation method for a robot system, the method comprising:
a receiving step of receiving a motion command specifying a target position of the robot from an external device and storing the motion command in a storage unit;
A first threshold value is the number of the plurality of operation commands that are stored in the storage unit and specify the target position beyond the current position, and the order in which the operation commands are executed is consecutive. If it is equal to or greater than Th1, by executing a first interpolation process using the Th1 movement commands, the target position specified by at least the first movement command among the Th1 movement commands is determined. a first interpolation step of interpolating a path including the target position specified by the next operation command;
The number of the plurality of operation commands, which are stored in the storage unit and which designate the target position beyond the current position, are consecutive in the order in which the operation commands are executed. When the second threshold Th2 is smaller than the threshold Th1 and is less than the first threshold Th1, by executing a second interpolation process using the Th2 operation commands, the number of Th2 operation commands is a second interpolation step of interpolating a path between the target position specified by the first movement command and the target position specified by the next movement command;
including,
Path generation method for robot system.
前記記憶部に格納されている前記動作指令の数が、前記第2閾値Th2未満である場合、前記第2補間処理を実行することができないことを通知するエラーを出力するステップ、
を含む、
ロボットシステムの経路生成方法。 A path generation method for a robot system according to claim 1, comprising:
If the number of the operation commands stored in the storage unit is less than the second threshold Th2, outputting an error notifying that the second interpolation process cannot be executed;
including,
Path generation method for robot system.
前記記憶部に格納されている前記動作指令の数が前記第1閾値Th1未満となった場合、前記記憶部に格納されている前記動作指令の数が前記第1閾値Th1以上となるまでの間、前記第2補間処理の実行が継続される、
ロボットシステムの経路生成方法。 A route generation method for a robot system according to claim 1 or 2, comprising:
When the number of the operation commands stored in the storage section becomes less than the first threshold Th1, until the number of the operation commands stored in the storage section becomes equal to or more than the first threshold Th1. , execution of the second interpolation process is continued;
Path generation method for robot system.
前記第2補間処理の実行が継続されているときに前記記憶部に格納されている前記動作指令の数が前記第1閾値Th1以上となった場合、前記第1補間処理を実行する、
ロボットシステムの経路生成方法。 A route generation method for a robot system according to claim 3, comprising:
performing the first interpolation process when the number of the operation commands stored in the storage unit becomes equal to or greater than the first threshold Th1 while the execution of the second interpolation process is continued;
Path generation method for robot system.
前記第2補間処理の実行が継続されているときに前記記憶部に格納されている前記動作指令の数が前記第1閾値Th1以上となった場合、
前記第1補間処理を実行する前に、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続しているTh1個の前記動作指令を使用した前記第1補間処理を実行することにより生成した第1経路の情報と、前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続しているTh2個の前記動作指令を使用した前記第2補間処理を実行することにより生成した第2経路の情報と、を使用した第3補間処理を実行する、
ロボットシステムの経路生成方法。 A route generation method for a robot system according to claim 4,
When the number of the operation commands stored in the storage unit becomes equal to or greater than the first threshold Th1 while the execution of the second interpolation process is continued;
Before executing the first interpolation process, the operation commands specifying the target position beyond the current position are stored in the storage unit, and the order in which the operation commands are executed is consecutive. Information on the first route generated by executing the first interpolation process using Th1 movement commands, and the movement command that specifies the target position beyond the current position, which is stored in the storage unit. and a third path using the second path information generated by executing the second interpolation process using Th2 operation commands in which the order of execution of the operation commands is consecutive. perform interpolation processing,
Path generation method for robot system.
外部機器から、ロボットの目標位置を指定する動作指令を受信して、前記動作指令を記憶部に格納する受信ステップと、
前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が第1閾値Th1以上である場合に、Th1個の前記動作指令を使用した第1補間処理を実行することにより、Th1個の前記動作指令のうち、少なくとも最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間を含む経路を、補間する第1補間ステップと、
前記記憶部に格納されている、現在より先の前記目標位置を指定する前記動作指令であって、前記動作指令が実行される順番が連続している複数の前記動作指令の数が前記第1閾値Th1より小さい第2閾値Th2以上であり、かつ前記第1閾値Th1未満である場合に、Th2個の前記動作指令を使用した第2補間処理を実行することにより、Th2個の前記動作指令のうち、最初の前記動作指令により指定されている前記目標位置と次の前記動作指令により指定されている前記目標位置との間の経路を補間する第2補間ステップと、
補完された経路に沿って、前記ロボットを動作させる動作ステップと、
を含む、
ロボットシステムの制御方法。 A method for controlling a robot system, the method comprising:
a receiving step of receiving a motion command specifying a target position of the robot from an external device and storing the motion command in a storage unit;
A first threshold value is the number of the plurality of operation commands that are stored in the storage unit and specify the target position beyond the current position, and the order in which the operation commands are executed is consecutive. If it is equal to or greater than Th1, by executing a first interpolation process using the Th1 movement commands, the target position specified by at least the first movement command among the Th1 movement commands is determined. a first interpolation step of interpolating a route including the target position specified by the next operation command;
The number of the plurality of operation commands, which are stored in the storage unit and which designate the target position beyond the current position, are consecutive in the order in which the operation commands are executed. When the second threshold Th2 is smaller than the threshold Th1 and is less than the first threshold Th1, by executing a second interpolation process using the Th2 operation commands, the number of Th2 operation commands is a second interpolation step of interpolating a path between the target position specified by the first movement command and the target position specified by the next movement command;
an operation step of operating the robot along the complemented path;
including,
How to control a robot system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022041088A JP2023135808A (en) | 2022-03-16 | 2022-03-16 | Route generation method for robot system and control method of robot system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022041088A JP2023135808A (en) | 2022-03-16 | 2022-03-16 | Route generation method for robot system and control method of robot system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023135808A true JP2023135808A (en) | 2023-09-29 |
Family
ID=88145270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022041088A Pending JP2023135808A (en) | 2022-03-16 | 2022-03-16 | Route generation method for robot system and control method of robot system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023135808A (en) |
-
2022
- 2022-03-16 JP JP2022041088A patent/JP2023135808A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6392825B2 (en) | Robot controller with learning control function | |
JP6268819B2 (en) | Trajectory generation method for multi-axis robot | |
JP6167770B2 (en) | Multi-axis robot trajectory generation method and multi-axis robot controller | |
JP6472214B2 (en) | Robot apparatus control method and robot apparatus | |
JP6584102B2 (en) | Robot apparatus, robot control method, program, recording medium, and article manufacturing method | |
WO2016021130A1 (en) | Offline teaching device | |
JP5849451B2 (en) | Robot failure detection method, control device, and robot | |
JP5458769B2 (en) | Robot control device | |
JP5144035B2 (en) | Industrial robot tool position / posture control method and control system | |
JP7336215B2 (en) | Robot system, control method, article manufacturing method, program, and recording medium | |
US9676100B2 (en) | Control apparatus of robot, robot, and program thereof | |
JP7144754B2 (en) | Articulated robots and articulated robot systems | |
JP2019055440A (en) | Robot system and work-piece manufacturing method | |
JP4842656B2 (en) | Welding robot controller | |
JP2012051043A (en) | Robot system or robot control device | |
JP6123595B2 (en) | Speed control method for 2-axis robot | |
JP6165322B2 (en) | Robot control apparatus and robot control method | |
JP6712724B2 (en) | Robot control method and welding method | |
JP2023135808A (en) | Route generation method for robot system and control method of robot system | |
JP2010110878A (en) | Articulated robot device and method for controlling the same | |
JP2013223895A (en) | Robot control method and robot control device | |
JP6036476B2 (en) | robot | |
JP7384005B2 (en) | Control method and robot system | |
JP2019104091A (en) | Robot apparatus and control method for robot apparatus | |
JP2024024201A (en) | Robot control method and robot system |