Submit Search
Upload
HL2022予選:ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう)
•
Download as PPTX, PDF
•
0 likes
•
7 views
M
MinoruInoue2
Follow
ヒーローズリーグ2022予選資料
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 17
Download now
Recommended
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
enebular(cloud)からeduじゃないtelloをうごかしてみたよ~改行コードには気をつけよう~
enebular(cloud)からeduじゃないtelloをうごかしてみたよ~改行コードには気をつけよう~
MinoruInoue2
Recommended
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
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
円滑なRumicar開発をするためのtips Rumicar Conference
円滑なRumicar開発をするためのtips Rumicar Conference
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
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
MinoruInoue2
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
MinoruInoue2
円滑なRumicar開発をするためのtips Rumicar Conference
円滑なRumicar開発をするためのtips Rumicar Conference
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
(11)
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
自作ユニバーサルプレート&LEGO互換パーツ作成ツールのなかみのはなし
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
Atom motion+arduino iot cloud+node-redで非接触ボックスを作る
円滑なRumicar開発をするためのtips Rumicar Conference
円滑なRumicar開発をするためのtips Rumicar Conference
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でダンボール金庫システムを作った話
HL2022予選:ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう)
1.
ProtoLotus (クリック操作で自作LEGOパーツやユニバーサルプレートを作ってみよう) 2022/11/21 #ヒーローズリーグ 2022 いのうえ みのる
2.
名前:井上 稔(Minoru INOUE) 出没先:
コミュニティ“ゆるメカトロ” Facebook: minoru.inoue.90 Twitter : @henjin01_Fab コンテストごとはひさしぶり〜
3.
ものづくりって大変 ユニバーサルプレートで タミヤのギアボックスに合う部品を 加工で作ろうとして間違えた… 刃物で怪我をした… 既存のLEGOテクニック部品だと ちょっと足りない… 手持ちのLEGOブロックが少ない! 欲しいのだけど入手しづらい… ギアボックス画像はこちらから引用: https://www.tamiya.com/japan/products/70189/index.html なにかと部品は自炊したい!
4.
Protolotusって? オレオレ仕様のユニバーサルプレートやLEGOテクニックパーツを 自作できるツール フリーソフト! このテーブルのセルをクリックすると ブロックが追加・変更・削除される Githubページ コードもバイナリも 公開! (Windows or
Mac) - 開発言語:Python - GUI:pyQtと OpenGL - STL出力:numpy-stl
5.
3Dプリンタで出力できるよ!(作品例)
6.
早速DEMOります! これ作ります。 ツール上 3Dプリント後の現物 (PETG、2時間位で出力)
7.
まとめ ね、楽でしょ? 1. 操作はマウスとCtrl+数字キーだけ! 2. CADの知識いらない! 3.
プレゼン時間のたった4分で部品が作れる! 自分好みの部品はチョッパヤで自炊しよう! アイデアに時間を全プッシュだ! 4. 好きな素材で部品が作れるよ! ex: ゴムっぽく(TPU), 木の温もり(Wood PLA), 頑丈(PETG)
8.
以降は予備
9.
ロジックについて考えたきっかけ 昔のツールは適当だった。動作モッサリで拡張性も微妙だった。 ブロック追加ごとに 再描写 →ブロック数が増える と待ち時間増加 ブロックの種類が 今後も増えそう →データ構造も考える 必要あり 差分だけ変更を加えて、各ブロックにデータをもたせる形にする必要があった 画面描写と STL作成は 分離したい
10.
1 2 3 0 … … 1
2 1 2 データ構造 • ブロック値(1,2,3) • ブロック座標(row, column) • ハッシュ値(row+column最大値*column) • ブロック設定(タミヤ互換 or LEGO互換) • メッシュデータ(GLMesh) column row Table: データなし (1,1)に1のブロックを置く ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 (2,1)に3のブロックを置く ハッシュ値11 クリックした順に ブロック操作が入る キュー的にOpenGL表示データを一列に格納する形を採った また、ハッシュ値から一意にブロックを特定できる。 … Queue:
11.
ブロック追加時 1 2 3 0 (1,1)に1のブロックを置く
ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 1 2 3 1 (1,1)に1のブロックを置く ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 (2,2)に2のブロックを置く ハッシュ値12 (2,2)をクリック 0表示になっている箇所をクリックすると、 ハッシュ値と一緒にブロック操作が入る 1 2 1 2
12.
1 ブロック変更時 1 2 3 1 (1,1)に1のブロックを置く
ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 1 3 3 (1,1)に1のブロックを置く ハッシュ値1 (1,2)に3のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 (2,2)に2のブロックを置く ハッシュ値12 (1,2)をクリック →ハッシュ値2探す テーブルクリック時にハッシュに該当するブロック値を変える (2,2)に2のブロックを置く ハッシュ値12 1 2 1 2 search!
13.
ブロック削除時 1 2 3 1 (1,1)に1のブロックを置く
ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 (2,2)に2のブロックを置く ハッシュ値12 1 2 1 2 (1,1)に1のブロックを置く ハッシュ値1 (2,2)に2のブロックを置く ハッシュ値12 ハッシュ値11 delete! 1 2 1 … … 0 (1,2)に2のブロックを置く ハッシュ値2 (2,1)をクリック →ハッシュ値11探す 数字のカウントアップが一巡した(3→0)場合には キューからブロック操作を削除する
14.
STL出力 1 2 3 1 (1,1)に1のブロックを置く
ハッシュ値1 (1,2)に2のブロックを置く ハッシュ値2 … … (2,1)に3のブロックを置く ハッシュ値11 (2,2)に2のブロックを置く ハッシュ値12 1 2 1 2 がクリックされたタイミングでテーブルを総なめして作成する For二重ループで 0以外を総なめ キュー内のデータはOpenGL表示用の データ=STL作成では使わない
15.
できたこと 問題としていたことはひとまずパス ブロック 追加ごとに再描写 →待ち時間増加 ブロックの種類が 今後も増えそう 画面描写と STL作成は 分離したい キュー&ハッシュでデータを個別管理 操作はブロック個別になった ブロックの描写単位でブロック情報をもたせた ブロック値のカウントアップで定義可能 画面描写時とSTL作成時で参照するデータが 異なるため、独立性が高くなった
16.
まとめ(かんそう) 趣味ツールとはいえ、データ構造はソフトウェアのコア アイデアを送り出すまではスピード重視 But→送り出したあとは手早くデータ構造を見直すべき データ構造を考えるのはダルい But→一回決まると後工程が楽 レスポンス面の不便=ロジックとデータ構造の見直し 不便を感じたらドキュメントに起こそう
17.
以上です!
Download now