(57)【要約】  ロボットアームの制御装置であって、家庭内作業の手順情報を取得する作業手順情報取得手段（２０，２３）と、前記作業の進捗情報を管理する進捗管理手段（２９）と、作業手順情報と進捗情報に基づき、ロボットアームの制御パラメータを設定する制御パラメータ設定手段（２１）と、制御パラメータ設定手段（２１）の制御パラメータに基づきロボットアームの動作を制御する。
2009004772.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームの制御装置であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段を有するロボットアームの制御装置。
【請求項２】
前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記家庭内作業の手順情報と前記進捗情報に基づいて、前記ロボットアームの制御モードを、位置制御モードと前記人の力に応じて前記ロボットアームを移動させるモードとの間で切り替えるように前記ロボットアームの制御パラメータを設定する請求項１に記載のロボットアームの制御装置。
【請求項３】
前記家庭内作業の手順情報は、前記人と前記ロボットアームとが協働する調理作業工程を含む調理作業の手順情報であり、
前記制御パラメータ設定手段は、前記手順情報の進捗情報に基づいて、前記ロボットアームの制御モードを、位置制御モードと前記人の力に応じて前記ロボットアームを移動させるモードとの間で切り替えるように前記ロボットアームの制御パラメータを設定する請求項１に記載のロボットアームの制御装置。
【請求項４】
前記家庭内作業の手順情報は、前記調理作業の手順情報と、前記ロボットアームの制御装置の周辺にありかつ前記調理作業の手順情報中で使用する前記調理装置の識別情報と動作情報を含む請求項１に記載のロボットアームの制御装置。
【請求項５】
前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの機械インピーダンス設定値を設定し、
前記制御手段は、前記制御パラメータ設定手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの機械インピーダンスの値を制御して前記ロボットアームの動作を制御する請求項１に記載のロボットアームの制御装置。
【請求項６】
前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの手先の並進方向及び回転方向の６次元の方向の機械インピーダンス設定値を個別に設定する請求項５に記載のロボットアームの制御装置。
【請求項７】
前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、調理方法の手順情報と前記調理方法での調理作業の対象となっている具材情報を含み、
前記制御パラメータ設定手段は、前記調理作業の進捗情報に基づき、前記調理作業の対象となっている前記具材情報がつぶれやすい、又は、粘性があるとされている場合の前記ロボットアームの機械インピーダンスの値を、前記調理作業の対象となる前記具材情報がつぶれにくい、又は、粘性の少ないとされている場合の前記ロボットアームの機械インピーダンスの値よりも粘性及び剛性をそれぞれ高く設定する請求項６に記載のロボットアームの制御装置。
【請求項８】
前記ロボットアームとは別のロボットアームの動作を前記制御パラメータ設定手段と前記制御手段により、前記ロボットアームとは独立して制御するとともに、
前記調理作業の手順情報は、さらに、前記複数のロボットアームのそれぞれの操作対象の有無情報を有し、
前記制御パラメータ設定手段は、前記操作対象となっていないロボットアームの機械インピーダンスの値を、前記操作対象となっているロボットアームの機械インピーダンスの値よりも、粘性及び剛性が高くなるように設定する請求項６に記載のロボットアームの制御装置。
【請求項９】
前記調理作業の手順情報の進捗情報は、さらに、前記手順情報に含まれる複数の調理工程の経過時間情報を有し、前記制御パラメータ設定手段は、前記経過時間の合算値の大きさに比例して、前記ロボットアームの機械インピーダンスの値の粘性及び剛性の大きさをそれぞれ設定する請求項６に記載のロボットアームの制御装置。
【請求項１０】
前記作業手順情報取得手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に加えて、前記ロボットアームと協働する前記人の家庭内作業状態の情報である作業状態情報を取得し、
前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報と前記作業状態情報に基づいて、前記制御パラメータを設定する請求項１に記載のロボットアームの制御装置。
【請求項１１】
前記作業状態情報は、前記人の位置に関する情報、又は、前記人の利き腕に関する情報、又は、前記人の利き腕の手先の把持状態、又は、前記人の家庭内作業を遂行する際の能力であるスキル情報に関する情報を含む請求項１０に記載のロボットアーム装置。
【請求項１２】
前記作業状態情報は、前記人が前記ロボットアームと協働して前記家庭内作業する際にかけた力に関する情報とその力に応じて移動する前記ロボットアームの手先位置とを含む請求項１０に記載のロボットアームの制御装置。
【請求項１３】
前記力に関する情報及び前記ロボットアームの前記手先位置と、現在の前記人の力に関する情報と前記ロボットアームの前記手先位置を時系列で比較する比較手段をさらに有し、前記比較手段で両者が一致した場合に、前記制御パラメータ設定部で前記ロボットアームの制御モードを、前記人の力に応じて前記ロボットアームを移動させるモードから位置制御モードに切り替える請求項１２に記載のロボットアーム制御装置。
【請求項１４】
前記家庭内作業の手順情報及び前記家庭内作業の進捗情報を表示する表示手段をさらに備える請求項１に記載のロボットアーム制御装置。
【請求項１５】
ロボットアームの制御方法であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を作業手順情報取得手段で取得し、さらに前記家庭内作業の進捗情報を進捗管理手段で管理し、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、
前記設定された制御パラメータに基づき、前記ロボットアームの動作を制御手段で制御するロボットアームの制御方法。
【請求項１６】
前記ロボットアームと、
前記ロボットアームの動作を制御する請求項１〜１４のいずれか１つに記載のロボットアームの制御装置を有するロボット。
【請求項１７】
コンピュータにより実行可能な、ロボットアームの制御プログラムであって、
人と前記ロボットアームとが協働する工程を含む家庭内作業の手順情報を取得するステップと、
前記家庭内作業の進捗情報を管理するステップと、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定するステップと、
前記設定された制御パラメータに基づき前記ロボットアームの動作を制御するステップとを有するロボットアームの制御プログラム。
【請求項１８】
ロボットアームを制御する集積電子回路であって、
人と前記ロボットアームとが協働する工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段とを有するロボットアームの集積電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人とロボットが協働して家庭内作業(例えば、調理作業)を行う際のロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、集積電子回路に関する。
【背景技術】
【０００２】
近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきた。家庭ロボットは産業用ロボットと異なり、ロボット操作の専門家ではなく、家庭に居る素人が操作するため、簡単に操作できる必要がある。さらにロボットが作業する際の動作環境も家庭に応じてさまざまであるため、家庭環境に柔軟に対応する必要がある。【０００３】
ロボット装置の一例として、作業の停止時に予め定められた待機位置にロボットアームを移動させる際に、ワークとの干渉を防止するために、所定の方向に所定量だけ退避移動を行った後、前記待機位置に移動させる退避制御に関する技術が提案されている（特許文献１を参照）。【０００４】
【特許文献１】特開２０００−３４３４７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述のような従来の技術においては、ロボット装置が退避移動の際にワークとの干渉を防止するのみであるため、ロボット装置が実施する作業の進捗情報、又は、ワークの状態に応じた待機方法を変えることができなかった。さらに、操作する人の作業状態によって待機方法を変えることができないという課題があった。【０００６】
本発明の目的は、このような課題に鑑みてなされたものであり、ロボットアームと協働する工程を含む家庭内作業の手順情報及び進捗情報に応じて、ロボットアームの動作の制御方法を変えることが可能なロボット制御を実現できる、ロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、集積電子回路を提供することにある。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明は以下のように構成する。【０００８】
本発明の第１態様によれば、ロボットアームの制御装置であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段を有するロボットアームの制御装置を提供する。【０００９】
本発明の第１５態様によれば、ロボットアームの制御方法であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を作業手順情報取得手段で取得し、さらに前記家庭内作業の進捗情報を進捗管理手段で管理し、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、
前記設定された制御パラメータに基づき、前記ロボットアームの動作を制御手段で制御することを特徴とするロボットアームの制御方法を提供する。【００１０】
本発明の第１７態様によれば、コンピュータにより実行可能な、ロボットアームの制御プログラムであって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得するステップと、
前記家庭内作業の進捗情報を管理するステップと、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定するステップと、
前記設定された制御パラメータに基づき前記ロボットアームの動作を制御するステップと、
を有することを特徴とするロボットアームの制御プログラムを提供する。【００１１】
本発明の第１８態様によれば、ロボットアームを制御する集積電子回路であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段、
を有することを特徴とするロボットアームの集積電子回路を提供する。
【発明の効果】
【００１２】
以上述べたように、本発明のロボットアームの制御装置及びロボットアームの制御装置を有するロボットによれば、作業手順情報取得手段と、進捗管理手段と、制御パラメータ設定手段と、制御手段とを有することにより、家庭内作業の手順情報と進捗情報に応じて、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとが切り替えられたり、又は、ロボットアームの機械インピーダンス設定値が適切に設定されるので、位置制御モードで動作するロボットアームを停止した際に、人が邪魔にならない位置に簡単にロボットアームを退避させることができ、さらに、退避させた際に人が誤って柔らかい素材をつぶすこと又は熱湯などを落下させる危険性のない、安全で簡単に操作できるロボット制御が可能となる。【００１３】
また、本発明のロボットアームの制御方法及び制御プログラムによれば、前記家庭内作業の手順情報と前記家庭内作業の進捗に関する情報に基づき、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとを切り替たり、又は、ロボットアームの機械インピーダンス設定値が適切に設定されるので、位置制御モードで動作するロボットアームを停止した際に、人が邪魔にならない位置に簡単にロボットアームを退避させることができ、さらに、退避させた際に人が誤って柔らかい素材をつぶすこと又は熱湯などを落下させる危険性のない、安全で簡単に操作できるロボット制御が可能となる。【００１４】
また、調理などの家庭内作業は、具材の準備、又は、鍋若しくはフライパンなどを使った調理作業、又は、後片付けなど、複数の作業工程の集まりであり、それぞれの工程を途中で細切れに止めることなく、連続的に実行させる必要がある。これに対して、本発明によれば、作業手順情報取得手段で取得されかつ複数の工程を含む家庭内作業の手順情報と、進捗管理手段で管理されている家庭内作業の進捗情報に基づき、ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、設定された前記制御パラメータに基づき前記ロボットアームの動作を制御手段で制御するため、複数の工程のそれぞれの工程を途中で細切れに止めることなく、連続的に実行させることが可能となる。【００１５】
さらに、調理に携わる人の状態は様々であり、例えば利き腕が違ったり、大人と子供など家庭内作業に対するスキルの違いがある。これに対しても、本発明によれば、前記構成により、調理に携わる人の様々な状態、例えば、利き腕が違ったり、大人と子供など家庭内作業に対するスキルの違いなどの情報を作業状態情報として作業手順情報取得手段で取得し、作業状態情報と、家庭内作業の手順情報と、進捗管理手段で管理されている家庭内作業の進捗情報に基づき、ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、設定された前記制御パラメータに基づき前記ロボットアームの動作を制御手段で制御するため、調理に携わる人の様々な状態にも対応することが可能となる。【００１６】
また、ロボットを操作する人は、ロボット操作の専門家ではなく、家庭に居る素人であり、簡単な操作が要求される。これに対して、本発明によれば、家庭内作業の手順情報と進捗情報に応じて、位置制御モードから人の力に応じてロボットアームを移動させる制御モードに切り替えられると、素人でも、人の力に応じてロボットアームを簡単に移動させることができる。
【図面の簡単な説明】
【００１７】
本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。この図面においては、
【図１Ａ】図１Ａは、本発明の第１実施形態におけるロボット制御装置の構成及び人との協働状態の概要を示す図であり、
【図１Ｂ】図１Ｂは、本発明の第１実施形態におけるロボット制御装置の構成及び人との協働状態の概要を示す図であり、
【図２】図２は、本発明の第１実施形態におけるロボットシステムを構成するロボットアームの制御装置と制御対象であるロボットアームの詳細構成を示す図であり、
【図３】図３は、前記ロボットアームの制御装置の作業データベースの作業手順情報、進捗情報、調理機器情報の例を表形式で示す図であり、
【図４】図４は、前記ロボットアームの制御装置の作業データベースの人の作業状態に関する情報の例を表形式で示す図であり、
【図５】図５は、本発明の第１実施形態における前記ロボットアームの制御装置の作業情報収集部と作業データベースと制御パラメータ設定部、進捗管理部の動作ステップを表すフローチャートであり、
【図６】図６は、本発明の第１実施形態における前記ロボットアームの制御装置の制御部の構成を示すブロック図であり、
【図７】図７は、本発明の第１実施形態における前記ロボットアームの制御装置の制御部の動作ステップを表すフローチャートであり、
【図８】図８は、本発明の第２実施形態におけるロボットシステムを構成する前記ロボットアームの制御装置と制御対象であるロボットアームの詳細構成を示す図であり、
【図９Ａ】図９Ａは、本発明の第１実施形態における前記ロボットアームの制御装置の操作状態を示す図であり、
【図９Ｂ】図９Ｂは、本発明の第１実施形態における前記ロボットアームの制御装置の操作状態を示す図であり、
【図１０Ａ】図１０Ａは、本発明の第２実施形態における前記ロボットアームの制御装置の操作状態を示す図であり、
【図１０Ｂ】図１０Ｂは、本発明の第２実施形態における前記ロボットアームの制御装置の操作状態を示す図であり、
【図１１】図１１は、本発明の第３実施形態におけるロボットシステムを構成する制御装置と制御対象であるロボットアームの詳細構成を示す図であり、
【図１２】図１２は、前記第３実施形態におけるロボットアームの制御装置の作業データベースの人が操作した操作状況に関する情報の例を表形式で示す図であり、
【図１３】図１３は、前記第１実施形態におけるロボットアームの制御装置の作業データベースの作業時刻とレベルに関する情報の例を表形式で示す図であり、
【図１４Ａ】図１４Ａは、本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す図であり、
【図１４Ｂ】図１４Ｂは、本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す図であり、
【図１４Ｃ】図１４Ｃは、図１４Ｂでの本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す平面図であり、
【図１５Ａ】図１５Ａは、本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す図であり、
【図１５Ｂ】図１５Ｂは、本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す図であり、
【図１５Ｃ】図１５Ｃは、図１５Ｂでの本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す平面図であり、
【図１６Ａ】図１６Ａは、前記第１実施形態におけるロボットアームの制御装置を使用して行なう作業の一例としての調理方法の１つの作業工程の状態を示す図であり、
【図１６Ｂ】図１６Ｂは、図１６Ａに続く作業工程の状態を示す図であり、
【図１６Ｃ】図１６Ｃは、図１６Ｂに続く作業工程の状態を示す図であり、
【図１６Ｄ】図１６Ｄは、図１６Ｃに続く作業工程の状態を示す図であり、
【図１７】図１７は、本発明の第４実施形態におけるロボットシステムを構成するロボットアームの制御装置と制御対象であるロボットアームの詳細構成を示す図であり、
【図１８】図１８は、第４実施形態における前記ロボットアームの制御装置の作業データベースの作業手順情報の例を表形式で示す図であり、
【図１９Ａ】図１９Ａは、第４実施形態における前記ロボットアームの制御装置の作業工程の状態を示す図であり、
【図１９Ｂ】図１９Ｂは、第４実施形態における前記ロボットアームの制御装置の作業工程の状態を示す図である。
【発明を実施するための最良の形態】
【００１８】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。【００１９】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。【００２０】
本発明の第１態様によれば、ロボットアームの制御装置であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段を有することを特徴とするロボットアームの制御装置を提供する。【００２１】
このような構成により、作業手順情報と進捗情報に基づいて制御パラメータを設定、制御することができる。【００２２】
本発明の第２態様によれば、前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記家庭内作業の手順情報と前記進捗情報に基づいて、前記ロボットアームの制御モードを、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとの間で切り替えるように前記ロボットアームの制御パラメータを設定することを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。【００２３】
本発明の第３態様によれば、前記家庭内作業の手順情報は、前記人と前記ロボットアームとが協働する調理作業工程を含む調理作業の手順情報であり、
前記制御パラメータ設定手段は、前記手順情報の進捗情報に基づいて、前記ロボットアームの制御モードを、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとの間で切り替えるように前記ロボットアームの制御パラメータを設定することを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。【００２４】
このような構成により、調理作業の手順情報の進捗情報に基づいて、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとを切り替えることができる。【００２５】
本発明の第４態様によれば、前記家庭内作業の手順情報は、前記調理作業の手順情報と、前記ロボットアームの制御装置の周辺にありかつ前記調理作業の手順情報中で使用する前記調理装置の識別情報と動作情報を含むことを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。【００２６】
このような構成により、前記ロボットアームの制御装置の周辺にある調理装置の情報とその進捗情報に基づいて制御パラメータを設定、制御することができる。【００２７】
本発明の第５態様によれば、前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの機械インピーダンス設定値を設定し、
前記制御手段は、前記制御パラメータ設定手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの機械インピーダンスの値を制御して前記ロボットアームの動作を制御することを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。【００２８】
このような構成により、作業手順情報と進捗情報に基づいて、ロボットアームの機械インピーダンス設定値を設定し、前記制御部は前記制御パラメータ設定手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの機械インピーダンスの値を制御することができる。【００２９】
本発明の第６態様によれば、前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの手先の並進方向及び回転方向の６次元の方向の機械インピーダンス設定値を個別に設定することを特徴とする第５の態様に記載のロボットアームの制御装置を提供する。【００３０】
このような構成により、作業手順情報と進捗情報に基づいて、６次元の方向別に機械インピーダンス設定値を設定し、制御することができる。【００３１】
本発明の第７態様によれば、前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、調理方法の手順情報と前記調理方法での調理作業の対象となっている具材情報を含み、
前記制御パラメータ設定手段は、前記調理作業の進捗情報に基づき、前記調理作業の対象となっている前記具材情報がつぶれやすい、又は、粘性があるとされている場合の前記ロボットアームの機械インピーダンスの値を、前記調理作業の対象となる前記具材情報がつぶれにくい、又は、粘性の少ないとされている場合の前記ロボットアームの機械インピーダンスの値よりも粘性及び剛性をそれぞれ高く設定することを特徴とする第６の態様に記載のロボットアームの制御装置を提供する。【００３２】
このような構成により、具材情報の基づいて、制御パラメータを設定することができる。【００３３】
本発明の第８態様によれば、前記ロボットアームとは別のロボットアームの動作を前記制御パラメータ設定手段と前記制御手段により、前記ロボットアームとは独立して制御するとともに、
前記調理作業の手順情報は、さらに、前記複数のロボットアームのそれぞれの操作対象の有無情報を有し、
前記制御パラメータ設定手段は、前記操作対象となっていないロボットアームの機械インピーダンスの値を、前記操作対象となっているロボットアームの機械インピーダンスの値よりも、粘性及び剛性が高くなるように設定することを特徴とする第６の態様に記載のロボットアームの制御装置を提供する。【００３４】
このような構成により、ロボットアームの稼働状況により、制御パラメータを設定することができる。【００３５】
本発明の第９態様によれば、前記調理作業の手順情報の進捗情報は、さらに、前記手順情報に含まれる複数の調理工程の経過時間情報を有し、前記制御パラメータ設定手段は、前記経過時間の合算値の大きさに比例して、前記ロボットアームの機械インピーダンスの値の粘性及び剛性の大きさをそれぞれ設定することを特徴とする第６の態様に記載のロボットアームの制御装置を提供する。【００３６】
このような構成により、各調理工程の経過時間に応じて、制御パラメータを設定することができる。【００３７】
本発明の第１０態様によれば、前記作業手順情報取得手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に加えて、前記ロボットアームと協働する前記人の家庭内作業状態の情報である作業状態情報を取得し、
前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報と前記作業状態情報に基づいて、前記制御パラメータを設定することを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。【００３８】
このような構成により、作業状態情報と作業手順情報と進捗情報に基づいて、制御パラメータを設定し、制御することができる。【００３９】
本発明の第１１態様によれば、前記作業状態情報は、前記人の位置に関する情報、又は、前記人の利き腕に関する情報、又は、前記人の利き腕の手先の把持状態、又は、前記人の家庭内作業を遂行する際の能力であるスキル情報に関する情報を含むことを特徴とする第１０の態様に記載のロボットアーム装置を提供する。【００４０】
このような構成により、人の位置又は人の利き腕に関する情報、さらに人の手先の把持状態に関する情報と作業手順情報と進捗情報に基づいて、制御パラメータを設定し、制御することができる。【００４１】
本発明の第１２態様によれば、前記作業状態情報は、前記人が前記ロボットアームと協働して前記家庭内作業する際にかけた力に関する情報とその力に応じて移動する前記ロボットアームの手先位置とを含むことを特徴とする第１０の態様に記載のロボットアームの制御装置を提供する。【００４２】
このような構成により、人がロボットアームを操作する際にかけた力情報とその時のロボットアーム手先位置と作業手順情報と進捗情報に基づいて、制御パラメータを設定し、制御することができる。【００４３】
本発明の第１３態様によれば、前記力に関する情報及び前記ロボットアームの前記手先位置と、現在の前記人の力に関する情報と前記ロボットアームの前記手先位置を時系列で比較する比較手段をさらに有し、前記比較手段で両者が一致した場合に、前記制御パラメータ設定部で前記ロボットアームの制御モードを、前記人の力に応じて前記ロボットアームを移動させる制御モードから位置制御モードに切り替えることを特徴とする第１２の態様に記載のロボットアーム制御装置を提供する。【００４４】
このような構成により、現在の力情報と手先位置が、前記作業手順情報取得手段により取得された力情報と手先位置の情報と一致した場合に、前記人の力に応じて前記ロボットアームを移動させる制御モードから位置制御モードに変更することができる。【００４５】
本発明の第１４態様によれば、前記家庭内作業の手順情報及び前記家庭内作業の進捗情報を表示する表示手段をさらに備えることを特徴とする第１の態様に記載のロボットアーム制御装置を提供する。【００４６】
このような構成により、作業状態情報と進捗情報を表示することができる。【００４７】
本発明の第１５態様によれば、ロボットアームの制御方法であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を作業手順情報取得手段で取得し、さらに前記家庭内作業の進捗情報を進捗管理手段で管理し、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、
前記設定された制御パラメータに基づき、前記ロボットアームの動作を制御手段で制御することを特徴とするロボットアームの制御方法を提供する。【００４８】
本発明の第１６態様によれば、前記ロボットアームと、
前記ロボットアームの動作を制御する第１〜１４のいずれか１つの態様に記載のロボットアームの制御装置を有することを特徴とするロボットを提供する。【００４９】
本発明の第１７態様によれば、コンピュータにより実行可能な、ロボットアームの制御プログラムであって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得するステップと、
前記家庭内作業の進捗情報を管理するステップと、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定するステップと、
前記設定された制御パラメータに基づき前記ロボットアームの動作を制御するステップと、
を有することを特徴とするロボットアームの制御プログラムを提供する。【００５０】
本発明の第１８態様によれば、ロボットアームを制御する集積電子回路であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段と、
を有することを特徴とするロボットアームの集積電子回路を提供する。【００５１】
このような構成により、作業手順情報と進捗情報に基づいて制御パラメータを設定、制御することができる。【００５２】
以下、本発明の実施の形態について図面を用いて詳細に説明する。【００５３】
（第１実施形態）
まず、本発明の第１実施形態にかかるロボットアームの制御装置を備えるロボットシステム１００の構成について説明する。図１Ａは、本発明の第１実施形態におけるロボットシステム１００の構成の概要を示す図である。【００５４】
図１Ａに示したように、本発明の第１実施形態におけるロボットアーム５及びその制御装置１０５を備えるロボットシステム１００は、第１のロボットシステム１と第２のロボットシステム２を備えるように構成され、２つのロボットシステム１，２のそれぞれの第１及び第２ロボットアーム５−１，５−２（以下の説明においては、第１及び第２ロボットアーム５−１，５−２をそれぞれ区別する必要がない場合には、代表的に、「ロボットアーム５」と表すことにする。）はキッチン又はテーブルなどの作業台７の壁面７ａに設置され、それぞれの第１及び第２ロボットアーム５−１，５−２の基端が壁面７ａに固定されたレール８に移動可能に支持され、レール８上をそれぞれの第１及び第２ロボットアーム５−１，５−２がレール８沿いに横方向例えば水平方向に独立して移動可能とする。【００５５】
第１ロボットシステム１は、図１Ｂに示すように、第１ロボットアーム５−１を使用して、家庭内において、例えば、対象物体の一例として、重たい鍋などの器具３を人４と協働して運搬するロボットシステムであり、第１ロボットシステム１の第１ロボットアーム５−１の先端にはハンド３０を有し、器具３の一対の取っ手のうちの一方の取っ手を保持例えば把持し、器具３のもう一方の取っ手を、第１ロボットアーム５−１と協働する人４が把持可能とする。第１ロボットアーム５−１の先端のハンド３０が器具３の一方の取っ手を把持しかつ人４が器具３のもう一方の取っ手を把持している状態で、人４が器具３を運びたい方向に力をかけることで、第１ロボットシステム１が作動し、第１ロボットアーム５−１がレール８に沿って移動し、器具３を第１ロボットアーム５−１と人４とが協働して運搬することができる。【００５６】
第２ロボットシステム２は、第２ロボットアーム５−２を使用して、主として、家庭内の器具３の運搬作業以外の第２ロボットアーム５−２と人４とが協働する家庭内作業（複数の工程を含み、かつ、人４からの命令又は監視の下に第２ロボットアーム５−２が所定の動作を行なう作業）、例えば、器具３の一例としての鍋３Ａの中の具材をかき混ぜる作業、又は、キッチンの作業台７の汚れをふき取る作業を行うロボットシステムである。【００５７】
なお、必要に応じて、第１ロボットシステム１と第２ロボットシステム２は作業を交代させることができる。【００５８】
表示手段の一例としての表示部９はディスプレイであり、調理のレシピ情報（人とロボットアームとが協働する調理作業工程を含む調理作業の手順情報）などの家庭内の作業の手順情報又は家庭内の作業の進捗情報を表示する。第２ロボットシステム２の鍋のかき混ぜ作業又は拭き掃除の操作手順の一例として、図１Ａに示すように、まず、人４は、表示部９に表示された作業手順に従って、人４が第２ロボットシステム２の第２ロボットアーム５−２を直接把持し、人４が第２ロボットアーム５−２に力をかけることで、第２ロボットシステム２が作動し、レール８に沿って第２ロボットアーム５−２を移動させることで、器具３の付近まで第２ロボットアーム５−２を誘導する。次に、人４が、第２ロボットシステム２の第２ロボットアーム５−２の先端のハンド３０に、レードルなどの調理器具１０を取り付ける。次に、調理機器例えば作業台７のＩＨクッキングヒータ又はガスコンロなどのレンジ台である調理装置６の側面に、第１ロボットシステム１及び第２ロボットシステム２の操作盤１３が配置されており、人４が操作盤１３のボタンをそれぞれ押すことにより、第１ロボットシステム１が作動して、器具３の運搬作業を開始するとともに、第２ロボットアーム２が作動し、かき混ぜ作業又は拭き掃除を開始させることができる。【００５９】
操作盤１３は、例えば、第１ロボットシステム駆動開始及び停止用ボタンと、第２ロボットシステム駆動開始及び停止用ボタンとを備え、それぞれ、１回押すと、駆動開始信号がデータ入力ＩＦ２６に入力され、もう１回押すと、駆動停止信号がデータ入力ＩＦ２６に入力されるように構成する。ただし、このような構成に限らず、駆動開始及び停止用ボタンと、第１ロボットシステムと第２ロボットシステム切替用ボタンとより構成するなど、第１ロボットシステム１と第２ロボットシステム２とをそれぞれ独立して駆動開始及び停止できれば、他の任意の構成により構成するようにしてもよい。ここで言う、駆動開始とは、それぞれのロボットシステムでロボットアーム５が駆動開始可能となる状態を意味する他、作業によっては、ロボットアーム５が駆動し始めてもよい。【００６０】
本発明の第１実施形態における器具３は、単純に、鍋又は食器自体のほか、水又は具材の入った鍋又は食器などの重量物をも含む概念であり、第１ロボットアーム５−１又は第２ロボットアーム５−２の少なくともいずれかと人４とが協働して運搬することができる対象物体である。【００６１】
本発明の第１実施形態において、レール８は作業台７の壁面７ａに配置したが、壁面のないアイランドキッチンの場合は、天井面又はアイランドキッチンの天板側面など作業をするのに適した場所に設置される。【００６２】
さらに、本発明の第１実施形態において、操作盤１３は調理装置６の側面に固定したが、遠隔操作が可能なリモコンでも良い。【００６３】
図２は、ロボットシステム１００の詳細構成を示す図であり、代表例として、第２ロボットシステム２を構成しかつ制御対象であるロボットアーム５−２と、その制御装置１０５（制御装置本体部１１と周辺装置１４）の構成を図示している。図２では第２ロボットシステム２について説明するが、第１ロボットシステム１も同様の構成とするため、ここでは説明を省略する。【００６４】
前記ロボットアーム５の制御装置１０５を構成する制御装置本体部１１及び周辺装置１４は、一例として、それぞれ一般的なパーソナルコンピュータにより構成される。【００６５】
制御装置本体部１１は、制御パラメータ設定手段の一例としての制御パラメータ設定部２１、制御手段の一例としての制御部２２を備えるように構成される。周辺装置１４は、作業データベース２０と、作業情報収集部２３と、データ入力ＩＦ(インターフェース)２６と、入出力ＩＦ(インターフェース)２４と、関節部駆動制御手段（関節部駆動制御部）の一例としてのモータドライバ２５と、情報出力手段（情報出力部）又は表示手段の一例としての表示部９と、進捗管理手段の一例としての進捗管理部２９とを備えるように構成される。作業データベース２０により、又は、作業データベース２０と作業情報収集部２３とにより、作業手順情報取得手段の一例を構成している。【００６６】
入出力ＩＦ２４は、パーソナルコンピュータのＰＣＩバスなどの拡張スロットに接続された、例えばＤ／Ａボード、Ａ／Ｄボード、カウンタボードなどを備えるように構成されている。【００６７】
第２ロボットアーム５−２の動作を制御する制御装置本体部１１及び周辺装置１４が実行されることにより、第２ロボットアーム５−２の各関節部の後述するエンコーダ４４より出力される各関節角度情報が、入出力ＩＦ２４のカウンタボードを通じて制御装置本体部１１に取り込まれ、取り込まれた各関節角度情報に基づき制御装置本体部１１によって各関節部の回転動作での制御指令値が算出される。算出された各制御指令値は、入出力ＩＦ２４のＤ／Ａボードを通じて、第２ロボットアーム５−２の各関節部を駆動制御するためのモータドライバ２５に与えられ、モータドライバ２５から送られた各制御指令値に従って、第２ロボットアーム５−２の各関節部のモータ４３が駆動される。また、モータドライバ２５により駆動制御されるハンド駆動装置の一例としてハンド駆動用のモータ６２と、ハンド駆動用のモータ６２の回転軸の回転位相角を検出するエンコーダ６１とをさらにハンド３０に備えて、エンコーダ６１で検出された回転角度を基に、制御装置本体部１１の制御部２２からの制御信号によりモータドライバ２５を介してモータ６２の回転を駆動制御して、ハンド駆動用のモータ６２の回転軸を正逆回転させることによりハンド３０を開閉させる。【００６８】
第２ロボットアーム５−２は、一例として、多関節ロボットアームであって、６自由度の多リンクマニピュレータであり、前記ハンド３０と、ハンド３０が取り付けられている手首部３１を先端に有する前腕リンク３２と、前腕リンク３２の基端に回転可能に先端が連結される上腕リンク３３と、上腕リンク３３の基端が回転可能に連結支持される台部３４とを備える。台部３４は移動可能なレール８に連結されているが、一定位置に固定されていても良い。手首部３１は第４関節部３８、第５関節部３９、第６関節部４０の３つの回転軸を有しており、前腕リンク３２に対するハンド３０の相対的な姿勢（向き）を変化させることができる。すなわち、図２において、第４関節部３８は、手首部３１に対するハンド３０の横軸周りの相対的な姿勢を変化させることができる。第５関節部３９は手首部３１に対するハンド３０の、第４関節部３８の横軸とは直交する縦軸周りの相対的な姿勢を変化させることができる。第６関節部４０は、手首部３１に対するハンド３０の、第４関節部３８の横軸及び第５関節部３９の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク３２の他端は、上腕リンク３３の先端に対して第３関節部３７周りに、すなわち、第４関節部３８の横軸と平行な横軸周りに回転可能とする。上腕リンク３３の他端は、台部３４に対して第２関節部３６周りに、すなわち、第４関節部３８の横軸と平行な横軸周りに回転可能とし、台部３４の上側可動部は、台部３４の下側固定部に対して第１関節部３５周りに、すなわち、第５関節部３９の縦軸と平行な縦軸周りに回転可能とする。この結果、第２ロボットアーム５−２は、合計６個の軸周りに回転可能として前記６自由度の多リンクマニピュレータを構成する。【００６９】
各軸の回転部分を構成する各関節部には、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられかつ後述するモータドライバ２５により駆動制御される回転駆動装置の一例としてのモータ４３（実際には、第２ロボットアーム５−２の各関節部の内部に配設されている）と、モータ４３の回転軸の回転位相角（すなわち関節角）を検出するエンコーダ４４（実際には、第２ロボットアーム５−２の各関節部の内部に配設されている）とを備えて、各関節部の一方の部材に備えられたモータ４３の回転軸が、各関節部の他方の部材に連結されて前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。【００７０】
４１は台部３４の下側固定部に対して相対的な位置関係が固定された絶対座標系であり、４２はハンド３０に対して相対的な位置関係が固定された手先座標系である。絶対座標系４１から見た手先座標系４２の原点位置Ｏｅ（ｘ、ｙ、ｚ）を第２ロボットアーム５−２の手先位置、絶対座標系４１から見た手先座標系４２の姿勢をロール角とピッチ角とヨー角で表現した（φ、θ、ψ）を第２ロボットアーム５−２の手先姿勢とし、手先位置及び姿勢ベクトルをベクトルｒ＝［ｘ、ｙ、ｚ、φ、θ、ψ］Ｔと定義する。よって、一例として、絶対座標系４１のｚ軸に対して第１関節部３５の縦軸が平行であり、ｘ軸に対して第２関節部３６の横軸が平行に位置可能とするのが好ましい。また、手先座標系４２のｘ軸に対して第６関節部４０の横軸が平行に位置可能であり、ｙ軸に対して第４関節部３８の横軸が平行に位置可能であり、ｚ軸に対して第５関節部３９の縦軸が平行に位置可能とするのが好ましい。なお、手先座標系４２のｘ軸に対しての回転角をヨー角ψとし、ｙ軸に対しての回転角をピッチ角θとし、ｚ軸に対しての回転角をロール角φとする。第２ロボットアーム５−２の手先位置及び姿勢を制御する場合には、手先位置及び姿勢ベクトルｒを後述する目標軌道生成部５５で生成された手先位置及び姿勢目標ベクトルｒｄに追従させることになる。【００７１】
以上の第２ロボットアーム５−２の構成及び作用は、第１ロボットアーム５−１も同様である。【００７２】
作業情報収集部２３は、作業自体及び当該家庭内作業の手順情報、例えば作業の一例としての調理作業のレシピ情報等の家庭内作業の手順情報をインターネット２８を通じて外部のウェブサーバにある情報データベース１６から収集し、作業データベース２０の作業手順情報データベース１７に入力し更新して記憶する。さらに、電子レンジ又はレンジ台のＩＨクッキングヒータなどの調理装置（図１では、一例としてＩＨクッキングヒータを有するレンジ台）６の識別情報、動作情報（例えば調理時間又は火加減（火力の強さ））などの情報を収集し、作業データベース２０の調理機器情報データベース１８に入力し更新して記憶する。要するに、作業情報収集部２３は、人４とロボットアーム５とが協働作業するときに必要な情報言い換えれば協働作業情報をアクセス可能なネットワーク又はデータベース又は機器などから収集する。【００７３】
２９は進捗管理部であり、作業データベース２０の進捗情報データベース１９に記憶された作業の進捗情報を管理する。具体的には、図３に示すように、進捗管理部２９は、現在の工程の識別情報例えば工程ＩＤを作業データベース２０から読み出し、各工程にかかった時間とその時の時刻を計測して、進捗情報データベース１９に記憶する。さらに、後述するデータ入力ＩＦ２６が接続されてデータ入力ＩＦ２６からの入力の一例としてのマイクなどの音声入力装置から人４が例えば「次の工程」と音声で指示が入力されると、進捗管理部２９は、音声認識により次の工程に進めることを認識し、現在行っている工程かどうかを示すフラグを進捗情報データベース１９に記憶する。なお、後述するデータ入力ＩＦ２６を使用して、人４がロボットアーム５による作業を次の工程に進めたり、ロボットアーム５による作業工程を停止させても良い。【００７４】
２６はデータ入力ＩＦ（インターフェース）であり、人４がボタン又はキーボード又はマウス又はマイクなどの入力装置を使用して、作業の進捗又は作業情報などを入力変更したり、例えば前記操作盤１３のボタンなどの入力装置を使用して、人４からの作業開始及び作業終了の指令を受けるためのインターフェースである。【００７５】
９は表示部であり、例えばロボットアーム５又は作業台７の側面に設置されたディスプレイ装置で、作業手順情報又は現在の進捗情報を表示する。【００７６】
次に作業データベース２０の詳細について説明する。【００７７】
作業データベース２０は、例えば、図３に示した第２ロボットアーム５−２と人４の家庭内の協働作業の手順情報である作業手順情報データベース１７と、前記協働作業の進捗情報である進捗情報データベース１９と、第２ロボットアーム５−２の周辺で動作しているＩＨクッキングヒータ又は電子レンジなどの調理装置６の状況に関する情報（調理機器情報、すなわち、調理装置６の識別情報と動作情報など）である調理機器情報データベース１８とを備えるように構成される。【００７８】
作業手順情報データベース１７に記録されている家庭内作業の手順情報は、一例として図３に示すように、前記協働作業を識別する作業ＩＤ番号などの作業ＩＤ情報と、その作業の個々の工程を識別する工程ＩＤ番号などの工程ＩＤ情報と、工程ＩＤ番号に相当する工程に関する情報と、その工程での対象物に関する対象物情報と、その工程を行う操作情報と、その工程にかかる見込みの時間である予測時間と、その工程で調理する材料又は水又は調味料などの分量の分量情報とを有するように構成される。前記対象物情報とは、具体的には、その工程で扱う対象物の情報で、例えばその工程で使用する具材などの情報である。前記操作情報とは、具体的には、人４、第１ロボットシステム１、第２ロボットシステム２のいずれがその工程を行うかを示す情報で、人４、第１ロボットシステム１、第２ロボットシステム２のそれぞれに対して「１」又は「０」が記録されている。「１」はその工程の作業をしている場合を示し、「０」は作業していない場合を示す。例えば、図３の工程ＩＤ０００２では、「鍋に水を１リットル入れて下さい」という作業（「鍋に水を入れる作業」）は人４のみが行う作業であることから、この例では、（人、ロボット１、ロボット２）の順番で（１，０，０）と記憶する。【００７９】
また、図１６Ａ〜図１６Ｄは、図３の主な工程について、人４と第１ロボットアーム５−１と第２ロボットアーム５−２がそれぞれ作業している状態を示す。【００８０】
例えば、工程ＩＤ０００１は、「鍋の取っ手にロボットアーム５−１を装着して下さい」とあるので、図１６Ａのような状態、具体的には、後述するように第１ロボットアーム５−１の粘性Ｄ及び剛性Ｋを小さく設定して、第１ロボットアーム５−１のハンド３０を器具の一例である鍋３Ａの一対の取っ手のうちの一方の取っ手を挟むように位置させたのち、ハンド３０で前記一方の取っ手を把持させる状態となる。【００８１】
工程ＩＤ０００２は、「鍋に水１リットル入れて下さい」とあるので、図１６Ｂのような状態、具体的には、後述するように第１ロボットアーム５−１の粘性Ｄ及び剛性Ｋを大きく設定して、第１ロボットアーム５−１のハンド３０で鍋３Ａの一方の取っ手を把持した状態で、人４により、蛇口８９から水を鍋３Ａ内に１リットル入れる。【００８２】
次いで、工程００００３の「レンジ台まで鍋を誘導して下さい」は図１６Ｃのような状態、具体的には、後述するように第１ロボットアーム５−１の粘性Ｄ及び剛性Ｋを大きく設定して、第１ロボットアーム５−１のハンド３０で鍋３Ａの一方の取っ手を把持するとともに、鍋３Ａの他方の取っ手は人４が把持した状態で、人４がレンジ台６に向けて力をかけることで、鍋３Ａを介して第１ロボットアーム５−１にその力が作用して後述するように第１ロボットシステム１が作動し、第１ロボットアーム５−１がレール８に沿って蛇口８９の近くの位置からレンジ台６まで移動し、鍋３Ａを第１ロボットアーム５−１と人４とが協働して運搬する。ここまでの３つの工程では、第２ロボットアーム５−２は何も動作しないので、第２ロボットアーム５−２の粘性Ｄ及び剛性Ｋを大きく設定して、前記工程に邪魔にならない位置、例えば、シンク側の位置に静止させておく。【００８３】
次いで、工程０００７の「レードルを第２ロボットアーム５−２に装着して下さい」は図１６Ｄのような状態、具体的には、レンジ台６に鍋３Ａを載置し、かつ、第１ロボットアーム５−１の粘性Ｄ及び剛性Ｋを大きく設定して、第１ロボットアーム５−１のハンド３０で鍋３Ａの一方の取っ手を把持した状態のまま、人４は第２ロボットアーム５−２が静止している位置まで移動する。次いで、人４が第２ロボットアーム５−２をレンジ台６に向けて力をかけることで、第２ロボットシステム２が作動し、第２ロボットアーム５−２がレール８に沿って移動し、レンジ台６の鍋３Ａの近くまで移動させる。次いで、後述するように第２ロボットアーム５−２の粘性Ｄ及び剛性Ｋを小さく設定して、第２ロボットアーム５−２のハンド３０にレードル１０を取り付けて、レードル１０を鍋３Ａの中に入れる。【００８４】
その後、詳しくは説明しないが、工程０００８〜工程００２９を行なったのち、工程００３０「終了」では、作業ＩＤ０００１の作業が終了となり、操作盤１３のボタンを押すなどして、第１ロボットアーム５−１及び第２ロボットアーム５−２の動作をそれぞれ終了させる。【００８５】
表示部９には、工程ＩＤ番号の順番に家庭内作業の手順情報が表示され、人４又は第１及び第２ロボットアーム５−１，５−２はその工程ＩＤ番号の順番に作業を行う。【００８６】
進捗情報データベース１９に記録される進捗情報は、一例として図３に示すように、作業ＩＤ番号などの作業ＩＤ情報の複数の工程ＩＤ番号などの工程ＩＤ情報のそれぞれに相当する工程において実際にかかった時間である経過時間と、現在行っている作業であるかどうかを区別するための情報である「１」又は「０」のフラグ情報（例えば、フラグ「１」は現在行っている作業であり、フラグ「０」は現在行っていない作業であることを意味する。）と、時刻の情報とを備えるように構成される。人４は表示部９に表示された工程が終了すると、データ入力ＩＦ２６によって、人４の音声などで次の工程に進める指示が入力されるのを進捗管理部２９は待つ。次の工程に進める指示が進捗管理部２９に入力されて、進捗管理部２９により、現在の工程が次の工程に移ると、現在の工程であるかどうかを進捗管理部２９により進捗情報データベース１９に記憶する。例えば、図３の工程ＩＤ０００３では、現在の工程であることを示すフラグ「１」を進捗情報データベース１９に記憶することで、現在の工程であることを示す。このとき、逆に、他の工程では現在の工程でないことを示すフラグ「０」を進捗情報データベース１９に記憶することで、現在の工程ではないことを示す。進捗管理部２９は、工程の終了が指示されると、その工程にかかった時間を測定し、作業データベース２０の進捗情報データベース１９に記録する。具体的には、進捗管理部２９は、図３の現在の工程にフラグ「１」が記憶されている間の時間を計測して、経過時間として進捗情報データベース１９に記憶する。なお、後述する調理装置６が作動している場合は、調理装置６が停止した時刻に、調理装置６から停止信号が入力されるのを進捗管理部２９で受けて、進捗管理部２９により、現在の工程を次の工程に自動的に進めても良い。【００８７】
調理機器情報データベース１８に記憶されている調理装置６の状況に関する情報（調理機器情報）は、一例として図３に示すように、作業ＩＤ番号などの作業ＩＤ情報の複数の工程ＩＤ番号などの工程ＩＤ情報に相当する工程のそれぞれにおいて、作動している調理装置６を識別するＩＤ情報の一例である機器ＩＤ番号などの機器ＩＤ情報と、当該機器ＩＤ番号の調理装置６の動作状態を示す制御ＩＤ番号に関する情報とを有するように構成される。例えば、図３に示す機器ＩＤ番号の「１」がＩＨクッキングヒータ、機器ＩＤ番号の「２」が電子レンジを示し、制御ＩＤ情報の一例である制御ＩＤ番号の「１００１」が「１００度で加熱」、制御ＩＤ番号の「２００１」が「半解凍で１０分」であることを示し、インターネット２８を通じて外部のウェブサーバにある情報データベース１６から作業情報収集部２３により収集して、作業データベース２０の調理機器情報データベース１８に記憶する。【００８８】
なお、家庭内作業の手順情報又は調理機器情報などの他の情報も、必要に応じて、インターネット２８を通じて外部のウェブサーバにある情報データベース１６から作業情報収集部２３により収集して、作業データベース２０の作業手順情報データベース１７及び調理機器情報データベース１８にそれぞれ記憶することもできる。これは、例えば、新しく調理機器を設置したとき、又は、既存の調理機器を別の調理機器に交換したとき、又は、新しい作業を行なうときなどに有効である。【００８９】
次に、制御パラメータ設定部２１の詳細について説明する。【００９０】
制御パラメータ設定部２１は、作業手順情報と、進捗情報と、調理装置６の状況に関する情報（調理機器情報）とに基づいて、第１及び第２ロボットアーム５−１，５−２のそれぞれの制御モードを、位置制御モードとインピーダンス制御モード（人の力に応じてロボットアームを移動させる制御モードの一例）との間で切り替える設定、及び、インピーダンス制御モード時の機械インピーダンス設定値の設定を行う。【００９１】
第１及び第２ロボットアーム５−１，５−２のそれぞれの位置制御モードは、後述する目標軌道生成部５５のハンド３０の手先位置及び姿勢目標ベクトル指令に基づいて、第１及び第２ロボットアーム５−１，５−２がそれぞれ動作するモードで、具体的には、かき混ぜ作業、又は、拭き掃除などの作業時に動作するモードである。【００９２】
第１及び第２ロボットアーム５−１，５−２のそれぞれのインピーダンス制御モードは、人４などから第１及び第２ロボットアーム５−１，５−２のそれぞれに加わる力に応じて、第１及び第２ロボットアーム５−１，５−２のそれぞれが動作するモードで、例えば、図１Ｂに示すように人４と第１及び第２ロボットアーム５−１，５−２のいずれか又は両方が協働して運搬する作業をさせる場合、又は、図１Ａに示すように、人４が第１又は第２ロボットアーム５−１又は５−２を直接持って、作業場所まで第１又は第２ロボットアーム５−１又は５−２を誘導する際に動作させるモードである。【００９３】
人４と第１ロボットアーム５−１と第２ロボットアーム５−２とが、例えば、図３に示す調理作業を協働して行っている場合に、工程ＩＤ０００８の指示通りに、第２ロボットアーム５−２のハンド３０が位置制御モードで図９Ａのように鍋３Ａの中でかき混ぜ作業をしているときに、人４が鍋３Ａの中の料理の味見をする場合、又は、新たに具材を鍋３Ａの中に投入するために、人４が鍋３Ａの中での第２ロボットアーム５−２のハンド３０によるかき混ぜ作業を中断させる場合がある。その場合に、かき混ぜ作業を中断させる信号が、操作盤１３のボタンの操作などによりデータ入力ＩＦ２６を介して進捗管理部２９から作業データベース２０に入力されるとともに、制御パラメータ設定部２１に入力される。すると、制御パラメータ設定部２１が、作業の停止時に位置制御モードからインピーダンス制御モードに切り替える指令を制御部２２へ出力する。【００９４】
その結果、中断命令により停止した第２ロボットアーム５−２が把持している調理器具１０が、鍋３Ａの中の料理の味見又は鍋３Ａの中への具材の投入時などで邪魔になったときには、第２ロボットアーム５−２の制御モードをインピーダンス制御モードに制御パラメータ設定部２１の設定を変更して制御部２２により切り替えることで、図９Ｂに示すように、人４が第２ロボットアーム５−２を直接把持して移動させるだけで、第２ロボットアーム５−２を簡単に退避することができるようになる。【００９５】
さらに、人４と協働して第２ロボットアーム５−２がインピーダンス制御モードで作業している際に、作業手順情報と進捗情報に応じて、第２ロボットアーム５−２の機械インピーダンスパラメータを補正する補正値を制御パラメータ設定部２１により変更する。【００９６】
機械インピーダンス設定値の設定パラメータ（機械インピーダンスパラメータ）としては、慣性Ｍ、粘性Ｄ、剛性Ｋがある。機械インピーダンス設定値の各パラメータの設定は、補正値を使って、制御パラメータ設定部２１により、以下の評価式に基づいて行う。【００９７】
【数１】
2009004772.tif 000003
【００９８】
【数２】
2009004772.tif 000004
【００９９】
【数３】
2009004772.tif 000005
前記式（１）〜（３）中のＫＭ、ＫＤ、ＫＫはゲインであり、それぞれある定数値である。【０１００】
制御パラメータ設定部２１は、前記式（１）〜（３）に基づき計算した機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋを制御部２２へ出力する。【０１０１】
前記式（１）〜（３）に従えば、補正値等を制御パラメータ設定部２１により適切に設定することにより、ロボットアーム５を適切に動作させることができる。例えば、式（２）及び式（３）により、ロボットアーム５の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが大きくなるように制御パラメータ設定部２１で設定されることにより、ロボットアーム５の動きに抵抗感又は硬さが生じ、動きにくくなる一方、式（２）及び式（３）により、ロボットアーム５の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが小さくなるように制御パラメータ設定部２１で設定されることにより、ロボットアーム５の動きに抵抗感又は硬さが無く、スムーズに動かすことができる。また、式（１）により、ロボットアーム５の機械インピーダンスパラメータの慣性Ｍが大きくなるように制御パラメータ設定部２１で設定されることにより、ロボットアーム５を動かすには大きな力が必要となり、少しぐらい手でロボットアーム５を押しても動かなくなる一方、式（１）により、ロボットアーム５の機械インピーダンスパラメータの慣性Ｍが小さくなるように制御パラメータ設定部２１で設定されることにより、ロボットアーム５を動かすには小さな力で十分になり、少し手でロボットアーム５を押すだけで、スムーズに動かすことができる。【０１０２】
よって、前記式（１）〜（３）により、例えば、図３の工程ＩＤ０００９のように、人４がかき混ぜ作業を中断した際に、具材投入に際し、邪魔になった第２ロボットアーム５−２を退避させる場合（具体的には、人４が操作盤１３から第２ロボットアーム５−２によるかき混ぜ作業を停止する指令がデータ入力ＩＦ２６から進捗管理部２９に入力された場合）に、当該停止指令が、進捗管理部２９から制御パラメータ設定部２１に入力され、制御パラメータ設定部２１により、作業データベース２０より現在実施中の工程ＩＤ番号を抽出し、抽出された工程ＩＤ番号で対象となっている具材（対象情報）を抽出する。豆腐のように具材がつぶれやすい素材だったり、水又はスープのような粘性のある具材の場合であると制御パラメータ設定部２１により判断されたときには、人４が第２ロボットアーム５−２を素早く退避させて、第２ロボットアーム５−２のハンド３０に装着された調理器具１０により、具材を誤ってつぶしたり、水又はスープを鍋３Ａの外に飛ばして鍋３Ａの周辺を汚すことを防ぐ必要がある。このために、制御パラメータ設定部２１により第２ロボットアーム５−２の機械インピーダンスパラメータの上述の補正値を高く設定して、第２ロボットアーム５−２の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが大きくなるように設定されることになり、第２ロボットアーム５−２の動きに抵抗感又は硬さが生じ、動きにくくなる。その後、人４が退避させたい方向に向けて第２ロボットアーム５−２に力を加えれば、人４が押し続けることにより、第２ロボットアーム５−２が退避させたい方向に向けてゆっくり移動させることができて、具材を誤ってつぶしたり、水又はスープを鍋３Ａの外に飛ばして鍋３Ａの周辺を汚すことがなく、第２ロボットアーム５−２を退避させることができる。【０１０３】
また、分量が多い場合には、かき混ぜるのに人４の力が必要になるため（すなわち、分量が多い状態では、分量が少ない場合に比べて、ロボットアーム５にかかる抵抗が大きいため、人４がロボットアーム５を退避させる場合に力が必要になるため）、機械インピーダンスパラメータの補正値を低く設定することで、第２ロボットアーム５−２の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが小さくなるように設定されることになり、ロボットアーム５をスムーズに動かすことができるようになる。【０１０４】
さらに、工程に相当する進捗情報の操作情報において、操作の対象となっていないロボットアーム５では、機械インピーダンスパラメータの補正値を高く設定する。具体的には、例えば図３の工程ＩＤ０００３で人４と第１ロボットシステム１の第１ロボットアーム５−１がインピーダンス制御モードで人４と協働して鍋３Ａを運搬している工程から、運搬が終わった状態である工程ＩＤ０００４に作業の工程が進んだ場合に、工程ＩＤ０００４では、第１ロボットシステム１は手順の操作対象となっていないため、第１ロボットシステム１の第１ロボットアーム５−１の機械インピーダンスパラメータの補正値を高く設定する。このことにより、工程ＩＤ０００３のような鍋３Ａの運搬中より、工程ＩＤ０００４の鍋３Ａを把持しながら待機している場合には、第１ロボットアーム５−１の機械インピーダンスパラメータの慣性Ｍが大きく設定されることにより、工程ＩＤ０００４では、待機中の第１ロボットアーム５−１を動かすには大きな力が必要となり、少しぐらい手で第１ロボットアーム５−１を押しても動かなくなる。このことにより、第１ロボットアーム５−１が鍋３Ａの取っ手を把持した状態で待機していた場合には、人４が誤って鍋３Ａを動かそうとした場合でも、容易に動かないように第１ロボットアーム５−１はしっかり鍋３Ａを固定させることができる。【０１０５】
また、作業が進むにつれて、人４が疲れてくることにより誤操作又は誤動作が増大する。そこで、進捗管理部２９で求められて制御パラメータ設定部２１に入力される各工程の経過時間の合算が増加するにしたがって、機械インピーダンスパラメータの補正値を高くなるように制御パラメータ設定部２１で設定する。このことにより、第１ロボットアーム５−１の機械インピーダンスパラメータの剛性Ｋを大きく設定したり、又は、必要に応じて第１ロボットアーム５−１に加えて第２ロボットアーム５−２の機械インピーダンスパラメータの剛性Ｋも大きく設定することになるため、第１ロボットアーム５−１又は第１ロボットアーム５−１と第２ロボットアーム５−２が容易に動かないようにすることができ、長い時間作業をしている場合に人４が誤動作して、鍋３Ａなど搬送物の落下などの危険性を防ぐことができる。【０１０６】
さらに、水が入った鍋３Ａを運搬するよりは、調理の結果、沸騰した湯又は具材が入っている鍋３Ａを運搬する方が、誤操作して搬送物が落下した時の危険性が増大するため、制御パラメータ設定部２１が作業データベース２０にアクセスして取得した調理装置６の状況に関する情報の機器ＩＤ番号と制御ＩＤ番号により、例えば、ＩＨクッキングヒータの火加減の情報とその作動時間から、中に入った具材が熱湯かどうかを制御パラメータ設定部２１により推定し、さらに作業手順情報により、中にどのような具材が入っているかに応じて、制御パラメータ設定部２１により機械インピーダンスパラメータの補正値を高く設定することで、第１又は第２ロボットアーム５−１又は５−２の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが大きくなるように設定されることになり、第１又は第２ロボットアーム５−１又は５−２の動きに抵抗感又は硬さが生じ、動きにくくなる。【０１０７】
さらに、朝又は夕方の時間帯のように、時間内に迅速に食事の準備をする必要がある場合には、図１３に示すように、作業データベース２０に予め記憶された、時刻に応じてレベルを設定したレベルに比例して、機械インピーダンスパラメータの補正値を制御パラメータ設定部２１により設定する。このことにより、例えば、朝又は夕方の時間帯はレベルを低く設定することでロボットアーム５−１又は５−２の機械インピーダンスパラメータの補正値を低く設定することができ、ロボットアーム５−１又は５−２の動きに抵抗感又は硬さが減り、スムーズに操作をすることができるようになる。【０１０８】
以上の作業情報収集部２３と、作業データベース２０と、進捗管理部２９と、制御パラメータ設定部２１との動作ステップについて、図５のフローチャートに基づいて説明する。【０１０９】
作業情報収集部２３は、調理作業のレシピ情報等の家庭内作業の手順情報をインターネット２８を通じて外部のウェブサーバにある情報データベース１６から収集し、作業データベース２０の作業手順情報データベース１７に記憶する（ステップＳ２０）。【０１１０】
次いで、データ入力ＩＦ２６は、表示部９に表示された作業の一覧から人４により作業を選択する指令を受けて、作業データベース２０に現在の作業を設定する。具体的には、調理メニューの一覧から調理したいメニューを人４が選択して、データ入力ＩＦ２６で選択指令を作業データベース２０に入力して、作業データベース２０に現在の作業の一例としての調理メニューを設定する（ステップＳ２１）。【０１１１】
次いで、データ入力ＩＦ２６は、表示部９に表示された作業手順すなわち作業の工程に従って、人４からの作業開始の指令を受ける。具体的には、人４からのかき混ぜ作業の開始の指示をデータ入力ＩＦ２６により受けて、進捗管理部２９に作業の開始の指示を入力する（ステップＳ２２）【０１１２】
次いで、ステップＳ２２の作業に関する進捗情報を進捗管理部２９で管理し、作業データベース２０の進捗情報データベース１９に記憶する。具体的には、かき混ぜ工程を「現在の作業」として設定するために進捗管理部２９によりフラグ「１」を進捗情報データベース１９に記憶したり（ステップＳ２３）、次いで、「現在の作業」にフラグ「１」が記憶されている時間を進捗管理部２９により計測し、かき混ぜ作業の経過時間として進捗管理部２９により計測して、進捗情報データベース１９に記憶する（ステップＳ２４）。【０１１３】
次いで、データ入力ＩＦ２６から作業データベース２０を介して、人４から停止命令が入力されているか否かを制御パラメータ設定部２１が判断する（ステップＳ２５）。【０１１４】
もし、制御パラメータ設定部２１は、停止の入力をデータ入力ＩＦ２６から作業データベース２０を介して又はデータ入力ＩＦ２６から進捗管理部２９を介して受けていない場合には、かき混ぜ作業を行うために、制御モードを位置制御モードに設定して、制御部２２へ出力する（ステップＳ２６）。【０１１５】
もし、ステップＳ２５において、作業情報に従って、別の具材を投入するために、人４から作業停止の入力をデータ入力ＩＦ２６で受けた場合には、データ入力ＩＦ２６から作業データベース２０を介して又はデータ入力ＩＦ２６から進捗管理部２９を介して停止信号が制御パラメータ設定部２１に入力されて、制御パラメータ設定部２１は、制御モードをインピーダンス制御モードに設定する（ステップＳ２７）。【０１１６】
次いで、制御パラメータ設定部２１は、作業データベース２０から現在の工程を抽出し、さらにその作業で使用している具材の状況又は経過時間、その工程で動作している他の調理装置６の調理機器情報を基に、前記式（１）〜（３）にて機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋを算出して、制御部２２へ出力する（ステップＳ２８）。【０１１７】
なお、ステップＳ２５での作業停止の入力情報の有無により、制御パラメータ設定部２１で、位置制御モード、もしくは、インピーダンス制御モードに設定したが、レシピ情報の予測時間情報又は他の調理装置の状況によりタイマーなどを設定していた場合には、制御パラメータ設定部２１が、進捗管理部２９及び作業データベース２０からの情報を基に、自動的に、インピーダンス制御モード、もしくは、位置制御モードに切り替えるようにしても良い。【０１１８】
図６は制御部２２のインピーダンス制御モード時のブロック図を示す。制御部２２は、制御パラメータ設定部２１で設定した機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋの設定値に基づき設定されたロボットアーム５−１，５−２のそれぞれの機械インピーダンス設定値に、ロボットアーム５−１，５−２のそれぞれの機械インピーダンスの値を制御する。【０１１９】
次に、制御部２２の詳細について、図６により説明する。ロボットアーム５−１，５−２のそれぞれからは、それぞれの関節軸のエンコーダ４４により計測された関節角の現在値（関節角度ベクトル）ベクトルｑ＝［ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６］Ｔが出力され、入出力ＩＦ２４のカウンタボードにより制御部２２に取り込まれる。ただし、ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６は、それぞれ、第１関節部３５、第２関節部３６、第３関節部３７、第４関節部３８、第５関節部３９、第６関節部４０の関節角度である。【０１２０】
５５は目標軌道生成部であり、制御パラメータ設定部２１からの入力を受けて、目標とするロボットアーム５の動作を実現するための手先位置及び姿勢目標ベクトルｒｄが出力される。目標とするロボットアーム５の動作は、目的とする作業に応じて事前にそれぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）が与えられており、目標軌道生成部５５は、多項式補間を使用し、各ポイント間の軌道を補完し、手先位置及び姿勢目標ベクトルｒｄを生成する。【０１２１】
５３は力推定手段（力推定部）であり、人４等とロボットアーム５の接触によってロボットアーム５に加わる外力を推定する。力推定手段５３には、モータドライバ２７の電流センサーで計測された、ロボットアーム５の各関節部を駆動するモータ４３を流れる電流値ｉ＝［ｉ１，ｉ２，ｉ３，ｉ４，ｉ５，ｉ６］Ｔが入出力ＩＦ２４のＡ／Ｄボードを介して取り込まれ、また、関節角の現在値ｑが入出力ＩＦ２４のカウンタボードを介して取り込まれるとともに、後述する近似逆運動学計算部５７からの関節角度誤差補償出力ｕｑｅが取り込まれる。力推定手段５３は、オブザーバーとして機能し、以上の電流値ｉ、関節角の現在値ｑ、関節角度誤差補償出力ｕｑｅより、ロボットアーム５に加わる外力により各関節部に発生するトルクτｅｘｔを算出する。そして、Ｆｅｘｔ＝Ｊｖ（ｑ）−Ｔτｅｘｔ−［０，０，ｍｇ］Ｔによりロボットアーム５の手先における等価手先外力Ｆｅｘｔに換算し出力する。ここで、Ｊｖ（ｑ）は、【０１２２】
【数４】
2009004772.tif 000006
を満たすヤコビ行列である。ただし、ただし、ｖ＝［ｖｘ、ｖｙ、ｖｚ、ωｘ、ωｙ、ωｚ］Ｔであり、（ｖｘ、ｖｙ、ｖｚ）は手先座標系４２でのロボットアーム５の手先の並進速度、（ωｘ、ωｙ、ωｚ）は手先座標系４２でのロボットアーム５の手先の角速度である。また、ｍは把持している物体の重さであり、ｇは把持している物体の重力加速度である。把持物体の重さｍの値は、把持する前に人が入力したり、作業情報収集部２３により情報を収集して入力することができる。また、ロボットアーム５により実際に把持を行い、そのときの力推定手段５３の等価手先外力Ｆｅｘｔの推定結果より把持物体の重さｍの値を算出する事も可能である。【０１２３】
インピーダンス計算手段（インピーダンス計算部）５１は、ロボットアーム５に機械インピーダンス設定値への前記ロボットアーム５の機械インピーダンスの値の制御を実現する機能を果たす部分であり、制御パラメータ設定部２１で位置制御モードに切り替えられた際には「０」を出力する。一方、インピーダンス制御モードの際には、制御パラメータ設定部２１で設定されたインピーダンスパラメータである慣性Ｍ、粘性Ｄ、剛性Ｋと、関節角の現在値ｑと、力推定部５３が推定した外力Ｆｅｘｔより、ロボットアーム５に機械インピーダンス設定値への前記ロボットアーム５の機械インピーダンスの値の制御を実現するための手先位置及び姿勢目標補正出力ｒｄΔを以下の式（４）により計算し、出力する。手先位置及び姿勢目標補正出力ｒｄΔは、目標軌道生成部５５の出力する手先位置及び姿勢目標ベクトルｒｄに加算され、手先位置及び姿勢補正目標ベクトルｒｄｍが生成される。【０１２４】
【数５】
2009004772.tif 000007
ただし、
【数６】
2009004772.tif 000008
【０１２５】
【数７】
2009004772.tif 000009
【０１２６】
【数８】
2009004772.tif 000010
であり、ｓはラプラス演算子である。【０１２７】
５８はロボットアーム５からのそれぞれの関節軸のエンコーダ４４により計測された関節角の現在値ｑである関節角度ベクトルｑが入出力ＩＦ２４のカウンタボードを介して入力される順運動学計算部であり、ロボットアーム５の関節角度ベクトルｑから手先位置及び姿勢ベクトルｒへの変換の幾何科学的計算を行う。
５６は位置誤差補償部であり、ロボットアーム５において計測される関節角度ベクトルｑより順運動学計算部５８により計算される手先位置及び姿勢ベクトルｒと、手先位置及び姿勢補正目標ベクトルｒｄｍとの誤差ｒｅが入力され、位置誤差補償出力ｕｒｅが近似逆運動学計算部５７に向けて出力される。
近似逆運動学計算部５７では、近似式ｕｏｕｔ＝Ｊｒ（ｑ）−１ｕｉｎにより、逆運動学の近似計算を行う。ただし、Ｊｒ（ｑ）は、【０１２８】
【数９】
2009004772.tif 000011
の関係を満たすヤコビ行列、ｕｉｎは近似逆運動学計算部５７への入力、ｕｏｕｔは近似逆運動学計算部５７からの出力であり、入力ｕｉｎを関節角度誤差ｑｅとすれば、ｑｅ＝Ｊｒ（ｑ）−１ｒｅのように手先位置及び姿勢誤差ｒｅから関節角度誤差ｑｅへの変換式となる。したがって、位置誤差補償出力ｕｒｅが近似逆運動学計算部５７に入力されると、その出力として、関節角度誤差ｑｅを補償するための関節角度誤差補償出力ｕｑｅが近似逆運動学計算部５７から出力される。【０１２９】
関節角度誤差補償出力ｕｑｅは、入出力ＩＦ２４のＤ／Ａボードを介してモータドライバ２５に電圧指令値として与えられ、各モータ４３により各関節軸が正逆回転駆動されロボットアーム５が動作する。【０１３０】
以上のように構成される制御部２２に関して、ロボットアーム５のインピーダンス制御動作の原理について説明する。【０１３１】
インピーダンス制御動作の基本は、位置誤差補償部５６による手先位置及び姿勢誤差ｒｅのフィードバック制御（位置制御）であり、図６の点線で囲まれた部分が位置制御系５９になっている。位置誤差補償部５６として、例えば、ＰＩＤ補償器を使用すれば、手先位置及び姿勢誤差ｒｅが０に収束するように制御が働き、目標とするロボットアーム５のインピーダンス制御動作を実現することができる。【０１３２】
制御パラメータ設定部２１でインピーダンス制御モードに切り替えられた場合には、前記説明した位置制御系５９に対し、インピーダンス計算手段２５により手先位置及び姿勢目標補正出力ｒｄΔが加算され、手先位置及び姿勢の目標値の補正が行われる。このために、前記した位置制御系５９は、手先位置及び姿勢の目標値が本来の値より微妙にずれることになり、結果的に、前記ロボットアーム５の機械インピーダンスの値を前記適切に設定された設定値に制御する動作が実現される。手先位置及び姿勢目標補正出力ｒｄΔは式（４）により算出されるため、前記ロボットアーム５の慣性Ｍ、粘性Ｄ、剛性Ｋの機械インピーダンスの値を前記適切に設定された設定値に制御する動作が実現される。【０１３３】
以上の原理に基づく制御プログラムの実際の動作ステップについて、図７のフローチャートに基づいて説明する。【０１３４】
関節部それぞれのエンコーダ４４により計測された関節角度データ（関節変数ベクトル又は関節角度ベクトルｑ）が制御装置本体部１１に取り込まれる（ステップＳ１）。【０１３５】
次いで、逆運動学計算部５７にてロボットアーム５の運動学計算に必要なヤコビ行列Ｊｒ等の計算を行う（ステップＳ２）。【０１３６】
次いで、順運動学計算部５８にて、ロボットアーム５からの関節角度データ（関節角度ベクトルｑ）から、ロボットアーム５の現在の手先位置及び姿勢ベクトルｒを計算する（ステップＳ３）。【０１３７】
次いで、制御装置本体部１１のメモリ（図示せず）に予め記憶されていたロボットアーム５の動作プログラムに基づき、目標軌道計算部５５はロボットアーム５の手先位置及び姿勢目標ベクトルｒｄが計算する（ステップＳ４）。【０１３８】
次いで、力推定部５３は、モータ４３の駆動電流値ｉと、関節角度データ（関節角度ベクトルｑ）と、関節角度誤差補償出力ｕｑｅから、ロボットアーム５の手先における等価手先外力Ｆｅｘｔを計算する（ステップＳ５）。【０１３９】
次いで、ステップＳ６では、制御パラメータ設定部２１において位置制御モードかインピーダンス制御モードかを設定し、位置制御モードの場合にはステップＳ７に、インピーダンス制御モードの時には、ステップＳ８へ処理を進める。【０１４０】
次いで、ステップＳ７（インピーダンス計算部５１での処理）では、制御パラメータ設定部２１において、位置制御モードが設定された場合には、インピーダンス計算部５１で、手先位置及び姿勢目標補正出力ｒｄΔを０ベクトルとする。その後、ステップＳ９に進む。【０１４１】
ステップＳ６で制御パラメータ設定部２１において、インピーダンス制御モードが設定された場合には、インピーダンス計算部５１では、制御パラメータ設定部２１において設定された機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋと、関節角度データ（関節角度ベクトルｑ）と、力推定手部５３により計算されたロボットアーム５に加わる等価手先外力Ｆｅｘｔから、手先位置及び姿勢目標補正出力ｒｄΔが、インピーダンス計算部５１により計算される（ステップＳ８）。【０１４２】
次いで、位置誤差補償部５６では、手先位置及び姿勢目標ベクトルｒｄと手先位置及び姿勢目標補正出力ｒｄΔの和である手先位置及び姿勢補正目標ベクトルｒｄｍと、現在の手先位置及び姿勢ベクトルｒとの差である手先位置及び姿勢の誤差ｒｅが計算される（ステップＳ９）。位置誤差補償部５６の具体例としてはＰＩＤ補償器が考えられる。定数の対角行列である比例、微分、積分の３つのゲインを適切に調整することにより、位置誤差が０に収束するように制御が働く。【０１４３】
次いで、近似逆運動学計算部５７では、ステップＳ２で計算したヤコビ行列Ｊｒの逆行列を近似逆運動学計算部５７で乗算することにより、位置誤差補償出力ｕｒｅを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力ｕｑｅに、近似逆運動学計算部５７により変換する（ステップＳ１０）。【０１４４】
次いで、関節角度誤差補償出力ｕｑｅが、近似逆運動学計算部５７から入出力ＩＦ２４のＤ／Ａボードを通じ、モータドライバ２５に与えられ、それぞれのモータ４３を流れる電流量を変化させることによりロボットアーム５のそれぞれの関節軸の回転運動が発生する（ステップＳ１１）。【０１４５】
以上のステップＳ１〜ステップＳ１１が制御の計算ループとして繰り返し実行されることにより、ロボットアーム５の動作の制御、すなわち、ロボットアーム５の機械インピーダンスの値を前記適切に設定された設定値に制御する動作を実現することができる。【０１４６】
以上の動作ステップＳ２０〜ステップＳ２８及びステップＳ１〜ステップＳ１１により、作業手順情報とその作業の進捗情報、さらにはその作業の工程にてロボットアーム５の周辺で動作している調理装置６の状況に応じて、制御パラメータを設定し、そのパラメータに応じて、ロボットアーム５による作業が実現する。【０１４７】
以上のように、作業データベース２０、制御パラメータ設定部２１、進捗管理部２９、制御部２２を備えることにより、ロボットアーム５を人４が操縦する場合に、人４がロボットアーム５を移動させたい場合には速やかに移動させることができ、さらには作業している具材などの状況に基づいて、剛性の低いインピーダンス制御の状態から剛性の高いインピーダンス制御の状態に移行することで、人４によるロボットアーム５の誤動作によって具材をつぶしたり、具材を鍋の外に飛ばすことを防止することができる。【０１４８】
また、作業時間が長くなることでの人４が疲れ、ロボットアーム５において誤動作する可能性が増大するため、経過時間に応じて、剛性の低いインピーダンス制御の状態から剛性の高いインピーダンス制御の状態に移行することで、疲れによるロボットアーム５の誤動作を防止することができる。【０１４９】
（第２実施形態）
本発明の第２実施形態における、ロボットアーム５の制御装置１０５の基本的な構成は、第１実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。【０１５０】
図８は、第１ロボットシステム１又は第２ロボットシステム２を構成する制御装置１０５と制御対象であるロボットアーム５（第１又は第２ロボットアーム５−１又は５−２）の詳細構成を示す図である。【０１５１】
入出力ＩＦ２４、モータドライバ２５、ロボットアーム５、制御部２２、進捗管理部２９、表示部９は第１実施形態の場合と同様であるので、説明は省略する。【０１５２】
作業情報収集部２３のデータ入力ＩＦ２６により、ロボットアーム５と協働する人４の利き腕などの人４の特性に関する情報（例えば、作業特性に関する情報）を入力して、作業データベース２０の作業状態情報データベース４５に記憶する。【０１５３】
さらに、作業情報収集部２３の画像認識部２７により、人４とロボットアーム５との協働作業の状態を撮像するためのカメラなどの画像撮像装置１２の画像データより画像認識を行い、ロボットアーム５を操作している人４の位置情報、又は、人４の手先に調理器具１０などを把持しているかどうかの情報を収集し、作業データベース２０の作業状態情報データベース４５に出力する。【０１５４】
次に、作業データベース２０の詳細について説明する。【０１５５】
作業データベース２０は、例えば、図３に示したロボットアーム５と人４の作業手順情報データベース１７と進捗情報データベース１９と、図４に示したロボットシステム１又は２を操縦している人４の協働作業状態に関する情報を予め記憶している作業状態情報データベース４５とを備えるように構成される。図３は第１実施形態の場合と同様であるので説明は省略する。【０１５６】
人４の作業状態に関する情報は、図４に示すように、一例として、人４を識別する人識別情報の一例としてのＩＤ番号と、ＩＤ番号に相当する人４の年齢又は性別、及び氏名に関する情報に加えて、人４の利き腕の手の手先位置、人４が調理器具１０などを利き腕の手で把持しているかどうかを示す情報、人４の利き腕に関する情報、人４の作業を遂行する際の能力を示すスキル情報とを有するように構成される。これらの情報は、予め測定し、評価し、データベースとして作業データベース２０に格納されている。【０１５７】
人４の識別は、人４にＲＦタグを装備して、識別番号をＩＤ番号として抽出しても良いし、人４が作業前に識別番号（ＩＤ番号）をデータ入力ＩＦ２６から作業データベース２０に入力しても良い。さらに、人４の利き腕に関する情報は、人４がデータ入力ＩＦ２６から作業前に作業データベース２０に入力しても良い。また、カメラなどの画像撮像装置１２の画像データとあらかじめ記録された人４の手の画像データとの間で、画像認識部２７にてモデルマッチング処理を画像認識部２７で行い、人４の手先の位置を画像認識部２７で抽出し、さらに、把持している物体にＲＦＩＤタグを装備して把持物体の位置を画像認識部２７で算出し、手先の位置に把持物体の位置が重なる場合を把持していると画像認識部２７で判断する。【０１５８】
人４のスキル情報は、作業ＩＤ番号とスキルのレベルとで構成され、作業ＩＤ番号が示す作業を遂行する際の能力をレベルとして５段階で示す。「レベル１」はスキルが最も低く、「レベル５」はスキルが最も高いことを示す。例えば、図４で、ＩＤ番号２は１０歳の子供であり、作業ＩＤ０００１である調理作業ではレベル１であり、調理作業の能力が低いことを示す。スキル情報は、人４がデータ入力ＩＦ２６から作業前に作業データベース２０に入力する。【０１５９】
制御パラメータ設定部２１は、作業手順情報と進捗情報と人４の作業状態とに基づいて、ロボットアーム５の制御パラメータを設定する。一例として、人４が、図３に示す調理作業を行っている場合に、工程ＩＤ０００８の指示通りに、第２ロボットアーム５−２が位置制御モードでかき混ぜ作業をしているときに、人４が鍋３Ａの中の料理の味見をする場合、又は、新たに具材を鍋３Ａの中に投入するために、かき混ぜ作業を中断する場合がある。その場合に、データ入力ＩＦ２６から停止命令が入力され、その停止命令が進捗管理部２９及び作業データベース２０を介して又は進捗管理部２９から直接的に制御パラメータ設定部２１に入力されると、
制御パラメータ設定部２１から制御部２２を介して第２ロボットアーム５−２の作業を停止させるとともに、制御パラメータ設定部２１が、作業の停止時に、後述する人４の作業状態に基づいて第２ロボットアーム５−２を適切な位置に退避させるためのパラメータを設定する。【０１６０】
具体的には、図１０Ａの位置（第２ロボットアーム５−２のハンド３０で把持した調理器具１０が鍋３Ａの中央部に位置した状態）で、人４からの停止命令が、データ入力ＩＦ２６に入力され、データ入力ＩＦ２６から進捗管理部２９から制御パラメータ設定部２１に前記停止命令が入力され、制御パラメータ設定部２１から制御部２２を介して第２ロボットアーム５−２によるかき混ぜを停止させた場合に、図１０Ａの位置では第２ロボットアーム５−２又はそれに取り付けられたレードルなどの調理器具１０が、人４の味見などの作業の邪魔になる。そこで、制御パラメータ設定部２１は、進捗管理部２９及び作業データベース２０から得られた作業手順情報より、前記停止命令によって、かき混ぜ作業を中断したことがわかるので、画像認識部２７から作業データベース２０から得られた画像認識結果の情報を基に図４の人４の手先位置から人４の位置を推定し、図１０Ｂのように、人４のいない方向に第２ロボットアーム５−２を退避させるための退避位置（例えば、第２ロボットアーム５−２のハンド３０で把持した調理器具１０が鍋３Ａの周辺でかつ壁面７ａ側に位置した状態の退避位置）の目標軌道を設定する。目標軌道は、第１実施形態と同様、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）情報であり、人４の位置から制御パラメータ設定部２１で算出して制御部２２へ出力する。制御部２２では、制御パラメータ設定部２１からの算出データに基づき、位置制御モードにより第２ロボットアーム５−２を所定の位置に退避させる。【０１６１】
さらに、制御パラメータ設定部２１は、図４の人４の利き腕情報と作業手順情報より、第２ロボットアーム５−２を、より適切な位置に退避させるためのパラメータを設定することができる。【０１６２】
具体的には、例えば、かき混ぜ作業の中断時に、図１４Ａの位置では、第２ロボットアーム５−２又はそれのハンド３０に取り付けられたレードルなどの調理器具１０が、人４の味見などの作業の邪魔になる。その場合に、図１４Ｂ及び図１４Ｃに示すように、人４が右利きの場合（人４の利き腕が右の場合）には、次の工程で作業がしやすいように、鍋３Ａの中央の点線に対して人４から見て、右側に第２ロボットアーム５−２のハンド３０に取り付けられた調理器具１０を退避させるための退避位置の目標軌道を設定することができる（図１４Ｃの実線の円を参照）。逆に、人４が左利きの場合（人４の利き腕が左の場合）には、次の工程で作業がしやすいように、鍋３Ａの中央の点線に対して人４から見て、左側に第２ロボットアーム５−２のハンド３０に取り付けられた調理器具１０を退避させるための退避位置の目標軌道を設定することができる（図１４Ｃの点線の円を参照）。【０１６３】
さらに、人４の手の把持状態の情報から、第２ロボットアーム５−２を、より適切な位置に退避させるためのパラメータを設定することもできる。【０１６４】
具体的には、例えば、かき混ぜ作業の中断時に、図１５Ａの位置では、第２ロボットアーム５−２又はそれのハンド３０に取り付けられたレードルなどの調理器具１０が、人４による新たな具材の投入などの作業の邪魔になる。そこで、図１５Ｂ及び図１５Ｃに示すように、人４が新たな具材が載った皿８８を把持していない手の方向（鍋３Ａの中央の点線に対して人４から見て左側）に第２ロボットアーム５−２のハンド３０に取り付けられた調理器具１０を退避させるための退避位置の目標軌道を設定する（図１５Ｃの実線の円を参照）。【０１６５】
さらに、人４のスキル情報から、第２ロボットアーム５−２を、より適切な位置に退避させるためのパラメータを設定する。【０１６６】
具体的には、例えば、調理作業のスキルが低い子供の場合には、スキルが高い大人よりも遅い動作となるように、第２ロボットアーム５−２の退避動作時の目標軌道を設定する。例えば、目標軌道は、第１実施形態と同様、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）情報であるので、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）を、大人よりも大きな値に制御パラメータ設定部２１により設定しておけばよい。このようにすれば、大人よりも遅い動作で、第２ロボットアーム５−２を退避させることができて、子供にとって安全なものとなる。【０１６７】
さらに、スキルの低い子供によるかき混ぜ作業の中断時に第２ロボットアーム５−２を退避させる場合に、制御パラメータ設定部２１により式（１）〜（３）の補正値を高く設定することで、粘性Ｄ及び剛性Ｋが大きくなるように設定することができる。そのようにすれば、第２ロボットアーム５−２の動きに抵抗感又は硬さが生じ、第２ロボットアーム５−２が動きにくくなり、子供が誤って、素早く第２ロボットアーム５−２を動かすことで、誤って具材をつぶしたり、水又はスープを鍋３Ａの外にこぼすことを防ぐことができることとなる。【０１６８】
このように、制御パラメータ設定部２１は、作業状態情報データベース４５に記憶された人４の作業状態に関する情報又は画像認識部２７で取得された情報などに基づいて制御パラメータを設定することにより、人４が作業しやすい位置に第２ロボットアーム５−２を退避させることができ、利便性の良いロボットアーム５及びロボットアーム５の制御装置１０５などを提供することが可能となる。【０１６９】
（第３実施形態）
本発明の第３実施形態における、ロボットアーム５の制御装置１０５の基本的な構成は、第１実施形態及び第２実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。【０１７０】
図１１は、第１ロボットシステム１又は第２ロボットシステム２を構成する、制御対象であるロボットアーム５とその制御装置１０５の詳細構成を示す図である。【０１７１】
入出力ＩＦ２４、モータドライバ２５、ロボットアーム５、進捗管理部２９、表示部９、作業情報収集部２３は第１実施形態の場合と同様であるので、説明は省略する。【０１７２】
図３に示す調理作業を行っている場合に、工程ＩＤ０００８の指示通りに、第２ロボットアーム５−２が位置制御モードで図９Ａのようにかき混ぜ作業をしているときに、人４が鍋３Ａの中の料理の味見をする場合、又は、鍋３Ａの中へ新たに具材を投入するために、かき混ぜ作業を中断する場合がある。その場合に、データ入力ＩＦ２６から停止命令が入力され、その停止命令が進捗管理部２９から制御パラメータ設定部２１に入力されると、制御パラメータ設定部２１から制御部２２を介して第２ロボットアーム５−２の作業を停止させるとともに、制御パラメータ設定部２１が、作業の停止時に、位置制御モードからインピーダンス制御モードに第２ロボットアーム５−２の制御モードを切り替える指令を制御部２２へ出力する。【０１７３】
この出力に基づいて制御部２２により、第２ロボットアーム５−２の制御モードが作業の停止時に位置制御モードからインピーダンス制御モードに切り替わると、人４が第２ロボットアーム５−２に力をかければ、その力をかけた方向に第２ロボットアーム５−２が移動するため、図１Ａに示すように、人４は第２ロボットアーム５−２を直接把持して、退避させたい位置に向けて力をかけることで、第２ロボットアーム５−２を、味見又は新たな具材投入作業などの邪魔にならない退避位置に移動させることができる。その際に、制御パラメータ設定部２１は、図１２に示すように、人４がかけた力（図１２の真ん中の欄に力の大きさを示す。数字が大きいほど、大きな力を意味する。）と、その時の第２ロボットアーム５−２のハンド３０の位置すなわち手先位置と目標位置（姿勢目標ベクトルｒｄ）（図１２の右端の欄に、手先位置の現在位置の座標と目標位置の座標を示す。）を、その時の時刻とともに作業データベース２０の作業状態情報データベース４５に記憶する。【０１７４】
次に、人４が、次に、同様にインピーダンス制御モードで第２ロボットアーム５−２を退避させる場合に、比較手段の一例としての比較部１５により、人４が第２ロボットアーム５−２にかけた力とその時の第２ロボットアーム５−２の手先位置と、作業状態情報データベース４５に記憶された力と手先位置を、時系列の順に比較し、両者の差があらかじめ定められた誤差の範囲内である場合には、両者は一致したと見なし、制御パラメータ設定部２１に時刻とともに一致情報を出力する。制御パラメータ設定部２１は、前記比較部１５からの一致情報を基に、第２ロボットアーム５−２の制御モードをインピーダンス制御モードから位置制御モードに変更し、さらに位置制御モードの目標位置（退避位置）を作業データベース２０で記憶した第２ロボットアーム５−２の手先位置として、制御部２２に出力する。よって、制御パラメータ設定部２１からの出力に基づき制御部２２により、第２ロボットアーム５−２の制御モードをインピーダンス制御モードから位置制御モードに切り替える。第２ロボットアーム５−２が位置制御モードに変更された以降は、人４が第２ロボットアーム５−２を操作しなくても、第２ロボットアーム５−２が自動的に制御部２２の制御の下に退避位置まで退避することができる。【０１７５】
以上のように、人４は、一度、第２ロボットアーム５−２を邪魔にならない位置に退避させると、次に退避させる場合には、少しの力をかけるだけで、第２ロボットアーム５−２は、それ以降は位置制御モードで自動で退避することができる。【０１７６】
さらに、退避した位置から元の位置に戻そうとしている場合には、退避した実際の位置と作業状態情報データベース４５に記憶した位置を比較部１５により比較し、記憶しているデータと時系列とは逆に一致している場合には、退避場所から戻そうとしていると比較部１５で判断し、記憶されている状態情報を時系列の逆順に、制御パラメータ設定部２１に手先位置と力情報を出力する。【０１７７】
以上のように、人４が第２ロボットアーム５−２をインピーダンス制御モードで人４の作業がしやすい位置に退避させると、次に退避させる場合には、人４が少しの力をかけるだけで、第２ロボットアーム５−２が自動的に人４の作業しやすい位置に退避させることができ、作業効率が高く、操作しやすいロボット制御を実現する制御装置が提供できる。【０１７８】
（第４実施形態）
本発明の第４実施形態における、ロボットアームの制御装置の基本的な構成は、第１実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。【０１７９】
図１７は、拭き掃除作業におけるロボットシステム１又はロボットシステム２を構成する制御装置本体部１１と制御対象であるロボットアーム５の詳細構成を示す図である。【０１８０】
入出力ＩＦ２４、モータドライバ２５、ロボットアーム５、進捗管理部２９、表示部９、制御部２２、進捗管理部２９は第１実施形態の場合と同様であるので、説明は省略する。【０１８１】
図１８は、拭き掃除作業における作業データベース２０を示す。具体的には第１実施形態と同様に、作業を識別する作業識別情報の一例としての作業ＩＤ番号と、その作業の中の個々の工程を識別する工程識別情報の一例としての工程ＩＤ番号と、工程ＩＤ番号に相当する工程に関する情報と、その工程での対象物に関する対象情報と、その工程を行う操作情報と、並びにその工程にかかる見込みの時間である予測時間と、その工程で調理する分量とを有するように構成される。図１８では、作業ＩＤ０００２の中の工程ＩＤ０００１は、「スポンジをロボットアーム５−２に装着して下さい」とあり、作業の状態としては、図１９Ａの状態、すなわち、人４が、スポンジ４６を第２ロボットアーム５−２のハンド３０に装着した状態となる。また、工程ＩＤ０００２は、「拭き掃除開始ボタンを押して下さい」とあり、図１９Ｂの状態、すなわち、人４が、操作盤１３の拭き掃除開始ボタンを押状態となる。【０１８２】
制御パラメータ設定部２１は、作業手順情報と進捗に関する情報に基づいて、ロボットアーム５の制御モードを位置制御モードとインピーダンス制御モードとの間で切り替える設定を行う。【０１８３】
位置制御モードは、第１実施形態の場合と同様に目標軌道生成部５５の手先位置及び姿勢目標ベクトル指令に基づいてロボットアーム５が作動するモードで、具体的にはかき混ぜ作業又は拭き掃除などの作業時に動作するモードである。【０１８４】
インピーダンス制御モードは、人４などからロボットアーム５に加わる力に応じて、ロボットアーム５が作動するモードで、例えば、図１Ｂに示すように人４とロボット５が協働して運搬する作業をさせる場合、又は、図１Ａに示すように、人４がロボットアーム５を直接持って、作業場所までロボットアーム５を誘導する際に作動させるモードである。【０１８５】
例えば、図１８に示すように、人４と第２ロボットアーム５−２とが協働して拭き掃除作業を行っている場合、すなわち、工程ＩＤ０００２の指示通りに、第２ロボットアーム５−２が位置制御モードでスポンジ４６を作業台７の表面に押しつけて拭き掃除作業をしているときに、第２ロボットアーム５−２で拭き掃除作業をしている場所（例えばシンクなど）を人４が使うために、拭き掃除作業を中断させる場合がある。その場合に、データ入力ＩＦ２６から停止命令が入力され、その停止命令が進捗管理部２９から制御パラメータ設定部２１に入力されると、制御パラメータ設定部２１から制御部２２を介して第２ロボットアーム５−２の作業を停止させるとともに、制御パラメータ設定部２１が、作業の停止時に、第２ロボットアーム５−２の制御モードを位置制御モードからインピーダンス制御モードに切り替える指令を制御部２２へ出力する。よって、制御パラメータ設定部２１からの出力に基づき制御部２２により、第２ロボットアーム５−２の制御モードを位置制御モードからインピーダンス制御モードに切り替える。【０１８６】
その結果、中断命令により停止した第２ロボットアーム５−２が把持しているスポンジ４６が邪魔になったときには、第２ロボットアーム５−２の制御モードをインピーダンス制御モードに切り替えることで、人４が第２ロボットアーム５−２を直接把持して移動させるだけで、第２ロボットアーム５−２を退避位置に簡単に退避することができるようになる。【０１８７】
以上のように、作業データベース２０、制御パラメータ設定部２１、進捗管理部２９、制御部２２を備えることにより、ロボットアーム５を人４が操縦する場合に、人４がロボットアーム５を移動させたい場合には速やかに移動させることができる。【０１８８】
なお、前記第１〜第４実施形態では、作業手順情報はインターネット２８を通じて収集するとしたが、ＳＤカードなどのメモリ又はＤＶＤなどのメディアから収集しても良い。【０１８９】
さらに、前記第１〜第４実施形態の制御パラメータ設定部２１は、かき混ぜ中断後の機械インピーダンスパラメータを設定することとしたが、ダイレクトティーチングなど人４がロボットアーム５を操作する作業に基づいて、制御パラメータ設定部２１により設定しても良い。【０１９０】
さらに、前記第１〜第４実施形態では、ロボットアーム５の制御装置１０５では、位置誤差補償部５６のゲインを調整することにより、手先の方向別に擬似的に機械インピーダンス設定値に前記ロボットアーム５の機械インピーダンスの値を制御することを実現しても良い。【０１９１】
さらに、前記第２実施形態で、作業手順情報データベース１７の予測時間を人４のスキルが低い場合には、大きな値を設定しておいても良い。【０１９２】
さらに、前記実施形態ではロボットアーム５を例に説明したが、本発明は、アームに限らず、車輪により動く移動ロボット、又は、２足歩行ロボット、多足歩行ロボットなどにも適用することができ、移動ロボットなどと人間との接触に関して同様の効果を発揮する。【０１９３】
さらに、前記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０１９４】
本発明は、家庭用ロボットなど人とロボットが協働して家庭内の作業を行う際のロボットアームの動作の制御を行なうロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、及びロボットアームの制御プログラムとして有用である。また、家庭用ロボットに限らず、産業用ロボット、又は、生産設備等における可動機構のロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、及びロボットアームの制御プログラムとしても適用が可能である。【０１９５】
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【図１Ａ】
2009004772.tif 000012
【図１Ｂ】
2009004772.tif 000013
【図２】
2009004772.tif 000014
【図３】
2009004772.tif 000015
【図４】
2009004772.tif 000016
【図５】
2009004772.tif 000017
【図６】
2009004772.tif 000018
【図７】
2009004772.tif 000019
【図８】
2009004772.tif 000020
【図９Ａ】
2009004772.tif 000021
【図９Ｂ】
2009004772.tif 000022
【図１０Ａ】
2009004772.tif 000023
【図１０Ｂ】
2009004772.tif 000024
【図１１】
2009004772.tif 000025
【図１２】
2009004772.tif 000026
【図１３】
2009004772.tif 000027
【図１４Ａ】
2009004772.tif 000028
【図１４Ｂ】
2009004772.tif 000029
【図１４Ｃ】
2009004772.tif 000030
【図１５Ａ】
2009004772.tif 000031
【図１５Ｂ】
2009004772.tif 000032
【図１５Ｃ】
2009004772.tif 000033
【図１６Ａ】
2009004772.tif 000034
【図１６Ｂ】
2009004772.tif 000035
【図１６Ｃ】
2009004772.tif 000036
【図１６Ｄ】
2009004772.tif 000037
【図１７】
2009004772.tif 000038
【図１８】
2009004772.tif 000039
【図１９Ａ】
2009004772.tif 000040
【図１９Ｂ】
2009004772.tif 000041
【手続補正書】
【提出日】平成20年11月28日(2008.11.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボットアームの制御装置であって、
人と前記ロボットアームとが協働する複数の工程からなり、前記各工程に関して（ｉ）前記ロボットアームが単体で行う作業工程と（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程とのいずれかを識別する操作情報を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき、前記人と前記ロボットアームとが協働して行う前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記進捗管理手段による前記家庭内作業の進捗情報に基づいて、（ｉ）前記ロボットアームが単体で行う作業工程の場合には、前記ロボットアームを位置制御モードにて制御し、（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程の場合には、前記人の力に応じて前記ロボットアームを移動させる制御モードにて制御するように、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段を有するロボットアームの制御装置。
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
（削除）
【請求項５】
（削除）
【請求項６】
（削除）
【請求項７】
前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、調理方法の手順情報と前記調理方法での調理作業の対象となっている具材情報を含み、
前記制御パラメータ設定手段は、前記人の力に応じて前記ロボットアームを移動させる制御モードで制御する場合に、前記調理作業の進捗情報に基づき、前記調理作業の対象となっている前記具材情報がつぶれやすい、又は、粘性があるとされている場合の前記ロボットアームの機械インピーダンスの値を、前記調理作業の対象となる前記具材情報がつぶれにくい、又は、粘性の少ないとされている場合の前記ロボットアームの機械インピーダンスの値よりも粘性及び剛性をそれぞれ高く設定する請求項１に記載のロボットアームの制御装置。
【請求項８】
前記ロボットアームとは別のロボットアームの動作を前記制御パラメータ設定手段と前記制御手段により、前記ロボットアームとは独立して制御するとともに、
前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、前記調理作業の手順情報は、さらに、前記複数のロボットアームのそれぞれの操作対象の有無情報を有し、
前記制御パラメータ設定手段は、前記人の力に応じて前記ロボットアームを移動させる制御モードで制御する場合でかつ前記複数のロボットアームのうちの１つのロボットアームが前記操作対象となっているロボットアームであるとともに別の１つのロボットアームが前記操作対象となっていないロボットアームである場合に、前記操作対象となっていないロボットアームの機械インピーダンスの値を、前記操作対象となっているロボットアームの機械インピーダンスの値よりも、粘性及び剛性が高くなるように設定する請求項１に記載のロボットアームの制御装置。
【請求項９】
前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、前記調理作業の手順情報の進捗情報は、さらに、前記手順情報に含まれる複数の調理工程の経過時間情報を有し、前記制御パラメータ設定手段は、前記人の力に応じて前記ロボットアームを移動させる制御モードで制御する場合に、前記経過時間の合算値の大きさに比例して、前記ロボットアームの機械インピーダンスの値の粘性及び剛性の大きさをそれぞれ設定する請求項１に記載のロボットアームの制御装置。
【請求項１０】
前記作業手順情報取得手段は、前記操作情報を含む前記家庭内作業の手順情報と前記家庭内作業の進捗情報に加えて、前記操作情報が前記人と前記ロボットアームとが連動して行う作業工程である場合に前記ロボットアームと協働する前記人の家庭内作業状態の情報である作業状態情報を取得し、
前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報と前記作業状態情報に基づいて、前記制御パラメータを設定する請求項１に記載のロボットアームの制御装置。
【請求項１１】
前記作業状態情報は、前記人の位置に関する情報、又は、前記人の利き腕に関する情報、又は、前記人の利き腕の手先の把持状態、又は、前記人の家庭内作業を遂行する際の能力であるスキル情報に関する情報を含み、前記制御パラメータ設定手段は、前記人の利き腕の方向に前記ロボットアームを移動するよう制御パラメータを設定し、さらに、前記制御パラメータ設定手段は、前記人の利き腕の手先の把持状態より、把持していない方向に前記ロボットアームを移動するよう設定し、さらに、前記制御パラメータ設定手段は、前記スキル情報が低い場合には、前記スキル情報が高い場合よりも、前記ロボットアームの機械インピーダンスの粘性及び剛性を高くする請求項１０に記載のロボットアームの制御装置。
【請求項１２】
（削除）
【請求項１３】
前記作業状態情報は、前記人が前記ロボットアームと協働して前記家庭内作業する際にかけた力に関する情報とその力の応じて移動する前記ロボットアームの手先位置とを含み、前記力に関する情報及び前記ロボットアームの前記手先位置と、現在の前記人の力に関する情報と前記ロボットアームの前記手先位置を時系列で比較する比較手段をさらに有し、前記比較手段で両者が一致した場合に、前記制御パラメータ設定部で前記ロボットアームの制御モードを、前記人の力に応じて前記ロボットアームを移動させる制御モードから前記位置制御モードに切り替える請求項１０に記載のロボットアームの制御装置。
【請求項１４】
（削除）
【請求項１５】
ロボットアームの制御方法であって、
人と前記ロボットアームとが協働する複数の工程からなり、前記各工程に関して（ｉ）前記ロボットアームが単体で行う作業工程と（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程とのいずれかを識別する操作情報を含む家庭内作業の手順情報を作業手順情報取得手段で取得し、さらに前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき、前記人と前記ロボットアームとが協働して行う前記家庭内作業の進捗情報を進捗管理手段で管理し、
前記進捗管理手段による前記家庭内作業の進捗情報に基づいて、（ｉ）前記ロボットアームが単体で行う作業工程の場合には、前記ロボットアームを位置制御モードにて制御し、（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程の場合には、前記人の力に応じて前記ロボットアームを移動させる制御モードにて制御するように、前記ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、
前記設定された制御パラメータに基づき、前記ロボットアームの動作を制御手段で制御するロボットアームの制御方法。
【請求項１６】
前記ロボットアームと、
前記ロボットアームの動作を制御する請求項１又は７に記載のロボットアームの制御装置を有するロボット。
【請求項１７】
コンピュータにより実行可能な、ロボットアームの制御プログラムであって、
人と前記ロボットアームとが協働する複数の工程からなり、前記各工程に関して（ｉ）前記ロボットアームが単体で行う作業工程と（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程とのいずれかを識別する操作情報を含む家庭内作業の手順情報を取得するステップと、
取得された前記家庭内作業の手順情報に基づき、前記人と前記ロボットアームとが協働して行う前記家庭内作業の進捗情報を管理するステップと、
前記進捗情報を管理するステップによる前記家庭内作業の進捗情報に基づいて、（ｉ）前記ロボットアームが単体で行う作業工程の場合には、前記ロボットアームを位置制御モードにて制御し、（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程の場合には、前記人の力に応じて前記ロボットアームを移動させる制御モードにて制御するように、前記ロボットアームの制御パラメータを設定するステップと、
前記設定された制御パラメータに基づき前記ロボットアームの動作を制御するステップとを有するロボットアームの制御プログラム。
【請求項１８】
ロボットアームを制御する集積電子回路であって、
人と前記ロボットアームとが協働する複数の工程からなり、前記各工程に関して（ｉ）前記ロボットアームが単体で行う作業工程と（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程とのいずれかを識別する操作情報を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき、前記人と前記ロボットアームとが協働して行う前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記進捗管理手段による前記家庭内作業の進捗情報に基づいて、（ｉ）前記ロボットアームが単体で行う作業工程の場合には、前記ロボットアームを位置制御モードにて制御し、（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程の場合には、前記人の力に応じて前記ロボットアームを移動させる制御モードにて制御するように、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段とを有するロボットアームの集積電子回路。
【手続補正書】
【提出日】平成21年4月6日(2009.4.6)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人とロボットが協働して家庭内作業(例えば、調理作業)を行う際のロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、集積電子回路に関する。
【背景技術】
【０００２】
近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきた。家庭ロボットは産業用ロボットと異なり、ロボット操作の専門家ではなく、家庭に居る素人が操作するため、簡単に操作できる必要がある。さらにロボットが作業する際の動作環境も家庭に応じてさまざまであるため、家庭環境に柔軟に対応する必要がある。
【０００３】
ロボット装置の一例として、作業の停止時に予め定められた待機位置にロボットアームを移動させる際に、ワークとの干渉を防止するために、所定の方向に所定量だけ退避移動を行った後、前記待機位置に移動させる退避制御に関する技術が提案されている（特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−３４３４７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前述のような従来の技術においては、ロボット装置が退避移動の際にワークとの干渉を防止するのみであるため、ロボット装置が実施する作業の進捗情報、又は、ワークの状態に応じた待機方法を変えることができなかった。さらに、操作する人の作業状態によって待機方法を変えることができないという課題があった。
【０００６】
本発明の目的は、このような課題に鑑みてなされたものであり、ロボットアームと協働する工程を含む家庭内作業の手順情報及び進捗情報に応じて、ロボットアームの動作の制御方法を変えることが可能なロボット制御を実現できる、ロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、ロボットアームの制御プログラム、集積電子回路を提供することにある。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明は以下のように構成する。
【０００８】
本発明の第１態様によれば、ロボットアームの制御装置であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段を有するロボットアームの制御装置を提供する。
【０００９】
本発明の第１５態様によれば、ロボットアームの制御方法であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を作業手順情報取得手段で取得し、さらに前記家庭内作業の進捗情報を進捗管理手段で管理し、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、
前記設定された制御パラメータに基づき、前記ロボットアームの動作を制御手段で制御することを特徴とするロボットアームの制御方法を提供する。
【００１０】
本発明の第１７態様によれば、コンピュータにより実行可能な、ロボットアームの制御プログラムであって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得するステップと、
前記家庭内作業の進捗情報を管理するステップと、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定するステップと、
前記設定された制御パラメータに基づき前記ロボットアームの動作を制御するステップと、
を有することを特徴とするロボットアームの制御プログラムを提供する。
【００１１】
本発明の第１８態様によれば、ロボットアームを制御する集積電子回路であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段、
を有することを特徴とするロボットアームの集積電子回路を提供する。
【発明の効果】
【００１２】
以上述べたように、本発明のロボットアームの制御装置及びロボットアームの制御装置を有するロボットによれば、作業手順情報取得手段と、進捗管理手段と、制御パラメータ設定手段と、制御手段とを有することにより、家庭内作業の手順情報と進捗情報に応じて、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとが切り替えられたり、又は、ロボットアームの機械インピーダンス設定値が適切に設定されるので、位置制御モードで動作するロボットアームを停止した際に、人が邪魔にならない位置に簡単にロボットアームを退避させることができ、さらに、退避させた際に人が誤って柔らかい素材をつぶすこと又は熱湯などを落下させる危険性のない、安全で簡単に操作できるロボット制御が可能となる。
【００１３】
また、本発明のロボットアームの制御方法及び制御プログラムによれば、前記家庭内作業の手順情報と前記家庭内作業の進捗に関する情報に基づき、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとを切り替たり、又は、ロボットアームの機械インピーダンス設定値が適切に設定されるので、位置制御モードで動作するロボットアームを停止した際に、人が邪魔にならない位置に簡単にロボットアームを退避させることができ、さらに、退避させた際に人が誤って柔らかい素材をつぶすこと又は熱湯などを落下させる危険性のない、安全で簡単に操作できるロボット制御が可能となる。
【００１４】
また、調理などの家庭内作業は、具材の準備、又は、鍋若しくはフライパンなどを使った調理作業、又は、後片付けなど、複数の作業工程の集まりであり、それぞれの工程を途中で細切れに止めることなく、連続的に実行させる必要がある。これに対して、本発明によれば、作業手順情報取得手段で取得されかつ複数の工程を含む家庭内作業の手順情報と、進捗管理手段で管理されている家庭内作業の進捗情報に基づき、ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、設定された前記制御パラメータに基づき前記ロボットアームの動作を制御手段で制御するため、複数の工程のそれぞれの工程を途中で細切れに止めることなく、連続的に実行させることが可能となる。
【００１５】
さらに、調理に携わる人の状態は様々であり、例えば利き腕が違ったり、大人と子供など家庭内作業に対するスキルの違いがある。これに対しても、本発明によれば、前記構成により、調理に携わる人の様々な状態、例えば、利き腕が違ったり、大人と子供など家庭内作業に対するスキルの違いなどの情報を作業状態情報として作業手順情報取得手段で取得し、作業状態情報と、家庭内作業の手順情報と、進捗管理手段で管理されている家庭内作業の進捗情報に基づき、ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、設定された前記制御パラメータに基づき前記ロボットアームの動作を制御手段で制御するため、調理に携わる人の様々な状態にも対応することが可能となる。
【００１６】
また、ロボットを操作する人は、ロボット操作の専門家ではなく、家庭に居る素人であり、簡単な操作が要求される。これに対して、本発明によれば、家庭内作業の手順情報と進捗情報に応じて、位置制御モードから人の力に応じてロボットアームを移動させる制御モードに切り替えられると、素人でも、人の力に応じてロボットアームを簡単に移動させることができる。
【図面の簡単な説明】
【００１７】
本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。
【図１Ａ】図１Ａは、本発明の第１実施形態におけるロボット制御装置の構成及び人との協働状態の概要を示す図である。
【図１Ｂ】図１Ｂは、本発明の第１実施形態におけるロボット制御装置の構成及び人との協働状態の概要を示す図である。
【図２】図２は、本発明の第１実施形態におけるロボットシステムを構成するロボットアームの制御装置と制御対象であるロボットアームの詳細構成を示す図である。
【図３】図３は、前記ロボットアームの制御装置の作業データベースの作業手順情報、進捗情報、調理機器情報の例を表形式で示す図である。
【図４】図４は、前記ロボットアームの制御装置の作業データベースの人の作業状態に関する情報の例を表形式で示す図である。
【図５】図５は、本発明の第１実施形態における前記ロボットアームの制御装置の作業情報収集部と作業データベースと制御パラメータ設定部、進捗管理部の動作ステップを表すフローチャートである。
【図６】図６は、本発明の第１実施形態における前記ロボットアームの制御装置の制御部の構成を示すブロック図である。
【図７】図７は、本発明の第１実施形態における前記ロボットアームの制御装置の制御部の動作ステップを表すフローチャートである。
【図８】図８は、本発明の第２実施形態におけるロボットシステムを構成する前記ロボットアームの制御装置と制御対象であるロボットアームの詳細構成を示す図である。
【図９Ａ】図９Ａは、本発明の第１実施形態における前記ロボットアームの制御装置の操作状態を示す図である。
【図９Ｂ】図９Ｂは、本発明の第１実施形態における前記ロボットアームの制御装置の操作状態を示す図である。
【図１０Ａ】図１０Ａは、本発明の第２実施形態における前記ロボットアームの制御装置の操作状態を示す図である。
【図１０Ｂ】図１０Ｂは、本発明の第２実施形態における前記ロボットアームの制御装置の操作状態を示す図である。
【図１１】図１１は、本発明の第３実施形態におけるロボットシステムを構成する制御装置と制御対象であるロボットアームの詳細構成を示す図である。
【図１２】図１２は、前記第３実施形態におけるロボットアームの制御装置の作業データベースの人が操作した操作状況に関する情報の例を表形式で示す図である。
【図１３】図１３は、前記第１実施形態におけるロボットアームの制御装置の作業データベースの作業時刻とレベルに関する情報の例を表形式で示す図である。
【図１４Ａ】図１４Ａは、本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す図である。
【図１４Ｂ】図１４Ｂは、本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す図である。
【図１４Ｃ】図１４Ｃは、図１４Ｂでの本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す平面図である。
【図１５Ａ】図１５Ａは、本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す図である。
【図１５Ｂ】図１５Ｂは、本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す図である。
【図１５Ｃ】図１５Ｃは、図１５Ｂでの本発明の第２実施形態におけるロボットアームの制御装置の操作状態を示す平面図である。
【図１６Ａ】図１６Ａは、前記第１実施形態におけるロボットアームの制御装置を使用して行なう作業の一例としての調理方法の１つの作業工程の状態を示す図である。
【図１６Ｂ】図１６Ｂは、図１６Ａに続く作業工程の状態を示す図である。
【図１６Ｃ】図１６Ｃは、図１６Ｂに続く作業工程の状態を示す図である。
【図１６Ｄ】図１６Ｄは、図１６Ｃに続く作業工程の状態を示す図である。
【図１７】図１７は、本発明の第４実施形態におけるロボットシステムを構成するロボットアームの制御装置と制御対象であるロボットアームの詳細構成を示す図である。
【図１８】図１８は、第４実施形態における前記ロボットアームの制御装置の作業データベースの作業手順情報の例を表形式で示す図である。
【図１９Ａ】図１９Ａは、第４実施形態における前記ロボットアームの制御装置の作業工程の状態を示す図である。
【図１９Ｂ】図１９Ｂは、第４実施形態における前記ロボットアームの制御装置の作業工程の状態を示す図である。
【発明を実施するための形態】
【００１８】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００１９】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００２０】
本発明の第１態様によれば、ロボットアームの制御装置であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段を有することを特徴とするロボットアームの制御装置を提供する。
【００２１】
このような構成により、作業手順情報と進捗情報に基づいて制御パラメータを設定、制御することができる。
【００２２】
本発明の第２態様によれば、前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記家庭内作業の手順情報と前記進捗情報に基づいて、前記ロボットアームの制御モードを、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとの間で切り替えるように前記ロボットアームの制御パラメータを設定することを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。
【００２３】
本発明の第３態様によれば、前記家庭内作業の手順情報は、前記人と前記ロボットアームとが協働する調理作業工程を含む調理作業の手順情報であり、
前記制御パラメータ設定手段は、前記手順情報の進捗情報に基づいて、前記ロボットアームの制御モードを、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとの間で切り替えるように前記ロボットアームの制御パラメータを設定することを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。
【００２４】
このような構成により、調理作業の手順情報の進捗情報に基づいて、位置制御モードと前記人の力に応じて前記ロボットアームを移動させる制御モードとを切り替えることができる。
【００２５】
本発明の第４態様によれば、前記家庭内作業の手順情報は、前記調理作業の手順情報と、前記ロボットアームの制御装置の周辺にありかつ前記調理作業の手順情報中で使用する前記調理装置の識別情報と動作情報を含むことを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。
【００２６】
このような構成により、前記ロボットアームの制御装置の周辺にある調理装置の情報とその進捗情報に基づいて制御パラメータを設定、制御することができる。
【００２７】
本発明の第５態様によれば、前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの機械インピーダンス設定値を設定し、
前記制御手段は、前記制御パラメータ設定手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの機械インピーダンスの値を制御して前記ロボットアームの動作を制御することを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。
【００２８】
このような構成により、作業手順情報と進捗情報に基づいて、ロボットアームの機械インピーダンス設定値を設定し、前記制御部は前記制御パラメータ設定手段の設定した前記機械インピーダンス設定値に、前記ロボットアームの機械インピーダンスの値を制御することができる。
【００２９】
本発明の第６態様によれば、前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの手先の並進方向及び回転方向の６次元の方向の機械インピーダンス設定値を個別に設定することを特徴とする第５の態様に記載のロボットアームの制御装置を提供する。
【００３０】
このような構成により、作業手順情報と進捗情報に基づいて、６次元の方向別に機械インピーダンス設定値を設定し、制御することができる。
【００３１】
本発明の第７態様によれば、前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、調理方法の手順情報と前記調理方法での調理作業の対象となっている具材情報を含み、
前記制御パラメータ設定手段は、前記調理作業の進捗情報に基づき、前記調理作業の対象となっている前記具材情報がつぶれやすい、又は、粘性があるとされている場合の前記ロボットアームの機械インピーダンスの値を、前記調理作業の対象となる前記具材情報がつぶれにくい、又は、粘性の少ないとされている場合の前記ロボットアームの機械インピーダンスの値よりも粘性及び剛性をそれぞれ高く設定することを特徴とする第６の態様に記載のロボットアームの制御装置を提供する。
【００３２】
このような構成により、具材情報の基づいて、制御パラメータを設定することができる。
【００３３】
本発明の第８態様によれば、前記ロボットアームとは別のロボットアームの動作を前記制御パラメータ設定手段と前記制御手段により、前記ロボットアームとは独立して制御するとともに、
前記調理作業の手順情報は、さらに、前記複数のロボットアームのそれぞれの操作対象の有無情報を有し、
前記制御パラメータ設定手段は、前記操作対象となっていないロボットアームの機械インピーダンスの値を、前記操作対象となっているロボットアームの機械インピーダンスの値よりも、粘性及び剛性が高くなるように設定することを特徴とする第６の態様に記載のロボットアームの制御装置を提供する。
【００３４】
このような構成により、ロボットアームの稼働状況により、制御パラメータを設定することができる。
【００３５】
本発明の第９態様によれば、前記調理作業の手順情報の進捗情報は、さらに、前記手順情報に含まれる複数の調理工程の経過時間情報を有し、前記制御パラメータ設定手段は、前記経過時間の合算値の大きさに比例して、前記ロボットアームの機械インピーダンスの値の粘性及び剛性の大きさをそれぞれ設定することを特徴とする第６の態様に記載のロボットアームの制御装置を提供する。
【００３６】
このような構成により、各調理工程の経過時間に応じて、制御パラメータを設定することができる。
【００３７】
本発明の第１０態様によれば、前記作業手順情報取得手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報に加えて、前記ロボットアームと協働する前記人の家庭内作業状態の情報である作業状態情報を取得し、
前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報と前記作業状態情報に基づいて、前記制御パラメータを設定することを特徴とする第１の態様に記載のロボットアームの制御装置を提供する。
【００３８】
このような構成により、作業状態情報と作業手順情報と進捗情報に基づいて、制御パラメータを設定し、制御することができる。
【００３９】
本発明の第１１態様によれば、前記作業状態情報は、前記人の位置に関する情報、又は、前記人の利き腕に関する情報、又は、前記人の利き腕の手先の把持状態、又は、前記人の家庭内作業を遂行する際の能力であるスキル情報に関する情報を含むことを特徴とする第１０の態様に記載のロボットアーム装置を提供する。
【００４０】
このような構成により、人の位置又は人の利き腕に関する情報、さらに人の手先の把持状態に関する情報と作業手順情報と進捗情報に基づいて、制御パラメータを設定し、制御することができる。
【００４１】
本発明の第１２態様によれば、前記作業状態情報は、前記人が前記ロボットアームと協働して前記家庭内作業する際にかけた力に関する情報とその力に応じて移動する前記ロボットアームの手先位置とを含むことを特徴とする第１０の態様に記載のロボットアームの制御装置を提供する。
【００４２】
このような構成により、人がロボットアームを操作する際にかけた力情報とその時のロボットアーム手先位置と作業手順情報と進捗情報に基づいて、制御パラメータを設定し、制御することができる。
【００４３】
本発明の第１３態様によれば、前記力に関する情報及び前記ロボットアームの前記手先位置と、現在の前記人の力に関する情報と前記ロボットアームの前記手先位置を時系列で比較する比較手段をさらに有し、前記比較手段で両者が一致した場合に、前記制御パラメータ設定部で前記ロボットアームの制御モードを、前記人の力に応じて前記ロボットアームを移動させる制御モードから位置制御モードに切り替えることを特徴とする第１２の態様に記載のロボットアーム制御装置を提供する。
【００４４】
このような構成により、現在の力情報と手先位置が、前記作業手順情報取得手段により取得された力情報と手先位置の情報と一致した場合に、前記人の力に応じて前記ロボットアームを移動させる制御モードから位置制御モードに変更することができる。
【００４５】
本発明の第１４態様によれば、前記家庭内作業の手順情報及び前記家庭内作業の進捗情報を表示する表示手段をさらに備えることを特徴とする第１の態様に記載のロボットアーム制御装置を提供する。
【００４６】
このような構成により、作業状態情報と進捗情報を表示することができる。
【００４７】
本発明の第１５態様によれば、ロボットアームの制御方法であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を作業手順情報取得手段で取得し、さらに前記家庭内作業の進捗情報を進捗管理手段で管理し、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、
前記設定された制御パラメータに基づき、前記ロボットアームの動作を制御手段で制御することを特徴とするロボットアームの制御方法を提供する。
【００４８】
本発明の第１６態様によれば、前記ロボットアームと、
前記ロボットアームの動作を制御する第１〜１４のいずれか１つの態様に記載のロボットアームの制御装置を有することを特徴とするロボットを提供する。
【００４９】
本発明の第１７態様によれば、コンピュータにより実行可能な、ロボットアームの制御プログラムであって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得するステップと、
前記家庭内作業の進捗情報を管理するステップと、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定するステップと、
前記設定された制御パラメータに基づき前記ロボットアームの動作を制御するステップと、
を有することを特徴とするロボットアームの制御プログラムを提供する。
【００５０】
本発明の第１８態様によれば、ロボットアームを制御する集積電子回路であって、
人と前記ロボットアームとが協働する複数の工程を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記家庭内作業の手順情報に基づき前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記家庭内作業の手順情報と前記家庭内作業の進捗情報に基づき、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段と、
を有することを特徴とするロボットアームの集積電子回路を提供する。
【００５１】
このような構成により、作業手順情報と進捗情報に基づいて制御パラメータを設定、制御することができる。
【００５２】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００５３】
（第１実施形態）
まず、本発明の第１実施形態にかかるロボットアームの制御装置を備えるロボットシステム１００の構成について説明する。図１Ａは、本発明の第１実施形態におけるロボットシステム１００の構成の概要を示す図である。
【００５４】
図１Ａに示したように、本発明の第１実施形態におけるロボットアーム５及びその制御装置１０５を備えるロボットシステム１００は、第１のロボットシステム１と第２のロボットシステム２を備えるように構成され、２つのロボットシステム１，２のそれぞれの第１及び第２ロボットアーム５−１，５−２（以下の説明においては、第１及び第２ロボットアーム５−１，５−２をそれぞれ区別する必要がない場合には、代表的に、「ロボットアーム５」と表すことにする。）はキッチン又はテーブルなどの作業台７の壁面７ａに設置され、それぞれの第１及び第２ロボットアーム５−１，５−２の基端が壁面７ａに固定されたレール８に移動可能に支持され、レール８上をそれぞれの第１及び第２ロボットアーム５−１，５−２がレール８沿いに横方向例えば水平方向に独立して移動可能とする。
【００５５】
第１ロボットシステム１は、図１Ｂに示すように、第１ロボットアーム５−１を使用して、家庭内において、例えば、対象物体の一例として、重たい鍋などの器具３を人４と協働して運搬するロボットシステムであり、第１ロボットシステム１の第１ロボットアーム５−１の先端にはハンド３０を有し、器具３の一対の取っ手のうちの一方の取っ手を保持例えば把持し、器具３のもう一方の取っ手を、第１ロボットアーム５−１と協働する人４が把持可能とする。第１ロボットアーム５−１の先端のハンド３０が器具３の一方の取っ手を把持しかつ人４が器具３のもう一方の取っ手を把持している状態で、人４が器具３を運びたい方向に力をかけることで、第１ロボットシステム１が作動し、第１ロボットアーム５−１がレール８に沿って移動し、器具３を第１ロボットアーム５−１と人４とが協働して運搬することができる。
【００５６】
第２ロボットシステム２は、第２ロボットアーム５−２を使用して、主として、家庭内の器具３の運搬作業以外の第２ロボットアーム５−２と人４とが協働する家庭内作業（複数の工程を含み、かつ、人４からの命令又は監視の下に第２ロボットアーム５−２が所定の動作を行なう作業）、例えば、器具３の一例としての鍋３Ａの中の具材をかき混ぜる作業、又は、キッチンの作業台７の汚れをふき取る作業を行うロボットシステムである。
【００５７】
なお、必要に応じて、第１ロボットシステム１と第２ロボットシステム２は作業を交代させることができる。
【００５８】
表示手段の一例としての表示部９はディスプレイであり、調理のレシピ情報（人とロボットアームとが協働する調理作業工程を含む調理作業の手順情報）などの家庭内の作業の手順情報又は家庭内の作業の進捗情報を表示する。第２ロボットシステム２の鍋のかき混ぜ作業又は拭き掃除の操作手順の一例として、図１Ａに示すように、まず、人４は、表示部９に表示された作業手順に従って、人４が第２ロボットシステム２の第２ロボットアーム５−２を直接把持し、人４が第２ロボットアーム５−２に力をかけることで、第２ロボットシステム２が作動し、レール８に沿って第２ロボットアーム５−２を移動させることで、器具３の付近まで第２ロボットアーム５−２を誘導する。次に、人４が、第２ロボットシステム２の第２ロボットアーム５−２の先端のハンド３０に、レードルなどの調理器具１０を取り付ける。次に、調理機器例えば作業台７のＩＨクッキングヒータ又はガスコンロなどのレンジ台である調理装置６の側面に、第１ロボットシステム１及び第２ロボットシステム２の操作盤１３が配置されており、人４が操作盤１３のボタンをそれぞれ押すことにより、第１ロボットシステム１が作動して、器具３の運搬作業を開始するとともに、第２ロボットアーム２が作動し、かき混ぜ作業又は拭き掃除を開始させることができる。
【００５９】
操作盤１３は、例えば、第１ロボットシステム駆動開始及び停止用ボタンと、第２ロボットシステム駆動開始及び停止用ボタンとを備え、それぞれ、１回押すと、駆動開始信号がデータ入力ＩＦ２６に入力され、もう１回押すと、駆動停止信号がデータ入力ＩＦ２６に入力されるように構成する。ただし、このような構成に限らず、駆動開始及び停止用ボタンと、第１ロボットシステムと第２ロボットシステム切替用ボタンとより構成するなど、第１ロボットシステム１と第２ロボットシステム２とをそれぞれ独立して駆動開始及び停止できれば、他の任意の構成により構成するようにしてもよい。ここで言う、駆動開始とは、それぞれのロボットシステムでロボットアーム５が駆動開始可能となる状態を意味する他、作業によっては、ロボットアーム５が駆動し始めてもよい。
【００６０】
本発明の第１実施形態における器具３は、単純に、鍋又は食器自体のほか、水又は具材の入った鍋又は食器などの重量物をも含む概念であり、第１ロボットアーム５−１又は第２ロボットアーム５−２の少なくともいずれかと人４とが協働して運搬することができる対象物体である。
【００６１】
本発明の第１実施形態において、レール８は作業台７の壁面７ａに配置したが、壁面のないアイランドキッチンの場合は、天井面又はアイランドキッチンの天板側面など作業をするのに適した場所に設置される。
【００６２】
さらに、本発明の第１実施形態において、操作盤１３は調理装置６の側面に固定したが、遠隔操作が可能なリモコンでも良い。
【００６３】
図２は、ロボットシステム１００の詳細構成を示す図であり、代表例として、第２ロボットシステム２を構成しかつ制御対象であるロボットアーム５−２と、その制御装置１０５（制御装置本体部１１と周辺装置１４）の構成を図示している。図２では第２ロボットシステム２について説明するが、第１ロボットシステム１も同様の構成とするため、ここでは説明を省略する。
【００６４】
前記ロボットアーム５の制御装置１０５を構成する制御装置本体部１１及び周辺装置１４は、一例として、それぞれ一般的なパーソナルコンピュータにより構成される。
【００６５】
制御装置本体部１１は、制御パラメータ設定手段の一例としての制御パラメータ設定部２１、制御手段の一例としての制御部２２を備えるように構成される。周辺装置１４は、作業データベース２０と、作業情報収集部２３と、データ入力ＩＦ(インターフェース)２６と、入出力ＩＦ(インターフェース)２４と、関節部駆動制御手段（関節部駆動制御部）の一例としてのモータドライバ２５と、情報出力手段（情報出力部）又は表示手段の一例としての表示部９と、進捗管理手段の一例としての進捗管理部２９とを備えるように構成される。作業データベース２０により、又は、作業データベース２０と作業情報収集部２３とにより、作業手順情報取得手段の一例を構成している。
【００６６】
入出力ＩＦ２４は、パーソナルコンピュータのＰＣＩバスなどの拡張スロットに接続された、例えばＤ／Ａボード、Ａ／Ｄボード、カウンタボードなどを備えるように構成されている。
【００６７】
第２ロボットアーム５−２の動作を制御する制御装置本体部１１及び周辺装置１４が実行されることにより、第２ロボットアーム５−２の各関節部の後述するエンコーダ４４より出力される各関節角度情報が、入出力ＩＦ２４のカウンタボードを通じて制御装置本体部１１に取り込まれ、取り込まれた各関節角度情報に基づき制御装置本体部１１によって各関節部の回転動作での制御指令値が算出される。算出された各制御指令値は、入出力ＩＦ２４のＤ／Ａボードを通じて、第２ロボットアーム５−２の各関節部を駆動制御するためのモータドライバ２５に与えられ、モータドライバ２５から送られた各制御指令値に従って、第２ロボットアーム５−２の各関節部のモータ４３が駆動される。また、モータドライバ２５により駆動制御されるハンド駆動装置の一例としてハンド駆動用のモータ６２と、ハンド駆動用のモータ６２の回転軸の回転位相角を検出するエンコーダ６１とをさらにハンド３０に備えて、エンコーダ６１で検出された回転角度を基に、制御装置本体部１１の制御部２２からの制御信号によりモータドライバ２５を介してモータ６２の回転を駆動制御して、ハンド駆動用のモータ６２の回転軸を正逆回転させることによりハンド３０を開閉させる。
【００６８】
第２ロボットアーム５−２は、一例として、多関節ロボットアームであって、６自由度の多リンクマニピュレータであり、前記ハンド３０と、ハンド３０が取り付けられている手首部３１を先端に有する前腕リンク３２と、前腕リンク３２の基端に回転可能に先端が連結される上腕リンク３３と、上腕リンク３３の基端が回転可能に連結支持される台部３４とを備える。台部３４は移動可能なレール８に連結されているが、一定位置に固定されていても良い。手首部３１は第４関節部３８、第５関節部３９、第６関節部４０の３つの回転軸を有しており、前腕リンク３２に対するハンド３０の相対的な姿勢（向き）を変化させることができる。すなわち、図２において、第４関節部３８は、手首部３１に対するハンド３０の横軸周りの相対的な姿勢を変化させることができる。第５関節部３９は手首部３１に対するハンド３０の、第４関節部３８の横軸とは直交する縦軸周りの相対的な姿勢を変化させることができる。第６関節部４０は、手首部３１に対するハンド３０の、第４関節部３８の横軸及び第５関節部３９の縦軸とそれぞれ直交する横軸周りの相対的な姿勢を変化させることができる。前腕リンク３２の他端は、上腕リンク３３の先端に対して第３関節部３７周りに、すなわち、第４関節部３８の横軸と平行な横軸周りに回転可能とする。上腕リンク３３の他端は、台部３４に対して第２関節部３６周りに、すなわち、第４関節部３８の横軸と平行な横軸周りに回転可能とし、台部３４の上側可動部は、台部３４の下側固定部に対して第１関節部３５周りに、すなわち、第５関節部３９の縦軸と平行な縦軸周りに回転可能とする。この結果、第２ロボットアーム５−２は、合計６個の軸周りに回転可能として前記６自由度の多リンクマニピュレータを構成する。
【００６９】
各軸の回転部分を構成する各関節部には、各関節部を構成する一対の部材（例えば、回動側部材と、該回動側部材を支持する支持側部材）のうちの一方の部材に備えられかつ後述するモータドライバ２５により駆動制御される回転駆動装置の一例としてのモータ４３（実際には、第２ロボットアーム５−２の各関節部の内部に配設されている）と、モータ４３の回転軸の回転位相角（すなわち関節角）を検出するエンコーダ４４（実際には、第２ロボットアーム５−２の各関節部の内部に配設されている）とを備えて、各関節部の一方の部材に備えられたモータ４３の回転軸が、各関節部の他方の部材に連結されて前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各軸周りに回転可能とする。
【００７０】
４１は台部３４の下側固定部に対して相対的な位置関係が固定された絶対座標系であり、４２はハンド３０に対して相対的な位置関係が固定された手先座標系である。絶対座標系４１から見た手先座標系４２の原点位置Ｏｅ（ｘ、ｙ、ｚ）を第２ロボットアーム５−２の手先位置、絶対座標系４１から見た手先座標系４２の姿勢をロール角とピッチ角とヨー角で表現した（φ、θ、ψ）を第２ロボットアーム５−２の手先姿勢とし、手先位置及び姿勢ベクトルをベクトルｒ＝［ｘ、ｙ、ｚ、φ、θ、ψ］Ｔと定義する。よって、一例として、絶対座標系４１のｚ軸に対して第１関節部３５の縦軸が平行であり、ｘ軸に対して第２関節部３６の横軸が平行に位置可能とするのが好ましい。また、手先座標系４２のｘ軸に対して第６関節部４０の横軸が平行に位置可能であり、ｙ軸に対して第４関節部３８の横軸が平行に位置可能であり、ｚ軸に対して第５関節部３９の縦軸が平行に位置可能とするのが好ましい。なお、手先座標系４２のｘ軸に対しての回転角をヨー角ψとし、ｙ軸に対しての回転角をピッチ角θとし、ｚ軸に対しての回転角をロール角φとする。第２ロボットアーム５−２の手先位置及び姿勢を制御する場合には、手先位置及び姿勢ベクトルｒを後述する目標軌道生成部５５で生成された手先位置及び姿勢目標ベクトルｒｄに追従させることになる。
【００７１】
以上の第２ロボットアーム５−２の構成及び作用は、第１ロボットアーム５−１も同様である。
【００７２】
作業情報収集部２３は、作業自体及び当該家庭内作業の手順情報、例えば作業の一例としての調理作業のレシピ情報等の家庭内作業の手順情報をインターネット２８を通じて外部のウェブサーバにある情報データベース１６から収集し、作業データベース２０の作業手順情報データベース１７に入力し更新して記憶する。さらに、電子レンジ又はレンジ台のＩＨクッキングヒータなどの調理装置（図１では、一例としてＩＨクッキングヒータを有するレンジ台）６の識別情報、動作情報（例えば調理時間又は火加減（火力の強さ））などの情報を収集し、作業データベース２０の調理機器情報データベース１８に入力し更新して記憶する。要するに、作業情報収集部２３は、人４とロボットアーム５とが協働作業するときに必要な情報言い換えれば協働作業情報をアクセス可能なネットワーク又はデータベース又は機器などから収集する。
【００７３】
２９は進捗管理部であり、作業データベース２０の進捗情報データベース１９に記憶された作業の進捗情報を管理する。具体的には、図３に示すように、進捗管理部２９は、現在の工程の識別情報例えば工程ＩＤを作業データベース２０から読み出し、各工程にかかった時間とその時の時刻を計測して、進捗情報データベース１９に記憶する。さらに、後述するデータ入力ＩＦ２６が接続されてデータ入力ＩＦ２６からの入力の一例としてのマイクなどの音声入力装置から人４が例えば「次の工程」と音声で指示が入力されると、進捗管理部２９は、音声認識により次の工程に進めることを認識し、現在行っている工程かどうかを示すフラグを進捗情報データベース１９に記憶する。なお、後述するデータ入力ＩＦ２６を使用して、人４がロボットアーム５による作業を次の工程に進めたり、ロボットアーム５による作業工程を停止させても良い。
【００７４】
２６はデータ入力ＩＦ（インターフェース）であり、人４がボタン又はキーボード又はマウス又はマイクなどの入力装置を使用して、作業の進捗又は作業情報などを入力変更したり、例えば前記操作盤１３のボタンなどの入力装置を使用して、人４からの作業開始及び作業終了の指令を受けるためのインターフェースである。
【００７５】
９は表示部であり、例えばロボットアーム５又は作業台７の側面に設置されたディスプレイ装置で、作業手順情報又は現在の進捗情報を表示する。
【００７６】
次に作業データベース２０の詳細について説明する。
【００７７】
作業データベース２０は、例えば、図３に示した第２ロボットアーム５−２と人４の家庭内の協働作業の手順情報である作業手順情報データベース１７と、前記協働作業の進捗情報である進捗情報データベース１９と、第２ロボットアーム５−２の周辺で動作しているＩＨクッキングヒータ又は電子レンジなどの調理装置６の状況に関する情報（調理機器情報、すなわち、調理装置６の識別情報と動作情報など）である調理機器情報データベース１８とを備えるように構成される。
【００７８】
作業手順情報データベース１７に記録されている家庭内作業の手順情報は、一例として図３に示すように、前記協働作業を識別する作業ＩＤ番号などの作業ＩＤ情報と、その作業の個々の工程を識別する工程ＩＤ番号などの工程ＩＤ情報と、工程ＩＤ番号に相当する工程に関する情報と、その工程での対象物に関する対象物情報と、その工程を行う操作情報と、その工程にかかる見込みの時間である予測時間と、その工程で調理する材料又は水又は調味料などの分量の分量情報とを有するように構成される。前記対象物情報とは、具体的には、その工程で扱う対象物の情報で、例えばその工程で使用する具材などの情報である。前記操作情報とは、具体的には、人４、第１ロボットシステム１、第２ロボットシステム２のいずれがその工程を行うかを示す情報で、人４、第１ロボットシステム１、第２ロボットシステム２のそれぞれに対して「１」又は「０」が記録されている。「１」はその工程の作業をしている場合を示し、「０」は作業していない場合を示す。例えば、図３の工程ＩＤ０００２では、「鍋に水を１リットル入れて下さい」という作業（「鍋に水を入れる作業」）は人４のみが行う作業であることから、この例では、（人、ロボット１、ロボット２）の順番で（１，０，０）と記憶する。
【００７９】
また、図１６Ａ〜図１６Ｄは、図３の主な工程について、人４と第１ロボットアーム５−１と第２ロボットアーム５−２がそれぞれ作業している状態を示す。
【００８０】
例えば、工程ＩＤ０００１は、「鍋の取っ手にロボットアーム５−１を装着して下さい」とあるので、図１６Ａのような状態、具体的には、後述するように第１ロボットアーム５−１の粘性Ｄ及び剛性Ｋを小さく設定して、第１ロボットアーム５−１のハンド３０を器具の一例である鍋３Ａの一対の取っ手のうちの一方の取っ手を挟むように位置させたのち、ハンド３０で前記一方の取っ手を把持させる状態となる。
【００８１】
工程ＩＤ０００２は、「鍋に水１リットル入れて下さい」とあるので、図１６Ｂのような状態、具体的には、後述するように第１ロボットアーム５−１の粘性Ｄ及び剛性Ｋを大きく設定して、第１ロボットアーム５−１のハンド３０で鍋３Ａの一方の取っ手を把持した状態で、人４により、蛇口８９から水を鍋３Ａ内に１リットル入れる。
【００８２】
次いで、工程００００３の「レンジ台まで鍋を誘導して下さい」は図１６Ｃのような状態、具体的には、後述するように第１ロボットアーム５−１の粘性Ｄ及び剛性Ｋを大きく設定して、第１ロボットアーム５−１のハンド３０で鍋３Ａの一方の取っ手を把持するとともに、鍋３Ａの他方の取っ手は人４が把持した状態で、人４がレンジ台６に向けて力をかけることで、鍋３Ａを介して第１ロボットアーム５−１にその力が作用して後述するように第１ロボットシステム１が作動し、第１ロボットアーム５−１がレール８に沿って蛇口８９の近くの位置からレンジ台６まで移動し、鍋３Ａを第１ロボットアーム５−１と人４とが協働して運搬する。ここまでの３つの工程では、第２ロボットアーム５−２は何も動作しないので、第２ロボットアーム５−２の粘性Ｄ及び剛性Ｋを大きく設定して、前記工程に邪魔にならない位置、例えば、シンク側の位置に静止させておく。
【００８３】
次いで、工程０００７の「レードルを第２ロボットアーム５−２に装着して下さい」は図１６Ｄのような状態、具体的には、レンジ台６に鍋３Ａを載置し、かつ、第１ロボットアーム５−１の粘性Ｄ及び剛性Ｋを大きく設定して、第１ロボットアーム５−１のハンド３０で鍋３Ａの一方の取っ手を把持した状態のまま、人４は第２ロボットアーム５−２が静止している位置まで移動する。次いで、人４が第２ロボットアーム５−２をレンジ台６に向けて力をかけることで、第２ロボットシステム２が作動し、第２ロボットアーム５−２がレール８に沿って移動し、レンジ台６の鍋３Ａの近くまで移動させる。次いで、後述するように第２ロボットアーム５−２の粘性Ｄ及び剛性Ｋを小さく設定して、第２ロボットアーム５−２のハンド３０にレードル１０を取り付けて、レードル１０を鍋３Ａの中に入れる。
【００８４】
その後、詳しくは説明しないが、工程０００８〜工程００２９を行なったのち、工程００３０「終了」では、作業ＩＤ０００１の作業が終了となり、操作盤１３のボタンを押すなどして、第１ロボットアーム５−１及び第２ロボットアーム５−２の動作をそれぞれ終了させる。
【００８５】
表示部９には、工程ＩＤ番号の順番に家庭内作業の手順情報が表示され、人４又は第１及び第２ロボットアーム５−１，５−２はその工程ＩＤ番号の順番に作業を行う。
【００８６】
進捗情報データベース１９に記録される進捗情報は、一例として図３に示すように、作業ＩＤ番号などの作業ＩＤ情報の複数の工程ＩＤ番号などの工程ＩＤ情報のそれぞれに相当する工程において実際にかかった時間である経過時間と、現在行っている作業であるかどうかを区別するための情報である「１」又は「０」のフラグ情報（例えば、フラグ「１」は現在行っている作業であり、フラグ「０」は現在行っていない作業であることを意味する。）と、時刻の情報とを備えるように構成される。人４は表示部９に表示された工程が終了すると、データ入力ＩＦ２６によって、人４の音声などで次の工程に進める指示が入力されるのを進捗管理部２９は待つ。次の工程に進める指示が進捗管理部２９に入力されて、進捗管理部２９により、現在の工程が次の工程に移ると、現在の工程であるかどうかを進捗管理部２９により進捗情報データベース１９に記憶する。例えば、図３の工程ＩＤ０００３では、現在の工程であることを示すフラグ「１」を進捗情報データベース１９に記憶することで、現在の工程であることを示す。このとき、逆に、他の工程では現在の工程でないことを示すフラグ「０」を進捗情報データベース１９に記憶することで、現在の工程ではないことを示す。進捗管理部２９は、工程の終了が指示されると、その工程にかかった時間を測定し、作業データベース２０の進捗情報データベース１９に記録する。具体的には、進捗管理部２９は、図３の現在の工程にフラグ「１」が記憶されている間の時間を計測して、経過時間として進捗情報データベース１９に記憶する。なお、後述する調理装置６が作動している場合は、調理装置６が停止した時刻に、調理装置６から停止信号が入力されるのを進捗管理部２９で受けて、進捗管理部２９により、現在の工程を次の工程に自動的に進めても良い。
【００８７】
調理機器情報データベース１８に記憶されている調理装置６の状況に関する情報（調理機器情報）は、一例として図３に示すように、作業ＩＤ番号などの作業ＩＤ情報の複数の工程ＩＤ番号などの工程ＩＤ情報に相当する工程のそれぞれにおいて、作動している調理装置６を識別するＩＤ情報の一例である機器ＩＤ番号などの機器ＩＤ情報と、当該機器ＩＤ番号の調理装置６の動作状態を示す制御ＩＤ番号に関する情報とを有するように構成される。例えば、図３に示す機器ＩＤ番号の「１」がＩＨクッキングヒータ、機器ＩＤ番号の「２」が電子レンジを示し、制御ＩＤ情報の一例である制御ＩＤ番号の「１００１」が「１００度で加熱」、制御ＩＤ番号の「２００１」が「半解凍で１０分」であることを示し、インターネット２８を通じて外部のウェブサーバにある情報データベース１６から作業情報収集部２３により収集して、作業データベース２０の調理機器情報データベース１８に記憶する。
【００８８】
なお、家庭内作業の手順情報又は調理機器情報などの他の情報も、必要に応じて、インターネット２８を通じて外部のウェブサーバにある情報データベース１６から作業情報収集部２３により収集して、作業データベース２０の作業手順情報データベース１７及び調理機器情報データベース１８にそれぞれ記憶することもできる。これは、例えば、新しく調理機器を設置したとき、又は、既存の調理機器を別の調理機器に交換したとき、又は、新しい作業を行なうときなどに有効である。
【００８９】
次に、制御パラメータ設定部２１の詳細について説明する。
【００９０】
制御パラメータ設定部２１は、作業手順情報と、進捗情報と、調理装置６の状況に関する情報（調理機器情報）とに基づいて、第１及び第２ロボットアーム５−１，５−２のそれぞれの制御モードを、位置制御モードとインピーダンス制御モード（人の力に応じてロボットアームを移動させる制御モードの一例）との間で切り替える設定、及び、インピーダンス制御モード時の機械インピーダンス設定値の設定を行う。
【００９１】
第１及び第２ロボットアーム５−１，５−２のそれぞれの位置制御モードは、後述する目標軌道生成部５５のハンド３０の手先位置及び姿勢目標ベクトル指令に基づいて、第１及び第２ロボットアーム５−１，５−２がそれぞれ動作するモードで、具体的には、かき混ぜ作業、又は、拭き掃除などの作業時に動作するモードである。
【００９２】
第１及び第２ロボットアーム５−１，５−２のそれぞれのインピーダンス制御モードは、人４などから第１及び第２ロボットアーム５−１，５−２のそれぞれに加わる力に応じて、第１及び第２ロボットアーム５−１，５−２のそれぞれが動作するモードで、例えば、図１Ｂに示すように人４と第１及び第２ロボットアーム５−１，５−２のいずれか又は両方が協働して運搬する作業をさせる場合、又は、図１Ａに示すように、人４が第１又は第２ロボットアーム５−１又は５−２を直接持って、作業場所まで第１又は第２ロボットアーム５−１又は５−２を誘導する際に動作させるモードである。
【００９３】
人４と第１ロボットアーム５−１と第２ロボットアーム５−２とが、例えば、図３に示す調理作業を協働して行っている場合に、工程ＩＤ０００８の指示通りに、第２ロボットアーム５−２のハンド３０が位置制御モードで図９Ａのように鍋３Ａの中でかき混ぜ作業をしているときに、人４が鍋３Ａの中の料理の味見をする場合、又は、新たに具材を鍋３Ａの中に投入するために、人４が鍋３Ａの中での第２ロボットアーム５−２のハンド３０によるかき混ぜ作業を中断させる場合がある。その場合に、かき混ぜ作業を中断させる信号が、操作盤１３のボタンの操作などによりデータ入力ＩＦ２６を介して進捗管理部２９から作業データベース２０に入力されるとともに、制御パラメータ設定部２１に入力される。すると、制御パラメータ設定部２１が、作業の停止時に位置制御モードからインピーダンス制御モードに切り替える指令を制御部２２へ出力する。
【００９４】
その結果、中断命令により停止した第２ロボットアーム５−２が把持している調理器具１０が、鍋３Ａの中の料理の味見又は鍋３Ａの中への具材の投入時などで邪魔になったときには、第２ロボットアーム５−２の制御モードをインピーダンス制御モードに制御パラメータ設定部２１の設定を変更して制御部２２により切り替えることで、図９Ｂに示すように、人４が第２ロボットアーム５−２を直接把持して移動させるだけで、第２ロボットアーム５−２を簡単に退避することができるようになる。
【００９５】
さらに、人４と協働して第２ロボットアーム５−２がインピーダンス制御モードで作業している際に、作業手順情報と進捗情報に応じて、第２ロボットアーム５−２の機械インピーダンスパラメータを補正する補正値を制御パラメータ設定部２１により変更する。
【００９６】
機械インピーダンス設定値の設定パラメータ（機械インピーダンスパラメータ）としては、慣性Ｍ、粘性Ｄ、剛性Ｋがある。機械インピーダンス設定値の各パラメータの設定は、補正値を使って、制御パラメータ設定部２１により、以下の評価式に基づいて行う。
【００９７】
【数１】
2009004772.tif 000042
【００９８】
【数２】
2009004772.tif 000043
【００９９】
【数３】
2009004772.tif 000044
前記式（１）〜（３）中のＫＭ、ＫＤ、ＫＫはゲインであり、それぞれある定数値である。
【０１００】
制御パラメータ設定部２１は、前記式（１）〜（３）に基づき計算した機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋを制御部２２へ出力する。
【０１０１】
前記式（１）〜（３）に従えば、補正値等を制御パラメータ設定部２１により適切に設定することにより、ロボットアーム５を適切に動作させることができる。例えば、式（２）及び式（３）により、ロボットアーム５の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが大きくなるように制御パラメータ設定部２１で設定されることにより、ロボットアーム５の動きに抵抗感又は硬さが生じ、動きにくくなる一方、式（２）及び式（３）により、ロボットアーム５の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが小さくなるように制御パラメータ設定部２１で設定されることにより、ロボットアーム５の動きに抵抗感又は硬さが無く、スムーズに動かすことができる。また、式（１）により、ロボットアーム５の機械インピーダンスパラメータの慣性Ｍが大きくなるように制御パラメータ設定部２１で設定されることにより、ロボットアーム５を動かすには大きな力が必要となり、少しぐらい手でロボットアーム５を押しても動かなくなる一方、式（１）により、ロボットアーム５の機械インピーダンスパラメータの慣性Ｍが小さくなるように制御パラメータ設定部２１で設定されることにより、ロボットアーム５を動かすには小さな力で十分になり、少し手でロボットアーム５を押すだけで、スムーズに動かすことができる。
【０１０２】
よって、前記式（１）〜（３）により、例えば、図３の工程ＩＤ０００９のように、人４がかき混ぜ作業を中断した際に、具材投入に際し、邪魔になった第２ロボットアーム５−２を退避させる場合（具体的には、人４が操作盤１３から第２ロボットアーム５−２によるかき混ぜ作業を停止する指令がデータ入力ＩＦ２６から進捗管理部２９に入力された場合）に、当該停止指令が、進捗管理部２９から制御パラメータ設定部２１に入力され、制御パラメータ設定部２１により、作業データベース２０より現在実施中の工程ＩＤ番号を抽出し、抽出された工程ＩＤ番号で対象となっている具材（対象情報）を抽出する。豆腐のように具材がつぶれやすい素材だったり、水又はスープのような粘性のある具材の場合であると制御パラメータ設定部２１により判断されたときには、人４が第２ロボットアーム５−２を素早く退避させて、第２ロボットアーム５−２のハンド３０に装着された調理器具１０により、具材を誤ってつぶしたり、水又はスープを鍋３Ａの外に飛ばして鍋３Ａの周辺を汚すことを防ぐ必要がある。このために、制御パラメータ設定部２１により第２ロボットアーム５−２の機械インピーダンスパラメータの上述の補正値を高く設定して、第２ロボットアーム５−２の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが大きくなるように設定されることになり、第２ロボットアーム５−２の動きに抵抗感又は硬さが生じ、動きにくくなる。その後、人４が退避させたい方向に向けて第２ロボットアーム５−２に力を加えれば、人４が押し続けることにより、第２ロボットアーム５−２が退避させたい方向に向けてゆっくり移動させることができて、具材を誤ってつぶしたり、水又はスープを鍋３Ａの外に飛ばして鍋３Ａの周辺を汚すことがなく、第２ロボットアーム５−２を退避させることができる。
【０１０３】
また、分量が多い場合には、かき混ぜるのに人４の力が必要になるため（すなわち、分量が多い状態では、分量が少ない場合に比べて、ロボットアーム５にかかる抵抗が大きいため、人４がロボットアーム５を退避させる場合に力が必要になるため）、機械インピーダンスパラメータの補正値を低く設定することで、第２ロボットアーム５−２の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが小さくなるように設定されることになり、ロボットアーム５をスムーズに動かすことができるようになる。
【０１０４】
さらに、工程に相当する進捗情報の操作情報において、操作の対象となっていないロボットアーム５では、機械インピーダンスパラメータの補正値を高く設定する。具体的には、例えば図３の工程ＩＤ０００３で人４と第１ロボットシステム１の第１ロボットアーム５−１がインピーダンス制御モードで人４と協働して鍋３Ａを運搬している工程から、運搬が終わった状態である工程ＩＤ０００４に作業の工程が進んだ場合に、工程ＩＤ０００４では、第１ロボットシステム１は手順の操作対象となっていないため、第１ロボットシステム１の第１ロボットアーム５−１の機械インピーダンスパラメータの補正値を高く設定する。このことにより、工程ＩＤ０００３のような鍋３Ａの運搬中より、工程ＩＤ０００４の鍋３Ａを把持しながら待機している場合には、第１ロボットアーム５−１の機械インピーダンスパラメータの慣性Ｍが大きく設定されることにより、工程ＩＤ０００４では、待機中の第１ロボットアーム５−１を動かすには大きな力が必要となり、少しぐらい手で第１ロボットアーム５−１を押しても動かなくなる。このことにより、第１ロボットアーム５−１が鍋３Ａの取っ手を把持した状態で待機していた場合には、人４が誤って鍋３Ａを動かそうとした場合でも、容易に動かないように第１ロボットアーム５−１はしっかり鍋３Ａを固定させることができる。
【０１０５】
また、作業が進むにつれて、人４が疲れてくることにより誤操作又は誤動作が増大する。そこで、進捗管理部２９で求められて制御パラメータ設定部２１に入力される各工程の経過時間の合算が増加するにしたがって、機械インピーダンスパラメータの補正値を高くなるように制御パラメータ設定部２１で設定する。このことにより、第１ロボットアーム５−１の機械インピーダンスパラメータの剛性Ｋを大きく設定したり、又は、必要に応じて第１ロボットアーム５−１に加えて第２ロボットアーム５−２の機械インピーダンスパラメータの剛性Ｋも大きく設定することになるため、第１ロボットアーム５−１又は第１ロボットアーム５−１と第２ロボットアーム５−２が容易に動かないようにすることができ、長い時間作業をしている場合に人４が誤動作して、鍋３Ａなど搬送物の落下などの危険性を防ぐことができる。
【０１０６】
さらに、水が入った鍋３Ａを運搬するよりは、調理の結果、沸騰した湯又は具材が入っている鍋３Ａを運搬する方が、誤操作して搬送物が落下した時の危険性が増大するため、制御パラメータ設定部２１が作業データベース２０にアクセスして取得した調理装置６の状況に関する情報の機器ＩＤ番号と制御ＩＤ番号により、例えば、ＩＨクッキングヒータの火加減の情報とその作動時間から、中に入った具材が熱湯かどうかを制御パラメータ設定部２１により推定し、さらに作業手順情報により、中にどのような具材が入っているかに応じて、制御パラメータ設定部２１により機械インピーダンスパラメータの補正値を高く設定することで、第１又は第２ロボットアーム５−１又は５−２の機械インピーダンスパラメータの粘性Ｄ及び剛性Ｋが大きくなるように設定されることになり、第１又は第２ロボットアーム５−１又は５−２の動きに抵抗感又は硬さが生じ、動きにくくなる。
【０１０７】
さらに、朝又は夕方の時間帯のように、時間内に迅速に食事の準備をする必要がある場合には、図１３に示すように、作業データベース２０に予め記憶された、時刻に応じてレベルを設定したレベルに比例して、機械インピーダンスパラメータの補正値を制御パラメータ設定部２１により設定する。このことにより、例えば、朝又は夕方の時間帯はレベルを低く設定することでロボットアーム５−１又は５−２の機械インピーダンスパラメータの補正値を低く設定することができ、ロボットアーム５−１又は５−２の動きに抵抗感又は硬さが減り、スムーズに操作をすることができるようになる。
【０１０８】
以上の作業情報収集部２３と、作業データベース２０と、進捗管理部２９と、制御パラメータ設定部２１との動作ステップについて、図５のフローチャートに基づいて説明する。
【０１０９】
作業情報収集部２３は、調理作業のレシピ情報等の家庭内作業の手順情報をインターネット２８を通じて外部のウェブサーバにある情報データベース１６から収集し、作業データベース２０の作業手順情報データベース１７に記憶する（ステップＳ２０）。
【０１１０】
次いで、データ入力ＩＦ２６は、表示部９に表示された作業の一覧から人４により作業を選択する指令を受けて、作業データベース２０に現在の作業を設定する。具体的には、調理メニューの一覧から調理したいメニューを人４が選択して、データ入力ＩＦ２６で選択指令を作業データベース２０に入力して、作業データベース２０に現在の作業の一例としての調理メニューを設定する（ステップＳ２１）。
【０１１１】
次いで、データ入力ＩＦ２６は、表示部９に表示された作業手順すなわち作業の工程に従って、人４からの作業開始の指令を受ける。具体的には、人４からのかき混ぜ作業の開始の指示をデータ入力ＩＦ２６により受けて、進捗管理部２９に作業の開始の指示を入力する（ステップＳ２２）
【０１１２】
次いで、ステップＳ２２の作業に関する進捗情報を進捗管理部２９で管理し、作業データベース２０の進捗情報データベース１９に記憶する。具体的には、かき混ぜ工程を「現在の作業」として設定するために進捗管理部２９によりフラグ「１」を進捗情報データベース１９に記憶したり（ステップＳ２３）、次いで、「現在の作業」にフラグ「１」が記憶されている時間を進捗管理部２９により計測し、かき混ぜ作業の経過時間として進捗管理部２９により計測して、進捗情報データベース１９に記憶する（ステップＳ２４）。
【０１１３】
次いで、データ入力ＩＦ２６から作業データベース２０を介して、人４から停止命令が入力されているか否かを制御パラメータ設定部２１が判断する（ステップＳ２５）。
【０１１４】
もし、制御パラメータ設定部２１は、停止の入力をデータ入力ＩＦ２６から作業データベース２０を介して又はデータ入力ＩＦ２６から進捗管理部２９を介して受けていない場合には、かき混ぜ作業を行うために、制御モードを位置制御モードに設定して、制御部２２へ出力する（ステップＳ２６）。
【０１１５】
もし、ステップＳ２５において、作業情報に従って、別の具材を投入するために、人４から作業停止の入力をデータ入力ＩＦ２６で受けた場合には、データ入力ＩＦ２６から作業データベース２０を介して又はデータ入力ＩＦ２６から進捗管理部２９を介して停止信号が制御パラメータ設定部２１に入力されて、制御パラメータ設定部２１は、制御モードをインピーダンス制御モードに設定する（ステップＳ２７）。
【０１１６】
次いで、制御パラメータ設定部２１は、作業データベース２０から現在の工程を抽出し、さらにその作業で使用している具材の状況又は経過時間、その工程で動作している他の調理装置６の調理機器情報を基に、前記式（１）〜（３）にて機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋを算出して、制御部２２へ出力する（ステップＳ２８）。
【０１１７】
なお、ステップＳ２５での作業停止の入力情報の有無により、制御パラメータ設定部２１で、位置制御モード、もしくは、インピーダンス制御モードに設定したが、レシピ情報の予測時間情報又は他の調理装置の状況によりタイマーなどを設定していた場合には、制御パラメータ設定部２１が、進捗管理部２９及び作業データベース２０からの情報を基に、自動的に、インピーダンス制御モード、もしくは、位置制御モードに切り替えるようにしても良い。
【０１１８】
図６は制御部２２のインピーダンス制御モード時のブロック図を示す。制御部２２は、制御パラメータ設定部２１で設定した機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋの設定値に基づき設定されたロボットアーム５−１，５−２のそれぞれの機械インピーダンス設定値に、ロボットアーム５−１，５−２のそれぞれの機械インピーダンスの値を制御する。
【０１１９】
次に、制御部２２の詳細について、図６により説明する。ロボットアーム５−１，５−２のそれぞれからは、それぞれの関節軸のエンコーダ４４により計測された関節角の現在値（関節角度ベクトル）ベクトルｑ＝［ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６］Ｔが出力され、入出力ＩＦ２４のカウンタボードにより制御部２２に取り込まれる。ただし、ｑ１，ｑ２，ｑ３，ｑ４，ｑ５，ｑ６は、それぞれ、第１関節部３５、第２関節部３６、第３関節部３７、第４関節部３８、第５関節部３９、第６関節部４０の関節角度である。
【０１２０】
５５は目標軌道生成部であり、制御パラメータ設定部２１からの入力を受けて、目標とするロボットアーム５の動作を実現するための手先位置及び姿勢目標ベクトルｒｄが出力される。目標とするロボットアーム５の動作は、目的とする作業に応じて事前にそれぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）が与えられており、目標軌道生成部５５は、多項式補間を使用し、各ポイント間の軌道を補完し、手先位置及び姿勢目標ベクトルｒｄを生成する。
【０１２１】
５３は力推定手段（力推定部）であり、人４等とロボットアーム５の接触によってロボットアーム５に加わる外力を推定する。力推定手段５３には、モータドライバ２７の電流センサーで計測された、ロボットアーム５の各関節部を駆動するモータ４３を流れる電流値ｉ＝［ｉ１，ｉ２，ｉ３，ｉ４，ｉ５，ｉ６］Ｔが入出力ＩＦ２４のＡ／Ｄボードを介して取り込まれ、また、関節角の現在値ｑが入出力ＩＦ２４のカウンタボードを介して取り込まれるとともに、後述する近似逆運動学計算部５７からの関節角度誤差補償出力ｕｑｅが取り込まれる。力推定手段５３は、オブザーバーとして機能し、以上の電流値ｉ、関節角の現在値ｑ、関節角度誤差補償出力ｕｑｅより、ロボットアーム５に加わる外力により各関節部に発生するトルクτｅｘｔを算出する。そして、Ｆｅｘｔ＝Ｊｖ（ｑ）−Ｔτｅｘｔ−［０，０，ｍｇ］Ｔによりロボットアーム５の手先における等価手先外力Ｆｅｘｔに換算し出力する。ここで、Ｊｖ（ｑ）は、
【０１２２】
【数４】
2009004772.tif 000045
を満たすヤコビ行列である。ただし、ただし、ｖ＝［ｖｘ、ｖｙ、ｖｚ、ωｘ、ωｙ、ωｚ］Ｔであり、（ｖｘ、ｖｙ、ｖｚ）は手先座標系４２でのロボットアーム５の手先の並進速度、（ωｘ、ωｙ、ωｚ）は手先座標系４２でのロボットアーム５の手先の角速度である。また、ｍは把持している物体の重さであり、ｇは把持している物体の重力加速度である。把持物体の重さｍの値は、把持する前に人が入力したり、作業情報収集部２３により情報を収集して入力することができる。また、ロボットアーム５により実際に把持を行い、そのときの力推定手段５３の等価手先外力Ｆｅｘｔの推定結果より把持物体の重さｍの値を算出する事も可能である。
【０１２３】
インピーダンス計算手段（インピーダンス計算部）５１は、ロボットアーム５に機械インピーダンス設定値への前記ロボットアーム５の機械インピーダンスの値の制御を実現する機能を果たす部分であり、制御パラメータ設定部２１で位置制御モードに切り替えられた際には「０」を出力する。一方、インピーダンス制御モードの際には、制御パラメータ設定部２１で設定されたインピーダンスパラメータである慣性Ｍ、粘性Ｄ、剛性Ｋと、関節角の現在値ｑと、力推定部５３が推定した外力Ｆｅｘｔより、ロボットアーム５に機械インピーダンス設定値への前記ロボットアーム５の機械インピーダンスの値の制御を実現するための手先位置及び姿勢目標補正出力ｒｄΔを以下の式（４）により計算し、出力する。手先位置及び姿勢目標補正出力ｒｄΔは、目標軌道生成部５５の出力する手先位置及び姿勢目標ベクトルｒｄに加算され、手先位置及び姿勢補正目標ベクトルｒｄｍが生成される。
【０１２４】
【数５】
2009004772.tif 000046
ただし、
【数６】
2009004772.tif 000047
【０１２５】
【数７】
2009004772.tif 000048
【０１２６】
【数８】
2009004772.tif 000049
であり、ｓはラプラス演算子である。
【０１２７】
５８はロボットアーム５からのそれぞれの関節軸のエンコーダ４４により計測された関節角の現在値ｑである関節角度ベクトルｑが入出力ＩＦ２４のカウンタボードを介して入力される順運動学計算部であり、ロボットアーム５の関節角度ベクトルｑから手先位置及び姿勢ベクトルｒへの変換の幾何科学的計算を行う。
５６は位置誤差補償部であり、ロボットアーム５において計測される関節角度ベクトルｑより順運動学計算部５８により計算される手先位置及び姿勢ベクトルｒと、手先位置及び姿勢補正目標ベクトルｒｄｍとの誤差ｒｅが入力され、位置誤差補償出力ｕｒｅが近似逆運動学計算部５７に向けて出力される。
近似逆運動学計算部５７では、近似式ｕｏｕｔ＝Ｊｒ（ｑ）−１ｕｉｎにより、逆運動学の近似計算を行う。ただし、Ｊｒ（ｑ）は、
【０１２８】
【数９】
2009004772.tif 000050
の関係を満たすヤコビ行列、ｕｉｎは近似逆運動学計算部５７への入力、ｕｏｕｔは近似逆運動学計算部５７からの出力であり、入力ｕｉｎを関節角度誤差ｑｅとすれば、ｑｅ＝Ｊｒ（ｑ）−１ｒｅのように手先位置及び姿勢誤差ｒｅから関節角度誤差ｑｅへの変換式となる。したがって、位置誤差補償出力ｕｒｅが近似逆運動学計算部５７に入力されると、その出力として、関節角度誤差ｑｅを補償するための関節角度誤差補償出力ｕｑｅが近似逆運動学計算部５７から出力される。
【０１２９】
関節角度誤差補償出力ｕｑｅは、入出力ＩＦ２４のＤ／Ａボードを介してモータドライバ２５に電圧指令値として与えられ、各モータ４３により各関節軸が正逆回転駆動されロボットアーム５が動作する。
【０１３０】
以上のように構成される制御部２２に関して、ロボットアーム５のインピーダンス制御動作の原理について説明する。
【０１３１】
インピーダンス制御動作の基本は、位置誤差補償部５６による手先位置及び姿勢誤差ｒｅのフィードバック制御（位置制御）であり、図６の点線で囲まれた部分が位置制御系５９になっている。位置誤差補償部５６として、例えば、ＰＩＤ補償器を使用すれば、手先位置及び姿勢誤差ｒｅが０に収束するように制御が働き、目標とするロボットアーム５のインピーダンス制御動作を実現することができる。
【０１３２】
制御パラメータ設定部２１でインピーダンス制御モードに切り替えられた場合には、前記説明した位置制御系５９に対し、インピーダンス計算手段２５により手先位置及び姿勢目標補正出力ｒｄΔが加算され、手先位置及び姿勢の目標値の補正が行われる。このために、前記した位置制御系５９は、手先位置及び姿勢の目標値が本来の値より微妙にずれることになり、結果的に、前記ロボットアーム５の機械インピーダンスの値を前記適切に設定された設定値に制御する動作が実現される。手先位置及び姿勢目標補正出力ｒｄΔは式（４）により算出されるため、前記ロボットアーム５の慣性Ｍ、粘性Ｄ、剛性Ｋの機械インピーダンスの値を前記適切に設定された設定値に制御する動作が実現される。
【０１３３】
以上の原理に基づく制御プログラムの実際の動作ステップについて、図７のフローチャートに基づいて説明する。
【０１３４】
関節部それぞれのエンコーダ４４により計測された関節角度データ（関節変数ベクトル又は関節角度ベクトルｑ）が制御装置本体部１１に取り込まれる（ステップＳ１）。
【０１３５】
次いで、逆運動学計算部５７にてロボットアーム５の運動学計算に必要なヤコビ行列Ｊｒ等の計算を行う（ステップＳ２）。
【０１３６】
次いで、順運動学計算部５８にて、ロボットアーム５からの関節角度データ（関節角度ベクトルｑ）から、ロボットアーム５の現在の手先位置及び姿勢ベクトルｒを計算する（ステップＳ３）。
【０１３７】
次いで、制御装置本体部１１のメモリ（図示せず）に予め記憶されていたロボットアーム５の動作プログラムに基づき、目標軌道計算部５５はロボットアーム５の手先位置及び姿勢目標ベクトルｒｄが計算する（ステップＳ４）。
【０１３８】
次いで、力推定部５３は、モータ４３の駆動電流値ｉと、関節角度データ（関節角度ベクトルｑ）と、関節角度誤差補償出力ｕｑｅから、ロボットアーム５の手先における等価手先外力Ｆｅｘｔを計算する（ステップＳ５）。
【０１３９】
次いで、ステップＳ６では、制御パラメータ設定部２１において位置制御モードかインピーダンス制御モードかを設定し、位置制御モードの場合にはステップＳ７に、インピーダンス制御モードの時には、ステップＳ８へ処理を進める。
【０１４０】
次いで、ステップＳ７（インピーダンス計算部５１での処理）では、制御パラメータ設定部２１において、位置制御モードが設定された場合には、インピーダンス計算部５１で、手先位置及び姿勢目標補正出力ｒｄΔを０ベクトルとする。その後、ステップＳ９に進む。
【０１４１】
ステップＳ６で制御パラメータ設定部２１において、インピーダンス制御モードが設定された場合には、インピーダンス計算部５１では、制御パラメータ設定部２１において設定された機械インピーダンスパラメータの慣性Ｍ、粘性Ｄ、剛性Ｋと、関節角度データ（関節角度ベクトルｑ）と、力推定手部５３により計算されたロボットアーム５に加わる等価手先外力Ｆｅｘｔから、手先位置及び姿勢目標補正出力ｒｄΔが、インピーダンス計算部５１により計算される（ステップＳ８）。
【０１４２】
次いで、位置誤差補償部５６では、手先位置及び姿勢目標ベクトルｒｄと手先位置及び姿勢目標補正出力ｒｄΔの和である手先位置及び姿勢補正目標ベクトルｒｄｍと、現在の手先位置及び姿勢ベクトルｒとの差である手先位置及び姿勢の誤差ｒｅが計算される（ステップＳ９）。位置誤差補償部５６の具体例としてはＰＩＤ補償器が考えられる。定数の対角行列である比例、微分、積分の３つのゲインを適切に調整することにより、位置誤差が０に収束するように制御が働く。
【０１４３】
次いで、近似逆運動学計算部５７では、ステップＳ２で計算したヤコビ行列Ｊｒの逆行列を近似逆運動学計算部５７で乗算することにより、位置誤差補償出力ｕｒｅを、手先位置及び姿勢の誤差に関する値から関節角度の誤差に関する値である関節角度誤差補償出力ｕｑｅに、近似逆運動学計算部５７により変換する（ステップＳ１０）。
【０１４４】
次いで、関節角度誤差補償出力ｕｑｅが、近似逆運動学計算部５７から入出力ＩＦ２４のＤ／Ａボードを通じ、モータドライバ２５に与えられ、それぞれのモータ４３を流れる電流量を変化させることによりロボットアーム５のそれぞれの関節軸の回転運動が発生する（ステップＳ１１）。
【０１４５】
以上のステップＳ１〜ステップＳ１１が制御の計算ループとして繰り返し実行されることにより、ロボットアーム５の動作の制御、すなわち、ロボットアーム５の機械インピーダンスの値を前記適切に設定された設定値に制御する動作を実現することができる。
【０１４６】
以上の動作ステップＳ２０〜ステップＳ２８及びステップＳ１〜ステップＳ１１により、作業手順情報とその作業の進捗情報、さらにはその作業の工程にてロボットアーム５の周辺で動作している調理装置６の状況に応じて、制御パラメータを設定し、そのパラメータに応じて、ロボットアーム５による作業が実現する。
【０１４７】
以上のように、作業データベース２０、制御パラメータ設定部２１、進捗管理部２９、制御部２２を備えることにより、ロボットアーム５を人４が操縦する場合に、人４がロボットアーム５を移動させたい場合には速やかに移動させることができ、さらには作業している具材などの状況に基づいて、剛性の低いインピーダンス制御の状態から剛性の高いインピーダンス制御の状態に移行することで、人４によるロボットアーム５の誤動作によって具材をつぶしたり、具材を鍋の外に飛ばすことを防止することができる。
【０１４８】
また、作業時間が長くなることでの人４が疲れ、ロボットアーム５において誤動作する可能性が増大するため、経過時間に応じて、剛性の低いインピーダンス制御の状態から剛性の高いインピーダンス制御の状態に移行することで、疲れによるロボットアーム５の誤動作を防止することができる。
【０１４９】
（第２実施形態）
本発明の第２実施形態における、ロボットアーム５の制御装置１０５の基本的な構成は、第１実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
【０１５０】
図８は、第１ロボットシステム１又は第２ロボットシステム２を構成する制御装置１０５と制御対象であるロボットアーム５（第１又は第２ロボットアーム５−１又は５−２）の詳細構成を示す図である。
【０１５１】
入出力ＩＦ２４、モータドライバ２５、ロボットアーム５、制御部２２、進捗管理部２９、表示部９は第１実施形態の場合と同様であるので、説明は省略する。
【０１５２】
作業情報収集部２３のデータ入力ＩＦ２６により、ロボットアーム５と協働する人４の利き腕などの人４の特性に関する情報（例えば、作業特性に関する情報）を入力して、作業データベース２０の作業状態情報データベース４５に記憶する。
【０１５３】
さらに、作業情報収集部２３の画像認識部２７により、人４とロボットアーム５との協働作業の状態を撮像するためのカメラなどの画像撮像装置１２の画像データより画像認識を行い、ロボットアーム５を操作している人４の位置情報、又は、人４の手先に調理器具１０などを把持しているかどうかの情報を収集し、作業データベース２０の作業状態情報データベース４５に出力する。
【０１５４】
次に、作業データベース２０の詳細について説明する。
【０１５５】
作業データベース２０は、例えば、図３に示したロボットアーム５と人４の作業手順情報データベース１７と進捗情報データベース１９と、図４に示したロボットシステム１又は２を操縦している人４の協働作業状態に関する情報を予め記憶している作業状態情報データベース４５とを備えるように構成される。図３は第１実施形態の場合と同様であるので説明は省略する。
【０１５６】
人４の作業状態に関する情報は、図４に示すように、一例として、人４を識別する人識別情報の一例としてのＩＤ番号と、ＩＤ番号に相当する人４の年齢又は性別、及び氏名に関する情報に加えて、人４の利き腕の手の手先位置、人４が調理器具１０などを利き腕の手で把持しているかどうかを示す情報、人４の利き腕に関する情報、人４の作業を遂行する際の能力を示すスキル情報とを有するように構成される。これらの情報は、予め測定し、評価し、データベースとして作業データベース２０に格納されている。
【０１５７】
人４の識別は、人４にＲＦタグを装備して、識別番号をＩＤ番号として抽出しても良いし、人４が作業前に識別番号（ＩＤ番号）をデータ入力ＩＦ２６から作業データベース２０に入力しても良い。さらに、人４の利き腕に関する情報は、人４がデータ入力ＩＦ２６から作業前に作業データベース２０に入力しても良い。また、カメラなどの画像撮像装置１２の画像データとあらかじめ記録された人４の手の画像データとの間で、画像認識部２７にてモデルマッチング処理を画像認識部２７で行い、人４の手先の位置を画像認識部２７で抽出し、さらに、把持している物体にＲＦＩＤタグを装備して把持物体の位置を画像認識部２７で算出し、手先の位置に把持物体の位置が重なる場合を把持していると画像認識部２７で判断する。
【０１５８】
人４のスキル情報は、作業ＩＤ番号とスキルのレベルとで構成され、作業ＩＤ番号が示す作業を遂行する際の能力をレベルとして５段階で示す。「レベル１」はスキルが最も低く、「レベル５」はスキルが最も高いことを示す。例えば、図４で、ＩＤ番号２は１０歳の子供であり、作業ＩＤ０００１である調理作業ではレベル１であり、調理作業の能力が低いことを示す。スキル情報は、人４がデータ入力ＩＦ２６から作業前に作業データベース２０に入力する。
【０１５９】
制御パラメータ設定部２１は、作業手順情報と進捗情報と人４の作業状態とに基づいて、ロボットアーム５の制御パラメータを設定する。一例として、人４が、図３に示す調理作業を行っている場合に、工程ＩＤ０００８の指示通りに、第２ロボットアーム５−２が位置制御モードでかき混ぜ作業をしているときに、人４が鍋３Ａの中の料理の味見をする場合、又は、新たに具材を鍋３Ａの中に投入するために、かき混ぜ作業を中断する場合がある。その場合に、データ入力ＩＦ２６から停止命令が入力され、その停止命令が進捗管理部２９及び作業データベース２０を介して又は進捗管理部２９から直接的に制御パラメータ設定部２１に入力されると、
制御パラメータ設定部２１から制御部２２を介して第２ロボットアーム５−２の作業を停止させるとともに、制御パラメータ設定部２１が、作業の停止時に、後述する人４の作業状態に基づいて第２ロボットアーム５−２を適切な位置に退避させるためのパラメータを設定する。
【０１６０】
具体的には、図１０Ａの位置（第２ロボットアーム５−２のハンド３０で把持した調理器具１０が鍋３Ａの中央部に位置した状態）で、人４からの停止命令が、データ入力ＩＦ２６に入力され、データ入力ＩＦ２６から進捗管理部２９から制御パラメータ設定部２１に前記停止命令が入力され、制御パラメータ設定部２１から制御部２２を介して第２ロボットアーム５−２によるかき混ぜを停止させた場合に、図１０Ａの位置では第２ロボットアーム５−２又はそれに取り付けられたレードルなどの調理器具１０が、人４の味見などの作業の邪魔になる。そこで、制御パラメータ設定部２１は、進捗管理部２９及び作業データベース２０から得られた作業手順情報より、前記停止命令によって、かき混ぜ作業を中断したことがわかるので、画像認識部２７から作業データベース２０から得られた画像認識結果の情報を基に図４の人４の手先位置から人４の位置を推定し、図１０Ｂのように、人４のいない方向に第２ロボットアーム５−２を退避させるための退避位置（例えば、第２ロボットアーム５−２のハンド３０で把持した調理器具１０が鍋３Ａの周辺でかつ壁面７ａ側に位置した状態の退避位置）の目標軌道を設定する。目標軌道は、第１実施形態と同様、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）情報であり、人４の位置から制御パラメータ設定部２１で算出して制御部２２へ出力する。制御部２２では、制御パラメータ設定部２１からの算出データに基づき、位置制御モードにより第２ロボットアーム５−２を所定の位置に退避させる。
【０１６１】
さらに、制御パラメータ設定部２１は、図４の人４の利き腕情報と作業手順情報より、第２ロボットアーム５−２を、より適切な位置に退避させるためのパラメータを設定することができる。
【０１６２】
具体的には、例えば、かき混ぜ作業の中断時に、図１４Ａの位置では、第２ロボットアーム５−２又はそれのハンド３０に取り付けられたレードルなどの調理器具１０が、人４の味見などの作業の邪魔になる。その場合に、図１４Ｂ及び図１４Ｃに示すように、人４が右利きの場合（人４の利き腕が右の場合）には、次の工程で作業がしやすいように、鍋３Ａの中央の点線に対して人４から見て、右側に第２ロボットアーム５−２のハンド３０に取り付けられた調理器具１０を退避させるための退避位置の目標軌道を設定することができる（図１４Ｃの実線の円を参照）。逆に、人４が左利きの場合（人４の利き腕が左の場合）には、次の工程で作業がしやすいように、鍋３Ａの中央の点線に対して人４から見て、左側に第２ロボットアーム５−２のハンド３０に取り付けられた調理器具１０を退避させるための退避位置の目標軌道を設定することができる（図１４Ｃの点線の円を参照）。
【０１６３】
さらに、人４の手の把持状態の情報から、第２ロボットアーム５−２を、より適切な位置に退避させるためのパラメータを設定することもできる。
【０１６４】
具体的には、例えば、かき混ぜ作業の中断時に、図１５Ａの位置では、第２ロボットアーム５−２又はそれのハンド３０に取り付けられたレードルなどの調理器具１０が、人４による新たな具材の投入などの作業の邪魔になる。そこで、図１５Ｂ及び図１５Ｃに示すように、人４が新たな具材が載った皿８８を把持していない手の方向（鍋３Ａの中央の点線に対して人４から見て左側）に第２ロボットアーム５−２のハンド３０に取り付けられた調理器具１０を退避させるための退避位置の目標軌道を設定する（図１５Ｃの実線の円を参照）。
【０１６５】
さらに、人４のスキル情報から、第２ロボットアーム５−２を、より適切な位置に退避させるためのパラメータを設定する。
【０１６６】
具体的には、例えば、調理作業のスキルが低い子供の場合には、スキルが高い大人よりも遅い動作となるように、第２ロボットアーム５−２の退避動作時の目標軌道を設定する。例えば、目標軌道は、第１実施形態と同様、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイントごとの位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）情報であるので、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）を、大人よりも大きな値に制御パラメータ設定部２１により設定しておけばよい。このようにすれば、大人よりも遅い動作で、第２ロボットアーム５−２を退避させることができて、子供にとって安全なものとなる。
【０１６７】
さらに、スキルの低い子供によるかき混ぜ作業の中断時に第２ロボットアーム５−２を退避させる場合に、制御パラメータ設定部２１により式（１）〜（３）の補正値を高く設定することで、粘性Ｄ及び剛性Ｋが大きくなるように設定することができる。そのようにすれば、第２ロボットアーム５−２の動きに抵抗感又は硬さが生じ、第２ロボットアーム５−２が動きにくくなり、子供が誤って、素早く第２ロボットアーム５−２を動かすことで、誤って具材をつぶしたり、水又はスープを鍋３Ａの外にこぼすことを防ぐことができることとなる。
【０１６８】
このように、制御パラメータ設定部２１は、作業状態情報データベース４５に記憶された人４の作業状態に関する情報又は画像認識部２７で取得された情報などに基づいて制御パラメータを設定することにより、人４が作業しやすい位置に第２ロボットアーム５−２を退避させることができ、利便性の良いロボットアーム５及びロボットアーム５の制御装置１０５などを提供することが可能となる。
【０１６９】
（第３実施形態）
本発明の第３実施形態における、ロボットアーム５の制御装置１０５の基本的な構成は、第１実施形態及び第２実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
【０１７０】
図１１は、第１ロボットシステム１又は第２ロボットシステム２を構成する、制御対象であるロボットアーム５とその制御装置１０５の詳細構成を示す図である。
【０１７１】
入出力ＩＦ２４、モータドライバ２５、ロボットアーム５、進捗管理部２９、表示部９、作業情報収集部２３は第１実施形態の場合と同様であるので、説明は省略する。
【０１７２】
図３に示す調理作業を行っている場合に、工程ＩＤ０００８の指示通りに、第２ロボットアーム５−２が位置制御モードで図９Ａのようにかき混ぜ作業をしているときに、人４が鍋３Ａの中の料理の味見をする場合、又は、鍋３Ａの中へ新たに具材を投入するために、かき混ぜ作業を中断する場合がある。その場合に、データ入力ＩＦ２６から停止命令が入力され、その停止命令が進捗管理部２９から制御パラメータ設定部２１に入力されると、制御パラメータ設定部２１から制御部２２を介して第２ロボットアーム５−２の作業を停止させるとともに、制御パラメータ設定部２１が、作業の停止時に、位置制御モードからインピーダンス制御モードに第２ロボットアーム５−２の制御モードを切り替える指令を制御部２２へ出力する。
【０１７３】
この出力に基づいて制御部２２により、第２ロボットアーム５−２の制御モードが作業の停止時に位置制御モードからインピーダンス制御モードに切り替わると、人４が第２ロボットアーム５−２に力をかければ、その力をかけた方向に第２ロボットアーム５−２が移動するため、図１Ａに示すように、人４は第２ロボットアーム５−２を直接把持して、退避させたい位置に向けて力をかけることで、第２ロボットアーム５−２を、味見又は新たな具材投入作業などの邪魔にならない退避位置に移動させることができる。その際に、制御パラメータ設定部２１は、図１２に示すように、人４がかけた力（図１２の真ん中の欄に力の大きさを示す。数字が大きいほど、大きな力を意味する。）と、その時の第２ロボットアーム５−２のハンド３０の位置すなわち手先位置と目標位置（姿勢目標ベクトルｒｄ）（図１２の右端の欄に、手先位置の現在位置の座標と目標位置の座標を示す。）を、その時の時刻とともに作業データベース２０の作業状態情報データベース４５に記憶する。
【０１７４】
次に、人４が、次に、同様にインピーダンス制御モードで第２ロボットアーム５−２を退避させる場合に、比較手段の一例としての比較部１５により、人４が第２ロボットアーム５−２にかけた力とその時の第２ロボットアーム５−２の手先位置と、作業状態情報データベース４５に記憶された力と手先位置を、時系列の順に比較し、両者の差があらかじめ定められた誤差の範囲内である場合には、両者は一致したと見なし、制御パラメータ設定部２１に時刻とともに一致情報を出力する。制御パラメータ設定部２１は、前記比較部１５からの一致情報を基に、第２ロボットアーム５−２の制御モードをインピーダンス制御モードから位置制御モードに変更し、さらに位置制御モードの目標位置（退避位置）を作業データベース２０で記憶した第２ロボットアーム５−２の手先位置として、制御部２２に出力する。よって、制御パラメータ設定部２１からの出力に基づき制御部２２により、第２ロボットアーム５−２の制御モードをインピーダンス制御モードから位置制御モードに切り替える。第２ロボットアーム５−２が位置制御モードに変更された以降は、人４が第２ロボットアーム５−２を操作しなくても、第２ロボットアーム５−２が自動的に制御部２２の制御の下に退避位置まで退避することができる。
【０１７５】
以上のように、人４は、一度、第２ロボットアーム５−２を邪魔にならない位置に退避させると、次に退避させる場合には、少しの力をかけるだけで、第２ロボットアーム５−２は、それ以降は位置制御モードで自動で退避することができる。
【０１７６】
さらに、退避した位置から元の位置に戻そうとしている場合には、退避した実際の位置と作業状態情報データベース４５に記憶した位置を比較部１５により比較し、記憶しているデータと時系列とは逆に一致している場合には、退避場所から戻そうとしていると比較部１５で判断し、記憶されている状態情報を時系列の逆順に、制御パラメータ設定部２１に手先位置と力情報を出力する。
【０１７７】
以上のように、人４が第２ロボットアーム５−２をインピーダンス制御モードで人４の作業がしやすい位置に退避させると、次に退避させる場合には、人４が少しの力をかけるだけで、第２ロボットアーム５−２が自動的に人４の作業しやすい位置に退避させることができ、作業効率が高く、操作しやすいロボット制御を実現する制御装置が提供できる。
【０１７８】
（第４実施形態）
本発明の第４実施形態における、ロボットアームの制御装置の基本的な構成は、第１実施形態の場合と同様であるので、共通部分の説明は省略し、異なる部分についてのみ以下、詳細に説明する。
【０１７９】
図１７は、拭き掃除作業におけるロボットシステム１又はロボットシステム２を構成する制御装置本体部１１と制御対象であるロボットアーム５の詳細構成を示す図である。
【０１８０】
入出力ＩＦ２４、モータドライバ２５、ロボットアーム５、進捗管理部２９、表示部９、制御部２２、進捗管理部２９は第１実施形態の場合と同様であるので、説明は省略する。
【０１８１】
図１８は、拭き掃除作業における作業データベース２０を示す。具体的には第１実施形態と同様に、作業を識別する作業識別情報の一例としての作業ＩＤ番号と、その作業の中の個々の工程を識別する工程識別情報の一例としての工程ＩＤ番号と、工程ＩＤ番号に相当する工程に関する情報と、その工程での対象物に関する対象情報と、その工程を行う操作情報と、並びにその工程にかかる見込みの時間である予測時間と、その工程で調理する分量とを有するように構成される。図１８では、作業ＩＤ０００２の中の工程ＩＤ０００１は、「スポンジをロボットアーム５−２に装着して下さい」とあり、作業の状態としては、図１９Ａの状態、すなわち、人４が、スポンジ４６を第２ロボットアーム５−２のハンド３０に装着した状態となる。また、工程ＩＤ０００２は、「拭き掃除開始ボタンを押して下さい」とあり、図１９Ｂの状態、すなわち、人４が、操作盤１３の拭き掃除開始ボタンを押状態となる。
【０１８２】
制御パラメータ設定部２１は、作業手順情報と進捗に関する情報に基づいて、ロボットアーム５の制御モードを位置制御モードとインピーダンス制御モードとの間で切り替える設定を行う。
【０１８３】
位置制御モードは、第１実施形態の場合と同様に目標軌道生成部５５の手先位置及び姿勢目標ベクトル指令に基づいてロボットアーム５が作動するモードで、具体的にはかき混ぜ作業又は拭き掃除などの作業時に動作するモードである。
【０１８４】
インピーダンス制御モードは、人４などからロボットアーム５に加わる力に応じて、ロボットアーム５が作動するモードで、例えば、図１Ｂに示すように人４とロボット５が協働して運搬する作業をさせる場合、又は、図１Ａに示すように、人４がロボットアーム５を直接持って、作業場所までロボットアーム５を誘導する際に作動させるモードである。
【０１８５】
例えば、図１８に示すように、人４と第２ロボットアーム５−２とが協働して拭き掃除作業を行っている場合、すなわち、工程ＩＤ０００２の指示通りに、第２ロボットアーム５−２が位置制御モードでスポンジ４６を作業台７の表面に押しつけて拭き掃除作業をしているときに、第２ロボットアーム５−２で拭き掃除作業をしている場所（例えばシンクなど）を人４が使うために、拭き掃除作業を中断させる場合がある。その場合に、データ入力ＩＦ２６から停止命令が入力され、その停止命令が進捗管理部２９から制御パラメータ設定部２１に入力されると、制御パラメータ設定部２１から制御部２２を介して第２ロボットアーム５−２の作業を停止させるとともに、制御パラメータ設定部２１が、作業の停止時に、第２ロボットアーム５−２の制御モードを位置制御モードからインピーダンス制御モードに切り替える指令を制御部２２へ出力する。よって、制御パラメータ設定部２１からの出力に基づき制御部２２により、第２ロボットアーム５−２の制御モードを位置制御モードからインピーダンス制御モードに切り替える。
【０１８６】
その結果、中断命令により停止した第２ロボットアーム５−２が把持しているスポンジ４６が邪魔になったときには、第２ロボットアーム５−２の制御モードをインピーダンス制御モードに切り替えることで、人４が第２ロボットアーム５−２を直接把持して移動させるだけで、第２ロボットアーム５−２を退避位置に簡単に退避することができるようになる。
【０１８７】
以上のように、作業データベース２０、制御パラメータ設定部２１、進捗管理部２９、制御部２２を備えることにより、ロボットアーム５を人４が操縦する場合に、人４がロボットアーム５を移動させたい場合には速やかに移動させることができる。
【０１８８】
なお、前記第１〜第４実施形態では、作業手順情報はインターネット２８を通じて収集するとしたが、ＳＤカードなどのメモリ又はＤＶＤなどのメディアから収集しても良い。
【０１８９】
さらに、前記第１〜第４実施形態の制御パラメータ設定部２１は、かき混ぜ中断後の機械インピーダンスパラメータを設定することとしたが、ダイレクトティーチングなど人４がロボットアーム５を操作する作業に基づいて、制御パラメータ設定部２１により設定しても良い。
【０１９０】
さらに、前記第１〜第４実施形態では、ロボットアーム５の制御装置１０５では、位置誤差補償部５６のゲインを調整することにより、手先の方向別に擬似的に機械インピーダンス設定値に前記ロボットアーム５の機械インピーダンスの値を制御することを実現しても良い。
【０１９１】
さらに、前記第２実施形態で、作業手順情報データベース１７の予測時間を人４のスキルが低い場合には、大きな値を設定しておいても良い。
【０１９２】
さらに、前記実施形態ではロボットアーム５を例に説明したが、本発明は、アームに限らず、車輪により動く移動ロボット、又は、２足歩行ロボット、多足歩行ロボットなどにも適用することができ、移動ロボットなどと人間との接触に関して同様の効果を発揮する。
【０１９３】
さらに、前記様々な実施形態のうちの任意の実施形態を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０１９４】
本発明は、家庭用ロボットなど人とロボットが協働して家庭内の作業を行う際のロボットアームの動作の制御を行なうロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、及びロボットアームの制御プログラムとして有用である。また、家庭用ロボットに限らず、産業用ロボット、又は、生産設備等における可動機構のロボットアームの制御装置及び制御方法、ロボットアームの制御装置を有するロボット、及びロボットアームの制御プログラムとしても適用が可能である。
【０１９５】
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ロボットアームの制御装置であって、
人と前記ロボットアームとが協働する複数の工程からなり、前記各工程に関して（ｉ）前記ロボットアームが単体で行う作業工程と（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程とのいずれかを識別する操作情報を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき、前記人と前記ロボットアームとが協働して行う前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記進捗管理手段による前記家庭内作業の進捗情報に基づいて、（ｉ）前記ロボットアームが単体で行う作業工程の場合には、前記ロボットアームを位置制御モードにて制御し、（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程の場合には、前記人の力に応じて前記ロボットアームを移動させる制御モードにて制御するように、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段を有するロボットアームの制御装置。
【請求項２】
前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、調理方法の手順情報と前記調理方法での調理作業の対象となっている具材情報を含み、
前記制御パラメータ設定手段は、前記人の力に応じて前記ロボットアームを移動させる制御モードで制御する場合に、前記調理作業の進捗情報に基づき、前記調理作業の対象となっている前記具材情報がつぶれやすい、又は、粘性があるとされている場合の前記ロボットアームの機械インピーダンスの値を、前記調理作業の対象となる前記具材情報がつぶれにくい、又は、粘性の少ないとされている場合の前記ロボットアームの機械インピーダンスの値よりも粘性及び剛性をそれぞれ高く設定する請求項１に記載のロボットアームの制御装置。
【請求項３】
前記ロボットアームとは別のロボットアームの動作を前記制御パラメータ設定手段と前記制御手段により、前記ロボットアームとは独立して制御するとともに、
前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、前記調理作業の手順情報は、さらに、前記複数のロボットアームのそれぞれの操作対象の有無情報を有し、
前記制御パラメータ設定手段は、前記人の力に応じて前記ロボットアームを移動させる制御モードで制御する場合でかつ前記複数のロボットアームのうちの１つのロボットアームが前記操作対象となっているロボットアームであるとともに別の１つのロボットアームが前記操作対象となっていないロボットアームである場合に、前記操作対象となっていないロボットアームの機械インピーダンスの値を、前記操作対象となっているロボットアームの機械インピーダンスの値よりも、粘性及び剛性が高くなるように設定する請求項１に記載のロボットアームの制御装置。
【請求項４】
前記家庭内作業の手順情報は、調理方法を記述した調理作業の手順情報であって、前記調理作業の手順情報の進捗情報は、さらに、前記手順情報に含まれる複数の調理工程の経過時間情報を有し、前記制御パラメータ設定手段は、前記人の力に応じて前記ロボットアームを移動させる制御モードで制御する場合に、前記経過時間の合算値の大きさに比例して、前記ロボットアームの機械インピーダンスの値の粘性及び剛性の大きさをそれぞれ設定する請求項１に記載のロボットアームの制御装置。
【請求項５】
前記作業手順情報取得手段は、前記操作情報を含む前記家庭内作業の手順情報と前記家庭内作業の進捗情報に加えて、前記操作情報が前記人と前記ロボットアームとが連動して行う作業工程である場合に前記ロボットアームと協働する前記人の家庭内作業状態の情報である作業状態情報を取得し、
前記制御パラメータ設定手段は、前記家庭内作業の手順情報と前記家庭内作業の進捗情報と前記作業状態情報に基づいて、前記制御パラメータを設定する請求項１に記載のロボットアームの制御装置。
【請求項６】
前記作業状態情報は、前記人の位置に関する情報、又は、前記人の利き腕に関する情報、又は、前記人の利き腕の手先の把持状態、又は、前記人の家庭内作業を遂行する際の能力であるスキル情報に関する情報を含み、前記制御パラメータ設定手段は、前記人の利き腕の方向に前記ロボットアームを移動するよう制御パラメータを設定し、さらに、前記制御パラメータ設定手段は、前記人の利き腕の手先の把持状態より、把持していない方向に前記ロボットアームを移動するよう設定し、さらに、前記制御パラメータ設定手段は、前記スキル情報が低い場合には、前記スキル情報が高い場合よりも、前記ロボットアームの機械インピーダンスの粘性及び剛性を高くする請求項５に記載のロボットアームの制御装置。
【請求項７】
前記作業状態情報は、前記人が前記ロボットアームと協働して前記家庭内作業する際にかけた力に関する情報とその力の応じて移動する前記ロボットアームの手先位置とを含み、前記力に関する情報及び前記ロボットアームの前記手先位置と、現在の前記人の力に関する情報と前記ロボットアームの前記手先位置を時系列で比較する比較手段をさらに有し、前記比較手段で両者が一致した場合に、前記制御パラメータ設定部で前記ロボットアームの制御モードを、前記人の力に応じて前記ロボットアームを移動させる制御モードから前記位置制御モードに切り替える請求項５に記載のロボットアームの制御装置。
【請求項８】
ロボットアームの制御方法であって、
人と前記ロボットアームとが協働する複数の工程からなり、前記各工程に関して（ｉ）前記ロボットアームが単体で行う作業工程と（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程とのいずれかを識別する操作情報を含む家庭内作業の手順情報を作業手順情報取得手段で取得し、さらに前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき、前記人と前記ロボットアームとが協働して行う前記家庭内作業の進捗情報を進捗管理手段で管理し、
前記進捗管理手段による前記家庭内作業の進捗情報に基づいて、（ｉ）前記ロボットアームが単体で行う作業工程の場合には、前記ロボットアームを位置制御モードにて制御し、（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程の場合には、前記人の力に応じて前記ロボットアームを移動させる制御モードにて制御するように、前記ロボットアームの制御パラメータを制御パラメータ設定手段で設定し、
前記設定された制御パラメータに基づき、前記ロボットアームの動作を制御手段で制御するロボットアームの制御方法。
【請求項９】
前記ロボットアームと、
前記ロボットアームの動作を制御する請求項１又は２に記載のロボットアームの制御装置を有するロボット。
【請求項１０】
コンピュータにより実行可能な、ロボットアームの制御プログラムであって、
人と前記ロボットアームとが協働する複数の工程からなり、前記各工程に関して（ｉ）前記ロボットアームが単体で行う作業工程と（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程とのいずれかを識別する操作情報を含む家庭内作業の手順情報を取得するステップと、
取得された前記家庭内作業の手順情報に基づき、前記人と前記ロボットアームとが協働して行う前記家庭内作業の進捗情報を管理するステップと、
前記進捗情報を管理するステップによる前記家庭内作業の進捗情報に基づいて、（ｉ）前記ロボットアームが単体で行う作業工程の場合には、前記ロボットアームを位置制御モードにて制御し、（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程の場合には、前記人の力に応じて前記ロボットアームを移動させる制御モードにて制御するように、前記ロボットアームの制御パラメータを設定するステップと、
前記設定された制御パラメータに基づき前記ロボットアームの動作を制御するステップとを有するロボットアームの制御プログラム。
【請求項１１】
ロボットアームを制御する集積電子回路であって、
人と前記ロボットアームとが協働する複数の工程からなり、前記各工程に関して（ｉ）前記ロボットアームが単体で行う作業工程と（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程とのいずれかを識別する操作情報を含む家庭内作業の手順情報を取得する作業手順情報取得手段と、
前記作業手順情報取得手段で取得された前記家庭内作業の手順情報に基づき、前記人と前記ロボットアームとが協働して行う前記家庭内作業の進捗情報を管理する進捗管理手段と、
前記進捗管理手段による前記家庭内作業の進捗情報に基づいて、（ｉ）前記ロボットアームが単体で行う作業工程の場合には、前記ロボットアームを位置制御モードにて制御し、（ｉｉ）前記人と前記ロボットアームとが連動して行う作業工程の場合には、前記人の力に応じて前記ロボットアームを移動させる制御モードにて制御するように、前記ロボットアームの制御パラメータを設定する制御パラメータ設定手段と、
前記制御パラメータ設定手段で設定された前記制御パラメータに基づき前記ロボットアームの動作を制御する制御手段とを有するロボットアームの集積電子回路。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１Ａ】
2009004772.tif 000051
【図１Ｂ】
2009004772.tif 000052
【図２】
2009004772.tif 000053
【図３】
2009004772.tif 000054
【図４】
2009004772.tif 000055
【図５】
2009004772.tif 000056
【図６】
2009004772.tif 000057
【図７】
2009004772.tif 000058
【図８】
2009004772.tif 000059
【図９Ａ】
2009004772.tif 000060
【図９Ｂ】
2009004772.tif 000061
【図１０Ａ】
2009004772.tif 000062
【図１０Ｂ】
2009004772.tif 000063
【図１１】
2009004772.tif 000064
【図１２】
2009004772.tif 000065
【図１３】
2009004772.tif 000066
【図１４Ａ】
2009004772.tif 000067
【図１４Ｂ】
2009004772.tif 000068
【図１４Ｃ】
2009004772.tif 000069
【図１５Ａ】
2009004772.tif 000070
【図１５Ｂ】
2009004772.tif 000071
【図１５Ｃ】
2009004772.tif 000072
【図１６Ａ】
2009004772.tif 000073
【図１６Ｂ】
2009004772.tif 000074
【図１６Ｃ】
2009004772.tif 000075
【図１６Ｄ】
2009004772.tif 000076
【図１７】
2009004772.tif 000077
【図１８】
2009004772.tif 000078
【図１９Ａ】
2009004772.tif 000079
【図１９Ｂ】
2009004772.tif 000080
【国際調査報告】
2009004772.tif 000081
2009004772.tif 000082
2009004772.tif 000083
2009004772.tif 000084
2009004772.tif 000085
2009004772.tif 000086