特許第6805811号(P6805811)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーウェーブの特許一覧

<>
  • 特許6805811-マニプレータの動作判定装置 図000002
  • 特許6805811-マニプレータの動作判定装置 図000003
  • 特許6805811-マニプレータの動作判定装置 図000004
  • 特許6805811-マニプレータの動作判定装置 図000005
  • 特許6805811-マニプレータの動作判定装置 図000006
  • 特許6805811-マニプレータの動作判定装置 図000007
  • 特許6805811-マニプレータの動作判定装置 図000008
  • 特許6805811-マニプレータの動作判定装置 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6805811
(24)【登録日】2020年12月8日
(45)【発行日】2020年12月23日
(54)【発明の名称】マニプレータの動作判定装置
(51)【国際特許分類】
   B25J 9/10 20060101AFI20201214BHJP
【FI】
   B25J9/10 A
【請求項の数】14
【全頁数】15
(21)【出願番号】特願2016-251902(P2016-251902)
(22)【出願日】2016年12月26日
(65)【公開番号】特開2018-103310(P2018-103310A)
(43)【公開日】2018年7月5日
【審査請求日】2019年10月23日
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100121821
【弁理士】
【氏名又は名称】山田 強
(74)【代理人】
【識別番号】100125575
【弁理士】
【氏名又は名称】松田 洋
(72)【発明者】
【氏名】川瀬 大介
【審査官】 川口 真一
(56)【参考文献】
【文献】 特開2008−188694(JP,A)
【文献】 実開平06−004808(JP,U)
【文献】 特開2014−000649(JP,A)
【文献】 特開2000−042961(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10
(57)【特許請求の範囲】
【請求項1】
複数のリンクと、前記複数のリンクを相対回転可能に接続する関節と、を備えるマニプレータの動作可否を判定する動作判定装置であって、
前記マニプレータの所定点を移動させる位置である動作点の設定時に、前記設定時の温度における前記複数のリンクの長さ及び前記動作点に基づいて、前記所定点が移動する位置である第1位置を算出する第1位置算出部と、
所定温度における前記複数のリンクの長さに基づいて、前記第1位置算出部により算出された前記第1位置に前記所定点を移動させる時の前記関節の角度を算出する角度算出部と、
前記角度算出部による前記角度の算出結果に基づいて、前記所定温度において前記第1位置に前記所定点を移動させることが可能であるか否か判定する角度判定部と、
を備えるマニプレータの動作判定装置。
【請求項2】
前記角度判定部は、前記角度算出部により前記角度が算出されなかった場合、又は前記角度算出部により算出された前記角度が、前記関節により実現不可能な角度であった場合に、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定する請求項1に記載のマニプレータの動作判定装置。
【請求項3】
前記角度判定部は、前記角度算出部により算出された前記角度が、前記関節により実現可能な角度であった場合に、前記所定温度において前記第1位置に前記所定点を移動させることが可能であると判定する請求項1又は2に記載のマニプレータの動作判定装置。
【請求項4】
前記第1位置は、複数の前記動作点により規定される動作軌道上の点を含む請求項1〜3のいずれか1項に記載のマニプレータの動作判定装置。
【請求項5】
前記所定点を含むリンクと異なるリンクにおける1点が基点に設定されており、
前記動作点の設定時の温度における前記基点から前記第1位置までの距離と、前記所定温度において前記関節を完全に伸ばした状態での前記基点から前記所定点までの長さとに基づいて、前記所定温度において前記第1位置に前記所定点を移動させることが可能であるか否か判定する長さ判定部を備える請求項1〜4のいずれか1項に記載のマニプレータの動作判定装置。
【請求項6】
複数のリンクと、前記複数のリンクを相対回転可能に接続する関節と、を備えるマニプレータの動作可否を判定する動作判定装置であって、
前記マニプレータの所定点を含むリンクと異なるリンクにおける1点が基点に設定されており、
前記所定点を移動させる位置である動作点の設定時に、前記設定時の温度における前記複数のリンクの長さ及び前記動作点に基づいて、前記所定点が移動する位置である第1位置を算出する第1位置算出部と、
前記動作点の設定時の温度における前記基点から前記第1位置までの距離と、所定温度において前記関節を完全に伸ばした状態での前記基点から前記所定点までの長さとに基づいて、前記所定温度において前記第1位置に前記所定点を移動させることが可能であるか否か判定する長さ判定部と、
を備えるマニプレータの動作判定装置。
【請求項7】
前記長さ判定部は、前記動作点の設定時の温度における前記基点から前記第1位置までの距離が、前記所定温度において前記関節を完全に伸ばした状態での前記基点から前記所定点までの長さよりも長い場合に、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定する請求項5又は6に記載のマニプレータの動作判定装置。
【請求項8】
前記長さ判定部は、前記動作点の設定時の温度における前記基点から前記第1位置までの距離が、前記所定温度において前記関節を完全に伸ばした状態での前記基点から前記所定点までの長さよりも短い場合に、前記所定温度において前記第1位置に前記所定点を移動させることが可能であると判定する請求項5〜7のいずれか1項に記載のマニプレータの動作判定装置。
【請求項9】
前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であることを通知する不可通知部を備える請求項2又は7に記載のマニプレータの動作判定装置。
【請求項10】
前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記第1位置に前記所定点を移動させることが不可能となる温度を通知する温度通知部を備える請求項2、7、9のいずれか1項に記載のマニプレータの動作判定装置。
【請求項11】
前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記動作点の設定時に前記関節の角度を修正すべき方向を通知する角度通知部を備える請求項2、7、9、10のいずれか1項に記載のマニプレータの動作判定装置。
【請求項12】
前記角度通知部は、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記動作点の設定時に前記関節の角度を修正すべき量を通知する請求項11に記載のマニプレータの動作判定装置。
【請求項13】
前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記動作点の設定時に前記動作点の位置を修正すべき方向を通知する位置通知部を備える請求項2、7、9〜12のいずれか1項に記載のマニプレータの動作判定装置。
【請求項14】
前記位置通知部は、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記動作点の設定時に前記動作点の位置を修正すべき量を通知する請求項13に記載のマニプレータの動作判定装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マニプレータの動作可否を判定する動作判定装置に関する。
【背景技術】
【0002】
従来、ロボットのアーム(マニプレータ)の先端を移動させる位置である動作点を教示(設定)して、教示した動作点をアームの先端が通るように、アームを動作させるものがある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2016−144861号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、動作点の教示を行った時のアームの温度と、ロボットにより作業を行う時のアームの温度とが異なることがある。その場合、教示した通りにアームを動作させることができない場合があることに、本願発明者は着目した。
【0005】
本発明は、こうした課題を解決するためになされたものであり、所定温度において、設定した通りにマニプレータを動作させることが可能か否か判定することのできるマニプレータの動作判定装置を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するための第1の手段は、
複数のリンクと、前記複数のリンクを相対回転可能に接続する関節と、を備えるマニプレータの動作可否を判定する動作判定装置であって、
前記マニプレータの所定点を移動させる位置である動作点の設定時に、前記設定時の温度における前記複数のリンクの長さ及び前記動作点に基づいて、前記所定点が移動する位置である第1位置を算出する第1位置算出部と、
所定温度における前記複数のリンクの長さに基づいて、前記第1位置算出部により算出された前記第1位置に前記所定点を移動させる時の前記関節の角度を算出する角度算出部と、
前記角度算出部による前記角度の算出結果に基づいて、前記所定温度において前記第1位置に前記所定点を移動させることが可能であるか否か判定する角度判定部と、
を備える。
【0007】
上記構成によれば、マニプレータにおいて、複数のリンクが関節により相対回転可能に接続されている。ここで、複数のリンクが相対回転することにより、リンクの温度が上昇する。リンクは温度の上昇に伴って熱膨張するため、リンクの長さは温度に応じて変化する。これに対して、マニプレータの所定点を移動させる位置である動作点の設定時に、設定時の温度における複数のリンクの長さ及び動作点に基づいて、所定点が移動する位置である第1位置が算出される。
【0008】
しかしながら、動作点の設定時とマニプレータによる作業時とで、リンクの温度が異なると、作業時に第1位置に所定点を移動させることができないおそれがある。例えば、高温時に関節を完全に伸ばした状態で動作点を設定すると、低温時にリンクの長さが足りず、第1位置(動作点)に所定点を移動させることができない。
【0009】
この点、角度算出部により、所定温度における複数のリンクの長さに基づいて、第1位置に所定点を移動させる時の関節の角度が算出される。所定温度において第1位置に所定点を移動させることが可能であれば、角度算出部により有効な関節の角度が算出される。一方、所定温度において第1位置に所定点を移動させることが不可能であれば、角度算出部により有効な関節の角度が算出されない。したがって、角度算出部による角度の算出結果に基づいて、所定温度において第1位置に所定点を移動させることが可能であるか否か判定することができる。その結果、所定温度において、設定した通りにマニプレータを動作させることが可能か否か判定することができる。
【0010】
具体的には、第2の手段のように、前記角度判定部は、前記角度算出部により前記角度が算出されなかった場合、又は前記角度算出部により算出された前記角度が、前記関節により実現不可能な角度であった場合に、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定するといった構成を採用することができる。こうした構成によれば、所定温度において第1位置に所定点を移動させることが不可能であることを容易に判定することができる。
【0011】
具体的には、第3の手段のように、前記角度判定部は、前記角度算出部により算出された前記角度が、前記関節により実現可能な角度であった場合に、前記所定温度において前記第1位置に前記所定点を移動させることが可能であると判定するといった構成を採用することができる。こうした構成によれば、所定温度において第1位置に所定点を移動させることが可能であることを容易に判定することができる。
【0012】
第4の手段では、前記第1位置は、複数の前記動作点により規定される動作軌道上の点を含む。
【0013】
マニプレータの所定点が楕円軌道上やスプライン軌道上を移動する場合、設定された動作点に所定点を移動させることができても、軌道上の他の点に所定点を移動させることができない場合がある。例えば、軌道において曲率が大きい部分の両脇に、関節を伸ばした状態で動作点が設定されていると、曲率が大きい部分に所定点を移動させることができない場合がある。
【0014】
この点、上記構成によれば、第1位置は、複数の動作点により規定される動作軌道上の点を含んでいる。したがって、設定された動作点のみならず、複数の動作点により規定される動作軌道上の点に、所定温度において所定点を移動させることが可能であるか否か判定することができる。
【0015】
第5の手段では、前記所定点を含むリンクと異なるリンクにおける1点が基点に設定されており、前記動作点の設定時の温度における前記基点から前記第1位置までの距離と、前記所定温度において前記関節を完全に伸ばした状態での前記基点から前記所定点までの長さとに基づいて、前記所定温度において前記第1位置に前記所定点を移動させることが可能であるか否か判定する長さ判定部を備える。
【0016】
第6の手段は、複数のリンクと、前記複数のリンクを相対回転可能に接続する関節と、を備えるマニプレータの動作可否を判定する動作判定装置であって、
前記マニプレータの所定点を含むリンクと異なるリンクにおける1点が基点に設定されており、
前記所定点を移動させる位置である動作点の設定時に、前記設定時の温度における前記複数のリンクの長さ及び前記動作点に基づいて、前記所定点が移動する位置である第1位置を算出する第1位置算出部と、
前記動作点の設定時の温度における前記基点から前記第1位置までの距離と、所定温度において前記関節を完全に伸ばした状態での前記基点から前記所定点までの長さとに基づいて、前記所定温度において前記第1位置に前記所定点を移動させることが可能であるか否か判定する長さ判定部と、
を備える。
【0017】
第5,第6の手段によれば、マニプレータの所定点を含むリンクと異なるリンクにおける1点が基点に設定されている。所定温度において所定点を移動させることができる基点から最も離れた位置は、関節を完全に伸ばした状態での所定点の位置となる。したがって、第1位置がこの位置よりも外側にある場合は、所定温度において所定点を第1位置に移動させることができない。
【0018】
この点、動作点の設定時の温度における基点から第1位置までの距離と、所定温度において関節を完全に伸ばした状態での基点から所定点までの長さとに基づいて、所定温度において所定点を第1位置に移動させることが可能であるか否か判定される。このため、設定した通りにマニプレータを動作させることが可能か否かを、簡易な演算により高速で判定することができる。詳しくは、第1位置に対応する各関節の角度を用いて動作可否の判定を行う場合、マニプレータの姿勢を含めた演算が必要となり、その結果動作不可能と判定されると、改めて動作点を設定し直して同様の演算を繰り返し行うことになる。第1位置によっては、上記のような演算を極めて多くこなすことになる場合があり、その場合最終的には動作可能という回答が得られるにしても、それを得るためにかなりの演算時間を必要として非効率である。それに対して、上記構成のように長さ比較により動作可否の判定を行えば、1回の演算により最終的な回答に到達できるので、極めて演算時間を短縮できる。例えばロボット(マニプレータ)において、一番手間が掛かる(時間や費用の効率が悪い)のは、導入初期の教示やキャリブレーションといった必ず人手を介さないとできない段階である。本願は元々、そのタイミングで行われるものであるので、上記構成により演算時間を短縮できれば、手間の改善につながり効率的なロボット導入も可能になることから、ロボットにとっては極めて意味のあるものである。
【0019】
具体的には、第7の手段のように、前記長さ判定部は、前記動作点の設定時の温度における前記基点から前記第1位置までの距離が、前記所定温度において前記関節を完全に伸ばした状態での前記基点から前記所定点までの長さよりも長い場合に、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定するといった構成を採用することができる。こうした構成によれば、所定温度において第1位置に所定点を移動させることが不可能であることを、簡易な演算により高速で判定することができる。
【0020】
具体的には、第8の手段のように、前記長さ判定部は、前記動作点の設定時の温度における前記基点から前記第1位置までの距離が、前記所定温度において前記関節を完全に伸ばした状態での前記基点から前記所定点までの長さよりも短い場合に、前記所定温度において前記第1位置に前記所定点を移動させることが可能であると判定するといった構成を採用することができる。こうした構成によれば、所定温度において第1位置に所定点を移動させることが可能であることを、簡易な演算により高速で判定することができる。
【0021】
第9の手段では、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であることを通知する。
【0022】
上記構成によれば、所定温度において第1位置に所定点を移動させることが不可能であると判定された場合に、所定温度において第1位置に所定点を移動させることが不可能であることが通知される。このため、ユーザは、現在の動作点の設定では、所定温度において第1位置に所定点を移動させることが不可能となることを知ることができる。その結果、動作点の設定終了後に動作点の設定をやり直す必要が生じることや、マニプレータの納入後に動作不能になることを抑制することができる。
【0023】
第10の手段では、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記第1位置に前記所定点を移動させることが不可能となる温度を通知する温度通知部を備える。
【0024】
上記構成によれば、所定温度において第1位置に所定点を移動させることが不可能であると判定された場合に、第1位置に所定点を移動させることが不可能となる温度が通知される。このため、ユーザは、マニプレータを使用する環境の温度やマニプレータの使用状態を考慮して、第1位置に所定点を移動させることが可能であるか否か判断することができる。
【0025】
第11の手段では、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記動作点の設定時に前記関節の角度を修正すべき方向を通知する角度通知部を備える。
【0026】
上記構成によれば、所定温度において第1位置に所定点を移動させることが不可能であると判定された場合に、動作点の設定時に関節の角度を修正すべき方向が通知される。このため、ユーザは、所定温度において第1位置に所定点を移動させることを可能とするために、動作点の設定時に関節の角度を修正する方向を容易に知ることができる。
【0027】
第12の手段では、前記角度通知部は、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記動作点の設定時に前記関節の角度を修正すべき量を通知する。
【0028】
上記構成によれば、所定温度において第1位置に所定点を移動させることが不可能であると判定された場合に、動作点の設定時に関節の角度を修正すべき量が通知される。このため、ユーザは、所定温度において第1位置に所定点を移動させることを可能とするために、動作点の設定時に関節の角度を修正する量を容易に知ることができる。
【0029】
第13の手段では、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記動作点の設定時に前記動作点の位置を修正すべき方向を通知する位置通知部を備える。
【0030】
上記構成によれば、所定温度において第1位置に所定点を移動させることが不可能であると判定された場合に、動作点の設定時に動作点の位置を修正すべき方向が通知される。このため、ユーザは、所定温度において第1位置に所定点を移動させることを可能とするために、動作点の設定時に動作点の位置を修正する方向を容易に知ることができる。
【0031】
第14の手段では、前記位置通知部は、前記所定温度において前記第1位置に前記所定点を移動させることが不可能であると判定された場合に、前記動作点の設定時に前記動作点の位置を修正すべき量を通知する。
【0032】
上記構成によれば、所定温度において第1位置に所定点を移動させることが不可能であると判定された場合に、動作点の設定時に動作点の位置を修正すべき量が通知される。このため、ユーザは、所定温度において第1位置に所定点を移動させることを可能とするために、動作点の設定時に動作点の位置を修正する量を容易に知ることができる。
【図面の簡単な説明】
【0033】
図1】アーム及びコントローラを示す模式図。
図2】電源ON直後の伸び状態のアームを示す模式図。
図3】暖機動作後の伸び状態のアームを示す模式図。
図4】電源ON直後の曲げ状態のアームを示す模式図。
図5】暖機動作後の曲げ状態のアームを示す模式図。
図6】伸び状態における位置から角度への逆変換を示す模式図。
図7】曲げ状態における位置から角度への逆変換を示す模式図。
図8】スプライン軌道及び動作点を示す模式図。
【発明を実施するための形態】
【0034】
(第1実施形態)
以下、垂直多関節ロボットの第2軸及び第3軸を構成する複数のリンク及び関節に具現化した第1実施形態について、図面を参照して説明する。
【0035】
図1に示すように、アーム10(マニプレータに相当)は、リンクL1,L2、及び関節J1,J2を備えている。リンクL1は、関節J1により回転可能に支持されている。関節J2は、リンクL1とリンクL2とを相対回転可能に接続している。関節J1,J2は、前段のリンクに固定された軸受けと、この軸受けを介して回転可能に支持された回転軸とを備えている。この回転軸は、次段のリンクに接続されており、モータ及び減速機等を備える駆動装置により回転させられる。リンクL1において、関節J2と反対側の端部の中心(1点)は、リンクL1,L2の動作の基点Bに設定されている。リンクL2において、関節J2と反対側の端部の中心は、アーム10の位置を表す所定点Cに設定されている。
【0036】
関節J1,J2には、それぞれエンコーダ11,12が設けられている。エンコーダ11,12は、それぞれの関節において回転軸の回転角度を検出する。また、エンコーダ11,12は、それぞれ温度センサを備えている。温度センサは、エンコーダの温度、ひいてはモータの温度を検出する。エンコーダ11,12により検出された各回転軸の回転角度、及び温度センサにより検出された各エンコーダの温度は、コントローラ20へ出力される。
【0037】
アーム10の動作状態は、コントローラ20により制御される。コントローラ20(動作判定装置に相当)は、CPU、ROM、RAM、入出力インターフェース等を備えるマイクロコンピュータである。コントローラ20は、エンコーダ11,12及び温度センサによる検出値に基づいて、所定点Cを目標位置に移動させる。
【0038】
詳しくは、コントローラ20は、各温度センサにより検出される温度に基づいて、リンクL1,L2の温度を算出する。コントローラ20は、基準温度におけるリンクL1,L2の長さ、基準温度とリンクL1,L2の温度との差、及びリンクL1,L2の熱膨張係数に基づいて、リンクL1,L2の長さを算出する。コントローラ20は、所定点Cの目標位置及びリンクL1,L2の長さに基づいて、関節J1,J2の目標回転角度を算出する(目標位置から目標回転角度への逆変換)。そして、コントローラ20は、エンコーダ11,12によりそれぞれ検出される回転角度が、関節J1,J2のそれぞれの目標回転角度になるように、関節J1,J2のモータをそれぞれフィードバック制御する。なお、コントローラ20は、関節J1,J2の回転角度及びリンクL1,L2の長さに基づいて、所定点Cの位置を算出する(回転角度から位置への変換)。
【0039】
ここで、図2に示すように、コントローラ20の電源ON直後(アーム10の暖機動作前)は、アーム10の温度が低く、リンクL1,L2の長さが短くなっている。基準温度(例えば40℃)においてリンクL1,L2の長さが500.0mmであるのに対して、電源ON直後(例えば20℃)においてリンクL1,L2の長さが499.8mmになっている。
【0040】
一方、図3に示すように、アーム10暖機動作後は、アーム10の温度が高く、リンクL1,L2の長さが長くなっている。基準温度(例えば40℃)においてリンクL1,L2の長さが500.0mmであるのに対して、暖機動作後(例えば60℃)においてリンクL1,L2の長さが500.2mmになっている。
【0041】
このため、図3に示す暖機動作後にアーム10の関節J2を完全に伸ばした状態で、所定点Cを移動させる位置である動作点を教示(設定)すると、図2に示す電源ON直後にアーム10の関節J2を完全に伸ばしたとしても、教示した動作点(以下、「教示点」という)に所定点Cを移動させることができない。この場合、コントローラ20は、所定点Cの目標位置としての教示点及びリンクL1,L2の長さに基づいて、関節J1,J2の目標回転角度を算出しようとしても、目標回転角度を算出することができない(目標回転角度の解なし)。
【0042】
また、図4,5に示すように、リンクL2がアーム10(ロボット)の他の部分に衝突すること等を防ぐために、アーム10の関節J2を回転させることが可能な最大の回転角度は、最大回転角度θmax(例えば90°)となっている。このため、図4に示す電源ON直後にアーム10の関節J2を最大限曲げた状態で、所定点Cの動作点を教示(設定)すると、図5に示す暖機動作後にアーム10の関節J2を最大限曲げたとしても、教示点に所定点Cを移動させることができない。この場合、コントローラ20は、教示点及びリンクL1,L2の長さに基づいて、関節J1,J2の目標回転角度を算出することはできる。しかしながら、算出された関節J2の目標回転角度は、関節J2の最大回転角度θmaxを超えた回転角度となる。すなわち、このとき算出される目標回転角度は関節J2の可動範囲を超えた回転角度となり、関節J2により実現不可能な回転角度となる。
【0043】
なお、暖機動作の前後でアーム10の温度が異なる場合だけでなく、ロボットの動作環境の温度が場所や季節により変化した場合や、アーム10の動作状態(発熱状態)が変化した場合も、同様の問題が生じ得る。
【0044】
そこで、本実施形態では、コントローラ20(第1位置算出部に相当)は、図6(a)及び図7(a)に示すように、ユーザによる所定点Cの動作点の教示時に、教示時の温度(例えば60℃)におけるリンクL1,L2の長さ及び教示点に基づいて、所定点Cが移動する位置である第1位置を算出する。各教示点に所定点Cを直線的に移動させる場合は、各教示点を第1位置とすればよい。
【0045】
しかしながら、図8に示すように、動作点P1,P2,P4,P5の間を、所定点Cがスプライン軌道T(動作軌道に相当)で移動する場合は、スプライン軌道T上において教示点ではない点P3に所定点Cを移動させることができない場合がある。スプライン軌道Tは、動作点P1,P2,P4,P5を通る滑らかな曲線として規定される。例えば、スプライン軌道Tにおいて点P3の付近の曲率は他の部分の曲率よりも大きくなっており、点P3の両脇に、関節J2を完全に伸ばした状態で動作点P2,P4が設定されている。この場合、点P3に所定点Cを移動させることができない。
【0046】
したがって、コントローラ20は、スプライン軌道T上の全ての点を上記第1位置とする。すなわち、第1位置は、動作点P1,P2,P4,P5により規定されるスプライン軌道T上の点P3を含んでいる。
【0047】
コントローラ20(角度算出部に相当)は、図6(b)及び図7(b)に示すように、所定温度(例えば20℃)におけるリンクL1,L2の長さに基づいて、算出された第1位置に所定点Cを移動させる時の関節J1,J2の回転角度を算出する。詳しくは、コントローラ20は、基準温度(例えば40℃)におけるリンクL1,L2の長さ(例えば500.0mm)、基準温度とリンクL1,L2の温度との差(例えば40℃−20℃=20℃)、及びリンクL1,L2の熱膨張係数に基づいて、20℃でのリンクL1,L2の長さを算出する。そして、コントローラ20は、第1位置及びリンクL1,L2の長さに基づいて、関節J1,J2の回転角度を算出する(位置から回転角度への逆変換)。
【0048】
そして、コントローラ20(角度判定部に相当)は、回転角度の算出結果に基づいて、所定温度において第1位置に所定点Cを移動させることが可能であるか否か判定する。詳しくは、図6(b)に示すように、コントローラ20は、回転角度が算出されなかった場合に、所定温度において第1位置に所定点Cを移動させることが不可能であると判定する。また、図7(b)に示すように、コントローラ20は、算出された回転角度θ12,θ22が、それぞれ関節J1,J2により実現可能な角度であった場合に、所定温度において第1位置に所定点Cを移動させることが可能であると判定する。
【0049】
さらに、所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、コントローラ20(不可通知部に相当)は、所定温度において第1位置に所定点Cを移動させることが不可能であることをユーザに通知する。具体的には、コントローラ20に接続されたモニタやティーチングペンダントにより、所定温度において第1位置に所定点Cを移動させることが不可能であることを表示させたり、音声で通知させたりする。
【0050】
加えて、所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、コントローラ20(温度通知部に相当)は、第1位置に所定点Cを移動させることが不可能となる温度をユーザに通知する。具体的には、コントローラ20は、基準温度におけるリンクL1,L2の長さと熱膨張係数とに基づいて、算出された第1位置に所定点Cを移動させる時の関節J1,J2の回転角度を算出することができなくなる温度を算出する。あるいは、コントローラ20は、基準温度におけるリンクL1,L2の長さと熱膨張係数とに基づいて、算出された第1位置に所定点Cを移動させる時の関節J1,J2の回転角度が最大回転角度θmaxとなる温度を算出する。そして、コントローラ20は、算出した温度をユーザに通知する。
【0051】
また、コントローラ20(角度通知部に相当)は、所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、動作点の教示時に関節J1,J2の角度を修正すべき方向をユーザに通知する。具体的には、コントローラ20は、第1位置及びリンクL1,L2の長さに基づいて、関節J1,J2の回転角度を算出することができなかった場合に、関節J2を曲げる方向に教示点の位置を修正すべきであることをユーザに通知する。また、コントローラ20は、算出された関節J2の回転角度が、関節J2の最大回転角度θmaxを超えた回転角度であった場合に、関節J2を伸ばす方向に教示点の位置を修正すべきであることをユーザに通知する。
【0052】
加えて、所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、コントローラ20は、動作点の教示時に関節J1,J2の角度を修正すべき量をユーザに通知する。具体的には、コントローラ20は、基点Bと所定点Cとの距離が所定温度におけるリンクL1,L2の長さの合計になる回転角度と第1位置での回転角度との差を、関節J2の角度を修正すべき量としてユーザに通知する。また、コントローラ20は、算出された関節J2の回転角度と最大回転角度θmaxとの差を、関節J2の角度を修正すべき量としてユーザに通知する。
【0053】
また、所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、コントローラ20(位置通知部に相当)は、動作点の教示時に教示点の位置を修正すべき方向をユーザに通知する。具体的には、コントローラ20は、第1位置及びリンクL1,L2の長さに基づいて、関節J1,J2の回転角度を算出することができなかった場合に、基点Bに近付ける方向に教示点の位置を修正すべきであることをユーザに通知する。また、コントローラ20は、算出された関節J2の回転角度が、関節J2の最大回転角度θmaxを超えた回転角度であった場合に、基点Bから遠ざける方向に教示点の位置を修正すべきであることをユーザに通知する。
【0054】
加えて、所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、コントローラ20は、動作点の教示時に教示点の位置を修正すべき量をユーザに通知する。具体的には、コントローラ20は、基点Bと所定点Cとの距離が所定温度におけるリンクL1,L2の長さの合計になる回転角度を変換して算出した位置と第1位置との差を、教示点の位置を修正すべき量としてユーザに通知する。また、コントローラ20は、算出された関節J2の回転角度を変換して算出した位置と最大回転角度θmaxを変換して算出した位置との差を、教示点の位置を修正すべき量としてユーザに通知する。
【0055】
以上詳述した本実施形態は、以下の利点を有する。
【0056】
・角度算出部により、所定温度における複数のリンクL1,L2の長さに基づいて、第1位置に所定点Cを移動させる時の関節J1,J2の回転角度が算出される。所定温度において第1位置に所定点Cを移動させることが可能であれば、角度算出部により有効な関節J1,J2の回転角度が算出される。一方、所定温度において第1位置に所定点Cを移動させることが不可能であれば、角度算出部により有効な関節J1,J2の回転角度が算出されない。したがって、角度算出部による回転角度の算出結果に基づいて、所定温度において第1位置に所定点Cを移動させることが可能であるか否か判定することができる。その結果、所定温度において、設定した通りにアーム10を動作させることが可能か否か判定することができる。
【0057】
・角度判定部は、角度算出部により回転角度が算出されなかった場合、又は角度算出部により算出された回転角度が、関節J1,J2により実現不可能な角度であった場合に、所定温度において第1位置に所定点Cを移動させることが不可能であると判定する。こうした構成によれば、所定温度において第1位置に所定点Cを移動させることが不可能であることを容易に判定することができる。
【0058】
・回転角度判定部は、回転角度算出部により算出された回転角度θ12,θ22が、関節J1,J2により実現可能な角度であった場合に、所定温度において第1位置に所定点Cを移動させることが可能であると判定する。こうした構成によれば、所定温度において第1位置に所定点Cを移動させることが可能であることを容易に判定することができる。
【0059】
・第1位置は、複数の動作点P1,P2,P4,P5により規定されるスプライン軌道T上の点P3を含んでいる。したがって、設定された動作点P1,P2,P4,P5のみならず、複数の動作点P1,P2,P4,P5により規定されるスプライン軌道T上の点P3に、所定温度において所定点Cを移動させることが可能であるか否か判定することができる。以下、図8を例にして、本実施形態の利点を説明する。
【0060】
・所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、所定温度において第1位置に所定点Cを移動させることが不可能であることが通知される。このため、ユーザは、現在の動作点P1,P2,P4,P5では、所定温度において点P3(第1位置)に所定点Cを移動させることが不可能となることを知ることができる。その結果、動作点P1,P2,P4,P5の教示終了後に動作点P1,P2,P4,P5の教示をやり直す必要が生じることや、ロボットの納入後に動作不能になることを抑制することができる。
【0061】
・所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、第1位置に所定点Cを移動させることが不可能となる温度が通知される。このため、ユーザは、アーム10を使用する環境の温度やアーム10の使用状態を考慮して、第1位置に所定点Cを移動させることが可能であるか否か判断することができる。
【0062】
・所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、動作点P1,P2,P4,P5の教示時に関節J1,J2の角度を修正すべき方向が通知される。このため、ユーザは、所定温度において点P3に所定点Cを移動させることを可能とするために、動作点P1,P2,P4,P5の教示時に関節J1,J2の角度を修正する方向を容易に知ることができる。
【0063】
・所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、動作点P1,P2,P4,P5の教示時に関節J1,J2の角度を修正すべき量が通知される。このため、ユーザは、所定温度において点P3に所定点Cを移動させることを可能とするために、動作点P1,P2,P4,P5の教示時に関節J1,J2の角度を修正する量を容易に知ることができる。
【0064】
・所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、動作点P1,P2,P4,P5の教示時に動作点P2,P4の位置を修正すべき方向が通知される。このため、ユーザは、所定温度において点P3に所定点Cを移動させることを可能とするために、動作点P1,P2,P4,P5の教示時に動作点P2,P4の位置を修正する方向を容易に知ることができる。
【0065】
・所定温度において第1位置に所定点Cを移動させることが不可能であると判定された場合に、動作点P1,P2,P4,P5の教示時に動作点P2,P4の位置を修正すべき量が通知される。このため、ユーザは、所定温度において点P3に所定点Cを移動させることを可能とするために、動作点P1,P2,P4,P5の教示時に動作点P2,P4の位置を修正する量を容易に知ることができる。
【0066】
なお、第1実施形態を、以下のように変更して実施することもできる。
【0067】
・上記の各通知のうち少なくとも一部を省略してもよい。
【0068】
・ユーザによる動作点P1,P2,P4,P5の教示時に限らず、シミュレーションによるアーム10の動作確認時に、第1位置に所定点Cを移動させることが可能であるか否か判定してもよい。その場合、コントローラ20は、シミュレーションにおいて、設定した温度におけるリンクL1,L2の長さ、及び設定した動作点に基づいて、所定点Cが移動する位置である第1位置を算出し、作業時を想定した所定温度におけるリンクL1,L2の長さに基づいて、第1位置に所定点Cを移動させる時の関節J1,J2の回転角度を算出し、算出した回転角度に基づいて、所定温度において第1位置に所定点Cを移動させることが可能であるか否か判定すればよい。
【0069】
(第2実施形態)
以下、所定温度において第1位置に所定点Cを移動させることが可能であるか否か判定する構成を変更した第2実施形態について、第1実施形態との相違点を中心に説明する。なお、第1実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
【0070】
図2に示すように、所定温度(例えば20℃)において所定点Cを移動させることができる基点Bから最も離れた位置は、関節J2を完全に伸ばした状態での所定点Cの位置となる。したがって、図3に示すように、動作点の教示時(例えば60℃)に算出した第1位置がこの位置よりも外側にある場合は、所定温度において所定点Cを第1位置に移動させることができない。
【0071】
そこで、本実施形態では、コントローラ20(長さ判定部に相当)は、動作点の教示時の温度における基点Bから第1位置までの距離と、所定温度において関節J2を完全に伸ばした状態での基点Bから所定点Cまでの長さとに基づいて、所定温度において第1位置に所定点Cを移動させることが可能であるか否か判定する。
【0072】
詳しくは、コントローラ20は、動作点の教示時の温度における基点Bから第1位置までの距離が、所定温度において関節J2を完全に伸ばした状態での基点Bから所定点Cまでの長さよりも長い場合に、所定温度において第1位置に所定点Cを移動させることが不可能であると判定する。また、コントローラ20は、動作点の教示時の温度における基点Bから第1位置までの距離が、所定温度において関節J2を完全に伸ばした状態での基点Bから所定点Cまでの長さよりも短い場合に、所定温度において第1位置に所定点Cを移動させることが可能であると判定する。
【0073】
本実施形態は、以下の利点を有する。
【0074】
・動作点の教示時の温度における基点Bから第1位置までの距離と、所定温度において関節J2を完全に伸ばした状態での基点Bから所定点Cまでの長さとに基づいて、所定温度において所定点Cを第1位置に移動させることが可能であるか否か判定される。このため、教示した通りにアーム10を動作させることが可能か否かを、簡易な演算により高速で判定することができる。
【0075】
・所定温度において第1位置に所定点Cを移動させることが不可能であることを、簡易な演算により高速で判定することができる。
【0076】
・所定温度において第1位置に所定点Cを移動させることが可能であることを、簡易な演算により高速で判定することができる。
【0077】
なお、第2実施形態を、以下のように変更して実施することもできる。
【0078】
・所定温度において第1位置に所定点Cを移動させることが不可能であることの通知、及び所定温度において第1位置に所定点Cを移動させることが可能であることの通知の一方のみを行ってもよい。
【0079】
・ユーザによる動作点の教示時に限らず、シミュレーションによるアーム10の動作確認時に、第1位置に所定点Cを移動させることが可能であるか否か判定してもよい。その場合、コントローラ20は、シミュレーションにおいて、設定した温度におけるリンクL1,L2の長さ、及び設定した動作点に基づいて、所定点Cが移動する位置である第1位置を算出し、設定した温度における基点Bから第1位置までの距離と、作業時を想定した所定温度において関節J2を完全に伸ばした状態での基点Bから所定点Cまでの長さとに基づいて、所定温度において第1位置に所定点Cを移動させることが可能であるか否か判定すればよい。
【0080】
また、第1及び第2実施形態を、以下のように変更して実施することもできる。
【0081】
・コントローラ20は、第1実施形態によるアーム10の動作可否の判定、及び第2実施形態によるアーム10の動作可否の判定の双方を実行してもよいし、一方のみを実行してもよい。
【0082】
・基点Bは、リンクL1において、関節J2と反対側の端部の中心(1点)に限らず、関節J1と関節J2との間に設定することもできる。
【0083】
・アーム10の動作可否を判定する温度である所定温度は、アーム10を動作させる環境の温度やアーム10の動作状態(発熱状態)に応じて、任意に設定することができる。
【0084】
・各温度におけるリンクL1,L2の長さを予め算出して記憶しておき、コントローラ20は、動作点の設定時の温度や所定温度に応じて、記憶されたリンクL1,L2の長さを読み込んで用いてもよい。
【0085】
・教示点にアーム10の所定点Cを移動させる動作とは別に、教示点から所定方向へ所定距離だけ所定点Cを移動させる動作をアーム10に実行させる場合がある。この場合、教示点から所定方向へ所定距離の位置を、所定点Cが移動する位置である第1位置に含めればよい。
【0086】
・垂直多関節ロボットの第2軸及び第3軸を構成するリンクL1,L2及び関節J1,J2に限らず、水平多関節ロボットの第1軸及び第2軸を構成する複数のリンク及び関節に具現化することもできる。さらに、ロボットのアーム10に限らず、複数のリンクと、複数のリンクを相対回転可能に接続する関節と、を備えるマニプレータに具現化することもできる。また、リンクの数は2つに限らず、3つ以上であっても、同様の考え方によりマニプレータの動作可否を判定することができる。
【符号の説明】
【0087】
10…アーム(マニプレータ)、20…コントローラ(動作判定装置)、J1…関節、J2…関節、L1…リンク、L2…リンク。
図1
図2
図3
図4
図5
図6
図7
図8