応用情報技術者過去問題 平成27年春期 午後問7
⇄問題文と設問を画面2分割で開く⇱問題PDF問7 組込みシステム開発
自動車用衝突被害軽減ブレーキシステムに関する次の記述を読んで,設問1~3に答えよ。
G社は,自動車用衝突被害軽減ブレーキシステム(以下,自動ブレーキという)を開発している。自動ブレーキ装着車両は,車体の前部に設置されているミリ波レーダー装置(以下,レーダーという)によって,前を走行している車両との距離を測定し,衝突のおそれがあるときにブレーキ操作を行う。
自動ブレーキの動作環境を,図1に示す。〔自動ブレーキの構成と動作〕
自動ブレーキの構成を,図2に示す。 自動ブレーキの処理手順は次のとおりである。
制御部のMCUブロック図を,図3に示す。 MCUは,クロック入力を8分周したクロックで内蔵されたタイマをダウンカウントし,カウント値が0になるとCPUに割込みを発生させる。タイマ割込みソフトウェアは,次の割込みが20ミリ秒後に発生するようにタイマのカウント値を設定する。
タイマ割込みソフトウェアのフロー図を,図4に示す。 自動ブレーキには安全設計が求められるので,ウォッチドッグタイマを使って,タイマ割込みソフトウェアが動作しているかを周期的に監視する。
G社は,自動車用衝突被害軽減ブレーキシステム(以下,自動ブレーキという)を開発している。自動ブレーキ装着車両は,車体の前部に設置されているミリ波レーダー装置(以下,レーダーという)によって,前を走行している車両との距離を測定し,衝突のおそれがあるときにブレーキ操作を行う。
自動ブレーキの動作環境を,図1に示す。〔自動ブレーキの構成と動作〕
自動ブレーキの構成を,図2に示す。 自動ブレーキの処理手順は次のとおりである。
- 自動ブレーキ制御部(以下,制御部という)は,20ミリ秒周期でレーダーに測定開始信号を出力する。
- レーダーは,測定開始信号が入力されると,前を走行している車両との距離測定を開始し,10ミリ秒後に測定完了信号と距離データを制御部に出力する。
- 制御部は,測定完了信号が入力されると,距離データを0.01m単位で読み取り,相対速度を算出する。相対速度 s (m/秒)は,前回測定した距離 d1(m),今回測定した距離 d2(m) 及び経過時間(20ミリ秒)を用いて,次の式で計算することができる。
- 制御部は,衝突までの予測時間(以下,予測時間という)を算出する。予測時間 t(秒)は,次の式で計算することができる。
- 制御部は,算出した予測時間によって次の処理を行う。
- 予測時間が0秒以上3秒未満のとき,制御部は警告信号を出力し,表示パネルに警告表示を行わせる。
- 予測時間が0秒以上1.5秒未満のとき,制御部は緊急ブレーキ信号を出力して,ブレーキを作動させる。
制御部のMCUブロック図を,図3に示す。 MCUは,クロック入力を8分周したクロックで内蔵されたタイマをダウンカウントし,カウント値が0になるとCPUに割込みを発生させる。タイマ割込みソフトウェアは,次の割込みが20ミリ秒後に発生するようにタイマのカウント値を設定する。
タイマ割込みソフトウェアのフロー図を,図4に示す。 自動ブレーキには安全設計が求められるので,ウォッチドッグタイマを使って,タイマ割込みソフトウェアが動作しているかを周期的に監視する。
設問1
〔自動ブレーキの構成と動作〕について,(1)~(3)に答えよ。
- 式中のa~cに入れる適切な数値又は字句を答えよ。
- 相対速度 s が負数になる場合の,自動ブレーキ装着車両と前を走行する車両との関係を,15字以内で述べよ。
- 時速18km/時で走行している自動ブレーキ装着車両の前方に停止している車両がある。このとき,ブレーキが作動してから停止するまでの走行距離を6mとすると,停止している車両の何m前で停止することができるか。答えは小数第2位を切り上げ,小数第1位まで求めよ。ここで,測定周期及び測定に掛かる時間の影響は,無視できるものとする。
解答入力欄
- a:
- b:
- c:
- m
解答例・解答の要点
- a:0.02
- b:d2
- c:s
- 車間距離が広がっている (11文字)
- 1.5
解説
- 〔aについて〕
速度は以下の式で求めることができます。
(速度)=(距離)÷(時間)
問題文に「前回測定した距離 d1(m),今回測定した距離 d2(m) 及び経過時間(20ミリ秒)」と記載があります。これより、経過時間20ミリ秒の間に、車間距離が d1-d2(m) 変化していることがわかります。相対速度とは、前の車両との速度差であり、前回よりも車間距離が短くなっていれば相対速度は大きくなり、長くなっていれば相対速度は小さくなります。
車両は、前の車両に対して d1-d2(m) だけ進んでいると考えることができます。相対速度sの単位はメートル毎秒なので、20ミリ秒を秒単位に直した0.02秒で距離を割ることで速度を求められます。
s = (d1-d2)/0.02
∴a=0.02
〔b,cについて〕
衝突までの予測時間とは、現在の相対速度が継続したときに前の車両と衝突するまでの時間のことで、以下の式で求めることができます。
(予測時間)=(現在の車間距離)÷(相対速度)
現在の車間距離は、前の車両との距離を今回測定した値である d2 です。相対速度には s が入ります。
∴b=d2
c=s - 相対速度sが負数になる場合とは、d1-d2 が負数、すなわち d1<d2 となる場合です。d1 は前回測定した車間距離、d2 は今回測定した車間距離ですから、前回の測定よりも前を走る車両との車間距離が広がっている場合が該当します。
∴車間距離が広がっている - 問題文の〔自動ブレーキの構成と動作〕⑤より、緊急ブレーキが作動するのは予測時間が1.5秒未満になったときとわかります。ブレーキが作動したときの前の車両との距離は以下の式で求めます。
速度(m/s)=18×1,000m÷3,600秒=5(m/s)
車間距離=5(m/s)×1.5秒=7.5m
これより、前の車両との距離が7.5mの時点でブレーキが作動します。ブレーキが作動してから停止するまでの走行距離は6mであるため、停止した時の前方車両との距離は「7.5-6=1.5m」になります。
∴1.5
設問2
図4中の処理及び条件式について,(1)~(3)に答えよ。
d,e に関する解答群
- 0秒 ≦ t < 1.5秒
- 0秒 ≦ t < 3秒
- 1.5秒 ≦ t < 3秒
- t < 3秒
解答入力欄
- d:
- e:
解答例・解答の要点
- 20,000
- d:イ
- e:ア
- 衝突を回避しても警告が止まらない (16文字)
解説
- 図3の制御部のMCUブロック図よりクロック入力は8MHzであることがわかります。また、分周器は8分周であると説明されています。
クロック入力を8分周した場合のクロック周波数は以下になります。
8MHz÷8分周=1MHz
周波数(Hz)とは、1秒間に存在する波の数で、1MHzは1秒間に1,000,000回の波が生じることを表しています。
1,000,000回/秒の波を使って20ミリ秒(1/50秒)をカウントしたいので、タイマのカウント値に設定すべき値は、
1,000,000回×1/50=20,000回
∴20,000 - 問題文の〔自動ブレーキの構成と動作〕⑤に以下の記載があります。
- 予測時間が0秒以上3秒未満のとき,制御部は警告信号を出力し,表示パネルに警告表示を行わせる。
- 予測時間が0秒以上1.5秒未満のとき,制御部は緊急ブレーキ信号を出力して,ブレーキを作動させる。
IF条件がYesの場合に警告信号を表示しています。
警告信号を表示する場合は、予測時間が「0秒以上3秒未満」のときであるため「イ」が正解となります。「エ」だと予測時間が負数のときにも警告信号を表示してしまうので不適切です。
∴d=イ:0秒 ≦ t < 3秒
〔eについて〕
IF条件がYesの場合に緊急ブレーキ信号を出力しています。
緊急ブレーキ信号を出力する場合は、予測時間が「0秒以上1.5秒未満」のときであるため「ア」が正解となります。
∴e=ア:0秒 ≦ t < 1.5秒 - 問題文の〔制御部の構成とタイマ割込みソフトウェア〕に、タイマ割込みは20ミリ秒間隔で発生すると説明されています。よって、図4のフローが20ミリ秒間隔で実行されることになります。
処理B「警告信号の出力を停止」を行わない場合、単純に警告信号が消えない不具合が発生します。具体的には、警告信号が出力された後、予測時間が0秒未満または3秒以上(警告対象外)になっても警告信号が表示されたままになってしまいます。警告信号は衝突しそうなときに出力されるので、「衝突を回避しても警告が止まらない」などの言葉が適切となります。
∴衝突を回避しても警告が止まらない
設問3
ウォッチドッグタイマによって割込みを発生させる間隔(ミリ秒)として適切な数値を解答群の中から選び,記号で答えよ。
解答群
- 5
- 15
- 25
解答入力欄
- o:
解答例・解答の要点
- o:ウ
解説
ウォッチドッグタイマとは、システムに異常が発生したことを検知し、それを通知する目的で設定されるタイマです。
ウォッチドッグタイマには適切な時間がセットされていて、システムが正常なときは一定時間ごとにカウントをリセットしています。しかし、システムに異常が起こるとリセットが行われなくなり、ウォッチドッグタイマのカウントが増加し続けることになります。リセットがされないまま所定の時間を経過した場合には、システムに何らかの異常が発生していると判断し、ウォッチドッグタイマがノンマスカブル割込みによってシステムに異常を通知するという仕組みになっています。
タイマ割込みソフトウェアにおけるタイマ割込みは20ミリ秒周期で実行され、タイマ割込みのフロー中でウォッチドッグタイマの初期化が行われています。タイマ割込みが20ミリ秒周期なので、ウォッチドッグタイマに20ミリ秒よりも短い時間を設定すると、(タイマ割込みが正常に動作していたとしても)次のタイマ割込みの前に異常通知が行われてしまいます。このため、ウォッチドッグタイマの割込み時間には20ミリ秒よりも長い時間を設定する必要があります。選択肢の中で20ミリ秒よりも長い時間は「ウ」だけです。
∴ウ:25
ウォッチドッグタイマには適切な時間がセットされていて、システムが正常なときは一定時間ごとにカウントをリセットしています。しかし、システムに異常が起こるとリセットが行われなくなり、ウォッチドッグタイマのカウントが増加し続けることになります。リセットがされないまま所定の時間を経過した場合には、システムに何らかの異常が発生していると判断し、ウォッチドッグタイマがノンマスカブル割込みによってシステムに異常を通知するという仕組みになっています。
タイマ割込みソフトウェアにおけるタイマ割込みは20ミリ秒周期で実行され、タイマ割込みのフロー中でウォッチドッグタイマの初期化が行われています。タイマ割込みが20ミリ秒周期なので、ウォッチドッグタイマに20ミリ秒よりも短い時間を設定すると、(タイマ割込みが正常に動作していたとしても)次のタイマ割込みの前に異常通知が行われてしまいます。このため、ウォッチドッグタイマの割込み時間には20ミリ秒よりも長い時間を設定する必要があります。選択肢の中で20ミリ秒よりも長い時間は「ウ」だけです。
∴ウ:25