見出し画像

朝は四本足、昼は二本足、夕は三本足。この生き物は何か。

インホイールモータをご存知だろうか。
その名の通り、ホイールの中にモータが内蔵され、タイヤとモータが一体化した部品のことを指す。
元来、モータとタイヤは別れていた。モータがあって、そこからシャフトが伸び、その先にタイヤが付いている構造だ。
また、モータというのはそれ単体では動作しない。例えばどんな速度で回したいか指示をうける通信回路だったり、モータの回し方を決める制御回路だったり、回転数を監視するためのセンサだったり、モータを回すための部品がいくつも必要で、そういった部品も従来はモータの近くに配置されタイヤとは別物となっていた。
それらのタイヤを回すために必要な部品を一切合切まとめて、タイヤの中に詰め込んで一体化してしまったのがインホイールモータだ。
インホイールモータを採用することで、従来確保が必要だったモータやシャフトのためのスペースが必要なくなり、タイヤそのものを配置するだけで自走可能になるため、構造の自由度が高まり、それまで実現できなかった形状のモビリティを作ることができるようになった。
小型版セグウェイとも言えるバランススクーターや、今年7月に改正法の適用が開始され取り扱いやすくなる電動キックスクーターなど、近年小型で形状に自由度の高いモビリティが多く登場しているのも、このインホイールモータを採用しているおかげなのである。


さてこのインホイールモータであるが、省スペース化以外にも利点がある。そして個人的にはこの特徴こそが、インホイールモータを画期的な部品たらしめているポイントだと思っている。
それは、通信するだけで回せるタイヤ、であるという部分だ。どういうことか。
先程書いたように、モータはそれ単体では回すことができない。制御回路を用いて回転を制御することが必要になる。
回転を制御する、と一言で書いたが、これがなかなかに難しく奥深い分野でもある。
地面からの抵抗を加味しながら一定の速度を維持したり、トルクを規定の範囲に収めたり、モータが壊れないよう負荷を調整したり、様々なポイントを考慮しながら最適に回し続けるというかなり複雑なことを行わなければならない。
そのため、モータの回転を維持するために制御プログラムを常に走らせ続ける必要があるのだが、それをメインのCPUで行うのは難易度が高い。
綱渡りをしながら方程式を解いてください、と言われてできる人はなかなかいないと思うが、メインのCPUで末端の制御まで行うというのはまさにそういう、複雑な制御を維持しながら考え事を同時にしているような状態だ。
どうせなら制御は制御、考え事は考え事でわけて行いたいと思うのは自然なことで、通常、考え事はメインのCPUで行い、制御は制御回路内の小型CPUで行う、という部品レベルでの役割分担を行う。
そしてこのメインCPUと制御回路内のCPUの間で、こんな感じで回してね、と指示を出したり、今は回転数がいくつ出ているよ、と状況を知らせたりするのに通信が使われる。
前述したようにインホイールモータでは、こうした制御や通信に関わる回路がモータと一緒にタイヤの中に内蔵されている。
つまり、タイヤという機能部品自体が、通信により自在に動かす事が可能なモジュールと化している、というわけだ。

ハードウェアという代物は、分離や組み換えに適していない。
ギアやプーリといったや機械部品や、基板内にいくつも配置された電気部品など、物理的な部品群を精密に組み合わせて構成されているため、ある一部分を切り出して使用するということが難しい。
そのため元来のハードウェアは一度作られてしまえば、そのままの形で使用することが当たり前だったし、もし機能を追加・変更しようものならば膨大な組み換えコストが発生していた。
それに対してソフトウェアの利点は変更の容易性にある。
たとえば、自宅の照明の操作が気に入っていないとする。
「玄関のスイッチを押したとき、玄関の照明だけじゃなくて、部屋全体の照明がついてほしいんだよな」と。
これを実現しようと思ったら、電気屋さんを呼んで、屋内配線工事をして、物理的に電気回路を切り替えなければいけない。単なる思い付きで試せるような変更では到底ない。
ところがスマート家電の登場でこの状況は変わった。スマート電球とリモートスイッチをつかうことで、「このスイッチを押したらこの電球が光る」ということをソフトウェア上で設定できるようになった。
スマート家電をつかうことで、好きな時に好きな構成でハードウェアの制御を組み換え・変更することが可能になった。もはや思い付きで変えたっていいわけである。
普通の電球とスマート電球はどこが違うのだろう。スマート電球には光るという機能のほかに、電球を光らせるための制御機能や、指示を受け取る通信機能が一緒に入っている。つまり、スマート電球とはインホイールモータと同様にモジュール化されているということなのである。
ハードウェアがモジュール化されると、ソフトウェアでコントロール可能になる。そしてそれはハードウェアが、ソフトウェアの利点であった変更容易性を手に入れるということなのである。(*1)

この変化がロボットにも適用され始めている。
例えばドイツの産業機器メーカ、ベッコフオートメーションは、「ATRO」というロボットモジュールを展開している。
従来、製造ラインで使用されるロボットアームには既製品が使われてきた。だが、ラインで製造する製品が変われば当然ながらロボットアームに要求される仕様も変わるし、また現場投入されたあとに「もうちょっとここが変われば効率がよくなるのに」といったことが判明する場合もある。
ATROはモーターモジュール、リンクモジュール、ベースモジュールなど複数のモジュールから構成されており、組み換えて機能を変えることが可能になっている。
そのため、「ちょっとここを変えたいな」に対応できるロボットアームになっているのである。


また、ソフトウェア側でも、ハードウェアをモジュールとして扱う方法が用意されている。
例えば、OSに搭載されているデバイスドライバはまさに、ハードウェアをモジュールとして扱う仕組みだ。
アプリケーションからハードウェアを直接扱うのではなく、デバイスドライバという仲介者を介することで抽象化をしている。
A社のマウスは使えるけど、B社のマウスは使えない、ということがないのは、製品間の仕様の違いをデバイスドライバがよしなに吸収してくれるため、アプリケーションからは抽象化された同じマウスとして見えているからである。
ロボット制御用ミドルウェアのデファクトスタンダードである「ROS」にもハードウェアを抽象的に扱う仕組みが用意されている。
ROSではセンサやモータなどのハードウェアを「ノード」として抽象的に扱い、かつそのノード間を通信で連携して動かすという設計思想になっている。
つまり、インホイールモータと同様に、ハードウェアと制御を1モジュール化して通信でコントロールする、という考え方をソフトウェア側からカバーするものとなっている。

引用元:ROS 2 Documentation (ros.org)


そして、近年ディープラーニングの登場によってハードウェアのモジュール化がより進む可能性がある。
取り付けたモジュールのコントロール方法を機械学習によって自動的に学習させることで、事前にその使い方をソフトウェア上に組み込まずとも利用できるようになるかもしれない。
もしそうなれば、モジュールを組み替えて、自動で学習させ、そのまま利用するということがシームレスに実現可能となる。
ロボットアニメ「天元突破グレンラガン」に登場する「ラガン」というロボットは、敵ロボットをドリルで突き刺すことでその制御を乗っ取ることができるが、まさにそのように初めて接続したモジュールを意のままにコントロールできるようになる可能性があるのである。

ここまで述べたように、ロボットはもはや組み換え不可能なワンオフなハードウェアではなくなりつつある。
今後、モジュールを組み替えることで用途に合わせて自在に姿を変えることができる、変幻自在な存在になる可能性がある。
タイトルに冠した「朝は四本足、昼は二本足、夕は三本足。この生き物は何か。」という問いかけは、ギリシャ神話のなかでスフィンクスが出したとされる有名ななぞなぞだ。
人間の一生を一日に喩えてその変化を表したものであるが、もはやロボットに至っては一日のうちに何本足にでも変化することができるのである。
現在は人型ロボットや犬型ロボットが主流ではあるが、朝はタコ型、昼は蛇型、夕はアメーバ型になったっていいし、その自在さが今後のロボットの特徴になっていくのかもしれない。


この記事は、Dentsu Lab TokyoとBASSDRUMの共同プロジェクト「THE TECHNOLOGY REPORT」の活動の一環として書かれました。今回の特集は『検索』。編集チームがテーマに沿って書いたその他の記事は、こちらのマガジンから読むことができます。



*1: ゆるコンピュータ科学ラジオリスナーであればここで「これってつまり、divide and conquerですよね!」と言いたくなるかと思います。ハードウェアの世界も、掘り下げていくことでデカルトみを感じることができます。


この記事が気に入ったらサポートをしてみませんか?