令和3年度 秋期 エンベデッドシステムスペシャリスト試験 午後I 問題 問3 スマート畜産システムの活動判定とRSSIによる位置推定
学習ガイド
首輪デバイスで牛の活動状態を判定し、牛舎サーバで健康状態を管理するスマート畜産システムの問題です。気圧と加速度のセンサ値からの状態判定、タイマ割込みを使う理由、送信時間と1日の消費電力量の計算、RSSIを使った区画の判定が問われます。消費電力量は動作モードごとの消費電力と時間から求めます。区画の判定では、境界線が二つのビーコンから等しい距離にあることを使います。
この記事で押さえる論点
- 加速度センサと気圧センサの値の変化から対象の活動状態を判定する論理を説明できる
- LPWAの通信仕様に基づく通信時間の算出と、動作モードごとの消費電力量を計算できる
- RSSI(受信信号強度)の特性を利用し、複数ビーコンからの値の比較によって位置を特定できる
- 通信周期がもたらす制御遅延や、GPS廃止に伴うシステム要件の変化を述べられる
出題情報
- 出題
- 2021(R3)秋 エンベデッドシステムスペシャリスト 午後I 問3
- 配点
- 50点満点
- 模範解答
- 公表(設問ごとに掲載)
出題趣旨・採点講評(IPA 公表)
畜産業では家畜の健康状態管理の効率化が必要となっている。近年,小電力広域無線と各種センサを用いたIoT機器の畜産業への導入が進められている。
本問では,牛の健康状態を管理するスマート畜産システムを題材として,組込みシステムの開発に必要となる,要求仕様の理解力,各種センサを使い分ける能力,及びシステム改善に伴う要求仕様の変更への対応能力を問う。
問3では,牛の健康状態を管理するスマート畜産システムを題材に,各種センサデータの判定,通信制御,及び仕様変更要求への対応について出題した。全体として正答率は平均的であった。
問題本文
問3 スマート畜産システムに関する次の記述を読んで,設問1〜3に答えよ。
C社は,牛の健康状態を管理するスマート畜産システム(以下,畜産システムという)を開発している。畜産システムは,牛の活動状態の判定などを行う首輪デバイス,牛の活動状態を管理する牛舎サーバ,首輪デバイスと牛舎サーバ間の通信を中継するアクセスポイント(以下,APという)などで構成される。牛舎サーバから首輪デバイスごとに付与される個別のID(以下,牛IDという)を基に牛を区別し,管理している。畜産システムは,平坦な地形の牧場への導入を想定している。畜産システムの構成を図1に示す。

図の説明テキスト
スマート畜産システムの構成図。左側に「牧草地」があり、柵の中に「首輪デバイスを付けている牛」がいる。牛から「無線通信」で、右側の「牛舎」内にある「AP」へ通信が繋がっている。牛舎内にはLANがあり、AP、「牛舎サーバ」、「ルータ」が接続されている。ルータからは外部の「インターネット」を示す雲のアイコンへ線が延びている。
〔畜産システムの概要〕
首輪デバイスは,加速度センサ,気圧センサなどで構成される。各センサから収集したデータを分析して,牛の活動状態を判定する。その結果を判定データとして,AP経由で牛舎サーバに送信する。また,スピーカを搭載しており,音声を再生する。
牛舎サーバは,判定データを集計して牛の健康状態を分析し,牛舎サーバの管理画面に表示するとともに,牛の異常又は首輪デバイスの異常を検知したらインターネットを介して生産者に通知する。また,基準となる気圧を計測する気圧センサを備える。
〔首輪デバイスの概要〕
首輪デバイスの構成を図2に,首輪デバイスの主な構成要素の概要を表1に示す。

図の説明テキスト
首輪デバイスのハードウェア構成を示すブロック図。
- 上部には「小電力無線モジュール」と「フラッシュメモリ」のブロックがある。
- 中央の点線枠は「MCU」を示し、内部上段には「CPU」「ROM」「RAM」「タイマ」「無線I/F」「バスI/F」があり、これらは太い共通バス線に双方向の矢印で接続されている。
- 無線I/Fは上部の「小電力無線モジュール」と線(矢印なし)で接続されている。
- バスI/Fは上部の「フラッシュメモリ」と線(矢印なし)で接続されている。
- MCU内部の下段には「SIO」「DAC」「ADC」のブロックがあり、これらも共通バス線に双方向の矢印で接続されている。
- MCU外部の下部には各種センサ等が配置されている。
- SIOからは下方向へ線が伸び、「加速度センサ」「気圧センサ」「GPSモジュール」に接続されている。
- DACからは「スピーカ」へ接続されている。
- ADCからは下方向へ線が伸び、「温度センサ」「電池」へ接続されている。
- 図の左下・中央・右下に注記として「SIO:シリアルI/F」「DAC:D/Aコンバータ」「ADC:A/Dコンバータ」と記載されている。

図の説明テキスト
| 構成要素名 | 機能概要 |
|---|---|
| MCU | ・温度センサの値を読み取る。 ・加速度センサの値を読み取る。 ・気圧センサの値を読み取り,高さに換算する。 ・GPSモジュールの位置情報及び現在時刻を読み取る。 ・牛の活動状態を判定する。 ・判定データと音声データをフラッシュメモリに保存する。 ・DACを介して,スピーカから音声を再生する。 ・タイマからの割込み信号を受信すると,CPUはスリープ状態から起床する。 ・無線I/Fを使用して,AP経由で牛舎サーバと通信を行う。 |
| 小電力無線モジュール | ・判定データを牛舎サーバに送信する。 ・牛舎サーバから受信した指示をMCUに通知する。 |
| 温度センサ | ・牛の体温を計測し,ADCに出力する。 |
| 加速度センサ | ・3軸の加速度を計測し,シリアルデータとしてMCUのSIOに送信する。 |
| 気圧センサ | ・気圧を計測し,シリアルデータとしてMCUのSIOに送信する。 |
| GPSモジュール | ・屋外では,位置情報,現在時刻を計測し,シリアルデータとしてMCUのSIOに送信する。 ・GPS衛星から電波を受信したときに割込み信号を生成する。 |
| 電池 | ・二次電池であり,首輪デバイスに電源を供給する。 |
〔牛の活動状態の判定〕
加速度センサ,気圧センサの情報を利用して,牛の活動状態を判定する。牛の活動状態と牛の動きを表2に示す。

図の説明テキスト
| 牛の活動状態 | 牛の行動 | 首の状態 |
|---|---|---|
| 横臥 | 伏せていて,腹ばいである。 | 首が低い位置にあり,静止している。 |
| 横臥反芻 | 伏せていて,腹ばいである。食べた物を口に戻して咀嚼している(以下,この動作を反芻という)。 | 首が低い位置にある。あごを左右に繰返し動かすことから,首が左右に小さく振動する。 |
| 起立 | 立っている。首を下げていない。歩いていない。 | 首が高い位置にあり,静止している。 |
| 起立反芻 | 立っている。首を下げていない。歩いていないが,反芻の動作を行っている。 | 首が高い位置にある。あごを左右に繰返し動かすことから,首が左右に小さく振動する。 |
| 歩行 | 立っている。首を下げていない。歩いている。 | 首が高い位置にある。体全体を動かすことから,首が前後左右上下に大きく振動する。 |
| 採食 | 立っているが,首を下げている。歩いていない。 | 首が低い位置にあり,前方に傾いている。地面の牧草を,円を描くように舌で絡めとって食べることから,首が前後左右に振動する。 |
首輪デバイスの位置が低くなると気圧が高くなり,首輪デバイスの位置が高くなると気圧が低くなる。気圧センサは,首輪デバイスの高さを 10 センチメートルの分解能で測定できる。加速度センサは,牛の前後方向,左右方向,上下方向の加速度を検出できる。首輪デバイスの取付け位置と加速度センサの軸方向を図3に示す。

図の説明テキスト
左側に首輪デバイスを取り付けた牛の頭部の模式図と、右側に加速度センサの軸方向を示す3次元座標系の図がある。
- 左向きの牛の頭部の首の位置に首輪が巻かれ、首の下側の部品が矢印で「首輪デバイス」と示されている。
- 座標系の 3 本の軸はいずれも両端に矢印がある両方向の矢印で、水平の軸が「X(牛の前後方向)」、左上から右下への斜めの軸が「Y(牛の左右方向)」、垂直の軸が「Z(牛の上下方向)」を示している。座標系の下に「加速度センサの軸方向」と記載されている。
〔首輪デバイスと牛舎サーバの通信仕様〕
- 通信には,920 MHz帯のLPWA(Low Power Wide Area)を使用しており,システム全体で 1 チャネルを共有する半二重通信が可能である。実効伝送速度は,5,000ビット/秒であり,通信可能距離は,最大3,000メートルである。
- 牛舎サーバと首輪デバイス間の通信には,ポーリング方式を用いる。
- 牛舎サーバと首輪デバイスの通信周期は,3分である。
- 牛舎サーバは,首輪デバイスごとに牛IDを付与する。
- 牛舎サーバは,首輪デバイスに対して牛ID順に送信要求メッセージ(以下,送信要求という)を送信する。送信要求には,牛IDのほか,牛舎サーバから首輪デバイスに対する指示及び現在時刻が含まれる。
- 首輪デバイスは,後述の“送受信モード”のときに送信要求を受信すると,判定データを牛舎サーバに送信する。
首輪デバイスの判定データの伝送フォーマットを表3に示す。

図の説明テキスト
右上に「単位 バイト」と記載あり。
| 計測項目 | ヘッダ | 牛ID | 平均体温 | 牛の活動状態 | 位置 | 電池残量 | 時刻データ |
|---|---|---|---|---|---|---|---|
| 1送信分のデータ量 | 4 | 2 | 2 | 1 | 58 | 2 | 6 |
〔首輪デバイスの動作〕
首輪デバイスの動作モードと首輪デバイスの動作の関係を表4に示す。

図の説明テキスト
| 動作モード | CPU | 無線 I/F | CPUクロック | GPSモジュール | 割込み要求元 | 消費電力(ミリW) |
|---|---|---|---|---|---|---|
| 計測判定モード | 動作 | OFF | 供給 | ON | タイマ,ADC,SIO | 90 |
| 送受信モード | 動作 | ON | 供給 | ON | タイマ,無線 I/F | 120 |
| スリープモード | 停止 | OFF | 停止 | ON | タイマ | 30 |
- 3分間隔でスリープモードから起床して,計測判定モードに移行する。各センサから収集したデータをサンプリングし,分析して牛の活動状態を判定する。牛の活動状態を判定後,ヘッダを除く表3の判定データをフラッシュメモリに保存する。計測判定モードの処理時間は30秒間で,その後送受信モードに移行する。
- 送受信モードに移行後,送信要求を受信したら送信処理を実行し,次回のサンプリングのための起床タイミングをタイマに設定する。送受信モードの処理時間は1.5秒間で,その後スリープモードに移行するものとする。
〔設問1の背景〕
ある牛の活動状態の判定における各センサ値の変化を図4に示す。

図の説明テキスト
上から「気圧」(縦軸 高/低)、「加速度X」「加速度Y」「加速度Z」(縦軸 +/-)の 4 つの波形が共通の横軸「時間」で並び、縦の破線で 7 つの区間に区切られている。
最下段「センサ値から判定した牛の活動状態」は、左から「①横臥」、「起立」、a、「起立」、b、「起立」、「起立反芻」。
区間ごとの波形:
- ①横臥:気圧は高い。加速度X・Y・Z はほぼ一定(細かな揺れのみ)。
- 起立:気圧は高から低へ下がる。加速度X・Y はほぼ一定、加速度Z に小さな揺れ。
- a:気圧は低い。加速度X・Y・Z とも大きく振動する(X と Z の振幅が特に大きい)。
- 起立:気圧は低いまま(区間の終わりでわずかに下がる)。加速度X・Y・Z はほぼ一定。
- b:気圧は低から高へ上がり、高いまま。加速度X は一段低い(-側の)値に移って小さく振動、加速度Y は小さく振動、加速度Z は一段高い(+側の)値に移ってほぼ一定。
- 起立:気圧は高から低へ下がる。加速度X・Z は元の値に戻ってほぼ一定、加速度Y はほぼ一定。
- 起立反芻:気圧は低い。加速度X・Z はほぼ一定、加速度Y は小さく規則的に振動する。
〔畜産システムの改良について〕
牛が食べた牧草の再生を管理するため,放牧エリアを区画1〜5に区分けした。あらかじめ全ての牛は,あるメロディ(以下,誘導メロディという)を聞かせることで区画1に戻るように教育してある。牧草を再生中のエリアに進入した牛に対しては,首輪デバイスのスピーカによって,誘導メロディを聞かせることにした。
首輪デバイスの消費電力削減のため,GPSの代わりに,小電力無線の受信信号強度(以下,RSSIという)を使用した測位方式を用いる。各区画にビーコンを設置し,首輪デバイスには無指向性のアンテナを追加して,アンテナで受信した各ビーコンのRSSIの値によって,牛の位置を判定する。各区画の境界線は,隣接する二つのビーコン間の中央を通る等距離にある線である。ビーコンの配置と区画を図5に示す。

図の説明テキスト
横長の長方形の外枠の中に、5 つの区画と 5 つのビーコン(丸付き数字①〜⑤)がある。
- 中央に太線のひし形があり、その内側が「区画1」。ひし形の中心にビーコン①がある。
- ひし形の上下の頂点から外枠の上辺・下辺へ垂直の太線、左右の頂点から外枠の左辺・右辺へ水平の太線が延び、ひし形の外側を 4 つに分ける:左上「区画2」、右上「区画3」、右下「区画4」、左下「区画5」。
- ビーコン②・③・④・⑤ はそれぞれ区画2・区画3・区画4・区画5 にあり、ひし形の外側で正方形の 4 頂点の位置に並ぶ。②–③、③–④、④–⑤、⑤–② は破線で結ばれ、その各辺の中点がひし形の頂点(境界線の交点)に当たる。
- ビーコン① と ②〜⑤ はそれぞれ破線で結ばれ、その中点でひし形の辺と交わる。
- 距離の弧:外側のビーコンから隣のひし形の頂点までに「L1」(各ビーコンの両側)、ビーコン① とビーコン②〜⑤ のそれぞれからひし形の辺までに「L2」が付いている。
- 「位置A」(黒丸)は、区画3と区画4の境界の水平線上(ひし形の右の頂点より右側)にある。
- 注記1 丸付き数字は,ビーコンの番号を示しており,それぞれビーコン1〜5である。
- 注記2 L1,L2は,距離を示しており,同じであれば等距離であることを示す。
RSSIの値は,距離が離れるほど減少する特性がある。あるタイミングで測定した,各牛IDに対する各ビーコンのRSSIの値を表5に示す。

図の説明テキスト
単位 dBm
| 牛ID | ビーコン1 | ビーコン2 | ビーコン3 | ビーコン4 | ビーコン5 |
|---|---|---|---|---|---|
| 1 | -76.2 | -53.4 | -79.4 | -82.8 | -79.1 |
| 2 | -72.6 | -79.3 | -79.2 | -74.3 | -74.4 |
| 3 | -75.4 | -72.3 | -80.9 | -81.2 | -75.5 |
設問と解答・解説
設問1
牛の活動状態の判定について,(1),(2)に答えよ。
図4中の下線①で牛の活動状態を“横臥”と判定した理由を30字以内で述べよ。
模範解答
気圧が高く,加速度センサが振動を検出していないから
採点基準
- 2点: 気圧が高いことと、加速度センサが振動を検出していないことの両方を正確に指摘できている。
- 1点: 気圧または加速度センサのいずれか一方の状態のみ言及しているか、理解が不十分な部分がある。
- 0点: 記述がない、または的はずれな回答である。
- 2点: 二つの根拠を用いて、論理的な理由として過不足なく明確に構成できている。
- 1点: 構成にやや不明瞭な点があり、論理的なつながりが弱い。
- 0点: 論理性が欠如している。
解説
図4の 下線① の区間を見ると、以下のことが読み取れます。
- 気圧 の値が「高」となっている。
- 加速度X、加速度Y、加速度Z のいずれも大きな変動がなく、ほぼ一定である(振動を検出していない)。
表2「牛の活動状態と牛の動き」の「横臥」の行を見ると、以下のように定義されています。
- 「首が低い位置にあり、静止している」
気圧センサは、首輪デバイスの位置が低くなると気圧が高くなります(〔牛の活動状態の判定〕より)。また、静止しているため加速度センサは振動を検出しません。
したがって、気圧が高く、加速度センサが振動を検出していない状態であるため、「横臥」と判定されています。
高得点のポイント
- 気圧が高いことを指摘できていること。
- 加速度センサが振動を検出していない(または静止している)ことを指摘できていること。
図4中の a に入れる適切な字句を,表2中の字句で答えよ。
模範解答
歩行
採点基準
- 5点: 「歩行」と正確に解答している。
- 0点: 部分的に合致するが正答とは認められない解答。
- 0点: 無回答、または全くの誤答。
解説
図4の a の区間を見ると、以下のことが読み取れます。
- 気圧 の値が「低」となっている。
- 加速度X、加速度Y、加速度Z のすべてが大きく振動している(特にXとZの振幅が大きい)。
気圧が低いことは、首輪デバイスが高い位置にある(首が高い位置にある)ことを示します。
すべての軸の加速度が大きく振動していることは、首が前後左右上下に大きく振動していることを示します。
表2「牛の活動状態と牛の動き」を参照すると、「首が高い位置にある」「体全体を動かすことから、首が前後左右上下に大きく振動する」状態は 「歩行」 です。
高得点のポイント
- 表2の中から「歩行」を正確に抜き出していること。
図4中の b に入れる適切な字句を,表2中の字句で答えよ。
模範解答
採食
採点基準
- 5点: 「採食」と正確に解答している。
- 0点: 部分的に合致するが正答とは認められない解答。
- 0点: 無回答、または全くの誤答。
解説
図4の b の区間を見ると、以下のことが読み取れます。
- 気圧 の値が「高」となっている。
- 加速度X と 加速度Y が小さく振動している。
- 加速度Z はほぼ一定で振動していない。
気圧が高いことは、首輪デバイスが低い位置にある(首が低い位置にある)ことを示します。
加速度Z(上下方向)は振動しておらず、X(前後方向)とY(左右方向)で振動が見られます。
表2「牛の活動状態と牛の動き」を参照すると、「首が低い位置にあり、前方に傾いている。地面の牧草を、円を描くように舌で絡めとって食べることから、首が前後左右に振動する」状態は 「採食」 です。
高得点のポイント
- 表2の中から「採食」を正確に抜き出していること。
設問1(1)は,正答率がやや高かったが,加速度センサのZ軸(上下方向)の解釈に誤りがある解答が散見された。一般的なセンサの動作原理は,IoTシステム・組込みシステム設計に非常に重要な知識であるので,是非身に付けてほしい。
設問2
首輪デバイスのシステム仕様と省電力仕様について,(1)〜(3)に答えよ。
スリープモードからの起床タイミングについて,首輪デバイスはGPS割込みではなくタイマ割込みを使用することにした。その理由を,動作環境の観点から30字以内で述べよ。ここで,消費電力削減は除くものとする。
模範解答
牛舎内ではGPSの電波を受信できない場合があるから
採点基準
- 2点: 牛舎内ではGPSの電波を受信できないことを正確に指摘できている。
- 1点: 電波が受信できないことには触れているが、環境(牛舎内)についての言及が不明瞭であるなど、部分的な理解にとどまる。
- 0点: 記述がない、または的はずれな回答である。
- 2点: 電波が受信できないことを理由として、論理的な文として適切かつ明確に構成できている。
- 1点: 構成にやや不明瞭な点があり、論理的なつながりが弱い。
- 0点: 論理性が欠如している。
解説
表1「首輪デバイスの主な構成要素の概要」における GPSモジュール の機能概要には、「屋外では、位置情報、現在時刻を計測し…」「GPS衛星から電波を受信したときに割込み信号を生成する」と記載されています。
牛舎は牛を収容する屋内の建物であり、牛は牧草地(屋外)だけでなく牛舎内にもいることがあります(図1は牧草地の牛と牛舎内のAP・牛舎サーバを示しています)。
屋内である牛舎内では、GPS衛星からの電波を受信できず、GPSモジュールが割込み信号を生成できない場合があります。
そのため、システムが要求する「3分間隔でスリープモードから起床して」という動作を確実に実行するためには、動作環境の影響を受けないタイマ割込みを使用する必要があります。
高得点のポイント
- 牛が牛舎内などの屋内にいる動作環境を想定できていること。
- 屋内(牛舎内)ではGPSの電波を受信できない(割込みが発生しない)ことを指摘できていること。
各首輪デバイスからの判定データが更新されていることを,牛舎サーバが判定したい。更新の有無の判定方法を25字以内で答えよ。
模範解答
牛IDごとの時刻データの更新を監視する。
採点基準
- 2点: 「牛ID」ごとの「時刻データ」の更新を確認することを正確に記述できている。
- 1点: 「時刻データ」の更新には触れているが、「牛IDごと」の観点が抜けているなど、部分的な理解にとどまる。
- 0点: 記述がない、または的はずれな回答である。
- 2点: 判定方法として論理的かつ明確に構成できている。
- 1点: 説明が冗長であるか、やや不明瞭な点がある。
- 0点: 論理的に構成されていない。
解説
表3「首輪デバイスの判定データの伝送フォーマット」を見ると、1送信分のデータの中に 牛ID と 時刻データ が含まれています。
〔首輪デバイスと牛舎サーバの通信仕様〕には、牛舎サーバからの送信要求に「現在時刻」が含まれ、それを受信した首輪デバイスが判定データ(時刻データを含む)を送信することが記載されています。
したがって、牛舎サーバは受信したデータに含まれる「時刻データ」を確認し、それが以前受信したデータから更新されているか(時間が進んでいるか)を監視することで、判定データが最新のものに更新されているかを判定できます。
高得点のポイント
- 「牛ID」ごとに管理・監視することを記述できていること。
- 送信データに含まれる「時刻データ」の更新を確認することを記述できていること。
首輪デバイスの通信時間と省電力仕様について答えよ。
首輪デバイスは判定データを3分間隔で牛舎サーバへ送信する。このとき,送信に掛かる時間は何秒か。答えは小数第3位を四捨五入して,小数第2位まで求めよ。ここで,通信は正常に行われるものとする。
模範解答
0.12
解説
表3「首輪デバイスの判定データの伝送フォーマット」を用いて、1回分の送信データ量を計算します。
- ヘッダ:4 バイト
- 牛ID:2 バイト
- 平均体温:2 バイト
- 牛の活動状態:1 バイト
- 位置:58 バイト
- 電池残量:2 バイト
- 時刻データ:6 バイト
合計データ量 = バイト
〔首輪デバイスと牛舎サーバの通信仕様〕より、実効伝送速度は ビット/秒です。
バイトをビットに変換して計算します。
送信に掛かる時間は、データ量を伝送速度で割ることで求められます。
小数第3位以下はないため、四捨五入して 0.12 秒となります。
首輪デバイスの1日当たりの消費電力量は何ミリWhか。答えは小数第1位を四捨五入して,整数で求めよ。
模範解答
978
解説
首輪デバイスの1周期は3分(180秒)です。1日(24時間 = 1440分)に実行される周期の回数は以下の通りです。
1周期(180秒)あたりの各モードの動作時間と消費電力(表4より)は以下のようになります。
- 計測判定モード
- 動作時間:30秒
- 消費電力:90 ミリW
- 消費電力量:
- 送受信モード
- 動作時間:1.5秒
- 消費電力:120 ミリW
- 消費電力量:
- スリープモード
- 動作時間: 秒
- 消費電力:30 ミリW
- 消費電力量:
1周期の合計消費電力量は、これらを足し合わせます。
1日(480周期)の合計消費電力量を計算します。
これを ミリWh(1時間は3600秒)に換算します。
小数第1位以下はないため、整数で 978 となります。
設問2(3)(b)は,正答率が低かった。消費電力量は基本的な内容であるので,是非理解してほしい。
設問3
畜産システムの改良について,(1)〜(3)に答えよ。
牛の位置とRSSIの値について答えよ。
図5のビーコン1から最も離れている牛の牛IDの番号を,表5中の牛IDで答えよ。
模範解答
1
解説
〔畜産システムの改良について〕に、「RSSIの値は、距離が離れるほど減少する特性がある」と記載されています。
したがって、ビーコンから最も離れている牛は、そのビーコンのRSSIの値が最も小さい(マイナス方向に値が大きい)牛IDとなります。
表5「各牛IDに対する各ビーコンのRSSIの値」の「ビーコン1」の列を確認します。
- 牛ID 1:-76.2 dBm
- 牛ID 2:-72.6 dBm
- 牛ID 3:-75.4 dBm
この中で値が最も小さいのは 牛ID 1(-76.2 dBm)です。
図5の位置Aに牛がいるとき,RSSIはどのような値であるか。ビーコン1,ビーコン3,ビーコン4を用いて,30字以内で述べよ。
模範解答
ビーコン3とビーコン4が同じでビーコン1より大きい。
採点基準
- 2点: ビーコン3と4が同じ値であり、かつビーコン1より大きい値であることを正確に指摘できている。
- 1点: いずれか一方の大小関係または等号関係のみを指摘しているなど、部分的な理解にとどまる。
- 0点: 記述がない、または的はずれな回答である。
- 1点: 関係性を明確かつ論理的に説明できている。
- 0点: 説明が不明瞭で論理的でない。
解説
図5「ビーコンの配置と区画」において、位置A は区画3と区画4の境界線上(水平方向の直線上)にあります。
区画の境界線は「隣接する二つのビーコン間の中央を通る等距離にある線」であるため、位置Aから ビーコン3 と ビーコン4 までの距離は等しくなります。したがって、ビーコン3とビーコン4のRSSIの値は同じになります。
また、位置Aは図の右側にあり、中央にある ビーコン1 よりも、右側にあるビーコン3やビーコン4の方が距離が近くなります。
RSSIの値は距離が離れるほど減少する(近いほど値が大きくなる)ため、距離が近いビーコン3とビーコン4のRSSIの値は、ビーコン1のRSSIの値よりも大きくなります。
高得点のポイント
- ビーコン3とビーコン4のRSSIの値が同じであることを指摘できていること。
- ビーコン3および4のRSSIの値が、ビーコン1よりも大きいことを指摘できていること。
表5の牛ID 1の首輪デバイスが取り付けてある牛のいる区画を,図5中の区画1〜5から選び,区画の数字で答えよ。
模範解答
2
解説
表5において、牛ID 1 の各ビーコンに対するRSSIの値は以下の通りです。
- ビーコン1:-76.2 dBm
- ビーコン2:-53.4 dBm
- ビーコン3:-79.4 dBm
- ビーコン4:-82.8 dBm
- ビーコン5:-79.1 dBm
最も値が大きい(距離が最も近い)のは ビーコン2 の -53.4 dBm です。
各区画の境界線は隣接する二つのビーコン間の中央を通る等距離の線なので、牛はRSSIが最も大きい(最も近い)ビーコンの区画にいます。ビーコン2は 区画2 にあるため、牛ID 1がいる区画は「2」となります。
表5の牛ID 2の首輪デバイスが取り付けてある牛のいる区画を,図5中の区画1〜5から選び,区画の数字で答えよ。
模範解答
1
解説
表5において、牛ID 2 の各ビーコンに対するRSSIの値は以下の通りです。
- ビーコン1:-72.6 dBm
- ビーコン2:-79.3 dBm
- ビーコン3:-79.2 dBm
- ビーコン4:-74.3 dBm
- ビーコン5:-74.4 dBm
最も値が大きい(距離が最も近い)のは ビーコン1 の -72.6 dBm です。
図5を見ると、ビーコン1は 区画1 の中心に配置されています。したがって、牛ID 2がいる区画は「1」となります。
表5の牛ID 3の首輪デバイスが取り付けてある牛のいる区画を,図5中の区画1〜5から選び,区画の数字で答えよ。
模範解答
2
解説
表5において、牛ID 3 の各ビーコンに対するRSSIの値は以下の通りです。
- ビーコン1:-75.4 dBm
- ビーコン2:-72.3 dBm
- ビーコン3:-80.9 dBm
- ビーコン4:-81.2 dBm
- ビーコン5:-75.5 dBm
最も値が大きい(距離が最も近い)のは ビーコン2 の -72.3 dBm です。
各区画の境界線は隣接する二つのビーコン間の中央を通る等距離の線なので、牛はRSSIが最も大きい(最も近い)ビーコンの区画にいます。ビーコン2は 区画2 にあるため、牛ID 3がいる区画は「2」となります。
誘導メロディの再生指示を牛舎サーバ側で行う場合は,牛が牧草を再生中のエリアに進入しても,すぐに誘導メロディを再生できないときがある。その理由を15字以内で答えよ。
模範解答
通信周期が3分であるから
採点基準
- 2点: 通信周期が3分であることを明確に指摘できている。
- 1点: 通信間隔やタイムラグについて言及しているが、「3分」という具体的な仕様に触れていない。
- 0点: 記述がない、または的はずれな回答である。
- 1点: すぐに再生できない理由として説得力があり、必要十分な回答になっている。
- 0点: 理由として説得力を欠く。
解説
〔首輪デバイスと牛舎サーバの通信仕様〕には、以下の記載があります。
- 「牛舎サーバと首輪デバイスの通信周期は、3分である。」
- 「牛舎サーバは、首輪デバイスに対して...送信要求メッセージを送信する。送信要求には...指示...が含まれる。」
- 「首輪デバイスは、後述の“送受信モード”のときに送信要求を受信すると...」
首輪デバイスは、3分間隔の通信周期で送受信モードになったタイミングでしか、牛舎サーバからの指示(メロディの再生指示など)を受信できません。
したがって、牛が再生中のエリアに進入したとしても、次の通信周期が来るまでは最大で約3分間のタイムラグが発生し、すぐに誘導メロディを再生できない場合があります。
高得点のポイント
- 通信周期が3分であることを理由として挙げていること。
GPSからRSSIを使用した測位方式に変更した場合,GPSから現在時刻を取得することができなくなる。対策として,首輪デバイスに時計モジュールを追加し,時刻データを得ることにした。この処理に関連して,更に必要となるソフトウェアの機能を,30字以内で述べよ。
模範解答
首輪デバイスと牛舎サーバの時刻を合わせる機能
採点基準
- 2点: サーバの時刻と首輪デバイスの時刻を合わせる機能であることを正確に記述できている。
- 1点: 時刻の補正や取得に言及しているが、サーバと合わせるという観点が不明瞭である。
- 0点: 記述がない、または的はずれな回答である。
- 2点: 機能の目的や内容が論理的かつ明確に構成できている。
- 1点: 説明が冗長であるか、やや不明瞭な点がある。
- 0点: 論理的に構成されていない。
解説
〔首輪デバイスと牛舎サーバの通信仕様〕には、牛舎サーバからの送信要求に「現在時刻」が含まれることが記載されています。
また、表3の伝送フォーマットに「時刻データ」が含まれることから、首輪デバイスは測定時の時刻を正確に記録・送信する必要があります。
GPSモジュールを使用していた際は、GPS衛星から正確な現在時刻を取得できました。しかし、時計モジュールに変更した場合、モジュール単体では時間の経過とともに時刻にズレが生じます。
そのため、3分ごとの通信周期において、牛舎サーバから送られてくる送信要求に含まれる「現在時刻」を受信し、首輪デバイスの時計モジュールの時刻を補正・同期する機能が新たに必要となります。
高得点のポイント
- 牛舎サーバの時刻と首輪デバイスの時刻を同期する(合わせる)機能であることを記述できていること。
設問3(2)は,正答率が平均的であったが,再生指示を牛舎サーバ側で行うという条件とは,直接関係がない解答が散見された。首輪デバイスと牛舎サーバの通信仕様について十分に理解した上で,正答を導き出してほしい。