DJIがドローンのロボット技術で開発した教育用ロボットDJI「RoboMaster S1」

写真拡大 (全13枚)

DJI JAPANは、“戦車風”の外観をもつ教育用ロボット「RoboMaster S1」を発売した。
DJIと言えばドローン分野、個人向けから業務用の製品を開発、販売で業界をリードするメーカーだ。

そのDJIがプログラミング可能なロボットRoboMaster S1を64,800円(税抜)で発売したわけだが、
誰もが、
「なぜDJIがロボットを?」
そう思うだろう。

今回はそのRoboMaster S1とドローンの技術的共通点、そして実際にRoboMaster S1を体験してきたので、その凄さと面白さについて紹介したいと思う。


RoboMaster S1の外観は、キャタピラこそないが4輪で駆動する未来的な戦車の形をしている。車体部分には、CPUやバッテリーなどのコンピューター部分とモーターなどの駆動系がある。




移動は、細かいローラーを斜めに組み合わせて、タイヤのような形状にした「メカナムホイール」を回転させる。基本的に、タイヤと同じように前後の回転で前進・後退を行う。左右へ曲がる場合は、前輪・後輪の回転を独自に制御することで、自動車や戦車のような左右への旋回だけではなく、横方向への平行移動も可能としている。




上部の砲台の部分には、カメラと安全な「ゲル弾」の発射口がある。ゲル弾は、無害で安全なゼリー状の柔らかいもので、目標に当たるとはじけ飛ぶ。

そもそも人や動物を撃つことは推奨されていないが、万が一、人に当たってもケガをすることはなさそうである。一方で、ゲル弾は命中すると粉々にはじけ飛ぶので、付属の「安全ゴーグル」を付けて目を保護する必要がある。




この透明なゲル弾を発射のタイミングに合わせて緑色のLEDが光るので、緑色の綺麗な弾を撃ったようにみえる。こうした演出も遊び心をくすぐる要素である。もちろん、連射で目標にヒットしてはじけ飛ぶゲル弾が気持ち良く、それはゲームではなくリアルならではの爽快感がある。





RoboMaster S1の操作は、Wi-Fiでスマートフォンやタブレットと接続して行う。スマートフォンやタブレットの画面には、RoboMaster S1内蔵カメラの映像が表示され、それを観ながらラジコンのように操作する。
内蔵カメラ越しの映像での操作は、一人称型のゲーム操作画面のイメージに近い。

DJI JAPAN主催の発表会では、RoboMaster S1を使ったレースゲームや対戦シューティングゲームを体験することができた。




レースゲームは、
コースを周回するなかで、ほかのプレイヤーとの衝突など、テレビゲームでは味わうことができない実車の挙動や変化、リアルな衝突音などが体感できた。その半分ゲームそして半分リアルの世界には緊張感があり、そこに大人も熱中する要素があった。




シューティングゲームは、
今流行の“バトロワ”系のように、ほかのプレイヤーを倒して得点を競うと言うもの。攻撃は、ゲル弾ではなく赤外線を使ったビーム攻撃で行う。本体数回所にセットされた赤外線受光部にビームがヒットするとダメージとなり、ヒットポイントが0になると、一定時間攻撃ができなくなる。なお、この状態は一定時間無敵なので、一旦安全な場所に退避して、ゲームを仕切り直すことができるよう作られている。

このシューティングゲームが、バトロワ系のゲームと操作性がほぼ同じなので、慣れている人ならすぐに楽しめると思う。そしてRoboMaster S1のメカナムホイールが、前進後退だけではなく横に平行移動できるため、物陰に隠れながら平行移動で攻撃し、元の位置に戻るといった戦術が使えるのも面白い。

もちろん、移動の向きとは別に砲台の向きを変えられるので、逃げながら相手を狙い続けるというテクニックも使える。チーム戦などが可能であれば、熟練したプレイヤー同士による様々な戦術が展開できるため、ゲームプレイの奥深さ、可能性を感じた。

RoboMaster S1のレースゲームおよび対戦シューティングゲーム、ゲル弾の発射のようすを動画で紹介する。





これらのゲームは、RoboMaster S1の機能ではなく、スマートフォンやタブレット用のアプリとしてルール作りが成されている。
つまり、アプリによるRoboMaster S1の制御と、アプリ側での周回判定や攻撃判定の集計によってゲームのルール策定や変更ができる。
この柔軟な開発環境により将来的に様々な遊び方を広げることができそうだ。




RoboMaster S1の制御はプログラミング言語「Scratch 3.0」、「Python(パイソン)」に対応しており、誰でも可能だ。

Scratch 3.0は、
世界中の小中学校で使用されている標準的なビジュアルプログラミング言語だ。
パソコンだけではなくタブレット端末でも利用可能となったことで、さらに扱い易いものとなっている。

Scratchの特徴は、
プログラミング言語独特のテキストで構文を書いていくのではなく、パーツをドラッグ&ドロップして、動きのバリエーションをストーリー仕立てで組み上げていく。

こうすることで、どうすれば思ったように動くのか、動きのバリエーションを増やすためにはどうすれば良いのかを学ぶことができる。
プログラミングは言語を覚えることが必要であるため、プログラミング言語の習得だけに注力されがちだが、Scratchならプログラミングの考え方から学べるのが特徴なのである。

Pythonは、
ルールを明確にすることで読みやすいプログラムが書けることを思想とするプログラミング言語。
効率よく簡単にプログラミングでき、さらに効率よくデバッグすることができると言う特徴がある。最近ではAI(人工知能)やIoT等の開発にも用いられるようになった注目のプログラミング言語である。




こうしたプログラミング言語を用いて、RoboMaster S1を動かす基本がPID制御(Proportional Integral Differential)と呼ばれる制御工学だ。PID制御をざっくりと説明すると、移動や回転と言う行動を目標とした際に、その機械を制御するための目標値との偏差を比例・積分・微分で設定していくという複雑なものではあるが、本格的なフィードバック制御を学ぶことができる。




例えば、線の上を走る自動運転をプログラミングする場合、
速度を出しすぎると急なカーブを曲がれないということが起きる。
そこで変数を調整して最適な制御を目指す。
また、RoboMaster S1は、マーカーを認識してそれに対して動作を指定することができる。
あるマーカーを認識したら止まると言ったプログラミングなら、
移動するRoboMaster S1が目標地点で静止するまでの制動距離を見て、そのフィードバックを変数に与えて目標の制御を行えばよい。




このようにPID制御は、自由自在に動けるゲームの世界ではなく、
実際にRoboMaster S1の重さやモーターの加速、摩擦や遠心力など、現実で起こる複雑なこと、そして様々な現象を考慮した上で機械の制御することで、PID制御を学ぶことができるのである。




こうした制御技術は、DJIが得意とするものなのである。と言うのも、ドローンの安定性をたもつために、カメラやセンサーを駆使して地面との距離と自分の位置を認識し、風に煽られても空中で静止するよう、前後左右だけではなく上下方向にも立体的な動きで制御してドローンを空中に静止させている。
最新の機種では、周囲の障害物を認識し、それを避ける制御まで自動で行っている。
これは、ユーザーがコントロールしている操作にプラスαで障害物検知を行うというもので、実に複雑な制御を行っているのである。
現在のドローンは、障害物や被写体の空間認識、カメラを用いた画像認識、それをもとに空中で機体を制御ということを瞬時に行っているのだ。

つまり最新のドローンは、すでに人工知能を持つロボットへと進化しているのである。




RoboMaster S1は、ドローンで有名なDJIが突然作ったロボットなのではない。
DJIはドローン開発を経て、最先端のロボット技術を用いた教育分野で使えるロボットを作った、といってもいいだろう。
こうしたDJIの開発背景を理解すれば、RoboMaster S1がいかに本格的なものなのかと言うことがわかって頂けると思う。


執筆  mi2_303