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

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

Info

Publication number
JP6003334B2
JP6003334B2 JP2012164678A JP2012164678A JP6003334B2 JP 6003334 B2 JP6003334 B2 JP 6003334B2 JP 2012164678 A JP2012164678 A JP 2012164678A JP 2012164678 A JP2012164678 A JP 2012164678A JP 6003334 B2 JP6003334 B2 JP 6003334B2
Authority
JP
Japan
Prior art keywords
manipulator
control
spring constant
force
unit
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.)
Active
Application number
JP2012164678A
Other languages
English (en)
Other versions
JP2014024133A (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 JP2012164678A priority Critical patent/JP6003334B2/ja
Publication of JP2014024133A publication Critical patent/JP2014024133A/ja
Application granted granted Critical
Publication of JP6003334B2 publication Critical patent/JP6003334B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、制御装置、制御方法、制御プログラム、ロボット及びロボットシステムに関する。
従来、ロボットアームにかかる力を制御して、部品を組み付けることが行われている。
その一例として、特許文献1には、インピーダンス制御によりロボットアーム(マニピュレーター)が発生する力を制御して組み付け作業を行わせる際の制御変数を、実際の作業を反復させながら探索する技術が開示されている。しかしながら、実際の作業を反復するため、最適な制御変数を求めるまでに長時間を要してしまう問題があった。
また、特許文献2には、力センサーを双腕に搭載し、それらの値が予め設定された閾値以上になってからの時間に基づいて組み付け作業を行う技術が開示されている。
一方、組み付け部品と被組み付け部品が接触する際の挙動をモデル化し、コンピューターシミュレーションを行うことで、実際の作業を反復せずに最適な制御変数を求めることも行われている。
特開2011−88225号公報 特開2008−307665号公報
組み付け部品と被組み付け部品の剛性が高い場合、上述の挙動をモデル化するためには、マニピュレーターの剛性も考慮しないとモデル化の精度が低下してしまう。しかし、マニピュレーターの剛性は姿勢に応じて変化するため、モデル化が困難である。ゆえに、組み付け部品と被組み付け部品の剛性が高い場合、モデル化の精度が低下し、最適な制御変数が得られない。そのため、組み付けの精度が低下する場合があるという問題があった。
そこで本発明は、上記問題に鑑みてなされたものであり、組み付け物体と被組み付け物体の剛性が高い場合でも、組み付けの精度を向上させることを可能とする制御装置、制御方法、制御プログラム、ロボット及びロボットシステムを提供することを課題とする。
本発明は前記事情に鑑みなされたもので、本発明の一態様は、第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置であって、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に接触させた際に、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくする制御部を備えることを特徴とする制御装置である。
また、上記に記載の制御装置において、前記制御部は、前記第2の物体が前記第1の物体からうける力と前記第2のマニピュレーターのばね定数を表す制御変数とに基づいて、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくすることを特徴とする。
また、本発明の他の態様は、第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置の制御部が、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に接触させた際に、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくする手順を有することを特徴とする制御方法である。
また、本発明の他の態様は、第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置に、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に接触させた際に、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくするステップを実行させるための制御プログラムである。
また、本発明の他の態様は、第1の物体を移動させる第1のマニピュレーターと、第2の物体を移動させる第2のマニピュレーターと、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に接触させた際に、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくする制御部と、を備えることを特徴とするロボットである。
(1)本発明は前記事情に鑑みなされたもので、本発明の一態様は、第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置であって、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に組み付ける際に、前記第1の物体に対する前記第2の物体の見かけの剛性を下げるように前記第2のマニピュレーターを制御する制御部を備えることを特徴とする制御装置である。
この構成によれば、第2の物体の見かけの剛性を下げることにより、第1の物体の押し付け力の抗力に与える第1のマニピュレーターの剛性の影響を小さくすることができる。
そのため、制御装置は、第1のマニピュレーターの剛性を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
(2)上記に記載の制御装置において、本発明の一態様は、前記第1の物体を前記第2の物体に押し付ける力と前記第2のマニピュレーターの仮想のばね定数を表す制御変数とに基づいて、前記第2のマニピュレーターを制御することを特徴とする。
この構成によれば、制御装置は、第2の物体の見かけの剛性を第1のマニピュレーターの剛性より小さくすることができるので、第1の物体と第2の物体とが接触する際に生じる力が大きくなっても、第1の物体の押し付け力の抗力に与える第1のマニピュレーターの剛性の影響を小さくすることができる。その結果、制御装置は、第1のマニピュレーターの剛性を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
(3)上記に記載の制御装置において、本発明の一態様は、前記制御変数は、前記第1のマニピュレーターの先端に働く並進力を当該並進力方向の変位で割った値である第1のマニピュレーターのばね定数より小さいことを特徴とする。
この構成によれば、制御装置は、第2の物体の見かけの剛性を第1のマニピュレーターのばね定数より小さくすることができるので、第1の物体と第2の物体とが接触する際に生じる力が大きくなっても、第1の物体の押し付け力の抗力に与える第1のマニピュレーターのばね定数の影響を小さくすることができる。その結果、制御装置は、第1のマニピュレーターのばね定数を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
(4)上記に記載の制御装置において、本発明の一態様は、前記制御変数は、前記第1のマニピュレーターの先端に働く並進力を当該並進力方向の変位で割った値である第1のマニピュレーターのばね定数と前記第2制御変数とを合成した合成ばね定数と、前記第2制御変数との差が、予め決められた差に収まるように決められていることを特徴とする。
この構成によれば、制御装置は、第1の物体を第2の物体に押し付ける力を所望の範囲に収まるようにすることができるので、組み付けの精度を向上させることができる。
(5)上記に記載の制御装置において、本発明の一態様は、前記制御部は、前記第2の物体が前記第1の物体から受ける力を取得する力覚取得部と、前記第2のマニピュレーターの仮想のばね定数を表す制御変数を取得する制御変数取得部と、前記力覚取得部が取得した押し付け力と、前記制御変数取得部が取得した制御変数とに基づいて、前記第2のマニピュレーターの運動を表わす値を算出する運動算出部と、前記運動算出部が算出した第2のマニピュレーターの運動を表わす値に基づいて、第2のマニピュレーターを駆動させるマニピュレーター駆動部と、を備えることを特徴とする。
この構成によれば、第2の物体の見かけの剛性を下げることができるので、第1の物体の押し付け力の抗力に与える第1のマニピュレーターの剛性の影響を小さくすることができる。そのため、制御装置は、第1のマニピュレーターの剛性を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
(6)本発明の一態様は、第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置の制御部が、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に組み付ける際に、前記第1の物体に対する前記第2の物体の見かけの剛性を下げるように前記第2のマニピュレーターを制御する手順を有することを特徴とする制御方法である。
この方法によれば、第2の物体の見かけの剛性を下げることにより、第1の物体の押し付け力の抗力に与える第1のマニピュレーターの剛性の影響を小さくすることができる。そのため、制御装置は、第1のマニピュレーターの剛性を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
(7)上記に記載の制御方法において、本発明の一態様は、前記手順において、力覚取得部が、前記第2の物体が前記第1の物体から受ける力を取得する手順と、制御変数取得部が前記第1のマニピュレーターのばね定数より小さい制御変数を取得する手順と、位置算出部が、前記力覚取得部が取得した押し付け力と、前記制御変数取得部が取得した制御変数とに基づいて、前記第2のマニピュレーターの位置を算出する手順と、マニピュレーター駆動部が、前記位置算出部が算出した第2のマニピュレーターの位置に基づいて、第2のマニピュレーターを駆動させる手順と、を有することを特徴とする。
この方法によれば、第2の物体の見かけの剛性を下げることができるので、第1の物体の押し付け力の抗力に与える第1のマニピュレーターの剛性の影響を小さくすることができる。そのため、制御装置は、第1のマニピュレーターの剛性を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
(8)本発明の一態様は、第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置に、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に組み付ける際に、前記第1の物体に対する前記第2の物体の見かけの剛性を下げるように前記第2のマニピュレーターを制御するステップを実行させるための制御プログラムである。
この制御プログラムによれば、第2の物体の見かけの剛性を下げることにより、第1の物体の押し付け力の抗力に与える第1のマニピュレーターの剛性の影響を小さくすることができる。そのため、制御装置は、第1のマニピュレーターの剛性を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
(9)第1の物体を移動させる第1のマニピュレーターと、第2の物体を移動させる第2のマニピュレーターと、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に組み付ける際に、前記第1の物体に対する前記第2の物体の見かけの剛性を下げるように前記第2のマニピュレーターを制御する制御部と、を備えることを特徴とするロボットである。
この構成によれば、第2の物体の見かけの剛性を下げることにより、第1の物体の押し付け力の抗力に与える第1のマニピュレーターの剛性の影響を小さくすることができる。そのため、制御装置は、第1のマニピュレーターの剛性を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
(10)本発明の一態様は、第1の物体を移動させるマニピュレーターを備えるロボットと、前記マニピュレーターを制御する制御装置と、前記第1の物体が組みつけられる第2の物体を支持する治具と、を備え、前記治具のばね定数が、前記マニピュレーターのばね定数より小さいことを特徴とするロボットシステムである。
この構成によれば、第1の物体と第2の物体とが接触する際に生じる力が大きくなっても、治具のばね定数が、マニピュレーターのばね定数より小さいことで、第1の物体の押し付け力の抗力に与えるマニピュレーターのばね定数の影響を小さくすることができる。その結果、ロボットシステムは、第1のマニピュレーターのばね定数を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
本発明によれば、組み付け物体と被組み付け物体の剛性が高い場合でも、組み付けの精度を向上させることができる。
第1の実施形態におけるロボットシステムの構成を示す概略ブロック図である。 第1の実施形態におけるロボットシステムの概略図である。 第1の物体と第2の物体の拡大図である。 第1の実施形態における制御装置のハードウェア構成を示す概略ブロック図である。 第1のマニピュレーターの模式図の一例である。 合成ばね定数を説明するための図である。 第1の実施形態における制御部の論理的な構成を示す概略ブロック図である。 式(1)が表す系を説明する図である。 第1の実施形態における制御装置の処理の流れの一例を示すフローチャートである。 図9のステップS101における第1制御変数M、D及びKの算出処理の一例を示すフローチャートである。 図8の第2の仮想ばねとしてK=986[N/m]のばねを用いた場合のシミュレーション結果と従来のロボットの実測結果である。 図8の第2の仮想ばねとしてK=6344[N/m]のばねを用いた場合のシミュレーション結果と従来のロボットの実測結果である。 第2の実施形態におけるロボットシステムの構成を示す概略ブロック図である。 第2の実施形態における治具の構造の一例を示す図である。
<第1の実施形態>
以下、本発明の実施形態について、図面を参照して詳細に説明する。図1は、第1の実施形態におけるロボットシステム1の構成を示す概略ブロック図である。ロボットシステム1は、ロボット2と撮像装置10とを備える。ここで、ロボット2は、ロボット本体20と制御装置30とを備える。
撮像装置10は、制御装置30による制御に従って、ロボット本体20が把持する第1の物体と第2の物体とを撮像する。ここで、第1の物体は、一例として、組み付け部品である。また、第2の物体は、一例として、被組み付け部品である。そして、撮像装置10は、撮像することにより得られた撮像画像を示す撮像画像データを制御装置30へ出力する。
制御装置30は、撮像装置10に第1の物体を撮像させ、撮像することにより得られた撮像画像データを取得する。制御装置30は、取得した撮像画像データに基づいて、ロボット本体20を制御し、第1の物体25を第2の物体26に組み付ける。
図2は、第1の実施形態におけるロボットシステム1の概略図である。同図において、ロボットシステム1は、撮像装置10と、ロボット2とを備えている。また、ロボット2は、ロボット本体20と、制御装置30とを備えている。同図は、ロボット本体20が第1の物体25をこれから第2の物体26に組み付ける動作を開始する直前の図である。
第1の実施形態におけるロボット本体20は、2系統のマニピュレーターを備えた垂直多関節ロボット(双腕ロボット)である。ロボット本体20は、第1のアーム部20aと第2のアーム部20bとを備える。第1のアーム部20aは、第1のマニピュレーター21aと、第1の力覚センサー23aと、第1の把持部24aとを備える。第2のアーム部20bは、第2のマニピュレーター21bと、第2の力覚センサー23bと、第2の把持部24bとを備える。
第1のマニピュレーター21aの開放端であるハンドには、第1の力覚センサー23aの一端が接続されている。第1の力覚センサー23aの他端には、第1の把持部24aが取り付けられている。同様に、第2のマニピュレーター21bの開放端であるハンドには、第2の力覚センサー23bの一端が接続されている。第2の力覚センサー23bの他端には、第2の把持部24bが取り付けられている。
第1の力覚センサー23aは、例えば、第1の力覚センサー23aのある面に対して垂直な軸の力を計測する。例えば、第1の物体25を第2の物体26の組み付け部位262(図3参照)に組み付けるときに、第1の力覚センサー23aが計測する力の軸と、第1の物体25が第2の物体26の組み付け部位の底面263(図3参照)から受ける力の軸が一致するように、第1の把持部24aは第1の物体25を把持する。これにより、第1の力覚センサー23aは、第1の物体25の組み付け側の面251(図3参照)に垂直な方向の押し付け力の抗力を計測する。
第2の力覚センサー23bは、第2の物体26が第1の物体25から受ける力を取得する。第2の力覚センサー23bは、例えば、第2の力覚センサー23bのある面に対して垂直な軸の力を計測する。本実施形態では、一例として、第2の力覚センサー23bが計測する力の軸と、第2の物体26の組み付け部位262(図3参照)の底面263(図3参照)が第1の物体25から受ける力の軸が一致するように、第2の把持部24bが第2の物体26を把持する。これによって、第2の力覚センサー23bは、第2の物体26の組み付け部位262の底面263に垂直な方向の押し付け力を計測する。
なお、第1の力覚センサー23a及び第2の力覚センサー23bは、撮像装置10を用いることで、各センサーが力を計測する軸と、面251と底面263に垂直な軸との相対的な関係を求めて、それぞれが計測した力をそれぞれ面251と底面263に垂直な軸方向の成分に変換してもよい。
第1の把持部24aは、第1の物体25を把持する。また、第2の把持部24bは、第2の物体26を把持する。同図において、原点Oが示され、第1の物体25と第2の物体26とを結ぶz軸が示されている。z軸は、原点Oから第2の物体26への向きが正である。原点Oの位置は、第2の物体26の組み付け部位262の底面263(図3参照)とz軸が交差する位置である。
ロボット本体20は、制御装置30から供給されるロボット制御命令を取り込み、このロボット制御命令による駆動制御によって、第1の把持部24aおよび第2の把持部24bそれぞれの位置および姿勢を三次元空間内で所望に変更する。また、ロボット本体20は、第1の把持部24aおよび第2の把持部24bの爪部を開閉させる。
第1の物体25を第2の物体26に組み付ける組み付け作業は、一例として、以下の通りである。制御装置30は、第1の把持部24aに第1の物体25を把持させ、第2の把持部24bに第2の物体26を把持させる。そして、制御装置30は、第1のマニピュレーター21a及び第2のマニピュレーター21bを制御して第1の物体25を第2の物体26に組み付ける。その際、制御装置30は、第1の力覚センサー23a及び第2の力覚センサー23bを利用して、第1の物体25の第2の物体26に対する押し付け力を所定の値に近づけることで組み付ける。
図3は、第1の物体25と第2の物体26の拡大図である。同図に示すように、第2の物体26の一面261には、溝が組み付け部位262として設けられており、その組み付け部位262の底面263が示されている。また、第1の物体25の組み付け側の面251が示されている。本実施形態における制御装置30は、第1の物体25の一端が、その組み付け部位262の底面263に接触するまでロボット本体20を制御する。本実施形態では、底面263のz軸の値が0であるので、制御装置30は、一例として、第1の物体25の一端のzの値が0になった場合に、第1の物体25が第2の物体26に組みつけられたと判定する。
図4は、第1の実施形態における制御装置30のハードウェア構成を示す概略ブロック図である。制御装置30は、記憶部31と、制御部40とを備える。
本実施形態では、一例として、第1のマニピュレーター21aの姿勢によって変化する剛性は、第1のマニピュレーター21aの先端に働く並進力を当該並進力方向の変位で割ったものであって、それを「第1のマニピュレーター21aのばね定数」と表現する。
記憶部31には、第1のマニピュレーター21aの各関節の角度を示す情報と、第1のマニピュレーター21aのばね定数を示す情報とが関連付けられて記憶されている。これにより、制御部40は、第1のマニピュレーター21aの各関節の角度から第1のマニピュレーター21aのばね定数を取得することができる。
制御部40は、撮像装置10から撮像画像データを取得する。そして、制御部40は、撮像画像データに基づいて、第1のマニピュレーター21aを制御して、第1の物体25を第2の物体26の組み付け部位262に組み付ける。その際、例えば、制御部40は、インピーダンス制御により、第1の物体25が第2の物体26に加える押し付け力を制御する。
また、制御部40は、第1の物体25を第2の物体26に組み付ける際に、第1の物体25に対する第2の物体26の見かけの剛性を下げるように第2のマニピュレーター21bを制御する。その際、例えば、制御部40は、第1の物体25の移動方向についての第2の物体26の見かけの剛性を下げるよう制御してもよい。
また、制御部40は、例えば、スティフネス制御に従って、第1の物体25に対する第2の物体26の見かけの剛性を下げるよう制御してもよい。ここで、スティフネス制御は、外部環境との接触によって生じた反力に比例した変位指令を力の方向に与える制御の一つで、対象物(本実施形態では、第2のマニピュレーター21b)の剛性のみを考慮した制御である。
具体的には、例えば、制御部40は、第2の物体26が第1の物体25から受ける力と第2のマニピュレーター21bの仮想のばね定数を表す第2制御変数Kとに基づいて、第2のマニピュレーター21bを制御してもよい。
この構成によれば、第2の物体26の見かけの剛性を下げることにより、第1のマニピュレーター21aの姿勢によって変化する剛性の影響を小さくすることができる。そのため、制御装置30は、第1のマニピュレーター21aの姿勢によって変化する剛性を考慮しなくても、第1のマニピュレーター21aの制御に用いる制御変数を最適なものに近づけることができる。その結果、適切な力で第1の物体25を第2の物体26に押し付けることができるので、組み付けの精度を向上させることができる。また、制御部40は、第1のマニピュレーター21aの姿勢によって変化する剛性を考慮してインピーダンス制御で用いる制御変数を算出しなくていいので、第1のマニピュレーター21aの制御に用いる制御変数の最適化を短時間で行うことができる。
第2制御変数Kは、一例として、第1のマニピュレーター21aのばね定数Kより小さい。これにより、制御装置30は、第2の物体26の見かけの剛性を第1のマニピュレーター21aのばね定数より小さくすることができる。
続いて、第1のマニピュレーター21aのばね定数Kを求める方法について、図5を用いて説明する。図5は、第1のマニピュレーター21aの模式図の一例である。同図の例における第1のマニピュレーター21aは、第1の軸K51〜第6の軸K56を備える。第1の軸K51がロボット本体の胴体R50に最も近い軸で、第6の軸K56が第1の把持部24aに最も近く軸である。ここで、一般的にマニピュレーターを伸ばした状態で、その先端を矢印A57の方向に押したときの剛性が最も小さい。矢印A57の方向へ押した力(並進力)Fをその力Fに応じた並進力方向の変位Δxで割った値F/Δxを第1のマニピュレーター21aのばね定数Kとする。ここで、その変位は矢印A58の方向である。
続いて、第2制御変数Kの決定方式の一例について、図6を用いて説明する。図6は、合成ばね定数を説明するための図である。合成ばね定数Kは、第1のマニピュレーター21aのばね定数Kと第2制御変数Kとが直列に接続された場合において、第1のマニピュレーター21aのばね定数Kと第2制御変数Kとを合成したばね定数である。合成ばね定数Kは、K/(K+K)で表わされる。
ここで、例えば、第2制御変数Kを第1のマニピュレーター21aのばね定数Kのα分の1(αは正の数)に設定すると、第2制御変数Kは(1/α)Kと表わされる。よって、式変形すると、K=αKとなる。このKをK=K/(K+K)に代入すると、合成ばね定数KはK=(α/(1+α))Kで表わされる。
ここで、仮に第1のマニピュレーター21aのばね定数Kを無視してK=Kとみなした場合と実際の合成ばね定数Kの差は、K−K=K−(α/(1+α))K=(1/(1+α))Kである。よって、この差の割合(1/(1+α))×100[%]が、許容誤差よりも小さくなるように係数αが予め決められているものとする。例えば、許容誤差が5%である場合、係数αは19より大きい数である。すなわち、係数αは許容誤差に応じて決められているので、第2制御変数Kは、第1のマニピュレーター21aのばね定数Kと許容誤差に応じて決められている。換言すれば、第2制御変数と合成ばね定数Kとの差が予め決められた差に収まるように第2制御変数が決められている。
これによれば、制御装置30は、第1の物体25を第2の物体26に押し付ける力を所望の範囲に収まるようにすることができるので、第1の物体25を第2の物体26に押し付ける力の経時変化を所望の範囲にすることができる。その結果、制御装置30は、第1の物体25の剛性によらず、第1の物体25を第2の物体26に組み付けることができる。
図7は、第1の実施形態における制御部40の論理的な構成を示す概略ブロック図である。制御部40は、第1制御変数算出部41と、剛性取得部42と、第2制御変数取得部(制御変数取得部)43と、第1制御部44と、第2制御部45と、終了判定部46とを備える。
第1制御変数算出部41は、インピーダンス制御で用いる制御変数を算出する。具体的には、例えば、次の式(1)で表される第1制御変数M、D及びKを算出する。
Figure 0006003334
ここで、Fs1は、第1の力覚センサー23aで測定される力であって組み付け部位262の底面263に垂直な方向の第1の物体25の押し付け力の抗力(以下、第1力覚ともいう)である。Fは、組み付け作業を達成させるために必要とされる、予め決められた押し付け力(以下、必要押付力という)である。必要押付力Fを示す情報は、予め記憶部31に記憶されている。また、z(・・)はzの上に符号・(ドット)が二つ記された記号であるとすると、z(・・)は第2の物体26の組み付け部位262の底面263と垂直方向の第1の把持部24aの加速度である。また、z(・)はzの上に符号・(ドット)が記された記号であるとすると、z(・)は第2の物体26の組み付け部位262の底面263と垂直方向の第1の把持部24aの速度である。また、zは第2の物体26の組み付け部位262の底面263と垂直方向の第1の把持部24aの位置である。
続いて、式(1)が表す系を、図8を用いて説明する。図8は、式(1)が表す系を説明する図である。同図に示されたバネ−マス−ダンパー系において、仮想質量61、第1の仮想ばね62、仮想ダンパ63及び第2の仮想ばね64が示されている。第2の仮想ばねネ64は、第1の物体25と第2の物体26とが接触する際に生じる弾性力を発生させる要素をモデル化したばねである。同図における第1制御変数M、D及びKは、それぞれ第1の物体25がバネ−マス−ダンパー系として振る舞う時の、慣性質量、粘性係数及びばね定数の大きさである。また、Kは、第2の仮想ばね64のばね定数で、第1の物体25と第2の物体26とが接触する際に生じる弾性力を表す。
同図では、図2と同様に、第1の物体25が第2の物体26の組み付け部位262の底底面263に接触する高さにおいてzを0として、下方にz軸が定義されている。従って、第1の力覚センサー23aで測定される抗力である第1力覚Fs1は、次の式(2)で表される。
Figure 0006003334
式(2)を式(1)に代入すると、式(1)は次の式(3)で表される。
Figure 0006003334
第1制御変数算出部41は、第1制御変数M、D及びKを、第1の物体25と第2の物体26が接触する際の挙動を考慮して適切に設定する。第1制御変数M、D及びKの設定処理の詳細は後述する。
図7に戻って、剛性取得部42は、第1のマニピュレーター21aのばね定数Kを取得する。具体的には、例えば、第1のマニピュレーター21aの各関節の角度を示す情報に対応する第1のマニピュレーター21aのばね定数を示す情報記憶部31から読み出すことで、第1のマニピュレーター21aのばね定数Kを取得する。そして、剛性取得部42は、取得した第1のマニピュレーター21aのばね定数Kを示す情報を第2制御変数取得部43へ出力する。
第2制御変数取得部43は、一例として、剛性取得部42が取得した第1のマニピュレーター21aのばね定数Kに基づいて、第2制御変数Kを算出する。具体的には、例えば、第2制御変数取得部43は、上述した許容誤差に応じて決められた係数αを保持する。そして、第2制御変数取得部43は、例えば、第1のマニピュレーター21aのばね定数Kを係数αで割った値を第2制御変数Kとして算出する。第2制御変数取得部43は、算出した第2制御変数Kを示す情報を第2制御部45の後述する第2運動算出部451へ出力する。
なお、本実施形態では、一例として、第2制御変数取得部43は、第2制御変数Kを算出することにより取得したが、これに限ったものではない。記憶部31に、第2制御変数Kが予め記憶されており、第2制御変数取得部43は、記憶部31から第2制御変数Kを読み出すことで取得してもよい。すなわち、第2制御変数取得部43は、第2制御変数Kを取得すればよい。
第1制御部44は、例えば、インピーダンス制御により、第1のマニピュレーター21aを制御する。具体的には、例えば、第1制御部44は、式(1)に従って第1の把持部24aの位置を移動するよう第1のマニピュレーター21aを制御する。ここで、第1制御部44は、減算部441と、第1運動算出部442と、第1マニピュレーター駆動部443と、第1力覚取得部444とを備える。
減算部441は、記憶部31に記憶されている必要押付力Fを示す情報を読み出す。また、減算部441は、第1力覚取得部444から第1力覚Fs1を示す情報を取得する。そして、減算部441は、必要押付力Fから第1力覚Fs1を減算する。そして、減算後の値(F−Fs1)を示す減算後情報を第1運動算出部442へ出力する。
第1運動算出部442は、減算部441から入力された減算後情報に基づいて、インピーダンス制御によって、第1の把持部24aの運動を表わす値(例えば、予め決められた周期毎の第1の把持部24aの変位)を算出する。具体的には、例えば、第1運動算出部442は、次の式(4)に従って、第1の把持部24aの位置zを算出する。位置zは、位置zを基準とする位置である。
Figure 0006003334
ここで、sはラプラス変換で用いられるラプラス演算子(ラプラス変数)である。第1運動算出部442は、算出した第1の把持部24aの位置zを示す第1位置情報を第1マニピュレーター駆動部443へ出力する。
第1マニピュレーター駆動部443は、第1運動算出部442から入力された第1位置情報に基づいて、第1のマニピュレーター21aが有する関節の各角度を算出する。そして、第1マニピュレーター駆動部443は、関節の各角度が算出した値になるように、第1のマニピュレーター21aを駆動する。また、第1マニピュレーター駆動部443は、第1のマニピュレーター21aを駆動した後に、駆動が終了した旨を第1力覚取得部444へ出力する。
第1力覚取得部444は、第1マニピュレーター駆動部443から駆動が終了した旨を受け取ると、第1の力覚センサー23aから第1力覚Fs1を示す第1力覚情報を取得する。そして、第1力覚取得部444は、取得した第1力覚情報を減算部441へ出力する。
第2制御部45は、例えば、スティフネス制御により、第2制御変数Kに基づいて第2の物体26の位置を制御する。具体的には、例えば、第2制御部45は、式(5)に従って第2の把持部24bの位置を移動するよう第2のマニピュレーター21bを制御する。
Figure 0006003334
ここで、Fs2は第2の力覚センサー23bで測定される第2の物体26の組み付け部位262の底面263に垂直な方向の押し付け力(以下、第2力覚という)である。ここで、第2制御部45は、第2運動算出部(位置算出部)451と、第2マニピュレーター駆動部(マニピュレーター駆動部)452と、第2力覚取得部(力覚取得部)453とを備える。
第2運動算出部451は、第2力覚取得部453から第2力覚を示す第2力覚情報を取得する。第2運動算出部451は、取得した第2力覚情報と、第2制御変数取得部43から入力された第2制御変数Kを示す情報とに基づいて、第2の把持部24bの運動を表わす値(例えば、予め決められた周期毎の第2の把持部24bの変位)を算出する。具体的には、例えば、第2運動算出部451は、次の式(6)に従って、第2の把持部24bの位置zを算出する。位置zは、位置zを基準とする位置である。
Figure 0006003334
第2運動算出部451は、算出した、第2の把持部24bの位置zを示す第2位置情報を第2マニピュレーター駆動部452へ出力する。
第2マニピュレーター駆動部452は、第2運動算出部451が算出した第2のマニピュレーター21bの位置に基づいて、第2のマニピュレーター21bを駆動させる。具体的には、例えば、第2マニピュレーター駆動部452は、第2運動算出部451から入力された第2位置情報に基づいて、第2のマニピュレーター21bが有する関節の各角度を算出する。そして、例えば、第2マニピュレーター駆動部452は、算出した関節の各角度になるように、第2のマニピュレーター21bを駆動する。また、第2マニピュレーター駆動部452は、第2のマニピュレーター21bを駆動した後に、駆動が終了した旨を第2力覚取得部453へ出力する。
第2力覚取得部453は、第2マニピュレーター駆動部452から駆動が終了した旨を受け取ると、第2の力覚センサー23bから第2力覚Fs2を示す第2力覚情報を取得する。すなわち、第2力覚取得部453は、第2の物体26の組み付け部位の底面に垂直な方向の押し付け力を取得する。そして、第2力覚取得部453は、取得した第2力覚情報を第2運動算出部451へ出力する。
終了判定部46は、予め決められた周期で、第1の物体25が第2の物体26に組み付けられたか否か判定する。具体的には、例えば、終了判定部46は、第1の物体25が目標の位置に到達したか否か判定することで、第1の物体25が第2の物体26に組み付けられたか否か判定する。一例として、終了判定部46は、以下のようにして、第1の物体25が目標の位置に到達したか否か判定する。
まず、終了判定部46は、例えば、第1運動算出部442から第1位置情報を取得し、取得した第1位置情報から第1の物体25のz軸上の位置を算出する。また、終了判定部46は、例えば、第2運動算出部451から第2位置情報を取得し、取得した第2位置情報から、組み付け部位262の底面263のz軸上の位置z(本実施形態の例では、zは0)を算出する。そして、終了判定部46は、例えば、予め決められた周期で、第1の物体25のz軸上の位置が、組み付け部位262の底面263のz軸上の位置zに到達したか否か判定する。
終了判定部46は、第1の物体25が目標の位置に到達した場合、第1の物体25が第2の物体26に組み付けられたと判定し、第1制御部44と第2制御部45の処理を終了させる。一方、第1の物体25が目標の位置に到達していない場合、終了判定部46は、第1の物体25が第2の物体26に組み付けられていないと判定し、第1制御部44と第2制御部45の処理を続けさせる。
なお、本実施形態では、終了判定部46は、第1の物体25が第2の物体26に組み付けられたか判定する際に、一例として、第1の物体25のz軸上の位置が、組み付け部位262の底面263のz軸上の位置zに到達したか否か判定したが、これに限ったものではない。終了判定部46は、第1力覚Fs1が予め決められた力覚Fよりも大きいか否か判定し、第1力覚Fs1が予め決められた力覚Fよりも大きくなった場合に、第1の物体25が第2の物体26に組み付けられたと判定してもよい。また、終了判定部46は、予め決められた周期で、必要押付力Fと第1力覚Fs1が一致するか否か判定し、必要押付力Fと第1力覚Fs1が一致した場合、第1の物体25が第2の物体26に組み付けられたと判定してもよい。
図9は、第1の実施形態における制御装置30の処理の流れの一例を示すフローチャートである。まず、第1制御変数算出部41は、第1制御変数M、D及びKの最適化の処理により、第1制御変数M、D及びKを算出する(ステップS101)。この処理の詳細は、後述する。次に、剛性取得部42は、第1のマニピュレーター21aのばね定数Kを取得する(ステップS102)。次に、第2制御変数取得部43は、第2制御変数Kを算出する(ステップS103)。
次に、制御装置30は、ステップS104〜S107の処理と、ステップS108〜S110の処理とを並行して行う。まず、ステップS104〜S107の処理について説明する。ステップS104において、減算部441は、必要押付力Fから第1力覚Fs1を減算する。次に、第1運動算出部442は、減算後の値(F−Fs1)を示す減算後情報に基づいて、第1の把持部24aの運動を表わす値を算出する(ステップS105)。次に、第1マニピュレーター駆動部443は、算出した第1の把持部24aの運動を表わす値に基づいて、第1のマニピュレーター21aを駆動する(ステップS106)。次に、第1力覚取得部444は、第1の力覚センサー23aから第1力覚Fs1を示す第1力覚情報を取得する(ステップS107)。
続いて、ステップS108〜S110の処理について説明する。ステップS108において、第2運動算出部451は、第2力覚情報と第2制御変数Kを示す情報とに基づいて、第2の把持部24bの運動を表わす値を算出する。次に、第2マニピュレーター駆動部452は、算出した第2の把持部24bの運動を表わす値に基づいて、第2のマニピュレーター21bを駆動する(ステップS109)。次に、第2力覚取得部453は、第2の力覚センサー23bから第2力覚Fs2を示す第2力覚情報を取得する(ステップS110)。
ステップS111において、終了判定部46は、第1の物体25が目標の位置に到達したか判定する。第1の物体25が目標の位置に到達していない場合(ステップS111 NO)、制御装置30は、ステップS104及びステップS108の処理に戻る。第1の物体25が目標の位置に到達した場合(ステップS111 YES)、制御装置30は、その処理を終了する。以上で、本フローチャートの処理を終了する。
図10は、図9のステップS101における第1制御変数M、D及びKの算出処理の一例を示すフローチャートである。まず、第1制御変数算出部41は、第1制御変数の候補である候補変数M’、D’及びK’の組の集合から、一の候補変数M’、D’及びK’の組を取得する(ステップS201)。次に、第1制御変数算出部41は、取得した一の候補変数M’、D’及びK’の組を用いて式(3)の過渡的な振る舞いを解析し、評価関数Eの値を算出する(ステップS202)。式(3)の過渡的な振る舞いを解析する際には、第1制御変数算出部41は、例えば、ルンゲ・クッタ方式で、式(3)の微分方程式を解く。そして、例えば、第1制御変数算出部41は、以下の式(7)に従って、評価関数Eの値を算出する。
Figure 0006003334
ここで、pは押付力が必要押付力Fを基準に予め定められた範囲の力に落ち着く(以下、このことを整定という)までの最大の押付力から必要押付力Fを減算した量(以下、オーバーシュートの量という)である。qは、整定までの振動回数(以下、単に振動回数という)である。rは整定までの所要時間(以下、整定時間という)である。uは、定常偏差である。係数α、β、γはそれぞれオーバーシュートの量pの重み係数、振動回数qの重み係数、整定時間rの重み係数であり、予め決められている。
次に、第1制御変数算出部41は、算出した評価関数Eがこれまで算出した評価関数Eのうち最小であれば、当該候補変数M’、D’及びK’の値を記憶部31に格納する(ステップS203)。次に、第1制御変数算出部41は、全ての候補変数M’、D’及びK’の組について評価関数Eを算出したか否か判定する(ステップS204)。
全ての候補変数M’、D’及びK’の組について評価関数Eを算出していない場合(ステップS204 NO)、第1制御変数算出部41は、ステップS201の処理に戻る。全ての候補変数M’、D’及びK’の組について評価関数Eを算出した場合(ステップS204 YES)、第1制御変数算出部41は、記憶部31に記憶されている候補変数M’、D’及びK’の値をそれぞれ第1制御変数M、D及びKの値として採用する(ステップS205)。以上で、本フローチャートの処理を終了する。
続いて、図11と図12を参照して、従来の問題点を説明し、それに対する本実施形態の構成および効果を説明する。図11は、第2の仮想ばね64のばね定数Kが986[N/m]の場合の、式(1)のインピーダンス制御による押付力のシミュレーション結果と従来のロボット(以下、実機ともいう)の押付力の実測結果である。ここで、従来のロボットは、マニピュレーターを一つのみ備える。ここで、マニピュレーターが把持する部品と予め決められた台の間には、ばね定数が986[N/m]のばねが部品の底面と略垂直に挿入されているものとする。そして、従来のロボットは、マニピュレーターを制御して部品を当該ばねに押し付ける。
同図のグラフG70において、押付力Fs1と経過時間の関係が示されている。同図の結果は、一例として、最適な第1制御変数M、D及びKは、それぞれ10[kg]、200[kg・m/s]、1[kg・m/s]として得られた結果である。ここで、図11と後述する図12では、必要押付力Fは、−10[N/m]が用いられたものとする。
また、テーブルT73において、シミュレーション結果は、オーバーシュートの量pが0.00[N]で、振動回数が0回で、整定時間rが0.49秒で、定常偏差uが0.01[N]であることが示されている。
同図のグラフG70において曲線W71がシミュレーションにより算出された押付力の時間変化である。同図のグラフG70において曲線W72が実機で計測された押付力の時間変化である。同図において、曲線W71と曲線W72とは、ほぼ同じような軌跡を示す。このことから、部品と被組み付け部品とが接触する際に生じる弾性力Kが比較的低い場合には、式(1)のインピーダンス制御のみによる押付力のシミュレーション結果と従来のロボットの押付力の実測結果とは整合する。
図12は、第2の仮想ばね64のばね定数Kが6344[N/m]の場合の、式(1)のインピーダンス制御のみによる押付力のシミュレーション結果と従来のロボットの押付力の実測結果である。ここで、従来のロボットは、図11の場合と同様のロボットである。但し、図12では、マニピュレーターが把持する部品と予め決められた台の間には、ばね定数が6344[N/m]のばねが部品の底面と略垂直に挿入されているものとする。
同図のグラフG80において、押付力Fs1と経過時間の関係が示されている。同図の結果は、一例として、最適な第1制御変数M、D及びKは、それぞれ30[kg]、800[kg・m/s]、2[kg・m/s]として得られた結果である。また、テーブルT83において、シミュレーション結果は、オーバーシュートの量pが0.00[N]で、振動回数が0回で、整定時間rが0.32秒で、定常偏差uが0.00[N]であることが示されている。
同図のグラフG80において曲線W81がシミュレーションにより算出された押付力の時間変化である。同図のグラフG80において曲線W82が実機で計測された押付力の時間変化である。同図において、曲線W81と曲線W82とを比較すると、曲線W81の方が整定時間が短く、曲線W81と曲線W82とは、その軌跡にずれが生じている。このことから、部品と被組み付け部品とが接触する際に生じる弾性力Kが比較的高い場合には、式(1)のインピーダンス制御のみによる押付力のシミュレーション結果と従来のロボットの押付力の実測結果とは整合しない。
図11と図12を比較すると、部品と被組み付け部品とが接触する際に生じる弾性力Kが986[N/m]の場合の方が、6344[N/m]の場合よりも、シミュレーションと実機の挙動の差が小さく、シミュレーション結果の精度が高い。すなわち、部品と被組み付け部品とが接触する際に生じる弾性力Kが比較的高い場合には、式(1)のインピーダンス制御のみによる押付力のシミュレーション結果と従来のロボットの押付力の実測結果の差が大きい。これは、部品と被組み付け部品とが接触する際に生じる弾性力Kが大きくなり、ロボットが有するマニピュレーターの剛性と近い値になると、そのマニピュレーターの剛性を無視することが出来なくなるためである。
この問題を解決するために、制御装置30は、例えば、第2制御変数Kを986[N/m]として、式(5)に従って第2の把持部24bの位置を算出する。そして、制御装置30は、実際の第2の把持部24bが算出した第2の把持部24bの位置になるよう第2のマニピュレーター21bを制御する。制御装置30は、そのように制御することで、第1の物体25と第2の物体26とが接触する際に生じる弾性力を小さくすることができる。その結果、制御装置30は、図11のように、第1力覚のシミュレーション結果と第1の力覚センサー23aが実際に測定する第1力覚の差を小さくすることができる。
以上、本実施形態における制御装置30は、第1の物体25に対する第2の物体26の見かけの剛性を小さくするように第2のマニピュレーターを制御する。
これにより、第2の物体26の見かけの剛性を下げることで、第1力覚に与える第1のマニピュレーター21aの剛性の影響を小さくすることができる。それにより、制御装置30は、第1の物体25と第2の物体26の剛性によらず、第1のマニピュレーターの剛性を考慮しなくても、第1のマニピュレーターの制御変数を最適なものに近づけることができる。その結果、制御装置30は、第1の物体25と第2の物体26の剛性によらず、適切な力の経時変化で第1の物体を第2の物体に押し付けることができるので、組み付けの精度を向上させることができる。
従来、実際のマニピュレーターの挙動とモデルにおけるマニピュレーターの挙動との間の差を軽減するために、マニピュレーターの剛性もモデル化する必要がある。しかし、マニピュレーターの剛性が姿勢に応じて変化するため、マニピュレーターの剛性をモデル化することが困難であるという問題もあった。
それに対し、本実施形態における制御装置30は、被組み付け部品である第2の物体26を把持する第2のマニピュレーター21bも、第2の力覚センサー23bにより取得した第2の力覚を用いた制御をして、第2の物体26の見かけの剛性を下げる。これにより、制御装置30は第1のマニピュレーター21aのばね定数Kの影響を小さくできる状況を作ることにより、第1のマニピュレーター21aのばね定数Kのモデル化を回避することができる。それにより、制御装置30は、第1のマニピュレーター21aばね定数Kを考慮しないで、式(1)に従って第1のマニピュレーター21aの制御変数を決定することができるので、第1のマニピュレーター21aの制御変数の最適化を短時間で行うことができる。
また、多くの組み付け作業では部品同士を圧着する必要があり、押し付ける力を一定に制御することが求められるが、特許文献2に記載の技術では、部品に加える力を一定にするという制御がなかった。それゆえ、特許文献2に記載の技術では、組み付けが可能な部品が限られていた。
それに対し、本実施形態における制御装置30は、第1の物体に対する第2の物体26の見かけの剛性を下げることで、第2の物体26に対する第1の物体25の押し付け力の経時変化を所望のものにする。これにより、制御装置30は、第1の物体25と第2の物体26が接触しても、第1の物体25を適切な力の経時変化で第2の物体26に押し付けられるので、第1の物体25の剛性によらず、第1の物体25を第2の物体に組み付けるようにすることができる。その結果、制御装置30は、幅広い剛性の物体を組み付けるようにすることができる。
<第2の実施形態>
続いて、第2の実施形態について説明する。図13は、第2の実施形態におけるロボットシステム1bの構成を示す概略ブロック図である。同図において、ロボットシステム1bは、ロボット本体20bと、制御装置30bと、治具110とを備える。同図は、ロボット本体20bが第1の物体105をこれから第2の物体106に組み付ける動作を開始する直前の図である。
ロボット本体20bは、例えば6軸の垂直多関節ロボットである。ロボット本体20bは、ロボット制御装置30bによる制御によって、マニピュレーター101と把持部104とのうちいずれか一つまたは組み合わせを動かす。なお、ロボット本体20bの自由度は6軸によるものに限ったものではなく、任意の数の軸を有してもよい。例えば、ロボット本体20bの自由度は7軸でもよい。
ここで、ロボット本体20bは、マニピュレーター101と、力覚センサー103と、把持部104とを備える。マニピュレーター101の開放端であるハンドには、力覚センサー103の一端が接続されている。力覚センサー103の他端には、把持部104が取り付けられている。
把持部104は、第1の物体105を把持する。そして、マニピュレーター101は、第1の物体105を移動させる。ここで、第1の物体は、一例として、組み付け部品である。第2の物体106は、一例として、被組み付け部品である。
制御装置30bは、第1の物体105の第2の物体106に対する押し付け力が、所定の値に近づけることにより、第1の物体105を第2の物体106に組み付ける。組み付け作業において、制御装置30bは、把持部104に第1の物体105を把持させ、マニピュレーター101を制御して、第1の物体105を第2の物体106の組み付け部位の底面に接触させる。その後に、制御装置30bは、力覚センサー103を利用して、第1の物体105の第2の物体106に対する押し付け力を所定の値に近づける。これにより、ロボット本体20bは、第1の物体105を第2の物体106に組み付ける。このとき、制御装置30bは、インピーダンス制御によりマニピュレーター101を制御することで把持部104の位置を変更し、第1の物体105の第2の物体106に対する押し付け力を所望の値にする。
治具110は、支持部111と、弾性部112と、土台部113とを備える。支持部111は、第2の物体106を支持する。弾性部112は、支持部111と土台部113とを連結する。弾性部112は、弾性をもつ部材であり、一例として、金属製の弦巻ばねである。なお、弾性部112の材料は、金属に限定されず、空気ばね、ゴムなどをもちいてもよい。また、金属製のばねとして、渦巻ばね、板ばね、捩りばねなどを用いることができる。土台部113は、弾性部112を支持する。
図14は、第2の実施形態における治具110の構造の一例を示す図である。図14(A)は、治具110を真上からみた場合の模式図である。図14(A)において、支持部111の外縁R121と、第2の物体106が置かれる部位の底面S122が示されている。
図14(B)は、治具110を図14(A)のAからA´までの直線で示された断面でみた場合の模式図である。図14(B)において、支持部111の底面は、弾性部112の一端P123に接続されている。弾性部112は、一端P123が支持部111に接続され、他端P124が土台部113に接続されている。土台部113の上面は、弾性部112の他端P124に接続されている。
本実施形態では、マニピュレーター101の姿勢によって変化する剛性は、マニピュレーター101の先端に働く並進力を当該並進力方向の変位で割った値であって、それを「マニピュレーター101のばね定数」と表現する。治具110のばね定数が、マニピュレーター101のばね定数より小さい。例えば、弾性部112のばね定数Kがマニピュレーター101のばね定数より小さい。弾性部112のばね定数Kは、例えば、マニピュレーター101のばね定数と予め決められた差とに基づいて決められている。例えば、予め決められた差が0.1であるとすると、弾性部112のばね定数Kは、マニピュレーター101のばね定数の10分の1である。
これにより、第1の物体105の剛性が大きいことで、第1の物体105と第2の物体106とが接触する際に生じる弾性力が大きくなっても、治具110のばね定数が、マニピュレーター101のばね定数より小さいことで、マニピュレーター101のばね定数の影響を小さくすることができる。それにより、ロボットシステム1bは、第1の物体105が第2の物体106を押し付ける押付力のシミュレーション結果と力覚センサー103が測定する上記押付力の差を小さくすることができる。このことから、ロボットシステム1bは、マニピュレーター101が移動させる第1の物体105の剛性によらず、第1の物体105が第2の物体106を押し付ける押付力の経時変化を適切に設定できるので、第1の物体105を第2の物体106に組み付けることができる。
なお、複数の装置を備えるシステムが、本実施形態の制御装置30または制御装置30bの各処理を、それらの複数の装置で分散して処理してもよい。
また、本実施形態の制御装置30または制御装置30bの各処理を実行するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより、制御装置30または制御装置30bに係る上述した種々の処理を行ってもよい。
なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピューターシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピューターシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1、1b ロボットシステム
2 ロボット
10 撮像装置
20 ロボット本体
21a 第1のマニピュレーター
21b 第2のマニピュレーター
23a 第1の力覚センサー
23b 第2の力覚センサー
24a 第1の把持部
24b 第2の把持部
25、105 第1の物体
26、106 第2の物体
30 制御装置
31 記憶部
40 制御部
41 第1制御変数算出部
42 剛性取得部
43 第2制御変数取得部(制御変数取得部)
44 第1制御部
45 第2制御部
46 終了判定部
101 マニピュレーター
103 力覚センサー
104 把持部
111 支持部
112 弾性部
113 土台部
261 一面
262 組み付け部位
263 底面
441 減算部
442 第1運動算出部
443 第1マニピュレーター駆動部
444 第1力覚取得部
451 第2運動算出部(位置算出部)
452 第2マニピュレーター駆動部(マニピュレーター駆動部)
453 第2力覚取得部(力覚取得部)

Claims (10)

  1. 第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置であって、
    前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に接触させた際に、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくする制御部を備えることを特徴とする制御装置。
  2. 前記制御部は、前記第2の物体が前記第1の物体からうける力と前記第2のマニピュレーターのばね定数を表す制御変数とに基づいて、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくすることを特徴とする請求項1に記載の制御装置。
  3. 前記制御変数は、前記第1のマニピュレーターの先端に働く並進力を当該並進力方向の変位で割った値である前記第1のマニピュレーターのばね定数より小さいことを特徴とする請求項2に記載の制御装置。
  4. 前記制御変数は、前記第1のマニピュレーターの先端に働く並進力を当該並進力方向の変位で割った値である前記第1のマニピュレーターのばね定数と前記制御変数とを合成した合成ばね定数と、前記制御変数との差が、予め決められた差に収まるように決められていることを特徴とする請求項2または請求項3に記載の制御装置。
  5. 前記制御部は、
    前記第2の物体が前記第1の物体から受ける力を取得する力覚取得部と、
    前記第2のマニピュレーターの仮想のばね定数を表す制御変数を取得する制御変数取得部と、
    前記力覚取得部が取得した押し付け力と、前記制御変数取得部が取得した制御変数とに基づいて、前記第2のマニピュレーターの運動を表わす値を算出する運動算出部と、
    前記運動算出部が算出した前記第2のマニピュレーターの運動を表わす値に基づいて、前記第2のマニピュレーターを駆動させるマニピュレーター駆動部と、
    を備えることを特徴とする請求項1から請求項4のいずれか一項に記載の制御装置。
  6. 第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置の制御部が、前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に接触させた際に、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくする手順を有することを特徴とする制御方法。
  7. 前記手順において、
    力覚取得部が、前記第2の物体が前記第1の物体から受ける力を取得する手順と、
    制御変数取得部が前記第1のマニピュレーターのばね定数より小さい制御変数を取得する手順と、
    位置算出部が、前記力覚取得部が取得した押し付け力と、前記制御変数取得部が取得した制御変数とに基づいて、前記第2のマニピュレーターの位置を算出する手順と、
    マニピュレーター駆動部が、前記位置算出部が算出した前記第2のマニピュレーターの位置に基づいて、前記第2のマニピュレーターを駆動させる手順と、
    を有することを特徴とする請求項6に記載の制御方法。
  8. 第1のマニピュレーターと第2のマニピュレーターとを備えるロボットを制御する制御装置に、
    前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に接触させた際に、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくするステップを実行させるための制御プログラム。
  9. 第1の物体を移動させる第1のマニピュレーターと、
    第2の物体を移動させる第2のマニピュレーターと、
    前記第1のマニピュレーターが移動させる第1の物体を前記第2のマニピュレーターが移動させる第2の物体に接触させた際に、前記第2のマニピュレーターのばね定数を前記第1のマニピュレーターのばね定数よりも小さくする制御部と、
    を備えることを特徴とするロボット。
  10. 第1の物体を移動させるマニピュレーターを備えるロボットと、
    前記マニピュレーターを制御する制御装置と、
    前記第1の物体が組みつけられる第2の物体を支持する治具と、
    を備え、
    前記治具のばね定数が、前記マニピュレーターのばね定数より小さいことを特徴とするロボットシステム。
JP2012164678A 2012-07-25 2012-07-25 制御装置、制御方法、制御プログラム、ロボット及びロボットシステム Active JP6003334B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012164678A JP6003334B2 (ja) 2012-07-25 2012-07-25 制御装置、制御方法、制御プログラム、ロボット及びロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012164678A JP6003334B2 (ja) 2012-07-25 2012-07-25 制御装置、制御方法、制御プログラム、ロボット及びロボットシステム

Publications (2)

Publication Number Publication Date
JP2014024133A JP2014024133A (ja) 2014-02-06
JP6003334B2 true JP6003334B2 (ja) 2016-10-05

Family

ID=50198289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012164678A Active JP6003334B2 (ja) 2012-07-25 2012-07-25 制御装置、制御方法、制御プログラム、ロボット及びロボットシステム

Country Status (1)

Country Link
JP (1) JP6003334B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104816310A (zh) 2014-02-04 2015-08-05 精工爱普生株式会社 机器人手、机器人、以及机器人手的制造方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6226505A (ja) * 1985-07-29 1987-02-04 Nippon Telegr & Teleph Corp <Ntt> ロボツト力制御方法
JPH04314110A (ja) * 1991-04-12 1992-11-05 Matsushita Electric Ind Co Ltd 力制御装置
JP2960233B2 (ja) * 1991-11-26 1999-10-06 川崎重工業株式会社 ロボットの制御装置
JPH06297364A (ja) * 1993-04-13 1994-10-25 Daikin Ind Ltd 位置合せ装置
JP2717771B2 (ja) * 1994-11-17 1998-02-25 川崎重工業株式会社 ロボットの協調制御方法および協調制御装置
JP2001277162A (ja) * 2000-03-31 2001-10-09 Omron Corp インピーダンスパラメータ調整装置
JP4985135B2 (ja) * 2007-06-18 2012-07-25 株式会社安川電機 協調ロボットシステム

Also Published As

Publication number Publication date
JP2014024133A (ja) 2014-02-06

Similar Documents

Publication Publication Date Title
JP6108860B2 (ja) ロボットシステム及びロボットシステムの制御方法
JP5744587B2 (ja) ロボット制御装置、ロボット制御方法、プログラム及び記録媒体
EP2835228B1 (en) Robot apparatus and robot controlling method
JP5904635B2 (ja) 制御装置、制御方法及びロボット装置
CN101801616A (zh) 动力辅助装置及其控制方法
JP2014180704A (ja) ロボットピッキングシステム及び被加工物の製造方法
JP2017164876A (ja) 制御装置、ロボット、及びロボットシステム
JP6044511B2 (ja) ロボットの制御方法及びロボットシステム
JP2018051652A (ja) ロボットシステム
JP6796557B2 (ja) 溶接ロボットのトーチケーブル干渉評価情報出力装置、評価情報出力方法及びプログラム
CN112936291B (zh) 一种基于阻抗控制的力控末端执行器振动抑制方法
CN111459274A (zh) 一种基于5g+ ar的针对非结构化环境的遥操作方法
JP6003312B2 (ja) ロボットシステム
JP6003334B2 (ja) 制御装置、制御方法、制御プログラム、ロボット及びロボットシステム
JP6107281B2 (ja) ロボット及びロボットの制御方法
JP5656161B2 (ja) 相関性評価方法、相関性評価装置、動作再現装置
JP6322948B2 (ja) ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法、及びプログラム
JP6576125B2 (ja) シミュレーション方法及びシミュレーション装置
JP2011067884A (ja) 高速高精度な接触作業に適用するロボット制御システム、ロボット制御方法、ロボット制御装置、およびプログラム
JP6540810B2 (ja) ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム
JP6107282B2 (ja) 処理装置、ロボット、プログラム及びロボットの制御方法
JP5942720B2 (ja) 状態判別方法、ロボット、制御装置、及びプログラム
JP6743431B2 (ja) 制御装置、及びロボットシステム
JP2022100627A (ja) ロボットの制御位置を決定する方法、及び、ロボットシステム
JP2021164978A (ja) 情報処理方法、情報処理装置、プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160622

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: 20160809

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160822

R150 Certificate of patent (=grant) or registration of utility model

Ref document number: 6003334

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150