Arduino Yun搭載 IoT対応 5自由度ロボットアーム(Blynk制御)
必要なコンポーネントと用品
| パーツ | 数量 |
|---|---|
| Arduino Yun | 1 |
| サーボモーター(Tower Pro MG996R) | 5 |
アプリとオンラインサービス
- Blynk
- MATLAB
プロジェクト概要
これが私の初めてのロボットアームで、以下の特徴を持ちます:
- 5自由度(グリッパーを除くと4自由度)
- Arduino YunをブレインとしてIoT機能を搭載
- Blynkアプリで制御インターフェースを構築
- MATLAB Robotics Toolboxで順運動学を実装
- 滑らかな動作を実現する自作ライブラリ(MotionGenerator)を使用
結果に満足しているので、構築手順と経験を共有します。
コンポーネントと材料
ロボット構築に必要なもの:
- Arduino Yun(または他のArduinoボード)×1
- サーボモーター ×5
- 5V充電器(最小2.5A)×1
- LED ×2
- 抵抗 100Ω(赤色LED用)、150Ω(青色LED用)×各1
- 木製混ぜ棒 ×2
- 金属ワイヤー ×1
- プラスチックシート(シャワージェルボトルから流用)×1
- ゴムバンド ×1
- 小さなスポンジ ×2
- プラスチックネジ M3 ×9、M2.5 ×6
- 木製プレート 3mm厚(30cm×50cm程度)×1
- 木工用接着剤
- コーディングの時間
ロボットの組み立て
まずサーボのサイズとトルクを測定し、アームの長さとロボット全体のサイズを決めます。私は2種類のマイクロハイトルクサーボを使用しましたが、180度動作するサーボを推奨します(可動域が広がるため)。グリッパー用には安価なマイクロサーボで十分です。
写真1のようにアームをカットし、デザインは自由です。グリッパーは混ぜ棒を半分に切り、プラスチックシートをバネ代わりにして作ります。内側にワイヤーを通せば開閉可能。グリッパーの支点にはM3ネジを使用し、重量バランスを取るためサーボをアームの反対側に配置、もう一本の混ぜ棒で動力を伝達します(写真2上部)。
ベースとベースサーボ・Arduino Yunを固定するプレートを作り、すべて組み立てると写真2のようになります。見た目を良くするなら、木材をサンディングして塗装してください(写真3)。私はメタリックシルバーに赤ストライプで金属風に仕上げました(写真4)。
ソフトウェア
まずBlynkでインターフェースを作成します。Blynk未経験の方は公式サイトのチュートリアルを参照してください。インターネット接続機能のないボード(Arduino Unoなど)でも、USB経由でBlynkを使用できます(こちら参照)。
Arduino IDEでの作業手順:
- Arduino Yunボードの設定
- 「スケッチ」→「ライブラリをインクルード」→「ライブラリを管理」からBlynkライブラリをインストール
- SimpleTimerライブラリを
Arduino\libraries\SimpleTimerに配置 - 自作のMotionGeneratorライブラリを
Arduino\libraries\MotionGeneratorに配置 RobotArm_instructables.inoをコンパイル・アップロード(Blynkトークンを自分のものに書き換えるのを忘れずに)
MotionGeneratorライブラリは解析的手法に基づき、最大速度・加速度の制限付きで滑らかな軌道生成を行います。
オプション(順運動学、写真3参照): MATLABとRobotics Toolboxが必要です。ロボットがBlynkに接続され、PCのUSBポートにも接続されている状態で、MATLABがシリアル通信でArduinoから情報を取得します。MainScrip.m のCOMポートを正しく設定し、実行してください。ロボットのキネマティクスは私のロボット用なので、ご自身のロボットに合わせて robotKinematicsFcn.m の寸法を調整してください。
ソースコード
ソースコード一式はZIPアーカイブで提供されています(ダウンロードのみ)。
回路図
製造プロセス
- ArduinoとMAX30100で作るリアルタイムIoT心拍数モニター
- IoTで遠隔操作する自作ロボットアーム:Arduino MKR1000とSimulink、ThingSpeak活用
- Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
- Arduinoベースのヌンチャク操作6自由度ロボットアームキット
- スマートなArduino制御ロボットアームの製作:簡単DIYチュートリアル
- LittleArm 2C: 3Dプリント製Arduinoロボットアーム – STEM教育向け耐久設計
- Azure IoT対応スマートプール制御システム:水温・気温監視と遠隔ポンプ制御
- 産業用ロボットアーム:製造革命を牽引する自動化の核心
- ロボットアームの構造と機能:設計から組み立てまで完全解説
- Makerarm:メイカーのためのオールインワン デスクトップ ロボットアーム
- Arduino、CESで産業グレードIoTボード「Portenta H7」を発表