応用情報技術者試験 過去問 2025年(令和7年) 春期 午後 問7
電動キックボードのシェアリングシステム
G 社は,電動キックボード(以下、電動KBという)のシェアリングシステム(以下、本システムという)を開発している。本システムは,利用者に対し,電動 KB の貸出し,使用及び返却をさせるものである。本システムを利用する場合には,利用者が事前にスマートフォン(以下、スマホという)に専用アプリケーションプログラム(以下、アプリという)をインストールし,利用者情報を登録して,利用者 ID を取得しておく必要がある。電動 KB の外観を図 1 に,本システムの主な構成を図 2 に,本システムの主な構成要素を表 1 に示す。


構成要素名 | 機能概要 |
---|---|
制御部 |
|
駆動部 |
|
表示部 | 制御部表面のディスプレイに,電動 KB の車体の速度(以下,現在速度という)及び電池残量を表示する。 |
ブレーキ | 利用者がブレーキレバーを握ると作動し,機械的に車体を減速させる。 |
速度センサー | 現在速度を計測する。 |
ライト | 前照灯,尾灯,最高速度表示灯,制動灯などで構成され,用途に応じて点灯,消灯する。 |
電池 | 制御部,駆動部,表示部,速度センサー,ライトなどに電力を供給する。 |
スマホ |
|
管理サーバ | 利用者情報,電動 KB の情報の管理などを行う。 |
[本システムの利用方法]
利用開始前の電動 KB は,車輪がロックされた状態で,専用の貸出し用及び返却用の駐車スペース(以下,ポートという)に,駐車している。本システムには,複数のポートがあり,各ポートで電動 KB の貸出し又は返却を行う。なお,ポート以外の場所では,電動 KB の貸出し及び返却を行うことはできない。電動 KB の利用手順を表 2 に示す。
利用方法 | 詳細手順 |
---|---|
利用者が電動 KB を借りる場合 | ① 利用者がポートに駐車している任意の電動 KB に近づき,アプリで電動 KB の車体に貼られている 2 次元バーコードから,車体の識別情報である車体 ID を読み取る。 |
② アプリで電動 KB を返却するポート(以下,返却ポートという)を予約する。 | |
③ アプリで「貸出し」を選択する。その結果,車体 ID に対応した電動 KB の車輪のロックが解除される。 | |
利用者が電動 KB で走行する場合 | ① 利用者は,手押しで初速をつけて,地面を蹴りながら電動 KB に乗車する。 |
② 利用者がアクセルを押すと,アクセルの操作量に応じて,電動 KB はモーターのトルクを発生させて最高速度(20km/時)まで加速することができる。 | |
③ 利用者は,アクセルを用いて加速,又はブレーキレバーを用いて減速させて電動 KB を操作する。 | |
利用者が電動 KB を返却する場合 | ① 予約した返却ポートに,利用中の電動 KB を駐車する。 |
② アプリで「返却」を選択する。その結果,利用中の車体 ID に対応した電動 KB の車輪がロックされる。 |
[電動 KB の状態の遷移]
電動 KB の状態の遷移を図 3 に示す。

注記 簡略化のために,一部の状態だけを図に示している。
[電動 KB の動作概要]
電動 KB の動作概要を次に示す。
- 利用開始前の電動 KB は,車輪をロックした待機中状態でポートに駐車している。
- 待機中状態で利用者がアプリで「貸出し」を選択すると,電動 KB はアプリを介した管理サーバからの指示によって車輪のロックを解除して停止中状態になる。
- 停止中状態で手押しなどによって 0.3km/時以上になると,走行準備状態になる。
- 走行準備状態で手押しなどを続けて 3km/時以上になると,加速可能状態になる。
- 加速可能状態でアクセルを押すと,走行中状態になり次の動作のいずれかを行う。
- - 現在速度が最高速度未満の場合は,アクセルの操作量に応じて,モーターのトルクの発生を制御する。
- - 現在速度が最高速度に達した場合は,最高速度表示灯を点灯させ,モーターのトルクを抑制する。
- 走行中状態でアクセルを戻すと,加速可能状態になる。
- 走行準備状態,加速可能状態,走行中状態で 0.1km/時未満が一定時間継続すると停止中状態になる。
- 停止中状態で利用者がアプリで「返却」を選択したとき,管理サーバは(ア)ある情報を確認してから,返却の指示を行う。電動 KB はアプリを介した管理サーバからの指示によって車輪をロックし,待機中状態になる。
- 状態に関係なく,ブレーキレバーを握ると,機械的にブレーキが掛かる。
[本システムで使用する主なメッセージ]
本システムで使用する主なメッセージを表 3 に示す。
メッセージ名 | 送信元 | 送信先 | 構成データ名 |
---|---|---|---|
貸出し要求 | アプリ | 管理サーバ | 車体 ID,利用者 ID,返却ポート,位置情報 |
貸出し指示 | 管理サーバ | アプリ | 車体 ID,利用者 ID |
貸出し応答 | アプリ | 管理サーバ | 車体 ID,利用者 ID,車輪ロック解除結果(成功・失敗) |
返却要求 | アプリ | 管理サーバ | 車体 ID,利用者 ID,位置情報 |
返却指示 | 管理サーバ | アプリ | 車体 ID,利用者 ID |
返却応答 | アプリ | 管理サーバ | 車体 ID,利用者 ID,車輪ロック結果(成功・失敗) |
車輪ロック指示 | アプリ | 電動 KB | 車体 ID |
車輪ロック応答1) | 電動 KB | アプリ | 車体 ID,結果(成功・失敗) |
車輪ロック解除指示 | アプリ | 電動 KB | 車体 ID |
車輪ロック解除応答2) | 電動 KB | アプリ | 車体 ID,結果(成功・失敗) |
現在情報 | 電動 KB | アプリ | 車体 ID,電動 KB の状態,現在速度 |
注1) 車輪ロック応答の結果が失敗のときは,車輪ロック指示のメッセージを 1 回だけ再送する。
注2) 車輪ロック解除応答の結果が失敗のときは,車輪ロック解除指示のメッセージを 1 回だけ再送する。
[電動 KB の制御部のソフトウェア構成について]
電動 KB の制御部では,リアルタイム OS を使用する。制御部の主なタスクの処理概要を表 4 に示す。
タスク名 | 処理概要 |
---|---|
メイン |
|
速度計測 |
|
モーター | メインタスクから現在速度及び電池残量の情報を受けると,現在速度及び電池残量をディスプレイに表示し,最高速度表示灯を制御する。 |
表示 | アクセルの操作量を計測し,メインタスクとモータータスクに通知する。 |
アクセル |