私はロボットに積極的に興味を持っており、最近Arduinoを搭載したバイペダルロボットを作りました。その後、犬や猫などの動物を模した四本足のロボットを作りたかったのです。この記事では、4本足のロボットの設計と組み立てについて説明します。
このプロジェクトの主な目標は、さまざまな歩容での実験中に機器の故障の可能性を心配する必要がないように、システムの信頼性を十分に高めることでした。これにより、ロボットを限界まで押し込み、複雑な歩行とさまざまな動きを与えることができました。追加の目標は、既製のコンポーネントと3D印刷を使用して比較的安価なプロトタイプを作成し、迅速なプロトタイピングを行うことでした。これらの2つの目標は、さまざまな実験と、ナビゲーション、障害物の回避、動的な動きの適応など、より具体的な目標を持つ、より専門的な4本足のロボットの開発の確固たる基盤を提供します。
ステップ1:一般的な情報と設計プロセス
私はAutodeskの無料の3DモデリングソフトウェアであるFusion360でロボットを開発しました。まず、脚と胴体を描いたサーボモーターをインポートしました。次に、モーター保持ブラケットを設計して、シャフトの正反対に2番目の取り付け点を付けました。モーターの両側にあるシャフトは、構造に強度を与え、脚に負荷がかかったときに歪む可能性を排除します。ベアリングは専用ホルダーに挿入され、ブラケットのシャフトにはボルトが使用されます。ホルダーをナットでシャフトに取り付けた後、ベアリングはサーボモーターのシャフトとは反対側に安全なピボットポイントを提供します。
開発中のもう1つの目標は、サーボモーターのトルクを最大限に活用するために、モデルを可能な限りコンパクトにすることでした。アームは、最小の長さで最大の動きを提供するサイズになっています。短くしすぎると、ブラケット同士がぶつかり、機動性が低下します。長くしすぎると、モーターに不要なトルクをかける必要があります。最後になりましたが、私はArduinoやその他の電子部品用のアタッチメントを備えたロボットケースを設計しました。将来的にプロジェクトを拡張するために、パネルの上部に追加のマウントを提供しました。いつの日か、距離センサー、カメラ、またはグリッパーなどのロボットの他のメカニズムを追加できるようになります。
ステップ2:必要な材料
Arduinoを搭載した独自の4重ロボットを作成するために必要な材料のリスト。すべてのコンポーネントは共通で利用可能です。
エレクトロニクス:
- Arduino Uno x1。
- TowerproMG995サーボモーター×12。
- Arduinoセンサーシールド(バージョン4を使用していますが、バージョン5を購入することをお勧めします)。
- 接続線、10本
- MPU6050 IMU(オプション)。
- 超音波距離センサー(オプション)。
コンポーネント:
- ベアリング(8x19x7 mm、12個)。
- ボルトとナットM4。
- 3Dプリンター用のプラスチック。
- プレキシグラス4mm。
ツール
- 3Dプリンタ。
- レーザーカッター。
廃棄物のほとんどは12個のサーボモーターに費やされます。ただし、壊れやすいので、安価なプラスチックモーターは使用しないことをお勧めします。ツールを除いて、すべてを合わせて60ドルかかりました。
ステップ3:印刷されたコンポーネント
ロボットのコンポーネントは特別に開発する必要がありました。そのために、デジタルデザインとCADの機能を利用しました。ほとんどのコンポーネントは3D印刷されており、一部は4mmのプレキシガラスシートからカットされています。PLAを使用して、40%の被覆率、2つの周囲、0.4 mmのノズル、0.1mmの層の高さで印刷されています。一部のコンポーネントは、部品が張り出した複雑な形状のために支柱が必要ですが、ワイヤーカッターで簡単にアクセスでき、取り外すことができます。お好みに合わせて色をお選びいただけます。以下は、印刷用のコンポーネントとSTLリンク、およびカッターの2D図面のリストです。
3D印刷用のコンポーネント:
- 大腿サーボモーターブラケット×2。
- 大腿サーボモーターミラーブラケット×2。
- 膝サーボモーターブラケット×2。
- ミラーサーボモーターニーブラケット×2。
- ベアリングホルダー×2。
- ミラーベアリングホルダー×2。
- 脚×4。
- サーボモーターホルダー×4。
- ベアリングホルダー×4。
- Arduinoハードウェアx1。
- 距離センサーマウントx1。
- コーナーファスナー×4。
- ベアリングスリーブ×4。
- サーボウォッシャー×24。
レーザー切断用のコンポーネント:
- サーボ取り付けパネルx2。
- トップパネル×1。
さまざまなワッシャーを除いて、合計30のパーツを印刷する必要があり、デジタルで作成されたパーツの総数は33です。すべてを30時間で印刷しました。
content.instructables.com/ORIG/FBK/9YPN/KFZEKVED/FBK9YPNKFZEKVED.rar
content.instructables.com/ORIG/FZS/65E0/KFZEKVEE/FZS65E0KFZEKVEE.pdf
ステップ4:ベアリングホルダーの準備
特定のコンポーネントを使用して組み立てを開始すると、プロセス全体が高速になります。あなたはホルダーから始めることができます。これを行うには、最初にホルダー内部の穴をサンドペーパーで固定し、次にベアリングをホルダーにぴったりと挿入します。モーターに付属のボルトが長すぎて、操作中にモーターにぶつかるので、いくつかのワッシャーを3D印刷する必要がありました。
ステップ5:サーボモーターブラケットを準備します
ニーブレースを組み立てるには、ボルトを穴に挿入し、ナットで締めます。このジョイントは、モーターの2番目の軸として機能します。2本のボルトを太もものブレースの穴に通し、ナットで締めます。次に、曲がったサーボブラケットを取り、2つのナットでブラケットの隆起部分に取り付けます。最後に、ベアリングスリーブを取り、ベアリングを挿入します。スリーブの内面を少し研磨する必要があるかもしれません。添付の写真は、組み立てのさまざまな段階を示しています。
ステップ6:脚を組み立てる
すべてのブレースとホルダーを組み立てたら、足の組み立てを開始できます。まず、サーボモーターをネジとナットでブラケットにねじ込みます。モーターシャフトを反対側から突き出ているボルトに合わせます。
次に、太ももサーボモーターをホルダーで膝サーボモーターに接続します。まだナットを締めないでください。後で何かをトリミングする必要があるかもしれません。反対側では、2つのベアリングを備えたホルダーをナットで突き出たボルトに固定します。
このように4本の足をすべて集めてください。
ステップ7:胴体を組み立てる
これで、トルソの組み立てを開始できます。それは3番目の程度の足の自由を与える4つのサーボモーターを含みます。モーターをレーザーカットパネルに固定する4本のM4ボルトから始めます。
車軸が外側を向くようにサーボモーターを取り付けます-写真を参照してください。
次に、パネルの両側にあるコーナーブラケットをボルトで固定します。モーターマウントパネルをトップパネルにしっかりと取り付けるのに役立ちます。
すべてのホルダーを固定した状態で、モーターパネルをトップパネルに取り付けます。前面と背面にある外側のボルトから始めます。中央のボルトは、Arduinoマウントを同時に保持します。セクションの冒頭にある写真を参照してください。ボルトがコーナーブラケットの穴を通過するように、Arduinoパネルをトップパネルに取り付けます。
ステップ8:すべてをまとめる
脚と胴体を組み立てると、ロボットを組み立てることができます。大腿骨サーボモーターブラケットに取り付けられたアングルブラケットを使用して、脚を4つのサーボモーターに固定します。最後に、ベアリングホルダーを使用して、太もものブラケットの反対側の車軸を支えます。アクスルをベアリングに通し、ナットで固定します。ベアリングホルダーをネジとナットでトップパネルに取り付けます。
4本足のロボットの準備が整いました。
ステップ9:ワイヤーと電子機器
サーボモーターの接点があるセンサーシールドの接続には、拡張ボードを使用することにしました。 5番目のバージョンをお勧めします-外部電源を接続するための別個のコネクタがあります。しかし、私のボードにはこのオプションがありませんでした。私はそれを研究し、Arduinoボードから5Vの電力を引き出すことに気づきました(サーボモーターなどの強力な消費者にとって、これはArduinoに損傷を与える可能性のあるひどい考えです)。 Arduinoの電源レールに接続しないように5Vピンを曲げて、この問題を解決しました。このようにして、Arduinoに損傷を与えることなく5Vピンに外部電源を供給することができます。
以下は、サーボモーターとボード接点の接続です。注:Hip1Servoは、胴体に接続されたヒップサーボモーターです。Hip2Servo-脚に接続されたヒップサーボモーター。KneeServo-ニーサーボモーター。
レッグ1(左前):
Hip1Servo-2
Hip2Servo-3
KneeServo-4
レッグ2(右前):
Hip1Servo-5
Hip2Servo-6
KneeServo-7
レッグ3(左後):
Hip1Servo-8
Hip2Servo-
9KneeServo-10
フィート4 (右後):
Hip1Servo-11
Hip2Servo-12
KneeServo-13
ステップ10:初期設定
複雑な動きのプログラミングを開始する前に、各サーボモーターの初期位置を設定する必要があります。それらは、ロボットにさまざまな動きを構築するための基準点を与えます。
モーターへの偶発的な損傷を避けるために、最初にモーターからコーナーブラケットを取り外すことができます。次に、コードをArduinoにアップロードします(以下のリンク)。コードはすべてのサーボモーターを90°の位置に回します。次に、すべての脚が完全に水平になり、胴体に取り付けられたサーボモーターが上部パネルに対して垂直になるように、ブラケットをねじ込みます。
一部のジョイントは完全に位置合わせされていない場合があります。次に、コードの4行目にあるzeroPositions配列の値を修正する必要があります。各番号は、対応するサーボモーターのゼロ位置を表します(それらの順序は、Arduino接続リストにリストされているものと同じです)。足が完全にまっすぐになるまで、値を試してみてください。
たとえば、次の値を取得しました。
int zeroPositions[12] = {93, 102, 85, 83, 90, 85, 92, 82, 85, 90, 85, 90};
content.instructables.com/ORIG/F9K/WO73/KFZEKX13/F9KWO73KFZEKX13.ino
ステップ11:運動学について少し
ロボットに有用なアクション(ウォーキング、ランニングなど)を実行させるには、サーボモーターの移動軌跡をプログラムする必要があります。これらは、エフェクター(この場合は脚)が移動する軌道です。これは、次の2つの方法で実現できます。
12:
接続と初期化が完了したら、ロボットのプログラミングを開始し、興味深いタスクを実行するためのクールな軌道を与えることができます。4行目のコードで、値を初期化ステップで出力した値に変更します。コードをアップロードした後、ロボットは歩き始めるはずです。一部のジョイントの方向が逆になっていることに気付いた場合は、5行目の配列の対応する値を変更します(-1から1、またはその逆)。
content.instructables.com/ORIG/FA6/3ZNJ/KFZEKX4Y/FA63ZNJKFZEKX4Y.ino
ステップ13:実験の概要とタイミング
ロボットは2〜5cmの長さのステップを踏むことができます。歩行速度も異なります。ロボットは、歩行やジャンプや複雑なタスクの実行などの他のことを実験するための信頼できるプラットフォームを作成します。動きの軌跡を変えたり、さまざまな歩き方を体験したり、それらがロボットの動作にどのように影響するかを観察することをお勧めします。レンジファインダーや慣性センサーなどのセンサーを取り付けることができるように、上部トルソにさまざまなマウントを用意しました。そこでグリップを修正してみることができます。