JP2007038315A - 操作装置と操作子の動作調節方法とそのためのプログラム - Google Patents
操作装置と操作子の動作調節方法とそのためのプログラム Download PDFInfo
- Publication number
- JP2007038315A JP2007038315A JP2005222622A JP2005222622A JP2007038315A JP 2007038315 A JP2007038315 A JP 2007038315A JP 2005222622 A JP2005222622 A JP 2005222622A JP 2005222622 A JP2005222622 A JP 2005222622A JP 2007038315 A JP2007038315 A JP 2007038315A
- Authority
- JP
- Japan
- Prior art keywords
- calculated
- operator
- force
- frictional force
- intermediate speed
- 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.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】操作子に適度な操作反力を再現する技術を提供する。
【解決手段】 操作装置は、人が操作する操作子と、操作子に再現する摩擦力を速度の関数によって記憶している記憶手段と、操作子の位置を検出する手段と、操作子の位置を用いて中間速度を単位時間毎に計算する手段と、中間速度と摩擦力関数を用いて摩擦力を単位時間毎に決定する手段と、中間速度と摩擦力を用いて操作子の目標位置を単位時間毎に計算する手段と、操作子の位置と操作子の目標位置を用いて、操作子に加える反力を単位時間毎に計算する反力計算手段と、反力計算手段によって計算された反力を操作子に加えるアクチュエータを備えている。
【選択図】図5
【解決手段】 操作装置は、人が操作する操作子と、操作子に再現する摩擦力を速度の関数によって記憶している記憶手段と、操作子の位置を検出する手段と、操作子の位置を用いて中間速度を単位時間毎に計算する手段と、中間速度と摩擦力関数を用いて摩擦力を単位時間毎に決定する手段と、中間速度と摩擦力を用いて操作子の目標位置を単位時間毎に計算する手段と、操作子の位置と操作子の目標位置を用いて、操作子に加える反力を単位時間毎に計算する反力計算手段と、反力計算手段によって計算された反力を操作子に加えるアクチュエータを備えている。
【選択図】図5
Description
本発明は、人によって操作される操作子の動作を、アクチュエータ等によって調節する技術に関する。
自動車のパワーステアリング装置や、重量物の搬送作業を補助する装置のように、人が操作する操作子の動作をアクチュエータによって調節し、人の操作を補助する装置が開発されている。この種の技術では、人が操作子に加えている操作力と、結果的に実現される操作子の運動との間に、
M・a+B・v+K・(p−po)=f ・・・(1)
の関係が成立していると、人は良好な操作感を得えられ、操作性が向上することが知られている。ここで、aは操作子の加速度ベクトル、vは操作子の速度ベクトル、pは操作子の位置ベクトル、poは定数ベクトルである。Mは操作子の加速度に対する比例係数(マトリクス)であり、操作子に再現される慣性係数(マトリクス)に相当する。Bは操作子の速度に対する比例係数(マトリクス)であり、操作子に再現される粘性係数(粘性マトリクス)に相当する。Kは操作子の位置に対する比例係数(マトリクス)であり、操作子に再現される弾性係数(マトリクス)に相当する。poは定数ベクトルであり、弾性特性の平衡位置を示す位置ベクトルである。fは人が操作子に加えている操作力ベクトルである。上記の(1)式の比例係数M、B、Kを調整することによって、操作感を調整することができる。
M・a+B・v+K・(p−po)=f ・・・(1)
の関係が成立していると、人は良好な操作感を得えられ、操作性が向上することが知られている。ここで、aは操作子の加速度ベクトル、vは操作子の速度ベクトル、pは操作子の位置ベクトル、poは定数ベクトルである。Mは操作子の加速度に対する比例係数(マトリクス)であり、操作子に再現される慣性係数(マトリクス)に相当する。Bは操作子の速度に対する比例係数(マトリクス)であり、操作子に再現される粘性係数(粘性マトリクス)に相当する。Kは操作子の位置に対する比例係数(マトリクス)であり、操作子に再現される弾性係数(マトリクス)に相当する。poは定数ベクトルであり、弾性特性の平衡位置を示す位置ベクトルである。fは人が操作子に加えている操作力ベクトルである。上記の(1)式の比例係数M、B、Kを調整することによって、操作感を調整することができる。
上記の(1)式を満たすように操作子の動作を調整する技術は、インピーダンス制御と呼ばれる良く知られた技術である。インピーダンス制御には、例えば「位置入力−力出力型のインピーダンス制御」が知られている。
位置入力−力出力型のインピーダンス制御では、操作子の位置の経時変化(加速度、速度、位置等)を検出し、上記の(1)式を用いて人が操作子に加えるべき操作力を計算する。そして、計算した操作力に対応する反力を、アクチュエータ等によって操作子に加える。その結果、操作子の動作に上記の(1)式の関係が成立する。
位置入力−力出力型のインピーダンス制御では、操作子の位置の経時変化(加速度、速度、位置等)を検出し、上記の(1)式を用いて人が操作子に加えるべき操作力を計算する。そして、計算した操作力に対応する反力を、アクチュエータ等によって操作子に加える。その結果、操作子の動作に上記の(1)式の関係が成立する。
位置入力−力出力型のインピーダンス制御を活用した技術が開発されている。例えば特許文献1の車両用操舵装置は、ステアリングホイールと、ステアリングホイールに反力を加える反力アクチュエータを備えており、ステアリングホイールに生じている運動に応じて、反力アクチュエータの出力を調節する。
特許文献1の技術では、上記(1)式から計算される反力に加えて、摩擦力に相当する反力をステアリングホイールに加えるようにしている。この摩擦力は、検出したステアリングホイールの移動速度に対して、反対向きに設定されるようになっている。
特開2002−37111号公報
特許文献1の技術では、上記(1)式から計算される反力に加えて、摩擦力に相当する反力をステアリングホイールに加えるようにしている。この摩擦力は、検出したステアリングホイールの移動速度に対して、反対向きに設定されるようになっている。
特許文献1の技術では、ステアリングホイールの移動速度を用いて、摩擦力に相当する反力を設定する。そのことから、ステアリングホイールが静止している間は、摩擦力に相当する反力をステアリングホイールに加えることができない。特許文献1の技術では、静止摩擦力に相当する反力を加えることができず、操作子の動作に摩擦力を正しく再現することができない。
本発明は、上記の課題を解決する。本発明は、位置入力−力出力型のインピーダンス制御によって、操作子の動作に摩擦力をより正確に再現することができる技術を提供する。
本発明は、上記の課題を解決する。本発明は、位置入力−力出力型のインピーダンス制御によって、操作子の動作に摩擦力をより正確に再現することができる技術を提供する。
本発明による操作装置では、操作子の動作に、図1に示す操作子モデル100の操作子102の動作を実現する。操作子モデル100では、摩擦力gが作用する環境に置かれた摩擦体106が、粘弾性要素104を介して操作子102に接続されている。粘弾性要素104は、弾性係数Kの弾性要素104aと粘性係数Bの粘性要素104bを備えている。操作子モデル100では、操作子102を操作したときに、操作子102の位置pの変化に応じて、粘弾性要素104から摩擦体106に力fが加えられ、摩擦体106の位置qが変化する。例えば操作子102を大きく操作しているときには、操作子102と摩擦体106が略一体となって移動する。操作子102は、摩擦体106に作用する摩擦力gに抗して移動することとなり、操作子102に動摩擦力に相当する反力fが付加される。一方、操作子102を小さく操作しているときには、摩擦体106が摩擦力gによって静止し続ける。操作子102は、僅かに弾性変位するものの、摩擦体106によって位置pが拘束される。操作子102には静止摩擦力に相当する反力fが付加される。操作子モデル100では、操作子102の位置pの変化に応じて、摩擦力に相当する反力fが操作子102に付加される。
操作子モデル100では、操作子102を操作したときの反力fが、次式によって記述される。
f=−K・(p−q)−B・(dp/dt−dq/dt) ・・・(2)
ここで、dp/dtは操作子102の速度を示し、dq/dtは摩擦体106の速度を示す。
また、摩擦体106の運動は、次式の運動方程式によって記述される。
M・d2q/dt2=g−f ・・・(3)
ここで、d2q/dt2は摩擦体106の加速度を示す。
摩擦体106に作用する摩擦力gは、速度の関数φによって記述しておくことができる。この摩擦力関数φは、操作子102の動作に再現する摩擦力に応じて、様々に定めることができる。摩擦力関数φが速度ゼロに対して記述する摩擦力φ(0)は、最大静止摩擦力に対応する。
f=−K・(p−q)−B・(dp/dt−dq/dt) ・・・(2)
ここで、dp/dtは操作子102の速度を示し、dq/dtは摩擦体106の速度を示す。
また、摩擦体106の運動は、次式の運動方程式によって記述される。
M・d2q/dt2=g−f ・・・(3)
ここで、d2q/dt2は摩擦体106の加速度を示す。
摩擦体106に作用する摩擦力gは、速度の関数φによって記述しておくことができる。この摩擦力関数φは、操作子102の動作に再現する摩擦力に応じて、様々に定めることができる。摩擦力関数φが速度ゼロに対して記述する摩擦力φ(0)は、最大静止摩擦力に対応する。
上記の(2)式は、下記の(4)式のように離散時間表現することができる。
f(k)=−K・(p(k)−q(k))
−B・(v(k)−Δq(k)/T)・・・(4)
ここで、v(k)=(p(k)−p(k−1))/Tであり、Δq(k)=q(k)−q(k−1)である。f(k)は現時点における反力である。p(k)は現時点における操作子102の位置である。p(k−1)は1単位時間前における操作子102の位置である。q(k)は現時点における摩擦体106の位置である。q(k−1)は1単位時間前における摩擦体106の位置である。
また、上記の(3)式は、下記の(5)式のように離散時間表現することができる。
Δq(k)=Δq(k−1)+T2・(g(k)−f(k)) ・・・(5)
ここで、g(k)は現時点における摩擦力である。上記の(4)式と(5)式から反力f(k)を消去すると、下記の(6)式を得る。
Δq(k)=T・u(k)+T2・g(k)/C ・・・(6)
上記(6)式中のu(k)は、下記の(7)式を満たす。
u(k)=(p(k)−p(k−1))/T
+(T・K/C)・(p(k−1)−q(k−1))
−(M/(T・C))・(p(k)−p(k−1)−q(k−1)+q(k−2))
・・・(7)
上記の(7)式を満たすu(k)を、中間速度u(k)という。中間速度u(k)は、操作子102の位置p(k)を用いて更新することができる。
f(k)=−K・(p(k)−q(k))
−B・(v(k)−Δq(k)/T)・・・(4)
ここで、v(k)=(p(k)−p(k−1))/Tであり、Δq(k)=q(k)−q(k−1)である。f(k)は現時点における反力である。p(k)は現時点における操作子102の位置である。p(k−1)は1単位時間前における操作子102の位置である。q(k)は現時点における摩擦体106の位置である。q(k−1)は1単位時間前における摩擦体106の位置である。
また、上記の(3)式は、下記の(5)式のように離散時間表現することができる。
Δq(k)=Δq(k−1)+T2・(g(k)−f(k)) ・・・(5)
ここで、g(k)は現時点における摩擦力である。上記の(4)式と(5)式から反力f(k)を消去すると、下記の(6)式を得る。
Δq(k)=T・u(k)+T2・g(k)/C ・・・(6)
上記(6)式中のu(k)は、下記の(7)式を満たす。
u(k)=(p(k)−p(k−1))/T
+(T・K/C)・(p(k−1)−q(k−1))
−(M/(T・C))・(p(k)−p(k−1)−q(k−1)+q(k−2))
・・・(7)
上記の(7)式を満たすu(k)を、中間速度u(k)という。中間速度u(k)は、操作子102の位置p(k)を用いて更新することができる。
上記の(6)式は、下記の(8)式に変形することができる。
Δq(k)/T=u(k)+T・g(k)/C ・・・(8)
(8)式が示すように、摩擦体106の速度Δq(k)/Tは、中間速度u(k)に、摩擦力g(k)に起因する速度変化量T・g(k)/Cを加味したものとなる。逆にいえば、中間速度u(k)は、摩擦力g(k)に起因する速度変化量T・g(k)/Cが加味される前の摩擦体106の速度に相当する。そのことから、摩擦体106に作用する摩擦力g(k)は、摩擦体106の速度Δq(k)/Tと摩擦力関数φを用いて決定することもできるし、中間速度u(k)と摩擦力関数φを用いて決定することもできる。前者の方式であれば、g(k)=φ(Δq(k)/T)=φ(u(k)+T・g(k)/C)となる。後者の方式であれば、g(k)=φ(u(k))となる。前者の方式を用いる場合の方が、摩擦力g(k)をより正確に設定することができる。
中間速度u(k)が小さいときに摩擦力g(k)を大きく設定してしまうと、摩擦体106の速度Δq(k)/Tが中間速度u(k)に対して反転してしまう。摩擦力には物体を反対方向に移動させる作用はないことから、このような場合は摩擦体106の速度Δq(k)/Tがゼロと計算されなければならない。摩擦体106の速度Δq(k)/Tがゼロとなる場合、摩擦力g(k)は最大静止摩擦力φ(0)を上限として、g(k)=−C・u(k)/Tと決定することができる。即ち、|u(k)|≦T・|φ(0)|/Cのときには、摩擦力g(k)を−C・u(k)/Tと決定する。
Δq(k)/T=u(k)+T・g(k)/C ・・・(8)
(8)式が示すように、摩擦体106の速度Δq(k)/Tは、中間速度u(k)に、摩擦力g(k)に起因する速度変化量T・g(k)/Cを加味したものとなる。逆にいえば、中間速度u(k)は、摩擦力g(k)に起因する速度変化量T・g(k)/Cが加味される前の摩擦体106の速度に相当する。そのことから、摩擦体106に作用する摩擦力g(k)は、摩擦体106の速度Δq(k)/Tと摩擦力関数φを用いて決定することもできるし、中間速度u(k)と摩擦力関数φを用いて決定することもできる。前者の方式であれば、g(k)=φ(Δq(k)/T)=φ(u(k)+T・g(k)/C)となる。後者の方式であれば、g(k)=φ(u(k))となる。前者の方式を用いる場合の方が、摩擦力g(k)をより正確に設定することができる。
中間速度u(k)が小さいときに摩擦力g(k)を大きく設定してしまうと、摩擦体106の速度Δq(k)/Tが中間速度u(k)に対して反転してしまう。摩擦力には物体を反対方向に移動させる作用はないことから、このような場合は摩擦体106の速度Δq(k)/Tがゼロと計算されなければならない。摩擦体106の速度Δq(k)/Tがゼロとなる場合、摩擦力g(k)は最大静止摩擦力φ(0)を上限として、g(k)=−C・u(k)/Tと決定することができる。即ち、|u(k)|≦T・|φ(0)|/Cのときには、摩擦力g(k)を−C・u(k)/Tと決定する。
摩擦力g(k)が定まると、中間速度u(k)と摩擦力g(k)を用いて、上記の(6)式から摩擦体106の位置q(k)を計算することができる。摩擦体106の位置q(k)は、下記の(9)式を満たすこととなる。
q(k)=q(k−1)+T・(u(k)+T・g(k)/C) ・・・(9)
摩擦体106の位置q(k)が定まると、操作子102の位置p(k)と摩擦体106の位置q(k)を用いて、上記の(4)式から操作子102に付加される反力f(k)を計算することができる。反力f(k)は、下記の(10)式を満たすこととなる。
f(k)=−K・(p(k)−q(k))
−(B/T)・(p(k)−p(k−1)−q(k)+q(k−1))
・・・(10)
q(k)=q(k−1)+T・(u(k)+T・g(k)/C) ・・・(9)
摩擦体106の位置q(k)が定まると、操作子102の位置p(k)と摩擦体106の位置q(k)を用いて、上記の(4)式から操作子102に付加される反力f(k)を計算することができる。反力f(k)は、下記の(10)式を満たすこととなる。
f(k)=−K・(p(k)−q(k))
−(B/T)・(p(k)−p(k−1)−q(k)+q(k−1))
・・・(10)
以上のように、操作子モデル100では、操作子102の位置p(k)を用いて中間速度u(k)を計算することができる。次いで、計算した中間速度u(k)と摩擦力関数φを用いて、摩擦力g(k)を決定することができる。次いで、中間速度u(k)と摩擦力g(k)を用いて、摩擦体106の位置q(k)を計算することができる。そして、操作子102の位置p(k)と摩擦体106の位置q(k)を用いて、操作子102に付加される反力f(k)を計算することができる。中間速度u(k)を導入することによって、操作子102の位置p(k)を入力し、操作子102に付加される反力f(k)を単位時間毎に計算する更新則を、上記の(7)、(9)、(10)式を用いて定めることができる。
本発明によって具現化される操作装置は、人が操作する操作子と、操作子に再現する摩擦力を速度の関数によって記憶している摩擦力記憶手段と、操作子の位置を検出する位置検出手段と、位置検出手段によって検出された操作子の位置を用いて、中間速度を単位時間毎に計算する中間速度計算手段と、中間速度計算手段によって計算された中間速度と、摩擦力記憶手段に記憶されている摩擦力関数を用いて、摩擦力を単位時間毎に決定する摩擦力決定手段と、中間速度計算手段によって計算された中間速度と、摩擦力決定手段によって決定された摩擦力を用いて、操作子の目標位置を単位時間毎に計算する目標位置計算手段と、位置検出手段によって検出された操作子の位置と、目標位置計算手段によって計算された操作子の位置を用いて、操作子に加える反力を単位時間毎に計算する反力計算手段と、反力計算手段によって計算された反力を操作子に加えるアクチュエータを備えている。中間速度計算手段によって計算される中間速度u(k)は、上記した(7)式を満たしている。摩擦力決定手段は、中間速度計算手段によって計算された中間速度u(k)と、摩擦力記憶手段に記憶されている摩擦力関数φが速度ゼロに対して記述している摩擦力φ(0)が|u(k)|≦T・|φ(0)|/Cを満たすときに、摩擦力g(k)を−C・u(k)/Tと決定する。目標位置計算手段によって計算される目標位置q(k)は、上記の(9)式を満たしている。反力計算手段によって計算される反力f(k)は、上記の(10)式を満たしている。ここで、φは摩擦力記憶手段に記憶されている摩擦力関数であり、p(k)は位置検出手段によって検出される操作子の位置であり、p(k−1)は位置検出手段によって1単位時間前に検出された操作子の位置であり、q(k−1)は目標位置計算手段によって1単位時間前に計算された操作子の目標位置であり、q(k−2)は目標位置計算手段によって2単位時間前に計算された操作子の目標位置であり、Tは単位時間であり、Mは第1の係数であり、Kは第2の係数であり、Bは第3の係数であり、C=M+T・B+T・T・Kである。操作子の目標位置は、操作子モデル100における摩擦体106の位置に対応する。第1の係数をMは、操作子モデル100における摩擦体106の質量に対応する。第2の係数をKは、操作子モデル100における弾性要素104aの弾性係数Kに対応する。第3の係数をBは、操作子モデル100における粘性要素104bの粘性係数Bに対応する。
この操作装置によると、図1に示す操作子モデル100の操作子102の動作が、操作子の動作に実現される。位置入力−力出力型のインピーダンス制御によって、操作子の動作に摩擦力をより正確に再現することができる。
この操作装置によると、図1に示す操作子モデル100の操作子102の動作が、操作子の動作に実現される。位置入力−力出力型のインピーダンス制御によって、操作子の動作に摩擦力をより正確に再現することができる。
上記の操作装置では、中間速度u(k)と、摩擦力関数φが速度ゼロに対して記述している摩擦力φ(0)が|u(k)|≧T・|φ(0)|/Cを満たすときに、摩擦力決定手段が決定する摩擦力g(k)がg(k)=φ(u(k)+T・g(k)/C)を満たすことが好ましい。
それにより、摩擦力g(k)をより正確に設定することができ、操作子の動作に摩擦力をより正確に再現することが可能となる。
それにより、摩擦力g(k)をより正確に設定することができ、操作子の動作に摩擦力をより正確に再現することが可能となる。
本発明は、人が操作する操作子の動作を調節する方法にも具現化することができる。この方法は、操作子に再現する摩擦力を速度の関数によって記憶しておく工程と、操作子の位置を検出する位置検出工程と、位置検出工程によって検出された操作子の位置を用いて、中間速度を単位時間毎に計算する中間速度計算工程と、中間速度計算工程によって計算した中間速度と、摩擦力記憶工程に記憶されている摩擦力関数を用いて、摩擦力を単位時間毎に決定する摩擦力決定工程と、中間速度計算工程によって計算された中間速度と、摩擦力決定工程によって決定された摩擦力を用いて、操作子の目標位置を単位時間毎に計算する目標位置計算工程と、位置検出工程によって検出された操作子の位置と、目標位置計算工程によって計算された操作子の位置を用いて、操作子に加える反力を単位時間毎に計算する反力計算工程と、アクチュエータを制御して、反力計算工程によって計算された反力を操作子に加える工程を備えている。中間速度計算工程によって計算される中間速度u(k)は、上記の(7)式を満たしている。摩擦力決定工程では、中間速度計算工程によって計算された中間速度u(k)と、摩擦力記憶工程によって記憶された摩擦力関数φが速度ゼロに対して記述している摩擦力φ(0)が|u(k)|≦T・|φ(0)|/Cを満たすときに、摩擦力g(k)を−C・u(k)/Tと決定する。目標位置計算工程によって計算される目標位置q(k)は、上記の(9)式を満たしている。反力計算工程によって計算される反力f(k)は、上記の(10)式を満たしている。
この操作子の動作調節方法によると、位置入力−力出力型のインピーダンス制御によって、操作子の動作に摩擦力をより正確に再現することができる。
この操作子の動作調節方法によると、位置入力−力出力型のインピーダンス制御によって、操作子の動作に摩擦力をより正確に再現することができる。
本発明はまた、人が操作する操作子の動作をアクチュエータによって調節する操作装置が備える電子計算機に実行させるプログラムに具現化することができる。このプログラムは、操作子に再現する摩擦力を速度の関数によって記憶しておく処理と、操作子の位置を入力する位置入力処理と、位置入力処理によって入力された操作子の位置を用いて、中間速度を単位時間毎に計算する中間速度計算処理と、中間速度計算処理によって計算した中間速度と、摩擦力記憶処理に記憶されている摩擦力関数を用いて、摩擦力を単位時間毎に決定する摩擦力決定処理と、中間速度計算処理によって計算された中間速度と、摩擦力決定処理によって決定された摩擦力を用いて、操作子の目標位置を単位時間毎に計算する目標位置計算処理と、前記位置入力処理によって入力された操作子の位置と、目標位置計算処理によって計算された操作子の位置を用いて、操作子に加える反力を単位時間毎に計算する反力計算処理と、アクチュエータを制御して、反力計算処理によって計算された反力を操作子に加える処理を電子計算機に実行させる。中間速度計算処理によって計算される中間速度u(k)は、上記した(7)式を満たしている。摩擦力決定処理は、中間速度計算処理によって計算された中間速度u(k)と、摩擦力記憶処理によって記憶された摩擦力関数φが速度ゼロに対して記述している摩擦力φ(0)が|u(k)|≦T・|φ(0)|/Cを満たすときに、摩擦力g(k)を−C・u(k)/Tと決定する。目標位置計算処理によって計算される目標位置q(k)は、上記した(9)式を満たしている。反力計算処理によって計算される操作反力f(k)は、上記した(10)式を満たしている。
このプログラムを用いると、位置入力−力出力型のインピーダンス制御によって、操作子の動作に摩擦力をより正確に再現することができる。
このプログラムを用いると、位置入力−力出力型のインピーダンス制御によって、操作子の動作に摩擦力をより正確に再現することができる。
本発明により、操作感が良好な操作装置を具現化することが可能となる。位置入力−力出力型のインピーダンス制御であることから、操作装置の構成を簡単化することが可能となる。
本発明を実施するための好適な形態を説明する。
(形態1) 作業支援装置は、作業者が操作する操作子と、操作子のx方向の位置を検出する第1位置センサと、操作子のy方向の位置を検出する第2位置センサと、操作子のz方向の位置を検出する第3位置センサを備えている。
(形態2) 作業支援装置は、各種の演算パラメータを記憶する記憶部を備えている。
(形態1) 作業支援装置は、作業者が操作する操作子と、操作子のx方向の位置を検出する第1位置センサと、操作子のy方向の位置を検出する第2位置センサと、操作子のz方向の位置を検出する第3位置センサを備えている。
(形態2) 作業支援装置は、各種の演算パラメータを記憶する記憶部を備えている。
本発明の実施例について図面を参照しながら説明する。
図2は、作業者による重量物の搬送作業を補助する装置(以下、作業補助装置と略す)2の全体像を示している。図3は、作業補助装置2の構成を模式的に示している。
図2、図3に示す作業補助装置2は、自動車の製造現場において、自動車のインストルメントパネル(以下、インパネと略す)400を、自動車のボディ(図示せず)内に組み付ける工程で利用される。作業者は、インパネ400を自動車ボディ内に搬送し、位置決めし、自動車ボディに固定する作業を行う。作業者は、インパネ400を作業補助装置2に固定し、作業補助装置2を介してインパネ400の搬送と位置決めを行う。詳しくは後述するが、作業補助装置2は、人が操作子4に加える操作に追従して、操作子4の動作をアクチュエータによって調節する。その結果、作業者は、インパネ400よりも軽量な物体を搬送するときの力で、インパネ400を搬送することができる。
図2は、作業者による重量物の搬送作業を補助する装置(以下、作業補助装置と略す)2の全体像を示している。図3は、作業補助装置2の構成を模式的に示している。
図2、図3に示す作業補助装置2は、自動車の製造現場において、自動車のインストルメントパネル(以下、インパネと略す)400を、自動車のボディ(図示せず)内に組み付ける工程で利用される。作業者は、インパネ400を自動車ボディ内に搬送し、位置決めし、自動車ボディに固定する作業を行う。作業者は、インパネ400を作業補助装置2に固定し、作業補助装置2を介してインパネ400の搬送と位置決めを行う。詳しくは後述するが、作業補助装置2は、人が操作子4に加える操作に追従して、操作子4の動作をアクチュエータによって調節する。その結果、作業者は、インパネ400よりも軽量な物体を搬送するときの力で、インパネ400を搬送することができる。
図2に示すように、作業補助装置2は、一対の固定レール8a、8bと、その固定レール8a、8bの長手方向に沿ってスライド可能な第1可動体10と、その第1可動体10の長手方向に沿ってスライド可能な第2可動体20と、その第2可動体20の長手方向に沿ってスライド可能な第3可動体30を備えている。以下、固定レール8a、8bの長手方向をx方向とし、第1可動体10の長手方向をy方向とし、第2可動体20の長手方向をz方向とする。x方向とy方向とz方向は互いに略直交している。また、第3可動体30には、インパネ400を支持可能なインパネ支持体40が取り付けられている。インパネ支持体40には、インパネ400を脱着可能に固定するための固定部46等が設けられている。
作業補助装置2は、第3可動体30に固定されている操作子4を備えている。作業者が操作子4を操作することによって、各可動体10、20、30が移動し、インパネ400の位置が変化する。作業者は、操作子4を操作(移動)することによって、インパネ400を所定の可動空間内において自由に移動することができる。
作業補助装置2は、第3可動体30に固定されている操作子4を備えている。作業者が操作子4を操作することによって、各可動体10、20、30が移動し、インパネ400の位置が変化する。作業者は、操作子4を操作(移動)することによって、インパネ400を所定の可動空間内において自由に移動することができる。
図3に示すように、作業補助装置2は、第1可動体10のx方向の位置を検出する第1位置センサ12と、第2可動体20のy方向の位置を検出する第2位置センサ22と、第3可動体30のz方向の位置を検出する第3位置センサ32を備えている。作業補助装置2は、第1位置センサ12と第2位置センサ22と第3位置センサ32によって、操作子4の位置を検出することができる。
図2、図3に示すように、作業補助装置2は、第1可動体10をx方向にスライドさせる力を出力する第1アクチュエータ16と、第2可動体20をy方向にスライドさせる力を出力する第2アクチュエータ26と、第3可動体30をz方向にスライドさせる力を出力する第3アクチュエータ36を備えている。作業補助装置2は、第1アクチュエータ16と第2アクチュエータ26と第3アクチュエータ36が出力する力を調節することによって、作業者が操作子から受ける操作反力を調節できるようになっている。
図2、図3に示すように、作業補助装置2は、第1可動体10をx方向にスライドさせる力を出力する第1アクチュエータ16と、第2可動体20をy方向にスライドさせる力を出力する第2アクチュエータ26と、第3可動体30をz方向にスライドさせる力を出力する第3アクチュエータ36を備えている。作業補助装置2は、第1アクチュエータ16と第2アクチュエータ26と第3アクチュエータ36が出力する力を調節することによって、作業者が操作子から受ける操作反力を調節できるようになっている。
図2、図3に示すように、作業補助装置2は制御ユニット60を備えている。制御ユニット60は、演算処理を実行する処理部70と、処理部70が演算処理に用いるプログラムや制御パラメータ等を記憶している記憶部66と、入力パネル64等を備えているまた制御ユニット60は、第1アクチュエータ16を制御する第1ドライバ14と、第2アクチュエータ26を制御する第2ドライバ24と、第3アクチュエータ36を制御する第3ドライバ34を備えている。
記憶部66は、処理部70が後述する処理を実行する際に用いるプログラムや、処理部70が後述する処理を実行する際に用いる演算パラメータ等を記憶している。記憶部66は、操作子4の運動に再現する摩擦力を速度の関数で記述している摩擦力関数を記憶している。これらの演算パラメータ等は、作業者が入力パネル64を利用して予め教示しておくことができるとともに、必要に応じて調整することもできる。作業者が入力パネル64から入力した演算パラメータ等は、処理部70を介して記憶部66に記憶される。
記憶部66は、処理部70が後述する処理を実行する際に用いるプログラムや、処理部70が後述する処理を実行する際に用いる演算パラメータ等を記憶している。記憶部66は、操作子4の運動に再現する摩擦力を速度の関数で記述している摩擦力関数を記憶している。これらの演算パラメータ等は、作業者が入力パネル64を利用して予め教示しておくことができるとともに、必要に応じて調整することもできる。作業者が入力パネル64から入力した演算パラメータ等は、処理部70を介して記憶部66に記憶される。
図4を参照して、摩擦力gと速度vの関係を記述する摩擦力関数φについて説明する。図4は、摩擦力関数φの4つの例を示している。図4に示す摩擦力関数φは、摩擦力が異方性を持たないものとし、摩擦力gの大きさ|g|と速度vの大きさ|v|の関係のみを記述している。摩擦力が異方性を持つ(速度の正負によって摩擦力が異なる)場合には、正負を含めた速度vに対して摩擦力gを記述する摩擦力関数φを用意するとよい。
図4(a)に示す摩擦力関数φは、φ(|v|)=Fcである。この摩擦力関数φは、速度vの大きさ|v|に関わらず、摩擦力gの大きさ|g|が定数Fcであることを示している。操作子4の運動に、動摩擦力と最大静止摩擦力が等しい摩擦力(いわゆるクーロン摩擦力)を再現する場合には、図4(a)に示す摩擦力関数φを用いるとよい。
図4(b)に示す摩擦力関数φは、|v|=0のときにφ(0)=Fsであり、|v|>0のときにφ(|v|)=Fcであることを示している。この摩擦力関数φは、最大静止摩擦力が定数Fsであり、動摩擦力が定数Fcであることを示している。操作子4の運動に、動摩擦力と最大静止摩擦力が異なる摩擦力を再現する場合には、図4(b)に示す摩擦力関数φを用いるとよい。
図4(a)に示す摩擦力関数φは、φ(|v|)=Fcである。この摩擦力関数φは、速度vの大きさ|v|に関わらず、摩擦力gの大きさ|g|が定数Fcであることを示している。操作子4の運動に、動摩擦力と最大静止摩擦力が等しい摩擦力(いわゆるクーロン摩擦力)を再現する場合には、図4(a)に示す摩擦力関数φを用いるとよい。
図4(b)に示す摩擦力関数φは、|v|=0のときにφ(0)=Fsであり、|v|>0のときにφ(|v|)=Fcであることを示している。この摩擦力関数φは、最大静止摩擦力が定数Fsであり、動摩擦力が定数Fcであることを示している。操作子4の運動に、動摩擦力と最大静止摩擦力が異なる摩擦力を再現する場合には、図4(b)に示す摩擦力関数φを用いるとよい。
図4(c)に示す摩擦力関数φは、φ(|v|)=Fc+D・|v|である。この摩擦力関数φは、速度vの大きさ|v|に比例して、摩擦力gの大きさ|g|が増大することを示している。操作子4の運動に、速度に比例して増大する摩擦力を再現する場合には、図4(c)に示す摩擦力関数φを用いるとよい。このような摩擦力は、例えば摩擦面に潤滑油が介在する場合に生じる摩擦力に相当する。
図4(d)に示す摩擦力関数φは、φ(|v|)=Fc−(Fs+Fc)・exp(−(|v|/Vs)δ)である。この摩擦力関数φは、速度vの大きさ|v|に応じて、摩擦力gの大きさ|g|が減少することを示している。操作子4の運動に、速度に応じて減少する摩擦力を再現する場合には、図4(d)に示す摩擦力関数φを用いるとよい。このような摩擦力は、例えば摩擦面に潤滑油が介在しており、速度の増加によって潤滑油膜が厚くなる場合に生じる摩擦力に相当する。なお、上式のVsやδは所定のパラメータであり、実験等によって求めることができるものである。
図4(d)に示す摩擦力関数φは、φ(|v|)=Fc−(Fs+Fc)・exp(−(|v|/Vs)δ)である。この摩擦力関数φは、速度vの大きさ|v|に応じて、摩擦力gの大きさ|g|が減少することを示している。操作子4の運動に、速度に応じて減少する摩擦力を再現する場合には、図4(d)に示す摩擦力関数φを用いるとよい。このような摩擦力は、例えば摩擦面に潤滑油が介在しており、速度の増加によって潤滑油膜が厚くなる場合に生じる摩擦力に相当する。なお、上式のVsやδは所定のパラメータであり、実験等によって求めることができるものである。
処理部70は、各位置センサ12、22、32によって検出された操作子4の位置を入力し、各アクチュエータ16、26、36が各可動体10、20、30に加えるべき力を計算する。処理部70は、検出された操作子4の位置を用いて、中間速度を単位時間毎に計算する中間速度計算部72と、中間速度計算部72によって計算された中間速度と、記憶部に記憶されている摩擦力関数φを用いて、摩擦力gを単位時間毎に決定する摩擦力決定部74と、中間速度計算部72によって計算された中間速度と、摩擦力決定部74によって決定された摩擦力を用いて、操作子4の目標位置を単位時間毎に計算する目標位置計算部76と、検出された操作子4の位置と、目標位置計算部76によって計算された操作子4の位置を用いて、操作子4から人に加えるべき操作反力を単位時間毎に計算する反力計算部78と、反力計算部78によって計算された操作反力を用いて、アクチュエータ16、26、36が出力する力を単位時間毎に計算する出力計算部80を備えている。
処理部70は、操作子4の動作に、図1に示す操作子モデル100の操作子102の動作が成立するように、各アクチュエータ16、26、36が出力する力を計算する。先に説明したように、操作子モデル100は、前記した(7)式、(9)式、(10)式等を用いて離散時間表現することができる。中間速度計算部72が単位時間毎に計算する中間速度u(k)は、前記した(7)式の関係を満たす。目標位置計算部76が単位時間毎に計算する操作子4の目標位置q(k)は、前記した(9)式の関係を満たす。反力計算部78が単位時間毎に計算する操作反力fは、前記した(10)式を満たす。記憶部66には、操作子モデル100における摩擦体106の質量Mに相当する第1の係数Mや、弾性要素4aの弾性係数Kに相当する第2の係数Kや、粘性要素4bの粘性係数Bに相当する第3の係数Bが記憶されている。これらの係数M、B、Kは、作業者が予め設定し、記憶部66に記憶させておくことができる。
処理部70は、操作子4の動作に、図1に示す操作子モデル100の操作子102の動作が成立するように、各アクチュエータ16、26、36が出力する力を計算する。先に説明したように、操作子モデル100は、前記した(7)式、(9)式、(10)式等を用いて離散時間表現することができる。中間速度計算部72が単位時間毎に計算する中間速度u(k)は、前記した(7)式の関係を満たす。目標位置計算部76が単位時間毎に計算する操作子4の目標位置q(k)は、前記した(9)式の関係を満たす。反力計算部78が単位時間毎に計算する操作反力fは、前記した(10)式を満たす。記憶部66には、操作子モデル100における摩擦体106の質量Mに相当する第1の係数Mや、弾性要素4aの弾性係数Kに相当する第2の係数Kや、粘性要素4bの粘性係数Bに相当する第3の係数Bが記憶されている。これらの係数M、B、Kは、作業者が予め設定し、記憶部66に記憶させておくことができる。
図5は、処理部70が実行する演算処理の流れを示すフローチャートである。処理部70は、図5に示す処理を、単位時間T毎に繰り返し実行する。図5に示す処理フローに沿って、処理部70の演算処理について詳細に説明する。
ステップS2では、各位置センサ12、22、32の出力信号を用いて、現時点の操作子4の位置を検出する。以下、この演算サイクルにおける操作子4の位置をp(k)と記述する。検出された操作子4の位置p(k)は、記憶部66に記憶される。
ステップS4では、中間速度計算部72によって中間速度が計算される。以下、この動作サイクルにおける中間速度をu(k)と記述する。中間速度u(k)は、例えば前記した(7)式を用いて計算することができる。
u(k)=(p(k)−p(k−1))/T
+((T・K)/C)・(p(k−1)−q(k−1))
−(M/(T・C)・(p(k)−p(k−1)−q(k−1)+q(k−2))
ここで、p(k−1)は、前回の演算サイクル(1単位時間前)において検出された操作子4の位置である。q(k−1)は、前回の演算サイクル(1単位時間前)において目標位置計算部76によって計算された操作子4の目標位置である。q(k−2)は、前々回の演算サイクル(2単位時間前)において、目標位置計算部76によって計算された操作子4の目標位置である。これらの位置p(k−1)、q(k−1)、q(k−2)は、記憶部66に記憶されている。上式中の係数Cは、C=M+T・B+T・T・Kである。
ステップS2では、各位置センサ12、22、32の出力信号を用いて、現時点の操作子4の位置を検出する。以下、この演算サイクルにおける操作子4の位置をp(k)と記述する。検出された操作子4の位置p(k)は、記憶部66に記憶される。
ステップS4では、中間速度計算部72によって中間速度が計算される。以下、この動作サイクルにおける中間速度をu(k)と記述する。中間速度u(k)は、例えば前記した(7)式を用いて計算することができる。
u(k)=(p(k)−p(k−1))/T
+((T・K)/C)・(p(k−1)−q(k−1))
−(M/(T・C)・(p(k)−p(k−1)−q(k−1)+q(k−2))
ここで、p(k−1)は、前回の演算サイクル(1単位時間前)において検出された操作子4の位置である。q(k−1)は、前回の演算サイクル(1単位時間前)において目標位置計算部76によって計算された操作子4の目標位置である。q(k−2)は、前々回の演算サイクル(2単位時間前)において、目標位置計算部76によって計算された操作子4の目標位置である。これらの位置p(k−1)、q(k−1)、q(k−2)は、記憶部66に記憶されている。上式中の係数Cは、C=M+T・B+T・T・Kである。
ステップS6、S8、S10では、摩擦力決定部74によって摩擦力g(k)が決定される。
先ずステップS6では、中間速度u(k)の大きさ|u(k)|が、次式を満たすのか否かを判定する。
|u(k)|≦T・φ(0)/C
この判定でイエスとなればステップS8へ進み、この判定でノーとなればステップS10へ進む。
ステップS8では、摩擦力g(k)を、中間速度u(k)を用いて次式によって決定する。このとき、摩擦力関数φは使用しない。
g(k)=−C・u(k)/T
上式のマイナスの符号は、摩擦力g(k)と中間速度u(k)が反対向きであることを示している。
一方、ステップS10では、摩擦力g(k)を、中間速度u(k)と摩擦力関数φを用いて決定する。即ち、
g(k)=−φ(|u(t)|)
となる。
先ずステップS6では、中間速度u(k)の大きさ|u(k)|が、次式を満たすのか否かを判定する。
|u(k)|≦T・φ(0)/C
この判定でイエスとなればステップS8へ進み、この判定でノーとなればステップS10へ進む。
ステップS8では、摩擦力g(k)を、中間速度u(k)を用いて次式によって決定する。このとき、摩擦力関数φは使用しない。
g(k)=−C・u(k)/T
上式のマイナスの符号は、摩擦力g(k)と中間速度u(k)が反対向きであることを示している。
一方、ステップS10では、摩擦力g(k)を、中間速度u(k)と摩擦力関数φを用いて決定する。即ち、
g(k)=−φ(|u(t)|)
となる。
ステップS12では、目標位置計算部76によって、操作子4の目標位置q(k)が計算される。操作子4の目標位置q(k)は、図1に示す操作子モデル100の摩擦体106の位置qに相当する。目標位置q(k)は、例えば前記した(9)式を用いて計算することができる。
q(k)=q(k−1)+T・(u(k)+T・g(k)/C)
計算された操作子4の目標位置q(k)は、記憶部66に記憶される。
ステップS14では、反力計算部78によって、操作子4から作業者へ加えるべき操作反力f(k)が計算される。操作反力f(k)は、例えば前記した(10)式を用いて計算することができる。
f(k)=−K・(p(k)−q(k))
−(B/T)・(p(k)−p(k−1)−q(k)+q(k−1))
q(k)=q(k−1)+T・(u(k)+T・g(k)/C)
計算された操作子4の目標位置q(k)は、記憶部66に記憶される。
ステップS14では、反力計算部78によって、操作子4から作業者へ加えるべき操作反力f(k)が計算される。操作反力f(k)は、例えば前記した(10)式を用いて計算することができる。
f(k)=−K・(p(k)−q(k))
−(B/T)・(p(k)−p(k−1)−q(k)+q(k−1))
ステップS16では、出力計算部80によって、アクチュエータ16、26、36の出力τ(k)が計算される。出力計算部80は、ステップS14で計算した操作反力f(k)を用いて、アクチュエータ16、26、36の出力τ(k)を計算する。例えば作業補助装置2の機械特性を補償する(打ち消す)必要がない場合は、アクチュエータ16、26、36によって操作子4に加えられる力が、ステップS14で計算した操作反力f(k)と等しくなるように、アクチュエータ16、26、36の出力τ(k)を決定する。作業補助装置2の機械特性を補償する場合は、アクチュエータ16、26、36によって操作子4に加えられる力が、作業補助装置2の機械特性を補償するのに要する力と操作反力f(k)との合力となるように、アクチュエータ16、26、36の出力τ(k)を決定する。このとき、作業補助装置2の機械特性を補償するのに要する力は、前記した(1)式等を用い、従来のインピーダンス制御による手法を用いて決定してもよい。それにより、操作子4の動作に、粘性力や弾性力等を併せて再現することができる。
ステップS18では、ステップS16において計算された出力を用いて、各ドライバ14、24、34に動作指示が与えられる。各ドライバ14、24、34は、各アクチュエータ16、26、36の出力を調節する。
ステップS18では、ステップS16において計算された出力を用いて、各ドライバ14、24、34に動作指示が与えられる。各ドライバ14、24、34は、各アクチュエータ16、26、36の出力を調節する。
処理部70は、ステップS18の処理を完了した後、再びステップS2へ戻り、以上の処理を単位時間T毎に繰り返し実行する。それにより、作業者が操作子4に加えた操作に追従して、操作子4の動作がアクチュエータ16、26、36によって調節される。
この作業補助装置2では、作業者が操作子4を操作したときに、図1に示す操作子モデル100を操作したときと同じ操作反力が、操作子4から作業者に与えられる。操作子4が静止している状態で、作業者が操作子2に最大静止摩擦力に相当するFc=φ(0)よりも大きな操作力を加えると、操作子4は移動する。作業者が操作子2に摩擦力g(k)=Fcよりも小さな操作力を加えた場合は、操作子4は僅かに弾性変位するに留まり、操作子4の位置は維持される。この操作子4の弾性変位は、第2係数Kや第3係数Bの設定により、作業者が操作子4等のたわみと区別できない程度に抑えることができる。
また、この作業補助装置2では、第1の係数Mをゼロに設定することもできる。第1の係数Mは、操作子モデル100の摩擦体106の質量に相当する。第1の係数Mにゼロ以外の値を設定した場合には、計算される操作反力f(k)に、摩擦体106の慣性力や遠心力に相当する力が付加される。第1の係数Mにゼロを設定した場合には、計算される操作反力f(k)が、摩擦力g(k)と等しくなる。
また、この作業補助装置2では、第1の係数Mをゼロに設定することもできる。第1の係数Mは、操作子モデル100の摩擦体106の質量に相当する。第1の係数Mにゼロ以外の値を設定した場合には、計算される操作反力f(k)に、摩擦体106の慣性力や遠心力に相当する力が付加される。第1の係数Mにゼロを設定した場合には、計算される操作反力f(k)が、摩擦力g(k)と等しくなる。
摩擦力関数φには、図4に例示するものに限らず、様々な形態のものを用いることができる。このとき、例えば図4(c)(d)に示す摩擦力関数φのように、速度に応じて増減変化する摩擦力関数φを用いる場合には、次に説明する処理を付加することが好ましい。
図6(a)に示すように、例えば図4(d)に示す摩擦力関数φを用いる場合、ステップS8において決定される摩擦力g=C・u/Tと、ステップS10において決定される摩擦力g=φ(u)が不連続になってしまう。中間速度uに対して摩擦力gが不連続に決定されてしまうと、操作子4に不自然な動作が発現してしまうことがある。従って、ステップS10では、摩擦力関数φを修正した上で、摩擦力gを決定するとよい。図6(b)に示すように、摩擦力関数φを速度軸u方向に移動量Δuだけ平行移動することによって、中間速度uに対して摩擦力gが連続的に変化するようになる。この修正した摩擦力関数φを、修正摩擦力関数φ*と呼ぶ。修正摩擦力関数φ*は、次式で表すことができる。
φ*(u)=φ(u−Δu)
上記の移動量Δuは、例えばその大きさを一定として、Δu=Fc・T/Cと定めることができる。
あるいは、修正摩擦力関数φ*を、次式のように定義してもよい。
φ*(u)=g s.t. g=φ(u+T・g/C)
上式は、操作子モデル100において、摩擦体106の速度Δq/Tを用いて摩擦力gを決定することに相当する。この修正摩擦力関数φ*によると、摩擦力g(k)をより正確に決定することができ、操作子4はより自然に動作することとなる。上式を満たす摩擦力gは、例えば解析演算等によって計算することができる。
図6(a)に示すように、例えば図4(d)に示す摩擦力関数φを用いる場合、ステップS8において決定される摩擦力g=C・u/Tと、ステップS10において決定される摩擦力g=φ(u)が不連続になってしまう。中間速度uに対して摩擦力gが不連続に決定されてしまうと、操作子4に不自然な動作が発現してしまうことがある。従って、ステップS10では、摩擦力関数φを修正した上で、摩擦力gを決定するとよい。図6(b)に示すように、摩擦力関数φを速度軸u方向に移動量Δuだけ平行移動することによって、中間速度uに対して摩擦力gが連続的に変化するようになる。この修正した摩擦力関数φを、修正摩擦力関数φ*と呼ぶ。修正摩擦力関数φ*は、次式で表すことができる。
φ*(u)=φ(u−Δu)
上記の移動量Δuは、例えばその大きさを一定として、Δu=Fc・T/Cと定めることができる。
あるいは、修正摩擦力関数φ*を、次式のように定義してもよい。
φ*(u)=g s.t. g=φ(u+T・g/C)
上式は、操作子モデル100において、摩擦体106の速度Δq/Tを用いて摩擦力gを決定することに相当する。この修正摩擦力関数φ*によると、摩擦力g(k)をより正確に決定することができ、操作子4はより自然に動作することとなる。上式を満たす摩擦力gは、例えば解析演算等によって計算することができる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2・・作業補助装置
4・・操作子
8a、8b・・固定レール
10、20、30・・可動体
12、22、32・・位置センサ
14、24,34・・ドライバ
16、26、36・・アクチュエータ
60・・制御ユニット
64・・入力パネル
66・・記憶部
70・・処理部
100・・操作子モデル
102・・操作子モデルの操作子
104・・粘弾性要素
106・・摩擦体
400・・インパネ
4・・操作子
8a、8b・・固定レール
10、20、30・・可動体
12、22、32・・位置センサ
14、24,34・・ドライバ
16、26、36・・アクチュエータ
60・・制御ユニット
64・・入力パネル
66・・記憶部
70・・処理部
100・・操作子モデル
102・・操作子モデルの操作子
104・・粘弾性要素
106・・摩擦体
400・・インパネ
Claims (4)
- 人が操作する操作子と、
操作子に再現する摩擦力を速度の関数によって記憶している摩擦力記憶手段と、
操作子の位置を検出する位置検出手段と、
位置検出手段によって検出された操作子の位置を用いて、中間速度を単位時間毎に計算する中間速度計算手段と、
中間速度計算手段によって計算された中間速度と、摩擦力記憶手段に記憶されている摩擦力関数を用いて、摩擦力を単位時間毎に決定する摩擦力決定手段と、
中間速度計算手段によって計算された中間速度と、摩擦力決定手段によって決定された摩擦力を用いて、操作子の目標位置を単位時間毎に計算する目標位置計算手段と、
位置検出手段によって検出された操作子の位置と、目標位置計算手段によって計算された操作子の位置を用いて、操作子に加える反力を単位時間毎に計算する反力計算手段と、
反力計算手段によって計算された反力を操作子に加えるアクチュエータを備え、
前記摩擦力記憶手段に記憶されている摩擦力関数をφ、前記位置検出手段によって検出された操作子の位置をp(k)、前記位置検出手段によって1単位時間前に検出された操作子の検出位置をp(k−1)、前記目標位置計算手段によって1単位時間前に計算された操作子の目標位置をq(k−1)、前記目標位置計算手段によって2単位時間前に計算された操作子の目標位置をq(k−2)、単位時間をT、第1の係数をM、第2の係数をK、第3の係数をB、C=M+T・B+T・T・Kとしたときに、
前記中間速度計算手段によって計算される中間速度u(k)が次式、即ち、
u(k)=(p(k)−p(k−1))/T
+(T・K/C)・(p(k−1)−q(k−1))
−(M/(T・C))・(p(k)−p(k−1)−q(k−1)+q(k−2))
を満たしており、
前記摩擦力決定手段は、前記中間速度計算手段によって計算された中間速度u(k)と、前記摩擦力記憶手段に記憶されている摩擦力関数φが速度ゼロに対して記述している摩擦力φ(0)が|u(k)|≦T・|φ(0)|/Cを満たすときに、摩擦力g(k)を−C・u(k)/Tと決定し、
前記目標位置計算手段によって計算される目標位置q(k)が次式、即ち、
q(k)=q(k−1)+T・(u(k)+T・g(k)/C)
を満たしており、
前記反力計算手段によって計算される反力f(k)が次式、即ち、
f(k)=−K・(p(k)−q(k))
−(B/T)・(p(k)−p(k−1)−q(k)+q(k−1))
を満たしていることを特徴とする操作装置。 - 前記中間速度u(k)と、前記摩擦力関数φが速度ゼロに対して記述している摩擦力φ(0)が|u(k)|≧T・|φ(0)|/Cを満たすときに、前記摩擦力決定手段が決定する摩擦力g(k)がg(k)=φ(u(k)+T・g(k)/C)を満たすことを特徴とする請求項1の操作装置。
- 人が操作する操作子の動作を調節する方法であり、
操作子に再現する摩擦力を速度の関数によって記憶しておく工程と、
操作子の位置を検出する位置検出工程と、
位置検出工程によって検出された操作子の位置を用いて、中間速度を単位時間毎に計算する中間速度計算工程と、
中間速度計算工程によって計算した中間速度と、摩擦力記憶工程に記憶されている摩擦力関数を用いて、摩擦力を単位時間毎に決定する摩擦力決定工程と、
中間速度計算工程によって計算された中間速度と、摩擦力決定工程によって決定された摩擦力を用いて、操作子の目標位置を単位時間毎に計算する目標位置計算工程と、
位置検出工程によって検出された操作子の位置と、目標位置計算工程によって計算された操作子の位置を用いて、操作子に加える反力を単位時間毎に計算する反力計算工程と、
アクチュエータを制御して、反力計算工程によって計算された反力を操作子に加える工程を備え、
前記摩擦力記憶工程によって記憶された摩擦力関数をφ、前記位置検出工程によって検出された操作子の位置をp(k)、前記位置検出工程によって1単位時間前に検出された操作子の検出位置をp(k−1)、前記目標位置計算工程によって1単位時間前に計算された操作子の目標位置をq(k−1)、前記目標位置計算工程によって2単位時間前に計算された操作子の目標位置をq(k−2)、単位時間をT、第1の係数をM、第2の係数をB、第3の係数をK、C=M+T・B+T・T・Kとしたときに、
前記中間速度計算工程によって計算される中間速度u(k)が次式、即ち、
u(k)=(p(k)−p(k−1))/T
+(T・K/C)・(p(k−1)−q(k−1))
−(M/(T・C))・(p(k)−p(k−1)−q(k−1)+q(k−2))
を満たしており、
前記摩擦力決定工程では、前記中間速度計算工程によって計算された中間速度u(k)と、前記摩擦力記憶工程によって記憶された摩擦力関数φが速度ゼロに対して記述している摩擦力φ(0)が|u(k)|≦T・|φ(0)|/Cを満たすときに、摩擦力g(k)を−C・u(k)/Tと決定し、
前記目標位置計算工程によって計算される目標位置q(k)が次式、即ち、
q(k)=q(k−1)+T・(u(k)+T・g(k)/C)
を満たしており、
前記反力計算工程によって計算される反力f(k)が次式、即ち、
f(k)=−K・(p(k)−q(k))
−(B/T)・(p(k)−p(k−1)−q(k)+q(k−1))
を満たしていることを特徴とする操作子の動作を調節する方法。 - 人が操作する操作子の動作をアクチュエータによって調節するためのプログラムであり、電子計算機に以下の処理、即ち、
操作子に再現する摩擦力を速度の関数によって記憶しておく処理と、
操作子の位置を入力する位置入力処理と、
位置入力処理によって入力された操作子の位置を用いて、中間速度を単位時間毎に計算する中間速度計算処理と、
中間速度計算処理によって計算した中間速度と、摩擦力記憶処理に記憶されている摩擦力関数を用いて、摩擦力を単位時間毎に決定する摩擦力決定処理と、
中間速度計算処理によって計算された中間速度と、摩擦力決定処理によって決定された摩擦力を用いて、操作子の目標位置を単位時間毎に計算する目標位置計算処理と、
前記位置入力処理によって入力された操作子の位置と、目標位置計算処理によって計算された操作子の位置を用いて、操作子に加える反力を単位時間毎に計算する反力計算処理と、
アクチュエータを制御して、反力計算処理によって計算された反力を操作子に加える処理を実行させるプログラムであり、
前記摩擦力記憶処理によって記憶された摩擦力関数をφ、前記位置入力処理によって入力された操作子の位置をp(k)、前記位置入力処理によって1単位時間前に入力された操作子の入力位置をp(k−1)、前記目標位置計算処理によって1単位時間前に計算された操作子の目標位置をq(k−1)、前記目標位置計算処理によって2単位時間前に計算された操作子の目標位置をq(k−2)、単位時間をT、第1の係数をM、第2の係数をB、第3の係数をK、C=M+T・B+T・T・Kとしたときに、
前記中間速度計算処理によって計算される中間速度u(k)が次式、即ち、
u(k)=(p(k)−p(k−1))/T
+(T・K/C)・(p(k−1)−q(k−1))
−(M/(T・C))・(p(k)−p(k−1)−q(k−1)+q(k−2))
を満たしており、
前記摩擦力決定処理は、前記中間速度計算処理によって計算された中間速度u(k)と、前記摩擦力記憶処理によって記憶された摩擦力関数φが速度ゼロに対して記述している摩擦力φ(0)が|u(k)|≦T・|φ(0)|/Cを満たすときに、摩擦力g(k)を−C・u(k)/Tと決定し、
目標位置計算処理によって計算される目標位置q(k)が次式、即ち、
q(k)=q(k−1)+T・(u(k)+T・g(k)/C)
を満たしており、
前記反力計算処理によって計算される操作反力f(k)が次式、即ち、
f(k)=−K・(p(k)−q(k))
−(B/T)・(p(k)−p(k−1)−q(k)+q(k−1))
を満たしていることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005222622A JP2007038315A (ja) | 2005-08-01 | 2005-08-01 | 操作装置と操作子の動作調節方法とそのためのプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005222622A JP2007038315A (ja) | 2005-08-01 | 2005-08-01 | 操作装置と操作子の動作調節方法とそのためのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007038315A true JP2007038315A (ja) | 2007-02-15 |
Family
ID=37796765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005222622A Pending JP2007038315A (ja) | 2005-08-01 | 2005-08-01 | 操作装置と操作子の動作調節方法とそのためのプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007038315A (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009208170A (ja) * | 2008-02-29 | 2009-09-17 | Toyota Motor Corp | パワーアシスト装置およびその制御方法 |
WO2013018934A1 (en) * | 2011-08-04 | 2013-02-07 | Olympus Corporation | Manipulation input device and manipulator system having the same |
US9161772B2 (en) | 2011-08-04 | 2015-10-20 | Olympus Corporation | Surgical instrument and medical manipulator |
US9218053B2 (en) | 2011-08-04 | 2015-12-22 | Olympus Corporation | Surgical assistant system |
US9244524B2 (en) | 2011-08-04 | 2016-01-26 | Olympus Corporation | Surgical instrument and control method thereof |
US9244523B2 (en) | 2011-08-04 | 2016-01-26 | Olympus Corporation | Manipulator system |
US9423869B2 (en) | 2011-08-04 | 2016-08-23 | Olympus Corporation | Operation support device |
US9477301B2 (en) | 2011-08-04 | 2016-10-25 | Olympus Corporation | Operation support device and assembly method thereof |
US9519341B2 (en) | 2011-08-04 | 2016-12-13 | Olympus Corporation | Medical manipulator and surgical support apparatus |
US9524022B2 (en) | 2011-08-04 | 2016-12-20 | Olympus Corporation | Medical equipment |
JP2017013167A (ja) * | 2015-06-30 | 2017-01-19 | 株式会社デンソーウェーブ | ロボットアームの操作システム |
US9568992B2 (en) | 2011-08-04 | 2017-02-14 | Olympus Corporation | Medical manipulator |
US9632573B2 (en) | 2011-08-04 | 2017-04-25 | Olympus Corporation | Medical manipulator and method of controlling the same |
US9632577B2 (en) | 2011-08-04 | 2017-04-25 | Olympus Corporation | Operation support device and control method thereof |
US9851782B2 (en) | 2011-08-04 | 2017-12-26 | Olympus Corporation | Operation support device and attachment and detachment method thereof |
-
2005
- 2005-08-01 JP JP2005222622A patent/JP2007038315A/ja active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009208170A (ja) * | 2008-02-29 | 2009-09-17 | Toyota Motor Corp | パワーアシスト装置およびその制御方法 |
US9423869B2 (en) | 2011-08-04 | 2016-08-23 | Olympus Corporation | Operation support device |
US9218053B2 (en) | 2011-08-04 | 2015-12-22 | Olympus Corporation | Surgical assistant system |
US9477301B2 (en) | 2011-08-04 | 2016-10-25 | Olympus Corporation | Operation support device and assembly method thereof |
US9161772B2 (en) | 2011-08-04 | 2015-10-20 | Olympus Corporation | Surgical instrument and medical manipulator |
US9519341B2 (en) | 2011-08-04 | 2016-12-13 | Olympus Corporation | Medical manipulator and surgical support apparatus |
US9244524B2 (en) | 2011-08-04 | 2016-01-26 | Olympus Corporation | Surgical instrument and control method thereof |
US9244523B2 (en) | 2011-08-04 | 2016-01-26 | Olympus Corporation | Manipulator system |
US9524022B2 (en) | 2011-08-04 | 2016-12-20 | Olympus Corporation | Medical equipment |
CN103687701A (zh) * | 2011-08-04 | 2014-03-26 | 奥林巴斯株式会社 | 操纵输入装置和具有该操纵输入装置的机械手系统 |
JP2013035117A (ja) * | 2011-08-04 | 2013-02-21 | Olympus Corp | 操作入力装置およびこれを備えるマニピュレータシステム |
WO2013018934A1 (en) * | 2011-08-04 | 2013-02-07 | Olympus Corporation | Manipulation input device and manipulator system having the same |
US9851782B2 (en) | 2011-08-04 | 2017-12-26 | Olympus Corporation | Operation support device and attachment and detachment method thereof |
US9568992B2 (en) | 2011-08-04 | 2017-02-14 | Olympus Corporation | Medical manipulator |
US9632573B2 (en) | 2011-08-04 | 2017-04-25 | Olympus Corporation | Medical manipulator and method of controlling the same |
US9632577B2 (en) | 2011-08-04 | 2017-04-25 | Olympus Corporation | Operation support device and control method thereof |
US9671860B2 (en) | 2011-08-04 | 2017-06-06 | Olympus Corporation | Manipulation input device and manipulator system having the same |
JP2017013167A (ja) * | 2015-06-30 | 2017-01-19 | 株式会社デンソーウェーブ | ロボットアームの操作システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007038315A (ja) | 操作装置と操作子の動作調節方法とそのためのプログラム | |
EP3651942B1 (en) | Vibration control of systems with configuration dependent dynamics | |
JP5893666B2 (ja) | 力に応じて動かすロボットのロボット制御装置およびロボットシステム | |
Moallem et al. | Nonlinear tip-position tracking control of a flexible-link manipulator: theory and experiments | |
EP1625993A1 (en) | Steering control device | |
US20160158601A1 (en) | Human muscular strength amplification robot driven by intention of user and driving method thereof | |
JP2019194059A (ja) | モータ制御装置 | |
JP6044511B2 (ja) | ロボットの制御方法及びロボットシステム | |
US6477445B1 (en) | Method and apparatus for controlling an industrial robot | |
WO2019013067A1 (ja) | 力制御装置、力制御方法及び力制御プログラム | |
JPWO2007105527A1 (ja) | 位置決め機構の制御方法および制御装置 | |
JP6032811B2 (ja) | アドミッタンス制御を用いた力制御装置及び位置制御装置 | |
WO2017026234A1 (ja) | 振動制御装置、振動制御方法、振動制御システム、プログラム及び記録媒体 | |
JP7160914B2 (ja) | パワーステアリングシステムにおける摩擦補償の方法および関連する推定方法 | |
US7853379B2 (en) | Method and control structure for controlling a control angle and an output torque of a superposition angle actuator | |
JP4404789B2 (ja) | 操作装置と、操作子の動作調節方法と、そのためのプログラム | |
JPH10309684A (ja) | マニピュレータのコンプライアンス制御方式 | |
Baser et al. | Utilization of motor current based torque feedback to improve the transparency of haptic interfaces | |
JP2004234205A (ja) | 数値制御装置 | |
JP4630684B2 (ja) | 操作装置と、操作子の動作調節方法と、そのためのプログラム | |
US20190302729A1 (en) | Numerical control device | |
US11679717B2 (en) | Method and apparatus for operating a haptic system | |
JP2019219762A (ja) | 制御装置、制御方法及びプログラム | |
JP4376712B2 (ja) | 操作装置 | |
JP4078396B2 (ja) | 位置決め制御装置 |