覚え書きブログ

ツール&ソフト

Pythonの覚え書き(デバッグ)

pythonでは、pdbモジュールを使うと簡単にデバッグができる。 pdbを下記のようにインポートし、ブレークしたいところに「pdb.set_trace()」を書いておくだけでよい。 import pdb pdb.set_trace() pythonスクリプトを普通に実行すると、以下のようにブレーク…

gstreamerの覚え書き(linkトラブル解決編)

gstreamer関連のライブラリをインストールして、以下のコマンドで動画が表示できるようになった。 gst-launch-0.10 v4l2src device=/dev/video0 ! video/x-raw-gray,bpp=8,depth=8,width=744,height=480 ! ffmpegcolorspace ! xvimagesink しかし、ROSを介し…

gitの覚え書き(commitのリセット)

間違ってコミットしてしまった場合、ワーキングディレクトリはそのままでコミットだけリセットすることができる。 > git reset --soft HEAD^ HEAD^で直近のコミットを削除できる。

gitの覚え書き(stash)

gitでpushしようとすると、remote repositoryの方が新しくて以下のようなエラーがでることがある。 > git push ... error: failed to push some refs to 'https://github.com/hhachiya/xxx' ヒント: Updates were rejected because a pushed branch tip is b…

matlabの覚え書き(rmfield)

rmfield('structure_name','field_name'): 構造体から、所定のフィールドを削除する関数。 https://jp.mathworks.com/help/matlab/ref/rmfield.html

Blenderの覚え書き(offファイルの保存)

1) 以下のサイトから、blenderのoffファイルをエクスポートするためのaddonがダウンロード https://github.com/alextsui05/blender-off-addon2)readmeを参考に、addonをインストール3)各オブジェクトの面を、三角形に変換 Object modeで、オブジェクトを選択…

Linuxコマンド覚え書き(拡張子変更)

画像の大文字の拡張子JPEGを小文字の拡張子jpegに変更したい。 for fname in *.JPEG; do mv $fname ${fname%.JPEG}.jpeg; done

gitの覚え書き(branchのpull)

git pullしたが、新しく追加されたbranchがpullされない問題があったので、調べて見たところ以下のサイトを発見。 blog.inouetakuya.info以下のコマンドで、新しいbranchをpullし切り替えることができた。 > git branch local_branch_name origin/server_bra…

ROSの覚え書き(move_base)

move_baseでロボットのナビゲーション始めてみたが、ロボットが思うように動いてくれない。。。以下のサイトなどを参考に解決を試みる。 http://qiita.com/MoriKen/items/8387b279e968368783f1

3D物体検出

C社の斎藤氏から、3D物体検出用のアノテーション付きデータについて教えてもらった。 スタンフォード大学のXian Yu博士が以下のPascal3D+とObject Detection by 3Dというデータを公開している。 3D物体検出の評価用データ:Pascal3D+ http://cvgl.stanford.e…

ubuntu14.04の覚え書き(libudev-devのインストール)

ubuntu14.04にlibudev-devをインストールしようとしたところ以下のエラーがでた。 > sudo apt-get install libudev-dev ... libudev-dev : Depends: libudev1 (= 204-5ubuntu20) but 204-5ubuntu20.24 is to be installed ... これは、インストールしようと…

ROSの覚え書き(ローカルNTPサーバ)

前回、ロボット座標(TF)付きでオドメトリを配信できるようになったが、実はオドメトリのトピックの配信元と先で時刻に大分差があり、地図構築などに支障きたしていた。 hirotaka-hachiya.hatenablog.comそこで、今回はロボットの周辺のPC間で時刻の同期を…

クォータニオン

クォータニオンは、複素平面の3次元空間での姿勢(回転)を表すのに拡張したものである。 複素平面では、のように、実部と虚部の足し算で表され、虚数はが1つ()しかないのに対し、クォータニオンでは、のように、虚数が3つ存在()する。つまり、複素平…

ROSの覚え書き(tf broadcaster)

gmappingを利用するために、ロボット座標フレームをtfでブロードキャストするように、使用しているロボットのプログラム変更してみた。tf broadecasterで参考にしたのは、下記のページ: http://wiki.ros.org/ja/tf/Tutorials/Writing a tf broadcaster (C++)…

2-opt

2-optは、巡回セールスマン問題にて、nearest neighborルートを改善する方法である。 以下の動画を見ると、アルゴリズムの概要がわかる。 https://www.youtube.com/watch?v=UGGPZnAUjPUもう少し具体的に説明すると、以下のようにA,B,C,D4点間のnearest neigh…

ROSの覚え書き(usb_camノードのインストール)

ROSのusb_camノードをインストールしてみた。 > cd ~/catkin_work/src > git clone https://github.com/bosch-ros-pkg/usb_cam.git > cd .. > catkin_make ... Linking CXX executable /home/hachiya/catkin_ws/devel/lib/usb_cam/usb_cam_node /home/hachiy…

ROSの覚え書き(catkin_makeのエラー)

cv_bridgeを用いたプロジェクトを、cakin_makeしようとしたところ、以下のようなopencv2.4.8のライブラリへのリンクエラーがでた。 >cakin_make ... make[2]: *** No rule to make target /usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.8', needed …

Linuxコマンド覚え書き

1日以内に書き換えたpythonファイルの検索 > find . -name "*.py" -mtime -1 -ls ファイルの「xxx」を「xxx」に置き換える > cat kanbanz100a.xml | sed -e 's/<xmin>\([0-9]*\)<\/xmin>/\1/g' <filename>kanbanz100a.png</filename> <object> <name>kanban</name> <pose>Unspecified</pose> <truncated>1</truncated> <difficult>0</difficult> <bndbox> 58…</bndbox></object></xmin>

パワーポイントのアニメーション分割

講義用に資料を配布するときに困るのが、アニメーションで図やテキストが重なって状態で印刷されて見にくくなることだ。 そんなときは、以下のサイトで紹介されているanime2Flipというパワーポイントのアドインが便利。 簡単に指定したスライドのアニメーシ…

Deep Learning覚え書き(独自データでFasater R-CNNを学習)

hirotaka-hachiya.hatenablog.com 前回導入したFaster R-CNNを、つくばチャレンジの看板検出用に学習してみた。以下の「独自のデータでの学習」を参考にした。 https://www.cs.gunma-u.ac.jp/~nagai/wiki/index.php?py-faster-rcnn%20%B3%D0%A4%A8%BD%F1%A4%…

Jetson TX1の覚え書き(R-CNN)

今回は、Jetson TX1上のCaffeを用いて物体検出をしてみる。まず、caffeのexamples/detection.ipybにて用いられているdetect.pyを試してみる。 1)RCNNのモデルをダウンロードする > ./scripts/download_model_binary.py models/bvlc_reference_rcnn_ilsvrc1…

Jetson TX1の覚え書き(Caffeのipythonサンプル)

最近のCaffeは、ipythonのサンプルコードが用意されている。 ipythonを実行するためには、以下のパッケージをインストールする。 > sudo apt-get install ipython > sudo apt-get install ipython-notebook そして、ipythonを実行し、ブラウザ上でcaffe/exam…

Jetson TX1の覚え書き(Caffeのインストール)

今回は、先日のJetson TX1にCaffeをインストールした。 hirotaka-hachiya.hatenablog.com以下の2つのサイトを参考にした。 http://robotics4society.com/2017/04/03/jetson-caffe/ http://hirotaka-hachiya.hatenablog.com/entry/2015/03/20/2122471)依存…

Jetson TX1の覚え書き(JetPackを用いたセットアップ)

研究室でJetsonTX1のセットアップを始めた。 まずは、電源、キーボード、マウス、モニターを繋いで、一度JetsonTX1を起動してみた。 以下のようにセットアップ方法が表示されたので、内容に従ってセットアップスクリプトを実行し、再起動したところ普通にUbu…

Unity覚え書き(Githubでのバージョン管理)

UnityのプロジェクトをそのままGithubで管理するとファイル数が多くて大変なことになる。 そこで、バージョン管理する必要のないファイルを無視するために、.gitignoreというファイルを使う。 .gitignoreの例は、下記のサイトが参考になる。 http://qiita.co…

Unity覚え書き(Skyboxの設定)

UnityのSkyboxの設定方法をいつも忘れてしまうので、メモっておく。1)Skyboxに貼り付けたい画像をAssets上で選択し、InspectorのTexture TypeをCubemapに変更する。2)同じくInspectorのMappingをLatitude-Longitude Layout(Cylindrical)に変更する3)S…

Blenderの覚え書き(texture編)

片野康生氏に、つくばチャレンジの看板モデルの相談をしたところ、早速作って頂きました。ありがとうございます。 片野氏に作成し頂いたものを、自分で後で改良できるように看板のtextureを張りなおしてみたので、メモっておく。片野氏作のBlenderの看板モデ…

Blenderの覚え書き(ショートカット)

Blenderは3Dモデルを作れるフリーのソフトなのだが、CGの初心者にとっては敷居はかなり高い。なぜ敷居が高いのかというと、隠れた操作が多くて、とりあえず使おうとしても思うように動かせないからである。以下、徐々に使いこなしながら分かった操作である。…

Unity覚え書き(Cinetic Image Effect)

Unityで、Blurなどのエフェクトをかける場合は、Unity EssentialsのCinetic Image Effectをアセット使うとよい。 https://www.assetstore.unity3d.com/jp/#!/content/51515アセットをダウンロードしたら、インポートすると、メニューの「Component」に「Imag…

Unity覚え書き(LookAtを用いたキャラクターの回転)

Unityで、移動するオブジェクトの方向を、キャラクターが見るスクリプトをLookAtを用いて作ってみた。1)移動するターゲットオブジェクトを追加し、inspectorのAdd Componentで以下のスクリプト(movingTarget)を追加する。 using UnityEngine; using Syst…

vimでPython

下記のサイトを参考に、pythonのコーディングに便利なプラグインをvimにインストールしてみた。 chrisstrelioff.ws Pathogen:vimプラグインの読み込みパスをvim/bundle/プラグイン名>に変更するプラグイン ~/.vimにautoloadとbundleフォルダを作成し、autol…

Office2010のアンインストール

Windows10からOffice2010をアンインストールしようとしたところ、下記のようなエラーがでた。 A required C:\Users\PCUSER~1\AppData\Local\Temp\Setup0000xxxx\OSETUP.DLL cannot be loaded. This may indicate that the file is missing or damaged.どうや…

Qtの覚え書き(設定読み込みとsplit)

前回Windows C++での設定ファイルの読み込み方法を紹介したが、QtソフトウェアではWindowsに強く依存するコーディングは思想的に好ましくないので、Qt独自の設定ファイル読み込みを用いた方がよい。 hirotaka-hachiya.hatenablog.com QtではQSettingsという…

Unityの覚え書き(C3DからFBXへの変換方法)

Berkeley MHADやCMU Graphics Lab Motion Capture Databaseでは、モーキャプデータがC3D形式などで提供されていて、そのままではUnityで読み込めない。今回は、Blenderを用いてC3Dを、FBXに変換してみた。 http://tele-immersion.citris-uc.org/berkeley_mha…

Windows C++の設定ファイルの読み込み

Windows上のC++にて、設定ファイル(.ini)からの設定の読み込みについてのメモ。GetPrivateProfileStringという、WINAPIの関数を用いる。 https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms724353(v=vs.85).aspx DWORD WINAPI GetPrivateProfil…

Windows+GPUでのOpenCVのビルド

GTX980が搭載されているWindows10にて、Opencv2.4.13をビルドしたので、メモっておく。1)SourceForgeからopencv-2.4.11.zipをダウンロードして、Cドライブ直下に解凍 https://sourceforge.net/projects/opencvlibrary/?source=typ_redirect2)Cmakeのconf…

TortoiseGitのインストール

1)Git for Windows(Git-2.9.0-64-bit.exe)を下記からダウンロードして、インストール https://git-for-windows.github.io/ 2)TortoiseGit(TortoiseGit-2.1.0.0-64bit.msi)をダウンロードして、インストール https://tortoisegit.org/3)適当なフォ…

Unity覚え書き(パーツごとのモーション)

以前動かしてみたUnityのキャラクターに、上半身と下半身とで異なるモーションを割り当てるモーションブレンディングを試してみた。 hirotaka-hachiya.hatenablog.comキャラクターの動作コントローラとしてLocomotion Controllerを使用した場合、下図のよう…

Qtの覚え書き(socketとmulti thread)

Qtで、マルチスレッドでソケットプログラミングをしていたら、次のようなエラーがでた。解決方法をメモっておく。 QSocketNotifier: Socket notifiers cannot be enabled or disabled from another thread 今回は、次のようにDialog.cppのon_startPUshButton…

Qtの覚え書き(Webの表示編)

Qtで、下図のようにWebページを表示するGUIアプリケーションを作成してみた。 Qtには、Qt WebEngineというQT独自のWebブラウザのエンジンがあり、HTML、XHTML、SVG、CSSおよびJavaScriptに対応している。Qt5.4までは、WebKitがWebブラウザのエンジンとして用…

Amazonと楽天のアフィリエイト

先日突然Google Adsenseが利用できなくなってしまったので、Amazonと楽天のアフィリエイトを導入してみた。 https://affiliate.amazon.co.jp/ http://affiliate.rakuten.co.jp/どちらも成果報酬を採用しており、商品が売れた場合、下記のように数パーセント…

Windows10でのtelnetクライアントの有効化

Windows10は、デフォルトでtelnetクライアントを利用できないが、下記の方法で有効化できる。1)「Windowsの機能の有効化または無効化」を開く Windows(右クリック)->コントロール->プログラムから「Windowsの機能の有効化または無効化」を開く。 2)「Telne…

viエディターの覚え書き(複数ファイルの編集)

viで複数のファイルをウィンドウを分割して編集するためには、「new」コマンドを用いる。つまり、下記のようにviの画面にて「:new ファイル名」を入力する。 上のウィンドウから下のウィンドウに移動するためには、「Ctrl+w j」を入力し、逆に下から上は「Ct…

viエディターの覚え書き(改行コードの置換)

Windowsの改行コードがCR+LFなのに対し、Linuxの改行コードはLFだけとなので、Windowsで編集していたテキストファイルをLinuxで開いた時、下記のように行末に「^M」が表示されることがある。ここで、CRはキャリッジリターン、LFはラインフィールドのことであ…

WindowsでGUIアプリケーション開発の覚え書き

WindowsのC++環境で、無料でGUIアプリケーションを開発するためには、以下のような候補がある。 Visual Studio Express/Communityの.Netフレームワーク Visual Studio CommunityのMFC(Microsoft Foundation Class) Qt まず、.Netフレームワークは、下記のリ…

海外でiPhoneをWi-Fiのみで使う設定方法の覚え書き

ソフトバンクのiPhoneを契約すると、知ら間に、下記のような「世界対応ケータイ」というオプションがついてきて、海外で通話、SMSおよびデータ通信が出来るようになってしまう。もちろん海外では通話、SMSおよびデータ通信には高額な料金設定がされている。…

iPhoneからAndroidへの連絡先の移行覚え書き

携帯電話をiPhoneからAndroidに乗り換えた際に困るのが、連絡先や写真などのデータ移行である。今回は、まず連絡先を移行してみたので、メモっておく。1)iPhoneの連絡先をiCloudと同期する iPhone上で、「設定」から「iCloud」を選択して、下記のような画…

Tポイントの覚え書き(ポイントの移動編)

Tポイントは、様々な会社と提携していて、各会社のポイントをTポイントに変換することができたりする。主な提携先は下記で確認することができる。 https://tsite.jp/pc/r/al/list.pl私はソフトバンクの携帯電話を利用しているが、毎月の利用料金の1,000円に…

Yahoo IDの削除方法

長年インターネットを使っていると、いろいろなサイトで登録したアカウントが放置されたままになっていることがある。 最近、Tポイントのポイント数を調べようとしたら、Yahoo IDが必要ということになり、自分が登録したYahoo IDを調べてみたら、なんと3つ…

Gmailの覚え書き(一括移動編)

Gmailを使い始めてかれこれ10年以上たつが、最近は、知らないうちに登録した会員メールや広告メールが大量にInboxに溜まっていて、重要なメールが埋もれてしまうことがある。 今回時間が少し出来たので、Inboxから必要のないものを削除し、必要なものを適…