2014年7月24日木曜日

Raspberry pi PC



Nexus 7とraspberry piを使ってraspberry pi PCを作ってみました!
ディスプレイとはネットワークで接続しています。 
その方法を紹介します。
1. raspberry piのvncサーバーを立ち上げる
自分はx11vncを使いました。sudo apt-get install x11vncでインストールできます。
パスワードを設定するには x11vnc -storepasswdで設定できます。
パスワードを設定したら x11vnc -usepw -foreverを入力してください。
最後に PORT=5900等が出てきます。
2.アクセスする。
vncviewerのアプリをスマホ、タブレットに入れてください。
次に接続します。
raspberrypiのipアドレス:ポート番号でアクセスできます。
例えば、ipが192.168.0.0,PORTが5900なら
192.168.0.0:5900です。
これだけでディスプレイとして使用できます。
なおraspberry piのネットワークをARPで設定すればローカルネットワークでもvnc,ssh接続できます。

2014年7月20日日曜日

SIGVerseをubuntu12.04 64bit本機で動かす


ubuntu 12.04 LTS 64bit本機, Win 2012 でSigviewerを動かしてみた

 中国国際ICT大会に参加するので中国でSIGVerseの発表をしたいと思っています。SIGVerseはロボカップ@ホームシミュレーションリーグで使用されているシミュレータです。物理はもちろん、自分で作ったロボットの3DCADデータをSIGVerseに表示してシミュレーションできたり、
自分のプログラムでロボットをシミュレータ上で動かしたり、Ocurus liftを使用, ROSを使用することができます。Unity3Dでのゲーム開発と似ています。Mayaなどで3Dキャラクターやアニメーションを作っている方にもおすすめです。
今回僕が挑戦したubuntu 12.04 64bit本機でvbox上にwin 2012を立ち上げてsigverseを実行する方法を紹介します。

sigviewerのsetup

1. virtualboxをインストールしてください。

2. windows server 2012のvhdファイルをmicrosoftのホームページからダウンロードしてください。

3. microsoftからダウンロードしたファイルが.exe形式になっていて開けません。wineで開いてください。

4.  virtualboxですでにある仮想イメージ(winserver 2012)のvhdファイルを選択してください。メモリのサイズなどはデフォルトでよいです。

5. winserver2012を起動しアカウント設定等が終了したらguestadditions.isoをマウントしてインストールしてください。SIGverseはdirectXを使用するので必ずインストールする必要があります。

6. SIGViewerをインストールしてください。IEのセキュリティ設定が面倒くさいと思う場合はfirefoxやgooglechromeでのブラウジングをおすすめします。

7. SIGViewerのsetup.msiファイルを開いてインストールしてください。

8.エラーが表示されてSIGviewerが開けないと思います。VCC/VC++のMSVCR71.dllが足りないというエラーです。MSVCR71.dllをネットから落としてきて C:\program files(x86)\SIGViewer_2.2.0\SIGViewer\Releaseにこのファイルを置けば完了です。
SIGViewerが起動します。


SIGserverのsetup

・jdk等のインストールするパッケージ名や指定するディレクトリ名のi386の部分をamd64に変更してください。(amd64: 64bit, i386: 32bit)


これでSIGVerseが起動できると思います。


超音波センサPINGのデータ分析

角度とPINGで計測した壁との距離の関係(x: 角度、 y: 距離)


RCJジャパンオープン2014では壁との距離に三角関数等を用いて計測していたのですが、動きを見ていると超音波センサが斜めを向いたときに実測値に対して大きな誤差がでるのではないかと思い、データを集計してみることにしてみました。
おもしろいことに、40°までは超音波センサの値がほとんど変わりません。指向性のためでしょうか。つまり三角関数を用いて値を正確に求めようということが実測値との大きな誤差を生み出していたのです!もう一つ分かったことは、超音波センサが40 ~ 60°以上壁に対して傾いてしまったときはすべての距離で150 ~ 170cmの値で一定になりました。
つまり超音波センサが壁に対して40~60°以上で向くとありえない値が読みこまれてしまいます。これを防ぐためにプログラムで壁に対して45°以上ロボットが傾いたときは横幅を計測する超音波センサを変更することです。(正面についている超音波センサが45°以上向いてしまったときは横幅を計測することになる)

中国国際ICT大会まであと10日。プレゼンシートと名刺も用意しなければ!