1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

70歳の挑戦... サーボ1個の2足歩行ロボットを作ってみた。タミヤの工作キットを参考に

Last updated at Posted at 2024-10-21

 このような商品をこの価格で?経営者や技術者どうなってるの?
 最近、タミヤの重心移動歩行ロボット工作キット

を知り、早速購入し作ってみました。厳しめの評価も見受けられますが、私はタミヤの凄さにあらためて驚かされました。
 モーターの回転を往復運動に変換し左右の重心移動を創り出し2足歩行を実現する。これに触発され、私もサーボモーター1個で自作してみたので報告します。先ずはその雄姿(エヴァンゲのような、どこが?)をご覧ください。

2足ろぼ0.png

上の2枚の写真...前方右から、後方右から
    ESP32ボード
    脚部の支点となる丸シャフト(3mm*100mm)位置やポリキャッブ止めの様子
    動作時電源用のUSBメスソケット
下の3枚の写真...後方から写したもの
    サーボとその取り付け方
    重心移動の仕組み
    1.2mmプラバンの足部分(foot)の取り付け方と足裏の曲げ具合
    脚の前後開度制限ストッパー(金具)

 在り合わせの手持ち材料だけで構成しました。基本はタミヤのキットを踏襲し、駆動部分をそっくりサーボ機構に変更しただけです。使用した部品の一覧です。

1.ESP32ボード(ArduinoIDE 2.3.2 で Heltec WiFi Kit 32 と認識するボード)
2.タミヤ ユニバーサルプレート 2枚セット【70157】
3.タミヤ ユニバーサルプレートL(210x160mm)【70172】
4.タミヤ ユニバーサルプレートセット [70098]
5.タミヤ ユニバーサル金具4本セット [70164] (2セット)
6.タミヤ トラック&ホイールセット [70100]
7.タミヤ ロングユニバーサルアームセット【70156】
8.タミヤ 1.2mm厚プラバン
9.Φ3mmビス(長さ6mm~12㎜)とナット多数
10.Φ2㎜ビス、ナット2個組(電池ボックス固定に必要)
11.単4*4本 乾電池ボックス
12.USB 2.0メスソケット DIP 4Pアダプタコネクタ2.54mmはんだ付け基板
13.厚手両面テープ少々(足であるプラバンを金具に貼り付けるなどに使用)
*両足裏側の後方にタミヤのキット制作で余ったスポンジテープを貼り付け、滑らないようにしています。

 サーボの回転範囲や速度、脚の支点位置、乾電池Boxによる前後重心、足裏の曲面、脚前後開度の制限など細かな調整を施した結果、よちよち歩きが実現しました。タミヤキットを参考にしているので案外簡単に出来ました。
 左右に体を揺らしながら歩きます。両脚部はその重心に対して前方に回転軸があるので、例えば

 1.電池ボックスを右に振る、右に重心が移動、右脚に乗る
 2.浮いた左脚が肩を支点に前方に回転、前に振り出される
 3.電池ボックスを左に振る、左に重心が移動、左脚に乗る
 4.ロボット全体が前進、同時に浮いた右脚が前に振り出される

この繰返しで歩いていきます。足裏を大きくしたので左右への傾きが大きくても倒れず、結構な復元力を有します。
 細かい部分や制作過程はとても文章化できませんし、動画をアップする能力も無いので悪しからず。Arduino IDE 2.3.2 でのスケッチはいたってシンプル、以下のようです。

BiPedal_Walk_Servo.ino
#include <ESP32Servo.h>

// Servo
#define MIN_PULSE 1100 //800
#define MAX_PULSE 1700 //2000
const int SvPin = 12; // the number of the servo PWM pin
Servo myservo;
int pos = 0;

void setup() {
  myservo.setPeriodHertz(50);
  myservo.attach(SvPin,500,2400);
}

void loop() {
  
  for (int pos = 28; pos <= 170; pos += 1) { // 14 180
    myservo.write(pos);
    delay(8);
  }
  delay(70);
  
  for (int pos = 170; pos >= 28; pos -= 1) {
    
    myservo.write(pos);
    delay(8);
  }
  delay(70);
}

 最後まで見ていただきありがとうございました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?