ハードウェアハカーのためにステレオビジョンボードを作成した

2026/10/21 5:45

ハードウェアハカーのためにステレオビジョンボードを作成した

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

要約▶

Japanese Translation:

著者の Ryan Walker は、低コストな Rockchip RV1103 シングルコア SoC を使用して実用的でオープンソースのステレオビジョンシステムを開発し、高価なハードウェアなしに複雑なエッジ AI が可能であることを実証しました。このプロジェクトでは、Buildroot を通じて起動可能な Linux イメージを構築するまでの完全な過程—including 特定のカーネルとドライバーの設定—から、カスタム PCB のハードウェア上の欠陥である取付位置の誤ったレンズマウントやサイズが不足したトレースなどの課題への対処(これらは将来のユニットで修正される予定)までを含んだ道のりが詳細に記されています。技術的には、このシステムは Rockchip Video Engine (RVE) を V4L2 ノードを通じて推進する専用ライブラリを活用し、基線間の相違点に対して画像パッチをマッチングさせる SAD エンジンを利用して深度を計算しています。現在のプロトタイプは参考設計として機能するだけでなく、実用的なソフトウェア最適化も備えています。Walker はコミュニティからの要望に応じて、SLAM や YOLO の統合など、今後の拡張機能を計画しています。結論的に、このイニシアチブはステレオビジョンへの低コストな参入門戸を提供し、Walker は製造上の問題を解消した時点で修正済みの PCB ユニットの販売を行う用意があり、伝統的な事前注文ではなく、重大な支援者に通知を受け取るための登録を呼び掛けています。

本文

Rockchip RV1103 による安価なステレオビジョンボードの構築と活用

本プロジェクトは、特定のチップに情熱を抱く筆者が選定した**マイクロプロセッサ「Rockchip RV1103」**を活用して開発されました。単一コア・ARM Cortex-A7 で動作し、以下の特徴を備えています。

  • クロック速度: 1.1GHz
  • メモリ: 64MB DDR2 RAM
  • パッケージ: QFN-88(MIPI CSI-2 バス搭載)
  • 用途: 内蔵演算機能と Linux 対応を兼ねた、安価でシンプルなステレオビジョンボード

このボードはロボット工学プロジェクトや単体の Linux ボードとして利用可能です。本記事ではハードウェア、ファームウェア、ソフトウェアの詳細を紹介します。


デザイン概要

PCBA(印刷回路基板)は、安価かつ高機能な4 レヤー構造を採用しています。

  • トップ層: 制御インピーダンス配線(USB、MIPI、イーサネット対応)。一部信号・電源線配置。
  • 内層 L1: ソリッドグラウンド(全面地)。
  • 内層 L2: 信号線・電源線。
  • ボトム層: 信号線・電源線。

製作上の課題と解決

初回製作では概ね成功しましたが、以下の問題が発生し、修正作業を行いました。

  • SoC 不具合: リクエストしたチップが誤っており、楽しい交換作業となりました。
  • レンズマウントの直径: 設計通りではなく、2.2mm ではなく 1.8mmに誤って穴が開けられていました。
  • LED の発光不良: 1kΩ抵抗が小さすぎたため改善が必要でした。
  • 配線幅: 0.9V 用配線が細すぎましたが、動作上問題はありませんでした。

ブートフローと起動システム

起動には、ドライバ・ブートローダー・カーネルを備えた OS が必須です。これにBuildrootを使用し、すべての要素を

sdcard.img
に統合して SD カードに書き込みます。

起動段階の詳細

多くの ARM MPU システムと同様、以下の順序で起動します。

  1. ブート ROM (TPL): ROM に格納され、SRAM を使用して TPL(第 3 プログローダー)を実行。
  2. TPL: Rockchip から提供されるバイナリファイルを用いて DRAM コントローラーを設定。
  3. SPL (Secondary Program Loader): U-Boot を読み込み。
  4. U-Boot: メインのブートローダーとして動作し、カーネルを読み込む(高度な機能も備える)。
  5. Linux カーネル: OS コアを開始。
  6. イニシャルシステム (Init System): サービス開始。

Buildroot を使用することでシリアル通信経由でシェルへのアクセスが可能になり、その後 USB-C ポートをイーサネットアダプターとして利用して SSH 接続へ移行します。


ソフトウェアスタック

MVP(Minimum Viable Product)では、画像データの取得、カメラ制御、ハードウェアアクセラレーターの利用を実装しました。Buildroot がカーネル空間の要素を事前組み立てているため、ユーザー空間の構築に集中できました。

カーネル空間

抽象度の高い上位層と、ハードウェア固有の仕様を持つ低位層で構成されます。

  • SoC パーフェリタル: I2C、CSI などは SoC 固有ドライバにより管理され、カメラ種別を気にせず動作します(例:OV9281)。
  • 標準化: これにより V4L2(Video4Linux2)で統一されたノードと通信可能にしています。

ユーザー空間

データは

/dev/videoX
を介して上位層へ送られ、カメラ制御は
/dev/v4l-subdevX
を経由で行われます。

  • 主要デバイス:
    • /dev/videoX
      : 画像データ取得(例:
      video0
      =通常キャプチャ、
      video1-3
      =ストリーム ID など)。
    • /dev/v4l-subdevX
      : 露出時間設定やカメラ機能制御。
    • /dev/rve
      : Rockchip Video Engine にアクセス。

ユーザー空間アプリケーションは以下の処理を実行します。

  1. カメラ設定(
    /dev/v4l-subdevX
    )
  2. 画像データ取得(
    /dev/videoX
    )
  3. データ供給(
    /dev/rve
    )

Rockchip Video Engine (RVE) プロプライエタリライブラリー

librve.a
を用いてエンジンを制御し、ハードウェアビデオアクセラレーションタスクのスケジューリングを行います。

SAD エンジンとステレオビジョン原理

RVE には**SAD(Sum of Absolute Differences:絶対差の総和)**エンジンが内蔵されています。これは SoC 上で動作するハードウェアアクセラレーションブロックで、ステレオビジョンの核技術です。

SAD の計算例: 2 つの画像パッチを比較し、要素ごとの絶対差の合計を計算します。

画像 1画像 2絶対差
[10, 20][10, 20][0, 0]
[30, 40][30, 40][0, 0]

計算式:

SAD = 0 + 0 + 0 + 0 = 0

結果として、**2 つの画像は同一(完全一致)**と判定されます。

ステレオマッチングの仕組み: 実際の大きな画像を多数のパッチに分割し、以下のように処理します。

  • ベースライン: 2 つのカメラ間の距離。一方の画像を固定し、他方を水平方向にシフトさせて一致するブロックを探します。
  • 深度計算:
    • 非常に小さなシフトで一致 → 遠い物体
    • 大きなシフトで一致 → 近距離の物体

Middlebury コーン
(※イメージ: Middlebury コーンの例。緑色のボックスが SAD マッチを示し、深度ごとに視覚化されています)


次のステップと販売計画

現在、このデバイスの販売を検討しており、フィードバックを得たいと考えています。関心のある方はメール通知登録をお願いします。

  • 目標: 20 件以上の登録
  • 達成条件後のアクション: 修正を施した追加の 10 ボードを発注し販売予定
  • 注文タイプ: 予約注文ではありません(プロジェクトを本気で支えていただける方へのご登録)

今後の開発計画

十分な関心をいただければ、以下を実装する次期プロジェクトを目指します。

  • ソフトウェアのクリーンアップ
  • 画像最適化
  • SLAM(自律移動・マップ作成)の実装
  • YOLO(物体検出)の実装

お読みいただきありがとうございます。

Ryan Walker
オープンソース技術を用いてオープンソースの世界を構築中

同じ日のほかのニュース

一覧に戻る →

2026/10/25 8:11

米国のメディア・映画・芸術分野で20万人の雇用が失われた。その内訳はいくらなのか?AIの影響はどれくらいか?

## Japanese Translation: ## サマリー: 米国のクリエイティブ産業は歴史的な縮小に直面しており、雇用喪失の規模は 2001 年および 2008 年の不況と匹敵する深刻さです。この減少の主因は、映画制作、サウンド録音、出版セクターにおける大規模なリストラにあります。ハリウッドだけで 4 年で 10 万超の雇用を失い、同セクター全体の雇用の約3分の1となり、総雇用数は 2008 年以来の水準に後退し、30 年ぶりの低水準に近づいています。同様の期間中に記述出版物は約 7 万の雇用を喪失し、デジタルアートの各サブセクターも減少を続けており、特に新聞社のスタッフ数は 90 年代以降に 85% も減少し、雑誌出版業者は同期間でスタッフの 66% を失っています。ツアーや物理メディア販売によって支えられていた過去の時代とは異なり、現在のストリーミング収益では以前ほどの水準には達せず、音楽業界もそのビジネスモデルをシフトさせています。この経済的後退に拍車をかけているのは人工知能技術の戦略的な転換です。これらの労働者の約 32% がすでに生成型 AI を利用しているにもかかわらず、画像、映像、音楽生成などの高コスト分野では数学や科学への投資と比較して経済的リターンが低いため、テックセクターはそうした分野から撤退しており(アンソルピックなどで見られるように)、AI ツールによる迅速な回復は短期間で望むことはできず、伝統的なアートの労働力にとって長引く課題を示唆しています。さらに状況は複雑化しており、2022 年のテック雇用の増加が約 30 万でしたが、それ以降毎年雇用を喪失し続けており、これらのデジタルの逆風にもかかわらず対面エンターテインメントは引き続き成長しているという事実が加わっています。

2026/10/25 6:47

構築するソフトウェアに対し、より雄大であるべきです

## 日本語訳: 本件の核心メッセージは、高度な AI ツールを利用する個人が、大規模資金調達なしに高パフォーマンスで影響力のあるソフトウェアを構築できる可能性を示しており、「vibeslop」や低品質な AI 出力に対する懐疑論に挑戦している点です。具体的な証拠としては、Michael Malis の pgrust プロジェクトがあり、これは PostgreSQL に重大なバグ(SP-GiST、JSONPath、pgcrypto、メモリ安全性)を発見しており、メインプロジェクトが成功しない場合でもその最適化は Clickhouse などの主要システムを採用される可能性があります。パフォーマンスは重要な推進力であり、AI モデルは今や数年を要する論文やコードベースからの複雑な技術(例:カスタムレギュラー表現式エンジン、ボードゲーム AI、IMAP RFC 処理)を数時間以内に実装しており、Ripgrep 検索、Rust コンパイル、ファイルシステムオーバーヘッドなどのタスクにおけるボトルネックを大幅に減少させています。大規模な研究所が SOTA モデルのために高価なハードウェアを使用する一方、独立した取り組みは AI が検証および実装可能な能力の差が広がっていることを証明しており、これによりエンジニアリング課題への挑戦が最小限のオーバーヘッドで行えるようになり、データベースおよびツールエコシステムにおける漸進的な進展を促進しています。

2026/10/25 4:06

Goose プログラミング言語

## 日本語訳: Goose は、動的値をコンパイラ管理のスタック上にインライン保持することで、ヒープ割当とガベージコレクションを排除し、メモリ安全性を実現するシステム言語です。リソースの解放は手動のデアロケーションではなくスコープ終了経由で行われ、単一スタックメモリモデルによって再割当なしでの成長がサポートされ、参照がポインタが進むにつれて拡大する配列内を維持します。コンパイラはすべての参照に対する静的ルートを自動的に推論し、所有者よりも長生きする可能性があるものは却下し、ライフタイムアノテーションやアンセーフブロックの必要はありません。 パフォーマンスベンチマークでは、Goose が標準的な C++、手動最適化された C++、そして安全な Rust に比べて速度とメモリ使用量でともに優れています:標準的な C++ の場合最高 3.3 倍高速に動作し、メモリ使用量は約半分(1.9 倍削減)です。アーキテクチャ上の革新であるバリアントモード enums(各バリアントの正確なサイズを格納)、ナローリンク(位置非依存参照のために 1/2/4 バイトのオフセットを使用)、およびインプレース構築は、オーバーヘッドが著しく低い連続したネスト型データ構造を可能にします。エラーは関数フレーム間を静的に返すことができ、アンワインダーや Result タイプを必要とせず、スレッドは分離されたメモリ空間で動作し、memcpy によってフラットな値が転送されることでデータ競合とロックを回避します。全体として、Goose は組み込みシステムや高频度取引といったクリティカルドメインにおいて高いパフォーマンスと安全性を提供するとともに、開発ライフサイクルを簡素化します。

ハードウェアハカーのためにステレオビジョンボードを作成した | そっか~ニュース