エンベデッドシステムスペシャリスト 2022年 午後1 問03
無人店舗システムに関する次の記述を読んで、設問に答えよ。
C社は、オンラインショップと連携する無人店舗システムを開発している。オンラインショップに登録済みの来店者(以下、利用者という)が、オンラインショップで使用するID情報(以下、会員IDという)を用いて入店すると、無人店舗システムは、利用者が購入したい商品を持って退店するだけで自動的に決済を行う。さらに、店内での利用者の行動(以下、行動情報という)を収集して、オンラインショップで活用する。無人店舗システムの概略図を図1に、無人店舗システムの主な構成要素を表1に示す。


〔無人店舗システムの動作概要〕
① 利用者がオンラインショップ用アプリケーションプログラムに表示されたQRコードを入店ユニットにかざして入店すると、制御部はその利用者の買い物の状況を管理するための仮想のカート(以下、仮想カートという)を割り当て、追跡ユニットによる追跡処理及び行動情報の収集を開始する。
② 利用者が棚から商品を手に取ると、制御部は、棚管理ユニットが検知した利用者の座標と追跡ユニットで検知した利用者の座標を突き合わせることで会員IDとの紐づけを行い、その利用者の仮想カートに、手に取った商品の情報を登録する。商品が棚に戻された場合も同様の手順で会員IDとの紐づけを行い、その利用者の仮想カートからその商品の情報を削除する。
③ 追跡ユニットの情報から利用者の退店を検知すると、制御部はその利用者の仮想カートの情報及び行動情報をECサーバに送信する。
④ ECサーバで決済が完了すると、利用者のオンラインショップ用アプリケーションプログラムに決済の情報が通知される。
なお、無人店舗システムでは、利用者が商品を手に取りそのまま自分の鞄に入れることは問題ないが、ほかの利用者のQRコードによる入店、(ア)店内でほかの利用者への商品の手渡し、別の棚に商品を戻すことは禁止している。
〔追跡処理〕
店内の天井には複数のLIDARが設置されている。追跡ユニットでは、まず、各LIDARから点群データを収集し、フィルタリング処理、同じ座標空間へのマッピング処理などの前処理を実施する。これによって、店内全体を一つの座標空間として把握することができる。次に、この座標空間にマッピングされた点群データ及び入店後の利用者の座標などから追跡処理を実施する。最後に、制御部へのデータの送信などの後処理を行っている。各処理の処理時間は、前処理が最大20ミリ秒、後処理が最大10ミリ秒であり、追跡処理は1m当たり最大0.2ミリ秒である。さらに、利用者の追跡を行うためには、追跡ユニットの一連の処理を1秒間に16回実施する必要がある。
なお、LIDARの点群データが十分に取得できない部分では正常に利用者を検知できない。利用者を検知するためには少なくとも床から50cm以上の高さまで赤外レーザー光が照射されている必要がある。また、複数のLIDARの照射範囲が重複するように設置することで、隙間なく広い範囲での追跡処理が可能である。複数LIDARの照射範囲の例を図2に示す。

〔行動情報〕
利用者の退店時にECサーバに送信される行動情報の電文フォーマット及びデータサイズを表2に示す。

設問1:無人店舗システムの仕様について答えよ。
設問1(1)
問題文を見る各商品の下にある重量計測ユニットは、利用者が商品を手に取った、又は戻したことを検知する以外に、ほかの業務にも活用可能である。どのようなことに活用可能か。25字以内で答えよ。
模範解答
棚に陳列された商品の在庫状況を把握すること
解説
解答の導き方
この設問では、重量計測ユニットを商品の取得・返却の検知以外にどう活用できるかを考えます。
まず、表1には、重量計測ユニットについて「1g単位での重量の測定が可能」とあります。さらに、重量の変化を検知したときだけでなく、棚管理ユニットからの要求に応じて「現在の重量を送信する機能」もあります。
各商品はそれぞれの下にある重量計測ユニットで測定できるため、現在の重量を確認すれば、棚に商品が残っているか、どの程度残っているかを把握する手掛かりになります。商品ごとの重量が分かっていれば、残っている数量の推定にも利用できます。
したがって、商品を手に取ったことの検知に加えて、棚に陳列された商品の在庫状況の把握に活用できます。
誤りやすいポイント
- 重量の変化を検知して商品を手に取った、又は戻したことを判断する用途だけに注目し、現在の重量を取得できる点を見落とす。
- 在庫を把握するのではなく、決済や利用者の行動追跡に使うと答える。
- 商品ごとの重量を測定できる点を踏まえず、店舗全体の総重量を測るものとして考える。
FAQ
Q: 重量の変化を検知する機能だけでも在庫状況は分かりますか?
A: 商品の増減を記録すれば在庫を更新できます。加えて、現在の重量を取得すれば、棚に残っている商品の状態を確認する手掛かりになります。
A: 商品の増減を記録すれば在庫を更新できます。加えて、現在の重量を取得すれば、棚に残っている商品の状態を確認する手掛かりになります。
Q: 在庫数まで把握できるのですか?
A: 商品ごとの重量が分かっていれば、測定した重量から残りの数量を推定できます。設問では、在庫状況の把握と答えるのが適切です。
A: 商品ごとの重量が分かっていれば、測定した重量から残りの数量を推定できます。設問では、在庫状況の把握と答えるのが適切です。
Q: 在庫状況を把握すると、どのような業務に役立ちますか?
A: 商品の残量を把握し、補充が必要な商品を確認する業務に役立ちます。
A: 商品の残量を把握し、補充が必要な商品を確認する業務に役立ちます。
関連キーワード: 重量計測、重量センサー、在庫管理、棚卸し
設問1(2)
問題文を見る行動情報について、(a)、(b)に答えよ。
(a) 利用者が店内で次に示す行動をしたとき、退店時にECサーバに送信される行動情報のデータサイズは何バイトか。整数で答えよ。ここで、各棚には異なる種類の商品が置かれているものとする。
5か所の棚の前で5秒以上立ち止まり、うち4か所の棚でそれぞれ一つの商品を手に取り、三つの商品を鞄に入れ、一つの商品は棚に戻す。その後、立ち止まらずに上記とは異なる棚から一つの商品を手に取って鞄に入れ、退店する。
(b) 購入した商品だけではなく手に取った商品の情報もECサーバに送信することで、オンラインショップのどのような機能に活用できるか。25字以内で具体的に答えよ。
模範解答
(a):122
(b):その会員へのおすすめ商品として表示する機能
解説
解答の導き方
(a) 表2では、データサイズが固定の項目と、件数に応じてサイズが変わる項目があります。まず、それぞれを分けて計算します。
-
固定項目
ヘッダ、会員ID、入店日時、退店日時は、それぞれ8バイトです。したがって、合計は
バイトです。 -
立寄り情報
表2では、立ち止まった棚の数に加え、棚ごとに「棚の座標(4) + 滞在時間(4)」を記録します。5か所の棚で5秒以上立ち止まっているので、
バイトです。
その後に立ち止まった棚は、5秒以上立ち止まっていないため、この数には加えません。 -
手に取った商品の情報
手に取った商品は、立ち止まった棚で4種類、その後に立ち止まらずに寄った別の棚で1種類です。各棚には異なる種類の商品があるため、合計5種類です。
表2の形式は、種類数の2バイトと、商品ID 4バイトを種類ごとに記録するものなので、
バイトです。
棚に戻した商品も「手に取った商品の情報」には含まれます。 -
購入した商品の情報
鞄に入れた商品は、最初に手に取った商品のうち3種類と、その後に手に取った1種類の合計4種類です。種類数の2バイトに加え、種類ごとに商品のID 4バイトと商品数2バイトを記録するので、
バイトです。
棚に戻した商品は購入していないため、この情報には含めません。
以上を合計すると、バイトです。
(b) 本文では、購入した商品だけでなく、店内での行動情報もオンラインショップで活用するとしています。手に取った商品には、購入せず棚に戻した商品も含まれます。その情報から会員の関心を把握できるため、その会員へのおすすめ商品をオンラインショップで表示する機能に活用できます。
誤りやすいポイント
- 「手に取った商品の情報」と「購入した商品の情報」を混同しないようにします。棚に戻した商品は、前者には含まれますが、後者には含まれません。
- 商品の個数ではなく、表2で指定された「種類数」を数えます。この問題では、異なる棚の商品は異なる種類なので、種類数と手に取った商品数が一致します。
- 立寄り情報に含めるのは、5秒以上立ち止まった棚です。立ち止まらずに商品を手に取った棚は、立寄り情報の件数には加えません。
- 購入した商品の情報では、商品IDだけでなく商品数も記録するため、種類ごとに6バイト必要です。
FAQ
Q: 棚に戻した商品は、購入した商品の情報にも含めますか?
A: 含めません。手に取った商品の情報には含めますが、購入した商品の情報は鞄に入れた商品を基に数えます。
A: 含めません。手に取った商品の情報には含めますが、購入した商品の情報は鞄に入れた商品を基に数えます。
Q: 立ち止まらずに商品を手に取った棚は、立寄り情報に含めますか?
A: 含めません。立寄り情報は、5秒以上立ち止まった棚について記録する項目です。
A: 含めません。立寄り情報は、5秒以上立ち止まった棚について記録する項目です。
Q: 手に取った商品の情報をオンラインショップで活用する狙いは何ですか?
A: 購入には至らなかった商品も含めて関心を捉え、その会員におすすめ商品を表示するためです。
A: 購入には至らなかった商品も含めて関心を捉え、その会員におすすめ商品を表示するためです。
関連キーワード: データサイズ計算、可変長データ、行動ログ、購買情報、レコメンド
設問1(3)
問題文を見る本文中の下線(ア)について、この行為を行った場合、システム上、利用者の意図しない状態になる可能性がある。どのような状態か。35字以内で答えよ。
模範解答
手渡した利用者の仮想カートにその商品が登録されたままの状態
解説
解答の導き方
-
商品を手に取ったときの処理を確認します。本文では、利用者が商品を棚から取ると、棚管理ユニットと追跡ユニットが検知した座標を突き合わせて会員IDと紐づけ、その利用者の仮想カートに商品を登録すると説明されています。つまり、商品を棚から取った人のカートに商品が登録されます。
-
商品を棚に戻したときは、同様に利用者を特定し、その利用者の仮想カートから商品を削除します。商品をカートから削除する処理は、棚に戻されたことをきっかけに行われる仕組みです。
-
これに対して、商品を別の利用者に手渡す行為は、棚への返却ではありません。本文に記載された処理には、手渡しをきっかけに、商品の登録先を別の利用者の仮想カートへ移す処理はありません。
したがって、商品を棚から取った利用者が別の利用者に商品を手渡すと、商品はその人の手元から離れても、仮想カートには登録されたままになります。
誤りやすいポイント
- 商品を受け取った利用者のカートに、商品が自動で登録されると考えないようにします。本文で説明されている登録のきっかけは、棚から商品を手に取ることです。
- 手渡しを棚に戻す場合と同じだと考えないようにします。商品が棚に戻されないため、カートから削除する処理は行われません。
- 商品を手渡した人と、商品を受け取った人の状態を混同しないようにします。問題となるのは、手渡した人の仮想カートに商品が残ることです。
FAQ
Q: 商品を受け取った人の仮想カートに商品が登録されないのはなぜですか?
A: 商品を受け取っただけでは、棚から手に取ったことを示す検知がないためです。本文の仕組みでは、棚から取った人の会員IDに商品を紐づけます。
A: 商品を受け取っただけでは、棚から手に取ったことを示す検知がないためです。本文の仕組みでは、棚から取った人の会員IDに商品を紐づけます。
Q: 商品を棚に戻した場合は、どうしてカートから削除できるのですか?
A: 棚管理ユニットが棚への返却を検知し、追跡ユニットの座標と照合して利用者を特定するためです。手渡しでは棚への返却が起きないので、同じ削除処理にはなりません。
A: 棚管理ユニットが棚への返却を検知し、追跡ユニットの座標と照合して利用者を特定するためです。手渡しでは棚への返却が起きないので、同じ削除処理にはなりません。
関連キーワード: 状態管理、位置情報、データ同期、イベント処理
設問2:無人店舗システムの処理について答えよ。
設問2(1)
問題文を見る重量計測ユニットでは、重量センサーが出力する電圧を基に重量を測定する。重量計測ユニットに10kgの物を置いたときの重量センサーの出力が15ミリVだった場合、重量計測ユニットでは、何マイクロVの分解能で測定できる必要があるか。答えは小数第2位を四捨五入して、小数第1位まで求めよ。
模範解答
1.5
解説
解答の導き方
重量計測ユニットは「1g単位での重量の測定が可能」とされています。したがって、重量が1g変化したときの電圧変化を識別できる分解能が必要です。
また、重量センサーは「重量に比例した電圧を出力」します。小問説明の「10kgの物を置いたときの重量センサーの出力が15ミリV」という条件から、重量1g当たりの電圧変化を求めます。
10kgは10,000gなので、1g当たりの電圧変化は、
です。 ですから、
となります。よって、1gの重量変化を測定するには、1.5マイクロVの分解能が必要です。
誤りやすいポイント
- 15ミリVを10で割るだけでは、1kg当たりの電圧変化になります。1g当たりにするには、10kgを10,000gに換算します。
- 0.0015ミリVをマイクロVに換算するとき、 を使います。したがって、0.0015ミリVは1.5マイクロVです。
- 重量に比例した電圧が出力されるため、10kgに対する出力から1gに相当する電圧を比例計算できます。
FAQ
Q: 分解能とは、この問題では何を意味しますか?
A: 識別できる最小の電圧変化です。ここでは、重量1gの変化に相当する電圧を識別できる必要があります。
A: 識別できる最小の電圧変化です。ここでは、重量1gの変化に相当する電圧を識別できる必要があります。
Q: なぜ10kgを10,000gに換算するのですか?
A: 求めたいのは1g当たりの電圧変化だからです。重量の単位をgにそろえると、10kgは10,000gです。
A: 求めたいのは1g当たりの電圧変化だからです。重量の単位をgにそろえると、10kgは10,000gです。
Q: 出力電圧が重量に比例することは、計算にどう関係しますか?
A: 重量が一定の割合で変化すれば、電圧も同じ割合で変化します。そのため、10kgに対する出力を基に、1gに相当する電圧を求められます。
A: 重量が一定の割合で変化すれば、電圧も同じ割合で変化します。そのため、10kgに対する出力を基に、1gに相当する電圧を求められます。
関連キーワード: 重量センサー、分解能、比例関係、単位換算
設問2(2)
問題文を見る棚管理ユニットが、重量計測ユニットからデータを収集する方式を検討した。重量計測ユニットが重量の変化を検知した際に棚管理ユニットに送信する方式ではなく、棚管理ユニットから各重量計測ユニットに順番に問い合わせる方式を採用した。その理由を15字以内で答えよ。
模範解答
データの競合を避けるため
解説
解答の導き方
-
表1には、同じ棚の重量計測ユニットが「棚管理ユニットと共通のバスで接続」されているとあります。つまり、複数の重量計測ユニットが同じ通信経路を使います。
-
また、同時にデータを送受信して競合すると「データは保証されない」とあります。重量の変化を検知したユニットがそれぞれ自動的に送信する方式では、複数のユニットが同時に送信し、データが競合するおそれがあります。
-
棚管理ユニットから各ユニットへ順番に問い合わせれば、通信するユニットを順に制御できます。そのため、データの競合を防ぐことができます。したがって、採用理由は「データの競合を避けるため」です。
誤りやすいポイント
- 重量の変化を検知する方式と、棚管理ユニットが順番に問い合わせる方式の違いを、単なる通信開始者の違いだけで捉えないようにします。重要なのは、共通のバス上で複数のデータ送信が競合する可能性です。
- 問い合わせ方式の理由を、通信速度の向上や消費電力の削減と取り違えないようにします。本文で明示されている問題は、データが競合した場合に保証されないことです。
FAQ
Q: 共通のバスで通信が競合すると、なぜ問題になるのですか?
A: 本文にあるとおり、競合した場合にデータが保証されません。受信データの欠落や誤りにつながるおそれがあります。
A: 本文にあるとおり、競合した場合にデータが保証されません。受信データの欠落や誤りにつながるおそれがあります。
Q: 重量計測ユニットが変化を検知したときに送信する方式は、必ず競合しますか?
A: 必ずではありませんが、複数のユニットが同時に変化を検知して送信すると、競合する可能性があります。順番に問い合わせることで、その可能性を抑えられます。
A: 必ずではありませんが、複数のユニットが同時に変化を検知して送信すると、競合する可能性があります。順番に問い合わせることで、その可能性を抑えられます。
関連キーワード: 共通バス、データ競合、ポーリング方式、割込み通知
設問2(3)
問題文を見る〔追跡処理〕について、(a)、(b)に答えよ。
(a) LIDARを2.5mの高さに設置した場合、1台のLIDARで測定可能な追跡処理の範囲は何か。答えは小数第2位を四捨五入して、小数第1位まで求めよ。ここで、円周率は3.14とし、死角はないものとする。また、LIDARの厚みは無視できるものとする。
(b) 追跡ユニットでは、それぞれの処理に最大の処理時間が掛かるとした場合、最大で何測定可能か。答えは小数第2位を四捨五入して、小数第1位まで求めよ。ここで、本文に記載した処理以外の処理時間は無視できるものとする。
模範解答
(a):37.7
(b):162.5
解説
解答の導き方
(a) 1台のLIDARで測定可能な範囲
利用者を検知するには、赤外レーザー光が「床から50cm以上の高さまで」照射されている必要があります。そのため、床面そのものではなく、床から50cmの高さで照射範囲の端を考えます。
LIDARの設置高さは2.5mなので、LIDARからその高さまでの垂直距離は、
です。また、本文にはLIDARの「画角は120度」とあります。照射範囲の中心から端までの角度は、その半分の60度です。
照射範囲の断面を直角三角形とみると、半径は次のように求められます。
したがって、測定可能な範囲を円として面積を計算します。問題文の指示どおり円周率を3.14とすると、
小数第2位を四捨五入すると、37.7です。
(b) 追跡ユニットで測定可能な最大範囲
本文では、追跡ユニットの一連の処理を「1秒間に16回実施する必要がある」とされています。したがって、1回の処理に使える時間は、
です。
追跡処理の前処理と後処理は順に実行され、それぞれの最大時間は20ミリ秒、10ミリ秒です。よって、追跡処理に使える時間は、
となります。
さらに、追跡処理は1当たり最大0.2ミリ秒かかります。32.5ミリ秒で測定できる範囲は、
です。したがって、追跡ユニットの処理時間から求めた最大範囲は162.5です。
誤りやすいポイント
- (a)では、LIDARの高さ2.5mをそのまま三角形の高さにしないようにします。利用者の検知に必要な高さは床から50cm以上なので、使う垂直距離はです。
- 画角120度は照射範囲全体の角度です。半径を求めるときは、その半分の60度を使います。
- (a)で求めるのは円の面積です。三角比で求めた半径を、円の面積の式に代入します。
- (b)では、1秒間に16回処理するため、1回当たりの時間は62.5ミリ秒です。1秒分の処理時間をそのまま追跡処理に使えるわけではありません。
- 追跡処理に使える時間を求める際は、前処理と後処理の時間を差し引きます。また、0.2ミリ秒は1当たりの処理時間なので、測定範囲は残り時間を0.2で割って求めます。
FAQ
Q: (a)で床面ではなく、床から50cmの高さを基準にするのはなぜですか?
A: 利用者を検知するには、少なくとも床から50cm以上の高さまで赤外レーザー光が届く必要があるためです。その高さでの照射範囲の端が、検知可能な範囲を決めます。
A: 利用者を検知するには、少なくとも床から50cm以上の高さまで赤外レーザー光が届く必要があるためです。その高さでの照射範囲の端が、検知可能な範囲を決めます。
Q: (b)で追跡処理の時間を求めるとき、前処理と後処理を差し引くのはなぜですか?
A: 1回の処理に使える時間には前処理、追跡処理、後処理が含まれるためです。各処理を順に実行するので、前処理と後処理の時間を除いた分が追跡処理に使えます。
A: 1回の処理に使える時間には前処理、追跡処理、後処理が含まれるためです。各処理を順に実行するので、前処理と後処理の時間を除いた分が追跡処理に使えます。
Q: 162.5は、1台のLIDARが照射できる範囲ですか?
A: いいえ。これは追跡処理に使える時間から求めた、追跡ユニットの処理能力上の範囲です。1台のLIDARの照射範囲とは別に考えます。
A: いいえ。これは追跡処理に使える時間から求めた、追跡ユニットの処理能力上の範囲です。1台のLIDARの照射範囲とは別に考えます。
関連キーワード: 視野角、三角比、円の面積、処理周期、処理時間見積り
設問3:追跡処理の性能改善について答えよ。
追跡処理が全体の処理のボトルネックになっていることから、より広い範囲に対応するために、追跡ユニットのCPUを4コアのプロセッサに変更して、追跡処理を並列に実施する次の二つの方式について検討した。
方式1は、従来の処理をそれぞれのコアで順番に実施する方式である。各コアでは、次の点群データを受信するまでの時間が長くなるので、追跡処理に掛ける時間を長くすることができる。
方式2は、前処理でマッピングした座標空間を二等分に分割して、分割した座標空間ごとにコアを割り当てて追跡処理を並列に実施する方式である。ただし、分割した座標空間のつなぎ合わせの処理(以下、つなぎ合わせ処理という)が必要となるので、全体の座標空間の5%分を重複して処理する必要がある。さらに、つなぎ合わせ処理として2ミリ秒の処理時間が追加で必要となる。
検討した二つの方式について、各コアの処理の流れを図3に示す。ここで、前処理と後処理の処理時間及び追跡処理の処理速度は、1コアのプロセッサのときと同じとし、記載した処理以外の処理時間は無視できるものとする。


設問3(1)
問題文を見る方式1と方式2を比較した場合、同じLIDARの台数でより広い範囲の測定が可能なのはどちらの方式か。
模範解答
方式1
解説
解答の導き方
同じLIDARの台数なので、点群データを得られる範囲の条件は同じです。どちらがより広い範囲を測定できるかは、1回の処理で追跡処理に使える時間から、処理できる面積を求めて比べます。
-
本文では、追跡ユニットの一連の処理を「1秒間に16回実施する必要がある」とされています。図3の周期 は ミリ秒です。各処理の時間は、前処理が最大20ミリ秒、後処理が最大10ミリ秒、追跡処理が1m当たり最大0.2ミリ秒です。
-
方式1では、図3(a)のとおり各コアが ごとに順番に前処理を始め、同じコアが次に前処理を始めるのは 後です。1回の処理に使える時間は ミリ秒で、前処理と後処理の30ミリ秒を除くと、追跡処理に使える時間は次のとおりです。
処理できる範囲は m です。
- 方式2では、図3(b)のとおり2コアが組になり、座標空間を二等分して追跡処理を並列に行います。同じ組が次の前処理を始めるまでの間隔は ミリ秒です。図3(b)を見ると、コア1がつなぎ合わせ処理と後処理を行っている間に、組のもう一方のコア2が次の点群データの前処理を始めています。つなぎ合わせ処理と後処理の合計12ミリ秒は前処理の20ミリ秒の間に終わるので、次の追跡処理の開始を遅らせません。したがって、追跡処理に使える時間は から前処理の時間だけを引いた次の値です。
1コアで処理できる範囲は m、2コア合わせて m です。
- 方式2では「全体の座標空間の5%分を重複して処理する必要がある」ので、実際に測定できる範囲を とすると、 より m です。方式1の m の方が広いため、答えは方式1です。
誤りやすいポイント
- 「2コアで並列に処理する」ことだけを見て、方式2の方が広い範囲を測定できると判断しないようにします。方式2は1回の周期が で、方式1の より短くなります。
- 方式1で、1コアの処理時間を と取り違えたり、4コア分の範囲を合計したりしないようにします。4コアは同じ範囲を時間差で順番に担当しています。
- 方式2では、つなぎ合わせ処理と後処理は次の前処理と並行して行われるので、追跡処理の時間からは引きません。一方、5%の重複分は実際の測定範囲に含めないように、 で割ります。
FAQ
Q: 方式1では、なぜ1コアが 分の時間を使えるのですか?
A: 4コアが ずつずらして順番に処理を始めるので、同じコアに次の点群データが回ってくるのは 後だからです。その間はほかの3コアが処理を担当します。
A: 4コアが ずつずらして順番に処理を始めるので、同じコアに次の点群データが回ってくるのは 後だからです。その間はほかの3コアが処理を担当します。
Q: 方式2の5%の重複は、各コアの範囲に5%ずつ加えるのですか?
A: いいえ。本文では全体の座標空間の5%分とされているので、2コアの合計処理範囲を実際の測定範囲の1.05倍として扱います。
A: いいえ。本文では全体の座標空間の5%分とされているので、2コアの合計処理範囲を実際の測定範囲の1.05倍として扱います。
Q: 測定範囲では劣る方式2には、どのような利点がありますか?
A: 1回分の点群データを2コアで分担して短い時間で処理し終えるので、点群データを受け取ってから結果を出力するまでの遅延(レイテンシ)が小さくなります。設問3(2)で問われている点です。
A: 1回分の点群データを2コアで分担して短い時間で処理し終えるので、点群データを受け取ってから結果を出力するまでの遅延(レイテンシ)が小さくなります。設問3(2)で問われている点です。
関連キーワード: 並列処理、パイプライン処理、処理周期、レイテンシ、負荷分散
設問3(2)
問題文を見る方式1と方式2を比較した場合、方式2が優れている点は何か。20字以内で答えよ。
模範解答
出力データのレイテンシが小さい
解説
解答の導き方
-
方式1と方式2の違いは、追跡処理の進め方です。方式1は「従来の処理をそれぞれのコアで順番に実施する」ので、1回分の処理では、前処理、追跡処理、後処理を順に行います。
-
方式2は、前処理で作った座標空間を二等分し、分割した範囲ごとにコアを割り当てて追跡処理を並列に行います。そのため、図3では、前処理の後に二つのコアが同時に追跡処理を行い、その後につなぎ合わせ処理と後処理を行う流れになっています。
-
出力データのレイテンシは、データの処理を始めてから、その処理結果を出力するまでの時間です。したがって、図3では、前処理の開始から後処理の完了までを見ると、方式1は約、方式2は約です。方式2にはつなぎ合わせ処理が追加されますが、追跡処理を並列に行うことで全体の処理完了が早くなっています。
この処理時間の差から、方式2の優れている点は、出力データのレイテンシが小さいことと判断できます。
誤りやすいポイント
- どちらの方式も4コアを使うため、「方式2だけが複数コアを使う」と考えないようにします。違いは、追跡処理を1回分のデータについて並列に行うかどうかです。
- 測定可能な範囲の広さと、出力データのレイテンシは別の観点です。この設問では、図3の処理開始から出力までの時間を比較します。
- 方式2には、座標空間の重複処理とつなぎ合わせ処理があります。ただし、それらの追加処理を含めても、図3では方式2の方が後処理を早く完了しています。
FAQ
Q: レイテンシとは何ですか?
A: データの処理を始めてから、その処理結果が出力されるまでの時間です。処理を開始する頻度とは異なります。
A: データの処理を始めてから、その処理結果が出力されるまでの時間です。処理を開始する頻度とは異なります。
Q: 方式2では、追跡処理以外も並列に行うのですか?
A: 図3では、前処理の後に二つのコアが追跡処理を並列に行います。その後、つなぎ合わせ処理と後処理を行います。
A: 図3では、前処理の後に二つのコアが追跡処理を並列に行います。その後、つなぎ合わせ処理と後処理を行います。
Q: 方式2の追加処理は、レイテンシの比較に影響しませんか?
A: 影響します。方式2にはつなぎ合わせ処理などがありますが、図3の処理の流れでは、それらを含めても方式1より早く後処理が完了します。
A: 影響します。方式2にはつなぎ合わせ処理などがありますが、図3の処理の流れでは、それらを含めても方式1より早く後処理が完了します。
関連キーワード: 並列処理、レイテンシ、前処理、追跡処理、後処理
設問3(3)
問題文を見る方式2の測定範囲について、次の記述中のa~cに入れる適切な数値を、小数第1位を四捨五入して整数で答えよ。
それぞれの処理に最大の処理時間が掛かるとした場合、1回の追跡処理の処理時間はaミリ秒であり、その時間内に1コアが測定可能な範囲はb である。方式2では一部の範囲を重複して処理するため、追跡ユニットが実際に測定可能な範囲は最大c である。
模範解答
a:105
b:525
c:1,000
解説
解答の導き方
方式2では、図3のようにコア1とコア2、コア3とコア4が交互に処理します。まず、処理の間隔を求めます。本文には「追跡ユニットの一連の処理を1秒間に16回実施する必要がある」とあるので、処理周期を とすると、
です。同じ2コアの組は交互の処理のうち一方を担当するため、次に同じ組が処理を始めるまでの時間は です。
この時間のうち、追跡処理の前に行う前処理には最大20ミリ秒掛かります。したがって、追跡処理に使える時間は、
です。図3では追跡処理の後に、つなぎ合わせ処理と後処理が続きます。ここで求めるのは追跡処理に使える時間なので、それらの時間は追跡処理の時間からは差し引きません。
次に、本文には追跡処理の時間が「1m当たり最大0.2ミリ秒」とあります。105ミリ秒で1コアが処理できる範囲は、
です。
方式2では、2コアが分割された範囲を並列に処理するので、重複分を含む処理範囲は、
となります。本文には「全体の座標空間の5%分を重複して処理する」とあるため、実際に測定する範囲を とすると、重複分を含む範囲は です。
したがって、実際に測定可能な範囲は です。
誤りやすいポイント
- 1秒間に16回の処理が必要なので、 は1秒を16で割って求めます。LIDARが点群データを取得する頻度と混同しないようにします。
- 方式2では同じ2コアの組が2周期ごとに担当するため、追跡処理に使える時間を求める際は を使います。
- 1コア当たりの処理範囲を求めるときは、処理時間を「1m当たり0.2ミリ秒」で割ります。
- 重複分は測定範囲そのものの5%です。2コア分の処理範囲から5%を単純に引くのではなく、実際の範囲に重複分を加えたものが2コア分の処理範囲になると考えます。
FAQ
Q: なぜ2コア分の処理範囲をそのまま実際の測定範囲にできないのですか。
A: 分割した範囲の境界でつなぎ合わせ処理を行うため、全体の座標空間の5%分を重複して処理する必要があるからです。
A: 分割した範囲の境界でつなぎ合わせ処理を行うため、全体の座標空間の5%分を重複して処理する必要があるからです。
Q: 前処理のほかに、つなぎ合わせ処理や後処理の時間も105ミリ秒から引くのではありませんか。
A: 105ミリ秒は追跡処理に使える時間です。図3では、つなぎ合わせ処理と後処理は追跡処理の後に行うため、追跡処理の時間とは分けて考えます。
A: 105ミリ秒は追跡処理に使える時間です。図3では、つなぎ合わせ処理と後処理は追跡処理の後に行うため、追跡処理の時間とは分けて考えます。
Q: 「1m当たり最大0.2ミリ秒」から処理範囲を求めるとき、なぜ掛け算ではなく割り算を使うのですか。
A: 1mを処理する時間が0.2ミリ秒なので、処理に使える時間を0.2ミリ秒で割ると処理できる面積が求まります。
A: 1mを処理する時間が0.2ミリ秒なので、処理に使える時間を0.2ミリ秒で割ると処理できる面積が求まります。
関連キーワード: 並列処理、処理周期、負荷分散、重複処理、処理能力



