救急救命センターと連携する
交通事故自動通報システムによる
交通弱者の被害軽減
― 平成 29 年度(中間報告) タカタ財団助成研究論文 ―
ISSN 2185-8950
研究代表者
中山 功一
研究実施メンバー
研究代表者
国立大学法人
佐賀大学
工学系研究科
准教授
中山
功一
研究協力者
国立大学法人
佐賀大学
医学部
教授
阪本
雄一郎
国立大学法人
佐賀大学
産学・地域連携機構
教授
佐藤
三郎
国立大学法人
佐賀大学
工学系研究科
客員研究員
大島
千佳
報告書概要
平成 29 年度は,事故検知/通報アプリケーションの改良と,ドローンによる事故状況 確認システム,および救急隊の到着時間を短縮するための救急車自動追従システムを開 発した. 具体的には,①落下時による衝撃を誤検知しない事故判別アルゴリズムを構築,②事 故発生時の音声データの取得機能を開発/実装,③スマートフォンの加速度センサ情報 から,移動モードを判別する機能の開発を行った.これらの成果により,事故発生時の 状況をより詳細に検知/通報できるようにした.これらの機能を,スマートフォンを所 持させたダミー人形と自動車との衝突実験により,有効に機能することを確認した. 事故現場上空からの撮影データを用いて,事故現場の 3 次元モデルを試験的に作成し た.また,事故現場までの飛行ルートを,ドローンが落下しても危険性の少ない河川や クリーク上空を選んで飛行するアルゴリズムを開発した.この結果,佐賀市内で発生し た事故に対して飛行する場合,そのルートの約 90%が,落下しても安全な地点の上空と なることがシミュレータ上で確認できた.さらに,緊急移動する救急車を常に追従する 自動飛行アルゴリズムにより,事故現場へと向かう救急車が,運転手からは見えない距 離にある進路前方の交通状況を,助手席から常に確認できるようになった.これにより, 渋滞を避けて,事故現場への移動が可能になると期待される. 歩行者や自転車の運転者が,自ら通報できないような事故にあった場合でも,本研究 で提案した交通事故の救急システムにより,事故の発生とその位置や音声,移動モード などの情報を,自動で通報できるようになった.また,通報された位置情報に従い,ド ローンを事故現場まで安全なルートで自動飛行させ,上空から事故の様子を動画で撮影 し,3 次元モデルを作成できるようになった.これらのシステムは試験段階であり,実用 化までに解決すべきいくつかの課題はある.これらの課題を踏まえつつ,交通事故の被 害を軽減につながる救命システムの開発を継続する.目 次
救急救命センターと連携する 交通事故自動通報システムによる交通弱者の被害軽減 第 1 章 はじめに 第 2 章 スマートフォンによる自動通報 2.1 ア プ リ ケ ー シ ョ ン の 目 的 2.2 アプリの概要 2.3 アプリの改良1:誤 検 知 の 防 止 2.4 アプリの改良2:事故状況の推測に必要なデータの記録 2.5 アプリの改良3:移動モードの識別アルゴリズム 2.6 衝突実験 2.7 実験結果 第 3 章 飛行マップ作成アルゴリズムの開発 3.1 ドローンによる確認システムの目的 3.2 システム全体の概要 3.3 クリークマップの作成アルゴリズムの開発 3.4 クリークマップの評価 第 4 章 自動追従アプリケーションの開発 4.1 開発環境 4.2 アプリケーションの概要 4.3 アプリケーションの詳細 4.4 車両の自動追従実験 4.5 考察 第 5 章 まとめと今後の課題 参考文献第 1 章
はじめに
佐賀県の人身事故発生件数は,5 年連続で全国ワーストであった[1][2].図 1.1 に示すよ うに,人身交通事故発生件数は,平成 28 年は 7,783 件,29 年は 6,765 件と減少してきたが, それでも全国で 2 番目に多い[3].さらに人口 10 万人あたりのけが人は平成 29 年も 1079 人 と,11 年連続でワーストである[3].特に歩行時や自転車運転時の被害が顕著である.その 中でも佐賀市は,常に全国でワーストを競っている状況である. 図 1.1 交通事故発生件数の推移 (出典:佐賀市役所「佐賀市における交通事故発生状況について」)筆 者 ら の 所 属 す る 佐 賀 大 学 で は , 先 進 事 故 自 動 通 報 シ ス テ ム ( Advanced Automatic Collision Notification : AACN)とドクターヘリシステム[4]を連動させる救急ヘリ病院ネ ットワーク(HEM-Net)[5]を導入している.自動車には AACN などの通報装置が装備されつつ ある.自転車や歩行者が事故にあった場合にも,自動で救急通報され,適切に救急救命され るシステムが期待される. 本研究では,交通事故の救急システムを提案している.まず,スマートフォンを用いて, 歩行者や自転車の運転者が,自ら通報できないような事故にあった場合でも,自動で事故発 生とその位置情報を通報する Android アプリケーション(以下,自動通報アプリ)を開発す る.次に,通報された位置情報に従い,小型の無人飛行機「ドローン」を事故現場まで自動 飛行させ,上空から事故の様子を動画で撮影し,救命センターに送信する Android アプリケ ーション(以下,自動操縦アプリ)を開発する.救命センターでは,自動通報アプリからの 通報と,自動操縦アプリから送信される上空からの映像をもとに,救急車やドクターヘリの 出動を判断する. 筆者らが提案している交通事故救急システムを図 1.2 に示す.図中の青枠で示した自動通 報アプリを 2 章で,赤枠で示したドローンの自動操縦アプリ,およびドローンによる撮影に ついて 3 章でそれぞれ述べ,4 章でまとめる. 図 1.2 救急システムの概念
第 2 章
スマートフォンによる自動通報
2.1 アプリケーションの目的 自 動 車 に は , 通 報 装 置 が 次 々 と 実 装 さ れ て い る . 一 方 , 歩 行 者 や 自 転 車 な ど の 交 通 弱 者 に 対 す る 通 報 装 置 が 少 な い . そ の た め , 交 通 事 故 が 起 き た と き に 通 報 が 遅 れ , 交 通 弱 者 が 亡 く な る 場 合 も 多 い . こ の 問 題 を 解 決 す る た め , 本 研 究 で は , 事 故 を 検 知 し て , 自 動 で , 仲 介 サ ー バ に 位 置 情 報 を 送 り , 病 院 に 事 故 情 報 を 送 る 「 自 動 通 報 ア プ リ 」 を 開 発 し た . 2.2 アプリの概要 このアプリは,スマートフォンの加速度セン サなどのデータから事故を検知する.事故を検 知すると,自動で仲介サーバに位置情報(G PS デ ー タ ) を送り,病院に事故情報(加速度デ ータ/音声データ/事故前後の G PS データ)を 送る.仲介サーバの G PS データをもとに,ドロ ーンを事故現場まで自動飛行させ,事故状況を 上空から撮影させる.病院側は撮影された映像 を見て,適切な対処法を検討する. アプリは,約 20 秒間の加速度データと GPS デ ータを常に保持し続ける.交通事故が起きたと き,交通弱者が持つスマートフォンには,異常 な加速度が生じる.アプリは,異常な加速度を 検知すると,アラームが鳴る.自力で通報でき る人や,スマートフォンを落としたことによる 異常な加速度の検知の場合には,10 秒以内にボ タンを押してアラームを止める.これにより, 誤通報を防ぐ. 図 2.1 自動通報アプリの画面 2.3 アプリの改良1:誤検知の防止 落下など事故ではない衝撃を,事故として誤検知しない判別アルゴリズムを構築した.図 2.2 に,スマートフォンを落下させた場合の加速度センサの値の推移を示す.例えば 20cmの高さから落下させた場合,地面に衝突するまでに約 0.2 秒間の滞空時間がある.図 2.2 に示された通り,この間のスマートフォンは加速度がゼロの無重力状態となる.一方,図 2.3 に示した事故を想定した衝突実験における加速度データの推移から分かるように,事故 における衝撃は,重力加速度である約 10m/s2の加速度を検知し続けた状態から,強い衝撃 を受けている.この 2 つの加速度の推移の違いを検知するアルゴリズムを実装したことで, 落下時の衝撃を事故と誤検知することがほぼなくなった. 図 2.2 落下実験における加速度データの推移 図 2.3 衝突実験における加速度データの推移
2.4 アプリの改良2:事故状況の推測に必要なデータの記録 平成 28 年度までのアプリでは,事故の検知と位置 情報の通報は可能であったが,今年度はさらに,事 故発生前も含めた情報を保存できるように改良した. 具体的には,事故発生前後の音声データの記録によ り,自動車が事故直前に急ブレーキを踏んだかどう かが判定できるようになると期待される.また,事 故発生前後の GPS データの記録により,被害者がど の方向にどの程度の速度で移動している最中に事故 に遭ったのかが判定できると期待される. 図 2.4 事故データを記録した csv ファイルの確認画面 2.5 アプリの改良3:移動モードの識別アルゴリズム スマートフォンの加速度センサ情報から,移動モード(徒歩移動/自転車移動)を判別す る機能を開発した.データ判別機には,サポートベクターマシーン(SVM)を用いた.歩行 時と自転車走行時の 1 分間のデータを取得して学習させた SVM で分類したところ,98%の精 度で,スマートフォンを持つユーザが歩行中か自転車移動中かの識別に成功した. 現時点では,移動モードを事故の検知や被害状況の推定などには用いていない.今後,移 動モードに応じた事故検知アルゴリズムや,被害状況の推定アルゴリズムに応用できると期 待される. 2.6 衝突実験 本年度は,7 月と 12 月の 2 回にわたり,スマ ートフォンを装着したダミー人形を乗せた自転 車と自動車の衝突実験を行った.その様子を図 2.5~2.8 に示す.これらの実験の目的は,事故 の判断基準となる加速度データの取得と,改良 したアプリケーションの機能確認である.自転 車に乗せたダミー人形の腰に,スマートフォン
(Google:Nexus 5X,COVIA NETWORKS:FleaPhone
CP-D02)をそれぞれ 1 台ずつ設置した状態で,
衝突実験を行った.
図 2.5 7 月の衝突実験における 衝突時の様子
図 2.6 7 月の衝突実験における衝突後の様子
図 2.7 12 月の衝突実験における衝突時の様子
2.7 実験結果
7 月の衝突実験時における加速度の推移の例として,衝突時を図 2.9 に,衝突後を図 2.10 に,それぞれ示す.
図 2.9 7 月の衝突実験における衝突時の加速度の推移
12 月の衝突実験時における加速度の推移の例として,スマホを腰に装着した場合を図 2.11 に,スマホを自転車の前かごに設置した場合を図 2.12 に,それぞれ示す. 図 2.11 12 月の衝突実験における腰に装着したスマホの加速度の推移 図 2.12 12 月の衝突実験における自転車の前カゴに装着したスマホの加速度の推移 いずれも,加速度が重量加速度に近い 10m/s2程度の値から,その 10 倍程度の衝撃を検知し ている.さらに,事故後,1.0 秒前後にかけて,跳ね飛ばされて着地した際の衝撃を検知し ている.衝突実験の結果から,自転車などの交通弱者が事故の被害にあった場合に,スマホ のセンサデータから,スマホアプリが事故を検知できることが確認できた.また,事故を検 知した際に,事故発生前後の音声データや,GPS データが記録できることも確認した.
第 3 章
飛行マップ作成アルゴリズムの開発
3.1 ドローンによる確認システムの目的 火 災 や 事 故 が 発 生 す る と , 消 防 車 や 救 急 車 と い っ た 緊 急 車 両 が 出 動 す る . 火 災 や 事 故 現 場 の 周 辺 で は , 交 通 の 混 雑 が 発 生 す る [ 6 ] . 交 通 状 況 が 把 握 で き な け れ ば , 緊 急 車 両 の 到 着 ま で に 時 間 の ロ ス が 発 生 す る . 上 空 か ら の 情 報 が あ れ ば , 交 通 の 混 雑 を 避 け て 経 路 選 択 が で き , 緊 急 車 両 が 到 着 す る ま で の 時 間 短 縮 が 見 込 め る . 本 研 究 で は , 佐 賀 市 を 対 象 と し て , ド ロ ー ン を 用 い た 緊 急 車 両 の 自 動 追 従 シ ス テ ム を 提 案 す る . 佐 賀 市 は , ク リ ー ク ( 小 川 ) が 張 り 巡 ら さ れ た 地 形 で あ る . ド ロ ー ン の 墜 落 時 の リ ス ク を 抑 え る た め , 本 シ ス テ ム で 扱 う ド ロ ー ン は , ク リ ー ク 上 を 飛 行 し な が ら 緊 急 車 両 を 追 従 し , 上 空 か ら 移 動 経 路 の 状 況 把 握 を 支 援 す る . 本 研 究 で は , よ り 正 確 な 交 通 状 況 の 把 握 と , 1 秒 で も 早 い 緊 急 車 両 の 現 場 到 着 を 目 的 と す る . 3.2 システム全体の概要 本 シ ス テ ム で は , 救 命 救 急 活 動 の 支 援 に よ る 救 命 率 の 向 上 を 目 的 と し て い る . シ ス テ ム の 全 体 像 を 図 3 . 1 に 示 す . 交 通 事 故 が 発 生 す る と , 交 通 弱 者 の 持 つ ス マ ー ト フ ォ ン が 事 故 を 検 知 し , サ ー バ に 事 故 の 位 置 情 報 が 送 信 さ れ る . い ち 早 く 現 場 に 向 か い , 先 着 す る ド ロ ー ン ( 現 場 先 着 ド ロ ー ン ) は , 写 真 を 撮 影 し サ ー バ へ 送 信 す る . 事 故 現 場 の 画 像 は , サ ー バ を 介 し て 病 院 へ 送 信 さ れ , 事 故 状 況 の 把 握 に 用 い ら れ る . 緊 急 車 両 追 従 ド ロ ー ン は , 事 故 現 場 の 位 置 情 報 を 受 け 取 り ,ク リ ー ク 上 を 飛 行 し な が ら 救 急 車 を 追 従 す る .追 従 時 に , 上 空 か ら 救 急 車 の 進 路 を カ メ ラ で 撮 影 し , 救 急 車 に 送 信 す る こ と で , 交 通 状 況 の 把 握 を 支 援 す る . 本 研 究 で は , 緊 急 車 両 追 従 ド ロ ー ン ( 以 下 , ド ロ ー ン ) の 研 究 開 発 に 取 り 組 む . ド ロ ー ン の 安 全 な 飛 行 経 路 を 選 択 す る た め の ク リ ー ク マ ッ プ を 作 成 す る ア ル ゴ リ ズ ム の 研 究 開 発 と , ド ロ ー ン に 搭 載 す る 車 両 を 自 動 追 従 す る ア プ リ ケ ー シ ョ ン の 研 究 開 発 を 行 っ た .図3.1 事故救命支援システムの全体像 システム全体のうち,本研究では,図 3.2 に示すように,ドローンの緊急車両追従飛行に関係 する部分を開発する.本システムは,クリークマップ,自動追従アプリケーション,サーバ,ド ローンで構成される.緊急車両内には,ドローンのコントローラであるプロポ(送信機)と,プ ロポに接続したAndroid タブレット端末を載せる.自動追従アプリケーションは,Android タブ レット端末上で動作する.クリークマップは,自動追従アプリケーション内に含まれ,CSV 形式 で保存されている.ドローンは,プロポを介して自動追従アプリケーションと通信しながら,緊 急車両付近のクリーク上を飛行する.サーバは,インターネットを介して自動追従アプリケーシ ョンと通信を行う. 自動追従アプリケーションは,サーバから火災・事故現場の位置情報を取得し,付近のクリー クを目的地として設定する.自動追従アプリケーションは,クリークマップをドローンの飛行経 路の選択に用いる.自動追従アプリケーションは,プロポを介してドローンの位置情報とカメラ 映像を受け取りつつ自動追従の指示を与え,ドローンを指定された目的地までクリーク上で飛行 させながら,緊急車両を追従させる.
図3.2 本システムの構成 3.3 クリークマップの作成アルゴリズムの開発 開 発 す る ア ル ゴ リ ズ ム に よ る ク リ ー ク マ ッ プ 作 成 の 手 順 を 以 下 に 示 す . 1 . 地 図 ( 図 3 . 3 ) を ク リ ー ク 部 分 と そ の 他 の 二 値 画 像 に 変 更 ( 図 3 . 4 ) 2 . 二 値 画 像 に 対 し て 幅 1 ピ ク セ ル に 細 線 化 処 理 ( 図 3 . 5 ) 3 . 端 点 ・ 交 点 ・ 角 点 を 検 出 し , ノ ー ド と し て 登 録 ( 図 3 . 6 ) 4 . 橋 で 途 切 れ た と 推 定 さ れ る 端 点 を リ ン ク で 接 続 ( 図 3 . 7 ) 5 . 距 離 が 遠 す ぎ る ノ ー ド 間 に 新 規 ノ ー ド を 追 加 6 . ノ ー ド の 位 置 と 接 続 関 係 を C S V 形 式 で 出 力 現 在 は , 佐 賀 市 内 を 網 羅 す る ク リ ー ク マ ッ プ を 作 成 中 で あ る .
図 3 . 3 地 図 : O p e n S t r e e t M a p か ら 保 存 し た 画 像
図 3 . 5 Z h a n g - S u e n の 細 線 化 ア ル ゴ リ ズ ム に よ る 細 線 化 画 像
図 3 . 7 接 続 関 係 を 修 復 し た 拡 大 画 像
図 3 . 8 視 覚 化 し た ク リ ー ク マ ッ プ
3 . 4 ク リ ー ク マ ッ プ の 評 価 作 成 し た ク リ ー ク マ ッ プ ( 図 3 . 8 ) と ク リ ー ク 二 値 画 像 ( 図 3 . 4 ) の 差 分 を と り , ク リ ー ク マ ッ プ の 評 価 を 行 っ た . そ の 結 果 , 作 成 し た ク リ ー ク マ ッ プ の 8 9 . 8 % は , 実 際 の ク リ ー ク 上 に 位 置 し て い た . 約 1 0 % が ク リ ー ク 上 に 位 置 し な か っ た 理 由 は , 2 つ 考 え ら れ る . 1 つ 目 は , 地 図 上 で ク リ ー ク が 途 切 れ た 部 分 を 接 続 し た 際 に ,ク リ ー ク で は な い 部 分 に 新 た な 線 分 が で き た た め で あ る . こ れ は ,ク リ ー ク マ ッ プ の ノ ー ド 間 の 接 続 を 保 証 す る 上 で 必 要 な 線 分 で あ り , 減 ら す こ と は 困 難 で あ る . 2 つ 目 は , 角 点 検 出 の 精 度 で あ る . 現 在 , 角 点 の 検 出 は , カ ー ブ し て い る ク リ ー ク の 角 度 か ら 判 定 し て い る . ま た , ノ ー ド が 近 く に 存 在 す る 場 合 , 新 た な 角 点 は 追 加 で き な い よ う に し て い る . こ れ ら が 原 因 と な り , あ る べ き カ ー ブ が 検 出 さ れ て い な い 箇 所 や , 緩 や か な カ ー ブ を う ま く ト レ ー ス で き て い な い 箇 所 が あ る . そ の た め , ク リ ー ク マ ッ プ の 精 度 が 低 下 し て い る と 考 え ら れ る . 角 点 検 出 の 方 法 を 見 直 す こ と で , ク リ ー ク マ ッ プ の 精 度 向 上 が 期 待 で き る . ク リ ー ク マ ッ プ に 従 っ て 追 従 す る こ と で , 道 路 上 を そ の ま ま 追 従 す る の に 比 べ て 墜 落 リ ス ク を 1 / 1 0 程 度 ま で 低 減 で き る .
第 4 章
自動追従アプリケーションの開発
4.1 開発環境
表4.1 に自動飛行のアプリケーションの開発に要した環境を示す.Android/iOS の開発が可
能であるが,開発・デバッグが容易なAndroid アプリケーションとして開発を行った.本研究
で対象とするドローンは,DJI Phantom4 と DJI Inspire1+Zenmuse Z3 である.DJI Phantom4
のスペックを表4.2 に,DJI Inspire1+Zenmuse Z3 のスペックを表 4.3 に示す.アプリケーシ
ョンは,接続先のドローン機種を識別し,機種に応じて指示を変更できる.そのため,接続先
がDJI 社製のドローンであり DJI Mobile SDK に対応していれば,機種やカメラジンバル(カ
メラのブレを自動補正する装置)に依存することなく飛行指示を出すことが可能である.
表4.1 アプリケーションの開発・デバッグ環境
開発環境OS Windows10
IDE Android Studio 2.x
デバッグ端末 ASUS ZenPad3
デバッグ端末のOS Android 7.1
使用SDK DJI Mobile SDK for Android[7]
Google Map API[8]
表4.2 DJI Phantom4 のスペック 最大飛行速度 72km/h 最大フライト時間 28min GPS 精度 ±0.3m~1.5m 最大伝送距離 3.5km 撮影画像解像度 4K ズーム デジタル2 倍 ジンバル制御 Pitch 表4.3 DJI Inspire1+Zenmuse Z3 のスペック 最大飛行速度 79km/h 最大フライト時間 19min GPS 精度 ±2.5m 最大伝送距離 3.5km 撮影画像解像度 4K ズーム 光学3.5 倍,デジタル 2 倍 ジンバル制御 Roll,Pitch,Yaw
4.2 アプリケーションの概要
自動追従アプリケーションの概要を図4.1に示す.本アプリケーションは,MainActivity.java,
Dijkstra.java,CSVRead.java という 3 つの Java クラスからなる.CSVRead.java は,クリー
クマップを読み込み,各クラスにデータを返す.Dijkstra.java は,受け取ったクリークマップ を無向グラフとして読み取り,ドローンの現在位置から目的地までの最短経路を探索する. MainActivity.java は,受け取ったデータを使いドローンを自動操縦する.それぞれのクラスの 詳細については,次節で説明する. 図4.1 自動追従アプリケーションの概要 4.3 アプリケーションの詳細
4.3.1 CSVRead.java
本システムにおいてクリークマップは,全ノードの座標を保持するノードマップと,ノ ード同士の接続関係を保持するリンクマップから構成される.CSVRead.java は,それぞ れのマップを読み,全データを配列に格納して返す.また,与えられた緯度経度座標に最 も近いノードを返すメソッドを有する.4.3.2 Dijkstra.java
Dijkstra.java では,受け取ったクリークマップを無向グラフとして読み込み,ダイクスト ラ法[9]による最短経路探索を行う.ダイクストラ法とは,グラフ理論においてリンクの重み が負でない場合の単一始点最短経路問題を解くための最良優先探索によるアルゴリズムであ る. グラフをプログラムで扱う場合,隣接リストとして実装する方法と,隣接行列として実装 する方法の2 つがある.隣接リストでは,ノードごとにリンクを格納して管理し,隣接行列 では,行列を使いリンクを管理する.隣接リストでは,グラフが疎である場合に,存在しな いリンクを表すメモリ領域を必要としない.一般にダイクストラ法では,隣接リストを使っ た方がより効率が良いとされている.Dijkstra.java では,隣接リストを用いたダイクストラ 法による経路探索を実装した. 探索の重みは,ノード間の距離(m)を小数点以下で切り上げ,それぞれのリンクのコストと して設定している.佐賀市南部のクリークマップを使いダイクストラ法で経路探索を行った 結果を図 4.2 に示す.このクリークマップは,3 章で作成したものとは異なり,簡単のため にノード数を極力減らしたものである.ここでは,車両位置に依存しない経路探索を行って いるため,純粋な最短経路を導出している.図 4.2 では,全てのノードが接続しているよう に見えるが,実際にはクリークが途切れている箇所があり,接続関係にないノードが存在す る.そのため,ダイクストラ法による経路探索結果が遠回りしているように見えるが,接続 しているクリークを辿る経路の中から,正しく最短経路を導出している. 本システムでは,ドローンは車両を追従しながら目的地まで向かう.そのため,「ドローン の位置から,車両に近いノードを経由し,目的地へ至る最短経路」の探索を行い,探索結果 のうち車両に近いノードまでを飛行することが望ましい.追従時に飛行するのは車両に近い ノードまであるが,目的地までの最短経路が保証された状態で車両追従を行うことで,ドロ ーンは効率的に経路選択ができる. 現段階では,車両から200m 以内にあるリンクのコストを 1/8 に,車両から 400m 以内に あるリンクのコストを1/4 に,車両から 600m 以内にあるリンクのコストを 1/2 に変更して いる.このように,車両位置に応じて動的にリンクのコストを変更することで,経路探索結 果が車両位置付近のノードを経由するようにしている.車両位置によって動的に重みづけを 変更した経路探索結果を図 4.3 に示す.車両位置に応じて動的にリンクのコストを変更する と,探索結果はドローンの位置から目的地までの最短経路ではなくなるが,車両付近を経由 しつつ目的地へ向かう最短経路を得ることができる.もし,目的地を考慮せずにドローンの 位置から車両付近への経路探索と追従飛行を繰り返したとすると,ドローンに最も近いノー ドが行き止まりのクリークだった場合,ドローンは一度通ったクリークを後戻りしなければ ならず,飛行経路に無駄が生じる.「ドローンの位置を始点に,車両に近いノードを経由して 目的地へ至る最短経路」が常に保証される本手法では,目的地までスムーズに経路探索と追 従ができると考える.4.3.3 MainActivity.java
MainActivity.java では,アプリケーション画面の表示とドローンの自動追従制御全般を実 行する.自動追従制御アルゴリズムを図 4.4 に示す.このアルゴリズムに沿って機能の実装 を行った.アプリケーションを起動すると,1 秒おきにサーバとの通信が行われる.事故や 火災の位置情報がサーバにJSON 形式でアップロードされると,アプリケーションは,目的 地の緯度経度情報を取得し,目的地に最も近いノードをゴールとして設定する.また,画面 上の地図タップでも同様に,タップした位置に最も近いノードをゴールに設定することがで きる.ドローンのプロポと端末を接続すると,アプリケーションはドローンの種類,位置, 正面方向,飛行速度等にアクセスできるようになる. プロポと端末を接続し,ゴールノードが設定された状態で“GO”ボタンを押すと,自動追 従スレッドが実行される.ドローンは,高度120m まで自動で上昇し,現在位置から最も近 いノードへ移動する.車両が移動すると,ドローンは,ゴールノードまでの経路探索を行い, 選択されたノードリストのうち,現在のノードから車両位置に最も近いノードまでを辿る飛 行を実行する.これを目的地まで繰り返すことで,車両の自動追従を実現する.ゴールノー ドに到達したドローンは,自動追従スレッドを停止し,その場でホバリングし続ける. プロポと端末を接続し,アプリケーションが実験用ドローンであるInspire1 を検出すると, カメラジンバルの自動制御が実行される.ドローンの緯度経度と高度と向き,車両の緯度経 度から,車両が画面中心になる向きを計算し,カメラの向く方向を修正する.車両とドロー ンが240m 以上離れると,距離に応じて段階的に光学ズームを実行する.これらの機能によ って,“GO”ボタン押下以降一切ドローンの操作をすることなく,アプリケーション画面に 車両周辺の交通状況を映すことができる.開発の初期段階では,自動飛行の実行にはDJI Mobile SDK に実装されている Waypoint
Mission を用いた.Waypoint Mission とは,指定した緯度経度高度リストを順に自動飛行さ せる機能であり,実装が容易である.しかし,この機能は拡張性に欠ける上,車両追従実験 1 において速度面で不足があった.そのため,Waypoint Mission と同等の機能を有し拡張性
のある自動飛行機能を作成した.この機能をT-Waypoint Mission と名付ける.
T-Waypoint Mission は,ドローンの姿勢を直接制御する.T-Waypoint Mission のフロー
を図4.5 に示す.機体を前進させる場合は Pitch 値を,機体を回転させる場合は Yaw 値を変 化 さ せ る . こ れ は ,DJI Mobile SDK に 実 装 さ れ て い る 仮 想 コ ン ト ロ ー ラ で あ る VirtualStickMode を介して実行できる.ドローンは,ノードに到達すると次のノードに向け て回転する.次のノード方向への誤差が±0.5 度未満になると回転をやめ,前進を開始する. ドローンは,前進しながら常に次のノード方向との誤差を計算し,誤差が±0.1 度以上になっ た場合,飛行しながら少しだけ回転し方向の修正を行う.ドローンは,次のノードのまでの 距離が 3m 未満になると前進をやめ,更に次のノードに向け回転を開始する.これを繰り返 しゴールノードまで自動飛行するのがT-Waypoint Mission である. ノード上での回転角度が大きい場合,ドローンは停止する必要があるが,大きな回転を必 要としない場合,ノードに到達する度に停止するのは時間のロスに繋がる. そのため T-Waypoint Mission では,ドローンの現在位置と次のノードと更に次のノードのなす角が 15 度未満の場合,ノード上で停止することなく旋回しながら先のノードに向けて飛行する. 自動飛行シミュレート中のアプリケーション画面を図4.6 に示す.画面右下の地図では,
ドローン本体の位置と向きを赤いドローンアイコンで,車両の位置を黄色の車両アイコンで, ゴールの位置を青のG アイコンで表している.複数立っている青いピンは,経路探索結果の うち車両付近までのノードであり,T-Waypoint Mission の飛行経路である. 図4.4 自動追従制御アルゴリズム 1. 目的地の緯度経度を取得 2. 目的地に最も近いノードを目的地ノードに設定 3. ドローンを飛行させ,最も近いクリークマップのノードへ移動 4. While(現在ノード!=目的地ノード) 4.1. 現在ノードから目的地ノードへの経路探索を行う 4.2. 探索結果のルート上にあるノードから車両の位置に最も近いノードを選 び移動 5. 自動飛行終了
4.4 車両の自動追従実験
ドローンによる車両の自動追従飛行を実行し,実用上の問題の有無を評価する.ドローンの飛
行高度を120m に設定し,クリーク上を飛行しながらの車両追従を行う.使用したドローンは DJI
Inspire1,カメラジンバルは DJI Zenmuse Z3 である.アプリケーションの追従方式として T-Waypoint Mission を採用し,画面の GO ボタン押下後ドローンは離陸し,クリーク上を飛行し ながら車両を追従する.また,カメラジンバルを自動制御し車両周辺状況のストリーミングを行 う.GO ボタン押下後,操縦者はプロポを一切操作しない. ドローンを車両の後方に設置し, GO ボタン押下後は,操縦者はドローンの操作を一切行って いない.ドローンは,自動的に離陸し,経路探索を行い,追従を開始した.カメラジンバルは, ドローンの3 次元座標と車両の 2 次元座標から,車両をカメラ中央に捉える角度を計算し,車両 の方向を向き続けた.ドローンと車両の距離が近い時は,カメラは自動的にズームアウトし,車 両周辺をより広く映した.ドローンと車両の距離が遠い時は,カメラは自動でズームインし,車 両周辺をより大きく映した.ドローンは,車両が移動するたびに経路探索とクリーク上の飛行を 繰り返し,車両を追従した.ドローンは,車両を見失うことなく434 秒間クリーク上を飛行し, 目的地に到達した.車両を画面に捉えた時のアプリケーション画面を図 4.6 に示す.画面中央が 車両の位置である.図4.6 から,車両周辺の交通状況が把握できたことがわかる. 自動追従アプリケーションは,車両追従中のドローンと車両のログデータを1 秒おきに記録す る.自動追従を停止するときに“STOP・CLEAR”ボタンを押すと,ログデータは,アプリケー ションを実行しているタブレット端末内にCSV ファイルとして保存される.このログデータをグ ラフ化した. 図 4.7 にドローンと車両間の距離グラフを示す.横軸が時間(秒)を表し,縦軸が距離(m) を表す.距離グラフから,ドローンと車両間の距離の移り変わりと,ドローンと車両間の平均距 離が読み取れる.ドローンが追従を開始すると,ドローンと車両は106m まで接近したが,その 後は,ドローンと車両間の距離が 883m になるまで離れ続けた.以降は,ドローンが車両に徐々 に接近し,目的地に到達している.ドローンと車両間の平均距離は,476m だった.Zenmuse Z3 の望遠端では,ドローンと車両間の距離が1100m まで車両の識別が可能であった.また,映像と 操作の項目では,ドローンと車両間の距離が700m 以上で映像の乱れや操作の安定性の低下が確 認された.今回の実験では,常にドローンは画像での識別が可能な距離にあったが,映像や操作 の安定性が保証できない距離まで離れることがあった. 図 4.8 にドローンと車両の速度グラフを示す.横軸が時間(秒)を表し,縦軸が速度(km/h) を表す.速度グラフから,ドローンと車両それぞれの速度の移り変わりと,平均速度が読み取れ る.車両の最高速度は57km/h,平均速度は 21km/h,ドローンの最高速度は 54km/h,平均速度 は 18km/h だった.今回の実験で用いた DJI Inspire1 は,カタログスペックでは最高速度が 79km/h である.カタログスペックの示す最高速度は,手動操縦で飛行モードを“スポーツモー ド”に設定した場合のものであり,プログラムによる自動操縦では,54km/h が最高速度となる 仕様である.ドローン・車両共に平均速度が低く出ているのは,それぞれ待機時間が長かったた めだと考えられる.車両が経路探索可能な位置へ移動するまで,ドローンがクリークのノード上 で長時間停止し待機することが4 度あった.車両の動き待ちによるドローンの停止時間は,合計 141 秒間であった.車両は,目的地に到達後,ドローンが目的地に到達に到達するまでの 76 秒間 を停止して待機していた.ドローンの飛行速度と車両の走行速度は,ほぼ同じであった.ドロー
ンと車両間の平均距離が 476m と大きく離れたのは,車両の動き待ちによるドローンの停止時間 が長かったためである. 図 4.9 にドローンと車両が辿った経路を示す.横軸が経度であり,縦軸が緯度である.出発地 が右下,目的地が左上である.出発地では,ドローンと車両をほぼ同じ位置からスタートさせた が,ドローンの目的地は,目的地として設定した位置から最も近いクリーク上のノードであるた め,車両の目的地とは異なる位置である.ドローンは,車両追従開始直後は,車両位置に最も近 いクリークを選択し飛行した.車両は,2 度進路を変えた後,遠回りして目的地へ向かった.そ の間,ドローンは,車両に合わせて遠回りせずに,ほぼ最短経路で目的地へ向かう経路選択をし, また,飛行進路が決定した状態で頻繁に待機した. 図4.6 車両を画面に捉えた時のアプリケーション画面
図4.7 ドローンと車両間の距離グラフ 図4.8 ドローンと車両の速度グラフ 0 100 200 300 400 500 600 700 800 900 1000 1 14 27 40 53 66 79 92 105 118 131 144 157 170 183 196 209 222 235 248 261 274 287 300 313 326 339 352 365 378 391 404 417 430 443 ドローン-車両間距離 ドローン-車両間距離(平均) 0 10 20 30 40 50 60 1 14 27 40 53 66 79 92 105 118 131 144 157 170 183 196 209 222 235 248 261 274 287 300 313 326 339 352 365 378 391 404 417 430 443 ドローン速度 車両速度 ドローン速度(平均) 車両速度(平均)
図4.9 ドローンと車両が辿った経路 33.176 33.178 33.18 33.182 33.184 33.186 33.188 33.19 33.192 33.194 130.258 130.26 130.262 130.264 130.266 130.268 130.27 ドローン経路 車両経路
4.5 考察 ドローンは,ほぼ最短経路で目的地へ向かう経路選択をし,緊急車両に合わせた遠回りを行え なかった.また,飛行進路が決定した状態で頻繁に待機した.これらの原因には2 つ考えられる. 1 つ目は,飛行判定である.車両が信号待ちなどで停止している間にドローンが車両に最も近 いノードへ追いついた場合,ドローンはその位置で待機しなければならない.ドローンが次のノ ードへ飛行を待機する判定基準を,「現在のノードから車両までの距離<次のノードから車両まで の距離」とした.この飛行判定が,本来想定していた車両の停止ではないところでドローンの動 きを止めた.対策として,車両とドローンの距離が遠い場合は,飛行判定を行わず,車両に接近 する飛行を行うということが挙げられる. 2 つ目は,クリークマップの動的重みづけ手法である.現段階では,車両から 200m 以内にあ るリンクのコストを1/8 に,車両から 400m 以内にあるリンクのコストを 1/4 に,車両から 600m 以内にあるリンクのコストを 1/2 に変更している.今回の実験のように,探索を行うタイミング と,車両・ドローン・目的地の位置関係によって,ドローンの飛行経路を車両方向へ誘導できな くなる場合がある.対策として,現在採用しているクリークマップの動的重みづけ手法を改善す ることが挙げられる.または,動的重みづけ手法を撤廃し,ドローン位置から車両位置,車両位 置から目的地といったように,二段階の経路探索を行い,それぞれの結果からドローンが最も効 率よく目的地まで飛行できる経路を選択するという新手法の実装が考えられる. またドローンは,実験場所である佐賀市南部の“干潟よか公園”周辺のクリークは,ほぼすべ てが直線であるにも関わらず,ドローンの飛行ログを見ると,蛇行している箇所があった.この 箇所でドローンがクリークマップからコースアウトしている.実験当日は地上で6m/s の風が吹い ていた.一般に,高度が上がるにつれて風は強くなるため,上空120m ではより強い風が吹いて いたと考えられる.ドローンが風に流されながら飛行中の方向修正を繰り返したため,蛇行した と考えられる. これらの実験結果から,ドローンによる車両の自動追従飛行システムは,現時点では,視界の ひらけた人口密集地外であれば,実用できると考える.現時点で人口密集地における実用性を断 言できないのは,ドローンと車両間の平均距離が476m と遠いためである.ズームカメラの性能 上,車両と周辺の交通状況を識別するには十分な距離であるといえる.しかし,人口密集地では ドローンと車両が離れれば離れるほど,車両や車両の選択する経路が建物の陰に隠れる確率が高 くなる.ドローンと車両の距離が離れるにつれて,カメラの向きが垂直から水平に近くなり,建 物や街路樹といった障害物の高さが無視できなくなるためである.そのため,人口密集地で実用 するには,ドローンと車両間の平均距離が更に近くなるように,システムを改善する必要がある. また,ドローンと車両間の距離が200m 以内であるときのドローンの録画データは,車両と周 辺の交通状況がわかりやすかった.カメラの角度がより垂直に近いため,車両をほぼ真上から俯 瞰する映像となっていたことや,車両とドローンの距離が十分に近いため,カメラはズームする 必要がなく,広角端で周囲の状況を広く見ることができたことなどがその理由に挙げられる.よ って,ドローンと車両間の平均距離が200m 以内となるようシステムを改善する.
第 5 章
まとめと今後の課題
本 研 究 で は , 事 故 検 知 / 通 報 ア プ リ ケ ー シ ョ ン の 改 良 と , ド ロ ー ン に よ る 事 故 状 況 確 認 シ ス テ ム , お よ び 救 急 隊 の 到 着 時 間 を 短 縮 す る た め の 緊 急 車 両 自 動 追 従 シ ス テ ム を 開 発 し た . 落 下 時 に よ る 衝 撃 を 誤 検 知 し な い 事 故 判 別 ア ル ゴ リ ズ ム を 構 築 し た .ま た , 事 故 発 生 時 の 音 声 デ ー タ の 取 得 機 能 を 開 発 / 実 装 し た . さ ら に , ス マ ー ト フ ォ ン の 加 速 度 セ ン サ 情 報 か ら , 移 動 モ ー ド を 判 別 す る 機 能 を 開 発 し た . こ れ ら の 成 果 に よ り , 事 故 発 生 時 の 状 況 を よ り 詳 細 に 検 知 / 通 報 で き る よ う に し た . こ れ ら の 機 能 を , ス マ ー ト フ ォ ン を 所 持 さ せ た ダ ミ ー 人 形 と 自 動 車 と の 衝 突 実 験 に よ り , 有 効 に 機 能 す る こ と を 確 認 し た . 事 故 現 場 上 空 か ら の 撮 影 デ ー タ を 用 い て ,事 故 現 場 の 3 次 元 モ デ ル を 試 験 的 に 作 成 し た . ま た , 事 故 現 場 ま で の 飛 行 ル ー ト を , ド ロ ー ン が 落 下 し て も 危 険 性 の 少 な い 河 川 や ク リ ー ク 上 空 を 選 ん で 飛 行 す る ア ル ゴ リ ズ ム を 開 発 し た . こ の 結 果 , 佐 賀 市 内 で 発 生 し た 事 故 に 対 し て 飛 行 す る 場 合 , そ の ル ー ト の 約 9 0 % が , 落 下 し て も 安 全 な 地 点 の 上 空 と な る こ と が シ ミ ュ レ ー タ 上 で 確 認 で き た . さ ら に , 緊 急 移 動 す る 救 急 車 を 常 に 追 従 す る 自 動 飛 行 ア ル ゴ リ ズ ム に よ り , 事 故 現 場 へ と 向 か う 救 急 車 が , 運 転 手 か ら は 見 え な い 距 離 に あ る 進 路 前 方 の 交 通 状 況 を , 助 手 席 か ら 常 に 確 認 で き る よ う に な っ た . こ れ に よ り , 事 故 現 場 へ の 移 動 の 際 に 渋 滞 を 避 け た 移 動 が 可 能 に な る と 期 待 さ れ る . 本 研 究 で 提 案 し た 交 通 事 故 の 救 急 シ ス テ ム に よ り , 歩 行 者 や 自 転 車 の 運 転 者 が , 自 ら 通 報 で き な い よ う な 事 故 に あ っ た 場 合 で も , 自 動 で 事 故 発 生 と そ の 位 置 や 音 声 , 移 動 モ ー ド な ど の 情 報 を , 自 動 通 報 で き る よ う に な っ た . ま た , 通 報 さ れ た 位 置 情 報 に 従 い , ド ロ ー ン を 事 故 現 場 ま で 安 全 な ル ー ト で 自 動 飛 行 さ せ , 上 空 か ら 事 故 の 様 子 を 動 画 で 撮 影 し , 3 次 元 モ デ ル を 作 成 で き る よ う に な っ た . こ れ ら の シ ス テ ム は 試 験 段 階 で あ り , 実 用 化 ま で に 解 決 す べ き 課 題 は い く つ も あ る . こ れ ら を 踏 ま え つ つ , 交 通 事 故 の 被 害 を 軽 減 に つ な が る 救 命 シ ス テ ム の 開 発 を 継 続 す る .[1] 佐賀新聞 Live(2016 年 1 月 28 日付) <http://www.saga-s.co.jp/news/saga/10101/272951> [2] 佐賀新聞 Live(2017 年 1 月 5 日付) <http://www.saga-s.co.jp/news/saga/10101/392405> [3] 朝日新聞デジタル(2018 年 2 月 16 日付) <https://www.asahi.com/articles/ ASL2H40ZLL2HTTHB006.html> [4] 佐賀県医務課,佐賀県ドクターヘリの概要について <https://www.pref.saga.lg.jp/web/var/rev0/0143/2475/201416144154.pdf>
[5] 特定 NPO 法人救急ヘリ病院ネットワーク,HEM-Net <http://www.hemnet.jp/where/>
[6] 2017 年 5 月 24 日,佐賀広域消防にてインタビュー [7] DJI Mobile SDK for Android Reference
<https://developer.dji.com/iframe/mobile-sdk-doc/android/reference/packages.html>
[8] Google Maps API
<https://developers.google.com/maps/?hl=ja>
[9] K.メールホルン,P.サンダース,“アルゴリズムとデータ構造 基礎のツールボックス”,