べれすく!

素人プログラマによるモノづくりやブログ生活を話すブログ

【スポンサーリンク】

【機械学習用のモバイルPCを自作しよう!】小型で外でも使えるデスクトップPCを考える話。【前編】

こんにちは!べれすくです。
 
今回は妄想企画です。
実際に組んだわけではないので、そこら辺の理解はお願いします。
 
さて、最近は身近な物にもDeapLeaningを用いることがふえてきました。
しかしDeapLeaningは学習にも仕分けにも結構なスペックが必要なんだとか。(深層学習エアプの見解です。)
それこそ、一般的なノートパソコンじゃ厳しいほどに...
 
ロボットに積みたいのに、持ち運べないデスクトップPCがメインってどういうこと?!
ハイスペックノートパソコンは...めっちゃ高い!(値段が)
 
 
ならば自作しようではないか!!  
 
今回はYOLOv3リアルタイム10FPS程度で動かせるようなスペックのモバイルデスクトップPC自作について考えたいと思います!

もくじ

モバイルデスクトップPCの定義を考えよう

今回、モバイルデスクトップパソコンというわけのわからない単語が出ています。
意味は容易に想像できると思いますが、「持ち運びできるデスクトップPC」です。
 
ではそんなことが可能なのでしょうか?
理論的には可能だと思います。ただ今はやりの薄いノートパソコンにははるかに劣る携帯性だと思いますけどね。
 
今回は、「リュックサックに入る」ことと、理論上「1時間以上、外で使える」ことを念頭において考えたいと思います。

YOLOv3を10FPSで動かすのに必要なスペックを考えよう

これに関しては推測になります。
探してもあまり載ってないんですよね。
古いのでよければ一応公式から出ています。

pjreddie.com

  • 基本的に一枚10万円のTitanXを4枚刺し、安価に済ませるならGTX980Tiの4枚刺し
  • 14万円のパソコンに40万円分のGPU足して64万円!150万円以下じゃん!安い!

とか言ってくるんでお話になりません。
 
とてもじゃないですが学生の持てるマシンじゃないですし、これ1000W以上食います。絶対。(TitanXはTDP250W)
こんなもの19Vで賄おうものなら53Aも流れます。53000mAhのモバイルバッテリーとかあるんだろうか...
家庭用非常電源の域だし、あっても絶対にリュックに入らないですね。
参考にならず!
 
ということで試した人のデータを探します。

 
GPUを使うと早いのはわかるのですが、GPU使用時にCPUの性能で差が出るのかというのもわからないです。
そもそも、機械学習用チップとデスクトップPC用のCPUをベンチマーク等で比べていいもんかという問題もあります。
 
まぁいろいろ見ていきましょう。

こちらのサイトによると、JetsonシリーズだとこのくらいFPSが出るらしいです。(画面サイズ不明)
f:id:Veresk:20200305220352p:plain

demura.net

いずれもGPUを用いた値だそうです。
やはりTensorコアに対応したGPU機械学習に強いということがわかりますね。
f:id:Veresk:20200305222519p:plain
Tensorコア搭載のJetsonの性能を見る限り、これ以上のGPUが必要になりそうです。
まぁ、市販で買えるグラボでTensorコア積んでるのってRTXシリーズしかないので、どれ選んでも余裕で越えますけどね。
ちなみにこのJetsonは15万円ほどします。省電力だけあっていいお値段しますねぇ。

Tensorコアを使わないGPUを使うとどうなんでしょうか。
github.com こちらのページのYolo v3に関する話を少しまとめると
 

  • 「Yolo v2」は「最大400Gflop-SP/FPS」、「Yolo v3」は「最大700Gflop-SP/FPS」(双方共に832x832)

  • 「Yolo v2」は「最大100Gflop-SP/FPS」、「Yolo v3」は「最大175Gflop-SP/FPS」(双方共に416x416)

  • 「Yolo v3」で「GTX970」で「20FPS程度」(416x416)

  • GPUの内蔵メモリが少ないとエラーが出る(GTX750で確認)

 
 
こんなものですかね。
このスレッド自体、失敗者に教える意味合いが強いのでどこまで参考になるかはわかりません。
HD画質(1280x720)で10FPS出そうと思うと7000Gflop-SPでぎりぎり?なので、GTX1070 TIぐらいは必要になりそうです。
しかし、こちらの記事だと「GTX1070」で「4K(4096x2160)」でも「18-20FPS」ほど出るらしいのであまり心配しなくてもいいのかもしれません。(ほんとかなぁ)

www.nakasha.co.jp

詳しい比較は後にするとして、GTX1070も電力をそこそこ食うので、ある程度の妥協は必要になりそうです。

 
続いてCPUのみでの運用を見てみましょう。
今更ですが、手法云々はわからんのでごちゃまぜです。
先ほどのスレッドで、「Core i7-7820QH」を用いて実験した結果、 f:id:Veresk:20200306000117p:plain
このような結果になっていました。

ここまで低いのは少しおかしい気もしますが、まぁ参考程度に見ましょう。  
 
続いてこちらのサイト。

qiita.com

こちらによると「Core i7-8750H」で「4-5FPS」だそうです。
 
 
ただ、同じ人の記事でMultiProcess + MultiThread による折衷実装をすると、「13FPS」まで上がるそうです。
正直、ここまでできる気がしないのであまり参考になりませんね...。

qiita.com

GitHubにやり方が上がっているとはいえ、この人は天才の域だと思います。素直に尊敬。
CPUのみで10FPSを出そうと思ったら、Core i7-8750は超えている必要がありそうです。(上位CPUなのでこれ以上はキツい)
 

ノートパソコンならどのくらいの値段がするのか考えよう

BTOとか上げていけばキリがないので、今回はAmazonに売っているものの中で見てみます。
まず気になるのがRTXシリーズ搭載ノートパソコンですね。
 
まずはRTX2060から見てみます。

iiyama製 152280円

MSI製 179986円

DELL製 178400円

おっ、想像していたよりは安いですね。
これなら3か月ほどバイトをすれば学生でも狙える値段です。
ただ重量的に重そうではあります。  
続いてRTX2070

iiyama製 207780円

ASUS製 226500円

MSI製 255000円

20万円から25万円ほどですね。
やはり高い。さすがゲーミングノートPC。
 
最後にRTX2080です。

Acer製 294166円

iiyama製 334480円

RAZER製 439780円 

基本的には30万から40万ほどです。
ここまで来るとさすがに手が出ません。

先ほどのページでGTX1070でもいい結果が出ていたのでそれも見てみましょう。

一番安いのでこの価格ですね。
これならどう考えてもRTX2060のほうがお得です。
TensorコアなしでもGTX1070に比べ、1.2倍の性能を持っていますから。
簡単な機械学習をする人がノートパソコンを買うならRTX2060搭載のものが一番お勧めですね。
ただ、性能的なコスパで言うならRTX2070搭載ノートPCが最高です。
 

次回は実際に構成を考えよう

今回、かなりパーツの候補が絞れました。
次回は今回の資料をもとに、実際にモバイルデスクトップパソコンのパーツ構成を考えていこうと思います。
 
つぎ↓

veresk.hatenablog.com

 
今回はこのあたりにしましょう。それでは!

【PycharmとPython】超簡単にOpenCVの環境を整える話。

こんにちは!べれすくです。
 
前回はVisualStudio2019でC++OpenCV環境を整える話をしました。
↓前回

veresk.hatenablog.com

今回は、PythonOpenCVの環境を整える話をします。
C++と比べるととても簡単です。
 
それではやっていきましょう!

もくじ

Pycharmを入れよう!

Python統合開発環境で有名なのがAnacondaですが、Anacondaは基本的にCondaを使用するためpipの使用が非推奨です。
一応、使えないこともないのですがpipを入れたばかりにプログラムが動かないということが多々あります。
pipにしかないライブラリもあるので、Condaしか使えない環境だとかなり不便なのです。(ソフトウェアとしては使いやすいんですけどね。)
 
そこで、今回は統合開発環境にPycharmを選択します。
PycharmはUIがシンプルでわかりやすく、pipをメインとしているのでAnacondaよりライブラリの問題は起きにくいです。
それでは導入していきましょう。
 
Pycharmをダウンロードしましょう。

www.jetbrains.com

コミュニティを選択してダウンロードします。
ダウンロードしたら、インストールしましょう。
何も考えずにNextを押しまくりましょう。簡単にインストールが完了します。
f:id:Veresk:20200302213052p:plain
 

Pythonを入れよう!

PycharmはPythonを別個でインストールしてプロジェクト毎に好きなバージョンにかえることができます。
そのためのPythonをインストールしましょう。

www.python.org

今回は3.7のみを入れます。(3.8はいろいろエラーがでるので現状使いたくないです。)
ライブラリによっては過去のバージョンしか使えないものもあるので、必要に応じて追加してください。
簡単に済ませたいのでインストーラをダウンロードします。
f:id:Veresk:20200302234036p:plain
指示に従ってインストールします。
カスタマイズとかせずにインストールすればいいです。
カスタマイズしてファイルパスを変えた人はファイルパスを覚えていてくださいね。
f:id:Veresk:20200302234053p:plain
 

仮想環境とプロジェクトを作ろう!

それでは早速Pycharmを起動します。(設定をインポートするか聞いてきたら「しない」にチェックを入れてください)
初めは右下の設定を開きます
f:id:Veresk:20200302213813p:plain
 
「Appearance & Behavior」の中の「SystemSetting」中にある「Reopen last project on startup」のチェックを外します
OKを押します。
f:id:Veresk:20200302214656p:plain

次にCreate New Projectを押します。(すでにプロジェクトがあるのは気にしないでください)
f:id:Veresk:20200302215839p:plain
プロジェクトの場所をお好きな場所に設定し、「Base interpreter」を先ほどのPythonの場所に設定します。(私は3.7と3.8の2つが入っているので2つ表示されています。)
基本的に自動的に設定されます。
f:id:Veresk:20200302221623p:plain
「Create」をクリックするとプロジェクトができます。
 

OpenCVをインポートしよう!

OpenCVをインポートしましょう。
「File」タブから、「Setting」にすすみます。
f:id:Veresk:20200302225053p:plain
「Project :<プロジェクト名>」タブ内の「Project Interpreter」に進み、一番右の+マークを押します。
f:id:Veresk:20200302224333p:plain
OpenCV」と検索し、「opencv-python」をクリックしてインストールします。
インストール出来たらOpenCVの導入は完了です。(opencv-pythonをインストールするとついてくると思いますが、なければnumpyもインストールしてください。)
f:id:Veresk:20200302230847p:plain  
エラーが出る場合はpipをアップグレードしてください。 下のターミナルから以下のコマンドを実行します。

python -m pip install --upgrade pip

f:id:Veresk:20200302230636p:plain
赤い文字でエラーみたいなのが出るかもしれませんが気にしなくていいです。
完了したらもう一度「opencv-python」をインストールしてみてください。
 

サンプルプログラムをうごかしてみよう!

プロジェクトファイルの名前のファイルを右クリックし、「New」から「Python File」を選択します。
f:id:Veresk:20200302224914p:plain ファイル名は「main」にします。
f:id:Veresk:20200302223957p:plain
これで、プログラムを書きこむことができます。

import cv2
import numpy as np

img = np.full((200, 200, 3), 128, dtype=np.uint8)

cv2.imshow('windows', img)
cv2.waitKey(0)

コードエディター上で右クリックし、「Run」を押します。
f:id:Veresk:20200303002242p:plain
灰色のwindowが表示されれば成功です。

まとめ

今回はPycharmをつかってOpenCVを動かすまでをやりました。
PythonOpenCVは導入がとても簡単な上、ほかのライブラリとの組み合わせが多彩です。
この特性を生かせば、少ないコードで大きなプログラムを作れます。
夢が広がりますね。
 
今回はこの辺にしておきましょう。それでは!

【VisualStudio2019とC++】環境変数の設定なしで簡単にOpenCVの開発環境を整える話。

こんにちは!べれすくです。
 
最近、人工知能やライブラリの便利さからPythonが人気ですね。
しかし、C++でしかつかえないライブラリがあったり、実行速度が速いという点でC++にもアドバンテージはあります!
 
そんなわけで、今回はVisualStudio2019を使ってC++OpenCVの開発環境を整えようと思います。
Python に比べると導入が面倒ですがやっていきましょう!

↓ちなみにPythonOpenCVの環境を整える話はこちら

veresk.hatenablog.com

もくじ

VisualStudio2019を入れよう!

VisualStudio2019をインストールします!

visualstudio.microsoft.com

多くの人はCommunityで大丈夫です。
ダウンロードしたら指示道理にインストールしていきます。
f:id:Veresk:20200301192017p:plain ワークロードはC++によるデスクトップ開発」にチェックが入っていればあとはお好きなものをどうぞ!
後からでも変更できるので特に深く考える必要はありません。
インストールには結構な容量を必要とするため、時間がかかります
気長に待ちましょう。
 
インストールが完了したら今は閉じておいて構いません。
 

OpenCVをダウンロードしよう!

OpenCVをダウンロードします。

opencv.org

こだわりがなければ最新版でいいと思います。
今回は最新が4.2.0だったのでそれを使います。
ダウンロードしたら実行しましょう。
f:id:Veresk:20200301192658p:plain
展開する場所を指定します。
今回はD直下にしました。この場所はよく使うので覚えていてください。(メモ帳とかに貼っとくといいです)
 

プロジェクトを作ろう!

VisualStudioでプロジェクトを作りましょう。
VisualStudio2019を起動してください。
f:id:Veresk:20200301220412p:plain
起動したら「新しいプロジェクトの作成」を選びます。
f:id:Veresk:20200301220554p:plain
今回は空のプロジェクトを使います。
C++なら基本的に動くので、実際に使う際は用途に合わせて選んでください。
f:id:Veresk:20200301220805p:plain
プロジェクト名とプロジェクトファイルを置くフォルダを好きなように設定します。
この場所も後で使うので覚えておいてください。
 

ライブラリディレクトリの指定をしよう!

これでプログラムを始められる状態になったわけですが、このままではOpenCVは使えません!
VisualStudioにOpenCVのファイルがどこにあるかを教えてあげないといけないからです。
上部のプロジェクトタブからプロパティを開きます
f:id:Veresk:20200301221340p:plain
構成を「すべての構成」に、プラットフォームを「すべてのプラットフォーム」に変えます。
 

インクルードディレクト

VC++ディレクトリタブを選択し、インクルードディレクトリを編集します。
編集は欄をクリックすると出る、右端の下矢印を押すと出てきます。
f:id:Veresk:20200301221625p:plain 右上の黄色いファイルマークを押し、OpenCVの中にあるインクルードディレクトリを以下のような形で指定します。

「OpenCVの場所」\opencv\build\include

OpenCVの場所」は先ほどOpenCVを展開したときに覚えておいてくださいと言ったものです。 私の場合はD直下なので写真のようになります。
f:id:Veresk:20200301222343p:plain
 

ライブラリディレクト

続いて、ライブラリディレクトリも指定します。

「OpenCVの場所」\opencv\build\x64\「vcなんとか」\lib

OpenCVの場所」に関してはインクルードディレクトリと同じです。
「vcなんとか」はバージョンによって異なります。(4.2.0ではvc14かvc15です。違いは分かりませんが、どっちでも動きます。)
わからない場合は実際にそのディレクトリに行ってファイルを見てみるのがいいでしょう。 追加の仕方はインクルードディレクトリと同じです。
私の環境ではこんな感じです。
f:id:Veresk:20200301223448p:plain
 

追加の依存ファイル

依存ファイルの指定をします。
リンカータブを開き、入力タブに進みます。
その中にある追加の依存ファイルを編集します。
f:id:Veresk:20200301224329p:plain
以下の2文を追加します。

opencv_world「OpenCVのバージョン」d.lib
opencv_world「OpenCVのバージョン」.lib

OpenCVのバージョン」はダウンロードしたOpenCVのバージョンです。
今回は4.2.0なので、

opencv_world420d.lib
opencv_world420.lib

のようになります。
f:id:Veresk:20200301224428p:plain

 

DLLファイルを配置しよう!

本来であればここでwindows側の環境変数をいじるのですが、管理者権限が必要+環境を別PCに移すと動かなくなるという問題があるので、別の手法をとります。
こちらのほうが簡単ですしね。
まずは下準備です。

Debug、Releaseフォルダの生成

現状、空のプロジェクトを立ち上げただけなので、プログラムを書くファイルすらありません。
まずはそれを作りましょう。
右側にあるフォルダ一覧から「ソースファイル」を右クリックして「追加」→「新しい項目」に進みます。
f:id:Veresk:20200301225148p:plain
C++ファイル」を選んで追加を押します。(ファイル名は好きに変えてもらって構いません。)
f:id:Veresk:20200301225306p:plain
VisualStudio内のコードエディタが起動し、文字を打てるようになります。
ここにコードを打っていくのですが、今は何も打たずに上の欄が「Debug」「x64」になっていることを確認して、再生マークを押してください。なっていなければ変えてください。
f:id:Veresk:20200301225738p:plain
エラーが出ると思います。それで正常です。だって、何も書いてないんですもの。
「最後に成功したビルドを実行しますか」という問いには「いいえ」と答え終了します。
一見無駄な行為に見えますが、これでプロジェクトファイルの中に必要なフォルダが生成されています

DLLファイルの移動

エクスプローラを開き、プロジェクトフォルダへ移動します。

「プロジェクトフォルダの場所」\x64\Debug

ちなみに、この「x64」フォルダは一度は実行しないと出現しません
私の環境だと

D:\document\visualstudioproject\OpenCV\x64\Debug

になります。
 
もう一つエクスプローラを開き、今度はOpenCVを展開したフォルダを開きます。

「OpenCVの場所」\opencv\build

f:id:Veresk:20200301235155p:plain
その中にある、opencv_world420d.dll」と「opencv_world420.dll」を先ほど開いたプロジェクトフォルダの中にコピーします。
 
↓プロジェクトフォルダ f:id:Veresk:20200301234520p:plain
こうなればOKです。

サンプルプログラムを起動しよう!

こちらからサンプルプログラムを借ります。

qiita.com

一番シンプルです。

#include <opencv2/opencv.hpp>

using namespace cv;

int main()
{
    Mat image = Mat::zeros(100, 100, CV_8UC3);
    imshow("", image);
    waitKey(0);
}

これだけです。
これを先ほどのVisualStudio2019にコピペして実行しましょう。
f:id:Veresk:20200302000747p:plain
左上に小さいウィンドウが出れば完成です。
 

まとめ

今回はVisualStudio2019でOpenCV環境変数の設定なしに利用する方法をお話ししました。質問やご指摘があれば下のコメントからお願いします。できる限り回答、改善をさせていただきます。
ライブラリディレクトリの指定やDLLファイルの設置はプロジェクトを作るたびに行わなければなりません。
Pythonに比べれば面倒くさい作業ですが、画像や動画という容量の大きいメディアを扱う上で速度面の欲はいずれ出てくると思います。
そういう時にこの記事を思い出して、C++でやってみようと思ってもらえれば幸いです。

次回はPythonOpenCVの環境を整える話をしたいと思います。
↓つぎ

veresk.hatenablog.com

   
今回はここまでにしましょう。それでは!

【最新パソコンにも負けない!】Windows7のPCをSSD+Windows10で現役にする話。【後編】

こんにちは!べれすくです。
 
前回はWindows10のインストールメディアの作り方とSSDへの換装の話をしました。
↓前回

veresk.hatenablog.com

 
 
前回に続いてWindows7マシンを快適に使うためのアップグレードをしていきます!
今回はWindows10のインストールから簡単な軽量化までの話をしたいと思います。
windows7から直接アップデートする場合は「WindowsUpdateをするための準備をしよう!」からお読みください!

もくじ

Windows10をインストールしよう!

f:id:Veresk:20200228003600j:plain
まずはwindows10をインストールしたメディアをパソコンに入れて起動します。(DVDやCD、USBなど)
パソコンを起動するとメーカーのロゴが一瞬表示されます。
この時、下にBIOSやBootMenuを開くためのキーが表示されます。
BootMenuのキーがあればそれを。なければBIOSからBootMenuを開きます。(メーカーによって違います)
 
BootMenuが開いたらインストールメディアが入っている媒体を選びます。
後は指示に従うだけでインストールが完了します。
f:id:Veresk:20200227181139j:plain
プロダクトキーを聞かれたらwindows7のプロダクトキーを使いましょう。
普通に使えます! インストールには結構時間がかかりますが、気長に待ちましょう。

WindowsUpdateをするための準備をしよう!

インストール後はWindowsUpdateをして準備完了...と行きたいのですが、エラーが出ることがあります。
そこで使うのはwindows7からwindows10にアップグレードするソフトです!

www.microsoft.com

今回は「今すぐアップデート」をクリックします。
windows10Upgraderをダウンロード出来たら実行します。
f:id:Veresk:20200228011947p:plain
時間はかかりますが、指示に従えば自動的にやってくれます。

WindowsUpdateをしよう!

タイトル通りですね。
左下のwindowsメニューから設定を開き、更新とセキュリティーを開きます
WindowsUpdateタブからアップデートを実行します。
特別なことは何もありません。完了したら再起動します。
f:id:Veresk:20200228012745p:plain

WindowsUpdateでドライバをアップデートしない設定にしよう!

Windows10はWindowsUpdateでドライバが更新されてしまいます。
最新機種ではこれはとても便利なのですが、古い機種では悪質なドライバに更新されてしまうので停止することを推奨します
どうせ、サポートは終了していてこれ以上アップデートは来ないのでデメリットはないです。
左下の検索欄から検索して「デバイスのインストール設定の変更」を起動します。
起動できたらアップデートしない設定にしましょう
f:id:Veresk:20200228013153p:plain

ドライバをインストールしよう!

勝手なアップデートを防止したので、動作が安定している古いドライバをインストールします。
ほとんどの場合はWindows7Windows8用でも大丈夫です。
今回、私の環境ではNvidiaのグラフィックドライバがおかしくなったので古いWindows7用のドライバを入れた結果、動作が安定しました!

必要に合わせて軽量化しよう!

基本的にWindows10はシステムが最適化されているので、軽量化はかえって逆効果という話がよくあります
それを踏まえて、軽量化は視覚効果やバッテリーのパフォーマンスだけにとどめましょう

視覚効果の削減の設定

検索画面から検索してコントロールパネルを開きます。 f:id:Veresk:20200228015454p:plain
右上のを小さいアイコンに変え、システムを選びます。
f:id:Veresk:20200228015601p:plain
左側のシステムの詳細設定を開きます。
f:id:Veresk:20200228015751p:plain
パフォーマンスの欄にある設定を押します。
f:id:Veresk:20200228015904p:plain
パフォーマンスを優先するにチェックを入れ、OKを押します
これで余計な視覚効果は削減されパフォーマンスがわずかに向上します。
 

バッテリーパフォーマンスの設定

コントロールパネルを開くまでは一緒です。
こちらは電源オプションを開きます。
f:id:Veresk:20200228020346p:plain
性能を上げたければ、高パフォーマンスにチェックを入れて閉じます
こちらは自動保存なのでOKボタンとかはないです。
これでバッテリーの消耗が早くなる代わりにパソコンの性能を上げることができます
バッテリーの消耗率を抑えたい人はこの設定はしないほうがいいです。
私は家の使用がメインなのでパフォーマンスを優先します。
 

まとめ

今回、Windows7のマシンをWindows10にアップグレードしたうえで、快適に使えるようにしました。
これであと数年はこのノートパソコンをつかえそうです!
ノートパソコンを買い替えると少なくとも10万ほどしますが、SSDの交換だけなら2000円で済みます。
もう少し長く使って、その分20万ぐらいのいいパソコンを買いたいですね。
 
今回はこのへんで。それでは!

【買い替えるにはまだ早い!】Windows7のPCをSSD+Windows10で現役にする話。【前編】

こんにちは!べれすくです。
 
最近、Windows7のサポートが終了しましたね。
サポートが切れたところで無視して使えばいいんでしょうけど、無料でアップグレードできるならやってしまいましょう。
 
ということで、今回は家にあるwindows7マシンを現役で使えるようにしようと思います!

もくじ

Windows10に生まれ変わるマシンを紹介!

f:id:Veresk:20200227180125j:plain
DosparaのPrime note、GT-Hです。
この子は5年ほど前にヤフオクで2万円で買ったものですね。当時はそんなに古いと感じることもなく、動画編集やUnityでのゲーム制作に使っていました。
入っていたOSはもちろんWindows7 Home!
その他、スペックはこんな感じ

 
一応、ゲーミングパソコンなんです!
最近は内臓GPUでも十分性能が足りるの、外では軽い2in1のノートパソコンを使っています。 持ち歩くこともなくなり、家では自作のデスクトップPCを使っているので使用頻度は減りましたが、思い出のある品なので手元にはおいておきたいパソコンですね。
 

SSDヤフオクで買いました!

※パソコンが一台しかない場合は必ずインストールメディアを作成してからSSDに換装してください。

今回、積み替えるSSDはこれです。
ヤフオクで2000円くらいですね。安い!
最近では新品でも2000円ほどからあるので新品を買ってもよいと思います。(私はこのブランドが好きなのでヤフオクで中古を買いましたけどね。)
 
別にHDDのままでも動くんですが、体感スピードが全然違います!
一昔前はパソコンが遅い=CPU載せ替え のイメージが強かったのですが、今はまず最初にSSDに変えることをお勧めします。
一度SSDの速度に慣れてしまうとHDDのマシンを使うのが億劫になりますよ(笑)
f:id:Veresk:20200227180932j:plain カバー外して差し替えるだけなのでほぼ工具なして交換できました。(SSDは左下のあたり)
とても簡単です!

windows10のインストールメディアを手に入れよう!

さて、これからWindows10にアップグレードするわけですが、その方法が主に3種類あります。

Windows7からのアップグレード
・インストールメディアを作成してインストール((DVD,CDかUSBメモリ)
・インストールディスクを購入してインストール (ほとんどいないと思う)

の3つです。
実質的には2つなのですが、稀にどうしてもインストールメディアを作れない人もいらっしゃるので購入という手段も視野に入れました。
購入の場合はインストールメディアだけでなく、プロダクトキーもついてくると思うので(むしろこっちがメイン)今回は取っておきましょう
 
あとの2つですが、一つはWindows7からのアップグレードです。
これの大きなメリットはWindows7時代に使っていたデータが消えません。データを持ち越したい人にはこの方法がいいでしょう。
データを保持でき、一番手軽なのですがWindows7の時と同じ記憶媒体を使う必要があるので、SSDへ換装ができません。(初めからSSDの人はこれが一番かな)
このやり方の人は次回の後編に飛んでください!
↓後編
 

veresk.hatenablog.com

 
基本的にやり方は同じです。
 
 
今回はSSDに換装するので、インストールメディアを作成してインストールをしようと思います。
windows10はMicrosoftがインストールディスクのデータを公開してくれているので、自分で作ることができます
CDやDVDに焼くのが一般的ですが、最近はUSBメモリに展開してBootする方法もあるそうです。こちらはCDやDVDと違い、フォーマットすれば普通のUSBメモリに戻すことや、インストールメディアを展開したままでもUSBメモリとしてつかうことができるので便利です。
今回は両方紹介します!

両方に共通すること

DVDやCDに焼くのも、USBメモリに展開するのもインストールファイルは同じです!
まずはそのインストールファイルを手に入れましょう。
 

www.microsoft.com

こちらのサイトからツールをダウンロードします。
「ツールを今すぐダウンロード」をクリックするとダウンロードできます。
完了したら実行してください。
f:id:Veresk:20200227232543p:plain
同意しましょう。
 
f:id:Veresk:20200227232626p:plain
インストールメディアを作成するにチェックをいれ、次へ。
 
f:id:Veresk:20200227232644p:plain
この画面で選べるのは基本的にアーキテクチャだけです。
32bitと64bitが選べますが、特に理由がなければ64bitを選びましょう。
 
次へを押すと分岐します。  

DVDやCDに焼く場合

f:id:Veresk:20200227233500p:plain
ISOファイルを選択して次へを押します。
好きなところに保存します。
ネットワークを使用してダウンロードするので結構時間がかかります。
f:id:Veresk:20200227233538p:plain
保存が完了したら「DVD書き込み用ドライブを開く」を押します。
f:id:Veresk:20200227235743p:plain
書き込みドライブを選択し、「書き込み」を押します。
また少し時間がかかりますが終われば完成です。  
 
・「DVD書き込み用ドライブを開く」を押さずに完了を押してしまったら?
 
f:id:Veresk:20200228000112p:plain
保存したファイルのある場所をエクスプローラーで開きます。
上にあるディスクイメージツールを開きます。
f:id:Veresk:20200228000644p:plain
その中にある書き込みを選びます。
上のと同じWindows ディスクイメージ書き込みツールが起動します。

USBに展開する場合

f:id:Veresk:20200227233437p:plain
USBフラッシュドライブを選択して次へをおします。
こちらもネットワークを使ってダウンロードするので少し時間がかかります。
f:id:Veresk:20200227233246p:plain
使用するUSBメモリを接続します。
表示されたら選択して次へを押します
しばらく待てば完成です。

後編はインストールと設定!

今回は主にWindows10のインストールメディアの製作方法を説明しました。
次回はインストールから簡単な軽量化設定までを話したいと思います。
 
↓つぎ

veresk.hatenablog.com

 
 
今回はこのくらいで。それでは!

【WindowsでROSを使おう!】WSLにROSをインストールする話

こんにちは!べれすくです。
 
前々回ではWSL(Windows Subsystem for Linux)のインストール方法を説明しました。
↓前々回

veresk.hatenablog.com

前回はVcXsrvを使って、WSLでGUIアプリケーションを起動するまでを説明しました。
↓前回

veresk.hatenablog.com

前回と前々回に引き続き、今回もWSLを扱っていきます。
今回はWSLにROSを導入しようという話です!
 

もくじ

OSのバージョンを確認しよう!

ROSはOSのバージョンによって扱うものがちがうので、まずはOSのバージョンを確認します。
以下のコマンドを実行してください。

cat /etc/os-release

f:id:Veresk:20200225150351p:plain
 
私のバージョンはUbuntu 18.04.4 LTSですね。
18.04だと、対応するROSはMelodicですね。
「バージョン名 ROS」と検索すると対応しているROSの入れ方が出てくると思います。
今回はROS Melodicをインストールしていきます。

ROSを導入しよう

ROSの導入方法は基本的に公式サイトを参考にしています。
英語が得意な方はそちらを見たほうがわかりやすいかもしれませんね。

wiki.ros.org

 

リポジトリを登録しよう

リポジトリを登録しましょう。
以下のコマンドを入力しましょう。(コピペでいいです。)

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

ついでにキーも登録します。

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

登録できたら一覧を取得します。

sudo apt update

 

ROSをインストールしよう

それではROSをインストールします!
いろいろ選んでインストールできるようですが、面倒なんで全部インストールしちゃいましょう!
全部入れてもそんなに容量とらないので安心です。

sudo apt install ros-melodic-desktop-full

f:id:Veresk:20200225175633p:plain  

rosdepをインストールしよう

rosdepを初期化してアップデートしましょう。

sudo rosdep init
rosdep update

 

環境変数を入力しよう

本当であれば、Linuxを起動するたびに”source /opt/ros/melodic/setup.bash”を実行しなければなりません。
しかし、面倒なので(こればかりですね笑)Linuxが起動した時に自動的に実行してもらいましょう。

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

これで毎回コマンドを入れなくて済みますね。  

rosinstallの設定をしよう

ROSのパッケージをインストールするためのパッケージをインストールしましょう。
以下のコマンドを実行します。

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

 

ワークスペースを設定しよう

これは公式サイトには載ってないのですが、ROSではワークスペースを手動で確保し指定します。よくある名前がcatkinなのでそれに合わせます。(なんでなのかは知らないんですけどね)

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

これでROSの導入は完了です。
ためしに起動してみましょう。

roscore

f:id:Veresk:20200225175949p:plain うまくいきました!
 

VcXsrv(X Server)を起動しよう

前回の記事で説明した、GUIソフトを起動するためにアプリケーションを起動します。設定ファイルを保存しているひとはその保存ファイルを開くだけで、起動します。
詳しくは前回の記事を見てくださいね。

veresk.hatenablog.com

Rvizを起動してみよう

それではROSでよく使うソフトの一つでもあるRvizを起動してみましょう。
まずはROSを起動します。

roscore

f:id:Veresk:20200225175949p:plain この画面になったら一度Ctrl+Zで戻ります。(WSLでターミナルを2つ起動する方法を誰か教えてください)

追記:Ctrlキーを押しながらコンソールを開けば、もう一つコンソールを開けるそうです!戻ってもいいですが、もう一つ開くほうがスムーズかと思います。
 

Rvizを起動しましょう。

rosrun rviz rviz

f:id:Veresk:20200225181513p:plain
起動しました!
やったぜ!

エラーが出るときは?

こんな感じのエラーが出たらVcXsrvの設定ミスですね。
前回の記事を参考にVcXsrvを設定しなおしてください。

veresk.hatenablog.com

特定のソフトだから出るエラーだとか、Nvidiaのグラボを積んでると出るとかいろいろ理由があるといわれています。少なくとも自分の環境ではグラフィックボードを積んでいなくても出たエラーなので、ROSを使う上では必須かと思われます。

[ INFO] [1582622312.248770200]: rviz version 1.13.7
[ INFO] [1582622312.249490100]: compiled against Qt version 5.9.5
[ INFO] [1582622312.249915900]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1582622312.265487500]: Forcing OpenGl version 0.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Segmentation fault (core dumped)

f:id:Veresk:20200225182103p:plain
 

まとめ

今回は3ページ構成でWindows10でROSを起動する方法を説明しました。
エミュレータを使ってROSを使っている人もいらっしゃいますが、WSLはWindows純正の機能なので安心感がありますね。
今のところ、この環境での問題は確認していませんが確認次第、報告と解決策を書きたいと思います。
 
今回はこのくらいで。それでは!

【LinuxアプリをWindowsで動かそう】WSLでLinuxのGUIアプリを起動する話

こんにちは!べれすくです。
 
前回はWSL(Windows Subsystem for Linux)の導入方法についてのお話をしました。
 
まだWSLが導入できていない方はこちらにどうぞ
↓前回

veresk.hatenablog.com

 
しかし、前回も言った通りWSLはそのままではCLIにしか対応していません。WSLはあくまで基礎的なところだけで、グラフィック関係は実装されてないようです。
そこで、Windows上でソフトによる補完をしてあげましょう!

もくじ

必要なソフトをインストールしよう

必要なのはX Window Systemと呼ばれる種類のソフトです。
いろんな種類があるのですが、今回はVcXsrvを使います。 WSLを使用している方の多くはこれを使っているみたいですね。
 
こちらのサイトからVcXsrvをダウンロードします。

sourceforge.net

ダウンロードできたら、適当にインストールしちゃってください
Nextを押しまくればインストールが完了します。
f:id:Veresk:20200225000742p:plain
 

VcXsrvの設定しよう

早速、インストールしたVcXsrvを起動します。
VcXsrvを起動すると設定画面が出ます。
multiple windowを選ん「次へ」を押します。

f:id:Veresk:20200225001839p:plain

Start on clientを選択して「次へ」

f:id:Veresk:20200225002305p:plain

ここが重要!!
ここで何も考えず「次へ」を押すと起動しないソフトが出てきます。
ROS関連でいうとRvizやgazeboなどが起動しないようです。
   
一番下のAdditional parameter for VcXsrvに以下の一文を追加します。

-nowgl

 
追加できたら「次へ」 f:id:Veresk:20200225003319p:plain

ここはどちらでもいいですが、しておくと便利です。
save configurationをクリックすると設定を保存することができます。
その保存したファイルをダブルクリックすると次から今回の設定で、瞬時にVcXsrvが起動します。
f:id:Veresk:20200225004318p:plain  
完了を押すとVcXsrvがバックグラウンドで起動します。
右下のインジゲータを展開すると起動しているのがわかります。(Xのアイコンがそうです)
f:id:Veresk:20200225004556p:plain
 

Linux側の設定しよう

次にLinuxとVcXsrvを繋げましょう。
WSLのLinuxを起動してください。
f:id:Veresk:20200225005354p:plain
 
起動したら以下のコマンドを実行します。

export DISPLAY=:0

 
これで完了!...といきたいところなんですが、このコマンドはLinuxを起動するたびに入力し直さないといけません
面倒くさいので起動と同時に自動実行しちゃいましょう!
以下のコマンドを実行するだけで自動化ができます。

echo "export DISPLAY=:0" >> ~/.bashrc
source ~/.bashrc

 
※2021/09/26追記
WSL2環境ではexport DISPLAY=:0が使えないようです。
直接アドレスを指定してやるか、上記のコマンドの代わりに以下のコマンドを使用してください。

echo "export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0" >> ~/.bashrc
source ~/.bashrc

 
これで、先ほどのコマンドがLinuxの起動と同時に自動実行されます!

テストソフトを起動してみよう

それでは試しに起動していましょう。
テスト用のLinuxソフトウェアが用意されているのでそれを使います。
 
Linuxを起動してテストソフトをインストールします。
以下のコマンドを実行してください。

sudo apt-get install x11-apps

インストールしますか[Y/n]みたいな質問が出るのでyをおしてEnterキーをおします。
 
そしてインストールできたら起動!
起動もコマンドなので以下のコマンドを入力しましょう

xeyes &

マウスカーソルを見つめるかわいいお目目が出てくれば成功です。
f:id:Veresk:20200225012107p:plain  
次回はいよいよROSを導入します!
 
↓つぎ

veresk.hatenablog.com

 
今回はこのくらいにしましょう。それでは!