
こんにちは、CenotenBlogです。
本記事は上記のような悩みを解決できます。
- メカトロニクス
- 順運動学、逆運動学
- C / C++
- 制御システム
- コンピュータビジョン
僕は大学で機械工学を専攻し、国立研究機関にてロボットに関する研究を行っています。
こういった僕が解説をしていきます。
ロボット工学でまず取り組むべき5つの学問
では早速ロボット工学でまず取り組むべき5つの学問について解説します。
僕が考える、ロボット工学で大切な学問は以下の5つです。
- メカトロニクス
- 順運動学、逆運動学
- C / C++
- 制御システム
- コンピュータビジョン
これら5つの学問について、それぞれ順番に解説していきます。
メカトロニクス
1つ目はメカトロニクスです。
機械工学や電気電子工学、情報工学の知識・技術を融合させることにより、従来手法を越える新たな工学的解を生み出す学問や技術分野を指します。
イメージとしては下記の画像のとおり。

図:Wikipediaから引用
ちなみに、メカトロニクスの語源は、機械装置(Mechanics)と電子工学( Electronics)を合わせた言葉。(Mechatronics = Mechanics + Electronics)
この学問では、主にセンサーの使い方やアクチュエーターの使い方を学びます。
マイコン(マイクロコンピューター)を使ってセンサーやアクチュエーターの制御も行なったりしますね。
ロボットには様々な種類のマイコンやセンサーが搭載されます。
メカトロニクスを通し、電子回路や コンピュータによる機械制御全般について学ぶことで、ロボットの制御についての理解を深めることができますよ。
順運動学・逆運動学
2つ目は、順運動学と逆運動学です。
ロボットアームの関節の制御などに非常に重要な学問。
例えば、順運動学では関節の位置や角度からロボットの姿勢(指先の位置など)を求めます。
逆に、逆運動学ではロボットの姿勢(指先の位置など)から各関節の位置や角度を求めます。
注意として、行列計算が必要になるので大学基礎レベルの数学の知識が必要。
下記の参考書は初心者でもわかりやすく解説してあるので、興味のある方におすすめ。
C/C++
3つ目は、プログラミング言語です。
その中でもまずはC言語もしくはC++に取り組むのが良いかと。
C言語のスキルを身につけるとロボット周りのハードウェア全般を扱えるようになります。
一方で、ソフトウェア系、特に人工知能などに興味のある方はPythonという言語をおすすめ。
というのも、多くの人工知能の実装がPythonで行われているからです。
C言語がおすすめ理由は、学習難易度が低いのと実機をスムーズに動かすことができるようになるから。
まずは本などを参考に、基本的なコードの書き方や読み方の学習から始めてみると良いかと思います。
参考までに僕が使用した参考書を載せておきます。
※ぶっちゃけプログラミングの独学は挫折してしまうかも。
正直、プログラミング言語の独学はかなり辛いです。初心者の頃は問題解決の仕方がわからず全然前に進まないことがよくあります。友達に詳しい人がいればなんとか乗り越えらるかもですが、気を使ってなかなか自由に相談しづらいことも。なるべく挫折したくない、いつでも相談したい人はプロの専門家から直接学べるプログラミングスクールもありかと。下記におすすめの無料体験のあるプログラミングスクールなどをまとめておいたので参考までにどうぞ。
将来のために今のうちからプログラミングを学んでおきたいな。学割が利用できるプログラミングスクールってあるのかな。 こんにちは、CenotenBlogです。 プログラミングスクールをネット上で調べると、山のように[…]
制御システム
4つ目は、制御システムです。
制御システムを学ぶことで、ロボットアームなどの対象物を狙い通りに制御することができます。
制御方法には、古典制御や現代制御と呼ばれる手法があります。
どちらの手法も、ロボットアームなどの対象物を狙い通りに制御するという目的は同じです。
ロボットアームの位置や力などを、電子制御する際にこの学問で学んだモデルを活用することができます。
コンピュータビジョン
最後の学問がコンピュータービジョンです。
コンピュータービジョンはロボットが外部の情報を得るために必要である。
例えば、多くのロボットはカメラセンサーから外部の環境の情報を取得しています。
こちらを発展させていくことで、物体の認識や行動認識を行うことも可能です。
まずは、画像処理について簡単に理解してみると良いかと。
最後に
上記で解説した5つの学問は、ロボット工学を学ぶ上で基本となるものです。
これら5つを理解した上で、更に上のレベルの学問へと進んでいければ良いかと思います。
余談ですが、下記の記事でロボット開発で主要なプログラミング言語について解説しているので参考までに。
・ロボットの研究開発ではどんなプログラミング言語が使われているの?・これから学ぶ言語はどれがおすすめ? こんにちは、るい(@CenotenBlog)です。 この記事では、上記の悩みにお答えします。 ɱ[…]