ロボットアームにカメラを取り付けて映像を確認する(YOLO)
はじめに
以前の話ですが、Amazonで購入して動かせるようにしたロボットアームにカメラを取り付けて試していました。
YOLOによるリアルタイム検出も併用して、視野や見え方がどんな感じなのかを確認するためです。若干電源の容量かトルクの不足を感じました。
▼こちらの記事で購入したロボットアームを利用しています。前よりも値段が上がっている気がしますね。
▼以前の記事はこちら
ケーブルの延長
以前の記事の時点でケーブルが短すぎて引っかかっていたので、QIコネクタと線材で延長しました。
▼QIコネクタはAmazonで購入した、いっぱい入っているものを使っています。
今回はエンドエフェクタを取り外してカメラを取り付けるのでサーボモータは4つだけなのですが、元々制御していた6つ分のケーブルを作っておきました。
QIコネクタで3×6ピンは無かったので、電源用に2×6ピン、信号用に1×6ピンで作りました。
▼ちゃんとまとめるとコンパクトになりそうです。信号線はもっと細くてもいいと思います。

これでケーブルの長さを気にせず動かせるようになりました。
動かしてみる
実際に手先カメラの映像を確認してみました。
▼カメラは以下のUSBカメラをPCに接続して確認しています。中古品を半額で購入しました。
▼カメラの映像を確認したものがこちら。
思っていたよりも視野が狭く、揺れが映像にも影響していることがよくわかりました。たまにサーボの電源が落ちて急に倒れているのですが、電源の容量不足かトルク不足だと思われます。この辺りは対策する必要がありそうです。
YOLOによる物体検出も試してみました。
▼GPUで処理するための設定などは以下の記事で行っています。
▼学習済みのモデルに対して検出できています。
▼誤検出もありますが、色々検出しています。

映像は俯瞰カメラと手先カメラで後から編集しているので時間的には少しずれているのですが、俯瞰カメラの映像を見るとほとんどリアルタイムに検出できていることが分かります。
学習していないものは検出できないので、対象次第ではデータセットを作成する必要があります。
▼普段はCVATを利用しています。
最後に
今回は単にカメラの映像確認と検出を試してみました。実際に検出しながら制御するにはどうすればいいのかを考える必要があります。対象によりますが、例えば追跡するのであれば画面の真ん中に映るようにアームを制御すれば良さそうですね。アームを動かしながら見ていると、映像がぶれたり揺れたりしているので、そこも検出などに影響してきそうです。
この後5軸のロボットアームを設計して新しく作ったので、またカメラを搭載して遠隔操作などをできるようにしたいなと思っています。
▼こんな感じのアームです。また別の記事で紹介します。


						
						
						

						
						