360°カメラを搭載したロボットカーを自作してみた

本サイトはアフィリエイト広告を利用しています。
AI

AMD Pervasive AI Developer Contest向けて、ロボットカーを自作しました。

主にタミヤのパーツを使うことで、改造・拡張しやすいようにしています。

電源からアクチュエータ、またカメラの搭載を紹介していきます。

 

スポンサーリンク

360°カメラを搭載したロボットカーを自作してみた

360°カメラを搭載したロボットカーを作成しました。

AMD Pervasive AI Developer Contestに向けて自作しました。

コントローラのKR260をロボットカーに組み込むことも可能です。

 

メインの360°カメラ以外にもアームやタイヤ駆動のモータが搭載されています。

 

2個のDCモータを制御して、ロボットカーは前進・後進・回転できます

1個のDCモータを制御して、アームを閉じたり開いたりできます。

 

今回はロボットカー・アームの構造含めて紹介します。

DCモータ動作をさせて、ロボットカーとアームの動作まで紹介します。

モータの電源としては、「KR260の5V」「外部の5V」のどちらでも使えるようにしています。

 

ロボットカーの本体・アーム、また360°カメラの設置方法を紹介していきます。

 

主なパーツリスト

主なパーツとしては下記です。

  • 360°カメラ…RICOH THETA V
  • メインボード…AMD KRIA KR260
  • モータドライバ基板…自作のDRV8833搭載基板
  • デバッグ基板…自作のSW/LED基板
  • モータ…DCモータ
  • ロボット本体…TAMIYAギアボックス・フレームを改造

 

他予備・追加的なパーツとしては下記です

  • デバッグ用コントローラ… エレコム ワイヤレスゲームパッド
  • 追加フレーム…TAMIYA ユニバーサルプレート・アーム
  • 追加タイヤ…TAMIYA オフロードタイヤ

 

詳細の部品表に関しては下記GitHubに記載しています。

 https://github.com/iotengineer22/AMD-Pervasive-AI-Developer-Contest/blob/main/bom/AMD_contest_BOM.csv

 

360°カメラ(RICOH THETA)

使用した360°カメラはRICOHのTHETA Vです。

色々なAPI・ライブラリが公開されており、使いやすい360°カメラです。

接続方法もUSBやBluetoothなどあります。

 

THETA Vを選んだ理由は下記記事でも紹介しています。

RICOHのTHETA Xではなく、THETA Vを購入した理由

RICOHのTHETA Xではなく、THETA Vを購入した理由
コンテストで360°カメラのRICOH THETA Vを使っていました。最新のTHETA Xではありませんでしたが、十分に機能してくれました。個人的な開発・デバッグではTHETA Vで満足だった理由を紹介します。RICOHのTHETA Xで...

 

今回はロボットに搭載していますが、普通に三脚にも設置できます。

 

Micro USBケーブルを接続しながら使うには、1/4インチの長めボルトを利用すれば可能です。

ルータやニッパーを使って、フレームに穴をあけて固定できるようにしました。

THETAの下からUSBケーブルを挿すことが可能となります。

 

ロボットカーのタイヤ駆動機構

ロボットカー本体の駆動方法に関しては、DCモータを2個使っています。

ギアボックスを使って、車体を動かせるパワーを出せるようにしています。

 

更にギアボックスをトルク増やすために追加購入しています。

 

KR260を搭載する場合の追加フレームです。

支えとなるボールキャスターとリアタイヤが搭載されています。

こちらにはモータ動力は無く、ロボットカー本体に引かれて動く形になります。

 

ロボットカー本体と簡単に接続できる構成を取っています。

KR260のPMODコネクタから、モータドライバ経由でDCモータに接続しています。

 

ロボットカーのアームの機構

ロボットカーのアームの駆動に関しては、DCモータ1個とギアボックスを使っています。

モータが回ることでピストン運動になり、アームが閉じたり空いたりします。

 

コントローラーを使っての駆動テスト

ゲームコントローラーを使ってのKR260からの駆動テストは下記記事で紹介しています。

KR260のロボットをゲームコントローラから制御する

KR260のロボットをゲームコントローラから制御する
KR260とゲームコントローラを使って、DCモータを制御してみました。ワイヤレスで遠隔からKR260のロボットを制御できるようになりました。Pyhtonでロボットのアクチュエータを動かす旨を紹介しますKR260のロボットをゲームコントローラ...

 

ロボットカーのテスト動作

ロボットカーのテスト動画です。

このテストではKR260とロボットはハーネスで接続しています。

また電源も外部バッテリの5Vを使用しています。

 

 

 

 

KR260を搭載したロボットカーのテスト動作

今回は下記のようにKR260を搭載した形で、ロボットカーとしても動かしていきます。

テスト的にゲームコントローラーから制御します。

 

テスト動画は下記となります。

 

最初にボールをロボットカーに渡します。

 

ロボットカーのアームを制御することで、ボールをリフトアップさせています。

ボールを自由に持ち運びすることが可能です。

 

モータの電源はKR260にある5V電源を利用しています。

電源ICを確認すると連続定格としては1Aまで流すことができるピンとなっています。

 

モータカーのタイヤを駆動させて、ボールを運んだりしています。

 

またアームを再度駆動させて、ボールをリフトダウンさせることも可能です。

 

360°物体検出+ROS2への出力のテスト

単純にロボットを動かすだけではなく、KR260に物体検出とROS2の出力も加えていきます。

KR260での360°物体検出に関しては下記記事で紹介しています。

360 Live Streaming で物体検出。KR260+PYNQ-DPU編

360 Live Streaming で物体検出。KR260+PYNQ-DPU編
360 Live Streaming の画像データをリアルタイムで物体検出してみました。360°カメラはRICOH THETA を使っています。KR260とPYNQ-DPUで物体検出して、GPIOやPWMを動作させた旨を紹介します。360 ...

 

またROS2出力に関しては下記記事で紹介しています。

ROS2で360°カメラの画像処理・物体検出をしてみた

ROS2で360°カメラの画像処理・物体検出をしてみた
KR260でROS2のRviz2を使って、360°カメラ画像を処理してみました。360°Live Streamingのデータからリアルタイムで物体検出までしています。プログラム・テスト動画含めて紹介していきます。ROS2で360°カメラの画...

 

周辺にボールを配置した状態での動作テスト

テスト動画です。ロボットを動かしつつ、360°物体検出+ROS2出力ができています。

 

 

 

 

 

 

 

他のテスト動画です。

この場合は、近くにボールだけでなくペットボトルも置いた状態でテストしました。

 

別のテスト動画です。広い教室の環境でテストした例です

 

人の手を追跡するテスト

コントローラーからだけでなく、物体検出した情報から自動で動くテストもしてみました。

テスト動画は下記です。

 

人の手を検出して、その方向へ回転している動作が確認できます。

 

 

 

まとめ

ロボットカーを制作して、360°物体検出ロボットを制御することが出来ました。

360 Live Streaming での物体検出、ROS2のマーカ出力をしました。

そして、ロボット動作と一緒に実行できています。

 

今回のKR260で実施した内容は、下記記事で紹介したテストの一部です。

AMD(Xilinx)のFPGAコンテストに参加した感想

AMD(Xilinx)のFPGAコンテストに参加した感想
AMD(Xilinx)とHackster(Avnet)が合同主催する、海外のコンテストに参加していました。AMD Pervasive AI Developer Contest の「Robotics AI」部門です。KR260というFPGAボ...

コメント