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

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

Python

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

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

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

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

機械学習のお勉強(DeepLearning from 0)

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

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…

スレッドについて

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

デバッガのお勉強

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 …

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

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

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('…