IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 新日鉄住金エンジニアリング株式会社の特許一覧

特開2025-40798制御システム、制御方法及びプログラム
<>
  • 特開-制御システム、制御方法及びプログラム 図1
  • 特開-制御システム、制御方法及びプログラム 図2
  • 特開-制御システム、制御方法及びプログラム 図3
  • 特開-制御システム、制御方法及びプログラム 図4
  • 特開-制御システム、制御方法及びプログラム 図5
  • 特開-制御システム、制御方法及びプログラム 図6
  • 特開-制御システム、制御方法及びプログラム 図7
  • 特開-制御システム、制御方法及びプログラム 図8
  • 特開-制御システム、制御方法及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025040798
(43)【公開日】2025-03-25
(54)【発明の名称】制御システム、制御方法及びプログラム
(51)【国際特許分類】
   B25J 9/22 20060101AFI20250317BHJP
【FI】
B25J9/22 Z
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023147827
(22)【出願日】2023-09-12
(71)【出願人】
【識別番号】306022513
【氏名又は名称】日鉄エンジニアリング株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100140774
【弁理士】
【氏名又は名称】大浪 一徳
(74)【代理人】
【識別番号】100134359
【弁理士】
【氏名又は名称】勝俣 智夫
(74)【代理人】
【識別番号】100188592
【弁理士】
【氏名又は名称】山口 洋
(74)【代理人】
【識別番号】100217249
【弁理士】
【氏名又は名称】堀田 耕一郎
(74)【代理人】
【識別番号】100221279
【弁理士】
【氏名又は名称】山口 健吾
(74)【代理人】
【識別番号】100207686
【弁理士】
【氏名又は名称】飯田 恭宏
(74)【代理人】
【識別番号】100224812
【弁理士】
【氏名又は名称】井口 翔太
(72)【発明者】
【氏名】甲原 匠
(72)【発明者】
【氏名】川口 秀喜
(72)【発明者】
【氏名】村上 健太
(72)【発明者】
【氏名】中尾 泰三
(72)【発明者】
【氏名】田代 裕一朗
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707JU07
3C707KS21
3C707LS02
3C707LS14
3C707LS16
(57)【要約】
【課題】ロボットの制御に要する労力を軽減する。
【解決手段】本発明の一態様は、ロボットの第1の移動経路である第1移動経路を、前記第1移動経路の開始の位置と、前記第1移動経路の終了の位置と、前記開始の位置と前記終了の位置との間の前記移動経路上の0以上の0、1又は複数の位置とによって示す第1経路情報と、前記第1移動経路に対する等長変換である第1等長変換の内容を示す第1等長変換情報と、に基づき、前記第1移動経路に対する前記第1等長変換の結果に沿って前記ロボットを移動させる制御部、を備え、前記制御部は、更に、前記第1経路情報が示す各位置における前記ロボットの姿勢を示す第1姿勢情報に基づき、前記ロボットの姿勢も制御する、制御システムである。
【選択図】図1
【特許請求の範囲】
【請求項1】
ロボットの第1の移動経路である第1移動経路を、前記第1移動経路の開始の位置と、前記第1移動経路の終了の位置と、前記開始の位置と前記終了の位置との間の前記移動経路上の0以上の0、1又は複数の位置とによって示す第1経路情報と、前記第1移動経路に対する等長変換である第1等長変換の内容を示す第1等長変換情報と、に基づき、前記第1移動経路に対する前記第1等長変換の結果に沿って前記ロボットを移動させる制御部、
を備え、
前記制御部は、更に、前記第1経路情報が示す各位置における前記ロボットの姿勢を示す第1姿勢情報に基づき、前記ロボットの姿勢も制御する、
制御システム。
【請求項2】
前記制御部は、前記姿勢の制御において、前記第1姿勢情報が示す前記開始の位置における前記ロボットの姿勢とは必ずしも同一ではない姿勢であって前記開始の位置における前記ロボットの姿勢、を示す初期姿勢情報と、前記第1姿勢情報と、前記第1等長変換情報と、に基づき、前記姿勢を制御する、
請求項1に記載の制御システム。
【請求項3】
前記制御部は、更に、前記第1移動経路とは異なる移動経路である第2移動経路を示す情報であって、前記第2移動経路の開始の位置と、前記第2移動経路の終了の位置と、前記第2移動経路の開始の位置と前記第2移動経路の終了の位置との間の前記移動経路上の0以上の位置と、によって前記第2移動経路を示す第2経路情報と、前記第2経路情報が示す各位置における前記ロボットの姿勢を示す第2姿勢情報と、に基づき、
前記ロボットが、前記第1移動経路に対する前記第1等長変換の結果に沿った移動を行った後に前記第2経路情報に基づく移動経路に沿って移動するように、前記ロボットの移動と姿勢とを制御する、
請求項1に記載の制御システム。
【請求項4】
前記制御部は、前記第1姿勢情報に基づく姿勢であって前記第1経路情報に基づく移動経路の終了の位置における姿勢と、前記第2姿勢情報に基づく姿勢であって前記第2経路情報に基づく移動経路の開始の位置における姿勢と、が一致するか否かの判定を行い、
前記制御部は、前記判定の結果に応じた所定の規則にしたがって、前記ロボットの移動経路を制御する、
請求項3に記載の制御システム。
【請求項5】
前記制御部は、前記第1移動経路に基づく移動経路と、前記第2経路情報に基づく移動経路と、を互いに識別可能に所定の表示先に表示させる、
請求項3に記載の制御システム。
【請求項6】
前記制御部は、前記第1経路情報が示す各位置のうち前記第1等長変換後の座標が前記第1等長変換前と異なる位置を、前記第1経路情報が示す各位置のうち前記第1等長変換後の座標が前記第1等長変換前と同じ位置と識別可能に所定の表示先に表示させる、
請求項1に記載の制御システム。
【請求項7】
前記等長変換は、鏡映である、
請求項1に記載の制御システム。
【請求項8】
ロボットの第1の移動経路である第1移動経路を、前記第1移動経路の開始の位置と、前記第1移動経路の終了の位置と、前記開始の位置と前記終了の位置との間の前記移動経路上の0以上の0、1又は複数の位置とによって示す第1経路情報と、前記第1移動経路に対する等長変換である第1等長変換の内容を示す第1等長変換情報と、に基づき、前記第1移動経路に対する前記第1等長変換の結果に沿って前記ロボットを移動させる制御ステップ、
を有し、
前記制御ステップは、更に、前記第1経路情報が示す各位置における前記ロボットの姿勢を示す第1姿勢情報に基づき、前記ロボットの姿勢も制御する、
制御方法。
【請求項9】
請求項1から7のいずれか一項に記載の制御システムとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システム、制御方法及びプログラムに関する。
【背景技術】
【0002】
産業用ロボット等のロボットの重要性が益々増している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平5-096481号公報
【特許文献2】特開昭61-125785号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、ロボットの移動の制御に際しては、事前にロボットを実際に移動経路に沿って移動させながらロボットに動きを記憶させるティーチングの作業が必要である。ロボットの作業が変わるたびにティーチングを行えば、ロボットはユーザの希望する作業を行うことができる。
【0005】
ただ、それでは、ユーザの負担が大きい。そこで、特許文献1や特許文献2の技術では、一度記憶した動作を複数の再生開始位置で再生させることでユーザの負担の軽減を図っている。しかしながら、利活用可能な動作は限定的であり、例えば再生開始位置の姿勢の変更が必要な場合などに改めてティーチングが必要であった。
【0006】
本発明は、前述した事情に鑑みてなされたものであって、ロボットの制御に要する労力を軽減する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様は、ロボットの第1の移動経路である第1移動経路を、前記第1移動経路の開始の位置と、前記第1移動経路の終了の位置と、前記開始の位置と前記終了の位置との間の前記移動経路上の0以上の0、1又は複数の位置とによって示す第1経路情報と、前記第1移動経路に対する等長変換である第1等長変換の内容を示す第1等長変換情報と、に基づき、前記第1移動経路に対する前記第1等長変換の結果に沿って前記ロボットを移動させる制御部、を備え、前記制御部は、更に、前記第1経路情報が示す各位置における前記ロボットの姿勢を示す第1姿勢情報に基づき、前記ロボットの姿勢も制御する、制御システムである。
【発明の効果】
【0008】
本発明によれば、ロボットの制御に要する労力を軽減することができる。
【図面の簡単な説明】
【0009】
図1】実施形態の制御システムの概要を説明する説明図。
図2】実施形態における制御対象の移動経路と姿勢との例を説明する説明図。
図3】実施形態におけるロボット状況情報の一例を示す図。
図4】実施形態における等長変換の内容の一例を示す図。
図5】実施形態における制御装置のハードウェア構成の一例を示す図。
図6】実施形態における制御装置の実行する処理の流れの一例を示すフローチャート。
図7】変形例における制御処理の一例を説明する第1の説明図。
図8】変形例における制御処理の一例を説明する第2の説明図。
図9】変形例における制御処理の一例を説明する第3の説明図。
【発明を実施するための形態】
【0010】
〔実施形態〕
図1は、実施形態における制御システム100の概要を説明する説明図である。制御システム100は、ロボット1と制御装置2とを備える。ロボット1は、産業用ロボット等のロボットであって、制御装置2の制御対象である。制御装置2は、制御装置を制御する。制御装置2は、バスで接続されたCPU(Central Processing Unit)等のプロセッサ91とメモリ92とを備える制御部21を備え、プログラムを実行する。
【0011】
制御部21は、制御処理を実行する。制御処理は、制御対象の制御を行う処理である。制御処理は、例えば、第1移動経路を示す第1経路情報と、第1移動経路に対する等長変換である第1等長変換の内容を示す第1等長変換情報とに基づき、第1移動経路に対する第1等長変換の結果に沿って制御対象を移動させる処理を含む。第1移動経路は、制御対象の第1の移動経路である。
【0012】
第1経路情報は、第1移動経路を、第1移動経路の開始の位置(以下「第1開始位置」という。)と、第1移動経路の終了の位置(以下「第1終了位置」という。)と、第1開始位置と第1終了位置との間の第1移動経路上の0以上の0、1又は複数の位置(以下「第1通過位置」という。)とによって示す。第1経路情報は第1移動経路を示すので、第1経路情報は第1経路情報の示す各位置を制御対象が通過する順番を示す情報も有する。
【0013】
制御処理は、例えば、第1姿勢情報にも基づいて制御対象の姿勢も制御する。第1姿勢情報は、第1移動経路が示す各位置(すなわち、第1開始位置、第1終了位置及び第1通過位置)における制御対象の姿勢を示す。
【0014】
第1経路情報の示す第1移動経路と第1姿勢情報の示す姿勢とは、例えば、予め制御対象に対して実行されたティーチングの結果であってもよい。ティーチングとは、実際に制御対象を移動させることで、移動中の所定のタイミングで、そのタイミングを示す情報とともに制御対象の位置と姿勢とを所定の記憶装置に記憶させる処理である。
【0015】
図2は、実施形態における制御対象の移動経路と姿勢との例を説明する説明図である。移動経路C101は、第1移動経路の一例である。位置P1は移動経路C101の開始の位置である。したがって、位置P1は、第1開始位置の一例である。位置P4は移動経路C101の終了の位置である。したがって位置P4は、第1終了位置の一例である。
【0016】
位置P2及び位置P3はいずれも、位置P1と位置P4との間の移動経路C101上の位置である。したがって、位置P2と位置P3とはいずれも、それぞれ第1通過位置の一例である。
【0017】
図2の例では、位置P1~位置P4の位置ごとに、その位置とその位置における制御対象の姿勢とを示す情報(以下「ロボット状況情報」という。)が示されている。位置は例えば座標で示され、姿勢は例えば回転角度で示される。
【0018】
図2の例における制御対象の移動を説明する。図2の例において、制御対象は、位置P1から移動を開始して、位置P2、位置P3の順に位置P2と位置P3とを通過するように移動し、位置P4まで移動する。その際の制御対象の各位置における姿勢は、第1姿勢情報が示す姿勢である。
【0019】
例えばロボット状況情報は6次元のベクトルで表現され、1~3番目の要素が絶対座標を示し、4~6番目の要素が回転角度を示す。つまり、1~3番目の要素が位置を示し、4~6番目の要素が制御対象の姿勢を示す。図2の例は、ロボット状況情報が6次元のベクトルで示されている。
【0020】
図2におけるベクトルQ1は、位置P1と位置P1における制御対象の姿勢とを示すロボット状況情報である。図2におけるベクトルQ2は、位置P2と位置P2における制御対象の姿勢とを示すロボット状況情報である。図2におけるベクトルQ3は、位置P3と位置P3における制御対象の姿勢とを示すロボット状況情報である。図2におけるベクトルQ4は、位置P4と位置P4における制御対象の姿勢とを示すロボット状況情報である。
【0021】
ロボット状況情報は、例えば、3次元の座標系における各軸の絶対座標によって位置を示す。3次元の座標系は、X軸、Y軸及びZ軸の直交する3軸で張られる系(以下「XYZ座標系」という。)等の直交座標系であってもよいし、斜交座標系であってもよい。ロボット状況情報は、例えば、位置の表示に用いられた座標系における各軸に直交する面内での、所定の基準方向からの回転角度によって、制御対象の姿勢を示す。位置の表示に用いられた座標系における各軸に直交する面は、位置の表示に用いられた座標系がXYZ座標系であれば、XY面、YZ面、XZ面の3つの面である。以下説明の簡単のため、3次元の座標系が、XYZ座標系である場合を例に説明を行う。
【0022】
図2の例の場合、例えばベクトルQ1は位置について、XYZ座標系で表現した場合の位置P1が、X軸の座標が10、Y軸の座標が10、Z軸の座標が10の位置であることを示す。また、ベクトルQ1は姿勢について、位置P1における制御対象の姿勢が、XY面内の回転角度が(-45)度、YZ面内の回転角度が0度、XZ面内の回転角度が0度、の向きであることを示す。
【0023】
図2の例の場合、例えばベクトルQ2は位置について、XYZ座標系で表現した場合の位置P2が、X軸の座標が10、Y軸の座標が20、Z軸の座標が25の位置であることを示す。また、ベクトルQ2は姿勢について、位置P2における制御対象の姿勢が、XY面内の回転角度が(-45)度、YZ面内の回転角度が0度、XZ面内の回転角度が0度、の向きであることを示す。
【0024】
図2の例の場合、例えばベクトルQ3は位置について、XYZ座標系で表現した場合の位置P3が、X軸の座標が10、Y軸の座標が30、Z軸の座標が25の位置であることを示す。また、ベクトルQ3は姿勢について、位置P3における制御対象の姿勢が、XY面内の回転角度が(-45)度、YZ面内の回転角度が0度、XZ面内の回転角度が0度、の向きであることを示す。
【0025】
図2の例の場合、例えばベクトルQ4は位置について、XYZ座標系で表現した場合の位置P4が、X軸の座標が10、Y軸の座標が40、Z軸の座標が40の位置であることを示す。また、ベクトルQ4は姿勢について、位置P4における制御対象の姿勢が、XY面内の回転角度が(90)度、YZ面内の回転角度が0度、XZ面内の回転角度が0度、の向きであることを示す。
【0026】
このように、ロボット状況情報は、第1移動経路上の開始位置と、終了位置と、通過位置とのそれぞれごとに示される情報であり、位置と姿勢とを示す情報である。なお、通過位置の数はゼロであってもよい。したがって、第1移動経路上の開始位置、終了位置、通過位置それぞれが示すロボット状況情報の集合には、第1経路情報と第1姿勢情報とが含まれる。図2の例でいえば、ベクトルQ1~ベクトルQ4が示す位置の情報の集合が第1経路情報の一例であり、ベクトルQ1~ベクトルQ4が示す姿勢の情報の集合が第1姿勢情報の一例である。
【0027】
図3は、実施形態におけるロボット状況情報の一例を示す図である。図3のロボット状況情報は、図2のロボット状況情報が示す経路と同じ経路を示すが、表示の仕方が異なる。図3の例では図2と異なり、移動経路の開始の位置からの相対座標で示されている。移動経路の開始の位置そのものもまた、図3の例では、移動経路の開始の位置以外からの相対座標で示されている。しかしながら、図3の例の表示の仕方の場合、ロボット状況情報は、移動経路の開始の位置について相対座標だけでなく、不図示の絶対座標の情報も有する。
【0028】
図3に示すベクトルQ2の1~3番目の要素は、順番に0、10、15である。位置P1の絶対座標は図2によれば、(10、10、10)であるので、ベクトル(10、10、10)に対してベクトル(0、10、15)の足し算をすれば、(10、20、25)である。これは、図2におけるベクトルQ2が示す位置P2の座標である。
【0029】
図3に示すベクトルQ3の1~3番目の要素は、順番に0、20、15である。位置P1の絶対座標は図2によれば、(10、10、10)であるので、これにベクトル(0、20、15)の足し算をすれば、(10、30、25)である。これは、図2におけるベクトルQ3が示す位置P3の座標である。
【0030】
図3に示すベクトルQ4の1~3番目の要素は、順番に0、30、30である。位置P1の絶対座標は図2によれば、(10、10、10)であるので、これにベクトル(0、30、30)の足し算をすれば、(10、40、40)である。これは、図2におけるベクトルQ4が示す位置P4の座標である。
【0031】
なお制御対象の移動は、図2のような絶対座標による位置の指定の場合であれ、図3のような相対座標による位置の指定の場合であれ、第1経路情報が示す各位置を順に移動すればどのような移動であってもよい。したがって、その移動は、相対座標指定移動であってもよいし、そうでなくてもよい。相対座標指定移動とは、移動元から見た移動先の位置を示す相対座標を用いて移動元から移動先へと制御対象が移動する移動である。そうでなくてもよい移動は、例えば、絶対座標の示す位置に順番に移動する移動であってもよい。また、各位置間の移動は、どのような軌跡を描くように移動が生じてもよく、直線的な移動であってもよいし、湾曲した移動であってもよい。
【0032】
例えば図3の例において、位置P2~位置P4は位置P1を原点(0,0,0)としたときの相対位置座標で定義されている。この場合、位置P1~位置P4についていずれも「P1を基準とした一つのデータグループ」という識別子を付与し、他のデータと区別して後述する記憶部23等の所定の記憶装置に記録可能である。その結果、制御部21が制御対象を制御する際の位置P1~位置P4の各位置を示すデータの取得について、上記識別子が付与されていない場合と比べて、より容易にデータの取得が可能である。
【0033】
データの取得がより容易とは、制御部21が記憶部23に記録された多くのデータから、所望のデータを見つけ出すのに要する処理の量がより少ない、ことを意味する。そして、その結果、制御部21による制御対象の平行移動の制御に要する処理の量が削減される。また、このような場合、制御部21は例えば、移動元と移動先の相対座標の差分を得て、それを移動量として制御対象を平行移動させてもよい。
【0034】
図4は、実施形態における等長変換の内容の一例を示す図である。より具体的には図4は、図2に示す移動経路C101に対する等長変換の結果の一例を示す。
【0035】
線形代数、位相空間論又は関数解析等の教科書に記載のあるように、等長変換とは、所定の距離空間を変換対象とする変換であり、変換対象の距離空間内の任意の2点間の距離を変えない変換である。
【0036】
したがって、等長変換は、拡大と縮小とを含まず、回転や、平行移動や、鏡映を含む。なお、等長変換には、恒等変換も含む。
【0037】
図4において移動経路は符号C103で示されている。図4の例が示す移動経路は、所定の距離空間が図2の移動経路C101上の位置P1~P4を含む場合に、その距離空間に対して第1等長変換情報の示す等長変換を行った結果が示す移動経路である。図4における移動経路C103が移動経路C101の変換先の移動経路である。
【0038】
より具体的には、位置P5は位置P1の等長変換による変換先の位置であり、位置P6は位置P2の等長変換による変換先の位置であり、位置P7は位置P3の等長変換による変換先の位置であり、位置P8は位置P4の等長変換による変換先の位置である。
【0039】
図4の例において座標は、上述の絶対座標で示されている。移動経路C103における開始の位置は、位置P1に対応する位置である位置P5である。図4の例の等長変換をより具体的に説明すれば、位置P1が位置P5に平行移動するように移動経路C101が平行移動させた後、位置P5を中心に移動経路を紙面内で(-90度)回転させる等長変換である。
【0040】
(-90)度の回転について図2及び図4からそれが言えることを説明する。図2の移動経路上の任意の2つの位置と図4の移動経路上の対応する2つの位置とを比べれば、どういった位置の組合せで検証してもよいが、例えば、位置P1、位置P2、位置P5及び位置P6を比べてみる。位置P1から見た位置P2の位置ベクトルは、図2によれば(0、10、15)(=(10、20、25)-(10、10、10))である。一方、位置P5から見た位置P6の位置ベクトルは、図4によれば(0、15、-10)(=(10、75、40)-(10、60、50))である。
【0041】
ここで列ベクトル(0、10、15)を(-90)度回転させる場面を考える。簡単のため、列ベクトルの第1要素、第2要素、第3要素について順にX軸の座標、Y軸の座標、Z軸の座標を表現すると定義し、紙面に垂直な方向をX軸と定義する。この場合、X軸で(-90)度の回転を表す回転行列Uは以下の式(1)で表される。列ベクトル(0、10、15)をX軸の周りに(-90)度回転させた結果は、以下の式(2)に示すように、列ベクトル(0、15、-10)である。
【0042】
【数1】
【0043】
【数2】
【0044】
このように、図4の例では、移動経路は平行移動だけでなく回転も行われた結果であり、その回転の角度は(-90)度である。
【0045】
ところで、図4の例では、等長変換による移動経路の変換だけでなく、制御対象の姿勢も変換されている。具体的に図4の例では、図2と比較すればわかるように、各位置で4番目の要素の示す姿勢の回転角度が(-90)度回転する変換が行われている。
【0046】
上述したように、図4の例では、図2の移動経路と比較して移動経路の回転の角度が(-90)度である。移動経路の回転が(-90)度であったので、制御対象の姿勢も(-90度)回転している。つまり、図4の例では第1等長変換情報が移動経路の回転も示しており、このような場合に制御部21は、第1等長変換情報が示す移動経路の回転角度と同じ回転角度の回転を制御対象に対しても行っている。このように、制御部21は、第1等長変換情報に基づいて、移動経路の変換だけでなく、姿勢の変換も行い、その結果にそうように制御対象の移動及び姿勢を制御する。
【0047】
<制御対象の姿勢を第1等長変換情報が示す回転角度だけ回転させることの奏する効果>
一般に移動経路が変化したにも関わらず制御対象の姿勢が変化しなければ、制御対象は適切に動作しない。例えば、移動経路が90度回転したにもかかわらず、制御対象の姿勢を示す上述の回転角度の値が同じであれば、制御対象と移動経路との相対的な位置関係は、移動経路の回転前と後とで変化してしまう。
【0048】
制御対象の動作は、一般に移動経路との相対的な位置関係にしたがって定められていることを鑑みれば、移動経路との相対的な位置関係が変化してしまえば、制御対象は適切な動作を行えない場合がある。一方、移動経路の回転と同じ回転が制御対象に対して行われれば、制御対象と移動経路との相対的な位置関係は変わらないため、制御対象は適切に動作できない可能性が軽減される。
【0049】
なお、等長変換は鏡映も含むため、移動経路に対する等長変換では鏡映が行われてもよい。すなわち、第1等長変換情報が示す等長変換には鏡映が含まれていてもよい。このような場合、制御対象の姿勢は、移動経路に対する鏡映と同様の鏡映による変換が行われてもよい。鏡映の場合にも上記回転の場合と同様に、制御対象の姿勢に対してそれが行われなかった場合には、制御対象と移動経路との相対的な位置関係が変わってしまうため、制御対象が適切に動作しない場合がある。逆に、鏡映の場合にも上記回転の場合と同様に制御対象の姿勢に対してそれが行われば、制御対象と移動経路との相対的な位置関係が変わらないため、制御対象が適切に動作できない可能性が軽減される。
【0050】
<ハードウェア構成の一例>
図5は、実施形態における制御装置2のハードウェア構成の一例を示す図である。制御装置2は、上述したように制御部21を備え、プログラムを実行する。制御装置2は、プログラムの実行によって制御部21、インタフェース部22及び記憶部23を備える装置として機能する。
【0051】
より具体的には、プロセッサ91が記憶部23に記憶されているプログラムを読み出し、読み出したプログラムをメモリ92に記憶させる。プロセッサ91が、メモリ92に記憶させたプログラムを実行することによって、制御装置2は、制御部21、インタフェース部22及び記憶部23を備える装置として機能する。
【0052】
制御部21は、例えば制御処理を行う。制御部21は、例えば制御装置2が備える各機能部の動作を制御する。制御部21は、例えばインタフェース部22を介して、制御対象の移動及び姿勢を制御する。制御部21は、例えばインタフェース部22を介して、第1等長変換情報を取得する。制御部21は、例えば記憶部23の記憶する情報を取得する。記憶部23の記憶する情報を取得する処理は、具体的には、読み出しである。
【0053】
インタフェース部22は、制御装置2を外部装置に接続するための通信インタフェースを含んで構成される。インタフェース部22は、有線又は無線を介して外部装置と通信する。外部装置は、例えば制御対象である。このような場合、インタフェース部22は、制御対象との通信によって制御対象の移動及び姿勢を制御する。
【0054】
外部装置は、例えば第1等長変換情報の送信元の装置である。このような場合、インタフェース部22は、第1等長変換情報の送信元の装置との通信により、第1等長変換情報を取得する。
【0055】
インタフェース部22は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。インタフェース部22は、これらの入力装置を制御装置2に接続するインタフェースとして構成されてもよい。このように、インタフェース部22は、入力装置、有線又は無線、を介して制御装置2に対する各種情報の入力を受け付ける。なお、第1等長変換情報は必ずしも通信インタフェースに入力される必要はなく、入力装置に入力されてもよい。
【0056】
インタフェース部22は、各種情報を出力する。インタフェース部22は、例えばCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を含んで構成される。インタフェース部22は、これらの表示装置を制御装置2に接続するインタフェースとして構成されてもよい。インタフェース部22は、例えばインタフェース部22に入力された情報を出力する。
【0057】
記憶部23は、磁気ハードディスク装置や半導体記憶装置などのコンピュータ読み出し可能な記憶媒体装置(non-transitory computer-readable recording medium)を用いて構成される。記憶部23は制御装置2に関する各種情報を記憶する。記憶部23は、例えば制御対象の移動及び姿勢の制御に必要な情報を記憶する。記憶部23は、例えば、予め、第1経路情報と第1姿勢情報とを記憶する。記憶部23は、例えば制御部21の動作により生じた各種情報を記憶する。記憶部23は、例えばインタフェース部22が取得した情報を記憶する。
【0058】
図6は、実施形態における制御装置2の実行する処理の流れの一例を示すフローチャートである。制御部21が、第1経路情報、第1姿勢情報及び第1等長変換情報を取得する(ステップS101)。次に制御部21が、ステップS101で得た各種情報に基づいて、制御対象の移動及び姿勢を制御する(ステップS102)。
【0059】
このように構成された実施形態の制御システム100は、第1経路情報と、第1姿勢情報と、第1等長変換情報に基づいて制御対象の移動及び姿勢を制御する。第1等長変換情報の示す等長変換は第1移動経路を含む距離空間に対して一律に線形変換を実行するものである。したがって、制御対象の移動経路の指定に際してユーザは等長変換の内容さえ指定すれば、改めてティーチング等の移動経路の情報と姿勢の情報との入力を行う必要はない。そのため、制御システム100は、ロボットの制御に要する労力を軽減することができる。
【0060】
(変形例)
なお、制御部21は、姿勢の制御において、第1姿勢情報の示す第1開始位置における姿勢とは必ずしも同一ではない第1開始位置における姿勢、を示す初期姿勢情報と、第1姿勢情報と、第1等長変換情報と、に基づき、制御対象の姿勢を制御してもよい。例えば、初期姿勢情報の示す第1開始位置における姿勢が、第1姿勢情報の示す第1開始位置における姿勢をθ度回転させた姿勢である場合、制御部21は、第1移動経路上の各位置における姿勢が第1姿勢情報の示す姿勢からθ度回転した姿勢であるように、制御対象の姿勢を制御する。
【0061】
図7図9を用いて、制御処理の変形例の一例を説明する。図7は、変形例における制御処理の一例を説明する第1の説明図である。図8は、変形例における制御処理の一例を説明する第2の説明図である。図9は、変形例における制御処理の一例を説明する第3の説明図である。
【0062】
図7は、第1経路情報が示す第1移動経路の一例を示す。図7の場合、第1経路情報は、第1開始位置P9と第1終了位置P10とのみによって第1移動経路C210を示す。なお、図7の例では、第1経路情報は、第1通過位置を用いることなく(すなわち、ゼロ個の第1通過位置を用いて)第1移動経路を示したが、第1経路情報は、1以上の第1通過位置を用いて第1移動経路を示してもよい。図7の例において第1移動経路C210は、直線の経路である。
【0063】
図8は、第2経路情報が示す第2移動経路の一例を示す。図8の場合、第2経路情報は、第2開始位置P11と第2終了位置P12とのみによって第2移動経路C220を示す。第2移動経路C220は第1移動経路C210と異なり湾曲した経路である。したがって、仮に第2開始位置P11が第1開始位置P9と同じだったとしても、第2終了位置P12は、第2終了位置P10と異なる位置である。この例に示されるように、第2移動経路は、制御対象の移動経路であって第1移動経路とは異なる移動経路である。
【0064】
なお、第2経路情報は、第2開始位置と、第2終了位置と、第2開始位置と第2終了位置との間の第2移動経路上の0以上の0、1又は複数の位置(以下「第2通過位置」という。)とによって、第2移動経路を示す。なお、第2開始位置は、第2移動経路を第2移動経路の開始の位置である。第2終了位置は、第2移動経路の終了の位置である。第2経路情報は第2移動経路を示すので、第2経路情報は第2経路情報の示す各位置を制御対象が通過する順番を示す情報も有する。
【0065】
制御処理は、例えば、第2経路情報と、第2移動経路に対する等長変換である第2等長変換の内容を示す第2等長変換情報とに基づき、第2移動経路に対する第2等長変換の結果に沿って制御対象を移動させる処理を含む。
【0066】
制御処理は、例えば、第2姿勢情報にも基づいて制御対象の姿勢も制御する。第2姿勢情報は、第2移動経路が示す各位置(すなわち、第2開始位置、第2終了位置及び第2通過位置)における制御対象の姿勢を示す。
【0067】
第2経路情報の示す第2移動経路と第2姿勢情報の示す姿勢とは、例えば、予め制御対象に対して実行されたティーチングの結果であってもよい。
【0068】
ここまでの説明で分かるように、第2経路情報は、示す値が第1経路情報と異なる情報であり、データの構造は第1経路情報と同じである。また、第2姿勢情報は、示す値が第1姿勢情報と異なる情報であり、データの構造は第1姿勢情報と同じである。第2等長変換情報は、示す変換の対象が第1移動経路ではなく第2移動経路である点で第1等長変換情報と異なる情報であり、データの構造は第1等長変換情報と同じである。
【0069】
したがって、第2等長変換に基づく第2経路情報の示す第2移動経路の変換や第2姿勢情報の示す姿勢の変換の規則は、上述した第1等長変換に基づく第1移動経路の変換や第1姿勢情報の示す姿勢の変換の規則と同様である。
【0070】
ところで、制御部21は、第1経路情報と第2経路情報という移動経路を示す複数種類の情報を用いて制御対象の移動を制御してもよい。この場合、制御対象の姿勢は、第1姿勢情報と第2姿勢情報とを用いて制御対象の移動を制御する。このような例を図9を用いて説明する。
【0071】
図9は、複数種類の第1等長変換情報と、複数種類の第2等長変換情報と、第1経路情報と、第2経路情報と、に基づいて得られた制御対象の移動経路の一例を示す。図9の移動経路は、移動経路C211と、移動経路C221と、移動経路C212と、移動経路C222と、移動経路C213とで構成される。
【0072】
移動経路C211は、第1経路情報に基づく移動経路であって第1開始位置が位置P13であり第1終了位置が位置P14の移動経路である。第1経路情報に基づく移動経路とは、複数種類の第1等長変換情報のうちの1種類に基づき、その第1等長変換情報の示す等長変換により第1移動経路が変換された結果の移動経路、であることを意味する。
【0073】
移動経路C221は、第2経路情報に基づく移動経路であって第2開始位置が位置P14であり第2終了位置が位置P15の移動経路である。第2経路情報に基づく移動経路とは、複数種類の第2等長変換情報のうちの1種類に基づき、その第2等長変換情報の示す等長変換により第2移動経路が変換された結果の移動経路、であることを意味する。
【0074】
移動経路C212は、第1経路情報に基づく移動経路であって第1開始位置が位置P15であり第1終了位置が位置P16の移動経路である。図9が示すように、移動経路C212と移動経路C211とは、どちらも第1経路情報に基づいて得られたものであるが、異なる。したがって、移動経路C212が基づいた第1等長変換情報は、移動経路C211が基づいた第1等長変換情報とは異なる。
【0075】
移動経路C222は、第2経路情報に基づく移動経路であって第2開始位置が位置P16であり第2終了位置が位置P17の移動経路である。図9が示すように、移動経路C222と移動経路C221とは、どちらも第2経路情報に基づいて得られたものであるが、異なる。したがって、移動経路C222が基づいた第2等長変換情報は、移動経路C221が基づいた第2等長変換情報とは異なる。
【0076】
移動経路C213は、第1経路情報に基づく移動経路であって第1開始位置が位置P17であり第1終了位置が位置P18の移動経路である。図9が示すように、移動経路C213と移動経路C211及び移動経路C212とは、いずれも第1経路情報に基づいて得られたものであるが、異なる。したがって、移動経路C213が基づいた第1等長変換情報は、移動経路C211が基づいた第1等長変換情報とも、移動経路C212が基づいた第1等長変換情報とも、異なる。
【0077】
このように構成された図9の移動経路について制御対象は、位置P13から、位置P14、位置P15、位置P16、位置P17と順に通過して、位置P18まで移動する。
【0078】
なお、ここまで第1経路情報と第2経路情報とを移動経路を示す情報の例として示したが、制御部21が制御対象の移動の制御に用いる移動経路を示す情報は、必ずしも2種類以下でなくてもよい。第1経路情報から第M経路情報(Mは1以上の自然数)までのM種類の移動経路を示す情報が用いられてもよい。したがって、例えば第1経路情報から第10経路情報までの10種類の移動経路を示す情報が用いられてもよい。移動経路を示す情報がM種類である場合、姿勢を示す情報もM種類である。したがって、制御部21が第1経路情報から第M経路情報までのM種類の移動経路を示す情報を用いる場合、制御部21は第1姿勢情報から第M姿勢情報までのM種類の姿勢を示す情報を用いる。
【0079】
第1経路情報から第M経路情報の移動経路を示すM種類の情報が用いられる場合、それぞれに対応する等長変換を示す情報が用いられてもよい。ただし、必ずしもそれぞれに対応する等長変換を示す情報が存在する必要はなく、仮に等長変換が行われていたとしても変換前と違いがないものについては、対応する等長変換を示す情報が存在しなくてもよい。また、図9の例のように移動経路を示す1種類の情報から、実際に制御対象が移動する複数の移動経路を得る場合があるが、このような場合、実際に制御対象が移動する移動経路として得る移動経路のうち、仮に等長変換が行われていたとしても変換前と違いがないものについては、対応する等長変換が存在しなくてもよい。
【0080】
なぜなら、いずれの場合についても、等長変換が行われたとしても行われなかったとしても結果が同じだからである。なお、変換の結果が変わらない等長変換とは恒等変換である。そのため、必ずしも等長変換を行う必要がない移動経路については、そもそも等長変換を示す情報が存在しなくてもよい。
【0081】
上述の第2経路情報に基づいて得られた移動経路との表現は、第2経路情報の示す移動経路と等長変換後の移動経路とに違いがない場合も含めて、制御対象が実際に移動する移動経路を示す表現である。より具体的には、第2経路情報の示す移動経路と等長変換後の移動経路とに違いがない場合、制御対象が実際に移動する経路は第2経路情報の示す移動経路であるもののそれは必ずしも等長変換の結果でなくてもよいことから、第2経路情報に基づいて得られた移動経路と表現してある。
【0082】
まとめると、第2経路情報に基づいて得られた移動経路は、等長変換が恒等変換ではない場合には等長変換の結果であり、等長変換が恒等変換である場合には等長変換の実行後又は実行前のいずれか一方の結果であり、等長変換を示す情報が存在しない場合には第2経路情報が示す移動経路そのものである。このことは第1経路情報から第M経路情報までの第m経路情報(mは1以上M以下の整数)についても同様である。
【0083】
また、このことは第m姿勢情報についても同様である。すなわち、第m姿勢情報に基づいて得られた姿勢は、等長変換が恒等変換ではない場合には等長変換の結果であり、等長変換が恒等変換である場合には等長変換の実行後又は実行前のいずれか一方の結果であり、等長変換を示す情報が存在しない場合には第m姿勢情報が示す姿勢そのものである。
【0084】
なお、図9の例では、複数種類の第1等長変換情報と複数種類の第2等長変換情報とを用いる場合を示したが、用いられる第1等長変換情報と第2等長変換情報とは、いずれか一方又は両方が1種類以下であってもよい。
【0085】
図9の例において、制御対象の姿勢は、第1経路情報に基づく移動経路上の姿勢については第1姿勢情報に基づく姿勢であり、第2経路情報に基づく移動経路上の姿勢については第2姿勢情報に基づく姿勢である。
【0086】
このように制御部21は、第1移動経路に対する第1等長変換の結果に沿った移動を行った後に第2経路情報に基づく移動経路に沿って移動するように、制御対象の移動と姿勢とを制御する。
【0087】
ところで制御部21は、姿勢判定処理を実行してもよい。姿勢判定処理は、第1姿勢情報に基づく姿勢であって第1経路情報に基づく移動経路の終了の位置における姿勢と、第2姿勢情報に基づく姿勢であって第2経路情報に基づく移動経路の開始の位置における姿勢と、が一致するか否かの判定を行う処理である。姿勢判定処理を行う場合、制御部21は姿勢判定処理の判定の結果に基づき、判定の結果に応じた所定の規則(以下「移動経路制御規則」という。)にしたがって、移動経路を制御する。
【0088】
第1姿勢情報に基づく姿勢であって第1経路情報に基づく移動経路の終了の位置における姿勢(以下「第1終了姿勢」という。)とは、例えば図9の位置P16での第1姿勢情報に基づく姿勢である。第2姿勢情報に基づく姿勢であって第2経路情報に基づく移動経路の開始の位置における姿勢(以下「第2開始姿勢」という。)とは、例えば図9の位置P16での第第2姿勢情報に基づく姿勢である。
【0089】
なお、図9の例では、移動経路C212の終了の位置と移動経路C222の開始の位置とが一致しているが、異なる移動経路の開始の位置と終了の位置とは必ずしも一致している必要はない。すなわち、例えば移動経路C212の終了の位置と、移動経路C222の開始の位置とは異なる位置であってもよい。
【0090】
移動経路制御規則は、例えば、第1終了姿勢と第2開始姿勢とが180度等の所定の角度Ψ異なる場合に、第2移動経路に基づく移動経路を、更に、Ψ回転させる、という規則である。
【0091】
<表示について>
制御部21は、第1移動経路に基づく移動経路と、第2経路情報に基づく移動経路と、を互いに識別可能に所定の表示先に表示させてもよい。所定の表示先は、例えば、インタフェース部22が備える表示装置である。所定の表示先は、必ずしも制御装置2が備える必要はなく、インタフェース部22を介して制御部21が制御可能な、制御装置2とは異なる外部の表示装置であってもよい。
【0092】
このような表示は、複数の動きを組み合わせて一連の動作を作る場合において、組み合わせの方法を一目で見やすくすることで視認性を改善する効果を奏する。
【0093】
制御部21は、第1経路情報が示す各位置のうち第1等長変換後の座標が第1等長変換前と異なる位置を、第1経路情報が示す各位置のうち第1等長変換後の座標が第1等長変換前と同じ位置と識別可能に、所定の表示先に表示させてもよい。所定の表示先は、必ずしも制御装置2が備える必要はなく、インタフェース部22を介して制御部21が制御可能な、制御装置2とは異なる外部の表示装置であってもよい。
【0094】
このような表示は、複数の動きを組み合わせて一連の動作を作る場合において、組み合わせの方法を一目で見やすくすることで視認性を改善する効果を奏する。
【0095】
なお等長変換は上述したように鏡映を含む。設置向きが異なる制御対象や、左右対称の形状を持つ制御対象の移動及び姿勢の制御において、等長変換として鏡映を用いることで、ティーチングの手間を削減することができる。
【0096】
なお、制御部21は、制御対象の移動経路が予め定められた所定の空間の外に出てしまう場合、所定の出力先に、制御対象の移動経路が予め定められた所定の空間の外に出てしまうことを表現する通知を出力させてもよい。所定の出力先は、例えばインタフェース部22である。所定の出力先は、必ずしも制御装置2が備える必要はなく、インタフェース部22を介して制御部21が制御可能な、制御装置2とは異なる外部の出力装置であってもよい。出力の方法は、例えば画像又は動画の表示であってもよいし、音声の出力であってもよい。
【0097】
なお、制御システム100と制御装置2とのそれぞれの各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
【0098】
なお、制御装置2は、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、制御装置2が備える各機能部は、複数の情報処理装置に分散して実装されてもよい。
【0099】
その他、本発明の趣旨に逸脱しない範囲で、前記実施形態における構成要素を周知の構成要素に置き換えることは適宜可能であり、また、前記した変形例を適宜組み合わせてもよい。
【符号の説明】
【0100】
100…制御システム、 1…ロボット、 2…制御装置、 21…制御部、 22…インタフェース部、 23…記憶部、 91…プロセッサ、 92…メモリ
図1
図2
図3
図4
図5
図6
図7
図8
図9