素人でもビリヤードで正確なショットを繰り出せる「コンピューター制御の自動式キュー」を開発した猛者が登場

GIGAZINE
2021年07月24日 09時00分
動画



ビリヤードはキューという棒状の道具を使って手玉をつくスポーツであり、いかにキューを巧みに操って手玉を思い通りに動かすかが勝敗に直結します。工作系YouTubeチャンネル・Stuff Made Hereが、コンピューター制御で誰でも正確なショットを繰り出せる「自動式キュー」を開発するまでのムービーを公開しています。

Automatic pool stick vs. strangers – YouTube
[embedded content]

ビリヤードにはさまざまなルールがありますが……


いずれも「どのボールをビリヤード台のポケットに入れるかを決め、手玉を正確にキューでついてボールを落とす」というスキルが重要です。


上達するにはそれなりの練習が必要ですが……


キューの先端がロボットになっていれば、自由自在に動いて正確なショットを繰り出し、狙ったボールをポケットに落とすことが可能かもしれません。


そこで、Stuff Made Hereを運営するシェーン・ワイトン氏は、ビリヤードのキューをロボット化するプロジェクトに着手しました。ワイトン氏が考案したのは、カメラで頭上からビリヤード台の状況を把握し、アルゴリズムで最善のショットを導き出すという装置です。


ボールをキューでつくという動きは2Dではなく3Dのため、キューの先端部分は3次元的に動くようにする必要があります。


簡単なプロトタイプの開発などを経て、6本の伸縮自在なロッドでキューの先端部分を動かす仕組みが適しているとワイトン氏は判断しました。


完成予想はこんな感じ。


さっそくワイトン氏は必要な部品を成形し……


組み立てていきます。


キューの根元にある機構でロッドの伸縮を調整し……


先端部分を自由自在に動かせるようにしました。


キューの動きはマイクロコントローラーで制御します。


6本のロッドを伸縮させ適切なキューの動きを実現するプログラムを作成すると……


自由自在なキューの動きが実現可能に。


キューはエアシリンダーの圧縮空気で動きますが、常に最大出力でショットするわけではないため……


マイクロコンピューターやバルブ、車のホーンを用いて制御機構を作ったとのこと。


ワイトン氏が考案したシステムでは、キューとボールの位置を把握するためにビリヤード台を写すカメラを天井に設置します。


ところが、カメラと机の角度がズレているとボールとキューの正しい角度を把握することができなくなるという問題があります。間違ったデータを基にして計算された「最適なショット」は、当然ながらうまくいきません。


この問題を解決するための秘策が、ビリヤード台の四隅に貼られた特殊なタグです。


このタグを基準にしてビリヤード台の位置を補正することで、6つのポケットやボールの位置を適切に把握できるとのこと。


また、キューの先端部分にもタグを貼ることで、キューの位置もコンピューターが認識可能です。


カメラが認識できるのはあくまで2Dの位置関係であるため、キューの下に台座となるプラスチック部品を取りつけて……


コンピューターがキューの傾きを検出できる仕組みを作りました。


ワイトン氏のシステムでは、狙ったボールを打つにはキューを特定の範囲内で構える必要がありますが、計算を行ったコンピューター画面とビリヤード台を見比べながらキューを構えるのは面倒です。この問題は、「プロジェクターを天井に設置してビリヤード台にショットの補助となる画面を投影する」という方法で解決することにしました。


うっかり電気やインターネットのケーブルを切断してしまうというハプニングに見舞われながらも、プロジェクターを設置することに成功。


満を持してキューを試してみると……


人間でもなかなか外さない簡単なボールだったにもかかわらず、ショットは失敗してしまいました。


キューが正確に動作しないということは、これまでに作ってきた過程の何かが間違っているということです。カメラの設置位置、カメラとビリヤード台の位置補正、物理シミュレーション、6本のロッドを動かすアクチュエーター、テストが及んでいない機械的な機構など、考え得る可能性はさまざまです。


滑車や数学的な問題など複数のミスを修正した後、ついにワイトン氏はアクチュエーターのサーボモーターに問題があったことを発見。


これを修正したところ、これまで失敗していたショットを成功させることができました。


ワイトン氏も思わずこの笑顔。


ところが、角度や距離を変えた別のショットを試してみたところ、こちらは失敗。まだ問題があるようです。


アクチュエーターの問題にたどり着くまでに全ての可能性をつぶしたと考えていたワイトン氏は、さすがに意気消沈した様子です。


それでもめげずに綿密な調査を続けた結果、どうやらコンピューターが認識しているボールの位置が、実際のボールの位置とわずかにズレていることを突き止めました。


これは広角カメラを使ったことによる光学的なゆがみが原因だと考えられましたが、ワイトン氏はすでにカメラのキャリブレーションを行っていたとのこと。


何を間違えたのかを調べるために徹底的な調査を行ったところ、どうやら問題は物理的なゆがみだけではないことが判明。


開発時にテスト用のコードがうっかり混入したことで、補正結果に5~10mmのズレが生じていたそうです。


問題を修正したところ、見事にキューが正確なショットを繰り出せるようになりました。


自分でショットするだけでも楽しそうですが……


ワイトン氏はこれを応用し、「インターネット経由で自動キューを使ったビリヤードができるシステム」を構築。実際に、妻やYouTubeチャンネルのパトロンとなっている人々と、インターネット越しのビリヤードをプレイすることにしました。


対戦相手はキューの角度やショットの力加減を調節し、ボタンをクリックしてショットします。


実際にビリヤード台でキューを構えるのはワイトン氏ですが、遠隔でビリヤードがプレイ可能。


実際に、ワイトン氏はさまざまな人々と遠隔ビリヤードをプレイして楽しんだようです。


この記事のタイトルとURLをコピーする

Source