読者です 読者をやめる 読者になる 読者になる

空飛ぶロボットのつくりかた

ロボットをつくるために必要な技術をまとめます。ロボットの未来についても考えたりします。

Deep Learningの環境構築(Ubuntu14.04+GTX 950M+CUDA+cuDNN)

これから過酷な戦いが始まる… ノートパソコンにDeep Learningの環境をつくってみる. PC環境 目標 Nvidia Driver 悪名高き?ドライバnouveau Nvidia Driverのインストール nvidia-smiについて CUDA CUDA対応GPU CUDAのドライバ CUDAのインストール方法 CUDA環…

Ubuntuのお勉強1~フォルダ構成~

問題が起こった時にログから問題を特定できるようになりたい /sys、/tmp、/usr、/varについて /var/logについて /var/log/syslogについて /var/log/auth.log 参考 /sys、/tmp、/usr、/varについて 参考: Ubuntu システムログ その1 - /var/log以下に生成さ…

人力ヘリコプターについて

大好きな空飛ぶ自転車のお話 シコルスキー賞 人力ヘリコプター ダビンチ3 YURI-I GameraⅡ Atlas シコルスキー賞 アメリカ・ヘリコプター協会が1980年に設立した賞で賞金2500万円。 受賞基準が以下の三点 人力で60秒間 10フィート(約3メートル)以上の高度を…

ネットワークのお勉強その1

IPアドレス ネットマスク ゲートウェイ 例 IPアドレス 192.168.1.128 以下の2つから構成されている ネットワーク・アドレス(192.168.1.) ホスト・アドレス(128) ネットワーク・アドレスは、ネットワーク全体でお互いのネットワークを識別するために使われ、…

ffmpegとpythonで動画をいじろう

ffmpegのインストール 動画の変換 動画の結合 動画の倍速方法 pythonでフォルダ内の指定ファイルをの取り込み pythonでコマンド実行するには フォルダ内の.MOVファイルをmp4ファイルに変換して、結合するdamedameコード ffmpegのインストール sudo apt-get i…

rosを使ってセンサ取得データの保存

ROS

rosを使ってセンサ取得データを保存する。 環境 os: ubuntu16.04 ros: kinetic usb_cam編 インストール usb_camのインストール 参考:づーまー日記: 【備忘録】 ROS Kinetic でusb-camのインストール方法&使い方 データの表示 ターミナル1 $ roscore ター…

環境構築 ~ Docker / Jupyter のインストール ~

Jupyter Docker Jupyter 参考: Jupyter Notebook(IPython)のインストールと始め方 - TASK NOTES Docker 参考: Ubuntu 16.04 LTS Dockerをインストール - Qiita

Numpy / pandasのお勉強

numpy 配列も@で行列のように計算できる。python3.5以降。 In [7]: import numpy as np In [8]: A = np.array([[1,2],[3,4]]) In [9]: B = np.array([[5,6],[7,8]]) In [10]: C = A @ B @ A.T In [11]: C Out[11]: array([[ 63, 145], [143, 329]]) 以下は同…

c++のお勉強1

環境構築 ビルド方法 デバッグツール gdbの使い方 ポインタ Sample1 Sample2 スマートポインタ 継承 参照引数の関数 関数の引数の種類 テンプレート イテレータ 別名 キャスト ビット演算 列挙型 静的変数 名前空間 コンテナ 例外 環境構築 $ sudo apt-get i…

kerasを動かしてみる~その1~

tensorflowのインストール Kerasのインストール Kerasの実行 TJOさんの記事を参考にKerasを動かして見ました。感謝です。 参考: KerasをTensorFlowバックエンドで試してみた:「もっと多くの人に機械学習とDeep Learningを」という時代の幕開け - 六本木で…

pythonのテストを書いてみる2

数値微分 プロダクションコード テストコード 文字の変換 プロダクションコード テストコード カウント プロダクションコード テストコード 偶数判定 プロダクションコード テストコード 物品管理 プロダクションコード テストコード スレッド プロダクショ…

テストを学ぼう (1) ! ~ユニットテストについて~

ユニットテストってなんでするの? 継続的テストとは テスト駆動開発とは ビヘイビア駆動開発とは ユニットテストを書いてみよう プロダクトコード テストコード 実行方法 実行結果 今後勉強したいツール ユニットテストってなんでするの? 書いたコードがち…

小型USBにubuntu16.04をいれてみる(macbookから起動できるように編)

myenigma.hatenablog.com MyEnigmaさんの記事に刺激を受け、小型USBにubuntu16.04を入れてみました。 手順は少し異なります。 準備 適当USB 4GB 小型USB 64GB↓ 安い!小さい! https://www.amazon.co.jp/SANDISK-USB3-0%E3%83%95%E3%83%A9%E3%83%83%E3%82%B7…

Ubuntu14.04(CPU only)でSegNetを使ってみる

手順 caffe-segnetのダウンロード git clone https://github.com/alexgkendall/caffe-segnet.git 以下の手順でインストール Caffe | Installation: Ubuntu 以下の手順でMakeコンパイル CPU only の設定に変更 Caffe | Installation For CPU-only Caffe, unco…

reveal.js参考まとめ(Markdownでプレゼン資料作り)

参考 reveal.js – The HTML Presentation Framework Reveal.js、Markdown、Githubでスライドを作成する。 - Qiita reveal.js で markdown を使う(2015年3月版) - Qiita reveal.jsを使ってみる - Faster and Faster プレゼンもmarkdownでね!reveal.jsで資…

Deep Learningのお勉強その1

参考図書 Deep Learning パーセプトロン 簡単な実装 重みとバイアスの導入 多層パーセプトロン ニューラルネットワーク 活性化関数 出力層の活性化関数 3層のニューラルネットワーク バッチ処理 学習 損失関数 二乗和誤差 交差エントロピー誤差 ミニバッチ学…

PyCharmの使い方

windowsでpythonの開発をするときとかに便利 ライブラリのインストール File -> Setting -> Project Interpreter の+ボタンで追加 簡単にインストールできる。numpyとか検索してワンクリックでインストール。 python2 or 3 の指定 File -> Setting -> Projec…

データセットの作り方参考まとめ

chainerのデータセットの作り方 LinearやCNN - Qiita 機械学習で用いる顔画像データセットの一作り方(1:WebAPIサービスを用いて候補画像取得) - Qiita 【pylearn2】自分のデータセットを使ってカンタンにGRBMしよう - CORDEA blog

機械学習の参考まとめ

機械学習 機械学習を知識ゼロから学ぶpdf - NAVER まとめ 機械学習はじめの一歩に役立つ記事のまとめ - Qiita Deep Learning Deep Learningによる一般物体検出アルゴリズムの紹介 - ABEJA Tech Blog CNN 定番のConvolutional Neural Networkをゼロから理解す…

Raspberry Pi Kame プロトタイプ Mark0

raspi-kame作成 これまでやってきたことを組み合わせて、raspberry pi kameを作りました↓ 【ハード】 raspberry pi 3 dcモーター×2 サーボモータ×1(16個まで拡張可) 超音波センサ カメラ 【ソフト】 ros : kinetic kame ちょっとした段差なら登ります〜 な…

raspberry pi 3 で超音波距離センサ(HC-SR04)を使う

raspberry pi 3で超音波センサを使ってみる ハード準備 配線は以下を参考 参考: Building a Raspberry Pi Motion Sensor with Realtime Alerts | PubNub 抵抗は1kΩと2kΩを使用 ソフト準備 Ultrasonic range detection with the Raspberry Pi | Knight of Pi…

他のPCへ向けてrosの指令を送る方法

ROS_MASTER_URIを変更する .bashrcに以下のように記載しておくと便利 alias raspi_robot_mode=‘export ROS_MASTER_URI=http://{IPアドレス}:11311 export PS1=“[\033[41;1;37m]<raspi_robo>[\033[0m]\w$ ”’ こうすることで、他PCでroscoreが立ち上がっていると、自PCで動</raspi_robo>…

ubuntu 16.04 mateのautologinの方法

起動したときにデスクトップ画面に自動ログインする設定 System -> Administration -> Users and Groups -> password をNot asked on loginに変更 /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.confに以下を記載 autologin-user=pi (<- ユーザ…

プログラムを自動起動にする方法

PCを再起動した時にプログラムを自動起動する方法 sudo crontab -e でeditorを選択して、一番下に @reboot /home/user/test.sh > /home/user/test.txt を追加。ここで、最終行に空行をいれること。 test.sh #!/bin/sh echo "test!!!" これで再起動時にtest.t…

raspberry pi 3でDCモータを2つ動かす(TA7291Pを使う)

raspi3でDCモーターを2つ動かす 準備 raspi3 dc motor 2つ TA7291P 2つ 電池 ブレッドボード ピン etc … ハードセットアップ 配線の仕方は以下参考。こちらはraspi 12ピンをpwmに設定。さらにraspi 16 18 32 ピンを同様に使用。32にpwmをセット。 参考:↓わ…

raspberry pi 3でサーボモータをいっぱい動かす(PCA9685を使う)

raspi3でサーボモータを動かす いずれアームを作りたい サーボブラケットをどう作るか… 準備するもの raspi3 servo motor PCA9685 電池 ブレットボード ピン etc… ハードセットアップ GND<->GND,5V<->Vcc, SCL<->SCL, SDA<->SDAをつなぐ。左がraspi右がPCA96…

YOLOの参考資料まとめ(Deep Learning Tool)

Deep Learningでの認識に興味がありやす 時間があるときに論文よみたい 参考: pjreddie.com YOLOv2/YOLOv2.md at master · leetenki/YOLOv2 · GitHub GitHub - leetenki/YOLOv2: YOLOv2のchainerの再現実装です(darknetのchainerローダと、完全なchainer上…

Visual SLAM参考資料まとめ

単眼カメラでの位置計測や自己位置推定に興味がありやす Monocular Visual Odometry Direct Sparse Odometry LSD-SLAM ORB-SLAM PTAM Visual SLAM Monocular Visual Odometryがおもしろそう http://yokoya.naist.jp/paper/datas/1407/SSII%E3%83%81%E3%83%A5…

raspberry pi でモーターとかセンサとかを動かす(偉大な先人方の参考まとめ編)

モータまとめ qiita.com サーボモータ Raspberry Pi 3でpythonを使いサーボモータを動かす - Qiita Raspberry Piでサーボコントロール、Part1 上下・左右の2軸を動かす | ものづくりエクスペリメント Raspberry Piで10個のサーボモーター動かしてみた: EeePC…

raspberry pi 3で ROS Kinetic Kame を動かす

raspberry pi 3 に Ubuntu Mate 16.04を入れる 以下からubuntu mateのimgをダウンロード ubuntu-mate.org SDカードフォーマッターでイレースフォーマットを実行 https://www.sdcard.org/jp/downloads/formatter_4/ DD for Windowsでイメージを書きこむ http:…

Gitのお勉強

Git

commitを綺麗にする方法 rebase -i HEAD~~ 参考: liginc.co.jp

rosのpocketsphinxの使い方

インストール $ git clone https://github.com/mikeferguson/pocketsphinx.git $ sudo apt-get install gstreamer0.10-pocketsphinx $ sudo apt-get install gstreamer0.10-gconf 修正 pocketsphinx/nodes/recognizer.py pocketsphinx/nodes/voice_cmd_vel.p…

rosで3rdpartyのコードをインストールする時

rosのmkを追いかけてみる /opt/ros/indigo/share/mk/download_unpack_build.mk md5sumファイルがあれば $(ROS_ROOT)/core/rosbuild/bin/download_checkmd5.py $(TARBALL_URL) $(TARBALL) を実行 /opt/ros/indigo/share/ros/core/rosbuild/bin/download_check…

スレッドについて

プロセスとスレッドの違い プロセス:メモリ領域が独立しているので安全、しかし切り替えに処理が多い スレッド:切り替えのコストは低いが、干渉しないように考慮する必要がある 参考: イケてるエンジニアになろうシリーズ 〜メモリとプロセスとスレッド編…

rosのワークスペース

ROS

ワークスぺース 参考: catkin/package.xml - ROS Wiki package.xml 参考: ja/ROS/Tutorials/CreatingPackage - ROS Wiki catkin/package.xml - ROS Wiki ビルド 参考: ROS/Tutorials/BuildingPackages - ROS Wiki

rosのNamesに関して

ROS

名前の種類 base relative/name /global/name ~private/name 参考: ja/Names - ROS Wiki Names - ROS Wiki Namespace and Remapping - ROS Answers: Open Source Q&A Forum ROS Naming and Namespaces | NooTriX Remap topic名やparameter名を簡単に変更で…

デバッガのお勉強

rosのデバッガ、IDE rosでもpdbが使える? 【ToDo】 rosでeclipseやpdbを使ってみる 参考: IDEs - ROS Wiki debug ros node python - ROS Answers: Open Source Q&A Forum How do I use eclipse with python (pydev) - ROS Answers: Open Source Q&A Forum …

Gitのお勉強

はまったことがあれば随時追加予定 とてもわかりやすい👇 参考: www.backlog.jp

rosのCMakeListsのお勉強

T・B・D install install(DIRECTORY launch/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch FILES_MATCHING PATTERN "*.launch" ) .launchだけをコピー install(DIRECTORY launch/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch PATTE…

mockテストのお勉強

mock.return_value 返り値を指定できる mock.called mock.call_count 何回呼ばれたか確認できる mock.call_args mock.call_args_list 引数のリストがわかる mock.side_effect いろんなものが指定できる 例えば(イテレート) side_effect = chain([1,2,3,4])…

rospyのお勉強

rospy.get_param パラメータサーバーから値をとってくる rospy.get_param(param_name, default) 参考: rospy/Overview/Parameter Server - ROS Wiki rospy.Time rate,sleep,durationなどよく使うものが多い rospy.Timer(period, callback, oneshot=False) p…

pythonモジュールとパッケージ

参考: Python: モジュールとパッケージ - CUBE SUGAR CONTAINER Python: モジュールとパッケージ - CUBE SUGAR CONTAINER Python/setup.pyによるインストール - Glamenv-Septzen.net Python入門 - パッケージとモジュール [http://samurait.hatenablog.com/…

pythonのお勉強

with文 ラムダ式 引数 可変引数 イテレータ ジェネレータ デコレータ スコープ クロージャ クラス継承 クラス属性とインスタンス属性 スタティックメソッド クラスメソッド プライベートメンバ Linuxコマンドを呼ぶ 入出力 csv pickle ソケット通信 スレッド…

rosでテストを書いてみる

unittest CMakeLists.txt if(CATKIN_ENABLE_TESTING) find_package(rostest REQUIRED) add_rostest(test/mytest.test) endif() package.xml <test_depend>rostest</test_depend> <test_depend>python-nose</test_depend> ↑テストにnoseをつかう場合 mytest.test <launch> <node pkg="mypkg" type="mynode" name="mynode" /> </node></launch>

pythonのテストを書いてみる

unittest Robot and Animal roboani.py class Robot: def get_name(self): return "robot" def get_legs(self): return 2 class Animal: def get_name(self): return "animal" def get_legs(self): return 4 def calc_roboani_legs(robot,animal,heads,legs)…

BeautifulSoupの使い方

BeautifulSoupを使ったスクレイピング from BeautifulSoup import BeautifulSoup import re doc = ['<html><head><title>Page title</title></head>', '<body><p id="firstpara" align="center">This is paragraph <b>one</b>.', '<p id="secondpara" align="blah">This is paragraph <b>two</b>.', '</html>'] soup = BeautifulSoup('…

Emacsの使い方

一括インデント Mark set C-c > or C-c < 対話置換 M-% OK: y , NO: n , ALL: ! , EXIT: q 位置画面上・下 上. C-v 下. M-v 随時便利だと思うものを追記していきますヽ(´ー`)ノ 参考: EmacsでPythonソースコードのインデントを深くor浅くする技 | 三鷹台で…

音声認識の原理のお勉強

連続音声認識と一般的なパターン認識の違い 連続音声認識は特徴抽出部の出力がひとつのベクトルではなく、ベクトル系列になる 音素や単語を一つのクラスに対応付け 文はそれらの系列として表現 認識結果もクラスの系列となる 連続音声認識は特徴ベクトルの系…

makeの理解

makefile 例 all: install.hoge install.hoge: wget 〜 touch install.hoge 参考: トリビアなmakefile入門 shin.hateblo.jp automake ./configure;make;make installにはどんな意味がある? - ITmedia エンタープライズ Linuxコマンド集 - 【configure】Mak…

Linuxのお勉強

プロンプト [robonchu@localhost~]$ ユーザ名 ホスト名 コマンドラインの編集 コマンド 内容 Ctrl+b 1back Ctrl+f 1go Ctrl+a text first Ctrl+e text end Ctrl+h 1back delete Ctrl+k cut from text first to end Ctrl+u cut from text end to first Ctrl+y…