ビジネスと数学の関係

経営者・有識者インタビュー

~経済・社会における数学~

第17回 ロボットをつくりたければ数学を学べ!
     中村 憲一 氏
     (一般社団法人組込みシステム技術協会 理事)

 

 

 

 


 

 社会でどのように役に立っているかわかりにくいと言われる「数学」。このコーナーではさまざまな分野の第一線でご活躍中の方々に、社会と数学のかかわりについて語っていただきます。第17回は「三菱スペース・ソフトウエア」や「レッドハット」を経て「アップウィンドテクノロジー・インコーポレイテッド」を起業し、主に電機製品やロボット向けに組込みシステムの技術開発を行うとともに、「一般社団法人組込みシステム技術協会」理事を務める中村憲一氏にお話をうかがいました。

ロボットを日本の基幹産業に育てる / ロボットを動かすために使用されている数学とは? / 「ガンダムをつくりたい」との思いでロボットを勉強

 

ロボットを日本の基幹産業に育てる

―― 「組込みシステム」とはいったい何を指しているのですか。

 

 機器に組み込んで使用されているソフトウェアを「組込みソフトウェア」と言い、ハードウェアと合わせて「組込みシステム」と呼ばれています。小さなものだと携帯電話やスマートフォン、タブレット端末、テレビなどの家電製品、大きなものだと自動車、飛行機などの輸送機器で使われています。ではパソコンとは何が違うのかというと、パソコンは使う人とキーボードと画面があって動きますが、組込みシステムはそれ単独で動作するものを指すことが多いです。ただし明確な定義は存在しないので、パソコンも組込みシステムであると考える人もいます。

 

―― 昔のパソコンは8ビットの世界でしたが、そういったものなのでしょうか。

 

 組込みソフトウェアは4ビット、8ビットから始まって、現在は32ビットが主流ですね。最近のパソコンは64ビットになっていますが、組込みソフトウェアでも高価なものでは64ビットや128ビットが存在します。また、OSもパソコンとは異なります。なかにはマイクロソフト社のWindowsが組み込まれているものもありますが、組込みシステム全体で見るとシェアは大きくありません。組込みシステム専用のOSというものが存在していて、組込み向けに小さなOSをつくっているメーカーは世界中にたくさんあって、マイクロソフトさんもWindows Embeddedというものをつくっています。弊社もUTOSという自社のOSを持っておりまして、サイズが小さくて速度が速く値段も安いという、小さい、速い、安いの三拍子が揃っています(笑)。これは主にロボット向けのソフトを動かすOSとして開発されています。

 

―― 最初からロボットにフォーカスして起業されたのですか。

 

 いいえ。起業したときはLinux(リナックス)がブームになり始めた頃でした。リナックスといってもパソコンやサーバではなく、まさに携帯電話やテレビ、HDD/DVDレコーダなどにリナックスを載せようとメーカーが動き始めたところで、私は以前、レッドハットに勤務していたという関係もあってリナックスに強く、その波の先端に乗ることができました。しかし最近はリナックスも一般的な技術として浸透してきたので、次は何が来るかと探索したところ、ロボットという市場が立ち上がりつつあるという状況が見えてきましたので、今はロボットに経営の舵を切りつつあります。

 

―― リナックスは非常に普及した技術となりましたが、ロボットについてはどんなビジョンをお持ちですか。

 

 大きな夢としては、日本をロボット大国にしたいと考えています。ロボット産業を自動車産業に続く日本の基幹産業に育てたい。従来の産業用ロボットに加え、サービスロボットがいま、非常に注目されています。いつでもどこでも誰にでも、小学生にでもロボットをつくれる環境を整えていきたいと思っています。

 

 

ロボットを動かすために使用されている数学とは?

―― やはり学生の頃からパソコンや電子機器に親しまれてきたのですか。

 

 パソコンとの出合いは小学校6年生のときです。友人が所有していたパソコンで、BASICという言語を使ってゲームを作っていました。自分でパソコンを購入したのは中学校1年生のときです。小学生のときは関数とは何かがわからず、見よう見まねでプログラミングしていたのですが、中学に入ると当時は1年生で関数が出てきたので、そこでようやく関数とは何なのかを理解できました。もっとも、つくっていたのはもっぱらゲームでしたけれど。中学校では理数系の好きな生徒が集まる科学部に入部して、学校に一台だけあったパソコンを使い、そこでもプログラミングをしました。

 

 

―― 当時はパソコンを一人で占有、というわけにはいかない時代でしたね。

 

 高校に入るとPC-9801が普及するようになり、私が入学した高校でもパソコン教室が設置されていて、自由に使えるようになりました。授業にもパソコンが入ってくるようになり、科学技術計算に作られたFORTRANという言語を使い、さまざまな関数を専門的に扱うプログラミングを学びました。要はサイン、コサイン、タンジェントといった関数の式を計算するプログラムで、手で計算すると5分、10分かかるものが一瞬で解が出る、というものでした。

 

―― そして大学はロボットの学科へ進学されました。

 

 そこに至るまでは紆余曲折がありまして、実は私が通っていたのは高等専門学校で、もともとは化学の勉強をしていたんです。しかし、ずっとソフトウェアが好きだったものですから、やはり情報系か電機系へ進みたいと思い高専を3年で中退し、1年間予備校に通って大学へ進学しました。ロボットというのは、たとえば二足歩行型ロボットは人間と同じような動きをするものですから、プログラムや機械だけでなく生物的な知識を知らなければいけませんし、材料に関する知識も必要になってきます。つまり、学科でいうと数学、物理、化学、生物と理系科目がすべて必要になるわけです。ですから大学では数学はもちろん、機械力学、材料力学、熱力学、流体力学などの機械工学や制御工学、航空宇宙工学などありとあらゆる科目を幅広く学びました。

 

―― ロボット製作で使われる数学はどのようなものですか。

 

 わかりやすい例をあげると、人間の手や腕のような動きをするアーム型のロボットがありますね。アーム型ロボットの手をA地点からB地点へ移動させるには、x軸、y軸、z軸という三次元のうち1つの軸をまっすぐ動かすだけで済みます。しかしA地点とB地点の間に障害物があり、それをよけてB地点へ動かそうとすると、まず軌道の計算が必要になります。その軌道がどういう関数なのかを導きだし、何秒後に手がどの位置にくるようにするかの指示を与えるのです。同時に、アーム型ロボットの関節にはモーターが入っていますから、モーターの角度と方向をどうするのかを計算し、指示を出さなければいけません。しかもロボットの関節は複数あるので、たとえば第一関節を原点とすると、第二関節のアーム先の位置を座標に出すためには回転行列を使う必要が出てきます。2つの関節を動かすだけでもこれだけ演算を行うわけで、さらにアームの向きや物をつかむ動きなどが入ってくると、手計算ではとてもできません。また、アームをゆっくり動かすのか、それとも速く動かすのかという速度の制御や位置の制御にはPID制御という方式を用いるのですが、これには比例、微分、積分の計算を使います。

 

―― ロボットをつくるには数学はもちろん、物理学や生物学の知識も必要とのお話がありましたが、それはどういうことでしょうか。

 

 たとえば人型ロボットは重力の影響を受けるので、物理学が入ってきます。また、従来のロボットは数学や物理の知見に基づいて位置を計算しながら歩くようにつくられてきましたが、別に人間は位置計算しながら歩いていません。足を踏み出し、着地するという行為を大ざっぱに繰り返して歩いているわけで、そういう生物学的な知識を取り入れてロボットを動かそうという研究も行われています。

 

「ガンダムをつくりたい」との思いでロボットを勉強

―― 学生時代の数学に関する思い出や、数学で何か悩んだりしたことはありますか。

 

 『大学への数学』という雑誌で毎月出されている課題に大学に入学してからチャレンジし、1週間かけて解いたことが思い出に残っています。細かい内容は忘れましたが行列の演算問題で、最初は簡単だろうと思いA4用紙1枚で計算を始めたのですが、とても1枚では足りなくなって2枚めを使い、それでも足りなくて字を小さくして3枚め、4枚めと計算を続け、10枚くらい計算してやっと解が出たんです。賞を取ったわけではないですが、雑誌に名前が掲載されました。

 

―― そもそも、ロボットを勉強しようと思ったきっかけは何ですか。

 

 やはりガンダム世代なので、ガンダムをつくりたい、自分が乗ってみたいという単純な思いがきっかけです。私より上の世代はアトム世代なので、別に自分で乗ろうとは思わないけどつくってみたい、という気持ちが強いようですが(笑)。大学に入るまではパイロットになりたいという夢もあって、その後、プライベート・パイロットのライセンスを取りました。パイロットにも数学が必要ですね。フライトコンピュータというものがあって、燃料と高度、風向き、風の強さから、あとどのくらい飛べるかを常に計算しながら飛行しますので。パイロットの知識として必要な気象を学ぶにも数学が必要です。

 

―― 大学を卒業された後、就職されたのも三菱スペース・ソフトウエアという宇宙システムや防衛システムを扱う会社ですね。

 

 大学時代に現在のJAXA(独立行政法人宇宙航空研究開発機構)の前身になる組織でアルバイトをしていて、日本版スペースシャトル実験の助手を務めていました。そこでやっていたのは軌道計算や大気圏突入時の機体制御のシミュレーションです。数学や物理で使用されているMATLABやSimulinkというツールがあって、それらを駆使してデータを解析していました。飛行機の小さな模型をつくり、風洞で飛ばしてデータを収集するということもやっていました。それがきっかけかどうかはわかりませんが、やはり日本で宇宙開発というと三菱ですので、三菱スペース・ソフトウエアに入社しました。本当はそこで宇宙開発をやりたかったんですが、私は縦ではなく横に飛ぶ方をやることになり、弾道計算などを行うシステムの開発をしていました。具体的に担当したのはイージス艦のシステムです。イージス艦は日本の船を守るのが任務で、たとえばミサイルが何十発も飛んできたときにどうやって対処するのか、あるいは他の船とどう連携するのかといった計算をする、多少は数学っぽい仕事でした。

―― 中村さんの話をおうかがいしていると、非常に幅広い分野を学び、仕事をし、かつ先端的な技術動向にもアンテナを張ってらっしゃるように思います。かなり大変なことだと思いますが、どうしてそれができるのでしょうか。

 

 興味が一番だと思います。私はガンダムで出てくる武器も、どんな技術がアイデアの元になっているのか調べようと思います。ガンダムを制作している方も当然、技術を調べたうえで創作に反映されていますから。

 

―― 算数や数学も好奇心の対象になっていましたか。

 

 算数はずっと得意でした。それほど受験勉強を一生懸命やったわけではないのですが、小学校の頃から算数塾へ通っていて、人より先の内容を学んでいたことがモチベーションになりました。算数塾で学んでいると学校の授業で出る内容はすでにやったことですから普通に理解できるし、落ちこぼれることもないし、さらにみんなより先へ行こうとがんばるようにもなります。人より先へ先へ、という姿勢は現在のビジネスにもつながっていると思います。ただ、学校の勉強は先にどんなことが待ち受けているのか決まっていますが、ビジネスや会社経営では将来に何が起こるのかわかりません。決断の分岐点で2つの選択肢があったとしたら両方調べるだけでよいですが、その先にまたそれぞれ分岐があると選択肢は4になり、8になり、16になり……。そうなると全部調べるわけにはいきませんから、確率統計の出番です。確率を使って期待値を出してみる。そう考えると技術の世界だけでなく、ビジネスや経営でも数学的思考が役立っています。

 

―― 今日はありがとうございました。

 

プロフィール
中村 憲一(なかむら けんいち)
 一般社団法人組込みシステム技術協会 理事
 アップウィンドテクノロジー・インコーポレイテッド 代表取締役 社長
1996年電気通信大学卒業。三菱スペース・ソフトウエア、日本シグナスソリューションズ、レッドハットを経て2002年8月、米国ハワイ州にてUpwind Technology, Inc.を設立し、代表取締役社長に就任。現在に至る。一般社団法人組込みシステム技術協会理事、同協会応用技術調査委員会委員長を務める。

一般社団法人組込みシステム技術協会
http://www.jasa.or.jp/top/