(57)【要約】【課題】より確実に被作業物を挿入位置まで移動することが可能な制御装置、ロボット、ロボットシステム及び制御方法等を提供すること。【解決手段】制御装置１００は、第１の動作情報と、第１の動作情報とは異なる第２の動作情報を受け付ける受付部１１０と、ロボット３００が第１の姿勢から第１の姿勢とは異なる第２の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、第１の動作情報及び第２の動作情報に基づく動作をロボット３００に行わせる処理部１２０と、を含む。【選択図】      図１
2015085467.tif 000002
【特許請求の範囲】
【請求項１】
第１の動作情報と、前記第１の動作情報とは異なる第２の動作情報とを受け付ける受付部と、
ロボットが第１の姿勢から前記第１の姿勢とは異なる第２の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせる処理部と、
を含むことを特徴とする制御装置。
【請求項２】
請求項１において、
前記第１の動作情報と前記第２の動作情報とは、優先度が異なる情報であり、
前記第２の動作情報は、前記第１の動作情報よりも優先度が低いことを特徴とする制御装置。
【請求項３】
請求項１又は２において、
前記第１の動作情報は、被作業物の第１の部位と第１の目標とを一致させる動作の情報であり、
前記第２の動作情報は、前記被作業物の部位又は前記ロボットの部位である第２の部位と第２の目標とを近づける動作の情報であることを特徴とする制御装置。
【請求項４】
請求項３において、
前記処理部は、
前記第１の部位に対応する第１の特徴量を、前記第１の目標に対応する第１の目標特徴量に一致させる処理、及び前記第２の部位に対応する第２の特徴量を、前記第２の目標に対応する第２の目標特徴量に近づける処理を行うことで、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせることを特徴とする制御装置。
【請求項５】
請求項４において、
前記第１の特徴量及び前記第２の特徴量は、前記複数の画像に基づく画像特徴量であり、
前記第２の部位は、前記第１の部位とは異なる前記被作業物の部位であり、
前記第１の目標特徴量及び前記第２の目標特徴量は、参照画像に基づく画像特徴量であることを特徴とする制御装置。
【請求項６】
請求項４において、
前記第１の特徴量は、前記複数の画像に基づく画像特徴量であり、
前記第１の目標特徴量は、参照画像に基づく画像特徴量であり、
前記第２の部位は、前記ロボットのエンドエフェクターであり、
前記第２の特徴量は、前記エンドエフェクターの姿勢であり、
前記第２の目標特徴量は、前記第１の動作情報及び前記第２の動作情報に基づく動作を開始するときの前記エンドエフェクターの姿勢であることを特徴とする制御装置。
【請求項７】
請求項４において、
前記第１の特徴量は、前記複数の画像に基づく画像特徴量であり、
前記第１の目標特徴量は、参照画像に基づく画像特徴量であり、
前記第２の部位は、前記第１の部位とは異なる前記被作業物の部位であり、
前記第２の特徴量は、前記第１の動作情報に基づく動作により前記第２の部位の画像特徴量が変化する量を推定した推定変化量であり、
前記第２の目標特徴量は、前記推定変化量がゼロとなることであることを特徴とする制御装置。
【請求項８】
請求項１又は２において、
前記受付部は、
前記第１の動作情報及び前記第２の動作情報を入力するための表示画面が表示部に表示される場合に、前記表示画面によりユーザーが入力した前記第１の動作情報及び前記第２の動作情報を受け付けることを特徴とする制御装置。
【請求項９】
請求項８において、
前記表示画面には、第１の被作業物の画像と第２の被作業物の画像が表示され、
前記第１の動作情報は、前記第１の被作業物の画像において第１の部位が指定され、前記第２の被作業物の画像において前記第１の部位を一致させる第１の目標が指定されることで、入力される情報であり、
前記第２の動作情報は、前記第１の被作業物の画像において第２の部位が指定され、前記第２の被作業物の画像において前記第２の部位を近づける第２の目標が指定されることで、入力される情報であることを特徴とする制御装置。
【請求項１０】
請求項８において、
前記表示画面には、第１の動作情報を入力するための第１の選択肢と、第２の動作情報を入力するための第２の選択肢と、が表示され、
前記第１の動作情報及び前記第２の動作情報は、前記第１の選択肢と前記第２の選択肢の中からユーザーが所望する動作が選択されることで、入力される情報であることを特徴とする制御装置。
【請求項１１】
請求項２において、
前記処理部は、
前記優先度が低い前記第２の動作情報に基づく動作よりも前記第１の動作情報に基づく動作を優先して前記ロボットに行わせることを特徴とする制御装置。
【請求項１２】
請求項１乃至１１のいずれかにおいて、
前記第１の動作情報は、前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度で行う動作の情報であり、
前記第２の動作情報は、前記第１の動作情報に基づく動作における前記エンドエフェクターの位置及び姿勢の冗長自由度で行う動作の情報であることを特徴とする制御装置。
【請求項１３】
請求項１乃至１１のいずれかにおいて、
前記処理部は、
前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理及び、前記第２の動作情報に基づく動作を規定する評価関数を最大化する処理により、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせることを特徴とする制御装置。
【請求項１４】
請求項１３において、
前記処理部は、
前記エンドエフェクターの位置及び姿勢Ｘの変化ΔＸを、
ΔＸ＝λＪ＃（ｓｇ−ｓ）＋（Ｉ−Ｊ＃Ｊ）ξｋｐ
により制御し、
ｓは前記複数の撮像画像に基づく画像特徴量であり、ｓｇは参照画像に基づく目標特徴量であり、ξは前記評価関数のＸによる微分であり、ＪはＸとｓを関係づけるヤコビアンであり、Ｊ＃はＪの疑似逆行列であり、Ｉは単位行列であり、λ、ｋｐは、制御ゲインであることを特徴とする制御装置。
【請求項１５】
請求項１乃至１４のいずれかにおいて、
前記第１の動作情報及び前記第２の動作情報に基づく動作は、所定の作業を含み、
前記所定の作業は、組立作業、嵌合作業、挿入作業のうちいずれか１つの作業を含むことを特徴とする制御装置。
【請求項１６】
請求項１乃至１５のいずれかにおいて、
前記処理部は、
前記複数の撮像画像を用いたビジュアルサーボ制御により、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせることを特徴とする制御装置。
【請求項１７】
第１の動作情報と、前記第１の動作情報とは異なる第２の動作情報とを受け付け、
第１の姿勢から前記第１の姿勢とは異なる第２の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を受け付け、
前記複数の撮像画像を用いて、前記第１の動作情報及び前記第２の動作情報に基づく動作を行う、
ことを特徴とするロボット。
【請求項１８】
第１の動作情報と、前記第１の動作情報とは異なる第２の動作情報とを受け付ける受付部と、
第１の姿勢から前記第１の姿勢とは異なる第２の姿勢へと移る間に複数回、被撮像物を撮像する撮像部と、
前記撮像部による複数の撮像画像を用いて、前記第１の動作情報及び前記第２の動作情報に基づく動作を行うロボットと、
を含むことを特徴とするロボットシステム。
【請求項１９】
第１の動作情報と、前記第１の動作情報とは異なる第２の動作情報とを受け付けることと、
ロボットが第１の姿勢から前記第１の姿勢とは異なる第２の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせることと、
を含むことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、ロボット、ロボットシステム及び制御方法等に関する。
【背景技術】
【０００２】
多品種少量生産に対応できる生産装置として、組立ロボットが注目されている。その組立ロボットに行わせる作業として、例えば、コンデンサーのような複数の足が存在するパーツを電子基板に挿入する作業がある。複数の足が存在するパーツを挿入する作業の場合、どのような手順でそれらの足を挿入するかを決定する必要がある。
【０００３】
複数の足を挿入する手順の決定方法として、例えば特許文献１には、第１のワークの各嵌合足について許容変形量のデータを取得し、その許容変形量のデータに基づいて第１のワークの嵌合足を第２のワークの嵌合穴に挿入する順序を決定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１５４４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１には、ワークを組付位置まで移動させる方法については記載されていない。嵌合足を嵌合穴に挿入するためには嵌合足と嵌合穴を近づける必要があるので、どのようにワークを挿入位置まで移動させるかが課題となる。
【０００６】
例えば、第２のワークが正確に決められた位置に配置されていない場合には、第１のワークを決まった位置に移動させるだけでは挿入位置に移動することはできない。或は、コンデンサーのように挿入する足の長さが異なる場合等には、その長さが異なる足を２つの穴に対してどのような位置関係となるようにコンデンサーを移動させるかが課題となる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、第１の動作情報と、前記第１の動作情報とは異なる第２の動作情報とを受け付ける受付部と、ロボットが第１の姿勢から前記第１の姿勢とは異なる第２の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせる処理部と、を含む制御装置に関係する。
【０００８】
本発明の一態様によれば、ロボットの姿勢が移る間に複数回撮像した撮像画像を用いてロボットの動作が制御される。このとき、第１の動作情報と、第１の動作情報とは異なる第２の動作情報と、が受け付けられ、その受け付けられた第１の動作情報及び第２の動作情報に基づいてロボットの動作が制御される。これにより、被作業物を目標位置まで移動する際に２つの異なる動作をロボットに行わせることが可能となり、より確実に被作業物を目標位置まで移動することが可能となる。
【０００９】
また本発明の一態様では、前記第１の動作情報と前記第２の動作情報とは、優先度が異なる情報であり、前記第２の動作情報は、前記第１の動作情報よりも優先度が低くてもよい。
【００１０】
このようにすれば、被作業物を目標位置まで移動する際に優先度の異なる２つの動作をロボットに行わせることが可能となる。即ち、優先度の高い第１の動作情報に基づく動作を実現すると共に、第２の動作情報に基づく動作を出来るだけ実現することで、被作業物を目標位置に対してより適切に配置できる。
【００１１】
また本発明の一態様では、前記第１の動作情報は、被作業物の第１の部位を第１の目標に一致させる動作の情報であり、前記第２の動作情報は、前記被作業物の部位又は前記ロボットの部位である第２の部位を第２の目標に近づける動作の情報であってもよい。
【００１２】
このようにすれば、被作業物の第１の部位を第１の目標に一致させる動作を行い、それとは異なる動作として、被作業物の部位又はロボットの部位である第２の部位を第２の目標に近づけることができる。これにより、第１の部位を目標に一致させると共に、第２の部位を、より適切な位置に移動させることが可能となる。
【００１３】
また本発明の一態様では、前記処理部は、前記第１の部位に対応する第１の特徴量を、前記第１の目標に対応する第１の目標特徴量に一致させる処理、及び前記第２の部位に対応する第２の特徴量を、前記第２の目標に対応する第２の目標特徴量に近づける処理を行うことで、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせてもよい。
【００１４】
このようにすれば、第１の特徴量を第１の目標特徴量に一致させる処理により、第１の動作情報に基づく動作をロボットに行わせ、第２の特徴量を第２の目標特徴量に一致させる処理により、第１の動作情報とは異なる第２の動作情報に基づく動作をロボットに行わせることができる。
【００１５】
また本発明の一態様では、前記第１の特徴量及び前記第２の特徴量は、前記複数の画像に基づく画像特徴量であり、前記第２の部位は、前記第１の部位とは異なる前記被作業物の部位であり、前記第１の目標特徴量及び前記第２の目標特徴量は、参照画像に基づく画像特徴量であってもよい。
【００１６】
このようにすれば、被作業物の第１の部位を第１の目標に一致させる動作と、その動作とは異なる、被作業物の第２の部位を第２の目標に一致させる動作とを、画像特徴量に基づいてロボットに行わせることができる。
【００１７】
また本発明の一態様では、前記第１の特徴量は、前記複数の画像に基づく画像特徴量であり、前記第１の目標特徴量は、参照画像に基づく画像特徴量であり、前記第２の部位は、前記ロボットのエンドエフェクターであり、前記第２の特徴量は、前記エンドエフェクターの姿勢であり、前記第２の目標特徴量は、前記第１の動作情報及び前記第２の動作情報に基づく動作を開始するときの前記エンドエフェクターの姿勢であってもよい。
【００１８】
このようにすれば、被作業物の第１の部位を第１の目標に一致させる動作を、画像特徴量に基づいてロボットに行わせることができる。また、それとは異なる動作として、エンドエフェクターの姿勢を動作開始時の姿勢に近づける動作を、エンドエフェクターの姿勢を特徴量として用いることでロボットに行わせることができる。
【００１９】
また本発明の一態様では、前記第１の特徴量は、前記複数の画像に基づく画像特徴量であり、前記第１の目標特徴量は、参照画像に基づく画像特徴量であり、前記第２の部位は、前記第１の部位とは異なる前記被作業物の部位であり、前記第２の特徴量は、前記第１の動作情報に基づく動作により前記第２の部位の画像特徴量が変化する量を推定した推定変化量であり、前記第２の目標特徴量は、前記推定変化量がゼロとなることであってもよい。
【００２０】
このようにすれば、被作業物の第１の部位を第１の目標に一致させる動作を、画像特徴量に基づいてロボットに行わせることができる。また、それとは異なる動作として、被作業物の第２の部位を第２の目標に近づける優先度が低い動作を、第２の部位の画像特徴量の推定変化量に基づいてロボットに行わせることができる。
【００２１】
また本発明の一態様では、前前記受付部は、前記第１の動作情報及び前記第２の動作情報を入力するための表示画面が表示部に表示される場合に、前記表示画面によりユーザーが入力した前記第１の動作情報及び前記第２の動作情報を受け付けてもよい。
【００２２】
このようにすれば、表示画面によりユーザーが第１の動作情報及び第２の動作情報を入力することが可能となり、その入力された情報に基づいてロボットを動作させることで、ユーザーが所望する２つの異なる動作をロボットに行わせることができる。
【００２３】
また本発明の一態様では、前記表示画面には、第１の被作業物の画像と第２の被作業物の画像が表示され、前記第１の動作情報は、前記第１の被作業物の画像において第１の部位が指定され、前記第２の被作業物の画像において前記第１の部位を一致させる第１の目標が指定されることで、入力される情報であり、前記第２の動作情報は、前記第１の被作業物の画像において第２の部位が指定され、前記第２の被作業物の画像において前記第２の部位を近づける第２の目標が指定されることで、入力される情報であってもよい。
【００２４】
このようにすれば、被作業物が画像として表示され、その画像に対して、動作情報である部位や目標を指示すればよいため、視覚的な分りやすいユーザーインターフェースを提供できる。
【００２５】
また本発明の一態様では、前記表示画面には、第１の動作情報を入力するための第１の選択肢と、第２の動作情報を入力するための第２の選択肢と、が表示され、前記第１の動作情報及び前記第２の動作情報は、前記第１の選択肢と前記第２の選択肢の中からユーザーが所望する動作が選択されることで、入力される情報であってもよい。
【００２６】
このようにすれば、動作を選択肢として表示するので、例えばエンドエフェクターの姿勢や被作業物の部位の仮想的な動き等、特徴点や目標点だけでは表せない動作を指示することが可能となる。
【００２７】
また本発明の一態様では、前記処理部は、前記優先度が低い前記第２の動作情報に基づく動作よりも前記第１の動作情報に基づく動作を優先して前記ロボットに行わせてもよい。
【００２８】
このようにすれば、第１の動作情報及び第２の動作情報により指示されるタスクを処理部が実行し、そのタスクを実行することでロボットが動作した結果において、優先度が高い第１の動作情報について、その指示内容をより高い度合いで達成できる。
【００２９】
また本発明の一態様では、前記第１の動作情報は、前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度で行う動作の情報であり、前記第２の動作情報は、前記第１の動作情報に基づく動作における前記エンドエフェクターの位置及び姿勢の冗長自由度で行う動作の情報であってもよい。
【００３０】
このようにすれば、第１の動作情報に基づく動作を、ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度でロボットに行わせ、その動作におけるエンドエフェクターの位置及び姿勢の冗長自由度で、第２の動作情報に基づく動作をロボットに行わせることができる。
【００３１】
また本発明の一態様では、前記処理部は、前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理及び、前記第２の動作情報に基づく動作を規定する評価関数を最大化する処理により、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせてもよい。
【００３２】
このようにすれば、エンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理により、第１の動作情報に基づく動作をロボットに行わせ、評価関数を最大化する処理により、第２の動作情報に基づく動作をロボットに行わせることができる。
【００３３】
また本発明の一態様では、前記処理部は、前記エンドエフェクターの位置及び姿勢Ｘの変化ΔＸを、ΔＸ＝λＪ＃（ｓｇ−ｓ）＋（Ｉ−Ｊ＃Ｊ）ξｋｐにより制御し、ｓは前記複数の撮像画像に基づく画像特徴量であり、ｓｇは参照画像に基づく目標特徴量であり、ξは前記評価関数のＸによる微分であり、ＪはＸとｓを関係づけるヤコビアンであり、Ｊ＃はＪの疑似逆行列であり、Ｉは単位行列であり、λ、ｋｐは、制御ゲインであってもよい。
【００３４】
このようにすれば、第１項λＪ＃（ｓｇ−ｓ）により、エンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理を実現し、第２項（Ｉ−Ｊ＃Ｊ）ξｋｐにより、第２の動作情報に基づく動作を規定する評価関数を最大化する処理を実現できる。
【００３５】
また本発明の一態様では、前記第１の動作情報及び前記第２の動作情報に基づく動作は、所定の作業を含み、前記所定の作業は、組立作業、嵌合作業、挿入作業のうちいずれか１つの作業を含んでもよい。
【００３６】
このようにすれば、第１の動作情報及び第２の動作情報に基づく動作として、例えば組立作業、嵌合作業、挿入作業等の所定の作業をロボットに行わせることができる。
【００３７】
また本発明の一態様では、前記処理部は、前記複数の撮像画像を用いたビジュアルサーボ制御により、前記第１の動作情報及び前記第２の動作情報に基づく動作をロボットに行わせてもよい。
【００３８】
このようにすれば、撮像画像から抽出した特徴量に基づいてロボットをフィードバック制御するビジュアルサーボ制御により、第１の動作情報及び第２の動作情報に基づく動作をロボットに行わせることができる。
【００３９】
また本発明の他の態様は、第１の動作情報と、前記第１の動作情報とは異なる第２の動作情報とを受け付け、第１の姿勢から前記第１の姿勢とは異なる第２の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を受け付け、前記複数の撮像画像を用いて、前記第１の動作情報及び前記第２の動作情報に基づく動作を行う、ロボットに関係する。
【００４０】
また本発明の更に他の態様は、第１の動作情報と、前記第１の動作情報とは異なる第２の動作情報とを受け付ける受付部と、第１の姿勢から前記第１の姿勢とは異なる第２の姿勢へと移る間に複数回、被撮像物を撮像する撮像部と、前記撮像部による複数の撮像画像を用いて、前記第１の動作情報及び前記第２の動作情報に基づく動作を行うロボットと、を含むロボットシステムに関係する。
【００４１】
また本発明の更に他の態様は、第１の動作情報と、前記第１の動作情報とは異なる第２の動作情報とを受け付けることと、ロボットが第１の姿勢から前記第１の姿勢とは異なる第２の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第１の動作情報及び前記第２の動作情報に基づく動作を前記ロボットに行わせることと、を含む制御方法に関係する。
【００４２】
以上のように、本発明の幾つかの態様によれば、より確実に被作業物を目標位置まで移動することが可能な制御装置、ロボット、ロボットシステム及び制御方法等を提供できる。
【図面の簡単な説明】
【００４３】
【図１】図１（Ａ）は、制御装置の第１の構成例。図１（Ｂ）は、制御装置の第２の構成例。
【図２】制御処理のフローチャート。
【図３】ビジュアルサーボにおける配置構成例。
【図４】ビジュアルサーボの基本処理における撮像画像。
【図５】ビジュアルサーボの基本処理における参照画像。
【図６】第１のビジュアルサーボにおける撮像画像。
【図７】第１のビジュアルサーボにおける参照画像。
【図８】第１のビジュアルサーボの説明図。
【図９】図９（Ａ）は、第２のビジュアルサーボにおける参照画像。図９（Ｂ）は、第２のビジュアルサーボの第１の制御手法の説明図。
【図１０】第２のビジュアルサーボにおける撮像画像。
【図１１】第２のビジュアルサーボの第２の制御手法の説明図。
【図１２】表示画面の第１の例。
【図１３】表示画面の第２の例。
【図１４】図１４（Ａ）、図１４（Ｂ）は、ロボットの構成例。
【図１５】ネットワークを介してロボットを制御するロボット制御システムの構成例。
【図１６】特徴ベースビジュアルサーボのフローチャート。
【発明を実施するための形態】
【００４４】
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
【００４５】
１．制御装置
図１（Ａ）に、本実施形態の制御手法によりロボットを制御する制御装置の第１の構成例を示す。制御装置１００は、受付部１１０と処理部１２０とを含む。
【００４６】
受付部１１０は、第１の動作情報と、第１の動作情報とは異なる第２の動作情報を受け付ける。例えば、受付部１１０は、ユーザーが入力した第１の動作情報と第２の動作情報を受け付ける。或は、制御装置１００は、第１の動作情報と第２の動作情報を記憶する不図示の記憶部（例えばＲＡＭや、ハードディスクドライブ、ＲＯＭ等）を含んでもよく、その記憶部から読み出した情報を受付部１１０が受け付けてもよい。この場合、受付部１１０は、例えばメモリーコントローラーである。
【００４７】
処理部１２０は、ロボット３００が第１の姿勢から第１の姿勢とは異なる第２の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、第１の動作情報及び第２の動作情報に基づく動作をロボット３００に行わせる処理を行う。具体的には、撮像部２００は時系列に画像を撮像し、処理部１２０は、その時系列に撮像した画像を用いたビジュアルサーボによりロボット３００を制御し、第１の動作情報及び第２の動作情報に基づく動作をロボット３００に行わせる。処理部１２０は、例えばＣＰＵやＧＰＵ等により実現される。
【００４８】
図１（Ｂ）に、ユーザーにより入力された動作情報を受け付ける場合の例として、制御装置の第２の構成例を示す。
【００４９】
表示制御部１４０は、第１の動作情報と第２の動作情報を入力するための表示画面を表示部１３０に表示させる制御を行う。表示画面は、例えば図１２、図１３で後述する。ユーザーは、表示画面を見ながら、操作部２１０を介して第１の動作情報と第２の動作情報を入力する。受付部１１０は、その入力された情報を受け付ける。受付部１１０は、例えば、操作部２１０と制御装置１００を接続するインターフェースである。
【００５０】
制御装置１００は、例えば、図２で後述するコンデンサー２０の組み付け作業をロボット３００に行わせる。この作業では、まずコンデンサー２０の長リード線３０を電子基板５０の第１の穴６０に挿入する（ステップＳ４）。このとき、長リード線３０を第１の穴６０に正確に近づける（ステップＳ３）必要があるため、第１の動作情報は、長リード線３０を第１の穴６０に一致させる指示情報である。本実施形態では、ビジュアルサーボ（広義には撮像部による複数の撮像画像を用いたロボット制御）を用いて画像上で長リード線３０と第１の穴６０を近づけていくので、電子基板５０が毎回決まった位置に正確に置かれていなかったとしても、長リード線３０を第１の穴６０に一致させることが可能である。
【００５１】
しかしながら、第１の動作情報のみでは、長リード線３０を第１の穴６０に一致させるだけなので、短リード線４０が第２の穴７０に対してどの位置に来るかまでは決めることができない。短リード線４０が自由な位置をとった場合、ロボット３００のアームが不自然な姿勢や不可能な姿勢を取ろうとしたり、短リード線４０を第２の穴７０に挿入する際に短リード線４０を穴に一致させる作業が難しくなったりする。そこで、短リード線４０を第２の穴７０にできるだけ近づける指示情報を、第１の動作情報とは異なる第２の動作情報として受け付ける。これにより、長リード線３０を第１の穴６０に一致させるという条件を守りつつ、同時に短リード線４０を第２の穴７０に近づけることができ、上記の問題点を解消できる。
【００５２】
より具体的には、第１の動作情報と第２の動作情報とは、優先度が異なる情報である。そして、第２の動作情報は、第１の動作情報よりも優先度が低い。図２のステップＳ３を例にとると、優先度が高い動作は、コンデンサー２０の長リード線３０を電子基板５０の第１の穴６０に挿入する動作である。優先度が低い動作は、短リード線４０を第２の穴７０にできるだけ近づける動作である。
【００５３】
このように、優先度が異なる動作情報を用いることで、ロボット３００が、第２の動作情報が示す指示内容に従いつつ、第２の動作情報よりも優先度の高い第１の動作情報が示す指示内容を優先的に達成するように、制御装置１００がビジュアルサーボ制御を行うことができる。これにより、ロボット３００が行う作業において第１の被作業物と第２の被作業物を、その作業に適した位置関係に移動させることができる。例えば、上述したコンデンサー２０の例では、コンデンサー２０を挿入する電子基板５０が正確に決められた位置に配置されていない場合や、コンデンサー２０のように挿入する足の長さが異なる場合であっても、より確実に、コンデンサー２０を適切な挿入位置まで移動させることができる。
【００５４】
ここで、第１の動作情報と第２の動作情報は、上記に限定されない。即ち、受付部１１０は、第１の動作情報として、被作業物の第１の部位と第１の目標とを一致させる動作の情報を受け付け、第２の動作情報として、被作業物の部位又はロボットの部位である第２の部位と第２の目標とを近づける動作の情報を受け付ける。このような情報であれば、本実施形態では種々の動作情報を用いることができる。
【００５５】
例えば、図２のステップＳ５において短リード線４０を第２の穴７０に一致させる場合、被作業物であるコンデンサー２０の短リード線４０（第１の部位）を第２の穴７０の位置（第１の目標）に一致させる動作が、優先度の高い第１の動作である。そして、図９（Ｂ）に示すように、ロボット３００のハンド１０（第２の部位）の姿勢Ｒを、ビジュアルサーボ開始時の姿勢Ｒｇ（第２の目標）からできるだけ変えない動作が、優先度の低い第２の動作である。ハンド１０の姿勢Ｒを姿勢Ｒｇからできるだけ変えないということは、できるだけ第２の目標である姿勢Ｒｇに近づけるということである。
【００５６】
或は、第１の動作は上記と同様だが、図１１に示すように、短リード線４０を第２の穴７０に向けて移動させたときに長リード線３０（第２の部位）の変形が最小となる動作を第２の動作にしてもよい。第２の目標は、第１の穴６０に拘束された長リード線３０の位置である。長リード線３０が第１の穴６０に拘束されていないと仮定した場合に、短リード線４０を動かしたときの長リード線３０の仮想的な移動量（画像特徴量の変化Δｓｌ）を推定し、その仮想的な移動量が最小となるようにビジュアルサーボを行う。長リード線３０の仮想的な移動量が最小となるということは、第１の穴６０に拘束された長リード線３０の位置にできるだけ近づけるということである。
【００５７】
以上のような動作情報を受け付けることで、被作業物の第１の部位を第１の目標に一致させ、その動作が実現される範囲において可能な限り、被作業物の部位又はロボットの部位である第２の部位を第２の目標に近づけることができる。これにより、２つの異なる動作情報に基づいて被作業物を適切に移動できる。即ち、優先度の高い第１の目標を実現すると共に、第２の部位を、より適切な位置に配置することが可能となる。
【００５８】
ここで、第１の部位と第１の目標とを一致させるとは、第１の部位と第１の目標（第１の目標付近）とを合わせることである。例えば、図２のステップＳ３では、長リード線３０の先端を第１の穴６０の入口に合わせる（即ち一致させる）ことで、第１の部位と第１の目標とを一致させる。なお、電子基板５０を把持し、第１の穴６０の入口を長リード線３０の先端に合わせることで、第１の部位と第１の目標とを一致させてもよい。
【００５９】
また、第２の部位と第２の目標とを近づけるとは、第２の部位と第２の目標との間の距離を短くすることである。例えば、図２のステップＳ３では、短リード線４０の先端を、第２の穴７０の上方の位置に向けて移動させる（即ち近づける）ことで、短リード線４０の先端と第２の穴との間の距離を近づける。なお、電子基板５０を把持し、第２の穴７０の上方の位置を、短リード線４０の先端に向けて移動させることで、短リード線４０の先端と第２の穴との間の距離を近づけてもよい。
【００６０】
なお、被作業物の部位は、コンデンサー２０のリード線のような線状の部位に限定されない。例えば、被作業物の本体部から突き出た突起や、工具の部材に作用させる部位（例えばドライバーの先端）、治具の部材に当てる部位等であってもよい。或は逆に、被作業物の本体部に開いた穴部や、工具で作業される部材（例えばネジ）、治具があてがわれる部材等であってもよい。この場合、穴部、部材をハンドが把持し、突起、工具、治具に対して近づけることになる。
【００６１】
上述したような動作情報に基づくロボット３００の動作は、次のようにして実現できる。即ち、処理部１２０は、第１の部位に対応する第１の特徴量を、第１の目標に対応する第１の目標特徴量に一致させる処理と、第２の部位に対応する第２の特徴量を、第２の目標に対応する第２の目標特徴量に近づける処理と、を行う。
【００６２】
長リード線３０を第１の穴６０に一致させるビジュアルサーボを例に説明する。図７に示すように、第１の特徴量は、長リード線３０の画像特徴量ｓｌ１、ｓｌ２であり、第２の特徴量は、短リード線４０の画像特徴量ｓｓ１、ｓｓ２である。図６に示すように、第１の目標特徴量は、長リード線３０が第１の穴６０に一致するときの長リード線３０の画像特徴量ｓｌｇ１、ｓｌｇ２であり、第２の目標特徴量は、長リード線３０が第１の穴６０に一致するときの短リード線４０の画像特徴量ｓｓｇ１、ｓｓｇ２である。処理部１２０が、これらの特徴量を目標特徴量に一致させ、又は近づけることで、２つの異なる動作をロボット３００に行わせることができる。
【００６３】
上記のような特徴量と目標特徴量は、受付部１１０が受け付けた第１の動作情報と第２の動作情報により決定する。例えば、図１２のように部位と目標点を直接的に指定することで、それらに対応する特徴量と目標特徴量を指示する。或は、図１３のように、ロボット３００に行わせたい動作を指定することで、その動作に必要な特徴量と目標特徴量を間接的に決定してもよい。どの動作にどの特徴量と目標特徴量を対応させるかは、例えば予め制御装置１００に記憶させておけばよい。
【００６４】
上述のように、第１の動作情報と第２の動作情報は、優先度が異なっている。この優先度の違いは、処理部１２０が、優先度が低い第２の動作情報に基づく動作よりも第１の動作情報に基づく動作を優先してロボット３００に行わせることを意味する。
【００６５】
即ち、動作情報により指示されるタスクを処理部１２０が実行し、そのタスクを実行することでロボット３００が動作した結果において、優先度が高い動作情報は、その指示内容がより高い度合いで達成される、ということである。例えば、上述した長リード線３０の挿入作業では、長リード線３０を第１の穴６０に一致させる第１のタスクと、短リード線４０を第２の穴７０に近づける第２のタスクと、を実行する。この場合、短リード線４０が第２の穴７０に近づくだけで一致せず、第２のタスクが低い達成度だったとしても、長リード線３０は第１の穴６０に一致し、第１のタスクは高い達成度で実現される。
【００６６】
優先度の異なる動作情報をより具体的に説明すると、第１の動作情報は、ロボット３００のエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度で行う動作の情報である。また、第２の動作情報は、第１の動作情報に基づく動作におけるエンドエフェクターの位置及び姿勢の冗長自由度で行う動作の情報である。
【００６７】
例えば、図４に示すように、長リード線３０の先端が第１の穴６０に一致し、長リード線３０の方向が挿入方向に一致したとき、長リード線３０を軸とする回転方向ＲＦの自由度が残る。即ち、長リード線３０を第１の穴６０に一致させる動作は、５自由度で行うことができる。ハンド１０の自由度は位置及び姿勢の６自由度なので、それよりも少ない自由度ということになる。回転方向ＲＦはハンド１０の冗長自由度であり、この回転方向ＲＦでのコンデンサー２０の回転を第２の動作情報を使って制御する。この動作が短リード線４０を第２の穴７０に近づける動作となる。長リード線３０を軸とする回転に制限されるので、図７に示すように短リード線４０が曲がっているような場合には、短リード線４０が第２の穴７０に一致するとは限らない。即ち、冗長自由度で行う第２の動作は、第１の動作よりも優先度が低くなっている。
【００６８】
２．制御処理フロー
次に、コンデンサー２０を電子基板５０に組み付ける場合を例に、制御処理の詳細を説明する。図２に、制御処理のフローチャートを示す。なお、図２では各ステップの概要を説明し、各ステップの詳細については後述する。
【００６９】
図２に示すように、コンデンサー２０は、電荷を蓄積する部分である本体部２５と、その本体部２５の正極端子である長リード線３０と、本体部２５の負極端子である短リード線４０と、で構成される。また、電子基板５０には、第１の穴６０と第２の穴７０が設けられている。長リード線３０、短リード線４０をそれぞれ第１の穴６０、第２の穴７０に挿入することで、コンデンサー２０と電子基板５０を組み付ける。
【００７０】
制御処理を開始すると、まずハンド１０は本体部２５を把持する（ステップＳ１）。次に、第１の位置制御によりコンデンサー２０をビジュアルサーボの開始点へ移動させる（ステップＳ２）。ステップＳ２以降ではハンド１０の図示を省略している。
【００７１】
ここで、位置制御とは、ハンド１０等のエンドエフェクターの位置及び姿勢を始点から終点まで移動させる制御である。ステップＳ１では、始点は把持動作を終了したときのハンド１０の位置及び姿勢であり、終点は、ビジュアルサーボの開始点におけるエンドエフェクターの位置及び姿勢である。始点から終点までの軌道を生成し、その軌道に基づいてアームの関節角や関節角速度を制御し、軌道に沿ってエンドエフェクターを移動させる。
【００７２】
次に、第１のビジュアルサーボにより、長リード線３０の特徴点ＴＰａを目標点ＧＰａに一致させると共に、短リード線４０の特徴点ＴＰｂを第２の目標点ＧＰｂにできるだけ近づける（ステップＳ３）。特徴点と目標点は、リード線の先端の位置及びリード線の方向で指定される。図２では、優先度が高い動作の特徴点と目標点を×印で表し、優先度が低い動作の特徴点と目標点を○印で表す。目標点ＧＰａは、第１の穴６０の入口又は直上であり、目標点ＧＰｂは、第２の穴７０の上方である。目標点ＧＰａ、ＧＰｂは、電子基板５０からの高さにおいて、長リード線３０と短リード線４０の長さの差だけ異なっている。
【００７３】
次に、第２の位置制御によりコンデンサー２０を下方（挿入方向）に移動させ、長リード線３０を第１の穴６０に挿入する（ステップＳ４）。ここでは、短リード線４０が第２の穴７０に達しない距離だけ移動させる。
【００７４】
次に、第２のビジュアルサーボにより短リード線４０の特徴点ＴＰｃを目標点ＧＰｃに一致させる（ステップＳ５）。目標点ＧＰｃは、第２の穴７０の直上である。長リード線３０、短リード線４０が本体部２５から斜めに出ている場合や長リード線３０、短リード線４０が曲がっている場合には、短リード線４０の特徴点ＴＰｃが目標点ＧＰｃまで移動するのに伴って、長リード線３０が変形する。この変形は、長リード線３０が第１の穴６０に拘束（挿入）されているために生じ、例えば本体部２５に接続される根元が曲がる変形である。
【００７５】
次に、第３の位置制御によりコンデンサー２０を下方（挿入方向）に移動させ、短リード線４０を第２の穴７０に挿入する（ステップＳ６）。ここでは、組み付け完了の位置、例えば長リード線３０、短リード線４０を第１の穴６０、第２の穴７０に半田付け可能な位置まで移動させる。
【００７６】
上記のような処理フローは、その処理フローに対応した作業シナリオに基づいて処理部１２０が実行する。例えば、作業シナリオは、制御装置１００の不図示の記憶部に記憶される。処理部１２０は、その記憶部から作業シナリオを取得し、その作業シナリオを具体的な制御処理（例えばモーターの制御情報等）に変換し、ロボットを制御する。作業シナリオとは、ロボットに作業を実行させるためのシナリオ（プログラム）であり、例えば複数のサブプログラムを組み合わせることで構成される。或は、処理部１２０は、作業シナリオを生成することで取得してもよい。例えば、ユーザーからは所望の目標状態だけが（例えば図１２、図１３の入力画面により）入力され、当該目標状態を実現する作業シナリオを処理部１２０が生成する。
【００７７】
なお、上記のフローでは、コンデンサー２０をハンド１０で把持し、そのコンデンサー２０を、作業台上の治具等に設置された電子基板５０に組み付ける場合を例に説明したが、電子基板５０をハンド１０で把持し、その電子基板５０を、作業台上の治具に設置されたコンデンサー２０に組み付けてもよい。
【００７８】
３．ビジュアルサーボの基本処理
長リード線３０を第１の穴６０に一致させる場合を例に、ビジュアルサーボの基本的な制御処理について説明する。なお、以下ではカメラ（撮像部）が２台である場合を例に説明するが、カメラは１台又は３台以上であってもよい。
【００７９】
図３に示すように、ビジュアルサーボでは第１のカメラＣＭ１と第２のカメラＣＭ２により被撮像物を撮像し、その撮像画像を用いてアーム３２０の関節角やハンド１０の位置及び姿勢を制御する。被撮像物は、第１の被作業物であるコンデンサー２０と、第２の被作業物である電子基板５０である。カメラＣＭ１、ＣＭ２は時系列に撮像（例えば動画撮影）を行い、制御装置１００は各時刻での撮像画像を使ってアーム３２０やハンド１０をフィードバック制御する。フィードバック制御のフローについては図１６で後述する。
【００８０】
図４は、カメラＣＭ１、ＣＭ２の撮像画像である。カメラＣＭ１の撮像画像から下式（１）に示す画像特徴量を検出し、カメラＣＭ２の撮像画像から下式（２）に示す画像特徴量を検出する。画像特徴量の検出は、画像認識により行う。
【数１】
2015085467.tif 000003
【数２】
2015085467.tif 000004
【００８１】
画像上の位置を（ｘ，ｙ）で表すと、ｓｌ１＝（ｓｘｌ１，ｓｙｌ１）、ｓｌ２＝（ｓｘｌ２，ｓｙｌ２）は長リード線３０の先端の撮像画像上での位置であり、図４では△印で表している。（ｘ，ｙ）は例えば直交座標であり、ｘは例えば水平走査方向、ｙは例えば垂直走査方向に対応する。ｓθｌ１、ｓθｌ２は長リード線３０の撮像画像上での角度であり、図４では△印に付した矢印で表している。画像上での角度は、例えばｘ軸と長リード線３０の成す角度であり、本実施形態では直角である。なお、上付きの“Ｔ”はベクトル又は行列の転置を表す。
【００８２】
カメラＣＭ１、ＣＭ２の画像特徴量ｓｌ１、ｓｌ２は、３次元の作業空間において長リード線３０の位置及び姿勢を特定することに対応している。このとき、長リード線３０を軸とする回転（図５のＲＦ）は自由なので、長リード線３０の位置及び姿勢は５自由度である。そのため、長リード線３０の画像特徴量ｓｌを下式（３）とする。
【数３】
2015085467.tif 000005
【００８３】
例えば、カメラＣＭ１、ＣＭ２が作業空間において同じ高さに設置されている場合、ｓｙｌ１＝ｓｙｌ２となるので、画像特徴量ｓｌを上式（３）のように選ぶことができる。なお、ベクトルの要素の選び方は上式（３）に限定されず、カメラの配置等に応じて適宜変更できる。
【００８４】
図５に、参照画像の例を示す。ビジュアルサーボでは、撮像画像上において被作業物を目標まで移動させるが、その目標となるのが参照画像である。撮像画像と参照画像の特徴量の差により被作業物の位置を推定することができ、それによってフィードバック制御を行う。
【００８５】
カメラＣＭ１の参照画像から下式（４）に示す画像特徴量を検出し、カメラＣＭ２の参照画像から下式（５）に示す画像特徴量を検出する。
【数４】
2015085467.tif 000006
【数５】
2015085467.tif 000007
【００８６】
（ｓｘｌｇ１，ｓｙｌｇ１）、（ｓｘｌｇ２，ｓｙｌｇ２）は長リード線３０の先端の参照画像上での位置であり、ｓθｌｇ１、ｓθｌｇ２は長リード線３０の参照画像上での角度である。
【００８７】
参照画像の特徴量ｓｌｇ１、ｓｌｇ２から、画像特徴量ｓｌの目標値ｓｌｇを下式（６）とする。
【数６】
2015085467.tif 000008
【００８８】
本実施形態では、カメラＣＭ１、ＣＭ２の撮像画像から第１の穴６０と第２の穴７０を画像認識し、その認識した第１の穴６０と第２の穴７０の位置に対応して目標値ｓｌｇを設定する。即ち、本実施形態では撮像画像が参照画像となる。
【００８９】
なお、参照画像は、撮像画像とは別の画像であってもよく、例えばＣＡＤモデルデータから生成される画像であってもよい。また、記憶しておいた参照画像から画像特徴量を検出してもよいし、予め検出しておいた画像特徴量を記憶しておいてもよい。
【００９０】
上式（３）の画像特徴量ｓｌと上式（６）の目標画像特徴量ｓｌｇから、下式（７）、（８）のように目標関節角の変化Δθｇを求める。この制御則によって、時系列の撮像画像を用いて目標関節角の変化Δθｇを逐次決定し、その変化Δθｇの分だけ関節角を動かすことにより、実画像の特徴量ｓｌと目標画像特徴量ｓｌｇとの差を無くすように制御できる。
【数７】
2015085467.tif 000009
【数８】
2015085467.tif 000010
【００９１】
上式（７）において、Ｘは、下式（９）に示すように、作業空間におけるハンド１０の位置（ｘ，ｙ，ｚ）及び姿勢（Ｒ１，Ｒ２，Ｒ３）である。姿勢（Ｒ１，Ｒ２，Ｒ３）は、例えばロール角、ピッチ角、ヨー角である。λは制御ゲインである。Ｊｉｌは、下式（１０）に示すように、作業空間における被作業物の位置及び姿勢と長リード線３０の画像特徴量ｓｌとの間のヤコビアンである。Ｊｉｌ＃は、Ｊｉｌの疑似逆行列である。
【数９】
2015085467.tif 000011
【数１０】
2015085467.tif 000012
【００９２】
上式（８）において、θｇは、下式（１１）に示すように目標関節角のベクトルである。下式（１１）は６自由度アームを用いた場合の例である。Ｊａは、下式（１２）に示すように、アームの関節角と作業空間における被作業物の位置及び姿勢との間のヤコビアンである。Ｊａ＃は、Ｊａの疑似逆行列である。
【数１１】
2015085467.tif 000013
【数１２】
2015085467.tif 000014
【００９３】
ヤコビアンＪｉｌは、ハンド１０の位置及び姿勢Ｘを微小変化させた際の画像特徴量ｓｌの変化を事前に測定することで、求めることができる。この場合、事前に求めたヤコビアンを記憶しておけばよい。或は、ヤコビアンＪｉｌを、動作させながら推定する方法を用いて算出してもよい。ヤコビアンＪａは、ロボットの関節角とリンク長の幾何学的な関係から算出することができる。
【００９４】
疑似逆行列（一般化逆行列）を求める手法としては、例えば以下の２つの手法がある。第１の手法は、Ａをｍ×ｎの行列として正方行列ＡＴＡの逆行列を求める手法であり、下式（１３）により疑似逆行列Ａ＃を求める。
【数１３】
2015085467.tif 000015
【００９５】
第２の手法は、特異値分解による手法である。任意のｍ×ｎの行列Ａは下式（１４）の形式に分解できる。
【数１４】
2015085467.tif 000016
【００９６】
Ｕはｍ次元の正規直交基底であり、Ｖはｎ次元の正規直交基底であり、Σは特異値を対角項に持つ行列となる。なお、Ｕは正方行列ＡＡＴのｍ個の固有ベクトルを列ベクトルとして有する行列、Ｖは正方行列ＡＴＡのｎ個の固有ベクトルを列ベクトルとして有する行列であり、ΣはＵとＶで共有される固有値の平方根を対角項に持つ行列であると言い換えることができる。
【００９７】
上式（１４）のＡの逆行列と同様の性質を持つ行列として下式（１５）のＡ＃を考えることが可能となる。
【数１５】
2015085467.tif 000017
【００９８】
本実施形態では、上記の第１、第の手法においてＡ＝Ｊｉｌ又はＡ＝Ｊａとすることで、逆ヤコビアンを求めることができる。
【００９９】
４．第１のビジュアルサーボ
次に、図２のステップＳ３で説明した第１のビジュアルサーボについて詳細に説明する。
【０１００】
上述した基本制御では上式（７）、（８）の制御則を用いるが、この制御則では、長リード線３０を中心とする回転方向（図５のＲＦ）においてハンド１０の動作に制約がない。そのため、長リード線３０を第１の穴６０に一致させることはできるが、回転方向において短リード線４０がどのような角度に配置されるかは分らない。コンデンサー２０を組み付けるには２つのリード線を穴に挿入する必要があることから、短リード線４０の配置もある程度制約されることが望ましい。また、回転方向の制約がないと、回転角度がロボット３００で実現可能な範囲を超え、実現不可能な動作となる可能性がある。
【０１０１】
そこで、第１のビジュアルサーボでは、回転方向の冗長自由度を制御する項を制御則に加えることで回転方向の動作を制約する。具体的には、下式（１６）、（１７）の制御則を用いる。
【数１６】
2015085467.tif 000018
【数１７】
2015085467.tif 000019
【０１０２】
上式（１６）の第１項は、上式（７）で説明した通りである。第２項のＩは単位行列である。ｋｐはスカラー量（制御ゲイン）である。ξは下式（１８）、（１９）に示すように評価関数ｑ（Ｘ）に基づくベクトルである。
【数１８】
2015085467.tif 000020
【数１９】
2015085467.tif 000021
【０１０３】
上式（１９）においてξｉはξのｉ番目の要素である。Ｘｉは上式（９）のＸのｉ番目の要素である。評価関数ｑ（ｘ）は、短リード線４０の画像特徴量ｓｓ、ｓｓｇを用いて下式（２０）で定義する。ｓｓｉ、ｓｓｇｉは、ｓｓ、ｓｓｇのｉ番目の要素である。
【数２０】
2015085467.tif 000022
【０１０４】
短リード線４０の画像特徴量ｓｓ、ｓｓｇについて説明する。図６に、第１のビジュアルサーボにおける撮像画像を示し、図７に、第１のビジュアルサーボにおける参照画像を示す。短リード線４０の目標点は、長リード線３０の特徴点が第１の穴６０に一致したときの短リード線４０の先端の位置及び短リード線４０の方向である。このとき、長リード線３０及び短リード線４０は曲がっていないものとする。即ち、短リード線４０の目標点は、短リード線４０の挿入方向に沿って第２の穴７０から上方に離れた点である。
【０１０５】
長リード線３０の場合と同様にして、各カメラの撮像画像から画像特徴量ｓｓ１、ｓｓ２を求め、それらを用いて下式（２１）に示す短リード線４０の画像特徴量ｓｓを求める。短リード線４０の画像特徴量の目標値ｓｓｇは下式（２２）である。
【数２１】
2015085467.tif 000023
【数２２】
2015085467.tif 000024
【０１０６】
上式（１９）のξは、次のようにして求めることができる。即ち、被作業物の位置及び姿勢と短リード線４０の画像特徴量ｓｓとの間のヤコビアンＪｉｓは下式（２３）である。
【数２３】
2015085467.tif 000025
【０１０７】
ξｉは下式（２４）のように変形できるので、ヤコビアンＪｉｓを用いてξを下式（２５）のように表すことができる。
【数２４】
2015085467.tif 000026
【数２５】
2015085467.tif 000027
【０１０８】
ヤコビアンＪｉｓは、ハンド１０の位置及び姿勢Ｘを微小変化させた際の画像特徴量ｓｓの変化を事前に測定することで、求めることができる。或は、ヤコビアンＪｉｓを、動作させながら推定する方法を用いて算出してもよい。
【０１０９】
上式（１６）の第２項は、上式（２０）の評価関数ｑ（Ｘ）を最大化するように働く。即ち、（ｓｓｇ−ｓｓ）の各要素の二乗和を最小化するようにロボットを制御する。この制御により、短リード線４０の画像特徴量ｓｓを目標画像特徴量ｓｓｇに近づける動作を実現できる。
【０１１０】
ここで、上式（１６）の第２項は、長リード線３０の画像特徴量ｓｌを変化させない構成になっている。即ち、第２項によって生じるハンド１０の位置及び姿勢の変化は、長リード線３０を移動させない。上述したように、上式（１６）の第１項では長リード線３０を５自由度で制御するが、その５自由度については第２項は制御しないということである。６自由度のハンド１０の位置及び姿勢には、残り１自由度の冗長自由度があるので、第２項は、その冗長自由度の範囲でハンド１０を制御する。
【０１１１】
以上のようにして、上式（１６）の第１項により、長リード線３０を第１の穴６０に一致させるという優先度の高い第１の動作が実現される。そして、第２項により、長リード線３０を軸とする回転方向の角度を制御することで、短リード線４０を第２の穴７０に出来るだけ近づけるという優先度の低い第２の動作を実現できる。
【０１１２】
図８に示すように、リード線が曲がっている場合には、長リード線３０が第１の穴６０に一致したときに短リード線４０が真下を向いている訳ではないので、長リード線３０を軸として回転した場合に短リード線４０の画像特徴量ｓｓは目標画像特徴量ｓｓｇに一致しない。即ち、短リード線４０を第２の穴７０に一致させる動作の達成度は、長リード線３０を第１の穴６０に一致させる動作の達成度よりも低くなり、それが優先度の違いとなっている。短リード線４０が第２の穴７０に完全に一致しなくても、出来るだけ近づけることができるので、短リード線４０の目標に近い状態から次の作業（短リード線４０を第２の穴７０に挿入する作業）に移ることができる。
【０１１３】
さて、冗長自由度の制御の比較例として、エンドエフェクターの位置及び姿勢の６自由度に対して７自由度の関節のアームを制御する場合を考える。この比較例では、エンドエフェクターの位置及び姿勢を決めたときに、アームの関節の冗長自由度をどのように制御するかを決める。即ち、エンドエフェクターの位置及び姿勢は制御によって決まっており、それに伴って被作業物の位置及び姿勢も決まっている。
【０１１４】
一方、本実施形態では、長リード線３０の画像特徴量ｓｌの自由度がエンドエフェクターの６自由度よりも低くなっている。即ち、エンドエフェクターの位置及び姿勢に冗長自由度が発生しており、この冗長自由度を使ってコンデンサー２０をどのように電子基板５０に近づけるのかを制御している。特に、エンドエフェクターの冗長自由度を用いることによって動作に優先度を付けることが可能であり、必ず実現したい動作と、可能な限り実現しておきたい動作を同時に行うことが可能となっている。
【０１１５】
５．第２のビジュアルサーボの第１の制御手法
次に、図２のステップＳ５で説明した第２のビジュアルサーボの第１の制御手法について説明する。
【０１１６】
図９（Ａ）に第２のビジュアルサーボにおける参照画像を示す。第２のビジュアルサーボでは長リード線３０は第１の穴６０に一部刺さっており、短リード線４０の先端を第２の穴７０に一致させることが目標となる。即ち、短リード線４０の目標点は第２の穴７０の直上である。
【０１１７】
第２のビジュアルサーボでは、上記の動作が、優先度が高い第１の動作となる。優先度が低い第２の動作は、ハンド１０の姿勢を出来るだけ変化させないことである。具体的には、図９（Ｂ）に示すように、第２のビジュアルサーボを開始する時点でのハンド１０の姿勢Ｒｇを目標とする。姿勢Ｒｇを下式（２６）とする。
【数２６】
2015085467.tif 000028
【０１１８】
評価関数ｑ（Ｘ）を下式（２７）と定義する。評価関数ｑ（Ｘ）を上式（１９）に代入すると、下式（２８）のξｉが求まる。
【数２７】
2015085467.tif 000029
【数２８】
2015085467.tif 000030
【０１１９】
上式（２８）のξを用いて、制御則を下式（２９）、（３０）とする。
【数２９】
2015085467.tif 000031
【数３０】
2015085467.tif 000032
【０１２０】
Ｊｉｓ＃は、上式（２３）のヤコビアンＪｉｓの疑似逆行列である。ξ以外の他のパラメーターは上述した通りである。
【０１２１】
上式（２９）の第２項は、ハンド１０の姿勢Ｒ＝[Ｒ１，Ｒ２，Ｒ３]Ｔと目標姿勢Ｒｇとの差の二乗和を最小とするように（評価関数ｑ（Ｘ）を最大化するように）働く。即ち、ハンド１０の姿勢Ｒが第２のビジュアルサーボ開始時点の姿勢Ｒｇから出来るだけ変化しないように制御される。
【０１２２】
上式（２９）の第１項は、短リード線４０を第２の穴７０に一致させる第１の動作を実現する。第１の動作には、短リード線４０を軸とする回転方向の冗長自由度があり、その冗長自由度を用いて、ハンド１０の姿勢Ｒを出来るだけ変化させないという第２の動作を実現している。
【０１２３】
仮にハンド１０の姿勢を制約しなかったとすると、短リード線４０を動かすときに冗長自由度の範囲でハンド１０は自由な姿勢をとることができる。例えば長リード線３０が第１の穴６０から離れる方向にハンド１０が移動する可能性がある。そうすると、長リード線３０は第１の穴６０に拘束されているため、長リード線３０が大きく変形し、その後の挿入作業に支障を来す。上式（２９）の第２項は、このようなハンド１０の大きな動きを極力避け、長リード線３０の変形を出来るだけ抑えることができる。
【０１２４】
なお、上記の手法は第１のビジュアルサーボに適用することも可能である。即ち、長リード線３０を第１の穴６０に一致させるときにハンド１０の姿勢Ｒが出来るだけ変化しないように制御することで、短リード線４０の位置がより適切となるようにしてもよい。
【０１２５】
６．第２のビジュアルサーボの第２の制御手法
次に、図２のステップＳ５で説明した第２のビジュアルサーボにおける第２の制御手法について説明する。
【０１２６】
図１０に、カメラＣＭ１、ＣＭ２の撮像画像を示す。優先度の高い第１の動作は、第１の制御手法と同様に、短リード線４０の画像特徴量ｓｓを目標画像特徴量ｓｓｇに一致させる動作である。優先度の低い第２の動作は、第１の制御手法とは異なり、長リード線３０の先端を出来るだけ動かさないことである。
【０１２７】
図１１に、第２の動作の説明図を示す。長リード線３０の先端は第１の穴６０に挿入されており、カメラＣＭ１、ＣＭ２からは見えないため、長リード線３０が穴に拘束されていないと仮定した場合の、長リード線３０先端の移動が最小となるように制御する。
【０１２８】
制御則の式は、上式（２９）、（３０）と同一である。評価関数ｑ（Ｘ）は次のように定義する。即ち、第１の動作（上式（２９）の第１項）によって動かされる仮のハンド１０の位置及び姿勢の変化量ΔＸｃは下式（３１）となる。
【数３１】
2015085467.tif 000033
【０１２９】
変化量ΔＸｃだけハンドの位置及び姿勢が変化した際の、第１の穴６０に挿入されていないと仮定した長リード線３０の画像特徴量ｓｌの変化量Δｓｌｃを、下式（３２）により推定する。
【数３２】
2015085467.tif 000034
【０１３０】
推定変化量Δｓｌｃから評価関数ｑ（Ｘ）を下式（３３）と定義する。Δｓｌｃｉは、Δｓｌｃのｉ番目の要素である。
【数３３】
2015085467.tif 000035
【０１３１】
上式（１９）に評価関数ｑ（Ｘ）を代入すると、ξは下式（３４）のように求まる。
【数３４】
2015085467.tif 000036
【０１３２】
上記のξを用いた場合、上式（２９）の第２項は、変化量Δｓｌｃの各要素の二乗和を最小とするように（評価関数ｑ（Ｘ）を最大化するように）働く。即ち、短リード線４０の移動に伴う仮想的な長リード線３０の移動が、第２のビジュアルサーボ開始時点から出来るだけ起きないように制御される。この制御には、上式（２９）の第１項がもつ冗長自由度を用いている。
【０１３３】
仮に冗長自由度の制御を行わずに短リード線４０を動かしたとすると、短リード線４０を軸とする回転方向で長リード線３０がどの角度に配置されるかが決まらない。長リード線３０は第１の穴６０に拘束されているため、第１の穴６０から離れる方向に回転すると長リード線３０が大きく変形し、その後の挿入作業に支障を来す。上式（３３）の評価関数を用いた場合の上式（２９）の第２項は、このようなハンド１０の大きな動きを極力避け、長リード線３０の変形を出来るだけ抑えることができる。
【０１３４】
７．動作情報の入力手法
図１２に、第１の動作情報及び第２の動作情報を入力するための表示画面の第１の例を示す。表示画面は、例えば図１４（Ａ）、図１４（Ｂ）に示すロボットの表示部１３０に表示制御部１４０が表示させる。
【０１３５】
表示画面には、優先度が高い第１の動作情報を入力するための領域ＩＭ１と、優先度が低い第２の動作情報を入力するための領域ＩＭ２が設定されている。領域ＩＭ１、ＩＭ２には、第１の被作業物であるコンデンサーの画像ＯＢ１と、第２の被作業物である電子基板の画像ＯＢ２と、が表示される。
【０１３６】
ユーザーは、領域ＩＭ１において、コンデンサーの画像ＯＢ１に対して長リード線の先端にマークＴＰ１を付し、電子基板の画像ＯＢ２に対して、長リード線を挿入したい穴にマークＧＰ１を付す。これにより、高優先度タスクの制御部位（第１の部位）と目標点（第１の目標）が第１の動作情報として指定される。
【０１３７】
また、ユーザーは、領域ＩＭ２において、コンデンサーの画像ＯＢ１に対して短リード線の先端にマークＴＰ２を付し、電子基板の画像ＯＢ２に対して、短リード線を挿入したい穴の上方にマークＧＰ２を付す。例えば、高優先度タスクが達成された場合のコンデンサーの画像ＯＢ１’を表示し、その画像ＯＢ１’の短リード線の先端にマークＧＰ２を付す。これにより、低優先度タスクの制御部位（第２の部位）と目標点（第２の目標）が第２の動作情報として指定される。
【０１３８】
以上のような表示画面によれば、被作業物が画像として表示され、その画像に対して特徴点や目標点を指示すればよいため、視覚的な分りやすいユーザーインターフェースを提供できる。そして、表示画面を介して入力された指定情報を第１の動作情報及び第２の動作情報として受付部１１０が受け付けることで、処理部１２０は、その情報に基づいてロボット３００を制御できる。即ち、処理部１２０は、第１の動作に対して画像特徴量ｓｌと目標画像特徴量ｓｌｇを選択し、第２の動作に対して画像特徴量ｓｓと目標画像特徴量ｓｓｇを選択できる。そして、それらの特徴量を用いてビジュアルサーボによりロボットに優先度の異なる第１の動作及び第２の動作を行わせることができる。
【０１３９】
図１３に、第１の動作情報及び第２の動作情報を入力するための表示画面の第２の例を示す。
【０１４０】
表示画面には、優先度が高い第１の動作情報を入力するための第１の選択肢ＯＰ１と、優先度が低い第２の動作情報を入力するための第２の選択肢ＯＰ２が表示される。選択肢ＯＰ１は、更に制御対象を選択するための選択肢ＯＰＡと、その制御対象の制御目標を選択するための選択肢ＯＰＢを含んでいる。
【０１４１】
選択肢ＯＰＡは、第１の被作業物であるコンデンサーの部位（短リード線、長リード線）を選択できるようになっている。また、選択肢ＯＰＢは、第２の被作業物である電子基板の穴（第１の穴、第２の穴、・・・）を選択できるようになっている。ユーザーは、これらの中から、所望する制御対象（第１の部位）と制御目標（第１の目標）を第１の動作情報として選択する。
【０１４２】
選択肢ＯＰ２には、どの制御対象（第２の部位）をどのように制御するか（第２の目標）を選択できるようになっている。例えば、エンドエフェクターの姿勢を制御対象として、その姿勢を出来るだけ変化させずに動作させる、或は、選択肢ＯＰＡで選んだ制御対象と逆のリード線（図１３では長リード線）を制御対象として、そのリード線を仮想的に出来るだけ動かさずに動作させる、等である。ユーザーは、これらの中から、所望の動作を第２の動作情報として選択する。
【０１４３】
図１３の表示画面によれば、動作を選択肢として表示するので、ハンドの姿勢やリード線の仮想的な動き等、特徴点や目標点だけでは表せない動作を指示することが可能となる。例えば、図２のステップＳ５で説明した第２のビジュアルサーボでは、このような指示方法が適している。そして、表示画面を介して入力された選択情報を第１の動作情報及び第２の動作情報として受付部１１０が受け付けることで、処理部１２０は、その情報に基づいてロボット３００を制御できる。即ち、処理部１２０は、第１の動作に対して画像特徴量ｓｓと目標画像特徴量ｓｓｇを選択し、第２の動作に対して姿勢Ｒ（又はΔｓｌｃ）と目標姿勢Ｒｇ（又はΔｓｌｃ＝０）を選択できる。そして、それらの特徴量を用いてビジュアルサーボによりロボットに優先度の異なる第１の動作及び第２の動作を行わせることができる。
【０１４４】
なお、以上ではコンデンサーを電子基板に組み付ける作業を例に説明したが、本実施形態はこれ以外の作業にも適用できる。即ち、優先度が異なる第１の動作及び第２の動作は所定の作業を含むことができ、その所定の作業は、例えば組立作業や嵌合作業、挿入作業等のうちいずれか１つの作業を含む。
【０１４５】
例えば嵌合作業では、第１のパーツの凸部（突起）と第２のパーツの凹部（穴部）を嵌合する。凸部が非対称な形で特定の方向で凹部と嵌合するような場合には、第１の動作は、凸部を凹部の直上に移動させる動作であり、第２の動作は、凸部の向きを凹部に嵌合する向きに合わせる動作である。組み立て作業では、例えばドライバーでネジを回す作業を想定できる。この場合、第１の動作は、ドライバーをネジの直上に移動させる動作であり、第２の動作は、ドライバーのシャフトを軸とする回転方向の向きを、ドライバー先端がネジ頭部に嵌まる向きに合わせる動作である。
【０１４６】
８．ロボット
次に、図１４（Ａ）及び図１４（Ｂ）に、本実施形態の制御装置１００（ロボット制御システム）が適用されるロボット３００の構成例を示す。図１４（Ａ）及び図１４（Ｂ）のどちらの場合にも、ロボット３００は、アーム３２０とエンドエフェクター３１０を有する。
【０１４７】
エンドエフェクター３１０とは、ワーク（作業対象物）を把持したり、持ち上げたり、吊り上げたり、吸着させたり、ワークに加工を施したりするために、アーム３２０のエンドポイントに取り付ける部品のことをいう。エンドエフェクター３１０は、例えばハンド（把持部）であってもよいし、フックであってもよいし、吸盤等であってもよい。さらに、１本のアーム３２０に対して、複数のエンドエフェクターを設けても良い。なお、アーム３２０とは、ロボット３００のパーツであって、一つ以上の関節を含む可動パーツのことをいう。
【０１４８】
例えば、図１４（Ａ）のロボットは、ロボット３００と制御装置１００とが別体に構成されている。この場合には、制御装置１００の一部又は全部の機能は、例えばＰＣ（Personal Computer）により実現される。なお、ロボット３００と、そのロボット３００と別体に構成された要素（例えば制御装置１００や、図１の撮像部２００等）と、を含むシステムをロボットシステムと呼ぶ。
【０１４９】
また、本実施形態のロボットは図１４（Ａ）の構成に限定されず、図１４（Ｂ）のようにロボット本体３０５と制御装置１００とが一体に構成されていてもよい。すなわち、ロボット３００は、制御装置１００を含んでいても良い。
【０１５０】
具体的には図１４（Ｂ）に示したように、ロボット３００は、ロボット本体３０５及びロボット本体を支えるベースユニット部を有し、当該ベースユニット部に制御装置１００が格納されるものであってもよい。ロボット本体３０５は、アーム３２０及びエンドエフェクター３１０を有する。図１４（Ｂ）のロボット３００には、ベースユニット部に車輪等が設けられ、ロボット３００全体が移動可能な構成となっている。
【０１５１】
図１４（Ａ）、図１４（Ｂ）の制御装置１００には、表示部１３０が設けられている。制御装置１００は、この表示部１３０に、図１２、図１３で説明した表示画面を表示する。図１４（Ａ）では、表示部１３０はＰＣの表示装置である。図１４（Ｂ）では、ベースユニット部に表示部１３０が設けられる。或は、ベースユニット部に外付けで表示部１３０を接続できるように構成してもよい。
【０１５２】
なお、図１４（Ａ）は単腕型の例であるが、ロボット３００は図１４（Ｂ）に示すように双腕型等の多腕型のロボットであってもよい。また、ロボット３００は、人手により移動させられるものであってもよいし、車輪を駆動させるモーターを設け、当該モーターを制御装置１００により制御することにより、移動させられるものであってもよい。また、制御装置１００は、図１４（Ｂ）のようにロボット３００の下に設けられたベースユニット部に設けられるとは限らない。
【０１５３】
また、図１５に示すように、制御装置１００の機能は、有線及び無線の少なくとも一方を含むネットワーク４００を介して、ロボット３００と通信接続されたサーバー５００により実現されてもよい。
【０１５４】
或いは本実施形態では、本発明の制御装置の処理の一部を、サーバー５００側の制御装置が行ってもよい。この場合には、ロボット３００側に設けられた制御装置との分散処理により、当該処理を実現する。なお、ロボット３００側の制御装置は、例えばロボット３００に設置される端末装置３３０（制御部）により実現される。
【０１５５】
そして、この場合に、サーバー５００側の制御装置は、本発明の制御装置における各処理のうち、サーバー５００の制御装置に割り当てられた処理を行う。一方、ロボット３００に設けられた制御装置は、本発明の制御装置の各処理のうち、ロボット３００の制御装置に割り当てられた処理を行う。なお、本発明の制御装置の各処理は、サーバー５００側に割り当てられた処理であってもよいし、ロボット３００側に割り当てられた処理であってもよい。
【０１５６】
これにより、例えば端末装置３３０よりも処理能力の高いサーバー５００が、処理量の多い処理を行うこと等が可能になる。さらに、例えばサーバー５００が各ロボット３００の動作を一括して制御することができ、例えば複数のロボット３００に協調動作をさせること等が容易になる。
【０１５７】
また近年は、多品種少数の部品を製造することが増えてきている。そして、製造する部品の種類を変更する場合には、ロボットが行う動作を変更する必要がある。図１５に示すような構成であれば、複数のロボット３００の各ロボットへ教示作業をし直さなくても、サーバー５００が一括して、ロボット３００が行う動作を変更すること等が可能になる。
【０１５８】
さらに、図１５に示すような構成であれば、各ロボット３００に対して一つの制御装置１００を設ける場合に比べて、制御装置１００のソフトウェアアップデートを行う際の手間を大幅に減らすこと等が可能になる。
【０１５９】
９．特徴ベースビジュアルサーボ
ここでは、ビジュアルサーボの概要と、特徴ベースビジュアルサーボの処理フローについて説明する。
【０１６０】
ビジュアルサーボとは、目標物の位置の変化を視覚情報として計測し、それをフィードバック情報として用いることによって目標物を追跡するサーボ系の一種である。ビジュアルサーボは、サーボ系への入力情報（制御量）によって、位置ベースビジュアルサーボと特徴ベースビジュアルサーボの二つに大別される。位置ベースビジュアルサーボは、物体の位置情報や姿勢情報がサーボ系への入力情報となり、特徴ベースビジュアルサーボは、画像の特徴量がサーボ系への入力情報となる。他にも、位置ベースと特徴ベースをハイブリッドした手法もある。これらのビジュアルサーボは、参照画像と撮像画像を元にサーボ系への入力情報を求める点で共通している。本発明で扱うビジュアルサーボは、特徴ベースビジュアルサーボである。
【０１６１】
図１６に、特徴ベースビジュアルサーボのフローチャートを示す。この処理フローは、処理部１２０が実行する。まず参照画像を設定する（ステップＳ１００）。ここで、参照画像とは、目標画像やゴール画像とも呼ばれ、ビジュアルサーボの制御目標となる画像であり、ロボット３００の目標状態を表す画像をいう。すなわち、参照画像とは、ロボット３００の目標位置や目標姿勢を表す画像、もしくはロボット３００が目標位置に位置する状態を表す画像である。
【０１６２】
次に、撮像部２００によって作業スペースを撮像し、撮像画像を取得する（ステップＳ１０１）。撮像画像は、作業スペースの現在の状態を表しており、撮像画像内にロボット３００やワークが映りこんでいる場合には、ロボット３００やワークの現在の状態を表している。なお、撮像部２００の性能によっては処理遅延が生じるが、ここでは、処理遅延が生じている場合でも、撮像画像には現在の状態が映されているものとして扱う。
【０１６３】
なお、特徴ベースビジュアルサーボを用いる場合には、参照画像を設定する際に参照画像の特徴抽出を行い、特徴量を算出しておくことが望ましい。または、参照画像の特徴を抽出した参照画像情報を記憶部に記憶しておいてもよい。
【０１６４】
次に、撮像画像の特徴を抽出する（ステップＳ１０２）。なお、参照画像の特徴抽出は、参照画像設定の際に行っておくことが望ましいが、本ステップで行ってもよい。特徴抽出では、ビジュアルサーボ系への入力情報（制御量）として、画像の特徴量を求める。
【０１６５】
そして、画像の特徴量に基づいて、参照画像と撮像画像が一致するか否かを比較する（ステップＳ１０３）。画像が一致すると判定した場合（ステップＳ１０４）には、ビジュアルサーボを終了する。一方、画像が一致しないと判定した場合（ステップＳ１０４）には、制御指令を生成し（ステップＳ１０５）、ロボット３００に制御指令を送出する（ステップＳ１０６）。
【０１６６】
ここで、制御指令（制御信号）とは、ロボット３００を制御するための情報を含む指令（信号）のことをいう。例えば、制御指令としては速度指令などがある。また、速度指令とは、ロボット３００の各部を制御するための情報として、ロボット３００のアームのエンドポイント等の移動速度や回転速度を与える指令の方法を指す。
【０１６７】
特徴ベースビジュアルサーボでは、制御量が目標値に収束するまで以上の処理を繰り返す。即ち、ステップＳ１０６の制御指令によりロボット３００の姿勢が変化し、ステップＳ１０１において、その姿勢での撮像画像を撮像する。このように姿勢を変化させながら撮像した複数の撮像画像に基づいて、処理部１２０は、ビジュアルサーボ開始時の姿勢である第１の姿勢から、ビジュアルサーボ終了時の姿勢である第２の姿勢までロボット３００を制御する。
【０１６８】
なお、本実施形態の制御装置及びロボット等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、ＣＰＵ等のプロセッサーがプログラムを実行することで、本実施形態の制御装置及びロボット等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをＣＰＵ等のプロセッサーが実行する。ここで、情報記憶媒体（コンピューターにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＤＶＤ、ＣＤ等）、ＨＤＤ（ハードディスクドライブ）、或いはメモリー（カード型メモリー、ＲＯＭ等）などにより実現できる。そして、ＣＰＵ等のプロセッサーは、情報記憶媒体に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピューターに実行させるためのプログラム）が記憶される。
【０１６９】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また処理部、受付部、制御装置、ロボットの構成・動作や、ビジュアルサーボの制御手法、ロボットの制御手法等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【符号の説明】
【０１７０】
１０  ハンド、２０  コンデンサー、２５  本体部、３０  長リード線、
４０  短リード線、５０  電子基板、６０  第１の穴、７０  第２の穴、
１００  制御装置、１１０  受付部、１２０  処理部、１３０  表示部、
１４０  表示制御部、２００  撮像部、３００  ロボット、
３０５  ロボット本体、３１０  エンドエフェクター、３２０  アーム、
３３０  端末装置、４００  ネットワーク、５００  サーバー、
ＣＭ１  第１のカメラ、ＣＭ２  第２のカメラ、ＯＢ１  コンデンサーの画像、
ＯＢ２  電子基板の画像、ＯＰ１  第１の選択肢、ＯＰ２  第２の選択肢、
Ｒ  ハンドの姿勢、ＲＦ  回転方向、Ｒｇ  ハンドの目標姿勢、
ｓｌ１，ｓｌ２  長リード線の画像特徴量、
ｓｌｇ１、ｓｌｇ２  長リード線の目標画像特徴量、
ｓｓ１，ｓｓ２  短リード線の画像特徴量、
ｓｓｇ１，ｓｓｇ２  短リード線の画像特徴量、
ΔＸｃ  ハンドの位置及び姿勢の変化量、
Δｓｌｃ  長リード線の画像特徴量の推定変化量
【図１】
2015085467.tif 000037
【図２】
2015085467.tif 000038
【図３】
2015085467.tif 000039
【図４】
2015085467.tif 000040
【図５】
2015085467.tif 000041
【図６】
2015085467.tif 000042
【図７】
2015085467.tif 000043
【図８】
2015085467.tif 000044
【図９】
2015085467.tif 000045
【図１０】
2015085467.tif 000046
【図１１】
2015085467.tif 000047
【図１２】
2015085467.tif 000048
【図１３】
2015085467.tif 000049
【図１４】
2015085467.tif 000050
【図１５】
2015085467.tif 000051
【図１６】
2015085467.tif 000052