令和4年度 秋期 情報処理技術者試験は10/9に行われる予定だ。
私は、現在エンベデッドシステムスペシャリスト試験合格に向けて積み重ねを続けている状況だ。
8月は過去問演習を通じた現状課題の克服をテーマに学習を続けているが、一つこの試験の難しさを掴んだような気がする。
今回は、午後Ⅰ試験でも素直で簡単と思われる平成30年度 問1について解答プロセスを紹介する。
このプロセスを見てもらって簡単であることが伝われば良いなと思っている。
平成30年度の午後Ⅰ試験 問1はとっても簡単
午後Ⅰ試験の難易度に開きがあるとは具体的にどういうことじゃ?
経験有無の他に設問数や計算問題数の違いが難易度に顕著に表れるような気がしてます
まずは、平成30年度 午後Ⅰ試験 問1を見てみよう。
この問題はドローンを題材にしたもの。
計算問題がなく、問題文も素直でかつ70%程度の箇所しか利用せずに解答できてしまう問題だった。
しかも、問題文からの抜き出しも多く、全体で25分程度で解答できた。
こちらは私の答案と自己採点の結果である。
では、順番に観ていきたいと思う。
まずは設問1から。
設問1は(1)と(2)の2つの小問があるぞ!
設問1はドローンの自律飛行について問われている。
問題文として関係する箇所はこちら。
(1)は空欄a~cを解答するもの。
関係する箇所を読むと機体は反作用の力で制御されると記載がある。
問題文と図2の赤枠部分をヒントにすると、プロペラの回転方向と「反対方向」に回転しようとするということがすぐ分かる。
空欄bとcはホバリングの状態をどうやって作り出すかという話である。
こちらも上記問題文の最初の方に「揚力」というキーワードがある。上がる力と下がる力が釣り合えば機体の高度が維持される。
「揚力」の反対は「重力」である。
これで(1)はおしまい。
(2)は、設問分の空欄dとeを埋める問題。
こちらも図2がヒントになる。
a1~a4のプロペラは形状がバラバラで回転数を「補正」しなければいけないことが記載されている。
工場出荷時に制御部のフラッシュメモリに記録した各プロペラのばらつきを均一にするために必要となるデータは何か?が空欄dである。
解答例としては「補正データ」となっているが、「各プロペラの補正係数の設定値」などでもいいのではと思う。
要は、フラッシュメモリに格納される形で補正する内容という趣旨であれば大丈夫だと思う。
空欄eはとってもシンプル。
この「補正データ」を使用して各プロペラの形状の違いを吸収してドローンの姿勢を守るために必要なものは何かというもの。
答えは「回転数」だ。
この回転数×補正データで微調整してa1~a4の回転制御を微調整したいという形だ。
次は設問2。
こちらも(1)と(2)の2つの小問で構成されている。
設問2に移ろう。
(1)で関係する箇所はこちら。
(1)の問題文の冒頭に「画像の水平方向の位置合わせの制御には・・・」という記述がある。
この時に必要な情報と制御が問われている。
上段の問題文の赤枠部分と一致する。
しかも括弧書きの中に「水平発行位置情報」とご丁寧に解答を一意にするヒントまである。
この情報を使ってドローンが水平に保つためにはどういう制御が必要かというのが次に問われていることである。
これは問題文に明記されていないため、問題文のドローンの仕様から一般論で解答する。
私は「プロペラの回転数を調整して姿勢制御を行う」と回答したが、IPAは「ずれを補正する方向へ回転させる」とさらに抽象的な解答だ。
スマフォの焦点に合わせてドローンの機体が少し斜めになった状態を水平に戻すためにはプロペラの回転数を調整して水平にするしか対応できない。
この趣旨に従って解答すれば部分点は確実も得られると思われる。
続いては(2)を見てみよう。
空欄f、gも穴埋め問題だが、これも図2が全てを物語っている。
改めて図2を見てみよう。
プロペラa1とa3、プロペラa2とa4が対になっている。
ホバリング状態で静止する場合は全てのプロペラが均一値(問題文だと10)にする。
ホバリング状態で右に旋回させたい場合は、「プロペラa1とa3の回転数の合計 > プロペラa2とa4の回転数の合計」になれば反作用の力で右に進むということだ。
ホバリングするための条件はプロペラa1~a4の回転数の合計が40になる必要がある。
この条件を満たしたうえで、プロペラa1とa3の回転数の合計が大きくなるように設定する。
つまり、空欄gのプロペラa3が「11」、空欄fのプロペラa2が「9」とすることで右旋回が可能になる。
最後の設問3。
こちらは少し難易度が上がるぞ!
最後に設問3である。
こちらは問題文を広範囲に確認していく必要がある。
では、順番に行きたいと思う。
(1)で問われている空欄h~jは数のシーケンス図となる。
シーケンス図を見ると、全て移動先指定タスクに対するメッセージの内容またはそのメッセージを送信しているタスクを解答するものである。
ここで表2の処理概要を見ていこう。
表2にストレートに解答が記載されている。
まず空欄iから埋めていこう。
空欄iは通信タスクから移動先指定タスクに何かのメッセージを通知している。
表2の通信タスクを見てみると箇条書き3点目(上記赤枠②の部分)に「無線信号の強度を移動先指定タスクに通知する」と記載がある。
よって、空欄iは「無線信号の強度」で確定する。
空欄hとjは塊で見ていこう。
上記赤枠①の部分を見てみると、「高度測定・障害物検知タスク」が「障害物情報として移動先指定タスクに通知する」と記載がある。
これで空欄hが「高度測定・障害物検知タスク」、空欄jが「場外物情報」と確定する。
最後に(2)である。
ここが一番この問題では難しい。
では見ていこう。
まず、時間を要する理由を分析してみる。
では、表2に戻ろう。
現状、障害物検知には3段階のステップに分かれる。
しかも、移動先指定タスクや姿勢制御タスクは周期で動くタスクであるため待ちが発生しやすい仕様になっている。
これを改善するために高度測定・障害物検知で障害物を検知したら移動先指定タスクを飛ばして姿勢制御タスクに通知するように変更する内容を(2)で問われている。
空欄kは現状存在しない姿勢制御タスクの処理を追加する内容だ。
ヒントは移動先指定タスクにある。
ここを飛ばす仕様に変更したということは、この移動先指定タスクで実行していた障害物に関する判断を姿勢制御タスクで実施してあげる必要がある。
その解答が上記赤枠②の最初に書かれている。
「移動方向に障害物があった」場合という条件判断だ。
これが空欄kの解答である。
そして空欄jも移動先指定タスクに解答がある。
続きを読んでいくと、「ホバリングの指示を姿勢制御タスクに通知する」という箇所が見つかる。
つまり、この「ホバリングの指示」を姿勢制御タスクに追加しないとホバリングに移行できなくなってしまい、機能変更による不具合につながる。
よって、空欄jは「ホバリングに移行する」という解答になる。
今回のまとめと次回予告
平成30年度 午後Ⅰ試験 問1の解き方のプロセスを紹介した。
このレベルの問題を標準に持ってくるととんでもないことが起こる。
それを次回投稿したいと思う。
その他にも午後Ⅰ試験の解答の仕方もまとめていますので、是非読んでみて下さい。
ここまで長い内容を読んでいただき、ありがとうございました!
コメント