(57)【要約】【課題】基台に対する胴体の位置によらず、振動を抑制することのできるロボット、ロボット制御装置およびロボットシステムを提供すること。【解決手段】ロボット２００は、ベース２１０と、ベース２１０に連結された胴体２２０と、胴体２２０に回動可能に連結された多関節ロボットアーム２３０、２４０と、胴体２２０を低位置およびそれより高い高位置とすることができる昇降機構８００とを有し、胴体２２０が低位置のときに多関節ロボットアーム２３０の先端を所定距離動かしたときにかかる時間よりも、胴体２２０が高位置のときに多関節ロボットアーム２３０の先端を所定距離動かしたときにかかる時間の方が長い。【選択図】図１
2015085405.tif 000002
【特許請求の範囲】
【請求項１】
基台と、
前記基台に設けられた胴体と、
前記胴体に設けられた第１ロボットアームと、
前記胴体を第１位置および前記第１位置よりも前記基台から離間した第２位置とすることができる移動機構と、を有し、
前記胴体が前記第１位置のときに前記第１ロボットアームの先端を所定距離動かしたときにかかる第１の時間よりも、前記胴体が前記第２位置のときに前記第１ロボットアームの先端を前記所定距離動かしたときにかかる第２の時間の方が長いことを特徴とするロボット。
【請求項２】
前記第１ロボットアームの駆動条件を定める設定値を受け付ける設定受付部を有し、
前記設定受付部で受け付けられた前記設定値が、前記第１位置と前記第２位置とで同じである請求項１に記載のロボット。
【請求項３】
前記設定値を入力する入力部を有している請求項２に記載のロボット。
【請求項４】
前記所定距離動かす方向は、前記胴体の移動方向に直交する方向成分を有する方向である請求項１ないし３のいずれか１項に記載のロボット。
【請求項５】
前記第１ロボットアームを駆動するモーターを有し、
前記モーターについて、前記モーターの位置と指令位置の差である位置偏差に乗じる位置比例ゲインが、前記第１位置のときよりも前記第２位置のときの方が小さい請求項１ないし４のいずれか１項に記載のロボット。
【請求項６】
前記第１ロボットアームを駆動するモーターを有し、
前記モーターについて、加速度および減速度の少なくとも一方が、前記第１位置のときよりも前記第２位置のときの方が小さい請求項１ないし５のいずれか１項に記載のロボット。
【請求項７】
前記基台に対する前記胴体の離間距離を検知する検知部を有している請求項１ないし６のいずれか１項に記載のロボット。
【請求項８】
前記胴体に設けられた第２ロボットアームを有し、
前記胴体が前記第１位置のときに前記第２ロボットアームの先端を所定距離動かしたときにかかる時間よりも、前記胴体が前記第２位置のときに前記第２ロボットアームの先端を前記所定距離動かしたときにかかる時間の方が長い請求項１ないし７のいずれか１項に記載のロボット。
【請求項９】
前記胴体を前記基台に対して回動させる回動機構を有し、
前記胴体が前記第１位置のときに前記胴体を前記基台に対して所定角度回動させたときにかかる時間よりも、前記胴体が前記第２位置のときに前記胴体を前記所定角度回動させたときにかかる時間の方が長い請求項１ないし８のいずれか１項に記載のロボット。
【請求項１０】
前記第１の時間および前記第２の時間は、それぞれ、前記第１ロボットアームの先端を、ロボットの設置面に対して平行な方向に前記所定距離動かしたときにかかる時間である請求項１ないし９のいずれか１項に記載のロボット。
【請求項１１】
前記第１の時間および前記第２の時間は、それぞれ、前記第１ロボットアームの先端を静止状態から前記所定距離動かしたときにかかる時間である請求項１ないし１０のいずれか１項に記載のロボット。
【請求項１２】
基台と、
前記基台に設けられた胴体と、
前記胴体に設けられた第１ロボットアームと、
前記胴体を第１位置および前記第１位置よりも前記基台から離間した第２位置とすることができる移動機構と、を有するロボットを、
前記胴体が前記第１位置のときに前記第１ロボットアームの先端を所定距離動かしたときにかかる時間よりも、前記胴体が前記第２位置のときに前記第１ロボットアームの先端を前記所定距離動かしたときにかかる時間の方が長くなるように制御することを特徴とするロボット制御装置。
【請求項１３】
請求項１ないし１１のいずれか１項に記載のロボットと、
前記ロボットの作動を制御するロボット制御装置と、を備えることを特徴とするロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット、ロボット制御装置およびロボットシステムに関するものである。
【背景技術】
【０００２】
特許文献１に記載のロボットは、基台（本体部）と、基台に対して昇降可能に設けられている胴体（アーム駆動部）と、胴体に回動可能に設けられている多関節ロボットアーム（アーム）とを有している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１５７５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような構成のロボットでは、基台に対する胴体の高さが高い程、胴体の剛性が低下し、アームを駆動したときに発生する振動が大きくなる。しかしながら、特許文献１に記載のロボットでは、このような点が全く考慮されておらず、基台に対する胴体の高さに関わらず、アームの駆動条件（例えば、加速度、減速度、位置比例ゲイン等）が一定に設定されていると推察される。そのため、特に、基台に対する胴体の高さが高いときの振動を抑制することができないという問題がある。加えて、上述のような胴体の剛性の低下と言う問題から、不安定な設置状態でロボットを安定して駆動させることが困難であるという問題もある。
本発明の目的は、基台に対する胴体の位置によらず、振動を抑制することのできるロボット、ロボット制御装置およびロボットシステムを提供することにある。
【課題を解決するための手段】
【０００５】
このような目的は、下記の本発明により達成される。
本発明のロボットは、基台と、
前記基台に設けられた胴体と、
前記胴体に設けられた第１ロボットアームと、
前記胴体を第１位置および前記第１位置よりも前記基台から離間した第２位置とすることができる移動機構と、を有し、
前記胴体が前記第１位置のときに前記第１ロボットアームの先端を所定距離動かしたときにかかる第１の時間よりも、前記胴体が前記第２位置のときに前記第１ロボットアームの先端を前記所定距離動かしたときにかかる第２の時間の方が長いことを特徴とする。
これにより、基台に対する胴体の位置によらず、振動を抑制することのできるロボットを提供するができる。
【０００６】
本発明のロボットでは、前記第１ロボットアームの駆動条件を定める設定値を受け付ける設定受付部を有し、
前記設定受付部で受け付けられた前記設定値が、前記第１位置と前記第２位置とで同じであることが好ましい。
これにより、設定値によらずに、胴体が第１位置のときに第１ロボットアームを所定距離動かしたときにかかる時間よりも、胴体が第２位置のときに第１ロボットアームを所定距離動かしたときにかかる時間の方を長くすることができる。
【０００７】
本発明のロボットでは、前記設定値を入力する入力部を有していることが好ましい。
これにより、設定値を簡単に入力することができる。
本発明のロボットでは、前記所定距離動かす方向は、前記胴体の移動方向に直交する方向成分を有する方向であることが好ましい。
これにより、より効果的に振動を抑制することができる。
【０００８】
本発明のロボットでは、前記第１ロボットアームを駆動するモーターを有し、
前記モーターについて、前記モーターの位置と指令位置の差である位置偏差に乗じる位置比例ゲインが、前記第１位置のときよりも前記第２位置のときの方が小さいことが好ましい。
これにより、比較的簡単な制御で、胴体が第１位置のときに第１ロボットアームを所定距離動かしたときにかかる時間よりも、胴体が第２位置のときに第１ロボットアームを所定距離動かしたときにかかる時間の方を長くすることができる。
【０００９】
本発明のロボットでは、前記第１ロボットアームを駆動するモーターを有し、
前記モーターについて、加速度および減速度の少なくとも一方が、前記第１位置のときよりも前記第２位置のときの方が小さいことが好ましい。
これにより、比較的簡単な制御で、胴体が第１位置のときに第１ロボットアームを所定距離動かしたときにかかる時間よりも、胴体が第２位置のときに第１ロボットアームを所定距離動かしたときにかかる時間の方を長くすることができる。
【００１０】
本発明のロボットでは、前記基台に対する前記胴体の離間距離を検知する検知部を有していることが好ましい。
これにより、前記基台に対する前記胴体の離間距離を簡単に検知することができる。
本発明のロボットでは、前記胴体に設けられた第２ロボットアームを有し、
前記胴体が前記第１位置のときに前記第２ロボットアームの先端を所定距離動かしたときにかかる時間よりも、前記胴体が前記第２位置のときに前記第２ロボットアームの先端を前記所定距離動かしたときにかかる時間の方が長いことが好ましい。
これにより、より効果的に振動を抑制することができる。
【００１１】
本発明のロボットでは、前記胴体を前記基台に対して回動させる回動機構を有し、
前記胴体が前記第１位置のときに前記胴体を前記基台に対して所定角度回動させたときにかかる時間よりも、前記胴体が前記第２位置のときに前記胴体を前記所定角度回動させたときにかかる時間の方が長いことが好ましい。
これにより、より効果的に振動を抑制することができる。
【００１２】
本発明のロボットでは、前記第１の時間および前記第２の時間は、それぞれ、前記第１ロボットアームの先端を、ロボットの設置面に対して平行な方向に前記所定距離動かしたときにかかる時間であることが好ましい。
これにより、より効果的に振動を抑制することができる。
本発明のロボットでは、前記第１の時間および前記第２の時間は、それぞれ、前記第１ロボットアームの先端を静止状態から前記所定距離動かしたときにかかる時間であることが好ましい。
これにより、より効果的に振動を抑制することができる。
【００１３】
本発明のロボット制御装置は、基台と、
前記基台に設けられた胴体と、
前記胴体に設けられた第１ロボットアームと、
前記胴体を第１位置および前記第１位置よりも前記基台から離間した第２位置とすることができる移動機構と、を有するロボットを、
前記胴体が前記第１位置のときに前記第１ロボットアームの先端を所定距離動かしたときにかかる時間よりも、前記胴体が前記第２位置のときに前記第１ロボットアームの先端を前記所定距離動かしたときにかかる時間の方が長くなるように制御することを特徴とする。
これにより、基台に対する胴体の位置によらず、振動を抑制することのできるロボット制御装置が得られる。
本発明のロボットシステムは、本発明のロボットと、
前記ロボットの作動を制御するロボット制御装置と、を備えることを特徴とする。
これにより、基台に対する胴体の位置によらず、振動を抑制することのできるロボットシステムが得られる。
【図面の簡単な説明】
【００１４】
【図１】本発明のロボットシステムの好適な実施形態を示す斜視図である。
【図２】図１に示すロボットが有する昇降機構および検知部を示す断面図である。
【図３】図１に示すロボットの関節機構、捻り機構および回動軸を表す図である。
【図４】図１に示すロボットに装着されるエンドエフェクターを示す図である。
【図５】図１に示すロボットシステムの制御系を示すブロック図である。
【図６】図１に示すロボットシステムの駆動制御を示すブロック図である。
【図７】図１に示すロボットシステムの駆動制御を示すブロック図である。
【図８】図１に示すロボットシステムの駆動制御を示すブロック図である。
【図９】図１に示すロボットシステムの駆動制御を示すブロック図である。
【図１０】図１に示すロボットシステムの駆動制御を示すブロック図である。
【図１１】図１に示すロボットシステムの駆動制御を示すブロック図である。
【図１２】図１に示すロボットシステムの駆動制御を示すブロック図である。
【図１３】図１に示すロボットシステムの駆動制御を示すブロック図である。
【図１４】多関節ロボットアームの静止状態と目標状態とを示す平面図である。
【図１５】駆動信号と多関節ロボットアームの駆動とを示す図である。
【図１６】胴体の静止状態と目標状態とを示す平面図である。
【発明を実施するための形態】
【００１５】
以下、本発明のロボット、ロボット制御装置およびロボットシステムを添付図面に示す好適な実施形態に基づいて詳細に説明する。
図１は、本発明のロボットシステムの好適な実施形態を示す斜視図である。図２は、図１に示すロボットが有する昇降機構および検知部を示す断面図である。図３は、図１に示すロボットの関節機構、捻り機構および回動軸を表す図である。図４は、図１に示すロボットに装着されるエンドエフェクターを示す図である。図５は、図１に示すロボットシステムの制御系を示すブロック図である。図６〜図１３は、それぞれ、図１に示すロボットシステムの駆動制御を示すブロック図である。図１４は、多関節ロボットアームの静止状態と目標状態とを示す平面図である。図１５は、駆動信号と多関節ロボットアームの駆動とを示す図である。図１６は、胴体の静止状態と目標状態とを示す平面図である。
【００１６】
図１に示すロボットシステム１００は、双腕ロボットであり、例えば、腕時計のような精密機器等を製造する製造工程で用いることができる。このようなロボットシステム１００は、ロボット２００と、ロボット２００の作動を制御するロボット制御装置９００とを有している。なお、ロボット２００の配置としては、特に限定されないが、以下では、説明の便宜上、ロボット２００を水平な床面（設置面）に鉛直（後述する回動軸Ｏ１が鉛直）に配置する場合について説明する。
【００１７】
（ロボット）
図１に示すように、ロボット２００は、ベース（基台）２１０と、ベース２１０に連結されている胴体２２０と、胴体２２０の左右に連結されている一対の多関節ロボットアーム２３０、２４０と、胴体２２０に設けられているステレオカメラ２５０および信号灯２６０と、多関節ロボットアーム２３０、２４０に設けられているハンドカメラ２８０、２９０とを有している。
【００１８】
このようなロボット２００によれば、ステレオカメラ２５０やハンドカメラ２８０、２９０を用いて作業台上の部品、工具等の位置や、周囲の環境（周りに障害物がないかどうか、安全が確保されているかどうか）を確認しながら作業を行うことができる。また、信号灯２６０によって、ロボット２００の状態（駆動状態、正常停止状態、異常停止状態等）を容易に確認することができる。
【００１９】
−ベース−
ベース２１０には、ロボット２００の移動を容易とする複数の車輪（図示せず）と、各車輪をロックするロック機構（図示せず）と、ロボット２００を移動する際に把持するハンドル２１１とが設けられている。ロック機構を解除し、ハンドル２１１を把持して押したり引いたりすることにより、ロボット２００を自在に移動させることができ、ロック機構によって車輪をロックすることにより、ロボット２００を所定の位置で固定することができる。このように、ロボット２００を移動容易とすることで、ロボット２００の利便性が向上する。なお、車輪、ロック機構およびハンドル２１１は、それぞれ、省略してもよい。
【００２０】
また、ベース２１０には、図示しない作業台に当接させるためのバンパー２１３が設けられている。バンパー２１３を作業台の側面に当接させることによって、ロボット２００を所定の間隔を隔てて作業台と向き合わせることができる。そのため、ロボット２００と作業台との意図しない接触等を防止することができる。なお、バンパー２１３は、作業台に当接する当接部２１３ａと、ベース２１０に固定される固定部２１３ｂを有し、図１では、当接部２１３ａが固定部２１３ｂよりも下側に位置するようにベース２１０に装着されている。このようなバンパー２１３は、ベース２１０に対して着脱可能であり、バンパー２１３の向きを上下反転することができる。すなわち、図１とは反対に、当接部２１３ａが固定部２１３ｂよりも上方に位置するようにバンパー２１３をベース２１０に装着することもできる。このように、当接部２１３ａの高さを変更ことすることで、高さの異なる作業台に対応することが可能となる。
【００２１】
また、ベース２１０には、非常停止ボタン２１４が設けられており、非常時にはこの非常停止ボタン２１４を押すことによって、ロボット２００を緊急停止させることができる。
また、ベース２１０には、入力装置２７０が設けられている。入力装置２７０は、キーボードや外部機器との接続インターフェイス等のデータを入力する装置である。他にも入力装置２７０にはロボット２００の動作を入力するティーチング用の装置が含まれている。また、入力装置２７０は、モニターを有しており、このモニターにロボット２００の状態や各種データを表示することができるようになっている。
【００２２】
−胴体−
図２に示すように、胴体２２０は、昇降機構（移動機構）８００を介して、ベース２１０に対して鉛直方向（回動軸Ｏ１方向）に昇降可能に連結されている。昇降機構８００の構成としては、胴体２２０をベース２１０に対して昇降させることができれば、特に限定されない。
【００２３】
図２に示すように、本実施形態の昇降機構８００は、内部にラック８１１が設けられている筒状の昇降部８１０と、ラック８１１に噛合しているピニオン８２０と、ピニオン８２０を回転させるウォームホイール８３０と、ウォームホイール８３０を回転させるウォーム８４０と、ウォーム８４０を回転させるクランク８５０とを有している。これら構成のうち、昇降部８１０は、胴体２２０に連結されており、ピニオン８２０、ウォームホイール８３０、ウォーム８４０およびクランク８５０は、それぞれ、ベース２１０に固定されている。クランク８５０を手動で回転させると、その動力がウォーム８４０およびウォームホイール８３０を介してピニオン８２０に伝わり、ピニオン８２０の回転に伴ってラック８１１が移動する。これにより、昇降部８１０と共に胴体２２０がベース２１０に対して上昇または下降する。このように、ウォームホイール８３０およびウォーム８４０を用いることによって、クランク８５０を停止させても、昇降部８１０の位置を維持することができる。なお、クランク８５０とウォーム８４０との間に、クランク８５０の回転速度を減じる減速機を設けてもよい。
【００２４】
昇降機構８００の構成としては、上述したような手動の構成に限定されず、例えばモーター等を用いた電動の構成としてもよい。具体的には、クランク８５０の代わりに、ウォーム８４０を回転させるモーターと、モーターの回転角度を検知する位置センサーとを設け、モーターを回転させることで、胴体２２０を昇降させる構成となっていてもよい。この場合、モーターとしては、特に限定されず、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いることができ、位置センサーとしては、特に限定されず、例えば、エンコーダー、ロータリーエンコーダー、レゾルバー、ポテンショメーター等を用いることができる。
【００２５】
また、胴体２２０は、関節機構３１０を介して、ベース２１０に対して回動軸Ｏ１まわりに回動可能に連結されている。本実施形態では、回動軸Ｏ１は、鉛直方向に延在している。関節機構３１０の構成としては、胴体２２０をベース２１０に対して回動軸Ｏ１まわりに回動させることができれば、特に限定されないが、本実施形態では、図５に示すように、駆動源としてのモーター３１１と、モーター３１１の回転速度を減じる減速機（図示せず）と、モーター３１１の回転角度を検知する位置センサー３１２とを有している。モーター３１１としては、例えば、ＡＣサーボモーター、ＤＣサーボモーター等のサーボモーターを用いることができ、減速機としては、例えば、遊星ギア型の減速機、ハーモニックドライブ（「ハーモニックドライブ」は登録商標）等を用いることができ、位置センサー３１２としては、例えば、エンコーダー、ロータリーエンコーダー、レゾルバー、ポテンショメーター等を用いることができる。
【００２６】
また、図２に示すように、ロボット２００には、ベース２１０に対する胴体２２０の高さ（ベース２１０からの離間距離）を検知する検知部７６０が設けられている。検知部７６０は、ベース２１０に固定されたフォトインタラプター７６１と、胴体２２０に固定された遮蔽板７６２とを有している。また、フォトインタラプター７６１は、光を出射する発光部７６１ａと、発光部７６１ａからの光を受光する受光部７６１ｂとを有しており、これらが水平に並んで配置されている。一方、遮蔽板７６２は、胴体２２０の昇降によって、フォトインタラプター７６１の発光部７６１ａと受光部７６１ｂの間を遮るように移動する。このような構成の検知部７６０では、フォトインタラプター７６１が遮られている低位置（第１位置）と、フォトインタラプター７６１が遮られておらず、低位置よりも胴体２２０が高い高位置（第２位置）とを検知することができる。このような構成の検知部７６０によれば、簡単な構成で胴体２２０の高さを検知することができる。なお、図２は、低位置の状態を図示している。
【００２７】
検知部７６０の構成としては、胴体２２０の高さを２段階以上で検知することができれば、本実施形態に限定されず、例えば、フォトインタラプター７６１を鉛直方向に並んで複数配置し、どのフォトインタラプター７６１で光が遮られているかを検知することによって、胴体２２０の高さを検知してもよい。具体的には、２つのフォトインタラプター７６１を鉛直方向に並べて配置すれば、上側および下側のフォトインタラプター７６１が共に遮られている低位置と、上側のフォトインタラプター７６１のみが遮られ、低位置よりも胴体２２０が高い中位置と、上側および下側のフォトインタラプター７６１が共に遮られておらず、中位置よりも胴体２２０が高い高位置とを検知することが可能となる。これにより、胴体２２０の高さをより多段階に検知することができるため、胴体２２０の高さをより精度よく検知することができる。
【００２８】
また、検知部７６０の他の構成としては、例えば、クランク８５０の回転角度を検知する位置センサーを有し、この位置センサーが検知したクランク８５０の回転角度に基づいて胴体２２０の高さを検知してもよい。また、検知部７６０の他の構成としては、例えば、昇降機構８００に付された目盛であってもよい。目盛によれば、作業者が視覚的に確認することができるため、胴体２２０の高さをより明確に検知することができる。
【００２９】
−多関節ロボットアーム−
図３に示すように、多関節ロボットアーム（第１ロボットアーム）２３０は、関節機構４１０を介して胴体２２０に連結されている第１肩部（第１アーム部）２３１と、関節機構４２０を介して第１肩部２３１に連結されている第２肩部２３２（第２アーム部）と、捻り機構（関節機構）４３０を介して第２肩部２３２の先端に連結されている上腕部（第３アーム部）２３３と、関節機構４４０を介して上腕部２３３の先端に連結されている第１前腕部（第４アーム部）２３４と、捻り機構（関節機構）４５０を介して第１前腕部２３４の先端に連結されている第２前腕部（第５アーム部）２３５と、関節機構４６０を介して第２前腕部２３５の先端に連結されている手首部（第６アーム部）２３６と、捻り機構（関節機構）４７０を介して手首部２３６の先端に連結されている連結部（第７アーム部）２３７と、を有している。また、連結部２３７にはハンド部２３８が設けられており、ハンド部２３８には、図４に示すように、ロボット２００に実行させる作業に応じたエンドエフェクター６１０が力覚センサー７４０を介して装着される。
【００３０】
また、図３に示すように、関節機構４１０は、第１肩部２３１を胴体２２０に対して回動軸Ｏ１と直交する回動軸Ｏ２まわりに回動させ、関節機構４２０は、第２肩部２３２を第１肩部２３１に対して回動軸Ｏ２に直交する回動軸Ｏ３まわりに回動させ、捻り機構４３０は、上腕部２３３を第２肩部２３２に対して回動軸Ｏ３に直交する回動軸Ｏ４まわりに回動させ、関節機構４４０は、第１前腕部２３４を上腕部２３３に対して回動軸Ｏ４に直交する回動軸Ｏ５まわりに回動させ、捻り機構４５０は、第２前腕部２３５を第１前腕部２３４に対して回動軸Ｏ５に直交する回動軸Ｏ６まわりに回動させ、関節機構４６０は、手首部２３６を第２前腕部２３５に対して回動軸Ｏ６に直交する回動軸Ｏ７まわりに回動させ、捻り機構４７０は、連結部２３７を手首部２３６に対して回動軸Ｏ７に直交する回動軸Ｏ８まわりに回動させる。このような多関節ロボットアーム２３０によれば、比較的簡単な構成によって、人間の腕部と同様に、関節（肩、肘、手首）の曲げ伸ばし、上腕および前腕の捻りを実現することができる。
【００３１】
関節機構４１０、関節機構４２０、捻り機構４３０、関節機構４４０、捻り機構４５０、関節機構４６０および捻り機構４７０の構成としては、それぞれ、特に限定されないが、本実施形態では、前述した関節機構３１０と同様の構成となっている。すなわち、図５に示すように、関節機構４１０は、駆動源としてのモーター４１１と、モーター４１１の回転速度を減じる減速機（図示せず）と、モーター４１１の回転角度を検知する位置センサー４１２とを有している。また、関節機構４２０は、駆動源としてのモーター４２１と、モーター４２１の回転速度を減じる減速機（図示せず）と、モーター４２１の回転角度を検知する位置センサー４２２とを有している。また、捻り機構４３０は、駆動源としてのモーター４３１と、モーター４３１の回転速度を減じる減速機（図示せず）と、モーター４３１の回転角度を検知する位置センサー４３２とを有している。また、関節機構４４０は、駆動源としてのモーター４４１と、モーター４４１の回転速度を減じる減速機（図示せず）と、モーター４４１の回転角度を検知する位置センサー４４２とを有している。また、捻り機構４５０は、駆動源としてのモーター４５１と、モーター４５１の回転速度を減じる減速機（図示せず）と、モーター４５１の回転角度を検知する位置センサー４５２とを有している。また、関節機構４６０は、駆動源としてのモーター４６１と、モーター４６１の回転速度を減じる減速機（図示せず）と、モーター４６１の回転角度を検知する位置センサー４６２とを有している。また、捻り機構４７０は、駆動源としてのモーター４７１と、モーター４７１の回転速度を減じる減速機（図示せず）と、モーター４７１の回転角度を検知する位置センサー４７２とを有している。
【００３２】
多関節ロボットアーム（第２ロボットアーム）２４０は、前述の多関節ロボットアーム２３０と同様の構成である。すなわち、図３に示すように、多関節ロボットアーム２４０は、関節機構５１０を介して胴体２２０に連結されている第１肩部２４１と、関節機構５２０を介して第１肩部２４１に連結されている第２肩部２４２と、捻り機構（関節機構）５３０を介して第２肩部２４２の先端に連結されている上腕部２４３と、関節機構５４０を介して上腕部２４３の先端に連結されている第１前腕部２４４と、捻り機構（関節機構）５５０を介して第１前腕部２４４の先端に連結されている第２前腕部２４５と、関節機構５６０を介して第２前腕部２４５の先端に連結されている手首部２４６と、捻り機構（関節機構）５７０を介して手首部２４６の先端に連結されている連結部２４７と、を有している。また、連結部２４７にはハンド部２４８が設けられており、ハンド部２４８には、ロボット２００に実行させる作業に応じたエンドエフェクター６２０が力覚センサー７５０を介して装着される。
【００３３】
また、図３に示すように、関節機構５１０は、第１肩部２４１を胴体２２０に対して回動軸Ｏ１に直交する回動軸Ｏ２’まわりに回動させ、関節機構５２０は、第２肩部２４２を第１肩部２４１に対して回動軸Ｏ２’に直交する回動軸Ｏ３’まわりに回動させ、捻り機構５３０は、上腕部２４３を第２肩部２４２に対して回動軸Ｏ３’に直交する回動軸Ｏ４’まわりに回動させ、関節機構５４０は、第１前腕部２４４を上腕部２４３に対して回動軸Ｏ４’に直交する回動軸Ｏ５’まわりに回動させ、捻り機構５５０は、第２前腕部２４５を第１前腕部２４４に対して回動軸Ｏ５’に直交する回動軸Ｏ６’まわりに回動させ、関節機構５６０は、手首部２４６を第２前腕部２４５に対して回動軸Ｏ６’に直交する回動軸Ｏ７’まわりに回動させ、捻り機構５７０は、連結部２４７を手首部２４６に対して回動軸Ｏ７’に直交する回動軸Ｏ８’まわりに回動させる。このような多関節ロボットアーム２４０によれば、比較的簡単な構成によって、人間の腕部と同様に、関節の曲げ伸ばし、上腕および前腕の捻りを実現することができる。
【００３４】
関節機構５１０、関節機構５２０、捻り機構５３０、関節機構５４０、捻り機構５５０、関節機構５６０および捻り機構５７０の構成としては、それぞれ、特に限定されないが、本実施形態では、前述した関節機構３１０と同様の構成となっている。すなわち、図５に示すように、関節機構５１０は、駆動源としてのモーター５１１と、モーター５１１の回転速度を減じる減速機（図示せず）と、モーター５１１の回転角度を検知する位置センサー５１２とを有している。また、関節機構５２０は、駆動源としてのモーター５２１と、モーター５２１の回転速度を減じる減速機（図示せず）と、モーター５２１の回転角度を検知する位置センサー５２２とを有している。また、捻り機構５３０は、駆動源としてのモーター５３１と、モーター５３１の回転速度を減じる減速機（図示せず）と、モーター５３１の回転角度を検知する位置センサー５３２とを有している。また、関節機構５４０は、駆動源としてのモーター５４１と、モーター５４１の回転速度を減じる減速機（図示せず）と、モーター５４１の回転角度を検知する位置センサー５４２とを有している。また、捻り機構５５０は、駆動源としてのモーター５５１と、モーター５５１の回転速度を減じる減速機（図示せず）と、モーター５５１の回転角度を検知する位置センサー５５２とを有している。また、関節機構５６０は、駆動源としてのモーター５６１と、モーター５６１の回転速度を減じる減速機（図示せず）と、モーター５６１の回転角度を検知する位置センサー５６２とを有している。また、捻り機構５７０は、駆動源としてのモーター５７１と、モーター５７１の回転速度を減じる減速機（図示せず）と、モーター５７１の回転角度を検知する位置センサー５７２とを有している。
【００３５】
−エンドエフェクター−
多関節ロボットアーム２３０、２４０の先端に取り付けられるエンドエフェクター６１０、６２０は、例えば、対象物を把持する機能を有している。エンドエフェクター６１０、６２０の構成は実行させる作業によって異なるが、例えば、図４に示すように、第１の指６１１、６２１と第２の指６１２、６２２を有する構成とすることができる。このような構成のエンドエフェクター６１０、６２０では、第１の指６１１、６２１と第２の指６１２、６２２の離間距離を調整することにより、対象物を把持することができる。
【００３６】
ハンド部２３８、２４８とエンドエフェクター６１０、６２０との間に配置される力覚センサー７４０、７５０は、エンドエフェクター６１０、６２０に加えられる外力を検出する機能を有している。そして、力覚センサー７４０、７５０が検出する力をロボット制御装置９００にフィードバックすることで、ロボット２００は、より精密に作業を実行することができる。また、力覚センサー７４０、７５０が検出する力やモーメントによって、エンドエフェクター６１０、６２０の障害物への接触等を検知することができる。そのため、障害物回避動作、対象物損傷回避動作等を容易に行うことができる。このような力覚センサー７４０、７５０としては、互いに直交する３軸の各軸の力成分とモーメント成分を検出することができれば、特に限定されず、公知の力覚センサーを用いることができる。
【００３７】
なお、エンドエフェクター６１０、６２０は、上記のような構成に限定されず、目的の作業によって取り換えることができ、例えば、対象物を把持したり、持ち上げたり、吊り上げたり、吸着させたり、対象物に加工を施したりするものであってもよい。すなわち、エンドエフェクター６１０、６２０は、前述したようなハンドであってもよいし、その他、フックであってもよいし、吸盤等であってもよい。さらに、１本のアームに対して、複数のエンドエフェクターを設けても良い。
【００３８】
−角速度センサー−
図１に示すように、ロボット２００には３つの角速度センサー７１０、７２０、７３０が設けられている。角速度センサー７１０は、胴体２２０に配置され、角速度センサー７２０は、多関節ロボットアーム２３０に配置され、角速度センサー７３０は、多関節ロボットアーム２４０に配置されている。これら角速度センサー７１０、７２０、７３０は、それぞれ、互いに直交する３軸（ｘ軸、ｙ軸およびｚ軸）の各軸まわりの角速度ωｘ、ωｙ、ωｚを独立して検知することのできる３軸角速度センサーである。なお、本実施形態では、角速度センサー７２０、７３０は、多関節ロボットアーム２３０、２４０の肘あたりに配置されているが、これらの配置は特に限定されない。
【００３９】
角速度センサー７１０、７２０、７３０としては、それぞれ、互いに直交する３軸（ｘ軸、ｙ軸およびｚ軸）の各軸まわりの角速度ωｘ、ωｙ、ωｚを検出することができれば、特に限定されず、例えば、水晶基板を用いた公知の角速度センサーを用いることができる。また、角速度センサー７１０、７２０、７３０を互いに同じ構成とすることによって資材コストを低減することができる。
角速度センサー７１０、７２０、７３０で検出された角速度（アナログ信号）は、増幅器で増幅され、次いで、Ａ／Ｄ変換回路によってデジタル信号に変換された後にロボット制御装置９００へ送信される。
【００４０】
（ロボット制御装置）
ロボット制御装置９００は、ロボット２００が行う処理の内容に基づいて多関節ロボットアーム２３０、２４０の目標位置を演算し、その目標位置に多関節ロボットアーム２３０、２４０を移動させるための軌道を生成する。そして、ロボット制御装置９００は、その生成した軌道に沿って、胴体２２０、多関節ロボットアーム２３０、２４０が移動するように、各モーター３１１、４１１〜４７１、５１１〜５７１をそれぞれ独立して制御する。
【００４１】
図５に示すように、ロボット制御装置９００は、モーター３１１（胴体２２０）の駆動を制御する第１駆動源制御部９０１と、モーター４１１（第１肩部２３１）の駆動を制御する第２駆動源制御部９０２と、モーター４２１（第２肩部２３２）の駆動を制御する第３駆動源制御部９０３と、モーター４３１（上腕部２３３）の駆動を制御する第４駆動源制御部９０４と、モーター４４１（第１前腕部２３４）の駆動を制御する第５駆動源制御部９０５と、モーター４５１（第２前腕部２３５）の駆動を制御する第６駆動源制御部９０６と、モーター４６１（手首部２３６）の駆動を制御する第７駆動源制御部９０７と、モーター４７１（連結部２３７）の駆動を制御する第８駆動源制御部９０８と、モーター５１１（第１肩部２４１）の駆動を制御する第９駆動源制御部９０９と、モーター５２１（第２肩部２４２）の駆動を制御する第１０駆動源制御部９１０と、モーター５３１（上腕部２４３）の駆動を制御する第１１駆動源制御部９１１と、モーター５４１（第１前腕部２４４）の駆動を制御する第１２駆動源制御部９１２と、モーター５５１（第２前腕部２４５）の駆動を制御する第１３駆動源制御部９１３と、モーター５６１（手首部２４６）の駆動を制御する第１４駆動源制御部９１４と、モーター５７１（連結部２４７）の駆動を制御する第１５駆動源制御部９１５とを有している。
【００４２】
また、ロボット制御装置９００は、入力装置２７０で入力された設定値を受け付ける設定受付部９２０を有している。そして、第１〜第１５駆動源制御部９０１〜９１５は、原則として、設定受付部９２０が受け付けた設定値に基づいて、モーター３１１、４１１〜４７１、５１１〜５７１を制御する。
【００４３】
次に、第１〜第１５駆動源制御部９０１〜９１５の構成について説明する。ただし、多関節ロボットアーム２３０の駆動を制御する第２〜第８駆動源制御部９０２〜９０８と、多関節ロボットアーム２４０の駆動を制御する第９〜第１５駆動源制御部９０９〜９１５とが同様の構成であるため、以下では、第１駆動源制御部９０１と、第２〜第８駆動源制御部９０２〜９０８について説明し、第９〜第１５駆動源制御部９０９〜９１５については、その説明を省略する。
【００４４】
−第１駆動源制御部−
図６に示すように、第１駆動源制御部９０１は、減算器９０１ａと、回動角度算出部９０１ｂと、位置制御部９０１ｃと、減算器９０１ｄと、角速度制御部９０１ｅと、角速度算出部９０１ｆと、加算器９０１ｇと、減算器９０１ｈと、角速度変換部９０１ｉと、変換部９０１ｊと、補正値算出部９０１ｋとを有している。
【００４５】
第１駆動源制御部９０１には、モーター３１１の位置指令Ｐｃの他、位置センサー３１２、角速度センサー７１０から検出信号が入力される。第１駆動源制御部９０１は、位置センサー３１２の検出信号から算出されるモーター３１１の回動角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、後述する角速度フィードバック値ωｆｂが後述する角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によってモーター３１１を駆動する。
【００４６】
すなわち、減算器９０１ａには、位置指令Ｐｃが入力され、また、回動角度算出部９０１ｂから後述する位置フィードバック値Ｐｆｂが入力される。回動角度算出部９０１ｂでは、位置センサー３１２から入力されるパルス数がカウントされるとともに、そのカウント値に応じたモーター３１１の回動角度が位置フィードバック値Ｐｆｂとして減算器９０１ａに出力される。減算器９０１ａは、これら位置指令Ｐｃと位置フィードバック値Ｐｆｂとの偏差（モーター３１１の回動角度の目標値から位置フィードバック値Ｐｆｂを減算した値）を位置制御部９０１ｃに出力する。
【００４７】
位置制御部９０１ｃは、減算器９０１ａから入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じたモーター３１１の角速度の目標値を演算する。位置制御部９０１ｃは、そのモーター３１１の角速度の目標値（指令値）を示す信号を角速度指令ωｃとして減算器９０１ｄに出力する。本実施形態では、フィードバック制御として、比例制御（Ｐ制御）がなされるが、これに限定されるものではない。
減算器９０１ｄには、角速度指令ωｃが入力され、また、後述する角速度フィードバック値ωｆｂが入力される。減算器９０１ｄは、これら角速度指令ωｃと角速度フィードバック値ωｆｂとの偏差（モーター３１１の角速度の目標値から角速度フィードバック値ωｆｂを減算した値）を角速度制御部９０１ｅに出力する。
【００４８】
角速度制御部９０１ｅは、減算器９０１ｄから入力された偏差と、予め定められた係数である比例ゲイン（位置比例ゲイン）、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じたモーター３１１の駆動信号（駆動電流）を生成し、モータードライバーを介してモーター３１１に供給する。本実施形態では、フィードバック制御として、ＰＩ制御がなされるが、これに限定されるものではない。
【００４９】
このようにして、位置フィードバック値Ｐｆｂが位置指令Ｐｃと可及的に等しくなり、かつ、角速度フィードバック値ωｆｂが角速度指令ωｃと可及的に等しくなるように、フィードバック制御がなされ、モーター３１１の駆動電流が制御される。
【００５０】
次に、第１駆動源制御部９０１における角速度フィードバック値ωｆｂについて説明する。
角速度算出部９０１ｆでは、位置センサー３１２から入力されるパルス信号の周波数に基づいて、モーター３１１の角速度ωｍ１が算出され、その角速度ωｍ１は、加算器９０１ｇに出力される。
【００５１】
また、角速度算出部９０１ｆでは、位置センサー３１２から入力されるパルス信号の周波数に基づいて、胴体２２０の回動軸Ｏ１回りの角速度ωＢ１ｍが算出され、その角速度ωＢ１ｍは、減算器９０１ｈに出力される。なお、角速度ωＢ１ｍは、角速度ωｍ１を関節機構３１０における減速比で除算した値である。
また、角速度センサー７１０から角速度ωｘ、ωｙ、ωｚがそれぞれ検出され、各角速度ωｘ、ωｙ、ωｚが角速度変換部９０１ｉに入力される。角速度変換部９０１ｉでは入力された角速度ωｘ、ωｙ、ωｚから胴体２２０の回動軸Ｏ１回りの角速度ωＢ１が算出され、その角速度ωＢ１は、減算器９０１ｈに出力される。
【００５２】
減算器９０１ｈには、角速度ωＢ１および角速度ωＢ１ｍが入力され、減算器９０１ｈは、この角速度ωＢ１から角速度ωＢ１ｍを減算した値ωＢ１ｓ（＝ωＢ１−ωＢ１ｍ）を変換部９０１ｊに出力する。この値ωＢ１ｓは、胴体２２０の回動軸Ｏ１回りの角速度の振動成分（振動角速度）に相当する。以下、ωＢ１ｓを振動角速度と言う。本実施形態では、この振動角速度ωＢ１ｓが後述するゲインＫａ倍されてモーター３１１の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωＢ１ｓが可及的に０になるように、モーター３１１に対してフィードバック制御がなされる。これにより、ロボット２００の振動を抑制することができる。なお、このフィードバック制御では、モーター３１１の角速度が制御される。
【００５３】
変換部９０１ｊは、振動角速度ωＢ１ｓをモーター３１１における角速度ωｍ１ｓに変換し、その角速度ωｍ１ｓを補正値算出部９０１ｋに出力する。この変換は、振動角速度ωＢ１ｓに関節機構３１０における減速比を乗算することで得ることができる。
補正値算出部９０１ｋは、角速度ωｍ１ｓに予め定められた係数であるゲイン（フィードバックゲイン）Ｋａを乗算し、補正値Ｋａ・ωｍ１ｓを求め、その補正値Ｋａ・ωｍ１ｓを加算器９０１ｇに出力する。
加算器９０１ｇには、角速度ωｍ１が入力され、また、補正値Ｋａ・ωｍ１ｓが入力される。加算器９０１ｇは、角速度ωｍ１と補正値Ｋａ・ωｍ１ｓとの加算値を角速度フィードバック値ωｆｂとして減算器９０１ｄに出力する。なお、以降の動作は、前述した通りである。
【００５４】
−第２駆動源制御部−
図７に示すように、第２駆動源制御部９０２は、減算器９０２ａと、回動角度算出部９０２ｂと、位置制御部９０２ｃと、減算器９０２ｄと、角速度制御部９０２ｅと、角速度算出部９０２ｆと、加算器９０２ｇと、減算器９０２ｈと、角速度変換部９０２ｉと、変換部９０２ｊと、補正値算出部９０２ｋとを有している。
【００５５】
第２駆動源制御部９０２には、モーター４１１の位置指令Ｐｃの他、位置センサー４１２、角速度センサー７２０から検出信号が入力される。第２駆動源制御部９０２は、位置センサー４１２の検出信号から算出されるモーター４１１の回動角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、後述する角速度フィードバック値ωｆｂが後述する角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によってモーター４１１を駆動する。
【００５６】
すなわち、減算器９０２ａには、位置指令Ｐｃが入力され、また、回動角度算出部９０２ｂから後述する位置フィードバック値Ｐｆｂが入力される。回動角度算出部９０２ｂでは、位置センサー４１２から入力されるパルス数がカウントされるとともに、そのカウント値に応じたモーター４１１の回動角度が位置フィードバック値Ｐｆｂとして減算器９０２ａに出力される。減算器９０２ａは、これら位置指令Ｐｃと位置フィードバック値Ｐｆｂとの偏差（モーター４１１の回動角度の目標値から位置フィードバック値Ｐｆｂを減算した値）を位置制御部９０２ｃに出力する。
【００５７】
位置制御部９０２ｃは、減算器９０２ａから入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じたモーター４１１の角速度の目標値を演算する。位置制御部９０２ｃは、そのモーター４１１の角速度の目標値（指令値）を示す信号を角速度指令ωｃとして減算器９０２ｄに出力する。本実施形態では、フィードバック制御として、比例制御（Ｐ制御）がなされるが、これに限定されるものではない。
減算器９０２ｄには、角速度指令ωｃが入力され、また、後述する角速度フィードバック値ωｆｂが入力される。減算器９０２ｄは、これら角速度指令ωｃと角速度フィードバック値ωｆｂとの偏差（モーター４１１の角速度の目標値から角速度フィードバック値ωｆｂを減算した値）を角速度制御部９０２ｅに出力する。
【００５８】
角速度制御部９０２ｅは、減算器９０２ｄから入力された偏差と、予め定められた係数である比例ゲイン（位置比例ゲイン）、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じたモーター４１１の駆動信号（駆動電流）を生成し、モータードライバーを介してモーター４１１に供給する。本実施形態では、フィードバック制御として、ＰＩ制御がなされるが、これに限定されるものではない。
このようにして、位置フィードバック値Ｐｆｂが位置指令Ｐｃと可及的に等しくなり、かつ、角速度フィードバック値ωｆｂが角速度指令ωｃと可及的に等しくなるように、フィードバック制御がなされ、モーター４１１の駆動電流が制御される。
【００５９】
次に、第２駆動源制御部９０２における角速度フィードバック値ωｆｂについて説明する。
角速度算出部９０２ｆでは、位置センサー４１２から入力されるパルス信号の周波数に基づいて、モーター４１１の角速度ωｍ１が算出され、その角速度ωｍ１は、加算器９０２ｇに出力される。
【００６０】
また、角速度算出部９０２ｆでは、位置センサー４１２から入力されるパルス信号の周波数に基づいて、第１肩部２４１の回動軸Ｏ２回りの角速度ωＡ１ｍが算出され、その角速度ωＡ１ｍは、減算器９０２ｈに出力される。なお、角速度ωＡ１ｍは、角速度ωｍ１を関節機構４１０における減速比で除算した値である。
また、角速度センサー７２０から角速度ωｘ、ωｙ、ωｚがそれぞれ検出され、各角速度ωｘ、ωｙ、ωｚが角速度変換部９０２ｉに入力される。角速度変換部９０２ｉでは入力された角速度ωｘ、ωｙ、ωｚから第１肩部２４１の回動軸Ｏ２回りの角速度ωＡ１が算出され、その角速度ωＡ１は、減算器９０２ｈに出力される。角速度変換部９０２ｉでは、必要に応じて、ヤコビ変換と呼ばれる座標軸変換等を行う。
【００６１】
減算器９０２ｈには、角速度ωＡ１および角速度ωＡ１ｍが入力され、減算器９０２ｈは、この角速度ωＡ１から角速度ωＡ１ｍを減算した値ωＡ１ｓ（＝ωＡ１−ωＡ１ｍ）を変換部９０２ｊに出力する。この値ωＡ１ｓは、第１肩部２４１の回動軸Ｏ２回りの角速度の振動成分（振動角速度）に相当する。以下、ωＡ１ｓを振動角速度と言う。本実施形態では、この振動角速度ωＡ１ｓが後述するゲインＫａ倍されてモーター４１１の入力側に戻るフィードバック制御を行う。具体的には、振動角速度ωＡ１ｓが可及的に０になるように、モーター４１１に対してフィードバック制御がなされる。これにより、ロボット２００の振動を抑制することができる。なお、このフィードバック制御では、モーター４１１の角速度が制御される。
【００６２】
変換部９０２ｊは、振動角速度ωＡ１ｓをモーター４１１における角速度ωｍ１ｓに変換し、その角速度ωｍ１ｓを補正値算出部９０２ｋに出力する。この変換は、振動角速度ωＡ１ｓに関節機構４１０における減速比を乗算することで得ることができる。
補正値算出部９０２ｋは、角速度ωｍ１ｓに予め定められた係数であるゲイン（フィードバックゲイン）Ｋａを乗算し、補正値Ｋａ・ωｍ１ｓを求め、その補正値Ｋａ・ωｍ１ｓを加算器９０２ｇに出力する。
加算器９０２ｇには、角速度ωｍ１が入力され、また、補正値Ｋａ・ωｍ１ｓが入力される。加算器９０２ｇは、角速度ωｍ１と補正値Ｋａ・ωｍ１ｓとの加算値を角速度フィードバック値ωｆｂとして減算器９０２ｄに出力する。なお、以降の動作は、前述した通りである。
【００６３】
−第３駆動源制御部−
図８に示すように、第３駆動源制御部９０３は、減算器９０３ａと、回動角度算出部９０３ｂと、位置制御部９０３ｃと、減算器９０３ｄと、角速度制御部９０３ｅと、角速度算出部９０３ｆとを有している。そして、第３駆動源制御部９０３には、モーター４２１の位置指令Ｐｃの他、位置センサー４２２から検出信号が入力される。第３駆動源制御部９０３は、位置センサー４２２の検出信号から算出されるモーター４２１の回動角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、後述する角速度フィードバック値ωｆｂが後述する角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によってモーター４２１を駆動する。
【００６４】
すなわち、減算器９０３ａには、位置指令Ｐｃが入力され、また、回動角度算出部９０３ｂから後述する位置フィードバック値Ｐｆｂが入力される。回動角度算出部９０３ｂでは、位置センサー４２２から入力されるパルス数がカウントされるとともに、そのカウント値に応じたモーター４２１の回動角度が位置フィードバック値Ｐｆｂとして減算器９０３ａに出力される。減算器９０３ａは、これら位置指令Ｐｃと位置フィードバック値Ｐｆｂとの偏差（モーター４２１の回動角度の目標値から位置フィードバック値Ｐｆｂを減算した値）を位置制御部９０３ｃに出力する。
【００６５】
位置制御部９０３ｃは、減算器９０３ａから入力された偏差と、予め定められた係数である比例ゲイン等を用いた所定の演算処理を行うことで、その偏差に応じたモーター４２１の角速度の目標値を演算する。位置制御部９０３ｃは、そのモーター４２１の角速度の目標値（指令値）を示す信号を角速度指令ωｃとして減算器９０３ｄに出力する。
また、角速度算出部９０３ｆでは、位置センサー４２２から入力されるパルス信号の周波数に基づいて、モーター４２１の角速度が算出され、その角速度が角速度フィードバック値ωｆｂとして減算器９０３ｄに出力される。
減算器９０３ｄには、角速度指令ωｃと角速度フィードバック値ωｆｂとが入力される。減算器９０３ｄは、これら角速度指令ωｃと角速度フィードバック値ωｆｂとの偏差（モーター４２１の角速度の目標値から角速度フィードバック値ωｆｂを減算した値）を角速度制御部９０３ｅに出力する。
【００６６】
角速度制御部９０３ｅは、減算器９０３ｄから入力された偏差と、予め定められた係数である比例ゲイン（位置比例ゲイン）、積分ゲイン等を用い、積分を含む所定の演算処理を行うことで、その偏差に応じたモーター４２１の駆動信号を生成し、モータードライバーを介してモーター４２１に供給する。
これにより、位置フィードバック値Ｐｆｂが位置指令Ｐｃと可及的に等しくなり、かつ、角速度フィードバック値ωｆｂが角速度指令ωｃと可及的に等しくなるようにフィードバック制御がなされ、モーター４２１の駆動が制御される。
【００６７】
−第４駆動源制御部−
図９に示すように、第４駆動源制御部９０４は、減算器９０４ａと、回動角度算出部９０４ｂと、位置制御部９０４ｃと、減算器９０４ｄと、角速度制御部９０４ｅと、角速度算出部９０４ｆとを有している。そして、第４駆動源制御部９０４には、モーター４３１の位置指令Ｐｃの他、位置センサー４３２から検出信号が入力される。第４駆動源制御部９０４は、位置センサー４３２の検出信号から算出されるモーター４３１の回動角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、角速度フィードバック値ωｆｂが角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によってモーター４３１を駆動する。このような第４駆動源制御部９０４は、第３駆動源制御部９０３と同様であるため、その詳細な説明を省略する。
【００６８】
−第５駆動源制御部−
図１０に示すように、第５駆動源制御部９０５は、減算器９０５ａと、回動角度算出部９０５ｂと、位置制御部９０５ｃと、減算器９０５ｄと、角速度制御部９０５ｅと、角速度算出部９０５ｆとを有している。そして、第５駆動源制御部９０５には、モーター４４１の位置指令Ｐｃの他、位置センサー４４２から検出信号が入力される。第５駆動源制御部９０５は、位置センサー４４２の検出信号から算出されるモーター４４１の回動角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、角速度フィードバック値ωｆｂが角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によってモーター４４１を駆動する。このような第５駆動源制御部９０５は、第３駆動源制御部９０３と同様であるため、その詳細な説明を省略する。
【００６９】
−第６駆動源制御部−
図１１に示すように、第６駆動源制御部９０６は、減算器９０６ａと、回動角度算出部９０６ｂと、位置制御部９０６ｃと、減算器９０６ｄと、角速度制御部９０６ｅと、角速度算出部９０６ｆとを有している。そして、第６駆動源制御部９０６には、モーター４５１の位置指令Ｐｃの他、位置センサー４５２から検出信号が入力される。第６駆動源制御部９０６は、位置センサー４５２の検出信号から算出されるモーター４５１の回動角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、角速度フィードバック値ωｆｂが角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によってモーター４５１を駆動する。このような第６駆動源制御部９０６は、第３駆動源制御部９０３と同様であるため、その詳細な説明を省略する。
【００７０】
−第７駆動源制御部−
図１２に示すように、第７駆動源制御部９０７は、減算器９０７ａと、回動角度算出部９０７ｂと、位置制御部９０７ｃと、減算器９０７ｄと、角速度制御部９０７ｅと、角速度算出部９０７ｆとを有している。そして、第７駆動源制御部９０７には、モーター４６１の位置指令Ｐｃの他、位置センサー４６２から検出信号が入力される。第７駆動源制御部９０７は、位置センサー４６２の検出信号から算出されるモーター４６１の回動角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、角速度フィードバック値ωｆｂが角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によってモーター４６１を駆動する。このような第７駆動源制御部９０７は、第３駆動源制御部９０３と同様であるため、その詳細な説明を省略する。
【００７１】
−第８駆動源制御部−
図１３に示すように、第８駆動源制御部９０８は、減算器９０８ａと、回動角度算出部９０８ｂと、位置制御部９０８ｃと、減算器９０８ｄと、角速度制御部９０８ｅと、角速度算出部９０８ｆとを有している。そして、第８駆動源制御部９０８には、モーター４７１の位置指令Ｐｃの他、位置センサー４７２から検出信号が入力される。第８駆動源制御部９０８は、位置センサー４７２の検出信号から算出されるモーター４７１の回動角度（位置フィードバック値Ｐｆｂ）が位置指令Ｐｃになり、かつ、角速度フィードバック値ωｆｂが角速度指令ωｃになるように、各検出信号を用いたフィードバック制御によってモーター４７１を駆動する。このような第８駆動源制御部９０８は、第３駆動源制御部９０３と同様であるため、その詳細な説明を省略する。
以上、ロボットシステム１００の基本構成について説明した。
【００７２】
次に、ロボットシステム１００の特に特徴的な部分について説明する。
ロボットシステム１００では、胴体２２０の高さ（ベース２１０との離間距離）に応じて、胴体２２０および各多関節ロボットアーム２３０、２４０の駆動スピードが異なっている。胴体２２０が低位置（第１位置）のときと、胴体２２０が高位置（第２位置）のときとを比較して説明すると、低位置にある状態のときよりも、高位置にある状態のときの方が、胴体２２０および多関節ロボットアーム２３０、２４０に同じ動きをさせたとき（同じ軌道で動かしたとき）にかかる時間が長くなるようになっている。なお、胴体２２０が低位置であるか高位置であるかは検知部７６０により検知される。また、前述したように目盛によって胴体２２０の高さを検知する場合には、ユーザーが目盛から判断した胴体２２０の高さを入力装置２７０から入力することができる。
【００７３】
低位置よりも高位置の方が、胴体２２０が高く、昇降機構８００が延びていることから、ロボット２００の剛性が低くなり、ロボット２００に振動が発生し易い。そこで、ロボット２００では、胴体２２０および多関節ロボットアーム２３０、２４０に同じ動きをさせたときにかかる時間が、低位置よりも高位置の方が長くなるように制御し、これにより、振動が発生し難い低位置での作業スピードを犠牲にせずに、振動が発生し易い高位置にある状態のときのロボット２００の振動を抑制している。これにより、ロボット２００の作業スピードの低下を抑えつつ、ロボット２００の振動の発生を抑制することができる。
【００７４】
ここで、前述したように、入力装置２７０からロボット２００の各部の設定を変更できるようになっている。設定を変更できる項目（設定項目）として、例えば、胴体２２０の駆動に用いられるモーター３１１、多関節ロボットアーム２３０、２４０の駆動に用いられる４１１〜４７１、５１１〜５７１の加速度（角加速度）、減速度（角減速度）、速度（角速度）等が含まれており、さらには、各設定項目を低位置と高位置とで個別に設定できるようにもなっている。そのため、ユーザーが予め時間Ｔ１よりも時間Ｔ２が長くなるように、前記設定項目を設定することも可能となっている。
【００７５】
低位置と高位置とで前記設定項目が同条件であれば、通常のロボットでは、多関節ロボットアーム２３０、２４０に同じ動きをさせたときにかかる時間Ｔ１、Ｔ２が同じとなるが、ロボット２００では、低位置と高位置とで前記設定項目が同条件であっても、低位置のときよりも高位置のときの方が同じ動きをさせたときにかかる時間が長くなるように各部を制御する。これにより、より確実に、ロボット２００の作業スピードの低下を抑えつつ、ロボット２００の振動の発生を抑制することができる。
まず、多関節ロボットアーム２３０、２４０について説明するが、これらの制御は同様であるため、以下では、多関節ロボットアーム２３０について代表して説明し、多関節ロボットアーム２４０については、その説明を省略する。
【００７６】
ロボット２００は、例えば、図１４に示すように、多関節ロボットアーム２３０を水平方向にまっすぐ伸ばした姿勢（所定姿勢）で静止させた静止状態Ｐｓから、第１肩部２３１に対して第２肩部２３２を回転させ、腕がまっすぐ伸びた姿勢を保ちながら、多関節ロボットアーム２３０の先端を水平方向（設置面と平行な方向）に所定距離動かして目標状態Ｐｅとするとき、胴体２２０が低位置の場合にかかる時間（第１の時間）Ｔ１と、胴体２２０が高位置の場合にかかる時間（第２の時間）Ｔ２とがＴ１＜Ｔ２なる関係を満足するように構成されている。なお、時間Ｔ１、Ｔ２は、それぞれ、図１５に示すように、静止状態Ｐｓから目標状態Ｐｅとする駆動信号を出力した時刻をｔ１とし、多関節ロボットアーム２３０が最初に目標状態Ｐｅに到達した時刻をｔ２としたとき、ｔ２−ｔ１で規定することができる。
【００７７】
ここで、静止状態Ｐｓとは、例えば、多関節ロボットアーム２３０の駆動に用いられるモーター４１１〜４７１が駆動していない状態として定義することができる。また、多関節ロボットアーム２３０の運動の速度が０（教示された点での速度が０）である状態として定義することができる。また、多関節ロボットアーム２３０と設置面との位置関係が変化しない状態として定義することもできる。
【００７８】
また、多関節ロボットアーム２３０の先端とは、ハンド部２３８の先端としてもよいし、ハンド部２３８にエンドエフェクター６１０が取り付けられている場合は、そのエンドエフェクター６１０の先端としてもよい。
なお、Ｔ１＜Ｔ２なる関係を満足していれば、特に限定されないが、さらに、Ｔ２が１．２Ｔ１〜２Ｔ１程度であることが好ましい。これにより、上記効果を効果的に発揮することができるとともに、高位置での多関節ロボットアーム２３０の動きが過度に遅くなってしまうことを防止することができる。
【００７９】
また、前述した例では、多関節ロボットアーム２３０を水平方向にまっすぐ伸ばした姿勢（所定姿勢）で静止させた静止状態Ｐｓから、まっすぐ伸びた姿勢を保ちながら水平方向に所定距離動かして目標状態Ｐｅとする例について説明したが、ロボット２００では、上記のような制御を水平方向（回動軸Ｏ１に直交する方向）成分を有する方向（すなわち水平方向と、水平方向と鉛直方向の合成方向）に多関節ロボットアーム２３０を動かすときに行うようなっている。
【００８０】
一方で、多関節ロボットアーム２３０を鉛直方向に動かす際には、静止状態Ｐｓから目標状態Ｐｅとするのにかかる時間Ｔ１、Ｔ２がＴ１＜Ｔ２なる関係を満足しいなくてもよく、Ｔ１＝Ｔ２であってもよい。すなわち、多関節ロボットアーム２３０を鉛直方向へ動かす際には、胴体２２０の高さに関わらずに一定の時間で静止状態Ｐｓから目標状態Ｐｅとしてもよい。多関節ロボットアーム２３０を鉛直方向に動かす際には胴体２２０に捩じれ方向の慣性（回動軸Ｏ１まわりの力）が加わり難いため、水平方向の移動と比較して振動が発生し難い。したがって、上述のように、多関節ロボットアーム２３０を鉛直方向へ動かす際には、胴体２２０の高さに関わらずに一定の時間で静止状態Ｐｓから目標状態Ｐｅとするように構成することで、ロボット２００の処理効率の低下をより小さく抑えることができる。
【００８１】
また、前述した例では、多関節ロボットアーム２３０を水平にまっすぐ伸ばした静止状態Ｐｓから、まっすぐ伸ばしたまま水平方向に移動させて目標状態Ｐｅとする場合について説明したが、多関節ロボットアーム２３０の静止状態Ｐｓおよび目標状態Ｐｅとしては、特に限定されず、多関節ロボットアーム２３０が実現できる全ての姿勢を適用することができる。例えば、上腕部を鉛直方向に降し、前腕部が水平方向を向くように肘を曲げた静止状態Ｐｓとし、そこから上腕部を捩って前腕部を水平方向に移動させた姿勢を目標状態Ｐｅにしてもよい。また、まっすぐ伸ばした静止状態Ｐｓから、肘を曲げることで上腕部に対して前腕部を水平方向に移動させた姿勢を目標状態Ｐｅとしてもよい。また、静止状態Ｐｓと目標状態Ｐｅとで、多関節ロボットアーム２３０の形状（曲がり方）が変わっていてもよい。
【００８２】
次に、Ｔ１＜Ｔ２を満足させるための方法について具体的な例を挙げて説明する。Ｔ１＜Ｔ２を満足させる具体的な方法の１つとしては、モーター４２１の加速度および減速度を、低位置のときよりも高位置のときの方を低くする方法が挙げられる。これにより、簡単な制御で、Ｔ１＜Ｔ２を実現することができる。なお、この方法の場合には、加速度および減速度のうちの少なくとも一方を、低位置のときよりも高位置のときの方を低くすれば足りる。
【００８３】
別の方法としては、モーター４２１の駆動を制御する第３駆動源制御部９０３が有する角速度制御部９０３ｅで用いられる位置比例ゲインを、低位置のときよりも高位置のときの方を低くする方法が挙げられる。これにより、角速度制御部９０３ｅからモーター４２１に供給される駆動信号に対するモーター４２１の反応性が鈍くなり、結果として、Ｔ１＜Ｔ２を実現することができる。このような方法によっても、簡単な制御で、Ｔ１＜Ｔ２を実現することができる。
【００８４】
次に、胴体２２０の制御について説明する。ロボットシステム１００は、胴体２２０についても、上述の多関節ロボットアーム２３０と同様の制御を行うように構成されている。すなわち、ロボット２００は、例えば、図１６に示すような胴体２２０が正面を向いた姿勢（所定姿勢）で静止させた静止状態Ｐｓ’から、ベース２１０に対して胴体２２０を回転させ、横を向いた目標状態Ｐｅ’とするとき、胴体２２０が低位置のときにかかる時間Ｔ１’と、胴体２２０が高位置のときにかかる時間Ｔ２’とがＴ１’＜Ｔ２’なる関係を満足するように構成されている。なお、時間Ｔ１’、Ｔ２’は、時間Ｔ１、Ｔ２と同様に、それぞれ、静止状態Ｐｓ’から目標状態Ｐｅ’とする駆動信号を出力した時刻をｔ１’とし、胴体２２０が最初に目標状態Ｐｅ’に到達した時刻をｔ２’としたとき、ｔ２’−ｔ１’で規定することができる。
【００８５】
次に、Ｔ１’＜Ｔ２’を満足させるための方法について具体的な例を挙げて説明する。Ｔ１’＜Ｔ２’を満足させる具体的な方法の１つとしては、モーター３１１の加速度および減速度を、低位置のときよりも高位置のときの方を低くする方法が挙げられる。これにより、簡単な制御で、Ｔ１’＜Ｔ２’を実現することができる。なお、この方法の場合には、加速度および減速度のうちの少なくとも一方を、低位置のときよりも高位置のときの方を低くすれば足りる。
【００８６】
別の方法としては、モーター３１１の駆動を制御する第１駆動源制御部９０１が有する角速度制御部９０１ｅで用いられる位置比例ゲインを、低位置のときよりも高位置のときの方を低くする方法が挙げられる。これにより、角速度制御部９０１ｅからモーター３１１に供給される駆動信号に対するモーター３１１の反応性が鈍くなり、結果として、Ｔ１’＜Ｔ２’を実現することができる。このような方法によっても、簡単な制御で、Ｔ１’＜Ｔ２’を実現することができる。
【００８７】
以上、本発明のロボット、ロボット制御装置およびロボットシステムを、図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物が付加されていてもよい。
また、前述した実施形態では、低位置での時間Ｔ１（Ｔ１’）と、高位置での時間Ｔ２（Ｔ２’）とが、Ｔ１（Ｔ１’）＜Ｔ２（Ｔ２’）なる関係を満足するように制御する構成について説明したが、例えば、前述したように、低位置、中位置、高位置の３段階で胴体の高さを検知することができる場合には、低位置での時間Ｔ１（Ｔ１’）と、中位置での時間Ｔ３（Ｔ３’）と、高位置での時間Ｔ２（Ｔ２’）とが、Ｔ１（Ｔ１’）＜Ｔ３（Ｔ３’）＜Ｔ２（Ｔ２’）なる関係を満足するように構成することができる。同様に、さらに多段階で時間Ｔ１、Ｔ２、Ｔ３……Ｔｎを制御してもよい。
【００８８】
また、前述した実施形態では、移動可能なロボットについて説明したが、ロボットは、ボルト等によって作業部屋の床、天井、壁等に固定されていてもよい。また、前記実施形態では、ロボットが床面に配置され、胴体が鉛直方向に移動するが、ロボットの配置は、これに限定されず、例えば、ベースが天井に固定され、胴体が鉛直方向に移動するように構成されていてもよいし、ベースが壁面に固定され、胴体が水平方向に移動するように構成されていてもよい。
【００８９】
また、前述した実施形態では、多関節ロボットアームにおいて、角速度センサーが肘のあたりに配置されているが、角速度センサーの配置は、これに限定されない。また、角速度センサーの検知結果を第１肩部を回動させる関節機構にフィードバックしているが、フィードバックする関節機構（捻り機構）は、これに限定されない。また、複数の関節機構（捻り機構）にフィードバックしてもよい。
また、前記実施形態では、各多関節ロボットアームの回動軸の数が７であるが、本発明では、これに限定されず、各多関節ロボットアームの回動軸の数は、１〜６であってもよいし、８以上であってもよい。
【符号の説明】
【００９０】
１００……ロボットシステム  ２００……ロボット  ２１０……ベース  ２１１……ハンドル  ２１３……バンパー  ２１３ａ……当接部  ２１３ｂ……固定部  ２１４……非常停止ボタン  ２２０……胴体  ２３０、２４０……多関節ロボットアーム  ２３１、２４１……第１肩部  ２３２、２４２……第２肩部  ２３３、２４３……上腕部  ２３４、２４４……第１前腕部  ２３５、２４５……第２前腕部  ２３６、２４６……手首部  ２３７、２４７……連結部  ２３８、２４８……ハンド部  ２５０……ステレオカメラ  ２６０……信号灯  ２７０……入力装置  ２８０、２９０……ハンドカメラ  ３１０……関節機構  ３１１……モーター  ３１２……位置センサー  ４１０……関節機構  ４１１……モーター  ４１２……位置センサー  ４２０……関節機構  ４２１……モーター  ４２２……位置センサー  ４３０……捻り機構  ４３１……モーター  ４３２……位置センサー  ４４０……関節機構  ４４１……モーター  ４４２……位置センサー  ４５０……捻り機構  ４５１……モーター  ４５２……位置センサー  ４６０……関節機構  ４６１……モーター  ４６２……位置センサー  ４７０……捻り機構  ４７１……モーター  ４７２……位置センサー  ５１０……関節機構  ５１１……モーター  ５１２……位置センサー  ５２０……関節機構  ５２１……モーター  ５２２……位置センサー  ５３０……捻り機構  ５３１……モーター  ５３２……位置センサー  ５４０……関節機構  ５４１……モーター  ５４２……位置センサー  ５５０……捻り機構  ５５１……モーター  ５５２……位置センサー  ５６０……関節機構  ５６１……モーター  ５６２……位置センサー  ５７０……捻り機構  ５７１……モーター  ５７２……位置センサー  ６１０、６２０……エンドエフェクター  ６１１、６２１……第１の指  ６１２、６２２……第２の指  ７１０、７２０、７３０……角速度センサー  ７４０、７５０……力覚センサー  ７６０……検知部  ７６１……フォトインタラプター  ７６１ａ……発光部  ７６１ｂ……受光部  ７６２……遮蔽板  ８００……昇降機構  ８１０……昇降部  ８１１……ラック  ８２０……ピニオン  ８３０……ウォームホイール  ８４０……ウォーム  ８５０……クランク  ９００……ロボット制御装置  ９０１……第１駆動源制御部  ９０１ａ……減算器  ９０１ｂ……回動角度算出部  ９０１ｃ……位置制御部  ９０１ｄ……減算器  ９０１ｅ……角速度制御部  ９０１ｆ……角速度算出部  ９０１ｇ……加算器  ９０１ｈ……減算器  ９０１ｉ……角速度変換部  ９０１ｊ……変換部  ９０１ｋ……補正値算出部  ９０２……第２駆動源制御部  ９０２ａ……減算器  ９０２ｂ……回動角度算出部  ９０２ｃ……位置制御部  ９０２ｄ……減算器  ９０２ｅ……角速度制御部  ９０２ｆ……角速度算出部  ９０２ｇ……加算器  ９０２ｈ……減算器  ９０２ｉ……角速度変換部  ９０２ｊ……変換部  ９０２ｋ……補正値算出部  ９０３……第３駆動源制御部  ９０３ａ……減算器  ９０３ｂ……回動角度算出部  ９０３ｃ……位置制御部  ９０３ｄ……減算器  ９０３ｅ……角速度制御部  ９０３ｆ……角速度算出部  ９０４……第４駆動源制御部  ９０４ａ……減算器  ９０４ｂ……回動角度算出部  ９０４ｃ……位置制御部  ９０４ｄ……減算器  ９０４ｅ……角速度制御部  ９０４ｆ……角速度算出部  ９０５……第５駆動源制御部  ９０５ａ……減算器  ９０５ｂ……回動角度算出部  ９０５ｃ……位置制御部  ９０５ｄ……減算器  ９０５ｅ……角速度制御部  ９０５ｆ……角速度算出部  ９０６……第６駆動源制御部  ９０６ａ……減算器  ９０６ｂ……回動角度算出部  ９０６ｃ……位置制御部  ９０６ｄ……減算器  ９０６ｅ……角速度制御部  ９０６ｆ……角速度算出部  ９０７……第７駆動源制御部  ９０７ａ……減算器  ９０７ｂ……回動角度算出部  ９０７ｃ……位置制御部  ９０７ｄ……減算器  ９０７ｅ……角速度制御部  ９０７ｆ……角速度算出部  ９０８……第８駆動源制御部  ９０８ａ……減算器  ９０８ｂ……回動角度算出部  ９０８ｃ……位置制御部  ９０８ｄ……減算器  ９０８ｅ……角速度制御部  ９０８ｆ……角速度算出部  ９０９……第９駆動源制御部  ９１０……第１０駆動源制御部  ９１１……第１１駆動源制御部  ９１２……第１２駆動源制御部  ９１３……第１３駆動源制御部  ９１４……第１４駆動源制御部  ９１５……第１５駆動源制御部  ９２０……設定受付部  Ｏ１〜Ｏ８、Ｏ２’〜Ｏ８’……回動軸  Ｐｅ……目標状態  Ｐｓ……静止状態  ｔ１、ｔ２……時刻  Ｔ１、Ｔ１’、Ｔ２、Ｔ２’、Ｔ３、Ｔ３’……時間
【図１】
2015085405.tif 000003
【図２】
2015085405.tif 000004
【図３】
2015085405.tif 000005
【図４】
2015085405.tif 000006
【図５】
2015085405.tif 000007
【図６】
2015085405.tif 000008
【図７】
2015085405.tif 000009
【図８】
2015085405.tif 000010
【図９】
2015085405.tif 000011
【図１０】
2015085405.tif 000012
【図１１】
2015085405.tif 000013
【図１２】
2015085405.tif 000014
【図１３】
2015085405.tif 000015
【図１４】
2015085405.tif 000016
【図１５】
2015085405.tif 000017
【図１６】
2015085405.tif 000018