Rats Play DOOM

2025/12/13 5:15

Rats Play DOOM

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

概要:
著者らは、ラットがDOOMをプレイできる完全にオープンソースの仮想現実装置をリリースしました。ゼロから構築されたこのシステムには、ハードウェア設計・ファームウェア・ソフトウェアがGitHubに掲載されており、他研究室でも簡単に再現または改良できます。バージョン 1(v1)はニューヨークのヴィクトール・トー氏によって開発され、ラットにDOOMコリドーを走行させるよう訓練しました。この実装はViceとPC Gamerで紹介されました。

改良版(v2)はよりモジュラー化され、180°×80°の視野を持つ折りたたみ可能なAMOLEDスクリーン、新しいボールドライバー、強化された給餌器、ゲームイベントに同期した正確な10 µLの砂糖水投与が可能な改良リワード回路を備えています。追加センサーとランニングマシンのボール周囲に設置された光学フロー運動捕捉システムでトラッキング精度が向上しています。

ソフトウェアはPythonベースのモジュラースタック(arena_scenario.py)で、PC上で実行され、Raspberry PiとTCP経由で通信します。Piはリアルタイムセンサー読み取り・ボール駆動・リワード制御を担当します。すべてのコンポーネントはGitHubに文書化されており、3Dプリント可能なパーツや回路図も公開されています。

チーム(ヴィクトール・トー=ゲーマーラットコーチ、サンドル・マクラ=電気技師、アコス・ブラシュェク=ドキュメントリード)は、ラットが約2週間で慣れることを示しましたが、完全な訓練はまだ完了していません。

現在の制限として、自動キャリブレーションスイートが無いため、ユーザーはセンサーの整列とリワードタイミングを手動で検証する必要があります。

今後の課題は完全な訓練プロトコルの完成、キャリブレーションツールの改良、および他の行動タスクや種へ装置を拡張することです。低コストで完全にオープンなプラットフォームを提供することで、このプロジェクトは世界中の神経科学研究室の参入障壁を下げ、動物VR実験に依存する研究のスピードアップに寄与できる可能性があります。

本文

ラットVRプロジェクト概要


イントロ

私たちは、ラットがDOOMをプレイできるように、ゼロから完全なVRセットアップを構築しました。システムはモーショントラッキング付きの回転ボール、パノラマヘッドセット、入力トリガー、報酬サーキットで構成されます。ハードウェアとソフトウェアはすべてオープンソース化しており、3Dプリント可能な設計図、回路図、ファームウェア、制御ソフトが公開されています。

最初のバージョン(v1)はニューヨークでヴィクトル氏が構築し、ラットをDOOM内の通路を歩かせる簡易装置でした。このバージョンはViceとPC Gamerに取り上げられました。帰郷後プロジェクトは一時停止しましたが、公開興味が高まったことで再開。v2 は電気技師サンドール・マクラ氏と協力して作成した、より高度でモジュラーなシステムです。アクロス氏がドキュメント化を手伝い、オープンソースとして公開することで他者が複製・改良できるようにしました。金属部品はSZURWIN KFT と共同設計・調達しています。


V1 – 基本ボールセットアップ

  • ラットが前進走行を学習
  • センサーと機構は最小限
  • パノラマスクリーンなし

ラットVRセットアップ バージョン 1


V2 – 高度モジュラー設計

  • より滑らかな動きを実現する新型ボールドライバ
  • 折りたたみ可能 AMOLED スクリーン:水平180° × 垂直80° FOV、フルHD解像度
  • 進化した移動トラッキングセンサー
  • 混合モーター付き強化済み給餌システム
  • モジュラー3Dプリント部品
  • 電子機器の信頼性と安全性向上

ラットVRセットアップ バージョン 2
側面図:ボールに乗るラット、スクリーン、トリガー、水タンク。


制限(一般)

ラットは慣れた段階で訓練を開始できず、トド・コジマ・ゲイブという個体が試験前に年齢上限に達しました。セットアップ自体は動作しますが、行動検証は未完了です。


ハードウェア

このハードウェアは齧歯類向けの総合VRリグです。構成要素は次の通りです。

  • モーショントラッキング球:ラットの動きを捕捉
  • カスタムトリガー:ゲーム内アクション用
  • 曲面パノラマスクリーン:没入感を高めつつひげスペースは確保
  • 自動報酬システム:糖水を投与し行動を強化

すべての部品はモジュラーアルミフレームに取り付けられ、独立した環境を作ります。

視覚インタフェース

ヘッドセットはラット頭部にフィットする折りたたみ式AMOLEDで、最大没入感を実現しつつひげの動きを妨げません。フルHD解像度です。

  • 各ヒゲ付近に小型空気ノズルが設置され、壁衝突などを風で示すことができます。
  • 報酬タンク用固定ポイントはラットの口元に配置。
  • 未来のステレオ音声サポートとして、耳付近にミニスピーカー用プレースホルダーもあります。

3Dモデル:ヘッドセット

移動

ボールは自由回転し、ロタリーセンサーが変位を検知してゲーム内移動へ変換。訓練時にはモーターで球を駆動し、報酬前に行動経路を示すことでラットの方向感覚とアクション連結を形成します。

3Dモデル:スタンド/ボール

トリガー入力

射撃入力は手操作式レバーです。ラットが爪で引くと発火。小型スプリング付き3Dプリントケースに組み込まれ、回転エンコーダで動きを検知しステッパーモータで制御します。モーターを使えばプログラムからレバーを動かし、射撃行為の前段階を示すことが可能です。

3Dモデル:トリガー

報酬システム

ゲーム内の正しいアクションで液体報酬(糖水)が投与されます。構成は以下。

  • ミキサー – 溶液を均一に混合
  • ポンプ+圧力センサー – 連続的なライン圧を維持
  • ソレノイドバルブ – 正確10 µLのドーズを放出
  • ディスペンサー – ラット口元近くに設置

この構成で遅延最小化し、ゲームイベントと同期した正確な報酬投与が可能です。

後ろから見た散らかったが機能的な報酬回路図。

制限(ハードウェア)

現在の設計は基本的なラット移動・グルーミングを前提にしています。サイズや性格の違いによって微調整が必要になる場合があります。トリガー位置と報酬タンク流量は個体ごとにキャリブレーションが求められます。


ソフトウェア

このセットアップはモジュラーPythonシステムで制御され、

arena_scenario.py
がメインエントリです。
構成要素:

  • モーションキャプチャ – ボール周囲の光学フローセンサーから動きを取得
  • ロコモーション制御 – 訓練時にボールモーターでラットを誘導
  • トリガー入力 – レバー引きと自発射撃検知
  • 報酬投与 – 10 µL糖水をソレノイドで正確に放出し、ライン圧を一定に保つ
  • DOOM統合 – 改造ViZDoom環境とリアルタイム閉ループ接続
  • 訓練ロジック – デモンストレーションを強制し、ゲーム状態・ラット行動に応じて報酬を付与

PCで実行し、Raspberry Pi と TCPソケットで通信。Pi がリアルタイムセンサー読み取り・ボール駆動・報酬制御を担当し、PC はデータ処理・ゲーム実行・上位コマンド送信を行います。

すべての主要コンポーネント(移動追跡、ボール駆動、トリガー検知、報酬制御)は手動または閉ループモードで操作可能。制御パラメータ(モーター速度、報酬量など)はPythonコードで設定します。

制限(ソフトウェア)

組み込みキャリブレーション機能は無く、ユーザーがセンサー配置と報酬タイミングを手動で検証する必要があります。マイクロコントローラのファームウェアはハードウェア許容差に応じて調整が必要な場合があります。


結果

ラットは仮想環境をうまくナビゲートし、射撃レバーを操作できました。慣れには約2週間かかり、時間不足で高度訓練は完了していませんが、初期データはシステムへの興味を示しています。

VRセットアップと対話するラットのイメージ。

制限(結果)

完全な行動検証には更なる長期訓練が必要です。個体差は十分に調査されておらず、長時間VR曝露がラットの福祉に与える影響も追加研究が必要です。


今後

自分でアニマルVRを作りたい方は遠慮なくご相談ください。私たちは Rat VR Build Guide をまとめ中です。

YoloRun.Capital は、壮大かつ挑戦的なプロジェクトに投資しています ― どんなに実用性が低くても構いません。素晴らしいアイデアはぜひご相談ください。


チーム

  • ヴィクトル・トー – ゲーミングラットコーチ
  • サンドール・マクラ – 電気技師
  • アクロス・ブラッシェック – ドキュメンテーションリード

同じ日のほかのニュース

一覧に戻る →

2025/12/13 5:57

GNU Unifont

2025/12/13 7:02

Show HN: Tiny VM sandbox in C with apps in Rust, C and Zig

## Japanese Translation: uvm32 は、単一の C ファイルで書かれたミニマリストで依存関係を持たない仮想マシンサンドボックスです。 STM32L0 のような非常に小型のマイクロコントローラ上で動作し、4 KB 未満のフラッシュと 1 KB の RAM を使用します。静的割り当てのみで非同期設計となっています。 この VM は RISC‑V のサブセットを実装しており、軽量な管理インタフェースを公開しています。「if‑this‑then‑that」ロジックのために Lua、Duktape、MicroPython などの軽量スクリプトエンジンを置き換え、信頼できないコンポーネントや不安定な部品をサンドボックス化し、ターゲットコンパイラなしでモダン言語の「一度書けばどこでも実行できる」スクリプトを書けるようにすることが目的です。 主な特徴: - バイトコードアプリは C、Zig、Rust、またはアセンブリで記述可能。 - 非ブロッキングでシンプルな実行モデル。安全かつ最小限の型付けを備えた FFI を使用し、ホスト IO(stdio/ネットワーク)は想定していません。 - デザインは高速よりも安全性を優先しています。 - すべてのソースコードは `uvm32/` ディレクトリにあります。最小限のホスト例は `host‑mini` にあり、より高度なホストは `host/`、`host-parallel`、`host-arduino` にあります。 サンプルアプリケーションは VM の機能を示しています(C: helloworld, heap, conio, lissajous, maze, fib, sketch; Zig: zig‑mandel, zigtris, zigalloc, zigdoom; Rust: rust‑hello; アセンブリ: hello‑asm)。 ビルドとテスト用の Dockerfile が提供されており、`make dockerbuild`、`make dockershell` で構築・起動し、その後 `make` を実行してサンプルをコンパイル・実行します。ドキュメントはヘッダファイル `uvm32/uvm32.h` と `doc/README.md` にあります。本プロジェクトは MIT ライセンスで公開されています。

2025/12/13 5:28

Security issues with electronic invoices

## Japanese Translation: --- ## 改訂要約 EUのe‑インボイス指令 (2014/55/EU) は、加盟国に電子請求書用の標準化されたXMLフォーマットを採用することを義務付けています。 この指令は越境取引の請求処理を円滑にするために設計されていますが、原生XMLとXSLT 2.0への依存が実際のセキュリティ問題を招いています:XML には「XML External Entity」(XXE)という欠陥があり、外部エンティティが無効化されていない場合、攻撃者は任意のファイルを読み取ることができます。e‑インボイスで使用されるライブラリ(Java のデフォルトパーサーと EN16931 バリデーションに必要な唯一の無料 XSLT 2.0 エンジンである Saxon)は、これらのデフォルト設定を有効にしたまま配布されており、脆弱性があります。 EU が公開しているセキュリティテストスイートは、**kivitendo**、**peppol‑py**、**ZUV** など実際の製品で XXE バグを検出しました。W3C の議論からは、XSLT 2.0 のサポートは広範な導入を想定していませんでしたが、それでも指令では EN16931 のバリデーションに XSLT 2.0 が必要とされています。 EN16931 のパート 1・2 は無料ですが、以降のパートは有料であり、CEN や国別機関(例:EVS)へのリンクが壊れているためアクセスが困難です。EU のテストスイートは <https://github.com/ebt‑eu/einvoice-security-tests> にホストされています。 既知の XXE 脆弱性は CVE‑2025‑66370(kivitendo)、CVE‑2025‑66371(peppol‑py)および CVE‑2025‑66372(Mustang < 2.16.3)として登録されています。現在、Mustang が推奨されますが、バージョン 2.16.3 以前も XXE 欠陥を抱えていました。 指令の複雑な要件がベンダーをこれらの脆弱なライブラリへと押し込むと、さらなる脆弱性が表面化する可能性があります。これは規制改定を招くか、市場をより安全な代替手段や新しい標準に向ける動きにつながります。結果として、データ漏洩リスクや請求書処理パイプラインのセキュリティ不備による罰金・評判損失といったリスクがユーザーと企業双方に及びます。簡単に言えば、現行の XML ベースのアプローチは EU e‑インボイスにおけるコンプライアンスとセキュリティの両面を脅かしています。