JP2020175474A - Operation planning device and operation planning method - Google Patents
Operation planning device and operation planning method Download PDFInfo
- Publication number
- JP2020175474A JP2020175474A JP2019079252A JP2019079252A JP2020175474A JP 2020175474 A JP2020175474 A JP 2020175474A JP 2019079252 A JP2019079252 A JP 2019079252A JP 2019079252 A JP2019079252 A JP 2019079252A JP 2020175474 A JP2020175474 A JP 2020175474A
- Authority
- JP
- Japan
- Prior art keywords
- robot arm
- end effector
- trajectory
- unit
- time
- 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
Abstract
Description
この発明は、ロボットアームとエンドエフェクタの動作を計画する動作計画装置及び動作計画方法に関する。 The present invention relates to a motion planning device and a motion planning method for planning the motion of a robot arm and an end effector.
従来から、ロボットアームと、ロボットハンド等のエンドエフェクタとを備えたロボット(産業用ロボット)が、FA(Factory Automation)用途等で広く活用されている(例えば特許文献1参照)。
このようなロボットアーム又はエンドエフェクタの動作を、ロボットが備えるコントローラに対してユーザ(オペレータ)が指定する場合、動作指令生成装置(動作計画装置)を使用する(例えば特許文献2参照)。
Conventionally, a robot (industrial robot) provided with a robot arm and an end effector such as a robot hand has been widely used in FA (Factory Automation) applications and the like (see, for example, Patent Document 1).
When a user (operator) specifies the operation of such a robot arm or end effector with respect to a controller included in the robot, an operation command generator (motion planning device) is used (see, for example, Patent Document 2).
特許文献2では、ロボットの動作を完了するまでの待機時間をユーザが把握可能な動作指令により、ロボットを制御することを目的としている。なお、待機時間とは、実質的に所要時間(ロボットの一連の総動作時間)に相当する。そして、特許文献2では、ロボットに行わせる作業の所要時間が長くなると、ロボットの動作が完了するまでユーザがどの程度待たなければならないのかの予測が困難となり、ユーザの行動計画に支障をきたすおそれがあると指摘している。このように、所要時間を把握し易くすることが重要な要求事項であり、常に改善が求められている。 Patent Document 2 aims to control a robot by an operation command that allows a user to grasp the waiting time until the operation of the robot is completed. The standby time substantially corresponds to the required time (a series of total operating times of the robot). Further, in Patent Document 2, if the time required for the work to be performed by the robot becomes long, it becomes difficult to predict how long the user must wait until the operation of the robot is completed, which may hinder the user's action plan. It points out that there is. In this way, it is an important requirement to make it easy to grasp the required time, and improvement is constantly required.
この発明は、上記のような課題を解決するためになされたもので、従来に対してロボットの所要時間を把握し易くなる動作計画装置を提供することを目的としている。 The present invention has been made to solve the above problems, and an object of the present invention is to provide an operation planning device that makes it easier to grasp the required time of a robot as compared with the conventional one.
この発明に係る動作計画装置は、ロボットアームの動作時間又はエンドエフェクタの動作時間を受付ける受付部と、受付部により受付けられたロボットアームの動作時間を動作速度に変換する第1変換部と、受付部により受付けられたエンドエフェクタの動作時間を動作速度に変換する第2変換部と、第1変換部により変換されたロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成部と、第2変換部により変換されたエンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成部とを備えたことを特徴とする。 The operation planning device according to the present invention includes a reception unit that receives the operation time of the robot arm or the operation time of the end effector, a first conversion unit that converts the operation time of the robot arm received by the reception unit into an operation speed, and a reception unit. Based on the operating speed of the robot arm converted by the first conversion unit and the second conversion unit that converts the operating time of the end effector received by the unit into the operating speed, the first trajectory that is the operating trajectory of the robot arm. A first orbit generation unit that generates a second orbit, which is an operation orbit of the end effector, is provided based on the operation speed of the end effector converted by the second conversion unit. It is characterized by that.
この発明によれば、上記のように構成したので、従来に対してロボットの所要時間を把握し易くなる。 According to the present invention, since it is configured as described above, it becomes easier to grasp the required time of the robot as compared with the conventional case.
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は実施の形態1に係る動作計画システムの構成例を示す図である。
動作計画システムは、図1に示すように、ロボット1、ロボットコントローラ2、描画コントローラ3、入力装置4及び表示装置5を備えている。ロボット1は、ロボットアーム101及びエンドエフェクタ102を備えている。また、ロボットコントローラ2及び描画コントローラ3は、動作計画装置を構成する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1.
FIG. 1 is a diagram showing a configuration example of an operation planning system according to the first embodiment.
As shown in FIG. 1, the motion planning system includes a robot 1, a robot controller 2, a drawing controller 3, an input device 4, and a display device 5. The robot 1 includes a
ロボットアーム101は、ロボットコントローラ2による動作計画の対象となる部位である。ロボットアーム101は、例えば垂直多関節型アームである。
The
エンドエフェクタ102は、ロボットコントローラ2による動作計画の対象となる部位であり、ロボットアーム101の先端に取付けられる。エンドエフェクタ102は、例えば、処理対象物(不図示)を把持する平行二指ハンド等のロボットハンド、又は、処理対象物を吸引して保持するバキュームである。
The
なお、ロボットアーム101及びエンドエフェクタ102は、実体として現実空間に存在するものでもよいし、ソフトウェアシミュレータとしてデジタル空間のみに存在するものでもよい。
The
ロボットコントローラ2は、ロボットアーム101とエンドエフェクタ102に対して動作計画を行い、ロボットアーム101及びエンドエフェクタ102の動作を2系統で制御する装置である。ロボットコントローラ2は、図1に示すように、入出力部(受付部)201、現在値取得部(第1現在値取得部)202、状態管理部(第1状態管理部)203、変換部204、軌道生成部(第1軌道生成部)205、制御部(第1制御部)206、現在値取得部(第2現在値取得部)207、状態管理部(第2状態管理部)208、変換部209、軌道生成部(第2軌道生成部)210、制御部(第2制御部)211及び動作時間算出部212を備えている。なお、ロボットコントローラ2は、システムLSI(Large Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。
The robot controller 2 is a device that plans operations for the
入出力部201は、情報の入出力を行う。この入出力部201は、描画コントローラ3、状態管理部203、状態管理部208及び動作時間算出部212から情報を入力する。また、入出力部201は、描画コントローラ3、状態管理部203、変換部204、状態管理部208及び変換部209に対して情報を出力する。
The input /
現在値取得部202は、ロボットアーム101から第1現在値を取得する。第1現在値は、ロボットアーム101の現在の状態を示す値である。
The current
状態管理部203は、第1状態情報を管理する。第1状態情報は、入出力部201からのロボットアーム101の制約条件を示す情報と、現在値取得部202により取得された第1現在値を示す情報とを含む。ロボットアーム101の制約条件としては、例えば、ロボットアーム101の先端の速度上限及び加速度上限、ロボットアーム101が有する関節の角速度上限及び角加速度上限、並びに、ロボットアーム101の構造等が挙げられる。
The
変換部204は、入出力部201からの動作指示を示す情報に基づいて、ロボットアーム101の動作時間をロボットアーム101の動作速度に変換する。上記動作指示としては、例えば、ロボットアーム101の移動元、移動先、移動方法、移動速度制限比、動作時間及び動作開始タイミング等が挙げられる。なお、動作指示を示す情報のうちの動作時間以外の情報は、入出力部201から変換部204をそのまま通過して軌道生成部205に出力される。
The
軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、第1軌道を生成する。第1軌道は、ロボットアーム101の動作軌道である。上記動作指示としては、例えば、ロボットアーム101の移動元、移動先、移動方法、移動速度制限比、動作速度及び動作開始タイミング等が挙げられる。また、第1軌道は、制御周期毎の指令値の時系列なテーブルで表される。
The
なお、ロボットコントローラ2が実機(ロボット1)に接続されている場合には、軌道生成の始点は第1現在値となるため、軌道生成部205における軌道生成に第1現在値が必須である。
一方、ロボットコントローラ2が実機に接続されていない場合(シミュレータに接続されている場合)には、軌道生成の始点をユーザが任意に設定して動作計画を行う場合もあるため、軌道生成部205における軌道生成に第1現在値は必須ではない。
When the robot controller 2 is connected to the actual machine (robot 1), the starting point of the trajectory generation is the first current value, so that the first current value is indispensable for the trajectory generation in the
On the other hand, when the robot controller 2 is not connected to the actual machine (when it is connected to the simulator), the user may arbitrarily set the start point of the trajectory generation and perform the motion planning. Therefore, the
制御部206は、現在値取得部202により取得された第1現在値及び軌道生成部205により生成された第1軌道に基づいて、ロボットアーム101を制御する。すなわち、制御部206は、第1軌道を制御周期毎に順番に読込み、ロボットアーム101に対して指令出力又は制御を行う。
The
現在値取得部207は、エンドエフェクタ102から第2現在値を取得する。第2現在値は、エンドエフェクタ102の現在の状態を示す値である。
The current
状態管理部208は、第2状態情報を管理する。第2状態情報は、入出力部201からのエンドエフェクタ102の制約条件を示す情報と、現在値取得部207により取得された第2現在値を示す情報とを含む。エンドエフェクタ102の制約条件としては、例えば、エンドエフェクタ102の速度上限及び加速度上限、並びに、エンドエフェクタ102の構造等が挙げられる。
The
変換部209は、入出力部201からの動作指示を示す情報に基づいて、エンドエフェクタ102の動作時間をエンドエフェクタ102の動作速度に変換する。エンドエフェクタ102がロボットハンドである場合には、上記動作指示としては、例えば、ロボットハンドの始点、終点、移動速度制限比、動作時間及び動作開始タイミング等が挙げられる。また、エンドエフェクタ102がバキュームである場合には、上記動作指示としては、オン継続時間、及び動作開始タイミング等が挙げられる。なお、動作指示を示す情報のうちの動作時間以外の情報は、入出力部201から変換部209をそのまま通過して軌道生成部210に出力される。
The
軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、第2軌道を生成する。第2軌道は、エンドエフェクタ102の動作軌道である。エンドエフェクタ102がロボットハンドである場合には、上記動作指示としては、例えば、ロボットハンドの始点、終点、移動速度制限比、動作速度及び動作開始タイミング等が挙げられる。また、エンドエフェクタ102がバキュームである場合には、上記動作指示としては、オン継続時間、及び動作開始タイミング等が挙げられる。また、第2軌道は、制御周期毎の指令値の時系列なテーブルで表される。
The
なお、ロボットコントローラ2が実機(ロボット1)に接続されている場合には、軌道生成の始点は第2現在値となるため、軌道生成部210における軌道生成に第2現在値が必須である。
一方、ロボットコントローラ2が実機に接続されていない場合(シミュレータに接続されている場合)には、軌道生成の始点をユーザが任意に設定して動作計画を行う場合もあるため、軌道生成部210における軌道生成に第2現在値は必須ではない。
When the robot controller 2 is connected to the actual machine (robot 1), the starting point of the trajectory generation is the second current value, so that the second current value is indispensable for the trajectory generation in the
On the other hand, when the robot controller 2 is not connected to the actual machine (when it is connected to the simulator), the user may arbitrarily set the start point of the trajectory generation and perform the motion planning. Therefore, the
制御部211は、現在値取得部207により取得された第2現在値及び軌道生成部210により生成された第2軌道に基づいて、エンドエフェクタ102を制御する。すなわち、制御部211は、第2軌道を制御周期毎に順番に読込み、エンドエフェクタ102に対して指令出力又は制御を行う。
The
動作時間算出部212は、軌道生成部205により生成された第1軌道の動作時間及び軌道生成部210により生成された第2軌道の動作時間を算出する。この際、動作時間算出部212は、軌道生成部205により生成された第1軌道のタイムステップ数を集計することで、ロボットアーム101の動作時間を算出する。また、動作時間算出部212は、軌道生成部210により生成された第2軌道のタイムステップ数を集計することで、エンドエフェクタ102の動作時間を算出する。
The operation
描画コントローラ3は、ロボットコントローラ2での動作計画をビジュアルプログラミングで実現するための各種処理を行う。描画コントローラ3は、入出力部301及び画面生成部302を備えている。なお、描画コントローラ3は、システムLSI等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU等により実現される。
The drawing controller 3 performs various processes for realizing the operation plan of the robot controller 2 by visual programming. The drawing controller 3 includes an input /
入出力部301は、情報の入出力を行う。この入出力部301は、入力装置4及び入出力部201から情報を入力する。また、入出力部301は、入出力部201及び画面生成部302に対して情報を出力する。
The input /
画面生成部302は、入出力部301からの情報に応じ、動作指示を設定するためのビジュアルプログラミングに関する画面を生成する。この画面生成部302により生成された画面は、表示装置5に表示される。
The
例えば、画面生成部302は、ビジュアルプログラミング画面を生成する。ビジュアルプログラミング画面は、ユーザが、ロボットアーム101又はエンドエフェクタ102の動作を設定するための画面である。また、画面生成部302は、詳細動作設定画面を生成する。詳細動作設定画面は、ユーザが、ビジュアルプログラミング画面で設定したロボットアーム101又はエンドエフェクタ102の動作に対する詳細情報の設定を行うための画面である。
For example, the
入力装置4は、ユーザがロボットアーム101及びエンドエフェクタ102の動作計画を行うためのデバイスであり、ユーザから情報の入力を受付けるデバイスである。入力装置4は、例えば、マウス、キーボード又はタッチパネル等である。
The input device 4 is a device for the user to plan the operation of the
表示装置5は、ユーザがロボットアーム101及びエンドエフェクタ102の動作計画を行うためのデバイスであり、画面生成部302により生成された画面の表示等のように各種の表示を行う。表示装置5は、例えば、ディスプレイ又はタッチパネル等である。
The display device 5 is a device for the user to plan the operation of the
なお、図1に示す動作計画装置では、ユーザは、ビジュアルプログラミング方式で動作計画を行う。ビジュアルプログラミング方式は、テキストでプログラムを記述する方式ではなく、矩形又は円形等のオブジェクトを画面上に配置し、それらを矢印、線又は弧等で繋いだり、ブロック状のオブジェクトを組合わせたりすることで、視覚的にプログラムを記述する方式である。
図1に示す動作計画装置では、ビジュアルプログラミング方式を採用することで、動作の所要時間及び動作開始タイミングを容易に可視化でき、ユーザは、総動作時間が短くなるようなプログラムを記述し易くなる。
In the motion planning device shown in FIG. 1, the user performs motion planning by a visual programming method. The visual programming method is not a method of writing a program in text, but placing objects such as rectangles or circles on the screen, connecting them with arrows, lines or arcs, or combining block-shaped objects. This is a method of visually writing a program.
In the motion planning device shown in FIG. 1, by adopting the visual programming method, the required operation time and the operation start timing can be easily visualized, and the user can easily write a program that shortens the total operation time.
一般的に、ロボットアーム101とエンドエフェクタ102に対して動作計画を行う場合、ユーザは動作速度を設定する。一方、ロボットアーム101及びエンドエフェクタ102の動作は加減速を含むため、単純に速度と動作範囲だけで単一動作の所要時間が確定するわけではない。そのため、従来手法では、ユーザは動作計画を行った動作(実動作)の所要時間を把握することが難しい。ユーザが動作の所要時間を把握できなければ、ロボットアーム101とエンドエフェクタ102の動作開始タイミングを把握できず、総動作時間を把握するための支障要因になる。
そこで、実施の形態1に係る動作計画装置では、所要時間を把握し易くするために、ロボットアーム101とエンドエフェクタ102の動作の所要時間及び動作開始タイミングを可視化し、動作の所要時間と動作開始タイミングをユーザが指定(編集)可能とする。これにより、実施の形態1に係る動作計画装置では、ユーザが所要時間を把握し易くなる。
Generally, when planning an operation for the
Therefore, in the motion planning device according to the first embodiment, in order to make it easier to grasp the required time, the required time and the operation start timing of the operation of the
なお以下では、ロボットアーム101とエンドエフェクタ102とを独立した2つのシーケンスで動作させることができる場合で説明を行う。この場合、1つのシーケンスでロボットアーム101とエンドエフェクタ102とを交互に動作させる場合よりも総動作時間を短縮できる。しかしながら、これに限らず、1つのシーケンスでロボットアーム101とエンドエフェクタ102とを交互に動作させる場合にも実施の形態1に係る動作計画装置を適用可能である。
In the following, a case where the
次に、画面生成部302により生成されるビジュアルプログラミングに関する画面の一例について説明する。
画面生成部302は、まず、ユーザ操作に応じ、ビジュアルプログラミング画面を生成する。図2に、ビジュアルプログラミング画面の一例を示す。図2に示すビジュアルプログラミング画面には、制御タイムライン21及び制御タイムライン22が上下並列に表示されている。また、図2に示すビジュアルプログラミング画面には、左下に、動作オブジェクト23が表示されている。また、図2に示すビジュアルプログラミング画面には、右下に、設定完了ボタン24が表示されている。
Next, an example of a screen related to visual programming generated by the
The
制御タイムライン21は、ロボットアーム101の動作オブジェクト23aを時系列に並べるための時間軸である。制御タイムライン21では、左端を制御開始時刻とし、任意のタイムスケールで表示される。
The
制御タイムライン22は、エンドエフェクタ102の動作オブジェクト23bを時系列に並べるための時間軸である。制御タイムライン22では、左端を制御開始時刻とし、任意のタイムスケールで表示される。
なお、タイムスケールは、制御タイムライン21と制御タイムライン22とで連動しており、他方だけを変更することはできない。
The
The time scale is linked with the
動作オブジェクト23は、ロボットアーム101又はエンドエフェクタ102の一動作を表す矩形のオブジェクトである。動作オブジェクト23の左端の位置が動作の開始時刻を表し、右端の位置が動作の終了時刻を表し、動作オブジェクト23の長さが動作時間を表す。
The
そして、ユーザは、ビジュアルプログラミング画面を用いてロボットアーム101及びエンドエフェクタ102の動作計画を行う。この動作計画は、動作オブジェクト23の配置、動作オブジェクト23が示す動作の詳細情報の設定、動作オブジェクト23の位置編集、及び、動作オブジェクト23の長さ編集という手順で実現される。
Then, the user plans the operation of the
まず、図2,3に示すように、ユーザは、所定の手続きにより、任意のタイムライン(制御タイムライン21又は制御タイムライン22)上に動作オブジェクト23を配置する。この際、ユーザは、例えば、マウスを用いて任意のタイムライン上に動作オブジェクト23をドラッグアンドドロップすることで、任意のタイムライン上に動作オブジェクト23を配置する。図3に示すビジュアルプログラミング画面では、制御タイムライン21上に動作オブジェクト23aが配置されている。なお図3において、符号25はカーソルを示している。
First, as shown in FIGS. 2 and 3, the user arranges the
次に、ユーザは、所定の手続きにより、配置した動作オブジェクト23が示す動作の詳細情報を設定する。この際、例えば、任意のタイムライン上に動作オブジェクト23が配置されることで、画面生成部302は、自動的に、当該動作オブジェクト23が示す動作の詳細情報を設定するための詳細動作設定画面を生成する。そして、ユーザは、マウスによる選択又はキーボードによる数値入力等によって、上記動作の詳細情報を設定する。
以下、ロボットアーム101及びエンドエフェクタ102の動作の詳細情報について説明する。
Next, the user sets detailed information of the operation indicated by the arranged
Hereinafter, detailed information on the operation of the
まず、ロボットアーム101の動作の詳細情報について説明する。
例えばロボットアーム101が6つの関節から成る垂直多関節型アームである場合、ロボットアーム101の状態は各関節の角度により一意に決定される。この際、各関節の角度を表す座標系を関節座標系と呼ぶ。また、ロボットアーム101の状態は、ベース座標系又はワールド座標系等のように、様々な座標系で表現可能である。ベース座標系は、デカルト空間におけるロボットアーム101の先端の位置及び姿勢を表す座標系である。ワールド座標系は、デカルト空間における任意の座標系を基準とし、ロボットアーム101の先端の位置及び姿勢を表す座標系である。そして、ユーザは、これらの座標系のうちの任意の座標系を用い、ロボットアーム101の動作の始点となる状態と動作の終点となる状態とを、ロボットアーム101の動作の詳細情報として設定する。
First, detailed information on the operation of the
For example, when the
また、ロボットアーム101の動作の場合、動作の始点となる状態から動作の終点となる状態までをどのように補間するのかを指定する必要がある。この補間方法としては、例えば、関節補間又は直線補間が挙げられる。関節補間は、関節座標系で始点と終点とを線形補間する方法である。直線補間は、デカルト空間で始点と終点とを線形補間する方法である。始点と終点が同じ且つ制約条件が同じ場合でも、関節補間と直線補間とでは各関節の動きが異なるため、動作時間は異なる。そのため、ロボットアーム101の動作の場合には、ユーザは、軌道の種類(補間方法の種類)を詳細情報として設定する。
Further, in the case of the operation of the
図4に、ロボットアーム101の動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。図4では、ロボットアーム101が6つの関節から成る垂直多関節型アームである場合を想定している。
図4に示すように、詳細動作設定画面には、ロボットアーム101の始点及び終点、並びに、軌道の種類を設定するための項目がそれぞれ設けられている。
FIG. 4 shows an example of a detailed operation setting screen (dialog) for setting detailed information on the operation of the
As shown in FIG. 4, the detailed operation setting screen is provided with items for setting the start point and end point of the
図4に示す詳細動作設定画面において、ユーザがロボットアーム101の始点と終点を設定する場合、ユーザは、まず、マウスを用いて座標系リストボックス41,42から任意の座標系を選択する。図4では、ユーザにより関節座標系が選択された場合を示している。
When the user sets the start point and the end point of the
そして、ユーザにより座標系が選択されると、画面生成部302は、座標系リストボックス41,42の右横に、当該座標系に応じて必要な数のテキストボックス43,44を表示する。図4に示す詳細動作設定画面では、関節座標系が選択されているため、各関節の角度を入力可能な6つのテキストボックス43,44が表示される。
そして、ユーザは、マウスを用いてテキストボックス43,44をクリックし、キーボードで角度を数値で入力する。
Then, when the coordinate system is selected by the user, the
Then, the user clicks the
なお、ユーザによりベース座標系又はワールド座標系等のデカルト空間における座標系が選択された場合、画面生成部302は、ロボットアーム101の先端の位置(X座標、Y座標、Z座標)と姿勢(オイラー角:ロール、ピッチ、ヨー)を入力可能な6つのテキストボックス43,44を表示する。又は、ユーザによりベース座標系又はワールド座標系等のデカルト空間における座標系が選択された場合、画面生成部302は、ロボットアーム101の先端の位置(X座標、Y座標、Z座標)と姿勢(四元数:x,y,z,w)を入力可能な7つのテキストボックス43,44を表示する。
When the user selects a coordinate system in a Cartesian space such as a base coordinate system or a world coordinate system, the
そして、ユーザが軌道の種類を設定する場合、ユーザは、マウスを用いて所望の軌道の種類のラジオボタン45,46を選択する。
そして、全項目の入力が完了した後、ユーザは設定完了ボタン47を選択する。これにより、ロボットアーム101の動作の詳細設定が完了する。
Then, when the user sets the type of orbit, the user selects the
Then, after the input of all the items is completed, the user selects the setting completion button 47. This completes the detailed setting of the operation of the
次に、エンドエフェクタ102の動作の詳細情報について説明する。
例えばエンドエフェクタ102が平行二指ハンドである場合、平行二指ハンドの状態は二指の距離又は開度により一意に決定される。そして、ユーザは、平行二指ハンドの動作の始点となる状態と動作の終点となる状態とを、二指の距離又は開度を用いて、平行二指ハンドの動作の詳細情報として設定する。
Next, detailed information on the operation of the
For example, when the
図5に、平行二指ハンドの動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。
図5に示すように、詳細動作設定画面には、平行二指ハンドの始点と終点を設定するための項目がそれぞれ設けられている。
FIG. 5 shows an example of a detailed operation setting screen (dialog) for setting detailed information on the operation of the parallel two-finger hand.
As shown in FIG. 5, the detailed operation setting screen is provided with items for setting the start point and the end point of the parallel two-finger hand, respectively.
図5に示す詳細動作設定画面において、ユーザが平行二指ハンドの始点と終点を設定する場合、ユーザは、マウスを用いてテキストボックス51,52をクリックし、キーボードで二指の距離又は開度を数値で入力する。
そして、全項目の入力が完了した後、ユーザは、設定完了ボタン53を選択する。これにより、平行二指ハンドの動作の詳細設定が完了する。
In the detailed operation setting screen shown in FIG. 5, when the user sets the start point and the end point of the parallel two-finger hand, the user clicks the
Then, after the input of all the items is completed, the user selects the
また例えばエンドエフェクタ102がバキュームである場合、バキュームの状態はバキュームのオン及びオフにより一意に決定される。そして、ユーザは、バキュームの動作の始点となる状態と動作の終点となる状態とを、バキュームのオン継続時間を用いて、バキュームの動作の詳細情報として設定する。
Further, for example, when the
図6に、バキュームの動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。
図6に示すように、詳細動作設定画面には、バキュームのオン継続時間を設定するための項目が設けられている。
FIG. 6 shows an example of a detailed operation setting screen (dialog) for setting detailed information of the vacuum operation.
As shown in FIG. 6, the detailed operation setting screen is provided with an item for setting the on duration of the vacuum.
図6に示す詳細動作設定画面において、ユーザがバキュームのオン継続時間を設定する場合、ユーザは、マウスを用いてテキストボックス61をクリックし、キーボードでバキュームのオン継続時間を数値で入力する。
そして、上記項目の入力が完了した後、ユーザは、設定完了ボタン62を選択する。これにより、バキュームの動作の詳細設定が完了する。
When the user sets the vacuum on duration on the detailed operation setting screen shown in FIG. 6, the user clicks the text box 61 with the mouse and inputs the vacuum on duration numerically with the keyboard.
Then, after the input of the above items is completed, the user selects the
ユーザにより詳細情報が設定されると、軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、動作時間がデフォルト値の場合での第1軌道を生成する。同様に、軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、動作時間がデフォルト値の場合での第2軌道を生成する。また、画面生成部302は、ビジュアルプログラム画面に表示されている該当する動作オブジェクト23の長さ(動作時間)をデフォルト値に変化させる。
When the detailed information is set by the user, the
例えば、ロボットアーム101の動作オブジェクト23の長さのデフォルト値は、制約条件下で軌道生成を行った際の動作時間に対応する。この際の制約条件は、例えば、ロボットアーム101の先端の速度上限又は加速度上限、或いは、ロボットアーム101が有する関節の角速度上限又は角加速度上限である。また、ロボットアーム101の動作時間は動作時間算出部212により算出される。
For example, the default value of the length of the
また例えば、平行二指ハンドの動作オブジェクト23の長さのデフォルト値は、制約条件下で軌道生成を行った際の動作時間に対応する。この際の制約条件は、ロボットハンドの速度上限又は加速度上限である。また、平行二指ハンドの動作時間は動作時間算出部212により算出される。
Further, for example, the default value of the length of the
また例えば、バキュームの動作オブジェクト23の長さのデフォルト値は、既定の固定値とする。
Further, for example, the default value of the length of the
次に、図7に示すように、ユーザは、所定の手続きにより、任意のタイムライン上の任意の動作オブジェクト23を左右にずらし、動作開始タイミングを編集する。この際、ユーザは、例えば、マウスを用いて、任意の動作オブジェクト23をクリックし、その状態のまま左右に移動させて所望の位置で離すことで、動作オブジェクト23を左右にずらす。又は、ユーザは、例えば、専用のダイアログを呼び出し、キーボードにより数値を入力することで、動作オブジェクト23を左右にずらしてもよい。
Next, as shown in FIG. 7, the user shifts an
次に、図8に示すように、ユーザは、所定の手続きにより、任意のタイムライン上の任意の動作オブジェクト23の長さを編集し、動作時間を編集する。この際、ユーザは、例えば、マウスを用いて、任意の動作オブジェクト23の端部(右端又は左端)にカーソル25を合わせ、カーソル25が両矢印26に変化した後にクリックし、その状態のまま左右に移動させて所望の位置で離すことで、動作オブジェクト23の長さを編集する。又は、ユーザは、例えば、専用のダイアログを呼び出し、キーボードにより数値を入力することで、動作オブジェクト23の長さを編集してもよい。
但し、動作オブジェクト23の長さのデフォルト値は、動作を上限値で実行した際の時間に相当する。そのため、動作オブジェクト23の長さは、デフォルト値よりも短くすることはできない。
Next, as shown in FIG. 8, the user edits the length of an
However, the default value of the length of the
既存のロボットアーム101の軌道生成ロジックでは、最大角速度、最大角加速度及びロボットアーム101の先端の速度の制約に加えて、ユーザが設定した速度制限比を制約として軌道を生成している。エンドエフェクタ102の軌道生成ロジックも同様である。軌道生成ロジックについては、非特許文献「ロボティクス」John J. Craig著(共立出版)に記載されているほか、オープンソースのソフトウェアフレームワーク「MoveIt!」が提供され広く利用されているため、説明は省略する。
In the trajectory generation logic of the existing
それに対し、実施の形態1に係る動作計画装置では、ユーザが、速度制限比ではなく動作時間を設定又は編集可能とする。ユーザが編集した動作時間であるtは、デフォルトの動作時間であるtd以上のため、動作時間比であるt/tdは1.0以上となる。すなわち、動作時間比の逆数が速度制限比であり、速度制限比は1.0以下の値をとる。よって、例えば動作時間がt=tdの場合は速度制限比を1.0として軌道生成することに相当する。また、例えば動作時間がt=2.0×tdの場合は速度制限比を0.5として軌道生成することに相当する。 On the other hand, in the motion planning device according to the first embodiment, the user can set or edit the motion time instead of the speed limit ratio. Since t, which is the operating time edited by the user, is t d or more, which is the default operating time, t / t d, which is the operating time ratio, is 1.0 or more. That is, the reciprocal of the operating time ratio is the speed limit ratio, and the speed limit ratio takes a value of 1.0 or less. Therefore, for example, when the operating time is t = t d , it corresponds to the orbit generation with the speed limit ratio set to 1.0. Further, for example, when the operation time is t = 2.0 × t d , it corresponds to the orbit generation with the speed limit ratio set to 0.5.
また、変換部204及び変換部209は、ユーザが設定した時間であるtをデフォルトの動作時間であるtdで正規化し逆数をとることで速度制限比を求める役割をもつ。変換部204及び変換部209を用いることで、実施の形態1に係る動作計画装置は、既存の軌道生成ロジックを変更することなく軌道を生成できる。
Further, the
その後、ユーザは、設定完了ボタン24を選択する。これにより、ロボットアーム101及びエンドエフェクタ102の動作計画が完了する。すなわち、軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、ユーザにより編集された動作開始タイミング及び動作時間での第1軌道を生成する。同様に、軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、ユーザにより編集された動作開始タイミング及び動作時間での第2軌道を生成する。
After that, the user selects the
なお、図1に示す動作計画装置では、ユーザがビジュアルプログラミング方式で動作計画を実施可能に構成された場合を示した。しかしながら、これに限らず、動作計画装置は、ユーザがテキスト方式で動作計画を実施可能に構成されていてもよい。 In the motion planning device shown in FIG. 1, a case is shown in which a user can execute a motion plan by a visual programming method. However, the present invention is not limited to this, and the motion planning device may be configured so that the user can execute the motion planning in a text method.
また上記では、エンドエフェクタ102としてロボットハンド又はバキュームを用いた場合を示した。しかしながら、これに限らず、エンドエフェクタ102として例えば電動ドリルを用いてもよい。この場合、例えば、動作計画装置により、ロボットアーム101を下方に下げながら電動ドリルを回すような動作計画を行うことも可能であり、ロボット1はネジ締めを容易に実施可能となる。
Further, in the above, the case where the robot hand or the vacuum is used as the
以上のように、この実施の形態1によれば、動作計画装置は、ロボットアーム101の動作時間又はエンドエフェクタ102の動作時間を受付ける入出力部201と、入出力部201により受付けられたロボットアーム101の動作時間を動作速度に変換する変換部204と、入出力部201により受付けられたエンドエフェクタ102の動作時間を動作速度に変換する変換部209と、変換部204により変換されたロボットアーム101の動作速度に基づいて、当該ロボットアーム101の動作軌道である第1軌道を生成する軌道生成部205と、変換部209により変換されたエンドエフェクタ102の動作速度に基づいて、当該エンドエフェクタ102の動作軌道である第2軌道を生成する軌道生成部210とを備えた。これにより、実施の形態1に係る動作計画装置は、従来に対してロボット1の所要時間を把握し易くなる。
As described above, according to the first embodiment, the operation planning device includes the input /
実施の形態2.
実施の形態1に係る動作計画装置では、ロボットコントローラ2を単一とし、入出力部201及び動作時間算出部212をロボットアーム101とエンドエフェクタ102とで共通とした場合を示した。しかしながら、これに限らず、ロボットアーム101とエンドエフェクタ102の制御は別系統であるため、例えば図9に示すように、ロボットアーム101用のロボットコントローラ2aとエンドエフェクタ102用のロボットコントローラ2bを用い、ロボットアーム101とエンドエフェクタ102とで独立させた入出力部201a,201b及び動作時間算出部212a,212bを用いてもよい。
Embodiment 2.
In the motion planning device according to the first embodiment, the case where the robot controller 2 is unified and the input /
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。 In the present invention, within the scope of the invention, it is possible to freely combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. is there.
1 ロボット
2,2a,2b ロボットコントローラ
3 描画コントローラ
4 入力装置
5 表示装置
101 ロボットアーム
102 エンドエフェクタ
201,201a,201b 入出力部(受付部)
202 現在値取得部(第1現在値取得部)
203 状態管理部(第1状態管理部)
204 変換部
205 軌道生成部(第1軌道生成部)
206 制御部(第1制御部)
207 現在値取得部(第2現在値取得部)
208 状態管理部(第2状態管理部)
209 変換部
210 軌道生成部(第2軌道生成部)
211 制御部(第2制御部)
212,212a,212b 動作時間算出部
301 入出力部
302 画面生成部
1
202 Current value acquisition unit (1st current value acquisition unit)
203 State management department (1st state management department)
204
206 Control unit (1st control unit)
207 Current value acquisition unit (second current value acquisition unit)
208 State Management Department (Second State Management Department)
209
211 Control unit (second control unit)
212, 212a, 212b Operating
Claims (6)
前記受付部により受付けられた前記ロボットアームの動作時間を動作速度に変換する第1変換部と、
前記受付部により受付けられた前記エンドエフェクタの動作時間を動作速度に変換する第2変換部と、
前記第1変換部により変換された前記ロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成部と、
前記第2変換部により変換された前記エンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成部と
を備えた動作計画装置。 A reception unit that receives the operating time of the robot arm or the operating time of the end effector,
A first conversion unit that converts the operation time of the robot arm received by the reception unit into an operation speed, and
A second conversion unit that converts the operation time of the end effector received by the reception unit into an operation speed, and
A first trajectory generating unit that generates a first trajectory, which is an operating trajectory of the robot arm, based on the operating speed of the robot arm converted by the first conversion unit.
An operation planning device including a second trajectory generation unit that generates a second trajectory, which is an operation trajectory of the end effector, based on the operation speed of the end effector converted by the second conversion unit.
前記第2軌道生成部は、動作指示及び前記エンドエフェクタの制約条件に基づいて、第2軌道を生成する
ことを特徴とする請求項1記載の動作計画装置。 The first trajectory generating unit generates a first trajectory based on the operation instruction and the constraint conditions of the robot arm.
The operation planning apparatus according to claim 1, wherein the second orbit generation unit generates a second orbit based on an operation instruction and a constraint condition of the end effector.
ことを特徴とする請求項2記載の動作計画装置。 The operation planning apparatus according to claim 2, wherein the operation instruction includes an operation start timing.
ことを特徴とする請求項2又は請求項3記載の動作計画装置。 The operation planning apparatus according to claim 2 or 3, further comprising a screen generation unit that generates a screen related to visual programming for setting an operation instruction.
ことを特徴とする請求項1から請求項4のうちの何れか1項記載の動作計画装置。 The operation planning device according to any one of claims 1 to 4, wherein the end effector is a robot hand that grips an object to be processed.
前記受付ステップにおいて受付けた前記ロボットアームの動作時間を動作速度に変換する第1変換ステップと、
前記受付ステップにおいて受付けた前記エンドエフェクタの動作時間を動作速度に変換する第2変換ステップと、
前記第1変換ステップにおいて変換した前記ロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成ステップと、
前記第2変換ステップにおいて変換した前記エンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成ステップと
を有する動作計画方法。 A reception step that accepts the operating time of the robot arm or the operating time of the end effector,
The first conversion step of converting the operation time of the robot arm received in the reception step into an operation speed, and
A second conversion step of converting the operation time of the end effector received in the reception step into an operation speed, and
A first trajectory generation step that generates a first trajectory, which is an operation trajectory of the robot arm, based on the operating speed of the robot arm converted in the first conversion step.
An operation planning method including a second trajectory generation step for generating a second trajectory, which is an operation trajectory of the end effector, based on the operation speed of the end effector converted in the second conversion step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019079252A JP2020175474A (en) | 2019-04-18 | 2019-04-18 | Operation planning device and operation planning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019079252A JP2020175474A (en) | 2019-04-18 | 2019-04-18 | Operation planning device and operation planning method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020175474A true JP2020175474A (en) | 2020-10-29 |
Family
ID=72935588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019079252A Pending JP2020175474A (en) | 2019-04-18 | 2019-04-18 | Operation planning device and operation planning method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020175474A (en) |
-
2019
- 2019-04-18 JP JP2019079252A patent/JP2020175474A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6343353B2 (en) | Robot motion program generation method and robot motion program generation device | |
Mateo et al. | Hammer: An Android based application for end-user industrial robot programming | |
JP5911933B2 (en) | Robot system for setting the robot motion monitoring area | |
JP2019084664A (en) | Programming assist device, robot system, and program generating method | |
JP2006289531A (en) | Movement control device for teaching robot position, teaching device of robot position, movement control method for teaching robot position, teaching method for robot position, and movement control program for teaching robot position | |
CN109551485B (en) | Motion control method, device and system and storage medium | |
JP2010137298A (en) | Method of preparing working program for double arm robot | |
US20170197308A1 (en) | Teaching data generating device and teaching data-generating method for work robot | |
KR101876845B1 (en) | Robot control apparatus | |
US10507585B2 (en) | Robot system that displays speed | |
JP2009190113A (en) | Robot simulation device | |
CN109807896B (en) | Motion control method and system, control device, and storage medium | |
CN110000753B (en) | User interaction method, control device and storage medium | |
CN109807898B (en) | Motion control method, control device, and storage medium | |
JPS6179589A (en) | Operating device for robot | |
JPH10124130A (en) | Assembling device | |
JP2019171498A (en) | Robot program execution device, robot program execution method and program | |
JP2020175474A (en) | Operation planning device and operation planning method | |
JP2020175473A (en) | Operation planning device and operation planning method | |
Mousavi Mohammadi et al. | A real-time impedance-based singularity and joint-limits avoidance approach for manual guidance of industrial robots | |
JPH06134684A (en) | Teaching method of robot track | |
CN110198812B (en) | Method and device for selecting an initial point for industrial robot commissioning | |
WO2020059342A1 (en) | Robot simulator | |
JP2010179388A (en) | Robot teaching system | |
WO2023144892A1 (en) | Control device |