超広角170度カメラ搭載・ロボットアーム

ロボットアームに取り付けたカメラの視野が狭かったため、超広角カメラに取り換えました。アーム周囲の様子が分かり、格段に操縦しやすくなりました。

170度魚眼Webカメラ

ELPの広角 170度魚眼レンズWebカメラを購入。

基板むき出しで、ロボット組み込みやすいネジ穴も空いています。

アーム装着用カメラケースを3Dプリント

ロボットアームにカメラを固定したいと思います。

装着用のカメラケースをモデリングして3Dプリントします。

フィラメントは強度のあるPLA炭素繊維を使っています。

なかなかピッタリの形状にならず、何度もプリントしました。

カメラをネジ止め

プリントしたカメラケースにカメラをはめ、4か所ネジ止めします。

その後、アームハンド部分の穴にカメラケースを差し込みます。

既にカメラケースは固定されて動きませんが、念のためアームハンドの裏からネジで止めます。

超広角カメラ装着完了

アームハンドにカメラが付きました。

サーボモーターの脇からレンズをのぞかせています。

操縦しやすい!

さすが画角170度。横にあるものも映り込みます。

これだけ広く映っていれば、アームをどちらの方向へ動かせばよいか把握できるため、操縦しやすくなりました。

あわせて操縦画面のUIを、視線操作できるように改修しています。

次回、視線でロボットアームを動かします

ロボットアームにカメラ装着

ロボットアームにWebカメラを装着しました。遠隔でPC画面を見ながら操縦できます。ただし、画角の狭いカメラだと、操縦が難しいです。

カメラを使ったアーム操縦

ロボットアームにカメラを付け、アームの視界を操縦画面から確認できるようにしました。

子供がカメラ映像を見ながら、てまりを掴んで遊んでいます。

ウェブカメラ「C270」を使う

装着したのはロジクールのウェブカメラ「C270」です。

購入時、1,000円くらいでした。(今Amazonで見たら7,000円)

テレワーク需要で値上がりしましたが、本来は安価で、電子工作にも気軽に使えるWebカメラです。

焦点を調整する

「C270」はオートフォーカスではありません。

アームハンドの先に焦点が合わないため、分解してカメラの焦点を調整します。

写真の歯車みたいなところを回すと焦点を調整できます。

 3M VHB両面テープでくっつける

ロボットアームとカメラの接着は、 3MのVHB両面テープを使いました。

接着力も強く、はがすこともできるので便利です。

両面テープでアームにカメラを接着しました。

超広角カメラの方が良い

アーム操縦画面を改修して、カメラ映像を読み込むようにしました。

子供にテストパイロットをお願いしたところ、カメラの画角が60度で狭いため、操縦は難しいようでした。

やはり、操縦のしやすさを考えると、超広角170度くらいのカメラに付け替えたほうが良さそうです

指一本でたけのこの里を食べる

調整したサインスマートの3軸ロボットアームを使い、たけのこの里を食べます。操作はスマホで指一本。うまく掴んで食べられるでしょうか?

指一本でアーム操縦

ロボットアームで、たけのこの里を掴んで食べました。

身体障害者(手首は動くけど肩は上がらない人)が、自分の好きなタイミングでお菓子を食べるシミュレーションです。

スマホを使い、指一本で操縦できます。

操作画面とアーム制御のコードは以前作ったものを流用しています。
(servo3は無いため削除)

アルコール消毒はしよう

アームでいろいろなものを掴んでいる場合、しっかりアルコール消毒をしましょう。

コロナ第3波も来ているようなので・・・。

24時間介助を必要とする障害者が、ソーシャルディスタンスを保てない問題を抱えていました。

ロボットアームを自身で操作して、介助時間を少しでも減らすのも良いかもしれません。

介助者が遠隔でアームを操作して、ソーシャルディスタンスを保つという方法もあるでしょう。

こんな時代だから、技術導入が進めばと思います。

次回、ロボットアームにカメラを付けます

ロボットアーム・サーボ位置調整

サインスマートの3軸ロボットアームを使用中、テーブルの上のものを掴めないことに気づきました。真ん中のサーボモーターの初期位置が問題なので、調整します。

手が届かない

テーブルの上に置いたてまりを掴んでみます。

あれ?

アームが90度から下がらず、手が届きません。

サーボモーターの可動域を変えないといけないようです。

サーボモーターを付け直そう

まずはプログラムで、アーム真ん中のサーボモーターの角度を0度にします。

私の場合はobnizでサーボモーターを0度にしました。コードは最後に記載します。

サーボモーターの角度が0度になったら、下の写真のネジを4か所外します。

サーボモーターの角度を変えられるようになったら、アームを折り曲げた状態で、ネジを止めなおします。

テーブルのてまりを掴めた

再度、てまりを掴めるか試します。

問題ないようです。

これでロボットアームを使う最低限の準備が整いました。

ロボットアーム動作確認・調整用のコード

ロボットアームに組み込まれたサーボモーターを、確認・調整する操作画面は、下記のコードとなります。

次回、ロボットアームを使ってお菓子を食べます

ロボットアーム・クイックシュー

サインスマートの3軸ロボットアームが自立しません。自立させるため三脚に取り付けようと思います。三脚とアームを接続するクイックシューを3Dプリントしました。

ロボットアームの底

サインスマートのロボットアームの底には、何かと接続できるように穴がたくさん空いています。

穴の位置やサイズを計測して、三脚用のクイックシューをモデリングします。

クイックシューを3Dプリント

フィラメントはPLA炭素繊維を使い、クイックシューを3Dプリントしました。

ある程度負荷がかかるパーツなので、強度が大事です。

クイックシューとあわせて、8mmボルトも印刷。

強度が心配な場合、ボルトは金属製のものを購入しても良いでしょう。

クイックシュー組み立て

ボルトをクイックシューの裏側から挿します。

三脚に取り付け。ピッタリです。

クイックシューをアームに装着

クイックシューの6つの突起を、アームの底にある穴に挿します。

さらにボルトで固定します。

これで、そう簡単にはズレません。

アームを三脚に装着

最後にクイックシュー付きアームを、三脚に装着します。

三脚に装着するメリットは、いくつかあります。

台に合わせて高さ調整ができること。
角度微調整が出来ること。
折りたたんで持ち運びできること・・・など。

実際に三脚に装着した状態で、アームを動かしても、ブレずに安定していました。

引き続き、アームのサーボモーターの初期位置が悪いため、調整を行います

obniz BoardでMG995サーボモーターを動かす

サインスマートのロボットアームを動くようにします。動力のサーボモーター「MG995」にobniz Boradをつなぎます。初代「obniz Board」の場合、別電源なしで動作するようです。

「obniz Board 1Y」導入

はじめに「obniz Board 1Y」を、ロボットアームの「MG995」につなぎました。

obniz Boardは、IoTを簡単に実現できるマイコンボードで、「1Y」が付くバージョンは乾電池で1年使うこともできる設計です。

「1Y」をロボットアームに使うには、少し無駄があるかもしれません。

動かない!たぶん電流不足

「obniz Board 1Y」でロボットアームを操作中、ボードの液晶が真っ白になり、頻繁に再起動してしまいます。

アームが止まってしまい、使えません。

たぶん、サーボモーター「MG995」の電流不足でしょう。

obniz公式ページにある「ioから直接電源供給を確認したサーボモーター一覧」には、「MG995」が載っていません。

サーボモーターは別電源を用意する必要がありそうです。

初代「obniz Board」なら動く

別電源の用意が大変なので、試しに初代「obniz Board」に交換してみました。

すると、問題なく動きます!

ioピンからの直接電源供給は、簡単でありがたいです。

写真左手前が「obniz Board 1Y」。右奥が「obniz Board」です。

握力を試してみる

やはり、サーボモーター「MG995」だと、力強いです。

試しに掴んだてまりが潰れそう。

今度は調理用の測りを掴んでみました。

最大計測1kgを超えて、測れません。

1kg以上の握力があれば、掴めるものも多いでしょう。

これでサインスマートのロボットアームを最低限動かせるようになりました。

次にロボットアームの土台を作ります。(今は仮で、モバイルバッテリーを重石にしてますが不安定です。)

サインスマートのロボットアームに交換

SunFounder(写真左)からサインスマート(写真右)のロボットアームに乗り換えようと思います。しかしトラブルはつきものです。

検証には十分役立ったSunFounderアーム

しばらくSunFounder社のロボットアームを実験に使っていました。

使用中、1つ大きな問題がありました。

ハンド部分を動かし、物を掴んだり離したりしているうちに、ネジがゆるんでいきます。

ネジの問題か、組み立ての問題か不明ですが、検証には十分役立ったので、もう少し丈夫なロボットアームに交換したいと思います。

サインスマートのロボットアームに交換

金属製の丈夫さ、サーボモーターのパワー、可動部分は3軸で十分。

この3つの理由で、サンスマート社のロボットアームを選びました。

Amazonの評価はあまり良くなく、冒険です。

商品のアームは、紙袋、プチプチ、ラップに巻かれて届きました。

箱に入ってないんですね。

破損していた

開封すると、サーボモーターとアームを接続するプラスチックが破損していました。

やっぱり、あの梱包はまずいですね。

そして金属製のアームですが、負荷のかかるところはプラスチックということを知りました。

返品と再購入

破損しているプラスチックパーツを3Dプリントしようとも思いましたが、パーツには精密さが必要で、家庭用のFDM3Dプリンターでは難しそうです。

下手にいじる前に返品することにしました。

返品は意外と簡単で、自宅までクロネコヤマトが取りに来てくれます。

助かります。

そしてこりずに再購入しました。

※2020年11月17日追記

返品申し込みと再購入をして24時間後、クロネコヤマトさんが新品のお届けと、破損していたアームの回収に来てくれました。

この社会システムはすごい・・・。

さっそくサインスマートのロボットアームの動作確認をしました。

ロボットアームでエサやり リモートふれあい

最近はロボットアームを制作しています。ふと、ロボットアームでモルモットに遠隔でエサをあげたくなりました。コロナの影響で、動物との触れ合いもリモートになるかもしれません。

ロボットアームでエサやり

ロボットアームで、モルモットにエサをあげてみます。

ネット経由で操作できるため、離れた場所でもエサをあげられます。

動物のふれあいもリモートに?

上野動物園にモルモットと触れ合えるコーナーがありました。

しかし、コロナの影響で長期休止中です。(2020年11月現在)

動物とのふれあいも、リモートを考える時代かもしれません。

もしかしたら動物的には、子供たちにべたべた触られるより、ストレスが減って良いかもしれません。

エサは手渡しがベストとは限らない

機械を介してエサをあげるのは楽しいのか?

そう考えたとき、上野動物園のクマのエサやりを思い出しました。

ベルトコンベアを回して、遠隔でクマにエサを届ける体験です。息子たちが喜んで、お金を投じたのを思い出しました。

どちらかというと、ベルトコンベアを動かすことが楽しいようです。

エサあげはミッションで、メカの操縦が目的だとすると、例えリモートで映像を見ながらエサをあげても、アームを操作できるのは楽しいでしょう。

マウスでロボットアームを操縦

前回までスマホ操作でしたが、一度PCのマウス操作に変えています。

最終段階で、視線操作に変えようと思います。

その前にロボットアームの不具合が出たので、別のアームに替えます

ロボットアーム操作画面のUI改善(レベル2)

遠隔操作可能なIoTロボットアームを作っています。前回作ったスマホ操作画面をもっと改善します。4つの関節を持つアームを、指一本で操作できるようにしました。

てまりを箱に入れる操作

ロボットアームの操作の様子です。

片手、一本指で操作しています。

アームで掴んだてまりを箱に入れてみました。

見ないで分かる操作画面

大幅にスマホの操作画面を改修しました。

ロボットアームを見ながら操作できるよう、スマホ画面は見ないで操作するUIとします。

そうすると、タッチパッドのようなUIになりました。

画面キャプチャでは分かりませんが、格段に操作しやすくなっています。

指一本で操作でき、タップで物を掴んだり、離したりします。

子供のテスト操縦

ロボットアームを組み立てた長男に、操縦を試してもらいました。

操縦2回目でコツをつかみ、10秒かからずに、てまりを箱に入れています。

・・・ゲーム慣れしてるからか、私よりうまいです。

操作画面とアーム制御のコード

操作画面と、ロボットアームを制御するObniz用のコードです。

※サーボモーターをどの角度で組み立てたかにより、angleに入れる数字は変わります。

次回、ロボットアームで動物にエサをあげます

ロボットアーム操作画面のUI改善(レベル1)

障害者利用想定のIoTロボットアームを開発しています。スマホで遠隔操作可能なロボットアームです。しかし、スマホの操作画面が使いにくかったので、段階的に改修していきます。

てまりを渡すロボットアーム

Obnizを使ったロボットアームです。てまりを手渡ししてくれました。

スマホからインターネットを経由して、ロボットアームを操作。zoomと併用して、遠隔地で操作することもできます。

操作画面の改修

前回とりあえず作った操作画面は、4つのスライダーがあり、どこをどう操作すればよいか、直感的ではありません。

UI改善のため、スライダーを2つ減らしました。

入力項目は少ないほど、迷わず使えます。

手首関節の操作を減らす

どんな作業をするかにもよりますが、てまりを掴む作業であれば、ロボットアームの手首関節は、ほぼ使いません。

おそらく手首関節は、傾けてはいけないものを持つとき、常に水平を保つ役割で使います。

アームを上げたとき、手首を直角にして水平を保ち・・・

アームを下げたときは手首を水平にします。写真だと調整できておらず、水平を保っていません。

水の入ったコップを掴むような作業の時は、しっかり調整してください。

アームの上下運動と、手首の上下運動を連動させることで、入力操作は一つ減りました。

掴むのはボタンでいい

掴む動作はスライダーからボタンに変更しました。

繊細な作業を行わない場合、掴む⇔離すを交互に切り替えるボタンにしたほうが簡単です。

改修したコード

操作画面とObniz制御のコードです。

※サーボモーターをどの角度で組み立てたかにより、angleに入れる数字は変わります。

今回のUI改善は、実は最低限使える程度にしか、良くなっていません。

次回、さらにUIを改善して、スライダーもボタンもなくします