- Kilopixelは6年間かけて開発された、誰でもインターネット上で絵を描ける1000個の木製ピクセルを使った大型ディスプレイです
- このプロジェクトは、さまざまな物理的プロトタイプ設計、材料試験、ピクセル形状の切り替えなどを経て、試行錯誤の末に完成しました
- CNCマシン、Raspberry Pi、Webアプリ、センサーなどが活用され、オンラインとオフラインをつなぐ独特の構造を持っています
- ユーザーはWebサイトを通じて直接画像を投稿または投票で参加でき、リアルタイムストリーミングとタイムラプス映像提供の環境も用意されています
- 将来的には、他のユーザーへディスプレイの制御権を移譲したり、さまざまな活用方法を模索する、クリエイティブでオープンなプロジェクトです
プロジェクト概要
- Kilopixelは6年間開発された、世界で最も非効率な1000ピクセル木製ディスプレイです
- 誰でもウェブサイト(kilopx.com)を通じてその画面に絵を描けるインタラクティブシステムとして設計されています
- このプロジェクトは、Webアプリ、物理コントローラ、CNC加工、Gコード生成、3Dモデリングとプリンティングなど、IT・メイカー要素が集約された成果物です
初期のアイデアと動機
- Danny Rozinの非伝統的な鏡作品と、eInkベースの超低速ムービープレイヤーから着想を得ました
- 現代の高解像度ディスプレイとは対照的に、ピクセルを1分間にわずか10回しか切り替えない極めて遅く非効率な方式を選択しています
- 40×25グリッドで正確に1,000ピクセルを表現し、覚えやすい『kilopx.com』ドメインで命名しました
第一のプロトタイプ(21×3ピクセル)製作
- 木製ガニをベースにしたものの、すぐにOpenbuildsキットのアルミ部品(3Dプリンターに似た構造)へ切り替えました
- Raspberry Pi、CNCコントローラ、ステッピングモーターなどを用いた基本的な自動化アセンブリで試験運転を実施しました
- ピクセル選択および操作メカニズムのいくつかの制約と技術的な問題が発見されました
適切なピクセルを見つける難しさ
- 卓球ボール、発泡スチロール、木球など、さまざまな球状素材を試験しました
- コスト、重量、材料入手の難しさ、サイズの不均一性など現実的な問題に直面
- 例)50セントのボール1,000個では500ドルが必要です
- 卓球ボールは穴を開けると容易に変形し、サイズ差のために失敗しました
- ネフボール、バウンスボール、木球、発泡スチロールなども、穴あけ、塗装、耐久性、重量の問題から不適合と判断されました
ピクセル回転メカニズムの実験
- レゴの車輪とモーターとセンサーを組み合わせてピクセル回転を試みました
- ソレノイドやサーボモーターなど、さまざまな駆動方式をテストしましたが、いずれも緊密な制御が難しく、実現できませんでした
球形ピクセルから立方体ピクセルへ変更
- ポッドキャストの会話をきっかけに、立方体木製ピクセルへ全面的に切り替え、制作に着手しました
- 大量生産特性の都合でかなり時間がかかりましたが、視覚的および動作面の完成度には満足しています
ピクセルグリッド製作
- ピクセルそのものではなく、固定グリッド構造を設計することで40×25配列の精度を確保しました
- 40穴を開けた薄いスラットを25枚加工し、ピクセルを金属ワイヤーに通して一貫した間隔を維持しました
- 各ピクセルが周囲の影響を受けず、完全に独立して動作するように設計しました
CNCおよびシステム制御
- 基本的なCNCの原理とGコード活用方法の説明を含みます
- Raspberry Pi、CNCコントローラ、Pythonスクリプト、光センサー、pigpioライブラリなどを活用しています
- Web APIと連携し、次に変更するピクセルを選択してGコードで制御、操作結果をセンサーでチェックした後、APIへフィードバックするループを構築します
ピクセル操作(ピクセルフォーキング)メカニズム
- ピクセルは90°ごとに専用の溝があり、**フレキシブルスティック(グルースティック)**で縁を押して回転させます
- これらのすべての動作はGコードを通じて自動化されています
画像出力モードとWebインターフェース
- APIはWebアプリで制御され、ディスプレイには3つのモードがあります
- ユーザー投稿:誰でも40×25画像を投稿でき、投票が行われ、人気作品を順次表示します
- リアルタイム協調:参加者がピクセルをリアルタイムで変更(参加者が多い場合には不向き)
- アイドルモード:時計、図形などアルゴリズムベースの変形出力
- WebアプリのスタックはNode/Socket.IO、Laravel+Livewireを経て、最終的にLaravel+InertiaJS+VueJSに進化しました
リアルタイムストリーミングとタイムラプス
- 2台のWebカメラ(クローズアップ、ワイドショット)でOBSとffmpegを活用し、ディスプレイをYouTubeにリアルタイム配信
- API状態チェック後、完成作品のタイムラプス動画を生成して掲載する機能も提供されています
オープンシステムのセキュリティと運用
- 悪用防止のための最小限の検証を行い、必要な場合は作品の迅速な削除をサポートする機能を構築
- 基本的に非常に開放的な参加構造を維持し、Bluesky OAuthログインなどを導入しています
今後の計画
- ユーザーの多様な参加を期待し、今後は別のユーザーへAPI経由で制御権を移譲することを検討しています
- 将来的には、自分のWebカメラの背景として使用したり、オフィスやカフェなど様々な空間で利用したりする構想です
- 誰もがWebサイト上でリアルタイム参加と鑑賞を行うことができます
結論
- Kilopixelはオンラインの相互作用とオフラインの物理性を融合した独創的なプロジェクトです
- 製作プロセスにおける多くの試行錯誤と技術的な努力は、メイカーと開発者の双方にとって刺激的な事例になりうる
1件のコメント
Hacker Newsのコメント
素晴らしいプロジェクトだと感じる。自分も以前30ピクセルのディスプレイを作ってみた経験がある。 PixelWeaverプロジェクト参照 機械式でパンチカードとハンドルを使い、すべてのピクセルが同時に切り替わる構造だったので、メカニズム開発の過程がとても見覚え深い。
Mumbo JumboはHermitcraftでトラップドアを使って同じコンセプトを実装したことがある。現在「buildstone」という革命が起きていて、レッドストーンで美的要素を作る流れになっている。Mumbot 2.0動画を参照できる。Grianはディスペンサー、雪のパーティクル、ポーションアローを使ってアニメーションの滝を作っていたこともある。Grianのwaterfall動画
本当に素晴らしいプロジェクトだ。『猫が「hi」と言う』部分まで見た。最近9日間、Blueskyの@kilopx.comには新しい投稿がないように見える。改善点をいくつか提案すると、提出が終わった後、完成作品をきれいに撮影するために「ペン」をできるだけ動かすことと、サイトに現在進行中の投稿者情報を表示するとよいだろう。そして完成作品は別途「history」ギャラリーとして見せるとよい。現在は保留中の投稿のみに「Timelapse will be available after this is drawn」のようなパーマリンクが提供されているだけで、完了した結果や進行中の結果を簡単に見つける手段がないように見える。
リフレッシュレートが370マイクロヘルツというのは、『Calm Technology』という概念にまったく新しい意味を与えるもので、すごく良い。Calm Technologyのウィキ説明
このテーマは本当に面白い。Amber Caseの『Calm Technology』を読んだことがある人には、ぜひおすすめしたいかどうかが気になる。
YouTubeストリームのメインカメラのフレームレートも偶然同じ値になっている。この部分をOPが修正してくれると良い。
私の経験上、このディスプレイはピクセルあたりのコストが最も高いものだろう。だが、こんなに魅力的なディスプレイは初めて見た。最高の意味で、まさに「とんでもない」ものだ。
もう一つの素晴らしく高価なピクセルの例として、この記事で言及されているDanny Rosinのミラー作品がある。関連動画
画像を変更しない限り全くエネルギーを使わない点も利点だ。
Mythbustersがいまだ記録を保持しているようだ。関連実験動画
実際にピクセルあたりの価格を考えたくない。自分の時間価値を加えるとますますそう思うので、あえて最終コストは計算していない。
別のアイデアとして、キューブを正面に向けたとき、面ではなくエッジがまっすぐ前を向くように角度を合わせる方法がある。各キューブに隣接する暗い面が2面、明るい面が2面あるなら、片方を45°左側から、もう一方を右側から見られるように「同時に」2つの画像を設定できる(1ピクセルあたり合計4状態)。
もし色を1色だけ捨てるなら、三角プリズム形状を使って各面を仮想的に隣接させ、別々に回転させることができると思う。図解画像
各面をRGBKやCMYKなどでペイントすれば、カラーのディスプレイへ拡張できるかもしれない。
同様に、カメラを正面に置いたままでも、既存のハードウェアでピクセル数を2倍に増やせる。
このプロジェクトも素晴らしいが、速度を上げる方法を次々と思い浮かべてしまう(速度が核心ポイントではないと分かっているが)。ブロックを回転させる装置がX軸のアライメントをずっと切り替える必要なく動作すれば、1列全体を迅速に処理できそうだ。あるいはY軸アライメントが不要な構造なら、行(横方向)でも処理できるはずだ。ブロック回転装置自体を繰り返しリセットしなくてよい方式(例えば回転式構造)で作れば、さらに速くなるだろう。製造業の自動化専門家に依頼すれば、本当に高速に実装されるだろうと想像する。なお、初期にはボールを使ったアナログe-ink方式が採用されていた点が非常に印象的だ。
「画像更新時のみ電力を使うドットマトリクスの代替」を挙げるなら、これまでに考えたことのない方式だが、箱の片側にサーマルプリンターを置き、反対側にフィードスプール+テンションスプリングを隠して、サーマルペーパースクロールを[UVカット]ガラスの裏に展開して表示し、新しい画像を印刷してディスプレイを「リフレッシュ」する方式のディスプレイを作れないだろうか。
さらに進めるなら、Pilot Frixionペンに使われるサーマル消去インクで表示面を覆うこともできる。このインクは60℃では消え、-10℃で再び濃くなり、中間温度では安定しているので、1ループを継続して再利用できる。ただし何度まで耐えられるかは未知数だ。
一部のファクス機ではサーマルペーパーを使用し、少なくとも8.5インチまで拡張可能だ。
画像を変更するたびに紙を捨てる必要があるなら、それを「ディスプレイ」と呼べるかはあいまいだと思う。
ボックス構造を活用すれば、ディスプレイを4面に増やすこともできると思う。あとはメカニズムをうまく作ればよい。メインディスプレイの画像を切り替える際、他の画像が第2、第3、第4ディスプレイへと移っていく。そして各コーナーに、フレーム内に隠されたローラーを置き、ベゼルに隙間を設けるように設計すれば面白い。
非常に素敵だと思う。記事自体もとても楽しく読めた。このプロジェクトは、スチームパンク小説で読んだ内容を思い出させる。Googleで調べて、内容を詳しく見たところ、Gibson & Sterlingの『Difference Engine』に登場するキノトロープだ。誰かがここを1ピクセルごとにサーボをつけて作っていた。きっとかなり高価だっただろう。関連ブログ投稿
続けて「より速い」派生方式を想像させられる。例えば各走査ラインごとに木製ビーズをチューブやチャネルに発射して、色ごとに対応するビーズを供給するシステムを想像できる。重力または空圧システムを組み合わせ、一行をリセット/再充電する方式にすれば良い。これをアリーナ規模に拡張してボウリングボールサイズのピクセルとしても実装できると想像する。課題なのは、各色を再供給チャネルへ正しく分配するタイミングと、ビーズ衝突を緩衝して騒音や摩耗を減らす装置の設計が見込まれることだ。