ROS Japan Users Groupの新オーガナイザーの一人、片岡大哉さんと語ってみた【コモさんの「ロボっていいとも!」第12回】
こんにちは、コモリでございます。
おひるやすみはロボロボウォッチング、ロボティクス業界のキーパーソンの友達の輪を広げるインタビューコーナー「ロボっていいとも!」のお時間となりました。
前回のゲスト、ソニーの藤田智哉さんには、新生「aibo」のROS活用やROS2 TSC(Technical Steering Committee)での活動について、ワクワクするお話をたっぷりと聞かせていただきました。
今回は、私も「いつか絶対に名前が出てくるだろう」と心待ちにしていたあの方のご登場となりました。ROS Japan Users Group(以下 UG)のミートアップではプレゼンの常連で、前々回に出ていただいた近藤豊さんの後を継ぎ、現在はUGのオーガーナイザーの一人として名を連ねていらっしゃいます。その傍らで、自動航行船の国際ロボットコンテストにも有志で参加しているという、とてもパワフルな人です。
……それではそろそろお招きしましょう。本日のゲストはソニーグループ株式会社の藤田智哉さんからのご紹介、OUXT Polaris兼株式会社ティアフォーのソフトウェアエンジニア・片岡大哉さんです!
片岡 大哉
OUXT Polaris
株式会社ティアフォー ソフトウェアエンジニア
片岡:こんにちは、よろしくお願いします!
コモ:いつか来られると思いつつ、ずっとお待ちしてましたよ!
片岡:そう言っていただけて光栄です。「ロボっていいとも!」の連載も読んでいました。aiboの川部祐介さんから始まって、アカデミックな方面にいって、そこからROS関連に渡ってと、繋がりが面白いですね。
コモ:そのバトンが、満を持して片岡さんに回ってきたということで。本日はどうぞ、よろしくお願いします。
トランスフォーマー、フルメタ、攻殻、エヴァの誘い
コモ:はじめに、ロボットに興味を持ったきっかけについて伺えますか?
片岡:原体験として思い出せるのは、保育園くらいの時に観た『トランスフォーマー』や『ビーストウォーズ』などのテレビアニメですね。ヒーローたちのロボットが変形したりするのに、「ロボットってめっちゃカッコいい!」と憧れました。ただ、この頃は単純な憧れで、「自分が作り手になる」なんてところまでは至っていませんでした。
時を経て、高校生の時に『フルメタル・パニック!』や『新世紀エヴァンゲリオン』、『攻殻機動隊』などのアニメにどっぷりとハマりまして。気づいたら「俺はロボットをつくるぞ!」と決意が固まっていました(笑)。
コモ:そこから大阪大学に進学されたと。
片岡:はい、機械工学系が学べる応用理工学科に進みました。その後、認知発達ロボティクスの第一人者である浅田稔先生の研究グループに入って、本格的にロボット開発に取り組み始めました。
コモ:実は僕も機械科だったんですよ。旋盤、回してました?
片岡:旋盤大好きです! 機械加工はすごく好きなんですが、在学中は思うように加工機械を触れなかったんですよね、下手すぎて。今でもやりたいんですけど、秒で指とか飛ばしそうで怖いです……。
コモ:今はソフトウェアを専門になさってますが、入り口はちょっと違ったんですね。片岡さん、今ではいろんなプログラム言語に精通していらっしゃるから、元からソフト寄りだったのかなと思っていました。
片岡:前回ゲストの藤田さんも、学生時代は全然コード書いてなかったって言ってましたよね。僕、あの方は絶対にバリバリのコンピューターサイエンス出身だと思ってたので、「ウソでしょ、全然違うやん」って声出ました(笑)。
コモ:ビックリですよねえ、あれは。こういう過去から現在に至るまでの紆余曲折をお聞きするの、毎度ながら本当に面白いし、発見があるなあと感じています。
学生時代に研究室のロボカップチームで使っていたロボットNao
「世界一賢い船」を作るOUXT Polarisの活動
コモ:片岡さんの「OUXT Polaris」の活動も前々からすごく気になっていたんです。どんなことをしているのかなって。
片岡:OUXT Polarisは、世界各地で開催されている自動航行船の国際ロボットコンテスト「Maritime Robotx Challenge」に出るために結成された、学生と社会人混成のロボコンチームです。「世界一賢い自動航行船の制作」を目標に、制御機器、センサー、それらを司るプログラムを協力しながら自作しています。
Maritime RobotX Challenge 2018 @ Hawaiiで自律移動中のWAM-V
大阪府の安威川で航行中の小型試験船
コモ:片岡さんは、学生時代から今に至るまで、ずっとPolarisに関わり続けていらっしゃるんですよね。
片岡:そうですね。修士1年から参加していて、今は自律移動系全般のプログラムデザインを担当しています。
コモ:本業では自動車の自動運転技術に携わられていますが、同じ自動操縦と言えど、やっぱり陸と海では勝手が違うのでしょうか?
片岡:違いますね、それがとても面白いなと感じています。たとえば、陸だとスキャンマッチングによる位置把握が有効ですが、海だと位置の手掛かりとなる物体がないので使えないんですよ。
コモ:ああ、なるほど。言われてみると当たり前ですが、そうすると前提条件がまったく変わってきますね。
片岡:だから自動航行の場合は、短期的に前後10秒くらいのタイムステップでデータを参照しながら「たぶんこの辺にこんなものがありそうだぞ」という予測を立てつつ進路を決定していく、という方向性になるんです。じゃあ、そこに合わせてどういうふうにアーキテクチャを設計していけばいいのか……と、仕事とは全然違う頭の使い方をするので、その点がすごく楽しいです。
コモ:そんな世界なんですね。全然知らない領域なので、お話聞いてるだけでワクワクします。次の大会はいつ頃に?
片岡:2年に1回開催されていて、次は2022年の冬に行われる予定です。前回はコロナの影響で流れでしまったので、開発にも気合いが入っています。ストリーミング配信もあるので、近くなったらお知らせしますね。
コモ:ありがとうございます! 大会の様子、ぜひ観てみたいです。
ROSとの馴れ初め(というより乗り換え)
コモ:さて、本業以外でも精力的に活動されている片岡さんですが、ROS Japan UGでも目覚ましいコントリビュートを見せていただいておりますね。ROSとの出会いについて、あらためて伺ってもいいですか。
片岡:ROSを初めて触ったのは、院卒前の就活時期に参加したインターン先でのことでした。とある工業系の大手企業でしたが、募集条件の難易度が飛び抜けて高かったんですよ。「C++、Python、Matlab、ROSのいずれかが扱えること」っていうように、求めるスキルがずいぶんと具体的に書かれていて。
コモ:すごいですね、インターンに求めるレベルじゃない(笑)。
片岡:「この条件で入ったら何に取り組めるんだろう?」って逆に興味持っちゃって、そのインターンに参加したんですよ。3週間、かなり現場に近いというか、実践的な環境でいろいろと業務のお手伝いをさせてもらったのですが、そこで初めてROSの使い方を教わったんです。
コモ:ROSとの初対面、印象はどうでしたか。
片岡:「ずっと欲しかったやつ、これじゃん」と思いました。僕、研究室に入ってから本格的にソフトウェアのプログラミングを書き始めたんですけど、「毎回ゼロからソースコード全部書くのだるいな」って、自分でミドルウェアを作ってたんですよ。
コモ:え、自作しようと?
片岡:そうなんです。一応、学部生の卒論はそのミドルウェアを使ってたんですが、使い勝手も性能も満足いくものにはならなくて。ずーっとそれをいじりながらモヤモヤしていた中、ROSに出会って「もう自分でつくる必要ないじゃん!」とあっさり手放して鞍替えしました。
コモ:いやはや、学生時代にミドルウェアを自分でつくろうとしたなんて、聞いたことないですよ!(笑)
片岡:そこからはミドルウェアは基本的にROSを使用しています。修論では発話ロボットに使用されるソフトロボット機構の制御をテーマにしていて、そこでのプログラミングにも使わせてもらいました。
コモ:それはすごい……!
片岡:今やROSがない環境とか、ちょっと想像ができませんよね。それくらいお世話になっています。
ROS Japan UGのオーガナイザーが複数人になったワケ
コモ:ROS Japan UGには、いつ頃から参加され始めたんですか。
片岡:修士1年から2年にかけての時期、就活で受けていたのがほとんど関東の会社だったので、たびたび東京に行く機会があったんです。それで、あるときに「受けに行く会社の近くでROS Japan UGなるものの集まりがあるらしい」とSNS経由で知って、面接ついでに覗きにいったのが最初ですね。
コモ:あの頃はコロナ前で、オフサイトのイベントも頻繁にやってましたねえ。
片岡:何気なしに参加してみたら、皆さんすごい熱量で発表やらディスカッションやらされていて。めちゃくちゃ面白いと思って、それからは就活で上京する度、ROS Japan UGのイベントに必ず参加するようになりました。
コモ:ROS Japan UGで常に存在感のある片岡さんですが、前々回に「ロボっていいとも!」に出ていただいた近藤豊さんと入れ替わりで、2021年4月よりオーガナイザーに就かれましたよね。どのような経緯で?
片岡:近藤さんが降りられる少し前、ROSCon_JPの理事も務められている高瀬(英希)先生に「オーガナイザーやらない?」って声をかけられたんですよ。たぶん、イベントの参加率が高いから、「あいつにやらせとけばなんとかなるだろ」って思われたのかなと。
ROSCon JP 2021で発表中の片岡さん
コモ:僕がみている限りでも、片岡さんはほぼ皆勤賞です(笑)。
片岡:ROS Japan UGにはたくさんお世話になってきていましたし、自分が今の仕事に就けたのもここでの学びやご縁のおかげだと感じているので、「そろそろ恩を返せ」という思し召しなんだろうなと捉えて、すぐにお引き受けしました。ただ、そのときに「オーガナイザーを複数人にしませんか?」と提案させてもらったんですよね。
コモ:それはどういった理由で?
片岡:ひとつは、団体として2,000人を超えた今、主催サイドも多様性を保つために、オーガナイザーを複数人にした方がよいだろうなと思ったからです。もうひとつは、「とてもじゃないけど一人で捌き切れるタスク量じゃない」と感じていたから(笑)。実際にやり始めて、近藤さんの超人っぷりを痛感しています。
コモ:いやあ、近藤さんは本当にすごいお人ですよね。現在、オーガナイザーは何人いるんですか。
片岡:アクティブなメンバーで、10人ほどいます。それぞれ主な役割を分担しつつ、協力しながら運営しています。僕の担当は集金やツールの支払いなどの会計的な事務と、勉強会の企画です。最近ではプレゼン動画をYouTubeにアップしたりなど、複数人で手分けしているからこその活動の広がりも生まれてきていて、この体制を提案してよかったなと感じています。
Unityで人々をロボ沼にハメたい
コモ:さて、片岡さんはUnityユーザーでもあるということで、ぜひそのあたりのお話も聞かせていただけたらなと。Unityを触り始めたのは、いつ頃からですか。
片岡:実は、プログラミングのデビューがUnityなんですよ、僕。
コモ:なんと、そうだったんですね!
片岡:高校生のときに『遊☆戯☆王』のアニメにハマっていた時期があって。主人公がライバルたちとカードゲームでバトルをするシーンで、、カードを手元のマシンにセットすると、目の前にホログラムでめちゃくちゃリアルなモンスターが召喚されるんですよ。バイクに乗りながらバトルするシーンとかもあって、すごくカッコよくて。
それで、「自分でもああいうの作れないかな」って思っていたんですよ。さすがに目の前に誰にでも見える形で……というのは無理そうだけど、VRなら近いものができるんじゃないか、と。大学生になって、いい感じのツールはないかと探していくと、たどり着いたのがUnityとOculusでした。
コモ:なるほど、最初は趣味で使い始めたと。
片岡:そうなんです。Oculus DK2も購入して、Unityに助けられつつ、独学でゲームプログラミングを勉強し始めました。
コモ:先日もUnity道場でお世話になりましたが、今は本業のほうの、自動運転シミュレーションの構築で、Unityをご活用くださっていますよね。一般的にはゲーム開発で使われることの多いUnityを、この領域でも使ってみようと思われたのには、何かきっかけがあったのでしょうか。
片岡:自動運転のシミュレーターの作成に当たって、まず基本的なところで不可欠なのが、物理演算や当たり判定のプログラムです。これらはゼロから作ろうとすると、かなりの数学的な知識が必要な領域なんですよね。僕はそのあたり詳しくない人間なので、まともに実装しようとしたら、とんでもなく時間がかかりそうだなと。
ミドルウェア的な発想で、なんとかその実装の手間をスキップできないかと考えたときに、Unityが使えるんじゃないかとひらめいたんです。物理演算や当たり判定って、まさに多くのゲームの要になっている機能だから。
コモ:まさにそうですね。
片岡:実際に使ってみたら、思いの外うまくハマったんですよね。レイキャストの高速化とか、自分の技術ではカバーしきれない処理をしようとする際でも、Unityではコミュニティ内にさまざまな専門家がいるので頼りやすく、課題解決がしやすい点も助かっています。
コモ:お役に立てていて嬉しいです。今後、Unityでトライしてみたいことなどは、あったりしますか。
片岡:そうですね……Unity愛好家としては、UnityでRVizを打倒したいと思っています(笑)。
コモ:そこまで推していただけるとは(笑)、めちゃくちゃ嬉しいです! RVizはROSのエコシステムの中での一般的な可視化ツールとして、ロボット開発において重宝されてきましたが、最近ではUnityでもその役割を代替可能になりつつあります。
片岡:RVizはCPUを食う割にビジュアライズのツールとしては、もう少し表現力が欲しくなることがあるんですよね。その点、UnityはRVizの代替にしようとすると手間はかかりますが、写実性は段違いに優れている。もっと簡単にRVizの代替として活用できる術を、なんとか見出していきたいですね。
コモ:その術、ぜひ開拓してもらいたいです。
片岡:僕は、あらゆるロボット周りのビジュアライズを、ゲームみたいにカッコよく魅せていきたいなと思っていて。もっと外から見たときのエモさを出していけたら、ロボット沼にハマってくれる人が増えるんじゃないかなと目論んでいます。
コモ:業界を盛り上げるためにも、どんどん楽しい沼に落としていきたいですね。
@hakuturu583さんはフルスタックになって山奥で削りたい
コモ:今後の目標についてのお話も、ぜひお聞きできたらと。10年後、自分がどうなっていたら理想だな、と思われますか。
片岡:10年後は、フルスタックエンジニアになっていたいです。正直、今はまだソフトしか十分に扱えていないので、ちょっと苦手意識があるのですが、これからはハードも修得していきたいですね。プログラミングでもWeb系は全然詳しくないのでキャッチアップしたいし、回路もやりたい。もう足りないこと、やりたいことだらけです。
コモ:いいですねえ。片岡さんの飽くなき探究心、とても素敵だなと感じます。
片岡:現状の自分はコードを書くことがメインになっていますが、エンジニアリングはソフトウェアエンジニアリングとイコールではない。設計図を書いたり、回路を作ったり、旋盤を回したり。目的に合わせて、多様な表現方法を選べるエンジニアになりたいですね。ちょっと致命的に手先が不器用なので、物理的なものづくりはどこまでできるか不安ではありますが(笑)。
コモ:時折、無性に旋盤って回したくなりますね。いつでも好きなだけ回せた学生時代を思うと、なんていい環境にいたんだろうと、今でもふと恋しくなることがあります。
片岡:引退したら、山奥に工場とかつくりたいですね。マシニングセンタを置いて一日中、周りを気にせず思いっきりガーガーやっていたい。
コモ:あーいいですね。「〇〇山に個人でマシニングセンタを持っている伝説の加工職人がいるらしいぞ」とかウワサされたりして。
片岡:そうなれるために、お金を稼ぎます(笑)。
コモ:削るために稼ぐ、最高です(笑)。そう言えば、最近ではミスミのmeviyとかをうまく活用して、金属部品を含んだ家具のDIYをやってる人とかも増えてきましたね。
片岡:そうそう、僕も引っ越ししたりして入用になったら、試しにやってみたいなと思ってました。
コモ:ROSで高さの自動制御のプログラムつけたスタンディングデスクとかどうですか?
片岡:そういう技術の無駄遣い、とても好きです(笑)。遊び心は大事にしていきたいですね。
コモ:何かこう、純粋な遊び心でROS活用して作ってみたいものなどありますか。
片岡:そうですね……あ、最近は全然離れていたんですけど、広いところに引っ越したら、鉄道模型作りとかまたやりたいなと思っていたんですよね。ROSで完璧な制御下においた、20〜30車両が同時に走る鉄道模型コースとか作りたいです。
コモ:それ、めちゃくちゃ面白そうですね。
片岡:ちなみに、TwitterとかQiitaのアカウント名で「hakuturu583」って使っているんですけど、これも好きな鉄道の名前から取ってきているんですよ。
コモ:あ、そうだったんですね! ずっと「ハクツルって何なんだろう?」って思ってたんですが、まさか今日その謎が解けるとは。
片岡:ネットゲームでも大体「hakuturu583」使っているので、見かけたらどうぞよろしくお願いします(笑)。
さ〜て、次回のお友達はー?
コモ:大変名残り惜しいのですが、終わりの時間がやってきてしまいました。最後は恒例の「お友達紹介」です。片岡さん、どなたをご紹介していただけますでしょうか?
片岡:実は、この取材のオファーをいただいたときからずっと考えていたんですね。過去の連載も一通り拝見して、ふと気づいたんです。学生さんがまだ一人も出ていないなって。なので、僕が見知っている中で最も話のネタに困らなさそうなロボット界隈のホープ、筑波大学の安達波平さんにバトンを渡したいと思います。
コモ:学生さんですか! たしかに初登場になりますね。
片岡:彼はもう、本当に掘ったらいくらでも出てきますよ。
コモ:そんな安達さんに何か伝言はありますか?
片岡:いつものコンテンツ力を生かして、とにかく面白い内容を期待しています!
コモ:ご紹介ありがとうございます。どんな話が聞けるのか、今から楽しみです。
本日のゲストは片岡大哉さんでした。どうもありがとうございました!
皆様、次回もお楽しみに 😎
※これまでの「ロボっていいとも!」は、こちらからお読みいただけます!
https://note.com/hashtag/%E3%83%AD%E3%83%9C%E3%81%A3%E3%81%A6%E3%81%84%E3%81%84%E3%81%A8%E3%82%82