応用情報技術者 2015年 春期 午後 問07
自動車用衝突被害軽減ブレーキシステムに関する次の記述を読んで、設問1~3に答えよ。
G社は、自動車用衝突被害軽減ブレーキシステム(以下、自動ブレーキという)を開発している。自動ブレーキ装着車両は、車体の前部に設置されているミリ波レーダ装置(以下、レーダという)によって、前を走行している車両との距離を測定し、衝突のおそれがあるときにブレーキ操作を行う。
自動ブレーキの動作環境を、図1に示す。

〔自動ブレーキの構成と動作〕
自動ブレーキの構成を、図2に示す。

自動ブレーキの処理手順は次のとおりである。
① 自動ブレーキ制御部(以下、制御部という)は、20ミリ秒周期でレーダに測定開始信号を出力する。
② レーダは、測定開始信号が入力されると、前を走行している車両との距離測定を開始し、10ミリ秒後に測定完了信号と距離データを制御部に出力する。
③ 制御部は、測定完了信号が入力されると、距離データを0.01 m単位で読み取り、相対速度を算出する。相対速度s(m/秒)は、前回測定した距離d1(m)、今回測定した距離d2(m)及び経過時間(20ミリ秒)を用いて、次の式で計算することができる。
④ 制御部は、衝突までの予測時間(以下、予測時間という)を算出する。予測時間t(秒)は、次の式で算出することができる。
⑤ 制御部は、算出した予測時間によって次の処理を行う。
・予測時間が0秒以上3秒未満のとき、制御部は警告信号を出力し、表示パネルに警告表示を行わせる。
・予測時間が0秒以上1.5秒未満のとき、制御部は緊急ブレーキ信号を出力して、ブレーキを作動させる。
〔制御部の構成とタイマ割込みソフトウェア〕
制御部のMCUブロック図を、図3に示す。

MCUは、クロック入力を8分周したクロックで内蔵されたタイマをダウンカウントし、カウント値が0になるとCPUに割込みを発生させる。タイマ割込みソフトウェアは、次の割込みが20ミリ秒後に発生するようにタイマのカウント値を設定する。
タイマ割込みソフトウェアのフロー図を、図4に示す。
自動ブレーキには安全設計が求められるので、ウォッチドッグタイマを使って、タイマ割込みソフトウェアが動作しているかを周期的に監視する。
設問1:〔自動ブレーキの構成と動作〕について、(1)~(3)に答えよ。
問題文を見る(1)式中のa〜cに入れる適切な字句を答えよ。
模範解答
a:0.02
b:d2
c:s
解説
解答の論理構成
-
相対速度 の式
問題文は「相対速度 は、前回測定した距離 、今回測定した距離 及び経過時間(20ミリ秒)を用いて、次の式で計算することができる。」と示し、式として
を提示しています。
・「20ミリ秒」は 秒ですから、秒単位では0.02。
よって a = 0.02となります。 -
予測時間 の式
続いて「制御部は、衝突までの予測時間(以下、予測時間という)を算出する。予測時間 は、次の式で算出することができる。」とあり、式は
です。
衝突までの時間は「残り距離 ÷ 相対速度」で求めるのが物理の基本です。
・残り距離 ⇒ 今回測定した距離
・相対速度 ⇒ 直前に計算した
したがって b = d2、c = sとなります。 -
まとめ
a:0.02、b:d2、c:s
誤りやすいポイント
- 20ミリ秒をそのまま20と置いてしまい、単位変換を失念する。ミリ秒は必ず秒換算が必要です。
- 「残り距離」を前回値 と誤解する。衝突予測時点での実距離は今回測定の です。
- 相対速度 を分母に置くべきところを分子にしてしまう。時間=距離÷速度の形を思い出しましょう。
FAQ
Q: が0.0 mに近い場合、分母が0になって誤動作しませんか?
A: 分母は であり距離ではありません。システムでは (停止状態)や極小値のときに別途保護ロジックを設けています。
A: 分母は であり距離ではありません。システムでは (停止状態)や極小値のときに別途保護ロジックを設けています。
Q: が負になるケースは考慮しなくて良いのですか?
A: 相手車両と離れていく場合(負値)は衝突の危険がないため、後段の判定条件(予測時間が0以上)で処理されない仕組みです。
A: 相手車両と離れていく場合(負値)は衝突の危険がないため、後段の判定条件(予測時間が0以上)で処理されない仕組みです。
Q: 相対速度計算を20ミリ秒ごとに行う理由は?
A: レーダの測定周期とMCUのタイマ割込み周期を一致させることで、常に最新の距離差分を用いた安定した速度推定が可能になるためです。
A: レーダの測定周期とMCUのタイマ割込み周期を一致させることで、常に最新の距離差分を用いた安定した速度推定が可能になるためです。
関連キーワード: 相対速度, 単位変換, 予測時間, ダウンカウントタイマ, ミリ波レーダ
設問1:〔自動ブレーキの構成と動作〕について、(1)~(3)に答えよ。
問題文を見る(2)相対速度sが負数になる場合の、自動ブレーキ装着車両と前を走行する車両との関係を、15字以内で述べよ。
模範解答
車間距離が広がっている。
解説
解答の論理構成
- 問題文には相対速度の定義が示されています。
引用:"s = \frac{d1 - d2}{a}"
ここでd1は「前回測定した距離」、d2は「今回測定した距離」です。 - 分子d1 - d2が正ならば前回より距離が短くなり、sは正(接近)になります。
逆に分子が負、すなわちd2 > d1なら距離が長くなっています。 - 分母 a は正(経過時間20 ms)なので、d2 > d1のとき相対速度sは負になります。
- 距離が長くなるとは、衝突のおそれが低下し「車間距離が広がる」状態です。
したがって相対速度sが負数の場合の関係は「車間距離が広がっている」。
誤りやすいポイント
- 相対速度の符号を逆に解釈し、「接近している」と答えてしまう。
- 距離データd1・d2の取得タイミングを取り違え、どちらが「前回」か混同する。
- 「負数=反対方向に走行」と誤読し、車両の進行方向まで言及してしまう。
FAQ
Q: なぜ分母が a であっても符号判断に影響しないのですか?
A: a は経過時間20 msで常に正なので、相対速度の符号は分子d1 - d2のみで決まります。
A: a は経過時間20 msで常に正なので、相対速度の符号は分子d1 - d2のみで決まります。
Q: 相対速度が0になる状況はどう解釈すればよいですか?
A: d1とd2が等しい場合で、車間距離が変化していない、つまり前車と同じ速度で走行している状態です。
A: d1とd2が等しい場合で、車間距離が変化していない、つまり前車と同じ速度で走行している状態です。
Q: 相対速度が大きな負数の場合、自動ブレーキは作動しませんか?
A: 距離が急速に伸びる状況なので衝突リスクは低く、予測時間 が大きくなるため緊急ブレーキ条件を満たしにくくなります。
A: 距離が急速に伸びる状況なので衝突リスクは低く、予測時間 が大きくなるため緊急ブレーキ条件を満たしにくくなります。
関連キーワード: 相対速度, 車間距離, 衝突回避, ミリ波レーダ
設問1:〔自動ブレーキの構成と動作〕について、(1)~(3)に答えよ。
問題文を見る(3)時速18km/時で走行している自動ブレーキ装着車両の前方に停止している車両がある。このとき、ブレーキが作動してから停止するまでの走行距離を6mとすると、停止している車両の何m前で停止することができるか。答えは小数第2位を切り上げ、小数第1位まで求めよ。ここで、測定周期及び測定に掛かる時間の影響は、無視できるものとする。
模範解答
1.5
解説
解答の導き方
-
問題文の条件を確認します。文中に "時速18km/時で走行している" とあり、また "測定周期及び測定に掛かる時間の影響は、無視できるものとする。" とあります。これらから速度をSI単位に直し、測定遅れは考えないものとします。
-
速度の単位変換を行います。
。
よって閉速度(相対速度)です。前方の車両は停止しているので、自車の速度がそのまま相対速度になります。 -
緊急ブレーキの作動条件を確認します。問題文に "予測時間が0秒以上1.5秒未満のとき、制御部は緊急ブレーキ信号を出力して、ブレーキを作動させる。" とあります。したがって緊急ブレーキは予測時間 が1.5秒未満になった時点で作動します。測定周期や測定時間の影響を無視できるので、作動直前の予測時間は1.5秒に限りなく近い値となり、その極限値として計算上は を用いて作動時の距離を求めて差し支えありません。
-
予測時間は距離を相対速度で割った値なので、ブレーキ作動直前の前方車両までの距離 は
-
ブレーキ作動後に停止するまでに走行する距離が6 mなので、停止したときに前方車両まで残る距離は
-
指示どおり小数第2位を切り上げて小数第1位まで求めると、1.5 mのままです。したがって答えは1.5 mです。
誤りやすいポイント
- "予測時間が0秒以上1.5秒未満" の1.5秒を誤って含める(1.5秒を含む/含まないの判断を誤る)。本問では測定遅れを無視できるため極限的に1.5秒を使って良い点を押さえること。
- 速度の単位変換ミス:18 km/hを3.6で割るべきところを誤ると大きくずれます(18/3.6 = 5 m/s)。
- ブレーキ作動位置と停止位置の扱いを逆にする:ブレーキ作動時の距離から制動により進む距離を減算する点を忘れると誤答になります。
- 前方車両が停止している前提を見落とすと相対速度の取り方を間違える(前方車が動いている場合は相対速度を用いる)。
- 測定周期や測定時間を不用意に考慮して余分に距離を加算する(問題で無視できると明記されている点に注意)。
FAQ
Q: 緊急ブレーキは「1.5秒未満」なので厳密には を使うのは間違いでは?
A: 条件どおり作動は の時点で起きますが、測定周期や測定遅延を無視できるので作動直前の予測時間は1.5秒に限りなく近い値になります。したがって計算の極限値として を用いることが妥当です。
A: 条件どおり作動は の時点で起きますが、測定周期や測定遅延を無視できるので作動直前の予測時間は1.5秒に限りなく近い値になります。したがって計算の極限値として を用いることが妥当です。
Q: 前方車両が動いている場合はどう計算しますか?
A: 相対速度 を正しく取る必要があります(例えば前方車速 、自車速 のとき )。作動時距離は ( の場合)で、その後の制動で進む距離を差し引いて残距離を求めます。
A: 相対速度 を正しく取る必要があります(例えば前方車速 、自車速 のとき )。作動時距離は ( の場合)で、その後の制動で進む距離を差し引いて残距離を求めます。
Q: 測定周期(20 ms)やレーダの測定時間(10 ms)を無視できない場合は?
A: 実際には測定・処理遅延分だけさらに接近するので、追加で に相当する距離を考慮しなければなりません。本問はそれらを無視するため単純化した計算で答えます。
A: 実際には測定・処理遅延分だけさらに接近するので、追加で に相当する距離を考慮しなければなりません。本問はそれらを無視するため単純化した計算で答えます。
関連キーワード: 相対速度、予測時間、制動距離、単位変換、閾値
(1)下線Ⓐにおいて、タイマのカウント値に設定する値を10進数で答えよ。
ここで、割込み発生からタイマのカウント値設定までの処理時間は、無視できるものとする。
模範解答
20,000
解説
解答の論理構成
-
タイマに与えられるクロックを確認
【問題文】には「クロック入力(8 MHz)」と「クロック入力を 8分周したクロックで内蔵されたタイマをダウンカウント」とあります。
➔ タイマクロック周波数すなわち 1カウント = 1 µs です。 -
割込み周期の要求を確認
同じく【問題文】で「タイマ割込みソフトウェアは、次の割込みが20ミリ秒後に発生するようにタイマのカウント値を設定する」と明示されています。ここでは「割込み発生からタイマのカウント値設定までの処理時間は、無視できるものとする」とあるため、純粋に20 ms分のカウント値を考えればよいことになります。 -
必要カウント値の算出タイマは1 µsごとに1カウント減少するダウンカウンタなので、設定値はそのまま 20 000 となります。
-
結論
下線Ⓐに設定すべきタイマのカウント値(10進数)は 20,000 です。
誤りやすいポイント
- 8 MHzをそのまま用い、20 ms × 8,000,000 = 160,000としてしまう。
- 20 msを2 ms/200 µsと単位変換ミスする。
- タイマがダウンカウンタであることを見落とし、+1した値や -1した値を設定してしまう。
- 割込み処理時間は無視してよいという条件を読み飛ばし、安全側にと過大・過少な値を設定する。
FAQ
Q: タイマがアップカウンタでも答えは変わりますか?
A: 単にカウント方向が逆になるだけで、1 µsごとにカウントされる事実は同じです。20 000回カウントさせる点は変わりません。
A: 単にカウント方向が逆になるだけで、1 µsごとにカウントされる事実は同じです。20 000回カウントさせる点は変わりません。
Q: 分周比が変更された場合、どのように計算しますか?
A: 基本式は「カウント値 = 目標時間 ÷(クロック周波数 ÷ 分周比)」です。例えば4分周なら8 MHz ÷ 4 = 2 MHz、1カウント0.5 µsとなります。
A: 基本式は「カウント値 = 目標時間 ÷(クロック周波数 ÷ 分周比)」です。例えば4分周なら8 MHz ÷ 4 = 2 MHz、1カウント0.5 µsとなります。
Q: 割込み処理に100 µsかかる場合は補正が必要ですか?
A: 今回は「無視できる」と指定されていますが、実運用では処理時間分だけカウント値を減算して設定し、正確な周期を維持します。
A: 今回は「無視できる」と指定されていますが、実運用では処理時間分だけカウント値を減算して設定し、正確な周期を維持します。
関連キーワード: タイマ割込み, 分周器, クロック周波数, ダウンカウンタ
(2)d、eに入れる適切な条件式を解答群の中から選び、記号で答えよ。
解答群
ア:0秒 ≦ t < 1.5秒
イ:0秒 ≦t < 3秒
ウ:1.5秒 ≦ t < 3秒
エ:t < 3秒
模範解答
d:イ
e:ア
解説
解答の論理構成
-
【問題文】は警告と緊急ブレーキの判断基準を次のように規定しています。
・「予測時間が0秒以上3秒未満のとき、制御部は警告信号を出力し、表示パネルに警告表示を行わせる。」
・「予測時間が0秒以上1.5秒未満のとき、制御部は緊急ブレーキ信号を出力して、ブレーキを作動させる。」 -
図4で d の分岐直後にある処理は「警告信号を出力」または「警告信号の出力を停止」です。
したがって d は上記1番目の基準「0秒以上3秒未満」をそのまま条件式にすべきです。
解答群を見ると「イ:0秒 ≦t < 3秒」が対応します。 -
図4で e の分岐直後にある処理は「緊急ブレーキ信号を出力」です。
これは上記2番目の基準「0秒以上1.5秒未満」に一致します。
解答群では「ア:0秒 ≦ t < 1.5秒」が該当します。 -
よって
・d = イ
・e = ア
となります。
誤りやすいポイント
- 「1.5秒」~「3秒」の範囲を警告と誤って考え、d に「ウ:1.5秒 ≦ t < 3秒」を選択してしまう。実際には0秒以上3秒未満全域で警告を出すため外れます。
- 0秒未満の負値を条件に含めてしまうミス。式はすでに「0秒以上」を前提にしているため、負値はそもそも不要です。
- 緊急ブレーキと警告の優先順位を逆に理解し、分岐の位置関係を取り違えるケース。図4では d が先に評価され、その後 e が評価される点に注意が必要です。
FAQ
Q: 警告と緊急ブレーキの条件が重複していますが、動作はどうなりますか?
A: 「0秒以上1.5秒未満」は両方の条件に該当するため、警告信号と緊急ブレーキ信号の双方が出力される設計です。
A: 「0秒以上1.5秒未満」は両方の条件に該当するため、警告信号と緊急ブレーキ信号の双方が出力される設計です。
Q: 予測時間が3秒以上の場合は何も出力しないのですか?
A: はい。【問題文】に該当する条件が無いため、警告も緊急ブレーキも発生しません。図4では「警告信号の出力を停止」して通常走行状態に戻るよう実装されています。
A: はい。【問題文】に該当する条件が無いため、警告も緊急ブレーキも発生しません。図4では「警告信号の出力を停止」して通常走行状態に戻るよう実装されています。
Q: 予測時間が負になることはありますか?
A: 相対速度の符号がプラス(距離が広がる)であれば理論上負になりますが、制御ソフトでは衝突の可能性なしと判断して範囲外扱いとするのが一般的です。本問題では負値の分岐は示されていません。
A: 相対速度の符号がプラス(距離が広がる)であれば理論上負になりますが、制御ソフトでは衝突の可能性なしと判断して範囲外扱いとするのが一般的です。本問題では負値の分岐は示されていません。
関連キーワード: ミリ波レーダ, 相対速度, 予測時間, タイマ割込み, ウォッチドッグタイマ
(3)下線Ⓑを行わないときに発生する不具合を、20字以内で述べよ。
模範解答
衝突を回避しても警告が止まらない。
解説
解答の論理構成
- 【問題文】の⑤に「予測時間が0秒以上3秒未満のとき、制御部は警告信号を出力し、表示パネルに警告表示を行わせる。」とあります。
- 図4では警告関連の分岐に
・Yes:警告信号を出力
・No :「B警告信号の出力を停止」
が示されており、この“停止”処理が下線Ⓑです。 - もし下線Ⓑを行わなければ、条件が「予測時間が0秒以上3秒未満」を外れて安全な状態に戻っても、以前に出力した警告信号が継続します。
- その結果、実際には衝突のおそれが解消されているのに警告表示が消えず、システムの信頼性とドライバの注意力を損ないます。
- 以上より不具合は「衝突を回避しても警告が止まらない」と導けます。
誤りやすいポイント
- 「予測時間が0秒以上1.5秒未満」の緊急ブレーキ条件と混同し、警告停止の必要性を見落とす。
- “警告信号を出力しない”と“出力を停止する”を同義と捉え、下線Ⓑの意味を軽視してしまう。
- タイマ割込み周期「20ミリ秒」と警告表示時間の関係を関連付けられず、連続割込みで警告が自動的にリセットされると誤解する。
FAQ
Q: 警告信号は毎周期で上書きされるのでは?
A: 制御部は出力ポートを通じて連続信号を保持します。停止処理を行わないとポート状態が変わらず、警告が残り続けます。
A: 制御部は出力ポートを通じて連続信号を保持します。停止処理を行わないとポート状態が変わらず、警告が残り続けます。
Q: “停止”を行わなくても次回Yes分岐で上書きされるのでは?
A: No条件時に明示的にLow出力へ切り替えなければ、前周期のHighが維持されるため、警告表示は消えません。
A: No条件時に明示的にLow出力へ切り替えなければ、前周期のHighが維持されるため、警告表示は消えません。
Q: 緊急ブレーキ後に警告が残っていても問題ないのでは?
A: 不要な警告はドライバの注意を削ぎ、真の危険時に警告が埋もれるリスクを生みます。安全設計上は速やかな解除が必須です。
A: 不要な警告はドライバの注意を削ぎ、真の危険時に警告が埋もれるリスクを生みます。安全設計上は速やかな解除が必須です。
関連キーワード: 予測時間, 警告信号, 出力ポート, 割込み処理, 状態保持
設問3:
問題文を見るウォッチドッグタイマによって割込みを発生させる間隔(ミリ秒)として適切な数値を解答群の中から選び、記号で答えよ。
解答群
ア:5
イ:15
ウ:25
模範解答
ウ
解説
解答の論理構成
-
割込み処理の周期を確認
【問題文】には
・「制御部は、20ミリ秒周期でレーダに測定開始信号を出力する。」
・「タイマ割込みソフトウェアは、次の割込みが20ミリ秒後に発生するようにタイマのカウント値を設定する。」
とあり、タイマ割込みは必ず 20ミリ秒周期で動作します。 -
ウォッチドッグタイマ(WDT)の目的を整理
【問題文】「ウォッチドッグタイマを使って、タイマ割込みソフトウェアが動作しているかを周期的に監視する。」
⇒ 割込み処理が止まればWDT割込み(またはリセット)を発生させ、システムをフェールセーフ状態に導く仕組みです。 -
WDTタイムアウト値の要件
(1) 割込みが正常に動いているときは、毎回WDTをリセット(図4末尾「ウォッチドッグタイマの初期値設定」)するため、タイムアウトしてはならない。
(2) 割込みが停止したときは、できるだけ早く異常検出したい。したがって
• 20ミリ秒未満 → 正常動作でもタイムアウト(誤検出)。
• 20ミリ秒より十分に長い値 → 異常検出が遅れる。
⇒ 最小で20ミリ秒より僅かに大きい値が最良。 -
解答群を照合
ア:5 ms(短すぎて常に誤検出)
イ:15 ms(同上)
ウ:25 ms(20 msより長いが最小)よって、最適なウォッチドッグタイマの割込み間隔は 「25ミリ秒」、記号 「ウ」 が正解となります。
誤りやすいポイント
- 「安全だから短い方が良い」と考え、5 msや15 msを選んでしまう。短すぎると正常動作でもタイムアウトします。
- “タイマ割込み=20 ms” の記載を見落とし、WDTの設定値を適当に選ぶ。
- WDT割込みとタイマ割込みを混同し、両者のリセットタイミングを誤認する。
FAQ
Q: 25 msでは異常検出が遅くないですか?
A: 割込み周期20 msに対して25 msは1.25倍です。次回割込みが来なければ最長25 msで検出でき、リアルタイム制御として十分迅速です。
A: 割込み周期20 msに対して25 msは1.25倍です。次回割込みが来なければ最長25 msで検出でき、リアルタイム制御として十分迅速です。
Q: 20 msちょうどに設定してはいけませんか?
A: 20 msちょうどにするとクロック誤差や割込み遅延で正常時でもWDTがタイムアウトする危険があります。安全マージンを設けた25 msが適切です。
A: 20 msちょうどにするとクロック誤差や割込み遅延で正常時でもWDTがタイムアウトする危険があります。安全マージンを設けた25 msが適切です。
Q: 割込みが遅延した場合も25 ms以内に来れば問題ありませんか?
A: はい。25 ms以内に割込みが実行され、図4の「ウォッチドッグタイマの初期値設定」が行われればWDTはリセットされ、システムは継続動作します。
A: はい。25 ms以内に割込みが実行され、図4の「ウォッチドッグタイマの初期値設定」が行われればWDTはリセットされ、システムは継続動作します。
関連キーワード: ウォッチドッグタイマ, タイマ割込み, リアルタイム制御, フェールセーフ




