(57)【要約】  多関節ロボットアーム(５)と、多関節ロボットアーム(５)に配設されて人による操作力を取得する操作力取得部(３)と、多関節ロボットアーム(５)に配設されて把持物体にかかる外力を取得する外力取得部(５０)と、操作力取得部が取得した操作力及び設定されたインピーダンスパラメータに基づき多関節ロボットアーム(５)をインピーダンス制御するインピーダンス制御部(４９)と、把持物体と外環境の接触における摩擦により発生する抵抗力に応じてインピーダンス制御部(４９)により発生するアシスト力の抵抗力に垂直な方向の力成分を補正するアシスト力補正部(３４)を備える。
2013175777.tif 000002
【特許請求の範囲】
【請求項１】
多関節ロボットアームを有するロボットの制御装置であって、
前記多関節ロボットアームに配設されて、人による操作力を取得する操作力取得部と、
前記多関節ロボットアームに配設されて、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得する抵抗力取得部と、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分を補正するアシスト力補正部を備えるロボットの制御装置。
【請求項２】
多関節ロボットアームを有するロボットの制御装置であって、
前記多関節ロボットアームに配設されて、人による操作力を取得する操作力取得部と、
前記多関節ロボットアームに配設されて、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境からの垂直抗力を減じ、前記把持物体と前記外環境とが接触したまま引きずるように前記把持物体を前記外環境の表面に沿って搬送する動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得する抵抗力取得部と、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記把持物体の引きずり動作を行うとき前記抵抗力の水平成分又は壁面に平行な成分が目標抵抗力ベクトルとなるように、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分又は壁面に平行な成分に垂直な方向の力成分を補正するアシスト力補正部を備えるロボットの制御装置。
【請求項３】
前記アシスト力補正部は、
前記抵抗力の方向に応じて、前記アシスト力の前記抵抗力に垂直な方向の前記力成分を増加の方向または減少の方向のどちらに補正するかを決める方向制御部と、
前記方向制御部で決定した方向に基づき、前記抵抗力の大きさに比例して前記アシスト力の前記抵抗力に垂直な方向の前記力成分の補正量を決める演算部とを備える、請求項１に記載のロボットの制御装置。
【請求項４】
前記アシスト力補正部は、前記抵抗力の大きさに比例して前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分を増加させる請求項２に記載のロボットの制御装置。
【請求項５】
前記アシスト力補正部は、前記抵抗力の大きさに比例して前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分を減少させる請求項２に記載のロボットの制御装置。
【請求項６】
前記アシスト力補正部は、前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分として、前記把持物体の重力補償による力を補正する請求項１に記載のロボットの制御装置。
【請求項７】
前記アシスト力補正部は、前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分として、前記把持物体を前記外環境に押しつける力制御による力を補正する請求項５に記載のロボットの制御装置。
【請求項８】
前記抵抗力取得部は、前記多関節ロボットアームの手先部と前記多関節ロボットアームが把持する前記把持物体との間に配設された力センサーである請求項１から請求項７のいずれか１つに記載のロボットの制御装置。
【請求項９】
前記抵抗力取得部は、前記多関節ロボットアームの関節に発生するトルクをトルク推定値として推定し、前記トルク推定値と前記操作力取得部により取得された操作力とより、抵抗力を取得する外力推定部である請求項１から請求項７のいずれか１つに記載のロボットの制御装置。
【請求項１０】
多関節ロボットアームと、
請求項１〜９のいずれか１つに記載のロボットの制御装置とを備えるロボット。
【請求項１１】
多関節ロボットアームを有するロボットの制御方法であって、
前記多関節ロボットアームに配設された操作力取得部で、人による操作力を取得し、
前記多関節ロボットアームに配設された抵抗力取得部で、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得し、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御部でインピーダンス制御し、
前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分をアシスト力補正部で補正するロボットの制御方法。
【請求項１２】
多関節ロボットアームを有するロボットの制御プログラムであって、
コンピュータを、
前記多関節ロボットアームに配設された操作力取得部で取得した人による操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を、前記多関節ロボットアームに配設された抵抗力取得部から取得し、前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分を補正するアシスト力補正部として機能させるためのロボットの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の搬送を行う動作を制御する、ロボット、ロボットの制御装置、制御方法、及び制御プログラムに関する。
【背景技術】
【０００２】
近年、介護ロボット又は家事支援ロボットなどの家庭用ロボットが盛んに開発されるようになってきた。また、産業用ロボットでも、セル生産工場の広がりなどから、人と協働するロボットの開発が盛んに行われている。【０００３】
人と協働するロボットの一例として、インピーダンス制御により人の操作力に応じてロボットを動作させることで、パワーアシストを実現するロボットが提案されている。【０００４】
インピーダンス制御を使ったパワーアシストロボットにおける把持物体と外環境の接触を伴う作業では、ロボットを操作する人が、接触状態を把握しづらいという課題があった。【０００５】
こうした課題に対し、特許文献１は、把持物体と外環境との接触を力センサーで検知し、検知した外力が操作部に作用しているかのように制御することにより、接触が発生しても振動せず安定に接触させる技術を開示している（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＷＯ２００９／０３４９６２Ａ１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１では、安定な接触を実現するだけであり、接触させながら回転するなど、より複雑な作業を実現するに至っていないという課題があった。【０００８】
本発明の目的は、前記従来の課題を解決し、インピーダンス制御を使ったパワーアシストロボットにおいて、接触を伴う作業を容易に実現できるロボット、ロボットの制御装置、制御方法、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、本発明は以下のように構成する。【００１０】
本発明の第１態様によれば、多関節ロボットアームを有するロボットの制御装置であって、
前記多関節ロボットアームに配設されて、人による操作力を取得する操作力取得部と、
前記多関節ロボットアームに配設されて、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得する抵抗力取得部と、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分を補正するアシスト力補正部を備えるロボットの制御装置を提供する。【００１１】
これらの概括的かつ特定の態様は、システム、方法、コンピュータプログラム並びにシステム、方法及びコンピュータプログラムの任意の組み合わせにより実現してもよい。
【発明の効果】
【００１２】
本発明の前記態様のロボット、ロボットの制御装置、制御方法、及び制御プログラムによれば、抵抗力発生時に検出される外力に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル分だけ追加アシスト力の補正を行い、補正追加アシスト力へと補正される。このため、インピーダンス制御を使ったパワーアシストロボットにおいて、抵抗力の水平成分又は壁面に平行な成分が目標抵抗力ベクトルとなるように、又は、前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないように、アシスト力は、実際のアシスト力から、接触を伴う作業に適した正確なアシスト力へと修正され、接触を伴う作業を容易に実現できる。
【図面の簡単な説明】
【００１３】
本発明のこれらと他の目的と特徴は、添付された図面についての好ましい実施形態に関連した次の記述から明らかになる。この図面においては、
【図１】図１は、第１実施形態におけるロボットの全体構成を示す図であり、
【図２Ａ】図２Ａは、第１実施形態におけるロボットのロボットアーム制御手段の構成を示すブロック図であり、
【図２Ｂ】図２Ｂは、第１実施形態におけるロボットのロボットアーム制御手段の概略構成を示すブロック図であり、
【図２Ｃ】図２Ｃは、第１実施形態におけるアシスト力補正手段の構成を示すブロック図であり、
【図３】図３は、第１実施形態におけるロボットによる人との協調搬送作業を説明する図であり、
【図４Ａ】図４Ａは、第１実施形態における搬送作業時に発生する力の関係を説明する図であり、
【図４Ｂ】図４Ｂは、第１実施形態における搬送作業時に発生する力の関係を説明する図であり、
【図５Ａ】図５Ａは、第１実施形態における搬送作業の手順を説明する図であり、
【図５Ｂ】図５Ｂは、第１実施形態における搬送作業の手順を説明する図であり、
【図５Ｃ】図５Ｃは、第１実施形態における搬送作業の手順を説明する図であり、
【図６Ａ】図６Ａは、第１実施形態における立て起こし作業時に発生する力の関係を説明する図であり、
【図６Ｂ】図６Ｂは、第１実施形態における立て起こし作業時に発生する力の関係を説明する図であり、
【図７】図７は、第１実施形態における前記ロボットにおけるロボットアーム制御手段の全体的な動作ステップを表すフローチャートであり、
【図８】図８は、第１実施形態の変形例におけるロボットのロボットアーム制御手段の構成を示すブロック図であり、
【図９】図９は、第２実施形態における搬送作業を説明する図であり、
【図１０Ａ】図１０Ａは、第３実施形態における搬送作業を説明する図であり、
【図１０Ｂ】図１０Ｂは、第３実施形態における搬送作業を説明する図であり、
【図１０Ｃ】図１０Ｃは、第３実施形態における搬送作業を説明する図であり、
【図１１】図１１は、第４実施形態におけるロボットのロボットアーム制御手段の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００１５】
以下、図面を参照して本発明における実施形態を詳細に説明する前に、本発明の種々の態様について説明する。
【００１６】
本発明の第１態様によれば、多関節ロボットアームを有するロボットの制御装置であって、
前記多関節ロボットアームに配設されて、人による操作力を取得する操作力取得部と、
前記多関節ロボットアームに配設されて、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得する抵抗力取得部と、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分を補正するアシスト力補正部を備えるロボットの制御装置を提供する。
【００１７】
本発明の前記第１態様のロボットの制御装置によれば、抵抗力発生時に検出される外力に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル分だけ追加アシスト力の補正を行い、補正追加アシスト力へと補正される。このため、インピーダンス制御を使ったパワーアシストロボットにおいて、前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、アシスト力は、実際のアシスト力から、接触を伴う作業に適した正確なアシスト力へと修正され、接触を伴う作業を容易に実現できる。
【００１８】
本発明の第２態様によれば、多関節ロボットアームを有するロボットの制御装置であって、
前記多関節ロボットアームに配設されて、人による操作力を取得する操作力取得部と、
前記多関節ロボットアームに配設されて、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境からの垂直抗力を減じ、前記把持物体と前記外環境とが接触したまま引きずるように前記把持物体を前記外環境の表面に沿って搬送する動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得する抵抗力取得部と、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記把持物体の引きずり動作を行うとき前記抵抗力の水平成分又は壁面に平行な成分が目標抵抗力ベクトルとなるように、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分又は壁面に平行な成分に垂直な方向の力成分を補正するアシスト力補正部を備えるロボットの制御装置を提供する。
【００１９】
本発明の前記第２態様のロボットによれば、抵抗力発生時に検出される外力に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル分だけ追加アシスト力の補正を行い、補正追加アシスト力へと補正される。このため、インピーダンス制御を使ったパワーアシストロボットにおいて、抵抗力の水平成分又は壁面に平行な成分が目標抵抗力ベクトルとなるように、アシスト力は、実際のアシスト力から、接触を伴う作業に適した正確なアシスト力へと修正され、接触を伴う作業を容易に実現できる。
【００２０】
本発明の第３態様によれば、前記アシスト力補正部は、
前記抵抗力の方向に応じて、前記アシスト力の前記抵抗力に垂直な方向の前記力成分を増加の方向または減少の方向のどちらに補正するかを決める方向制御部と、
前記方向制御部で決定した方向に基づき、前記抵抗力の大きさに比例して前記アシスト力の前記抵抗力に垂直な方向の前記力成分の補正量を決める演算部とを備える、第１態様に記載のロボットの制御装置を提供する。
【００２１】
本発明の前記第３態様のロボットの制御装置によれば、把持物体を外環境と接触する支点を回転中心として立て起こす動作をする場合に、支点がずれようとするのを防ぎ、容易に立て起こす動作を実現できる。
【００２２】
本発明の第４態様によれば、前記アシスト力補正部は、前記抵抗力の大きさに比例して前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分を増加させる第２の態様に記載のロボットの制御装置を提供する。
【００２３】
本発明の前記第４態様のロボットの制御装置によれば、外環境の位置によって搬送動作中の動摩擦係数が変動しても、把持物体と外環境との間に働く抵抗力を、設定した目標抵抗力に近づけようとする制御を、アシスト力補正部とインピーダンス制御装置とにより、行わせることができる。
【００２４】
本発明の第５態様によれば、前記アシスト力補正部は、前記抵抗力の大きさに比例して前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分を減少させる第２の態様に記載のロボットの制御装置を提供する。
【００２５】
本発明の前記第５態様のロボットの制御装置によれば、外環境の位置によって搬送動作中の動摩擦係数が変動しても、把持物体と外環境との間に働く抵抗力を、設定した目標抵抗力に近づけようとする制御を、アシスト力補正部とインピーダンス制御装置とにより、行わせることができる。
【００２６】
本発明の第６態様によれば、前記アシスト力補正部は、前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分として、前記把持物体の重力補償による力を補正する第１の態様に記載のロボットの制御装置を提供する。
【００２７】
本発明の前記第６態様のロボットの制御装置によれば外環境の位置によって搬送動作中の動摩擦係数が変動しても、把持物体と外環境との間に働く抵抗力を、設定した目標抵抗力に近づけようとする制御を、アシスト力補正部とインピーダンス制御装置とにより、行わせることができる。
【００２８】
本発明の第７態様によれば、前記アシスト力補正部は、前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分として、前記把持物体を前記外環境に押しつける力制御による力を補正する第５の態様に記載のロボットの制御装置を提供する。
【００２９】
本発明の前記第７態様のロボットの制御装置によれば、外環境の位置によって搬送動作中の動摩擦係数が変動しても、把持物体と外環境との間に働く抵抗力を、設定した目標抵抗力に近づけようとする制御を、アシスト力補正部とインピーダンス制御装置とにより、行わせることができる。
【００３０】
本発明の第８態様によれば、前記抵抗力取得部は、前記多関節ロボットアームの手先部と前記多関節ロボットアームが把持する前記把持物体との間に配設された力センサーである第１〜７のいずれか１つの態様に記載のロボットの制御装置を提供する。
【００３１】
本発明の前記第８態様のロボットの制御装置によれば、前記把持物体と外環境の接触により発生する抵抗力を容易に高精度で計測することができる。
【００３２】
本発明の第９態様によれば、前記抵抗力取得部は、前記多関節ロボットアームの関節に発生するトルクをトルク推定値として推定し、前記トルク推定値と前記操作力取得部により取得された操作力とより、抵抗力を取得する抵抗力推定部である第１〜７のいずれか１つの態様に記載のロボットの制御装置を提供する。
【００３３】
本発明の前記第９態様のロボットの制御装置によれば、外力センサーなどの抵抗力取得部を設けなくても、抵抗力推定部で抵抗力を推定して、抵抗力に応じた作業動作が可能となる。
【００３４】
本発明の第１０態様によれば、多関節ロボットアームと、
第１〜９のいずれか１つの態様に記載のロボットの制御装置とを備えるロボットを提供する。
【００３５】
本発明の前記第１０態様のロボットによれば、抵抗力発生時に検出される外力に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル分だけ追加アシスト力の補正を行い、補正追加アシスト力へと補正される。このため、インピーダンス制御を使ったパワーアシストロボットにおいて、抵抗力の水平成分又は壁面に平行な成分が目標抵抗力ベクトルとなるように、又は、前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないように、アシスト力は、実際のアシスト力から、接触を伴う作業に適した正確なアシスト力へと修正され、接触を伴う作業を容易に実現できる。
【００３６】
本発明の第１１態様によれば、多関節ロボットアームを有するロボットの制御方法であって、
前記多関節ロボットアームに配設された操作力取得部で、人による操作力を取得し、
前記多関節ロボットアームに配設された抵抗力取得部で、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得し、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御部でインピーダンス制御し、
前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分をアシスト力補正部で補正するロボットの制御方法を提供する。
【００３７】
本発明の前記第１１態様のロボットの制御方法によれば、抵抗力発生時に検出される外力に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル分だけ追加アシスト力の補正を行い、補正追加アシスト力へと補正される。このため、インピーダンス制御を使ったパワーアシストロボットにおいて、前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、アシスト力は、実際のアシスト力から、接触を伴う作業に適した正確なアシスト力へと修正され、接触を伴う作業を容易に実現できる。
【００３８】
本発明の第１２態様によれば、多関節ロボットアームを有するロボットの制御プログラムであって、
コンピュータを、
前記多関節ロボットアームに配設された操作力取得部で取得した人による操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を、前記多関節ロボットアームに配設された抵抗力取得部から取得し、前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分を補正するアシスト力補正部として機能させるためのロボットの制御プログラムを提供する。
【００３９】
本発明の前記第１２態様のロボットの制御プログラムによれば、抵抗力発生時に検出される外力に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル分だけ追加アシスト力の補正を行い、補正追加アシスト力へと補正される。このため、インピーダンス制御を使ったパワーアシストロボットにおいて、前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、アシスト力は、実際のアシスト力から、接触を伴う作業に適した正確なアシスト力へと修正され、接触を伴う作業を容易に実現できる。
【００４０】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
【００４１】
（第１実施形態）
図１は本発明の第１実施形態におけるロボット１の構成を示す。ロボット１は、多関節ロボットアーム５と、多関節ロボットアーム５の動作を制御するロボット１の制御装置２とを備えている。
【００４２】
制御装置２は、ハードウェア的には一般的なパーソナルコンピュータにより構成されている。そして、制御装置２のうちのロボットアーム制御手段（ロボットアーム制御部）４の入出力ＩＦ１９を除く部分は、パーソナルコンピュータで実行される制御プログラム１７としてソフトウェア的に実現される。よって、例えば、それぞれの動作を構成するステップを有するコンピュータプログラムとして、記憶装置（ハードディスク等）などの記録媒体に読み取り可能に記憶させ、そのコンピュータプログラムをコンピュータの一時記憶装置（半導体メモリ等）に読み込んでＣＰＵを用いて実行することにより、前記した各ステップを実行することができる。
【００４３】
入出力ＩＦ１９は、パーソナルコンピュータのＰＣＩバスなどの拡張スロットルに接続された、Ｄ／Ａボード２０と、Ａ／Ｄボード２１と、カウンタボード２２とにより構成される。
【００４４】
ロボット１の多関節ロボットアーム５の動作を制御するための制御プログラム１７が実行されることにより、制御装置２が機能する。
【００４５】
ロボットアーム５の各関節（第１〜第４関節）１１、１２（１２ａ，１２ｂ，１２ｃ，１２ｄ）、１３、１４の関節角度センサー又は位置情報取得手段の一例である各エンコーダ４２より出力される関節角度情報は、カウンタボード２２を通じて制御装置２にそれぞれ取り込まれる。制御装置２は、取り込んだ関節角度情報に基づいて、各関節１１、１２、１３、１４における関節軸周りの回転動作の制御指令値をそれぞれ算出する。算出された各制御指令値は、Ｄ／Ａボード２０を通じてモータドライバ１８に与えられ、モータドライバ１８から送られた各制御指令値に従って、ロボットアーム５の各関節１１、１２、１３、１４のそれぞれのモータ４１が駆動される。位置情報取得手段は、ロボットアーム５の位置の時系列の情報を取得する機能を有している。
【００４６】
ロボットアーム５は、４自由度の多リンクマニピュレータであり、物体を把持するためのハンド（多関節ロボットアーム５の手先部の一例）６と、吊り下げリンク３１と、前腕リンク８と、肘ブロック１６と、一対の上腕リンク９ａ、９ｂと、第１関節支柱２４と、台部１０とを有して構成されている。
【００４７】
前腕リンク８は、先端に、ハンド６が取付けられる吊り下げリンク３１が第４関節１４の関節軸周りに回転可能に接続されている。
【００４８】
肘ブロック１６の一端には、前腕リンク８の基端が第３関節１３の関節軸周りに回転可能に連結されている。
【００４９】
一対の上腕リンク９ａ、９ｂは、それらの各一端が、肘ブロック１６の他端にそれぞれ第２関節１２のうちの２つの関節１２ｃ、１２ｄの関節軸周りに回転可能に接続された平行リンク構造で構成されている。
【００５０】
第１関節支柱２４は、台部１０と支持部材５４とで、上下方向沿いに位置しかつ第１関節１１の関節軸周りに回転可能に支持されている。第１関節支柱２４の上端近傍部には、上腕リンク９ａ、９ｂの各他端がそれぞれ第２関節１２のうちの２つの関節１２ａ、１２ｂの関節軸周りに回転可能に接続されている。詳しくは、第１関節支柱２４の下端は、台部１０に第１関節１１の関節軸周りに回転可能に支持され、第１関節支柱２４の上端は、台部１０に立設された支持部材５４の支持部５４ｂの上端から張り出した支持部材５４の上端支持部５４ｃに第１関節１１の関節軸周りに回転可能に支持されている。
【００５１】
第２関節１２（１２ａ、１２ｂ、１２ｃ、１２ｄ）の関節軸周りでの回転により、第３関節１３の関節軸が第１関節１１の関節軸に対し常に平行を保つように、肘ブロック１６が第２関節１２ａ及び第２関節１２ｂ周りの回転運動を行うようにしている。
【００５２】
このように構成することにより、ロボットアーム５は、合計４個の軸周りに回転可能として前記４自由度の多リンクマニピュレータを構成している。
【００５３】
ロボットアーム５の手先には外力センサー（力センサー）５０が取り付けられ、その先にはハンド６が取り付けられている。外力センサー５０は、ハンド６にかかる外力Ｆｅｓを計測することができて、計測値である外力Ｆｅｓをインピーダンス制御手段４（のアシスト力補正手段３４）に出力する。ハンド６は、Ｃ字状の手首ベース７と吸着パッド３７とが手首関節１５で接続された構造であり、吸着パッド３７は、手首関節１５の関節軸回りに手首ベース７に対し矢印θで示すように相対的に回転可能である。吸着パッド３７は、真空ポンプ７０の吸引動作及び開閉弁７１の開動作により吸着を行うことにより、物体３８の表面に吸い付き、吸着パッド３７で物体が把持される。開閉弁７１の閉動作により、吸着を解除して、物体の表面から吸着パッド３７を離すことができる。真空ポンプ７０及び開閉弁７１の開閉動作は、制御装置２により動作制御される。
【００５４】
各軸の回転部分を構成する各関節１１、１２、１３、１４には、各関節１１、１２、１３、１４の一方の部材に設けられた回転駆動装置（本第１実施形態ではモータ４１）と、モータ４１の回転軸の回転位相角（すなわち関節角）を検出するエンコーダ４２とを備える。そして、モータ４１の回転軸が関節の他方の部材に連結されて前記回転軸を正逆回転させることにより、他方の部材を一方の部材に対して各関節軸周りに回転可能とする。回転駆動装置は、後述するモータドライバ１８により駆動制御される。本第１実施形態では、回転駆動装置の一例としてのモータ４１とエンコーダ４２とは、ロボットアーム５の各関節１１、１２、１３、１４の内部に配設されている。
【００５５】
図１の参照符号３５は、台部１０に対して相対的な位置関係が固定された絶対座標系である。参照符号３６は、ハンド６に対して相対的な位置関係が固定された手先座標系である。絶対座標系３５から見た手先座標系３６の原点位置Ｏｅ（ｘ、ｙ、ｚ）をロボットアーム５の手先位置とし、絶対座標系３５から見た手先座標系３６の姿勢をφをロボットアーム５のハンド６の手先姿勢とし、ハンド６の手先位置及び姿勢ベクトルｒを、ｒ＝［ｘ，ｙ，ｚ，φ］Ｔと定義する。厳密には、位置及び姿勢ベクトルｒは時系列情報（時間関数）ｒ（ｔ）＝［ｘ（ｔ），ｙ（ｔ），ｚ（ｔ），φ（ｔ）］Ｔであり、一階微分すれば速度情報が取得でき、二階微分すれば加速度情報が取得できる。
【００５６】
なお、この第１実施形態では、ロボットアーム５の位置の時系列の情報を取得する位置情報取得手段の一例として、エンコーダ４２を使用している。この場合は、エンコーダ４２のセンシングした信号が位置に関する一次情報であることから、エンコーダ４２を位置情報取得手段の一例として取り扱うものである。よって、位置情報取得手段で取得した位置の情報に対して、ロボットアーム制御手段４側で、一階微分して速度の情報を取得し、二階微分して加速度の情報を取得するようにしてもよい。また、位置情報取得手段をロボットアーム５の位置の時系列の情報のみならず、速度の情報又は加速度の情報を取得する手段として取り扱う場合には、エンコーダ４２でセンシングし、カウンタ２２でロボットアーム制御手段４に取込み、制御プログラムで関節角度ｑに変換し、順運動学計算手段２６で位置及び姿勢に変換するところまでを含めて、１つの手段として考えればよい。
【００５７】
ロボットアーム５のハンド６の手先位置及び姿勢を制御する場合には、手先位置及び姿勢ベクトルｒを目標手先位置及び姿勢ベクトルｒｄに追従させることになる。
【００５８】
操作ハンドル４０は、吊り下げリンク３１と、操作力センサー３を介して接続されており、操作ハンドル４０の一端が、操作力センサー３に中央部に固定された棒状構造である。人３９は両手で操作ハンドル４０の一対の握り部を直接握り、力をかけることで、ロボット５を操作することができる。操作ハンドル４０とロボットアーム５との間には力操作力センサー３が配設されており、人３９が操作するときの操作力Ｆｍｓを操作力センサー３で検出して、後述する力変換手段（力変換部）３０へ出力することができる。操作力センサー３は、操作力取得部の一例として機能する。
【００５９】
次に、図２Ａを使い、ロボットアーム制御手段４の詳細について説明する。
【００６０】
ロボットアーム制御手段４は、目標軌道生成手段（目標軌道生成部）２３と、第１演算部（補正目標軌道計算部）５１と、位置誤差計算部５２と、位置誤差補償手段（位置誤差補償部）２７と、ダイナミクス制御手段（ダイナミクス制御部）２８と、目標トルク計算部５３と、トルク制御手段（トルク制御部）４８と、インピーダンス計算手段（インピーダンス計算部）２５と、力変換手段（力変換部）３０と、アシスト力補正手段（アシスト力補正部）３４と、順運動学計算手段（順運動学計算部）２６とで構成されている。
【００６１】
図２Ａにおいて、参照符号５は図１に示したロボットアームである。ロボットアーム５からは、各関節の関節軸のエンコーダ４２により計測された関節角の現在値（関節角度ベクトル）ｑ＝［ｑ１，ｑ２，ｑ３，ｑ４，ｑ５］Ｔが出力され、カウンタボード２２によりインピーダンス制御手段４（のアシスト力補正手段３４）に取り込まれる。ただし、ｑ１，ｑ２，ｑ３，ｑ４，ｑ５は、それぞれ、第１関節１１、第２関節１２ａ、第３関節１３、第４関節１４、第５関節１５の関節角度である。
【００６２】
また、ロボットアーム５の力センサー３からは、力センサー３により計測された外力（計測値）Ｆｍｓ＝［ｆｘ，ｆｙ，ｆｚ，ｎｘ，ｎｙ，ｎｚ］Ｔが出力されて、Ａ／Ｄボード２１によりインピーダンス制御手段４（の力変換手段３０）に取り込まれる。ここで、ｆｘ，ｆｙ，ｆｚは手先座標系３６の互いに直交する３方向（ｘ軸、ｙ軸、ｚ軸方向）の方向別の力の成分である。また、ｎｘ、ｎｙ，ｎｚは手先座標系３６の互いに直交する３方向まわりの回転モーメントである。
【００６３】
目標軌道生成手段（目標軌道生成部）２３は、目標とするロボットアーム５の動作を実現するための手先位置及び姿勢目標ベクトルｒｄを第１演算部５１に出力する。目標とするロボットアーム５の動作は、目的とする作業に応じて、事前に、それぞれの時間（ｔ＝０、ｔ＝ｔ１、ｔ＝ｔ２、・・・）でのポイント毎の位置（ｒｄ０、ｒｄ１、ｒｄ２、・・・）が時系列データとして与えられている。目標軌道生成手段２３は、多項式補間を使用し、各ポイント間の軌道を補完し、手先位置及び姿勢目標ベクトルｒｄを生成する。
【００６４】
インピーダンス計算手段（インピーダンス計算部）２５は、ロボットアーム５に機械インピーダンス設定値へのロボットアーム５の機械インピーダンスの値の制御を実現する機能を果たす部分である。インピーダンス計算手段２５は、後述するように力変換手段３０から入力された変換操作力Ｆｍに基づき、ロボットアーム５が目標軌道生成手段２３の生成する目標軌道に沿うよう位置制御により単独で動作する場合は、０を出力する。一方、ロボットアーム５と人間とが協働作業をする場合には、インピーダンス計算手段２５は、設定したインピーダンスパラメータＭＩ、ＤＩ、及び、ＫＩ（慣性ＭＩ、粘性ＤＩ、及び、剛性ＫＩ）と、後述するように力センサー３から力変換手段（力変換部）３０へ入力される外力Ｆｍｓ＝［ｆｘ，ｆｙ，ｆｚ，ｎφ］Ｔを基に力変換手段３０で変換された変換操作力Ｆｍとにより、ロボットアーム５に機械インピーダンスを実現するための手先位置及び姿勢目標補正出力Δｒｄを以下の式（１）により計算して、第１演算部５１に出力する。
【００６５】
インピーダンス計算手段２５から出力された手先位置及び姿勢目標補正出力Δｒｄは、目標軌道生成手段２３の出力する手先位置及び姿勢目標ｒｄに第１演算部５１で加算され、手先位置及び姿勢補正目標ベクトルｒｄｍが第１演算部５１で生成される。手先位置及び姿勢補正目標ベクトルｒｄｍは第１演算部５１から位置誤差計算部５２に入力される。ただし、ｎφは第４関節軸回りの回転モーメントである。
【００６６】
【数１】
2013175777.tif 000003
．．．．．（１）
ただし、
【００６７】
【数２】
2013175777.tif 000004
．．．．．（２）
【００６８】
【数３】
2013175777.tif 000005
．．．．．（３）
【００６９】
【数４】
2013175777.tif 000006
．．．．．（４）
であり、ｓはラプラス演算子である。
【００７０】
順運動学計算手段（順運動学計算部）２６には、ロボットアーム５のそれぞれの関節軸のエンコーダ４２から出力された各関節角の現在値ｑである関節角度ベクトルｑがカウンタボード２２を介して入力される。順運動学計算手段２６では、ロボットアーム５の関節角度ベクトルｑから手先位置及び姿勢ベクトルｒへの変換の幾何学的計算を行う。手先位置及び姿勢ベクトルｒは、順運動学計算手段２６から目標軌道生成手段２３と位置誤差計算部５２とにそれぞれ入力される。
【００７１】
位置誤差計算部５２は、順運動学計算手段２６により計算される手先位置及び姿勢ベクトルｒと、第１演算部５１で生成された手先位置及び姿勢補正目標ベクトルｒｄｍとの誤差ｒｅを求め、求めた誤差ｒｅを位置誤差補償手段（位置誤差補償部）２７に出力する。
【００７２】
位置誤差補償手段２７は、位置誤差計算部５２で求められた誤差ｒｅに基づいて位置誤差補償出力ｕｒｅを求め、求めた位置誤差補償出力ｕｒｅをダイナミクス制御手段２８に出力する。
【００７３】
ダイナミクス制御手段２８は、エンコーダ４２からの関節角度ベクトルｑと、位置誤差補償手段２７からの位置誤差補償出力ｕｒｅと、ロボットアーム５の運動方程式に基づく計算式（５）、すなわち、
【００７４】
【数５】
2013175777.tif 000007
．．．．．（５）
とを用いて、ロボットアーム５の手先位置誤差を補償するための手先位置誤差補償トルクτｒを計算して目標トルク計算部５３に出力する。ダイナミクス制御手段２８のデータベースには、把持物体３８の重さ情報及び慣性情報、ロボットアーム５の重さ情報及び慣性情報などのダイナミックスの情報を予め記憶しておき、把持物体３８の重力補償を行う。
【００７５】
ただし、Ｍ（ｑ）は慣性行列（慣性力項）、
【００７６】
【数６】
2013175777.tif 000008
．．．．．（６）
は遠心力及びコリオリ力項であり、ｇ（ｑ）は重力項である。これらの項は、ロボットアーム５を構成する各リンク構造、ハンド６で把持した物体３８の重量、及び、慣性モーメントといった値により構成されるダイナミクスパラメータである。なお、遠心力及びコリオリ力項は任意であり、少なくとも慣性行列（慣性力項）と重力項でダイナミクスパラメータを構成する。また、Ｊｒ（ｑ）は式（７）、すなわち、
【００７７】
【数７】
2013175777.tif 000009
．．．．．（７）
の関係を満たすヤコビ行列である。また、重力項ｑ（ｑ）はロボットアーム５の重力項ｇａ（ｑ）と物体３８の重力項ｇｏ（ｑ）との和である。
【００７８】
アシスト力補正手段３４は、エンコーダ４２からの関節角度ベクトルｑと、外力センサー５０で検出された外力Ｆｅｓとに基づき、アシスト力補正トルクΔτａを、
【００７９】
【数８】
2013175777.tif 000010
．．．．．（８）
を用いて計算する。ただし、Δｇ（ｑ、Ｆｅｈｓ）は重力補償補正トルクであり、Ｆｅｈｓは外力センサー５０で検知される外力の内、水平成分であり、抵抗力６０に等しい。計算されたアシスト力補正トルクΔτａは目標トルク計算部５３に入力される。
【００８０】
目標トルク計算部５３は、ダイナミクス制御手段２８で求められた手先位置誤差補償トルクτｒとアシスト力補正手段３４で求められたアシスト力補正トルクΔτａとを加算して、目標トルクτｄを求める。目標トルクτｄは目標トルク計算部５３からトルク制御手段４８に入力される。
【００８１】
トルク制御手段４８は、目標トルク計算部５３で求められた目標トルクτｄが入力され、この目標トルクτｄと、各関節を駆動するモータドライバ１８で検出されたモータ４１に流れる電流ｉとに基づいて式（９）、すなわち、
【００８２】
【数９】
2013175777.tif 000011
．．．．．（９）
を用いて、モータドライバ１８への電圧指令値ｖを計算する。ただし、Ｋτはトルク制御のゲインであり、ＫＭはトルク定数である。
【００８３】
電圧指令値ｖは、トルク制御手段４８からＤ／Ａボード２０を介してモータドライバ１８に電圧指令値として与えられる。そして、電圧指令値ｖに基づいて、モータドライバ１８でそれぞれのモータ４１が駆動されて、各関節軸が正逆回転駆動されてロボットアーム５が動作する。
【００８４】
以上のように構成されるロボットアーム制御手段４の基本構成に関して動作の基本原理を説明する。
【００８５】
動作の基本は、位置誤差補償手段２７による手先位置及び姿勢誤差ｒｅのフィードバック制御（位置制御）であり、図２Ａの点線で囲まれた部分が位置制御系２９になっている。すなわち、位置制御系２９は、位置誤差計算部５２と、位置誤差補償手段２７と、ダイナミクス制御手段２８と、目標トルク計算部５３と、トルク制御手段４８とで構成されている。
【００８６】
位置誤差補償手段２７として、例えば、ＰＩＤ補償器を使用すれば、手先位置及び姿勢誤差ｒｅが０に収束するように制御が働き、目標とするロボットアーム５のインピーダンス制御動作を実現することができる。
【００８７】
インピーダンス制御を行う場合、前記説明した位置制御系２９に対し、インピーダンス計算手段２５から出力された手先位置及び姿勢目標補正出力Δｒｄが、目標軌道生成手段２３から出力された手先位置及び姿勢目標ｒｄに第１演算部５１で加算されて、手先位置及び姿勢の目標値の補正が行われる。そして、この補正された手先位置及び姿勢の目標値が手先位置及び姿勢補正目標ベクトルｒｄｍとして位置制御系２９に入力される。このために、前記した位置制御系２９は、手先位置及び姿勢の目標値が本来の値より微妙にずれることになり、結果的に機械インピーダンスが実現される。
【００８８】
また、位置制御系２９とインピーダンス計算手段２５と目標軌道生成手段２３と第１演算部５１とで構成されて、図２Ａの一点鎖線で囲まれた部分は、位置制御ベースのインピーダンス制御系（インピーダンス制御手段又はインピーダンス制御部）４９と呼ばれる構成である。このインピーダンス制御系４９により、慣性ＭＩ、粘性ＤＩ、及び、剛性ＫＩの機械インピーダンスが実現される。ロボットアーム制御手段４は、動作制御手段、又は動作制御部の一例としても機能する。
【００８９】
以上のインピーダンス制御を利用すれば、図３に示すような、人３９とロボット１のロボットアーム５との物体３８の協調搬送のような協働作業が可能となる。人３９が物体３８を移動しようとして、操作ハンドル４０の棒状握り部に両手で力をかけると、操作ハンドル４０を通じて、力がロボット１のロボットアーム５に伝わる。前記ロボットアーム５に伝わった力が、ロボットアーム５の操作力センサー３により、操作力Ｆｍｓとして検出される。操作力センサー３からロボットアーム制御手段４への入力となる操作力Ｆｍｓは、操作ハンドル４０の重力を考慮するとともに、手先座標系３６の原点Ｏｅと操作力センサー３の測定面４７の位置とが異なることを考慮するため、力変換手段３０において、操作力センサー３により検出された操作力Ｆｍｓを基に式（１０）で計算を行い、この計算により算出される操作力Ｆｍを使用する。
【００９０】
【数１０】
2013175777.tif 000012
．．．．．（１０）        
ただし、ｍは操作ハンドル４０の質量である。ｇは重力加速度である。０Ｒｅは手先座標系３６から絶対座標系３５へ姿勢を変換する回転行列である。ｌｓは操作力センサー３の測定面４７から第４関節１４の関節軸までの距離（垂線長さ）である。式（１０）で計算される外力Ｆｍを入力にしてインピーダンス制御を行えば、ロボットアーム５は、人３９がかけた力の方向に沿うように動作するため、協調搬送が実現する。なお、操作ハンドル４０の質量ｍ、及び、重力加速度ｇは、力変換手段３０に予め記憶されている。
【００９１】
図４Ａ〜図４Ｂは搬送作業時に発生する力の関係を説明する図である。図４Ａは通常の搬送作業の場合を示している。ここで、通常の搬送作業とは、例えば、立て起こし動作、又は、引きずる動作のような、特殊な動作ではない、普通に物体を持ち上げて搬送するだけの動作を意味する。
【００９２】
図４Ａでは、追加アシスト力は鉛直方向の上向きではなく、斜め上向きであるため、水平成分と垂直成分とが発生し、この発生した水平成分により、把持物体３８の回転中心が床面９０に対してずれることになり、円滑な回転動作を妨げる可能性がある。
【００９３】
一方、図４Ｂは、本第１実施形態で採用している重力補償の場合を示している。人３９が物体３８を移動しようとして操作ハンドル４０にかける力が、操作力４３である。操作力４３が操作ハンドル４０にかけられた結果、インピーダンス制御によりロボットアーム５が物体３８にかける力がアシスト力４４であり、操作力４３とアシスト力４４とのベクトルの方向は同じである。また、図中の４５は追加アシスト力であり、操作力４３に基づくアシスト力４４に追加して加える力である。本第１実施形態では、追加アシスト力として重力補償を採用している。追加アシスト力は、式（５）の重力項ｇ（ｑ）のうち、物体３８の重力項ｇｏ（ｑ）により発生する力に相当する。図４Ｂに示すように、追加アシスト力４５は鉛直方向の上向きとなる。この追加アシスト力４５を物体３８に働く重力４６と釣り合うようにすれば、物体３８はアシスト力４４に従って運動することになり、人３９は、物体３８をあたかも無重力であるかのように操作可能となる。  本発明の第１実施形態のロボット１の制御装置２の特徴は、以上の基本的なロボットアーム制御手段４の構成に加え、アシスト力補正手段３４を有するところにある。すなわち、図２Ｂに示すように、ロボット１の制御装置２は、操作力取得部３と、抵抗力取得部５０と、インピーダンス制御部４９と、アシスト力補正手段３４とを備えて構成している。
【００９４】
操作力取得部３は、多関節ロボットアーム５に配設されて、人３８による操作力Ｆｍｓを取得するものである。後述する操作力センサー３が、操作力取得部３の一例として機能する。
【００９５】
抵抗力取得部５０は、多関節ロボットアーム５に配設されて、多関節ロボットアーム５で把持される把持物体３８と外環境（例えば床面）９０とが接触した状態を維持しつつ床面９０に対して把持物体３８の一辺を回転中心３３として把持物体３８の立て起こし動作を行うとき、把持物体３８と床面９０との接触における摩擦により発生する抵抗力６０を取得する。後述する力センサー５０が、抵抗力取得部５０の一例として機能する。
【００９６】
インピーダンス制御部４９は、操作力取得部３が取得した操作力Ｆｍｓ及び設定されたインピーダンスパラメータに基づき多関節ロボットアーム５をインピーダンス制御する。
【００９７】
アシスト力補正手段３４は、把持物体３８の立て起こし動作を行うとき抵抗力６０の目標値である目標抵抗力ＦＲｇｄがゼロとなるように、抵抗力取得部５０で取得した抵抗力６０に応じてインピーダンス制御部４９により発生するアシスト力の抵抗力６０に垂直な方向の力成分（追加アシスト力４５）を補正する。
【００９８】
以下、アシスト力補正手段３４の詳細について図５Ａ〜図５Ｃに示す物体搬送作業を行う場合を例に説明する。
【００９９】
図５Ａ〜図５Ｃでの物体搬送作業内容は、以下の通りである。
【０１００】
図５Ａに示すように、床面９０上の物体３８を吸着パッド３７で吸着することにより、物体３８を把持する。
【０１０１】
その後、図５Ｂに示すように、操作ハンドル４０を操作することにより、物体３８の重心５５が、二点鎖線で示す理想軌道３２に沿うように、床面９０に接触している物体３８の一辺を回転中心３３として、物体３８の立て起こし動作を行う。
【０１０２】
そして、図５Ｃに示すように、操作ハンドル４０を操作することにより、物体３８を立てた状態へともっていく。
【０１０３】
理想軌道３２に沿う運動が最も効率的でスムーズな動作となるが、実際の作業では理想軌道３２に完全に沿うように動作させることは難しく、理想軌道３２から外れようとする動きとなってしまう。
【０１０４】
力関係で言えば、図６Ａに示すように、アシスト力が理想のアシスト力５８のように理想軌道３２の接線方向の力であれば、鉛直方向沿い下向きの重力４６と、鉛直方向沿い上向きの追加アシスト力４５と外環境（例えば床面）９０の平面に対しての垂直な方向（例えば鉛直方向）の上向きの垂直抗力５６とは釣り合っているので、回転中心３３から見れば回転モーメントのみが加えられることになり、理想である。が、図６Ａに示すように、実際のアシスト力５７のように方向がずれてしまった場合には、回転中心３３において、物体３８と外環境の一例としての床面９０との摩擦による抵抗力６０が発生し、外力センサー５０によって外力の水平成分６１として検知される。
【０１０５】
図６Ｂに示すように、実際のアシスト力５７の方向のズレが大きい場合には、抵抗力６０が摩擦を上回り、回転中心３３の位置が動いてしまい、作業がより困難となってしまう。
【０１０６】
こうした課題に対し、アシスト力補正手段３４は、抵抗力６０の発生時に検出される外力６１に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル５９分だけ追加アシスト力４５の補正を行い、補正追加アシスト力６２へと補正する。このアシスト力補正手段３４の補正により、アシスト力は、実際のアシスト力５７から理想のアシスト力５８へと修正される。このような修正動作は、前記抵抗力６０の水平成分であるＦｅｈｓがゼロとなるようにアシスト力補正手段３４によりアシスト力を補正していることを意味する。
【０１０７】
このような動作を行うため、アシスト力補正手段３４は、図２Ｃに示すように、方向制御部３４ａと、演算部３４ｂとで構成されている。
【０１０８】
方向制御部３４ａは、抵抗力６０の方向に応じて、アシスト力の抵抗力６０に垂直な方向の力成分を増加の方向又は減少の方向のどちらに補正するかを、以下の式（１１）又は式（１２）を使用して決める。
【０１０９】
演算部３４ｂは、方向制御部３４ａで決定した方向に基づき、抵抗力６０の大きさに比例してアシスト力の抵抗力６０に垂直な方向の力成分の補正量を決める。
【０１１０】
具体的には、式（８）の重力補償補正トルクを、
【０１１１】
【数１１】
2013175777.tif 000013
（外力の水平成分Ｆｅｈｓが＋Ｘ方向の場合）．．．．．（１１）  
【０１１２】
【数１２】
2013175777.tif 000014
（外力の水平成分Ｆｅｈｓが−Ｘ方向の場合）．．．．．（１２）によりアシスト力補正手段３４で計算する。ただし、Ｋ１は定数ゲインであり、実験により求める調整パラメータである。
【０１１３】
前記の式（１１）、（１２）によれば、図６Ａの状態のように、アシスト力５７が、理想のアシスト力５８より下を向いている場合（外力の水平成分Ｆｅｈｓが＋Ｘ方向の場合に該当）、式（１１）に基づき、アシスト力補正手段３４で計算すれば、追加アシスト力が増加することになる。すると、ロボットアーム５の物体３８を持ち上げようとする力が増加し、理想軌道３２に沿う動きへと修正されることになる。
【０１１４】
一方、図６Ｂの状態のようにアシスト力５７が理想のアシスト力５８より上を向いている場合（外力の水平成分Ｆｅｈｓが−Ｘ方向の場合に該当）、式（１２）に基づきアシスト力補正手段３４で計算すれば、追加アシスト力が減少することになる。すると、ロボットアーム５の物体３８を持ち上げようとする力が減少し、理想軌道３２に沿う動きへと修正されることになる。
【０１１５】
図７は、上述した原理に基づく、制御プログラムによるロボットアーム制御時の動作ステップを説明するフローチャートである。
【０１１６】
ステップＳ１では、ロボットアーム５の動作制御を行うとき、ロボットアーム５の各関節の関節軸のそれぞれのエンコーダ４２により計測された関節角度データ（関節角度ベクトルｑ）が制御装置２のロボットアーム制御手段４に取り込まれる。
【０１１７】
次いで、ステップＳ２では、ロボットアーム５からの関節角度データ（関節角度ベクトルｑ）から、ロボットアーム５の現在（ロボットアーム５の動作制御を行うとき）の手先位置及び姿勢ベクトルｒが順運動学計算手段２６により計算される（順運動学計算手段２６での処理）。手先位置及び姿勢ベクトルｒは、順運動学計算手段２６から目標軌道生成手段２３と位置誤差計算部５２とにそれぞれ入力される。
【０１１８】
次いで、ステップＳ３では、操作力センサー３の計測値である操作力Ｆｍｓが力変換手段３０に取り込まれ、操作力Ｆｍｓと式（８）とに基づき、変換操作力Ｆｍが力変換手段３０で計算される。この結果、操作力センサー３の計測値である操作力Ｆｍｓが変換操作力Ｆｍに力変換手段３０で変換される。変換された変換操作力Ｆｍは、力変換手段３０からインピーダンス計算手段２５に出力される。
【０１１９】
次いで、ステップＳ４では、インピーダンスパラメータＭＩ、ＤＩ、及び、ＫＩと、力変換手段３０において変換された変換操作力Ｆｍとから、手先位置及び姿勢目標補正出力Δｒｄが、インピーダンス計算手段２５により計算される（インピーダンス計算手段２５での処理）。計算された手先位置及び姿勢目標補正出力Δｒｄは、インピーダンス計算手段２５から第１演算部５１に出力される。
【０１２０】
次いで、ステップＳ５では、目標軌道生成手段２３からの手先位置及び姿勢目標ベクトルｒｄとインピーダンス計算手段２５からの手先位置及び姿勢目標補正出力Δｒｄとの和が第１演算部５１で計算される。第１演算部５１で計算されて求められた手先位置及び姿勢補正目標ベクトルｒｄｍは、位置誤差計算部５２に出力される。第１演算部５１で計算されて求められた手先位置及び姿勢補正目標ベクトルｒｄｍと、順運動学計算手段２６からの現在の手先位置及び姿勢ベクトルｒとの差である手先位置及び姿勢の誤差ｒｅが、位置誤差計算部５２で計算される。
【０１２１】
次いで、ステップＳ６では、位置誤差計算部５２で計算されて求められた手先位置及び姿勢の誤差ｒｅが位置誤差補償手段２７に入力されて、位置誤差補償手段２７において、誤差ｒｅを基に位置誤差補償出力ｕｒｅが求められる（位置誤差補償手段２７での処理）。位置誤差補償手段２７の具体例としてはＰＩＤ補償器が考えられる。位置誤差補償手段２７では、定数の対角行列である比例、微分、積分の３つのゲインを適切に調整することにより、位置誤差が０に収束するように制御が働く。
【０１２２】
次いで、ステップＳ７では、ダイナミクス制御手段２８において、位置誤差補償手段２７から位置誤差補償出力ｕｒｅが入力されて、関節角度ベクトルｑとダイナミクスパラメータ（慣性行列（慣性力項）と遠心力及びコリオリ力項と重力項）とに基づき、式（５）を使って手先位置誤差補償トルクτｒが計算される（ダイナミクス制御手段２８での処理）。手先位置誤差補償トルクτｒはダイナミクス制御手段２８から目標トルク計算部５３に入力される。
【０１２３】
次いで、ステップＳ８では、アシスト力補正手段３４において、外力センサー５０の計測値である外力Ｆｅｓとそれぞれのエンコーダ４２からの関節角度データ（関節角度ベクトルｑ）とが取り込まれ、式（８）、式（１１）または式（１２）に基づき重力補償補正トルクΔτｇが計算される（アシスト力補正手段３４での処理）。重力補償補正トルクΔτｇはアシスト力補正手段３４から目標トルク計算部５３に入力される。
【０１２４】
次いで、ステップＳ９では、ダイナミクス制御手段２８で計算された手先位置誤差補償トルクτｒとアシスト力補正手段３４で計算された重力補償補正トルクΔτｇとの和が目標トルク計算部５３で計算される。
【０１２５】
次いで、ステップＳ１０では、目標トルク計算部５３で計算された目標トルクτｄとモータ４１に流れる電流ｉとがトルク制御手段４８に入力されて、式（９）を使って電圧指令値ｖが計算される（トルク制御手段４８での処理）。
【０１２６】
次いで、ステップＳ１１では、電圧指令値ｖが、トルク制御手段４８からＤ／Ａボード２０を通じてモータドライバ１８に与えられる。そして、モータドライバ１８により、各モータ４１を流れる電流量を変化させることにより、ロボットアーム５の各関節の関節軸の回転運動が発生する。
【０１２７】
以上のステップＳ１〜ステップＳ１１が、制御の計算ループとして繰り返し実行されることにより、ロボットアーム５の動作の制御が実現する。
【０１２８】
以上、本第１実施形態によれば、アシスト力補正手段３４を有することにより、アシスト力補正手段３４において、抵抗力６０の発生時に検出される外力６１に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル５９分だけ追加アシスト力４５の補正を行い、補正追加アシスト力６２へと補正することができる。このため、インピーダンス制御を使ったパワーアシストロボットにおいて、抵抗力６０がゼロとなるように、アシスト力は実際のアシスト力５７から、正確な、言い換えれば、理想のアシスト力５８へと修正される。したがって、物体３８の軌道は理想軌道３２に沿った動きになるため、回転中心３３の位置が動くこともなく、接触を伴う作業の一例としての物体３８の立て起こし作業が容易に可能となる。
【０１２９】
また、本第１実施形態によれば、理想軌道３２の幾何学情報が無くても、すなわち、立て起こしを行う物体３８の寸法などの幾何学情報が無くても、抵抗力の水平成分がゼロとなるように、アシスト力を制御する結果、理想軌道３２に沿う動作が可能となり、種々の寸法の物体を扱う場合でも効率的な作業が可能となる。すなわち、抵抗力発生時に検出される外力に基づき、垂直方向のベクトルであるアシスト力の修正ベクトル分だけ追加アシスト力の補正を行い、補正追加アシスト力へと補正される。このため、インピーダンス制御を使ったパワーアシストロボットにおいて、抵抗力の水平成分がゼロとなるように、アシスト力は、実際のアシスト力から、接触を伴う作業に適した正確なアシスト力へと修正され、把持物体３８を持ち上げて床面９０から浮いてしまう状態にするのではなく、把持物体３８を床面９０に接触させたままの接触を伴う作業を容易に実現することができる。この結果、把持物体３８に対する負荷が軽減されたり、作業効率を向上させることができる。特に、正確な作業を行うときに、制御装置側で必要なアシスト力の修正を行うため、作業者は、理想軌道３２を特に気にかけずに、容易に行うことができる。このため、抵抗力が大きすぎると、把持物体３８がつぶれてしまうような把持物体３８でも、把持物体３８を損傷させることなく、所定の正確な作業を容易に行うことができる。
【０１３０】
なお、前記第１実施形態では、外力取得部を外力センサー５０としたが、これに限られるわけではなく、外力推定を使用することも可能である。この場合の構成を図８に示す。すなわち、外力推定手段（外力推定部又は抵抗力推定部）７７には、多関節ロボットアームの関節に発生するトルクをトルク推定値として推定し、この推定されたトルク推定値と、エンコーダ４２から出力された各関節角の現在値ｑである関節角度ベクトルｑと、モータドライバ１８よりモータ駆動電流値ｉと、力変換手段３０から変換操作力Ｆｍとが入力されて、外力（抵抗力）の推定値Ｆｅ＿ｅｓｔを計算して、アシスト力補正手段３４に出力する。ここでは、外力推定手段７７が、抵抗力取得部５０の一例として機能する。
【０１３１】
外力推定手段７７においては、まず、モータドライバ１８よりモータ駆動電流値ｉを取得し、モータ４１が発生している関節トルクの推定値τＭｅｓｔ＝ＫＭ／ｉを求める。また、外力推定手段７７においては、ロボットアーム５の運動方程式を使用するとともに、関節トルクの推定値τＭｅｓｔと、エンコーダ４２から出力された各関節角の現在値ｑである関節角度ベクトルｑと、力変換手段３０から取得した変換操作力Ｆｍとにより、ロボットアーム５の運動に必要なトルクの推定値τｅｓｔを下記の式（１３）により求める。
【０１３２】
【数１３】
2013175777.tif 000015
．．．．．（１３）
したがって、外力の推定値Ｆｅ＿ｅｓｔは、人による変換操作力Ｆｍも加算されることを考慮すれば、
【０１３３】
【数１４】
2013175777.tif 000016
．．．．．（１４）
で与えられる。前記式（１４）を使えば、外力センサー５０を設けなくても、外力推定手段７７で外力を推定して、抵抗力に応じた作業動作が可能となる。
【０１３４】
（第２実施形態）
本発明の第２実施形態におけるロボット１の基本的な構成は、図１および図２Ａに示した第１実施形態の場合と同様であるので、共通部分は第１実施形態と同一番号を付してそれらの説明は省略し、異なる部分についてのみ以下、詳細に説明する。
【０１３５】
図９を用いて第２実施形態における搬送作業を説明する。第２実施形態では、物体３８をロボットアーム５で持ち上げて床面９０から浮いてしまう状態にするのではなく、物体３８を床面９０に付けたままで、物体３８を持ち上げる方向にロボットアーム５から追加アシスト力４５を加えることで、垂直抗力５６を減じるものである。このようにすれば、物体３８を床面９０に付けたまま（すなわち、垂直抗力５６≧０）で床面９０を引きずるようにロボットアーム５で搬送する動作を行うことができる。
【０１３６】
第２実施形態では、アシスト力補正手段３４において、下記の式（１５）により重力補償補正トルクを計算する。
【０１３７】
【数１５】
2013175777.tif 000017
．．．．．（１５）  
ただし、ＦＲｇｄは目標抵抗力であり、μは動摩擦係数である。Ｋ２は定数ゲインであり、実験により求める調整パラメータである。
【０１３８】
式（１５）によれば、設定動摩擦係数μとして、物体３８と床面９０との間の代表的な動摩擦係数を設定しておけば、搬送動作中の動摩擦係数が、設定した設定動摩擦係数μより大きい場合、そのままでは抵抗力６０が大きくなるので、ロボットアーム５が物体３８を持ち上げる力である追加アシスト力４５をアシスト力補正手段３４により大きくする。このようにすることで、垂直抗力５６を減少させ、抵抗力６０が大きくならないように動作させることができる。逆に、搬送動作中の動摩擦係数が、設定した設定動摩擦係数μより小さい場合、そのままでは抵抗力６０が小さくなるので、追加アシスト力４５をアシスト力補正手段３４により小さくする。このようにすることで、垂直抗力５６を増加させ、抵抗力６０が小さくならないように動作させることができる。すなわち、アシスト力補正手段３４において、床面９０に対して把持物体３８の引きずり動作を行うとき抵抗力６０の目標値である目標抵抗力ＦＲｇｄが一定値となるように、操作力センサー３で取得した抵抗力６０に応じてインピーダンス制御部４９により発生するアシスト力の抵抗力６０に垂直な方向の力成分（垂直抗力５６）を補正する。以上の働きにより、床面９０の位置によって搬送動作中の動摩擦係数が変動しても、物体３８と床面９０との間に働く抵抗力６０を、設定した目標抵抗力ＦＲｇｄに近づけようとする制御を、アシスト力補正手段３４とインピーダンス制御系４９とにより、行われることができる。
【０１３９】
以上、第２実施形態によれば、アシスト力補正手段３４を有することにより、抵抗力６０が目標抵抗力ＦＲｇｄからずれると、垂直抗力５６をアシスト力補正手段３４で加減することで、物体３８と床面９０との間に働く抵抗力６０が一定になるように、アシスト力補正手段３４で制御が働く。このため、抵抗力６０の変動が少なくなり、床面９０を引きずるように物体３８を搬送する動作を安定かつ容易に行うことができるようになる。したがって、ロボットアーム５の可搬重量が十分でなく物体３８を完全に持ち上げられない場合、又は、物体３８の強度が弱く物体３８を完全に持ち上げられない場合などであっても、床面９０で物体３８を引きずる動作を適用することで、安定した搬送が可能となる。
【０１４０】
なお、目標抵抗力ＦＲｇｄは、ロボットアーム５を操作したときの操作性を考慮して実験により定めればよいが、設定範囲としては、μｍａｘ（ｍｇ−ＦＡｍａｘ）＜ＦＲｇｄ＜μｍｉｎｍｇ  が考えられる。ただし、ｍｇ＜ＦＡｍａｘの場合（物体３８を持ち上げるのに十分な可搬力がロボットアーム５にある場合）、前記下限値μｍａｘ（ｍｇ−ＦＡｍａｘ）は０とする。ここで、ｍは物体３８の質量であり、ｇは重力加速度であり、μｍａｘは発生しうる最大動摩擦係数であり、μｍｉｎは発生しうる最小動摩擦係数であり、ＦＡｍａｘはロボットアーム５が持ち上げ力として発生できる最大の力である。最大動摩擦係数μｍａｘと最小動摩擦係数μｍｉｎと、物体３８の質量ｍと、重力加速度ｇとなどの必要な環境情報は、予め、アシスト補正手段３４内のデータベースに記憶されている。
【０１４１】
アシスト補正手段３４において、前記下限値μｍａｘ（ｍｇ−ＦＡｍａｘ）より小さな目標抵抗力ＦＲｇｄを設定すると、ロボットアーム５の持ち上げ力が十分でなく、目標抵抗力ＦＲｇｄを達成できなくなる場合が発生する。また、アシスト補正手段３４において、前記上限値μｍｉｎｍｇより大きな目標抵抗力ＦＲｇｄを設定すると、物体３８に対してロボットアーム５が持ち上げ力ではなく、逆に床面９０に押しつける力を出す必要がある場合が発生し、重量物搬送のためのパワーアシスト装置としては不適切な動作となる。したがって、目標抵抗力ＦＲｇｄの設定範囲としては、μｍａｘ（ｍｇ−ＦＡｍａｘ）＜ＦＲｇｄ＜μｍｉｎｍｇ  とすることが好ましい。
【０１４２】
（第３実施形態）
本発明の第３実施形態におけるロボット１の基本的な構成は、図１および図２Ａに示した第１実施形態の場合と同様であるので、共通部分は第１実施形態と同一番号を付してそれらの説明は省略し、異なる部分についてのみ以下、詳細に説明する。
【０１４３】
図１０Ａ〜図１０Ｃを用いて第３実施形態における物体３８の搬送作業を説明する。第３実施形態では、物体３８を位置決めのために、物体３８を、外環境の一例としての壁面６３の表面に押さえつけながら、所定の位置に設置する搬送動作を行うものである。図１０Ａは、物体３８を壁面６３に接触させる動作である。図１０Ｂは、物体３８を壁面６３に接触させた状態で物体３８を壁面６３の表面に沿って目標位置まで移動させる（引きずる）動作である。図１０Ｃは、物体３８を壁面６３に接触させた状態で物体３８を壁面６３に沿って目標位置まで移動させた状態である。
【０１４４】
第３実施形態では、アシスト力補正手段３４において、力制御を適用し、下記の式（１６）によりアシスト力補正トルクを計算する。
【０１４５】
【数１６】
2013175777.tif 000018
．．．．．（１６）  
ただし、ＦＲｆｄは目標抵抗力ベクトルであり、Ｆｅｗｓは外力の壁面６３に平行な成分６４であり、抵抗力６５と同方向で同じ大きさの力である。Ｋ３は定数ゲイン行列であり、実験により求める調整パラメータである。アシスト力補正手段３４において、式（１６）に基づく制御により、追加アシスト力４５として物体３８を壁面に押しつける力が発生し、外力の壁面６３に平行な成分Ｆｅｗｓの大きさに応じて、追加アシスト力４５が増減される。
【０１４６】
式（１６）によれば、設定動摩擦係数μとして、物体３８と壁面６３との間の代表的な動摩擦係数を設定しておけば、搬送動作中の壁面６３の位置によって動摩擦係数が変動しても、動摩擦係数が、設定した設定動摩擦係数μより大きい場合、ロボットアーム５が物体３８を壁面６３に押しつける力である追加アシスト力４５をアシスト力補正手段３４により小さくする。逆に、動摩擦係数が、設定した設定動摩擦係数μより小さい場合、追加アシスト力４５をアシスト力補正手段３４により大きくする。このようにすることで、垂直抗力５６を加減し、物体３８と壁面６３との間に働く抵抗力６０を、設定した目標抵抗力ベクトルＦＲｆｄに近づけようとする制御を、アシスト力補正手段３４とインピーダンス制御系４９とにより、行われることができる。すなわち、アシスト力補正手段３４において、壁面６３に対して把持物体３８の引きずり動作を行うとき抵抗力６０の壁面に平行な成分であるＦｅｗｓが目標抵抗力ベクトルＦＲｆｄとなるように、操作力センサー３で取得した抵抗力６０に応じてインピーダンス制御部４９により発生するアシスト力の抵抗力６０に垂直な方向の力成分（追加アシスト力４５）を補正する。
【０１４７】
以上、第３実施形態によれば、アシスト力補正手段３４を有することにより、物体３８と壁面６３との間に働く抵抗力６０が一定になるように、アシスト力補正手段３４で制御が働き、変動が少なくなる。このため、物体３８を壁面６３で滑らすように（引きずるように）搬送する動作を安定かつ容易に行うことができるようになる。
【０１４８】
（第４実施形態）
本発明の第４実施形態におけるロボット１の基本的な構成は、図１に示した第１実施形態の場合と同様であるので、共通部分は第１実施形態と同一番号を付してそれらの説明は省略し、異なる部分についてのみ、以下、詳細に説明する。
【０１４９】
図１１は、第４実施形態におけるロボットのロボットアーム制御手段４Ｂの構成を示すブロック図である。
【０１５０】
第４実施形態では、１０Ａ〜図１０Ｃに示す第３実施形態と同様の搬送作業を行う。
【０１５１】
第４実施形態では、アシスト力補正手段３４において、インピーダンス制御による力制御を適用し、下記の式（１７）により目標追加アシスト力Ｆａｄを計算する。
【０１５２】
【数１７】
2013175777.tif 000019
．．．．．（１７）  
ただし、ＦＲｆｄは目標抵抗力ベクトルであり、Ｆｅｗｓは外力の壁面６３に平行な成分６４であり、抵抗力６５と同方向で同じ大きさの力である。Ｋ４は定数ゲイン行列であり、実験により求める調整パラメータである。
【０１５３】
式（１７）によりアシスト力補正手段３４で計算された目標追加アシスト力Ｆａｄは、力入力計算部６６において、力変換手段３０での変換後の変換操作力Ｆｍに対して減算され、計算値が、力入力計算部６６からインピーダンス計算手段２５に入力される。
【０１５４】
式（１７）に基づく制御により、追加アシスト力４５として物体３８を壁面６３に押しつける力が発生し、外力の壁面６３に平行な成分Ｆｅｗｓの大きさに応じて、アシスト力補正手段３４で追加アシスト力４５が増減される。
【０１５５】
式（１７）によれば、動摩擦係数μとして、物体３８と壁面６３との間の代表的な動摩擦係数を設定しておけば、壁面６３の位置によって動摩擦係数が変動しても、動摩擦係数が、設定した設定動摩擦係数μより大きい場合、ロボットアーム５が物体３８を壁面６３に押しつける力である追加アシスト力４５をアシスト力補正手段３４により小さくする。逆に、動摩擦係数が、設定した設定動摩擦係数μより小さい場合、アシスト力補正手段３４により追加アシスト力４５を大きくすることで、垂直抗力５６を加減する。その結果、物体と壁面６３との間に働く抵抗力を、設定した目標抵抗力ベクトルＦＲｆｄに近づけようとする制御を、アシスト力補正手段３４とインピーダンス制御系４９とにより、行わせることができる。
【０１５６】
以上、第４実施形態によれば、アシスト力補正手段３４を有することにより、物体３８と壁面６３との間に働く抵抗力６０が一定になるように、アシスト力補正手段３４で制御が働き、変動が少なくなる。このため、物体３８を壁面６３で滑らすように搬送する動作を安定かつ容易に行うことができるようになる。
【０１５７】
なお、前記第４実施形態では、図１０Ａ〜図１０Ｃに示す壁面６３に押しつける作業を例に説明したが、これに限られるわけではなく、目標抵抗力ベクトルＦＲｆｄとして、床面９０に平行なベクトルを設定し、前記Ｆｅｗｓとして外力の床面９０に平行な成分を考えれば、図９に示す作業も可能である。さらに、下記の式（１８）、（１９）により、目標追加アシスト力Ｆａｄを計算することにより、図５Ａ〜図５Ｃに示す作業にも適用可能である。
【０１５８】
【数１８】
2013175777.tif 000020
（外力の水平成分Ｆｅｈｓが＋Ｘ方向の場合）．．．．．（１８）  
【０１５９】
【数１９】
2013175777.tif 000021
（外力の水平成分Ｆｅｈｓが−Ｘ方向の場合）．．．．．（１９）
ただし、Ｋ５は定数ゲインであり、実験により求める調整パラメータである。
【０１６０】
なお、前記第１〜第４実施形態では、ロボットアーム５をモータ４１で関節を駆動するとしたが、これに限られるわけではなく、空気圧シリンダー又は空気圧人工筋などの空圧アクチュエータ言い換えれば弾性体アクチュエータでも同様の効果を発揮する。
【０１６１】
また、物体３８を把持する部材として、吸着パッド３７を例示しているが、これに限られるものではなく、機械的なチャック部材、電磁チャックなど、公知の把持装置を適用することも可能である。
【０１６２】
なお、本発明を第１〜第４実施形態又は変形例に基づいて説明してきたが、本発明は、上記の第１〜第４実施形態又は変形例に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
前記実施形態では、抵抗力の水平成分がゼロとなるように、アシスト力を制御する場合に限られるものではなく、前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないように、アシスト力を制御するようにしてもよい。
【０１６３】
前記各制御装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１６４】
例えば、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、前記実施形態又は変形例における制御装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、
多関節ロボットアームに配設された操作力取得部で取得した人による操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を、前記多関節ロボットアームに配設された抵抗力取得部から取得し、前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力に垂直な方向の力成分を補正するアシスト力補正手段
として機能させるためのロボットの制御プログラムである。
【０１６５】
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、ＣＤ−ＲＯＭなどの光ディスク、磁気ディスク、又は、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。
【０１６６】
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１６７】
また、前記様々な実施形態又は変形例のうちの任意の実施形態又は変形例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０１６８】
本発明のロボット、ロボットの制御装置、制御方法、及び制御プログラムは、接触に伴い発生する摩擦による抵抗力に応じた動作が可能となり、物体の搬送を行う動作を制御する、ロボット、ロボット制御装置、制御方法、及び制御プログラムとして有用である。
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形又は修正は明白である。そのような変形又は修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【図１】
2013175777.tif 000022
【図２Ａ】
2013175777.tif 000023
【図２Ｂ】
2013175777.tif 000024
【図２Ｃ】
2013175777.tif 000025
【図３】
2013175777.tif 000026
【図４Ａ】
2013175777.tif 000027
【図４Ｂ】
2013175777.tif 000028
【図５Ａ】
2013175777.tif 000029
【図５Ｂ】
2013175777.tif 000030
【図５Ｃ】
2013175777.tif 000031
【図６Ａ】
2013175777.tif 000032
【図６Ｂ】
2013175777.tif 000033
【図７】
2013175777.tif 000034
【図８】
2013175777.tif 000035
【図９】
2013175777.tif 000036
【図１０Ａ】
2013175777.tif 000037
【図１０Ｂ】
2013175777.tif 000038
【図１０Ｃ】
2013175777.tif 000039
【図１１】
2013175777.tif 000040
【手続補正書】
【提出日】平成26年11月27日(2014.11.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多関節ロボットアームを有するロボットの制御装置であって、
前記多関節ロボットアームに配設されて、人による操作力を取得する操作力取得部と、
前記多関節ロボットアームに配設されて、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得する抵抗力取得部と、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分を補正するアシスト力補正部を備えるロボットの制御装置。
【請求項２】
多関節ロボットアームを有するロボットの制御装置であって、
前記多関節ロボットアームに配設されて、人による操作力を取得する操作力取得部と、
前記多関節ロボットアームに配設されて、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境からの垂直抗力を減じ、前記把持物体と前記外環境とが接触したまま引きずるように前記把持物体を前記外環境の表面に沿って搬送する動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得する抵抗力取得部と、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記把持物体の引きずり動作を行うとき前記抵抗力の水平成分又は壁面に平行な成分が、前記把持物体の引きずり動作を行うときの前記抵抗力の目標値である目標抵抗力ベクトルとなるように、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分又は壁面に平行な成分に垂直な方向の力成分を補正するアシスト力補正部を備えるロボットの制御装置。
【請求項３】
前記アシスト力補正部は、
前記抵抗力の方向に応じて、前記アシスト力の前記抵抗力に垂直な方向の前記力成分を増加の方向または減少の方向のどちらに補正するかを決める方向制御部と、
前記方向制御部で決定した方向に基づき、前記抵抗力の大きさに比例して前記アシスト力の前記抵抗力に垂直な方向の前記力成分の補正量を決める演算部とを備える、請求項１に記載のロボットの制御装置。
【請求項４】
前記アシスト力補正部は、前記抵抗力の大きさに比例して前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分を増加させる請求項２に記載のロボットの制御装置。
【請求項５】
前記アシスト力補正部は、前記抵抗力の大きさに比例して前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分を減少させる請求項２に記載のロボットの制御装置。
【請求項６】
前記アシスト力補正部は、前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分として、前記把持物体の重力補償による力を補正する請求項１に記載のロボットの制御装置。
【請求項７】
前記アシスト力補正部は、前記インピーダンス制御部により発生する前記アシスト力の前記抵抗力に垂直な方向の前記力成分として、前記把持物体を前記外環境に押しつける力制御による力を補正する請求項５に記載のロボットの制御装置。
【請求項８】
前記抵抗力取得部は、前記多関節ロボットアームの手先部と前記多関節ロボットアームが把持する前記把持物体との間に配設された力センサーである請求項１から請求項７のいずれか１つに記載のロボットの制御装置。
【請求項９】
前記抵抗力取得部は、前記多関節ロボットアームの関節に発生するトルクをトルク推定値として推定し、前記トルク推定値と前記操作力取得部により取得された操作力とより、抵抗力を取得する外力推定部である請求項１から請求項７のいずれか１つに記載のロボットの制御装置。
【請求項１０】
多関節ロボットアームと、
請求項１〜９のいずれか１つに記載のロボットの制御装置とを備えるロボット。
【請求項１１】
多関節ロボットアームを有するロボットの制御方法であって、
前記多関節ロボットアームに配設された操作力取得部で、人による操作力を取得し、
前記多関節ロボットアームに配設された抵抗力取得部で、前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を取得し、
前記操作力取得部が取得した前記操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御部でインピーダンス制御し、
前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力取得部で取得した前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分をアシスト力補正部で補正するロボットの制御方法。
【請求項１２】
多関節ロボットアームを有するロボットの制御プログラムであって、
コンピュータを、
前記多関節ロボットアームに配設された操作力取得部で取得した人による操作力及び設定されたインピーダンスパラメータに基づき前記多関節ロボットアームをインピーダンス制御するインピーダンス制御部と、
前記多関節ロボットアームで把持される把持物体と外環境とが接触した状態を維持しつつ前記外環境に対して前記把持物体の一辺を回転中心として前記把持物体の立て起こし動作を行うとき、前記把持物体と前記外環境との接触における摩擦により発生する抵抗力を、前記多関節ロボットアームに配設された抵抗力取得部から取得し、前記把持物体の立て起こし動作を行うとき前記把持物体と前記外環境との接触における摩擦力が最大静止摩擦力を越えないよう、前記抵抗力に応じて前記インピーダンス制御部により発生するアシスト力の前記抵抗力の水平成分に垂直な方向の力成分を補正するアシスト力補正部として機能させるためのロボットの制御プログラム。
【国際調査報告】
2013175777.tif 000041
2013175777.tif 000042
2013175777.tif 000043
2013175777.tif 000044