前回、自分にも作れるのでは? と言いましたが、前言撤回です。
難しそうですが、やってみたいので、やってみようと思います。それだけです。
今回はどのようにアクチュエータを動かせば良いのかなんとなくイメージを掴む作業と、ハードウェアを準備する作業を進めていきます。
マスタ・スレーブ式のハンド
一般的なマスタ・スレーブ式のハンドであれば、簡単です。
- 手元でマスタ側のハンドを動かす
- その時のマスタ側の状態値を取得し、スレーブ側に送信
- その状態値と同じ状態値になるように、スレーブ側を駆動
で、大丈夫でしょう(多分)
本当に真摯にマスタ・スレーブシステムを(例えば業務用で)取り組んでいる方からすれば、そんなに簡単ではないと言われてしまう気もしますが、自宅の机の上で動かしている限りでは、まあいいでしょう。
ここまでなら、エンコーダが入ったモータなら僕でもなんとか作ることができそうです。
力覚フィードバックの追加
力覚フィードバックとはここでは、スレーブ側がどの程度の力で物を掴んでいるのか、マスタ側で感知できるようにする ことを指します。
スレーブ側のハンドを動かすところまでは、上記と同様のやり方で行ける気がします。
その上で、
- 実際にスレーブ側のハンドが何か物を掴む
- その時の把持力を何らかの形で取得する(把持トルクτ、あるいは把持対象物から受ける反発力に由来する反発トルク -τ)
- マスタ側ハンドを人が操作する際、その操作に対する抗力として、上記把持トルクを再現する
とすれば、マスタ・スレーブ駆動と力覚フィードバックが両立できる気がします。
ポイントは、スレーブ側は対象物を掴むために、アクチュエータにはハンドを閉じるようなトルクを出力させる一方、マスタ側は、対象物を掴んだ結果の抗力(反トルク)を再現するため、ハンドを開く側(ハンドを閉じようとする力を阻害する側)にトルクを出力させることでしょうか。
理屈が合っているかわかりませんが・・・