(57)【要約】【課題】  インピーダンス制御を使ったパワーアシストロボットにおいて、作業領域が広い場合であっても、人は操作ハンドルを操作するために無理な姿勢をすることのなく、かつ、操作性の精度が必要とされるところでは精度良く動作する操作性の良いロボットを提供する。【解決手段】  多関節ロボットアーム５の手先部６に対して相対的に移動可能に配置されかつ手先部に人３９からかけられた操作力を取得する操作力取得部３，４０が取得した操作力及び設定されたインピーダンスパラメータに基づきロボットアームをインピーダンス制御するインピーダンス制御部３７と、ロボットアームにより行う作業を、手先部の位置及び姿勢あるいはロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、それぞれの作業実行時で、手先部に対して操作力取得部を相対的に移動させる駆動装置７の駆動期間を異ならせるように制御する駆動装置制御部３２とを有する。【選択図】図１
2014155985.tif 000002
【特許請求の範囲】
【請求項１】
多関節ロボットアームと、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を取得する操作力取得部と、
前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置と、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで前記駆動装置の駆動期間を異ならせるように制御する駆動装置制御部と、
を有するロボット。
【請求項２】
前記駆動装置制御部は、前記多関節ロボットアームの前記手先部の位置の属する領域により前記精密作業と前記粗作業とに予め分類された情報に基づいて、前記駆動装置の前記駆動期間を異ならせるように制御する請求項１に記載のロボット。
【請求項３】
前記駆動装置制御部は、前記多関節ロボットアームの前記手先部の手先速度ベクトルにより前記精密作業と前記粗作業とに予め分類された情報に基づいて、前記駆動装置の前記駆動期間を異ならせるように制御する請求項１に記載のロボット。
【請求項４】
前記駆動装置制御部は、前記多関節ロボットアームの前記手先部で物体の把持状態により前記精密作業と前記粗作業とに予め分類された情報に基づいて、前記駆動装置の前記駆動期間を異ならせるように制御する請求項１に記載のロボット。
【請求項５】
前記駆動装置制御部は、前記精密作業実行時には、前記駆動装置の駆動を停止して、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対位置を固定し、前記粗作業実行時には、前記駆動装置の駆動を行って、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対位置を移動させることにより、前記駆動期間を異ならせるように制御する請求項１〜４のいずれか１つに記載のロボット。
【請求項６】
前記駆動装置制御部は、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対的な動きは、前記多関節ロボットアームの前記手先部の動きとは逆方向に動かすような移動である請求項５に記載のロボット。
【請求項７】
前記駆動装置制御部は、前記多関節ロボットアームの前記手先部の動作速度に比例して、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対移動速度を制御する請求項５に記載のロボット。
【請求項８】
前記インピーダンス制御部は、前記駆動装置が前記操作力取得部を駆動する際に、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対加速度を打ち消すように前記多関節ロボットアームの前記手先部を加速するよう制御する請求項５に記載のロボット。
【請求項９】
多関節ロボットアームの制御装置であって、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を取得する操作力取得部と、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで、前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置の駆動期間を異ならせるように制御する駆動装置制御部とを備えて、
前記多関節ロボットアームの動作を制御するロボットの制御装置。
【請求項１０】
多関節ロボットアームの制御方法であって、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を操作力取得部で取得し、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御部でインピーダンス制御し、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで、前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置の駆動期間を駆動装置制御部で変化させて、
前記多関節ロボットアームの動作を制御するロボットの制御方法。
【請求項１１】
多関節ロボットアームの制御プログラムであって、
コンピュータに、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を取得する操作力取得部と、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで、前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置の駆動期間を異ならせるように制御する駆動装置制御部として機能させて、
前記多関節ロボットアームの動作を制御する、ロボットの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の搬送を行う動作を制御する、ロボット、ロボットの制御装置、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきた。また、産業用ロボットでも、セル生産工場の広がりなどから、人と協働するロボットの開発が盛んに行われている。
【０００３】
人と協働するロボットの一例として、インピーダンス制御により人の操作力に応じてロボットを動作させることで、パワーアシストを実現するロボットが提案されている。
【０００４】
ロボットのアーム部に操作力をかけるための操作ハンドルを設ける形式のロボットの場合、アーム部の姿勢によって、操作ハンドルが操作の難しい位置又は姿勢になる可能性がある。
【０００５】
こうした課題に対し、特許文献１は、アーム部の手先部に、さらに昇降する機構を設けることで、作業位置の高低差が大きい場合でも対応できる技術を開示している（特許文献１参照）。
【０００６】
また、特許文献２は、操作ハンドルにも駆動機構を設け、操作ハンドルの姿勢を変更できるようにし、アーム部の姿勢が変化しても、操作ハンドルの姿勢が一定となる技術を開示している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第３６７６３９８号
【特許文献２】特許第４５１７７２６号
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１では、重量物を搬送する場合には、手先部の昇降機構は強力な力を必要とするため、昇降機構自体が大きく複雑になるという課題がある。また、昇降機構動作時には、搬送物体の位置決めの操作性が劣化するという課題がある。さらに、スイッチ動作によって昇降機構を動作させるため、操作ミスによる作業効率の低下が発生する可能性がある。
【０００９】
また、特許文献２では、ロボットアームの姿勢の変化に応じて操作ハンドルの姿勢を変化させる技術を開示している。具体的には、ロボットアームの位置又は姿勢にかかわらず、操作ハンドルの位置は変化するが姿勢は一定とする技術と、操作ハンドルでの操作を一部の方向に関して拡大又は縮小してロボットアームの動作とする技術である。いずれも、操作ハンドルの位置及び姿勢とロボットアームの手先位置及び姿勢とが同じにならないため、直感的操作ではなく、操作に熟練が必要となるという課題がある。
【００１０】
本発明の目的は、前記従来の課題を解決し、作業領域が広い場合であっても、人は操作ハンドルを操作するために無理な姿勢をすることがなく、かつ、操作性の精度が必要とされるところでは精度良く動作する、操作性の良い、かつ、操作ミスによる作業の遅滞を防ぐことができ、作業効率の高いロボット、ロボットの制御装置、制御方法、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
前記目的を達成するために、本発明は以下のように構成する。
【００１２】
本発明の１つの態様によれば、多関節ロボットアームと、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を取得する操作力取得部と、
前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置と、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで前記駆動装置の駆動期間を異ならせるように制御する駆動装置制御部と、
を有するロボットを提供する。
【００１３】
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより実現してもよい。
【発明の効果】
【００１４】
本発明の前記態様のロボット、ロボットの制御装置、制御方法、及び制御プログラムによれば、インピーダンス制御部と駆動装置制御部とを有し、駆動装置制御部が、前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで前記駆動装置の駆動期間を異ならせるように制御するようにしている。。このため、吸着動作又は載置動作など精密な位置制御による操作性の良さが必要とされる作業（精密作業）を行う領域では、駆動装置制御部により駆動装置を駆動制御して、ロボットアームの手先部に対する操作力取得部の相対的位置を固定することで、操作力取得部とロボットアームの手先部との動きが同じになるため、直感的に分かりやすく、操作性良く動作できるようになる。
【００１５】
また、搬送など移動のみを行い、操作性の精度がそれ程必要とされない作業（粗作業）の領域では、駆動装置制御部により駆動装置を駆動制御して、ロボットアームの手先部に対する操作力取得部の相対的位置を変化させ、ロボットアームの手先部の移動量に対して操作力取得部の移動量を小さくできるようになる。
【００１６】
従って、前記態様によれば、作業領域が広い場合であっても、人は、操作力取得部の一部である操作ハンドルを操作するために無理な姿勢をすることがなく、かつ、操作性の精度が必要とされるところでは精度良く動作させることができ、操作性が良くなる。また、操作ミスによる作業の遅滞を防ぐことができ、作業効率も高くすることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の第１実施形態におけるロボットの全体構成を示す図
【図２】本発明の第１実施形態におけるロボットのロボットアーム制御手段の構成を示すブロック図
【図３】本発明の第１実施形態におけるロボットによる人との協調搬送作業を説明する図
【図４】本発明の第１実施形態におけるロボットアーム制御手段の動作ステップを説明するフローチャート
【図５Ａ】本発明の第１実施形態におけるロボットアームによる作業を説明する図
【図５Ｂ】本発明の第１実施形態におけるロボットアームによる作業を説明する図
【図５Ｃ】本発明の第１実施形態におけるロボットアームによる作業を説明する図
【図５Ｄ】本発明の第１実施形態におけるロボットアームによる作業を説明する図
【図５Ｅ】本発明の第１実施形態におけるロボットアームによる作業を説明する図
【図５Ｆ】本発明の第１実施形態におけるロボットアームによる作業を説明する図
【図６Ａ】本発明の第１実施形態における作業領域及び操作領域を説明する図
【図６Ｂ】本発明の第１実施形態におけるロボットアームの手先位置の高さと操作ハンドルの相対位置の関係について説明する図
【図７】本発明の第２実施形態におけるロボットのロボットアーム制御手段の構成を示すブロック図
【図８】本発明の第３実施形態におけるロボットのロボットアームの構成を示す図
【図９Ａ】本発明の第３実施形態におけるロボットアームによる作業を説明する図
【図９Ｂ】本発明の第３実施形態におけるロボットアームによる作業を説明する図
【図９Ｃ】本発明の第３実施形態におけるロボットアームによる作業を説明する図
【発明を実施するための形態】
【００１８】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００１９】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００２０】
本発明の第１の態様によれば、多関節ロボットアームと、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を取得する操作力取得部と、
前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置と、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで前記駆動装置の駆動期間を異ならせるように制御する駆動装置制御部と、
を有するロボットを提供する。
【００２１】
本発明の前記態様によれば、インピーダンス制御部と駆動装置制御部とを有し、駆動装置制御部が、前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで前記駆動装置の駆動期間を異ならせるように制御するようにしている。。このため、吸着動作又は載置動作など精密な位置制御による操作性の良さが必要とされる作業（精密作業）を行う領域では、駆動装置制御部により駆動装置を駆動制御して、ロボットアームの手先部に対する操作力取得部の相対的位置を固定することで、操作力取得部とロボットアームの手先部との動きが同じになるため、直感的に分かりやすく、操作性良く動作できるようになる。
【００２２】
また、搬送など移動のみを行い、操作性の精度がそれ程必要とされない作業（粗作業）の領域では、駆動装置制御部により駆動装置を駆動制御して、ロボットアームの手先部に対する操作力取得部の相対的位置を変化させ、ロボットアームの手先部の移動量に対して操作力取得部の移動量を小さくできるようになる。
【００２３】
従って、前記態様によれば、作業領域が広い場合であっても、人は、操作力取得部の一部である操作ハンドルを操作するために無理な姿勢をすることがなく、かつ、操作性の精度が必要とされるところでは精度良く動作させることができ、操作性が良くなる。また、操作ミスによる作業の遅滞を防ぐことができ、作業効率も高くすることができる。
【００２４】
本発明の第２の態様によれば、前記駆動装置制御部は、前記多関節ロボットアームの前記手先部の位置の属する領域により前記精密作業と前記粗作業とに予め分類された情報に基づいて、前記駆動装置の前記駆動期間を異ならせるように制御する第１の態様に記載のロボットを提供する。
【００２５】
本発明の前記態様によれば、手先位置に基づいて精密作業と粗作業を判断するため、確実な判断が可能となり、安定した作業が実現する。
【００２６】
本発明の第３の態様によれば、前記駆動装置制御部は、前記多関節ロボットアームの前記手先部の手先速度ベクトルにより前記精密作業と前記粗作業とに予め分類された情報に基づいて、前記駆動装置の前記駆動期間を異ならせるように制御する第１の態様に記載のロボットを提供する。
【００２７】
本発明の前記態様によれば、手先速度に基づいて精密作業と粗作業を判断するため、迅速な判断が可能となり、効率的な作業が実現する。
【００２８】
本発明の第４の態様によれば、前記駆動装置制御部は、前記多関節ロボットアームの前記手先部で物体の把持状態により前記精密作業と前記粗作業とに予め分類された情報に基づいて、前記駆動装置の前記駆動期間を異ならせるように制御する第１の態様に記載のロボットを提供する。
【００２９】
本発明の前記態様によれば、把持状態に基づいて精密作業と粗作業を判断するため、把持完了など作業の進捗状態に応じた判断が可能となり、確実な作業が実現する。
【００３０】
本発明の第５の態様によれば、前記駆動装置制御部は、前記精密作業実行時には、前記駆動装置の駆動を停止して、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対位置を固定し、前記粗作業実行時には、前記駆動装置の駆動を行って、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対位置を移動させることにより、前記駆動期間を異ならせるように制御する第１〜４のいずれか１つの態様に記載のロボットを提供する。
【００３１】
本発明の前記態様によれば、精密作業実行時に操作力取得部とロボットアームの手先部との動きが同じになるため、直感的に分かりやすく、操作性良く動作できるようになる。また、粗作業実行時に前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対位置を移動させることにより、精密作業実行時の操作性を劣化させることなく広い作業領域を実現できる。
【００３２】
本発明の第６の態様によれば、前記駆動装置制御部は、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対的な動きは、前記多関節ロボットアームの前記手先部の動きとは逆方向に動かすような移動である第５の態様に記載のロボットを提供する。
【００３３】
本発明の前記態様によれば、前記操作力取得部の移動量が小さくても、前記多関節ロボットアームの前記手先部の移動量を大きくすることができる。
【００３４】
本発明の第７の態様によれば、前記駆動装置制御部は、前記多関節ロボットアームの前記手先部の動作速度に比例して、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対移動速度を制御する第５の態様に記載のロボットを提供する。
【００３５】
本発明の前記態様によれば、操作ハンドルにかける力の大きさで、駆動装置の動作速度を制御することができ、作業を急ぎたいときに駆動装置の動作速度を容易に速めることができ、作業効率を上げることが可能となる。
【００３６】
本発明の第８の態様によれば、前記インピーダンス制御部は、前記駆動装置が前記操作力取得部を駆動する際に、前記操作力取得部の前記多関節ロボットアームの前記手先部に対する相対加速度を打ち消すように前記多関節ロボットアームの前記手先部を加速するよう制御する第５の態様に記載のロボットを提供する。
【００３７】
本発明の前記態様によれば、駆動装置を駆動することによる操作感の劣化を、緩和することができる。
【００３８】
本発明の第９の態様によれば、多関節ロボットアームの制御装置であって、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を取得する操作力取得部と、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで、前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置の駆動期間を異ならせるように制御する駆動装置制御部とを備えて、
前記多関節ロボットアームの動作を制御するロボットの制御装置を提供する。
【００３９】
本発明の第１０の態様によれば、多関節ロボットアームの制御方法であって、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を操作力取得部で取得し、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御部でインピーダンス制御し、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで、前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置の駆動期間を駆動装置制御部で変化させて、
前記多関節ロボットアームの動作を制御するロボットの制御方法を提供する。
【００４０】
本発明の第１１の態様によれば、多関節ロボットアームの制御プログラムであって、
コンピュータに、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を取得する操作力取得部と、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで、前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置の駆動期間を異ならせるように制御する駆動装置制御部として機能させて、
前記多関節ロボットアームの動作を制御する、ロボットの制御プログラムを提供する。
【００４１】
本発明の前記第９〜第１１の態様によれば、インピーダンス制御部と駆動装置制御部とを有し、駆動装置制御部が、前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで前記駆動装置の駆動期間を異ならせるように制御するようにしている。このため、吸着動作又は載置動作など精密な位置制御による操作性の良さが必要とされる作業（精密作業）を行う領域では、駆動装置制御部により駆動装置を駆動制御して、ロボットアームの手先部に対する操作力取得部の相対的位置を固定することで、操作力取得部とロボットアームの手先部との動きが同じになるため、直感的に分かりやすく、操作性良く動作できるようになる。
【００４２】
また、搬送など移動のみを行いい、操作性の精度がそれ程必要とされない作業（粗作業）の領域では、駆動装置制御部により駆動装置を駆動制御して、ロボットアームの手先部に対する操作力取得部の相対的位置を変化させ、ロボットアームの手先部の移動量に対して操作力取得部の移動量を小さくできるようになる。
【００４３】
従って、前記第９〜第１１の態様によれば、作業領域が広い場合であっても、人は、操作力取得部の一部である操作ハンドルを操作するために無理な姿勢をすることがなく、かつ、操作性の精度が必要とされるところでは精度良く動作させることができ、操作性が良くなる。また、操作ミスによる作業の遅滞を防ぐことができ、作業効率も高くすることができる。
【００４４】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００４５】
（第１実施形態）
図１は、本発明の第１実施形態におけるロボット１の構成を示す。ロボット１は、多関節ロボットアーム５と、多関節ロボットアーム５の動作を制御する制御装置２とを備えている。
【００４６】
制御装置２は、ハードウェア的には一般的なパーソナルコンピュータにより構成されている。そして、制御装置２のうちのインピーダンス制御手段（インピーダンス制御部）４の入出力ＩＦ１９を除く部分は、パーソナルコンピュータで実行される制御プログラム１７としてソフトウェア的に実現される。よって、例えば、それぞれの動作を構成するステップを有するコンピュータプログラムとして、記憶装置（ハードディスク等）などの記録媒体に読み取り可能に記憶させ、そのコンピュータプログラムをコンピュータの一時記憶装置（半導体メモリ等）に読み込んでＣＰＵを用いて実行することにより、前記した各ステップを実行することができる。
【００４７】
入出力ＩＦ１９は、パーソナルコンピュータのＰＣＩバスなどの拡張スロットルに接続された、Ｄ／Ａボード２０と、Ａ／Ｄボード２１と、カウンタボード２２とにより構成される。
【００４８】
ロボット１の多関節ロボットアーム５の動作を制御するための制御プログラム１７が実行されることにより、制御装置２が機能する。
【００４９】
ロボットアーム５の各関節（第１〜第４関節）１１、１２（１２ａ，１２ｂ，１２ｃ，１２ｄ）、１３、１４の関節角度センサー又は位置情報取得手段の一例である各エンコーダ４２より出力される関節角度情報は、カウンタボード２２を通じて制御装置２にそれぞれ取り込まれる。制御装置２は、取り込んだ関節角度情報に基づいて、各関節１１、１２、１３、１４における関節軸周りの回転動作の制御指令値をそれぞれ算出する。算出された各制御指令値は、Ｄ／Ａボード２０を通じてモータドライバ１８に与えられ、モータドライバ１８から送られた各制御指令値に従って、ロボットアーム５の各関節１１、１２、１３、１４のそれぞれのモータ４１が駆動される。後述する位置情報取得手段は、ロボットアーム５の位置の時系列の情報を取得する機能を有している。
【００５０】
ロボットアーム５は、４自由度の多リンクマニピュレータであり、物体を把持するためのハンド（多関節ロボットアーム５の手先部の一例）６と、吊り下げリンク３１と、前腕リンク８と、肘ブロック１６と、一対の上腕リンク９ａ、９ｂと、第１関節支柱２４と、台部１０とを有して構成されている。
【００５１】
棒状の前腕リンク８は、先端に、ハンド６が下端に取付けられた棒状の吊り下げリンク３１の上端が、第４関節１４の関節軸周りに回転可能に接続されている。
【００５２】
Ｃ字状の肘ブロック１６の先端には、前腕リンク８の基端が第３関節１３の関節軸周りに回転可能に連結されている。
【００５３】
一対の棒状の上腕リンク９ａ、９ｂは、それらの各一端が、肘ブロック１６の基端にそれぞれ第２関節１２のうちの２つの関節１２ｃ、１２ｄの関節軸周りに回転可能に接続された平行リンク構造で構成されている。
【００５４】
棒状の第１関節支柱２４は、台部１０と支持部材４５とで、上下方向沿いに位置しかつ第１関節１１の関節軸周りに回転可能に支持されている。第１関節支柱２４の上端近傍部には、上腕リンク９ａ、９ｂの各他端がそれぞれ第２関節１２のうちの２つの関節１２ａ、１２ｂの関節軸周りに回転可能に接続されている。詳しくは、第１関節支柱２４の下端は、台部１０に第１関節１１の関節軸周りに回転可能に支持され、第１関節支柱２４の上端は、台部１０に立設された支持部材４５の支持部４５ｂの上端から張り出した支持部材４５の上端支持部４５ｃに第１関節１１の関節軸周りに回転可能に支持されている。
【００５５】
第２関節１２（１２ａ、１２ｂ、１２ｃ、１２ｄ）の関節軸周りでの回転により、第３関節１３の関節軸が第１関節１１の関節軸に対し常に平行を保つように、肘ブロック１６が第２関節１２ａ及び第２関節１２ｂ周りの回転運動を行うようにしている。
【００５６】
このように構成することにより、ロボットアーム５は、合計４個の軸周りに回転可能として前記４自由度の多リンクマニピュレータを構成している。
【００５７】
ロボットアーム５の手先には、ハンド６すなわち吸着ハンド６が取り付けられている。吸着ハンド６は、図示しない真空ポンプにより吸着を行うことにより、物体の表面に吸い付き、物体が把持される。なお、吸着ハンド６の代わりに、機構的なチャックにより物体を把持するようにしてもよい。
【００５８】
各軸の回転部分を構成する各関節１１、１２、１３、１４には、各関節１１、１２、１３、１４の一方の部材に設けられた回転駆動装置（本第１実施形態では、一例としてモータ４１）と、モータ４１の回転軸の回転位相角（すなわち関節角）を検出する回転位相角検出装置（本第１実施形態では、一例としてエンコーダ４２）とを備える。そして、モータ４１の回転軸が関節の他方の部材に連結されて前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各関節軸周りに回転可能とする。回転駆動装置は、後述するモータドライバ１８により駆動制御される。本第１実施形態では、回転駆動装置の一例としてのモータ４１と回転位相角検出装置の一例としてのエンコーダ４２とは、ロボットアーム５の各関節１１、１２、１３、１４の内部に配設されている。
【００５９】
図１の参照符号３５は、台部１０に対して相対的な位置関係が固定された絶対座標系であり、参照符号３６は、吸着ハンド６に対して相対的な位置関係が固定された手先座標系である。絶対座標系３５から見た手先座標系３６の原点位置Ｏｅ（ｘ、ｙ、ｚ）をロボットアーム５の手先位置とする。絶対座標系３５から見た手先座標系３６の姿勢をφをロボットアーム５の吸着ハンド６の手先姿勢とする。よって、吸着ハンド６の手先位置及び姿勢ベクトルｒを、ｒ＝［ｘ，ｙ，ｚ，φ］Ｔと定義する。厳密には、位置及び姿勢ベクトルｒは時系列情報（時間関数）ｒ（ｔ）＝［ｘ（ｔ），ｙ（ｔ），ｚ（ｔ），φ（ｔ）］Ｔであり、一階微分すれば速度が取得でき、二階微分すれば加速度情報が取得できる。
【００６０】
なお、この第１実施形態では、ロボットアーム５の位置の時系列の情報を取得する位置情報取得手段の一例として、回転位相角検出装置、従って、その一例としてのエンコーダ４２を使用している。この場合は、エンコーダ４２のセンシングした信号が位置に関する一次情報であることから、エンコーダ４２を位置情報取得手段の一例として取り扱うものであって、位置情報取得手段で取得した位置の情報に対して、ロボットアーム制御手段４側で、一階微分して速度の情報を取得し、二階微分して加速度の情報を取得するようにしてもよい。また、位置情報取得手段を、ロボットアーム５の位置の時系列の情報のみならず、速度の情報又は加速度の情報を取得する手段として取り扱う場合には、エンコーダ４２でセンシングし、カウンタ２２でロボットアーム制御手段４に取込み、制御プログラム１７で関節角度ｑに変換し、順運動学計算手段２６で位置及び姿勢に変換するところまでを含めて、１つの手段として考えればよい。
【００６１】
ロボットアーム５のハンド６の手先位置及び姿勢を制御する場合には、手先位置及び姿勢ベクトルｒを目標手先位置及び姿勢ベクトルｒｄに追従させることになる。
【００６２】
吊り下げリンク３１には、操作力取得部駆動機構（又は、駆動装置）の一例であるリニアアクチュエータ７が配設されている。リニアアクチュエータ７には、操作力センサー３を介して操作ハンドル４０が配設されている。リニアアクチュエータ７は、吊り下げリンク３１に固定され吊り下げリンク３１の長手方向沿いに長尺な固定部７ａに対して、操作力センサー３を介して操作ハンドル４０が取り付けられた可動部７ｂが、長溝沿いに、直線的に上下動するように構成されている。操作力センサー３と操作ハンドル４０とは、両方一体で操作力取得部の一例としての役割を果たしており、リニアアクチュエータ７を駆動することにより、可動部７ｂが固定部７ａに対して上下動して、操作ハンドル４０の吊り下げリンク３１に対する相対的な上下位置を変更することが可能である。すなわち、リニアアクチュエータ７により、操作ハンドル４０と操作力センサー３とを吊り下げリンク３１に対して相対的に移動可能としている。
【００６３】
操作ハンドル４０の近傍には、吸着スイッチ２０１が配置され、人３９が吸着スイッチ２０１をオンすることにより、吸着ハンド６での吸着動作を開始し、吸着スイッチ２０１をオフすることにより、吸着ハンド６での吸着動作を停止する。
【００６４】
また、操作ハンドル４０は、操作力取得部の一部として機能する操作力センサー３に、中央部が固定された棒状構造であり、人３９は、操作ハンドル４０の一対の握り部４０ａを直接握り、力をかけることでロボットアーム５を操作することができる。操作ハンドル４０とロボットアーム５との間には操作力センサー３が配設されており、人３９が操作するときの操作力Ｆｍｓを操作力センサー３で検出して、操作力センサー３から、後述する力変換手段（力変換部）３０へ操作力Ｆｍｓを出力することができる。
【００６５】
次に、図２を使い、ロボットアーム制御手段４の詳細について説明する。図２において、参照符号５は図１に示したロボットアームである。
【００６６】
ロボットアーム制御手段４は、少なくとも、インピーダンス制御部３７と、駆動装置制御部の一例としての作業精度対応操作ハンドル駆動制御手段３２とを備えて構成している。インピーダンス制御部３７は、操作力取得部（一例として、操作力センサー３と操作ハンドル４０）が取得した操作力及び設定されたインピーダンスパラメータに基づき多関節ロボットアーム５をインピーダンス制御する。作業精度対応操作ハンドル駆動制御手段３２は、多関節ロボットアーム５により行う作業を多関節ロボットアーム５の手先部６の位置及び姿勢あるいは多関節ロボットアーム５にかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで駆動装置の一例としてのリニアアクチュエータ７の駆動期間を異ならせるように（例えば、リニアアクチュエータ７を駆動するように、又は、リニアアクチュエータ７を駆動しないように）制御している。
【００６７】
より詳しくは、ロボットアーム制御手段４は、目標軌道生成手段（目標軌道生成部）２３と、補正目標軌道計算部４３と、位置誤差計算部４４と、位置誤差補償手段２７と、ダイナミクス制御２８と、トルク制御手段３４と、順運動学計算手段（順運動学計算部）２６と、インピーダンス計算手段２５と、力変換手段（力変換部）３０と、作業精度対応操作ハンドル駆動制御手段３２とを備えるように構成している。このうち、位置誤差計算部４４と、位置誤差補償手段２７と、ダイナミクス制御２８と、トルク制御手段３４と、順運動学計算手段（順運動学計算部）２６とで、図２で点線で囲まれた位置制御系２９を構成している。この位置制御系２９と、目標軌道生成手段（目標軌道生成部）２３と、補正目標軌道計算部４３と、インピーダンス計算手段２５とで、図２で一点鎖線で囲まれたインピーダンス制御系（インピーダンス制御部）３７を構成している。
【００６８】
ロボットアーム５からは、各関節の関節軸のエンコーダ４２により計測された関節角の現在値（関節角度ベクトル）ｑ＝［ｑ１，ｑ２，ｑ３，ｑ４］Ｔが出力され、カウンタボード２２によりインピーダンス制御系３７に取り込まれる。ただし、ｑ１，ｑ２，ｑ３，ｑ４は、それぞれ、第１関節１１、第２関節１２ａ、第３関節１３、第４関節１４の関節角度である。
【００６９】
また、ロボットアーム５の操作力センサー３からは、操作力センサー３により計測された操作力である外力（計測値）Ｆｍｓ＝［ｆｘ，ｆｙ，ｆｚ，ｎｘ，ｎｙ，ｎｚ］Ｔが出力され、Ａ／Ｄボード２１によりインピーダンス制御手段４に取り込まれる。ここで、ｆｘ，ｆｙ，ｆｚは手先座標系３６の互いに直交する３方向（ｘ軸、ｙ軸、ｚ軸方向）の方向別の力の成分である。また、ｎｘ、ｎｙ，ｎｚは手先座標系３６の互いに直交する３方向まわりの回転モーメントである。
【００７０】
目標軌道生成手段（目標軌道生成部）２３は、後述する順運動学計算手段２６からの手先位置及び姿勢ベクトルｒに基づき、目標とするロボットアーム５の動作を実現するための手先位置及び姿勢目標ベクトルｒｄを出力する。目標とするロボットアーム５の動作は、目的とする作業に応じて、事前に、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイント毎の位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）が時系列データとして与えられている。目標軌道生成手段２３は、手先位置及び姿勢ベクトルｒに基づき、多項式補間を使用し、各ポイント間の軌道を補完し、手先位置及び姿勢目標ベクトルｒｄを生成して、補正目標軌道計算部４３に出力する。
【００７１】
インピーダンス計算手段（インピーダンス計算部）２５は、ロボットアーム５に機械インピーダンス設定値へのロボットアーム５の機械インピーダンスの値の制御を実現する機能を果たす部分である。インピーダンス計算手段２５は、ロボットアーム５が目標軌道生成手段２３の生成する目標軌道に沿うよう位置制御により単独で動作する場合は、後述する力変換手段（力変換部）３０から入力される変換操作力Ｆｍに関わらず０を補正目標軌道計算部４３に出力する。一方、ロボットアーム５と人間とが協働作業をする場合には、インピーダンス計算手段２５は、インピーダンス計算手段２５で設定したインピーダンスパラメータＭＩ、ＤＩ、及び、ＫＩ（慣性ＭＩ、粘性ＤＩ、及び、剛性ＫＩ）と、後述する力変換手段（力変換部）３０から入力される変換操作力Ｆｍと、により、ロボットアーム５に機械インピーダンスを実現するための手先位置及び姿勢目標補正出力Δｒｄを以下の式（１）により計算して、補正目標軌道計算部４３に出力する。
【００７２】
手先位置及び姿勢目標補正出力Δｒｄは、目標軌道生成手段２３の出力する手先位置及び姿勢目標ｒｄに補正目標軌道計算部４３で加算され、手先位置及び姿勢補正目標ベクトルｒｄｍが生成されて、位置誤差計算部４４に出力される。ただし、ｎφは第４関節軸回りの回転モーメントである。
【００７３】
【数１】
2014155985.tif 000003
ただし、
【００７４】
【数２】
2014155985.tif 000004
【００７５】
【数３】
2014155985.tif 000005
【００７６】
【数４】
2014155985.tif 000006
であり、ｓはラプラス演算子である。
【００７７】
また、順運動学計算手段（順運動学計算部）２６には、ロボットアーム５のそれぞれの関節軸のエンコーダ４２から出力された各関節角の現在値ｑである関節角度ベクトルｑがカウンタボード２２を介して入力される。順運動学計算手段２６では、ロボットアーム５の関節角度ベクトルｑから手先位置及び姿勢ベクトルｒへの変換の幾何学的計算を行う。計算の結果、求められた手先位置及び姿勢ベクトルｒは、順運動学計算手段２６から目標軌道生成手段２３と位置誤差計算部４４と作業精度対応操作ハンドル駆動制御手段３２とに出力される。
【００７８】
位置誤差計算部４４は、順運動学計算手段２６により計算される手先位置及び姿勢ベクトルｒと、補正目標軌道計算部４３で生成された手先位置及び姿勢補正目標ベクトルｒｄｍとの誤差ｒｅを求め、求めた誤差ｒｅを位置誤差補償手段（位置誤差補償部）２７に出力する。
【００７９】
位置誤差補償手段２７は、位置誤差計算部４４で求められた誤差ｒｅに基づいて位置誤差補償出力ｕｒｅを求め、求めた位置誤差補償出力ｕｒｅをダイナミクス制御手段２８に出力する。
【００８０】
ダイナミクス制御２８は、エンコーダ４２からの関節角度ベクトルｑと、位置誤差補償手段２７からの位置誤差補償出力ｕｒｅと、ロボットアームの運動方程式に基づく計算式（５）、すなわち、
【００８１】
【数５】
2014155985.tif 000007
とを用いて、ロボットアーム５の手先位置誤差を補償するための手先位置誤差補償トルク（目標トルク）τｄを計算して出力する。ただし、Ｍ（ｑ）は慣性行列（慣性力項）であり、
【００８２】
【数６】
2014155985.tif 000008
は遠心力・コリオリ力項であり、ｇ（ｑ）は重力項であり、これらは、ロボットアーム５を構成する各リンク構造、ハンド６で把持した物体４８の重量、及び、慣性モーメントといった値により構成されるダイナミクスパラメータである。なお、遠心力・コリオリ力項は任意であり、少なくとも慣性行列（慣性力項）と重力項とでダイナミクスパラメータを構成する。また、Ｊｒ（ｑ）は式（７）、すなわち、
【００８３】
【数７】
2014155985.tif 000009
の関係を満たすヤコビ行列である。また、重力項ｑ（ｑ）はロボットアーム５の重力項ｇａ（ｑ）と物体４８の重力項ｇｏ（ｑ）との和である。
【００８４】
トルク制御手段３４は、ダイナミクス制御手段２８で求められた目標トルクτｄが入力され、この目標トルクτｄと各関節を駆動するモータドライバ１８で検出されたモータ４１に流れる電流ｉとに基づいて式（８）、すなわち、
【００８５】
【数８】
2014155985.tif 000010
を用いて、モータドライバ１８への電圧指令値ｖを計算する。ただし、Ｋτはトルク制御のゲイン、ＫＭはトルク定数である。
【００８６】
電圧指令値ｖは、トルク制御手段３４からＤ／Ａボード２０を介してモータドライバ１８に電圧指令値として与えられ、モータドライバ１８でそれぞれのモータ４１が駆動されて、各関節軸が正逆回転駆動されてロボットアーム５が動作する。
【００８７】
作業精度対応操作ハンドル駆動制御手段３２は、順運動学計算手段２６からロボットアーム５の手先位置及び姿勢ベクトルｒが入力され、ロボットアーム５の手先位置及び姿勢情報（手先位置及び姿勢ベクトルｒ）に基づき、現在（制御動作時に）行っている作業が精度を必要とする作業か又は精度を必要としない作業かを判断する。そして、作業精度対応操作ハンドル駆動制御手段３２は、判断結果に基づき、リニアアクチュエータ７に対する駆動指令ｖｈをモータドライバ１８に出力して、駆動指令ｖｈに基づきモータドライバ１８を介してリニアアクチュエータ７のアクチュエータ本体（例えばモータ４１ｂの駆動期間を異ならせて制御している。すなわち、アクチュエータ本体を駆動して、操作ハンドル４０と吊り下げリンク３１との相対的な上下位置関係を変化させる。リニアアクチュエータ本体がモータ４１ｂの場合には、角度センサー又は位置情報取得手段の一例であるエンコーダ４２ｂからの出力情報に基づきモータ４１ｂを制御している。
【００８８】
以上のように構成されるロボットアーム制御手段４の基本構成に関して動作の基本原理を説明する。
【００８９】
動作の基本は、位置誤差補償手段２７による手先位置及び姿勢誤差ｒｅのフィードバック制御（位置制御）であり、図２の点線で囲まれた部分が位置制御系２９になっている。位置誤差補償手段２７として、例えば、ＰＩＤ補償器を使用すれば、手先位置及び姿勢誤差ｒｅが０に収束するように制御が働き、目標とするロボットアーム５のインピーダンス制御動作を実現することができる。
【００９０】
インピーダンス制御を行う場合、前記説明した位置制御系２９に対し、インピーダンス計算手段２５から出力された手先位置及び姿勢目標補正出力Δｒｄが、目標軌道生成手段２３から出力された手先位置及び姿勢目標ｒｄに補正目標軌道計算部４３で加算されて、手先位置及び姿勢の目標値の補正が行われ、この補正された手先位置及び姿勢の目標値が手先位置及び姿勢補正目標ベクトルｒｄｍとして入力される。このために、前記した位置制御系２９は、手先位置及び姿勢の目標値が本来の値より微妙にずれることになり、結果的に機械インピーダンスが実現される。
【００９１】
以上の図２の一点鎖線で囲まれた部分は、位置制御ベースのインピーダンス制御系３７と呼ばれる構成であり、このインピーダンス制御系３７により、慣性ＭＩ、粘性ＤＩ、及び、剛性ＫＩの機械インピーダンスが実現される。ロボットアーム制御手段４は、制御手段（制御部）（又は動作制御手段、又は動作制御部）の一例として機能する。
【００９２】
以上のインピーダンス制御を利用すれば、図３に示すような、人３９とロボット１のロボットアーム５との物体４８の協調搬送のような協働作業が可能となる。人３９が物体４８を移動しようとして、操作ハンドル４０の棒状握り部４０ａに両手で力をかけると、操作ハンドル４０を通じて力がロボット１のロボットアーム５に伝わる。前記ロボットアーム５に伝わった力が、ロボットアーム５の操作力センサー３により、操作力Ｆｍｓとして検出される。ロボットアーム制御手段４への入力となる操作力Ｆｍｓは、操作ハンドル４０の重力を考慮するとともに、手先座標系３６の原点Ｏｅと操作力センサー３の測定面４７の位置とが異なることを考慮するため、力変換手段３０において、操作力センサー３により検出された操作力Ｆｍｓを基に式（９）で計算を行い、この計算により算出される変換操作力Ｆｍをインピーダンス計算手段２５で使用する。
【００９３】
【数９】
2014155985.tif 000011
【００９４】
ただし、ｍは操作ハンドル４０の質量、ｇは重力加速度、０Ｒｅは手先座標系３６から絶対座標系３５へ姿勢を変換する回転行列、ｌｓは操作力センサー３の測定面４７から第４関節１４の関節軸までの距離（垂線長さ）である。式（９）で計算される変換操作力Ｆｍを入力にインピーダンス制御系３７でインピーダンス制御を行えば、ロボットアーム５は人３９がかけた力の方向に沿うように動作するため、協調搬送が実現する。なお、操作ハンドル４０の質量ｍ、及び、重力加速度ｇは、力変換手段３０に予め記憶されている。
【００９５】
図４は、上述した原理に基づく制御プログラム１７によるロボットアーム制御時の動作ステップを説明するフローチャートである。
【００９６】
ステップＳ１では、ロボットアーム５の動作制御を行うとき、ロボットアーム５の各関節の関節軸のそれぞれのエンコーダ４２により計測された関節角度データ（関節角度ベクトルｑ）が制御装置２に取り込まれる。
【００９７】
次いで、ステップＳ２では、ロボットアーム５からの関節角度データ（関節角度ベクトルｑ）から、ロボットアーム５の現在（ロボットアーム５の動作制御を行うとき）の手先位置及び姿勢ベクトルｒが順運動学計算手段２６により計算される（順運動学計算手段２６での処理）。
【００９８】
次いで、ステップＳ３では、操作力センサー３の計測値である操作力Ｆｍｓが力変換手段３０に取り込まれ、操作力Ｆｍｓと式（９）とに基づき、変換操作力Ｆｍが力変換手段３０で計算される。この結果、操作力センサー３の計測値である操作力Ｆｍｓが変換操作力Ｆｍに力変換手段３０で変換される。
【００９９】
次いで、ステップＳ４では、インピーダンスパラメータＭＩ、ＤＩ、及び、ＫＩと、力変換手段３０において変換された変換操作力Ｆｍとから、手先位置及び姿勢目標補正出力Δｒｄが、インピーダンス計算手段２５により計算される（インピーダンス計算手段２５での処理）。
【０１００】
次いで、ステップＳ５では、目標軌道生成手段２３からの手先位置及び姿勢目標ベクトルｒｄとインピーダンス計算手段２５からの手先位置及び姿勢目標補正出力Δｒｄとの和が補正目標軌道計算部４３で計算される。補正目標軌道計算部４３で計算されて求められた手先位置及び姿勢補正目標ベクトルｒｄｍと、順運動学計算手段２６からの現在の手先位置及び姿勢ベクトルｒとの差である手先位置及び姿勢の誤差ｒｅが、位置誤差計算部４４で計算される。
【０１０１】
次いで、ステップＳ６では、位置誤差計算部４４で計算されて求められた手先位置及び姿勢の誤差ｒｅが位置誤差補償手段２７に入力されて、位置誤差補償手段２７において、位置誤差補償出力ｕｒｅが求められる（位置誤差補償手段２７での処理）。位置誤差補償手段２７の具体例としてはＰＩＤ補償器が考えられる。位置誤差補償手段２７では、定数の対角行列である比例、微分、積分の３つのゲインを適切に調整することにより、位置誤差が０に収束するように制御が働く。
【０１０２】
次いで、ステップＳ７では、ダイナミクス制御手段２８において、位置誤差補償手段２７から位置誤差補償出力ｕｒｅが入力されて、関節角度ベクトルｑとダイナミクスパラメータとに基づき、式（５）を使って目標トルクτｄが計算される（ダイナミクス制御手段２８での処理）。
【０１０３】
次いで、ステップＳ８では、ダイナミクス制御手段２８で計算された目標トルクτｄとモータ４１に流れる電流ｉがトルク制御手段３４に入力されて、式（８）を使って電圧指令値ｖが計算される（トルク制御手段３４での処理）。
【０１０４】
次いで、ステップＳ９では、電圧指令値ｖが、トルク制御手段３４からＤ／Ａボード２０を通じてモータドライバ１８に与えられ、モータドライバ１８により、各モータ４１を流れる電流量を変化させることにより、ロボットアーム５の各関節の関節軸の回転運動が発生する。
【０１０５】
以上のステップＳ１〜ステップＳ９が、制御の計算ループとして繰り返し実行されることにより、ロボットアーム５の動作の制御が実現する。
【０１０６】
前記ロボットアーム５の動作の制御に加え、作業精度対応操作ハンドル駆動制御手段３２を備え、操作ハンドル４０と吊り下げリンク３１との相対的位置を制御できることが、第１実施形態の特徴である。以下、図５Ａ〜図５Ｆを用いて、まず、作業の概要について説明したのち、操作ハンドル駆動制御手段３２による動作を詳細に説明する。
【０１０７】
図５Ａ〜図５Ｆは、ロボットアーム５により、床面２００に置かれた物体４８を把持して棚２０２の上に持ち上げて、棚２０２の天面２０２ａに載置する作業を示している。
【０１０８】
まず、人３９が、操作ハンドル４０の一対の握り部４０ａを直接握り、下向きに力をかけてロボットアーム５を操作することにより、吸着ハンド６を、床面２００に置かれた物体４８上に下降させて、吸着ハンド６と物体４８とを接触させる。そして、人３９が吸着スイッチ２０１をオンすることにより、床面２００に置かれた物体４８を吸着ハンド６で吸着することで把持（図５Ａ参照）する。これらは把持作業である。
【０１０９】
その後、人３９が、一対の握り部４０ａを握ったまま、上向きに力をかけてロボットアーム５を操作することにより、物体４８を吸着ハンド６で吸着したまま、吸着ハンド６及び物体４８が棚２０２の高さよりも上方の位置まで移動する（図５Ｂ及び図５Ｃ参照）。これらは上昇作業である。
【０１１０】
次いで、人３９が、一対の握り部４０ａに横向きに力をかけてロボットアーム５を操作することにより、棚２０２の上方に、吸着ハンド６及び物体４８を位置させる（図５Ｄ参照）。その後、人３９が、一対の握り部４０ａに下向きに力をかけてロボットアーム５を操作することにより、吸着ハンド６を下方へ移動して、吸着ハンド６で吸着した物体４８を棚２０２の上に載置する。そして、人３９が吸着スイッチ２０１をオフすることにより、吸着ハンド６による物体４８の吸着動作を開放する。その後、人３９が、一対の握り部４０ａに上向きに力をかけてロボットアーム５を操作することにより、吸着ハンド６を上昇させて、吸着ハンド６を物体４８から離す。そして、一対の握り部４０ａに横向きに力をかけて吸着ハンド６を横方向に移動させる。これらは載置作業である。
【０１１１】
その後、一対の握り部４０ａに下向きに力をかけて吸着ハンド６を下降させて（図５Ｅ及び図５Ｆ参照）、次の作業に入る。これは下降作業である。
【０１１２】
作業精度対応操作ハンドル駆動制御手段３２では、これらの複数の作業を、精度の必要な作業（精密作業）と精度の不要な作業（粗作業）との２つに分類する。具体的には、物体４８を吸着ハンド６で吸着することで把持する把持作業（図５Ａ参照）及び棚２０２の上に物体４８を載置する載置作業（図５Ｄ参照）は、吸着位置及び載置位置などへの吸着ハンド６の位置決め動作がそれぞれ必要なため、精度の必要な作業と定義する。
【０１１３】
一方、吸着ハンド６で把持した物体４８を上方に移動する上昇作業（図５Ｂ及び図５Ｃ参照）、吸着ハンド６を下方へ移動する下降作業（図５Ｅ及び図５Ｆ参照）は、単純な移動を行う動作であるため、精度の不要な作業と定義する。
【０１１４】
作業精度対応操作ハンドル駆動制御手段３２は、精度の必要な作業と精度の不要な作業との判断を、ロボットアーム５の手先位置及び姿勢情報（手先位置及び姿勢ベクトルｒ）すなわちロボットアーム５の手先位置のｚ成分、すなわち、絶対座標系３５から見た手先座標系３６の原点Ｏｅの位置のｚ成分であるｚｅの値、すなわち、手先位置の高さに基づいて判断する。具体的には、図５Ａ〜図５Ｆの中に示した、精度不要領域（粗作業領域又は精度不要作業領域）の下限高さｈＬ及び精度不要領域の上限高さｈＨとｚ成分ｚｅとを比較して、ｚｅ＜ｈＬ及びｚｅ＞ｈＨの場合、精度の必要な作業を実行中である（精度必要領域（精密作業領域又は精度必要作業領域）内である）と、作業精度対応操作ハンドル駆動制御手段３２で判断する。逆に、ｈＬ≦ｚｅ≦ｈＨの場合、精度の不要な作業を実行中である（精度不要領域内である）と、作業精度対応操作ハンドル駆動制御手段３２で判断する。
【０１１５】
このように手先位置の高さに基づけば、床面２００に置かれた物体４８を把持する作業は下方で行われ、棚２０２の上に物体４８を載置する作業は上方で行われるため、作業精度対応操作ハンドル駆動制御手段３２により、作業中の作業内容の把握が可能である。
【０１１６】
以上のような判断に基づき、作業精度対応操作ハンドル駆動制御手段３２は、ｚｅ＜ｈＬ及びｚｅ＞ｈＨの場合、操作ハンドル４０と吊り下げリンク３１との相対的位置を動かさず固定するように、リニアアクチュエータ７（実際は、モータドライバ１８）に駆動指令ｖｈを出力して、可動部７ｂが固定部７ａに対して移動しないようにする。逆に、ｈＬ≦ｚｅ≦ｈＨの場合、作業精度対応操作ハンドル駆動制御手段３２は、操作ハンドル４０と吊り下げリンク３１との相対的位置ＬＲＨ（図５Ｂに記載）を下記式（１０）に基づき求める。そして、作業精度対応操作ハンドル駆動制御手段３２は、求められた相対的位置ＬＲＨに基づき、リニアアクチュエータ７により駆動するように、リニアアクチュエータ７（実際は、モータドライバ１８）に駆動指令ｖｈを出力して、可動部７ｂが固定部７ａに対して移動する。
【０１１７】
【数１０】
2014155985.tif 000012
【０１１８】
ただし、ＬＵＤ（図５Ｂに記載）は、操作ハンドル４０の下限位置Ｄから上限位置Ｕまでの距離である。ＬＵＤ＝ＬＷＡ＝−ＬＨＤであり、図６Ａに示すように、ＬＷＡは作業領域の高さであり、ＬＨＤは操作領域の高さである。操作領域の高さＬＨＤは、人（操作者）３９が無理なく操作可能な範囲を設定すれば良く、例えば、操作者３９の身長×０．４５として決定する。
【０１１９】
次に、先の実際に作業を行う際のロボットアーム５の動作及びロボットアーム５の手先位置の高さｚｅと操作ハンドル４０の相対位置との関係について図５Ａ〜図５Ｆと図６Ｂとを用いて説明する。なお、一例として、上限高さｈＨは棚２０２の高さとし、下限高さｈＬはそれより十分に低い高さ(例えば、上限高さｈＨの半分程度)としている。
【０１２０】
まず、ステップＳＷ１（把持作業）では、図５Ａのように人３９が操作ハンドル４０によりロボットアーム５を操作することで、床面２００に置かれた物体４８に吸着ハンド６を接触させ、人３９が吸着スイッチ２０１をオンすることにより、吸着ハンド６で物体４８を吸着して把持する把持作業を行う。以後、吸着動作が開放されるまで吸着動作を継続して、吸着ハンド６での物体把持を維持する。この把持作業では、手先位置のｚ成分ｚｅが下限高さｈＬ以下であるため、作業精度対応操作ハンドル駆動制御手段３２は、順運動学計算手段２６からの手先位置及び姿勢ベクトルｒに基づき、精度の必要な作業であると判断している。よって、作業精度対応操作ハンドル駆動制御手段３２は、操作ハンドル４０と吊り下げリンク３１との相対的位置を動かさず固定するように、リニアアクチュエータ７（実際は、モータドライバ１８）に駆動指令ｖｈを出力して、可動部７ｂが固定部７ａに対して移動しないようにしている。言い換えれば、この把持作業の際には、リニアアクチュエータ７の可動部７ｂは、固定部７ａに対して矢印Ｕで示す上限の位置に固定されている。
【０１２１】
次いで、ステップＳＷ２（上昇作業）では、吸着ハンド６での物体４８の吸着による把持作業が完了したのち、吸着ハンド６で物体４８を棚２０２の高さより高い位置まで持ち上げるため、吸着ハンド６の上昇動作を行う。そして、手先位置のｚ成分ｚｅが下限高さｈＬを越えると、作業精度対応操作ハンドル駆動制御手段３２は、順運動学計算手段２６からの手先位置及び姿勢ベクトルｒに基づき、精度の不要な作業（この場合は上昇作業）に入ったと判断して、作業精度対応操作ハンドル駆動制御手段３２は、式（１０）に基づき相対的位置ＬＲＨを求める。作業精度対応操作ハンドル駆動制御手段３２は、求められた相対的位置ＬＲＨに基づき図５Ｂのようにリニアアクチュエータ７を駆動して可動部７ｂを固定部７ａに対して下降させる。この結果、操作ハンドル４０の吊り下げリンク３１に対する相対的な位置が矢印Ａに示すように吊り下げリンク３１から見て下方に移動し、図５Ｃのように、可動部７ｂが固定部７ａに対して下限位置まで移動することにより、操作ハンドル４０が下限位置Ｄまで移動する。ここでは、リニアアクチュエータ７による操作ハンドル４０の吊り下げリンク３１に対する相対的な位置の移動は、吸着ハンド６の上昇動作とは逆方向に、下降するような移動である。
【０１２２】
その後、手先位置のｚ成分ｚｅが上限高さｈＨを越えると、作業精度対応操作ハンドル駆動制御手段３２は、順運動学計算手段２６からの手先位置及び姿勢ベクトルｒに基づき、精度の必要な作業（この場合は載置作業）に入ったと判断して、操作ハンドル４０と吊り下げリンク３１との相対的位置を動かさず固定するように、可動部７ｂが固定部７ａに対して移動しないようにしている。
【０１２３】
次いで、ステップＳＷ３（載置作業及び開放作業）では、図５Ｄのように、吸着ハンド６で吸着した物体４８を棚２０２の上方まで横に移動させたのち、吸着ハンド６で吸着した物体４８を棚２０２の上に載置する載置作業を行う。その後、人３９が吸着スイッチ２０１をオフすることにより吸着ハンド６による吸着を開放する。その後、手先位置のｚ成分ｚｅが上限高さｈＨを越えた状態のまま、吸着ハンド６を棚２０２及び物体４８の上方から上向きに少し上昇したのち、横方向に移動する。このとき、手先位置のｚ成分ｚｅは上限高さｈＨを越えた状態であるため、作業精度対応操作ハンドル駆動制御手段３２は、順運動学計算手段２６からの手先位置及び姿勢ベクトルｒに基づき、精度の必要な作業（この場合は載置作業）に入った状態が継続していると判断し、可動部７ｂが固定部７ａに対して移動しないようにした状態が維持されている。よって、操作ハンドル４０は、下限位置Ｄに固定された状態が維持されている。
【０１２４】
次いで、ステップＳＷ４（下降作業）では、吸着ハンド６の下降動作を行い、手先位置のｚ成分ｚｅが上限高さｈＨより低くなると、操作ハンドル駆動制御手段３２は、順運動学計算手段２６からの手先位置及び姿勢ベクトルｒに基づき、精度の不要な作業（この場合は下降作業）に入ったと判断して、作業精度対応操作ハンドル駆動制御手段３２は、式（１０）に基づき相対的位置ＬＲＨを求める。作業精度対応操作ハンドル駆動制御手段３２は、求められた相対的位置ＬＲＨに基づき図５Ｅのようにリニアアクチュエータ７を駆動し、可動部７ｂが固定部７ａに対して上昇して操作ハンドル４０の吊り下げリンク３１に対する相対的な位置が矢印Ｂに示すように上方に移動する。ここでは、リニアアクチュエータ７による操作ハンドル４０の吊り下げリンク３１に対する相対的な位置の移動は、吸着ハンド６の下降動作とは逆方向に、吊り下げリンク３１から見て上昇するような移動である。
【０１２５】
その後、図５Ｆのように可動部７ｂが固定部７ａに対して下限位置まで移動することにより、操作ハンドル４０下限まで移動し、１回の作業が完了する。
【０１２６】
以上、本第１実施形態によれば、操作ハンドル駆動制御手段３２及び駆動装置の一例であるリニアアクチュエータ７を有し、操作ハンドル駆動制御手段３２がロボットアーム５の手先位置に基づいて作業内容を判断し、操作ハンドル４０を駆動する。言い換えれば、操作ハンドル駆動制御手段３２が、多関節ロボットアーム５により行う作業を、多関節ロボットアーム５の手先部の一例である吸着ハンド６の位置及び姿勢あるいは人３９が多関節ロボットアーム５にかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とでリニアアクチュエータ７の駆動期間を異ならせるように制御するようにしている。このため、吸着動作及び載置動作など操作性の良さが必要とされる作業を行う領域（精度必要領域）では、操作ハンドル駆動制御手段３２によりリニアアクチュエータ７の駆動を停止して、ロボットアーム５の手先部に対する操作ハンドル４０の相対的位置を固定することで、操作ハンドル４０とロボットアーム５の手先部の動きが同じになるため、直感的に分かりやすく、精度良く動作できるようになる。また、搬送など移動のみを行い、操作性の精度がそれ程必要とされない領域（精度不要領域）では、操作ハンドル駆動制御手段３２によりリニアアクチュエータ７を駆動して、ロボットアーム５の手先部に対する操作ハンドル４０の相対的位置を変化させ、ロボットアーム５の手先部の移動量に対して操作ハンドル４０の移動量を小さくできるようになる。
【０１２７】
したがって、作業領域が広い場合、例えば、作業領域が低い位置から高い位置にわたる高低差が大きな場合であっても、人３９は操作ハンドル４０を操作するために手を高く上げたり無理な姿勢をすることがなく、かつ、操作性の精度が必要とされるところでは、精度良く動作する操作性の良いロボットとすることができる。
【０１２８】
また、操作ハンドル４０を駆動するための駆動装置による動作は、スイッチ操作等に依らず作業内容に応じて自動的に動作するため、操作ミスによる作業の遅滞を防ぐことができ、作業効率の高いロボットとすることができる。
【０１２９】
なお、本第１実施形態では、操作ハンドル駆動制御手段３２は、手先位置の高さに基づいて作業内容を判断するとしたが、これに限られるわけではない。他にも、操作ハンドル駆動制御手段３２は、手先速度ベクトルに基づき、速度の大きさと方向とにより判断することも可能である。操作ハンドル駆動制御手段３２は、手先速度が上向きに所定の閾値より大きくなったとき、あるいは、下向きに所定の閾値より大きくなったときに搬送又は移動動作（精度不要作業、すなわち、精度不要領域）に入ったと判断し、操作ハンドル４０を駆動する場合でも、同様の効果を発揮する。逆に、操作ハンドル駆動制御手段３２は、手先速度が上向きに所定の閾値以下になったとき、あるいは、下向きに所定の閾値以下になったときに、把持動作又は載置動作（精度必要作業、すなわち、精度必要領域）に入ったと判断して、操作ハンドル４０を吊り下げリンク３１に対して相対的に固定する。
【０１３０】
また、操作ハンドル駆動制御手段３２は、手先加速度に基づき、加速度の大きさと方向により判断することも可能である。操作ハンドル駆動制御手段３２は、手先加速度が上向きに大きくなったとき、あるいは、下向きに大きくなったときに、搬送又は移動動作に入ったと判断し、操作ハンドル４０を駆動する場合でも、同様の効果を発揮する。
【０１３１】
また、操作ハンドル駆動制御手段３２は、操作ハンドル４０への力入力に基づき、力の大きさと方向により判断することも可能である。操作ハンドル駆動制御手段３２は、力入力が上向きに大きくなったとき、あるいは、下向きに大きくなったときに、搬送又は移動動作に入ったと判断し、操作ハンドル４０を駆動する場合でも、同様の効果を発揮する。
【０１３２】
ただし、手先位置情報に対して手先速度情報（手先速度ベクトル）は１階微分値であり、手先加速度と力入力は２階微分値であることから、瞬時値は絶対値が大きな値となる可能性がある。このため、操作ハンドル駆動制御手段３２において時間平均値を使うことで、より確実な動作が可能となる。
【０１３３】
また、操作ハンドル駆動制御手段３２において、操作ハンドル４０の駆動に関しては、式（１０）に基づくと説明しているが、これに限られるわけではない。例えば、操作ハンドル駆動制御手段３２において、操作ハンドル４０の吊り下げリンク３１に対する相対速度ｖＲＨが
ｖＲＨ＝−ＫＲＨａｖｅｒａｇｅ（ｄｚｅ／ｄｔ）
となるように駆動することも可能である。ただし、ａｖｅｒａｇｅ（ｄｚｅ／ｄｔ）は手先の上昇又は下降速度の時間平均値であり、ＫＲＨは定数ゲインである。定数ゲインＫＲＨは、手先高さが下限高さｈＬから上限高さｈＨまで上昇する間に、操作ハンドル４０の吊り下げリンク３１に対する相対位置が図５中に示した下限位置Ｄから上限位置Ｕに到達できかつ、手先高さが、上限高さｈＨから下限高さｈＬまで下降する間に、操作ハンドル４０の吊り下げリンク３１に対する相対位置が、図５Ａ〜図５Ｆ中に示した上限位置Ｕから下限位置Ｄに到達できるような速度となるよう、実験的に決定する。
【０１３４】
また、前記第１実施形態では、物体４８を下から上に持ち上げる作業を例としたが、逆に、物体４８を上から下に降ろす作業も対応可能であることは言うまでもない。
【０１３５】
なお、リニアアクチュエータ７を駆動開始して移動開始するとき及び駆動停止して移動停止するとき、可動部７ａを急に移動開始又は移動停止することが困難な場合又は支障がある場合には、可動部７ａを徐々に移動開始又は移動停止するようにしてもよい（図６Ｂ参照）。
【０１３６】
（第２実施形態）
本発明の第２実施形態におけるロボット１の基本的な構成は、図１及び図２に示した第１実施形態の場合と同様であるので、共通部分は第１実施形態と同一番号を付してそれらの説明は省略し、異なる部分についてのみ以下、図７を用いて詳細に説明する。
【０１３７】
本第２実施形態におけるロボット１では、吸着ハンド６に配設された圧力センサー２０３により発信される把持信号ｓｈが操作ハンドル駆動制御手段３２に入力され、順運動学計算手段２６からの手先位置及び姿勢ベクトルｒではなく、物体の把持状態を示す把持信号ｓｈに基づいてリニアアクチュエータ７が駆動される構成となっている。
【０１３８】
以下、図５Ａ〜図５Ｆと同様に、物体４８を吸着して棚２０２の上部に持ち上げる動作を例に取り、詳細を説明する。
【０１３９】
把持信号ｓｈは、吸着ハンド６に取り付けられた圧力センサー２０３により計測されて操作ハンドル駆動制御手段３２に入力される吸着ハンド６による吸着圧である。この吸着圧が真空になったとき、吸着が完了し、物体４８を把持した状態（把持作業完了状態）であることが検知される。操作ハンドル駆動制御手段３２は、把持信号ｓｈに基づき物体４８を把持したかどうかを判断し、把持作業が完了したと判断した場合には一定の時間、例えば２秒後に操作ハンドル４０を駆動する駆動装置が駆動され、操作ハンドル４０の吊り下げリンク３１に対する相対的な位置を下げる方向へ移動させる。
【０１４０】
その後、上昇作業を行うが、物体４８が棚２０２の天面２０２ａより高い位置に到達する前に操作ハンドル４０が下限位置Ｄ（可動部７ｂが固定部７ａの下限位置）に到達するようにリニアアクチュエータ７の固定部７ａに対する可動部７ｂの相対駆動速度を設定しておく。このようにすれば、物体４８が棚２０２の天面２０２ａより高い位置に到達したときには、操作ハンドル４０の相対位置が固定された状態となっており、棚２０２の天面２０２ａへの位置決め作業が容易に行える。
【０１４１】
さらにその後、把持信号ｓｈにより、吸着圧が真空から大気圧に変化したことが操作ハンドル駆動制御手段３２で検知されれば、物体４８を吸着ハンド６から開放したと操作ハンドル駆動制御手段３２で判断することができる。その結果、操作ハンドル駆動制御手段３２は、一定の時間、例えば２秒後に、リニアアクチュエータ７に対する駆動指令ｖｈをモータドライバ１８に出力して、駆動指令ｖｈに基づきリニアアクチュエータ７を駆動し、操作ハンドル４０の吊り下げリンク３１に対する相対的な位置を上げる方向へ移動させる。
【０１４２】
また、操作ハンドル駆動制御手段３２は、リニアアクチュエータ７の駆動を開始すると同時に、目標軌道生成手段２３に対し加速指令ｖａｉを出力する。加速指令ｖａｉを受けた目標軌道生成手段２３は、以下のように、目標軌道を以下の（１１）式で計算される第１修正手先位置及び姿勢目標ｒ’ｄへと修正して、補正目標軌道計算部４３に出力する。
【０１４３】
【数１１】
2014155985.tif 000013
【０１４４】
ただし、ａｈ＝［０，０，ａ］Ｔであり、ａは操作ハンドル４０を駆動する駆動装置が操作力センサー３及び操作ハンドル４０を吊り下げリンク３１に対して加速する相対加速度（正の定数値）であり、ｔｉは加速指令ｖａｉを受けてからの経過時間である。
【０１４５】
操作ハンドル駆動制御手段３２は、（１１）式による加速指令ｖａｉを計算により求めて目標軌道生成手段２３に出力する。その後、操作ハンドル駆動制御手段３２に入力された力変換手段３０の出力（変換操作力）Ｆｍのｚ成分Ｆｍｚの時間平均、例えば０．５秒間の操作力平均値Ｆｍｚａを操作ハンドル駆動制御手段３２で計算し、リニアアクチュエータ７の駆動速度が操作力平均値Ｆｍｚａに比例する速度ＫｍｚａＦｍｚａに到達すると操作ハンドル駆動制御手段３２により判断されると、操作ハンドル駆動制御手段３２は、加速指令ｖａｉを停止し、リニアアクチュエータ７を速度ＫｍｚａＦｍｚａで定速駆動する駆動指令をリニアアクチュエータ７（実際は、モータドライバ１８）に向けて出力する。ただし、Ｋｍｚａは定数である。
【０１４６】
同時に、目標軌道生成手段２３は、加速指令ｖａｉを受けてからの経過時間ｔｉの更新を停止する。
【０１４７】
その後、操作ハンドル駆動制御手段３２は、リニアアクチュエータ７の可動部７ｂが固定部７ａに対して下限位置に到達する前に下限位置でちょうど停止できるタイミングで、リニアアクチュエータ７の駆動を減速すると同時に、減速指令ｖａｄを目標軌道生成手段２３に出力する。
【０１４８】
操作ハンドル駆動制御手段３２から減速指令ｖａｄを受けた目標軌道生成手段２３は、以下のように、目標軌道を以下の（１２）式で計算される第２修正手先位置及び姿勢目標ｒ’’ｄへと修正して、補正目標軌道計算部４３に出力する。
【０１４９】
【数１２】
2014155985.tif 000014
【０１５０】
ただし、ｔｄは減速指令ｖａｄを受けてからの経過時間である。
【０１５１】
物体４８を棚２０２の上に載置したのち、吸着ハンド６を再び下方へ移動する場合には、相対加速度ａを負の値とすればよい。
【０１５２】
以上のような構成でも、第１実施形態と同様に、図５Ａ〜図５Ｆに示す作業を実現することができ、同様の効果を発揮することができる。また、把持状態に基づいて精密作業と粗作業を判断するため、把持完了など作業の進捗状態に応じた判断が可能となり、確実な作業が実現する。
【０１５３】
さらに、操作ハンドル駆動制御手段３２が加速指令又は減速指令をリニアアクチュエータ７に向けて出力して、ロボットアーム５の手先部の動きを加減速する（例えば、リニアアクチュエータ７への加速指令に基づき吸着ハンド６を加速する）ことで、リニアアクチュエータ７が操作ハンドル４０を駆動する加減速分（例えば、操作ハンドル４０の吊り下げリンク３１に対する相対加速度）を打ち消すようにしている。このため、リニアアクチュエータ７を駆動することによる操作感の劣化を、緩和することができる。また、リニアアクチュエータ７の駆動が開始された後の操作力（又は、吸着ハンド６の動作速度）に比例して、リニアアクチュエータ７の動作速度（操作ハンドル４０の吊り下げリンク３１に対する相対移動速度）が大きくなるため、操作ハンドル４０にかける力の大きさで、リニアアクチュエータ７の動作速度を制御することができ、作業を急ぎたいときにリニアアクチュエータ７の動作速度を容易に速めることができ、作業効率を上げることが可能となる。
【０１５４】
また、前記第２実施形態では、物体４８を下から上に持ち上げる作業を例としたが、吸着状態検知後の操作ハンドル４０の駆動動作を逆にすることができる切換機能を持たせておけば、物体４８を上から下に降ろす作業にも対応可能である。さらに、作業開始時の操作ハンドル４０の初期位置も、上限位置か下限位置かの切換機能があれば、より利便性を高めることができる。
【０１５５】
（第３実施形態）
本発明の第３実施形態におけるロボット１Ｃのロボットアーム５の構成を図８に示す。第３実施形態におけるロボットアーム５は、吊り下げリンク３１の長手方向に対してリニアアクチュエータ７Ｃの移動方向が直交方向に、すなわち、地面に対して水平に、取り付けられている点が特徴である。リニアアクチュエータ７Ｃは、リニアアクチュエータ７と同様に、可動部７Ｃｂと固定部７Ｃａとで構成して、固定部７Ｃａに対して可動部７Ｃｂが右限位置と左限位置との間で横方向に移動可能としている。その他の部分は、図１及び図２に示した第１実施形態の場合と同様であるので、それらの説明は省略する。
【０１５６】
図９に、第３実施形態におけるロボットアーム５による作業を説明する図を示す。作業内容は、左側にある物体４８を吸着ハンド６で吸着し、吸着ハンド６で吸着た物体４８を＋ｙ方向（図９の右方向）に水平搬送し、右側にある容器４９内に整列して挿入する作業である。このうち、左側での物体４８への吸着作業、及び、右側での容器４９への整列作業が位置決め作業等が、動作精度の必要な作業である。両作業の中間の移動作業は、動作精度を必要としない作業である。したがって、水平方向であるｙ方向の手先位置ｙｅに関して、左限位置ｙＬ及び右限位置ｙＲを境界として、精度必要領域と精度不要領域とを定義している。そして、操作ハンドル駆動制御手段３２は、ロボットアーム５の手先位置及び姿勢情報（手先位置及び姿勢ベクトルｒ）すなわちロボットアーム５の手先位置のｙ成分、すなわち、絶対座標系３５から見た手先座標系３６の原点Ｏｅの位置のｙ成分であるｙｅの値、すなわち、手先位置のｙ座標に基づいて判断する。よって、精度必要領域では、操作ハンドル４０の吊り下げリンク３１に対する相対位置を固定している。すなわち、精度必要領域では、操作ハンドル駆動制御手段３２は、順運動学計算手段２６からの手先位置及び姿勢ベクトルｒに基づき、リニアアクチュエータ７に対する駆動指令を出力して、可動部７Ｃｂが固定部７Ｃａに対して移動しないようにしている。一方、精度不要領域では、リニアアクチュエータ７により操作ハンドル４０のロボットハンドルの手先に対する相対位置を動かすことで、ロボットアーム５の手先位置の水平の到達可能領域を大きくすることが可能となる。すなわち、精度不要領域では、操作ハンドル駆動制御手段３２は、順運動学計算手段２６からの手先位置及び姿勢ベクトルｒに基づき、リニアアクチュエータ７に対する駆動指令を出力して、椅子２０４に座っている人３９に対して、吸着ハンド６が左側に位置するときには、可動部７Ｃｂが固定部７Ｃａに対して右限位置側に位置するように移動させる（図９Ａ参照）。逆に、椅子２０４に座っている人３９に対して、吸着ハンド６が右側に位置するときには、可動部７Ｃｂが固定部７Ｃａに対して左限位置側に位置するように移動させる（図９Ｃ参照）。この結果、相対位置を動かさない場合のロボットアーム５の手先位置の水平の到達可能領域は、図９Ａ〜図９Ｃの左限位置ｙＬと右限位置ｙＲとの範囲であり、それを越える範囲では、椅子２０４に座っている人３９は手が届かず、一旦、立って作業を行う必要がある。これに対して、前記したように相対位置を動かすことによって、図９Ａに示すように左限位置ｙＬを越えた位置と図９Ｃに示すように右限位置ｙＲを越えた位置との間の範囲まで、到達可能領域を大きくすることができる。
【０１５７】
以上、第３実施形態におけるロボット１Ｃによれば、精度が必要な領域では、動作精度を劣化させることなく、操作ハンドル４０の到達可能領域を越えて作業領域を拡大できるため、図９Ａ〜図９Ｃに示すような動作範囲の広い作業でも、人（作業者）３９は、椅子２０４に座ったままでの作業が可能となり、疲労が軽減されるなどの効果が発揮される。また、安全上の問題で人３９の立ち入り可能な領域が制限される場合でも、作業精度又は安全を確保しつつ作業領域を拡大することも可能となる。
【０１５８】
なお、前記第１〜第２実施形態では、ロボットアーム５をモータ４１で関節を駆動するとしたが、これに限られるわけではなく、空気圧シリンダー又は空気圧人工筋などの空圧アクチュエータ言い換えれば弾性体アクチュエータでも同様の効果を発揮する。
【０１５９】
なお、本発明を第１〜第３実施形態及び変形例に基づいて説明してきたが、本発明は、前記の第１〜第３実施形態及び変形例に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【０１６０】
前記各制御装置の一部又は全部は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各部は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１６１】
例えば、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、前記実施形態又は変形例における制御装置を構成する要素の一部又は全部を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、多関節ロボットアームの制御プログラムであって、コンピュータに、
前記多関節ロボットアームの手先部に対して相対的に移動可能に配置されかつ前記手先部に人からかけられた操作力を取得する操作力取得部と、
前記操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームにより行う作業を、前記多関節ロボットアームの前記手先部の位置及び姿勢あるいは前記多関節ロボットアームにかける力の制御精度が必要な精密作業と制御精度の必要でない粗作業とに分類し、精密作業実行時と粗作業実行時とで、前記手先部に対して前記操作力取得部を相対的に移動させる駆動装置の駆動期間を異ならせるように制御する駆動装置制御部として機能させて、
前記多関節ロボットアームの動作を制御する、ロボットの制御プログラムである。
【０１６２】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスク、磁気ディスク、又は、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０１６３】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１６４】
なお、前記様々な実施形態又は変形例のうちの任意の実施形態又は変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０１６５】
本発明のロボット、ロボットの制御装置、制御方法、及び制御プログラムは、人が操作をし搬送などを行うロボットアームにおいて動作範囲が広い場合でも対応可能な、ロボット、ロボット制御装置、制御方法、及び制御プログラムとして有用である。
【符号の説明】
【０１６６】
１，１Ｃ  ロボット
２  制御装置
３  操作力センサー
４  ロボットアーム制御手段
５  ロボットアーム
６  吸着ハンド
７  リニアアクチュエータ
８  前腕リンク
９  上腕リンク
１０  台部
１１  第１関節
１２（１２ａ，１２ｂ，１２ｃ，１２ｄ）  第２関節
１３  第３関節
１４  第４関節
１６  肘ブロック
１７  制御プログラム
１８  モータドライバ
１９  入出力ＩＦ
２０  Ｄ／Ａボード
２１  Ａ／Ｄボード
２２  カウンタボード
２３  目標軌道生成手段（目標軌道生成部）
２４  第１関節支柱
２５  インピーダンス計算手段（インピーダンス計算部）
２６  順運動学計算手段（順運動学計算部）
２７  位置誤差補償手段（位置誤差補償部）
２８  ダイナミクス制御手段
２９  位置制御系（位置制御部）
３０  力変換手段（力変換部）
３１  吊り下げリンク
３２  作業精度対応操作ハンドル駆動制御手段
３４  トルク制御手段
３５  絶対座標系
３６  手先座標系
３７  インピーダンス制御系
３９  人
４０  操作ハンドル
４０ａ  握り部
４１  モータ
４２  エンコーダ
４３  補正目標軌道計算部
４４  位置誤差計算部
４５  支持部材
４５ｂ  支持部
４５ｃ  上端支持部
４７  測定面
４８  物体
４９  容器
２００  床面
２０１  吸着スイッチ
２０２  棚
２０２ａ  天面
２０３  圧力センサー
２０４  椅子
【図１】
2014155985.tif 000015
【図２】
2014155985.tif 000016
【図３】
2014155985.tif 000017
【図４】
2014155985.tif 000018
【図５Ａ】
2014155985.tif 000019
【図５Ｂ】
2014155985.tif 000020
【図５Ｃ】
2014155985.tif 000021
【図５Ｄ】
2014155985.tif 000022
【図５Ｅ】
2014155985.tif 000023
【図５Ｆ】
2014155985.tif 000024
【図６Ａ】
2014155985.tif 000025
【図６Ｂ】
2014155985.tif 000026
【図７】
2014155985.tif 000027
【図８】
2014155985.tif 000028
【図９Ａ】
2014155985.tif 000029
【図９Ｂ】
2014155985.tif 000030
【図９Ｃ】
2014155985.tif 000031