2010年12月23日木曜日

Ubuntu 10.04 への Kinect ドライバのインストールとROSのインストール

ROS とか kinect とかのインストールに、いろんなサイトを集めることで成功したので
以下にまとめる。
基本的に 参考URL のコピペなので、うまくいかないときは参考URL先も参照。

インストール
参考URL
     Japanese: http://tclip.blog38.fc2.com/blog-entry-103.html
     English http://www.keyboardmods.com/2010/12/howto-kinect-openninite-skeleton.html


インストール手順

  1.  必要なパッケージのインストール

    sudo apt-get install git-core cmake libglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev doxygen graphviz

  2. gitのプロキシ設定 (必要なら)

    git config --global http.proxy proxy-address:portnumber

  3. 作業ディレクトリ作成

    mkdir /opt/kinect

  4. OpenNI インストール

    cd /opt/kinect
    git clone https://github.com/OpenNI/OpenNI.git
    cd OpenNI/Platform/Linux-x86/Build
    make && sudo make install


  5. Kinect ドライバインストール

    cd /opt/kinect
    git clone https://github.com/ros-pkg-git/Sensor.git
    cd Sensor/Platform/Linux-x86/Build
    make && sudo make install


  6. NITE インストール

    http://www.primesense.com/?p=515 の右側 Download NITE から、
    Download NITE SDKを /opt/kinect にダウンロード。
    32bit マシンなら x86, 64bit マシンならx64 を選択。

    cd /opt/kinect
    tar -xf NITE-Bin-Ubuntu-x86-1.3.0.17.tar.bz2
    cd NITE-Bin-Ubuntu-x86-1.3.0.17
    sudo ./install.bash

    # キーは 0KOIk2JeIBYClPWVnMoRKn5cdY4=

  7. xml ファイルの編集
    Niteのディレクトリの Data/*.xml を編集

    3rd line:
        <license key="0KOIk2JeIBYClPWVnMoRKn5cdY4=" vendor="PrimeSense"/>
    17th line:
        <MapOutputMode fps="30" xres="640" yres="480"/>
  8. kinect の テスト

    kinect をPCに接続 (plug kinect)
    Nite-1.3.0.17/Samples/Bin 以下のプログラムを実行
      • Sample-Players 人の識別, 骨格モデル?の検出
        Sample-PointViewer 手を降る or 手を前に突き出すことで手の位置検出、追従
  9. コツ

    kinect から2~3 m 離れると認識されやすい。
    Sample-Players で骨格トラッキングされるのは青く識別された人だけ?

ROS関係のインストール
ROS のインストール
まずは以下を参考に ROS をインストールする。http://www.ros.org/wiki/cturtle/Installation/Ubuntu
ただし、apt-get する必要があるパッケージは以下
        sudo apt-get install ros-cturtle-base


ROS ni パッケージ
参考URL
http://www.ros.org/wiki/kinect : hack版ドライバ freenect 用 ROS Stack
http://www.ros.org/wiki/ni : 公式版ドライバ用 ROS Stack
基本的には下。モータとかを使うには上を使うらしい。

インストール手順

  1. rosinstall のインストール

    sudo apt-get install python-setuptools git-core
    sudo easy_install -U rosinstall

    最後に .bashrc の編集を指示されるのでしたがう

    もしrosinstall の install に失敗したら
    以下から tar.gz をダウンロード
    http://pypi.python.org/pypi?%3Aaction=search&term=rosinstall
    tar.gz を解凍し、できたディレクトリに移動しえ、以下でインストール
    sudo python setup.py install

  2. ROS-NI をダウンロード and インストール

    echo "- git: {local-name: ni, uri: 'https://github.com/ros-pkg-git/ni.git', version: master}" > /tmp/ni.ri
    rosinstall ~/ni /opt/ros/cturtle /tmp/ni.ri
    . ~/ni/setup.sh
    rosmake ni


    .bashrc に ~/ni/setup.sh を追加しておくと便利。

  3. USBデバイスファイルの準備

    sudo cp `rospack find ps_engine`/install/55-primesense-usb.rules /etc/udev/rules.d/
    sudo adduser YOUR USERNAME users
    reboot


  4. テスト
    二つの端末で実行

    1st terminal
    roslaunch openni_camera openni_kinect.launch

    2nd terminal
    rosrun rviz rviz
    左上の: Fixed Frame を /openni_depth_frame に、Target Frame を にする。    左下の Add ボタンをクリックし、 Point Cloud2 を選択
    Topic に /camera/depth/points2 を選択
    マウスの右・左・中ボタンを駆使して表示を見る

    もし、rviz で失敗したら
         sudo apt-get install nvidia-cg-toolkit --reinstall

    もし、nvidia-cg-toolkit のインストールも失敗したら
    http://developer.nvidia.com/object/cg_download.html から Cg toolkit の deb パッケージをダウンロード
    次コマンドでインストール。ただしファイル名は環境によって変わる。
    sudo dpkg -i Cg-3.0_November2010_x86.deb

2010年12月19日日曜日

今日のワイン

ボルドー LA GARROUSSE 2006年 (Grand Vin de Bordeaux)
香りがフルーティでおいしい。
それから、カナートの地下食料品売り場 SUZUYA のフランスパンもおいしかった。
あとはフランスで買ったブルーチーズの組み合わせ。

すばらしい。

2010年12月6日月曜日

特定のディレクトリを除いてfind

ホームディレクトリ以下の、
ignore ディレクトリを除く、すべてのディレクトリから .txt を探したいとき

find $HOME -path "$HOME/ignore" -prune -o -name "*.txt"

参考URL:
http://d.hatena.ne.jp/yanma_4/20080721/1216617075

2010年12月2日木曜日

python emacs でタブを 4つのスペースにする

This line did not worked (29 Jan. 2011)
(add-hook 'python-mode-hook (function (lambda () (setq indent-tabs-mode nil))))



These lines worked.
(add-hook 'python-mode-hook
                   '(lambda()
                        (setq indent-tabs-mode nil)
                        (setq indent-level 4)
                        (setq python-indent 4)
                        (setq tab-width 4)))

2010年11月24日水曜日

python: 配列の最頻値 (mode) を求める。

import scipy
x = scipy.array(x)
list(set(x))[scipy.array([ len( scipy.where(x==key)[0] ) for key in set(x)]).argmax()]

2010年10月25日月曜日

結局見てるアニメ

刀語
新・三銃士
ぬらりひょんの孫

Star Driver
バクマン
ヨスガノソラ
俺妹
薄桜鬼
パンティ&ストッキング
八雲

2010年10月11日月曜日

貧困を考えよう

労働者・子供・障害者の貧困の現状を、
統計やインタビューを通じて論じている。
それはそれで中々興味深かったが、特に

「非正規雇用労働者は、いつでも首にされるリスクを負う分、
 正規雇用者よりも賃金が高くあるべき」

という主張 (p137) は確かにそうだと思った。


最後にある貧困解決のための提案は、カフカの階段
http://www1.odn.ne.jp/~cex38710/kafka2.htm
に対応する地味なものだが、これをきちんとやることが解決に近づく道なのだろう。




続日本人の英語

続じゃないほうと大体にている感じ。
ただし、アメリカと日本の文化やジョークの違いが詳しいのが異なる。

ちょっとおもしろかったネタを二つ。

・定冠詞の使い方による印象の違い p22
Russian: ロシア人
The Russian: (個性も人間性もない一枚岩的な)ロシア人

だから、 The Russian are coming! といった方が、アメリカ人的には迫力があるらしい。


・ラテン系・アングロサクソン系 p89
いわゆる群動詞はアングロサクソン系 (e.g., turn in)、難しい語はラテン系(e.g., submit)。
前者は自然な英語を使うのに大事だけど、使うのが難しい。

これはアメリカ人も一緒で、たとえば「うじうじしている」とかは使いにくいらしい。





猫物語

化物語シリーズ最新刊。

時系列的には以下の通り。
1. 傷物語
2. 猫物語 (黒)
[予定] 3. 猫物語 (白)
4. 化物語
5. 偽物語



化(本かアニメ、できればその両方)・偽・傷を全部見た人が一番楽しめると思う。
知っている人用のネタだらけなので、化物語って何?って人にはおすすめしない。

最初の三分の一ぐらいはは月火との雑談。そこからずっと羽川の話。
この話は全体的にかなり壮絶だった。
全部見てきたら、ここまで付き合ってやるといいかもしれない。







2010年10月6日水曜日

マネジメント

昔『もしドラ』を読んでからずっと気になっていたがついに購入。
いわゆる組織運営に関する本。
いわゆる名著なだけあって、示唆に富んでいた。

企業と公的機関に分けて、
それぞれを論じているのがおもしろかった。
てっきり企業家向けだと思っていた。


もともとのマネジメントはもっと大著で、
これはそのエッセンシャル版。
もしドラはさらにそのエッセンスだけをとった感じ。


自分の研究を改めて考える機会にもなるので
一度読んでみるといいかも




2010年9月21日火曜日

2010年秋アニメ

こんなもんかなぁ。
地域的に見られるものだけ。

とある魔術の禁書目録2期
神のみぞ知る世界
バクマン
それでも街は廻っている
薄桜鬼
心霊探偵八雲
俺の妹
侵略イカ娘
咎狗の血

おとめ妖怪ざくろ

継続はよく分からんので来月。

murrine_style_draw_box: assertion `height >= -1' failed

Ubuntu 10.04LTS で、 Emacs とかを起動したときに
次のようなエラーメッセージが出ることがある。

murrine_style_draw_box: assertion `height >= -1' failed

これは、どうやらデフォルトのテーマを使っているのが問題らしい。
解決方法は、

ルートで以下のファイルを編集
 /usr/share/themes/Ambiance/gtk-2.0/gtkrc

変更点は
Before
GtkRange::trough-under-steppers = 0

After
GtkRange::trough-under-steppers = 1



参考文献:
http://thehacklist.blogspot.com/2010/06/resolving-murrinestyledrawbox-assertion.html

2010年9月12日日曜日

カラシニコフ自伝

AK47 という、最近の独立戦争とかテロとかには必ず出てくる銃がある。
これは、ロシアの銃設計技師カラシニコフが50年以上前に設計した銃で、
その安定性には非常に定評がある。
安定性とは、川の中に落としても、砂の中でも動作すると言うことである。


自伝なので、カラシニコフの人生を綴ったものである。
ただ、各章の冒頭に当時のロシアの状況の解説もされている。
したがって、この時代のロシアの事情なんかがよくわかるので
とてもおもしろい。


「どんな状況でもAKは裏切らない」 = 必ず動作する
という点がAK47の最大の利点らしい。
これは、どんな製品にも当てはまりそうだ




順列都市

現代最高のSF作家といわれているらしい、グレッグ・イーガンのSF.

精神を丸ごとコンピュータにコピーし、
自分のコピーも自我を持つことができる世界。

ただし、コンピュータの使用時間は有料であるところとかがなかなか現実的。
というか、全体的に論理は通っていて、
この「精神をまるごとコピーできる」という前提を認めれば、
あとは論理をたどっていけるらしい。
けれども、なんだか難しかったので、肝心の理論がよくわからなかった。


とはいえ、ニューラルネットとか、人工生命とか、
そういう「コンピュータが知性を持つ」ような話が好きな人は
楽しめるような気がする。



2010年8月23日月曜日

法律の世界地図

世界史を法律の観点からまとめた本。

ローマ法までの第一章、
ヨーロッパの法律をまとめた第二章、
イスラムの法律の歴史がわかる第三章、
アメリカを含む現代の法律がわかる第四章、
法律雑学の第五章

で構成される。


1-2章は半分知ってて、半分しらないという感じで読みやすかった。
たとえばある主君がどんな法律を作ったかがわかると、
その人の思想までわかってなかなか面白い。
3章は、まったく知らなかったのでよかった。
イスラム法の成り立ち=ムハンマドから解説されているのでよい。
ファトワーという、学者の声明が大きな影響を持つらしい。

後は雑多な法律ネタで、雑学としておもしろかった。



何より重要なのは3章で、イスラム法の歴史から
現代の行動原理までがよくわかった。




決断力

将棋の永世名人 羽生善治の本。

基本的に、将棋に関するエッセイ集と思うとよい。
最後のほうに一般的っぽいことを言っているが、論理は適当だと思った。

でも、そんなことはどうでもよくて、
プロのなかでもトップの棋士はどんな生活・勝負をしているのかが
よくわかっておもしろかった。
それから、棋譜の研究が流行があるとか、ある戦法が一段落すると飽きるとか
学術研究ともにているところがあった。






ウツになりたいという病

カウンセラーの話。
実際にはウツ病の定義には入らないけれども、ウツと似た症状を訴える患者を「ウツもどき」と定義し、
なぜそういう症状が起こるのかを議論した本。
おもしろかった。

最近の日本でよくみかける、他人に対する完璧主義というか減点主義というか、
そういう思想が「ウツになりたい」病を生んでいるという。
たとえば、
「~すべきだ」が多いとか、一つミスがあると一斉にバッシングするとか。

そして、大きな原因の一つが「ポジティブシンキング」だという。
たぶんこれは本当のポジティブシンキングじゃなくて、
「ポジティブとみられようとするシンキング」というのが正しそう。
つまり、内面は落ち込んでいるけれども、外面では明るく振る舞うというやつ。
この内面と外面の差、認知的不協和がストレスの原因だという。

暗い顔してるとノリが悪いとか言われるけれども、
べつに暗い顔してもええやんかと思えない場合に、
合理的理由としてのウツになりたくなるらしい。

で、常に明るいわけがないんだから、
色見本を毎朝見て、今日はこんな色という色を
毎日選ぶというセルフカウンセリングが勧めれている。
これによって、
「自分の気分というものは常にうつろうものだ」
という事を自覚して、落ち込むときはちゃんと落ち込めるようにしようという。



周りに結構こういう人多いから、この本は薦めてみてもいいと思った。





勉強法が変わる本

心理学的にきちんとした理屈を元に、
効率的な学習方法を書いた本。

中学などの、勉強法が確立する前なら結構役に立ったかもしれない本。
ただし、「結局理解してから学ぼう」とか、「単語は全部を何度もやる」とか
既知のアドバイスが多かった。


それに、記憶のモデルを出すのはいいけど、
だからどうしたのかが議論されていなくて、
結局「心理学的な知見からうんぬん」は不発だった。


とはいえ
「テスト勉強だからと言って馬鹿にして、
高校で習うような知識の習得や問題の解決すらしなかった(できなかった)人が、
社会に出て急に優れた問題解決的な仕事をすることはめったにない」 (p.145)
は、正鵠を射ていると思う。




2010年8月22日日曜日

四畳半神話体系

おもしろかった。
いかにも京大の学生って感じで。
ただし、先にアニメを見たので、その印象が強かった。
そして声もその通りに再生された。

何より、アニメの方がおもしろい構成になってた。
以下ネタバレ













































個人的には、各章でエンドまで共有する終わり方よりも、
アニメのように、ずっと失敗して最後に成功する方がよかった。
なんというか、カタルシス感が会ったというか。
最終回はまさに うっひょーーー!! ってなった。

2010年7月30日金曜日

** WARNING ** No character mapping available.

** WARNING ** No character mapping available.
というエラーが出たときの対処

http://hirono-hideki.sblo.jp/article/33835511.html




文字コードをチェック。デフォルトなら euc-jpだけ。
emacs なら
Alt+X
set-buffer-file-coding system
euc-jp

で done.

2010年7月23日金曜日

FIR filtering using scipy

scipy の filter design functionの使い方メモ

scipy.signal.firwin を使えば LPF (low pass filter, 低域通過フィルタ) の係数が一発で求まる。
この係数を変形すれば、 HPF (High pass filter, 高域通過フィルタ)や
BPF (band pass filter, 帯域通過フィルタ) も求まる。


まずは音声ファイルを読み込む
import wave
import numpy
wavobj = wave.open( "test.wav" )
wav = numpy.fromstring( wavobj.readframes( wavobj.getnframes() ),
                                               numpy.int16)


次に LPF 係数を求める
import scipy.signal
N = 1024  # filter length
cutoff = 0.4

lpf = scipy.signal.firwin( N,  cutoff )


フィルタをかける
result = scipy.signal.lfilter( lpf,  1,  wav )


おしまい。



次はHPF への変換

hpf = -lpf
hpf[len(hpf)/2] += 1

おしまい。



BPFは、HPFとLPFを二回掛ければ良い。

result = scipy.signal.lfilter( lpf, 1, wav )
result = scipy.signal.lfilter( hpf, 1, result )



have a good dsp life!

2010年7月15日木曜日

空港の疑問50

基本的に空港マニアの空港話という印象。
でも、学会とかでよく空港をつかうので、楽しい。

全ページカラーで、写真も豊富で
ぼーっと読めて楽しかった。





2010年夏アニメ

とりあえず録画してる分

[新規]
あそびにいくヨ!
みつどもえ
生徒会役員共
BLACK LAGOON
屍鬼(未視聴)
ぬらりひょんの孫
スクール・オブ・ザ・デッド
黒執事Ⅱ

[継続]
けいおん
会長はメイド様
刀語


2010年7月11日日曜日

新書がベスト

このブログを始めたきっかけの本。
この本を読んだ直後にamazon で 7冊ぐらい本を買い込んで、
一週間ぐらいで読みきった程度には
僕に影響を与えた本。


この本の特筆すべき点は、その具体性。
新書を読むとなぜよいかという話もそこそこに、
とりあえずどうやれば良いかがかかれている。
具体的には次の3 ステップ

(1) 本棚を買え
(2) まず 10 冊新書を選ばずに買え
(3) 読みきれ

すると、自分が変わっているはずだ。
僕は、自分がどう変わったかを確認するために
ブログを始めてみた。


最後の新書をレーベルごとに紹介している部分も
それだけで本にしてよいんじゃないかと思った



日本の子供の自尊感情はなぜ低いのか

QOL (Quality of Life) という、生活の質を測定する基準の
子供用測定アンケートを作成した著者による、
現代の子供の現状を書いた本。

* QOL は、体の健康や家族、友達、学校などでよく過ごせているかを質問するもの。
* 自尊感情は、高すぎても低すぎてもよくないもので、
   適切なら自分を信じられるが、高すぎると他の人を見下すようなものらしい。
   きっちり定義はされていない。


結果は、小・中・高校とすべてQOL がヨーロッパ (子供用QOLの発祥)に比べて低かった。
また、親は子供のQOLを高く見積もる傾向がある。

これは、現在の授業が一斉形式で
(1) よくわかっている子には退屈、 (2) よくわかっていない子には劣等感を植え付ける
という弊害があるからだと筆者は行っている。

で、結局、親が子供に過剰な期待などをせず、
ありのままを受け入れるのが正しいはずだ
と行っている。


おもしろくは無かったが、
いつか親になったときにもう一回読んでもいいと思った。


なにより、最後にこの本が GCOE の一環だと知って、
ちょっと信用してしまった僕はミーハーだとおもった




ゾウの時間 ネズミの時間

サブタイトルにサイズの生物学とかかれているとおり
生物の体の大きさと、寿命などの性質について述べられている本。
この本の結論は、
体の大きさによらずに決まる、一般的な定数が存在する。
ということだった。

冒頭では、ゾウの寿命が長く、ネズミの寿命が短いのは、
実は一生の心臓の鼓動の回数は決まっていて、
寿命の差は心拍の早さが違うからだと言っている。

でも、ゾウとネズミの話ばかりしているわけではなく、
微生物や虫、サンゴなど、かなり広範な生物を取り上げて、
サイズの差による生物の戦略の違いを論じている。

たとえば、1 mm以下の生物 (細胞とか)では、
栄養は水中の拡散だけで放っておいても体中に広がるが、
サイズがもっと大きくなるとそれだけでは間に合わない。
したがって、循環器系が発達したはずだ。
とかが書かれていておもしろい。


ミスリーディングな結論を導いておいて、
「でも、実は、今の結論はこういう点でおかしい」
と、論理をひっくり返すところが散見され、
鵜呑みにしないように読んでほしい意図がうかがえる。



縦書きの文章で計算している箇所が多くところどころ
暗算でついていけない所があったが、
総じておもしろかった。



13歳からの法学部入門

哲学から法律の読み方まで、
法律にまつわることの基本的な仕組みを概説している本。
タイトルどおり、子供に話すように口語体でかかれているが、
むしろこの方が論理がすっきりして読みやすい。

死刑制度のような、論争になりやすいこともかかれているが、
反対・賛成ともに論理的な理由をつけて説明しており、
判断の助けになりそう

何より法律の読み方がちょっとわかって楽しい。


これもあたり。








2010年7月6日火曜日

日本人の英語

アメリカ人の著者が、日本人の英語について、日本語で説明した本。
もとは『科学』の連載だったらしく、短編集的になっている。
a/the や 単数/複数 の使い分けの解説や、前置詞の説明などがされている。


前置詞の説明なんかは、他の本と対して変わらないが、
a/the や 単数/複数 の使い分けの解説がすばらしかった。
これだけを読むために700円ぐらい払ってもいいと思う。

もちろん他の解説も例文を含めていてとてもわかりやすい。

久々の当たりを引いた感じ





2010年7月4日日曜日

アカデミア・サバイバル

博士を取ってアカデミア(=大学教員など)に残りたい人のための指南本

1章は、博士の現状とか、大学の人事 (の一例)が述べられていたりして
まだ客観的だった。
また、論文にストーリーが無いといけないというのはその通りで、
やや共感した。

ほかにも、ほめるのが大事とか言うのは共感できて、
「~だからだめ」という指摘じゃなくて
「こうするともっと~になる」という指摘の方が明らかに建設的だと思う。



ただ、結局最後に行き着くサバイバル術が「論文を書きすぎない」とか「成果はほどほどに」とか
研究者の姿勢として疑問に思うような術ばっかりだった。
まあ、懇親会に行った方がいいとかはわからなくはないけれども。

こんなのに従ってポストを得る人ばっかりだったら
日本の研究者の質は下がってしまうと思った。
何よりこんな事考えて研究しても楽しくない。




漢字

漢字の本がいろいろでている白川静のうちの一冊。
いろんな漢字の起源がかなり詳しく紹介されているし、
歴史も詳しいのでおもしろい。

ただし、大変読みにくい。理由を考えてみると
(1) 説明なしで未知語がでてくる。
聞いたことない文字の名前とか、当時の刑罰の名前とかが
知ってて当然みたいな感じで書かれているので
結局ずっと漢字において行かれてる感じだった。

(2) 文章の構造がよくわからん
最初に「漢字の特徴のうち、本書ではこれとこれについて述べる」みたいな、
オーバービューを先に書いてほしい。
これが無いために、著者の言葉を予測しながら読めないから、
とても疲れる。


ほかの白川静の本はもっと読みやすいんだろうか。




女は男の指を見る

動物(サル、トリなど)の生殖行動の研究を紹介し、
人のそれと比較している本。

研究紹介の割に文献情報が無かったり、
暗に主観なのか調査結果なのかわからないことが織り交ぜられていたりして
あんま論理的な感じはしなかった。


とはいえ、広範な動物について触れているので
その手の雑学は学べる。
し、飲み会とかでちょっとしゃべるネタにはいいのかもしれない。










課長のスキル


課長のスキルを読んだ。

本書の目的は、課長=チームリーダーが直面する問題に対して
(1) 問題
(2) 解決策
を述べている、ノウハウ集。
記述はショートショートの物語風になっている。
ガントチャートとか認知的不協和とかを実際にどうビジネスに使うかが書かれている。

結局最初から最後まで著者の自慢話感が抜けることはなかったが、
まあそういうのもありなんだろう。




本リスト

読んだ本
課長のスキル
親書がベスト
空港の疑問50
アカデミア・サバイバル
日本の子供の自尊感情はなぜ低いのか
女は男の指を見る
漢字
ゾウの時間ネズミの時間