なぜパンチルトカメラのメカ設計?
ROSでパンチルトカメラを制御してみることにします。
移動ロボットをROSで制御する例はよくありますし、ロボットアームを制御するのも面白そうですが、「ゼロから全部作る」というこのページの方針から、もっと手軽に作れるものを・・・ということで、模型のラジコン用サーボモータで動作するパンチルトカメラを選びました。
コンパクトにまとめたい
3D CADで設計し、パーツは3Dプリンタで製作することにします。
せっかく設計するので、なるべくコンパクトにまとまった設計にします。
RCサーボは小型で安価なSG90 Digitalを、カメラは手持ちのWebカメラ:BSW20KM15を使います。ところで、RCサーボは格安のものがたくさんありますが、超格安の偽物が数多く出回っているので注意が必要です。
3Dのパーツを用意する
まず、使用する部品の3Dデータを用意します。
WebカメラとRCサーボ、サーボホーン2種です。
RCサーボは現物が今手元にありませんが、GrabCADにデータがありましたので今回はこれを使います。CADデータダウンロードサイトからのデータは、適切にモデリングされている保証がなく、 どこまで正確にモデリングされているのかも不明です。 そのことを踏まえた上で利用する必要があります。これは私の考え方ですが、本番の設計業務では品質保証できないモデルを入れるべきではありません。
あとで現物を採寸してモデルと比較しましたが、RCサーボ本体の寸法はぴったり合っていました。しかし、サーボホーンは現物とモデルで若干寸法が違っており、自分でモデルを作りました。
Webカメラは、元々台座がついておりカメラ本体(頭の部分)がボールジョイントで可動するようになっていました。分解したところ、台座とボールジョイントを簡単に外すことができたので、台座は使わずに頭の部分を装置に直接固定することにしました。
モデルが入手できないので採寸し、必要そうなところを中心に、おおよそのモデルを作成します。
概略設計
どのような機構にするか、構想を練ります。様々なRCサーボの配置パターンが考えられます。
台座にパン用のRCサーボを入れ、その上にチルト用のRCサーボを載せることもできます。 この配置では、パンするときにチルト用モータとカメラだけを回転させればよく、パン用モータは台座に固定されていて回転させられない、そのため回転部分の重量が小さいというメリットがありそうです。 一方、台座→パン用モータ→チルト用モータ→カメラが直接に配置されるので、装置全体の高さは大きくなります。
全体の高さを抑えるために、パン用・チルト用のモータを2つ並べて配置し、パンするときには台座の上をまとめて回転させる機構としました。
ここまで決定すると、コンパクトにまとめるためには、2つのモータの配置パターンが鍵となりそうなことが想像つきます。
そこで、カメラを取り付けチルトさせるアームを先に設計します。寸法などはテキトウに決めてアセンブリに配置してみます。
アームとモータ軸を挿入拘束しておけば、画面上でアームを回転させ、チルトの動作を確認できます。どの配置パターンがよいのか、配置を色々試したり、アームの長さを変えたりして検討します。
「目指すところ(設計目標)に向かおうとするとき、現状ではどこがネックとなっているのか、それを解消するにはどこを改善すればよいのか?」をしっかり掴んで設計する、少なくとも掴もうと努力しながら設計を進めることが大切だと思います。
簡単な設計なのに少々大げさなことを書きました・・・ 今回は単純な機構でサイズの制約もなく、ある程度小さくという目標だけなので、「大体これでいいかな。」という落としどころはすぐに見つかります。
ところで、配置上の制約として正面から見たとき、カメラの中心とパンの軸が一致させておかないと、変な動きパンチルトカメラになってしまいます。 このように検討をすすめ、上図のとおり配置を決定しました。
部品の詳細設計
主要部品の配置が決まれば、あとはそれらの部品を固定する部品の設計に進みます。
実際には、概略設計がある程度進んできた段階で、部品の固定方法を考えはじめます。どのような形の部品にして、ネジはどこに入れて、といったことを大体イメージしておきます。
部品を設計するときには、「3Dプリンタでどの方向に造形するか」ということをよく考えなければなりません。またFFF方式の3Dプリンタでは、オーバーハングがある形状は造形しにくいので極力避けます。
3Dプリンタ向けのパーツを設計するときは、3Dプリンタ独特の制約を念頭において設計をすすめる必要があります。
将来、3Dプリンタが進化していくと、このような制約も減っていくのではないでしょうか。
このようにして部品4点の設計が完了します。
組み立て
3D CAD上で組み立てます。
この作業も、実際には部品を設計しながらすすめていきます。
なお、後々シミュレーションなどで3Dデータを使えるように、可動部分(Joint)で区切った部分(Link)毎にサブ・アセンブリを作り、それらを組み立てて全体アセンブリにします。
組み立て上、または動作上、干渉する部品がないかといったことをよく確認します。
台座はテーブルの上に載る平らな板にしてありますが、サーボモータを高速で回すと軽いので台座も動いてしまうでしょう。スマートフォン用などの小さい三脚に取り付けるのも一案です。
今回は、1台を自分で製作するだけなので、組み立て図をつくるまでもないでしょう。 これにて設計完了です。