パロアルトインサイト/ PALO ALTO INSIGHT, LLC.

ブログBLOG

パロアルトインサイト/PALO ALTO INSIGHT, LLC. > ブログ > Udacityロボティクスコース受講

Udacityロボティクスコース受講

2019/05/07 ブログ 
by 辻 智範 

こんにちは。パロアルトインサイト、データサイエンティストの辻です。今回はMOCCの代表的なオンライン講座Udacityのロボティクスコースのレビューを書きたいと思います。MOCCとはMassive Open Online Courseの略で、場所、時間に関係なく受講が可能なので仕事をしながら新しいことを学ぶのには非常に便利です。アメリカでは多くの有名大学もMOCCでの講義を公開しており、すでに多くの受講者がオンライン上でクラスを取りスキルアップをしています。
今回私が受講した「Robotics Software Engineer Nanodegree」とはその名の通りロボティクス関係のソフト開発者を目指す人を主に対象としたコースです。受講理由は普段仕事で扱っているデーターサイエンスや機械学習の技術をロボティクスのエリアに応用することで仕事の幅を広げられると考えたらかです。このコースは2部構成となっておりその第1部についての感想を書きたいと思います。
第1部ではロボティクスの基本的な要素をカバーしている内容となっていて、ロボット用ソフトウェアプラットフォームのROS(Robot Operating System)の基礎をカバーしその後にKinematics, Perception, Control, Deep learningを学ぶ運びになっています。その各分野の説明と行ったプロジェクトの紹介を行います。

1. サーチ&サンプルリターン

ROSとロボティクスの基本的要素を学ぶためのプロジェクトで、the Nasa Sample Return Challengeを元に作成されました。このプロジェクトでは地表探索型ロボットを制御して、探索をしながら隕石を採取するプログラムの一部を実装します。ゴールは以下の2つの条件をクリアすることです。

– 全エリアの40%以上のマップを、60%以上の精度で探索する
– 最低1の隕石を見つけてマップに表示させる

これらのゴールを達成するために、ロボットのカメラらから得られる画像に処理を行い、地表、隕石、それ以外の物体を仕分け、物体を検知します。その後画像の較正技術、幾何学変換などを行い取得した画像をマップ座標に落とし込むプログラムを書きます。

図表1:カメラ画像の校正とシミュレーション画面


このプロジェクトではROSの操作とデータの取得、変換、それを元にアクションを起こすという一連の流れを掴むことができ、非常にわかりやすくステップが説明されていて、初心者にもわかりやすいデザインになっていました。

2. Robotic Arm: Pick & Place

Kinematicsとは運動学を意味する言葉で、ロボットの手足などの役割をする部分の設計に関する分野を表します。このプロジェクトではGazebo, RViz, Moveit!などのソフトを使用してロボットの腕の動きを学び、棚に置かれた缶をロボットの腕で掴んでゴミ箱まで運ぶ制御プログラムを書きます。このプロジェクトのゴールは10回のトライアル中8回以上缶をゴミ箱に入れることに成功することです。

図表2:ロボット運動学のデザイン


ロボットの掴みの位置情報は各関節の長さ、関節同士の角度で決まります。ロボットの腕を制御するためには、どの操作をすればロボットの掴みの位置がどこにあるのかを計算したり、逆にロボットの掴みが特定の位置にある場合、各関節の位置を逆計算してプランニングしたりする必要があります。このプロジェクトは数学的要素が非常に多く、数学が好きな私には非常に興味深く受講できました。

3. Object Recognition

Object Recognitionとは物体検知のことでセンサーから取得したデータ(画像、音波など)を使って物体の形をロボットに認識させる機能のことを指します。このプロジェクトでは3Dクラウドポイントの技術と機械学習の技術を使い、カメラに映る物体を認検検知させる機能を実装しました。

図表3:物体検知結果と混合マトリックス


このプロジェクトは機械学習プロセスがコアな部分になっていて技術的には既に知っている内容なため、私には比較的簡単な内容だったのですが機械学習の技術がどのようにしてロボティクスに使用されているのかを学ぶには非常に良い機会でした。

4. Fully Convolutional Networks

Fully Convolutional Networksはディープラーニングのモデルの1つでカメラ画像を目的に合わせたカテゴリーに分類することができるモデルです。例えば自動運転における歩行者を見分け、走行可能な部分を抽出するような技術として使用されています。このプロジェクトでは自動車の代わりにドローンを使い、ターゲットの人物を追いかけるモデルを作ることがゴールです。学習用のドローン撮影画像をソフトで作成し、それを使ってターゲットとなる人物をたくさんの人の中から見つけ出し、自動で後をつけられるプログラムに実装します。ニューラルネットワークにより、自動で色付けがされている様子が以下の図です。

図表4:ディープラーニングで認識された人



*青:ターゲット 黄色:その他 赤:バックグランド

以上がUdacityロボティックスの前半コースのレビューです。全体的な感想は概念的なことよりもよりも実践に重きを置いたコースで、すぐに自分でロボットをデザインしてみたい人や、ロボティクスに興味があってビジネスの場で使用されているソフトを使いながら学びたい人には良いコースだと思いました。改善点を挙げるとすればプロジェクトではカバーされたなかったPID制御などの概念などはもう少し詳しく紹介してプロジェクト化されていても良かったのではないかと思います。その辺りはもう少し自習してみたいと思います。
PID = Propotional=integral-Differential Controllerの略

BACK TO BLOG

NEWSLETTERニュースレター

ブログ記事を最後まで読んでいただき、
ありがとうございます。
弊社ニュースレターにご登録いただくと、
このブログの最新記事や、
シリコンバレーの最新AI事情、
お得なキャンペーン情報について
お知らせいたします。
また、アップルやアマゾンなどで
経営陣が実施しているデータ会議の
回し方が分かる早見表を
無料でダウンロードできる
リンクもお送りします。

PAGE TOP