Microbitを使た2足歩行ロボットを製作しました。
2足歩行のメカ部分についてはこちらを参照してください。
2足歩行ロボットの製作1(Microbit、 サーボモータ使用)
サーボモータを動かすボードは、DFrobotのボードを用いました。
Micro:bit Driver Expansion Board SKU:DFR0548
2足歩行ロボット用 左曲がり、右曲がりプログラム
ロボットの右曲がり
(1)片方の下足(右)を傾け、重心を傾けた足(右)の方に移動させます。
(2)腰を回転させると(右上足)、浮いた方の足が前に出ます。
(3)浮いた方の足(左)を地面につけるために、傾けた足を元に戻します。
ロボットの左曲がり
Microbitで作成したプログラム
前回の半歩前に移動するプログラムに右曲がり、左曲がりの関数が足されています。Waitは300msぐらいにしています。(あまり早いと転んでしまうので。)
使い方
サーボモータを図に従って、ボードのS1からS4に接続します。
Aボタン:右曲がり
Bボタン:左曲がり
A+Bボタン:前進
プログラム概略説明
変数は7個あります。
ilF:初期左下足の値(S1)
iLL:初期左上足の値(S2)
iRF:初期右下足の値(S3)
iRL:初期右上足の値(S4)
前回の調整プログラムで調べた値を入れてください。これが原点になります。
slope:下足を傾ける角度
haba:腰を回転させる角度
wait:待機時間
最初だけ
では、すべてのモータを基準位置に設定します。
rhwalk関数は、右足を最初に傾けて左足を半歩前に出し、つま先をそろえるプログラム。
lhwalk関数は、左足を最初に傾けて右足を半歩前に出し、つま先をそろえるプログラム。
right関数は右に曲がるプログラム。
Left関数は左に曲がるプログラム
waitを大きくすることで、動作を確かめることができます。
right関数の詳細
(1)右下足(S3)を傾けて、重心を右足に乗せます。
(2)左下足(S1)を傾けて重心移動をサポートします。(傾きの2倍にしていますが、この動作はいらないかもしれません。)
(3)右上足(腰の部分を)(S4)回転させます。
(4)S1を初期位置に戻します。
(5)S3を初期位置に戻します。
(6)S1を傾けます。
(7)S3を2倍傾けて、重心移動をサポートします。(この動作は不要かもしれません)
(8)S4を初期位置に戻します。
(9)S3を初期位置に戻します。
(10)S1を初期位置に戻します。
これで、右曲がりに、つま先がそろった状態になります。
left関数はright関数の反対足から同じような動作をさせます。
後ろに下がる、横に移動する(?)などのプログラムを作っていきたいと思います。