256(JiGoRo)-Series 日記 (2)
SEMB1200A のページを適宜更新中です。
思いっきり、更新を止めていました。 地底にもぐっていたわけではないのですが、ここ数ヶ月ほど、色々と目まぐるしく状況が変わってしまって大変な毎日でした。 色々な方々とお会いする機会に恵まれ、ロボットを通して視野が広がった感じがします。 動歩行計算によるロボットを動かすということもできたし、いしかわさんの練習会とか、仕事関係の方々という内輪になりますが、ロボットもお披露目できたし、今度こそ、ちゃんと ROBO-ONE のリングに立たせたい、そう思います。 以下、このところアレコレと悩んで考えたまとめとして書き記しておきます。
---------------------------------------------
何をするか、何を表現するのか、可能性は未知数だけど、やりたいことはたくさんある、という想いだけは強い。 だから、あとは、やるだけ(のはず)。
現 JiGoRo の制御系、メカについて、次期作を見据えて、制御系を見直し(こればっかり。。。)
制御系 | 接続 | |||
メインCPU | SEMB1200A | 1 | 動歩行計算など担当 | |
アナログ系 | 評価キット | 1 | ジャイロ、加速度センサ搭載 | CSI |
データロガー | SD card | 1 | 1Gbyte | CSI |
センサ | CDS | 1 | 光度測定 | ADC |
AGB65-4FS | 2 | センサのみ使用かな? | UART/CSI | |
コントローラ | LPGC-60000 | 1 | プレステ2用コントローラ | CSI |
その他 | ZIG-100B | 1 | メンテナンス用 ZigBEE | UART |
バッテリ | LiPo 2セル | 2 | 2,200mAh と 370mAh の2個 | |
メカ | ||||
サーボ | KRS-2346ICS-RV | 20 | ヒザはスピードアップ改良版 | PWM |
フレーム | A5052 | 1.2mm厚(既存のものをそのまま) |
続いて、構想段階の次期 JiGoRo の整理を。。。
制御系 | 接続 | |||
メインCPU | SEMB1200A | 1 | 動歩行計算など担当 | |
アナログ系 | 試作中 | 2 | センサ計測 | CSI |
データロガー | SD card | 1 | 1Gbyte | CSI |
センサ | MDP-A3U9S-U | 1 | 3軸ジャイロ,3軸加速度, 地磁気センサ,温度センサ | CSI |
CDS | 1 | 光度測定 | ADC | |
GP2D12 | 2 | 距離測定 | ADC | |
容量センサ | 2 | 音認識 | ADC | |
AGB65-4FS | 2 | 足裏圧力測定(センサ+高速ADC(+SPI)かな?) | UART/CSI | |
コントローラ | LPGC-60000 | 1 | プレステ2用コントローラ | CSI |
その他 | ZIG-100B | 1 | メンテナンス用 ZigBEE | UART |
バッテリ | TP2100C-3S | 1 | LiPO 11.1V 2100mAh | |
メカ | ||||
サーボ | KRS-4014HV | 23 | ヒザはダブルサーボ化 | UART |
フレーム | A5052 | 1.5mm, 2mm厚を使用(新規作成) |
制御系は、3.3V, 5.0V が混在してしまうのを避け、極力3.3Vで統一を。 しかし、全部一から自分で作りきれない領域もある。 Make or Buy の選択は Time is money. と天秤に。
プレステコントローラをはじめ、各種デバイスが CSI(SPI) であることから、積極的に使うことにする。 これまで知らなかったとはいえ、自分で一生懸命ポートをたたいて対応していたのが懐かしい。 統一規格を作ることの重要性を再認識。
あと、搭載は決めているが、どれを選ぶか?で悩んでいるのが、カメラ(CCD,CMOSセンサ)。 最近の気になるところで、ココ(CAB岩手株式会社)。 特に、NCM03 - Fは、視野角100度で、QVGA, QQVGAモードをサポートしているので、画素数が VGA 640*480 の 1/4 or 1/16 にあたる 320 * 240 or 160*120 で取り込めるので、画素数がいらないと思えば、チューニング段階で変えられるのはうれしい限り。 30fps(@VGA) というのがどの程度のものなのかは、未知数(QQVGAだと理論上480fpsってこと?)(少なくとも、今のシリアル通信よりは良い)。 (と、ここまで書いておけば、誰かが挑戦してくれないかなぁ。。。一緒にやろうという制御系に強い方募集です)
(2006年8月某日)
時代は変わる、いや、変える。 作るもの。
とってもコンパクトな頭脳とサブボード。 70x80x25の中に凝縮。 CSI 拡張端子を4つ載せても、まだ空き土地あり。 独立 PWM 32ch, UART 10ch パワーでいこう。
でも、忘れちゃいけないことだけは、残しておきます。 前回大会断念の秘話?
モーション作成時、急にサーボが動かなくなった。 CPUのROMに書き込んだタイミングだったので、プログラムばかり疑っていました。 電源線が断線していることに気づかず、朝になって・・・。
動かない場合は、まず、電源線チェックから。
(2006年8月20日)
MMC(SD-card) のコントロールについて。 ChaN さんのココが参考になりました(というか、全て補えます。 すばらしいです)。
SPI による制御と、FAT16(32) での操作ライブラリまで揃ってます。
ということで、簡単に作ってみましたの図。
CSI(SPI) 端子から SD-card, 12bit ADC 8ch です。 どんどん拡張していくぞ。
あと、ZigBEE ユーザーの情報が各所で挙がってますが、チャンネル問題はあるとして、通信エラーが気になるというコメントがありますね。
私の場合、ロボット操作中にPCと無線で何かをさせるわけではないのですが、もしやるなら通信速度を落とします。
PSコントローラにしてもそれほど速度は上げてません。 結局無線でやろうという場合、何をさせたいのか?を割り切る必要があるということだと思います。
(2006年8月27日)
また、1ヶ月止めてしまいました。。。 止めた成果は、この2つ!
1つ目は、まもなく発売のSEMB1200Aのライブラリ整備。 もう1つは、JiGoRoHP の組み上げ。
(*2) : 近藤科学(株)製 |
(2006年10月1日)
久々更新でしたが denno_ono さんのところでROBO-ONE 公式ページに続いての好評をいただけました。 有難うございます。(今度こそ、ONO-ONE ゲットするぞ)
気分を良くして、SEMB1200A ページをさらに更新しました。 今回は、プレステコントローラの接続についてです。
(2006年10月2日)
やりました! ONO-ONE ゲットしました(denno_ono さんのところ)。 denno_ono さんのところに紹介され始めてから、Webの調子が戻ってきたみたい(けれど、トップページを参照する際、index.html まで書くと、古い index.html が読み出されるんですよね。。。謎)。 トップページを見るときに SEMB1200A ページが見えない方は、URL の index.html を消してみてくださいね。
またまた気分を良くして(目の下にクマを作って)、SEMB1200A のライブラリを更に作りました。 今回は、PWM
入出力。 ライブラリ整備してあるので、これだけです。 設定1行、取り込み1行。
今日はココまで。 と思ったら、近藤科学(株)のサイトで ICS2 のコマンド公開されましたね。 ということで、ライブラリの使い方含めたサンプルコードを SEMB1200A ページに挙げておきますので、ご参考まで。 こっちも簡単。
(2006年10月3日)
SEMB1200A が発売されましたね。 ココのメーカサイトに色々とかかれてます。 メーリングリストもあるみたいです。 早速登録しました。
それによると、発売は、ツクモさんとRTさん。
あと、Cygwin 含めた開発環境を構築しているサイトを見つけました。 結構、詳しく書いてあるので、私のページも用語を書き直さなくっちゃ。。。
(2006年10月7日)
ROBO-ONE 第11回大会規則が公開されました。 腕長さが。。。 治さないといけないことに気がつきました。
(2006年11月2日)
忙しい日々がひと段落。 実は新型ジゴローを TRONSHOW2007 に参考出展という形で協力させていただいていました。
見に来ていただいた方、偶然見つけて見学して頂いた方、有難うございました。
SEMB1200A の T-Kernel 実装ということの応用と言うことで、NEC グループブースに展示しておりました。
左上写真
|
TRONSHOW2007 の展示レポートは、NECエレクトロニクスのホームページ(ココ)にも掲載中。
ここで、7時間x3日の連続動作を行いました。 展示しながら実験をさせていただきました。 近日発売予定のアナログボードと3Dモーションセンサーの調子をデータログとして FLASH-ROM に落としてみました。 結果、起動直後、皆さんが触った時の変動、等において、ジャイロ(MEMS)のオフセット補正は正しく行われているようでした。 以下、参考までに、ジャイロと加速度のデータを載せておきます。
![]() |
![]() |
|
(2007年12月10日)
ジャイロセンサについてちょこっと考察を。(ずっとやりたかったけど時間が取れなくて出来なかった。。。)
MEMSというデバイスの特性上、温度に対しての補正が必要になります。 安定になっているタイミングでオフセット補正をしても良いのですが、ロボットのように常時動いている場合には、オフセット補正するだけの信憑性のある静止が得られない場合があります。 そこで、単純ではあるのですが、温度センサーをジャイロ付近に設置し、静止保管、外気温度変化の調査をしてみました。
![]() |
![]() |
なかなかの精度でフィッティングできていました。 3軸のうち1つがあまり外温に影響されていない挙動をしているので、フィッティング精度が落ちて見えますが、直線に乗っているので、OKでしょう。
参考までに、今回の試験した回路&部品をご紹介します(回路というほどではありませんが。。。)。
温度センサーはナショナルセミコンダクター製のLM35(秋月電子通商で購入できます)が4V以上の動作保証で、出力が 0 [mV] + 10.0mV/℃ (2℃〜150℃) のため、3.3V仕様のADC端子に直結もOKですが、怖いので、左図のように Rail-to-Rail 法で介すようにしました。 (本当は、別のセンサの増幅に使った OP-AMP の1つがあまっていたので、使いました)
![]() |
|
(2006年12月29日)
今年も色々とありましたが、なんとか大きな病気、怪我もなく年越しできそうです。
Webの更新が止まってしまうことが多かった(書いている回数が数えるほど)ので、来年(4月以降ですが)はもう少し書いていきたいと思います。 そんな中、更新のたびに取り上げて頂きましたdenno_onoさんには感謝です。 見ていただける方がいらっしゃるからこそ、続けられるというものですからね。
それでは、皆様、良いお年を。。。(今日から雪を求めて旅行です)
追伸) 来年は、このジゴローくんで行きますので、皆様お見知りおきを。。。
(2006年12月30日)
あけましておめでとうございます。 本年もよろしくお願いします。
連休の成果は・・・。 配線(長さ調整)とホームポジション設定と、地味な感じでした。 ここからは、以前作ったソースで足踏みや歩行をさせてみようと思ってます。
いつも感じるのですが、この全部のサーボに結線をして電源供給する瞬間って、手に汗かきますね。 ちゃんと動いてくれて当たり前なのですが、その通り動くときの感動はプラモデルみたいな既製品を組み立てるのとは違って、ヨッシャァという感じ強いですね。
今年も地道にコツコツと行きたいと思います。 なかなか良い進捗なので、この調子でいければいいなぁ、と思います。
今回の制御系は、頭とランドセルの2つに分けて 搭載してます。 それぞれの場所には、 ・頭部分 各種センサー、AD変換機、SD-Card、 サーボへの分配機を搭載 ・ランドセル LiPo電池、メインCPUボード、 デバッグ用にZiGBEE を搭載 神のところで放熱ファンの搭載がありましたが、 ジゴローはまじめに放熱のために搭載しています。 これのおかげで、CPUは冷え冷え状態です。 隠しモードでもばっちり動作してます。 |
|
(2007年1月8日)
Cコンパイラの癖を知ることは組み込みマイコンソフトを書く上で重要なんだな、と再認識しました。(コンパイラのオプションに依存するのも当然のことです。 以下一例です) NEC エレクトロニクスの 78K0 シリーズのマイコンを使ってアナログ系のセンサ取り込みをしていたのですが、以下のような結果になります。
integral = (((unsinged char)1 << bitshift) - 1) & (MAX_SAMPLING - 1); |
101: mov a,_bitshift 102: or a,a 103: mov c,a 104: mov a,#01H 105: bz $?L01 106: add a,a 107: dbnz c,$$-5 108:?L01: 109: mov a,x 110: dec a 111: and a,#01FH 112: mov _integral,a |
integral = (unsigned char)(1 << bitshift); integral--; integral &= (MAX_SAMPLING - 1); |
201: mov a,_bitshift 202: or a,a 203: mov c,a 204: movw ax,#01H 205: bz $?L02 206: xch a,x 207: add a,a 208: xch a,x 209: rolc a,1 210: dbnz c,$$-5 211:?L02: 212: mov a,x 213: mov _integral,a 214: dec _integral 215: and _integral,#01FH |
このソースは、平均化処理するための積算数を integral 数だけ行いたいのですが、平均値を最後に求める際に割り算だと重いので、ビットシフトで平均値を求めたいと考えて、積算数をビットシフト値(bitshift)をベースに
integral 値を初期化している部分です。
2つの例をあげてます。 微妙な違いもアセンブラレベルでは変わっていることが見て取れます。 @ Cコンパイル時のワーニング防止のため加えた
(unsigned char) 指定。 これもつける位置によっては、8ビット演算か、16ビット演算か?が変わります。 コード数も違いますね(101-107行目と201-210行目の差)。 A あとからのデバッグ等しやすいようにするため下段のように分割して書いてみたのですが、アセンブラのコードの213〜215行で直接変数が格納されているメモリをアクセスしているのをみて、なんて無駄なんだろうと思いました。 が、一方で、こうやっている理由も理解することが必要だな、と思いました。 下段の方は、もしも、割り込みが途中で発生した場合でも、計算途中の
integral を反映させたい、とCソース書き手が考えているのかもしれない、という配慮で正しく反映させていると言えます。 しかし、仮に割込みで
integral を使うようなケースの場合、計算途中の integral 値を使うのは危険であることはいうまでもありませんね。
スピードの点、反映のされ方を見て最適化していくのは、最後は組み手である人間によるところが大きいし、分担だなと思いました。
こういった事例を1つずつ解釈していくことで、高速CPUを持つSEMB1200Aとの通信でスレーブ側になるボード達のチューニングは、ほぼ終えた感じがします。 78K0 マイコンには、8chのADCと3軸加速度、3軸ジャイロ、3軸地磁気の積分・平均値計算、さらにプレステコントローラの受信もさせてしまうようにしました。 結構重たそうですが、サーボ制御周期が100μsec程度に将来なったとしても対応できる(通信エラーが生じてハングアップしない、という意味です)ように仕上がった感じです。
![]() |
(2007年1月28日)
(ちょっと余談ですが・・ココのどこかに本業の方の投稿依頼記事が載りました)
KRS-4014HV の ICS2.0 の通信速度は、どの程度まで処理(命令)サイクルを高速化できるのでしょうか?
ボーレートは決まっているので、キャプチャモードでデータが帰ってくるまで待つ時間で律即していると言えます。 以下、SEMB1200A
の拡張 UART3 にて実験してみました。 サーボのファームバージョンにも寄ると思いますので、同じ値にならないぞ!と言う場合はごめんなさい。
UX1200E に入ってくる 33MHz のクロックベースでTimer-TC#0 を使って測定してみました。 1分くらいの連続安定性をみています。 タイマ割込み周期をTRY&ERROR(追い込みは0.05msecオーダーで調整してます)
を繰り返す感じでは、1.10msec 位の周期であれば、問題なくキャプチャのためのデータが返されてきているみたいです。 その値で30分くらい連続してみましたが取りこぼしは無いようです。
とすると、この周期をしっかりと守れば、デージーチェーンをしても問題なく(信号が混線することなく)サーボ制御&キャプチャができるはず。 まずは、この数値を信じてやってみよう。
同じように、キャラクタリスティングチェンジ機能、ストレッチとスピード変更を行ってみました。 結果、ストレッチもスピードも、1.10msec. でした。 PWM のキャラクタリスティングチェンジだと、ポジションキャプチャの取り込み分まであるので、6〜10msec.かかっていたことからすると、スピードアップができてますね。
総じて、KRS-4000 の ICS2 機能はすばらしいです。 127段階で任意なタイミングで切り替えできるのですから。 また、切り替え周期もすばやい!(強いてあげるなら、キャプチャなしの制御コマンドが欲しかった。。。) ここで1つ気になるのが、ストレッチやスピードを書き換えるコマンドは、EEPROMを書き換えているのだろうか? 電源が切れても記憶しているみたいなので、EEPROMを書き換えていると推測できるんですが、EEPROMをそんなに頻繁に書き換えて大丈夫なものなのでしょうか。。。 大会中だけではなく、チューニング含めると。。。 いかんいかん、考えるのはやめよう。 考えてどうにかなるものではないので。
いしかわさん&法政大学電気研究会さん主催「2/17の関東練習会」に参加を表明。 よし、ターゲットは決まった。 そこまでに少なくとも動くロボットを作ろう(なんと低い目標値、と言わないように)。 できていない場合は、SEMB1200A の使い方講座や、いろいろなお話をしましょうかね。(←こっちの方が期待されて、ロボットは動くな!という人がいたりして。。。それは寂しいですよ!!)
(2007年1月30日)
くじけそうなタイミングで、うれしいメールが届きました。
MIT (マサチューセッツ工科大学)さんで KHR2HV + SEMB1200A という組み合わせによるワークショップがあり、スポンサーページに私のライブラリ等を使ったということで、謝辞(スポンサーページの一番下)を掲載していただきました。 MITのWebSite に個人名が載るなんて、うれしい限りです! SEMB1200Aユーザーがワールドワイドで広がることを期待します。 ん?もしかして、こちらのページも英語、フランス語、ドイツ語、スペイン語、ポルトガル語、中国語、韓国語。。。 これまた考えるのは止めておこう。 個人で遊んでいるわけだし。
Course info ページをみると、ワークショップで使われたドキュメントがダウンロードできますね(太っ腹です)。 細かいところまで丁寧に搭載するときの注意点等かかれていて、参考になります。 開発中のアナログボード、3Dモーションセンサーなども搭載されていて、応援したかいがあったあったというものです。 今回、いくつか libsemb.a にリクエスト(バグかな?)が着ておりましたので、どこかのタイミングで改版を進めたいと思います。
KHRシリーズをお持ちで、SEMB1200Aも使ってみたいなと思っていらっしゃる方、参考にされてみてはいかがでしょうか?
(2007年2月4日)
(うれしい悲鳴?)
ようやく、歩行テスト。 しかし、KRS-4014HV はトルクが前のものに比べて2倍もあって、歩くというか、弾んでいる感じ。 感覚がわからない。。。
最近、ネットサーフィンもしていなかったので、ふらっと散歩。 しかし、2つ目でストップ。
まず、いしかわさんのところで、関東練習会を。 21名か。。。結構集まりましたね。 あと1週間あるので、もうちょっと増えるのでしょう(飛び入り参加の方もいらっしゃるでしょうし)。 ん? 「SEMB1200A
の使い方講座」、宣伝いただいているんですね。 たぶん、実際に使っている様子がわかればいいんだろうなぁ、と思っています。 特に希望することがありましたら、当日に。 昼ごはんは家で食べてから出かけるので、14〜15時くらいに到着かと思います。
続いて、ROBO-ONE 公式サイト。 ようやくエントリーできるようになったのですね。 重量別にする? 32体の中でのバランスはどうなるの? 重さはエントリーの際に記載したものが採用される? 2kg台、3kg台が多そうですね。 3kgを超えるのと超えないのでは、ロボットのパワーがダンチな気がする(足裏サイズも違ってくるので、ここの差は大きい)。 入場料も3人目からかかるのかぁ。。。
ぼけ〜っとしている場合じゃないなぁ。。。ちゃんとやらなきゃ。
(2006年2月12日)
前に使っていたモーションシーケンサを JiGoRoHP 向けに作り直し。 ICS2 対応で全サーボのストレッチ、スピード調整も可能に(もちろん、Excel データとして保存もする)。 以前使っていたeasy com (ec) は使わず、MSComm を使って Excel 2003 の Visual Basic 6 で作りなおし(相変わらず Basic に慣れていないため、ダラダラと書いたプログラムになってしまった)。 特徴:全サーボ同時設定や指定サーボのみ設定が可能/送受信のLOGが見れる/Excel シートにデータが書かれているため、編集が簡単/登録データの連続設定による簡易モーションチェック可能。 ここで作ったデータは、SEMB1200A のフラッシュメモリに書き込む予定。 データ領域として2Mバイトもあるので、Excelに吐き出したデータをそのまま配置してもあふれない。 余裕があるのはいいこと。 あとは、私の時間的余裕があれば。。。
![]() |
ちょっと前にやってみた、JiGoRoHP なりの内股補強。 特に足首辺りの内側がこすれるので、ケーブルを止めていた塩ビシートが切れてしまった(下写真の左側)ので、下写真の右側のように補強をしてみました。 反対側は、ケーブルが通っているわけではないのですが、ネジ頭とかが出っ張っているので、それを引っ込める?ために同じプレートを付けてみました。
昨日は、関東練習会にいけずでした。 待ってくださっていた方、ごめんなさい。 体調を整え、今後に備えます。。。
近藤科学さんの KRS-401x シリーズに使われている ICS2 ネタです。
先日の記載:ここで1つ気になるのが、ストレッチやスピードを書き換えるコマンドは、EEPROMを書き換えているのだろうか? 電源が切れても記憶しているみたいなので、EEPROMを書き換えていると推測できるんですが、EEPROMをそんなに頻繁に書き換えて大丈夫なものなのでしょうか。。。 大会中だけではなく、チューニング含めると。。。(ここまで)
と書いたのですが、マニュアル最終ページにちゃんと書いてありましたね。 あるタイミングにて書き込みを実施する、と。 でも、どういうタイミングなんだ?? 電源ON直後は、電源OFFの状態ではない可能性がある、という意味ではないのでしょうか?
(2007年2月18日)
気分転換にネットサーフィン。
・ROBO-ONE 11回大会の出場者ネタが多数あり、参考になりました。
・ロボット作りよりイベント参加とかの話題が多く、応用編?ですね。
総じて、皆さん頑張っている!
予選資格審査すら突破したことの無い私がいうのも何ですが、今回、手足の長さ見積もりを間違って、予選に出れないロボットが多いのではないか?と心配になりました。 ネットサーフィンして拝見した感じです。 足は太もも部分の軸定義がポイント(Yaw軸は関係なく、ピッチ・ロール軸から足裏まで測る)、手は、伸ばした状態で、肩の回転軸とは関係ない。 つまり、手は、たいていのロボットは鉛直下に下ろすより、45度とか、斜め下に伸ばした状態がもっとも長くなるはず(肩のパーツの角から、手先まで測る)。(という私も危なさを感じたので、急遽手先のパーツを作り直しました。)
とりあえず、ジゴローHPの進捗報告。
・ 動歩行計算 ・・・ 前後方向に対応できているので、演算上無理はなさそう。 (歩行スピードの調整が残件;Max値の把握)
・ 方向転換 ・・・ これも難なくできました。 1回の足上げで30度くらいは楽に回れることを確認(90度くらいやらせたいが。。。)
・ ジャイロによる姿勢補正 ・・・ これもできた。 MDP-A3U9S-U(ジャイロ・加速度・地磁気3軸ずつあるセンサ)も順調(78K0マイコンとの通信含む)。
・ コントローラにてトコトコ歩かせる ・・・ これも出来た。 全体の進みは遅いが、各モジュール完成度が高いので、あわせたときのバグが少ない。
・ 予選ネタ ・・・ 縄跳びと人の役に立つことは、イメージは出来た。 仕込みが間に合うか??ではなく、間に合わせるのだ!!
トルクが大きなサーボなので、計算どおりに動いてくれて助かります。 あとは、起き上がりモーションができれば、予選資格審査はできたことになります。 ようやく、ここまでできたかぁ。。。という感じです。
(2007年3月5日)
(ちょっと余談です)
ROBO-ONE 大会に向けて調整中。 しかし、今さならながら基本的なところで抜けているようで、コレとか注文。
さっそく届いたコレは、意外と軽いので、驚きました(驚くところが違う?)。 ツクモ会員だと1サーボほど安く買えるということで買いましたが、やっぱり2サーボということで高価だったかな??
あと、近藤科学サーボ ICS 設定の Punch, DeadBand, Damping の数値大小がいつもわからなくなるので、メモを。。。(ICS, ICS2 で大小が同じであることを期待して・・・)
![]() |
Punch | Dead Band | Damping | |
![]() |
![]() |
![]() |
小 | |
![]() |
![]() |
![]() |
大 |
またまた、棄権でした、ROBO−ONE。 今回は、気合いをいれて調整をしていて体調を崩しました。 もっと計画的にやらないといけないな、と思う反面、ROBO−ONEに出場されている方々が如何に凄いかが良く分ります。
ともあれ、前進しましょう。
(2007年3月26日)
多くは語りません。 SEMB1200A 統合環境(Cygwin や Linux でのコマンド使いでない環境)です。 これで、どうだ!
(補足:語るつもりは無かったのですが、配布できそうなところまで来たので、テストバージョンとして、SEMB1200A ページに挙げておきます。 ただ、まだ、.bin のファイルが同一環境で作れない。。。)
![]() |
残件は、以下の通り。
・ objcopy を実行できるようにしたい( .out まで作れるが、.bin が出来ない) ・・・ なので、これだけの環境では、まだ未完成です。
・ gdb によるデバッグ(Sim)ができるのか?
(2007年4月1日)
昨日は、Ono-ONE でした。 頑張った甲斐がありました。 有難うございます。 > denno_onoさん
色々と調べてみたのですが、MinGW Developer Studio ですが、FullSet version
でなくても環境構築できるみたいです。 さらに、.out(ELF)から.bin 生成においては、Windows標準の
command.com 環境で、PATH さえ /MinGWStudio/MinGWmipsel/bin を指定していれば、mipsel-semb-objcopy
が実行でき、生成できることもわかってきました。 開発環境が Cygwin から、統合開発環境にできそう、ということで、ユーザーが増えることを期待します。。。
(2007年4月2日)
さらに、わかってきましたよ。
MinGW Developer Studio ですが、C:\MinGWStudio\Templates に、ctl ファイルがあり、これが、プロジェクト生成の際にオプションセットされる項目を記載しているファイルのようです。 新しい名前で登録する(たとえば、SEMB1200A.tpl)とかしても選択できないので、Windows Console を SEMB1200A console と置き換えて使うのであれば、コレ console.tpl に置き換えてもらえれば、プロジェクト生成ごとに設定をしなくてもよくなりました。 これは、使えますよ。
あと、力押しですが、Windows プログラムをちょこちょこ書いてみて、.out(ELF) を .bin に書き換えるプログラムが作れそうです(ELFヘッダ解析プログラム例)。 汎用ではないですが、SEMB1200A プログラムくらいなら、対応できる、という機能限定でリリースできるかもしれません。
こうなってくると、統合開発環境の整備も終わりがみえてきた感じです。
ここまでのまとめを再度 SEMB1200A ページに書いておきました。
(2007年4月2日 23:00頃)
チェック漏れてました。 CQ出版の Interface誌 5 月号にて V850基板が付いていますね。
これまでのV850基板は少しお高い感じがしていたのですが、付録について、\1,680円となると買いですね。
さっそく、色々とやってみようと思います。 CSI(SPI), UART, I2C 多数チャンネルをもっているので、SEMB1200A
の子ボードとしても使えますね。
(2007年4月6日)
ロボットの趣味をもったのと同じ頃に生まれた長男が、今日、幼稚園の入園式を迎えました〜。
今日のネタは2つです。 アイテム見つけました、と、MinGWDeveloperStudio とのコラボについてです。
![]() |
1つアイテム見つけました。 ↑コレです。
ググると、通販で安く買えるところが何件か見つかりました。 今回は、ココで購入しました。
ロボットのネジ頭を潰してしまって、メンテが困ってしまったときに、活躍します。 ネジ交換に困っている方は、試す価値アリです。 低頭ネジでも外せました(もちろん、限界はあると思いますが、手持ちのものは大丈夫でした。) ロボットのネジは緩み止め剤をつけていることが多いと思いますので、がっちりつかんで外す工具は必須アイテムでしょう。
一応、gdb 以外はできたかな? MinGWDeveloperStudio とのコラボで mipsel-semb-elf 環境が統合開発環境に生まれ変わりました。
リンカ実行時の .ld ファイルに不具合があったのと、mipsel-objcopy.exe を作ったので入れたバージョンをココにアップしておきました。
ELF(.out) を .bin に変換するソフトとして、mipsel-objcopy.exe を作りました。 使い方は、SEMB1200A ページに書いておきましたので、参照ください。 一番簡単なのは、mipsel-objcopy.exe アイコンに変換したい .out ファイルのアイコンをドラッグするだけの方法だと思います。
(2007年4月7日)
ネジザウルスネタで、いしかわさんからリクエストを受けました。 それは、後日とさせてくださ〜い。
今日は、またまた、SEMB1200A の統合開発環境ネタで。
MinGW Developer Studio だけではなく、Visual MinGW でも、同じ MinGW(MSYS) 環境で作った mipsel-semb-elf ツールが使えることがわかりました。
Visual MinGW の方が、Windows API開発に特化した形で作っていないので、シックリ来るかもしれません。
以下、Screenshot を幾つか挙げておきます。
![]() |
![]() |
![]() |
![]() |
![]() |
(2007年4月14日)
いしかわさんのリクエスト(4/8)にお答えして (^^; ネジザウルスM2を使って外したネジを紹介します。
振動で外れないように、ネジの緩み止め剤(アロンゆるみ止め)を使っています。 それが茶色くなっている部分で、1滴でよいところをたくさんつけてしまって、取れなくなった・・・というネジに有効でした。 使っているネジは、ほとんど、低頭ネジと呼ばれるもので、頭の厚さが 0.5mm 程度です。 ネジの頭をつかんで廻すので、頭の周りがメタル色に変色しています。 ほんの少しだけの角度でも廻せることができれば、あとはドライバーで廻せました。 ただ、真ん中2つのネジみたいに、+部がかけてしまったものは、何回転もつかんで廻し、つかんで廻しを繰り返さないといけないので、ちょっと大変かな? でも、ちゃんと外れるので、頑張って廻しましょう。 ネジザウルスM2 の先がとっても小さいので、狭いところにあるネジもしっかり外せました。
もう1つ紹介。 サーボの出力軸がぽっきり折れる、というのを耳にしますが、私は1個だけですが、上の写真右側のようにサーボホーンがポッキリ外れました(左側が正常なサーボホーン)。 どうしてこんな風に外れてしまうんでしょうね。。。
(2007年4月15日)
ネジザウルス、なかなか好評ですね。 みなさんも、ネジ外しができなくて諦めていませんか?
ちょっと気分をかえて、モータドライバを作ってみようかなと。
特に新しい手法を見つけたわけではないのですが。。。(抵抗値は変える予定) GW中にやろうということを、ちょこっとずつネタ仕込みしております。
![]() |
![]() |
(2007年4月17日)
近藤科学(株)さんの ICS2.0 と同じ UART 方法を使えば、サーボの先にある
CPU との通信ができるのではないか?ということで、やってみようと思います。
まずは、第1弾として、以前、購入していた uPD78F2222互換のサンハヤトさんの 78K0S/KA1P CX のプログラミングとフラッシュROM環境を整備。
uPD78F2222 互換なので、ココにあるフリーのライタさえ準備できれば、開発環境が整うはず。 さっそく、半田付け。 8MHz の OSC がないので、京セラキンセキ製 EX03J 16MHz を分周させてクロックは作りました。 uPD78F2222 互換ですが、ピン配列が違うので、注意を。 X1/P121(pin#2 -> #7), X2/P122 (pin#3 -> #8), RESET/P34 (pin#6 -> #11), VDD (pin#5 -> #10), VSS (pin#1 -> #6)。
ハード作成が終わったら、WriteEZ2 を PM plus に登録して実行するだけ。
![]() |
まずやってみようと思っているのが、足や手先の感圧センサを ADC で取り込み、転送する、というだけのもの。 これで、物を持ったり、足裏の力のかかり方を測定したりできるはず。
ICS2.0 と混線しないようにするには、@通信データ(コマンド)の最上位ビットが
1 の場合、コマンドとして認識される。 データは下位7bitで通信を行う必要がある。 Aデータは7bit
の倍数でなければ、通信上データ量が無駄に増える。 (ADC を 32回積分とし、14bit
長とすることにした。) B通信は 5V-TTL レベルで行う必要がある。 できれば、耐圧は高いほうがよい。 C拡張した側のTxD(送信)端子はNch
Open Drain モードで動作することが必要、と言うところでしょうか。
とりあえず、足裏センサを紹介。 浅草ギ研さんの感圧センサ(AGB65-4FS)を接続しました(写真の関係で、ケーブルは外してあります)。
(2007年4月22日)
先日の ICS2.0 と混線しない1線式 UART の実現に向けて、補足説明です。 単純に、UART の送受信信号をワイヤードORすると、TxD(送信)が High 側にドライブしていると、RxD (受信)にデータが取り込めません。 そこで、以下のようにします。 2SK1132 は Nch-MOSFET です。 以前、オリジナルドライバを作ろうということで、買い込んでいたものがあったので、とりあえず使ってみようと思いました(もっと適切なものがあるかとは思います)。
![]() |
このようにできるのは、uPD78F2222 の UART6 は、TXDLV6 を 1 とすると、TxD の出力をストップビット等含め全て反転してくれる機能があるためです(補足資料として、uPD78F2222 のユーザーズマニュアル[U16898JJ3V0UD00.pdf] p.198より引用)。
![]() |
TxD6 からデータを送信している際、Nch-MOSFET はゲートが ON/OFF されるので、GND 電位か High-Z 状態を作ります(このとき、送るべきデータが反転している方が都合が良いことがわかりますよね)。 TxD6 が通信をしていないときは、Nch-MOSFETが OFF なので、High-Z 状態となり、通信を阻害しません。
(2007年4月23日)
(予告) 5/27 秋葉原で何かをやります! (ヒントは、denno_ono さんの掲示板その1(2007/02/28-03/02, No.78-81)にて言っていたやつです) 詳細は近日。
(2007年4月30日)
SEMB1200A-AB02 アナログボード&3Dモーションセンサ(加速度*3軸+ジャイロ*3軸+地磁気*3軸)セットが発売になりましたね。 既に公開されている取説によると、大きさは、 35.56mm x 30.48mm x27mm、アナログポートも7ch開放されているみたいです。 積分、平均値の出力を持つみたいですね。 ADC 8ch目(ADC7) の電源監視で、P63ポートがスイッチングするということは、電源がある電圧以下になったら、電気的にスイッチOFFというのができそう。
![]() |
こんな感じでよいかな? 抵抗と Nch PowerMOSFET は適当に選ぶことになりますが、千石電商さんでも扱っている、2SK3125(ON抵抗5.3mΩ, Id(DC max)=70A) を NchPowerMOSFET として使えば、電流も流せるのでよいかもしれませんね。 +5V は適当に基板上から拝借しますかね。 LiPO バッテリの電源監視から、電源 ON/OFF をユーザーで行うようにすれば、安全性が増しそうです。
(2007年5月1日)
足裏感圧センサをサーボ制御信号と同一線で通信させてデータを取得する動作確認が完了しました(4/22ネタの続きです)。
浅草ギ研さんの4点感圧センサを OP-AMP(uPC842) で10倍増幅した後、78K0S/KAP1-CX の ADC で読み取り、サーボ制御信号線にデータをのせて SEMB1200A でデータ取得するというものです。 センサについては、それ自身の製作元と仕様書を何とか見つけ出して、仕様書を眺めながらつくるところまで行ってしまいました。。。
今回のポイントは、4点のココの圧力を読み取るというのを如何に分散かつ4点が連動した動きで取れるか?にあると思いました。 そこで、下右写真のように、スプリングワッシャーと足裏に板と吸収ゴムを取り付けることでやってみました(圧力センサ無しで歩けることは確認した足裏構造)。 データ取得の実験に際しては、サーボを直列に配置して適当な周期でサーボ角度を動かしてサーボに異常な動作がないことを同時に行いました。
結果、グラフのように、ADCを積分して取り込む方法でも、生データ状態でも反応性よく取れていることがわかりました(積分値と生データは別々の実験データです)。 手で押さえての実験なので、値自身にはあまり意味ありません。
![]() |
![]() |
最後になりましたが、いつも denno_ono さん、電脳壁新聞不定期日記掲載、有難うございます。 掲載されると、内容に関わらず多くの方に見ていただけているみたいで、張り合いがでます。 昨日の日記ですが、SEMB1200A-アナログボードですが、取説がページ一番下からダウンロードできますよ。 サイズなど詳細が出ていました(値段はシマフジさんの商売上、直販をしないので掲載していないのでしょう。 ツクモさんやRTさんから発売でしょうから、そちらを突っついてみると値段がわかるかも。。。)。
(2007年5月2日)
(講習会予定のお知らせ)
5/27(日)に秋葉原のRTさんにて行う SEMB1200A 講習会ですが、以下のことを考えてます。 そこで、参加予定の方、参加前にこういったことが知りたいとか希望をお持ちの方、など、事前にメール等頂けると(できるところについては)内容を検討したいと思います。 ご協力いただけると助かります(特にハード面を希望される場合、準備等にも時間がかかりますので、お早めに)。 お手数ですが、ゴミメールと区分けするため、メールタイトルに【SEMB1200A講習会】と入れて頂けると助かります。
アジェンダ)(私の担当分)
第1部) SEMB1200A 開発環境整備 (統合開発環境のインストール、 Cygwin
での環境は希望者があれば質問にお答えします)
− 早く終わってしまった場合、SEMB1200A のハードウェア取説の説明(私のわかる範囲で、ですよ)
(メモリ空間、PWM出力、キャプチャ、拡張UART, フラッシュROM読み書き、がポイントかな?)
第2部) (RTさん予定)
第3部) SEMB1200A プログラミングの実際と、周辺デバイスの制御
− SEMB1200A のタイマ割込みについて
− サーボ制御(PWM式とシリアル式)
− CSI(SPI)機器(SD-Card, アナログボード(3Dモーションセンサ含む),
コントローラ等)とのデータ授受
参加に際して持参頂きたいもの)
@ SEMB1200A 一式 + 電源 + ロボット(サーボ等) + ケーブル類(USB-RS232C変換器他)
A ソフト開発用のPC(ノートPC)
B 各自が必要と思ったものは持参ください(工具は多少は借りられるということですが。。。)
※ これらを持参いただきたいのは、皆さん使われている周辺機器で実際に動かしていただきたいためです。
※ 当日購入予定の方、電源等が準備できるか?が難点だと思います。 多少ならお手伝いしますので、事前に連絡頂けると助かります(備品購入のため)。
SEMB1200A を購入前の方
シマフジさんのご好意により試作機を4台ほどお借りできることになりました(借用:SEMB1200A本体、アナログボード(センサ除く)、分配ボード)。 SEMB1200A
を持っていないよ、という方もハードを触りながら講習を受けられるようにしましたので、持っていない方もご参加ください。
講習会参加手続きについて
参加方法等、講習会の詳細については、RT さんの Web に掲載されるとのことですので、しばらくお待ちください、とのことです。
(2007年5月4日)
今日は、天気も良かったので、本GWでは2回目のお出かけをしてきました。 あ、それとは別な話題ですが、近くに大学の頃良く行っていたラーメン屋(天下一品)のチェーン店ができました。 京都に本店があるのですが、関東、特に家の近くにできたというのは、うれしい限りです。 3月中旬頃オープンしていて知っていたのですが、先日食べに行ってきました。 味は、満足です。
5/27講習会ですが、講習希望案件メールが来ましたので、案件を追加します。
第3部) 以下の項目も追加します。
− RAM にプログラムやデータを転送して処理させる方法
引っかかりやすいところとか、実際の演算処理を行っての速度比較などレビューしてみたいと思います。
こんな感じでリクエストいただけると、わたしとしてもうれしいです。 説明のポイントが明確になりますので。
あと、参加しようかどうしようか迷っていらっしゃる方、単なる情報交換の場という感じで来ていただければと思います。
(2007年5月5日)
ちょっと気がつきました。 SEMB1200A の開発環境で、semb1200a-rom.ld の記述を変えないと binutils-2.17 の ld でリンク時のアドレスが間違ってしまうみたいです。 もし、SEMB1200A にプログラムを転送しても、うんともすんとも言わない場合、ちょっと疑ってみてください。
従来 | 修正後 |
.data 0x80020000 : AT ( _fdata ) { | . = 0x80020000 ; .data : AT ( _fdata ) { |
同じ意味だと思っていたのですが、マップファイルを出力させてみると、.data, .bss 領域がずれてしまっている場合があることがわかりました。 (再現しない場合もあるので、ちょっとコメントがしづらいです)。
(2007年 5月 9日)
風邪引いて完全にダウンしてしまいました。。。 ちょこっと体調が戻ってきたところで、講習会資料の作成に。 現在約 60 ページ。 来て良かったと思えるものに仕上げたい。 説明6割、実習4割くらいでしょうか。。。 SEMB1200A と最近発売されたアナログボードもお借りできたので、講習中の貸し出し予定してます。 現在、何人の方に応募いただいているのでしょう。。。
(2007年5月15日)
「何人の方が・・・」と書いたところ、RTさんから連絡が入りました。 もうじき10名に行きそうな感じです。 これは、気合いをいれなければ。。。 とはいうものの、聞きたいことと、話しをしなきゃと思うことはズレがあるものです(私自身も色んなセミナーに参加して、それは良く感じています)。 今なら、まだ作り直し、加えることはできると思いますので、メールによるリクエストをお待ちしております。
(2007年5月15日;午後10時頃・追記)
今日はちゃんとロボットで遊ぶ。
SD-Card に動作時のログを落として安定していないときの歩行についてチェック。
(今日が RT さんの SEMB1200A の講習会申し込み締切日。 さて、何人になったのでしょう。。。)
動歩行計算をさせて歩かせているとき、不安定な歩行をするときがあるので、まず調査。 ログから乱れたところを探したところ、同時刻の図A〜Fのような状態があった。 不安定歩行は、足裏にかかる力に規則性がでていない様である(図A)。 いわゆるZMP予測がずれているのでしょう。 また、多少負荷がかかったくらいでは、電位ドロップは大きくない。 強いて言えば、サーボでの電流を喰っているときに、バッテリーの電圧も落ちるが、バッテリーのパワーがあるため、電位差が大きくなっているが、ほんと測定誤差程度(図B)。 図C,D,Eは 3D モーションセンサ値。 前方に進んでいるだけなのに、ジャイロZ軸が大きく振れている。 もしかして、X,Y,Z軸のイメージを(私が)勘違いしているのかな? また、加速度があまり安定していない。 地磁気はサーボモータの影響を受けていない様子で、一様に変化している。 方向はしっかりと把握できそう。 その他センサ値として、ジャイロ付近の温度を取っているが、比較的温度が安定している(ずっと動かしていたので、安定した雰囲気になっているのでしょう)。 頭上に置いたCDSが波打っているが、これはCDSの固定が不安定なため、ブルブル震えて光源を向いたときに下がっているものと思われる。 PDSが途中で大きく変わっているのは、障害物が現れたためでしょう(たぶん、自分の手)。
![]() |
![]() |
図A:足裏センサ測定結果 | 図B:バッテリとサーボ供給電圧(と、その差分) |
![]() |
![]() |
図C:ジャイロ(3軸;X=左右軸, Y=前後軸, Z=垂直軸) | 図D:加速度(3軸;X=左右軸, Y=前後軸, Z=垂直軸) |
![]() |
![]() |
図E:地磁気(3軸;X=左右軸, Y=前後軸, Z=垂直軸) | 図F:他センサ(TEMP:ジャイロセンサ温度, CDS:頭上光度, PDS:前方距離) |
一番の問題点は、出てきたデータが、半端じゃなく大きいこと。 適当なログデータ切り取りのプログラムを作らないと、Excelでも処理しきれない。。。 ともあれ、SD-Card は 1Gbyte タイプのものを買ったので、余裕をもってデータだけは残しておこう。
(2007年5月20日)
いやぁ、とっても疲れました、SEMB1200A講習会@RTさん。
いつもの仕事とは違うこと、分野も違うということがこんなに疲れることとは。。。
また、思わぬアクシデントにも快くサポート頂きました、RTのスタッフの皆様、有難うございました。
今回の講習会は、予定より1時間半延長という長い時間になりましたが、いかがでしたでしょうか?
私の知っているSEMB1200Aのテクニックは出せたんじゃないかな?と思いますが、何が論点なのかわかりづらいものになっていなかったか、ちょっと不安でした。
ともあれ、的確な質問が途中途中に入って、説明のポイントがクリアになったのは、参加頂いた方々の暖かいフォローあってこそだと思います。
参加者の皆様、RTの皆様、今日は本当にお疲れ様でした。
今日で一旦区切りができた感じがしています。 心機一転、マイロボット JiGoRoHP
を育てていこうとおもいます。
(2007年5月27日)
神さまがすばらしい物を作られていますね。 さすがです。 久しぶりに目から鱗な衝撃をうけました。 指先に圧力センサがあれば、完璧ですね。
秋月電子通商で、2色オシロが発売。 \39,800- 。 これは買いでしょう(ですが、1台違うの持ってるしなぁ。。。)
(2007年5月31日)
まだ公開していなかった SEMB1200A で .wav ファイルを再生して音を鳴らすソースとハードを紹介します。
ソースの解説は抜きにしてココからダウンロードしてください。 Windows等で使っている .wav ファイルを 0xBFE00000
にアップロードしてプログラムを実行してください。
あと、ハードですが、LM386 を使う標準的なものにしました。 PWMを使っての音声出力なので、スタートとストップ時にデューティ50%に立ち上がる瞬間と、落ちる瞬間にブチっと音がしますが、連続的にデューティ50%で発振しつづければよいので、今回は良しとしました。 結構良い音で鳴ります。 SEMB1200A の場合、PWMが32ch もあるので、余っている場合が多いと思います。 ICS2 を使っている場合、24chもあまっていることになりますので、PWMを使ったアイテムを増やと良いでしょうね。 次は、超音波センサの発信源として使ってみましょうかねぇ。
![]() |
(2007年6月13日)
自宅のPCが立ち上がらなくなった。。。 WindowsXP の SAFE モードすら駄目。 とりあえず、別HDDに環境一式インストールしたら、何とかもとのHDDのデータは壊れていなさそう、ということまではわかりました。 ただし、ことごとく、ファイルがロックされてしまっていたので、強引に Cygwin で chmod, chown を行って読めるようにして、新しいHDD環境へ移植完了。 これから、ソフトの再インストールと、メール等の環境設定が・・・(昔は楽しかったが、今は苦痛でしかない。。。) 復活の日まで、まだまだかかりそう。。。
(2007年6月24日)
ひさびさに更新。 と、いうつもりで書き始めたことがあったのですが、わけあって、ストップ。 これが何度か続いて本日に至りました。
近々書きたいなぁ、と思っているネタは、、、
・ JiGoRo に V850ES/JG2 搭載して動作 ・・・ これは、来年になりますが某雑誌に掲載するため、記事を書いていました(投稿完了。 作家の気持ちが少しわかりました)
・ JiGoRoHP の歩行スピードアップ動作 ・・・ SEMB1200A でデバッグ用にSD-Cardをつなげてデータロガーにしていたのですが、これが律即してCPU処理能力が死んでいました。
・ KRS-4014HV にメタルギアセット3(4013用)を入れると 4013HV に生まれ変わりました。 トルクより速度重視の関節を変更。
・ SEMB1200A の開発環境を Eclipse に。 ようやく、Eclipse の設定方法の理解の入り口にきた感じです。 止めていた gdb-stub を作ってみたくなってきました(ロボットから離れていく・・・)
・ SEMB1200A に HOS-v4 の導入。 開発メンバーに加えていただきました。 HOS-v4 1.02 をベースにゴソゴソやっています。
・ 関東ロボット練習会に行きたいが、3回連続して都合がつかない。 12月、時差ぼけ状態で忘年会だけ参加しようかなぁ。。。
(2007年11月16日)
進捗記録(笑)。 昔はどうしてコツコツかけたのか不思議です。 今は、コツコツ実作業は進んでいますが、Web更新がとまってしまっています。
・ 某誌の執筆も終え、1回目の記事が仕上がってきました。 さすが雑誌社の力!というところで、すばらしくきれいに仕上がっていました。
3,4回程度の連載になりそう、ということですが、読み飽きそうな気がしていますので、3部構成でいきたい旨、連絡。
1回目はロボットの構成、ということで、最近のロボットキットでは、通り過ぎてしまうところを書いてみました。
2回目は、センサー系。 3回目は、歩行アルゴリズムを私なりに解釈してプログラミング、という感じになると思います。
書店で見かけたら、皆さん、買ってくださいね〜!
・ KRS-4014HVのメタルギアを交換。 すばらしく歩行速度がアップしました。 SD-CARDの書き込みも行わないようにしてみたところ、あっという間に1mくらいは歩いてしまいます。 最近のROBO-ONEなどのDVDなどで見ている歩行が速い理由がいまさらながら、わかりました。 すばらしいサーボをありがとう! > 近藤科学(株)さま
・ 12月の練習会、1月のわんだほー、参加したいなぁ。。。
(2007年12月7日)
完全な時差ぼけのまま1週間ワシントンDCにて過ごす。 IEDM(International Electron Devices Meeting) の聴講に行ってきた。 まだまだ半導体は進化をしそうだ。
入国審査の際、係りの人が1名しかおらず、また、全指の指紋をとるということで、大渋滞。 結局2時間待たされた後、米国市民の門も開放され、一気に渋滞解消。 とっても疲れる出だしでした。
帰ってきたら、時差ぼけも治るかな?と思ったら、またまたボケている。 単に眠いだけか? 飛び入りで関東練習会や忘年会に行こうと思いましたが、断念。 次回こそは・・・。
少しだけスナップ写真を。 これを見ると観光に行ったのか?と言われそうですが・・・。 小さなお出迎えから始まり、United Stetes Capital, Smithsonian, ... と定番をまわりました。 $35 のロブスターも食べましたが、やはり大きいのは食べごたえがありますね。 クリスマス前ということで、そこらじゅうにツリーが飾られていました(これは、Dulles International Airport 内)。
(2007年12月16日)
メリークリスマス!
今日午前9時からは、わんだほー4の大会申し込み日。 無事エントリーを終えました。 あとは、ちゃんとロボット整備するのみ(のはず)。
大会に備えて、CPUボードの固定部品をより強固なものに変えようと、久しぶりにアルミ加工しました。 6mm□のアルミ棒にタップを切って、工具が折れないように慎重にやっていたのですが、失敗。 一気にやる気がなくなりました(笑)。 気を取り直して、配線だけでもスッキリさせようということで、再開。
(2007年12月24日)
あけまして、おめでとうございます。 本年もよろしくお願いします。
年はじめということで、昨年を振り返ることと、今年の予定を挙げてみたいと思います。
(昨年を振り返ってみると)
・ 何かやったような気がするが、Web更新が少ない。
・ 仕事っぽいことが多かった、という印象が残る1年。
・ 結果的に、自分らしさが抜けてしまった?
(今年の予定)
・ Web の更新度を上げる(笑)。
・ わんだほー4、ROBO-ONE に参加する。 参加するだけでも大変なはず。 私的には高い目標(笑)。 1つ1つの積み重ねが大切だぞ>俺。
・ ロボット大会以外は、次のことに絞って広げない。 ともに SEMB1200A への取り組み。
- HOS-v4 実装
- gnu-stub の実装
若いうちにしかできないことがあると、つくづく感じる毎日。 それと裏腹に、だらだらした生活を送ってしまう、毎日。
多くの方々に刺激をうけた2006年、自分に甘えてしまった2007年、2008年は飛躍の1年にしたいですね。
(2008年1月1日)
予定通り進まない中、ロボット記事だけはちゃんと載って出版されました。
CQ出版のInterface誌にこれから3回にわけて掲載されますので、書店などに寄ることがありましたら手にとってみてくださいね (p.131-140)。
第1回は、ロボットの製作記事とV850タイマを使ったPWM出力、第2回はセンサ、コントローラ接続と、逆運動学にもとづく計算と制御、第3回が、歩行計算(動歩行)といった感じです。 簡単にいえば、JiGoRoのボディをつかってV850ES/JG2マイコンで制御してみました、というところです。
JiGoRoHP の方も、少しフレーム追加を城南通信機さんにお願いして作成していただくことにしました。 足裏センサ(各4点)の異常点を無くすため、足裏に板を1枚追加していたのですが、それをアルミ板に交換予定。 これまでプラ板1.5mmで(おおちゃくして)作っていたのですが、センサの突起がプラ板の弾力性のため、にめり込んでいくようで、正しく数値がでていない感じがしていました。 そのあたりの比較はフレームが来たところで紹介したいと思います。
(2008年1月26日)
いつのまにか1ヶ月経ってしまいました。 先月にひきつづき、Interface 4月号にV850ES/JG2を使ったロボットについての記事掲載。 ムラタ製ジャイロのグラフは片方がバラツキがないように見えますが、ばらつきはあります。
最近、KRS-401x のシリアル通信ネタを良く見かけますので、私の経験談を紹介しておきます。 ご参考まで。
・ 角度制御に必要な時間は0.6msec.程度ですが、内部PID制御があるため、4msec.(もうちょっと長い方が良いかも)以上に周期を設定した方がブルブルしない。
・ ストレッチ制御、スピード制御コマンドを送ると、PID制御に即反映されるため、上記周期よりも短周期で設定すると、ブルブルする。
--> JiGoRoHP では、以下のようにしています。
・ 4つのサーボをデージーチェーン接続
・ 1個あたりの制御周期は、12msec. とする。
・ ストレッチ、スピードコマンドを送る場合は、さらに1/3の時間で変更時のみ送信をする。
負荷をかけた状態でブルブルするな、と思ったら、制御周期を大きくとってみましょう、というのが結論です。
(2008年2月29日)
気がつくと、さらに1ヶ月。 今月も、いろいろとチャレンジしていました(ROBO-ONEへのチャレンジはどうした?は、おいておいて・・・)。
先々月、先月につづき、Interface 5月号にロボット記事掲載。 今回で3連載終了です。 しかし、来月号にも作品が1つ掲載されます。 裏話ですが、来月の記事は材料入手から原稿書き上げまで3週間でした。 平日は仕事があるので休日だけで仕上げる、という強攻策だったので、出来上がったものがプアなのは簡便してください。。。 ということで、内容含めて次号もお楽しみに。
V850ロボの後編では、用意していた歩行の写真が掲載見送りになりました。 足部だけの写真にすればよかったかなぁ。。。連載記事を書かせていただいて、改めて、感じたのですが、1から作る楽しさ、苦労、と言うものはあるのですが、自分なりに納得して次に進む、という技術魂みたいなものの満足感はたまりませんね。 書きながら、ロボット製作を始めた頃の苦労を思い出しました。 良い経験をさせて頂いたと思います。 ROBO-ONEに出る、という目標を掲げて、予選資格審査すら到達していない自分に歯がゆさを感じていましたが、なんだか自分なりの目標みたいなものを漠然とですが、見えてきた気がします。
3連載を終えた最後に、皆様に感謝です。 おかげさまで、(5月号p.200に掲載されています)読者アンケートの「3月号で興味があった記事」の1位に「V850ロボ」が選ばれました。 ありがとうございました。
(2008年3月29日)
おかげさまで、Interface のロボット記事が前編に続いて中編も読者アンケート「4月号で興味があった記事」の1位になりました(Interface誌'08/4/7ブログより)。 連覇達成です。 応援頂いた方々、ありがとうございました!
あと、本日、新しいパソコンが我が家にやってきました。 不調気味だったパソコンを置き換えです。 しかし、いきなり、Windowsがプリインストール版なのに立ち上がらない。。。
パソコンスペック:Intel Core2Quad 2.5GHz, 4GB-800DDR2, M/B P5E, G/B 8800GTS,
HDD 500GB。 すばらしい。 これで、快適になってくれれば良いのですが。
(2008年4月9日)
PCM音声をSEMB1200Aで行える、というのを以前(June/13/'07) に書きましたが、今回、ADPCMに挑戦してみました。 結果、音声を鳴らしている間は、こんなもんかな?くらいまではできたのですが、終わりのところで、ピっという耳障りな音が出てしまいます。 どうしたら消えるのでしょう。。。PCMの場合は問題がないのですが。。。SEMB1200Aには多くのROMがあるので、PCMのままでいこうかなぁ。。。
あと、ロボットで音声をされている方、どんなスピーカーを使っているのでしょう? 磁石つきのものでしょうかねぇ。。。磁石つきのふつうのスピーカーの方がきれいな音が鳴っているのですが、サーボの側に磁石を置いたり、電子コンパス(方位磁石)がくるってしまうので、悩みどころです。 電子ブザーできれいな音を出している事例が知りたい、と思う今日この頃です。
(2008年4月20日)