情報工学工房 VR班 前期報告(2023/8/24)

情報工学工房VRを担当している小泉です。情報工学工房のVR班の前期最終発表について紹介します。

前期は各自が自分で目標を決めて、制作を行いました。主にUnityでのプログラミングを学習する学生が多かったです(Unity Learn Junior Programmer等で勉強していました)。また、みんなでHead Mounted Display(VIVE Pro)やモーションキャプチャー(Perception Neuron 3 Glove Set)や空間再現ディスプレイELF-SR1などを動かし、新しいツールの使い方の習得を行いました。

このページでは、受講生学生の前期成果を紹介します。

電車のシミュレータを試作(簡易的なUIとシミュレータの自作)
Unity Learnで学んで作成したアプリケーション例
サバイバルゲームの試作
Unityの勉強と、サーボモーターとの連携例

授業では、各自が自分なりの目標を決めて学習を進めながら、毎週の集まりで現在の取り組みやわからないことを相談しながら進めています。授業はUEC VR studioで行いました。また、受講者仲間でNHK技研公開に参加したりもしました。

後期には調布祭での作品公開を予定しています。

情報工学工房 VR班 前期報告(2022/8/25)

情報工学工房VRを担当している小泉です。情報工学工房のVR班の前期最終発表について紹介します。

投稿を表示

前期は各自が自分で目標を決めて、制作を行いました。主にUnityでのプログラミングを学習する学生が多かったです。既にある程度Unityを扱えたり、HMDを利用したソフトウェアの開発経験のある学生は、新しいツールにチャレンジしていました。授業はUEC VR studioで行いました。

このページでは、受講生学生の前期成果を紹介します。

Unityの勉強

グライダーゲームの開発

XR Interaction Toolkitの導入や、iPhone用ARアプリの開発

都市モデル空間の中をジェスチャー認識を使って移動する作品

Hololens2 と mediapipeを組み合わせたアプリケーションの開発

授業では、各自が自分なりの目標を決めて学習を進めながら、毎週の集まりで現在の取り組みやわからないことを相談しながら進めています。また、受講者仲間でNHK技研公開に参加したり、東大駒場リサーチキャンパス公開2022に参加してVRのラボを見学したりもしました。

後期には調布祭での作品公開を予定しています。

進化する授業@コンピュータグラフィックス

 この授業では、CGを描画するために利用されている技術を学び、習得し、それを応用する力を身につけることを目標としています。ですので、授業や課題ではOpenGLを用いてCGを描画するプログラムを作成したり、OpenGLの関数の機能を自作するなどといった実際に手を動かして取り組むものが多く、CGその周辺分野に興味を持つ学生であれば退屈しない授業だと思います。

 こちらは実際の授業の様子です。

今はVRなどでも利用されている、立体表示の仕組みの解説でしょうか。なんの変哲もない授業、、に見えますが実は普通ではないんです。

 CGの授業ではコロナ禍にある2022年現在、対面とオンラインを組み合わせたハイブリッド授業が取り入れられています。私も気分によって両者を使い分けて受講しているのですが、Zoomで行われているオンライン講義の様子がこちら。

画面の左半分には横長の黒板全体を二つに分けて表示し、右半分には先生が書いている場所が拡大表示されていることが見て取れるかと思います。Zoomの画面がこれであれば先生が書いた文字や図も見やすいですし、万が一書いているところを見逃しても全体が写っているので安心できますね。ですがこれ、カメラを操作している人がいたり、後から映像を編集して作ったものではありません。先生が開発したシステムを使って実現しています。

 仕組みをざっくりとご紹介しましょう。

一枚目の写真にも右端にすこーしだけ写り込んでいるのですが、このような機材が教室の前に置かれています。ただのカメラのようにも思えますが、Kinectという体の動きを検出できるデバイスです。下の動画はKinectを使用した別のシステムで、体の動きを綺麗に3Dアバターに反映させることができていることが分かるかと思います。

これと同じようにして手の正確な位置を検出し、それに合わせてカメラの拡大位置を変更することで先ほどの動作を実現しています。

 ですがこのシステムにたどり着くまでには試行錯誤もありました。初めのうちはジェスチャを検出して黒板の映す位置を変更する仕組みになっていたのですが、ジェスチャがうまく検出されないことがあったり、逆に意図しない仕草がジェスチャとして判定されて関係のない位置が映し出されてしまうなんて事もありました。それから数回の授業を経て現在の仕様に落ち着く事になりました。

また、2019年度は下のリンクにあるような、また違う方向性の授業も行っていらっしゃったそうです。

 それから去年度の授業から導入されたのが、、

このアバターを使った授業は今年度もあったのですがやっぱり見ていて楽しいですよね!

 このようにこれまでの大学の授業から少しずつ進化しているコンピュータグラフィックスの授業。そこのあなたもぜひ体験してみてはいかがでしょうか?

CED TA 活動報告 (2021年11, 12月)

こんにちは。はじめまして。2021年度 Ⅰ類(情報系)計算機室(CED)のTAの上原です。簡単に自己紹介しますと、電通大の修士1年でカーリングの研究をしています。カーリングは1時間ほど体験しただけですが…。

とりあえずこの記事の趣旨である2021年11月と12月のCED TAの活動報告をしたいと思います。

活動報告(2021年11, 12月)

10月末の段階で大学の授業は対面主体方式(対面を主体としつつも、遠隔での授業参加も可能な方式)に切り替わりました。それを受けて、11月は遠隔利用でのトラブルシューティングに加え、CEDのPCを対面で利用した際のトラブルの対応も行いました。具体的な授業名では情報領域演習第二、信号処理実験、MICS実験第二の対応を主に行いました。トラブルの内容はPCがフリーズしたとかそういった内容や、遠隔でPCのGUIを利用するVNCというツールに関連するものが多かったです。

余談:CMakeの紹介

研究では主にC++を用いているのですが、C++を使うにあたって便利な「CMake」というツールを最近知ったので、(書くことも無いので)紹介したいと思います。

簡単に言うとCMakeは様々なプラットフォームでC/C++をビルドするためのツールです。CMakeを使わないと、LinuxではMakefile、WindowsではVisual Studioのソリューションやプロジェクト、MacではXCode(よく知らない)などでビルド設定ファイルを作る必要があり、複数のプラットフォームでC/C++をビルドするのは煩雑になるのですが、CMakeを用いると一つのビルド設定ファイルを作るだけで様々なプラットフォームでビルドできるようになります。なので、複数のプラットフォームでC/C++をビルドしたい人は覚えておいて損は無いと思います。また、多くのC/C++のオープンソースのライブラリもCMakeを用いているので、C/C++ビルド設定ファイルのディファクトスタンダードだと思われます。

CMakeの欠点があるとすれば、日本語の文献の情報が古いため、新しいバージョンの習得には英語を読む必要があることです。現在出回っている情報にはCMakeバージョン2準拠のものとバージョン3準拠のものがありますが、日本語の文献は大体古いバージョン2のものです。バージョン2は色々不自由なので、バージョン3を使うべきなのですが、日本語で調べてもほぼ出てきません。マイナーな技術あるあるですが、こればかりは仕方ないです。

最後にCMake(バージョン3)を利用する上で大変参考になる文献を置いておきます。

  1. An Introduction to Modern CMake: https://cliutils.gitlab.io/modern-cmake/
  2. Professional CMake: A Practical Guide: https://crascit.com/professional-cmake/

1.はCMakeで普通のアプリケーションを作りたい方には情報がまとまっていて、とても良い入門サイトと思います。2.は有料ですが、CMakeでオープンソースのライブラリを作りたい方は購入して読むと救われます。私は救われました。

英語を読むのは大変ですが、習得できればどのプラットフォームでも同じ方法でC/C++プロジェクトを作れるので、めちゃくちゃ便利です。CMakeを習得して良いC/C++ライフを送りましょう!

以上、上原でした。

前期CED TAを振り返って(2021年度版)

2021年度 Ⅰ類(情報系)計算機室(CED)のTAの岡崎です.今回は,CEDにおける今年度前期のTA業務について軽く振り返ります.

本記事執筆時点でのCEDのHP (https://sites.google.com/gl.cc.uec.ac.jp/ced/) の様子

CED,CED TAについて

CEDについてはⅠ類の学生さんであれば知っている方も多いのではないでしょうか.主にⅠ類・I専攻(情報・ネットワーク工学専攻)の学生向けの計算機室として,西9号館2階に”CED”が設置されています.CEDの紹介動画

私たちCED TAは,主に計算機室の開館・閉館作業や,対面で利用者の質問対応を行う予定でした.しかし,新型コロナウイルスの影響で,昨年度と同様,オンライン主体での取り組みに向けた補助業務を行っています.

CED TA Zoomオフィスアワー,HP管理

昨年度より,引き続き行っている取り組みとして,”Zoomオフィスアワー”があります.これは,決まった時間にCED TAがZoomのミーティングルームを開放しておき,時間内の好きなタイミングで学生の皆さんから受けた質問に対応,補助を行うものです.また,遠隔での実験や演習の授業の際にCED TAがサポートに入ることもありました.

皆さんから多く寄せられる質問はCEDのHPにまとめています.特に,遠隔実験,演習で使用するMobaXtermやVNC接続関係の質問が多く寄せられました.

CEDのHP ユーザからの質問 (https://sites.google.com/gl.cc.uec.ac.jp/ced/faq)

また,CED HPの管理を行っており,特にCEDのGUI環境を実行するためのVNCの利用方法についてHP上にまとめています.今学期は皆さんからの質問を受け,VNCの設定方法をブラッシュアップし,設定方法についての動画を作成しました.動画はWindowsはこちらで,Macはこちらです.※UECクラウドアカウントのみ閲覧可能です.

FPGAボードの作成

今年度は昨年度同様,情報数理工学/コンピュータサイエンス実験第一のJ1実験にて学生の皆さんはプログラムで回路を設計するFPGA,およびそれを操作するFPGAボードを遠隔で利用しました.私たちCED TAは半田付けを行い,FPGAボードを作成しました.皆さんの中にはこちらのボードを遠隔で利用した方もいらっしゃるのではないでしょうか.

J1実験で使用するFPGAボード

J1実験のオンライン化の取り組みについては下記の記事をご覧ください.

対面へ向けての取り組み

本記事執筆時点(2021/11/1)では,新型コロナウイルスの感染者数が減少傾向にあり,大学の授業も対面主体方式へと切り替わりました.そのような動きを受け,CEDにおいても対面化に向け計算機の消毒,清掃などを行っています.対面で利用可能な端末は限られていますが,現在は遠隔,対面のどちらの形式でも利用可能にし,皆さんが柔軟に選ぶことができるようにサポートしています.対面では既に十数人の学生の方が来室し,友人同士で相談して実験や演習を行っています.

CEDの計算機
CED TAが学生のサポートを行っている様子

後期は対面化も進み,Ⅰ類1年生の利用も増えます.私たちCED TAは今までCEDを使ったことのない方からの質問や,遠隔利用時のトラブルなどにできる限り答え,サポートいたします.活発に議論しながら計算機に向かう皆さんの姿を見られることを楽しみにしています.今後もCED TAをよろしくお願いします.

I類(経営・社会情報学プログラム)経営・社会情報学実験(月2, 3限)ガイダンスについて(2021.10.1掲載)

経営・社会情報学実験(月2, 3限)が10月4日から始まります.

WebCLASSにログインし,2021 経営・社会情報学実験のコースを追加してください.

10月4日 2限目開始時間になりましたらオンライン(ZOOM)でガイダンスを行いますので,参加してください.

ZOOMのURL情報はWebClassに掲載しています.

FPGA班&VR班2021前期最終発表(2021/8/10)

電気通信大学1年の濱野です。

情報工学工房のFPGA班&VR班の前期最終発表について紹介します。

【VR班】

・VRで3D迷路

・Unreal Engineを用いたゴルフゲーム

・3D都市モデルを使用したフライトシミュレーター

【FPGA班】

・Bitcoinのマイニング

・ゲームボーイのエミュレート

・CPUのエミュレーター開発

・自作CPUの設計,制作

・テトリスの実装

私は,前期にFPGA班で自作CPUやテトリスの実装に挑戦しました。
テトリスの作成では,通常なら4年生の時に研究室で使用する機材を使って,自作CPUは自分で本を買ったり先生から本を借りしたりして実装しました。
初めは何もわからない状態から始めましたが,必要なプログラミングの知識やツールの使い方なども0から学ぶことができました。
FPGA班には,2年以上参加している先輩も多く,何かわからないことがあった時に聞くことができたり,過去に制作したものや最新の機器などを触ったりすることができました。(VRゴーグルを触らせてもらって感動しました)

実際に作りながら学べ,わからないことがあったらすぐに聞くことができるので,好きなことや興味のあることを学ぶにはとても良い授業だと感じました。

また,私は総合型選抜で入学し,1年生ですが研究室に出入りさせて頂いています。そこでも興味のある分野を研究している先輩方のお話を聞けたり,イベントに参加したり(9/24にMICS杯というものが開催されます)と1年生ではなかなかできない貴重な経験ができました。

後期では,より複雑なCPUの実装などに挑戦したいと考えています。

FPGA班&VR班2021前期中間発表(2021/6/15)

先日行われた情報工学工房の中間発表の内容を、ダイジェストでご紹介いたします!

【VR班】

・3D都市モデルを利用したフライトシミュレータの作成

・Unreal Engineを用いたゴルフ、ボーリングのゲーム作成

・BlenderとUnityを用いた3D迷路の作成

VR班は3名から成り、それぞれまだ企画の段階ですがどれも興味を惹かれる題材ですね!

【FPGA班】

・FPGA上でのWindows95の起動やマンデルブロー集合の描画

・CPUの作成やアクセラレータ、IOの取り付け

・仮想通貨のマイニング

・CPUの自作とチューリング完全な命令セットの実装

・自作CPUでのxv6の起動

・テトリスの実装

CPUを自作したり、「仮想通貨」といったワードが出てきたり・・・

                            FPGAとは奥が深い装置ですね!

(正直FPGA班の方は8割何を仰っているのか分かりません(汗))

中には数年連続でこの工房を受講している方もおり、技術力にただただ驚かされます・・・。

しかしながら、言うは易し行うは難し・・・皆さんが最終発表までに一体何処まで完成させられるのか、首を長くして待ちましょう!

乞うご期待!!

FPGAテトリス(オンライン実験)

2020年度のテトリス実験はオンラインで行いました。

実験にはJ1実験で利用したリモート操作可能なFPGAボードを使用しています。テトリス実験は課題の中で音声出力モジュール、映像出力モジュールを作ります。しかし、リモート操作用FPGAボードには映像や音声を出力するための端子がありませんでした。そこで、VGAや音声出力用の端子を利用するために拡張基板をFPGAボードに接続して使用しました。また、リモート操作アプリケーションは実験室の音声を聞ける機能が追加されました。

授業では例年通り1-6回目の授業でテトリスの作成をして、7回目の授業にプレゼン発表をしました。

今年は実験室の開室時間外でもFPGAボードの実機動作確認(遠隔)ができるようになったこともあり、手の込んだ作品が多く見られました。(昨年までは実験室が空いてないと実機動作は出来ませんでした)

また、昨年と使用するFPGAボードが変わり、使用できる回路資源が減ってしまったことから、リソースの少ない回路を作る必要がありました。そのため、テトリミノの形や色、ドット絵、ゲーム性、音など人によって力を入れる場所が異なっていました。

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

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

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

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

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

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

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