ITに数学は必要?? ロボット制御のための三角関数活用法!
こんにちは。開発一部の内田です。
はじめに
ITの業界では結構学生時代に勉強した内容が利用されています。その一例を紹介します。
みなさんは、学校で習ったことが将来どう役に立つのかな?と疑問を持ちながら勉強していた方が多いのではないでしょうか?
今回は三角関数の「サイン、コサイン、タンジェント」を例に世の中で実際にどのように使われているのか?
学校で学んだことがIT技術にどう必要なのか?について紹介していきます。
世間一般の三角関数の使われ方
三角関数は意外と皆さんが知らないところで様々な分野で活用されています。
身近なものだとGPSが有名ですね。
ぼくは方向音痴なので待ち合わせ場所にたどり着くまでよくお世話になっています。
GPSは位置を計測するために三角関数が使われていたりします。
他で使用されている身近な例をあげると音などが該当するのはあまり知られていないかもしれません。
実は、音というのは電波の波が規則正しい波で出来ており
三角関数は、その波を表現するのにも使われていたり...
少し例に上げただけでも身近に実は三角関数が使用されており
今の生活にはなくてはならない重要そうなことがわかりますね!
まだまだ他にも活用されている事例があるため、少しでも興味が湧いてきた方はご自分で調べてみてください。
ただ、いろいろ調べてみても何かに使われているかはわかるけど、具体的にどのように利用されているのか?
そこがわからないと実際に勉強したことが役にってる実感が湧かないですよね...
少しでもわかるように具体例を交えて紹介していきたいと思います!
三角関数とロボットアームの関係
近年、ロボットアームも産業用だったり医療用だったり様々な分野で活躍しています。
ニュースとかドラマとかでも見たことありますよね?
そのアームの動きをコントロール(制御)するために三角関数が必要になってきます。
アームの動きって?イメージがつかみにくい感じだと思うので、
自分の体を使ってイメージするところからはじめましょう!
それでは、肘を固定して肘の曲げ伸ばしをしてみてください。
当然の話ですが肘を曲げたり伸ばしたりすると手先の位置が変わりますよね?
つまり、肘関節の角度が変われば手先位置がその分だけ移動していることがわかると思います。
角度と位置...三角関数を使えば式で表せそうな気がしてきませんか?
三角関数を応用した数学の話
角度と位置といえば...
点Aが直交座標(x,y),極座標(r,θ)で表されるとき、
x = r * cosθ
y = r * sinθ
が 成立しますよみたいな話、高校で勉強したかと思いますが覚えてますかね?
もし基礎的な部分を忘れてしまってたらググってみてください!
難しい内容ではないので簡単に思い出せると思います。
例えば、原点Oを肘、点Aを手先位置、rを肘から手先までの長さ、θを肘の角度とします。
腕の長さが伸びたり縮んだりはしないのでrの値は固定値とします。
これは手先位置が決まれば肘の角度はわかるし、肘の角度が決まれば手先位置はわかるという関係が成り立っています。
ここまでで三角関数を使えばアームの動きを式で表すことができる!
ってところまでは理解できたかと思います。
これだけではまだ役立ってる感がピンときてないのではないでしょうか?
次は動きを式で表すと何がうれしいのかを説明していきます!
関係式の活用方法
人間とロボット、それぞれの動力源について考えてみましょう!
先ほど自分の体を使って肘の曲げ伸ばしをしてもらいましたが、
人間の場合は筋肉の収縮と弛緩によって各関節の曲げ伸ばしを実現しています。
ロボットの場合は、筋肉の代わりにモーターの回転によって各関節の曲げ伸ばしを実現しています。
⇒人間とロボットの稼働する仕組みの違い
- 人間:筋肉の収縮と弛緩