Slide 1

Slide 1 text

Node-REDのノードの開発と 事例紹介 後地拓真

Slide 2

Slide 2 text

自己紹介 •後地(うしろじ)です • 大阪府立大学工学域機械系学類の四回生 • Node-RED MCUの補足書の執筆者です • ノードの作成について書きました • 技術的なことはホームページに書いています • 「趣味的ロボット研究所」 • https://404background.com/ https://norahack-led.booth.pm/items/5721173

Slide 3

Slide 3 text

いろいろやってます

Slide 4

Slide 4 text

①ノードの開発 ②Unreal Engine、ROSとの連携

Slide 5

Slide 5 text

①ノードの開発 ②Unreal Engine、ROSとの連携

Slide 6

Slide 6 text

Node-RED MCUについて • Node-REDでマイコンのプログラムを作成できる • ESP32系、Raspberry Pi Picoなどに対応

Slide 7

Slide 7 text

Node-RED MCUの課題 • Node-REDには多くのノードがある • その全てが、Node-RED MCUで使えるわけでは無い • 必要なファイルが少しだけ違う 無ければ作ればいい!

Slide 8

Slide 8 text

サーボモータ用のノードが無い! • パルス幅を考えないといけない! • 角度を渡したら回転してほしい!

Slide 9

Slide 9 text

Servoノード https://flows.nodered.org/node/@background404/node-red-contrib-mcu-servo • 角度を入力すると、計算を行ってPWM outノードに渡す

Slide 10

Slide 10 text

これまで作成したノード • python-venvノード • whisperノード • VoiceVoxノード • Servoノード • Serialノード https://flows.nodered.org/user/background404

Slide 11

Slide 11 text

python-venvノード • Pythonのコードを実行できるノード • インストール時に仮想環境を作成 https://flows.nodered.org/node/@background404/node-red-contrib-python-venv

Slide 12

Slide 12 text

whisperノード • OpenAIのWhisperをローカルで実行できる • 音声ファイルから文字起こしをすることができる • 言語やモデルも選択可能 https://flows.nodered.org/node/@background404/node-red-contrib-whisper

Slide 13

Slide 13 text

VoiceVoxノード • voicevox_coreを利用できるノード • 文字列を渡すと、日本語の音声ファイルを出力する • 現在はWindowsのみで動作 https://flows.nodered.org/node/@background404/node-red-contrib-voicevox-core

Slide 14

Slide 14 text

①ノードの開発 ②Unreal Engine、ROSとの連携

Slide 15

Slide 15 text

Unreal EngineとROSについて • Unreal Engineはゲームエンジン • シミュレーションのグラフィック処理を行う • ROSはロボットを制御するためのソフトウェア • 制御に必要な計算を行う • 特に運動学の計算をするためMoveItを利用する ⇒組み合わせてシミュレーションを行う

Slide 16

Slide 16 text

Unreal Engineとの連携 • HTTP Blueprint、HTTP Remote Control APIを利用した双方向 通信が可能

Slide 17

Slide 17 text

ROSとの連携 • ROS Bridge、rosノードによる通信が可能 • 現状ではROSからNode-REDへの一方的な通信を確認

Slide 18

Slide 18 text

全体の構成 • MoveItで計算した数値を実機とUEに送信することで、同時に 操作する

Slide 19

Slide 19 text

Node-RED + Unreal Engine + ROS https://youtu.be/XNlZTDqnUVI

Slide 20

Slide 20 text

最後に • ノードを開発・公開することで、第三者が簡単に利用できる • 専門の知識が無くても利用できる • 海外の開発者からフィードバックを得られる • Node-REDはハードウェアと連携できる • マイコン、ROS、ロボットなど • さらにシミュレーションとの連携へ

Slide 21

Slide 21 text

公開記事 Node-RED MCU用のノードを作成してみる その1(LINE Notify) https://404background.com/program/node-create/ Node-RED MCU用のノードを作成してみる その2(Servoノード) https://404background.com/program/node-create-2/ Node-RED MCU用のノードを作成してみる その3(Serialノード) https://404background.com/program/node-create-3/ Node-REDのノードを作成してみる その1(python-venv) https://404background.com/program/node-create-python-venv/ Node-REDのノードを作成してみる その2(whisperノード) https://404background.com/program/node-create-whisper/ Node-REDのノードを公開してみる https://404background.com/program/node-red-publish/

Slide 22

Slide 22 text

公開記事 WSL2を使ってみる その3(Ubuntu 20.04、ROS Noetic、Open Manipulator) • https://404background.com/program/wsl2-3/ WSL2を使ってみる その4(Ubuntu 16.04、ROS Kinetic、Open Manipulator) • https://404background.com/program/wsl2-4/ Unreal Engine 5を使ってみる その6(ロボットアーム、ブループリント) • https://404background.com/ue5/unreal-engine-5-6/ Unreal Engine 5を使ってみる その7(Open Manipulator) • https://404background.com/ue5/unreal-engine-5-7/ Unreal Engine 5を使ってみる その8(HTTP Request、Remote Control Web Interface、Node-RED) • https://404background.com/ue5/unreal-engine-5-8/ Unreal Engine 5を使ってみる その9(Remote Control API、Node-RED) • https://404background.com/ue5/unreal-engine-5-9/ WSL2のROSとWebSocket通信(ROS Bridge、Node-RED、Gazebo) • https://404background.com/program/ros-bridge/