« June 2009 | Main | August 2009 »

July 30, 2009

萌え衛星

E161筑波宇宙センターの図書室に借りていた本を返しに行ったら、新刊コーナーに「現代萌衛星図鑑」が置いてあったのを見つけて、すぐに借りた。

この本、最近では、私の「宇宙暮らしのススメ 」とアマゾンの「宇宙学・天文学」で4・5位を争うライバル(?)である。なかなか、本屋で見付ける事ができない貴重(?)な本が図書室にあるとは思わなかった。

実は、先日取材を受けたと言うセレーネ2のプロマネ(正式にはプロジェクトになっていないので、プリ・プロジェクトリーダー・・の筈)のH本さんに見せてもらったことがある。が、その時はパラパラとめくって見ただけで、ちゃんと読んでは居なかった。

改めて読んでみると、絵は萌え系かも知れないが、中身はしっかりしている。

ちゃんと取材しているのかと、すぐに「きく7号 おりひめ・ひこぼし」のプロマネのO田さんと中心的メンバーのK野さんに本を見せると「取材には来ていない」とのこと。
それにしても、良くできているので、両氏とも「これは面白い」と大絶賛。

私自身ひまわり4号と5号に関しては静止軌道投入制御シーケンスを作ったり燃料計算しているので、自分が関わっている衛星が書いてあると、ちょっと嬉しい。(ちなみに、ひまわり1〜3号の制御シーケンスと燃料計算は、歌島さん)

ところで、私の本もオビの絵を見て「萌え系書籍」と思う人が居るかもと紹介されていたりするが、マンガサイエンスから抜け出た あやめちゃんと あさりちゃんを見て「萌え系」と思う人がいるのだろうか?

| | Comments (7) | TrackBack (0)

July 25, 2009

物理エンジン

E160PhysX と言う物理エンジンを使ってみた。
Ubuntu で スパコンにも書いたように、私のデスクトップ機は Athlon64 X2 4200+ の CPU に GeForce 8400 GS を使っている。SP数 16 なので大したことは無いが、並列計算ができる。
で、これを使った物理エンジンである PhysX を試してみた。

最初は、WindowsXP で試したが、このやり方は、Web上でも数多く紹介されているので省略。
その後、Ubuntu で試してOKだったので、これを紹介する。
元ネタは、HowTo: Setup PhysX SDK in Linux。ただし、ここには64ビット版 Ubuntu へのインスト法は載っているが、32ビット版は、もっと簡易にインストできるので、それを紹介する。

使った Ubuntu は 8.10。実は、最近、新しいのは 9.04、安定版としては 8.04 を使っていて、使わなくなった 8.10 のパーティションが余っていたので、それにインストしただけなので、Ubuntu のバージョンに深い意味は無い。

とにかく、カーネル等を最新の状態にアップデートした後、NVIDIA グラフィックドライバも最新の 180 にアップデートする。私の場合、常に Compiz (3Dデスクトップ) が使えるようにしているくらいだから、glx 等も入っている。

この状態で、NVIDIA PhysX SDK Downloadsから PhysX_2.8.1_SDK_CoreLinux_deb.tar.gz をダウンロード

$ tar zxvf PhysX_2.8.1_SDK_CoreLinux_deb.tar.gz
$ sudo dpkg -i *.deb
$ sudo vim /etc/ld.so.conf
<< 下行を追加 >>
/usr/lib/PhysX/v2.8.1/

$ sudo /sbin/ldconfig
$ /usr/sbin/PhysX_Samples_2.8.1_FC4/Bin/linux/SampleBoxes

とやるとサンプルが動く。
使い方は
・ キーボードの 2,4,6,8 でカメラ(視点)を動かし、マウスでカメラを回す。
・ w,t,s,b とスペースキーで色々な物を作り、qで、最後に作った物を消す。
・ 0で、フレームレート表示をトグルする。

調子に載って、プログラムの構築にも挑戦。
さきに、Synaptic で freeglut3-dev をインストしておく。
HowTo: Setup PhysX SDK in Linuxから、SampleBoxes.tar.gz をダウンロード。

$ tar zxvf SampleBoxes.tar.gz
$ g++ -DNX_DISABLE_FLUIDS -DCORELIB -DLINUX -I/usr/include/PhysX/v2.8.1/SDKs/Physics/include -I"" -I/usr/include/PhysX/v2.8.1/LowLevel/API/include -I/usr/include/PhysX/v2.8.1/SDKs/Cooking/include -I/usr/include/PhysX/v2.8.1/SDKs/PhysXLoader/include -I/usr/include/PhysX/v2.8.1/LowLevel/hlcommon/include -I/usr/include/PhysX/v2.8.1/SDKs/Foundation/include -I/usr/include/PhysX/v2.8.1/SDKs/NxCharacter/include -O3 -Wall -c -fmessage-length=0 -o SampleBoxes.o ./SampleBoxes.cpp
$ g++ -o SampleBoxes ./SampleBoxes.o -lPhysXLoader -lGLU -lGL -lglut -ldl -lpthread
$ ./SampleBoxes

で、ちゃんと動く。ただし、なぜかフレームレートだけは表示できない。

さて、参考書として、「物理エンジン PhysX プログラミング」(大川善邦著 工学社) も買ったので、何か楽しい事でもシミュレーションしてみるかな?

| | Comments (0) | TrackBack (0)

July 14, 2009

今日、発売

E159本を書いた。イラストは、あさりよしとおさん。
「宇宙暮らしのススメ」 学習研究社 ISBN-978-4054041424 だ。

探すときは、表紙より浅利さんがイラストを描いてくれたオビの方が目立つので、それを目印に。とは言え、背表紙だけだと難しいか・・・

今日、相模原で仕事だったので、帰りに町田の有隣堂によったら、一冊置いてあった。ちょっと嬉しい。もちろん、平積みになるほどではない。

大きな本屋には売ってあるようだ。

気が向いたら、読んでください。

| | Comments (16) | TrackBack (2)

July 06, 2009

電動アシスト自転車を改造して、自転車トレーニング

E157以前のブログにも書いたけど、自転車トレーニングをやったりやらなかったりしている。正確には「やらなかったりやったりしている」、いや「やらなかったりやらなかったりしている」かな?

自転車トレーニングが続かないのは、坂道や信号でスピードが乱れたり、平地では速すぎたりするせいじゃないだろうか?

以前も書いたが、自転車トレーニングでは、最初は心拍数120程度で30分走る。慣れてくると段々目標心拍数を上げていくのだが、できるだけ一定の心拍数にしたい。
でも、下り坂だとこがないので、心拍数は下がるし、上り坂では心拍数も上がる。平地でも信号や交差点で止まり、その後発進するときには心拍数が上下して、なかなか一定にはならない。

実は、平地が一番面倒で、ママチャリで走っているとは言え、心拍数を130以上にすると、結構なスピードを出さなければならない。一般道では、危ない速度に近付いているし、また、距離も走らなければならない。通勤時、家から駅まで2倍位の距離を遠回りして走る必要がある。

別に長距離を走る必要も無いし、危険なまでのスピードも要らない。
ある程度の負荷が身体にかかれば良い訳だから、ブレーキをかけながら走れば良いのだが、それでは何かもったいない気がするし、上り坂などでは解決にならない。

そこで考えたのが、電動アシスト自転車だ。
回生ブレーキ付きの電動アシスト自転車を改造して、平地を走る時は、回生ブレーキをかけた状態にして、バッテリーを充電する。これなら、スピードを出さなくても身体に適当な負荷をかける事ができる。充電した電力を上り坂の時に使えば、心拍数が上がり過ぎないようにもできる。

考えてみると、電動アシスト自転車の改造は、ほとんどプログラムの書き換えですむような気がする。心拍数の入力さえできるようにしておけば、それでフィードバックして、一定の心拍数で走れるように回生ブレーキや電動アシストの量を調整すれば良いのだ。
GPSも付けておけば、目的地までの距離や坂道まで計算して、ちょうど良い時間に到着するように負荷の量を変化させる事もできる。

もっと若ければ、自分で電動アシスト自転車を改造するんだが、誰か、やってくれないかなあ??

まあ、信号や交差点での停止だけは、どうしようも無い。
いっそ、エアロバイクにしちゃえば、良いって話もある。でも、遅くても良いから、外を走りたいんだよねえ。

| | Comments (4) | TrackBack (0)

July 05, 2009

秋月の SH-TINY を最小コストで動かす

E1581秋月で売っている SH-TINY ボードを一番安く動かす方法を考えてみた。それが、この写真。
空中配線だらけで、こう言うハンダ付けしちゃいかんという悪い見本になってしまった。

秋月で、SH7125Fマイコンボード(AKI-7125)を1500円(コネクタなし)で買う。
千石で、 UP-12C を 570円で買う。
後は抵抗とコンデンサー、スイッチを少々。

回路図は、これ。E1582電源スイッチとか、リセットスイッチとか、省略しているので、CPUをリセットするにも、USBケーブルを抜き差ししなければならないのが、難点だが。

プログラムのコンパイルとか書き込み、リアルタイムOSとかは、ここを参考に。全てフリーソフトで、最新の Ubuntu 上でも、そのまま使える。
ただし、元々は水晶 10MHz を4倍に逓倍 して、CPUクロック 40MHz として使って居たのを、AKI-7125 は、12.5MHz x4 = 50MHz となっているので、それだけは注意!

なお、リアルタイム OS の HOS は、新しいバージョンの HOS-V4 Ver. 1.02 がリリースされているが、以前に作ったパッチとか、そのまま使える。

E1583実は、AKI-7125 を買ったのは今回が初めてでは無い。前回は、FT232RL を用いて、USB からシリアルに変換した。その時の回路図が、左。
FT232RL は、チップ単体で 450円で売っているのだが、基盤とか外付け部品とかコネクタ・ケーブルを買い揃える事を考えると、UP-12C の方が安いと考えた。
UP-12C は、本来、パソコンと携帯電話のインターフェース・ケーブルなのだが、USB とシリアルインターフェースを内蔵していて、これを改造するのが、一番簡単だ。

なお、FT232RLを使う場合は、PA3 をプルアップしている抵抗が一番のミソ。これが無いとプログラムが書き込めない。これを見つけるだけで半日潰した。
UP-12C の場合には、どうやらプルアップ回路が内蔵されているようで、この抵抗が要らない。

| | Comments (1) | TrackBack (0)

« June 2009 | Main | August 2009 »