Main Page

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/hyakuren-soft/www/diary/includes/dateLink.php on line 19

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in /home/hyakuren-soft/www/diary/includes/dateLink.php on line 20


2010年 1月 1日 (金)  
つくチャレの報告書を書いていた以外は、だらだらとしていた。
疑似コードで書くと、こんな感じ。

while (true) {
  switch (selectRandom()) {
  case 0:
    // 自作ローグライクのプログラミング
    createMHackFunctions();
    break;

  case 1:
    // 木刀を振る(室内)
    swingBlade();
    break;

  case 2:
    // つくチャレの報告書き
    writeTsukubaReport();
    break;

  case 3:
    // 息抜き
    playTropico3() || playTorchLight();
    break;
  }
  sleep();
}

疑似コードで書く意味ないな...。
まぁ、そんな感じだった。


2010年 1月 2日 ()  
自作ロボットのイメージを掴むため、紙でハリボテを作ってみる。
本当は、3D CAD とか使うべきな気がするが、気にしないことにする。

紙工作とか、久しぶりだ。


Top-URG が手元なかったので、Classic-URG を置いてみた。

うーん、こんな感じかな?
天板の上にノート PC を置くのは、ビーゴと同じ。
ロボット後方の立方体は、バッテリーを想定したもので、回路の配置場所は未定。

材料費の概算もしたが、バッテリとノート PC、URG 以外で 2万円くらいになりそう。


2010年 1月 3日 ()  
お金を払って発表させてもらう学会と、チャレンジを目的としたつくばチャレンジとは、
違った形式でよいと思う。
大会後に発表して原稿を提出して、というあたりが学会風なのは微妙に引っかかる。

などと、今日が〆切の原稿を書きながら思った。

「まぁ、原稿を書くのが面倒で ぼやいているだけなんですけどね〜」



「Tropico 3」っていうゲームをやって、資金援助の重要性がわかるような気がした
あと、余っているお金をどんどん使うと、結局赤字になるのも理解できた。

でもって、私が統治するゲーム内での国民の幸福度は低い...。
むつかしいね。


2010年 1月 4日 (月)  
我が家に新しい圧力鍋がやってきた! (二代目)
うきうきな気分で鶏の手羽先とジャガイモ、糸こんにゃくを煮込む。

よい調理器具があると、私は幸せな気分になれる気がする。



自作ロボットのための電子回路の部品調査とか、回路の構成図を書いたりしていた。
構成がまとまったら、部品を入手して、まずはユニバーサル基板上でテストかな?

まぁ、そんな感じ。


2010年 1月 5日 (火)  
自作ロボット走行コントローラ(モータドライバ含む)のテストに向け、
購入すべき部品のリストアップを行った。

ありがとう、千石電商!
ありがとう、秋月電子!
ありがとう、コーデンシ!

とりあえず、必要そうな部品は型番まで決めてみた。



アニメ銀魂を「すごい!」としか評価できない自分の語彙力のなさが悔しい。


2010年 1月 6日 (水)  
「FREE フリー <無料>からお金を生み出す新戦略」を読んでみた。
具体例が多くて読みやすいが、新しい戦略かどうかは微妙。
オープンソースなプロジェクトをやっているので普通に思えるだけかもしれない。



モータドライバ IC として、TA8429HQ を買ってきた。
IC の足が 2.54 ピッチじゃないんだが、どこかの web ページに

「基板に斜めに刺すといいよ」

って書いてあったので試してみた。


本当だ! ぴったりだ!

あとは、秋月に発注した SH7125 の到着を待って評価回路とか制御プログラムを作るあたり。
いい感じだ。


2010年 1月 7日 (木)  
自分が管理している URG ライブラリについて、海外からパッチが届いた。
とてもありがたく思った。

これを期に、Subversion で管理しているソースコードのコメントは、
英語で書き直すことを決意した。

あと、紹介ページを作りなおしたい。

がんばろう。


2010年 1月 8日 (金)  
秋月から SH7125 の評価基板が届いた。
あと、コーデンシからエンコーダとエンコーダ板も。

で、直径が 6 [mm] のモータ軸に、どうやって中心穴の直径が 5 [mm] の
エンコーダ板を取り付けるかで悩む。

悩んだ頭で

「マジシャンなら、種も仕掛けもないエンコーダ板にモータ軸を通してくれるのになぁ」

とか考えたりした。
いや、マジシャンでも無理だと思うが...。

とりあえず、エンコーダの穴を広くする方向で検討したい。


2010年 1月 9日 ()  
本屋で「ゲームプログラミングのための行動 AI 数学」という本を買った。
内容は数学寄りで私には少しつらいが、読んでおこうと思う。



大学の研究室時代のメンバーで新年会があったので参加。
社会人は、みんな大変だというのがわかった。
あと、私は好き勝手やっている方らしい。

むつかしいね。


2010年 1月 10日 ()  
部屋の掃除をした。

その結果...

- 玄関のごみの山がなくなった!
- 部屋の奥のごみの山から、ハンダごてを手に入れた!

そんな感じ。


2010年 1月 11日 (月)  
直径が 6 [mm] のモータ軸に、どうやって中心穴の直径が 5 [mm] の
エンコーダ板を取り付けるかで悩んでいたが、穴を棒やすりで広げたらモータ軸を通った。


削ったもの(左), オリジナル(右)


とりあえず糊で仮止め。割といい感じ。

なんとかなるもんだ。



久しぶりに日記にコメント
> > umount コマンドを実行したら、直後に内容を同期してほしい...。

自動マウント時に実行するmountコマンドを,同期モードでマウントするようにしたらどうなるでしょう?
http://itpro.nikkeibp.co.jp/article/COLUMN/20080515/301914/?ST=oss&P=5
いろいろ確認してみた。
結論から言うと、現状の開発環境では普通に

% mount /sb
% umount /sb

とするだけで問題なく使えているように思える。
(/etc/fstab で /sb を /dev/sdb0 に割り付けてある)

ただ、以前はファイルフォーマットが ext2 環境だったが、
PC 変更に伴い今現在は ext3 なので、そもそも評価環境が異なっている。

まぁ、ext2 でも問題ないはずなんだが、今となってはよくわからない。
検索しても、同様の問題で悩んでいる人はいないみたいだし...。
(まず Linux で手動 mount / umount を使っている人が少ないと思う。)

むつかしいね。


2010年 1月 12日 (火)  
仕事なんかで、自分が「いやだな〜」と思う箇所で作業が止まりがちになるが、
自宅作業は特に、そんな感じになる。

自分に課していた木刀の素振りは、いつのまにかしなくなったし、
マイコン用のスタートアップまわりのソース作成は面倒でやってないし、
部屋は、いつまで経っても片付けられないし。

そういう精神的な面も、鍛えたいと思った。



とりあえず、ゴミに埋もれていた机は発掘されて使えるようになった。
今後は、評価基板などのハードウェアを作成する場所として活躍する予定。

いい感じだ。


2010年 1月 13日 (水)  
SH7125 で、SCI1 と2相入力エンコーダの信号が重なっててとまどう。

「これが、タイニーマイコンというやつか!」

SCI1 はフラッシュ領域への書き込みに使うらしいので、
そのまま運用時にもシリアル通信として使いたかったんだが...。

まぁ、通信は SCI0 を使うことにして、運用時とフラッシュ領域へのモード書き変えは
ジャンパとかスイッチで対処することにしましょう。



と思っていたら、SCI1 用の TXD1 とか RXD1 は、他の端子にも割り振られていた。
誤解してた。ごめんなさい。

それはともかく、ルネサスの Web ページは使いにくくて、とてもイライラする。
レジスタ定義ファイルを探すのに苦労した。

結局、SH シリーズなら "include_sh", H8 シリーズなら "include_h8" という
キーワードで検索するのが簡単だと思う。


2010年 1月 14日 (木)  
自作ロボットについて。
アクリル板に穴を開け、とりあえず車輪を取り付けてみた。


柱と天板は置いただけ。


追加で、PC と URG を置いてみた。

なんというか

「見た目が既に安そうだ!」

「安く」「ちゃんと動く」ものを作る、という目標の前半は達成しつつあるように思う。
いい感じ。



「ちゃんと動く」は...、次回に続く!


2010年 1月 15日 (金)  
金曜日は、だるい。
いっそのこと、金曜日は休みでいいのでは、と思った。


2010年 1月 16日 ()  
秋月で買った SH7125 用の、mot ダウンローダが動作した。
これで、mot ファイルをシリアル通信で送信すると SH7125 上で動く。
開発が Linux のみでできるようになって、いい感じ。



Altitude というゲームがあって遊んでいたが、
FaceBook でゲームを紹介すると、ゲーム内のポイントが増える仕組みがある。

宣伝をゲーム内で使える価値と交換するあたり、よくできていると思った。
こういう仕組みは面白い。

ただ、ゲーム自体が面白いかはコメントがむつかしいです。


2010年 1月 17日 ()  
日本橋に行って、自作ロボット用のコネクタとかを買ってきた。
で、秋月の SH7125 評価基板 とモータドライバ TA8429 を接続し、
PWM 制御プログラムでモータが回転するところまで動作させた。

いい感じ。

ただ、回転開始から数秒すると、モータの回転が落ち、
そのときのモータドライバを触ってみると、めちゃくちゃ熱い!

モータの回転が落ちているときに放熱板を押しつけると回転速度が復帰したような
気がするので、とりあえず放熱板をつけることにする。



エンコーダについての作業したが、こっちはうまく動作せず。
落ち着いて作成した回路を見直したら、フォト IC に抵抗が入っていない...。

アナログ系は、からっきしだ。
少しずつでよいので、勉強しようと思った。

むつかしいね。


2010年 1月 18日 (月)  
昨晩は少し夜更ししたせいか、今日は眠かった。
眠いときにプログラムを作ると、いろいろとダメだと思った。


2010年 1月 19日 (火)  
自作ロボット用のモータドライバに発生する熱量と必要な放熱板についての計算を行う。
と思ったが、中断。

数式とか、無理。
とりあえず、寝て起きたら再開したい。


2010年 1月 20日 (水)  
自作モータの回転制御で、仕様上は 7.2 [V] のモータを 12.0 [V] で制御した。
とりあえず、燃えなかったので問題ないことにする。

あと「燃えなかった」と入力しようとして「萌えなかった」と変換されたことに
少しショックを受けた。

私、そんなに萌え萌え言ってないよ?


2010年 1月 21日 (木)  
blueberry garden という、説明の難しいゲームがあって、ときどき遊んでいる。
今日は、塩の入れ物が倒れることを発見した。



うまく説明できないが、興味深いと思った。


2010年 1月 22日 (金)  
自作ロボットの、エンコーダをどうやって実現するかで迷走中。
どうしよう?



メールのタイトルに「納期」とか「〆切」とかいう単語が含まれていると、

「ドキッ!」

とする自分がいるのに気付いた。
私も、社会人になったのだと思った。


2010年 1月 23日 ()  
だらだらしていた。


2010年 1月 24日 ()  
本屋でメイヤー著の「オブジェクト指向入門」を買おうかどうかで悩んだが、買わず。
なんというか、私には少し難しい気がする。

今日は運動したせいか、帰宅後はとても眠かった。


2010年 1月 25日 (月)  
100 [ohm] の抵抗を買いに日本橋へ。
電車代と移動の時間を考えると、1本あたり5円の抵抗を買いに行くのは微妙な気分だ。


2010年 1月 26日 (火)  
昨日に買った抵抗を使い、自作ロボットのエンコーダ用の回路を作成。
で、タミヤのギヤードモータに取り付けて無事に動作。いい感じ♪


タミヤのギヤードモータにエンコーダ板を取り付けたもの

使ったのは、
- 380K75&130mmピンスパイクタイヤ(2セット)」
- エンコーダ
- エンコーダ用のスリット板

など。

ちゃんと回転しているかは、秋月の SH7125 評価基板のプログラム出力で確認した。
これで、使用が不安なデバイスの検証がひととおり終了した。いい感じ。

エンコーダ値を出力するプログラム

今のところ、ロボット1台あたりの原価は2万円以上、3万円未満になりそう。
作り方は、いずれまとめる予定。

次は、エンコーダ値を使ったモータの制御プログラムとかか?
まぁ、ゆっくりと進めましょう。


2010年 1月 27日 (水)  
KPIT を使った SH7125 のコンパイルで、割り込みが動作しない。
調べてみたところ、割り込み処理ルーチンで抜けるあたりがおかしい。

とりあえず、以下のように生成されてたのを、
 638:	60 f6       	mov.l	@r15+,r0
 63a:	4f 16       	lds.l	@r15+,macl
 63c:	4f 06       	lds.l	@r15+,mach
 63e:	00 2b       	rte	
 640:	6e f6       	mov.l	@r15+,r14
 642:	ce 02       	xor.b	#2,@(r0,gbr)
 644:	ff ff       	.word 0xffff
 646:	a0 08       	bra	65a <_imask_setMaskLevel+0xa>
 648:	00 00       	.word 0x0000
 64a:	ff 7f       	.word 0xff7f
 64c:	00 09       	nop	
 64e:	00 09       	nop	
こんな感じ ↓ になるようにインラインアセンブラで記述したら動作するようになった。
 612:	60 f6       	mov.l	@r15+,r0
 614:	4f 16       	lds.l	@r15+,macl
 616:	4f 06       	lds.l	@r15+,mach
 618:	6e f6       	mov.l	@r15+,r14
 61a:	00 2b       	rte	
 61c:	00 09       	nop	
 61e:	00 09       	nop	
 620:	00 09       	nop	
 622:	00 09       	nop	
 624:	00 09       	nop	

rte は遅延分岐なはずなので、修正前のコードでも動作する気がするんだが...。
スタック領域を全て復帰させてから rte を呼ぶべき、ってことなのか? 詳細は不明。
詳しいことはソフトウェアマニュアルを読むべきかもしれない。

むつかしいね。


2010年 1月 28日 (木)  
自作ロボットのエンコーダ、モータが動作するようになったので、
PWM の duty 比を少しずつ上げたときのモータ回転速をグラフにしてみた。
X 軸が duty 比に 256 を掛けた値で、10 [msec] あたりのエンコーダ変位が Y 軸になっている。


CW <-> Free で制御


モータ電源が 7.2 [V] と 12.0 [V] のときを比較したグラフ

グラフを見ると、duty 比が 0 付近では、ピクリとも動いていないのがわかる。
この問題は、CW <-> Break で制御すると改善されるが、この方法で制御すると
モータドライバ TA8429HQ の制御が面倒になるので保留。

とまれ、ちゃんと動作しているのがわかった。
エンコーダは、1周が 100 スリットのものを4逓倍で読み出しており、
結構な速さで車輪が回転している。まぁ、まだ無負荷だしね。

次は、このグラフ結果から duty 比と目標電流のテーブルを作った上で
目標回転速を PI 制御で実現するあたり。

まぁ、ゆっくりとやりましょう。


2010年 1月 29日 (金)  
自作ロボットについて、モータの速度制御のあたりを進めるべきだが...、
もう1輪のエンコーダ加工を行い、ロボットとしての体裁を整えた。



なんか、それっぽい!

試作してみてわかったことは、
底板に使っているアクリル板の厚さが 3 [mm] では少し強度に不安がある、
ということくらいか?
もしかしたら、このたわみがサスペンションの役目を果たすかもしれないが...。
次の試作では、厚さ 5 [mm] のアクリル板を試してみようと思う。

今週は、なんだかつかれ気味なので、早めに寝た。


2010年 1月 30日 ()  
寝坊していつもより長く寝ると、1日を元気に過ごせる気がする。
会社でも睡眠休憩しやすければいいのに、と思った。



今日は、牛すじ肉を圧力鍋で煮込んで頂いた。
うまーー!
いや、うしーー!

いい感じだった。

日記へのコメント
おやじですな。
おやじです。


2010年 1月 31日 ()  
「Box2D を使った、ぶっとんだゲームを作りたいなー。」
と思いつつ、だらだらしていた。


本人へのコメント送信



Main Page