HN公開: D-POINT - 6自由度に対応するオープンソースのデジタルスタイラス
(github.com/Jcparkyn)- D-POINTは、カメラトラッキングと慣性計測を用いて、6DoF入力、低レイテンシ、圧力検知、サブミリメートル精度を提供するオープンソースのデジタルスタイラス
- 平面であればどこでも使用でき、一般向けWebカメラと組み合わせて動作する方式
- 本体は2つの3Dプリント部品で構成され、フォースセンサー、USB-Cで充電されるLi-ionバッテリー、ロジックとBluetooth用のArduinoベース開発ボードを内蔵したハードウェア
- スタイラス後部に取り付けた8個の印刷済みArUcoマーカーをOpenCVで検出し、ローリングシャッター補正、PnP姿勢推定、座標変換を経て、カメラ基準の姿勢と描画面基準のペン先の位置・方向を計算する視覚姿勢推定フロー
- 慣性融合は、加速度計とジャイロスコープのデータをVPE推定値およびExtended Kalman Filterと組み合わせ、Rauch-Tung-Striebelアルゴリズムでリアルタイム推定値を補正する構成
- カメラフレームの時間遅延を処理するために負の時間測定更新アルゴリズムを使用し、EKF実装にはNumPyとNumbaを使用
- 慣性計測は、カメラのみを使用する実装よりもレイテンシを大きく削減し、高速な動きでの精度とレポートレートを改善するための構成
- 電気工学の学部論文プロジェクトの一部として作られており、コードと設計ファイルは公開されているが、「plug and play」のDIYプロジェクトを意図したものではない
1件のコメント
Hacker News のコメント
すごくクール。自分が空想していただけのものを実際に実装して動くようにしている
Elite: Dangerous をプレイするときに HOTAS とペダルを使っていたけれど、宇宙船をもっと上手く操縦する方法があるんじゃないかとずっと考えていた。宇宙船はピッチ、ヨー、ロールだけでなく、6方向の推力まで扱う必要があるから
手に持った宇宙船の模型を動かすと、Elite 内の宇宙船も同じように動くデバイスが欲しかったのだが、リンク先のプロジェクトはまさにそれができそうに見える。推力はもう片方の手で同じように制御すればよさそう
こういう馴染みのない新しい入力方式は本当に驚きで、こうした能力が得られると想像力が大きく広がる
実際の腕前は似たようなものだったと思うが、完全にボコボコにされていたらもっと笑えたかもしれない
理論としては、手より頭のほうがずっと精密だから、両方を組み合わせれば照準が良くなるはず、というものだった。左を見ながら画面を横目で見る必要がありそうに思えるが、実際には2マウスシステムはかなり成立する。現代風にもう一度試してみたかったが、頭に変な棒を付けたとんでもない変人のように見えてしまう。それでもそういうスタイルは好きだ
あなたのアイデアも本当にクールなので、作ってみるといいと思う
https://en.m.wikipedia.org/wiki/SpaceOrb_360
https://www.tindie.com/products/vputz/orbotron-9001-version-...
https://old.reddit.com/r/EliteDangerous/comments/16xi20a/dua...
https://youtu.be/T2-IHgNYaKA
学部の卒業論文プロジェクトだって! これで最高点を取れないなら、この世に正義はない
自分が学部生だった頃は、科学的な作業が重視されていた。だから新規性や応用可能性は成績では重要ではなく、その内容をどれだけ科学的に文章で伝えられたかが重要だった。このプロジェクトの文章を見ていないので、成績という観点では判断しづらい
すごくクール。Webカメラを使っているのを見て、今の一般的な単眼・約78度視野角のWebカメラが、いつかステレオ魚眼Webカメラに置き換わる未来があるのか気になった
そういうWebカメラなら、視線追跡を組み合わせたジェスチャーのような新しいユーザー体験、このスタイラスやレーシングゲーム用ハンドルのような周辺機器とのインタラクション、VR の存在感まで含めた、はるかに柔軟な 3D 180度 Web会議が可能になりそう
コンピューター画面の前にある3D 空間全体を入力方式として使う時代が来つつあるように感じるし、元記事のWebカメラ活用はその方向への小さな一歩に見える
今でも、新しく出たマウスという物自体にためらう人がいる
そこに手/指のジェスチャー制御や、スタイラスやマウスのような周辺機器を加えるのが明らかな次のステップに思えるが、彼らも他の誰もそうしているようには見えない
良い。特に融合の部分が良い
「ノートPCのキーボード…手の姿勢、3D スタイラス、タッチ」を探りながら考えたこと。ボタンを追加すれば 3D マウスになるが、カメラのカバレッジが問題になり得る。本体は大部分が空で、バッテリーももっと薄くできる。細い箸/歯ブラシのようなスタイラスを持ったままでも、ある程度タイピングできた。マーカーと妙に大きな先端があっても可能だった
ピンポン玉のクリスマス飾りから切り出した大きな先端は、ThinkPad キーボード上をかなり滑らかに滑り、やや大きめの力センサーと追加の先端マーカーを入れるスペースも与えてくれた。細い撚り線のシリコンリボンケーブルは紐のように柔らかくできるので、最初はスタイラスを Arduino につないで使っていた
くぼんだ金属のクリッカーのようなものをボタン1個または3個として使ったら、慣性センサーがどう解釈するのか気になる
ローリングシャッター補正がかなり見事で、自分では思いつかなかったと思う。最初から問題になると分かっていたのか、それとも残りのシステムを作ってから気づいたのか気になる
普段はほとんど目立たないほど小さかったが、特定の状況でははっきり現れた。例えば、ペン先を同じ場所に置いたままペンを回転させるときがそうだった
いちばん驚いたのは、自分の解法が現実をかなり粗く近似したものなのに、どれほどよく効いたかだった。もっと精巧な処理手法はいくらでもあるが、結局必要なかった
試してみたかったものの一つは、ローリングシャッター対応PnP[1]だった。理論上は、ローリングシャッター歪みを利用して、1枚の画像から姿勢と速度を同時に推定できる
[1] https://www-sop.inria.fr/members/Philippe.Martinet/publis/20...
6自由度関連なら何でも好きだが、ハードウェアとコンピュータビジョンによる姿勢推定もよくできている一方で、むしろ描画できて回転もできるソフトウェア上のサーフェスのほうが印象的だった
同じ効果を出す指用スライダーのような、何らかの物理的なユーザーインターフェースコントロールにも使えそうで興味深い。問題解決能力が分かる良いプロジェクトで、きちんとやり遂げていると思う
ちなみに、自分が最初に使った6自由度コントローラは、IR LEDのBluetooth受信機として改造したWiiMoteコントローラ[1]を除けば、時代を先取りしていたLogitech MX Air[2]だった
[1] https://web.cs.ucdavis.edu/~okreylos/ResDev/Wiimote/MainPage...
[2] https://www.cnet.com/reviews/logitech-mx-air-review/
とても素晴らしいプロジェクトで、ドキュメントも役に立ち、カルマンフィルタ利用の良い実例でもある
本当に素晴らしく、自分が夢見ていたものにぴったり合っている
会社が完全リモート勤務に移行してから、ホワイトボードセッションがずっと恋しかった。自分が思いつけた最善策は、古いiPadとデスクトップブラウザの両方で共有ホワイトボードWebアプリを開き、デスクトップ側で画面共有して、iPadには安いスタイラスで描くという方法だった
かなり良いのだが、自分のiPadが古すぎて遅い。買い替えるのも負担が大きい。普通のWebカメラと比較的ローテクなスタイラスならはるかに良く、外部デバイスの必要も完全になくせる
[1] https://wacomstore.ca/product/one-by-wacom-small/
素晴らしい。メカニカルキーボードを買うように、特定のブランドに縛られない点が良い
とてもいい
ロボティクスやVRにも役立ちそう。カメラ1台で手のトラッキングもできるのでは?
質問: ジャイロ+加速度計で圧力も追跡できるだろうか? 少なくとも「タップ」程度は?
もう一つ質問: 費用はどれくらいか、特に圧力センサーが気になる
理論上は、十分に正確な姿勢推定と弾性のあるペン先で可能だが、自分が得られた精度レベルでは現実的ではなかった
圧力センサーは約20オーストラリアドルで買ったが、米国でははるかに安く約5ドルで入手できる(https://www.arrow.com/en/products/hsfpar003a/alps-electric)。ただし、かなり特殊な部品なので販売しているところは多くない。カスタムPCBが追加で10オーストラリアドル、Arduinoが約20ドルだった。全体の部品一覧は https://github.com/Jcparkyn/dpoint/blob/main/setup-guide.md にある