MATLAB コードからのコード生成
Navigation Toolbox™ を MATLAB® Coder™ と共に使用して次のことが可能です。
MATLAB アプリケーションを高速化するために MEX ファイルを作成する。
MATLAB の関数やモデルを実装する ANSI®/ISO® 準拠 C/C++ ソース コードを生成する。
使用しているコンピューターまたは別のプラットフォームで MATLAB とは独立して実行されるスタンドアロンの実行可能ファイルを生成する。
一般に、ツールボックスを使用して生成するコードは移植可能な ANSI C コードになります。コード生成を使用するには、MATLAB Coder ライセンスが必要です。詳細については、MATLAB Coder 入門 (MATLAB Coder)を参照してください。
MATLAB Coder の使用
複数の Navigation Toolbox 関数で C/C++ コードを生成できます。ロボティクスの関数からコードを生成するには、次の手順に従います。
コード生成に対応した Navigation Toolbox 関数を使用する関数またはアプリケーションを作成します。コード生成について、これらの関数の一部には、従う必要がある要件があります。
%#codegen命令を MATLAB コードに追加します。MATLAB Coder アプリまたはコマンド ライン インターフェイスを使用して、MATLAB コードからのコード生成のワークフローに従います。
MATLAB Coder アプリの使用
基本的なワークフローは次のとおりです。
MATLAB Coder (MATLAB Coder) アプリでプロジェクトを設定します。最上位の関数を指定し、入力型を定義します。
アプリにより、コードがコード生成に対応しているか検査されます。コード生成でサポートされていない関数などの問題がレポートされます。
関数の MEX バージョンを生成して実行し、実行時の問題がないかをチェックします。この手順では、生成された C/C++ コードでは検出が困難になる可能性がある問題が検出されます。
アプリケーションのコード生成の設定を構成します。
C/C++ コードを生成します。
生成された C/C++ コードを検証します。Embedded Coder® ライセンスをお持ちの場合は、ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) の実行を利用できます。
チュートリアルについては、Generate Code for Path Planning Using RRT Star Plannerを参照してください。
コマンド ラインでの MATLAB Coder の使用
基本的なワークフローは次のとおりです。
問題を検出し、生成されたコードの動作を検証するには、関数の MEX バージョンを生成します。
coder.configを使用して、ライブラリまたは実行可能ファイルのコード構成オブジェクトを作成します。アプリケーションの要件に応じてコード構成オブジェクトのプロパティを変更します。
codegen(MATLAB Coder) コマンドを使用してコードを生成します。生成された C/C++ コードを検証します。Embedded Coder ライセンスをお持ちの場合は、ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) の実行を利用できます。
チュートリアルについては、ハイブリッド A* を使用したパス プランニング用のコードの生成を参照してください。
C/C++ コンパイラの設定
codegen (MATLAB Coder) を使用してコードをコンパイルする前に、C/C++ コンパイラを設定する必要があります。32 ビット Windows プラットフォームについては、MathWorks® が提供する既定のコンパイラが MATLAB に付属しています。インストールに既定のコンパイラが含まれていない場合は、独自のコンパイラを指定できます。現在サポートされているコンパイラの一覧については、MathWorks の Web サイトで Supported and Compatible Compilers を参照してください。プラットフォームに適したコンパイラをインストールし、C または C++ コンパイラの設定 (MATLAB Coder)を参照してください。インストール後、MATLAB コマンド プロンプトで mex -setup を実行します。その後、codegen (MATLAB Coder) 関数を使用してコードをコンパイルできます。
コード生成をサポートする関数と System object
C/C++ コード生成をサポートする機能のアルファベット順の一覧については、C++ コード生成をサポートする関数を参照してください。任意のリファレンス ページの [Extended Capabilities] セクションを表示することもできます。
参考
アプリ
- MATLAB Coder (MATLAB Coder)