Submit Search
Upload
円滑なRumicar開発をするためのtips Rumicar Conference
•
Download as PPTX, PDF
•
0 likes
•
142 views
M
MinoruInoue2
Follow
2021/12/12 Rumicar会議資料
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 33
Download now
Recommended
UE4勉強会 in 大阪 - アニメーション基礎
UE4勉強会 in 大阪 - アニメーション基礎
com044
UE4勉強会 in 大阪 - もっとアニメーションBP
UE4勉強会 in 大阪 - もっとアニメーションBP
com044
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
Nico-Tech Shenzhen/ニコ技深圳コミュニティ
リアルタイムなみえ〜浪江町住民のタブレット活用を考えるハッカソン@福島〜
リアルタイムなみえ〜浪江町住民のタブレット活用を考えるハッカソン@福島〜
Hatsuji Matsumoto
ここが好きだよSwiftちゃん
ここが好きだよSwiftちゃん
Masaaki Kakimoto
RPLidar C1M1からROS2の沼に入った話&プレゼントのレーザーカッターキーホルダーの裏話
RPLidar C1M1からROS2の沼に入った話&プレゼントのレーザーカッターキーホルダーの裏話
MinoruInoue2
Arduino Uno R4 WifiでMQTT通信してみる enebular meetup資料
Arduino Uno R4 WifiでMQTT通信してみる enebular meetup資料
MinoruInoue2
M5DialとESP32-BLE-Gamepadでコントローラー作ってみた
M5DialとESP32-BLE-Gamepadでコントローラー作ってみた
MinoruInoue2
Recommended
UE4勉強会 in 大阪 - アニメーション基礎
UE4勉強会 in 大阪 - アニメーション基礎
com044
UE4勉強会 in 大阪 - もっとアニメーションBP
UE4勉強会 in 大阪 - もっとアニメーションBP
com044
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
チームラボMake部 Maker Faire Tokyo 2012出展物一覧
Nico-Tech Shenzhen/ニコ技深圳コミュニティ
リアルタイムなみえ〜浪江町住民のタブレット活用を考えるハッカソン@福島〜
リアルタイムなみえ〜浪江町住民のタブレット活用を考えるハッカソン@福島〜
Hatsuji Matsumoto
ここが好きだよSwiftちゃん
ここが好きだよSwiftちゃん
Masaaki Kakimoto
RPLidar C1M1からROS2の沼に入った話&プレゼントのレーザーカッターキーホルダーの裏話
RPLidar C1M1からROS2の沼に入った話&プレゼントのレーザーカッターキーホルダーの裏話
MinoruInoue2
Arduino Uno R4 WifiでMQTT通信してみる enebular meetup資料
Arduino Uno R4 WifiでMQTT通信してみる enebular meetup資料
MinoruInoue2
M5DialとESP32-BLE-Gamepadでコントローラー作ってみた
M5DialとESP32-BLE-Gamepadでコントローラー作ってみた
MinoruInoue2
motionbitとml5jsで非接触ロボット操作!
motionbitとml5jsで非接触ロボット操作!
MinoruInoue2
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
MinoruInoue2
STM32H745を四足歩行させる話
STM32H745を四足歩行させる話
MinoruInoue2
HL2022 MAリーグ決勝 ProtoLotus クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう
HL2022 MAリーグ決勝 ProtoLotus クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう
MinoruInoue2
HL2022予選:ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう)
HL2022予選:ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう)
MinoruInoue2
enebular(cloud)からeduじゃないtelloをうごかしてみたよ~改行コードには気をつけよう~
enebular(cloud)からeduじゃないtelloをうごかしてみたよ~改行コードには気をつけよう~
MinoruInoue2
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
MinoruInoue2
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
MinoruInoue2
Arduino Cloud IoTとNode-RedでRumiCarを見える化する
Arduino Cloud IoTとNode-RedでRumiCarを見える化する
MinoruInoue2
Aliexpressで買ったエンドスコープが思いの外使えた話
Aliexpressで買ったエンドスコープが思いの外使えた話
MinoruInoue2
ユニバーサルプレートをnumpy-stlで自作する(Make DIY universal plate with numpy-stl)
ユニバーサルプレートをnumpy-stlで自作する(Make DIY universal plate with numpy-stl)
MinoruInoue2
MaixduinoにObniz OSを入れて エッジAIとenebularをつなげてみる
MaixduinoにObniz OSを入れて エッジAIとenebularをつなげてみる
MinoruInoue2
Simulinkを用いたtoioラジコン
Simulinkを用いたtoioラジコン
MinoruInoue2
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
MinoruInoue2
第1回 Jetsonユーザー勉強会 AIoTをお手軽に試した話
第1回 Jetsonユーザー勉強会 AIoTをお手軽に試した話
MinoruInoue2
ObnizとNode-REDでダンボール金庫システムを作った話
ObnizとNode-REDでダンボール金庫システムを作った話
MinoruInoue2
More Related Content
More from MinoruInoue2
motionbitとml5jsで非接触ロボット操作!
motionbitとml5jsで非接触ロボット操作!
MinoruInoue2
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
MinoruInoue2
STM32H745を四足歩行させる話
STM32H745を四足歩行させる話
MinoruInoue2
HL2022 MAリーグ決勝 ProtoLotus クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう
HL2022 MAリーグ決勝 ProtoLotus クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう
MinoruInoue2
HL2022予選:ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう)
HL2022予選:ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう)
MinoruInoue2
enebular(cloud)からeduじゃないtelloをうごかしてみたよ~改行コードには気をつけよう~
enebular(cloud)からeduじゃないtelloをうごかしてみたよ~改行コードには気をつけよう~
MinoruInoue2
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
MinoruInoue2
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
MinoruInoue2
Arduino Cloud IoTとNode-RedでRumiCarを見える化する
Arduino Cloud IoTとNode-RedでRumiCarを見える化する
MinoruInoue2
Aliexpressで買ったエンドスコープが思いの外使えた話
Aliexpressで買ったエンドスコープが思いの外使えた話
MinoruInoue2
ユニバーサルプレートをnumpy-stlで自作する(Make DIY universal plate with numpy-stl)
ユニバーサルプレートをnumpy-stlで自作する(Make DIY universal plate with numpy-stl)
MinoruInoue2
MaixduinoにObniz OSを入れて エッジAIとenebularをつなげてみる
MaixduinoにObniz OSを入れて エッジAIとenebularをつなげてみる
MinoruInoue2
Simulinkを用いたtoioラジコン
Simulinkを用いたtoioラジコン
MinoruInoue2
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
MinoruInoue2
第1回 Jetsonユーザー勉強会 AIoTをお手軽に試した話
第1回 Jetsonユーザー勉強会 AIoTをお手軽に試した話
MinoruInoue2
ObnizとNode-REDでダンボール金庫システムを作った話
ObnizとNode-REDでダンボール金庫システムを作った話
MinoruInoue2
More from MinoruInoue2
(16)
motionbitとml5jsで非接触ロボット操作!
motionbitとml5jsで非接触ロボット操作!
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
STM32H745を四足歩行させる話
STM32H745を四足歩行させる話
HL2022 MAリーグ決勝 ProtoLotus クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう
HL2022 MAリーグ決勝 ProtoLotus クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう
HL2022予選:ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう)
HL2022予選:ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう)
enebular(cloud)からeduじゃないtelloをうごかしてみたよ~改行コードには気をつけよう~
enebular(cloud)からeduじゃないtelloをうごかしてみたよ~改行コードには気をつけよう~
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
Arduino Cloud IoTとNode-RedでRumiCarを見える化する
Arduino Cloud IoTとNode-RedでRumiCarを見える化する
Aliexpressで買ったエンドスコープが思いの外使えた話
Aliexpressで買ったエンドスコープが思いの外使えた話
ユニバーサルプレートをnumpy-stlで自作する(Make DIY universal plate with numpy-stl)
ユニバーサルプレートをnumpy-stlで自作する(Make DIY universal plate with numpy-stl)
MaixduinoにObniz OSを入れて エッジAIとenebularをつなげてみる
MaixduinoにObniz OSを入れて エッジAIとenebularをつなげてみる
Simulinkを用いたtoioラジコン
Simulinkを用いたtoioラジコン
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
第1回 Jetsonユーザー勉強会 AIoTをお手軽に試した話
第1回 Jetsonユーザー勉強会 AIoTをお手軽に試した話
ObnizとNode-REDでダンボール金庫システムを作った話
ObnizとNode-REDでダンボール金庫システムを作った話
円滑なRumicar開発をするためのtips Rumicar Conference
1.
円滑なRumicar開発をするためのtips 井上 稔(@henjin01_Fab) RumiCar 会議(conference) 2021/12/12
2.
自己紹介 名前: 井上 稔(Minoru
INOUE) 出没先: コミュニティ“ゆるメカトロ” Facebook: minoru.inoue.90 Twitter : @henjin01_Fab Rumicarしょしんしゃです。 I’m beginner. 今回は、Rumicarを作る際に実施した工夫をまとめました
3.
ざっくりとしたアジェンダ 1. ハードウェアな工夫 2. ソフトウェアな工夫
4.
ハードウェアな工夫
5.
大まかな概要 メカは一発で作ろうとするとほぼ確で失敗する 「試行錯誤」するためにおこなった工夫を話します。
6.
試行錯誤するには 試行錯誤する≒可変にする 今回のRumicarでは下記の要素を可変にした センサー 位置 ラジコンカー 配線
7.
配線について1 センサー、マイコン、車体の結線はあえて基板化しない →走らせた結果次第で仕様が変わる可能性がある ToFセンサーの交換やマイコンの変更は頻繁に発生したが おおよそ2分足らずで対応できた センサ用自作ケーブル 先端をジャンパっぽくした ピンヘッダそのまま
8.
配線について2 モータードライバはこちらを使用した 安価&小型、薄い 燃やしてもうまい棒5本程度の出費
9.
センサー位置について1 LEGOテクニック部品に互換させた センサーの角度・高さ調節が即座にできた。 かつ、センサー数を増やすなどの新しい取り組みが容易になった https://github.com/henjin0/GeekBaggy こちらで自作する方法もアリ:https://github.com/henjin0/HolePlateMaker
10.
センサー位置について2 組付けの自由度を増やすべくフラットベッド化した レーザーカッターで3mmのアクリル or MDFをカットして作成 https://github.com/henjin0/DAISO-radio-control-racing-car-plate
11.
車体について1 今回はダイソーラジコン(600円)を使用した ただ、フリーマーケットではもっと安く手に入ることも タイミングを狙えばmerucariだと送料込みで400円前後でゲットしやすい アフターコロナであれば、大井競馬場フリマなどもオススメ (下手すると100円切ることも。。。) https://trx.jp/hallDetail.xhtml?hallId=1
12.
車体について2 いっそのこと3Dプリンタで作ってしまえ! そんな方にKari-Kurumaはオススメです。 ステアやフレーム部品は3Dプリンタで作ればいいだけ 3Dプリンタさえ稼働していれば壊しても無問題 https://github.com/henjin0/Kari-Kuruma
13.
ハードウェアの工夫に関するまとめ 長く話したけども、結局コレに尽きる 容易なスクラップ&ビルド 低コスト 素早く失敗&即座に再挑戦できる状態をつくる
14.
ソフトウェアな工夫
15.
大まかな概要 Arduino IoT Cloudを有料プランにして Node-REDでデータを扱えるようにした 今回はRumicarと呼ばれる自律走行ラジコンを Node-REDを介してネットへつなぐ ToF1:123 ToF2:456 ToF3:789 ToF1:123 ToF2:456 ToF3:789
16.
大まかな概要(補足) Q. なんでNode-REDを使う必要があるの? A. 受信データの操作・保存ができない Arduino
IoT Cloudは基本的にデータの仲介と表示のみ 受信データのロギングやフィルタリングなどは現状不可能 →別のサービス(Node-RED)に頼る必要あり。
17.
今回つかうもの 今回使うもの enebular Entry Plan (年$23.88) ※2021/12/11(土)確認
18.
サービスとRumiCarの説明
19.
Arduino IoT Cloudについて ESP32などを含め、ネットにつながるArduinoボードを 簡単にネット上から操作できるサービス 上に示すようなダッシュボードで見える化できる また、課金プランでHTTP(POST/GET)で制御可能
20.
Node-REDとenebularついて • Node-REDはノードという部品を結線して構成するビジュアルプログラミング言語 • enebularはUhuru㈱が提供しているNode-REDプラットフォーム メアドの登録だけでクラウド上でNode-RED環境を使わせてくれる 一部制限はあるが、基本無料。超太っ腹!
21.
Herokuについて • アプリケーションを動かすためのクラウド環境(PaaS)。基本機能は無料 • AWSやAzureよりも非常に抽象的。中身よりも機能にフォーカスされている感じ。 一部制限はあるが、基本無料。超太っ腹!(2回目) https://jp.heroku.com/home
22.
RumiCarについて 3基の距離センサの値をもとに車体を制御する 自律走行プログラム開発のためのプラットフォーム 基本形はArduino nanoとToFセンサの組み合わせ ネットを介した制御は特に無し https://github.com/RumiCar-group/RumiCar Arduino nanoと モータードライバ ToFセンサ (左右と正面)
23.
今回のNode-REDの取り扱い enebularを用いてherokuにデプロイして使用 & Arduino IoT
Cloud用外部フローをインストール rumicar.herokuapp.com/ デプロイ @arduino/ node-red-contrib-arduino-iot-cloud skipシート
24.
実装について skipシート
25.
今回の構成 rumicar.herokuapp.com/ HTTP (GET/POST) HTTP (GET/POST) Arduino IoT
Cloudをインターフェースに RumiCarのToFセンサの値をNode-REDへ渡す
26.
Arduino IoT Cloud(Thing)設定 見える化だけできればいいのでToFセンサ値を定義
27.
今回のRumicar - ToFセンサ:VL53L0x - モータードライバ:DRV8833 -
制御ボード:Arduino MKR WIFI 1010 - いけにえ車体:ダイソーの600円ラジコン - フレーム:MDF/アクリルをレーザーカットして作成
28.
Rumicar本体に書き込むメインコード Arduino IoT Cloudへの接続コードは自動作成 かつ、コードの中身は通常Rumicarと大差なし #include
"RumiCar.h" int before_s1; int s0, s1, s2; int ibound; #include "thingProperties.h" void setup() { Serial.begin(9600); delay(1500); initProperties(); ArduinoCloud.begin(ArduinoIoTPreferredConnectio n); RC_setup(); ibound = 250; before_s1 = 0; setDebugMessageLevel(2); ArduinoCloud.printDebugInfo(); } int sat_value(unsigned int num){ if(num >= 255){ return 255; } return num; } void loop() { ArduinoCloud.update(); s0=sensor0.readRangeSingleMillimeters(); s1=sensor1.readRangeSingleMillimeters(); s2=sensor2.readRangeSingleMillimeters(); Serial.print("Sensor0:"); Serial.print(s0); vl53L0x_1_measure=s0; Serial.print(" Sensor1:"); Serial.print(s1); vl53L0x_2_measure=s1; Serial.print(" Sensor2:"); Serial.println(s2); vl53L0x_3_measure=s2; if(s1<=100){ if(s0 < s2-10 ){ RC_steer(LEFT); }else if(s0 > s2+10){ RC_steer(RIGHT); } RC_drive(REVERSE,sat_value(300-s1)); return; }else if (s1<=150){ RC_drive(FORWARD,sat_value(s1+50)); }else if (s1<=250){ RC_drive(FORWARD,sat_value(s1*4/5)); }else{ RC_drive(FORWARD,255); } if(s0 < s2+10 && s0 > s2-10){ return; } if(s0>s2){ RC_steer(LEFT); }else if (s2>s0){ RC_steer(RIGHT); } } void onVl53L0x3MeasureChange() {} void onVl53L0x1MeasureChange() {} void onVl53L0x2MeasureChange() {} Green Code:自動作成コード Blue Code :Rumicar追記コード Red Code :Arduino IoT Cloudに値を渡すコード
29.
Node-REDフロー(つなぐだけ) サジェストされる!
30.
できあがったもの(chart)
31.
できあがったもの(gauge)
32.
まとめ 既存コードを流用しつつRumicarをネットに繋げられた - Arduino IoT
Cloudは基本クリック操作のみ - Node-REDフローはサジェストされた設定をそのまま選択するだけ herokuダッシュボードにそのままつないで終わり - 自分から加えたArduinoコードは3行だけ とにかく手軽すぎる。 手軽なのに可用性ヤバい - APIキー取得後はHTTP経由で別サービスと連携可能 - 既存のArduinoコードはほぼ流用可能 できたら嬉しいなぁと思っていること - Websocketなどで通信を確立できたらリアルタイム性上がりそう - WebRTCで映像とか送れたらいいなぁ
33.
ご清聴ありがとうございました
Download now