授業目的

本実習の目的は,エルゴノミクスコンピューティングと関連の深いバーチャルリアリティ技術について,実世界の情報の入力,実世界への情報の出力,バーチャル世界のモデリングとシミュレーションの実習を行い,各技術についての理解を深めることである.

到達目標

バーチャルリアリティシステムに必要な要素技術の原理について,実装を行うことにより理解する.

授業方法

2023年度秋学期の授業形態は対面である.

講義資料・映像・課題へのアクセス方法

本ページに掲載する(関西学院のユーザのみ表示可能).

質問・リクエスト

質問・リクエストフォーム←ここから送信.

もしくは m.imura [at] kwansei.ac.jp に直接お送りいただいてもよいですが,フォームを使ってもらえると質問が集約されるのでありがたいです.

課題

オリエンテーション

  • オリエンテーション [PDF]

04 出力: 全天球画像処理 (公開12/13)


本課題の目的は,ピンホールカメラモデルおよび球面座標系を理解し自身で画像を生成することです.

全天球画像ビューワを作成する方法の一つに,球体にテクスチャマッピングを行う手法があり,ウェブを検索するとこの手法のソースコードが入手できますが,実習の目的を鑑みてこの手法で実装した結果については評価対象外とします.あらかじめご注意ください.

レポート課題4 (全天球画像処理) (公開12/13)

  • 到達目標
    • 全天球画像とカメラモデルを適切に取り扱うことができる.
  • 提出対象課題
    • 作成した全天球画像ビューワ
  • 提出物
    • レポート (文章による実施内容の説明) (PDF,A4縦,ページ数は任意)
      • 作成した全天球画像ビューワについて,処理手順を説明,実行結果のスクリーンショットを貼り付け.スクリーンショットは複数の異なる視点のものを掲載すること.
      • 全天球画像については,サンプルで提供しているものではないものを推奨(ウェブで公開されているものや自分で撮影したもの).他の人が使っていない全天球画像であれば加点する.
    • 作成したプログラム (ソースコード)
      • 全天球画像ビューワのソースコードと,提示する全天球画像
      • プログラムのまとめ方については,下記のレポート提出手順の指示に従ってください.
  • 提出方法
    • レポート提出手順 [PDF] の指示に従って提出用ファイルを準備し,アップロードしてください.指示に従っていない提出物は減点の可能性があります.
    • 提出先へのリンク (Microsoft OneDrive のファイル提出機能を使用しています.うまく動作しない場合はご連絡ください)
      • Office 365にログインした状態では,レポート提出手順にある名前入力欄は無く,ログインしているユーザの氏名が変更不能な形で表示されます.そのまま提出していただいて問題ありません.
  • 提出期限
    • 2024/1/10(水) 23:59 → 2024/1/12(金) 23:59

03 物理シミュレーション (公開11/22,更新11/29)

本課題の目的は,バーチャル世界において物体が妥当性のある挙動を示すために必要となる,物理法則に基づいた物体の挙動のシミュレーションの特徴を,実装を通じて理解することです.

  • 実習資料 [PDF] (2023/11/30版) 7.2の説明を改訂
    • 参考: 微分方程式の数値解の説明スライド [PDF]
  • 参考動画
    • Adams-Bashforth法の実装結果(2.2節) [動画]
    • ダンパの導入結果(3.1節) [動画]
    • 2次元化の結果(4.2節) [動画]
    • 2次元化+風(外力)の影響あり(4.2節) [動画]
    • 2次元化+二重振り子(4.2節) [動画]
    • マウスによるインタラクション(6.1節) [動画]
    • 複数の球とバネ(6.1節) [動画]
    • 質点をドラッグして移動(7.3節) [動画]

レポート課題3 (物理シミュレーション) (公開12/6)

  • エルゴノミクスコンピューティング実習 レポート課題3 質問・必要な情報 質問などはこちらからどうぞ
  • 到達目標
    • 粘弾性体をバネ-ダンパ-質点モデルで表し,物理法則に基づくシミュレーションを行う.
  • 提出対象課題
    • 粘弾性体シミュレータ
  • 提出物
    • レポート (文章による実施内容の説明) (PDF,A4縦,ページ数は任意)
      • 最終的なシミュレーションにおいて,挙動を決定しているパラメータについて,いくつかの種類の数値に変更し,パラメータの変化に従って挙動がどのように変化するかを調査してレポートにまとめる.
      • 最終的に作成したプログラムの実行結果のスクリーンショットを必要なだけレポートに貼り付ける.
    • 作成したプログラム (ソースコード)
      • 粘弾性体シミュレータのソースコード
      • プログラムのまとめ方については,下記のレポート提出手順の指示に従ってください.
  • 提出方法
    • レポート提出手順 [PDF] の指示に従って提出用ファイルを準備し,アップロードしてください.指示に従っていない提出物は減点の可能性があります.
    • 提出先へのリンク (Microsoft OneDrive のファイル提出機能を使用しています.うまく動作しない場合はご連絡ください)
      Office 365にログインした状態では,レポート提出手順にある名前入力欄は無く,ログインしているユーザの氏名が変更不能な形で表示されます.そのまま提出していただいて問題ありません.
    • 提出先へのリンク(dropbox) 複数の学生さんからうまくアップロードできないという連絡があったため,アップロード先をdropboxに変更しました.既にアップロードされた方が再度アップロードする必要はありません.アップロード済み学生の学籍番号(下4ケタ): 1611, 1613, 1626, 1637, 1689
  • 提出期限
    • 2023/12/13(水) 9:00

Processingの基礎

01 座標変換

レポート課題1 (座標変換)

  • エルゴノミクスコンピューティング実習 レポート課題1 質問・必要な情報 質問などはこちらからどうぞ
  • 到達目標
    • 3次元空間中に,座標変換(並進,回転,拡大縮小)を用いて,任意の位置姿勢で物体を配置できるようになる.
  • 提出対象課題
    • 01-ex03の以下の課題を提出
      • ex03_2
      • ex03_3
      • ex03_4
      • ex03_5
    • 発展課題 ex03_6 – ex03_8 は任意
    • ex03_0, ex03_1 は提出不要
  • 提出物
    • レポート(文章による実施内容の説明) (PDF,A4縦,ページ数は任意)
      • ex03_2: 工夫した点などを説明.実行画面のスクリーンショットを貼り付け.
      • ex03_3: 座標変換部分の考え方を説明.実行画面のスクリーンショットを貼り付け.
      • ex03_4: ロボットアームの描画手順を説明.実行画面のスクリーンショットを貼り付け.
      • ex03_5: 行列の要素をなぜそのようにしたかを説明.実行画面のスクリーンショットを貼り付け.
      • 発展課題(任意): ex03_6 – ex03_8: アルゴリズムや工夫した点などを説明.実行画面のスクリーンショットを貼り付け.
    • 作成したプログラム(ソースコード)
      • プログラムをまとめる際には,フォルダ構造を指定通りにしてください.詳しくは下記のレポート提出手順を確認してください.
  • 提出方法
    • レポート提出手順 [PDF] の指示に従って提出用ファイルを準備し,アップロードしてください.指示に従っていない提出物は減点の可能性があります.
  • 提出先へのリンク (Microsoft OneDrive のファイル提出機能を使用しています.うまく動作しない場合はご連絡ください)
    • Office 365にログインした状態では,レポート提出手順にある名前入力欄は無く,ログインしているユーザの氏名が変更不能な形で表示されます.そのまま提出していただいて問題ありません.
  • 提出期限
    • 2023/10/25(水) 9:00

02 センサ信号処理

本課題の目的は,実世界の情報のセンシングに適したセンサ,マイクロコントローラの使用方法,およびセンサから得られる情報の信号処理方法について,実践を通じて学習することです.本課題ではセンサやディスプレイが内蔵されているマイクロコントローラであるM5StickC Plusを利用します.

  • [歩数計測依頼フォームへのリンク]
  • 11/1 質問があればこちらからどうぞ
  • 機材の提供
    • 初回(10/25)に行います.
    • 初回(10/25)に欠席した人は,2回目(11/1)に配布します.
  • 資料
    • 可能な限り,個人PCに開発環境をインストールして,実習を行うことをおすすめします.大学の環境よりもコンパイルが高速で快適だと思われます.
    • 課題全体の説明と,実験室で開発する場合の環境設定【非常に重要】[PDF]
    • 開発環境の個人PC(Windows 11)へのインストール方法 [Google ドキュメント]
    • 以下は過去の資料です.M5StickC → M5StickC Plusと読み替えたうえで,参考にしてください.
  • サンプルプログラム
何もしないempty.zipディスプレイ,シリアル通信が使用可能になる(Power Management Chipも有効になるが,おそらくこの実習では使わない).
指定の色で画面をクリアdisplay_clear.zipディスプレイサイズは横135ピクセル,縦240ピクセル.
あらかじめ定義されている色の見本を表示display_color_code.zip
RGB値による色の指定display_color.zip色は uint16_t 型(16ビット非負整数).
文字を表示するdisplay_print1.zip文字は横6ピクセル,縦8ピクセル(右端,下端は空行なので,実質5×7).縦位置で横22文字×縦30文字.
文字のサイズ変更display_textsize.zip1から7まで変更できるが,元の文字をサイズ倍するだけで品質はよくない.
文字位置の指定display_print2.zip
横長で文字を表示display_landscape.zip横にした場合,横40文字×縦17文字.
ジャイロ(角速度),加速度,pitch roll yaw (信頼性低い),温度(おまけ)を取得して表示acc1.zip
グラフと一緒に表示acc4.zip
加速度の値をシリアル通信で送信serial1.zip
通信速度はデフォルトで115200bpsなのでArduino IDEのシリアルモニタ,シリアルプロッタの設定を合わせる必要がある.
ボタンの状態を得るbuttons.zip
  • 参考になるサイト
  • 予定スケジュール
    • 10/25 M5StickC Plusでのプログラム開発の基本を確認
    • 11/1 各自歩数計を作成
    • 11/8, 11/15 各自歩数計を作成+実測

【NEW】レポート課題2 (センサ信号処理) (公開11/5)

  • 到達目標
    • センサ内蔵マイクロコントローラを用いて,センサからの信号処理をリアルタイムで行い,歩数の計測を行う.
  • 提出対象課題
    • 歩数計
  • 提出物
    • レポート (文章による実施内容の説明) (PDF,A4縦,ページ数は任意)
      • 歩数を計測するアルゴリズムについて説明する.
        • アルゴリズムの説明は,実装とは独立した形で行う.なぜなら,デバイスがM5StickC Plusでなくても,歩数計測アルゴリズムは機能するはずだからである.デバイスに依存しないように説明することは,今後の卒業研究等で論文を書く際にも重要なポイントである.
      • M5StickC Plusへの実装について説明する.
      • 作成したプログラムを用いて,100歩の計測を5回行い,その結果についてまとめる.
    • 作成したプログラム (ソースコード)
      • 歩数計のソースコード
      • プログラムのまとめ方については,下記のレポート提出手順の指示に従ってください.
  • 提出方法
    • レポート提出手順 [PDF] の指示に従って提出用ファイルを準備し,アップロードしてください.指示に従っていない提出物は減点の可能性があります.
    • 提出先へのリンク (Microsoft OneDrive のファイル提出機能を使用しています.うまく動作しない場合はご連絡ください)
      Office 365にログインした状態では,レポート提出手順にある名前入力欄は無く,ログインしているユーザの氏名が変更不能な形で表示されます.そのまま提出していただいて問題ありません.
  • 提出期限
    • 2023/11/22(水) 9:00