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

EH2pin④TLU-01電源

5v
MIL10pin

ターミ
ネータ

30cm

25.75cm

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ハブx4CANコネクタ

DE0-Nano
5cm x
7.5cmM65pinコ
ネクタ

MIL10pin

通信基板

5pinコ
ネクタ

• 松浦商事と共同開発• 松浦商事から購入可能(3万程度)• RCカーへのマウンタを兼ねている• 以下の機能を持つ．
• 各ボードへの電源供給• CANハブ• 電源変換• マイコンボード用のCAN PHY

1.3cm

10cm

11cm

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

システム構成CANCAN

DE0-Nano(Nios2)

CAN※データの送受信はCAN通信を使用

ボディ系ECU・制御系から送信されたデータを取得する
・データ内容から以下の制御処理を行う
・ヘッドランプ・フォグランプ
・ブレーキランプ・方向指示器(L/R)
・バックランプ・ブザー

DE0-Nano(Nios2)• 制御系，通信系，ボディ系で構成• DIPスイッチによりマイコンボードで実行する処理を変更可能
DE0-Nano(Nios2)

・操作系から送信された電文データを取得する・取得したデータを解析してボディ系で制御する内容の情報を送信する・取得したデータに車両制御を行う要求がある場合は操舵角や車速の制御を行う

制御系ECU

操作系ECU

・PS3コントローラ等からのコマンド(電文)を受信する・受信した電文のチェックを行う・受信した電文データを最後まで取得したことを確認後に送信する

UART

SBDBT

6

必要機材まとめ• RCカー機材• 完成品を程度で量販店から購入
RCカー• ベースボード
ベースボード• 松浦商事から購入• DE0-Nano x 1～3
DE0-nano x 3• Altera代理店から購入
SBDBT• SBDBT５V
Bluetoothドングル• ランニングエレクトロニクスから購入 PS3コントローラ• Bluetoothドングル
PICライター• 量販店から購入
計• PS3コントローラ• 量販店から購入• PICライター• 量販店から購入

価格

2万

3万

3万

0.5万

0.2万

0.5万

0.5万

9.7万

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