自律走行https://blog.with2.net/link/?1965529四本の脚を交互に動かして歩行しようというロボットがあります。車輪もしくはクローラで動くロボットばかりを製作してきたので足で歩くロボットというものは新味があって面白い。製作してみようと思い立ったきっかけとなったサイトはこちらです。https://makezine.com/2016/11/22/robot-quadruped-arduino-program/・開発構想1.四本足とし一本当たり3個のサーボモータを使用する。2.距離センサにより障害物を検知し回避運動をとること。やって歩行するのかですが色々な方式があるようです。参考にしたサイトでは「CreepGait」と呼ばれる方式を使っていて、常に三本の足を地面につけて一本の足を伸ばして移動するので常に地面に着いている三本の足で安定を保てるメリットがある。簡単そうなのでこの方式を採用することにしました。図は今回採用した歩行パターンです。六つのパターンを繰り返すことになります。set1:これは静止状態。片側の2本の足が広がり、もう片側の2本の足は内側に閉じている。step1:右上の足を浮かせて前方に伸ばす。move1:すべての足が地面についた状態ですべての足を同じ角度だけ後ろに回転させ、本体を前方に押し出す。set2:左後ろの足を浮かせて引き寄せる。これで最初の静止状態の左右対称形になる。step2:左上の足を浮かせて前方に伸ばす。move2:すべての足が地面についた状態ですべての足を同じ角度だけ後ろに回転させ、本体を前方に押し出す。次に右後ろの足を浮かせて引き寄せ、本体の脇に置く。これでset1に戻ることになる。あとはこの繰り返しです。個数の多いサーボモータはSG90という安価なサーボを使う、アリババで一個120円程度です。距離センサにはSHARPのGP2Y0A21Kを使うことにする。Arduinoは基板を搭載するスペースが非常に狭いので小型のProMiniを使用する。ProMiniの電源とし、センサ電源はArduinoから供給する。サーボモータの駆動電源としては定格2AのDC-DCコンバータで5Vに降圧したものを供給する。配線がやたら多い以外は実に簡単な回路です。・構想図まずはいつものように構想図を三次元CADにて描く。手掛ける機体でもあるのでこの段階で時間をかけて吟味しておかないと後になって手直しが増えてしまう。画面上で各部を動かして干渉するところがないかよく吟味しておく。Mechanicalにより作図している。部品図もこのソフトで作図出来る。脚の稼働範囲をCAD上でチェックしてみる。http://makers.jpn.org/wp-content/uploads/2018/05/Quad-robo.mp4・工作まずは脚を先に製作していく。1.5mmのプラ板を貼り合わせて、所々に補強材を入れて強度をもたせるように製作していく。サーボを格納するボックスは三個とも同一形状この後、脚先端の補強のために一部部材を追加している最後はヤスリで仕上げる。完成した四本の脚本体である。これにサーボモータを取り付ける。本体は同じくプラ板からΦ84mm円板を切り出して難なく完成である。基板は秋月電子で片面丸型ユニバーサル基板50.8mm径を購入。部品を実装し本体に取り付ける。電源、スイッチおよび距離センサは上面の円板に取り付ける。サーボモータのリード線がやたらに長いので格納に苦労する。サーボモータを分解してリード線を切り詰めることも出来るが12個となるとさすがにやる気はでない。基板そのものはProMiniとコネクタだけの簡単なものです。基板を取り付ける一通り工作は終了したので組み立てにとりかかる。サーボモータの取り付け位置調整のためにゼロ点を指示するプログラムを作り(以下にzipファイルを添付しておきます)角度90度で作動させた状態で写真のような位置ですべてのサーボモータを取り付ける。leg_initial_positionゼロ点位置での機体の状態。プログラム開発の間は電池節約のためにサーボモータの電源は上の写真のように外部から供給している。・スケッチ開発Arduinoでサーボモータを制御するには標準ライブラリにあるServo.hを使うのが一般的だが、Servo.hはサーボモータの回転速度が制御できずフルスピードで動いてしまう。いうライブラリを使う。これを使うとサーボの回転スピードを制御しながら動かすことが可能となる。servos」となっている点。意味がよくわからないが今回の四足歩行ロボットでは12個のサーボモータを使うので問題がおきそうです、しかし結果的には特に不具合もなく制御できている。同時に制御できるのは8個までという意味であろう。setup()までのスケッチは以下のようになる。{servo[i][j].attach(servo_pin[i][j]);delay(100);}}}冒頭の歩行パターンのスケッチは以下のようになる。一連の動きは完成した。このままでは味気ないので背伸びから脚伸縮をイメージしたウオーミングアップモードを追加した。以下にスケッチのzipファイルを添付しておきます。特殊なプログラム手法はもちいず力業で作成しています。Quadruped_Robothttps://youtu.be/brVXE0fX5IM歩行はまだまだ改良の余地があるが、障害物回避などの動作はうまくいっているようだ。https://youtu.be/-tRZZz6Y6MUこれで今回のモデルの製作は一応終了である。今後の課題としては、さらに歩行パターンを滑らかに遠隔操作をやってみたいがWiFiモジュールを載せる場所がない。機体の裏面を使えばなんとかなりそうではあるが。記事は見つかりませんでした。X200をSSDに換装このサイトについて主にArduinoを使ってのモノ作りを紹介しています。電子工作とは無縁であった古希を迎えた元機械技術者の悪戦苦闘の記録です。Arduinoで距離センサーを使ってみるブログランキングブログランキングに参加しています。よかったらクリックしてください。クリックが投票になります。