2015年8月29日土曜日

自立できない飽和供試体 Saturated specimen that cannot be free-standing.

細粒分Fc=30%,間隙比e=0.64の密詰め供試体でも,飽和状態となると自立できません.



この供試体の粒径加積曲線は,以下のようになります.


2015年8月21日金曜日

[Mac] Mac OS X Yosemite へのPython 3系のインストール

Mac OS XにはデフォルトでPython 2.x系がインストールされていますが,今後のことを考えて,Python3.x系の環境をセッティングしておくことにしました.
インストールはMacports経由で行いました.

まずは,ターミナルから,portでPythonを検索します.
$ port search python*

ズラズラと検索結果が表示されますが,最新のバージョンのものをインストールしておきます.
python35 @3.5.2_1 (lang)

    An interpreted, object-oriented programming language

今回は,python 3.5をインストールすることにしました.
$ sudo port install python35

そして,Numpyのインストールです.
$ sudo port install py35-numpy +openblas

続いて,Scipyのインストールです.
$ sudo port install py35-scipy +openblas

さらに,Matplotのインストールです.
$ sudo port install py35-matplotlib


Macportsで各パッケージを別々にインストールするのではなく,IDE(Anaconda)をインストールするという方法もあります.
Anacondaは,こちらからダウンロード(Linux, Mac, Windows)できます.インストールはダウンロードしたパッケージを起動して"Next>"を押していくだけでOKです.
Mac OS X版のAnacondaを起動すると,以下のような画面が立ち上がります.




2015年8月20日木曜日

[TeX] 数式番号を表示しない


TeX で数式を書くときには,自動的に数式番号が不可されます.
数式番号を表示させたくない場合は,以下の2通りの方法があります.

equation の時には後に" * "をつける方法

\begin{equation*}
A = BC
\end{equation*}

displaymath を使う方法

\begin{displaymath}
A = \frac{B}{C}
\end{displaymath}


任意の数式番号だけ消したい時は,数式の後に" \nonumber "を付け足すことで,数式番号を消すことができます.

\begin{eqnarray}
\A &=& BC \\
   &=& DE \nonumber \\%←この数式番号だけが消える
   &=& F
\end{eqnarray}

" \nonumber "は,"equation"においても使うことができます.

2015年8月19日水曜日

神通川の空撮動画 BIRD'S EYE VIEW AT JINZU RIVER.

富山県富山市の神通川上空の空撮動画です.
撮影ポイントは,神通川河口と河口から6.4km地点です前回の河口付近の撮影動画に,距離標6.4km地点の動画を追加した動画)

Aerial shoot at Jinzu River, Toyama city, Toyama Prefecture, Japan. 
Shooting points are the estuary and the 6.4km from the estuary. 



神通川は,岐阜県と富山県に渡って流れる一級河川で,神通川水系の本流です.
  延長: 120km
  平均流量: 163.6m³ / s.
  流域面積: 2720 km².

The Jinzu river is a class A river flowing through the Gifu Prefecture and Toyama Prefecture, mainstream Jinzu drainage system. 
  Extension: 120km
  Average flow rate: 163.6m³ / s.
  Catchment area: 2720 km².

2015年8月16日日曜日

Macports のセルフアップデートなど

Macportsに関するメモです.
(Macports のインストールに関する投稿はこちら

Macports本体のセルフアップデートを行うには,ターミナルから以下のように入力します.
$ sudo port selfupdate

Macportsのリスト更新を行うには,以下のようにします.
$ sudo port outdated

Macportsでインストールしたアプリをアップデートするには,以下のようにします.
$ sudo port upgrade installed

2015年8月15日土曜日

Macportsを用いてMac OS X Yosemite に gnuplot をインストール

Macportsを用いてgnuplotをインストールした際のメモです.

まずは,以下のようにMacportsをアップデートします.
$ sudo port selfupdate
パスワードを入力するとアップデートが始まり,以下のようなメッセージが表示されるとアップデート完了です.
The ports tree has been updated. To upgrade your installed ports, you should run

  port upgrade outdated

 続いて,gnuplotを以下のようにしてgnuplotをインストールします.
$ sudo port install gnuplot
インストールが始まり,ターミナルが流れます.
そして,以下のような表示となれば,インストール完了です.

--->  No broken files found.

ちなみに,この時点でAquaTermも自動的にインストールされています.

パッケージ版やHomebrewからインストールする場合はこちら


2015年8月14日金曜日

神通川河口からの空撮動画 Aerial shoot at Jinzu river estuary

神通川は,岐阜県と富山県に渡って流れる一級河川で,神通川水系の本流です.
  延長: 120km
  平均流量: 163.6m³ / s.
  流域面積: 2720 km².

The Jinzu river is a class A river flowing through the Gifu Prefecture and Toyama Prefecture, mainstream Jinzu drainage system. 
  Extension: 120km
  Average flow rate: 163.6m³ / s.
  Catchment area: 2720 km².

2015年8月13日木曜日

神二ダム (富山県富山市) Jinni Dam in Toyama city, Toyama prefecture, Japan

神二ダムは,富山県富山市にある,神通川水系神通川に建設されたダム.
高さ40mの重力式コンクリートダムで,北陸電力の発電用ダムである.
同社の水力発電所・神通川第二発電所に送水し,最大4万キロワットの電力を発生する.


2015年8月12日水曜日

[Mac] Mac mini (Mid 2011) をSSDに換装

Mac mini (Mid 2011)のHDDをSSDに換装した際のメモです.
Mac mini のネジを開けるには,トルクスドライバー(ex. E-Value 精密ドライバーセット 32Pcs EPS-650  )が必要です.
今回,換装したSSDは,Samsung SSD840EVOベーシックキット 250GB 2.5インチ MZ-7TE250B/ITというものです.


交換は,以下のような手順で行いました.
1.本体の裏蓋を反時計回りに回して外します.
2.本来はファンを外した方がHDDの取り外しがしやすいのですが,今回はこの手順は省きました(その分,HDDを取り外す時に少しコツが要ります).
3.WiFiアンテナを止めているビスを外します.

4.WiFiアンテナを外します.
5.WiFi アンテナの下にHDDがあるので,取り出して,SSDに繋ぎ直します(ファンを取り外さないと,HDDを取り出すときに,少し強引に抜き出す必要があります).
   HDDに直接温度センサーがついているタイプもあるようですが,今回換装したminiはそのタイプではありませんでした.
6.繋ぎ直したSSDを元々HDDが入っていた場所に入れます(SSDはHDDより薄いので,差し込むのは簡単です).

7.WiFiアンテナのついている蓋を,戻し,ビスを留めます.
8.このあと,裏蓋を留めて,miniを起動し,OSを再インストールします.その際には,command + R を押しながら起動します.


2015年8月11日火曜日

[Mac] MacPorts をインストール

Mac OS X Yosemite にMacPortsをインストールした際のメモです(最近では,Homebrewが人気のようですが...).

以前はソースコードからのビルドでしたが,今ではパッケージ版からインストールが可能です.

まずは,"Xcode"と,"Command Line Tools"をインストールします.
App Store.appから,Xcodeを選択してインストール(Apple IDの入力等が必要)し,ライセンス認証等を済ませます.
Command Line Toolsはターミナルから
$ sudo xcode-select --install
とすればインストールが可能です.

続いて,MacPorts 公式ページから,OS Xのバージョンに合ったパッケージをダウンロードします.
ダウンロードしたpkgファイルをダブルクリックしてインストーラーを起動します.
インストールは,インストーラーの案内に従って,"Continue"等をクリックするだけで完了します.

MacPortsのパッケージリストを更新します.
更新する際には,ターミナルから以下のように入力します.
$ sudo port -dv selfupdate
すると,以下のように表示され,アップデートが終了します.
$ sudo port -dv selfupdate
DEBUG: MacPorts sources location: /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
--->  Updating MacPorts base sources using rsync
receiving file list ... done
base.tar

sent 31276 bytes  received 230131 bytes  74687.71 bytes/sec
total size is 27013120  speedup is 103.34
receiving file list ... done
base.tar.rmd160

sent 64 bytes  received 635 bytes  466.00 bytes/sec
total size is 512  speedup is 0.73
DEBUG: successful verification with key /opt/local/share/macports/macports-pubkey.pem
DEBUG: /usr/bin/tar -C /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/tmp -xf /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base.tar
MacPorts base version 2.3.4 installed,
DEBUG: Rebuilding and reinstalling MacPorts if needed
MacPorts base version 2.3.4 downloaded.
--->  Updating the ports tree
Synchronizing local ports tree from rsync://rsync.macports.org/release/tarballs/ports.tar
DEBUG: /usr/bin/rsync -rtzv --delete-after  rsync://rsync.macports.org/release/tarballs/ports.tar /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
receiving file list ... done
ports.tar

sent 55673 bytes  received 112 bytes  22314.00 bytes/sec
total size is 63047680  speedup is 1130.19
DEBUG: /usr/bin/rsync -rtzv --delete-after  rsync://rsync.macports.org/release/tarballs/ports.tar.rmd160 /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
receiving file list ... done
ports.tar.rmd160

sent 64 bytes  received 117 bytes  72.40 bytes/sec
total size is 512  speedup is 2.83
DEBUG: successful verification with key /opt/local/share/macports/macports-pubkey.pem
DEBUG: /usr/bin/tar -C /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/tmp -xf /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports.tar
Creating port index in /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports

Total number of ports parsed:
Ports successfully parsed:
Ports failed:
Up-to-date ports skipped: 24993

--->  MacPorts base is already the latest version
DEBUG: Setting MacPorts sources ownership to root

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated

(Macportsのセルフアップデートや,インストールしたパッケージのアップデートに関する投稿はこちら

2015年8月10日月曜日

[gnuplot] データファイルとコマンドファイルを用いて,2次元グラフをプロット

実験データ等をgnuplotを用いて,グラフにして表現したい場合には,以下のような手順で行います.
今回作成するグラフは以下のようなグラフです.

粒度試験結果(以下の例では"PSD")

   
突き固めによる土の締固め試験結果(以下の例では"Sc)


以下のようなデータがあったとします(テキストファイルで保存).
<PSD.txt>
2.0000 100.0
0.8500 91.8
0.4250 75.4
0.2500 62.9
0.1060 45.2
0.0750 43.4
0.0493 39.0
0.0355 34.5
0.0229 29.0
0.0137 20.9
0.0098 16.3
0.0070 12.7
0.0036 8.2
0.0015 7.3


2.0000 100.0
0.8500 91.6
0.4250 75.1
0.2500 61.8
0.1060 44.2
0.0750 42.5
0.0498 37.4
0.0357 33.6
0.0232 27.1
0.0136 21.5
0.0098 16.8
0.0070 13.1
0.0035 10.3
0.0015 8.4


2.0000 100.0
0.8500 92.2
0.4250 75.1
0.2500 61.9
0.1060 44.3
0.0750 42.6
0.0510 38.7
0.0365 34.9
0.0235 29.3
0.0140 19.8
0.0100 16.0
0.0071 14.2
0.0036 10.4
0.0015 9.4

<Sc.txt>
# Test for soil compaction using a rammer
#measuring points
# w rho_d
5.7 1.836
8.2 1.888
10.1 1.913
11.4 1.911
13.4 1.885
15 1.846
15.9 1.819
17.5 1.776

<Sc2.txt>
0.0 2.698
5.0 2.377
10.0 2.125
15.0 1.921
20.0 1.752
25.0 1.611
30.0 1.491
35.0 1.388
40.0 1.298
45.0 1.219
50.0 1.149
55.0 1.066
60.0 1.030
65.0 0.980
70.0 0.934
75.0 0.892
80.0 0.854
85.0 0.819
90.0 0.787
95.0 0.757
100.0 0.730
105.0 0.704
110.0 0.680
115.0 0.658
120.0 0.637
125.0 0.617
130.0 0.599
135.0 0.581
140.0 0.565
145.0 0.549
150.0 0.535
155.0 0.521
160.0 0.507
165.0 0.495
170.0 0.483
175.0 0.472
180.0 0.461
185.0 0.450
190.0 0.440
195.0 0.431
200.0 0.422

このデータをグラフにするには,対話形式で作成しても良いのですが,バッチ処理を行う方が簡単であると同時に,複数のデータを処理する際に便利です.

以下にバッチ処理を行うためのコマンドファイルを作成します.
<PSD.gp>
# Test for Particle Size Distribution of Soils
#
set logscale x 10
set xrange [0.001:10]
set tics font "Times New Roman,18"
set xtics 10
set yrange [0.0:100.0]
set ytics 10
set mytics 10
set xlabel font "Times New Roman,18"
set xlabel "{Grain Size (mm)}"
set ylabel font "Times New Roman,18"
set ylabel "{Percentage Passing (%)}"
set size square
set key font "Times New Roman,18"
set key right bottom
set key box
plot "./PSD.txt" using 1:2 with points pointtype 7 title"grain size accumulation curve",\
      "" smooth cspline with lines notitle

pause -1 "press [Enter] key or [OK] button to quit"

<Sc.gp>
# Test for Particle Size Distribution of Soils
#
set xrange [5:20]
set tics font "Times New Roman,18"
set xtics 5
set mxtics 8
set yrange [1.7:2.0]
set ytics 0.1
set mytics 10
set xlabel font "Times New Roman,18"
set xlabel "{water content w(%)}"
set ylabel font "Times New Roman,18"
set ylabel "{dry dendensity {/Symbol r}_d (g/cm^{3})}"
set size square
set key font "Times New Roman,18"
set key right bottom
set key box
plot "./SC.txt" using 1:2 with points pointtype 7 title "dry density - water content curve",\
      "" smooth cspline with lines notitle
replot "./SC2.txt" using 1:2 with points pointtype 7 title "zero air voids curve",\
      "" smooth cspline with lines notitle

pause -1 "press [Enter] key or [OK] button to quit"

これらのコマンドファイル(.gp)をターミナルから以下のように実行すると,先に示したグラフを描くことができます.

$ gnuplot

G N U P L O T
Version 5.0 patchlevel 1    last modified 2015-06-07 

Copyright (C) 1986-1993, 1998, 2004, 2007-2015
Thomas Williams, Colin Kelley and many others

gnuplot home:     http://www.gnuplot.info
faq, bugs, etc:   type "help FAQ"
immediate help:   type "help"  (plot window: hit 'h')

Terminal type set to 'aqua'
gnuplot> load 'PSD.gp'
press [Enter] key or [OK] button to quit
gnuplot> load 'SC.gp'
press [Enter] key or [OK] button to quit
gnuplot> q
なお,コマンドファイルを実行する際には,コマンドファイル(.gp)とデータファイル(.txt)を同じディレクトリに保存しておく必要があります.

2015年8月9日日曜日

本宮砂防堰堤 Hongu Erosion Control Dam

富山県の本宮砂防堰堤(Hongu Erosion Control Dam)の空撮動画です.
本宮砂防堰堤は,富山県の常願寺川河口より26.8km地点に位置する砂防堰堤です.
完成は昭和12年で,上流に川幅約500mの大きな堆砂域を有しており,その貯水量は­500万立方メートルの砂防堰堤です.

Aerial shoot of Hongu Erosion Control Dam, Toyama Prefecture, Japan. 
Hongu Erosion Control Dam is located in 26.8km point than Joganji estuary of Toyama prefecture. 
Completed in 1397, the upstream has a large sedimentation area of the river about 500m in, the water volume is 5million cubic meters.

2015年8月8日土曜日

[gnuplot] 散布図のプロット

複数のグラフデータが書き込まれた1つのファイルから,各々のグラフをプロットする手順のメモです.

まずは,ファイルに読み込み可能な形式で数値データが書き込まれている必要があります.
gnuplotは,列毎のデータを読み取るので,x軸のデータを1列目に,y軸のデータを2列目に書き込みます.
また,1列目と2列目の間は,スペースで区切られていることが必要です(簡単なデータ作成方法としては,表計算ソフトでデータを作成し,".prn"形式で保存して,拡張子を".dat"に変更するという方法があります).

例として,以下のようなデータがあったとします.
# data
# x y
5.7 1.836
8.2 1.888
10.1 1.913
11.4 1.911
13.4 1.885
15 1.846
15.9 1.819
17.5 1.776

上記のデータをプロットするには,"using"コマンドを利用します.
上記のデータが,"output.dat"という名前で保存されていたとして,gnuplotを立ち上げます(gnuplotを立ち上げる前に,プロットしたデータファイル(例では"output.dat")のあるディレクトリ(上記の例では,desktop)に移動した上で,gnuplotを立ち上げます).
$ cd desktop
$ gnuplot

G N U P L O T
Version 5.0 patchlevel 1    last modified 2015-06-07 

Copyright (C) 1986-1993, 1998, 2004, 2007-2015
Thomas Williams, Colin Kelley and many others

gnuplot home:     http://www.gnuplot.info
faq, bugs, etc:   type "help FAQ"
immediate help:   type "help"  (plot window: hit 'h')

Terminal type set to 'aqua'
gnuplot> plot "./output.txt"
gnuplot> 
と入力すると,グラフがプロットされます.
gnuplot> plot "./output.txt" w lp
とすると,点が折れ線で結ばれます." w lp "というコマンドは,線と点でプロットするという命令です.

表示する軸の範囲を指定するには,以下のようにx軸の値(この例では[0:25]と記述して0〜25としています)と,yの値([1.6:2.1]と記述して1.6〜2.1としています)を指定することができます.
gnuplot> plot [0:25][1.6:2.1] "./output.txt"
軸にラベルをつける場合は,以下のように入力します.
gnuplot> set xlabel "water content w(%)"
gnuplot> set ylabel "dry density ρd(g/cm3)"
gnuplot> plot [0:25][1.6:2.1] "./output.txt"
データ間を3次スプライン(cubic spline)曲線で補間するには,以下のように入力します.
gnuplot> plot [0:25][1.6:2.1] "./output.txt" smooth cspline
なお,3次スプライン(cubic spline)曲線は,全ての点を通ります.これを確認するには,グラフを重ね合わせて表示します.
gnuplot> plot [0:25][1.6:2.1] "./output.txt" smooth cspline, "./output.txt"

2015年8月7日金曜日

[Windows] Windows 7 (64bit) にgccをインストール

Windows 7 (64bit) にgccをインストールした際のメモです.

tdm-gcc のDownload のページの Bundle Installer (The easiest install) からOS に合う exe ファイルをダウンロードします.
tdm-gcc


ダウンロードページ

64bit OSなので,"tdm64-gcc-5.1.0-2.exe"を選択します.

ダウンロードした "tdm64-gcc-5.1.0-2.exe"ファイルを実行(ダブルクリック)してインストールを開始します.

[Create]を選択(クリック)します.

64bit OS なので, [MinGW-w64/TDM64 Experimental (32-bit and 64-bit)]を選択して[Next>]を選択(クリック)します.
以下,[Next >]を選択(クリック)します.



ファイルを取りに行くサイトを選択します(日本国内からダウンロードするのであれば,デフォルトの "SourceForge Default"でOK.


インストールするファイルを選択します.gcc (TDM64 Current: 5.1.0-tdm64-1) の[+](プラスボタン)をクリックするとツリー([core],[c++] ,[fortran],[openmp] など)のツリーが現れます.その中のチェックボックスで,チェックを入れたものがインストールされます.
インストールしたいものを選択した上で,[Install]ボタンをクリックすると"Installing"と表示されインストールが始まります.

"Completed successfully"と表示されたところで、[Next >]をクリックします.

すると,"Completing the TDM-GCC Setup Wizard" の画面が出るので、[Finish]をクリックして終了します.

これで,自動でPATHも通っています.
インストールの確認をするために,コマンドプロンプトで,"gcc -v" ,"gfortran -v" と打って,以下のように表示されればインストール成功です.

2015年8月6日木曜日

[gnuplot] プロットの方法とサンプリング点

gnuplotは,関数やデータの値が与えられた有限の数の点((x, y)や(x, y, z)の座標)を直線などで接続することで,プロットを描画します.
この有限の数の点をサンプリング点,その数をサンプリンング数と呼んでいます.
データをプロットする場合は,データ点がサンプリング点となります.また,関数の場合は,"set samples(二次元,三次元)"や,"set isosamples(三次元)"で設定します.
デフォルトでは,二次元プロットでは100点,三次元では10 x 10点となっています.

二次元プロットの例
sinカーブプロット例を以下に示します.以下のようなコマンドファイル("sin.gp")を作成します.

set xrange [-pi:pi]
set yrange [-1.2:1.2]
set sample 8
plot sin(x) with linespoints linetype7

pause -1 "press [Return] key to quit"

このファイルを,ターミナルから以下のように実行します.
$ gnuplot sin.gp
すると,以下のようなグラフが描かれます.
データをプロットする場合は,データ点がサンプリング数になり,データ数がサンプリング点になるので,"set sample"は無視されます.上記のコマンドファイルの3行目を
set sample 80
とすると,以下のようにサンプリング点が80になったグラフが描かれます.
gnuplotにおいては,サンプリング点の値を使ってプロットを行います.

三次元プロットの例
二次元プロットの際には,関数 y = f(x) を線で表しましたが,三次元プロットでは z = f(x, y) の表現を用い,縦と横のメッシュで作られる面を描きます.
このメッシュを構成する縦と横の線を
・等-u線(iso-u line)  x軸に平行な線
・等-v線(iso-v line)     y軸に平行な線
と呼び,これらの線上にサンプリング点が存在します.

例として,以下のようなコマンドファイルを作成し,"3DPlot.gp"という名前で保存します.
set xrange [-1:1]
set yrange [-1:1]
set xlabel "x"
set ylabel "y"
set ztics 0, 0.5
set view 30, 60
set samples 5, 8
set isosamples 3, 4
splot exp(-x**2 - y**2) with linespoints linetype 7

pause -1 "press [Return] key to quit"

ターミナルから,
$ gnuplot 3DPlot.gp
press [Return] key to quit
と実行すると,以下のようなグラグが描かれます.
コマンドファイル8行目では,
set isosamples 3, 4
として,等-u 線3本,等-v 線4本を設定しています.
また,等-u 線と等-v 線のサンプリング点の数は,7行目の
set samples 5, 8
で指定しています.
描かれたグラフを見てみると,等-u 線上には5個のサンプリング点が,等-v 線上には10個のサンプリング点があります.等-v 線のサンプリング点を8個と指定していますが,実際には10個の点がプロットされています.これは,等-u 線との交点にサンプリング点を作るために,点が自動で2個追加されているためです.
試しに,これらの点数,間隔を
set samples 30, 60
set isosamples 50, 80
に変更すると,以下のようなグラフが描かれます.

2015年8月5日水曜日

Phantom2 vision + にLED ヘッドランプを装着

Phantom2 vision + 用のLED ヘッドランプ(amazon)を取り付けた際のメモです.

ヘッドランプはこのような(↓)感じです.品物には中国語が書いてあり,説明書も何もありません.
Phantom本体側部の放熱用スリットから,"+, -"と書いてある二つの穴の開いてる部品を通します.


通した部品は,バッテリーから電力を供給するための端子です.この端子を,バッテリーのソケット部分に通します.
ソケット部分のどちらが陽極(+),陰極(ー)なのかを見分けなければなりません.赤い線が出ている方が陽極(+)で,黒い線が出ている方が陰極(ー)です.
写真では,上側が陽極(+),下側が陰極(ー)です.

端子をソケット部分に通して,バッテリーを挿すと,ビカっと(室内では,眩しいくらい)光ります.

品物名は「ヘッドランプ」なので,本来は機首側に付けるものなのなのかもしれませんが,Phantomを飛ばしている際は機体の底部しか見えないので,目視で機体を確認しやすくするために,バッテリー下側の底部に付けました.

飛行中は,このような感じになります.
感覚としては,本体の赤,緑のLEDより見やすいので,機体の向きが把握しやすいように感じます.

2015年8月4日火曜日

2015年8月3日月曜日

Phantom2 Vision+を撮影した動画 Aerial Shoot of Phantom2 Vision+

Phantom 2 Vision+ をPhantom 2 Vision+で撮影した動画です.
Aerial Shoot taken the Phantom2 Vision+ Professional in Phantom2 Vision+.

2015年8月2日日曜日

DJI Phantom 2 Vision+ によるGPS捕捉数向上のための手作りシールド

DJI Phantom 2 Vision+において,安定した飛行を行うには,GPSの捕捉数が重要な要素の一つとなります.
よって,一つでも多くの衛星を捕捉している状態で飛行を行いたいのですが,上空が開けている状態でも,捕捉している衛星の数は6基以下の場合もあります.

具体的には,スマートフォンのアプリ(GNSS VIew)では,上空にGPS衛星が8機,準天頂衛星システム(QZSS)が1機あることを確認できても,DJI Phantom 2 Vision+での衛星捕捉数は4〜5となってしまうという場合があります.

GPSの感度を上げたいと思い,色々と検索してみると,DJI Phantom 2 Vision+のGPS部分周辺にシールドを作成して,感度を上げるという方法(例えば,YouTube Phantom 2 Vision +(P2V+) GPS感知性能改善策)があることを知りました.

アルミテープによってシールド作成する方法で,とても簡単そうなので,試してみました.以下に,作業過程をメモしておきます.

まずは,本体の上部カバーを外し(2mmの六角レンチと,00のプラスドライバーが必要です),GPSのコネクターを外します.
上部カバーを外した状態

今回,使用したテープは以下のもの.
アルミテープ

次に,上部カバーにアルミテープを貼ります.この時に,当初はシールドの切込み部分から出ているGPSのコネクター部分を,シールドの端部から出して,コネクターのメス部分の上部に来るようにします.
アルミテープを貼った上部カバー

これによって,どれだけの効果があるのかはわかりませんが,試してみたところ,GNSS Viewでは,以下のような状態である場所で,DJI Phantom 2 Vision+では,8個の衛星を捕捉しました.
GNSS Viewにおける上空のGPS衛星状況

地平線周辺に3基の衛星があって,真上に準天頂衛星システム(QZSS)が1基,その他の衛星が7基なので,まずまずの結果なのではないかと思います(とは言え,はっきりと効果が出ているというほどのものではありません...).

また,転倒や墜落によってGPS部分に損傷があると,勿論,衛星を捕捉することはできません.機体に損傷がなくても,損傷が生じることがあるとのことなので,転倒や墜落には気をつけなくてはなりません.
GPS部分の破損状況例


2015年8月1日土曜日

[Mac] MacPorts経由でインストールしたパッケージのアップデート

まずは,MacPortsのアップデートを行います.
$ sudo port selfupdate
Password:
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.3.4 installed,
MacPorts base version 2.3.4 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run

上記の例は,アップデートの必要がない場合ですが, sync が実行され,Portsのツリーが更新されます.

続いて,アップデートできるパッケージの有無を確認します.
$ port outdated
The following installed ports are outdated:
arpack                         3.3.0_2 < 3.3.0_3         
...
...
xrender                        0.9.9_0 < 0.9.10_0        
アップデート可能なパッケージが返ってきます.

通常のアップデートでは,以下のように,一つもしくは複数のパッケージを選択して行います.
$ sudo port upgrade automake arpack

古いパッケージをまとめてアップデートする際には以下のように入力します.
$ sudo port upgrade outdated


[gnuplot] バッチ処理

gnuplotにおいて,少ないコマンド数でグラフを描くには,対話形式での実行が簡単です.
一方で,複雑な処理や,繰り返しの処理が必要な場合は,バッチ処理形式の方が便利です.

以下の4つの関数のプロットを例として,その比較を示します.

対話形式による実行
ターミナルから,以下のようにタイプします.
gnuplot> set sample 512
gnuplot> set xrange [-5:5]
gnuplot> set yrange [-1.5:1.5]
gnuplot> set xzeroaxis
gnuplot> set yzeroaxis
gnuplot> f(n, x) = 4/pi*sin((2*n-1)*x)/(2*n-1)
gnuplot> S(n, x) = sum[i=1:n] f(i, x)
gnuplot> plot f(1,x) with lines,\
>        f(2,x) with lines,\
>        f(3,x) with lines,\
>        S(3,x) with lines
gnuplot> 
すると,下図がプロットされます.
各行のコマンドは,以下のようになります.
1行目のコマンド:関数の計算点を512点に設定(なめらかなプロットが必要な場合は,計算点数を増やします).
2, 3行目のコマンド:x,y軸のプロット範囲の指定
4, 5行目のコマンド:x=0, y=0軸の描画指定
6行目のコマンド:式(最初の三つの関数(2変数関数))の定義(最大12変数まで指定可能)
7行目のコマンド:式(四つ目の関数)の定義
8〜11行目のコマンド:プロット作成(コマンドは"plot"一つのみで,行末に"\"をつけることで,行を分割)

この例を見てもわかるように,複雑なグラフを描く場合,面倒です.また,タイプミスがあった場合は,最初からやり直しとなってしまいます.

コマンドファイルを"load"を使って実行
バッチ処理を行う際には,コマンドファイル(実行したいコマンドを並べて,テキストファイルとして保存したもの)を作ることから始めます.
上記のコマンドと同じグラフをプロットしたい場合は,以下のような内容のテキストファイルを作成,保存します(今回は,"fourier.gp"という名前で保存).

set sample 512
set xrange [-5:5]
set yrange [-1.5:1.5]
set xzeroaxis
set yzeroaxis
g(n, x) = 4/pi*sin((2*n-1)*x)/(2*n-1)
Sum(n, x) = sum[i=1:n] g(i, x)
plot g(1,x) with lines,\
     g(2,x) with lines,\
     g(3,x) with lines,\
     Sum(3,x) with lines

そして,ターミナル(gnuplotを起動させた状態)から,以下のようにタイプします.
gnuplot> load 'fourier.gp'
すると,以下のようなグラフが描かれます.
図の中身は先と同じですが,"fourier.gp"では,関数名をg(n, x), Sum(n, x)としてあり,凡例が異なっています.

コマンドファイルをシェルから実行
gnuplotを起動させずに,ターミナル(シェル)から直接ファイルを実行します.
"load"を使って実行した時と同じように,以下のテキストファイルを作成し,"fourier2.gp"という名前で保存します.

# Fourier series for a square wave

set sample 512
set xrange [-5:5]
set yrange [-1.5:1.5]
set xzeroaxis
set yzeroaxis

h(n, x) = 4/pi*sin((2*n-1)*x)/(2*n-1)
SUM(n, x) = sum[i=1:n] h(i, x)

plot h(1,x) with lines,\
     h(2,x) with lines,\
     h(3,x) with lines,\
     SUM(3,x) with lines


pause -1 "press [Enter] key to quit"

そして,ターミナルから(gnuplotを立ち上げていない状態)以下のようにタイプします.
$ gnuplot fourier2.gp
press [Enter] key to quit
すると,以下のグラフが描かれます.
グラフの中身は,同じですが,関数名を関数名をh(n, x), SUM(n, x)としたので,それが凡例に反映されています.

コマンドファイルの中身は,以下のとおりです.
1行目:"#"で始まるコメント行
最終行:バッチを一時中断する命令(このようにしておかないと,直ちにgnuplotが終了してしまいます)
関数の定義など,他の部分は,対話形式における記述と同様です.