2018/11/05

はてなブログに移行をします

はてなブログに移行を予定しています。
https://naonaorange.hatenablog.com/

これまでのBloggerの記事もすでにはてなにインポート済みですので、
はてなの方で検索してもらっても同じ記事がヒットします。

Bloggerの方は他の記事でURLを記載してもらっていたりもするので、そのままにしようと思いますが、
新しい記事ははてなのほうメインにアップしていきます。

これからもはてなの方を見てもらえればうれしいです。

2018/11/04

~/.ros以下にあるROSのLogファイルを削除する方法

nodeが強制的に落ちた時などに、エラー出力で「~/.ros/log/○○○○を見てください」と書かれることが多いです。
そのファイルを探しに行く時に、過去のログファイルもある中から探すとめんどくさいので、
エラーに再現性がある場合は、一度ログファイルをクリアしてからエラーを発生させるといろいろ探す手間が省けます。

ログをクリアするときにはrmなどで強制的に消しても良いと思うのですが、ROSで専用のコマンドが

あるので、それを使ったほうが安心です。

#ログファイルの容量を確認する
rosclean check

#ログファイルを削除する
rosclean purge


https://researchmap.jp/joq6tm53s-2001408/

2018/10/16

VSCodeでPythonをデバッグを実行した時に"Timeout waiting for debugger connection"とエラーが出たら

タイトル通りでVSCodeでPythonをデバッグしたら下記のようなエラーが出た。
デバッグ構成を色々変更しても、解決しないし、ターミナルにシェルが出てきたけど、Pythonプログラムが実行されていない。。。
解決方法としては、下記URLにあるように、
https://stackoverflow.com/questions/52462599/visual-studio-code-python-timeout-waiting-for-debugger-connection

Python Debug Consoleという構成を追加する。

{
     "name": "Python: Debug Console",
     "type": "python",
     "request": "launch",
     "program": "${file}",
     "console": "none"
}

とりあえずこれでできたが、これを毎回しないといけないのだろうか?

2018/09/09

早速Ryzen 自作PCパーツを変更しました。

以前、Ryzen PCを自作しました。
http://kowaimononantenai.blogspot.com/2018/08/ryzen-pc.html

ですが、以前書いたように不満は多かったので、マザボ・ケースを交換しました。
交換後下のような構成になりました。
今回交換したものは赤字にしています。


  • CPU

  • Ryzen 5 2400G 

  • https://www.amd.com/ja/products/apu/amd-ryzen-5-2400g

  • MBD

  • ASROCK Fatal1ty AB350 Gaming-ITX/ac 

  • https://www.asrock.com/MB/AMD/Fatal1ty%20AB350%20Gaming-ITXac/index.jp.asp#Overview

  • MEM

  • CMK16GX4M2A2666C16

  • http://www.links.co.jp/item/cmk16gx4m2a2666c16/

  • GPU

  • GTX 1060 AERO ITX 6G OC 

  • https://jp.msi.com/Graphics-card/GeForce-GTX-1060-AERO-ITX-6G-OC.html

  • 電源

  • SF600 CP-9020105-JP

  • http://www.links.co.jp/item/sf600/

  • ケース

  • Core 500

  • http://www.fractal-design.jp/home/products/cases/core-series/core-500

  • 前回は下記の2つを問題点として挙げていました。
    UbuntuでUSBが認識されない
    ASROCK Fatal1ty AB350は簡単に認識されました。やはりGIGABYTE GA-AB350N のUSB周りが悪かった(または自分が買った個体がたまたま悪かった)のでしょう。
    それどことか、ASROCKではFast bootやセキュリティー関連がUEFIでデフォルトOFFになっていたので、UEFIの設定を変えることなくUbuntuを起動することができました!
    今回ASROCKを初めて使ったのですが、とても良い印象です。

    電源のノイズ音が気になる
    これが変更後気にならなくなりました。
    電源ではなくてマザボから音が鳴っていたのか、またケースを変えたので電源の音が大きくならなくなったのか、
    とりあえず、音が小さくなったので満足です!

    2018/08/17

    ページビューが700,000を超えたので人気の記事を調べて見ました

    ページビューが700,000を超えたので、また閲覧数の多い記事を紹介していきます。
    #前回は300,000の時にやってましたね

    第1位
    mp4とm4vの違い
    http://kowaimononantenai.blogspot.com/2012/09/mp4m4v.html

    100,000、300,000の時も1位だったので、3連覇ですね。
    前回も話ししましたが、自分のちょっとした疑問を書いただけでそんなに努力して書いた記事ではないです(笑)
    個人的には頑張った記事が上になると嬉しいですが、これのようにより一般的な記事の方がやっぱりページビューが伸びますよね。

    第2位
    MPC-HCでBlu-rayを再生する方法
    http://kowaimononantenai.blogspot.com/2013/08/mpc-hcblu-ray.html

    前回3位でしたが、MPC-HCがもう開発終了になってしまったので、これからはページビューも減少傾向になっていくと思います。

    第3位
    OpenCVでfillConvexPolyを使って四角形や多角形を描画する
    http://kowaimononantenai.blogspot.com/2013/10/opencv.html

    使う機会が多いOpenCVが入ってきました。fillConvexPolyは調べた当時サンプルプログラム等がなかったので、自分で確認したものです。
    コメントに応え、Pythonでのサンプルも書きました。
    前回8位。

    第4位
    C++のコンストラクタにある「:(コロン)」について
    http://kowaimononantenai.blogspot.com/2012/10/c.html

    当時はC++メインで使っていましたが、今はC# or Pythonメインになっています。
    前回4位。

    第5位
    C++の「auto型」について
    http://kowaimononantenai.blogspot.com/2012/10/cauto.html

    これもC++関連。auto型について書いたものですね。
    前回2位。

    第6位
    std::accumulateでvectorの合計や平均値を出す(std::accumulateの第3引数について考察もあり)
    http://kowaimononantenai.blogspot.com/2013/11/stdaccumulatevectorstdaccumulate3.html

    これについては、疑問に思ったことを実際にやってみて確認した記事なので上位にきてうれしいです。
    前回圏外。

    第7位
    Windows8.1とUbuntuのUEFI環境でのデュアルブート構築方法
    http://kowaimononantenai.blogspot.com/2014/02/windows81ubuntuuefi.html

    UEFI環境下でのデュアルブートについて書いた記事です。
    Windows8.1での記事ですが、Windows10でも同様に使えると思います。
    前回9位。

    第8位
    Cygwinにapt-cygを導入する
    http://kowaimononantenai.blogspot.com/2013/12/cygwinapt-cyg.html

    Cygwinについての記事です。今ではWSL(Windows Subsystem for Linux)があるので、諸事情でCygwinを使う必要がある場合に参考になるかもしれません。
    前回圏外。

    第9位
    Ubuntuでhandbrakeを使う
    http://kowaimononantenai.blogspot.com/2012/09/ubuntuhandbrake.html

    またUbuntuでのAV関係の記事ですね。
    現在(Ubuntu18.04など)ではsnapshotsのPPAではなくて、releaseの方を使った方がいいかもしれませんね。
    前回圏外。

    第10位
    Windows7でWindows SDKのインストールする際に出るエラーの解決方法
    http://kowaimononantenai.blogspot.com/2013/11/windows7windows-sdk.html

    Windows7での記事ですね。サポートももう少しで終わってしまうので、この記事も減少傾向になりそうですね。
    前回7位。


    全体的に記事が古い(笑)
    最近あまり更新していないということが大きいと思います。

    XamarinとかDeep Learningなどを最近やっていて、使い方を知るためにサンプルプログラムなどを書いたりはしています。
    ですが、それをブログにUPするよりは、「Githubにサンプルプログラム集のリポジトリを作ってREADMEで説明を書いておく」という方法を使うことの方が多くなっています。

    このブログには、何かソフトだったりアプリだったりを作ってその説明を書いておいたり、Githubにリポジトリを作るほど書く量が多くないと思うものだったりします。

    UPする媒体は置いておいて、自分が他人が役に立つ記事を多く書いていきたいと思います。

    2018/08/16

    Ryzen PCを自作しました

    かなり今更ですが、1ヶ月前にRyzen CPUでPC自作しました。
    ここでは購入したものの型番と感想を書いておきます。

    今回の自作PCのコンセプトはこんな感じです。

    • Ryzen !!
    • Deep LearningしたいのでそれなりのGPU(だけど、先々はサーバーに転用するつもりなので、GPUを取り外しても運用できるように)
    • Mini ITXでできるだけ小さく
    • Bluetoothが使えるように(できればintelのWIFI/BTモジュールが使いたい)
    • Windowsだけじゃなく、Ubuntuも使うよ

    色々考えた結果、次のような構成になりました。Ryzen APUにグラボを足すヘンテコな構成は特に見たことがないですね。。。(Ryzen APUはGPUに PCI Express x8しか割り当てられないので、マザボのx16のところにさしても、x8の性能しか得られません。。。)

    • CPU
    • Ryzen 5 2400G


    次に1ヶ月使用しての感想です。

    • UbuntuでUSBが認識されない
      これはマザボに問題があると思うのですが、USBメモリにUbuntuのインストーラーを作成し、マザボにさして電源を入れてもUSBメモリからブートできません。(UEFIの設定やブート順番などの設定をしてもダメでした。。。)
      また、別PCでSSDにUbuntuをインストールして起動すると、起動はできるのですが、USB機器(キーボードやマウス)などが認識されません。。。
      これは自分にとっては致命的ですね。色々やってみたりしているので解決したらここに書く予定です。
    • 電源のノイズ音が気になる
    • 電源に負荷がかかると電源からノイズ音が出ます。ジージーって感じ。PCが机の下などにあるなら気にならないと思いますが、自分はモニターのすぐ横に置いているので気になります。。。

    2018/07/29

    Thinkpad USB トラックポイントキーボード(55Y9024)をWindows10で使う

    キーボードにThinkpad USB トラックポイントキーボード(55Y9024)を使用しています。
    今ではこれより新しいものが発売されており、Lenovoの製品ページでは55Y9024をみつけることはできません。。。

    USBをつなげて使用してみると、中ボタンを押しながらトラックポイントを動かしてスクロールするときの挙動がおかしいです。

    今まではWhell Ballを使用して解決していたのですが、
    Thinkpad USB トラックポイントキーボード(55Y9024)の初期設定

    Windows10で使用してみると、設定画面の起動すらできません。
    ですので、代替ソフトが必要です。

    そこで、W10Wheel.NETというソフトを使用します。

    W10Wheel.NET

    そして、駐在ソフトを右クリックして、
    トリガー -> 中央ドラッグ
    をクリックします。

    これで、おkです。

    参考にしたサイト

    2018/06/09

    インダクティブセンサ LDC1612EVMを使ってみた

    インダクティブセンサモジュールのLDC1612EVMを買ってみました。
    インダクティブセンサとは、相互誘導を用いた近接センサです。
    コイルに指や金属などが近づくことによって磁界が変化するので、相互誘導でインダクタンスが変化します。それを検出することで物が近づいているかどうかを検出できます。
    原理自体はわかるのですが、そのようなセンサを"インダクティブセンサ"っていうんですね。
    上記の説明だけだとわかりにくいと思うので、より詳細に説明しているサイトを載せます。
    https://service.macnica.co.jp/library/124761

    Digikeyで3,500円程度で購入しました。
    https://www.digikey.jp/product-detail/ja/texas-instruments/LDC1612EVM/296-39660-ND/5172354

    評価モジュールなので、USBでつないで専用のソフトをインストールするだけで動かすことができます!
    ソフトのインストール等は下記のサイトに載っているので、同じようにやりました。
    https://www.fujiele.co.jp/semiconductor/ti/tecinfo/news201608090000/
    まずは、CH0を周期的にタッチすると下記のような波形になります。
    次はCH1をタッチ。タッチしたときにその部分だけインダクタンスが変化しているので、
    しっかり検出できそうですね。
    次は、せっかくCHが2つあるので、お互いのコイル間を横に移動します。
    スワイプみたいな感じです。
    まずは青矢印のようにCH0からCH1方向にスワイプすると、CH0の変化の直後にCH1が変化しています。
    逆にオレンジ矢印のようにCH1からCH0方向にスワイプすると、CH1が変化してからCH0が変化します。
    これを使えば、スワイプも検出できそうですね。
    とりあえず、動作確認程度はできました。
    マイコンやRaspberryPiとかで制御しようとしているので、できたらまた載せます。

    2018/06/02

    BLEデバッグツール"Blue Tropical Fish"をリリースしました

    2018年6月5日 更新


    BLEのデバイス/ソフト開発用のアプリ"Blue Tropical Fish"をリリースしました。
    BLEのデバッグアプリとしては「nrf connect」や「Light Blue」が有名ですが、
    それらと同じような(というか機能縮小版。。。)アプリになります。

    Google playからインストール可能です。
    https://play.google.com/store/apps/details?id=com.naonaorange.bluetropicalfish

    Windows storeでもインストール可能です。
    https://www.microsoft.com/en-us/p/blue-tropical-fish/9p14nwqz276h?activetab=pivot%3aoverviewtab

    ソースはGithubにアップしています。
    https://github.com/naonaorange/BlueTropicalFish

    現時点では、周囲のBluetoothアドバタイズパケットを受信して表示します。
    将来的には接続・ペアリングもサポート予定ですが、現時点では未サポートです。
    リストを選択することでデバイスの詳細情報を見ることができます。

    表示するデバイスをフィルターすることもできます。
    Nameの項目に入力にした後、"Show Only Filtered Devices"をONにすることでフィルター条件にマッチしたものだけ表示します。
    また、リストの右側のスイッチをONにしてお気に入りに登録することで、
    "Show Only Favorite Devices"をONにすることでお気に入りのデバイスのみを表示することができます。

    2018/05/03

    Xamarin.Formsで画像を表示する

    Xamarin.Formsで画像を表示する方法はググるとたくさん出てきますが、
    なぜか自分の環境だと上手く表示されません。
    https://qiita.com/suzu-king/items/a0fe98e7b371e13e49b5
    http://oxamarin.com/control-image/
    ちなみに自分の環境は下記です。
    • Windows10 64bit
    • Visual Studio Community 2017
    • Xamarin.Forms(UWP + Android + iOS)
    • Prism Template Packでひな形を作成
    画像が表示されなかったり、"System.ArgumentNullException: 'Value cannot be null.'とエラーが出てしまいます。(おそらく画像へのPATHが当たっていないと思うのですが、なかなか解決できません。)

    よって、ちょっと違う方法で画像を表示させることができたのでその方法を書きます。
    まずはXamlのコードを張ります。
    
    
        
            
    
    Prism Templateをベースとしているので、余計なコードも入っていますが、重要なのはImageタグでSourceをImgにバインディングしていることだけです。
     次はViewModelのコードです。
    namespace ShowImage.ViewModels
    {
        public class MainPageViewModel : ViewModelBase
        {
            private ImageSource img;
            public ImageSource Img
            {
                get { return img; }
                set { SetProperty(ref img, value); }
            }
    
            public MainPageViewModel(INavigationService navigationService) 
                : base (navigationService)
            {
                Title = "Main Page";
                Img = ImageSource.FromFile("lena.png");
                
            }
        }
    }
    重要な点は、ImageSource.FromFileを使用している点です。他の記事ではFromResourceを使用しているものが多いですが、Resourceとしてではなく、ただのファイルとして指定します。
    Prismを用いているので、ImgはSetProertyで変更通知を行っています。

    次に画像ファイルをプロジェクトに登録します。
    ここで1つ目のポイントはForms用の画像ファイルについて
    • ビルドアクションは"コンテンツ"(なしでもいいと思います)
    • 出力ディレクトリにコピーは"新しい場合はコピーする”

    2つ目のポイントはAndroid, iOS, UWPのプロジェクトに画像ファイルを追加するときには、Formsに追加した画像ファイルを"リンクとして追加"することです。

    これで各プロジェクトに画像ファイルが登録されますが、実体はFormsに登録してある1つのみにすることができます。
    このようにすることでFormsに登録してある画像1つを変更すればすべてのPlatformにおいて変更されます。

    初めの方で紹介したURLのやり方がもしできるのであればそれの方がシンプルでよいと思いますが、もしできない場合はこちらの方法も試してもらえればと思います。

    参考にしたサイト

    http://matatabi-ux.hateblo.jp/entry/2015/05/18/120000