« 2006年04月 | メイン | 2006年06月 »

2006年05月31日

PSoC無料セミナーに申し込みました

PSoC無料セミナーの案内が来ていたので、申し込みました。
平日なので、参加が難しい人もいるかもしれませんが一応スケジュールなど。

東京:2006年7月10日(月) 13:00~18:00
東京コンファレンスセンター 品川 5階 大ホールA

大阪:2006年7月12日(水) 13:00~18:00 
スイスホテル南海大阪 7階 芙蓉

下記のURLよりオンラインで申込みできます。
http://www.cypress.com/seminars/psoc

投稿者 hiranoy : 23:33 | コメント (0)

2006年05月30日

MSX2を購入

松下のMSX2を購入。
最近発売されたものらしい。
縦置き。
価格は2万円ちょっと。

その写真。
060530msx2.JPG

型名のアップ。
060530msx2a.JPG
あっハイフンが入ってた。MS-X2 でした。
最近疲れが取れにくくなったなあと感じたので、買ってみました。

投稿者 hiranoy : 23:16 | コメント (0)

2006年05月29日

ROBO-ONE 10thの規格、規定

足裏の規格が、最大110mmと小さくなったようだ。でも脚の長さとの比率が50%30%のままなので、足裏最大、脚長さ最小にデザインすると、従来より短足ロボットとなる。
・9thだと、脚長さ250mm、足裏125mmx75mm(の角を取ったもの)
・10thでは、脚長さ200mm、足裏100mmx60mm(の角を取ったもの)
という感じ。
10thは、予算と安定度から小さくなったロボットと、4014HVで固めた400mmくらいの身長のロボットの対決となる?

規定が「うさぎとび」とのこと。
060529usagitobi.PNG
人間で言う「うさぎとび」は「B」なのだけど、「A」でも許されるのだろう。でも「B」でうまく行くのならポイントは高そう。

投稿者 hiranoy : 23:27 | コメント (0)

2006年05月28日

アキバのヨドバシでVAIO-Uをいじる

今日は、栃木(佐野)の義妹のPCが調子悪いとのことで、修理に向かいました。
片道4時間かけて、13時半に到着。CD-RWドライブが壊れていました。
予備は無いし、CDはあまり使っていなかったとのことだったので、単純にケーブルを外して修理完了。
ADSLからケーブルTVに乗り換えたので、その設定も行って17時前に出発。
19時ちょっと前に秋葉原に到着できそうだったので、秋葉原に寄っていくことにしました。

日比谷線で秋葉原に到着。王国がやってるか確信が持てなかったので、電気街の方には行かず、ヨドバシでうろうろ。

まずは新型VAIOtypeUのコーナーへ。在庫は無く2週間待ちとのこと。(買うわけではありませんが...)
液晶の見易さやキーボードの打ち易さなどをチェック。液晶は長時間見ると確実に視力が落ちそうな高精細液晶です。見やすいといえば見やすいです。キーボードは、打ちにくいだろうなと思っていたのですが、
int main(int argc, char *argv[])
{
printf("Hello world.\n");
}
と両手親指で打ってみて、ミスタイプは2回くらいでした。ただ、右シフトキーが見当たらず、ダブルクォーテーションが非常に打ちづらかったです。
予備のバッテリが高いですね。PDAやデジカメが変えるような値段でした。

その後も、レッツノートのコーナーや、Macのコーナー、本屋、レストラン街と回って、22時近くまで、うろうろしていました。

投稿者 hiranoy : 23:59 | コメント (0)

2006年05月27日

ここ最近の出来事

毎日コツコツのはずが、1度休むとだめですね。反省。

5/20
ロボフェスの準備。いまいちはかどらず。

5/21
徹夜でロボフェスの準備。朝6時にCPUボードの電源コネクタを注し間違え-8Vを加えてしまい昇天。
予備CPUボードにSerialEEPROMを貼り付け、なんとか出発。
ロボフェスに参加。
バトルのトーナメントは、ゆさんのノワールと対戦。背が低いので、用意していた攻撃が全く効かずに敗退。
バトルフラッグは、PS2コントローラとのインターフェースが故障して、おかしなモーションを再生してしまい、チームの役に立てず敗退。
懇親会に参加。
帰りの電車で、隣の人が窓を開けていたので、「ちょっと寒いな」と思っていたら...。

5/22
案の定、風邪を引いてしまう。20時上がりで、ひたすら寝る。
症状は、のどの痛みと頭痛と咳と微熱。

5/23
風邪が軽くなさそうなので、早退して病院へ。喉頭炎とのこと。「カラオケとか行ってない?」と質問されるが、ここ2週間は行ってませんです。

5/24
会議が無いので休みをもらって、ひたすら寝る。

5/25
会議だけ出席して早退。ひたすら寝る。
さすがに長引いてきたので、頓服薬の方を1錠飲む

5/26
会議だけ出席して早退。ひたすら寝る。
頓服が効いたのか、頭痛と微熱は収まった。

5/27
のどの痛みは残っていましたが、なんとか参加できそうなので、12時に練習会に向けて出発。
14時ごろ到着。調整するも、やはり先週のPS2コントローラインターフェース不良が発生。基板を指でたわませると再現。ピンヘッダコネクタの接触不良かと思われたので、急遽バイパス手術(コネクタを迂回して、線で半田付け)。でも症状は改善しませんでした。それでも、基板がたわまないようにして、1回だけロボビリヤードに参加して、3個のカップまでクリアしました。
18時から、懇親会に参加。SLANさんや吉田さんといろいろお話させていただきました。
19時ごろ、石川さんが到着。なんと噂のVAIOを入手されていました。
20時ごろで、懇親会はお開きに。2次会はカラオケ!ということだったのですが、まだのどの調子が悪いので、失礼しました。

投稿者 hiranoy : 23:20 | コメント (0)

2006年05月17日

GB用カメラを購入

060517gbcamera.JPG
本「吉野のロボット製作日誌」を読んで、ゲームボーイ用の人口網膜センサ(カメラ)はデジタル入出力でマイコンで読み込みやすいとのことだったので早速買ってみました。
中古ゲームショップで1個280円だったので2個買いました。
特殊なねじだったのですが、3mmのボックスレンチでなんとかばらすことができました。

秋月の通販で買った物資も届いて、あとは芝浦工大ロボフェスまで頑張るだけ。
------------------------------
KAZZさんところで知った VAIO-UX 。むちゃむちゃ買いたい。
PalmTopPC110やLibretto20,30,50,1010や200LXを使っていたものとして、久々に魅かれるPCです。
ただ夏のボーナスはもう行く先が決まっているので冬ボか。

投稿者 hiranoy : 23:30 | コメント (0)

2006年05月16日

ちょっと一服

モーション再生は依然作成中ですが、ちょっと一服で、新たなパーツを入手。

ぷてぃきゃのん用にPS用ワイヤレスコントローラ、GAMETECH製を購入。
PSロゴが入ってないせいか、HORIやLogitechのワイヤレスコントローラに比べると千円くらい安い。
060516pscontroler.JPG

安いと喜んで買ったのもつかの間。空けてみたら、受信機がでかい!(下の写真左)
060516psreceiver.JPG
HORIの受信機(写真右)と比べて、1.5倍くらい大きいです。

投稿者 hiranoy : 23:47 | コメント (0)

2006年05月15日

モーション再生(Interface付録でロボット制御)

モーション再生のプログラムを作成中ですが、まだバグが取れてません。

投稿者 hiranoy : 23:43 | コメント (0)

2006年05月14日

ぷてぃきゃのんに頭をつけました

今日は、Interfaceネタはお休み。
060514petitcannon.JPG
ぷてぃきゃのんに頭をつけました。

芝浦工大ロボフェスで、観客にロボットを操作させてあげられる人を募集しているようなので、それにぷてぃきゃのんを提供しようかなと考えた次第。

投稿者 hiranoy : 23:02 | コメント (0)

2006年05月13日

サブ基板の回路図と基板のパターン(Interface付録でロボット制御)

EagleCADでサブ基板の回路図を起こして、プリント基板のパターンも作ろうと作業していました。
回路図がほぼ出来上がって、「さあパターンの作業」というときに、問題が発生。
サーボやジャイロの接続コネクタを3ピンのピンヘッダー部品をEagle付属のライブラリから呼び出して使っていたのですが、ランドのパターンが長丸で、2.54mmピッチで並べると、隣のランドとショートしてしまいました。(下の赤い枠のところ)
060513eagle.GIF

ライブラリをコピーして修正する必要がありそうです。

----------------------------
というわけで、ライブラリを修正して完成しました。

全体像(部品面から)

部品のみ

パターンのみ(部品面から見た図です。実際に配線する場合は裏面からの作業ですので、逆のパターンになります)

片面基板で作れるパターンとなりましたので、ユニバーサル基板を使っての手配線でも無理なく作れると思います。
それから、配線をわかりやすくするため、電源コネクタ付近のコンデンサを省いています。

参考になるか分かりませんが、Eagleのファイルもアップしておきます。
・回路図 Download file
・基板のパターン Download file
・ライブラリ Download file

PDF形式で欲しいという要望をいただきましたので、変換しました。
・回路図 Download file
・基板の部品配置 Download file
・基板の半田面から見たパターン Download file

投稿者 hiranoy : 21:08 | コメント (5)

2006年05月12日

割り込みでLED点滅させてみる(Interface付録でロボット制御)

「インターフェース付録基板でロボット制御(そのXX)」だと内容が分かりにくいのと、そのXXを数えるのも面倒になってきましたので、エントリーのタイトルを今回から変えます。

で、モーション再生に必要な、定周期での割り込みですが、やっとできました。
set_imask(0);
という関数を呼び出していなかったので、割り込みが禁止状態になっていたようです。

以下の2本のプログラムを「演習7」に上書きして使ってください。
test2.c
intprg.c
250ms消灯、250ms点灯するプログラムです。コメントアウトしている数字に変えると、20ms消灯、20ms点灯します。(目では点滅が良くわかりませんが)

ただ、今日のプログラムは、LEDが点滅するだけなので、見ていてつまらないです。
でも、今後の処理の非常に重要な部分が出来たことになります。

投稿者 hiranoy : 02:36 | コメント (0)

2006年05月11日

インターフェース付録基板でロボット制御(その16)

モーション再生のプログラムを作る準備に取り掛かります。

モーション再生には、基準となる時間が必要です。そうしないと処理が重いときはモーション再生がゆっくりになったり、処理が軽いときはモーション再生が早くなったりします。

そこで基準時間として、コンペアマッチタイマー(CMT)を使って周期的な割り込みをかけようとしたのですが、1回だけうまくいったものの、そのあとちょっといじったらうまく動かなくなってしまいました。

とほほ。続く

投稿者 hiranoy : 22:13 | コメント (0)

2006年05月10日

インターフェース付録基板でロボット制御(その15)

SerialEEPROMは、プログラムをアップロードした後も、24LC256や24LC1024ではうまく動くのに、24LC64ではうまく動かないという症状があって、いろいろ調べていました。そしてやっとプログラムの問題点をみつけました。
それは、24LC64はページ書込み時の最大が32バイトで、24LC256は最大64バイトという違いでした。アップしたサブルーチン自体はそのまま使えるのですが、呼び出す側は、32バイト境界(丁度アドレスが割り切れる32バイトの単位)で書込み処理を分割してあげないと書き込みがうまく行かないというものです。

15回にわたって、下記の項目のソフトを作ってきました。
・PWM出力
・ポジションキャプチャ(KONDOサーボREDVersion専用)
・PSコントローラとの通信
・SerialEEPROMの読み書き

その集大成のソフトとして、下記の仕様のプログラムを作りました。
・電源ON時はSerialEEPROMからポーズ情報を読み込む
・キャプチャモードとアクションモードの切り替え
・キャプチャモードで、ポジションキャプチャで得たサーボの角度情報をPSコントローラのボタンに割り当て
・キャプチャモードからアクションモードへ移行する際に、SerialEEPROMに保存
・アクションモードで、PSコントローラでボタンを押すとキャプチャしたポーズを再生

まだ全然整理整頓していないプログラムですがアップしておきます。
sh7144_1.c
このファイルと以前アップした servodrv.src が必要です。

またテスト環境として、6軸ロボット「ぷてぃきゃのん」を作りました。

<前面>
サブ基板、その上にCPU基板、その上に電池、その上にワイヤレスPSコントローラの受信機となっています。
060510petitc-front.JPG

<背面>
060510petitc-rear.JPG

<コントローラと全体像>
060510petitc-pspad1.JPG

上記プログラムと「ぷてぃきゃのん」との組み合わせで動作させた動画です。→QuickTImeで再生できます

ひとまとまりの成果物ができたので、一段落といった感じですが、今後、
・モーション再生の処理
・RCB-1互換の通信インターフェースの作成
・KZR-EDITORを使ったモーション作成
などをやっていく予定です。

投稿者 hiranoy : 02:27 | コメント (2)

2006年05月09日

インターフェース付録基板でロボット制御(その14)

以前アップしたPSコントローラとの通信プログラムでは、手持ちの3種類のうち1種類しか使えていなかったので修正しました。また、新サブボードで若干ピンアサインを変更したのでそれに対応しました。

・Cのソース psdrv.c
・ヘッダファイル psdrv.h

新しいピンアサイン
 信号名 PS     SH2
 DAT 1番ピン → PA6 J2コネクタ33番ピン(+3.3Vにプルアップ)
 CMD 2番ピン ← PA7 J2コネクタ34番ピン(+3.3Vにプルアップ)
 +7V 3番ピン   未接続
 GND 4番ピン - GND J2コネクタ40番ピン
 +3V 5番ピン - +3.3V  J2コネクタ39番ピン
 SEL 6番ピン ← PA15 J2コネクタ28番ピン(+3.3Vにプルアップ)
 CLK 7番ピン ← PA8 J2コネクタ26番ピン(+3.3Vにプルアップ)
 NC  8番ピン   未接続
 ACK 9番ピン → PA2 J2コネクタ24番ピン(+3.3Vにプルアップ)
  プルアップ抵抗は 4.7kΩ

使い方
・上記2つのファイルをプロジェクトに追加する。
・ユーザ側のプログラムに #include "psdrv.h" を追加する。
・プログラムの最初の方で PsInit() 関数を呼び出す。
・PSコントローラの状態を知りたいところで、PsRead() 関数を呼び出す。

注意点
・PsRead() を呼び出して、次にPsRead()を呼び出すまでの間隔を16ms以上にしてください。

投稿者 hiranoy : 19:06 | コメント (55)

2006年05月08日

インターフェース付録基板でロボット制御(その13)

I2CでEEPROMの読み書きをするプログラムをアップしておきます。
下記の2つをプロジェクトに追加して使います。

・Cのソース i2cdrv.c
・ヘッダファイル i2cdrv.h

SerialEEPROMは、上限クロック400kHz以上のものを使用してください。
使い方はまたあとで。

投稿者 hiranoy : 19:20 | コメント (0)

2006年05月07日

インターフェース付録基板でロボット制御(その12)

サブ基板を作り直しました。旧サブ基板は、コンパクトに作ろうとしたため、ロジアナのプローブも当てられないような状態になって、バグ取りに支障をきたしはじめていたためです。

新しいサブ基板は、インターフェース誌の例のように、CPUの下になるようにします。
秋月の両面スルーホールユニバーサル基板の中サイズを用意して、CPU基板の外側に4穴ずつ大きくなるようにしました。1方向はそのままのサイズでぴったりだったので、下の写真の黒く線を引いたところ1辺だけカットしました。
060507befcut.JPG

で、こんな感じになりました。

<サブ基板・表>
・下と下部左右に4ブロックに分けて8ch分のサーボ用PWM出力。
・左上にアナログ入力5ch(残りの3chは加速度センサ用に使う予定なので未配線)
・中央には、3端子レギュレータ(48M05)とその上にシリアルEEPROM(24LC64)
・右上にPSコントローラ接続のコネクタ
・左に操作用のボタンとロータリーDIP-SW
・中央上側にリセットボタン
060507newbrd1.JPG
<サブ基板・裏>
060507newback.JPG
<CPU基板>(ピンヘッダを基板の下出しにして、RS232Cコネクタも取り付け、本の通りにしました)
060507newcpu.JPG

<合体!>
HSWB-02風になりました。
060507newbrd3.JPG

5Vの3端子レギュレータを付けたのは、SH2基板上のレギュレータの上限の6Vより大きい電源からでも動作可能にするためです。ただ、このレギュレータはジャンパーで切り離しもできるようにしています。

I2Cのプログラムは、明日あたりにアップできそうです。
前にアップした、PSコントローラとの接続プログラムにも、コントローラによって動作しないものがあるようですので、見直し中です。
今回の基板変更で作業がはかどるといいなぁ。

投稿者 hiranoy : 17:16 | コメント (0)

2006年05月06日

インターフェース付録基板でロボット制御(その11)

今日は、シリアルEEPROMをつなぎます。EEPROMはI2Cインターフェースの24LC512です。(24LC64なんかでも同じプログラムでアクセスできます。容量が違うだけ)

結線は以下の通り。
・24LC512の6番ピン(SCL)を PB2/SCL0 端子(J2-29) につなぎます。(要プルアップ)
・24LC512の5番ピン(SDA)を PB3/SDA0 端子(J2-30) につなぎます。(要プルアップ)
・24LC512の1,2,3,4,7番ピン(A0,A1,A2,GND,WP)を GND 端子(J2-40)につなぎます。
・24LC512の8番ピン(Vdd)を +3.3V 端子(J2-39)につなぎます。

サブ基板上の配線がだいぶ大変になってきました。
060506eeprom1.JPG

プログラムは完成しませんでしたので、完成次第アップします。

投稿者 hiranoy : 02:50 | コメント (0)

2006年05月05日

インターフェース付録基板でロボット制御(その10)

今日はPSコントローラをつなぎます。
SH7144もPSコントローラも+3.3Vで動くので、接続は概ね線をつなぐだけです。
今回は、取り付けたコネクタとの半田付けのやりやすさなどから、下記のように配線しました。

 信号名 PAD    SH2
 DAT 1番ピン → PA7 J2コネクタ34番ピン(+3.3Vにプルアップ)
 CMD 2番ピン ← PA6 J2コネクタ33番ピン(+3.3Vにプルアップ)
 +7V 3番ピン   未接続
 GND 4番ピン - GND J2コネクタ40番ピン
 +3V 5番ピン - +3.3V  J2コネクタ39番ピン
 SEL 6番ピン ← PA15 J2コネクタ28番ピン(+3.3Vにプルアップ)
 CLK 7番ピン ← PA8 J2コネクタ26番ピン(+3.3Vにプルアップ)
 NC  8番ピン   未接続
 ACK 9番ピン → PA9 J2コネクタ27番ピン(+3.3Vにプルアップ)

060505pspad1.JPG
入力信号のプルアップを忘れていて、4時間くらいはまりました。

つぎに、昨日のキャプチャと合わせて、下記のソフトを作ってみました。
・キャプチャモードにて、ボタンを押したときのポーズを記録。
・アクションモードにて、ボタンを押すと、記録したポーズをとる。
また、それに合わせて、4軸のロボット(ROPPOの手が無いようなもの)を作りました。
060505pspad2.JPG

ソフトはこちら→sh7144_1.c

(演習4に、このファイルを上書きして、昨日のservodrc.srcをプロジェクトに追加して、ビルドします)

ソフトの動作としては、
・PSコントローラのSELECTボタンを押すと「キャプチャモード」に移行。
・キャプチャモードでは、脱力状態になっているので、手でポーズを作って、そのポーズを記憶したいボタンを押します。(STARTとSELECTは除く)
・PSコントローラのSTARTボタンを押すと「アクションモード」に移行。
・記憶したボタンを押すと、ポーズを再生します。
(記憶していないボタンを押すととんでもないポーズになると思われますのでご注意ください)

そうやって、歩行モーションを6つのボタンに割り当てて歩くようにした動画がこれ→動画(QuickTimeで見れます)

投稿者 hiranoy : 07:50 | コメント (0)

2006年05月04日

インターフェース付録基板でロボット制御(その9)

「キャプチャ、キャプチャ、さっさとキャプチャ、しばくど!」と人形使いさんから言われてしまいそう(冗談です)なので、ポジションキャプチャをやります。
060504capture.JPG

といっても、メカボンBで書いていたSH2/7045用のプログラムの移植です。

7045より処理速度が速いので、どこまでキャプチャの分解能を上げられるかやってみたところ、3.6usくらいが限界でした。3.125usの分解能だと、700us~2300usを512に分解できるところでしたが、3.6usが限界なので、時間調整をして4.0usの分解能で行くことにしました。
サーボへのパルス出力も同様に4.0usの分解能に修正して移植しました。
そのサブルーチン→servodrv.src

動作確認に、CH0で取り込んだポジションキャプチャの値をCH1のサーボにPWM出力するテストプログラムを作りました。→sh7144_1.c

そしてそのときの様子→動画(QuickTimeで見てください)

-------------------------
追伸:昨日のエントリーに、KRG-3の実験を追加しました。

投稿者 hiranoy : 06:48 | コメント (0)

2006年05月03日

インターフェース付録基板でロボット制御(その8)

楽天で注文していた「吉野のロボット製作日誌」が届いた。
王国に注文していた KRG-3 が2個届いた。
KRG-3の電源電圧は3~5Vとのこと、3.3Vのインターフェース付録基板は、接続OKのはず。

で、サブ基板を改造して、つなげてみました。
ジャイロ1つ目をAN4端子にに、2つ目をAN5端子に直結しました。
060503jyro1.JPG

A/Dコンバータで取り込んでみたところ、定常状態で、1つ目=1370mV、2つ目=1300mV 付近となりました。添付の資料には、1.35Vとありましたので、まあこんなものでしょうか。
センサを動かしてみたところ、観測できた範囲では、20mV~3300mVの電圧が得られました。
演習4を改造したソフトはこちら→sh7144_1.c

KRG-3のコネクタを奥にした状態で、センサを時計回りに回すと大きい電圧、反時計回りにまわすと小さい電圧を出力しました。
060503jyro2.JPG

投稿者 hiranoy : 04:41 | コメント (0)

2006年05月02日

芝浦工大ロボフェス06にエントリー

カレンダーどおりのGWなので、朝出て、深夜0時くらいまできっちり働いてきました。
なので、インターフェース基板はちょっとお休み。

芝浦工大ロボフェス06にエントリーしました。今年もバトルフラッグがあるようです。去年は団体戦は参加できなかったので、今年は参加できるように頑張りたいです。

フリースケールの「電子工作キット製作コンテスト」にエントリーしました。先着20名の評価キットも届きました。
060501fs1.JPG

確かにCodeWarrierも入ってます。
060501fs2.JPG

投稿者 hiranoy : 02:30 | コメント (0)

2006年05月01日

インターフェース付録基板でロボット制御(その7)

今日は、昨日取り付けた浅草ギ研の3軸加速度センサーの出力電圧を取り込みます。

加速度センサーは配線の都合で、X軸をAN2、Y軸をAN1、Z軸をAN0 に接続しました。

A/D変換結果をシリアルポートから出力しますので、サンプルプログラム「演習4_シリアル+AD変換」をベースにして、0~7チャンネルが切り替えられるようにしたのと、簡易printf()関数を作成しました。
3.3V電源でセンサーを使ってますので、水平状態でXとYは、1650mV付近となっています。
いろいろ角度を変えると1200mv~2100mVくらいの範囲で出力が変わるようでした。

出来上がったプログラムソースはこれ→sh7144_1.c

Enterキーを押すとX,Y,Zの3軸のA/D変換を行いシリアルポートに出力します。
(実行時の TeraTerm の画面)

投稿者 hiranoy : 02:27 | コメント (0)