JP4245105B2 - ロボットの対象物追尾装置及び追尾方法 - Google Patents
ロボットの対象物追尾装置及び追尾方法 Download PDFInfo
- Publication number
- JP4245105B2 JP4245105B2 JP2000008212A JP2000008212A JP4245105B2 JP 4245105 B2 JP4245105 B2 JP 4245105B2 JP 2000008212 A JP2000008212 A JP 2000008212A JP 2000008212 A JP2000008212 A JP 2000008212A JP 4245105 B2 JP4245105 B2 JP 4245105B2
- Authority
- JP
- Japan
- Prior art keywords
- robot
- orientation
- data
- control
- predetermined amount
- 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
Links
Images
Landscapes
- Specific Conveyance Elements (AREA)
- Manipulator (AREA)
Description
【発明の属する技術分野】
この発明は、例えばパーツフィーダ上を送られるパーツを追尾して把持するロボットの対象物追尾装置に関する。
【0002】
【従来の技術】
一般に、パーツ(ばら部品など)を組み立てラインに供給する際には、例えばパーツフィーダを用いてパーツを送り所定の姿勢に整列させる。整列されたパーツを、ピックアンドプレースやロボットを用いて、チャッキングし供給を行う。
【0003】
また、パーツフィーダの終端に、ある程度まで整列された姿勢のパーツが、ばらまかれ、そのばらまかれたパーツの中から要求された姿勢に一致したパーツを、カメラが撮像し、撮像した画像を画像処理装置を用いて認識し、ロボットを用いてチャッキングすることも知られている。この場合に、要求される姿勢に一致しないパーツは、再び元のパーツフィーダに送られ、整列し直され、ばらまかれる。
【0004】
【発明が解決しようとする課題】
前者の技術によってパーツの位置や姿勢を正確に決めるためには、パーツフィーダはパーツの形状に合わせた凹部などを有する搬送路を備え、この搬送路はパーツの形状が変わった場合には、取り替える必要があった。
【0005】
また、搬送路をパーツの形状に正確に合わせて形成しても、パーツの形状や寸法に公差があるため、あるいはごみや異物が搬送路に詰まってしまうため、搬送不良を起こしてしまうことがあった。
【0006】
また、後者の技術によれば、ばらまかれたパーツの位置や姿勢がその後変化してしまわないようにするため、パーツフィーダを一時停止し、したがって断続運転を余儀なくされるものであり、パーツの供給量が安定しにくいものであった。
【0007】
この発明の目的は、以上の課題を解決するためになされたもので、パーツフィーダにおける取り替えの必要が無く、ごみや異物により詰まってしまう不具合を解決し、断続運転をする必要がないロボットの対象物追尾装置を提供することを目的とする。
【0008】
この発明の他の目的は、さらに、パーツフィーダに限らず搬送手段など上で位置また姿勢が変化する対象物を追尾して把持することができるロボットの対象物追尾装置を提供することを目的とする。
【0009】
【課題を解決するための手段】
以上の課題を解決するために、本発明は、位置または姿勢が変化する対象物を撮像する一台のカメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置または姿勢をもとに制御され対象物へ移動し作業を行うロボットと、前記制御を継続的に行う制御手段と、を備えたことを特徴とするロボットの対象物追尾装置である。
【0010】
本発明は、位置または姿勢が変化する対象物を撮像する一台の静止カメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置または姿勢をもとに制御され対象物へ移動し把持を行うロボットと、前記制御を以下の手順を含んで行う制御手段と、
手順1:前記認識された対象物の位置と姿勢、およびロボットの位置と姿勢から、ロボットが対象物へ移動し把持を行うデータを作成する
手順2:対象物の位置または姿勢の変化量が所定量1より大きく所定量2より小さいときには、ロボットの位置を現在位置に置き換えて前記データを再作成する
手順3:再作成したデータをもとに制御を継続する
を備えたことを特徴とするロボットの対象物追尾装置である。
【0011】
本発明は、位置または姿勢が変化する対象物を撮像するためロボットに搭載された一台のカメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置と姿勢をもとに制御され対象物へ移動し把持を行うロボットと、前記制御を以下の手順を含んで行う制御手段と、
手順1:前記認識された対象物の位置と姿勢から、ロボットが対象物へ移動し把持を行うデータを作成する
手順2:対象物の位置または姿勢の変化量が所定量1より大きく所定量2より小さいときには、前記データを再作成する
手順3:再作成したデータをもとに制御を継続する
を備えたことを特徴とするロボットの対象物追尾装置である。
【0012】
本発明は、対象物の位置または姿勢の変化量が所定量1より小さいときは、データの再作成を行わず、始めに作成されたデータによりロボットが対象物へ移動し把持を行う制御が行われることを特徴とするロボットの対象物追尾装置である。
【0013】
本発明は、対象物の位置または姿勢の変化量が所定量2より大きいときは、対象物の把持を断念する制御が行われることを特徴とするロボットの対象物追尾装置である。
【0014】
本発明は、位置または姿勢が変化する対象物を撮像する一台の静止カメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置または姿勢をもとに制御され対象物へ移動し把持を行うロボットと、前記制御を行う制御手段と、を有し、前記制御を下記の手順
手順1:前記認識された対象物の位置と姿勢、およびロボットの位置と姿勢から、ロボットが対象物へ移動し把持を行うデータを作成する
手順2:対象物の位置または姿勢の変化量が所定量1より大きく所定量2より小さいときには、ロボットの位置を現在位置に置き換えて前記データを再作成する
手順3:再作成したデータをもとに制御を継続する
によって行うことを特徴とするロボットの対象物追尾方法である。
【0015】
本発明は、位置または姿勢が変化する対象物を撮像するためロボットに搭載された一台のカメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置と姿勢をもとに制御され対象物へ移動し把持を行うロボットと、前記制御を行う制御手段と、を有し、前記制御を下記の手順
手順1:前記認識された対象物の位置と姿勢から、ロボットが対象物へ移動し把持を行うデータを作成する
手順2:対象物の位置または姿勢の変化量が所定量1より大きく所定量2より小さいときには、前記データを再作成する
手順3:再作成したデータをもとに制御を継続する
によって行うことを特徴とするロボットの対象物追尾方法である。
【0016】
本発明は、対象物の位置または姿勢の変化量が所定量1より小さいときは、データの再作成を行わず、始めに作成されたデータによりロボットが対象物へ移動し把持を行う制御が行われることを特徴とするロボットの対象物追尾方法である。
【0017】
本発明は、対象物の位置または姿勢の変化量が所定量2より大きいときは、対象物の把持を断念する制御が行われることを特徴とするロボットの対象物追尾方法である。
【0018】
【発明の実施の形態】
この発明の一実施形態に係るロボットの対象物追尾装置を、図1乃至図3において説明する。
このロボットの対象物追尾装置1は、パーツフィーダ3上を搬送されてくる対象物であるパーツ5を把持し、例えば次の組み立てラインへ供給するロボットに実施される。
【0019】
パーツフィーダ3は、螺旋状の搬送路7を有し、この搬送路7の中心から外側へ、振動によりパーツ5が搬送される。搬送路7の断面は、パーツ5の底部の形状にある程度一致して形成されており、これによりパーツ5は搬送されつつ所定の姿勢に規制される。しかし、振動により、この規制は完全なものにならず、パーツ5の位置や姿勢は常に変化する。
【0020】
パーツフィーダ3の上方には、多関節のロボット9のアーム11が位置する。アーム11の先端には、パーツ5の把持を行うグリッパ13が備えられる。
また、パーツフィーダ3の傾斜した搬送路7に直角の状態で静止カメラ15が配置される。静止カメラ15の近くには、照明装置17が設けられる。この静止カメラ15が撮像した画像信号は、画像処理装置19へ送られ、パーツ5の位置、姿勢、形状を認識する。この位置および姿勢を示す信号は、ロボット9が備える制御装置へ送られ、ロボット9が自律的に認識するグリッパ13の位置および姿勢を元にして、以下の手順による制御を行う。
【0021】
すなわち図3に示すように、ロボット9は所定の姿勢でグリッパ13を所定の待機位置に待機させ(S1)、処理した画像により対象物であるパーツ5が所定の作業範囲(例えば図2に示す静止カメラ15の画像範囲21)に入ってくると(S2)、パーツ5の位置および姿勢が認識され、ロボット9が自律的に認識する自己の待機位置およびグリッパ13の姿勢を元にして、移動データが作成される(S3)。この移動データは、ロボット9がグリッパ13をパーツ5の真上まで移動させ、パーツ5を把持するために必要なデータである。そして、この移動データを元に移動と把持の一連の動作を開始する(S4)。
【0022】
この動作が開始された後、パーツ5の位置または姿勢が振動により変化し、その変化量が所定の範囲、すなわち所定量2>変化量>所定量1である場合に(S5、S6)、ロボット9のグリッパ13がそれまでに移動している現在位置を前記待機位置として置き換えて、移動データを再び作成する(S7)。
【0023】
その後、継続して移動および把持の動作を行い(S4)、パーツ5の位置または姿勢の変化がなければ(S5)、パーツ5の把持が完了した時点で(S8)動作を終了する。このように移動データの再作成によりロボットの動作の補正が行われる。その後、別の制御によりロボット9は、例えば次行程の組み立てラインへパーツ5を移動させ組み付け動作を行う。
【0024】
なお、変化量が所定量2により大きければ、パーツ5への移動および把持を諦め、待機位置へ戻る(S1)。また、変化量の数量化は種々の方法により行われる。例えば、図2に示すようにパーツ5の位置がGからG´へ変化し姿勢も変わったものとすると、変化量は、位置の変化量GG´の大きさ、あるいは姿勢の角度変化θはある大きさ以上であるかどうかなどである。また、この変化量は、変化した距離や角度のみならず、その変化の速度を考慮したものとすることができる。
【0025】
また、以上の制御では、カメラ15は連続的に撮像を繰り返すが、この撮像、および撮像された画像の画像処理装置による処理は、1秒間に数十回が可能である。そして、ロボットの動作の補正は、1秒間にそれ以上の回数を行うことが可能である。
【0026】
(実施形態の作用効果)
以上の実施形態によれば、ロボット9がパーツ5を把持するための移動を開始してしまった後に、パーツ5の位置または姿勢が変化した際には、この変化を撮像した静止カメラ15からの画像を画像処理装置19が処理して認識し、再作成したデータを元に再びロボット9が移動を継続し把持を行うので、容易に把持が可能となる。
【0027】
したがって、対象となるパーツ5の形状が変わった場合でも、このパーツ5の形状に合わせたパーツフィーダ3の凹部を有する搬送路7などの部分を取り替える必要がない。さらに、パーツ5の形状や寸法にある程度の公差があっても、ロボット9は容易にパーツ5を追尾し把持することが可能である。
【0028】
また、パーツ5として異なる形状や寸法のものが混在していても、画像処理装置19が容易に形状を認識でき判別可能なので、1台の装置1で他種類のパーツ5を供給できる。
【0029】
(他の実施形態)
以上の実施形態においては、ロボット9が移動および把持の一連の動作を開始した後に、パーツ5の位置または姿勢の変化が所定範囲で生じた場合に(S5)(S6)、直ちに移動データが再作成され、この再作成された移動データにより、移動および把持の一連の動作が継続されるものであったが、他の実施形態においては変化があった後に直ちにではなく、ある程度移動を続行して、全体としてロボットの動きを滑らかにすることが可能である。
【0030】
すなわち図4に示すように、所定の変化があった際に(S5、S6)、ロボットは移動を続行し(S9)、十分に接近(S10)した後に、移動データの再作成を行う(S7)。このとき、十分に接近したか否かの判断は、例えばパーツ5の位置の変化量を半径とする円を、パーツ5を中心に描き、この円の縁まで達するように、それまでの移動を続行するものとできる。
【0031】
また、以上の実施形態においては、パーツ5を撮像するカメラは静止カメラ15であったが、他の実施形態においては、ロボット9のグリッパ13に搭載されたカメラとすることが可能である。この場合、撮像されたパーツ5の画像は、グリッパ13とパーツ5の相対関係にのみ影響され、カメラに対するグリッパ13の位置や姿勢は常に一定の関係であるため、制御は、認識されたパーツ5の位置と姿勢を元に行われる。すなわち、画像中でパーツ5が、例えば中央の所定のねらい位置に位置するようにロボット9を制御することが可能である。
【0032】
また、以上の実施形態においては、対象物はパーツフィーダ3上のパーツ5であったが、他の実施形態においては、必ずしもパーツフィーダ3に限らず、例えば、パーツ製造機から送り出されたパーツ5をばらばらの状態で搬送する搬送コンベア上で、パーツを把持するロボットにも、この発明は実施可能である。
【0033】
また、以上の実施形態では、ロボット9は対象物を把持するものとしたが、他の実施形態では、対象物に対して他の作業、例えば対象物にラベルを貼ったり、塗料を塗ったりするものであってもかまわない。
【0034】
【発明の効果】
以上説明したように、本発明によれば、対象物の位置または姿勢が変化した際には、この変化を撮像したカメラからの画像を画像処理装置が処理して認識し、再作成したデータを元に再び移動を継続し把持を行うので、例えばパーツフイーダ上のワークのように位置または姿勢が変化する対象物であっても、容易にロボットが把持することが可能となる。
【0035】
したがって、例えば従来のパーツフィーダのように、対象とするパーツの形状が変わった場合でも、このパーツの形状に合わせた凹部を有する搬送路などの部分を取り替える必要がない。また、ばらまいたパーツの位置や姿勢が変化してしまわないように、パーツフィーダの断続運転をする必要もなくなる。よって装置の連続的な運転が可能となり、供給量が安定する。さらに、対象物の形状や寸法にある程度の公差があっても、ロボットは容易に対象物を追尾し把持することが可能である。
【図面の簡単な説明】
【図1】(A)はこの発明の一実施形態に係るロボットの対象物追尾装置の概略正面図、(B)は(A)のパーツフィーダ上のパーツを示す概略平面図である。
【図2】図1(B)のパーツとカメラを静止カメラにより撮像した画像を示す図である。
【図3】この実施形態の制御を示すフローチャートである。
【図4】他の実施形態における制御を示すフローチャートである。
【符号の説明】
1 ロボットの対象物追尾装置
3 パーツフィーダ
5 パーツ
7 搬送路
9 ロボット
11 アーム
13 グリッパ
15 静止カメラ
17 照明装置
19 画像処理装置
21 画像範囲
Claims (8)
- 位置または姿勢が変化する対象物を撮像する一台の静止カメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置または姿勢をもとに制御され対象物へ移動し把持を行うロボットと、前記制御を以下の手順を含んで行う制御手段と、 手順1:前記認識された対象物の位置と姿勢、およびロボットの位置と姿勢から、ロボットが対象物へ移動し把持を行うデータを作成する
手順2:対象物の位置または姿勢の変化量が所定量1より大きく所定量2より小さいときには、ロボットの位置を現在位置に置き換えて前記データを再作成する
手順3:再作成したデータをもとに制御を継続する
を備えたことを特徴とするロボットの対象物追尾装置。 - 位置または姿勢が変化する対象物を撮像するためロボットに搭載された一台のカメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置と姿勢をもとに制御され対象物へ移動し把持を行うロボットと、前記制御を以下の手順を含んで行う制御手段と、
手順1:前記認識された対象物の位置と姿勢から、ロボットが対象物へ移動し把持を行うデータを作成する
手順2:対象物の位置または姿勢の変化量が所定量1より大きく所定量2より小さいときには、前記データを再作成する
手順3:再作成したデータをもとに制御を継続する
を備えたことを特徴とするロボットの対象物追尾装置。 - 対象物の位置または姿勢の変化量が所定量1より小さいときは、データの再作成を行わず、始めに作成されたデータによりロボットが対象物へ移動し把持を行う制御が行われることを特徴とする請求項1に記載のロボットの対象物追尾装置。
- 対象物の位置または姿勢の変化量が所定量2より大きいときは、対象物の把持を断念する制御が行われることを特徴とする請求項1または2に記載のロボットの対象物追尾装置。
- 位置または姿勢が変化する対象物を撮像する一台の静止カメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置または姿勢をもとに制御され対象物へ移動し把持を行うロボットと、前記制御を行う制御手段と、を有し、前記制御を下記の手順
手順1:前記認識された対象物の位置と姿勢、およびロボットの位置と姿勢から、ロボットが対象物へ移動し把持を行うデータを作成する
手順2:対象物の位置または姿勢の変化量が所定量1より大きく所定量2より小さいときには、ロボットの位置を現在位置に置き換えて前記データを再作成する
手順3:再作成したデータをもとに制御を継続する
によって行うことを特徴とするロボットの対象物追尾方法。 - 位置または姿勢が変化する対象物を撮像するためロボットに搭載された一台のカメラと、このカメラが撮像した画像を処理し対象物の位置または姿勢を認識する画像処理装置と、前記認識された対象物の位置と姿勢をもとに制御され対象物へ移動し把持を行うロボットと、前記制御を行う制御手段と、を有し、前記制御を下記の手順
手順1:前記認識された対象物の位置と姿勢から、ロボットが対象物へ移動し把持を行うデータを作成する
手順2:対象物の位置または姿勢の変化量が所定量1より大きく所定量2より小さいときには、前記データを再作成する
手順3:再作成したデータをもとに制御を継続する
によって行うことを特徴とするロボットの対象物追尾方法。 - 対象物の位置または姿勢の変化量が所定量1より小さいときは、データの再作成を行わず、始めに作成されたデータによりロボットが対象物へ移動し把持を行う制御が行われることを特徴とする請求項5または6に記載のロボットの対象物追尾方法。
- 対象物の位置または姿勢の変化量が所定量2より大きいときは、対象物の把持を断念する制御が行われることを特徴とする請求項5乃至7の何れか一つに記載のロボットの対象物追尾方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000008212A JP4245105B2 (ja) | 2000-01-17 | 2000-01-17 | ロボットの対象物追尾装置及び追尾方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000008212A JP4245105B2 (ja) | 2000-01-17 | 2000-01-17 | ロボットの対象物追尾装置及び追尾方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001198869A JP2001198869A (ja) | 2001-07-24 |
JP4245105B2 true JP4245105B2 (ja) | 2009-03-25 |
Family
ID=18536526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000008212A Expired - Fee Related JP4245105B2 (ja) | 2000-01-17 | 2000-01-17 | ロボットの対象物追尾装置及び追尾方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4245105B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115446836B (zh) * | 2022-09-17 | 2023-09-12 | 上海交通大学 | 一种基于多种图像特征信息混合的视觉伺服方法 |
-
2000
- 2000-01-17 JP JP2000008212A patent/JP4245105B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001198869A (ja) | 2001-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7137195B2 (en) | Method for mounting electronic parts onto a board | |
JP5423415B2 (ja) | 生産システム | |
JP2013078825A (ja) | ロボット装置、ロボットシステムおよび被加工物の製造方法 | |
CN111975389A (zh) | 一种基于视觉识别机器人的生产线 | |
JP2000031695A (ja) | 電子部品の実装方法 | |
US20220241982A1 (en) | Work robot and work system | |
JP4245105B2 (ja) | ロボットの対象物追尾装置及び追尾方法 | |
JP2010105081A (ja) | ビンピッキング装置 | |
JP2001320159A (ja) | 電子部品の実装方法および表面実装機 | |
JP2009032825A (ja) | バックアッププレート形成装置、これを備えた表面実装機、及びバックアッププレート形成方法 | |
JP2002308241A (ja) | ラベル貼付システム | |
JP5573748B2 (ja) | 基板位置検出センサの清掃治具及び清掃方法 | |
JP2015119114A (ja) | 電子部品の実装方法及び電子部品の実装装置 | |
JP4228868B2 (ja) | 電子部品実装方法 | |
JPH0627350Y2 (ja) | 搬送装置 | |
JPWO2018100706A1 (ja) | 作業機 | |
JP3058798B2 (ja) | ロータリキャリアのワーク供給・取出し装置 | |
JP4932923B2 (ja) | 部品移送装置 | |
JPH09326590A (ja) | 部品実装方法 | |
JP7389478B2 (ja) | ワーク供給装置とそれを備えたピッキングシステム | |
JP2002066970A (ja) | 姿勢変換装置及びビンピッキング装置 | |
JP4119137B2 (ja) | 部品試験装置 | |
JP7256269B2 (ja) | 部品実装機及び対基板作業システム | |
JPH0236599A (ja) | 電子部品実装方法 | |
JP2003270292A (ja) | 部品試験装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040302 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080312 |
|
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: 20081224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090105 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4245105 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 3 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20091108 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120116 Year of fee payment: 3 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D03 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130116 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140116 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |