情報工学工房「Coqで学ぶ計算機ソフトウェアの基礎」授業紹介(2020/10/11)

電気通信大学1年の伊藤です。情報工学工房の今年のコースの1つ、「Coqで学ぶ計算機ソフトウェアの基礎」の紹介をします。

授業内容を簡単に説明すると、毎回宿題として教科書を読み、証明の問題を解いてきて、解いてきた証明について、授業中に解説などをする、と言った感じです。

この授業の大きな特徴は、証明に「Coq」を使うことです。Coqというのは、証明が正しいかどうかを検証してくれるツールです。証明というと日本語や英語などの自然言語で書くのが普通ですが、Coqを使った証明では、プログラミング言語を使います。

証明の内容は、基本的な自然数の性質やリスト(配列)の性質を証明したり、とても簡単なプログラミング言語を定義してその性質を証明をしたり、アルゴリズムの正しさ(思った通りの振る舞いをするか)を確かめたり、といった感じです。教科書で扱うものはどれも、世の中で実際に扱われている対象を簡易化したものですが、演習問題は難しく、私は結構苦戦しています。

上の画像は、実際に証明を組み立てている画面です。鳩の巣原理を証明しようとしています(鳩の巣原理を知らない場合は調べて下さい)。まだ証明できていません。演習問題の答えをネット上の検索エンジンで検索できる場所に上げないで下さいと教科書に書いてあるので、一応まだ解けていない問題を選んでみました。こんなことも証明できるのかと驚いた問題の1つです。まだ証明できていませんが…

まだまだ授業は続くので、引き続き腕を磨いていきたいと思います。

情報工学工房ダンボールコミュニケーションロボットチーム2020前期活動紹介(2020/8/14)

こんにちは!Ⅰ類(情報系)1年の江連と大住です。ここでは情報工学工房について紹介します。
電気通信大学にはⅠ類、Ⅱ類、Ⅲ類の3つの類があり、Ⅰ類では情報に関すること(AI、VRなどもあります)を学ぶことができます。そしてⅠ類を目指そうという人に特におすすめなのがこの情報工学工房です。情報工学工房とは、ロボットを動かしたり、プログラミングしたり、AIを使って小説を書いたり、、、など(詳しくはホームページへ)好きなテーマを選んで1年間開発する授業らしくない授業です。大学では何十人もの学生が一斉に授業を受けることがほとんどですが、この情報工学工房では、少人数で自分の興味があることを学ぶことができます。

昨年の活動はこちら 

ダンボールコミュニケーションロボットチームはロボットを組み立て、各自が命令を書き込んで自己紹介をさせました。ロボットは「センサー、知能・制御系、駆動系の3つの要素技術を有する知能化した機会システム」(出典:総務省 コミュニケーションロボットとは)と定義されており、すでにボタンを押すとパターンに従ってロボットに喋らせることができています。また、駆動系として首が可愛くフリフリ動きます。
このロボットには自分でセンサーを追加したり、プログラミングでより高度な制御を目指したりと、可能性が無限大にあります。現在は自分がやりたいサービスを実現するために何をするべきなのか、イメージを膨らませています。

前期の工房は、Zoomを用いたオンラインのみの活動になりましたが、OBやエンジニアの山口さん、庄野先生のサポートもあり、ダンボールコミュニケーションロボットに関わる技術を学べました。後期には、実際にそれぞれがダンボールコミュニケーションロボットを開発し、様々なサービスを検討したいと思います!

FPGA&Unity班2020前期中間発表(2020/7/7)

先日の情報工学工房の中間発表の中から、いくつか気になった作品を紹介します。

【Unity班】

・振り子の物理シミュレーション

・的当てゲーム

・弾幕ゲーム

また、中間発表ということもあり、以下の例のようなものを途中まで作った・これから作ってみたいという発表も多かったです。

・VRタワーディフェンスゲーム

・ブロック崩し

・FPS(シューティングゲーム)

・2人用VR協力アクションゲーム

・音声認識でキャラクターと触れ合う

【FPGA班】

FPGA班についても、前年度と異なったチャレンジをしたいなどの理由から以下のようなものを作ってみたいという発表がありました。

・ブラシレスモーターのベクトル制御

・FPGAボードの自炊

・テトリス

・自作CPU

・ファミコンを再現

・FPGAでドローンを飛ばす

・TPUを作りたい

今回は中間発表ということもあり、まだ未完成だったりこれからやりたいことがある人が多い印象でした。最終発表までにどのような作品が仕上がっていくのか楽しみです。

寺崎

FPGA&Unity班2019後期最終発表(2020/2/7)

Unity班のTAの寺崎です。

今日は情報工学工房の後期最終発表があったので、その様子をご紹介します。

・FPGA班

FPGA班の発表では、Twitterに学内掲示板の写真が投稿された際に自動でリツイートする情報収集用botを作成した学生の発表や、FPGAボードを自作した学生の発表などが行われました。

・Unity班

Unity班の発表では、マルチVRプラットフォームを自作した学生の発表や、脱出ゲームを作成した学生の発表、スライムとフリスビーで交流できるゲームを作成した学生の発表などが行われました。

マルチVRプラットフォームを作成した学生によると、現状作成したシステムには任意のアバターを使用した通信システム、モーションキャプチャ機能やボイスチャット機能、デスクトップでログインできる機能が搭載されており、所属サークルのバーチャル部会を開いたそうです。将来的にはVRMMORPGを作成したいとのこと。

前期よりも発展的な内容や、自分のやってみたいことにチャレンジした学生が多く見受けられたように感じます。他の授業の課題やテストに追われつつも、クオリティの高い制作を行ってきた学生たちの作品にとても感心しました。是非、これからも電通生らしいものづくりを続けていってほしいなと感じました。

情報工学工房ダンボールコミュニケーションロボットチーム後期活動紹介(2019/10/30)

こんにちは。I類(情報系)計算機実験室管理者の島崎です。本日は、情報工学工房ダンボールコミュニケーションチームの活動を報告します。これがダンボールコミュニケーションロボットです(顔は作成中)。

ダンボールコミュニケーションロボットは、Raspberry Pi と呼ばれる小さいコンピュータからできています 。Googleの音声認識機能を用いて、様々なサービスを作ることができます。

ダンボールコミュニケーションロボットチームは、1年生から大学院生まで様々な学生が毎週集まって、ロボット作成に必要な技術を自主的に勉強しています。

実際に、学生が作っているダンボールコミュニケーションロボットは様々。
1年生から3年生まで様々な類の学生や大学院生と一緒に学んでいます!

ダンボールコミュニケーションロボットチームは、電気通信大学図書館のAgoraと呼ばれる学修スペースで毎週水曜の5限に活動しています。

ダンボールコミュニケーションチームは、庄野逸教授、モバイルクリエイト株式会社のエンジニア山口さんのご協力で運営しています。講義と違い皆でディスカッションしながら楽しむことを大切にしています。

それぞれの学生が設計したユニークな制作物は、11月以降に紹介する予定です。

情報工学工房では、電気通信大学の学園祭(調布祭)と同時開催のオープンキャンパス(2019/11/24)も様々なテーマの学生さんが制作物を発表する予定です。https://www.uec.ac.jp/opencampus/

是非、ご覧ください!

情報工学工房FPGA班2019夏休み&後期活動紹介(2019/10/28)

こんにちは!I類(情報系)計算機実験室(CED)管理者の島崎です。

今回は、情報工学工房FPGA班の活動を行います。FPGA班では、夏休みと後期にかけてそれぞれ、自分たちの作りたいハードウェアを設計しています(詳しくは来月の中間発表で話します)。今年のFPGA班の活動は、前期と後期共に金曜(16:30-18:00) に行っています。

まずは、夏休みの風景です。

実は、全員2019年に入学した1年生!所属する類もI類だけでなく、II類やⅢ類とバラバラ。夏休みに自主的に取り組みました。

次に、後期より情報工学工房で利用している部屋に期間限定で基盤加工機を設置し、実際に活用している様子です。

これは、基盤加工機と呼ばれる電子回路の基盤を作成できる機械
実際に1年生が初めて作成した基盤。左が一回めで、右が一回目

それぞれの学生が設計したユニークな制作物は、11月以降に紹介する予定です。

情報工学工房では、電気通信大学の学園祭(調布祭)と同時開催のオープンキャンパス(2019/11/24)も様々なテーマの学生さんが制作物を発表する予定です。https://www.uec.ac.jp/opencampus/

是非、ご覧ください!

FPGA&Unity班2019前期最終発表(2019/8/2)

Unity班のTAの寺崎です。

今日は情報工学工房の前期最終発表があったので、その様子をまとめます。

・FPGA班

・Unity班

入試で用いられた物理の問題をUnityを用いて解いてみたとのこと。

こちらは「Unityで彼女を創りたい!」という学生の作品。

こちらは、スタンドアロンであるOculus Questを活用して作成した脱出ゲームの作品。

最後に、三次元的な物理シミュレーションを行う作品を作ろうとしたもののうまく行かず、代わりに別の作品を作った生徒の作品。

前期は主にテーマに沿って制作を行ってもらいましたが、後期は制限がなくなるため、各々好きな作品を作成してもらいます。私はTAとなる前に生徒としてこの授業を受講していたのですが、その際は後期のほうがダイナミックで個性的な作品が多かったように思います。既に最新の機材を活用して意欲的な開発を行っている今年度の学生が、後期に向けてこれから何を作るのか非常に楽しみです。

コミュニケーションロボットを作ろう!(2019/7/10)

こんにちは。 Ⅰ類(情報系)計算機室管理者の島崎です。 今回は、私も関係している情報工学工房について紹介します。情報工学工房は、Ⅰ類(情報系)の名物?の授業で、学生と教員が1年間、好きなテーマを設定して、ソフトウェアやハードウェアを開発する授業じゃないような授業です。参考:情報工学工房ガイダンス資料 http://www.taka.is.uec.ac.jp/~kudoh/misc/kobo_guidance2019.pdf

今回は、情報工学工房のテーマの1つである「ダンボールとRaspberry Piで「会話ができるコミュニケーションロボットを作ろう!」を紹介します。

担当は、 Ⅰ類(情報系 )メディア情報学プログラム庄野逸教授、電通大アライアンスセンター入居企業モバイルクリエイト株式会社の山口博光さんです。

モバイルクリエイト株式会社の山口さん。電通大の教職員だけでなく、電通大のインキュベーション施設に入居しているプロのエンジニアから学べるのがこのテーマの魅力。

山口さんが開発したコミュニケーションロボットは、電気通信大学の図書館、100周年キャンパスのセブンイレブン、マルツエレックで活躍しております。本テーマは、コミュニケーションロボットを作ることで、コンピュータサイエンスの基礎知識、Linuxやネットワークに関する実習、コミュニケーションロボットを活用したサービスを考えることを目指しています。

2年生と3年生が協力してブレッドボードで回路を作成している様子。講義で学んだ知識をもとに、学年や類を横断した学生と授業を行っている。

本テーマは、電気通信大学図書館のAgoraというアクティブラーニングスペースで毎週水曜日の5・6限に授業を行っています。興味のある人は何時でも尋ねてください!文責:島崎

FPGAでオーディオメーター(2019/6/7)

Digilent社のBasys3というボードを使ってFPGAの勉強をしています。 ADコンバータ(アナログ信号をデジタル信号に変換すること)のサンプル回路(XADC Demo)があり、それを動作確認しています。FPGAは基本デジタル回路なのですが、一部アナログの機能が付いているチップもあります。

FPGAによるオーディオメーター

今回はスマホのヘッドフォン端子から音情報を拾い、片方はアンプを通してスピーカーを鳴らし、もう片方はFPGAのピンに入力しています。FPGAでは入力電圧を7セグLEDで表示し、同時に電圧に応じてレベルメーターのように光らせています。よく見ると分解されたマウスがありますが、これはUSBコネクタから5V電源を取ってアンプを駆動するために使いました。もう使わないマウスが部屋の隅に捨てられていたので。

FPGA班とUnity班(2019/5/31)

FPGAとは書き換え可能な論理回路。今のコンピュータはデジタル回路で出来ていますが、デジタル回路の基本である論理回路を実現出来るハードウェアです。マインクラフトでも論理回路を作ったりしている人がいますが、FPGAであればそれが現実世界で動きます。ただし複雑なことをさせるには設計がかなり大変です。

今年のFPGA班には目標の高い学生さんがいます。CPUを設計したいということで参考資料を用意しました。また、既にモーターを駆動するための基板を自分で設計・製作している強者もいます。

独自CPUの設計に関する最近の本を集めました
工房の始まる前にモーターをコントロールする基板を自分で作っていました。CPU用ヒートシンクを流用しています。

Unityはスマホゲームでもよく使われるゲームエンジンで、物理演算が簡単に出来たり、VR(バーチャルリアリティ)用の開発環境が揃っているなどの特徴があります。Unity班では、初めて触る人は本を見て勉強していきますが、既に触ったことがある人は友人と議論しながら作ったりします。今年はどんな作品が出来るでしょうか。

Unityのデバッグを一緒にやっています