99.05.23 脚が2本完成したので、やぐらから吊り下げて各サーボに出力する データと関節の角度の計算の調整しています。 この状態で適当に動かし様子を見ます。 しばらくは自由度8で、倒れずに1歩踏み出すことを目標にプログラムを作ります。 まだジャイロを搭載していません。 |
|
99.04.24 手前に写っているものは、製作中の脚です。 この脚が付くと自由度が2から8に変わります。 |
写真右上からたどると、パラレルポートアダプター−>サーボコントローラー −>信号分配ボード−>ロボット本体の順に写っています。 |
H8/3048を使用したコントローラーがほぼ使える様になり、ジャイロ(1個)の搭載 が終わりました。現在はジャイロインターフェイスの調整中です。ジャイロは JRのNEJ-1000を使用しています。発売直後に購入したにもかかわらず、実際に ロボットに載せるまでにずいぶん時間がたってしまいました。だいぶ 圧電振動ジャイロの価格が下がってきているので、少し損をした気分です。
写真 ほぼ中央に写っている物がPG-03です。リーモートゲインコントロール機能の無い 圧電振動ジャイロです。
NEJ-1000は入力信号が終わってから立ち上がり、立ち上がりのタイミングは 一定です。一方PG-03は入力信号の立ち上がり後0.5msec程度で立ち上がり、 立ち上がるタイミングはジャイロの運動状況によって変化します。
次は任意方向に踏み出すプログラムを作り、その後、1歩目の勢いを殺さずに 2歩目に移るプログラムを作ります。これら2段階をクリアしたならば、 床の上を歩き回れる様な形に改造するつもりです。
解説:このロボットが横へ動く場合、動きが1つの平面内に収まり 計算が簡単になるため、初めに横方向の運動を試しました。Leg Labの論文で2D Walkと 3D Walkの区別をして実験していることを参考にしました。
このロボットは関節の加工精度が良くないので、足の先端で測った場合で前後方向に8mm、 左右方向に6mm程度の遊びがあります。そのため、足が接地していない間、意図しない方向に 足が動き、「次回接地位置が予定通りにならない」ということが起きました。 そこでこれを防ぐため、輪ゴムでプリテンションをかけました。 「かっこ悪過ぎ〜」という気もしますが、1機目の2足歩行ロボットなので 気にしないことにしました。
写真:輪ゴムのプリテンション機構が分かります。
CPUが80486DX2-66からCeleron-500に変わり、 ワープロやコンパイラは10倍くらい早くなったような気がしますが、 ロボットの制御に関しては約2倍にしかなっていませんでした。 (ベースクロックが33MHzから66MHzに上がった分が出ているのでしょうか?)
今までは、約1.5mほどの延長ケーブルの先にパラレルポートアダプタを繋いで
ロボットを動かしていましたが、新しいパソコンでは転送エラーが頻発して
使えませんでした。結局今はパラレルポートにアダプターを直に取り付けて動かしています。
しかしそれでもエラーが出ます。サーボコントローラー用のプログラムは
通信エラーが無いことを前提に書いてあるのでうまく動きませんでした。
あまり気が進みませんでしたが、通信エラーで「おかしなデータが
パソコンから書き込まれて来る」ことも考慮したプログラムに書き換えました。
ここしばらくは、4足歩行ロボットを作っていたので、2足歩行ロボットの制作は実質お休みでした。
足の踏みかえの動きを色々と試しています。初めの計算で見当が付いていたことでは ありますが、1歩0.2秒程度で早く動く様子を見て「なんかイメージ違うなー」と感じています。
現在はパラレルポートを経由してロボットとインターフェイスしているので、CPUの アイドリング時間が多くなっています。 どうやら運動中に姿勢制御計算をする時間が足りない様なので、インターフェイスの 経路を変えることについて検討を始めました。
子供の頃から馴染んでいるラジコンのサーボなのですが、随分と微妙な動きが出来る ものだと最近改めて感心しています。
今までの関節では、1関節あたり1平面内のリンク計算1回で済んでいましたが、この レイアウトですと1関節あたり、3次元の計算を2回行わなければならない事となります。 「パソコンが早くなったから、少しくらい計算を重くしてもまあ大丈夫か」と思い このレイアウトにしました。
写真:新しい足首の機構が分かります。
古い方の足の大きさは、自分の脚と足の比率から決めましたが、今度はロボットの プラモデル(ガサラキのライデン)から決めました。アニメのロボットは、大体 の場合、非常に大きな足をしていますが、それで差し障りがないのか興味がありました。 足の大きさは、幾つか試してみようと思っています。
足の裏の材質は、古い方ではシリコンのチューブを使っていました。どうもクッションが 効きすぎ、安定に悪影響が出ている気がするので、今度は少し堅めに、スポンジゴムを 使ってみました。
こうゆうのも面白いので、これからしばらくは静的な歩行のプログラムと、歩行サイクル中 で静的に安定な期間が長い動的な?歩行パターンのプログラムを作ってみようと思っています。 上手く簡単なプログラムにまとめられれば、ラジコンで遊べるようになる見込みです。
参考文献
全然気が付かなかったのですが、日本ロボット学会誌2000年1月号にホンダの
2足歩行ロボット(E?)の論文が出ていたのですね。
何気なく本屋さんで手に取ってみて見つけました。実用的な感じの
論文で参考になりました。
ホンダのロボットと言えば、最近プレスリリースがあったP3に似た黄色いロボットの「人間協調・
共存型ロボットシステム研究開発成果発表会」プレス資料を製造科学技術センターの
ホームページで見つけました。あまり詳しいことは書いてありませんでしたが有用な資料でした。
旋回
今2L1にはつま先の向きを変える自由度がありませんので、
P3がその場で向きを変えるような旋回方法はとれません。でも、足の
面や線の中を適当なタイミングで重心を移動させる、人が回れ右をするときのような、
足の面をスリップさせる旋回は可能な様です。(図面を描いている頃は全然ダメなのかと思っていました)
以前の線接触の足でもいろいろと試したのですが、意図した量の旋回が出来ず制御不能でした。
しかし、今の足でここ数日動かしてみた範囲では良い感触を得ました。前進しながら
少しずつ旋回することは出来るようになりそうです。
左足首のサーボの故障
新しい静歩行のプログラムのテストをしていて、どうも左足首がちゃんと動いていない
ことに気が付きました。症状としては、動くべき角度よりも大分少なく動くので、初めは新しく書いた
プログラムを疑いました、しかしサーボそのものの故障でした。どうやら負荷のかけすぎで制御回路
が壊れてしまった様でした。
初めに、とりあえず同じモデルクラフトの555サーボをもう1個買って修理し、足首の負荷を減らすため
足の面積を小さくする事を考えました。しかし、既に555サーボが入手できなくなっていました。
(スペアとしてもう1個買っておけば取り敢えずは直ったのに・・・と少し後悔しました。)
代わりのサーボとしては、フタバのS3101あたりがほとんど改造せずに使えそうですが、
ある程度まとまった記録は取れているし、サーボもまとめて新規購入
(6500円*4個はちょっと痛い)が必要になるので、
この際不都合点を見直し、例によってSRM1301で膝から下を作り直すことまで
考えに入れて検討してみようと思いました。
改善の項目としては可動範囲をもっと広くすることと、足首の動きのスピードアップです。 その他の関節との可動範囲のバランスが今ひとつだったのと、足首でバランスを とろうと思っているのに、そこのサーボが一番遅いと言う不都合がありました。 足首のサーボのスピードが22%ダウンしたのは目に見える形で影響が出ていました。
2L1は各サーボの角度を8bitの数値で指定しています。今までは入力の1に10マイクロ秒が 対応していましたので、実際には7bit相当程度のデータで角度が決まっていました。 今回これを3.5マイクロ秒に変更しました。これで動きが少しスムーズに なりました。
参考までに他のロボットのデータを書きますと、「R魚」は4マイクロ秒、6L1と4L1 が約15マイクロ秒強です。6L1の分解能が低いのは、足の力や振動だけを考えて、 都合良い速度で連続的に動かすため、あまり細かい制御が要らなかったためです。 4L1へは6L1のコントローラーを流用したので必然的に同じになっています。
サーボの購入
新しい足首を作るにあたり、どのサーボを使うか考えました。初めは4L1をバラして
サーボを取ってしまおうかと思いましたが、4L1にはまだ試したいことがいろいろと
残っているので新しくサーボを購入しました。
多分SRM-1301の後継機種だろうと思い、通販でサンワのSX-101Zを20個買ってみました。
幸い、見当は外れず、全く外形寸法は同じでした。一見した違いは生産国表示がシンガポール
から中国に変わっていたことと、コネクターがZコネクターになっていたことだけでした。
動かして音を聞いた感じでは、ギアボックスの機械的な精度が上がった様で、音が静かで
むらが少なくなりました。
自由度2の時 | バージョン1 |
自由度8の時 | バージョン2 |
1つめの自由度2の足首を付けていたとき | バージョン3 |
2つめの自由度2の足首を付けていたとき | バージョン4(現在の状態) |
自由度12の時 | バージョン5(これは先の話) |
最大重量の予測
先にしておいた方が良かったような気もしますが、遅ればせながら、
片足でじっと立っている時、つま先の親指側の角に重心が来た場合を
静的な最大負荷と考えると、足首のサーボにかけても良い力の大きさから
最大全備重量は1600gくらいだろうと計算しました。
実際に各関節にかかる力は歩き方によって非常に変わりますが、静歩行の
実験中にサーボが壊れないことを設計の目安にしました。
計算方法とその根拠は、そのうちにまとめようと思っています。
足の変更に伴うスペックの変化
新しい足が左右揃いました。足首のサーボが小型サーボから普通サイズのサーボに変わったこと
に伴って重量が150gほど増え、地面からヒザまでの高さも20mm高くなりました。
全高 | 375mm |
全長 | 150mm |
全幅 | 140mm |
本体の重量 | 950g(CPU,バッテリー含まず) |
モーター | |
センサー | 圧電振動ジャイロ GWS PG-03 3個 |
2000年9月までの仕様
全高 | 355mm |
全長 | 150mm |
全幅 | 140mm |
本体の重量 | 802g(CPU,バッテリー含まず) |
モーター | |
センサー | 圧電振動ジャイロ GWS PG-03 3個 |
機種 | トルク(kg・cm) | 速度(s/60度) | 重量(g) | 使用場所 | 説明 |
SRMー1301 | 3.3 | 0.18 | 45 | 膝/股(前後方向) | オフロードカー用 |
FP-S9303 | 7.2 | 0.19 | 64.5 | 股(左右方向) | 大型オフロードカー用 |
555 | 2.5 | 0.20 | 22.5 | 足首 | 汎用小型 |
今の予定では、胸の部分とバックパック部分をマイコン、センサー、電池等を 積み込むペイロードスペースとして作り、上半身への自由度付加は先にします。 股関節とペイロードスペースの形は多分下の図の形で決定です。
さてここで気がかりは、転勤に伴う12月中旬の引っ越しでロボット本体やその他の機材が ダメージを受けないかどうかです。ダメージが無くても再び体勢が整うまで1ヶ月半位は 工作が出来ないので各種の設計や細かいソフトの試行をするつもりでいます。