(57)【要約】【課題】ロボットアームの先端部を目標位置に移動する途中において、目標位置が変更されても簡易に移動させることができる、ロボット用制御装置を提供する。【解決手段】ロボット用制御装置２０は、軌道生成部２３と駆動制御部２４を備える。軌道生成部２３は、ロボットアーム先端部の目標位置の入力を受けると、ロボットアームの先端部の現在の位置情報及び速度情報から、ロボットアームの先端部が経由すべき位置を設定し、ロボットアームの先端部の現在位置と経由すべき位置と目標位置とを結ぶ曲線を軌道として求める。駆動制御部２４は、軌道生成部２３により求めた軌道に沿ってロボットアームの先端部が移動するように駆動部１５を制御する。【選択図】図２
2014131825.tif 000002
【特許請求の範囲】
【請求項１】
アーム部からなるロボットアームと、上記アーム部を回転駆動する駆動部と、を備えたロボットを制御するためのロボット用制御装置において、
上記ロボットアームの先端部の目標位置の入力を受けると、上記ロボットアームの先端部の現在の位置情報及び速度情報から、上記ロボットアームの先端部が経由すべき位置を設定し、上記ロボットアームの先端部の現在位置と経由すべき位置と目標位置とを結ぶ曲線を軌道として求める軌道生成部と、
上記軌道生成部により求めた軌道に沿って上記ロボットアームの先端部が移動するように上記駆動部を制御する駆動制御部と、
を備えることを特徴とする、ロボット用制御装置。
【請求項２】
さらに、前記ロボットアームの設置箇所に配置されているセンサからの検出信号により、前記ロボットアームの目標位置を変更すべきか否かを判断し、変更すべき目標位置を算出して前記軌道生成部に出力する目標位置算出部を備えることを特徴とする、請求項１に記載のロボット用制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットアームの手先、すなわち先端部が目標位置に移動している途中、その目標位置が変更されても変更後の目標位置にロボットアームの先端部を移動させる、ロボット用制御装置に関する。
【背景技術】
【０００２】
自動化又は作業者の効率化のためロボットが採用されている（例えば特許文献１−４）。
【０００３】
特許文献１では、人工衛星本体の姿勢制御を行うリアクションホイールを制御し、かつ、人工衛星本体に取り付けられた作業ロボットの動作で発生する慣性力を打ち消すため、リアクションホイールの動作可能範囲で作業ロボットの最適軌道をデータベースを用いて生成する技術が開示されている。
【０００４】
特許文献２では、ロボットハンドの把持部の慣性力の方向を自動的に検知し、その検知結果に基いて姿勢制御を行うことにより、慣性力による被把持物体の落下を防止することが可能なロボット制御技術について、開示されている。
【０００５】
特許文献３には、ロボットや多関節アームなどの現在位置姿勢から目標とする位置姿勢までの滑らかな軌道を高速で生成する技術について開示されている。
【０００６】
特許文献４には、補間動作に必要な個々の軸の速度を計算する必要がなく、動作可能な範囲で最大速度の補間動作をすることができ、かつ、速度によらず経路動作の軌跡を一定に保つことができる、モータの制御技術について開示されている。
【０００７】
特許文献４において開示されているモータ制御装置は、上位コントローラからの目標位置及び目標速度を含む指令値から軌道生成用データを生成するデータ生成手段と、軌道生成用データから目標位置までの軌道を生成する軌道生成手段とを備えている。データ生成手段は、上位コントローラから経由動作指令を受けると現在位置から次の目標位置となる第1の目標位置までの第1の区間において減速する割合が２段階に変化する減速用データを生成すると共に、第１の目標位置の次の目標位置となる第２の目標位置までの第２の区間において加速する割合が２段階に変化する加速度データを生成している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平７−２０００３０号公報
【特許文献２】特開平９−３００２５５号公報
【特許文献３】特開２０１０−１５５３２８号公報
【特許文献４】特開２００７−１６４２６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のロボット制御技術では、ロボットアームの先端部が目標位置へ移動している途中において、目標位置が変更されたとき、ロボットアームの動作を止めることなくその先端部を簡易にしかも迅速に移動させることが難しい。
【００１０】
図５は、ロボットアームの先端部が目標位置へ移動している途中で目標位置が変更されたときのロボットアームの制御として考えられる手法を説明するための図であり、（ａ）は何ら処理を施さず変更後の目標位置にロボットアームの先端部を移動させる手法、（ｂ）はロボットアームの先端部を一旦停止させて移動させる手法、（ｃ）は特許文献４に示されている手法を適用した場合を示している。
【００１１】
上記説明では、アーム部が連結してロボットアームが構成されているものとし、アーム部同士の連結軸が鉛直方向に沿っている場合を想定している。図５（ａ）乃至（ｃ）の何れにおいても、ロボットアームの先端部のみを実線の〇又は破線の〇で模式的に示し、平面視で示している。図５（ａ）及び（ｂ）では、ロボットアームの先端部の位置として、位置Ｐi-1が変更指示を受けたときよりも一つ手前の位置を示し、位置Ｐiが変更指示を受けたときの位置を示し、Ｐaが変更前の目標位置を示し、Ｐbが変更後の目標位置を示している。
【００１２】
ここで、何ら処理を施さず変更後の目標位置にロボットアームの先端部を移動させる手法を採用することを考える。図５（ａ）に示すように、ロボットアームの先端部の移動方向は、現在位置Ｐiから変更後の目標位置Ｐbに向かうベクトルで示される。連結軸を駆動するモータが大きいトルクを発生することが出来ない場合には、トルクオーバーとなり、ロボットアームの先端部は停止する。その結果、ロボットアームの先端部を変更後の目標位置Ｐbに到達させることができない。
【００１３】
次に、ロボットアームの先端部を一旦停止してから変更後の目標位置に移動させる手法を採用することを考える。図５（ｂ）に示すように、ロボットアームの先端部を、現在位置Ｐiから一旦停止するまで、位置Ｐi-1から位置Ｐaへ向かうベクトルの方向に沿って僅かであっても移動させた後に、位置Ｐstopにおいて一旦停止させる。その後、位置Ｐstopから変更後の目標位置Ｐbに向かって矢印の方向に移動させることになる。この場合にはロボットアームの先端部を変更後の目標位置Ｐbに到達させることはできるわけであるが、一旦停止させるまでに時間がかかり、作業工程上では僅かな時間でも削減しないと、作用効率性の向上が図れない。ひいては、作業により組み立てられる製品の低廉化を図ることができない。
【００１４】
そこで、特許文献４に開示されている上述の技術を用いることが考えられる。図５（ｃ）に示すように、特許文献４に開示されたモータ制御装置は、例えば位置Ｐ１から位置Ｐ２へ移動中に上位コントローラから目標位置変更の指令を受けると、位置Ｐ１から位置Ｐ２への移動を２段階で減速させ、位置Ｐ３へ移動を２段階で加速させている。よって、直線補間動作の作業中に、目標位置を変更するような場合でも、目標位置変更中の軌跡を規定することができることになる。
【００１５】
しかしながら、特許文献４に開示された技術であっても、第１に、軌道を変更する度に減速し、経由動作を行って再加速する必要があり、タイムラグが生じる。これにより、瞬時に軌道を変更することが難しい。
【００１６】
第２に、２段階減速のため軌道が滑らかにはなり難く、ロボットアームの先端部のトルク変動が大きくなり、各軸に負荷がかかる。これにより、構成部品の寿命が短くなりメンテナンスも必要となる。
【００１７】
第３に、ロボットアームの先端部の動きが滑らかではなく、所謂ぎこちない動作となる。すると、ロボットアームの近くで作業する者に違和感や不安感を与えることになる。
【００１８】
一方、軌道計算を高速で行えるように演算処理能力の高いコンピュータを備えれば、目標位置が変更になっても計算を直ちに行うことができるかもしれない。しかしながら、目標位置の変更が任意に生じることから、限界があり、コスト高となる。作業現場に多数のロボットを設置することを考えると、この手法も好ましくはない。
【００１９】
そこで、本発明では、ロボットアームの先端部を目標位置に移動する途中において、目標位置が変更されてもその先端部を簡易に移動させることができる、ロボット用制御装置を提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成するために、本発明は、アーム部からなるロボットアームと、アーム部を回転駆動する駆動部と、を備えたロボットを制御するためのロボット用制御装置において、ロボットアームの先端部の目標位置の入力を受けると、ロボットアームの先端部の現在の位置情報及び速度情報から、ロボットアームの先端部が経由すべき位置を設定し、ロボットアームの先端部の現在位置と経由すべき位置と目標位置とを結ぶ曲線を軌道として求める軌道生成部と、軌道生成部により求めた軌道に沿ってロボットアームの先端部が移動するように駆動部を制御する駆動制御部と、を備えることを特徴とする。
【００２１】
さらに、ロボットアームの設置箇所に配置されているセンサからの検出信号により、ロボットアームの目標位置を変更すべきか否かを判断し、変更すべき目標位置を算出して軌道生成部に出力する目標位置算出部を備えてもよい。
【発明の効果】
【００２２】
本発明によれば、目標位置の変更があっても、軌道生成部が複雑な計算をしないため、ロボットアームの先端部の軌道を求めて、軌道を変更する。よって、ロボットアームの動きを停止することなく、また、ロボットアームに不要な動きや動作をさせないで済む。軌道生成部において、軌道を計算する際に必要となる情報量は少なく、複雑な計算処理をしないため、軌道生成部には高い演算処理能力が要求されない。また、駆動部としてトルクの低いモータを採用することができるため、ロボットを作業者などの人間と共存させることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の原理を説明するための図である。
【図２】本発明の実施形態に係るロボットシステムのブロック構成図である。
【図３】図２に示すロボットシステムにおけるロボットについての実機の一例を模式的に示す図である。
【図４】図１に示すロボットシステムにおける主要な動作を示すフロー図である。
【図５】ロボットアームの先端部が目標位置へ移動している途中で目標位置が変更されたときのロボットアームの制御として考えられる各手法を説明するための図である。
【発明を実施するための形態】
【００２４】
以下、図面を参照しながら本発明の実施形態を詳説する。
【００２５】
〔原理〕
本発明の実施形態を説明する前提として、本発明の原理について説明する。図１は、本発明の原理を説明するための図である。説明上、ロボットシステム１が、アーム部２ａ，２ｂを連結してロボットアーム２が構成されて、ロボットアーム２が筐体３に回動可能に取り付けられているものとし、回動軸、アーム部２ａ，２ｂ同士の連結軸が鉛直方向に沿っている場合を想定している。ロボットアーム２の先端部の位置として、位置Ｐi-1が変更指示を受けたときよりも一つ手前の位置を示し、位置Ｐiが変更指示を受けたときの位置を示し、Ｐaが変更前の目標位置を示し、Ｐbが変更後の目標位置を示している。ロボットアーム２が水平面上を動いているので、便宜上二次元の座標軸を設定し、位置Ｐi-1の座標を（Ｘ１，Ｙ１），位置Ｐiの座標を（Ｘ２，Ｙ２），Ｐaの座標を（Ｘ０、Ｙ０）、Ｐbの座標を（Ｘｎ，Ｙｎ）とする。
【００２６】
図１に示すように、ロボットアーム２の先端部の目標位置が図１（ａ）に示す状態で位置Ｐaから位置Ｐbに変更されたとする。そのとき、ロボットアーム２の先端部の現在位置がＰiであったとする。ロボットアーム２の先端部では、現在位置Ｐi及び一つ前の位置Ｐi-1の位置情報はロボットアーム２の駆動部に設けたセンサにより既知となる。また、現時点Ｐiでのロボットアーム２の先端部の速度は位置Ｐiから位置Ｐi-1の変位として算出できる。よって、運動エネルギーと先端部の移動方向を求めることができる。そこで、これらの運動エネルギー及び移動方向から、ロボットアーム２の先端部が経由すべき位置（以下、「経由点」と略記する。）を求める。すると、ロボットアーム２の先端部の現在位置Ｐiと、経由点Ｐviaと、新たな目標位置Ｐbと、を滑らかに結ぶ曲線Ｌを求める。その際、スプライン補間などを用いればよい。
【００２７】
現在位置Ｐiと一つ前の位置Ｐi-1については、ロボットアーム２の回動軸や連結軸を駆動する駆動部にセンサを取り付けておき、そのセンサから回転数などをモニタリングすることにより、容易に求めることができる。速度についても、現在位置Ｐiの座標から一つ前の位置Ｐi-1が分かれば求めることができる。
【００２８】
よって、ロボットアーム２の先端部の質量等が既知であるから、運動エネルギーを求めることができる。この運動エネルギーを定数倍することにより、現在位置Ｐiから経由点Ｐviaへの変位量を求めることができる。
【００２９】
ロボットアーム２の目標位置が変更された場合には、ロボットアーム２の先端部の慣性での動きを停止するために移動する距離を、その先端部の運動エネルギーから求める。すると、現在位置Ｐiから経由点Ｐviaへの変位量を求めることができる。これは、目標位置の変更があったときのロボットアーム２の先端部の運動エネルギーと、ロボットアーム２の先端部が停止するのに必要なエネルギーと、が等価であるという考えに依拠している。すなわち、次式が成り立つ。
（目標位置の変更があったときのロボットアームの先端部の運動エネルギー）
＝（停止させるのに必要な力）×（停止するまでの移動距離）
ここで、ロボットアーム２の先端部を停止させる力が一定とすると、現在位置から経由点までの変位距離が、目標位置が変更となったときのロボットアーム２の運動エネルギーに比例する。
【００３０】
本発明においては、この比例定数ｋをエネルギー量変換係数と呼ぶ。上記の関係式から次のような関係が求められる。
Ｘｐ＝ｍｋ（Ｘ２−Ｘ１）2／２＋Ｘ２
Ｙｐ＝ｍｋ（Ｙ２−Ｙ１）2／２＋Ｙ２
ここで、（Ｘｐ、Ｙｐ）は経由点Ｐviaの座標、（Ｘ１，Ｙ１）は一つ手前の位置座標、（Ｘ２，Ｙ２）は現在の位置座標である。ｍはロボットアーム先端部の質量である。ｘ方向、ｙ方向での変化量を元に経由点を算出しているので、これらのベクトルを合成した延長に、変位方向が定まる。ロボットアーム２の動きが二次元ではなく三次元であっても同様に導かれる。
【００３１】
ここで、エネルギー量変換係数ｋは、ロボットアーム２の先端部が有する運動エネルギーを、先端部が動く距離に変換するための係数であり、この係数ｋは次式で示される。
ｋ＝（減衰率）×１／（停止させる力）
ここで減衰率は、現在の速度からどのくらいの割合で減速するかを示し、例えば０．６〜０．９が設定される。
ロボットアーム２の先端部を停止させる力に関しては、ロボット工学の動力学などによってモータのトルクから計算することができる。この場合、動作パターンの検証などが必要となる。そこで、モータの出力と、ロボットアーム先端部が有する運動エネルギーの大きさとの関係を、実際にロボットアームを動かしてトルクを計測することにより、係数ｋを設定してもよい。
【００３２】
〔システム構成〕
本発明の実施形態に係るシステム構成について説明する。図２は、本発明の実施形態に係るロボットシステムのブロック構成図であり、図３は図２に示すロボットシステム１におけるロボットについての実機の一例を模式的に示す図である。ロボットシステム１は、ロボット１０とロボット用制御装置２０とを備える。ロボット１０は、ロボットアーム１１と、ロボットアーム１１を駆動する駆動部１５とを備える。図２においては、ロボットアーム１１を示しておらず、ロボット用制御装置２０との関係で必要なものを代表して示している。
【００３３】
ロボットアーム１１は、複数のアーム部１２ａ，１２ｂを回動軸１３で接続して構成されるところ、一のアーム部を筐体３に直接回動可能に取り付けて構成してもよい。ロボットアーム１１の先端部には、ロボット１０が作業する際に必要となる把握部（図示せず）を備えている。図３に示すロボット１０は所謂スカラー型ロボットと呼ばれるものである。回転軸１３には駆動部１５の部品としてのモータ、例えばサーボモータ１５ａが取り付けられ、一方のアーム部１２ａを他方のアーム部１２ｂの先端部の回動軸１３回りに回動させる。また、フレーム１４には他方のアーム部１２ｂが回動軸１３により回転可能に取り付けられ、この取り付け部位が関節部として機能し、この関節部にも例えばサーボモータ１５ａが取り付けられて、アーム部１２ｂを回動軸１３回りに回動させる。なお、サーボモータ１５ａの前段にはモータドライバーとしてのサーボアンプ１５ｂが設けてある。
【００３４】
駆動部１５にはそれぞれエンコーダなどのセンサ１６が取り付けられ、回転数をカウントし、ロボット用制御装置２０に出力する。本発明の実施形態は、図３に示すように、各アーム部１２ａ，１２ｂが鉛直軸回りに回転するようなスカラー型ロボットに限られることなく、水平軸回りに回転してもよいし、これら以外の軸回りに回転してもよい。
【００３５】
ロボット用制御装置２０は、センサ情報処理部２１と目標位置算出部２２と軌道生成部２３と駆動制御部２４と位置座標変換部２５とプログラム動作部２６とを備えている。
【００３６】
ロボットシステム１のうち、特に、ロボット１０が設置されている領域には、作業者、作業対象物の各位置、障害物の有無やその距離を検知するための各種センサが設置されている。その各種センサからの信号が、インタフェース部３１を経由してセンサ情報処理部２１に入力される。
【００３７】
センサ情報処理部２１は、インタフェース部３１を経由して上述の各種センサからの信号が入力されるので、目標位置算出部２２で使用することができるように単位変換等の各種変換を行う。インタフェース部３１からセンサ情報処理部２１への送受信は有線でも無線でもよい。
【００３８】
目標位置算出部２２には、プログラム動作部２６からの各種条件が入力され、センサ情報処理部２１からセンサ情報が入力されるので、センサ情報に基いて比較演算等を行って最終的な目標位置を算出する。
【００３９】
プログラム動作部２６は、事前に設定したパラメータを目標位置算出部２２に出力する。設定されているパラメータは、現在ロボット１０が稼働中であるか、目標位置変更を受け付ける状態にあるかなどに関する値である。
【００４０】
目標位置算出部２２は、ロボット１０の設置位置に関する情報、ロボットアーム２の形状に関する情報等から、作業工程に応じてロボットアーム２の先端部の目標位置を算出する。また、目標位置算出部２２は、センサ情報処理部２１から作業者、作業対象物、障害物の位置情報をセンサ情報として入力を受け、目標位置の変更の有無を判断し、変更する場合には変更後の目標値を算出する。なお、センサ情報処理部２１からのセンサ情報の入力があっても、作業者、作業対象物、障害物の位置により、目標位置算出部２２が、作業工程に応じてロボットアーム２の先端部の動きを変更する必要がないと判断した場合には、インタフェース部３１からセンサ情報処理部２１を経由して入力されたセンサ情報の影響を受けないで、軌道生成部２２に目標位置を出力する。
【００４１】
軌道生成部２３は、センサ１６から位置座標変換部２５を経由してロボットアーム先端部のリアルタイムな位置情報及び速度情報の入力を受け、その入力情報と目標位置算出部２２から算出された目標位置からロボットアーム先端部の軌道を生成する。
【００４２】
駆動制御部２４は、軌道生成部２３により生成された軌道の曲線に沿ってロボットアーム先端部が移動するように駆動部１５を制御する。駆動制御部２４は、駆動部１５に対して駆動部１５中のサーボモータ１５ａの回転速度などの指令値を入力し、サーボアンプ１５ｂを介してサーボモータ１５ａを回転駆動する。これにより、サーボモータ１５ａが、ロボットアーム先端部を軌道曲線に沿って移動させる。
【００４３】
位置座標変換部２５は、駆動部１５のサーボモータ１５ａに取り付けられているセンサ１６としてのエンコーダからの信号を座標変換するものであり、駆動部１５のサーボモータ１５ａによる回転数からロボットアーム先端部の位置や速度を求め、軌道生成部２３へその位置情報、速度情報を入力する。
【００４４】
図４は、図１に示すロボットシステムにおける主要な動作を示すフロー図である。本発明の実施形態では、先ず、プログラム動作部２６がロボットアーム１１を回転駆動するための各種条件を設定する（ＳＴＥＰ１）。これにより、ロボット１０に対して基本動作の設定がなされる。すると、目標位置算出部２２によりプログラム動作部２６からの入力された条件に従って目標位置が算出され、軌道生成部２３により軌道計算が行われ、その軌道に沿ってロボットアーム先端部が移動するように、駆動制御部２４により駆動部１５に目標位置に関する指令値が出力される。すると、ロボットアーム１１が駆動部１５により駆動される。
【００４５】
このような状態において、インタフェース部３１からセンサ情報処理部２１に対してセンサ検出信号が入力されたとする。すると、センサ情報処理部２１がインタフェース部３１からセンサ検出信号を受け取り、比較可能に信号をデータ変換して目標位置算出部２２に出力する（ＳＴＥＰ２）。
【００４６】
目標位置算出部２２は、プログラム動作部２６からの各種条件の入力を受けてロボットアーム２の先端部の目標位置を計算で求めて軌道生成部２３に逐次出力し、軌道に関するデータ列として軌道を計算して駆動制御部２４に出力する。これを受けて、駆動制御部２４はサーボモータ１５ｂに対して指令値を出力する（ＳＴＥＰ８）。このような状態で、目標位置算出部２２は、センサ情報処理部２１からセンサ検出信号を受けると、先ずロボットアームの先端部の目標位置を変更するか否かを判定する（ＳＴＥＰ３）。
【００４７】
次に、目標位置算出部２２が目標位置を変更すると判断した場合、変更後の目標位置が目標位置算出部２２で算出されて軌道生成部２３に出力され（ＳＴＥＰ４）、軌道計算部２３において運動エネルギー及び向きが算出され（ＳＴＥＰ５）、前述のように経由点が設定され（ＳＴＥＰ６）、目標位置までの軌道が計算されて、駆動制御部２４に出力される（ＳＴＥＰ７）。
【００４８】
駆動制御部２４では、軌道生成部２３から計算された軌道に関するデータが入力されると、サーボモータ１５ｂに目標位置の指令値を出力する。
【００４９】
そして、ロボットアーム２の先端部が目標位置に到達しているか否かを判断し（ＳＴＥＰ９）、到達していない場合には目標位置検出（ＳＴＥＰ２）にリターンする。一方、到達している場合には、ロボットアーム２の駆動を停止する。
【００５０】
以上説明したように、任意の新たな目標位置が入力されても、軌道生成部２３において、ロボットアーム先端部の運動エネルギーと移動方向を求め、これらの情報からロボットアーム先端部が経由すべき位置を求め、現在位置と経由点と新たな目標位置とを滑らかに結ぶ曲線Ｌを、新たな軌道として生成する。
【００５１】
新たな軌道が生成される際には、エネルギー量変換係数ｋと先端部の位置情報とを演算して経由点を求めればよく、計算量が少ないため、計算能力の高いサーバーなどのコンピュータを用いなくて済む。しかも、瞬時に簡易に軌道が算出されるため、ロボットアームの軌跡を瞬時に変更することができる。ロボットアームを一旦停止することもないことと相まって、ロボットによる作業効率が向上する。
【００５２】
駆動部の部品として設置するモータとしては、低トルクモータを採用でき、トルクオーバーの問題もない。
【００５３】
このように、本発明の実施形態では、ロボットアームが目標位置に向けて移動中に、目標位置が新たに変更されても、目標位置を変更した時点において、ロボットアームの先端部の回転エネルギーを最大限利用し得て、駆動部での加速及び減速のためのトルクが最小限で済むことになる。
【符号の説明】
【００５４】
１：ロボットシステム
２：ロボットアーム
２ａ，２ｂ：アーム部
３：筐体
１１：ロボットアーム
１２ａ，１２ｂ：アーム部
１３：回動軸
１４：フレーム
１５：駆動部
１５ａ：モータ（サーボモータ）
１５ｂ：ドライバ（サーボアンプ）
１６：センサ（エンコーダ）
２０：ロボット用制御装置
２１：センサ情報処理部
２２：目標位置算出部
２３：軌道生成部
２４：駆動制御部
２５：位置座標変換部
２６：プログラム動作部
３１：インタフェース部
【図１】
2014131825.tif 000003
【図２】
2014131825.tif 000004
【図３】
2014131825.tif 000005
【図４】
2014131825.tif 000006
【図５】
2014131825.tif 000007