Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ルンバをハックする話

MEMETAN
February 19, 2021

 ルンバをハックする話

MEMETAN

February 19, 2021
Tweet

Transcript

  1. 今までに作ったものを紹介① 未 踏 ジ ュ ニ ア で 作 っ

    た 自 作 の ノ ー ト パ ソ コ ン ◆筐体は透明アクリル板を使用。 エンジニアカフェのレーザーカッターに かなりお世話になりました︕ ◆トラックパッドの部分にはラズパイを 接続した5インチタッチパネルを使用 しました。制御ソフトも⾃作しました。
  2. 今までに作ったものを紹介② Robloxの ゲ ー ム ◆Robloxというゲームプラットフォームの ゲームで遊ぶのが⼤好きです。 Robloxではたくさんのゲームが公開されて いて、開発環境も提供されているので ⾃分でゲームを作ることができます。

    (言語はluaベース) ⼤⼈数で遊べる最新作 「おにごっこ」→ マイクラ風サンド ボックスゲーム 「Blockey」↓ ゴミ拾いゲーム 「Garbage Simulator」→ このほかにも沢山つくっています
  3. 作成したコマンドを紹介 • さきほどのcurlから実⾏できる⾃作コマンドの仕様をまとめてみまし た。(現在も拡張中) • もし⾒たい⼈がいるならプログラムをGitHubに公開したいなと思いま す。 { " C

    o n t r o l T y p e " : 0 , " B r u s h T y p e s " : [ ] , " M o v e m e n t " : { " D I R " : 0 , " R O T " : 0 } , " L E D " : { " C o l o r " : 0 , " P o w e r " : 0 , " D i r t " : 0 , " M a x " : 0 , " C l e a n " : 0 , " S p o t " : 0 , " S t a t u s " : 0 } } | | | | C o n t r o l T y p e | 中 に D I R と R O T の I N T の 値 が 必 須 L E D の 操 作 こ の 中 に あ る L E D が な い 機 種 も あ る 。 ( C o n t r o l T y p e 2 で 使 用 ) 0 : ブ ラ シ の 操 作 | D I R は 位 置 C o l o r P o w e r D i r t M a x C l e a n S p o t S t a t u s の I N T が 必 須 1 : 動 き | R O T は 角 度 C o l o r : 0 ~ 2 5 5 の 値 、 0 は 緑 色 , 2 5 5 は 赤 色 メ イ ン L E D の 操 作 の 値 の 一 つ 。 2 : L E D | ル ン バ を 移 動 さ せ る ( C o n t r o l T y p e 1 で 使 用 ) P o w e r : 0 ~ 2 5 5 の 値 、 0 は 無 効 、 2 5 5 で パ ワ ー 最 大 。 メ イ ン L E D 操 作 の 一 つ 。 操 作 す る ブ ラ シ 一 覧 ( C o n t r o l T y p e 0 で 使 用 ) D i r t : 0 / 1 の 値 、 0 無 効 1 有 効 D i r t L E D の 操 作 。 ( 青 色 ) 1 : S I D E ブ ラ シ M a x : 0 / 1 の 値 、 0 無 効 1 有 効 M a x L E D の 操 作 。 ( 赤 色 ) 2 : バ キ ュ ー ム C l e a n : 0 / 1 の 値 、 0 無 効 1 有 効 C l e a n L E D の 操 作 。 ( 赤 色 ) 3 : M A I N モ ー タ ー S p o t : 0 / 1 の 値 、 0 無 効 1 有 効 S p o t L E D の 操 作 。 ( 赤 色 ) # # こ こ か ら 特 殊 S t a t u s : 0 / 1 / 1 0 / 1 1 4 : ( 1 ) 必 須 S I D E ブ ラ シ を 反 転 さ せ る 0 : O F F 5 : ( 3 ) 必 須 M A I N ブ ラ シ を 反 転 さ せ る 1 : 赤 1 0 : 緑 1 1 : 中 間
  4. ドックに戻るプログラムの動作 • ちゃんとドックに帰ってくれました︕ w h i l e ( T

    r u e ) : d a t a = s e l f . s e n s o r s ( [ I N F R A R E D _ B Y T E , C H A R G I N G _ S O U R C E S _ A V A I L A B L E ] ) i f d a t a [ C H A R G I N G _ S O U R C E S _ A V A I L A B L E ] ! = 0 : s e l f . g o ( 0 , 0 ) t i m e . s l e e p ( 1 ) d a t a = s e l f . s e n s o r s ( [ I N F R A R E D _ B Y T E , C H A R G I N G _ S O U R C E S _ A V A I L A B L E ] ) i f d a t a [ C H A R G I N G _ S O U R C E S _ A V A I L A B L E ] = = 0 : # # O o p s , I t ' s n o t c h a r g i n g ! T h i s h a p p e n s s o m e t i m e s . R e t r y : s e l f . g o ( - 2 0 , 0 ) t i m e . s l e e p ( 1 ) c o n t i n u e b r e a k i f d a t a [ I N F R A R E D _ B Y T E ] = = 0 : c o n t i n u e # N o I R D a t a r e c i v e d i f d a t a [ I N F R A R E D _ B Y T E ] = = 1 7 2 o r d a t a [ I N F R A R E D _ B Y T E ] = = 1 7 3 : # p r i n t ( " T i m e t o g o ! " ) s e l f . g o ( s p e e d , 0 ) # t i m e t o g o i f d a t a [ I N F R A R E D _ B Y T E ] = = 1 6 8 o r d a t a [ I N F R A R E D _ B Y T E ] = = 1 6 9 : s e l f . g o ( 0 , s p e e d ) # T o o R i g h t i f d a t a [ I N F R A R E D _ B Y T E ] = = 1 6 4 o r d a t a [ I N F R A R E D _ B Y T E ] = = 1 6 5 : s e l f . g o ( 0 , 0 - s p e e d ) # T o o L e f t ↑プログラムの一部
  5. ほかにやりたいこと • ラズパイ4を何個か用意出来たら、スパコンをつくってみたい • M5Stackのカメラでセキュリティシステムを作っているので拡張したい • ロボットアームを使ってみたい • 音楽も作ってみたい •

    少し前にM5Stackで作ったビデオとオーディオのストリーミングを改良し たい • VRのアプリを作りたい • レゴマインドストームを使いたい • 光造形の3Dプリンタがほしい • スマート体重計を作りたい • ドローンを拡張改造してみたい や り た い こ と ば か り で お ⾦ が あ り ま せ ん ︕ 笑