コンテスト応募資料 - TOPPERSプロジェクト

TOPPERS 活用アイデア・アプリケーション開発
コンテスト
部門
:
活用アイデア部門
アプリケーション開発部門
作品のタイトル
: ATK2 RC カー(Nios2 版)
作成者
:
対象者
: ATK2 を用いた教育/研究/デモの実施をしたい方
使用する開発成果物
: TOPPERS/ATK2 カーネル
本田晋也
目的・狙い
TOPPERS/ATK2 カーネル(ATK2 カーネル)は,AUTOSAR OS 仕様をベースとした
RTOS である.これまでに,ATK2 カーネルを応用した教育・研究プラットホーム
としては,ZMP 社の RoboCar1/10 に ATK2 カーネルを搭載した,RoboCar1/10 for
AP が販売されているが,一セット 70 万円程度と単価が高いため,ATK2 カーネル
の学習の目的だけで購入するのには敷居が高かった.
本アプリケーションは,安価な RC カー及び評価ボードを組み合わせることにより,
10 万以下の ATK2 カーネルの教育・研究プラットホームを目指して開発した.
アイデア/アプリケーションの概要
機能としては,プレイステーション 3 のコントローラ(PS3 コントローラ)からの操作
に従って RC カーを制御する.また,RC カーのボディには,はヘッドライト等を模
擬した LED が搭載されており,PS3 コントローラからの操作に従って点灯が制御さ
れる.これらの機能は,3 個のマイコンボードにより実現されており,それぞれ,通
信,モータ制御,ボディ制御の処理を実行する.また,マイコンボード間は CAN に
より通信を行う.マイコンボードは,Altera 社 FPGA を搭載し,Nios2 プロセッサ
が動作しているため,TOPPERS プロジェクトの多くの成果を使用可能である.
ハードウェア全体像
マイコン
ボード
Bluetoth
モジュール
• PS3のコントローラからRCカーを操作することが可能
• RCカーはヘッドライト/ブレーキランプ等を持つ
• RCカーに,ベース基板が搭載されており,その上に3個のマイコン
ボードと通信用のBluetoothモジュールが搭載されている.
ベース基板
1
操作方法
• ヘッドライトON/OFF
• ハザード
• ブレーキ
• 左アナログLR
• ステアリング
• 右アナログUD
• 前進・後退
• L1/R1
• 方向指示器のON/OFF
•×
•△
•○
•□
• フォグランプON/OFF
•
•
•
•
左・右 ボタン
• ステアリングのニュートラル
を調整.
上ボタン
• ステアリングニュートラルを
0に.
下ボタン
• モータのゲインを初期値に
L2/R2
• モータのゲインを変更
2
•
•
•
•
ベース基板
6cm
サーボ基板
DCDC
③ESC
7.2v
EH2
pin
④TLU-01電源
5v
MI
L1
0p
in
ターミ
ネータ
30cm
25.75c
m
10pinコネクタ
電源用
4pin
can
PYH
DE0-Nano
5cm x
7.5cm
CANコネク
タ
6.5cm
①電源
7.2v
②サーボ
電源用
4pin
can
PYH
ターミ
ネータ
10pinコネクタ
CANコネク
タ
10pinコネクタ
ターミ
ネータ
DIP
ターミ
ネータ
DE0-Nano
5cm x
7.5cm
電源用
4pin
can
PYH
CANハブ
x4
CANコネク
タ
DE0-Nano
5cm x
7.5cm
M
6
5pinコ
ネクタ
MI
L1
0p
in
通
信基板
5pinコ
ネクタ
松浦商事と共同開発
松浦商事から購入可能(3万程度)
RCカーへのマウンタを兼ねている
以下の機能を持つ.
• 各ボードへの電源供給
• CANハブ
• 電源変換
• マイコンボード用のCAN PHY
1.3cm
10cm
11c
m
3
•
•
•
•
マイコンボード
Nios2を搭載したDE0-Nanoボードを最大3枚搭載可能
CANコントローラを含んだハードウェアデザインも公開
• 有償のソフトを購入することでカスタマイズ可能
RCカーとはケーブルにより接続
各マイコンの機能を自由に変更可能であるため,1~3枚の自由な構成
が可能
情報系接続
ケーブル
4
•
•
•
•
•
Blutooth変換モジュール
市販のBlutooth-USBドングルを搭載し,PS3やPC/スマフォとの通信
可能なモジュールを使用
PIC24FJ64GB004 小型マイコン基板 SBDBT5V
• http://www.runele.com/ca1/2/
Blutoothで受信したデータはUARTに変換
PS3コントローラとPC/スマフォとは同時に接続可能.
モジュールのソースコードはオープンソースであり,カスタマイズも
可能
5
システム構成
CAN
CAN
DE0-Nano(Nios2)
CAN
※データの送受信はCAN通信を使用
ボディ系ECU
・制御系から送信された
データを取得する
・データ内容から以下の
制御処理を行う
・ヘッドランプ
・フォグランプ
・ブレーキランプ
・方向指示器(L/R)
・バックランプ
・ブザー
DE0-Nano(Nios2)
• 制御系,通信系,ボディ系で構成
• DIPスイッチによりマイコンボードで実行する処理を変更可能
DE0-Nano(Nios2)
・操作系から送信された
電文データを取得する
・取得したデータを解析して
ボディ系で制御する内容の
情報を送信する
・取得したデータに車両制御
を行う要求がある場合は
操舵角や車速の制御を行う
制御系ECU
操作系ECU
・PS3コントローラ等からの
コマンド(電文)を受信する
・受信した電文のチェックを行う
・受信した電文データを最後まで
取得したことを確認後に送信する
UART
SBDBT
6
•
•
•
•
•
•
•
必要機材まとめ
RCカー
• 完成品を程度で量販店から購入
ベースボード
• 松浦商事から購入
DE0-Nano x 1~3
• Altera代理店から購入
SBDBT5V
• ランニングエレクトロニクスから購入
Bluetoothドングル
• 量販店から購入
PS3コントローラ
• 量販店から購入
PICライター
• 量販店から購入
計
PICライター
PS3コントローラ
Bluetoothドングル
SBDBT
DE0-nano x 3
ベースボード
RCカー
機材
9.7万
0.5万
0.5万
0.2万
0.5万
3万
3万
2万
価格
7
•
•
•
•
•
ソフトウェア・ハードウェアイメージの入手
必要なファイルとツールは以下からダウンロード可能
各種ソースとハードウェアイメージ
• TOPPERSのContributed Softwareとして入手可能
• http://dev.toppers.jp/trac_user/contrib/browser/rc_os_nios2
• DE0_Nano_QSYS_DEMO: DE0-Nano用ハードウエアイメージ用パッチ
• atk2-sc1_1.3.2 : 制御ソフトウェア
• sbdbt_ps3_140113.patch : SBDBT用ファームウェア用パッチ
• README.txt : ドキュメント
SBDBT用ファームウェア
• http://runningele.web.fc2.com/ps3/sbxbt_ps3_src_140113.zip
SBDBT書き込み用ソフト
• Microchip社のWebサイトから MPLAB IDEとC32を入手
QuratusII
• Altera社のWebサイトからQurartusII Webエディション 14.1をダウロード
DE0用のハードウェアデザイン
• Terasicのサイトからダウンロード可能(DE0_Nano_QSYS_DEMOを使用)
8
•
•
•
•
ハードウェアセットアップ
詳細は配布ファイルの README.txt を参照のこと
概要のみ説明
マイコンボード加工
• コネクタを接続するためいくつかの拡張ピンを切断する
ベース基板とマイコンボードのセットアップ
• マイコンボードをベース基板に接続する
• どの系を実行するかディップスイッチを設定する
• ボディ系 : DIP1 ON
• 制御系
: DIP2 ON
• 通信系
: DIP3 ON
Bluetoothモジュールのセットアップ
• SBDBT用ファームウェアをダウンロード
• 配布ファイルのパッチを適用してMAPLAB IDEによりビルド
• PICライターを用いてダウンロード
• ファームウェア付属のマニュアルに従って,PS3コントローラとペアリングする
ベース基板とRCカーのセットアップ
• 各コネクタを接続する
9
ソフトウェアセットアップ(マイコンボード)
詳細は配布ファイルの README.txt を参照のこと
概要のみ説明
• ソフトウェアのビルド
• atk2-sc1_1.3.2 for Nios2のダウロード
• 配布ファイルを上書き
• obj/nios2_dev_rc においてビルドを実施
• make depend
• make
• ハードウェアイメージの作成
• obj/nios2_dev_rc で以下のコマンドを実行することで書き込みファイル
が生成される
• make flash
• ハードウェアの書き込み
• obj/nios2_dev_rc で以下のコマンドを実行することでDE0-Nanoに書き
込まれる
• make prog
10