BROKEN's Advanced Vehicle Laboratory

開発日報 2003年 2月

2003年 2月 26日 水曜日 今後のROBO-ONE?

ツクモのロボコンマガジン館からのメールニュースで第4回ROBO-ONE大会のアナウンスあったことを知って、早速ROBO-ONE公式ページで今後の方向性について確認をした。次回は3日間かけて開催するとかいっているけれど、3日間も何をやるつもりなのだろうか?

昨日のラジコンサーボに引き続き、今日はPICのCコンパイラ(CSS-PCM)が届いた。ラジコンサーボとPIC用Cコンパイラで、合わせて9万円くらいの支出。最近ちょっと金に糸目をつけずにいろいろと買いすぎだとは思ってるけど、仮に毎月10万円ほどロボット作りにつぎ込んでも、独身の私には生活に支障が出ないので、あまり細かい計算は必要ないかな。

PIC16F876Aを使った実験用基盤の配線が終了。動作確認のプログラムを書こうと思ったのだが、あまりにも眠いので今日はこれまで。

2002年 2月 25日 火曜日 デカイ!!

会社から帰ってきたら、注文の品が届いていた。ウキウキしながら箱を開けて中身を取り出してみると。デカイ!! なんだこの化け物みたいなサーボモータは!! これなら十分なトルクが期待できそう。

届いたのはこれらの種類のラジコン用サーボモータ。左から3個までが届いたHitech製サーボで、左から順にHS-805BB、HS-5945、HS-5942。右端の1個は以前秋葉に買出しに行ったときスーパーラジコンで購入してきたFutabaのS3003。下半身にこの巨大なHS-805BBを使って、ゴッツイやつを作ってやろうって腹。

せっかくサーボが届いたのでメカ設計もやりたいなあと思いながらも、通信/サーボ制御実験用基盤の組み立てに着手して今日は終わり。

2002年 2月 24日 月曜日 回路図エディタ BSch

シリアル通信とサーボモータ制御の実験をする準備として、今日はPIC16F876Aを使った実験用回路の回路図をちょこちょこっと描いてみた。実はそれらしい回路図を描くのはこれが始めてで、回路図エディタはBSchを使ってみた。部品の登録がちょっと面倒だけど、マニュアル見ないで使えているので非常に満足だ。

先週末Fさんのところに発注したブツがそろそろ届く予定。PICプログラミングの合間を縫ってメカ設計にも着手したいような、PICに集中したほうがいいような。優柔不断。

2002年 2月 23日 日曜日 今日もPIC、きっと明日も

金、土、日と続けてPICのプログラミング。timer0をインターバルタイマとして使って周期的な割り込み処理をしてLEDを点滅させる簡単なプログラムをアセンブリ言語で書いてみたのだが、どうも動作がおかしい。3回に1回だけLEDの点灯時間が長いような気がする。 そんなことで日曜日の大半を費やして、原因は割り込み処理の前にいくつかのレジスタの退避をしてなかったってことに、夕方になって気がついた。

本とかネット上のサイトとかのサンプルプログラムを見ていると、timer0をインターバルタイマとして使うサンプルでは割り込み処理の中身が空っぽで何もしてないからレジスタの退避なんてしてないし、割り込み処理のサンプルプログラムはC言語で書いてあってマクロで割り込み処理を指定してあげるとプリプロセッサが勝手にレジスタの退避処理を組み込んでくれているらしい。 バグは原因がわかってからなら「そんな簡単なことで」と思うけれど、その原因を突き止めるまでが大変なのは世の中のプログラマーがみんな思ってることだろう。

timer0と割り込みの使い方までできたので、次はシリアル通信に挑戦する予定。ここまでの実験はPIC16F84Aを使ってきたが、次からはシリアル通信用モジュールを持っているPIC16F876Aを使う予定。I^2CでもSPIでもなく、USARTでいくつもりだけど、シリアル通信って規格がいっぱいあって、私はなんだかよくわかってないのが現状。USARTでマルチプロセッサ間通信ってできるよねぇ? H8と通信したかったらどうすればいいの? PCと通信するには? ってことを調べて実験して、結果をまとめておきますんで、間違ってたら指摘してください。

そんなわけで、メカ設計はしばらく忘れて、複数個サーボモータの同時制御ができるまでPICにどっぷりつかるつもり。だから、きっと明日もPIC。 <素直にHSWB-01使えば苦労しないのに・・・

2003年 2月 21日 金曜日 会社サボってPICいじり

サボって、という言い方が適切かどうかはわからないが、今日は年休消化日にしてPICのプログラミングに挑戦。Cコンパイラを購入していないので、当然アセンブラ(MPASM for win)で。とりあえず、無駄時間ループによるLEDの点滅とか、ボタンを押したらLEDが点灯して、またボタンを押したらLEDが消灯するような、簡単なプログラムを書いてみた。 バンク切り替えという概念はさほど気にならないし、覚えるべき命令数が少ないので、なんとなくだけれど、思ったように動くようにはなってきた。

PICを使ってみて感心したこと。 PICプログラムを開発するのに必要な統合環境やアセンブラ、シミュレータデバッガなどが無償で公開されていること。 そして、それらが十分に高性能であるということ。 シミュレータデバッガがあるだけで開発効率がこんなに違うとは驚いた。

でもやっぱりアセンブリ言語でプログラムを開発するのは非効率的だと思った。C言語で書いたらサラッと書けることを、なんでこんなに長々と書かなきゃいけないんだ、と思いながらも、「マイコンのアーキテクチャを理解するために、機能を一通り使えるようになるまではアセンブラを使うべし」と心に決めて、アセンブリ言語でのプログラミングに励む私でありました。 よさそうなCコンパイラ探して購入しよ〜。

2003年 2月 18日 火曜日 金銭感覚

ROBO-ONEに出場しようなんて人の金銭感覚は、普通だったらやっていかれないだろうなぁと、今日はそう思った。というのは、使用するモータの選定をして、発注をかけようと合計金額の計算をしてみたからだ。モータだけなのに、(予備の分も合わせて)20万円を超えてしまう金額。 学生や妻子持ちにはポンと出せる金額じゃないでしょう?

最近生活のリズムが狂いまくっているので早めに寝ましょう。とおもった時には、すでに午前2時・・・。

2003年 2月 16日 日曜日 PICと上皿天秤

昨日の晩から秋月で買ってきたPICライターを組み立てて、最も簡単な実験用の回路を組んで、サンプルプログラムでPIC16F84Aが動作することまで確認できた。それから自分でプログラムを組んでみようと思ってPIC関連の本を読んでみて、会社の先輩が「PICはアーキテクチャが変だ」といっていた意味が、なんとなくわかったような気がした。

午後は近くのホームセンターに買い物に出て、またまた余計なものを山ほど買ってきてしまった。その中のひとつが、右上の写真の上皿天秤。部品とか、ロボットの重さを測るのに必要だよな〜と思って買ってきた。値段は、たしか¥3,800だったっかな。それ以外に買ってきた余計なものは、後で作ったら公開しますんでお楽しみに。

2003年 2月 14日 金曜日 静的なトルクの計算

今日は労働組合の春闘学習会なるものがあって、仕事を定時で終わりにして2時間ほどお話を聞いて、「がんばろ〜」ってやって帰ってきた。労働組合の意義はわかるとしても、「闘争」とか「がんばろ〜」とか、すごく古臭く感じているのは私だけ?

で、いまここのBBSでホットな話題になっているトルクの話。私がどのようなモデルでどのような計算をしたのか、プロジェクトのところに書いておきます。で、それを書きながら手計算した結果とExelで計算した結果をつき合わせてみたら違いがでてしまって、手計算でのミスが発覚。2月11日付けの日報で「屈伸時にひざにかかるトルクは足首にかかるトルクの1.6倍程度」と書いたあれ、間違いです。およそ3.5倍でした。S3003じゃ深い屈伸できそうにありません。ごめんなさい。ちなみに、上半身と下半身の重量配分によって、この倍率は大きく変わりますのでご注意を。

2003年 2月 12日 水曜日 アイドリング状態

先週の土曜日から4連休もしてしまったせいか、今日は会社に行っても頭がアイドリング状態で、回転数がぜんぜん上がらないまま定時で退社してしまった。やる気がないわけではないのだけれど・・・。

定時で退社した後、寮に帰って夕飯を食べて剣道の稽古へ。今日気がついたこと。私はここのところずっと楽な稽古しかしてきてないってこと。つらい稽古をしなければ決して強くはならないわけで、これは剣道に限らず万事同じはず。苦しまなきゃ自分のレベルや底力は向上しないってことですね。当たり前のことですが。

2足歩行ロボットのほうは、必要なトルクとモータ選びとロボットの体重の目標値とのだいたいの検討をつけてみた。その結果、ロボットが重くなりすぎる可能性があり、場合によっては足首はモータが2個セットで使うことを検討する必要があるかもしれない、ってことがわかった。 それから、BBSでほりさんから、脚の付け根もトルクがかなりきつそうだというアドバイスをいただいた。 どれくらいのトルクが必要になるのか軽く計算してみたら、(私が作ろうとしているロボットの場合で)脚の付け根のロール軸間隔は6cm以下にしないとモータのトルクが間に合わない計算になった。 狭すぎる!! < 体重減らしましょう

2003年 2月 11日 火曜日 最もトルクが必要な関節はどこか?

私もようやくROBO-ONEに向けてロボットの開発をスタートした。まずはどんなロボットを作るか、それにはどのような機構が必要か、モータはどれくらいのトルクを必要とするか・・・今日はそういうことを検討してみた。それで、自分で具体的にどれだけトルクが必要になるか計算してみてはっきりしたことがある。それは、典型的な2足歩行ロボットで最もトルクが必要になるのは足首関節だってことだ。

直感的に「いや、ひざ関節だろ」と思ったのだが、こう主張する人もいるので、自分でモデルを立てて計算してみることにした。モデルは、足首関節、膝関節、腰関節の3関節をもつ4リンクモデルで足裏の大きさも考慮。前述のものとモデルは異なるが、ロボットの身長、体重は同じように設定したつもり。ROBO-ONEに出てくる標準的な大きさのロボット(身長32cm、体重2.5kg程度)を仮定して計算してみた。

計算の結果は、深くしゃがんだ状態(膝関節を120°曲げた状態)から立ちがるのに必要なトルクは、片足あたりで足首が1.75[kg・cm]、膝が2.75[kg・cm]ぐらい。(だいぶ丸めてます。)これだけ見ると膝が足首の1.6倍くらい必要に思えるが、 膝と腰を伸ばして足首だけ曲げると話が変わる。足裏の長さを12cmにとった場合は直立姿勢から傾けて最大20°くらいまでいけて、このとき足首にかかるトルクは片足あたり7.5[kg・cm]。足裏の長さをルール上最長の20cmにとると、35°くらいまでいけて、足首にかかるトルクは片足あたり12.6[kg・cm]。 これ以上傾けると重心が足裏から出て転倒してしまうので、いくらトルクがあっても意味がない。<安全設計という意味はある

こうしてみると、やっぱり足首関節に最も大きいアクチュエータが必要なんだなぁと納得。ルールぎりぎりのでかい足裏とトルクが13kg・cmあるサーボモータ使ってれば30°までは前後に傾いてOKだなんて・・・そりゃパンチで倒すのは難しいでしょ(汗) でもでも、S3003みたいな安いサーボモータでも屈伸くらいはできるはずなんだねぇ、計算上は。モータ自体35gと軽いしね、3003は。

標準的なサイズのロボットは13kg・cmで間に合うとしても、大きいロボットだと、そうはいかないよね。

2003年 2月 9日 日曜日 秋葉へGo

第3回ROBO-ONEリポートもだいぶ書けてきて、あとは技術動向、感想、推敲して体裁を整えたら完成。すでに読まれた方で、おかしな記述等がありましたらBBSでもメールでもご指摘ください。

今日はお昼前に、注文してあった頭脳RAPID 3Dが届いた。 お昼ごろまでボケボケすごして、お昼から秋葉にGo。目的は、古いデジカメやPC周辺機器、PCパーツなどを売り払って整理することとと、ROBO-ONEに向けた要素技術実験に必要となる部品を入手してくること。売ったものが全部で15,000円くらいになったのでちょっと驚いた。もっと安いかと思ってた。<引き取ってもらえなかったものもあるけど。

入手した部品は、PICとかキット、セラコン、電解コン、スーパーキャパシタ、ラジコンサーボそのた諸々。ラジコンサーボはもっともポピュラーなFutabaのS3003(@1,700円)を4つ入手。もちろん、ぶっ壊したり、ばらしたりするつもり。その他、VBの本とかいろいろ買って、今日の出費は約4万円。

このサイトの全ファイルサイズがすでに20MBを超えてしまって、急遽上限設定を30MBに変更。ファイルサイズを気にせずにUPするための自宅Webサーバも、(PCの部品が1台分あまってることだし)計画してみるかなぁ。

2003年 2月 5日 水曜日 3D CADってすごいかも

水曜日は定時退社日なので午後5時で仕事を終わりにしてさっさと帰った。んで、今日はサボらず剣道の稽古に行ったら、すご〜く調子が良くて、反省点はいろいろあるけど、気持ちよく稽古ができた。

さて、お題の3D CAD。ROBO-ONE参戦に向けてメカ設計をするのに適当なCADがないかな〜と思っていろいろとあたってみたのだが、何でかしらないけどCADソフトはやたらと高額。そんな中で、TekRobo工作室の3D CAD編で紹介されていた「頭脳RAPID 3D」が良さそうだったので、体験版をPHOTRON社のサイトからダウンロードして使ってみた。マニュアルとか全然ないけど、それなりに3Dのモデルができてちょっと感激。他のソフトは試してないけど、ネット通販価格で税込み61,000円ちょっとなら買ってもいいなと思って、これに決定。ああ、そうだ、頭脳RAPID 3Dの使い方を書いた本も購入したいなぁ。

第3回ROBO-ONEリポート(書きかけ)、コツコツ書いてますが、なかなか進みません。そういってる間にもう午前4時だ・・・。

2003年 2月 2日 日曜日 宴の後

金曜日(1月31日)に東京まで出張があって、その足で第3回のROBO-ONE観戦をしてきた。JinSatoさんをはじめ10名ほどが同じ宿をとり、31日の夜から2月1日、2日と、楽しい時を過ごした。優勝した菅原さん、おめでとうございます! 吉村さん、おしい! 滝沢くん、よくがんばった! みなさん、おつかれさまでした&お世話になりっぱなしですみません(汗)

今回のROBO-ONEリポート、書き始めてます。祝勝会を終えて三島にたどり着いたのが23時過ぎ。一晩じゃ書けないんで、1日か2日時間をください。