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

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

2017-03-01から1ヶ月間の記事一覧

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 Etcherをインストールし、上記イメージを選択してSDカードに書き込み balenaEtcher - Home 別の書き込み手順 SDカードフォーマッターでイレースフォー…

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 …

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のお勉強(1)

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

rosテストのお勉強(python)

unittest CMakeLists.txt catkin_python_setup() 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> </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の使い方

設定読み込み順 一括コメントアウト 一括インデント 対話置換 位置画面上・下 init.el設定 pyflakesの設定 flymakeでファイルが開けない時 行数設定 対応する括弧を光らせる 自動補完 ロードパスの設定 python設定 lintの設定 el-getのインストール fly-chec…

音声認識の原理のお勉強

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

makeの理解

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