Electronics

2017.07.03

[MAKE: PROJECTS]エアホッケーの相手をしてくれるロボット

Text by Juan Pedro and Jose Julio
Translated by kanai

FEATURED-AirHockeyTable-2

Air Hockey Robot EVOがあれば、対戦相手に事欠くことはない。組み立ても設置も簡単で、Androidのスマートフォンでコントロールできる。

これはオープンソースのロボットなので、普通に入手できる材料と3Dプリントした部品があれば、自分で最初から作ることができるが、キットも販売されている。ただし、エアホッケーのテーブルが必要だ。このロボットがぴったり合うテーブルがお勧めだが、ロボットをテーブルに合わせて改造することもできる。

科学、ロボティクス、コンピューティング、画像認識、エンジニアリングが一度に学べる楽しいプロジェクトだ。

仕組み

スマートフォンがロボットの頭脳になる。Air Hockey Robotアプリは、本体のカメラに写った映像をリアルタイムで画像処理してプレイ中のフィールドの状態を把握し、感知された物体の位置と軌道をもとに攻撃か防御かを判断する(図A)。実際にプレイしてみると、なかなか手強い相手だ。

IMG_6134
図A

視覚システムが正常に働くためには、均一な照明が必要だ。影や反射をなくし、できれば蛍光灯で照らしてほしい。

改造も持ち運びも可能

ロボットのスキルレベルは簡単に調整できる。たとえば、子どもが遊ぶときは、アプリの設定画面で難易度を設定できる。「手動」モードにすると、指でロボットの操作ができるようになる。ロボティクス愛好家のために、プレイステーション3のカメラを使ったバージョンもある。こちらはパソコンで制御するようになっていて、視覚システムを改良することができる。持ち運びたいときは、人間同士で遊びたいときには、簡単に取り外せる。

作り方

DSC_0211
図B

このロボットは、金属棒とタイミングベルトと3Dプリントした部品で構成されている。電子部分は、JJRobots Brainシールド、Arduino Leonardo、ステッパーモーター・ドライバー2基、冷却用の12ボルトファン(図B)だ。本体に取り付けられたBrainシールドが、速度と加速度の判断を行い、ステッパーモーターにパルスを送る。詳しくは、jjrobots.com/air-hockey-robot-evoを見てほしい。

hbot
図C

ロボットの完璧な動作は、H-botシステム(図C)によって実現されている。2つのモーターだけで、マレットを陣地内のいたるところに移動できる(図D)。ロボットは、滑らかに、そして同時に力強く動かなければならない。正確に設置することにより、加速度は向上する。構造は下図のようになっている。

electric-diagram-1
図D

組み立てる

1. モーターを取り付けプーリーを組み合わせる

fixing-the-motors
図E

モーターをモーターサポートにM3×6ミリボルトで取り付ける(図E)。そして、6つのプーリーの穴に、M3×25ミリボルトを通して623ボールベアリングを2つずつはめ込み、(図F)。M3×15ミリボルトとM3ナットを使ってファンをサポートに取り付ける。

pulley-detail-1jb
図F

2. X軸を組み立てる

preparing-the-X-axis
図G

2本のアルミパイプに横スライダーキャップを取り付ける。ここは、この作業でのもっとも重要な部分だ。3Dプリントした部品にパイプを差し込むのは力のいる作業だが、全体の強度を保つためには、きっちりときつくはめ込む必要がある。パイプを捻りながら押し込むとよいだろう。必要ならば、ハンマーでアルミパイプをそっと叩いてもよい。図Gのように、赤いブッシングをパイプに通し、もう1つの横スライダーキャップを反対側に押し込む。

placing-the-pusher
図H

ベアリングをはめ込んだプーリーを4つ、スライダーキャップにねじ込む。ナットは使わない(図H)。次に、4本の結束バンドを使ってマレットを取り付ける。マレットの両側にある2つの穴に結束バンドを通し、ブッシングを巻き込んで締め付ける。

結束バンドの余計な部分は切り取る(図I)。マレットがパイプに沿って軽く動くことを確認する。動きが悪いようなら、オリーブオイルを塗るとよい。アルミパイプとPALのブッシングとの摩擦を大幅に減らしてくれる。M3×15ミリのボルトを使ってマレットの底部を取り付ける。これでX軸ユニットの完成だ。

pusher-ready
図I

3. スライドレールを組み立てる

motor_pulley
図J

2つのモーターの軸に、M3×10ミリボルトとナットを使ってモーター用プーリーを取り付ける。ボルトはしっかりと締めつけること。このプーリーが、ロボット全体の動きを生み出すのだ(図J)。残った2つのプーリーを、サイドサポートに戻り止めナットで取り付ける(図K)。サイドサポートの穴に鉄の丸棒を差し込む。LM88UUリニアベアリングを鉄棒に通し、棒の反対側をモーターサポートに取り付ける(図L)。これでロボット本体の組み立てが完了。

mounting-side-support_jb
図K

all-ready-1
図L

注意:ロボットの稼働中は、かならず、かならずファンを回しておくこと。モータードライバーは、常に風を当てて冷却してやらないと破損することがある。

もうひとつ注意:ロボットは突然動き出すことがある。怪我をしないよう、調整を行うときは、かならず電源を切ること。

テーブルに取り付ける

motor-support
図M

テーブルの片方の端を固定しているネジの、上の1本を抜く。そこにモーターサポートを配置して、抜いたネジで取り付ける。もう1本の木ネジを使ってサポートを固定する(図M)。反対側にも同様にしてモーターサポートを取り付ける。

side-support-fixing
図N

木ネジ2本を使って、サイドサポートをテーブルに固定する(図N)。X軸のユニットを、鉄棒に入れたLM88UUリニアベアリングに押し込む。リニアベアリングが入る溝にバリなどがあるときは、丁寧に取り除く。鉄棒との摩擦を減らすためには、2つのリニアベアリングは完全に平行でなければならない。

私たちのウェブサイトで詳しい組み立て方を見てください

一歩進めて

テーブルの両側に1台ずつロボット取り付けて対戦させる。ゲームの戦略を変えてやれば、面白い対戦になるだろう。ロボットの動きはArduinoのコードで書き換えることができる。さあ、遊ぼう!

原文