ロボットアームにカメラを取り付けて映像を確認する(YOLO)

はじめに

 以前の話ですが、Amazonで購入して動かせるようにしたロボットアームにカメラを取り付けて試していました。

 YOLOによるリアルタイム検出も併用して、視野や見え方がどんな感じなのかを確認するためです。若干電源の容量かトルクの不足を感じました。

▼こちらの記事で購入したロボットアームを利用しています。前よりも値段が上がっている気がしますね。

ちょっと買い物:ロボットアームを動かしてみる

はじめに  今回はAmazonで買ったロボットアームを動かしてみました。本来の目的はサーボモーターを安くたくさん入手したかったということなのですが、キット化されたもの…

▼以前の記事はこちら

Node-REDを使ってみる その4(MQTT通信、ロボットアーム)

はじめに  今回は以前Amazonで購入したロボットアームを、Node-REDでMQTT通信を利用して制御できるようにしてみました。  これまではボタンで制御していたのですが、ネ…

Unreal Engine 5を使ってみる その6(ロボットアーム、ブループリント)

はじめに  今回はUnreal Engine 5(UE5)でロボットアームのようなものを作ってみました。まだ試作段階で、これから厳密なモデルにしていきたいなと考えています。  ま…

ケーブルの延長

 以前の記事の時点でケーブルが短すぎて引っかかっていたので、QIコネクタと線材で延長しました。

▼QIコネクタはAmazonで購入した、いっぱい入っているものを使っています。

 今回はエンドエフェクタを取り外してカメラを取り付けるのでサーボモータは4つだけなのですが、元々制御していた6つ分のケーブルを作っておきました。

 QIコネクタで3×6ピンは無かったので、電源用に2×6ピン、信号用に1×6ピンで作りました。

▼ちゃんとまとめるとコンパクトになりそうです。信号線はもっと細くてもいいと思います。

 これでケーブルの長さを気にせず動かせるようになりました。

動かしてみる

 実際に手先カメラの映像を確認してみました。

▼カメラは以下のUSBカメラをPCに接続して確認しています。中古品を半額で購入しました。

▼カメラの映像を確認したものがこちら。

 思っていたよりも視野が狭く、揺れが映像にも影響していることがよくわかりました。たまにサーボの電源が落ちて急に倒れているのですが、電源の容量不足かトルク不足だと思われます。この辺りは対策する必要がありそうです。

 YOLOによる物体検出も試してみました。

▼GPUで処理するための設定などは以下の記事で行っています。

YOLOで物体検出 その4(GPUの設定、CUDA 12.6)

はじめに  今回はGPUを利用したYOLOの物体検出を試してみました。  Ultralyticsのドキュメントではオプションで切り替えることができるようでしたが、GPUだとエラーが出…

▼学習済みのモデルに対して検出できています。

▼誤検出もありますが、色々検出しています。

 映像は俯瞰カメラと手先カメラで後から編集しているので時間的には少しずれているのですが、俯瞰カメラの映像を見るとほとんどリアルタイムに検出できていることが分かります。

 学習していないものは検出できないので、対象次第ではデータセットを作成する必要があります。

▼普段はCVATを利用しています。

CVATでアノテーション(YOLO v8、Object Detection)

はじめに  今回はCVAT(Computer Vision Annotation Tool)でアノテーションを行ってみました。  画像に対してアノテーションを行い、YOLOで学習することで物体を検出でき…

最後に

 今回は単にカメラの映像確認と検出を試してみました。実際に検出しながら制御するにはどうすればいいのかを考える必要があります。対象によりますが、例えば追跡するのであれば画面の真ん中に映るようにアームを制御すれば良さそうですね。アームを動かしながら見ていると、映像がぶれたり揺れたりしているので、そこも検出などに影響してきそうです。

 この後5軸のロボットアームを設計して新しく作ったので、またカメラを搭載して遠隔操作などをできるようにしたいなと思っています。

▼こんな感じのアームです。また別の記事で紹介します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です