JP6421408B2 - 制御装置、ロボット、ロボットシステム及び制御方法 - Google Patents

制御装置、ロボット、ロボットシステム及び制御方法 Download PDF

Info

Publication number
JP6421408B2
JP6421408B2 JP2013227274A JP2013227274A JP6421408B2 JP 6421408 B2 JP6421408 B2 JP 6421408B2 JP 2013227274 A JP2013227274 A JP 2013227274A JP 2013227274 A JP2013227274 A JP 2013227274A JP 6421408 B2 JP6421408 B2 JP 6421408B2
Authority
JP
Japan
Prior art keywords
information
posture
target
robot
motion information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013227274A
Other languages
English (en)
Other versions
JP2015085467A (ja
Inventor
正樹 元▲吉▼
正樹 元▲吉▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2013227274A priority Critical patent/JP6421408B2/ja
Priority to US14/520,672 priority patent/US9555549B2/en
Priority to CN201510137050.9A priority patent/CN104827472B/zh
Priority to CN201410593480.7A priority patent/CN104589347A/zh
Publication of JP2015085467A publication Critical patent/JP2015085467A/ja
Application granted granted Critical
Publication of JP6421408B2 publication Critical patent/JP6421408B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、制御装置、ロボット、ロボットシステム及び制御方法等に関する。
多品種少量生産に対応できる生産装置として、組立ロボットが注目されている。その組立ロボットに行わせる作業として、例えば、コンデンサーのような複数の足が存在するパーツを電子基板に挿入する作業がある。複数の足が存在するパーツを挿入する作業の場合、どのような手順でそれらの足を挿入するかを決定する必要がある。
複数の足を挿入する手順の決定方法として、例えば特許文献1には、第1のワークの各嵌合足について許容変形量のデータを取得し、その許容変形量のデータに基づいて第1のワークの嵌合足を第2のワークの嵌合穴に挿入する順序を決定する方法が開示されている。
特開2013−154446号公報
しかしながら、特許文献1には、ワークを組付位置まで移動させる方法については記載されていない。嵌合足を嵌合穴に挿入するためには嵌合足と嵌合穴を近づける必要があるので、どのようにワークを挿入位置まで移動させるかが課題となる。
例えば、第2のワークが正確に決められた位置に配置されていない場合には、第1のワークを決まった位置に移動させるだけでは挿入位置に移動することはできない。或は、コンデンサーのように挿入する足の長さが異なる場合等には、その長さが異なる足を2つの穴に対してどのような位置関係となるようにコンデンサーを移動させるかが課題となる。
本発明の一態様は、第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせる処理部と、を含む制御装置に関係する。
本発明の一態様によれば、ロボットの姿勢が移る間に複数回撮像した撮像画像を用いてロボットの動作が制御される。このとき、第1の動作情報と、第1の動作情報とは異なる第2の動作情報と、が受け付けられ、その受け付けられた第1の動作情報及び第2の動作情報に基づいてロボットの動作が制御される。これにより、被作業物を目標位置まで移動する際に2つの異なる動作をロボットに行わせることが可能となり、より確実に被作業物を目標位置まで移動することが可能となる。
また本発明の一態様では、前記第1の動作情報と前記第2の動作情報とは、優先度が異なる情報であり、前記第2の動作情報は、前記第1の動作情報よりも優先度が低くてもよい。
このようにすれば、被作業物を目標位置まで移動する際に優先度の異なる2つの動作をロボットに行わせることが可能となる。即ち、優先度の高い第1の動作情報に基づく動作を実現すると共に、第2の動作情報に基づく動作を出来るだけ実現することで、被作業物を目標位置に対してより適切に配置できる。
また本発明の一態様では、前記第1の動作情報は、被作業物の第1の部位を第1の目標に一致させる動作の情報であり、前記第2の動作情報は、前記被作業物の部位又は前記ロボットの部位である第2の部位を第2の目標に近づける動作の情報であってもよい。
このようにすれば、被作業物の第1の部位を第1の目標に一致させる動作を行い、それとは異なる動作として、被作業物の部位又はロボットの部位である第2の部位を第2の目標に近づけることができる。これにより、第1の部位を目標に一致させると共に、第2の部位を、より適切な位置に移動させることが可能となる。
また本発明の一態様では、前記処理部は、前記第1の部位に対応する第1の特徴量を、前記第1の目標に対応する第1の目標特徴量に一致させる処理、及び前記第2の部位に対応する第2の特徴量を、前記第2の目標に対応する第2の目標特徴量に近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせてもよい。
このようにすれば、第1の特徴量を第1の目標特徴量に一致させる処理により、第1の動作情報に基づく動作をロボットに行わせ、第2の特徴量を第2の目標特徴量に一致させる処理により、第1の動作情報とは異なる第2の動作情報に基づく動作をロボットに行わせることができる。
また本発明の一態様では、前記第1の特徴量及び前記第2の特徴量は、前記複数の画像に基づく画像特徴量であり、前記第2の部位は、前記第1の部位とは異なる前記被作業物の部位であり、前記第1の目標特徴量及び前記第2の目標特徴量は、参照画像に基づく画像特徴量であってもよい。
このようにすれば、被作業物の第1の部位を第1の目標に一致させる動作と、その動作とは異なる、被作業物の第2の部位を第2の目標に一致させる動作とを、画像特徴量に基づいてロボットに行わせることができる。
また本発明の一態様では、前記第1の特徴量は、前記複数の画像に基づく画像特徴量であり、前記第1の目標特徴量は、参照画像に基づく画像特徴量であり、前記第2の部位は、前記ロボットのエンドエフェクターであり、前記第2の特徴量は、前記エンドエフェクターの姿勢であり、前記第2の目標特徴量は、前記第1の動作情報及び前記第2の動作情報に基づく動作を開始するときの前記エンドエフェクターの姿勢であってもよい。
このようにすれば、被作業物の第1の部位を第1の目標に一致させる動作を、画像特徴量に基づいてロボットに行わせることができる。また、それとは異なる動作として、エンドエフェクターの姿勢を動作開始時の姿勢に近づける動作を、エンドエフェクターの姿勢を特徴量として用いることでロボットに行わせることができる。
また本発明の一態様では、前記第1の特徴量は、前記複数の画像に基づく画像特徴量であり、前記第1の目標特徴量は、参照画像に基づく画像特徴量であり、前記第2の部位は、前記第1の部位とは異なる前記被作業物の部位であり、前記第2の特徴量は、前記第1の動作情報に基づく動作により前記第2の部位の画像特徴量が変化する量を推定した推定変化量であり、前記第2の目標特徴量は、前記推定変化量がゼロとなることであってもよい。
このようにすれば、被作業物の第1の部位を第1の目標に一致させる動作を、画像特徴量に基づいてロボットに行わせることができる。また、それとは異なる動作として、被作業物の第2の部位を第2の目標に近づける優先度が低い動作を、第2の部位の画像特徴量の推定変化量に基づいてロボットに行わせることができる。
また本発明の一態様では、前前記受付部は、前記第1の動作情報及び前記第2の動作情報を入力するための表示画面が表示部に表示される場合に、前記表示画面によりユーザーが入力した前記第1の動作情報及び前記第2の動作情報を受け付けてもよい。
このようにすれば、表示画面によりユーザーが第1の動作情報及び第2の動作情報を入力することが可能となり、その入力された情報に基づいてロボットを動作させることで、ユーザーが所望する2つの異なる動作をロボットに行わせることができる。
また本発明の一態様では、前記表示画面には、第1の被作業物の画像と第2の被作業物の画像が表示され、前記第1の動作情報は、前記第1の被作業物の画像において第1の部位が指定され、前記第2の被作業物の画像において前記第1の部位を一致させる第1の目標が指定されることで、入力される情報であり、前記第2の動作情報は、前記第1の被作業物の画像において第2の部位が指定され、前記第2の被作業物の画像において前記第2の部位を近づける第2の目標が指定されることで、入力される情報であってもよい。
このようにすれば、被作業物が画像として表示され、その画像に対して、動作情報である部位や目標を指示すればよいため、視覚的な分りやすいユーザーインターフェースを提供できる。
また本発明の一態様では、前記表示画面には、第1の動作情報を入力するための第1の選択肢と、第2の動作情報を入力するための第2の選択肢と、が表示され、前記第1の動作情報及び前記第2の動作情報は、前記第1の選択肢と前記第2の選択肢の中からユーザーが所望する動作が選択されることで、入力される情報であってもよい。
このようにすれば、動作を選択肢として表示するので、例えばエンドエフェクターの姿勢や被作業物の部位の仮想的な動き等、特徴点や目標点だけでは表せない動作を指示することが可能となる。
また本発明の一態様では、前記処理部は、前記優先度が低い前記第2の動作情報に基づく動作よりも前記第1の動作情報に基づく動作を優先して前記ロボットに行わせてもよい。
このようにすれば、第1の動作情報及び第2の動作情報により指示されるタスクを処理部が実行し、そのタスクを実行することでロボットが動作した結果において、優先度が高い第1の動作情報について、その指示内容をより高い度合いで達成できる。
また本発明の一態様では、前記第1の動作情報は、前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度で行う動作の情報であり、前記第2の動作情報は、前記第1の動作情報に基づく動作における前記エンドエフェクターの位置及び姿勢の冗長自由度で行う動作の情報であってもよい。
このようにすれば、第1の動作情報に基づく動作を、ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度でロボットに行わせ、その動作におけるエンドエフェクターの位置及び姿勢の冗長自由度で、第2の動作情報に基づく動作をロボットに行わせることができる。
また本発明の一態様では、前記処理部は、前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理及び、前記第2の動作情報に基づく動作を規定する評価関数を最大化する処理により、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせてもよい。
このようにすれば、エンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理により、第1の動作情報に基づく動作をロボットに行わせ、評価関数を最大化する処理により、第2の動作情報に基づく動作をロボットに行わせることができる。
また本発明の一態様では、前記処理部は、前記エンドエフェクターの位置及び姿勢Xの変化ΔXを、ΔX=λJ(s−s)+(I−JJ)ξkにより制御し、sは前記複数の撮像画像に基づく画像特徴量であり、sは参照画像に基づく目標特徴量であり、ξは前記評価関数のXによる微分であり、JはXとsを関係づけるヤコビアンであり、JはJの疑似逆行列であり、Iは単位行列であり、λ、kは、制御ゲインであってもよい。
このようにすれば、第1項λJ(s−s)により、エンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理を実現し、第2項(I−JJ)ξkにより、第2の動作情報に基づく動作を規定する評価関数を最大化する処理を実現できる。
また本発明の一態様では、前記第1の動作情報及び前記第2の動作情報に基づく動作は、所定の作業を含み、前記所定の作業は、組立作業、嵌合作業、挿入作業のうちいずれか1つの作業を含んでもよい。
このようにすれば、第1の動作情報及び第2の動作情報に基づく動作として、例えば組立作業、嵌合作業、挿入作業等の所定の作業をロボットに行わせることができる。
また本発明の一態様では、前記処理部は、前記複数の撮像画像を用いたビジュアルサーボ制御により、前記第1の動作情報及び前記第2の動作情報に基づく動作をロボットに行わせてもよい。
このようにすれば、撮像画像から抽出した特徴量に基づいてロボットをフィードバック制御するビジュアルサーボ制御により、第1の動作情報及び第2の動作情報に基づく動作をロボットに行わせることができる。
また本発明の他の態様は、第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付け、第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を受け付け、前記複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を行う、ロボットに関係する。
また本発明の更に他の態様は、第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に複数回、被撮像物を撮像する撮像部と、前記撮像部による複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を行うロボットと、を含むロボットシステムに関係する。
また本発明の更に他の態様は、第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付けることと、ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせることと、を含む制御方法に関係する。
以上のように、本発明の幾つかの態様によれば、より確実に被作業物を目標位置まで移動することが可能な制御装置、ロボット、ロボットシステム及び制御方法等を提供できる。
図1(A)は、制御装置の第1の構成例。図1(B)は、制御装置の第2の構成例。 制御処理のフローチャート。 ビジュアルサーボにおける配置構成例。 ビジュアルサーボの基本処理における撮像画像。 ビジュアルサーボの基本処理における参照画像。 第1のビジュアルサーボにおける撮像画像。 第1のビジュアルサーボにおける参照画像。 第1のビジュアルサーボの説明図。 図9(A)は、第2のビジュアルサーボにおける参照画像。図9(B)は、第2のビジュアルサーボの第1の制御手法の説明図。 第2のビジュアルサーボにおける撮像画像。 第2のビジュアルサーボの第2の制御手法の説明図。 表示画面の第1の例。 表示画面の第2の例。 図14(A)、図14(B)は、ロボットの構成例。 ネットワークを介してロボットを制御するロボット制御システムの構成例。 特徴ベースビジュアルサーボのフローチャート。
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.制御装置
図1(A)に、本実施形態の制御手法によりロボットを制御する制御装置の第1の構成例を示す。制御装置100は、受付部110と処理部120とを含む。
受付部110は、第1の動作情報と、第1の動作情報とは異なる第2の動作情報を受け付ける。例えば、受付部110は、ユーザーが入力した第1の動作情報と第2の動作情報を受け付ける。或は、制御装置100は、第1の動作情報と第2の動作情報を記憶する不図示の記憶部(例えばRAMや、ハードディスクドライブ、ROM等)を含んでもよく、その記憶部から読み出した情報を受付部110が受け付けてもよい。この場合、受付部110は、例えばメモリーコントローラーである。
処理部120は、ロボット300が第1の姿勢から第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、第1の動作情報及び第2の動作情報に基づく動作をロボット300に行わせる処理を行う。具体的には、撮像部200は時系列に画像を撮像し、処理部120は、その時系列に撮像した画像を用いたビジュアルサーボによりロボット300を制御し、第1の動作情報及び第2の動作情報に基づく動作をロボット300に行わせる。処理部120は、例えばCPUやGPU等により実現される。
図1(B)に、ユーザーにより入力された動作情報を受け付ける場合の例として、制御装置の第2の構成例を示す。
表示制御部140は、第1の動作情報と第2の動作情報を入力するための表示画面を表示部130に表示させる制御を行う。表示画面は、例えば図12、図13で後述する。ユーザーは、表示画面を見ながら、操作部210を介して第1の動作情報と第2の動作情報を入力する。受付部110は、その入力された情報を受け付ける。受付部110は、例えば、操作部210と制御装置100を接続するインターフェースである。
制御装置100は、例えば、図2で後述するコンデンサー20の組み付け作業をロボット300に行わせる。この作業では、まずコンデンサー20の長リード線30を電子基板50の第1の穴60に挿入する(ステップS4)。このとき、長リード線30を第1の穴60に正確に近づける(ステップS3)必要があるため、第1の動作情報は、長リード線30を第1の穴60に一致させる指示情報である。本実施形態では、ビジュアルサーボ(広義には撮像部による複数の撮像画像を用いたロボット制御)を用いて画像上で長リード線30と第1の穴60を近づけていくので、電子基板50が毎回決まった位置に正確に置かれていなかったとしても、長リード線30を第1の穴60に一致させることが可能である。
しかしながら、第1の動作情報のみでは、長リード線30を第1の穴60に一致させるだけなので、短リード線40が第2の穴70に対してどの位置に来るかまでは決めることができない。短リード線40が自由な位置をとった場合、ロボット300のアームが不自然な姿勢や不可能な姿勢を取ろうとしたり、短リード線40を第2の穴70に挿入する際に短リード線40を穴に一致させる作業が難しくなったりする。そこで、短リード線40を第2の穴70にできるだけ近づける指示情報を、第1の動作情報とは異なる第2の動作情報として受け付ける。これにより、長リード線30を第1の穴60に一致させるという条件を守りつつ、同時に短リード線40を第2の穴70に近づけることができ、上記の問題点を解消できる。
より具体的には、第1の動作情報と第2の動作情報とは、優先度が異なる情報である。そして、第2の動作情報は、第1の動作情報よりも優先度が低い。図2のステップS3を例にとると、優先度が高い動作は、コンデンサー20の長リード線30を電子基板50の第1の穴60に挿入する動作である。優先度が低い動作は、短リード線40を第2の穴70にできるだけ近づける動作である。
このように、優先度が異なる動作情報を用いることで、ロボット300が、第2の動作情報が示す指示内容に従いつつ、第2の動作情報よりも優先度の高い第1の動作情報が示す指示内容を優先的に達成するように、制御装置100がビジュアルサーボ制御を行うことができる。これにより、ロボット300が行う作業において第1の被作業物と第2の被作業物を、その作業に適した位置関係に移動させることができる。例えば、上述したコンデンサー20の例では、コンデンサー20を挿入する電子基板50が正確に決められた位置に配置されていない場合や、コンデンサー20のように挿入する足の長さが異なる場合であっても、より確実に、コンデンサー20を適切な挿入位置まで移動させることができる。
ここで、第1の動作情報と第2の動作情報は、上記に限定されない。即ち、受付部110は、第1の動作情報として、被作業物の第1の部位と第1の目標とを一致させる動作の情報を受け付け、第2の動作情報として、被作業物の部位又はロボットの部位である第2の部位と第2の目標とを近づける動作の情報を受け付ける。このような情報であれば、本実施形態では種々の動作情報を用いることができる。
例えば、図2のステップS5において短リード線40を第2の穴70に一致させる場合、被作業物であるコンデンサー20の短リード線40(第1の部位)を第2の穴70の位置(第1の目標)に一致させる動作が、優先度の高い第1の動作である。そして、図9(B)に示すように、ロボット300のハンド10(第2の部位)の姿勢Rを、ビジュアルサーボ開始時の姿勢Rg(第2の目標)からできるだけ変えない動作が、優先度の低い第2の動作である。ハンド10の姿勢Rを姿勢Rgからできるだけ変えないということは、できるだけ第2の目標である姿勢Rgに近づけるということである。
或は、第1の動作は上記と同様だが、図11に示すように、短リード線40を第2の穴70に向けて移動させたときに長リード線30(第2の部位)の変形が最小となる動作を第2の動作にしてもよい。第2の目標は、第1の穴60に拘束された長リード線30の位置である。長リード線30が第1の穴60に拘束されていないと仮定した場合に、短リード線40を動かしたときの長リード線30の仮想的な移動量(画像特徴量の変化Δs)を推定し、その仮想的な移動量が最小となるようにビジュアルサーボを行う。長リード線30の仮想的な移動量が最小となるということは、第1の穴60に拘束された長リード線30の位置にできるだけ近づけるということである。
以上のような動作情報を受け付けることで、被作業物の第1の部位を第1の目標に一致させ、その動作が実現される範囲において可能な限り、被作業物の部位又はロボットの部位である第2の部位を第2の目標に近づけることができる。これにより、2つの異なる動作情報に基づいて被作業物を適切に移動できる。即ち、優先度の高い第1の目標を実現すると共に、第2の部位を、より適切な位置に配置することが可能となる。
ここで、第1の部位と第1の目標とを一致させるとは、第1の部位と第1の目標(第1の目標付近)とを合わせることである。例えば、図2のステップS3では、長リード線30の先端を第1の穴60の入口に合わせる(即ち一致させる)ことで、第1の部位と第1の目標とを一致させる。なお、電子基板50を把持し、第1の穴60の入口を長リード線30の先端に合わせることで、第1の部位と第1の目標とを一致させてもよい。
また、第2の部位と第2の目標とを近づけるとは、第2の部位と第2の目標との間の距離を短くすることである。例えば、図2のステップS3では、短リード線40の先端を、第2の穴70の上方の位置に向けて移動させる(即ち近づける)ことで、短リード線40の先端と第2の穴との間の距離を近づける。なお、電子基板50を把持し、第2の穴70の上方の位置を、短リード線40の先端に向けて移動させることで、短リード線40の先端と第2の穴との間の距離を近づけてもよい。
なお、被作業物の部位は、コンデンサー20のリード線のような線状の部位に限定されない。例えば、被作業物の本体部から突き出た突起や、工具の部材に作用させる部位(例えばドライバーの先端)、治具の部材に当てる部位等であってもよい。或は逆に、被作業物の本体部に開いた穴部や、工具で作業される部材(例えばネジ)、治具があてがわれる部材等であってもよい。この場合、穴部、部材をハンドが把持し、突起、工具、治具に対して近づけることになる。
上述したような動作情報に基づくロボット300の動作は、次のようにして実現できる。即ち、処理部120は、第1の部位に対応する第1の特徴量を、第1の目標に対応する第1の目標特徴量に一致させる処理と、第2の部位に対応する第2の特徴量を、第2の目標に対応する第2の目標特徴量に近づける処理と、を行う。
長リード線30を第1の穴60に一致させるビジュアルサーボを例に説明する。図7に示すように、第1の特徴量は、長リード線30の画像特徴量sl1、sl2であり、第2の特徴量は、短リード線40の画像特徴量ss1、ss2である。図6に示すように、第1の目標特徴量は、長リード線30が第1の穴60に一致するときの長リード線30の画像特徴量slg1、slg2であり、第2の目標特徴量は、長リード線30が第1の穴60に一致するときの短リード線40の画像特徴量ssg1、ssg2である。処理部120が、これらの特徴量を目標特徴量に一致させ、又は近づけることで、2つの異なる動作をロボット300に行わせることができる。
上記のような特徴量と目標特徴量は、受付部110が受け付けた第1の動作情報と第2の動作情報により決定する。例えば、図12のように部位と目標点を直接的に指定することで、それらに対応する特徴量と目標特徴量を指示する。或は、図13のように、ロボット300に行わせたい動作を指定することで、その動作に必要な特徴量と目標特徴量を間接的に決定してもよい。どの動作にどの特徴量と目標特徴量を対応させるかは、例えば予め制御装置100に記憶させておけばよい。
上述のように、第1の動作情報と第2の動作情報は、優先度が異なっている。この優先度の違いは、処理部120が、優先度が低い第2の動作情報に基づく動作よりも第1の動作情報に基づく動作を優先してロボット300に行わせることを意味する。
即ち、動作情報により指示されるタスクを処理部120が実行し、そのタスクを実行することでロボット300が動作した結果において、優先度が高い動作情報は、その指示内容がより高い度合いで達成される、ということである。例えば、上述した長リード線30の挿入作業では、長リード線30を第1の穴60に一致させる第1のタスクと、短リード線40を第2の穴70に近づける第2のタスクと、を実行する。この場合、短リード線40が第2の穴70に近づくだけで一致せず、第2のタスクが低い達成度だったとしても、長リード線30は第1の穴60に一致し、第1のタスクは高い達成度で実現される。
優先度の異なる動作情報をより具体的に説明すると、第1の動作情報は、ロボット300のエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度で行う動作の情報である。また、第2の動作情報は、第1の動作情報に基づく動作におけるエンドエフェクターの位置及び姿勢の冗長自由度で行う動作の情報である。
例えば、図4に示すように、長リード線30の先端が第1の穴60に一致し、長リード線30の方向が挿入方向に一致したとき、長リード線30を軸とする回転方向RFの自由度が残る。即ち、長リード線30を第1の穴60に一致させる動作は、5自由度で行うことができる。ハンド10の自由度は位置及び姿勢の6自由度なので、それよりも少ない自由度ということになる。回転方向RFはハンド10の冗長自由度であり、この回転方向RFでのコンデンサー20の回転を第2の動作情報を使って制御する。この動作が短リード線40を第2の穴70に近づける動作となる。長リード線30を軸とする回転に制限されるので、図7に示すように短リード線40が曲がっているような場合には、短リード線40が第2の穴70に一致するとは限らない。即ち、冗長自由度で行う第2の動作は、第1の動作よりも優先度が低くなっている。
2.制御処理フロー
次に、コンデンサー20を電子基板50に組み付ける場合を例に、制御処理の詳細を説明する。図2に、制御処理のフローチャートを示す。なお、図2では各ステップの概要を説明し、各ステップの詳細については後述する。
図2に示すように、コンデンサー20は、電荷を蓄積する部分である本体部25と、その本体部25の正極端子である長リード線30と、本体部25の負極端子である短リード線40と、で構成される。また、電子基板50には、第1の穴60と第2の穴70が設けられている。長リード線30、短リード線40をそれぞれ第1の穴60、第2の穴70に挿入することで、コンデンサー20と電子基板50を組み付ける。
制御処理を開始すると、まずハンド10は本体部25を把持する(ステップS1)。次に、第1の位置制御によりコンデンサー20をビジュアルサーボの開始点へ移動させる(ステップS2)。ステップS2以降ではハンド10の図示を省略している。
ここで、位置制御とは、ハンド10等のエンドエフェクターの位置及び姿勢を始点から終点まで移動させる制御である。ステップS1では、始点は把持動作を終了したときのハンド10の位置及び姿勢であり、終点は、ビジュアルサーボの開始点におけるエンドエフェクターの位置及び姿勢である。始点から終点までの軌道を生成し、その軌道に基づいてアームの関節角や関節角速度を制御し、軌道に沿ってエンドエフェクターを移動させる。
次に、第1のビジュアルサーボにより、長リード線30の特徴点TPaを目標点GPaに一致させると共に、短リード線40の特徴点TPbを第2の目標点GPbにできるだけ近づける(ステップS3)。特徴点と目標点は、リード線の先端の位置及びリード線の方向で指定される。図2では、優先度が高い動作の特徴点と目標点を×印で表し、優先度が低い動作の特徴点と目標点を○印で表す。目標点GPaは、第1の穴60の入口又は直上であり、目標点GPbは、第2の穴70の上方である。目標点GPa、GPbは、電子基板50からの高さにおいて、長リード線30と短リード線40の長さの差だけ異なっている。
次に、第2の位置制御によりコンデンサー20を下方(挿入方向)に移動させ、長リード線30を第1の穴60に挿入する(ステップS4)。ここでは、短リード線40が第2の穴70に達しない距離だけ移動させる。
次に、第2のビジュアルサーボにより短リード線40の特徴点TPcを目標点GPcに一致させる(ステップS5)。目標点GPcは、第2の穴70の直上である。長リード線30、短リード線40が本体部25から斜めに出ている場合や長リード線30、短リード線40が曲がっている場合には、短リード線40の特徴点TPcが目標点GPcまで移動するのに伴って、長リード線30が変形する。この変形は、長リード線30が第1の穴60に拘束(挿入)されているために生じ、例えば本体部25に接続される根元が曲がる変形である。
次に、第3の位置制御によりコンデンサー20を下方(挿入方向)に移動させ、短リード線40を第2の穴70に挿入する(ステップS6)。ここでは、組み付け完了の位置、例えば長リード線30、短リード線40を第1の穴60、第2の穴70に半田付け可能な位置まで移動させる。
上記のような処理フローは、その処理フローに対応した作業シナリオに基づいて処理部120が実行する。例えば、作業シナリオは、制御装置100の不図示の記憶部に記憶される。処理部120は、その記憶部から作業シナリオを取得し、その作業シナリオを具体的な制御処理(例えばモーターの制御情報等)に変換し、ロボットを制御する。作業シナリオとは、ロボットに作業を実行させるためのシナリオ(プログラム)であり、例えば複数のサブプログラムを組み合わせることで構成される。或は、処理部120は、作業シナリオを生成することで取得してもよい。例えば、ユーザーからは所望の目標状態だけが(例えば図12、図13の入力画面により)入力され、当該目標状態を実現する作業シナリオを処理部120が生成する。
なお、上記のフローでは、コンデンサー20をハンド10で把持し、そのコンデンサー20を、作業台上の治具等に設置された電子基板50に組み付ける場合を例に説明したが、電子基板50をハンド10で把持し、その電子基板50を、作業台上の治具に設置されたコンデンサー20に組み付けてもよい。
3.ビジュアルサーボの基本処理
長リード線30を第1の穴60に一致させる場合を例に、ビジュアルサーボの基本的な制御処理について説明する。なお、以下ではカメラ(撮像部)が2台である場合を例に説明するが、カメラは1台又は3台以上であってもよい。
図3に示すように、ビジュアルサーボでは第1のカメラCM1と第2のカメラCM2により被撮像物を撮像し、その撮像画像を用いてアーム320の関節角やハンド10の位置及び姿勢を制御する。被撮像物は、第1の被作業物であるコンデンサー20と、第2の被作業物である電子基板50である。カメラCM1、CM2は時系列に撮像(例えば動画撮影)を行い、制御装置100は各時刻での撮像画像を使ってアーム320やハンド10をフィードバック制御する。フィードバック制御のフローについては図16で後述する。
図4は、カメラCM1、CM2の撮像画像である。カメラCM1の撮像画像から下式(1)に示す画像特徴量を検出し、カメラCM2の撮像画像から下式(2)に示す画像特徴量を検出する。画像特徴量の検出は、画像認識により行う。
Figure 0006421408
Figure 0006421408
画像上の位置を(x,y)で表すと、sl1=(sxl1,syl1)、sl2=(sxl2,syl2)は長リード線30の先端の撮像画像上での位置であり、図4では△印で表している。(x,y)は例えば直交座標であり、xは例えば水平走査方向、yは例えば垂直走査方向に対応する。sθl1、sθl2は長リード線30の撮像画像上での角度であり、図4では△印に付した矢印で表している。画像上での角度は、例えばx軸と長リード線30の成す角度であり、本実施形態では直角である。なお、上付きの“T”はベクトル又は行列の転置を表す。
カメラCM1、CM2の画像特徴量sl1、sl2は、3次元の作業空間において長リード線30の位置及び姿勢を特定することに対応している。このとき、長リード線30を軸とする回転(図5のRF)は自由なので、長リード線30の位置及び姿勢は5自由度である。そのため、長リード線30の画像特徴量sを下式(3)とする。
Figure 0006421408
例えば、カメラCM1、CM2が作業空間において同じ高さに設置されている場合、syl1=syl2となるので、画像特徴量sを上式(3)のように選ぶことができる。なお、ベクトルの要素の選び方は上式(3)に限定されず、カメラの配置等に応じて適宜変更できる。
図5に、参照画像の例を示す。ビジュアルサーボでは、撮像画像上において被作業物を目標まで移動させるが、その目標となるのが参照画像である。撮像画像と参照画像の特徴量の差により被作業物の位置を推定することができ、それによってフィードバック制御を行う。
カメラCM1の参照画像から下式(4)に示す画像特徴量を検出し、カメラCM2の参照画像から下式(5)に示す画像特徴量を検出する。
Figure 0006421408
Figure 0006421408
(sxlg1,sylg1)、(sxlg2,sylg2)は長リード線30の先端の参照画像上での位置であり、sθlg1、sθlg2は長リード線30の参照画像上での角度である。
参照画像の特徴量slg1、slg2から、画像特徴量sの目標値slgを下式(6)とする。
Figure 0006421408
本実施形態では、カメラCM1、CM2の撮像画像から第1の穴60と第2の穴70を画像認識し、その認識した第1の穴60と第2の穴70の位置に対応して目標値slgを設定する。即ち、本実施形態では撮像画像が参照画像となる。
なお、参照画像は、撮像画像とは別の画像であってもよく、例えばCADモデルデータから生成される画像であってもよい。また、記憶しておいた参照画像から画像特徴量を検出してもよいし、予め検出しておいた画像特徴量を記憶しておいてもよい。
上式(3)の画像特徴量sと上式(6)の目標画像特徴量slgから、下式(7)、(8)のように目標関節角の変化Δθを求める。この制御則によって、時系列の撮像画像を用いて目標関節角の変化Δθを逐次決定し、その変化Δθの分だけ関節角を動かすことにより、実画像の特徴量sと目標画像特徴量slgとの差を無くすように制御できる。
Figure 0006421408
Figure 0006421408
上式(7)において、Xは、下式(9)に示すように、作業空間におけるハンド10の位置(x,y,z)及び姿勢(R,R,R)である。姿勢(R,R,R)は、例えばロール角、ピッチ角、ヨー角である。λは制御ゲインである。Jilは、下式(10)に示すように、作業空間における被作業物の位置及び姿勢と長リード線30の画像特徴量sとの間のヤコビアンである。Jil は、Jilの疑似逆行列である。
Figure 0006421408
Figure 0006421408
上式(8)において、θは、下式(11)に示すように目標関節角のベクトルである。下式(11)は6自由度アームを用いた場合の例である。Jは、下式(12)に示すように、アームの関節角と作業空間における被作業物の位置及び姿勢との間のヤコビアンである。J は、Jの疑似逆行列である。
Figure 0006421408
Figure 0006421408
ヤコビアンJilは、ハンド10の位置及び姿勢Xを微小変化させた際の画像特徴量sの変化を事前に測定することで、求めることができる。この場合、事前に求めたヤコビアンを記憶しておけばよい。或は、ヤコビアンJilを、動作させながら推定する方法を用いて算出してもよい。ヤコビアンJは、ロボットの関節角とリンク長の幾何学的な関係から算出することができる。
疑似逆行列(一般化逆行列)を求める手法としては、例えば以下の2つの手法がある。第1の手法は、Aをm×nの行列として正方行列AAの逆行列を求める手法であり、下式(13)により疑似逆行列Aを求める。
Figure 0006421408
第2の手法は、特異値分解による手法である。任意のm×nの行列Aは下式(14)の形式に分解できる。
Figure 0006421408
Uはm次元の正規直交基底であり、Vはn次元の正規直交基底であり、Σは特異値を対角項に持つ行列となる。なお、Uは正方行列AAのm個の固有ベクトルを列ベクトルとして有する行列、Vは正方行列AAのn個の固有ベクトルを列ベクトルとして有する行列であり、ΣはUとVで共有される固有値の平方根を対角項に持つ行列であると言い換えることができる。
上式(14)のAの逆行列と同様の性質を持つ行列として下式(15)のAを考えることが可能となる。
Figure 0006421408
本実施形態では、上記の第1、第の手法においてA=Jil又はA=Jとすることで、逆ヤコビアンを求めることができる。
4.第1のビジュアルサーボ
次に、図2のステップS3で説明した第1のビジュアルサーボについて詳細に説明する。
上述した基本制御では上式(7)、(8)の制御則を用いるが、この制御則では、長リード線30を中心とする回転方向(図5のRF)においてハンド10の動作に制約がない。そのため、長リード線30を第1の穴60に一致させることはできるが、回転方向において短リード線40がどのような角度に配置されるかは分らない。コンデンサー20を組み付けるには2つのリード線を穴に挿入する必要があることから、短リード線40の配置もある程度制約されることが望ましい。また、回転方向の制約がないと、回転角度がロボット300で実現可能な範囲を超え、実現不可能な動作となる可能性がある。
そこで、第1のビジュアルサーボでは、回転方向の冗長自由度を制御する項を制御則に加えることで回転方向の動作を制約する。具体的には、下式(16)、(17)の制御則を用いる。
Figure 0006421408
Figure 0006421408
上式(16)の第1項は、上式(7)で説明した通りである。第2項のIは単位行列である。kはスカラー量(制御ゲイン)である。ξは下式(18)、(19)に示すように評価関数q(X)に基づくベクトルである。
Figure 0006421408
Figure 0006421408
上式(19)においてξはξのi番目の要素である。Xは上式(9)のXのi番目の要素である。評価関数q(x)は、短リード線40の画像特徴量s、ssgを用いて下式(20)で定義する。ssi、ssgiは、s、ssgのi番目の要素である。
Figure 0006421408
短リード線40の画像特徴量s、ssgについて説明する。図6に、第1のビジュアルサーボにおける撮像画像を示し、図7に、第1のビジュアルサーボにおける参照画像を示す。短リード線40の目標点は、長リード線30の特徴点が第1の穴60に一致したときの短リード線40の先端の位置及び短リード線40の方向である。このとき、長リード線30及び短リード線40は曲がっていないものとする。即ち、短リード線40の目標点は、短リード線40の挿入方向に沿って第2の穴70から上方に離れた点である。
長リード線30の場合と同様にして、各カメラの撮像画像から画像特徴量ss1、ss2を求め、それらを用いて下式(21)に示す短リード線40の画像特徴量sを求める。短リード線40の画像特徴量の目標値ssgは下式(22)である。
Figure 0006421408
Figure 0006421408
上式(19)のξは、次のようにして求めることができる。即ち、被作業物の位置及び姿勢と短リード線40の画像特徴量sとの間のヤコビアンJisは下式(23)である。
Figure 0006421408
ξは下式(24)のように変形できるので、ヤコビアンJisを用いてξを下式(25)のように表すことができる。
Figure 0006421408
Figure 0006421408
ヤコビアンJisは、ハンド10の位置及び姿勢Xを微小変化させた際の画像特徴量sの変化を事前に測定することで、求めることができる。或は、ヤコビアンJisを、動作させながら推定する方法を用いて算出してもよい。
上式(16)の第2項は、上式(20)の評価関数q(X)を最大化するように働く。即ち、(ssg−s)の各要素の二乗和を最小化するようにロボットを制御する。この制御により、短リード線40の画像特徴量sを目標画像特徴量ssgに近づける動作を実現できる。
ここで、上式(16)の第2項は、長リード線30の画像特徴量sを変化させない構成になっている。即ち、第2項によって生じるハンド10の位置及び姿勢の変化は、長リード線30を移動させない。上述したように、上式(16)の第1項では長リード線30を5自由度で制御するが、その5自由度については第2項は制御しないということである。6自由度のハンド10の位置及び姿勢には、残り1自由度の冗長自由度があるので、第2項は、その冗長自由度の範囲でハンド10を制御する。
以上のようにして、上式(16)の第1項により、長リード線30を第1の穴60に一致させるという優先度の高い第1の動作が実現される。そして、第2項により、長リード線30を軸とする回転方向の角度を制御することで、短リード線40を第2の穴70に出来るだけ近づけるという優先度の低い第2の動作を実現できる。
図8に示すように、リード線が曲がっている場合には、長リード線30が第1の穴60に一致したときに短リード線40が真下を向いている訳ではないので、長リード線30を軸として回転した場合に短リード線40の画像特徴量sは目標画像特徴量ssgに一致しない。即ち、短リード線40を第2の穴70に一致させる動作の達成度は、長リード線30を第1の穴60に一致させる動作の達成度よりも低くなり、それが優先度の違いとなっている。短リード線40が第2の穴70に完全に一致しなくても、出来るだけ近づけることができるので、短リード線40の目標に近い状態から次の作業(短リード線40を第2の穴70に挿入する作業)に移ることができる。
さて、冗長自由度の制御の比較例として、エンドエフェクターの位置及び姿勢の6自由度に対して7自由度の関節のアームを制御する場合を考える。この比較例では、エンドエフェクターの位置及び姿勢を決めたときに、アームの関節の冗長自由度をどのように制御するかを決める。即ち、エンドエフェクターの位置及び姿勢は制御によって決まっており、それに伴って被作業物の位置及び姿勢も決まっている。
一方、本実施形態では、長リード線30の画像特徴量sの自由度がエンドエフェクターの6自由度よりも低くなっている。即ち、エンドエフェクターの位置及び姿勢に冗長自由度が発生しており、この冗長自由度を使ってコンデンサー20をどのように電子基板50に近づけるのかを制御している。特に、エンドエフェクターの冗長自由度を用いることによって動作に優先度を付けることが可能であり、必ず実現したい動作と、可能な限り実現しておきたい動作を同時に行うことが可能となっている。
5.第2のビジュアルサーボの第1の制御手法
次に、図2のステップS5で説明した第2のビジュアルサーボの第1の制御手法について説明する。
図9(A)に第2のビジュアルサーボにおける参照画像を示す。第2のビジュアルサーボでは長リード線30は第1の穴60に一部刺さっており、短リード線40の先端を第2の穴70に一致させることが目標となる。即ち、短リード線40の目標点は第2の穴70の直上である。
第2のビジュアルサーボでは、上記の動作が、優先度が高い第1の動作となる。優先度が低い第2の動作は、ハンド10の姿勢を出来るだけ変化させないことである。具体的には、図9(B)に示すように、第2のビジュアルサーボを開始する時点でのハンド10の姿勢Rgを目標とする。姿勢Rgを下式(26)とする。
Figure 0006421408
評価関数q(X)を下式(27)と定義する。評価関数q(X)を上式(19)に代入すると、下式(28)のξが求まる。
Figure 0006421408
Figure 0006421408
上式(28)のξを用いて、制御則を下式(29)、(30)とする。
Figure 0006421408
Figure 0006421408
is は、上式(23)のヤコビアンJisの疑似逆行列である。ξ以外の他のパラメーターは上述した通りである。
上式(29)の第2項は、ハンド10の姿勢R=[R,R,R]と目標姿勢Rとの差の二乗和を最小とするように(評価関数q(X)を最大化するように)働く。即ち、ハンド10の姿勢Rが第2のビジュアルサーボ開始時点の姿勢Rから出来るだけ変化しないように制御される。
上式(29)の第1項は、短リード線40を第2の穴70に一致させる第1の動作を実現する。第1の動作には、短リード線40を軸とする回転方向の冗長自由度があり、その冗長自由度を用いて、ハンド10の姿勢Rを出来るだけ変化させないという第2の動作を実現している。
仮にハンド10の姿勢を制約しなかったとすると、短リード線40を動かすときに冗長自由度の範囲でハンド10は自由な姿勢をとることができる。例えば長リード線30が第1の穴60から離れる方向にハンド10が移動する可能性がある。そうすると、長リード線30は第1の穴60に拘束されているため、長リード線30が大きく変形し、その後の挿入作業に支障を来す。上式(29)の第2項は、このようなハンド10の大きな動きを極力避け、長リード線30の変形を出来るだけ抑えることができる。
なお、上記の手法は第1のビジュアルサーボに適用することも可能である。即ち、長リード線30を第1の穴60に一致させるときにハンド10の姿勢Rが出来るだけ変化しないように制御することで、短リード線40の位置がより適切となるようにしてもよい。
6.第2のビジュアルサーボの第2の制御手法
次に、図2のステップS5で説明した第2のビジュアルサーボにおける第2の制御手法について説明する。
図10に、カメラCM1、CM2の撮像画像を示す。優先度の高い第1の動作は、第1の制御手法と同様に、短リード線40の画像特徴量sを目標画像特徴量ssgに一致させる動作である。優先度の低い第2の動作は、第1の制御手法とは異なり、長リード線30の先端を出来るだけ動かさないことである。
図11に、第2の動作の説明図を示す。長リード線30の先端は第1の穴60に挿入されており、カメラCM1、CM2からは見えないため、長リード線30が穴に拘束されていないと仮定した場合の、長リード線30先端の移動が最小となるように制御する。
制御則の式は、上式(29)、(30)と同一である。評価関数q(X)は次のように定義する。即ち、第1の動作(上式(29)の第1項)によって動かされる仮のハンド10の位置及び姿勢の変化量ΔXは下式(31)となる。
Figure 0006421408
変化量ΔXだけハンドの位置及び姿勢が変化した際の、第1の穴60に挿入されていないと仮定した長リード線30の画像特徴量sの変化量Δslcを、下式(32)により推定する。
Figure 0006421408
推定変化量Δslcから評価関数q(X)を下式(33)と定義する。Δslciは、Δslcのi番目の要素である。
Figure 0006421408
上式(19)に評価関数q(X)を代入すると、ξは下式(34)のように求まる。
Figure 0006421408
上記のξを用いた場合、上式(29)の第2項は、変化量Δslcの各要素の二乗和を最小とするように(評価関数q(X)を最大化するように)働く。即ち、短リード線40の移動に伴う仮想的な長リード線30の移動が、第2のビジュアルサーボ開始時点から出来るだけ起きないように制御される。この制御には、上式(29)の第1項がもつ冗長自由度を用いている。
仮に冗長自由度の制御を行わずに短リード線40を動かしたとすると、短リード線40を軸とする回転方向で長リード線30がどの角度に配置されるかが決まらない。長リード線30は第1の穴60に拘束されているため、第1の穴60から離れる方向に回転すると長リード線30が大きく変形し、その後の挿入作業に支障を来す。上式(33)の評価関数を用いた場合の上式(29)の第2項は、このようなハンド10の大きな動きを極力避け、長リード線30の変形を出来るだけ抑えることができる。
7.動作情報の入力手法
図12に、第1の動作情報及び第2の動作情報を入力するための表示画面の第1の例を示す。表示画面は、例えば図14(A)、図14(B)に示すロボットの表示部130に表示制御部140が表示させる。
表示画面には、優先度が高い第1の動作情報を入力するための領域IM1と、優先度が低い第2の動作情報を入力するための領域IM2が設定されている。領域IM1、IM2には、第1の被作業物であるコンデンサーの画像OB1と、第2の被作業物である電子基板の画像OB2と、が表示される。
ユーザーは、領域IM1において、コンデンサーの画像OB1に対して長リード線の先端にマークTP1を付し、電子基板の画像OB2に対して、長リード線を挿入したい穴にマークGP1を付す。これにより、高優先度タスクの制御部位(第1の部位)と目標点(第1の目標)が第1の動作情報として指定される。
また、ユーザーは、領域IM2において、コンデンサーの画像OB1に対して短リード線の先端にマークTP2を付し、電子基板の画像OB2に対して、短リード線を挿入したい穴の上方にマークGP2を付す。例えば、高優先度タスクが達成された場合のコンデンサーの画像OB1’を表示し、その画像OB1’の短リード線の先端にマークGP2を付す。これにより、低優先度タスクの制御部位(第2の部位)と目標点(第2の目標)が第2の動作情報として指定される。
以上のような表示画面によれば、被作業物が画像として表示され、その画像に対して特徴点や目標点を指示すればよいため、視覚的な分りやすいユーザーインターフェースを提供できる。そして、表示画面を介して入力された指定情報を第1の動作情報及び第2の動作情報として受付部110が受け付けることで、処理部120は、その情報に基づいてロボット300を制御できる。即ち、処理部120は、第1の動作に対して画像特徴量sと目標画像特徴量slgを選択し、第2の動作に対して画像特徴量sと目標画像特徴量ssgを選択できる。そして、それらの特徴量を用いてビジュアルサーボによりロボットに優先度の異なる第1の動作及び第2の動作を行わせることができる。
図13に、第1の動作情報及び第2の動作情報を入力するための表示画面の第2の例を示す。
表示画面には、優先度が高い第1の動作情報を入力するための第1の選択肢OP1と、優先度が低い第2の動作情報を入力するための第2の選択肢OP2が表示される。選択肢OP1は、更に制御対象を選択するための選択肢OPAと、その制御対象の制御目標を選択するための選択肢OPBを含んでいる。
選択肢OPAは、第1の被作業物であるコンデンサーの部位(短リード線、長リード線)を選択できるようになっている。また、選択肢OPBは、第2の被作業物である電子基板の穴(第1の穴、第2の穴、・・・)を選択できるようになっている。ユーザーは、これらの中から、所望する制御対象(第1の部位)と制御目標(第1の目標)を第1の動作情報として選択する。
選択肢OP2には、どの制御対象(第2の部位)をどのように制御するか(第2の目標)を選択できるようになっている。例えば、エンドエフェクターの姿勢を制御対象として、その姿勢を出来るだけ変化させずに動作させる、或は、選択肢OPAで選んだ制御対象と逆のリード線(図13では長リード線)を制御対象として、そのリード線を仮想的に出来るだけ動かさずに動作させる、等である。ユーザーは、これらの中から、所望の動作を第2の動作情報として選択する。
図13の表示画面によれば、動作を選択肢として表示するので、ハンドの姿勢やリード線の仮想的な動き等、特徴点や目標点だけでは表せない動作を指示することが可能となる。例えば、図2のステップS5で説明した第2のビジュアルサーボでは、このような指示方法が適している。そして、表示画面を介して入力された選択情報を第1の動作情報及び第2の動作情報として受付部110が受け付けることで、処理部120は、その情報に基づいてロボット300を制御できる。即ち、処理部120は、第1の動作に対して画像特徴量sと目標画像特徴量ssgを選択し、第2の動作に対して姿勢R(又はΔslc)と目標姿勢R(又はΔslc=0)を選択できる。そして、それらの特徴量を用いてビジュアルサーボによりロボットに優先度の異なる第1の動作及び第2の動作を行わせることができる。
なお、以上ではコンデンサーを電子基板に組み付ける作業を例に説明したが、本実施形態はこれ以外の作業にも適用できる。即ち、優先度が異なる第1の動作及び第2の動作は所定の作業を含むことができ、その所定の作業は、例えば組立作業や嵌合作業、挿入作業等のうちいずれか1つの作業を含む。
例えば嵌合作業では、第1のパーツの凸部(突起)と第2のパーツの凹部(穴部)を嵌合する。凸部が非対称な形で特定の方向で凹部と嵌合するような場合には、第1の動作は、凸部を凹部の直上に移動させる動作であり、第2の動作は、凸部の向きを凹部に嵌合する向きに合わせる動作である。組み立て作業では、例えばドライバーでネジを回す作業を想定できる。この場合、第1の動作は、ドライバーをネジの直上に移動させる動作であり、第2の動作は、ドライバーのシャフトを軸とする回転方向の向きを、ドライバー先端がネジ頭部に嵌まる向きに合わせる動作である。
8.ロボット
次に、図14(A)及び図14(B)に、本実施形態の制御装置100(ロボット制御システム)が適用されるロボット300の構成例を示す。図14(A)及び図14(B)のどちらの場合にも、ロボット300は、アーム320とエンドエフェクター310を有する。
エンドエフェクター310とは、ワーク(作業対象物)を把持したり、持ち上げたり、吊り上げたり、吸着させたり、ワークに加工を施したりするために、アーム320のエンドポイントに取り付ける部品のことをいう。エンドエフェクター310は、例えばハンド(把持部)であってもよいし、フックであってもよいし、吸盤等であってもよい。さらに、1本のアーム320に対して、複数のエンドエフェクターを設けても良い。なお、アーム320とは、ロボット300のパーツであって、一つ以上の関節を含む可動パーツのことをいう。
例えば、図14(A)のロボットは、ロボット300と制御装置100とが別体に構成されている。この場合には、制御装置100の一部又は全部の機能は、例えばPC(Personal Computer)により実現される。なお、ロボット300と、そのロボット300と別体に構成された要素(例えば制御装置100や、図1の撮像部200等)と、を含むシステムをロボットシステムと呼ぶ。
また、本実施形態のロボットは図14(A)の構成に限定されず、図14(B)のようにロボット本体305と制御装置100とが一体に構成されていてもよい。すなわち、ロボット300は、制御装置100を含んでいても良い。
具体的には図14(B)に示したように、ロボット300は、ロボット本体305及びロボット本体を支えるベースユニット部を有し、当該ベースユニット部に制御装置100が格納されるものであってもよい。ロボット本体305は、アーム320及びエンドエフェクター310を有する。図14(B)のロボット300には、ベースユニット部に車輪等が設けられ、ロボット300全体が移動可能な構成となっている。
図14(A)、図14(B)の制御装置100には、表示部130が設けられている。制御装置100は、この表示部130に、図12、図13で説明した表示画面を表示する。図14(A)では、表示部130はPCの表示装置である。図14(B)では、ベースユニット部に表示部130が設けられる。或は、ベースユニット部に外付けで表示部130を接続できるように構成してもよい。
なお、図14(A)は単腕型の例であるが、ロボット300は図14(B)に示すように双腕型等の多腕型のロボットであってもよい。また、ロボット300は、人手により移動させられるものであってもよいし、車輪を駆動させるモーターを設け、当該モーターを制御装置100により制御することにより、移動させられるものであってもよい。また、制御装置100は、図14(B)のようにロボット300の下に設けられたベースユニット部に設けられるとは限らない。
また、図15に示すように、制御装置100の機能は、有線及び無線の少なくとも一方を含むネットワーク400を介して、ロボット300と通信接続されたサーバー500により実現されてもよい。
或いは本実施形態では、本発明の制御装置の処理の一部を、サーバー500側の制御装置が行ってもよい。この場合には、ロボット300側に設けられた制御装置との分散処理により、当該処理を実現する。なお、ロボット300側の制御装置は、例えばロボット300に設置される端末装置330(制御部)により実現される。
そして、この場合に、サーバー500側の制御装置は、本発明の制御装置における各処理のうち、サーバー500の制御装置に割り当てられた処理を行う。一方、ロボット300に設けられた制御装置は、本発明の制御装置の各処理のうち、ロボット300の制御装置に割り当てられた処理を行う。なお、本発明の制御装置の各処理は、サーバー500側に割り当てられた処理であってもよいし、ロボット300側に割り当てられた処理であってもよい。
これにより、例えば端末装置330よりも処理能力の高いサーバー500が、処理量の多い処理を行うこと等が可能になる。さらに、例えばサーバー500が各ロボット300の動作を一括して制御することができ、例えば複数のロボット300に協調動作をさせること等が容易になる。
また近年は、多品種少数の部品を製造することが増えてきている。そして、製造する部品の種類を変更する場合には、ロボットが行う動作を変更する必要がある。図15に示すような構成であれば、複数のロボット300の各ロボットへ教示作業をし直さなくても、サーバー500が一括して、ロボット300が行う動作を変更すること等が可能になる。
さらに、図15に示すような構成であれば、各ロボット300に対して一つの制御装置100を設ける場合に比べて、制御装置100のソフトウェアアップデートを行う際の手間を大幅に減らすこと等が可能になる。
9.特徴ベースビジュアルサーボ
ここでは、ビジュアルサーボの概要と、特徴ベースビジュアルサーボの処理フローについて説明する。
ビジュアルサーボとは、目標物の位置の変化を視覚情報として計測し、それをフィードバック情報として用いることによって目標物を追跡するサーボ系の一種である。ビジュアルサーボは、サーボ系への入力情報(制御量)によって、位置ベースビジュアルサーボと特徴ベースビジュアルサーボの二つに大別される。位置ベースビジュアルサーボは、物体の位置情報や姿勢情報がサーボ系への入力情報となり、特徴ベースビジュアルサーボは、画像の特徴量がサーボ系への入力情報となる。他にも、位置ベースと特徴ベースをハイブリッドした手法もある。これらのビジュアルサーボは、参照画像と撮像画像を元にサーボ系への入力情報を求める点で共通している。本発明で扱うビジュアルサーボは、特徴ベースビジュアルサーボである。
図16に、特徴ベースビジュアルサーボのフローチャートを示す。この処理フローは、処理部120が実行する。まず参照画像を設定する(ステップS100)。ここで、参照画像とは、目標画像やゴール画像とも呼ばれ、ビジュアルサーボの制御目標となる画像であり、ロボット300の目標状態を表す画像をいう。すなわち、参照画像とは、ロボット300の目標位置や目標姿勢を表す画像、もしくはロボット300が目標位置に位置する状態を表す画像である。
次に、撮像部200によって作業スペースを撮像し、撮像画像を取得する(ステップS101)。撮像画像は、作業スペースの現在の状態を表しており、撮像画像内にロボット300やワークが映りこんでいる場合には、ロボット300やワークの現在の状態を表している。なお、撮像部200の性能によっては処理遅延が生じるが、ここでは、処理遅延が生じている場合でも、撮像画像には現在の状態が映されているものとして扱う。
なお、特徴ベースビジュアルサーボを用いる場合には、参照画像を設定する際に参照画像の特徴抽出を行い、特徴量を算出しておくことが望ましい。または、参照画像の特徴を抽出した参照画像情報を記憶部に記憶しておいてもよい。
次に、撮像画像の特徴を抽出する(ステップS102)。なお、参照画像の特徴抽出は、参照画像設定の際に行っておくことが望ましいが、本ステップで行ってもよい。特徴抽出では、ビジュアルサーボ系への入力情報(制御量)として、画像の特徴量を求める。
そして、画像の特徴量に基づいて、参照画像と撮像画像が一致するか否かを比較する(ステップS103)。画像が一致すると判定した場合(ステップS104)には、ビジュアルサーボを終了する。一方、画像が一致しないと判定した場合(ステップS104)には、制御指令を生成し(ステップS105)、ロボット300に制御指令を送出する(ステップS106)。
ここで、制御指令(制御信号)とは、ロボット300を制御するための情報を含む指令(信号)のことをいう。例えば、制御指令としては速度指令などがある。また、速度指令とは、ロボット300の各部を制御するための情報として、ロボット300のアームのエンドポイント等の移動速度や回転速度を与える指令の方法を指す。
特徴ベースビジュアルサーボでは、制御量が目標値に収束するまで以上の処理を繰り返す。即ち、ステップS106の制御指令によりロボット300の姿勢が変化し、ステップS101において、その姿勢での撮像画像を撮像する。このように姿勢を変化させながら撮像した複数の撮像画像に基づいて、処理部120は、ビジュアルサーボ開始時の姿勢である第1の姿勢から、ビジュアルサーボ終了時の姿勢である第2の姿勢までロボット300を制御する。
なお、本実施形態の制御装置及びロボット等は、その処理の一部または大部分をプログラムにより実現してもよい。この場合には、CPU等のプロセッサーがプログラムを実行することで、本実施形態の制御装置及びロボット等が実現される。具体的には、情報記憶媒体に記憶されたプログラムが読み出され、読み出されたプログラムをCPU等のプロセッサーが実行する。ここで、情報記憶媒体(コンピューターにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリー(カード型メモリー、ROM等)などにより実現できる。そして、CPU等のプロセッサーは、情報記憶媒体に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち、情報記憶媒体には、本実施形態の各部としてコンピューター(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶される。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態及び変形例の全ての組み合わせも、本発明の範囲に含まれる。また処理部、受付部、制御装置、ロボットの構成・動作や、ビジュアルサーボの制御手法、ロボットの制御手法等も、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
10 ハンド、20 コンデンサー、25 本体部、30 長リード線、
40 短リード線、50 電子基板、60 第1の穴、70 第2の穴、
100 制御装置、110 受付部、120 処理部、130 表示部、
140 表示制御部、200 撮像部、300 ロボット、
305 ロボット本体、310 エンドエフェクター、320 アーム、
330 端末装置、400 ネットワーク、500 サーバー、
CM1 第1のカメラ、CM2 第2のカメラ、OB1 コンデンサーの画像、
OB2 電子基板の画像、OP1 第1の選択肢、OP2 第2の選択肢、
R ハンドの姿勢、RF 回転方向、R ハンドの目標姿勢、
l1,sl2 長リード線の画像特徴量、
lg1、slg2 長リード線の目標画像特徴量、
s1,ss2 短リード線の画像特徴量、
sg1,ssg2 短リード線の画像特徴量、
ΔX ハンドの位置及び姿勢の変化量、
Δslc 長リード線の画像特徴量の推定変化量

Claims (24)

  1. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、
    ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせる処理部と、
    を含み、
    前記第1の動作情報は、被作業物の第1の部位と第1の目標とを一致させる動作の情報であり、
    前記第2の動作情報は、前記ロボットのエンドエフェクターと第2の目標とを近づける動作の情報であり、
    前記処理部は、
    前記複数の撮像画像に基づく前記第1の部位に対応する画像特徴量を、参照画像に基づく前記第1の目標に対応する画像特徴量に一致させる処理、及び前記エンドエフェクターの姿勢を、前記第1の動作情報及び前記第2の動作情報に基づく動作を開始するときの、前記第2の目標に対応する前記エンドエフェクターの姿勢に近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせることを特徴とする制御装置。
  2. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、
    ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせる処理部と、
    を含み、
    前記第1の動作情報は、被作業物の第1の部位と第1の目標とを一致させる動作の情報であり、
    前記第2の動作情報は、前記第1の部位とは異なる前記被作業物の部位と第2の目標とを近づける動作の情報であり、
    前記処理部は、
    前記複数の撮像画像に基づく前記第1の部位に対応する画像特徴量を、参照画像に基づく前記第1の目標に対応する画像特徴量に一致させる処理、及び前記第1の動作情報に基づく動作により前記被作業物の部位の画像特徴量が変化する量を推定した推定変化量を、前記第2の目標に対応するゼロに近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせることを特徴とする制御装置。
  3. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、
    ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせる処理部と、
    を含み、
    前記処理部は、
    前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理及び、前記第2の動作情報に基づく動作を規定する評価関数を最大化する処理により、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせ、
    前記エンドエフェクターの位置及び姿勢Xの変化ΔXを、
    ΔX=λJ(s−s)+(I−JJ)ξk
    により制御し、
    sは前記複数の撮像画像に基づく画像特徴量であり、sは参照画像に基づく目標特徴量であり、ξは前記評価関数のXによる微分であり、JはXとsを関係づけるヤコビアンであり、JはJの疑似逆行列であり、Iは単位行列であり、λ、kは、制御ゲインであることを特徴とする制御装置。
  4. 請求項1乃至3のいずれかにおいて、
    前記第1の動作情報と前記第2の動作情報とは、優先度が異なる情報であり、
    前記第2の動作情報は、前記第1の動作情報よりも優先度が低いことを特徴とする制御装置。
  5. 請求項1乃至4のいずれかにおいて、
    前記受付部は、
    前記第1の動作情報及び前記第2の動作情報を入力するための表示画面が表示部に表示される場合に、前記表示画面によりユーザーが入力した前記第1の動作情報及び前記第2の動作情報を受け付けることを特徴とする制御装置。
  6. 請求項5において、
    前記表示画面には、第1の被作業物の画像と第2の被作業物の画像が表示され、
    前記第1の動作情報は、前記第1の被作業物の画像において第1の部位が指定され、前記第2の被作業物の画像において前記第1の部位を一致させる第1の目標が指定されることで、入力される情報であり、
    前記第2の動作情報は、前記第1の被作業物の画像において第2の部位が指定され、前記第2の被作業物の画像において前記第2の部位を近づける第2の目標が指定されることで、入力される情報であることを特徴とする制御装置。
  7. 請求項5において、
    前記表示画面には、第1の動作情報を入力するための第1の選択肢と、第2の動作情報を入力するための第2の選択肢と、が表示され、
    前記第1の動作情報及び前記第2の動作情報は、前記第1の選択肢と前記第2の選択肢の中からユーザーが所望する動作が選択されることで、入力される情報であることを特徴とする制御装置。
  8. 請求項4において、
    前記処理部は、
    前記優先度が低い前記第2の動作情報に基づく動作よりも前記第1の動作情報に基づく動作を優先して前記ロボットに行わせることを特徴とする制御装置。
  9. 請求項1乃至8のいずれかにおいて、
    前記第1の動作情報は、前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度で行う動作の情報であり、
    前記第2の動作情報は、前記第1の動作情報に基づく動作における前記エンドエフェクターの位置及び姿勢の冗長自由度で行う動作の情報であることを特徴とする制御装置。
  10. 請求項1乃至9のいずれかにおいて、
    前記第1の動作情報及び前記第2の動作情報に基づく動作は、所定の作業を含み、
    前記所定の作業は、組立作業、嵌合作業、挿入作業のうちいずれか1つの作業を含むことを特徴とする制御装置。
  11. 請求項1乃至10のいずれかにおいて、
    前記処理部は、
    前記複数の撮像画像を用いたビジュアルサーボ制御により、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせることを特徴とする制御装置。
  12. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、
    ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせる処理部と、
    を含み、
    前記第1の動作情報は、被作業物の第1の部位と第1の目標とを一致させる動作の情報であり、
    前記第2の動作情報は、前記被作業物の部位又は前記ロボットの部位である第2の部位と第2の目標とを近づける動作の情報であり、
    前記処理部は、
    前記第1の動作情報に基づいて前記第1の部位と前記第1の目標とを一致させる動作を前記ロボットに行わせる際に、前記第1の動作情報よりも優先度が低い前記第2の動作情報に基づいて前記第2の部位と前記第2の目標とを近づける動作を前記ロボットに行わせることを特徴とする制御装置。
  13. 被作業物の第1の部位と第1の目標とを一致させる動作の情報である第1の動作情報と、ボットのエンドエフェクターと第2の目標とを近づける動作の情報である第2の動作情報とを受け付け、
    第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を受け付け、
    前記複数の撮像画像に基づく前記第1の部位に対応する画像特徴量を、参照画像に基づく前記第1の目標に対応する画像特徴量に一致させる処理、及び前記エンドエフェクターの姿勢を、前記第1の動作情報及び前記第2の動作情報に基づく動作を開始するときの、前記第2の目標に対応する前記エンドエフェクターの姿勢に近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を行う、
    ことを特徴とするロボット。
  14. 被作業物の第1の部位と第1の目標とを一致させる動作の情報である第1の動作情報と、前記第1の部位とは異なる前記被作業物の部位と第2の目標とを近づける動作の情報である第2の動作情報とを受け付け、
    第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を受け付け、
    前記複数の撮像画像に基づく前記第1の部位に対応する画像特徴量を、参照画像に基づく前記第1の目標に対応する画像特徴量に一致させる処理、及び前記第1の動作情報に基づく動作により前記被作業物の部位の画像特徴量が変化する量を推定した推定変化量を、前記第2の目標に対応するゼロに近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を行う、
    ことを特徴とするロボット。
  15. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付け、
    第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を受け付け、
    前記複数の撮像画像を用いて、ボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理及び、前記第2の動作情報に基づく動作を規定する評価関数を最大化する処理により、前記第1の動作情報及び前記第2の動作情報に基づく動作を行い、
    前記エンドエフェクターの位置及び姿勢Xの変化ΔXを、
    ΔX=λJ(s−s)+(I−JJ)ξk
    により制御し、
    sは前記複数の撮像画像に基づく画像特徴量であり、sは参照画像に基づく目標特徴量であり、ξは前記評価関数のXによる微分であり、JはXとsを関係づけるヤコビアンであり、JはJの疑似逆行列であり、Iは単位行列であり、λ、kは、制御ゲインであることを特徴とするロボット。
  16. 被作業物の第1の部位と第1の目標とを一致させる動作の情報である第1の動作情報と、前記被作業物の部位又はロボットの部位である第2の部位と第2の目標とを近づける動作の情報であり且つ前記第1の動作情報とは異なる第2の動作情報とを受け付け、
    第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を受け付け、
    前記複数の撮像画像を用いて、前記第1の動作情報に基づいて前記第1の部位と前記第1の目標とを一致させる動作を行う際に、前記第1の動作情報よりも優先度が低い前記第2の動作情報に基づいて前記第2の部位と前記第2の目標とを近づける動作を行う、
    ことを特徴とするロボット。
  17. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、
    第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に複数回、被撮像物を撮像する撮像部と、
    前記撮像部による複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を行うロボットと、
    を含み、
    前記第1の動作情報は、被作業物の第1の部位と第1の目標とを一致させる動作の情報であり、
    前記第2の動作情報は、前記ロボットのエンドエフェクターと第2の目標とを近づける動作の情報であり、
    前記ロボットは、
    前記複数の撮像画像に基づく前記第1の部位に対応する画像特徴量を、参照画像に基づく前記第1の目標に対応する画像特徴量に一致させる処理、及び前記エンドエフェクターの姿勢を、前記第1の動作情報及び前記第2の動作情報に基づく動作を開始するときの、前記第2の目標に対応する前記エンドエフェクターの姿勢に近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を行うことを特徴とするロボットシステム。
  18. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、
    第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に複数回、被撮像物を撮像する撮像部と、
    前記撮像部による複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を行うロボットと、
    を含み、
    前記第1の動作情報は、被作業物の第1の部位と第1の目標とを一致させる動作の情報であり、
    前記第2の動作情報は、前記第1の部位とは異なる前記被作業物の部位と第2の目標とを近づける動作の情報であり、
    前記ロボットは、
    前記複数の撮像画像に基づく前記第1の部位に対応する画像特徴量を、参照画像に基づく前記第1の目標に対応する画像特徴量に一致させる処理、及び前記第1の動作情報に基づく動作により前記被作業物の部位の画像特徴量が変化する量を推定した推定変化量を、前記第2の目標に対応するゼロに近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を行うことを特徴とするロボットシステム。
  19. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、
    第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に複数回、被撮像物を撮像する撮像部と、
    前記撮像部による複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を行うロボットと、
    を含み、
    前記ロボットは、
    前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理及び、前記第2の動作情報に基づく動作を規定する評価関数を最大化する処理により、前記第1の動作情報及び前記第2の動作情報に基づく動作を行い、
    前記エンドエフェクターの位置及び姿勢Xの変化ΔXを、
    ΔX=λJ(s−s)+(I−JJ)ξk
    により制御し、
    sは前記複数の撮像画像に基づく画像特徴量であり、sは参照画像に基づく目標特徴量であり、ξは前記評価関数のXによる微分であり、JはXとsを関係づけるヤコビアンであり、JはJの疑似逆行列であり、Iは単位行列であり、λ、kは、制御ゲインであることを特徴とするロボットシステム。
  20. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付ける受付部と、
    第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に複数回、被撮像物を撮像する撮像部と、
    前記撮像部による複数の撮像画像を用いて、前記第1の動作情報及び前記第2の動作情報に基づく動作を行うロボットと、
    を含み、
    前記第1の動作情報は、被作業物の第1の部位と第1の目標とを一致させる動作の情報であり、
    前記第2の動作情報は、前記被作業物の部位又は前記ロボットの部位である第2の部位と第2の目標とを近づける動作の情報であり、
    前記ロボットは、
    前記第1の動作情報に基づいて前記第1の部位と前記第1の目標とを一致させる動作を行う際に、前記第1の動作情報よりも優先度が低い前記第2の動作情報に基づいて前記第2の部位と前記第2の目標とを近づける動作を行うことを特徴とするロボットシステム。
  21. 被作業物の第1の部位と第1の目標とを一致させる動作の情報である第1の動作情報と、ボットのエンドエフェクターと第2の目標とを近づける動作の情報である第2の動作情報とを受け付けることと、
    前記ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記複数の撮像画像に基づく前記第1の部位に対応する画像特徴量を、参照画像に基づく前記第1の目標に対応する画像特徴量に一致させる処理、及び前記エンドエフェクターの姿勢を、前記第1の動作情報及び前記第2の動作情報に基づく動作を開始するときの、前記第2の目標に対応する前記エンドエフェクターの姿勢に近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせることと、
    を含むことを特徴とする制御方法。
  22. 被作業物の第1の部位と第1の目標とを一致させる動作の情報である第1の動作情報と、前記第1の部位とは異なる前記被作業物の部位と第2の目標とを近づける動作の情報である前記第1の動作情報とは異なる第2の動作情報とを受け付けることと、
    ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記複数の撮像画像に基づく前記第1の部位に対応する画像特徴量を、参照画像に基づく前記第1の目標に対応する画像特徴量に一致させる処理、及び前記第1の動作情報に基づく動作により前記被作業物の部位の画像特徴量が変化する量を推定した推定変化量を、前記第2の目標に対応するゼロに近づける処理を行うことで、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせることと、
    を含むことを特徴とする制御方法。
  23. 第1の動作情報と、前記第1の動作情報とは異なる第2の動作情報とを受け付けることと、
    ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記ロボットのエンドエフェクターの位置及び姿勢の自由度よりも少ない自由度の画像特徴量を目標特徴量に一致させる処理及び、前記第2の動作情報に基づく動作を規定する評価関数を最大化する処理により、前記第1の動作情報及び前記第2の動作情報に基づく動作を前記ロボットに行わせることと、
    前記エンドエフェクターの位置及び姿勢Xの変化ΔXを、
    ΔX=λJ(s−s)+(I−JJ)ξk
    により制御することと、
    を含み、
    sは前記複数の撮像画像に基づく画像特徴量であり、sは参照画像に基づく目標特徴量であり、ξは前記評価関数のXによる微分であり、JはXとsを関係づけるヤコビアンであり、JはJの疑似逆行列であり、Iは単位行列であり、λ、kは、制御ゲインであることを特徴とする制御方法。
  24. 被作業物の第1の部位と第1の目標とを一致させる動作の情報である第1の動作情報と、前記被作業物の部位又はロボットの部位である第2の部位と第2の目標とを近づける動作の情報であり且つ前記第1の動作情報とは異なる第2の動作情報とを受け付けることと、
    前記ロボットが第1の姿勢から前記第1の姿勢とは異なる第2の姿勢へと移る間に被撮像物を複数回撮像した複数の撮像画像を用いて、前記第1の動作情報に基づいて前記第1の部位と前記第1の目標とを一致させる動作を前記ロボットに行わせる際に、前記第1の動作情報よりも優先度が低い前記第2の動作情報に基づいて前記第2の部位と前記第2の目標とを近づける動作を前記ロボットに行わせることと、
    を含むことを特徴とする制御方法。
JP2013227274A 2013-10-31 2013-10-31 制御装置、ロボット、ロボットシステム及び制御方法 Expired - Fee Related JP6421408B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013227274A JP6421408B2 (ja) 2013-10-31 2013-10-31 制御装置、ロボット、ロボットシステム及び制御方法
US14/520,672 US9555549B2 (en) 2013-10-31 2014-10-22 Control device, robot, robot system, and control method
CN201510137050.9A CN104827472B (zh) 2013-10-31 2014-10-29 控制装置、机器人、机器人系统以及控制方法
CN201410593480.7A CN104589347A (zh) 2013-10-31 2014-10-29 控制装置、机器人、机器人系统以及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013227274A JP6421408B2 (ja) 2013-10-31 2013-10-31 制御装置、ロボット、ロボットシステム及び制御方法

Publications (2)

Publication Number Publication Date
JP2015085467A JP2015085467A (ja) 2015-05-07
JP6421408B2 true JP6421408B2 (ja) 2018-11-14

Family

ID=53048818

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013227274A Expired - Fee Related JP6421408B2 (ja) 2013-10-31 2013-10-31 制御装置、ロボット、ロボットシステム及び制御方法

Country Status (1)

Country Link
JP (1) JP6421408B2 (ja)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0746759B2 (ja) * 1986-01-25 1995-05-17 日本電気ホームエレクトロニクス株式会社 不定型リ−ド部品のプリント板への自動装着方法
US4980971A (en) * 1989-12-14 1991-01-01 At&T Bell Laboratories Method and apparatus for chip placement
JPH0852674A (ja) * 1994-08-12 1996-02-27 Kobe Steel Ltd マニピュレータの位置姿勢決定方法
JP3207728B2 (ja) * 1995-10-11 2001-09-10 三菱重工業株式会社 冗長マニピュレータの制御方法
JP3981778B2 (ja) * 1997-09-01 2007-09-26 株式会社安川電機 撮像装置を用いた機械装置のビジュアルフィードバック方法およびその機械装置
US6278906B1 (en) * 1999-01-29 2001-08-21 Georgia Tech Research Corporation Uncalibrated dynamic mechanical system controller
JP2002355784A (ja) * 2001-05-31 2002-12-10 Toyota Central Res & Dev Lab Inc ロボット装置
DE10319253B4 (de) * 2003-04-28 2005-05-19 Tropf, Hermann Dreidimensional lagegerechtes Zuführen mit Roboter
JP2007011978A (ja) * 2005-07-04 2007-01-18 Toyota Motor Corp ロボットの運動制御装置
JP5175691B2 (ja) * 2008-11-20 2013-04-03 トヨタ自動車株式会社 ロボットアームの教示システム及び方法
JP5071361B2 (ja) * 2008-12-09 2012-11-14 株式会社安川電機 複腕ロボットの作業プログラム作成方法および複腕ロボット
JP2013173191A (ja) * 2012-02-23 2013-09-05 Seiko Epson Corp ロボット装置、ロボット制御装置、ロボット制御方法及びロボット制御プログラム

Also Published As

Publication number Publication date
JP2015085467A (ja) 2015-05-07

Similar Documents

Publication Publication Date Title
US9555549B2 (en) Control device, robot, robot system, and control method
CN111482959B (zh) 机器人运动视觉系统的自动手眼标定系统与方法
JP7467041B2 (ja) 情報処理装置、情報処理方法及びシステム
US9221176B2 (en) Robot system and method for controlling the same
JP5685027B2 (ja) 情報処理装置、物体把持システム、ロボットシステム、情報処理方法、物体把持方法およびプログラム
JP6430986B2 (ja) ロボットを用いた位置決め装置
JP5471355B2 (ja) 3次元視覚センサ
CN111565895B (zh) 机器人系统及机器人控制方法
CN109648605B (zh) 机器人系统
JP2012254518A (ja) ロボット制御システム、ロボットシステム及びプログラム
JP2015071206A (ja) 制御装置、ロボット、教示データ生成方法及びプログラム
JP2016187846A (ja) ロボット、ロボット制御装置およびロボットシステム
JP6885856B2 (ja) ロボットシステムおよびキャリブレーション方法
JP2013099808A (ja) 組み付け装置、およびその方法、組み付け動作プログラム
JP6390088B2 (ja) ロボット制御システム、ロボット、プログラム及びロボット制御方法
JP2018051634A (ja) ロボット制御装置、ロボット、ロボットシステムおよび姿勢特定装置
JP6331335B2 (ja) 制御装置、ロボット、ロボットシステム及び制御方法
US20140094951A1 (en) Working unit control device, working robot, working unit control method, and working unit control program
US20220203517A1 (en) Non-transitory storage medium and method and system of creating control program for robot
CN115446847A (zh) 用于提高机器人系统的3d眼手协调准确度的系统和方法
JP2008009899A (ja) 組立作業用ロボットの自動教示システム及び教示方法
JP6421408B2 (ja) 制御装置、ロボット、ロボットシステム及び制御方法
JP2015003348A (ja) ロボット制御システム、制御装置、ロボット、ロボット制御システムの制御方法及びロボットの制御方法
JP6337445B2 (ja) ロボット、処理装置及び検査方法
WO2022092168A1 (ja) ロボット制御装置及びロボットシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180501

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180918

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181001

R150 Certificate of patent or registration of utility model

Ref document number: 6421408

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees