2足歩行ロボット(2L1)の製作日誌 その3
製作の区切りごとに、古い物から新しい物の順に書いてあります。
02.05.17
SCB8の製作
02.05.19
SCB8の製作
RCサーボの信号を作るサブルーチンと、RCジャイロの信号を読むルーチンを移植しました。
加速度センサー(ADXL202)のボードの移設
電池の固定や、腕の取り付けがしやすいように、ペイロードスペースの
小さいほうのメンテナンスハッチの裏側に付けているADXL202のボードを、ジャイロを付けている、
5番サーボ裏側のスペース(名前がないと書きにくいので、今後「モーションセンサースペース」
と呼びます)に移設することにしました。
角速度センサー(RCジャイロ)の構成変更
永らく積んではいたけれども使っていなかった、ヨー軸のジャイロを
今後もしばらく使う予定がないので、降ろしましてしまいました。
ジャイロの説明書には、ゼロ点が決まるまで3秒程度機体を動かさないように
とあります。2L1v5までは、動力系の電源投入と同時にビクッと動くので
これが守れていませんでした。この点を改善するため、マイコンのリセット後
3秒間はRCサーボに信号を入れないことによって、じっとしているように
プログラムを書きました。それに合わせ、マイコンと一緒に動作を始めるように
ジャイロの電源を動力系(6V)から制御系(5V)へ移しました。
PC用のソフト
VBでプログラムを作り始めました。手始めに「読み取り」ボタンを押すとテキストボックスの中に
RC受信機の読み取り結果が入る機能と、テキストボックスに数字を入れて「送信」ボタンを
押すと3664に接続されているサーボの角度が変わる機能を作りました。
02.06.01
PC用のソフト
H8/3067に接続されているサーボの角度を変える機能を追加しました。ウィンドウ左の投げやりな図は
2L1の模式図のつもりです。「読み込み」ボタンを押すと、Cで作ったプログラム(2legs3.exe)
の出力ファイル
(CSV形式)から各関節のデータを読み込みます。また「送信」ボタンで2L1へテキスト
ボックスに表示されているデータを送ります。
VB6のコミュニケーションコントロールを使ってSCB8と通信しています。
バイナリモードの通信の仕方が、オンラインマニュアルを読んでも良く分からなかった
のでPC−>2L1方向の通信はアスキーデータで行っています。
Cのプログラム(2legs3.exe)は、サーボコントローラー7のときに、パラレルポート経由にて
リアルタイムで関節の角度データの列(制御波形データ)を送っていた部分を、ファイルに
落とすように直している途中です。
02.06.02
基本作動試験
ソフトの中心的な部分が一応出来たので、以前作った歩行パターンで歩かせてみました。
今日はラジコン操縦してるので、しっぽが生えていません。
また、センサーは全部OFFになっています。今の状態(重量と各関節の出力)ならば
不安定ですがジャイロは無くとも、まあ歩けます。
02.06.08
基本作動試験
02.06.15
ラジコン操縦用のソフト
ソフトの設計資料の一つとして、
歩行パターンデータ間の状態遷移図を書いた後、波形マップ(歩行パターンデータの
メモリへの展開の仕方を記した表)を作ってみました。
ROBO-ONE
先週エントリーしました。大会の日が、会社の出勤日になっている事が少々気がかりですが、
出来たところまでで、2L1を持ってゆこうと思っています。腕まで作れるかどうかは
怪しいところです。RC化に関して、壁となるような要素は特に無いのですが、製作の
作業時間が十分取れそうにありません。
02.06.22
ラジコン操縦用のソフト
横に歩くパターンと向きを変えるパターンを作りました。
とりあえずは「操縦が利くようになり一安心、でも、動きが乱暴なので足が壊れないか心配」
と思っていたら、左の膝が壊れました。4L1でうまくいったので、関節周辺の板厚を増す
修理/改造を行いました。
02.07.01
右ひざの強化
6L1では、1本の足が壊れた場合、遠からず別の足の同じ場所が壊れました。
その経験を反映し、先週壊れたのは左足だけでしたが、右足に対しても同じ改造を
施しました。
肩の工作
肩のサーボ(2自由度の内の1つ)を取り付けました。その工作を行いながら
肩周辺の設計図を固めてゆきました。
足の形の変更
02.07.08
左腕の製作
(かっこわるい・・・)
ROBO-ONEのプレゼン
ROBO−ONEでは予選と決勝があり、予選ではロボットのプレゼンテーション
のみを行います。ここしばらく、この予選プレゼンで何をするかを考えています。
面白くて、ロボットの機能がわかる出し物として「たたかいのおどり」をしたら
うけそうだと思いました。
しかし、現状では体も硬く、自由度も少ないため「たたかいのおどり」らしき
パーフォーマンスは無理そうで、とても残念です。自由度と、各関節の可動範囲
の広い体の開発の必要性を強く感じました。
操縦してみて
ラジコンの電波障害
ROBO-ONEのBBSで、室内におけるラジコンの誤動作について話題が出ていましたので、
ここにも関連話題を書いておきます。
電波に関する詳しい事は知らないのですが、確かに
2L1も自分の部屋(鉄筋コンクリートの建物です)の中で操縦すると、
高頻度で誤動作します。
しかし、ラジコン飛行機などと違い、多少誤動作しても機体が失われる
心配が無く、室内の物品に損害を与える心配も無いためあまり気にしていません。
02.07.13
操縦に関する検討
ROBO-ONEのリング上での操縦に関して、とりとめ無いことを考えていました。
- 半透過型のHMDに、ロボットのテレメーターを表示して操縦する。(ロボットが見える場合)
- 不透過型のHMDに、テレメーターと視覚のカメラの画像を重ねて表示し操縦する。(ロボットが見えない場合)
- ロボット搭載カメラの適当な台数は?装備位置は?それぞれの用途は?
- PCの画面を見ながらの操作だと、視線がロボットからそれるので、機敏な操作が困難
- パイロットとガンナーの様に2人以上で1機のロボットを操縦する?(かなり練習が要りそう・・・)
- 2chプロポがあれば、地面の上の移動の指示には困らない気がするけれども
腕を使ったり、移動しないで姿勢を変えたりする指示が困難。
- 攻撃位置までの誘導、攻撃開始のタイミング、攻撃終了/中止のタイミングを
操作し、正確に間合いを取り適当な技を出すような動作は自動にするか?(ロックオン以降を自動に?)
- 攻撃パターンの選択はマニュアル/オート?
- マニュアルで行うとすればどんな操作で行うか?
- 現在実行中の動作パターン、攻撃パターンをどうやって確認するか?
- HMDに出すか?
- ロボットに音声出力を付けてこれから実行する動作を言わせるか?
(相手ロボットの操縦者に先手を打たれる可能性があるので良くない戦略?)
02.07.15
右腕の製作
左腕と同じ要領で右腕も作りました。左腕の経験をもとに、工作手順を変えたので
多少早く出来上がりました。RCサーボを受信機に接続して動かすことにより、
中立位置の調整と、ひっかかり等が無いか確認しました。まあ、思った程度の
仕上がりです。
(ボールを持たせてみる)
02.07.19
腕を付けての歩行テスト
腕を付け終った状態で歩かせてみたところ、重量オーバーのため、「やっとのことで歩いている」
といった感じでした。直立させている時に前からつつくと、なかなか直立の位置に戻ってきません。
そして、バッテリーの残量が減り、モーターのトルクが若干ダウンしている状態では、
つつくとそのまま倒れてしまいました。(まあ、動力用と制御用の両方の電池を降ろし、
外部給電式にすれば歩けるくらいの重量になりますので、脚と腕の協調の開発には
差し支えなさそうです。)
しかし、ROBO−ONEでは電源を降ろすわけにもいかないので、
@バッテリーを小さくする
A腕を外す
B片腕を外しバッテリーを小さくする
C脚を強化する
という4案を考えました。
現在はマイコン用が7.2V1500mAhのリチウムイオン、動力用が6V1200mAhのニッカドを
使っています。これをどの程度まで小さく出来るか知るために、動力用の方の消費電力測定
をしてみました。
測定結果
- 吊り下げ状態:0.10A(PWMパルス無し)
- 吊り下げ状態:0.17A(PWMパルス有り)
- 直立不動状態:0.22A
- 直進歩行状態:0.70A〜2.2A
以上の結果から、ROBO−ONEの予選は2分なので、マイコン用を8.4V150mAhのニッケル水素、
動力用を6V350mAhのニッカドにしてみることとしました。(マイコン用の消費電力は計測
していませんが、200mA程度と見積もっています。)
脚の強化による積載量のアップついては、ROBO−ONEの競技に行けば、
新しいアイディアが浮かび、採り入れられる方法も見つかると期待していますので9月以降に実施しようかと思いました。
02.07.26
腕を付けての歩行テスト
前回の書き込みのプランに沿って、容量の小さい、軽いバッテリーで歩かせてみました。
腕がついていても何とか歩けるのですが、運動性能が非常に落ちた感じがします。
また、テスト中に制御系の電池が切れて一回転倒しました。破損はありませんでしたが
容量があまり小さい電池は、テストのときに使いづらいと感じました。
「歩行ロボット」を名乗る以上は、やはり歩行の機能が最も重要と考えるので、歩行機能と
ロボットシステムの使いやすさをとって、ROBO−ONEへは、腕は外して、
大きなバッテリーを積んで行くことにしました。
(制御系は数時間、動力系は30分程度動ける容量にしてあります。)
「取手」の追加など
直径2mmのピアノ線を加工して「取手」を付けました。
02.07.26
脚の破損
「ROBO−ONEが近いので壊さないように」と思っていたら、また壊してしまいました。
今回は左足首です。起動操作中、動作波形データの転送をする前にプロポを触って前進
命令を出してしまいました。動作波形データが無いためロボットが暴れだし、机から
落ちたときに壊れました。修理に2時間半ほどとられがっかりでした。
(左は6/22、右は7/28の破損の写真です。)
取っ手の追加等
- 先日腕を付けてから、持ちにくくなっていたので、2mmのピアノ線を加工して
取っ手を作り、アイプレートの所に取り付けました。
- RC受信機のアンテナ線を垂らしておくと、歩行中に足で踏んで邪魔になるので、
1mmのピアノ線を加工してアンテナを立て、これに巻きつけました。
- 動力系のスイッチの場所が「腕」にとられたので、制御系のスイッチの傍に
移設しました。
(腕は外してあります)
プログラムのROM化
当日パソコンを持っていかなくてもいいように、プログラムと歩行に関するデータを
H8の内蔵ROMに書き込みました。これで電池を入れたらスイッチオンで歩けるようになりました。
歩行テスト
02.08.01
操縦の練習
15分ほど連続で動作させながら操縦の練習をしました。
歩かせ終わって電池、モーター、コネクター等をを触ってみると、少し暖かくなっていました。
ラジコンカーの経験から判断すると、重量、パワー、電源容量のバランスは悪くないと思いました。
電池のもちに関しては以前30分程度と書きましたが、実測してみたところ
、15〜7分程度は危なげなく歩きますが、そこを過ぎたあたりから
デジタルサーボの音が小さくなってゆき、20分を過ぎる頃にバッタリと倒れました。
転倒の度に少しサーボの取り付け位置や金具の角度が変わり、関節の中立位置が動いてしまいます。
次に腰から下を作り直すときに改善しようと思いました。
02.08.20
2L1v6のROBO-ONE参加レポート
「コメント・・・」の方に先ず書きましたが、競技ではうまく歩きませんでした。
ここ数日間その原因について考えてみました。
1.転倒の状況
1歩目を踏み出して2歩目で前に転倒しました。同じようにして2回目の転倒で1番関節
のリンク接続の接着部分が剥がれリタイヤとなりました。
(ちょっと記憶があいまいです。航空機のボイスレコーダーのように姿勢制御用の
センサーや受け取ったコマンドのログを記憶するようにすると便利かと思いました。)
2.原因の考察
脚がもつれるように前に転ぶ原因としては以下が思いつきました。
(1)動力系統の電池切れ
諸般の事情で、競技の1週間ほど前に東京の実家に充電した状態でロボットの本体以外の部分
を宅急便で送っていました。エアコンの効いた屋内ならば、この程度の時間は
Ni-cd電池は自己放電について
気にかける必要は無いという認識でいましたが、よく思い出すと、この間昼間気温は35度
近かったので、自己放電で電圧が下がった可能性も考えられると思いました。
しかし、家に帰り修理が済んだあとに歩かせてみると、まだ十分な残量がありました。
というわけで電池が原因ではありませんでした。
(2)地面の傾斜
決勝の日の休憩時間に、リングの数箇所で単3電池を転がして傾斜を見てみました。
電池が転がりだす程の傾斜はありませんでした。いつも2L1をテストしている
机よりもずっと良いくらいでした。予選の日と決勝の日では、若干リングの
設置位置が変わっていましたが、おそらく予選の日も同様な水平の具合だったと思われます。
主催者側から「リングの水平はあまり保証しませんよ」というお話を聞いていたので
どの程度か不安に思っていましたが、私的には「問題無し」だと思います。
(3)地面の滑り易さ
これも普段テストしている場所と比べて問題無しと感じました。
(4)直立姿勢における重心位置の狂い
以上より、直接の原因は「操縦ミス」ということになると結論しました。
(これまた「とほほ」な原因だと思いました。)
直立姿勢が狂う原因/1番関節サーボのずれ
左の写真に赤で矢印を書いた部分です。元々このサーボは水平に付いています。
3.今後の対策
機械、電気、ソフト等システムの全部分が一応そろっていないと、「リングに立たせる」ことも
出来ません。2月以来操縦出来るように製作を進めてきましたが、骨格部分に手を入れると、
また、まったく動けない状態で当日を迎える可能性が非常に高そうに思えたので、脚の作り直し
まで手を出せませんでした。時間が取れたら、来年の2月までには新しい脚で歩けるところまで
作り、「完成度」を上げてまた参加したいと思いました。
(成績はどうあれ、自分のロボットを持ち込んだ方が話が弾みますので)
たぶん、こんな脚がつく予定
4.その他
今回は、下の写真のような荷物で本体の方は「機内持ち込みサイズ」より大きく、かといって
手荷物として預けるのも無謀に思えたので陸路新幹線での移動となり、疲れました。今度作るときは
「機内持込できるサイズ」にまとめることが出来、その梱包状態から「15分で動けるようになる」
を目標にしてみようかと思いました。(ロボットを小さく作るのが一番ですが、ある程度を超えると
高価になるので分解し易く、組み立て易いようにします)
ダンボールが本体、バックパックがプロポや工具類です
帰りは会場の近所のコンビニから宅急便で送り返しました。今回は無事戻りました。
エアパッキンで囲んでから、発泡スチロールのチップで充足しました。引越しの梱包材の残りを使いました。
02.09.08
2L1v6の質量内訳
次の2足歩行ロボットを製作するにあたり、軽量化のポイントのアタリをつけるため
各部の質量を計ってみました。(腕除く)下のグラフはその一部をまとめた物です。
- サーボモーター: 自力での軽量化はちょっと難しそうです。自由度を減らすのは1手段です。
- 電池 : 時間がたてば改善が期待できそうです。(燃料電池とか・・・)稼働時間を短くすれば即軽量化できます。
- マイコンボード: 他のロボットへの積み替え易さを犠牲にすれば、30%位は減らせるでしょう。
- 構造その他 : 素材の変更まで含めて、工夫すれば半分くらいになるでしょうか?
こうして見てみると、とりあえず取掛かれる軽量化は構造に関するものという結論となりましょうか?
第2回ROBO-ONEの競技でもアルミ製のロボットを多く見かけました。(ざっと見たところ、出場ロボットの90%以上?)
第1回ROBO-ONEの後で卓上ボール盤を購入し、アルミの角パイプ等の穴あけ加工が手でするよりは
正確に出来る環境が出来ていますので、金属の材料などを取り入れてみようと思いました。
軽量金属の種類としてパッと思いつくのはアルミのほかにチタン、マグネシウム等がありますが
いろいろな意味で難しい点があるため、結局アルミしかないでしょうか?
手元にある板切れ等をキッチンはかりで計って見ると、プラ板(スチロール樹脂)の比重が
1.04g/cm3でアルミ板(組成不明)は2.76g/cm3でした。
アルミを使うときの目処としては、現状の構造で使用しているプラ板の1/3程度の量に
収めないと重量増加を招く事になります。この辺が構造設計の目安になると思いました。
02.09.16
2L2v1の構造設計
「少し背を低くすると共に、脚の剛性を高くする」という方針で脚の設計をしました。
次の改造で「始めに2L1として考えていた部分」の部品が完全にリプレースされるため、
メジャーバージョンアップの意味を込めて名前を2L2v1とする事としました。
下の図を以って作れるところまでまとまったと感じたので、すねの部分から
詳細な寸法をつめて製作を開始しました。
うまく出来上がったら、2L1v6よりも少し歩行性能が良くなると思います。
ホームページの方は、新しい脚が完成したら2L2のホームページとして
独立させるつもりでいます。
おわり
2L1はここまでです。ここから先は2L2v1へ続きます。
つづき
戻る