技育CAMPキャラバンハッカソン vol.2

概要 私たちは今回、福岡で開催された 技育CAMPキャラバン ハッカソン に参加してきました! ハッカソンとは短期間で集中して開発を行うイベントで、今回はオフラインで開催され、はるばる博多まで行きました(とても大変だった…) 制作したアプリは当日非常によい反応を頂いて最優秀賞をいただくことができました!! まさか初めてのハッカソンで、B1だけで、最優秀賞を取れるなんて…とてもいい経験になりました。 そんなハッカソンでの制作物について説明したいと思います 紙を破る風神 制作物について 今回制作したものは かみあぷり というものです。 このアプリでは 紙を破く という動作を認知し、スライドを移動する・プレゼンを開始/終了する、そしてソースコードを全て消す といった操作ができます。 以下の画像は実際のアプリの画面です。 紙を破いたと判断されると 付箋 に書かれている内容が実行され、ログが追加されます。また右側の2本の棒で認識状況がわかるようになっています。 実行内容は 付箋 をクリックすることで変更できます。 技術スタックについて フロントエンドは HTML/CSS と Vanilla JSを、音の認識には TensorFlow.js を使用しています。 Vanilla JS は高速で軽量な素晴らしいクロスプラットフォームのフレームワークです 本当は React.js を使用する予定でしたが、TensorFlow.js との兼ね合いがうまくいかず、諦めました。 他にもアニメーションをつけるために jQuery を使っているらしいです。(私は知らない) GUIフレームワークとして Tauri を使用しています。 とりあえず新しいものを使っとけの精神で選びました。 他にも AppleScript や Python を活用しています。 紙を丸める雷神 努力ポイント 続いて製作中に苦労したポイントなどです Tnsorflow.js ライブラリの読み込み TensorFlow.js は npm からインストールすることができます。 インポートして開発環境でテスト…無事できた!! しかしビルドするとERROR… とても頑張りました、しかし私には分かりません。 どうしようか… そこで思いついた解決方法はデモ用の speech-commands.min.js をダウンロードする! tf.min.js もダウンロードする!ついでに jquery-3....

2023-6-17 · 2 min · 300 words · SatooRu

梶研 07/27 - 08/02

スケジュール 短期的な予定 端末状態推定 技育CAMP vol.7(技育展) 案出し 役割分担 アプリイメージの作成 サイトの作成 スライドの作成 技育CAMP vol.7 発表(8/5) 技育展中部ブロック 発表(8/12) HackU Nagoya 案出し 役割分担 アプリイメージの作成 サイトの作成 スライドの作成 発表 (8/27) 長期的な予定 9/2 技育CAMP アドバンス 10/7,8 工科展 進捗報告 技育CAMP vol.7(技育展) 表示を変更 木構造はごちゃごちゃして面白くない ネットワーク構造に変更 ついでにUIも変更 変更後のサイト 無駄に HTML と CSS だけで描いた トップ画面 ドロワー Hack U 案の変更(?) 技術系TikTok → LT会簡単にする蔵(仮) 概要 LT会をオンラインでも開催できるようにするアプリ アーカイブも残せる 説明 発表者 スライド(pptx, pdf) をあらかじめアップロードしてもらう 発表はサイト上で行ってもらう (Google スライドのイメージ) 閲覧者 発表中の場合、リアルタイムでスライドが遷移し、音が聞こえる アーカイブの場合、発表中と同様に見れる メリット LT会特有の「発表資料、内容が一度きりになる」といった課題を解決できる ハッカソン等でも簡単にアーカイブを残し、後から見てもらうことができる 当日の発表で実演できる 技術的挑戦ポイント 音声のリアルタイム共有 webRTC を使う...

2023-8-2 · 1 min · 86 words · SatooRu

梶研 07/19 - 07/25

端末状態推定 出席率 3年セミナー:??% スケジュール 短期的な予定 端末状態推定 技育CAMP vol.7(技育展) 案出し 役割分担 アプリイメージの作成 サイトの作成 スライドの作成 技育CAMP vol.7 発表(8/5) 技育展中部ブロック 発表(8/12) HackU Nagoya 案出し 役割分担 アプリイメージの作成 サイトの作成 スライドの作成 発表 (8/27) 長期的な予定 9/2 技育CAMP アドバンス 10/7,8 工科展 進捗報告 端末状態推定 加速度と角速度, カルマンフィルターを使って端末の状態を推定する 値をとる 歩く - 止まる - 曲がる - 歩く を繰り返す 加速度のグラフ 加速度のノルムのグラフ 角速度のグラフ 角度のグラフ 考え方 加速度に変化がない時は、重力加速度の方向を使って端末状態を出す 変化がある時は、ジャイロセンサーの値を使って端末状態を変化させる norm が 9.5(m/s^2) 以上 10.1(m/s^2) 以下の時は、動いていないと判断する 灰色 が動いていない判定 歩いている途中でも 9.8(m/s^2) 前後になるが、重力加速度しか掛かっていないから、加速度センサーから推定しても良い? (カルマンフィルターの使い方がわからない) 余談 Qiitaで正論パンチ喰らってます 知らない人からの無機質な指摘は怖い… が、とても為になる 読書の夏 テスト週間は読書が捗ります....

2023-7-25 · 1 min · 79 words · SatooRu

梶研 07/12 - 07/18

磁気センサで方位角を測る 出席率 3年セミナー:??% スケジュール 短期的な予定 方位角を測る x と y から求める 3次元的に求める 技育CAMP vol.7(技育展) 案出し 役割分担 アプリイメージの作成 サイトの作成 スライドの作成 技育CAMP vol.7 発表(8/5) 技育展中部ブロック 発表(8/12) HackU Nagoya 案出し 役割分担 アプリイメージの作成 サイトの作成 スライドの作成 発表 (8/27) 長期的な予定 8/5 技育CAMP ハッカソン 8/12 技育展 8/26 OpenHackU 9/2 技育CAMP アドバンス 10/7,8 工科展 進捗 進捗報告 方位角を測る z軸上向き, y軸が北 y軸上向き, z軸が北 y軸上向き, x軸が北 z軸上向き, x軸が北 データの取得 理想 z軸上向き, y軸が北 0度 y軸上向き, z軸が北 0度 y軸上向き, x軸が北 90度 z軸上向き, x軸が北 90度 元データ 回転後 (0~5s では0度のはず)...

2023-7-18 · 1 min · 119 words · SatooRu

梶研 07/05 - 07/11

磁気センサで方位角を測る 出席率 3年セミナー:??% スケジュール 短期的な予定 方位角を測る x と y から求める 3次元的に求める 技育CAMP vol.7(技育展) 案出し 役割分担 アプリイメージの作成 サイトの作成 スライドの作成 発表 長期的な予定 8/5 技育CAMP ハッカソン 8/12 技育展 8/26 OpenHackU 9/2 技育CAMP アドバンス 10/7,8 工科展 進捗 方位角を測る 手段 磁気センサの値から arccos(x/y) を用いて出す データを取る 画面(z軸正)を上向ける y軸正が北を向いた状態から左回転で360度回す 磁気センサーデータ 求め方 x/y から arccos を用いて方位角を出す df_mag["angle"] = df_mag.apply( lambda row: np.degrees(math.atan2(row["x"], row["y"])), axis=1 ) 方位角のグラフ -180度 ~ 180度 のためグラフが急激に変化しているが理想通り x/y で計算しているためスマホを立てると狂う => 重力加速度を元に補正する データを取る y軸正が北 z軸正が北 x軸正が北 データをとっている様子...

2023-7-11 · 1 min · 139 words · SatooRu