工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

IoTで遠隔操作する自作ロボットアーム:Arduino MKR1000とSimulink、ThingSpeak活用

プロジェクト概要

既存のオープンソース設計に頼らず、完全にゼロからロボットアームを設計・製作・プログラミングするプロジェクトです。ハードウェア設計とプログラミングの両面をカバーしますが、特にサーボ角度制御だけでなく、IoTを通じた遠隔精密制御に焦点を当てています。完成品の動作動画はこちらで確認できます。

Arduino MKR1000をSimulinkでプログラミングし、ThingSpeak(MATLAB解析機能付きオープンIoTプラットフォーム)を介して、事実上どこからでもロボットアームを操作できるようにしました。

必要なハードウェア

使用ソフトウェア

設計

コストを抑えるため、ホビーサーボ(GS-9025MG)向けに設計しました。マイクロサーボのトルクが限られるため、最終的な重量とサイズに制約があります。最初1/4インチ合板で試作しましたが重すぎたため、アーム長を短くし1/8インチ合板に変更して解決しました。設計はFusion 360で行い、DXFファイルとして出力してレーザーカットしました。

電源は壁面コンセントからの継続的なDC供給が必要です。バッテリーパックでは電流消費が大きく、すぐに消耗してしまうためです。

モーター制御では、Arduino MKR1000のPWMピンは4つしかありませんが、5つのサーボを制御する必要がありました。そこで1つのPWMピンで2つのサーボを制御し、デジタルピンで切り替えて片方ずつ動作させる工夫をしました。回路図と配線図を参照してください。

プログラミング

プログラミングは2段階で行いました:

  1. プロトタイピング段階:組み立て後、スライダーと定数ブロックでサーボを特定角度に動かし、指令角度と実角度のバイアス、各サーボの可動範囲を把握しました。2D平面運動の逆運動学を用いて、XY座標から必要なサーボ角度を算出します。運動学の解説はこちらが参考になります。
  2. 精密制御段階:ThingSpeakチャネルからX、Y座標を読み取り、MATLAB Functionブロックでサーボ角度に変換して指令します。順運動学で現在位置を監視するブロックも追加しました。SimulinkのExternal Modeを使用すると、Arduino上で実行中のシステムをリアルタイム監視できます。灰色の雲アイコンのブロックがThingSpeak読み取りブロックで、チャネルID、データフィールド番号、API読み取りキーを指定してデータを取得します。

ThingSpeakチャネルの作成と使用

  1. ThingSpeakにアクセス
  2. 右上の「Sign in」からMathWorksアカウントでログイン
  3. ダッシュボードで「New Channel」をクリック
  4. 必要なフィールドを設定(X、Y座標など)
  5. 「Save Channel」で保存
  6. MATLABコマンドウィンドウまたはMATLAB Mobileアプリからデータ書き込み:thingSpeakWrite(chID, [x y ...], 'WriteKey', APIKEY, 'Fields', [1 2 ...])

モデルの実行

Simulinkで「Model Configuration Parameters」→「Hardware Implementation」→「Hardware Board」をArduino MKR1000に設定。「Target Hardware Resources」→「WiFi Properties」でWi-Fi認証情報を入力。緑の実行ボタンでExternal Mode、青のデプロイボタンでハードウェアへ書き込み。実行後、MATLABまたはMATLAB MobileからThingSpeakに新しいデータを書き込むと、ロボットアームが動きます。

コードリポジトリ

MATLAB Central File Exchangeで公開されています。

製造プロセス

  1. Arduinoと1Sheeldで作る万能Androidリモコン──IR制御で家電を一括操作
  2. スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
  3. Arduino電源制御センター:N-FET/P-FET/リレー/RTC搭載キット
  4. ArduinoとMAX30100で作るリアルタイムIoT心拍数モニター
  5. ESP8266・Arduino・超音波センサーで作るスマートIoTジャー:リアルタイム中身監視
  6. Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
  7. FirmataとXbox OneコントローラーでArduinoローバーをシームレス操作
  8. DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
  9. Arduinoベースのヌンチャク操作6自由度ロボットアームキット
  10. スマートなArduino制御ロボットアームの製作:簡単DIYチュートリアル
  11. Arduino IoT CloudとAlexaでテレビを音声操作:ステップバイステップガイド