タイトル 無 人 車 両 のモデルベース 開 発 プロセスの 紹 介 (Simulink+CANoeによる 車 両 シミュレータの 活 用 ) ヤマハ 発 動 機 株 式 会 社 技 術 本 部 イノベーション 研 究 部 知 的 システムグループ ASプロジェクト 藤 井 北 斗
目 次 プロジェクト 概 要 AUGVシステムの 説 明 車 両 シミュレータの 説 明 車 両 シミュレータとは? MBD 開 発 環 境 ユーザIF ロギング 機 能 まとめ
プロジェクト 概 要 自 律 ビークル(UV:Unmanned Vehicle)の 研 究 開 発 ヤマハ 発 動 機 イノベーション 研 究 部 知 的 システムグループ ASプロジェクト 警 備 用 UGV 農 業 UGV 牽 引 測 量 UGV 測 量 UMV 事 前 に 設 定 された コース に 沿 って 自 動 で 走 行 する 機 能 などを 備 えている *UMV(Unmanned Marine Vehicle) *UGV(Unmanned Ground Vehicle)
現 在 の 開 発 車 両 新 型 車 両 AUGV(Advanced UGV)の 研 究 開 発 設 定 されたゴール 座 標 を 自 律 で 目 指 す 車 両 走 路 検 出 障 害 物 認 識 :LRF(レーザレンジセンサ) 車 両 位 置 制 御 :GPS-IMU CANoe を 搭 載 した 車 両 制 御 システム CANoe
AUGVシステムの 説 明 AUGVシステムの 説 明
AUGVの 機 能 と 開 発 ツール AUGVの 開 発 では モデルベース 開 発 ( MBD )が 重 要 技 術 センシング& プランニング 層 機 能 のレイヤ センシング 機 能 LRFからマップを 生 成 パスプランニング 機 能 マップから 経 路 を 生 成 車 両 制 御 速 度 操 舵 制 御 開 発 ツール Matlab+ 独 自 ドライバ 群 Windows PC Simulink ラピッドプロトシステム アクチュエータ 制 御 モーター 制 御 (ステアリング ブレーキなど) C 言 語 +Simulink+RTW 組 み 込 みECU 車 両 本 体 HW 抽 象 化 層
シミュレータによるプロトタイピング AUGVの 開 発 では シミュレータ 上 でプロトタイピングを 行 っている 目 的 : 車 両 とプログラムの 並 行 開 発 実 機 テストの 省 力 化 テスト 結 果 の 可 視 化 センシング&プランニング 層 HW 抽 象 化 層 環 境 シミュレータ (ゲームエンジンを 活 用 した 自 前 開 発 ) 機 能 : 仮 想 テスト 環 境 での 車 両 のシミュレーション 用 途 :センシング 経 路 計 画 の 机 上 検 証 車 両 シミュレータ (CANoeを 活 用 したシミュレーション 環 境 ) 機 能 :ECUレベルでの 車 両 システムのシミュレーション 用 途 : 各 ECUのプロトタイピング 結 合 テスト
車 両 シミュレータの 説 明 車 両 シミュレータの 説 明 車 両 シミュレータとは? MBD 開 発 環 境 ユーザIF ロギング 機 能
車 両 シミュレータとは? 1 車 両 プラントモデル 2 制 御 モデル とからなる MBD 開 発 環 境 と 3ユーザIF と 4ロギング 機 能 とを CANoe によって 統 合 した 机 上 開 発 環 境 1 車 両 プラント モデル 実 車 両 Simulink CANoe (Matlab IF) ラピッドプロト システム ( 実 ECU) 車 両 シミュレータ 2 制 御 モデル Simulink CANoe (Matlab IF) 3ユーザIF Windowsアプリ CANoe (Window デザイナ) (CAPL) *CANoeの 得 意 領 域 4ロギング 機 能 CANoe 実 CANバス CAN ネットワーク CANoe( 仮 想 CANバス)
車 両 シミュレータ に 期 待 したこと 実 車 両 が 存 在 しない 開 発 初 期 での システムのプロトタイピング MBD 開 発 は 必 須 (プラントモデル + 制 御 器 ) Simulink ツール 名 机 上 で 開 発 したソフトウェアの 移 植 に 必 要 な 作 業 の 削 減 制 御 モデルからの 自 動 コード 生 成 (ACG) 機 能 の 活 用 ユーザIFの 実 車 両 への 移 植 容 易 性 Simulink RTW (Simulink 用 ACG ツール ボックス) 自 律 機 能 に 直 接 関 係 のない 機 能 の 効 率 的 な 開 発 CANoe ユーザIF 開 発 ロギング 機 能 自 律 機 能 以 外 にも 開 発 必 須 の 機 能 がある 自 律 機 能 の 開 発 に 集 中 したい 仕 様 変 更 が 頻 繁 グラフ 表 示 フィルタリング 機 能 など 欲 しい 情 報 にすぐアクセスしたい SimulinkとCANoeとを 組 み 合 わせた 開 発 環 境 が 適 していると 考 えた CANoeには Matlab Interface というSimulinkとの 接 続 の 仕 組 みがある
車 両 シミュレータ( 画 面 キャプチャ) 1 車 両 モデル 4CANネットワーク (ロギング 情 報 ) 3ユーザIF 2 制 御 モデル 各 モデルの 接 続 状 態
MBD 開 発 環 境 MBD 開 発 環 境
1 車 両 プラントモデル Simulink で 車 両 プラントモデルを 開 発 シミュレーション 結 果 を CANoe Matlab Interface でCANバスに 出 力 車 両 の 運 動 モデルはSimulinkで 記 述 (AUGV 専 用 自 作 車 両 モデル) 車 両 状 態 を ワイヤーフレームモデルで 可 視 化 1 車 両 モデル CANoe MatlabIF GPS-IMUなどのECUに シミュレーション 結 果 を 割 り 当 てた
2 制 御 モデル Simulink で 制 御 モデルを 開 発 CANoe Matlab Interface でCANバスの 値 を 取 得 CANoe Matlab Interface で 指 令 値 をCANバスに 出 力 車 両 位 置 制 御 器 車 両 制 御 器 ( 速 度 制 御 と 旋 回 半 径 制 御 ) 主 機 ECU ステアリングECU ブレーキECU など ECU 単 位 での 細 かいモデリング 2 制 御 モデル CANoe MatlabIF 対 応 するECUに 指 令 値 を 割 り 当 てた
1プラントモデル+2 制 御 モデル 1 車 両 プラントモデル 2 制 御 モデル とをCANoeを 介 して 相 互 に 接 続 した 2 制 御 モデル << 指 令 値 :CANoe>> 1 車 両 モデル <<フィードバック:CANoe>> 置 き 換 え 可 能 実 車 両
2 制 御 器 モデル( 実 ECUへの 移 植 ) ラピッドプロトシステムに 移 植 車 両 シミュレータで 作 成 した 車 両 速 度 旋 回 半 径 制 御 モデルを ラピッドプロトシステムに 移 植 した (dspace 社 : Micro Auto Box + Target Linkを 使 用 ) 組 み 込 みECUに 移 植 車 両 シミュレータで 作 成 したステアリング ブレーキ 制 御 制 御 モデルを 自 社 製 組 み 込 みECUに 移 植 (SimulinkのReal Time Workshop Embedded Coderで C 言 語 に 変 換 ) SimulinkのACG( 自 動 コード 生 成 )を 活 用 することで 車 両 シミュレータでのモデリング 作 業 =コーディング 作 業 になった 外 部 プログラマを 活 用 する 際 に 必 要 な 労 力 時 間 コストが 削 減 できた
ユーザIF ユーザIF
3ユーザIF(Window Editor) ユーザがAUGVを 直 接 操 縦 するための ユーザIFを CANoe によって 実 装 した GPSの 出 力 情 報 (ラベル) AUGV 設 定 情 報 の 入 力 欄 (テキストボックス) 3ユーザIF 車 両 速 度 情 報 (メーター) ゲームパッド 車 両 情 報 USB 無 線 LAN アクセル 指 令 ステア 指 令
Window Editor による 実 装 GPS-IMU 表 示 機 能 CANoe Window Editor で 大 半 のユーザIFができた スピードメータ 機 能
CANoe COMポートに 外 部 アプリからアクセス CANoe で 利 用 できない? 機 能 は 外 部 アプリで 開 発 COMポート 接 続 機 能 で CANoe と 外 部 アプリを 接 続 CANoe(CAPL)で 実 現 できない? 機 能 USBゲームパッド マルチスレッド 処 理 スレッドのCPUコア 割 り 当 て 外 部 アプリで 解 決 C#+Direct Input(DirectX)でゲームパッドの 入 力 アプリケーションを 作 成 C#から COMポート 接 続 機 能 を 使 ってCANoeに 接 続 リアルタイム 性 が 重 要 なため マルチスレッド 処 理 で 負 荷 分 散 (.NETの 機 能 ) 明 示 的 にCPUコアをCANoeが 使 っているものと 分 けてある(.NETの 機 能 )
ロギング 機 能 ロギング 機 能
4ロギング 機 能 CANoe がベースなので ロギング 機 能 が 充 実 自 作 することなくで デバッグや 実 験 に 必 要 なロギング 機 能 が 実 装 できた 車 両 の 状 態 をいつでも 可 視 化 でき 記 録 できて 非 常 に 便 利 計 測 ブロック バス 負 荷 グラフウィンドウ * 実 車 のない 机 上 検 証 の 際 も バス 負 荷 などを 推 測 でき プロトタイピングに 有 効 * 実 車 にCANoeが 搭 載 されているので いつでも 車 両 の 状 態 を 見 ることができる
UVシステムの 説 明 まとめ
まとめ 効 果 実 車 両 が 存 在 しない 開 発 初 期 での システムのプロトタイピング 車 両 シミュレータを 活 用 したMBDによって 以 下 の 流 れでシステムのプロト タイピングが 出 来 た 十 分 な 机 上 でのプロトタイピングにより 実 機 への 移 行 がスムーズに 行 えた 机 上 で 開 発 したソフトウェアの 移 植 に 必 要 な 作 業 の 削 減 1 車 両 プラントのモデリング モデルからの 自 動 コード 生 成 機 能 を 活 用 することで コーディング 作 業 減 Simulink 2システム 構 造 のモデリング CANoe Simulink 3 車 両 振 る 舞 いのモデリング CANoe 6ユーザIFの 設 計 4HW 制 御 用 ECUの 設 計 実 装 5CANoe 上 での 統 合 Simulink(RTW) 8 適 合 ( 実 機 テスト) 7 実 機 での 統 合 (モデルと 実 機 の 置 き 換 え) Simulink CANoe CANoe CANoe (Matlab Interface) ラピッドプロトシステム 組 み 込 みECU
まとめ 効 果 自 律 機 能 に 直 接 関 係 のない 機 能 の 効 率 的 な 開 発 開 発 対 象 が 異 なるため 従 来 の 開 発 と 単 純 には 比 較 できないが 車 両 シミュレータでのシステムモデリング 作 業 = コーディング 作 業 車 両 シミュレータでのシステムモデリング 時 間 = 外 部 プログラマへの 依 頼 に 必 要 な 時 間 であることから 外 注 プログラムの 納 品 待 ち 時 間 外 注 に 必 要 なコスト 外 注 プログラムの 受 け 入 れテストにかかる 工 数 が 少 なくとも 削 減 できたといえる 従 来 よりも 仕 様 変 更 にも 柔 軟 に 対 応 でき 思 い 通 りのシステムが 作 れるようになった
以 上 以 上