2020年に勉強した本の紹介
こんにちは.こんばんは.まんぼーです.
この記事は WMMC Advent Calendar 2020 5日目の記事です.
昨日は1個上のズャさんの留学の話についての記事でした.
留学は…そうですね.いつの日か時空が歪んだため選択肢から外れました. でも,留学って憧れますよね.
ズャさんとオフラインで最後にいつ会ったっけ...というレベルで会っていないのですが,無事海外から戻って来れて安心でした.卒業するまでに会いたいです.
この記事の目次です.ドーン.
- はじめに
- 1.『現代制御工学-基礎から応用へ-』 江上正・土谷武士 共著
- 2.『C++で学ぶオブジェクト指向プログラミング』 柴田望洋
- 3.『リーダブルコード 』 ―より良いコードを書くためのシンプルで実践的なテクニック
- 4.『ヒューマノイドロボット 改訂2版』(梶田秀司 編著)
- おわりに
はじめに
2020年,学びを得るのに使ってきた本を紹介したいと思います.
本なんて自分で探せるよ!と言われると返す言葉もないのですが,「○○についてオススメの本ない?」とは案外よく聞いたり,聞かれたりする話題の一種だと思います.
特に初学者にはどの本が良いかわからないと思いますし,研究室に入っている人と入っていない人の情報は結構異なったりすると思います.そこで,これから同じ道を歩もうと考えている人のためにこの記事を書くことにしました.
色々な本を比較したわけでもないので,ここが良かった,ここが足りてない,みたいなものはないのですが,同じ分野で生きようとしている人の手助けになればいいかなと思います.ではLet's Go.
1.『現代制御工学-基礎から応用へ-』 江上正・土谷武士 共著
弊学科は学部時代に簡単な古典制御しか学ばなかったので,学部4年の時に物足りなく感じて購入した本です.ちゃんと読んだのは今年に入って制御の授業を取ってからですが,安定性の話オブザーバ,最適レギュレータ系の話,デジタルサーボ系の話まで,現代制御について多くの例題を交えながら説明が書かれており,わかりやすい参考書でした.
私の所属する研究班のボス(某Iさん)がオススメしていた本なので,間違いないと思います.読むだけでは定着しないと思うので,手を動かして式を追ったり,MATLABで実際に制御系を組んでみると良いと思います.
☞こんな人にオススメ
・古典制御を知り尽くして物足りない人
・将来制御関連で生きていきたい人
※学部1~2年で初めて制御工学を学ぼうとしている!という人は足立修一先生執筆の「制御工学の基礎」を勧めます.完全に理解した人は↑の本で学ぶと良いと思います.
※ちなみに足立先生は慶応義塾大学の教授で,制御やフィルタ等について様々な本を出しています.YouTubeでも講義動画が公開されているので,そちらも初学者にはかなりおススメです.(URLは⇩)
2.『C++で学ぶオブジェクト指向プログラミング』 柴田望洋
修士課程に入り,修論やROSのプログラミングでC++の勉強必須だなぁとか思っていたのですが,GW前に色々あり,C++のクラスの勉強を急ピッチで進めなければいけなくなった頃に使用した本です.正直紹介するまでもないですが,C/C++,Pythonなど様々なプログラミング言語の教本を作っているBohYohさんの参考書です.C++の基礎的な部分は省かれ,クラスを始めとしたオブジェクト指向プログラミングについてひたすら書かれています.
解読難易度はまあまあ高めで,元々そこまでプログラミングが得意ではない私は,GW前後は1日7時間くらいこの本と格闘していました.2回くらい読んだりコード書いたりしましたが,うーんわからん!って感じです.今も結構な頻度で参考にしています.
C++を軽く触れて軽く使えるようになればいい!という人には「やさしいC++ 第5版」くらいがちょうどいいと思います(Amazonレビューに書いてある通りミスが多いが).
ちなみにですが,この本を読んで練習プログラムを書いただけでは,使いこなせるようになるのは難しいと思います(C++に限らないですが).ある程度まで読んだら,実際に実装目標を立ててプログラムを書いてみると一番上達が早いと思います.
☞こんな人にオススメ!
・ロボットを仕事にして生きていきたい人
・プログラミングが好きな人
・残念なことにC++が必要になってしまった人
まだC++を学んだことがない人はこの本ではなく, C++ 入門編を買うべきです.
⇧の本の姉妹本で,初学者向きです.
3.『リーダブルコード 』 ―より良いコードを書くためのシンプルで実践的なテクニック
他人にコードを読んでもらってワケわからん!って言われたことないですか?もしくは,他人のコードを読んでワケわからん!っと思ったことはないですか?
私は両方あります.そんな時にはこの本がオススメ.宣言する変数名の決め方やプログラムの書き方など,プログラミングの授業ではほとんど教えてもらえないことが書いてあります.チーム開発をする前・就職する前に読んでおいた方が良いと思う.マジで.
私はTwitterで流れてきて,周りにもこの本を勧める人がいたので研究費で購入しました.マウスを始めて「標準プログラム(※1)」なるものを手に入れてから,コードをできるだけわかりやすく書くように心掛けてきましたが(何回も使う変数にaとかiとかsとか使わない.まとめるべきものはまとめる.など),他にも色々気を付けるべきことはあるんだな,と改めて思わせられた1冊でした.とにかく一回触れるべき.
※1)弊サークル内でオープンソース(※「内で」とか書いてる時点でオープンソースではない)になっているマウスのプログラムのこと
どんな事が書いてあるか気になる人は⇩の記事を参考に.
☞こんな人にオススメ!
・チームでソフトウェア開発をしている人
・他人にコードを理解してもらえない人
・自分で書いたコードを2週間後に読めなくなっている人
4.『ヒューマノイドロボット 改訂2版』(梶田秀司 編著)
某研究室で結構な人が愛用していると言われている神書,『ヒューマノイドロボット』の改訂版です.
ヒューマノイドロボットの制御方法を学ぶことが目的の本で,基本となる運動学の話からZMP,動力学,パターン生成などについて詳しく書かれています.
この本の第一版は絶版になっていて,メ〇カリでたまーに出品されて即売り切れのループが続いてました.大きめの図書館で借りるくらいしか読む手段がなかったのですが,今年10月に改訂版が出たみたいです.
出たので買おうかなと思いつつ,つい先週ようやく買いました.
え?勉強に使った本の紹介なのに先週買ったの?
ええ,只いま絶賛使っている最中です.でも研究室の皆が使ってますし,評判通りわかりやすく書かれているのでオススメです.
[こんな人にオススメ!]
・ヒューマノイドロボットの制御理論を学びたい人
・運動学の勉強をしたい人(はこれよりもっと良い本があると思います.読んだことないですが↓に貼った本とか良いのではないでしょうか.)
おわりに
いかがでしたか?
他にも色々な参考書を読みましたが,多すぎても読む気が失せると思ったのでこのくらいにしておきます.
新しいことについて勉強をしたいなと思った時にこの記事を思い出してくださると幸いです.
明日はRivière君の「rand関数で迷路をランダム生成させてみた」という記事です.
Rivière君もコロナ禍に入ってから1回も会っていない後輩です.期待のB2の初記事(だよね?),とっても楽しみです!!ではまた.