(57)【要約】【課題】対象物の位置に応じた対象物への照明を行うことができるロボットを提供すること。【解決手段】ロボットは、アームとハンドを備え、ハンドが把持しているツールを物体に接触させ、ハンドがツールを把持している位置及び姿勢の少なくとも一方を変更する。【選択図】図５
2016203280.tif 000002
【特許請求の範囲】
【請求項１】
アームとハンドを備え、
前記ハンドが把持しているツールを物体に接触させ、前記ハンドが前記ツールを把持している位置及び姿勢の少なくとも一方を変更する、
ロボット。
【請求項２】
前記位置及び姿勢の少なくとも一方が変更可能になるように、前記ハンドが前記ツールを把持する把持力を小さくする、
請求項１に記載のロボット。
【請求項３】
前記ハンドが前記ツールにより行う作業の後に前記位置及び姿勢の少なくとも一方を変更する、
請求項１又は２に記載のロボット。
【請求項４】
前記物体は、前記ツールを載置する治具である、
請求項１から３のうちいずれか一項に記載のロボット。
【請求項５】
前記物体は、作業台の一部である、
請求項１から３のうちいずれか一項に記載のロボット。
【請求項６】
前記物体は、前記ロボットの一部である、
請求項１から３のうちいずれか一項に記載のロボット。
【請求項７】
前記ハンドが前記ツールにより行う最初の作業を前記ハンドが行う前に、前記位置及び姿勢の少なくとも一方を変更する、
請求項１から６のうちいずれか一項に記載のロボット。
【請求項８】
前記位置及び姿勢の少なくとも一方がずれた場合、前記位置及び姿勢の少なくとも一方を変更する、
請求項１から７のうちいずれか一項に記載のロボット。
【請求項９】
前記アームは、複数あり、
前記ハンドは、前記複数の前記アーム毎に備えられる、
請求項１から８のうちいずれか一項に記載のロボット。
【請求項１０】
前記アームは、前記ハンドを着脱可能である、
請求項１から９のうちいずれか一項に記載のロボット。
【請求項１１】
アームとハンドを備えたロボットに、
前記ハンドが把持しているツールを物体に接触させ、前記ハンドが前記ツールを把持している位置及び姿勢の少なくとも一方を変更させる、
制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、及び制御装置に関する。
【背景技術】
【０００２】
所定の作業を行うロボットの研究や開発が行われている。
【０００３】
これに関し、特定の作業を行うための専用エンドエフェクターを備えたロボットに当該作業を行わせる技術が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１３／１２８５４２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の技術では、ロボットが専用エンドエフェクターを備えていなければならず、ロボットの汎用性を向上させることが困難であった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、アームとハンドを備え、前記ハンドが把持しているツールを物体に接触させ、前記ハンドが前記ツールを把持している位置及び姿勢の少なくとも一方を変更する、ロボットである。
この構成により、ロボットは、ハンドが把持しているツールを物体に接触させ、ハンドがツールを把持している位置及び姿勢の少なくとも一方を変更する。これにより、ロボットは、専用エンドエフェクターを用いずに作業を行うことができロボットの汎用性を向上させることができる。
【０００７】
また、本発明の他の態様は、ロボットにおいて、前記位置及び姿勢の少なくとも一方が変更可能になるように、前記ハンドが前記ツールを把持する把持力を小さくする、構成が用いられてもよい。
この構成により、ロボットは、ハンドがツールを把持する位置及び姿勢の少なくとも一方が変更可能になるように、ハンドがツールを把持する把持力を小さくする。これにより、ロボットは、ハンドがツールの位置及び姿勢を固定したままハンドがツールを把持している位置及び姿勢の少なくとも一方を変更することができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、前記ハンドが前記ツールにより行う作業の後に前記位置及び姿勢の少なくとも一方を変更する、構成が用いられてもよい。
この構成により、ロボットは、ハンドがツールにより行う作業の後に位置及び姿勢の少なくとも一方を変更する。これにより、ロボットは、作業を行う毎にハンドがツールを把持する位置及び姿勢を適した位置及び姿勢に変更することができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記物体は、前記ツールを載置する治具である、構成が用いられてもよい。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記物体は、作業台の一部である、構成が用いられてもよい。
【００１１】
また、本発明の他の態様は、ロボットにおいて、前記物体は、前記ロボットの一部である、構成が用いられてもよい。
【００１２】
また、本発明の他の態様は、ロボットにおいて、前記ハンドが前記ツールにより行う最初の作業を前記ハンドが行う前に、前記位置及び姿勢の少なくとも一方を変更する、構成が用いられてもよい。
この構成により、ロボットは、ハンドがツールにより行う最初の作業をハンドが行う前に、ハンドがツールを把持する位置及び姿勢の少なくとも一方を変更する。これにより、ロボットは、ハンドがツールを把持する位置及び姿勢が適した位置及び姿勢に変更された状態で作業を開始させることができる。
【００１３】
また、本発明の他の態様は、ロボットにおいて、前記位置及び姿勢の少なくとも一方がずれた場合、前記位置及び姿勢の少なくとも一方を変更する、構成が用いられてもよい。
この構成により、ロボットは、ハンドがツールを把持する位置及び姿勢の少なくとも一方がずれた場合、ハンドがツールを把持する位置及び姿勢の少なくとも一方を変更する。これにより、ロボットは、ハンドがツールを把持する位置及び姿勢がずれるたびに、ハンドがツールを把持する位置及び姿勢を適した位置及び姿勢に変更することができる。
【００１４】
また、本発明の他の態様は、ロボットにおいて、前記アームは、複数あり、前記ハンドは、前記複数の前記アームの一部又は全部のそれぞれ毎に備えられる、構成が用いられてもよい。
この構成により、ロボットは、複数のハンドのうちの一部又は全部がツールを把持し、複数のハンドのうちの一部又は全部が把持するツールを物体に接触させ、複数のハンドのうちの一部又は全部が把持するツールの位置及び姿勢の少なくとも一方を変更する。
【００１５】
また、本発明の他の態様は、ロボットにおいて、前記アームは、前記ハンドを着脱可能である、構成が用いられてもよい。
【００１６】
また、本発明の他の態様は、アームとハンドを備えたロボットに、前記ハンドが把持しているツールを物体に接触させ、前記ハンドが前記ツールを把持している位置及び姿勢の少なくとも一方を変更させる、制御装置である。
この構成により、制御装置は、ロボットに、ハンドが把持しているツールを物体に接触させ、ハンドがツールを把持している位置及び姿勢の少なくとも一方を変更させる。これにより、制御装置は、ロボットに専用エンドエフェクターを用いずに作業を行わせることができ、ロボットの汎用性を向上させることができる。
【００１７】
以上により、ロボット、及び制御装置は、ハンドが把持しているツールを物体に接触させ、ハンドがツールを把持している位置及び姿勢の少なくとも一方を変更する。これにより、ロボット、及び制御装置は、ハンドが把持したツールによって精度の高い作業を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るロボット２０の一例を示す構成図である。
【図２】治具ＳＢの一例を示す図である。
【図３】電動ドライバーＳＤが治具ＳＢに載置される様子の一例を示す図である。
【図４】制御装置３０のハードウェア構成の一例を示す図である。
【図５】制御装置３０の機能構成の一例を示す図である。
【図６】本実施形態に係る制御部３６がロボット２０に第１作業〜第３作業を行わせる処理の流れの一例を示すフローチャートである。
【図７】制御部３６が図６に示したステップＳ１２０において第１アームを動作させる処理の流れの一例を示すフローチャートである。
【図８】制御部３６が図６に示したステップＳ１２０において第２アームを動作させる処理の流れの一例を示すフローチャートである。
【図９】制御部３６が図６に示したステップＳ１３０において第２アームを動作させる処理の流れの一例を示すフローチャートである。
【図１０】制御部３６が図６に示したステップＳ１５０において第１アームを動作させる処理の流れの一例を示すフローチャートである。
【図１１】制御部３６が図６に示したステップＳ１５０において第１アームを動作させる処理の流れの一例を示すフローチャートである。
【図１２】本実施形態の変形例に係る制御部３６が第２作業において第２アームを動作させる処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００１９】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。図１は、本実施形態に係るロボット２０の一例を示す構成図である。ロボット２０は、第１アームと、第２アームと、第１撮像部２１と、第２撮像部２２と、第３撮像部２３と、第４撮像部２４と、第１力センサー２５−１と、第２力センサー２５−２と、制御装置３０を備えた双腕ロボットである。
【００２０】
双腕ロボットは、この一例における第１アームと第２アームのような２本のアーム（腕）を備えるロボットである。なお、ロボット２０は、双腕ロボットに代えて、単腕ロボットであってもよい。単腕ロボットは、１本のアームを備えるロボットである。例えば、単腕ロボットは、第１アームと第２アームのうちのいずれか一方を備える。また、ロボット２０は、第１撮像部２１と、第２撮像部２２と、第３撮像部２３と、第４撮像部２４のうちの一部又は全部を備えない構成であってもよい。
【００２１】
第１アームは、第１エンドエフェクターＥ１と、第１マニピュレーターＭ１と、図示しない複数のアクチュエーターによって構成される。なお、第１アームは、第１エンドエフェクターＥ１を着脱可能な構成でもよく、着脱不可能な構成であってもよい。以下では、第１アームが備える複数のアクチュエーターを、まとめて第１アクチュエーターと称して説明する。第１アームは、７軸垂直多関節型のアームである。具体的には、第１アームは、支持台と、第１マニピュレーターＭ１と、第１エンドエフェクターＥ１が第１アクチュエーターによる連携した動作によって７軸の自由度の動作を行う。なお、第１エンドエフェクターＥ１は、ハンドの一例である。
【００２２】
第１アームが７軸の自由度で動作する場合、第１アームは、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増えることによって、例えば、動作が滑らかになり、更に第１アームの周辺に存在する物体との干渉を容易に回避することができるようになる。また、第１アームが７軸の自由度で動作する場合、第１アームの制御は、第１アームが８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。このような理由から、この一例では、第１アームは、７軸の自由度で動作することが望ましい。なお、第１アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００２３】
各第１アクチュエーターは、ケーブルによって制御装置３０と通信可能に接続されている。これにより、第１アクチュエーターは、制御装置３０から取得される制御信号に基づいて、第１エンドエフェクターＥ１と第１マニピュレーターＭ１を動作させることができる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、第１アクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続される構成であってもよい。
【００２４】
第１アームは、更に第１撮像部２１を備える。
第１撮像部２１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。この一例において、第１撮像部２１は、図１に示したように第１アームを構成する第１マニピュレーターＭ１の一部に備えられる。そのため、第１撮像部２１は、第１アームの動きによって移動することが可能である。第１撮像部２１が撮像可能な範囲は、第１アームの動きに応じて変化する。第１撮像部２１は、当該範囲の静止画像を第１画像として撮像してもよく、当該範囲の動画像を第１画像として撮像してもよい。
【００２５】
また、第１撮像部２１は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１撮像部２１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続される構成であってもよい。
【００２６】
第２アームは、第２エンドエフェクターＥ２と、第２マニピュレーターＭ２と、図示しない複数のアクチュエーターによって構成される。なお、第２アームは、第２エンドエフェクターＥ２を着脱可能な構成でもよく、着脱不可能な構成であってもよい。以下では、第２アームが備える複数のアクチュエーターを、まとめて第２アクチュエーターと称して説明する。第２アームは、７軸垂直多関節型のアームである。具体的には、第２アームは、支持台と、第２マニピュレーターＭ２と、第２エンドエフェクターＥ２が第２アクチュエーターによる連携した動作によって７軸の自由度の動作を行う。なお、第２エンドエフェクターＥ２は、ハンドの一例である。第２アームは、第１アームが７軸の自由度で動作することが望ましい理由と同様の理由により、７軸の自由度で動作することが望ましい。なお、第２アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００２７】
各第２アクチュエーターは、ケーブルによって制御装置３０と通信可能に接続されている。これにより、第２アクチュエーターは、制御装置３０から取得される制御信号に基づいて、第２エンドエフェクターＥ２と第２マニピュレーターＭ２を動作させることができる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、第２アクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続される構成であってもよい。
【００２８】
また、第２アームは、更に第２撮像部２２を備える。
第２撮像部２２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。この一例において、第２撮像部２２は、図１に示したように第２アームを構成する第２マニピュレーターＭ２の一部に備えられる。そのため、第２撮像部２２は、第２アームの動きによって移動することが可能である。第２撮像部２２が撮像可能な範囲は、第２アームの動きに応じて変化する。第２撮像部２２は、当該範囲の静止画像を第２画像として撮像してもよく、当該範囲の動画像を第２画像として撮像してもよい。
【００２９】
また、第２撮像部２２は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２撮像部２２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続される構成であってもよい。
【００３０】
第３撮像部２３は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第３撮像部２３は、ロボット２０が第１アームと第２アームのうちいずれか一方又は両方により作業を行う領域を含む範囲を撮像可能な位置に設置されている。以下では、説明の便宜上、当該範囲を撮像範囲と称して説明する。なお、第３撮像部２３は、撮像範囲の静止画像を第３画像として撮像してもよく、撮像範囲の動画像を第３画像として撮像してもよい。
【００３１】
また、第３撮像部２３は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第３撮像部２３は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続される構成であってもよい。
【００３２】
第４撮像部２４は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第４撮像部２４は、撮像範囲を第３撮像部２３とともにステレオ撮像可能な位置に設置されている。なお、第４撮像部２４は、撮像範囲の静止画像を第４画像として撮像してもよく、撮像範囲の動画像を第４画像として撮像してもよい。
【００３３】
また、第４撮像部２４は、ケーブルによって通信可能に制御装置３０と接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第４撮像部２４は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続される構成であってもよい。
【００３４】
第１力センサー２５−１は、第１エンドエフェクターＥ１と第１マニピュレーターＭ１の間に備えられている。第１力センサー２５−１は、第１エンドエフェクターＥ１に作用した力やモーメントの大きさを示す値を検出する。なお、第１力センサー２５−１は、トルクセンサー等の第１エンドエフェクターＥ１に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。第１力センサー２５−１とは、第１力センサー情報を通信により制御装置３０へ出力する。第１力センサー情報は、第１力センサー２５−１が検出した力やモーメントの大きさを示す値を、第１力センサー２５−１の出力値として含む情報である。第１力センサー２５−１の出力値は、力センサーの出力値の一例である。
【００３５】
第１力センサー２５−１は、ケーブルによって通信可能に制御装置３０と接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１力センサー２５−１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続されてもよい。
【００３６】
第２力センサー２５−２は、第２エンドエフェクターＥ２と第２マニピュレーターＭ２の間に備えられている。第２力センサー２５−２は、第２エンドエフェクターＥ２に作用した力やモーメントを検出する。なお、第２力センサー２５−２は、トルクセンサー等の第２エンドエフェクターＥ２に加わる力やモーメントを検出する他のセンサーであってもよい。第２力センサー２５−２は、第２力センサー情報を通信により制御装置３０へ出力する。第２力センサー情報とは、第２力センサー２５−２が検出した力やモーメントの大きさを示す値を、第２力センサー２５−２の出力値として含む情報である。第２力センサー２５−２の出力値は、力センサーの出力値の一例である。
【００３７】
第２力センサー２５−２は、ケーブルによって通信可能に制御装置３０と接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２力センサー２５−２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続されてもよい。
【００３８】
以下では、第１力センサー２５−１と第２力センサー２５−２を区別する必要が無い限り、まとめて力センサー２５と称して説明する。また、以下では、第１力センサー情報と第２力センサー情報を区別する必要が無い限り、まとめて力センサー情報と称して説明する。第１力センサー情報と第２力センサー情報のうちのいずれか一方又は両方は、制御装置３０によるロボット２０の力センサー情報に基づく制御に用いられる。力センサー情報に基づく制御とは、例えば、インピーダンス制御等のコンプライアンス制御を示す。
【００３９】
上記で説明したロボット２０が備えるこれらの各機能部は、この一例において、ロボット２０に内蔵された制御装置３０から制御信号を取得し、取得した制御信号に基づいた動作を行う。なお、ロボット２０は、制御装置３０を内蔵する構成に代えて、外部に設置された制御装置３０により制御される構成であってもよい。
【００４０】
制御装置３０は、ロボット２０に制御信号を送信することにより、ロボット２０を動作させる。また、制御装置３０は、ロボット２０に所定の作業を行わせる。所定の作業とは、この一例において、ロボット２０が第１エンドエフェクターＥ１と第２エンドエフェクターＥ２のうちのいずれか一方又は両方によって把持した所定のツールによって所定の対象物に所定の部品を組み付ける作業のことである。
【００４１】
以下では、一例として、所定のツールが電動ドライバーＳＤであり、所定の対象物が産業用の機械の一部を構成する部材Ｏであり、所定の部品がネジＳである場合について説明する。図１では、部材Ｏを直方体形状の物体として表しているが、部材Ｏの形状は直方体形状に限られず、他の形状であってもよい。また、以下では、ロボット２０が第２エンドエフェクターＥ２により電動ドライバーＳＤを把持する場合について説明する。すなわち、ロボット２０は、所定の作業において、第２エンドエフェクターＥ２によって把持した電動ドライバーＳＤにより部材ＯにネジＳを締め付ける。
【００４２】
なお、以下の説明において、第１アームと第２アームの役割は、逆であってもよい。また、所定のツールは、電動ドライバーＳＤに代えて、ペンやスパナ、スプレー等の何らかの作業に用いられる他の道具であってもよい。また、所定の部品は、ネジＳに代えて、所定のツールに応じた他の部品であってもよい。例えば、所定のツールがスパナの場合、所定の部品は、ボルトやナットである。
【００４３】
ここで、図１を参照して、ロボット２０が行う所定の作業について説明する。図１において、ロボット２０は、第２エンドエフェクターＥ２により電動ドライバーＳＤを把持している。この一例において、電動ドライバーＳＤの先端は、磁力を帯びている。ここでいう電動ドライバーＳＤの先端は、電動ドライバーＳＤのグリップ側とは反対側の電動ドライバーＳＤの軸の先端である。電動ドライバーＳＤは、この磁力によってネジＳを吸着することができる。
【００４４】
また、電動ドライバーＳＤは、この一例において、電動ドライバーＳＤの軸が回転する際の回転軸周りの回転に対して対称な形状を有する。このため、電動ドライバーＳＤの姿勢は、電動ドライバーＳＤの軸が回転する際の回転軸の向きによって表される。また、この電動ドライバーＳＤのグリップには、例えば、座金が設けられる位置にスイッチが設けられている。電動ドライバーＳＤは、当該スイッチをオンにされた場合、軸を回転させる。これにより、電動ドライバーＳＤは、軸の回転によってネジＳを他の物体に締め付けることができる。
【００４５】
また、図１において、作業台ＴＢには、ネジＳが締め付けられる前の１以上の部材Ｏが配置される第１領域Ａ１と、ネジＳが締め付けられた後の１以上の部材Ｏが配置される第２領域Ａ２とが設けられている。また、作業台ＴＢには、ネジ供給装置Ｂと、治具ＳＢと、作業対象Ｏ１とが載置されている。
【００４６】
第１領域Ａ１は、他のロボットや部材Ｏを給材する作業員等によって、ロボット２０による所定の作業のために部材Ｏが配置（給材）される領域である。第２領域Ａ２は、ロボット２０がネジＳを締め付けた後の部材Ｏを配置（除材）する領域である。なお、第１領域Ａ１と第２領域Ａ２は、互いに重なりを持たない領域であるが、第１領域Ａ１の一部と第２領域Ａ２の一部とが重なっていてもよい。
【００４７】
作業台ＴＢは、例えば、テーブルである。なお、作業台ＴＢは、これに変えて、ネジ供給装置Ｂと、治具ＳＢと、作業対象Ｏ１が載置可能な面を有する床面等の物体であれば他の物体であってもよい。また、作業台ＴＢは、複数の作業台によって構成されてもよい。
【００４８】
ネジ供給装置Ｂは、所定の部位にネジＳを供給する。ロボット２０は、ネジ供給装置Ｂの所定の部位に供給されたネジＳのネジ頭に電動ドライバーＳＤの先端を嵌め込んで磁力により吸着する。そして、ロボット２０は、電動ドライバーＳＤの先端にネジＳが吸着された状態のまま電動ドライバーＳＤを移動させる。これにより、ロボット２０は、ネジ供給装置Ｂの所定の部位からネジＳを除材する。ネジ供給装置Ｂは、所定の部位からネジＳが除材されると、再び当該部位にネジＳを供給する。
【００４９】
治具ＳＢは、電動ドライバーＳＤが載置される治具である。ここで、図２及び図３を参照して、治具ＳＢについて説明する。図２は、治具ＳＢの一例を示す図である。図２（Ａ）には、治具ＳＢの正面図を示した。また、図２（Ｂ）には、治具ＳＢの側面図を示した。また、図２（Ｃ）には、治具ＳＢの上面図を示した。
【００５０】
図２に示したように、治具ＳＢは、第１部位ＳＢ１と第２部位ＳＢ２を有する。第１部位ＳＢ１は、治具ＳＢの底面から垂直に伸びた板状の部位である。また、第１部位ＳＢ１には、電動ドライバーＳＤの軸が載置される切欠き部Ｘ１が設けられている。切欠き部Ｘ１は、この一例において、治具ＳＢの上面側の第１部位ＳＢ１の端部に設けられている。また、治具ＳＢを正面から見た場合の切欠き部Ｘ１の形状は、中心角が１８０度の扇形である。
【００５１】
また、第２部位ＳＢ２は、治具ＳＢの底面から垂直に伸びた板状の部位であって、第１部位ＳＢ１とは反対側の部位である。第２部位ＳＢ２には、電動ドライバーＳＤのグリップが載置される切欠き部Ｘ２が設けられている。切欠き部Ｘ２は、この一例において、治具ＳＢの上面側の第２部位ＳＢ２の端部に設けられている。また、治具ＳＢを正面から見た場合の切欠き部Ｘ２の形状は、中心角が１８０度の扇型である。なお、電動ドライバーＳＤの軸は、この一例において、電動ドライバーＳＤのグリップよりも半径が小さいため、扇形の切欠き部Ｘ１の半径は、扇形の切欠き部Ｘ２の半径よりも小さい。
【００５２】
図２に示した治具ＳＢには、図３に示したように電動ドライバーＳＤが載置される。図３は、電動ドライバーＳＤが治具ＳＢに載置される様子の一例を示す図である。図３（Ａ）には、電動ドライバーＳＤが治具ＳＢに載置される前の電動ドライバーＳＤと治具ＳＢの様子の一例を示した。図３（Ａ）に示したように、電動ドライバーＳＤの軸Ｖ１は、電動ドライバーＳＤのグリップＶ２よりも半径が小さい。このため、電動ドライバーＳＤは、電動ドライバーＳＤの軸が回転する際の回転軸と直交する方向（側面側）から電動ドライバーＳＤを見た場合の軸Ｖ１とグリップＶ２との境界において段差Ｙを有する。
【００５３】
ロボット２０は、例えば、第２エンドエフェクターＥ２により電動ドライバーＳＤを図３（Ａ）に示した方向Ｇ１に移動させる。これにより、ロボット２０は、電動ドライバーＳＤの軸Ｖ１を切欠き部Ｘ１に接触させ、電動ドライバーＳＤのグリップＶ２を切欠き部Ｘ２に接触させる。その後、ロボット２０は、第２エンドエフェクターＥ２により電動ドライバーＳＤを図３（Ａ）に示した方向Ｇ２に移動させる。これにより、ロボット２０は、段差Ｙを第１部位ＳＢ１に接触させることができる。なお、方向Ｇ１は、治具ＳＢの底面に対して直交し、当該底面に向かう方向を示す。また、方向Ｇ２は、治具ＳＢの底面に沿い、段差Ｙが第１部位ＳＢ１に接触する方向を示す。
【００５４】
このようにして電動ドライバーＳＤは、治具ＳＢに載置される。図３（Ｂ）には、電動ドライバーＳＤが治具ＳＢに載置された後の電動ドライバーＳＤと治具ＳＢの様子の一例を示した。治具ＳＢは、図１において作業台ＴＢに固定されている。そのため、治具ＳＢの位置及び姿勢は、固定されている。治具ＳＢの位置及び姿勢とは、治具ＳＢの所定の部位の位置及び姿勢を示す。治具ＳＢの所定の部位とは、例えば、治具ＳＢの重心である。なお、治具ＳＢの所定の部位は、これに代えて、治具ＳＢの他の部位であってもよい。
【００５５】
治具ＳＢの位置及び姿勢が固定されているため、電動ドライバーＳＤの位置及び姿勢は、電動ドライバーＳＤを治具ＳＢに載置すると、所定の載置位置及び所定の載置姿勢となる。電動ドライバーＳＤの位置は、電動ドライバーＳＤの所定の部位の位置である。電動ドライバーＳＤの所定の部位は、例えば、電動ドライバーＳＤの重心である。なお、電動ドライバーＳＤの所定の部位は、これに代えて、他の部位であってもよい。
【００５６】
所定の載置位置は、電動ドライバーＳＤが治具ＳＢに載置された状態において、電動ドライバーＳＤの所定の部位と一致するロボット座標系における位置として決められた位置である。また、所定の載置姿勢は、電動ドライバーＳＤが治具ＳＢに載置された状態において、電動ドライバーＳＤの軸が回転する際の回転軸が向く方向のことである。
【００５７】
つまり、電動ドライバーＳＤの位置は、治具ＳＢが作業台ＴＢに固定されているため、電動ドライバーＳＤを治具ＳＢに載置すると、所定の載置位置に固定される。また、電動ドライバーＳＤの姿勢は、治具ＳＢが作業台ＴＢに固定されているため、電動ドライバーＳＤを治具ＳＢに載置すると、所定の載置姿勢に固定される。
【００５８】
これを利用し、ロボット２０は、所定の作業においてネジＳを部材Ｏに締め付ける際、第２エンドエフェクターＥ２により把持された電動ドライバーＳＤの位置及び姿勢に対する、第２エンドエフェクターＥ２の所定の部位の相対的な位置及び姿勢がずれてしまった場合であっても、当該位置及び姿勢を変更することができる。その結果、ロボット２０は、第２エンドエフェクターＥ２により把持された電動ドライバーＳＤの位置及び姿勢に対する、第２エンドエフェクターＥ２の所定の部位の相対的な位置及び姿勢を、所定の作業に適した位置及び姿勢に変更する（保つ）ことができる。なお、所定の作業に適した位置及び姿勢は、予め決められているとする。
【００５９】
なお、以下では、説明の便宜上、ロボット２０が、第２エンドエフェクターＥ２により把持された電動ドライバーＳＤの位置に対する、第２エンドエフェクターＥ２の所定の部位の相対的な位置及び姿勢を、所定の作業に適した位置及び姿勢に変更する動作を、姿勢変更動作と称して説明する。
【００６０】
ロボット２０は、この一例において、第１作業と、第２作業と、第３作業とを順に行うことにより、所定の作業を行う。第１作業では、ロボット２０は、第１エンドエフェクターＥ１によって部材Ｏが配置される第１領域Ａ１から部材Ｏを給材し、電動ドライバーＳＤが載置される治具ＳＢから第２エンドエフェクターＥ２によって電動ドライバーＳＤを把持し、第２エンドエフェクターＥ２により把持された電動ドライバーＳＤによってネジＳを給材する。このような第１作業は、第２作業を行うための準備である。
【００６１】
第２作業では、ロボット２０は、第１エンドエフェクターＥ１により固定された部材Ｏに対して、第２エンドエフェクターＥ２により把持された電動ドライバーＳＤによりネジＳを締め付ける。この第２作業の際、ロボット２０は、部材ＯにネジＳを締め付けるたびに姿勢変更動作を行う。これにより、ロボット２０は、精度の高い作業を行い続けることができる。第３作業では、ネジＳが締め付けられた部材Ｏを配置する第２領域Ａ２に、ネジＳが締め付けられた部材Ｏを第１エンドエフェクターＥ１によって配置し、第２エンドエフェクターＥ２によって電動ドライバーＳＤを治具ＳＢに載置する。すなわち、第３作業は、第２作業が行われた後の後片付けである。
【００６２】
このように、ロボット２０は、第２エンドエフェクターＥ２が把持している電動ドライバーＳＤを所定の物体に接触させ、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持している位置及び姿勢の少なくとも一方を変更する。この一例において、所定の物体とは、治具ＳＢの第１部位ＳＢ１のことである。
【００６３】
ここで、第２エンドエフェクターＥ２の位置は、第２エンドエフェクターＥ２のロボット座標系における３軸それぞれの方向への並進自由度（すなわち、３つの座標）によって表される。また、第２エンドエフェクターＥ２の姿勢は、第２エンドエフェクターＥ２のロボット座標系における３軸それぞれの軸周りの回転自由度（すなわち、３つの回転角）によって表される。すなわち、第２エンドエフェクターＥ２の位置及び姿勢は、当該並進自由度と当該回転自由度を合わせた６つの自由度によって表される。そして、第２エンドエフェクターＥ２の位置及び姿勢を変更するとは、これら６つの自由度のうちの少なくとも１つを変更することを示す。なお、第１エンドエフェクターＥ１の位置及び姿勢については、第２エンドエフェクターＥ２と同様なため説明を省略する。
【００６４】
次に、図４を参照して、制御装置３０のハードウェア構成について説明する。図４は、制御装置３０のハードウェア構成の一例を示す図である。制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。また、制御装置３０は、通信部３４を介してロボット２０と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。
【００６５】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。また、記憶部３２は、制御装置３０が処理する各種情報や画像、プログラム等を格納する。なお、記憶部３２は、制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置でもよい。
【００６６】
入力受付部３３は、例えば、キーボードやマウス、タッチパッド等を備えたティーチングペンダントや、その他の入力装置である。なお、入力受付部３３は、タッチパネルとして表示部３５と一体に構成されてもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００６７】
次に、図５を参照して、制御装置３０の機能構成について説明する。図５は、制御装置３０の機能構成の一例を示す図である。制御装置３０は、記憶部３２と、入力受付部３３と、表示部３５と、制御部３６を備える。
【００６８】
制御部３６は、制御装置３０の全体を制御する。制御部３６は、位置姿勢情報読込部４１と、判定部４３と、力センサー情報取得部４５と、ロボット制御部４７を備える。制御部３６が備えるこれらの機能部のうち一部又は全部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することで実現される。また、当該機能部のうち一部または全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００６９】
位置姿勢情報読込部４１は、各種の位置及び姿勢を示す情報を記憶部３２から読み込む。各種の位置及び姿勢とは、ロボット２０が所定の作業を行うために必要な複数の位置及び姿勢を示す。図６に示したフローチャートにおいて、これら複数の位置及び姿勢を示す情報の一例について説明する。
【００７０】
判定部４３は、ロボット２０が全ての作業位置にネジＳを締め付けたか否かを判定する。作業位置とは、部材ＯにネジＳを締め付けるために予め決められた複数の位置を示す。
力センサー情報取得部４５は、力センサー２５により検出される力センサー情報を取得する。
ロボット制御部４７は、位置姿勢情報読込部４１が読み込んだ各種の位置及び姿勢を示す情報に基づいてロボット２０を動作させる。また、ロボット制御部４７は、ロボット２０に第１作業〜第３作業までの作業を行わせることによって所定の作業を行わせる。
【００７１】
次に、図６を参照して、実施形態に係る制御部３６がロボット２０に第１作業〜第３作業を行わせる処理について説明する。図６は、本実施形態に係る制御部３６がロボット２０に第１作業〜第３作業を行わせる処理の流れの一例を示すフローチャートである。以下では、一例として、第１領域Ａ１に部材Ｏが１個だけ配置されている場合について説明する。すなわち、制御部３６は、当該部材Ｏに対して所定の作業をロボット２０に行わせる。第１領域Ａ１に複数の部材Ｏが配置されている場合、制御部３６は、それぞれの部材Ｏに対して図６に示した処理を実行することにより、所定の作業をロボット２０に行わせる。
【００７２】
まず、位置姿勢情報読込部４１は、記憶部３２から各種の位置及び姿勢を示す情報を読み込む（ステップＳ１１０）。この一例において、位置姿勢情報読込部４１は、各種の位置及び姿勢を示す情報として、給材位置姿勢情報と、除材位置姿勢情報と、固定位置姿勢情報を読み込む。給材位置姿勢情報とは、第１領域Ａ１に配置された部材Ｏのロボット座標系における位置及び姿勢を示す。部材Ｏの位置及び姿勢とは、部材Ｏの所定の部位の位置及び姿勢を示す。部材Ｏの所定の部位とは、例えば、部材Ｏの重心である。なお、部材Ｏの所定の部位は、部材Ｏの他の部位であってもよい。
【００７３】
除材位置姿勢情報とは、ロボット２０が部材Ｏを第２領域Ａ２に除材した際に、ロボット２０が部材Ｏの位置及び姿勢を一致させるロボット座標系における位置及び姿勢を示す。固定位置姿勢情報とは、所定の作業においてロボット２０が部材Ｏを固定する際に、ロボット２０が部材Ｏの位置及び姿勢を一致させるロボット座標系における位置及び姿勢を示す。なお、ステップＳ１１０において位置姿勢情報読込部４１は、各種の位置及び姿勢を示す情報として、これらの一部を読み込んでもよく、これらに加えて他の位置及び姿勢を示す情報を読み込んでもよく、これらとは別に他の位置及び姿勢を示す情報を読み込んでもよい。
【００７４】
次に、ロボット制御部４７は、ステップＳ１１０において位置姿勢情報読込部４１が読み込んだ給材位置姿勢情報に基づいてロボット２０に第１作業を行わせる（ステップＳ１２０）。次に、ロボット制御部４７は、ロボット２０に第２作業を行わせる（ステップＳ１３０）。次に、判定部４３は、第２作業においてネジＳが締め付けられた部材Ｏに予め決められた全ての作業位置にロボット２０がネジＳを締め付けたか否かを判定する（ステップＳ１４０）。
【００７５】
全ての作業位置にロボット２０がネジＳを締め付けていないと判定部４３が判定した場合（ステップＳ１４０−Ｎｏ）、ロボット制御部４７は、ステップＳ１３０に遷移し、再び第２作業をロボット２０に行わせる。一方、全ての作業位置にロボット２０がネジＳを締め付けたと判定部４３が判定した場合（ステップＳ１４０−Ｙｅｓ）、ロボット制御部４７は、ロボット２０に第３作業を行わせる（ステップＳ１５０）。
【００７６】
なお、この一例において、ロボット制御部４７は、第１作業〜第３作業のそれぞれ毎に、第１エンドエフェクターＥ１と第２エンドエフェクターＥ２のうちいずれか一方又は両方を動作させる。すなわち、ロボット制御部４７は、第１作業と第２作業の間、又は第２作業と第３作業の間を跨ぐように第１エンドエフェクターＥ１と第２エンドエフェクターＥ２のうちいずれか一方又は両方を動作させることはしない。
【００７７】
なお、ロボット制御部４７は、第１作業と第２作業の間、又は第２作業と第３作業の間を跨ぐように第１エンドエフェクターＥ１と第２エンドエフェクターＥ２のうちいずれか一方又は両方を動作させる構成であってもよい。例えば、ある作業における第１エンドエフェクターＥ１の最後の動作が待機であり、次の作業における第１エンドエフェクターＥ１の動作が待機である場合のように、同じ動作をある作業から続けて次の作業で行う場合、ロボット制御部４７は、ある作業と次の作業の間を跨ぐように第１エンドエフェクターＥ１を動作させる。これは、第２エンドエフェクターＥ２に関しても同様である。
【００７８】
次に、図７及び図８を参照して、制御部３６が図６に示したステップＳ１２０において第１アーム及び第２アームに第１作業に係る動作を行わせる処理について説明する。制御部３６は、ステップＳ１２０において、第１アームと第２アームの両方を並列に動作させる。なお、制御部３６は、これに代えて、ステップＳ１２０において、第１アームと第２アームを順に動作させる構成であってもよい。
【００７９】
図７は、制御部３６が図６に示したステップＳ１２０において第１アームを動作させる処理の流れの一例を示すフローチャートである。
まず、ロボット制御部４７は、予め記憶された部材Ｏの形状や大きさを示す部材情報を読み込む。ロボット制御部４７は、読み込んだ部材情報と、図６に示したステップＳ１１０において位置姿勢情報読込部４１が読み込んだ給材位置姿勢情報とに基づいて、第１領域Ａ１に配置された部材Ｏを第１エンドエフェクターＥ１に把持させる（ステップＳ１２１）。
【００８０】
次に、ロボット制御部４７は、図６に示したステップＳ１１０において位置姿勢情報読込部４１が読み込んだ固定位置姿勢情報に基づいて、固定位置姿勢情報が示すロボット座標系における位置及び姿勢に部材Ｏの位置及び姿勢が一致するように第１エンドエフェクターＥ１により部材Ｏを移動させる（ステップＳ１２３）。次に、ロボット制御部４７は、ステップＳ１２３において第１エンドエフェクターＥ１が部材Ｏを移動させた後の部材Ｏの位置及び姿勢が変化しないように、第１エンドエフェクターＥ１に部材Ｏを固定させる（ステップＳ１２５）。
【００８１】
より具体的には、ロボット制御部４７は、所定の作業において電動ドライバーＳＤによるネジ締めにより部材Ｏの位置及び姿勢がずれてしまわないように第１エンドエフェクターＥ１に部材Ｏを固定させる。ここで言う部材Ｏの位置及び姿勢がずれるとは、電動ドライバーＳＤによりネジ締めが行われる際に電動ドライバーＳＤの軸の回転とともに部材Ｏが回転してしまうことや、電動ドライバーＳＤの軸の回転による振動によって部材Ｏが並進してしまうこと等を示す。
【００８２】
ロボット制御部４７は、このような並進又は回転を起こさないように第１エンドエフェクターＥ１に部材Ｏを固定させる。例えば、ロボット制御部４７は、部材Ｏの角を構成する２つの面のそれぞれに第１エンドエフェクターＥ１が備える爪部を接触させることにより、部材Ｏを固定させる。以下では、説明の便宜上、ステップＳ１２５において第１エンドエフェクターＥ１が部材Ｏを固定した際の部材Ｏのロボット座標系における位置及び姿勢を、固定位置姿勢と称して説明する。
【００８３】
このように、ステップＳ１２１からステップＳ１２５までの処理によって、ロボット制御部４７は、部材Ｏの位置及び姿勢を固定位置姿勢に固定する。なお、ロボット制御部４７は、ステップＳ１２５の処理が終わった段階で、第１作業における第２アームの動作が終わっていない場合、当該動作が終わるまで第１アームを待機させる。
【００８４】
図８は、制御部３６が図６に示したステップＳ１２０において第２アームを動作させる処理の流れの一例を示すフローチャートである。
まず、ロボット制御部４７は、予め記憶された情報であって、治具ＳＢに載置された状態における電動ドライバーＳＤのロボット座標系における位置及び姿勢を示すツール載置位置姿勢情報を読み込む。また、ロボット制御部４７は、予め記憶された電動ドライバーＳＤの形状や大きさを示すツール情報を読み込む。そして、ロボット制御部４７は、読み込んだツール載置位置姿勢情報と、読み込んだツール情報とに基づいて、治具ＳＢに載置された電動ドライバーＳＤを第２エンドエフェクターＥ２に把持させる（ステップＳ１２７）。
【００８５】
次に、ロボット制御部４７は、予め記憶されたネジ供給装置Ｂの所定の部位に供給されたネジＳのネジ頭のロボット座標系における位置を示す情報と、ステップＳ１２７において読み込んだツール情報とに基づいて、電動ドライバーＳＤの先端に当該ネジ頭を嵌め込む。この際、ネジＳは、電動ドライバーＳＤの先端に磁力により吸着される。ロボット制御部４７は、ネジＳが吸着された電動ドライバーＳＤを移動させ、ネジ供給装置ＢからネジＳを給材する（ステップＳ１２９）。
【００８６】
このように、ステップＳ１２７からステップＳ１２９までの処理によって、ロボット制御部４７は、ネジ供給装置ＢからネジＳを電動ドライバーＳＤの先端に給材する。なお、ロボット制御部４７は、ステップＳ１２９の処理が終わった段階で、第１作業における第１アームの動作が終わっていない場合、当該動作が終わるまで第２アームを待機させる。
【００８７】
次に、図９を参照して、制御部３６が図６に示したステップＳ１３０において第２アームに第２作業に係る動作を行わせる処理について説明する。制御部３６は、ステップＳ１３０において、第２アームのみを動作させる。なお、制御部３６は、これに代えて、ステップＳ１３０において、第１アームと第２アームの両方を動作させる構成であってもよい。
【００８８】
図９は、制御部３６が図６に示したステップＳ１３０において第２アームを動作させる処理の流れの一例を示すフローチャートである。
まず、ロボット制御部４７は、予め記憶された複数の作業位置のそれぞれを示す情報を読み込む。そして、ロボット制御部４７は、読み込んだ作業位置を示す情報に基づいて、未選択の作業位置を示す情報を１つ選択する（ステップＳ１３１）。
【００８９】
次に、ロボット制御部４７は、ステップＳ１３１において選択した作業位置を示す情報と、ステップＳ１２７において読み込んだツール情報とに基づいて、第２エンドエフェクターＥ２を移動させ、電動ドライバーＳＤの先端に吸着されたネジＳのネジ頭とは反対側の先端を当該作業位置に挿入させる。そして、ロボット制御部４７は、第２エンドエフェクターＥ２に電動ドライバーＳＤのスイッチをオンにさせることにより、ネジＳが挿入されている作業位置にネジＳを締め付けさせる（ステップＳ１３３）。なお、ロボット制御部４７は、力センサー情報取得部４５が取得した第２力センサー情報に基づいて、例えば、第２エンドエフェクターＥ２に加わるモーメントが所定値を超えた場合、当該作業位置にネジＳが締め付けられたと判定し、第２エンドエフェクターＥ２に電動ドライバーＳＤのスイッチをオフにさせる。
【００９０】
次に、ロボット制御部４７は、予め記憶された治具ＳＢのロボット座標系における位置及び姿勢を示す情報を読み込む。ロボット制御部４７は、読み込んだ治具ＳＢのロボット座標系における位置及び姿勢と、ステップＳ１２７において読み込んだツール載置位置姿勢情報とに基づいて、電動ドライバーＳＤを治具ＳＢに載置させる。
【００９１】
この際、ロボット制御部４７は、治具ＳＢの位置及び姿勢に対する電動ドライバーＳＤの相対的な位置及び姿勢が所定の位置及び姿勢となるように第２エンドエフェクターＥ２に電動ドライバーＳＤを移動させる。所定の位置及び姿勢とは、例えば、図３（Ａ）に示したように、治具ＳＢに対して電動ドライバーＳＤを方向Ｇ１に所定距離だけ移動させることにより軸Ｖ１が切欠き部Ｘ１に接触し、グリップＶ２が切欠き部Ｘ２に接触するが、段差Ｙが第１部位ＳＢ１に接触しない位置及び姿勢である。所定距離とは、例えば、数センチメートル程度である。なお、所定距離は、これに代えて、他の距離であってもよい。
【００９２】
ロボット制御部４７は、治具ＳＢの位置及び姿勢に対して電動ドライバーＳＤの位置及び姿勢を所定の位置及び姿勢とした後、図３（Ａ）に示したように、治具ＳＢに対して電動ドライバーＳＤを方向Ｇ２に移動させる。また、ロボット制御部４７は、力センサー情報取得部４５から第２力センサー情報を取得する。ロボット制御部４７は、取得した第２力センサー情報に基づく制御によって第２エンドエフェクターＥ２を動作させ、治具ＳＢに対して電動ドライバーＳＤを方向Ｇ２に移動させ、電動ドライバーＳＤの段差Ｙを治具ＳＢの第１部位ＳＢ１に接触させる。
【００９３】
これにより、ロボット制御部４７は、第２エンドエフェクターＥ２によって治具ＳＢを変形させずに電動ドライバーＳＤを治具ＳＢに載置する（ステップＳ１３５）。なお、第２アームがステップＳ１３１からステップＳ１３５までの処理によって部材ＯにネジＳを締め付けている間、第１アームは、部材Ｏを固定したまま待機している。
【００９４】
次に、図１０及び図１１を参照して、制御部３６が図６に示したステップＳ１５０において第１アームと第２アームに第３作業に係る動作を行わせる処理について説明する。制御部３６は、ステップＳ１５０において、第１アームと第２アームの両方を並列に動作させる。なお、制御部３６は、これに代えて、ステップＳ１５０において、第１アームと第２アームを順に動作させる構成であってもよい。
【００９５】
図１０は、制御部３６が図６に示したステップＳ１５０において第１アームを動作させる処理の流れの一例を示すフローチャートである。
まず、ロボット制御部４７は、第１エンドエフェクターＥ１が固定していた部材Ｏを、第１エンドエフェクターＥ１に把持させる。そして、ロボット制御部４７は、図６に示したステップＳ１１０において位置姿勢情報読込部４１が読み込んだ除材位置姿勢情報に基づいて、除材位置姿勢情報が示すロボット座標系における位置及び姿勢に部材Ｏの位置及び姿勢が一致するように第１エンドエフェクターＥ１により部材Ｏを移動させる（ステップＳ１５１）。なお、ロボット制御部４７は、ステップＳ１５１の処理が終わった段階で、第３作業における第２アームの動作が終わっていない場合、当該動作が終わるまで第１アームを待機させる。
【００９６】
図１１は、制御部３６が図６に示したステップＳ１５０において第１アームを動作させる処理の流れの一例を示すフローチャートである。
まず、ロボット制御部４７は、第２エンドエフェクターＥ２により電動ドライバーＳＤを治具ＳＢに固定する（ステップＳ１５３）。この一例において、ロボット制御部４７は、図９に示したステップＳ１３５においてすでに、第２エンドエフェクターＥ２に電動ドライバーＳＤを治具ＳＢに載置させている。このため、ロボット制御部４７は、ステップＳ１５３において何もしなくてもよい。ステップＳ１３５の処理を行わない場合、ロボット制御部４７は、ステップＳ１５３においてステップＳ１３５と同じ処理を行い、第２エンドエフェクターＥ２に電動ドライバーＳＤを治具ＳＢに載置させる。ステップＳ１３５の処理を行わない例については、実施形態の変形例において説明する。
【００９７】
また、例えば、ロボット制御部４７は、治具ＳＢに電動ドライバーＳＤが取り外せないようにするための機構が設けられていた場合、第２エンドエフェクターＥ２に当該機構を動作させ、ステップＳ１３５において治具ＳＢに載置された電動ドライバーＳＤを治具ＳＢから取り外せないように固定してもよい。この場合、当該機構を第２エンドエフェクターＥ２に動作させる処理は、ロボット制御部４７に予め教示されているとする。なお、ロボット制御部４７は、ステップＳ１５３の処理が終わった段階で、第３作業における第１アームの動作が終わっていない場合、当該動作が終わるまで第１アームを待機させる。
【００９８】
以上説明したように、本実施形態におけるロボット２０は、第２エンドエフェクターＥ２が把持している電動ドライバーＳＤを物体に接触させ、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持している位置及び姿勢の少なくとも一方を変更する。これにより、ロボット２０は、ロボットの汎用性を確保しつつ、第２エンドエフェクターＥ２が把持した電動ドライバーＳＤによって精度の高い作業を行うことができる。
【００９９】
また、ロボット２０は、例えば、第１作業と第２作業の間や、第２作業と第３作業の間のように、第２エンドエフェクターＥ２が電動ドライバーＳＤにより行う作業の後に第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方を変更する。これにより、ロボット２０は、作業を行う毎に第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢を適した位置及び姿勢に直すことができる。
【０１００】
また、ロボット２０は、第２エンドエフェクターＥ２が把持している電動ドライバーＳＤを治具ＳＢの第１部位ＳＢ１に接触させ、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方を変更する。これにより、ロボット２０は、治具ＳＢを用いて、第２エンドエフェクターＥ２が把持した電動ドライバーＳＤによって精度の高い作業を行うことができる。
【０１０１】
＜実施形態の変形例＞
以下、本発明の実施形態の変形例について説明する。本実施形態の変形例に係るロボット２０は、治具ＳＢに電動ドライバーＳＤを載置させる（すなわち、接触させる）ことにより第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方を変更する構成に代えて、作業台ＴＢ上に電動ドライバーＳＤの先端を接触させることにより、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方を変更する。
【０１０２】
この一例において、ロボット制御部４７は、図６に示したステップＳ１３０の処理として、図９に示したフローチャートが示す処理を実行する構成に代えて、図１２に示したステップＳ１３０ａの処理を実行する。図１２は、本実施形態の変形例に係る制御部３６が第２作業において第２アームを動作させる処理の流れの一例を示すフローチャートである。なお、図１２に示したステップＳ１３１及びステップＳ１３３の処理は、図９に示したステップＳ１３１及びステップＳ１３３の処理と同様なため説明を省略する。
【０１０３】
図１２に示したステップＳ１３３の処理の後、ロボット制御部４７は、第２エンドエフェクターＥ２を動作させ、電動ドライバーＳＤの先端を他の物体に接触させる（ステップＳ１３６）。この一例において、当該物体は、作業台ＴＢである。より具体的には、ロボット制御部４７は、電動ドライバーＳＤの先端を作業台ＴＢ上の所定の接触位置に接触させる。この際、ロボット制御部４７は、電動ドライバーＳＤの軸が回転する際の回転軸が作業台ＴＢの面に対して垂直となるように電動ドライバーＳＤの姿勢を調整する。
【０１０４】
また、ロボット制御部４７は、力センサー情報取得部４５から取得した第２力センサー情報に基づく制御によって、所定の接触位置に対して電動ドライバーＳＤの自重に相当する大きさの力が垂直に加わり続けるように第２エンドエフェクターＥ２を動作させる。これにより、電動ドライバーＳＤの先端は、作用反作用の法則に従い、所定の接触位置に対して電動ドライバーＳＤの先端が加えた力と大きさが同じ力であって向きが反対の力（抗力）を作業台ＴＢから受ける。
【０１０５】
次に、ロボット制御部４７は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する力を小さくすることにより、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持させたまま、電動ドライバーＳＤに対して第２エンドエフェクターＥ２が滑るように移動させる（ステップＳ１３７）。これにより、ロボット制御部４７は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持している位置及び姿勢の少なくとも一方を変更する。
【０１０６】
より具体的には、ロボット制御部４７は、電動ドライバーＳＤの位置及び姿勢を保ちつつ、作業台ＴＢから電動ドライバーＳＤの先端に加わる抗力が、電動ドライバーＳＤを把持している第２エンドエフェクターＥ２と電動ドライバーＳＤとの間の静止摩擦力よりも大きくなるように第２エンドエフェクターＥ２の電動ドライバーＳＤを把持する把持力を小さくする。このように当該把持力を小さくすると、第２エンドエフェクターＥ２は、電動ドライバーＳＤの位置及び姿勢を固定したまま、電動ドライバーＳＤのグリップＶ２の表面を滑るように移動することができる状態となる。
【０１０７】
ロボット制御部４７は、この状態を利用し、第２エンドエフェクターＥ２を電動ドライバーＳＤに対して移動させることにより、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持している位置及び姿勢の少なくとも一方を変更する。この際、ロボット制御部４７は、第２エンドエフェクターＥ２の位置が、作業台ＴＢから所定の高さにおいて所定の姿勢となるように第２エンドエフェクターＥ２を移動させる。所定の高さは、電動ドライバーＳＤの位置に対する第２エンドエフェクターＥ２の相対的な位置が所定の作業に適した位置となる高さである。また、所定の姿勢は、電動ドライバーＳＤの姿勢に対する第２エンドエフェクターＥ２の相対的な姿勢が所定の作業に適した姿勢となる高さである。これにより、ロボット制御部４７は、電動ドライバーＳＤに対する第２エンドエフェクターＥ２の相対的な位置及び姿勢を、所定の作業に適した位置及び姿勢に変更することができる。
【０１０８】
次に、ロボット制御部４７は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する把持力を大きくする（ステップＳ１３８）。より具体的には、作業台ＴＢから電動ドライバーＳＤの先端に加わる抗力が、電動ドライバーＳＤを把持している第２エンドエフェクターＥ２と電動ドライバーＳＤとの間の静止摩擦力よりも小さくなるように第２エンドエフェクターＥ２の電動ドライバーＳＤを把持する把持力を大きくする。
【０１０９】
このように、ロボット制御部４７は、第２作業において、図１２に示したステップＳ１３１からステップＳ１３８までの処理を行うことにより、電動ドライバーＳＤを作業台ＴＢに接触させ、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持している位置及び姿勢の少なくとも一方を変更する。これにより、ロボット制御部４７は、電動ドライバーＳＤに対する第２エンドエフェクターＥ２の相対的な位置及び姿勢を、所定の作業に適した位置及び姿勢に変更することができる。
【０１１０】
なお、ステップＳ１３６において、ロボット制御部４７は、所定の接触位置に凹部が存在する場合等の所定の接触位置に電動ドライバーＳＤの先端を固定する何らかの構造が存在する場合、電動ドライバーＳＤの軸が回転する際の回転軸が作業台ＴＢの面に対して垂直とは異なる角度となる方向に電動ドライバーＳＤの姿勢を調整する構成であってもよい。
【０１１１】
この場合、ロボット制御部４７は、第２エンドエフェクターＥ２の一部を電動ドライバーＳＤのグリップＶ２の作業台ＴＢ側の部位に接触させて電動ドライバーＳＤが倒れないように支える。そして、ロボット制御部４７は、電動ドライバーＳＤを第２エンドエフェクターＥ２によって支えたまま、第２エンドエフェクターＥ２による電動ドライバーＳＤの把持を解除する。このようにすることで、ロボット制御部４７は、電動ドライバーＳＤを第２エンドエフェクターＥ２によって支えたまま、第２エンドエフェクターＥ２を電動ドライバーＳＤのグリップＶ２に対して滑らすように移動させることができる。
【０１１２】
また、ステップＳ１３６において、ロボット制御部４７は、電動ドライバーＳＤの先端を、第１アームと第２アームのうちいずれか一方の所定の接触部位に接触させる構成であってもよい。この場合、ロボット制御部４７は、電動ドライバーＳＤの軸が回転する際の回転軸が当該接触部位に対して垂直となるように電動ドライバーＳＤの姿勢と当該接触部位の姿勢とを調整する。これにより、ロボット制御部４７は、電動ドライバーＳＤに対する第２エンドエフェクターＥ２の相対的な位置及び姿勢を、所定の作業に適した位置及び姿勢に変更することができる。所定の接触部位は、ロボットの一部の一例である。
【０１１３】
また、第２作業において、ロボット制御部４７は、第１エンドエフェクターＥ１により電動ドライバーＳＤの軸Ｖ１を把持し、電動ドライバーＳＤの位置及び姿勢を固定してもよい。すなわち、ロボット制御部４７は、電動ドライバーＳＤを接触させる物体として、第１エンドエフェクターＥ１を利用する。この場合、ロボット制御部４７は、第１エンドエフェクターＥ１に電動ドライバーＳＤを把持させたまま、第２エンドエフェクターＥ２による電動ドライバーＳＤの把持を解除する。そして、ロボット制御部４７は、電動ドライバーＳＤに対して第２エンドエフェクターＥ２を移動させることにより、電動ドライバーＳＤに対する第２エンドエフェクターＥ２の相対的な位置及び姿勢を、所定の作業に適した位置及び姿勢に変更することができる。
【０１１４】
また、ロボット制御部４７は、作業を行う前の最初に、上記で説明した方法のいずれかにより、電動ドライバーＳＤに対する第２エンドエフェクターＥ２の相対的な位置及び姿勢を、所定の作業に適した位置及び姿勢に変更する構成であってもよい。これにより、ロボット制御部４７は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢が所定の作業に適した位置及び姿勢に初期化された状態で作業を開始させることができる。
【０１１５】
また、ロボット２０は、第２エンドエフェクターＥ２に、電動ドライバーＳＤに対する第２エンドエフェクターＥ２の位置及び姿勢の所定の作業に適した位置及び姿勢からのずれを検出するずれ検出部を備える構成であってもよい。ずれ検出部は、例えば、接触センサーを含んで構成される。ずれ検出部は、接触センサーにより検出される電動ドライバーＳＤに対する第２エンドエフェクターＥ２の移動量の積分値が所定の閾値を超えた場合、電動ドライバーＳＤに対して第２エンドエフェクターＥ２がずれたことを示す情報を、検出結果を示す情報として制御部３６に出力する。
【０１１６】
この場合、制御部３６は、ずれ検出部からの検出結果を示す情報を取得する検出結果情報取得部を備える。そして、ロボット制御部４７は、検出結果情報取得部から検出結果を示す情報が取得された場合、上記で説明した方法のいずれかにより、電動ドライバーＳＤに対する第２エンドエフェクターＥ２の相対的な位置及び姿勢を、所定の作業に適した位置及び姿勢に変更する。これにより、ロボット制御部４７は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢がずれるたびに、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢を所定の作業に適した位置及び姿勢に直すことができる。
【０１１７】
また、上記のずれ検出部は、接触センサーに代えて、第１撮像部２１と、第２撮像部２２と、第３撮像部２３と、第４撮像部２４のうちの一部又は全部によって第２エンドエフェクターＥ２に把持された電動ドライバーＳＤが撮像された撮像画像に基づいて、電動ドライバーＳＤに対する第２エンドエフェクターＥ２のずれを検出する構成であってもよい。
【０１１８】
この場合、ずれ検出部は、撮像された撮像画像を取得し、取得した撮像画像に基づいて電動ドライバーＳＤに対する第２エンドエフェクターＥ２の位置及び姿勢の所定の作業に適した位置及び姿勢からのずれを検出する。そして、ずれ検出部は、当該ずれが検出された場合、電動ドライバーＳＤに対して第２エンドエフェクターＥ２がずれたことを示す情報を制御部３６に出力する。これにより、ロボット制御部４７は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢がずれるたびに、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢を所定の作業に適した位置及び姿勢に直すことができる。
【０１１９】
以上説明したように、本実施形態の変形例におけるロボット２０は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方が変更可能になるように、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する把持力を小さくする。これにより、ロボット２０は、第２エンドエフェクターＥ２が電動ドライバーＳＤの位置及び姿勢を固定したまま第２エンドエフェクターＥ２が電動ドライバーＳＤを把持している位置及び姿勢の少なくとも一方を変更することができる。
【０１２０】
また、ロボット２０は、第２エンドエフェクターＥ２が把持している電動ドライバーＳＤを第１アームと第２アームのうちのいずれか一方の所定の接触部位に接触させ、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方を変更する。これにより、ロボット２０は、ロボット２０の一部を用いて、第２エンドエフェクターＥ２が把持した電動ドライバーＳＤによって精度の高い作業を行うことができる。
【０１２１】
また、ロボット２０は、第２エンドエフェクターＥ２が把持している電動ドライバーＳＤを作業台ＴＢの一部に接触させ、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方を変更する。これにより、ロボット２０は、作業台ＴＢを用いて、第２エンドエフェクターＥ２が把持した電動ドライバーＳＤによって精度の高い作業を行うことができる。
【０１２２】
また、ロボット２０は、第２エンドエフェクターＥ２が電動ドライバーＳＤにより行う最初の作業を第２エンドエフェクターＥ２が行う前に、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方を変更する。これにより、ロボット２０は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢が適した位置及び姿勢に初期化された状態で作業を開始させることができる。
【０１２３】
また、ロボット２０は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方がずれた場合、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢の少なくとも一方を変更する。これにより、ロボット２０は、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢がずれるたびに、第２エンドエフェクターＥ２が電動ドライバーＳＤを把持する位置及び姿勢を適した位置及び姿勢に直すことができる。
【０１２４】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１２５】
また、以上に説明した装置（例えば、ロボット２０の制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１２６】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２７】
２０  ロボット、２１  第１撮像部、２２  第２撮像部、２３  第３撮像部、２４  第４撮像部、２５  力センサー、２５−１  第１力センサー、２５−２  第２力センサー、３０  制御装置、３１  ＣＰＵ、３２  記憶部、３３  入力受付部、３４  通信部、３５  表示部、３６  制御部、４１  位置姿勢情報読込部、４３  判定部、４５  力センサー情報取得部、４７  ロボット制御部
【図１】
2016203280.tif 000003
【図２】
2016203280.tif 000004
【図３】
2016203280.tif 000005
【図４】
2016203280.tif 000006
【図５】
2016203280.tif 000007
【図６】
2016203280.tif 000008
【図７】
2016203280.tif 000009
【図８】
2016203280.tif 000010
【図９】
2016203280.tif 000011
【図１０】
2016203280.tif 000012
【図１１】
2016203280.tif 000013
【図１２】
2016203280.tif 000014