JP2020175474A - 動作計画装置及び動作計画方法 - Google Patents
動作計画装置及び動作計画方法 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
Landscapes
- Manipulator (AREA)
Abstract
【課題】従来に対してロボットの所要時間を把握し易くする。【解決手段】ロボットアーム101の動作時間又はエンドエフェクタ102の動作時間を受付ける入出力部201と、入出力部201により受付けられたロボットアーム101の動作時間を動作速度に変換する第1変換部と、入出力部201により受付けられたエンドエフェクタ102の動作時間を動作速度に変換する第2変換部と、第1変換部により変換されたロボットアーム101の動作速度に基づいて、当該ロボットアーム101の動作軌道である第1軌道を生成する軌道生成部205と、第2変換部により変換されたエンドエフェクタ102の動作速度に基づいて、当該エンドエフェクタ102の動作軌道である第2軌道を生成する軌道生成部210とを備えた。【選択図】図1
Description
この発明は、ロボットアームとエンドエフェクタの動作を計画する動作計画装置及び動作計画方法に関する。
従来から、ロボットアームと、ロボットハンド等のエンドエフェクタとを備えたロボット(産業用ロボット)が、FA(Factory Automation)用途等で広く活用されている(例えば特許文献1参照)。
このようなロボットアーム又はエンドエフェクタの動作を、ロボットが備えるコントローラに対してユーザ(オペレータ)が指定する場合、動作指令生成装置(動作計画装置)を使用する(例えば特許文献2参照)。
このようなロボットアーム又はエンドエフェクタの動作を、ロボットが備えるコントローラに対してユーザ(オペレータ)が指定する場合、動作指令生成装置(動作計画装置)を使用する(例えば特許文献2参照)。
特許文献2では、ロボットの動作を完了するまでの待機時間をユーザが把握可能な動作指令により、ロボットを制御することを目的としている。なお、待機時間とは、実質的に所要時間(ロボットの一連の総動作時間)に相当する。そして、特許文献2では、ロボットに行わせる作業の所要時間が長くなると、ロボットの動作が完了するまでユーザがどの程度待たなければならないのかの予測が困難となり、ユーザの行動計画に支障をきたすおそれがあると指摘している。このように、所要時間を把握し易くすることが重要な要求事項であり、常に改善が求められている。
この発明は、上記のような課題を解決するためになされたもので、従来に対してロボットの所要時間を把握し易くなる動作計画装置を提供することを目的としている。
この発明に係る動作計画装置は、ロボットアームの動作時間又はエンドエフェクタの動作時間を受付ける受付部と、受付部により受付けられたロボットアームの動作時間を動作速度に変換する第1変換部と、受付部により受付けられたエンドエフェクタの動作時間を動作速度に変換する第2変換部と、第1変換部により変換されたロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成部と、第2変換部により変換されたエンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成部とを備えたことを特徴とする。
この発明によれば、上記のように構成したので、従来に対してロボットの所要時間を把握し易くなる。
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は実施の形態1に係る動作計画システムの構成例を示す図である。
動作計画システムは、図1に示すように、ロボット1、ロボットコントローラ2、描画コントローラ3、入力装置4及び表示装置5を備えている。ロボット1は、ロボットアーム101及びエンドエフェクタ102を備えている。また、ロボットコントローラ2及び描画コントローラ3は、動作計画装置を構成する。
実施の形態1.
図1は実施の形態1に係る動作計画システムの構成例を示す図である。
動作計画システムは、図1に示すように、ロボット1、ロボットコントローラ2、描画コントローラ3、入力装置4及び表示装置5を備えている。ロボット1は、ロボットアーム101及びエンドエフェクタ102を備えている。また、ロボットコントローラ2及び描画コントローラ3は、動作計画装置を構成する。
ロボットアーム101は、ロボットコントローラ2による動作計画の対象となる部位である。ロボットアーム101は、例えば垂直多関節型アームである。
エンドエフェクタ102は、ロボットコントローラ2による動作計画の対象となる部位であり、ロボットアーム101の先端に取付けられる。エンドエフェクタ102は、例えば、処理対象物(不図示)を把持する平行二指ハンド等のロボットハンド、又は、処理対象物を吸引して保持するバキュームである。
なお、ロボットアーム101及びエンドエフェクタ102は、実体として現実空間に存在するものでもよいし、ソフトウェアシミュレータとしてデジタル空間のみに存在するものでもよい。
ロボットコントローラ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)等により実現される。
入出力部201は、情報の入出力を行う。この入出力部201は、描画コントローラ3、状態管理部203、状態管理部208及び動作時間算出部212から情報を入力する。また、入出力部201は、描画コントローラ3、状態管理部203、変換部204、状態管理部208及び変換部209に対して情報を出力する。
現在値取得部202は、ロボットアーム101から第1現在値を取得する。第1現在値は、ロボットアーム101の現在の状態を示す値である。
状態管理部203は、第1状態情報を管理する。第1状態情報は、入出力部201からのロボットアーム101の制約条件を示す情報と、現在値取得部202により取得された第1現在値を示す情報とを含む。ロボットアーム101の制約条件としては、例えば、ロボットアーム101の先端の速度上限及び加速度上限、ロボットアーム101が有する関節の角速度上限及び角加速度上限、並びに、ロボットアーム101の構造等が挙げられる。
変換部204は、入出力部201からの動作指示を示す情報に基づいて、ロボットアーム101の動作時間をロボットアーム101の動作速度に変換する。上記動作指示としては、例えば、ロボットアーム101の移動元、移動先、移動方法、移動速度制限比、動作時間及び動作開始タイミング等が挙げられる。なお、動作指示を示す情報のうちの動作時間以外の情報は、入出力部201から変換部204をそのまま通過して軌道生成部205に出力される。
軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、第1軌道を生成する。第1軌道は、ロボットアーム101の動作軌道である。上記動作指示としては、例えば、ロボットアーム101の移動元、移動先、移動方法、移動速度制限比、動作速度及び動作開始タイミング等が挙げられる。また、第1軌道は、制御周期毎の指令値の時系列なテーブルで表される。
なお、ロボットコントローラ2が実機(ロボット1)に接続されている場合には、軌道生成の始点は第1現在値となるため、軌道生成部205における軌道生成に第1現在値が必須である。
一方、ロボットコントローラ2が実機に接続されていない場合(シミュレータに接続されている場合)には、軌道生成の始点をユーザが任意に設定して動作計画を行う場合もあるため、軌道生成部205における軌道生成に第1現在値は必須ではない。
一方、ロボットコントローラ2が実機に接続されていない場合(シミュレータに接続されている場合)には、軌道生成の始点をユーザが任意に設定して動作計画を行う場合もあるため、軌道生成部205における軌道生成に第1現在値は必須ではない。
制御部206は、現在値取得部202により取得された第1現在値及び軌道生成部205により生成された第1軌道に基づいて、ロボットアーム101を制御する。すなわち、制御部206は、第1軌道を制御周期毎に順番に読込み、ロボットアーム101に対して指令出力又は制御を行う。
現在値取得部207は、エンドエフェクタ102から第2現在値を取得する。第2現在値は、エンドエフェクタ102の現在の状態を示す値である。
状態管理部208は、第2状態情報を管理する。第2状態情報は、入出力部201からのエンドエフェクタ102の制約条件を示す情報と、現在値取得部207により取得された第2現在値を示す情報とを含む。エンドエフェクタ102の制約条件としては、例えば、エンドエフェクタ102の速度上限及び加速度上限、並びに、エンドエフェクタ102の構造等が挙げられる。
変換部209は、入出力部201からの動作指示を示す情報に基づいて、エンドエフェクタ102の動作時間をエンドエフェクタ102の動作速度に変換する。エンドエフェクタ102がロボットハンドである場合には、上記動作指示としては、例えば、ロボットハンドの始点、終点、移動速度制限比、動作時間及び動作開始タイミング等が挙げられる。また、エンドエフェクタ102がバキュームである場合には、上記動作指示としては、オン継続時間、及び動作開始タイミング等が挙げられる。なお、動作指示を示す情報のうちの動作時間以外の情報は、入出力部201から変換部209をそのまま通過して軌道生成部210に出力される。
軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、第2軌道を生成する。第2軌道は、エンドエフェクタ102の動作軌道である。エンドエフェクタ102がロボットハンドである場合には、上記動作指示としては、例えば、ロボットハンドの始点、終点、移動速度制限比、動作速度及び動作開始タイミング等が挙げられる。また、エンドエフェクタ102がバキュームである場合には、上記動作指示としては、オン継続時間、及び動作開始タイミング等が挙げられる。また、第2軌道は、制御周期毎の指令値の時系列なテーブルで表される。
なお、ロボットコントローラ2が実機(ロボット1)に接続されている場合には、軌道生成の始点は第2現在値となるため、軌道生成部210における軌道生成に第2現在値が必須である。
一方、ロボットコントローラ2が実機に接続されていない場合(シミュレータに接続されている場合)には、軌道生成の始点をユーザが任意に設定して動作計画を行う場合もあるため、軌道生成部210における軌道生成に第2現在値は必須ではない。
一方、ロボットコントローラ2が実機に接続されていない場合(シミュレータに接続されている場合)には、軌道生成の始点をユーザが任意に設定して動作計画を行う場合もあるため、軌道生成部210における軌道生成に第2現在値は必須ではない。
制御部211は、現在値取得部207により取得された第2現在値及び軌道生成部210により生成された第2軌道に基づいて、エンドエフェクタ102を制御する。すなわち、制御部211は、第2軌道を制御周期毎に順番に読込み、エンドエフェクタ102に対して指令出力又は制御を行う。
動作時間算出部212は、軌道生成部205により生成された第1軌道の動作時間及び軌道生成部210により生成された第2軌道の動作時間を算出する。この際、動作時間算出部212は、軌道生成部205により生成された第1軌道のタイムステップ数を集計することで、ロボットアーム101の動作時間を算出する。また、動作時間算出部212は、軌道生成部210により生成された第2軌道のタイムステップ数を集計することで、エンドエフェクタ102の動作時間を算出する。
描画コントローラ3は、ロボットコントローラ2での動作計画をビジュアルプログラミングで実現するための各種処理を行う。描画コントローラ3は、入出力部301及び画面生成部302を備えている。なお、描画コントローラ3は、システムLSI等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU等により実現される。
入出力部301は、情報の入出力を行う。この入出力部301は、入力装置4及び入出力部201から情報を入力する。また、入出力部301は、入出力部201及び画面生成部302に対して情報を出力する。
画面生成部302は、入出力部301からの情報に応じ、動作指示を設定するためのビジュアルプログラミングに関する画面を生成する。この画面生成部302により生成された画面は、表示装置5に表示される。
例えば、画面生成部302は、ビジュアルプログラミング画面を生成する。ビジュアルプログラミング画面は、ユーザが、ロボットアーム101又はエンドエフェクタ102の動作を設定するための画面である。また、画面生成部302は、詳細動作設定画面を生成する。詳細動作設定画面は、ユーザが、ビジュアルプログラミング画面で設定したロボットアーム101又はエンドエフェクタ102の動作に対する詳細情報の設定を行うための画面である。
入力装置4は、ユーザがロボットアーム101及びエンドエフェクタ102の動作計画を行うためのデバイスであり、ユーザから情報の入力を受付けるデバイスである。入力装置4は、例えば、マウス、キーボード又はタッチパネル等である。
表示装置5は、ユーザがロボットアーム101及びエンドエフェクタ102の動作計画を行うためのデバイスであり、画面生成部302により生成された画面の表示等のように各種の表示を行う。表示装置5は、例えば、ディスプレイ又はタッチパネル等である。
なお、図1に示す動作計画装置では、ユーザは、ビジュアルプログラミング方式で動作計画を行う。ビジュアルプログラミング方式は、テキストでプログラムを記述する方式ではなく、矩形又は円形等のオブジェクトを画面上に配置し、それらを矢印、線又は弧等で繋いだり、ブロック状のオブジェクトを組合わせたりすることで、視覚的にプログラムを記述する方式である。
図1に示す動作計画装置では、ビジュアルプログラミング方式を採用することで、動作の所要時間及び動作開始タイミングを容易に可視化でき、ユーザは、総動作時間が短くなるようなプログラムを記述し易くなる。
図1に示す動作計画装置では、ビジュアルプログラミング方式を採用することで、動作の所要時間及び動作開始タイミングを容易に可視化でき、ユーザは、総動作時間が短くなるようなプログラムを記述し易くなる。
一般的に、ロボットアーム101とエンドエフェクタ102に対して動作計画を行う場合、ユーザは動作速度を設定する。一方、ロボットアーム101及びエンドエフェクタ102の動作は加減速を含むため、単純に速度と動作範囲だけで単一動作の所要時間が確定するわけではない。そのため、従来手法では、ユーザは動作計画を行った動作(実動作)の所要時間を把握することが難しい。ユーザが動作の所要時間を把握できなければ、ロボットアーム101とエンドエフェクタ102の動作開始タイミングを把握できず、総動作時間を把握するための支障要因になる。
そこで、実施の形態1に係る動作計画装置では、所要時間を把握し易くするために、ロボットアーム101とエンドエフェクタ102の動作の所要時間及び動作開始タイミングを可視化し、動作の所要時間と動作開始タイミングをユーザが指定(編集)可能とする。これにより、実施の形態1に係る動作計画装置では、ユーザが所要時間を把握し易くなる。
そこで、実施の形態1に係る動作計画装置では、所要時間を把握し易くするために、ロボットアーム101とエンドエフェクタ102の動作の所要時間及び動作開始タイミングを可視化し、動作の所要時間と動作開始タイミングをユーザが指定(編集)可能とする。これにより、実施の形態1に係る動作計画装置では、ユーザが所要時間を把握し易くなる。
なお以下では、ロボットアーム101とエンドエフェクタ102とを独立した2つのシーケンスで動作させることができる場合で説明を行う。この場合、1つのシーケンスでロボットアーム101とエンドエフェクタ102とを交互に動作させる場合よりも総動作時間を短縮できる。しかしながら、これに限らず、1つのシーケンスでロボットアーム101とエンドエフェクタ102とを交互に動作させる場合にも実施の形態1に係る動作計画装置を適用可能である。
次に、画面生成部302により生成されるビジュアルプログラミングに関する画面の一例について説明する。
画面生成部302は、まず、ユーザ操作に応じ、ビジュアルプログラミング画面を生成する。図2に、ビジュアルプログラミング画面の一例を示す。図2に示すビジュアルプログラミング画面には、制御タイムライン21及び制御タイムライン22が上下並列に表示されている。また、図2に示すビジュアルプログラミング画面には、左下に、動作オブジェクト23が表示されている。また、図2に示すビジュアルプログラミング画面には、右下に、設定完了ボタン24が表示されている。
画面生成部302は、まず、ユーザ操作に応じ、ビジュアルプログラミング画面を生成する。図2に、ビジュアルプログラミング画面の一例を示す。図2に示すビジュアルプログラミング画面には、制御タイムライン21及び制御タイムライン22が上下並列に表示されている。また、図2に示すビジュアルプログラミング画面には、左下に、動作オブジェクト23が表示されている。また、図2に示すビジュアルプログラミング画面には、右下に、設定完了ボタン24が表示されている。
制御タイムライン21は、ロボットアーム101の動作オブジェクト23aを時系列に並べるための時間軸である。制御タイムライン21では、左端を制御開始時刻とし、任意のタイムスケールで表示される。
制御タイムライン22は、エンドエフェクタ102の動作オブジェクト23bを時系列に並べるための時間軸である。制御タイムライン22では、左端を制御開始時刻とし、任意のタイムスケールで表示される。
なお、タイムスケールは、制御タイムライン21と制御タイムライン22とで連動しており、他方だけを変更することはできない。
なお、タイムスケールは、制御タイムライン21と制御タイムライン22とで連動しており、他方だけを変更することはできない。
動作オブジェクト23は、ロボットアーム101又はエンドエフェクタ102の一動作を表す矩形のオブジェクトである。動作オブジェクト23の左端の位置が動作の開始時刻を表し、右端の位置が動作の終了時刻を表し、動作オブジェクト23の長さが動作時間を表す。
そして、ユーザは、ビジュアルプログラミング画面を用いてロボットアーム101及びエンドエフェクタ102の動作計画を行う。この動作計画は、動作オブジェクト23の配置、動作オブジェクト23が示す動作の詳細情報の設定、動作オブジェクト23の位置編集、及び、動作オブジェクト23の長さ編集という手順で実現される。
まず、図2,3に示すように、ユーザは、所定の手続きにより、任意のタイムライン(制御タイムライン21又は制御タイムライン22)上に動作オブジェクト23を配置する。この際、ユーザは、例えば、マウスを用いて任意のタイムライン上に動作オブジェクト23をドラッグアンドドロップすることで、任意のタイムライン上に動作オブジェクト23を配置する。図3に示すビジュアルプログラミング画面では、制御タイムライン21上に動作オブジェクト23aが配置されている。なお図3において、符号25はカーソルを示している。
次に、ユーザは、所定の手続きにより、配置した動作オブジェクト23が示す動作の詳細情報を設定する。この際、例えば、任意のタイムライン上に動作オブジェクト23が配置されることで、画面生成部302は、自動的に、当該動作オブジェクト23が示す動作の詳細情報を設定するための詳細動作設定画面を生成する。そして、ユーザは、マウスによる選択又はキーボードによる数値入力等によって、上記動作の詳細情報を設定する。
以下、ロボットアーム101及びエンドエフェクタ102の動作の詳細情報について説明する。
以下、ロボットアーム101及びエンドエフェクタ102の動作の詳細情報について説明する。
まず、ロボットアーム101の動作の詳細情報について説明する。
例えばロボットアーム101が6つの関節から成る垂直多関節型アームである場合、ロボットアーム101の状態は各関節の角度により一意に決定される。この際、各関節の角度を表す座標系を関節座標系と呼ぶ。また、ロボットアーム101の状態は、ベース座標系又はワールド座標系等のように、様々な座標系で表現可能である。ベース座標系は、デカルト空間におけるロボットアーム101の先端の位置及び姿勢を表す座標系である。ワールド座標系は、デカルト空間における任意の座標系を基準とし、ロボットアーム101の先端の位置及び姿勢を表す座標系である。そして、ユーザは、これらの座標系のうちの任意の座標系を用い、ロボットアーム101の動作の始点となる状態と動作の終点となる状態とを、ロボットアーム101の動作の詳細情報として設定する。
例えばロボットアーム101が6つの関節から成る垂直多関節型アームである場合、ロボットアーム101の状態は各関節の角度により一意に決定される。この際、各関節の角度を表す座標系を関節座標系と呼ぶ。また、ロボットアーム101の状態は、ベース座標系又はワールド座標系等のように、様々な座標系で表現可能である。ベース座標系は、デカルト空間におけるロボットアーム101の先端の位置及び姿勢を表す座標系である。ワールド座標系は、デカルト空間における任意の座標系を基準とし、ロボットアーム101の先端の位置及び姿勢を表す座標系である。そして、ユーザは、これらの座標系のうちの任意の座標系を用い、ロボットアーム101の動作の始点となる状態と動作の終点となる状態とを、ロボットアーム101の動作の詳細情報として設定する。
また、ロボットアーム101の動作の場合、動作の始点となる状態から動作の終点となる状態までをどのように補間するのかを指定する必要がある。この補間方法としては、例えば、関節補間又は直線補間が挙げられる。関節補間は、関節座標系で始点と終点とを線形補間する方法である。直線補間は、デカルト空間で始点と終点とを線形補間する方法である。始点と終点が同じ且つ制約条件が同じ場合でも、関節補間と直線補間とでは各関節の動きが異なるため、動作時間は異なる。そのため、ロボットアーム101の動作の場合には、ユーザは、軌道の種類(補間方法の種類)を詳細情報として設定する。
図4に、ロボットアーム101の動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。図4では、ロボットアーム101が6つの関節から成る垂直多関節型アームである場合を想定している。
図4に示すように、詳細動作設定画面には、ロボットアーム101の始点及び終点、並びに、軌道の種類を設定するための項目がそれぞれ設けられている。
図4に示すように、詳細動作設定画面には、ロボットアーム101の始点及び終点、並びに、軌道の種類を設定するための項目がそれぞれ設けられている。
図4に示す詳細動作設定画面において、ユーザがロボットアーム101の始点と終点を設定する場合、ユーザは、まず、マウスを用いて座標系リストボックス41,42から任意の座標系を選択する。図4では、ユーザにより関節座標系が選択された場合を示している。
そして、ユーザにより座標系が選択されると、画面生成部302は、座標系リストボックス41,42の右横に、当該座標系に応じて必要な数のテキストボックス43,44を表示する。図4に示す詳細動作設定画面では、関節座標系が選択されているため、各関節の角度を入力可能な6つのテキストボックス43,44が表示される。
そして、ユーザは、マウスを用いてテキストボックス43,44をクリックし、キーボードで角度を数値で入力する。
そして、ユーザは、マウスを用いてテキストボックス43,44をクリックし、キーボードで角度を数値で入力する。
なお、ユーザによりベース座標系又はワールド座標系等のデカルト空間における座標系が選択された場合、画面生成部302は、ロボットアーム101の先端の位置(X座標、Y座標、Z座標)と姿勢(オイラー角:ロール、ピッチ、ヨー)を入力可能な6つのテキストボックス43,44を表示する。又は、ユーザによりベース座標系又はワールド座標系等のデカルト空間における座標系が選択された場合、画面生成部302は、ロボットアーム101の先端の位置(X座標、Y座標、Z座標)と姿勢(四元数:x,y,z,w)を入力可能な7つのテキストボックス43,44を表示する。
そして、ユーザが軌道の種類を設定する場合、ユーザは、マウスを用いて所望の軌道の種類のラジオボタン45,46を選択する。
そして、全項目の入力が完了した後、ユーザは設定完了ボタン47を選択する。これにより、ロボットアーム101の動作の詳細設定が完了する。
そして、全項目の入力が完了した後、ユーザは設定完了ボタン47を選択する。これにより、ロボットアーム101の動作の詳細設定が完了する。
次に、エンドエフェクタ102の動作の詳細情報について説明する。
例えばエンドエフェクタ102が平行二指ハンドである場合、平行二指ハンドの状態は二指の距離又は開度により一意に決定される。そして、ユーザは、平行二指ハンドの動作の始点となる状態と動作の終点となる状態とを、二指の距離又は開度を用いて、平行二指ハンドの動作の詳細情報として設定する。
例えばエンドエフェクタ102が平行二指ハンドである場合、平行二指ハンドの状態は二指の距離又は開度により一意に決定される。そして、ユーザは、平行二指ハンドの動作の始点となる状態と動作の終点となる状態とを、二指の距離又は開度を用いて、平行二指ハンドの動作の詳細情報として設定する。
図5に、平行二指ハンドの動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。
図5に示すように、詳細動作設定画面には、平行二指ハンドの始点と終点を設定するための項目がそれぞれ設けられている。
図5に示すように、詳細動作設定画面には、平行二指ハンドの始点と終点を設定するための項目がそれぞれ設けられている。
図5に示す詳細動作設定画面において、ユーザが平行二指ハンドの始点と終点を設定する場合、ユーザは、マウスを用いてテキストボックス51,52をクリックし、キーボードで二指の距離又は開度を数値で入力する。
そして、全項目の入力が完了した後、ユーザは、設定完了ボタン53を選択する。これにより、平行二指ハンドの動作の詳細設定が完了する。
そして、全項目の入力が完了した後、ユーザは、設定完了ボタン53を選択する。これにより、平行二指ハンドの動作の詳細設定が完了する。
また例えばエンドエフェクタ102がバキュームである場合、バキュームの状態はバキュームのオン及びオフにより一意に決定される。そして、ユーザは、バキュームの動作の始点となる状態と動作の終点となる状態とを、バキュームのオン継続時間を用いて、バキュームの動作の詳細情報として設定する。
図6に、バキュームの動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。
図6に示すように、詳細動作設定画面には、バキュームのオン継続時間を設定するための項目が設けられている。
図6に示すように、詳細動作設定画面には、バキュームのオン継続時間を設定するための項目が設けられている。
図6に示す詳細動作設定画面において、ユーザがバキュームのオン継続時間を設定する場合、ユーザは、マウスを用いてテキストボックス61をクリックし、キーボードでバキュームのオン継続時間を数値で入力する。
そして、上記項目の入力が完了した後、ユーザは、設定完了ボタン62を選択する。これにより、バキュームの動作の詳細設定が完了する。
そして、上記項目の入力が完了した後、ユーザは、設定完了ボタン62を選択する。これにより、バキュームの動作の詳細設定が完了する。
ユーザにより詳細情報が設定されると、軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、動作時間がデフォルト値の場合での第1軌道を生成する。同様に、軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、動作時間がデフォルト値の場合での第2軌道を生成する。また、画面生成部302は、ビジュアルプログラム画面に表示されている該当する動作オブジェクト23の長さ(動作時間)をデフォルト値に変化させる。
例えば、ロボットアーム101の動作オブジェクト23の長さのデフォルト値は、制約条件下で軌道生成を行った際の動作時間に対応する。この際の制約条件は、例えば、ロボットアーム101の先端の速度上限又は加速度上限、或いは、ロボットアーム101が有する関節の角速度上限又は角加速度上限である。また、ロボットアーム101の動作時間は動作時間算出部212により算出される。
また例えば、平行二指ハンドの動作オブジェクト23の長さのデフォルト値は、制約条件下で軌道生成を行った際の動作時間に対応する。この際の制約条件は、ロボットハンドの速度上限又は加速度上限である。また、平行二指ハンドの動作時間は動作時間算出部212により算出される。
また例えば、バキュームの動作オブジェクト23の長さのデフォルト値は、既定の固定値とする。
次に、図7に示すように、ユーザは、所定の手続きにより、任意のタイムライン上の任意の動作オブジェクト23を左右にずらし、動作開始タイミングを編集する。この際、ユーザは、例えば、マウスを用いて、任意の動作オブジェクト23をクリックし、その状態のまま左右に移動させて所望の位置で離すことで、動作オブジェクト23を左右にずらす。又は、ユーザは、例えば、専用のダイアログを呼び出し、キーボードにより数値を入力することで、動作オブジェクト23を左右にずらしてもよい。
次に、図8に示すように、ユーザは、所定の手続きにより、任意のタイムライン上の任意の動作オブジェクト23の長さを編集し、動作時間を編集する。この際、ユーザは、例えば、マウスを用いて、任意の動作オブジェクト23の端部(右端又は左端)にカーソル25を合わせ、カーソル25が両矢印26に変化した後にクリックし、その状態のまま左右に移動させて所望の位置で離すことで、動作オブジェクト23の長さを編集する。又は、ユーザは、例えば、専用のダイアログを呼び出し、キーボードにより数値を入力することで、動作オブジェクト23の長さを編集してもよい。
但し、動作オブジェクト23の長さのデフォルト値は、動作を上限値で実行した際の時間に相当する。そのため、動作オブジェクト23の長さは、デフォルト値よりも短くすることはできない。
但し、動作オブジェクト23の長さのデフォルト値は、動作を上限値で実行した際の時間に相当する。そのため、動作オブジェクト23の長さは、デフォルト値よりも短くすることはできない。
既存のロボットアーム101の軌道生成ロジックでは、最大角速度、最大角加速度及びロボットアーム101の先端の速度の制約に加えて、ユーザが設定した速度制限比を制約として軌道を生成している。エンドエフェクタ102の軌道生成ロジックも同様である。軌道生成ロジックについては、非特許文献「ロボティクス」John J. Craig著(共立出版)に記載されているほか、オープンソースのソフトウェアフレームワーク「MoveIt!」が提供され広く利用されているため、説明は省略する。
それに対し、実施の形態1に係る動作計画装置では、ユーザが、速度制限比ではなく動作時間を設定又は編集可能とする。ユーザが編集した動作時間であるtは、デフォルトの動作時間であるtd以上のため、動作時間比であるt/tdは1.0以上となる。すなわち、動作時間比の逆数が速度制限比であり、速度制限比は1.0以下の値をとる。よって、例えば動作時間がt=tdの場合は速度制限比を1.0として軌道生成することに相当する。また、例えば動作時間がt=2.0×tdの場合は速度制限比を0.5として軌道生成することに相当する。
また、変換部204及び変換部209は、ユーザが設定した時間であるtをデフォルトの動作時間であるtdで正規化し逆数をとることで速度制限比を求める役割をもつ。変換部204及び変換部209を用いることで、実施の形態1に係る動作計画装置は、既存の軌道生成ロジックを変更することなく軌道を生成できる。
その後、ユーザは、設定完了ボタン24を選択する。これにより、ロボットアーム101及びエンドエフェクタ102の動作計画が完了する。すなわち、軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、ユーザにより編集された動作開始タイミング及び動作時間での第1軌道を生成する。同様に、軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、ユーザにより編集された動作開始タイミング及び動作時間での第2軌道を生成する。
なお、図1に示す動作計画装置では、ユーザがビジュアルプログラミング方式で動作計画を実施可能に構成された場合を示した。しかしながら、これに限らず、動作計画装置は、ユーザがテキスト方式で動作計画を実施可能に構成されていてもよい。
また上記では、エンドエフェクタ102としてロボットハンド又はバキュームを用いた場合を示した。しかしながら、これに限らず、エンドエフェクタ102として例えば電動ドリルを用いてもよい。この場合、例えば、動作計画装置により、ロボットアーム101を下方に下げながら電動ドリルを回すような動作計画を行うことも可能であり、ロボット1はネジ締めを容易に実施可能となる。
以上のように、この実施の形態1によれば、動作計画装置は、ロボットアーム101の動作時間又はエンドエフェクタ102の動作時間を受付ける入出力部201と、入出力部201により受付けられたロボットアーム101の動作時間を動作速度に変換する変換部204と、入出力部201により受付けられたエンドエフェクタ102の動作時間を動作速度に変換する変換部209と、変換部204により変換されたロボットアーム101の動作速度に基づいて、当該ロボットアーム101の動作軌道である第1軌道を生成する軌道生成部205と、変換部209により変換されたエンドエフェクタ102の動作速度に基づいて、当該エンドエフェクタ102の動作軌道である第2軌道を生成する軌道生成部210とを備えた。これにより、実施の形態1に係る動作計画装置は、従来に対してロボット1の所要時間を把握し易くなる。
実施の形態2.
実施の形態1に係る動作計画装置では、ロボットコントローラ2を単一とし、入出力部201及び動作時間算出部212をロボットアーム101とエンドエフェクタ102とで共通とした場合を示した。しかしながら、これに限らず、ロボットアーム101とエンドエフェクタ102の制御は別系統であるため、例えば図9に示すように、ロボットアーム101用のロボットコントローラ2aとエンドエフェクタ102用のロボットコントローラ2bを用い、ロボットアーム101とエンドエフェクタ102とで独立させた入出力部201a,201b及び動作時間算出部212a,212bを用いてもよい。
実施の形態1に係る動作計画装置では、ロボットコントローラ2を単一とし、入出力部201及び動作時間算出部212をロボットアーム101とエンドエフェクタ102とで共通とした場合を示した。しかしながら、これに限らず、ロボットアーム101とエンドエフェクタ102の制御は別系統であるため、例えば図9に示すように、ロボットアーム101用のロボットコントローラ2aとエンドエフェクタ102用のロボットコントローラ2bを用い、ロボットアーム101とエンドエフェクタ102とで独立させた入出力部201a,201b及び動作時間算出部212a,212bを用いてもよい。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。
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 画面生成部
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 画面生成部
Claims (6)
- ロボットアームの動作時間又はエンドエフェクタの動作時間を受付ける受付部と、
前記受付部により受付けられた前記ロボットアームの動作時間を動作速度に変換する第1変換部と、
前記受付部により受付けられた前記エンドエフェクタの動作時間を動作速度に変換する第2変換部と、
前記第1変換部により変換された前記ロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成部と、
前記第2変換部により変換された前記エンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成部と
を備えた動作計画装置。 - 前記第1軌道生成部は、動作指示及び前記ロボットアームの制約条件に基づいて、第1軌道を生成し、
前記第2軌道生成部は、動作指示及び前記エンドエフェクタの制約条件に基づいて、第2軌道を生成する
ことを特徴とする請求項1記載の動作計画装置。 - 動作指示には、動作開始タイミングが含まれる
ことを特徴とする請求項2記載の動作計画装置。 - 動作指示を設定するためのビジュアルプログラミングに関する画面を生成する画面生成部を備えた
ことを特徴とする請求項2又は請求項3記載の動作計画装置。 - 前記エンドエフェクタは、処理対象物を把持するロボットハンドである
ことを特徴とする請求項1から請求項4のうちの何れか1項記載の動作計画装置。 - ロボットアームの動作時間又はエンドエフェクタの動作時間を受付ける受付ステップと、
前記受付ステップにおいて受付けた前記ロボットアームの動作時間を動作速度に変換する第1変換ステップと、
前記受付ステップにおいて受付けた前記エンドエフェクタの動作時間を動作速度に変換する第2変換ステップと、
前記第1変換ステップにおいて変換した前記ロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成ステップと、
前記第2変換ステップにおいて変換した前記エンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成ステップと
を有する動作計画方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019079252A JP2020175474A (ja) | 2019-04-18 | 2019-04-18 | 動作計画装置及び動作計画方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019079252A JP2020175474A (ja) | 2019-04-18 | 2019-04-18 | 動作計画装置及び動作計画方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020175474A true JP2020175474A (ja) | 2020-10-29 |
Family
ID=72935588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019079252A Pending JP2020175474A (ja) | 2019-04-18 | 2019-04-18 | 動作計画装置及び動作計画方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020175474A (ja) |
-
2019
- 2019-04-18 JP JP2019079252A patent/JP2020175474A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6343353B2 (ja) | ロボットの動作プログラム生成方法及びロボットの動作プログラム生成装置 | |
KR910000873B1 (ko) | 조립 로보트의 제어방법과 그 제어 시스템 | |
JP5911933B2 (ja) | ロボットの動作監視領域を設定するロボットシステム | |
JP2019084664A (ja) | プログラミング支援装置、ロボットシステム及びプログラム生成方法 | |
CN109551485B (zh) | 运动控制方法、装置和系统及存储介质 | |
JP2006289531A (ja) | ロボット位置教示のための移動制御装置、ロボットの位置教示装置、ロボット位置教示のための移動制御方法、ロボットの位置教示方法及びロボット位置教示のための移動制御プログラム | |
CN109986559B (zh) | 参数编辑方法和系统、控制设备及存储介质 | |
KR101876845B1 (ko) | 로봇 제어 장치 | |
US20170197308A1 (en) | Teaching data generating device and teaching data-generating method for work robot | |
JP2010137298A (ja) | 複腕ロボットの作業プログラム作成方法 | |
JP2009190113A (ja) | ロボットシミュレーション装置 | |
US10507585B2 (en) | Robot system that displays speed | |
CN109807896B (zh) | 运动控制方法和系统、控制设备及存储介质 | |
JPS6179589A (ja) | ロボツト運転装置 | |
CN110000753B (zh) | 用户交互方法、控制设备及存储介质 | |
JP2019171498A (ja) | ロボットプログラム実行装置、ロボットプログラム実行方法、プログラム | |
JPH10124130A (ja) | 組立装置 | |
JP2020175474A (ja) | 動作計画装置及び動作計画方法 | |
CN110000775B (zh) | 设备管理方法、控制设备及存储介质 | |
JP2020175473A (ja) | 動作計画装置及び動作計画方法 | |
Mousavi Mohammadi et al. | A real-time impedance-based singularity and joint-limits avoidance approach for manual guidance of industrial robots | |
JPH06134684A (ja) | ロボット軌道を教示するための方法 | |
CN110198812B (zh) | 用于选择用于工业机器人调试的初始点的方法和装置 | |
WO2023144892A1 (ja) | 制御装置 | |
CN109807897B (zh) | 运动控制方法和系统、控制设备及存储介质 |