名称 |
MIRS1901 標準機製作報告書 |
番号 |
MIRS1901-REPT-0001 |
版数 |
最終更新日 |
作成者 |
承認者 |
改訂記事 |
A01 |
2019.06.10 |
武田 |
|
初版 |
A02 |
2019.06.18 |
武田 |
牛丸 |
第2版 |
ドキュメント内目次
1.はじめに
本ドキュメントでは、MIRS1901における標準機製作過程を示す。
2.作業担当
Arduino |
武田 光輝 野村 周平 |
RaspberryPi |
佐藤 陸 沼田 優太 |
メカ |
中村 敏渡 岩城 伶 |
電源ケーブル |
石井 涼真 狩野 剛 深澤 優里香 |
3.Arduino
3.1. シールド作製
Arduinoのセットアップとデバイス接続(
MIRSMG4D-SYST-0003)を参考にArduinoシールドを作成した。
作成したシールドとその配線図を図1 ~ 図3に示す。
図1 配線図
図2 シールド配線面
図3 シールド表面
作製後に導通チェックを行い、配線に誤りがないことを確認した。
3.2. 単体機能試験
Arduino単体での動作試験(
MIRSMG4D-SYST-0007)を参考に
モータの回転、エンコーダ出力について確認した。
エンコーダ出力波形を図4に示す。
図4 エンコーダ出力波形
4.Raspberry Pi
4.1. 構成素子
- ICソケット(8ピン, I2Cレベル変換チップ用)×1
- 4ピン端子(オス)×4
- 2ピン端子(オス)×3
- 20×2列ピンソケット×1
4.2. 完成図
以下に基盤の完成図を示す。それぞれの配線が干渉しないように注意を払って半田付けした。また、他に端子を追加する可能性を考えて十分に基盤の余裕をつくって作成した。作製後には導通チェックを行い、配線に誤りがないことを確認した。
図5 RaspberryPi基盤(表)
図6 RaspberryPi基盤(裏)
4.3. 単体機能試験
Raspberry Pi のセットアップとデバイス接続(
MIRSMG4D-SYST-0004)、Raspberry Pi での動作試験(
MIRSMG4D-SYST-0008)を参考にタッチセンサのON/OFF IO テスト、超音波センサの距離計測、webカメラを使っての数字認識を行った。
4.4. 動作確認
タッチセンサを押したり離したりして、0や1になるのを確認した。
超音波センサを固定し、そこから障害物(ノート)を離していき、障害物と超音波センサの実測距離と表示距離の関係を調べた。
結果を以下の表に示す。
表1 I2Cアドレス0x72のとき
実測距離[cm] |
表示距離[cm] |
12 |
26 |
20 |
32 |
30 |
40 |
40 |
50 |
50 |
60 |
表2 I2Cアドレス0x74のとき
実測距離[cm] |
表示距離[cm] |
20 |
30 |
30 |
40 |
40 |
50 |
50 |
59 |
表1および表2より、超音波センサの表示距離と実測距離の関係には(実測距離)=(超音波センサの表示距離)-10[cm]の関係があることを得られた。
この差はプログラムの仕様であり、標準機の中央からセンサまで10[cm]の距離があるものとしてソースが記述されているためである。
また、表1より、12, 26(表示距離, 実測距離)のとき、差が10[cm]を超えていることがわかる。
この原因としては測定範囲の下限があることが考えられる。
ここで用いた超音波センサの測定範囲はSRF02の販売ページ(
超音波センサー SRF02: マイコン関連 秋月電子通商-電子部品・ネット通販)より、16[cm]~6[m]である。
よって、12[cm]はセンサの測定範囲外であるため、正常に測定されなかったといえる。
4.5. 作業中の不具合
I2Cレベル変換機のさし忘れにより超音波センサを読み込むことができなかった。
またI2Cレベル変換機を逆にさしてしまったため正常に動作しなかった。
5.電源ボード
5.1. ボード作製
作製した電源ボードを下図に示す。
作製後には導通チェックを行い、配線に誤りがないことを確認した。
図7 電源ボード(表)
図8 電源ボード(裏)
5.2.作業中の不具合
入力の+-を誤っていた。詳細は
LED点灯不具合に示す。
6.メカ
キャスターが錆びついていたため、錆とりを使って磨いた。
制御用バッテリーホルダ、モータマウントサポート、モータマウントは昨年のMIRS1803の部品を引き継いだ。
標準機組み立て手順書(
MIRSMG4D-MECH-0003)に沿って組み立てたが、不足部分を補うために以下に作業手順を示す。タップ加工と電源ボード固定穴加工はすでにされていた。
6.1. ねじ、スペーサの準備
指導書の表に従って指定された数を準備した。部品によって使用箇所が異なるため、ねじの長さや太さに特に注意して用意した。
6.2. 下段シャーシの組み立て
タイヤ、モータ、電源ボード、駆動用バッテリーホルダ、ボールキャスター、短支柱、長支柱の取り付けを行った。この際使用した駆動用バッテリーホルダは、solidworksでcadデータを作成し3Dプリンタで印刷したものを使用した。図面を以下に示す。
図9 図面
まずタイヤの組み立てを行った。太いタイヤの中に細いタイヤを2本入れ、ホイールを取り付けた後に金属製の接続部品をM5ネジで固定した。
モータにモータマウントとモータマウントサポートを取り付け、下段シャーシにネジで固定した。その後モータとタイヤを接続した。
次に電源ボードをスペーサとM3ネジを使って下段シャーシに取り付けた。駆動用バッテリーホルダはM3ネジで固定した。
最後に短支柱と長支柱をM5キャップボルトで取り付けた。
6.3. 中段シャーシの組み立て
中段シャーシを短支柱にM5キャップボルトで取り付けた。
その後制御用バッテリーホルダをM3ネジで取り付け、Arduino、Raspberry PiはM2.6ネジで取り付けを行った。
Raspberry Piは基盤とシャーシの間にスペーサを4つ使用した。
最後に超音波センサを超音波センサマウントに取り付け、M3ネジで中断シャーシに取り付けた。
この際使用した超音波センサマウントは、solidworksでcadデータを作成し3Dプリンタで印刷したものを使用した。
図10 中段シャーシ
6.4. 上段シャーシの組み立て
上段シャーシを長支柱にM5キャップボルトで取り付けた。
図11 完成した標準機
7.統合試験
標準機統合試験(
MIRSMG4D-SYST-0009)にしたがって試験を行った。
このとき、機体が想定されない挙動をした。詳細は
想定外挙動(統合試験)に示す。
7.1. 直進動作の調整
動作の調整は、Arduinoに書き込むrun_ctrl.inoの直進制御走行のPIDゲイン値を調整することによって行う。
デフォルトのプログラムのゲイン値では安定した動作をしていなかった為、ゲイン値の調整を行った。
以下に、ゲイン調整を行った際の各値の動作を表で示す。
表3 PIDゲイン値とその挙動(直進)
|
Pゲイン |
Iゲイン |
Dゲイン |
挙動 |
1 |
10.0 |
0.0 |
100.0 |
少し揺れながら走行 |
2 |
40.0 |
0.0 |
20.0 |
直進不可 |
3 |
15.0 |
0.0 |
50.0 |
走行可 |
4 |
10.0 |
0.0 |
0.0 |
走行不可 |
5 |
6.5 |
0.0 |
65.0 |
揺れるが、1よりは安定 |
6 |
7.0 |
0.0 |
75.0 |
5より安定して直進 |
7 |
7.0 |
0.2 |
75.0 |
不安定な走行 |
8 |
7.0 |
10.0 |
75.0 |
走行不可 |
以上より、表3の6の値を採用した。
また、直進動作において、1[m]の直進を要求した際に94[cm]の直進をした。よって、直進の要求をする際には、この誤差(約6%)を考慮する必要がある。
7.2. 回転動作の調整
動作の調整は、Arduinoに書き込むrun_ctrl.inoの回転動作のPIDゲイン値を調整することによって行う。
デフォルトのプログラムのゲイン値では安定した動作をしていなかった為、ゲイン値の調整を行った。
以下に、ゲイン調整を行った際の各値の動作を表で示す。
表4 ゲイン値とその挙動(回転)
|
ゲイン |
挙動 |
1 |
3.0 |
前後に揺れながら回転 |
2 |
5.0 |
前後に激しく揺れながら回転 |
3 |
2.0 |
ほぼ揺れずに回転 |
以上より、回転については表4の3の値を用いることとした。
また、回転動作において、360°の回転を要求したとき、およそ17°小さい回転をした。よって、回転の要求をする際にはこの誤差(およそ4.7%)を考慮する必要がある。
8.不具合
MIRS1901 管理台帳へ戻る