ソフトウェアの説明:
- ·Python Idle:これは、このプロ 全体のロボットは、Python Idle上のPython言語でコード化されています。
- ·オープンCv:これは、ロボットにチェス盤のビジョンを与えるために使用される画像処理ライブラリです。Pyfirmata:これはPython言語でArduinoをコード化するために使用されます。 基本的に、これはArduino Ideの代わりにPython IdleにArduinoを接続します。
Concepts for Autonomous Chess playing Robotic Arm: Working of robotic Arm involves series of concepts and mechanisms:
1. Forward Kinematics : サーボモータの前方運動学の角度を考えると、エンドエフェクタの所望の位置を見つけることを扱う。(すなわち、theta_1、theta_2、theta_3のようなサーボ角度が与えられた場合、前方運動学はX、Y、Z座標またはエンドエフェクタの位置を見つけるのに役立ちます)。これは、逆運動学によって得られた角度が正しいかどうかをチェックするためにも使用されます。 ビデオは、このzipファイルの”Videos”フォルダに提供されています。
2. 逆運動学:エンドエフェクタのX、Y、Z座標を考えると、逆運動学は、所望の位置に到達するためにサーボの所望の角度を見つけることを扱う。 (例えば、位置(X、Y、Z)に配置されたオブジェクトを選択するために、その特定のオブジェクトに到達してそれをつかむために逆運動学を使用するこ ビデオは、このzipファイルの”Videos”フォルダに提供されています。
3. 運動学的な図表:これらは前方および逆の運動学の方程式を導き、解決するのに使用される図表である。 私は3DOF多関節マニピュレータの運動学的図を解いた。
4. Denavit-Hartenberg parameters:パラメータテーブルを作成することで順方向運動学を簡単に解く方法です。
5. 回転行列と変位ベクトル : これらは、均質な変換行列を見つけるのにも、ロボットのベースフレーム座標にカメラ座標を変換するために使用されます。
6. 画像処理:これは、移動が再生されているかどうか、または移動が白または黒で再生されている場合のようなチェスボード上で何が起こっているかのロボッロボットアームのステップバイステップの作業:
·ステップ1:プレイヤーからの最初の入力は、彼が黒または白を望んでいるかどうかを与えられます。
*ステップ1:プレイヤーからの最初の入力は、彼が黒または白を望んでいるかどうかを与えられます。 プレイヤーが白を選択した場合、ロボットアームは黒の色を取り、黒の色が入力として与えられ、プレイヤーが黒を選択した場合、プレイヤーがここで白を選 ゲームが始まるとすぐに、画像処理は白が動きを果たしたかどうかを確認するために開始されます。 動きの検出は、最初の画像が元の画像であり、第二の画像がボード上のピースの位置の変化に形成された新しい画像である二つの画像の単純な減算によ 減算の結果が何もない場合は、移動が再生されないことを意味します。 減算の結果がゼロ以外の行列になる場合、移動は白で再生されます。 これは、移動が再生されているかどうかをロボットが理解することができます。ステップ3:白がここでE4を移動すると仮定します。
· 移動は画像処理によって検出されます。 次に、robotは作成したchess opening dictionaryから移動を取得し、それに応じて移動を再生します。 辞書は{“E5”:coordinates}のようなものです。 このことから、ロボットは所望の座標を取得し、逆運動学によってe7正方形からポーンをピックアップし、それをe5正方形に配置する。 これは、作品のピッキングと配置がどのように機能するかです。ステップ4
: このプロセス全体は、ゲームが結論に達しない限り、それ自体を繰り返し続けます。 ロボット全体は、モーターに必要なPWMを制御して提供するArduino pro miniによって制御されます。
結論:ロボットは正常に再生された動きを検出し、また正常にピックアップし、画像処理を使用してチェスの駒を正確かつ正確にチェスボード上に