ホワイトペーパー

はじめに

へルスケア、農業、製造業など、さまざまな産業分野に適用されるロボティクスと自動化に関するスキルの需要が高まるなか、高等教育を受ける学生およびスキルアップを目指す専門家向けに、ロボティクスと自律システム (RAS) 分野の能力開発を支援する教育ツールへの需要が世界的に高まっています。

ロボティクスは、科学と工学の学際的分野の一つであり、物理学、エレクトロニクス、制御工学、メカトロニクス、プログラミング、電気通信などの知識が必要です。同様に、大学レベルでの授業には、クラスの準備と開発から技術プロジェクトの評価と管理に至る一連の活動においてさまざまな課題があります。

これほどまでに幅広いテーマの教育ニーズに、単一のツールセットで対応することは可能なのでしょうか。

このホワイトペーパーでは、MATLAB® と Simulink® をロボティクスの授業に活用した実践的な例、リソース、およびツールを紹介します。一般的な教育カリキュラム (下図) を最初のコースから最終プロジェクトまで分析し、関連知識の教育を加速させる方法や、一貫した学習プラットフォームがさまざまな教育活動においてどのように活用されているかを紹介します。

ロボティクスの学位取得コースを分野ごとに分類し、年次順に並べ替えた表。

コースが知識領域ごとに分類されている一般的なロボティクスのカリキュラム。

学習目的

  • 授業の準備: 授業を組み立て、コースに合った適切な教材を入手します。
  • 授業の実施: 授業をより魅力的、対話的、かつ実践的なものにします。
  • 自習: 自主学習の動機づけを高めるリソースを学生に提供します。
  • 実験授業: バーチャルとフィジカルの両方の実験授業を設計します。
  • 評価: 従来の評価方法を改善し、時間を節約します。
  • 課題: 学生に理論を実践や現実世界での用途に結び付ける課題を課します。
セクション

授業の準備

どのようなツールを利用できますか。それはどこにありますか。

大学で使用するツール

このホワイトペーパーで紹介するすべての授業用ツールは、MATLAB と Simulink をベースにしています。世界中の多くの大学が、全学で MATLAB、Simulink、および 125 種類以上のツールボックス使用できるライセンスを保有しています。

MATLAB

MATLAB は、数百万人ものエンジニアや科学者がデータの解析やアルゴリズムの開発、モデルの作成に使用しているプログラミングおよび数値計算プラットフォームです。MATLAB には、広範なプログラミング ライブラリに基づく対話形式の技術計算コンテンツを開発し、共有するためのプラットフォームも用意されています。

Simulink

「MATLAB と Simulink を使用したモデルベースデザインは、高度なロボティクスシステムの設計に必要な幅広いソフトウェア領域に対応しています。複雑なメカトロニクス システムとコントローラーのシミュレーション、リアルタイム HIL テスト用のコード生成、信号処理、画像処理、データ解析、可視化が可能です。」​

Berthold Bäuml, director, Autonomous Learning Robot Lab, German Aerospace Centre

Simulink のブロック線図環境を使用して、マルチドメインモデルによるシステム設計、ハードウェア移行前のシミュレーション、コードを記述しない展開を実行します。Simulink を使用したモデルベースデザイン (MBD、モデルベース開発) は、実装して開発時間と最終製品の欠陥を削減できるほか、マルチドメイン システムの開発と教育のための統合プラットフォームも提供します。

Simulink を使用したモデルベースデザインの各フェーズを説明する図。モデルベースデザインのシステム開発ワークフローは、1.研究、2.要件と仕様、3.設計、4.実装、5.テストと検証で構成されています。

Simulink のワークフローを使用したモデルベースデザイン。

ロボティクス アプリケーション向けツールボックス

ツールボックスは、MATLAB 技術計算環境に組み込まれた関数のコレクションです。ロボティクスアプリケーションに特に関連性の高いツールボックスには、以下のようなものがあります。

授業用教材

ロボティクス向けにカスタマイズされたリソースを使用して、クラスルームやその他の形式で授業を行います。

コースウェア

MATLAB と Simulink のプロジェクトベース ラーニング コースウェアは、教授がコンテンツを再利用したり、コースに適用したりすることができるよう公開されています。人気のコースには、以下のようなものがあります。

コースウェアの MATLAB Robotics Playground アプリのスクリーンショット。画面上には、例、授業、ドキュメンテーションなどのボタンがある。

Robotics Playground MATLAB アプリ。

GitHub リポジトリ

MathWorks の GitHub® リポジトリには、MATLAB と Simulink を使用した教員向けのオープンソース ロボティクス プロジェクトやリソースが豊富に取り揃えられています。

セクション

授業の実施

授業をより魅力的、対話的、かつ実践的なものにするにはどうすれば良いでしょう。

やる気を高める

世界中のエンジニアが、MATLAB と Simulink をどのように使用してロボティクスによる技術革新のペースを加速させているかを学生と共有しましょう。

オンライン ソリューション

ロボティクス教育に MATLAB Online™ および Simulink Online™ を使用すると、学生は以下のパスプランニングの例のように、ダウンロードやインストールなしでライブ形式の授業に参加できます。このクラウドベースのリソースにより、常に最新バージョンのソフトウェアを使用できます。

クラウドストレージ

MATLAB Drive™ には、クラウドベースによる MATLAB ファイルの共通の保存場所が用意されています。MATLAB Online と一緒に使用することで、ロボティクスのカリキュラム教材を学生と共有し、授業をより対話的に行うことができます。

MathWorks クラウドリソースと、ユーザーが MATLAB Drive を使用して MATLAB Online、MATLAB Desktop、MATLAB Mobile などの異なるプラットフォーム間で最大 20 GB のファイルを共有および同期する方法について説明した図。MATLAB Drive Connector を使用して同期ファイルをローカルに保存する方法も示す。

MATLAB Drive を使用すると、デスクトップ用 MATLAB、MATLAB Online、および MATLAB Mobile でファイルを同期することができます。

アプリ設計

MATLAB App Designer を使用すると、ソフトウェア開発の専門家でなくても専門的なロボティクスアプリを作成できます。

産業用ロボティクスアプリなどのアプリケーションを作成するのに必要な手順は、以下の 2 つだけです。

  1. ドラッグ アンド ドロップ コンポーネントを使用して、コードを書かずにユーザー インターフェイスを設計します。
  2. アプリの動作を決定するコードを書きます。

産業用ロボティクス ワークスペース アプリの MATLAB App Designer の設計ビュー (左) とコードビュー (右)。

MATLAB アプリギャラリーFile Exchange にアクセスしてロボティクスに関連するその他の例をご覧ください。

対話形式のスクリプト

ライブエディターと呼ばれる単一環境で、MATLAB コードと書式設定されたテキスト、数式、および画像を組み合わせた対話形式のドキュメントを作成できます。また、ライブスクリプトでは、出力が作成元のコードとともに保存、表示されます。

ライブスクリプトは、授業中に対話型のオンライン チュートリアルや演習として活用できます。たとえば、ライブスクリプトを使用して、ロボット オペレーティング システム (ROS および ROS2) を使用したロボットの開発やプログラミングを行うための基礎を教えることができます。

ROS ライブスクリプトを PDF、Word、HTML、LaTeX などのさまざまなファイル形式にエクスポートする方法を示す図。

ライブスクリプトは、PDF、Word、HTML、および LaTeX 形式にエクスポートできます。

ライブ スクリプト ギャラリーFile Exchange のほか、ロボティクスに関連するその他の例もご覧ください。

セクション

自習

学生の自習を支援するにはどうすれば良いでしょうか。また、どのプラットフォームを使用できるでしょうか。

対話形式のオンラインコース

ロボティクスに関連した演習を通して、プログラミングの方法を学びます。MATLAB Academy には、対話型で自己学習形式の柔軟性の高いオンラインコースが用意されており、ステップバイステップの解説と自動化されたフィードバックを備えた実践的な演習を提供しています。

入門

入門コースは、対話型で自己学習形式の無料のオンラインコースです。画像処理、ディープラーニングなど、ロボティクス関連の入門コースがあります。

その他のコース

以下の充実したコースで、さまざまな分野を掘り下げて学習できます。

ロボティクスの演習 (左) とロボティクスのプロジェクト (右) を表示した MATLAB Academy のインターフェイス。

ビデオ

MATLAB、Simulink、その他ロボティクスに関連する製品やサービスに関する、以下のビデオおよび Web セミナーがあります。

Book Program

MathWorks Book Program では、MATLAB と Simulink に関する書籍を執筆している世界中の著者や出版社をサポートしています。このライブラリには、ロボティクスと自律システムに関連する 30 冊以上の書籍があります。

MathWorks Book Program に含まれるロボティクス関連の書籍。

MATLAB および Simulink 製品ファミリを使用してロボティクスに関する書籍を執筆中か、または執筆するご予定はありますか。MathWorks Book Program の会員になる資格 をお持ちかもしれません。

セクション

実験授業

学生の参加とアクティブラーニングを可能にするには、実験授業をどのように利用または設計すれば良いでしょうか。

バーチャルな実験授業

MATLAB と Simulink を使用して、モデル化とシミュレーションを組み込んだ対話形式のバーチャルな実験授業を構築できます。

MATLAB: プログラミング実験授業

MATLAB は、学生がロボティクスのアイデアや概念を現実的な環境でシームレスに動作する自律システムモデルに変換するのに役立ちます。

適用例:

Simulink: 設計とシミュレーション

Simulink ではモデル化とシミュレーションを行えます。専用のサードパーティ モデリングツールを含む、以下の再利用可能なコンポーネントやライブラリを使用して、大規模なロボティクス システム モデルをシミュレーションできます。

Simulink 3D Animation、Gazebo、および Quanser のバーチャルな実験授業を使用した Simulink シミュレーション

Simscape: 物理システムモデリング

Simscape™ を使用すると、Simulink 環境でロボティクスシステムのモデルをすばやく作成できます。Simscape により、連立方程式を数値的に解くためのコードを書く必要がなくなります。カスタムブロックを作成し、それらをグラフィカルに接続して、ソルバーで求解させるだけです。

(左) Simscape モデルと (右) 配達用クワッドコプターのシミュレーション。

適用例:

Stateflow: ステートマシンおよびフローチャート

Stateflow® は、状態遷移図、フローチャート、状態遷移表、および真理値表を含むグラフィカル言語を提供します。Stateflow を使用すると、MATLAB アルゴリズムや Simulink モデルが入力信号、イベント、および時間ベースの条件にどのように反応するかを説明できます。

ピックアンドプレース ワークフローの Stateflow モデルとシミュレーション。

フィジカルな実験授業

システムの設計とシミュレーションは、新しいコンセプトを試し、その機能を可視化するために重要です。ハードウェアへの移行は、学生が実際のシステムで経験を積むのに役立ちます。

エンジニアや科学者は、MATLAB と Simulink を物理ハードウェアに接続し、ハードウェア コンポーネントとソフトウェア アルゴリズムを組み合わせたシステムの設計、テスト、および検証を行います。

MATLAB Mobile: モバイルデバイスとセンサー

学生は、加速度計、速度計、磁力計、方位トラッカー、GPS、カメラなど、ロボティクスや自律システム アプリケーションで環境認識によく使用されるセンサーを備えた小さな実験室をポケットに入れています。

スマートフォンやタブレットなどのモバイルデバイスを使用することで、学生は次のようなことができます。

  • デバイスセンサーからデータを取得し、MATLAB でデータを解析する。
  • 写真や動画を撮影し、さらなる処理や解析を行う。

MATLAB Mobile™ は、MathWorks Cloud 上で実行している MATLAB セッションに接続することで、モバイルデバイスからロボティクスおよび自律システム関連のトピックを学んだり、教えたりすることができるツールです。

 センサー設定、例、ライブスクリプト、および MATLAB Drive を示す MATLAB Mobile の 4 つのスクリーンショット。

MATLAB Mobile では、センサーを使用したり、例にアクセスできるほか、ライブスクリプトを実行して MATLAB Drive で共有できます。

実践的な例 (AI を使用したコンピューター ビジョン):

このスクリプトを MATLAB Mobile で実行し、Deep Learning Toolbox™ を使用してモバイルデバイスで写真を撮影し、分類してみましょう。

 >> m=mobiledev; %acquire data from the mobile device sensors

 >> c=camera(m); %connect to the camera

 >> c.Autofocus='on’; %activate autofocus

 >> im=snapshot(c,'manual’); %take a photo

 >> imshow(im) %review your photo

 >> net=alexnet; %use AlexNet pretrained neural network

 >> layer=net.Layers; 

 >> outlayer=layer(end); %last AlexNet layer is where the categories name are

 >> categorias=outlayer.ClassNames; 

 >> img=imresize(im,[227,227]); %resize your image to meet AlexNet requirements

 >> [pred,scores]=classify(net,img); %classify your photo

 >> highscores=scores>0.04; %define the highscores

 >> bar(scores(highscores)) %plot the results

 >> set(gca,'xtick',1:7); 

 >> xticklabels(categorias(highscores)) %add categories name to the plot

続きの例: PC を開き、ディープ ネットワーク デザイナー アプリと 深層学習ネットワーク アナライザー アプリを検索し、事前学習済みのこのネットワークをニーズに合わせて調整します

ハードウェアサポート

満足のいくモデルが作成できたら、アルゴリズムから C、HDL、または PLC コードを自動生成し、マニピュレーター、ドローン、モバイルロボットのほか、MATLAB と Simulink でサポートされるあらゆるロボットハードウェアで実行できます。

自動コード生成を使用して、MATLAB、Simulink、および Stateflow モデルから C、HDL、PLC、または GPU コードを自動生成する方法を説明する図。

ハードウェアサポートのための自動コード生成。

低価格ハードウェア

MATLAB と Simulink を使用した実践的な学習と、低価格ハードウェアの使用により、学生は貴重な専門知識を身に付けながら、学習意欲が高まるプロジェクトに参加できます。

リアルタイム アプリケーション

専門ハードウェアを使用して、ロボットおよびマニピュレーター、自律システム、電気モーターなどの制御設計やダイナミクスのシミュレーションやテストを行うこともできます。

リアルタイム ターゲット コンピューターである Speedgoat® マシンは、Simulink および Simulink Real-Time™ と連携し、リアルタイム アプリケーションの作成、制御、および計測を行うよう特別に設計されています。

セクション

評価

従来の評価方法を改善し、簡素化するにはどうすれば良いですか。

自動評価

MATLAB Grader™ を使用すると、あらゆる学習環境や Web ブラウザーで評価をスケーリングし、MATLAB コーディングの課題を自動的に採点することができます。

宿題の提出

問題の説明には、リッチテキスト、画像、ハイパーリンク、および LaTeX 記述の数式を使用できます。合格/不合格、加重評価のオプションを選択できます。

制御工学に関する同じ実験授業の演習内容を示す 2 つの画像。最初の画像は PDF を、2 枚目の画像は MATLAB Grader を使用した自己評価型の演習を示している。

制御工学に関する PDF 形式の宿題と MATLAB Grader の宿題。

即時フィードバック

MATLAB Grader を使用すると、学生にとって分かりにくい箇所を詳細に把握できます。

  • サイズ、提出順、および解答との点差を表示する回答マップにアクセス可能。
  • 学生が正解にたどり着くまでの試行錯誤の履歴を網羅的に表示。
  • 学生の成績を教員と権限を与えられたティーチング アシスタントが参照可能。
  • 学生の解答に対して、内容に応じたフィードバックをリアルタイムで表示。

MATLAB Grader のフィードバックグラフ。

「コードのかなり複雑な部分についてのフィードバック (確認) をすぐに受け取ることができるのは非常にすばらしいことです。これがなければ、自分で作成したコードのデバッグが本当に大変になってしまいます。また、すべての MATLAB 課題で 100 % のスコアを取ろうというやる気にさせてくれます。」

Juoost P., Virginia Tech student

LMS との連携

MATLAB Grader では、自動評価の結果を学習プラットフォームに直接送信し、コース管理のために毎日使用しているツールにレポートを表示できます。

Moodle との連携による MATLAB Grader の評価のスクリーンショット。

Moodle LMS との連携による MATLAB Grader のスコア。

問題集

MATLAB Grader 問題集 (電気回路やダイナミクスなど) は、認証を受けた教員のみが利用できます。教員は、カスタマーサポートにアクセス権をリクエストできます。

セクション

課題

学生にどのような課題を課すことができるでしょうか。関連する最終プロジェクトのトピックはどこにあるでしょうか。

学生向けコンテスト

MathWorks は、ロボティクス、自動車、および AI に関連するコンテストをサポートしています。

(左) European Rover Challenge、(中央) MathWorks Minidrone Competition、(右) 学生フォーミュラ コンテストのデモ。

研究プロジェクト

RAS 研究プロジェクトの新しいアイデアを見つけ、研究内容を提出して、MathWorks のの公式認定を受けましょう。

セクション

まとめ

授業の準備 授業の実施 自習
MATLAB および Simulink
ツールボックス
コースウェア
MATLAB Online および Simulink Online
MATLAB Drive
MATLAB App Designer
MATLAB ライブ エディター
対話形式のコース
その他のリソース
実験授業 評価 課題
Simscape
Stateflow
MATLAB Mobile
ハードウェアサポート
MATLAB Grader コンテスト
技術革新プロジェクト