2004/12/31 |
一年前も同じようなことを書いたんだけど、去年の不定期TOPICを読み直してみると、今年のほうがゆったりとしているみたい。計画と実行が伴っているか、怠け癖がついてきたかのどちらか。去年、「CPLDにチャレンジしよう」なんていいながら、結局、ぜんぜん触らず仕舞いでした。一応、買ったんですよ。でも、結局、SIPHA COREにCPLDを載せるスペースが無いことがわかって、気合が入らなくて (^_^;。 ロボット作り始めて1年半が過ぎましたが、今年もエキサイティングな年で、来年はさらに楽しそうな予感。 いろいろな方とも知り合うことができ、本当にお世話になりました。また、このサイトを応援してくださっているみなさま、ほんとうにありがとうございました。来年もよろしくお願いいたします。 注) 明日、「本年もよろしくお願いいたします。」という文章をアップしても、笑わないでください。
| |||
2004/12/28 |
ふとトランジスタ技術1月号を買う KPITの開発環境 その他の開発環境候補としては、cygwinもいいかな〜と思ったのですが、IDE(統合環境)好きということ、やっぱシミュレータでいいのでデバッガ欲しいな〜と思ってまして、いつかこれを使ってみようと思っていました。しかし、ネットで調べてみたところ、ちょっと情報も少なく、HEWも英語版ということで二の足を踏んでいました。 ダウンロードですが、アカウントの登録が必要になります。アカウント登録すると、まずメールが来るのですが、それには「どうもありがとう、手動で登録しているから、終わったら連絡するね〜」みたいなことが書いてあります。そして数時間後ぐらいに(自分の場合は1時間程度でしたが)登録完了メールが届きます。 H8開発のためには、以下のツールをダウンロードする必要があるみたいです。まだ、使い方調査中なので、環境が整ったらまた情報アップします。「無償ダウンロード」より
試しにインストールしてみたのですが、シミュレータデバッグするところまでは日本語の解説で、すいすいっと行ったのですが、HEW3、もっと便利なツールな気がしまして、じゃ、わかりやすさで日本語のHEW3を使ってみようと思った次第です。 まずは評価版HEW3インストール、コンパイルできんぞ? と、冷たく言われてコンパイルできません。う〜ん、ディスクはちゃんと空きがあるし変だな〜と試行錯誤すること1時間。わかりました。添付の「インストール方法」に「重要!インストール後,ファイルT_LIMIT.DATをインストールしたフォルダ(C:\HEW3)にコピーする必要があります.」とあるのですが、コピーするだけじゃダメみたいで、コピーした後に「読み取り専用」という属性をはずさないとダメみたいです。きっとどっかに書いてあるのかもしれませんが、ま、解決したので良しとします。 やっぱり便利そうなHEW3 ところで、インストールされたのは「HEW3」なんですが、起動ファイル名は「HEW2.exe」なんですね。う〜ん。 さて、何か動くプログラムでも書いてみようかな〜と思ったら・・・「Flash Development Toolkit」というツールがいるらしい…。ROM書き込みイメージである「motファイル」はできているようなので、適当なツールで書いてもいいんですが、せっかくなので、HEW路線で行ってみようと思います。でも、前にKPITのHEWをインストールした時は、FDTは、なにもせずにツールバーから呼び出せたような気が・・・。とりあえず、昔のトランジスタ技術を友達から借りてきてインストールしてみました。 Flash Development
Toolkit というわけで、もうちょっと評価版HEW3の使い方になれたら、KPITの英語版HEW3に移行することにします。 ふといたずら心?で、評価版HEWにKPITコンパイラをインストール というわけで、KPIT GNUH8をインストール。ふむ、そのまま入りました。お、メニューも変わっています。Renesasのコンパイラと違い、シミュレータ上でprintf文は使用できないみたいですが、一通りのことはできるようです。シミュレータ上でブレークポイントも設定できますし、実行サイクル数、変数のウォッチ等、ちゃんと動作させることができます。「MOTファイル」を作るには、実行ツールの設定を追加しないといけない模様。これについては、ALPHA PROJECTさんのホームページに情報が載っていたので、一通りつかえるようになった時点でまとめて書きます。
メニューがどう変わったか?についてですが、左が評価版HEW3のみ、右がKPITのGCCコンパイラを追加した時のメニューです。HEW3って、すごいですね〜。 | |||
2004/12/26 |
なかなかノリ剥がしが大変です・・・ 前々から基板を壊したMICRO-MGがいくつかありまして、今日は、基板交換をしました。動作チェックはまだなので、後でチェックするとして、ボンドを剥がすのが大変です。ピンセットでちまちまと剥がしました。時々手がすべり、ピンセットを指に「プス」なんて刺すことも・・・。MICRO-MG、なかなか手ごわいです。 結構、ケーブルのハンダ付けも、なかなかスペースが厳しく、大丈夫かな〜って感じで。そうそう、一枚、グランドのパターンを剥がしてしまいました。新型基板、モータにグランドを落とすようになっているんですが、ぐにぐにやっていたら、パターンごとはがれてしまいました。モータへ電力供給している電線は、基板を貫通してハンダ付けされているのですが、グランドはなぜかパターン上にハンダ付けされているだけなので、はがれやすいようです。もし、基板交換をされる方は、あまり引っ張らないように注意されるといいです。 ちなみに、どうして基板を壊したかというと…逆ざしと思われるかもしれませんが逆ざしで壊れたことは経験上ありません。誤って、ずらして挿してしまった時に、さくっと壊れました。信号線に電源、電源線にグランドって感じです。ロボットを設計する時に、間違った挿しかたになりにくいよう設計するのも大事ですが、なかなか難しいですよね〜。 | |||
2004/12/25 |
クリスマスと言えば? クリスマスケーキにローソクがついているのが普通かどうかはよくわからないのですが、とりあえずローソクゲットしました。というのも、ZIPPONさんからのご指南で、ホールソー加工等での熱対策に、ローソクが効果があるということで、さっそくゴミ箱から拾ってきました。これを、工具が熱くなった時に押し付ければ、潤滑効果が出るとのこと。バックパックを作る時にホールソーを使う予定ですので、その時のためにキープです。 GWSサーボ改善計画進捗 | |||
2004/12/22 |
電ドリでサンダーサンダー もう、これを使うと、ヤスリがけだけで部品を仕上げる作業には戻れません〜というぐらい便利です。でも、電気で回転するものですので、気をつけて使いましょう。 で、使い方は見てのとおりです。回転させておいて、部品を押し当てるだけです。 で、削ると、「もにょもにょ〜」と、削りカスが成長して部品に引っ付きます。一気に削る量が多いほど、これも大きくなるので、それで、この作業に入る前に、なるべくカットしておいた方がいいというわけです。これ、単に角に張り付いているだけだと思ったら大間違い。大きく成長していると、結構な範囲でひっついてしまいます。なるべくこまめに取り除いた方が、仕上がりがいいです。 さっきの「もにょもにょ」ですが、いつもダイアモンドヤスリ(ダイアモンドであることに意味はなくて、薄くて、ナイフよりは切れなくて、しかも目が細かくて削り過ぎないのでバリ取りがしやすいのが理由です。100円ショップで買ったような気がします。)で削り落としています。 そして最後はやっぱりヤスリに登場してもらって、部品を仕上げます。
| |||
2004/12/20 |
次は電気ドリル加工の方へ行こうかと思ったのですが、その前に、ちょっと便利なニッパ整形の小技を紹介します。 必殺シラサギカット(仮称) こんな場所です。こんな時は、「必殺シラサギカット(仮称)」で切り取ってしまいます。やり方は、写真のパーツの場合ですと、まずは左からニッパを入れて下の方から少しずつ切っていきます。 ほら、切れカスが「シラサギの羽」みたいでしょ(ちょっとシラサギに失礼かな)。これは、前回の話で、「捨てる方を変形させる」テクニックです。こうやって切っていくと、本体、ニッパに無理な力がかからないように切ることができます。そして最後にブチンとやります。 はい、できあがりです。慣れると、右のような形もカットできるようになります。 電ドリ編へ続きます。
| |||
2004/12/19 |
このところ、ABSの整形ばかりやっていますので、アップしている話もそればっかりなんですが、思えば、「こうやって加工してます〜」と言う話を一貫してアップしたことがなかったので、ちょうどいい機会かな〜と思って、連載状態でやっています。 ABS部品の整形〜まずは大雑把に 「無理しない」 ことです。これはどういうことかというと、ニッパを握るのに「すごく力が要る」場合っていうのは、材料にも力がかかるわけです。これは、「変形」を作ることになります。ニッパでブチブチやる場合は、捨てる方だけが変形するように注意する必要があります。簡単な例ですと、直線ならば一気に深いところを切らず、浅く(t3のABSなら、1mm程度)カットしていくこととか、三角形に切っていつも捨てる方の逃げを作っておくなどです。 また、真似される場合、防護用に、めがね(ダテで結構です)等を装着してやってください。結構、切りカスが、パッキンパッキンと飛び回りまわって、目に入ったら大変ですので。 後でヤスリ等で仕上げをするわけですが、このときの労力の度合いがここで決まるので、そこそこマジメにやる方がいいです。で、先ほどの部品ですが、こんな感じになります。 そして、次は、例によって電気ドリルを取り出してきます・・・。 続く(現在、全ての部品に上記加工中)。
| |||
2004/12/17 |
丸くて大きい穴の空け方 丸い穴の空け方のほうは、まだ「これだ〜」というのは無いのですが、今やっている方法を紹介します。ホールソーがつかえるサイズ(って高価なので1つしか持ってませんが)の時はそれでやっていますが、それより大きな場合は、回転ヤスリなるもんを使っています。SISO-LABでは、ホームセンターで売っている電気ドリル(\1,780で購入)を水平に固定して使用しているのですが、これに回転ヤスリを取り付けてやっています。この1年半で数個試したのですが、この形状でコレぐらいの荒さがちょうどいいようです。 やり方ですが、まずは穴をあけてニッパで大雑把な穴を空けておきます。そしてひたすら削ります。 というわけでできあがります。これぐらいのものですと、大雑把にカットしてから15分ぐらいでできます。う〜ん、ろーてく。ははは。ポイントですが、電動ドリルを正方向、逆方向、切り替えながらやることです。やってみるとわかるのですが、回転で削っていきますので、円弧状に削った場合、一方向回転だとどうしてもゆがんでしまいますので。 ところで、この回転ヤスリで外側を整形するのはかなり難しいです。円の内側を加工している時は、ヤスリの刃がかみこんでいくような感じになりますので、結構、いい感じですが、外側を加工しようとすると、材料がブレブレです。よって、外側の整形には向きません。外側の整形については、その作業フェイズになった時に、また写真を撮ってアップします。
| |||
2004/12/16 |
まずは大まか切り
| |||
2004/12/15 |
今回は、こんな肉抜きにチャレンジ
左の写真は、まずは穴あけをして、ニッパでぶちぶち切り、まずは大雑把に四角に抜いた状態のものです。これに、以前作った「万力ならぬ百力」・・・以前、6mmのPP板を加工する時に使用したジグです。板状のものを押さえて、小さな部品でもうまく保持してヤスリがけができるようにするためのものです。これを使います。 この「百力」は、ホームセンターのカー用品のところで買った「穴空き鉄板」と「蝶ネジ」を使っているだけですので、作る?のは簡単です。本当は、もう少しこった仕掛けにすると部品のデキがよくなるのですが、ま、この辺で、というところで。 削るABSと同じ厚さのきれっぱしを一緒にはさんでおいて・・・。 左の写真のように、削るラインにあわせて挟み込んで、ヤスリで削っていきます。ABSは簡単に削れますが、板は鉄製なので簡単には削れません(ちょっとは削れますけど)。そうすると、ラインピッタリに削ることができるわけです。右の写真は、別の使い方例です。同じようにラインにあわせて装着して削ります。この部品の肉抜き部分を作るのに、2枚で1時間程度でした。うぅ、結構かかりますが、次に同じような加工の時はもっと早くなるかと思います。 ちなみに、穴の角が丸いのは理由があります。ドリルで開けた穴が丸いので丸いわけですが、「角を立てるよりクラック(ひび)が入りにくい」という話を、以前、機械屋さんから聞いたことがあり、それでそのままのRにしています。
| |||
2004/12/13 |
アルミアングル ほとんどABSでできているG-Tuneですが、一部、アルミアングルを使用しているところがあります。肩と足首のあたりです。前はt1のアルミアングルを使用していたのですが、前転とかをガンガンやっていたらゆがんでしまったので、今回、t1.2のアルミアングルで作り直すことにしました。 加工方法としては、水平に固定した電気ドリルに、グラインダーとかについている荒めのディスクをつけて削っているのですが、ABSとちがって、時間はかかるし熱くなるしで削りだすのが大変。格闘すること数時間、ようやく削りきりました。これなら曲げで作った方がよいのでしょうか?う〜ん。 樹脂パーツでうまく直角結合ができるパーツが作れると加工が楽なのですが、それはそれで加工が難しくて悩ましいです。直角結合は樹脂パーツの悩み・・・。
| |||
2004/12/12 |
ポンチ打ち
左手の人差し指と中指にはさんでいるのがポンチで、つまんでいるのが本体とレンズです。レンズを覗くと右の写真のように見えます(すごい狙ったように撮れてますが、合成ではありません)。そして、レンズを引き抜いてポンチをはめ込み、カツンっとやります。現在は、浅草ギ研さんで購入可能です。「ロボット関連その他」の中にあります。値段も張りますが、もしポンチ打ち精度に悩んでいるならば、すごいオススメです。 不思議な記事 「電波は人体に影響のないテレビのリモコンと同レベルという」 テレビのリモコンって、赤外線がほとんどではないかと思うのです。興味のある方は「通学安心システム」で検索すると引っかかるかも。
| |||
2004/12/10 |
最近、予定やら仕事やら立てこんでいて、なかなかポンチ打ちも進まず、ぼちぼちとやっている状態で、しかも当分、部品の削りだしでばっかりになりそうです。それもつまらないので、ロボットコントローラを自作してみたい方向けで、サーボ制御などの直接的な機器制御以外に、どんな処理をさせないといけないか?という話なんてのを、SIPHA COREを例にして始めてみようと思います。具体的なやり方も紹介していますが、あくまでも「ひとつの例」として考えてください。 サーボを交換したら歩かない!どうして? そのままパルス幅で動作データを作っていって、何が問題かといいますと、パルス幅のみで動作データを作ると、ずっとそのサーボを使いつづけている場合は問題無いのですが、サーボを交換した時に、新しいサーボの個体差によって先ほど説明したようなズレが発生し、動作データの見直しなどをする必要がでてくることが多々あるということです。 この個体差を吸収するためには、「個体差データ」を加味した動作指示をする必要があります。 サーボ個体差の吸収方法
実際のところ、正確に角度処理をしようと思うとこれでもちょっと足りないのですが、実用上、こんなもんでやっています。じゃあ、具体的にはどうなるかといいますと…
awPlsOffset[2]は、[0]がマイナス方向、[1]がプラス方向(だったかな?)の、1500usからの90度動作させるためのパルス値です。1500usからの差分になります。H8/3664は、16MHz動作で、0.5us=1パルス値となっています。 sZeroOffsetは、ロボットにサーボをつけた状態で、1500usから指示値上、0度にオフセットしたい値の差分です。サーボホーンは、数度単位で見た場合、必ずしも、思った位置にはめ込むことはできませんので、こういう補正が必要になります。例でいいますと、肘を直角に曲げた場所を0度とする場合、実際に取り付けると、数度ずれてしまいます。そこで、このパラメータで調整するわけです。これらのデータを、サーボ個数分メモリに確保します。 また、データを詰め込むために、一桁目は方向を表すデータとして使っています。なんでこうしたかは覚えていなかったりするのですが、H8/3664のタイマをΦ1/8(16MHzを8分周して使用)で使用した場合、1カウントは0.5usになります。0.5usはどんな値か?といいますと、1000usでサーボが90度動作したとすると、0.045度ということになります。こんなにサーボは細かく動きません(少なくとも、MICRO-MGやS03Tは)。そんなわけで、1桁目を無視したとしても、動作上、まったく問題がありません。こうやってデータを削っていくわけです。 角度からの変換基本
この関数ですが、サーボ番号と角度を入力すると、それぞれのサーボ用に補正されたパルス値を返します。角度は、100倍した値を使用しています。これは、浮動小数点型のデータで計算すると速度が落ちますので、整数型のデータのみを使用してそれなりの精度を出すための工夫です。よって、「60度」の値を求めたい時は、「6000」を入力します。そのため、「9000L」という数値が見えますが、これは「90度」を現しています。そして、「3000L」ですが、これはH8/3664の「1500us」を生成するためのカウンタへの設定値です。角度は、「±」を含んだデータですので、sDeg100がマイナスの場合、結果は1500usよりも小さくなり、プラスの場合は、1500us以上になります。 桁あふれを防ぐためにlong型で計算して、それを_WORD(unsinged short)に入れています。 また、ここで重要なのが計算順序です。素直に数学的に考えると… 「90度動作パルス値/90度*目標角度+3000」 となります。「90度動作パルス値/90度」で、1度あたりのパルス値を求めて、それを目標角度を掛け算するとパルス値がわかり、これに1500us分のパルス値を足せば、1500usを中心としたパルス値がわかります。しかし、整数型で計算していますので、これだと「90度動作パルス値/90度」の部分で、桁落ちしてしまいます。「Knowledge」の「整数型で計算するときの精度向上する計算順序」でも説明していますが、プログラムを組む時は、「なるべく式の中で常時数字が大きく保たれるようにした方がよい」ので、そこで、計算式の順番を変えて、上記プログラムのようになっているというわけです。 今回はここまでで、次回、オフセットをどうやって反映させるか?という話をアップしたいと思っています。
| |||
2004/12/06 |
足裏サイズと日程 でも、きっとその次は8月でしょうから、5030足裏を見越した設計で進めることにして、「それより足裏が大きくてうれしい」という感じでいくことにしましょう。うんうん。 ところで、「5030足裏」とか「6040足裏」って呼び方、結構いいと思いませんか?
| |||
2004/12/05 |
Sheet ABS?よしよし ついでに、SIHPA CORE側のプログラムも復旧完了です。なんかバイナリサイズが2バイト違いますが、どうせこの後、大改造しますので、まあよしとしましょう。後は、SIPHA TERM側なのですが、こちらは被害大なのですが、これもかなり作り直しの予定なので、メカが完成してからぼちぼちっとやろうと思います。
|
2004 | Jan. | Feb. | Mar. | Apr. | May. | Jun. | Jul. | Aug. | Sep. | Oct. | Nov. | Dec. |
2003 | Jan. | Feb. | Mar. | Apr. | May. | Jun. | Jul. | Aug. | Sep. | Oct. | Nov. | Dec. |