(57)【要約】【課題】転倒等の所定の制御対象状態の発生を制御する。【解決手段】移動装置（１０）は、各種状態を検出する状態検知部（１１０）と、転倒推定関数に各種状態を示す情報を入力して転倒の可能性値を算出する算出部（１０２）と、転倒可能性値に基づき、検出された状態を示す情報に対応する走行制御処理を実行する制御処理指示部（１０３）と、を備える。【選択図】図１
2017046491.tif 000002
【特許請求の範囲】
【請求項１】
走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を検出する検出部と、
走行中の移動装置に所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数に、前記検出部により検出された状態を示す情報を入力して、走行中の自装置についての前記発生可能性値を算出する算出部と、
前記算出部により算出された前記発生可能性値が所定条件を満たす場合、検出された状態を示す情報に対応する走行制御処理を実行する制御処理実行部と、を備えることを特徴とする移動装置。
【請求項２】
前記制御処理実行部は、前記発生可能性値が前記所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報を用いて、走行中の自装置の駆動出力および速度を制御することを特徴とする請求項１に記載の移動装置。
【請求項３】
前記所定の制御対象状態が発生した移動装置に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、前記関数を生成する関数生成装置に、前記検出部により検出された状態を示す情報を送信する送信部をさらに備えることを特徴とする請求項１または２に記載の移動装置。
【請求項４】
前記所定の制御対象状態が発生した移動装置に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、前記関数を生成する関数生成装置が生成した、
前記関数と、
前記発生可能性値が前記所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報である制御基準情報と
を受信する受信部をさらに備えることを特徴とする請求項１または２に記載の移動装置。
【請求項５】
前記受信部は、
前記関数生成装置が、前記所定の制御対象状態が発生した自装置を含む複数の移動装置の各々に係る、当該所定の制御対象状態が発生するまでの、走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、生成した前記関数と、
前記関数生成装置が、走行中の複数の移動装置の各々の状態を示す情報から抽出した、前記発生可能性値が前記所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報である制御基準情報と
を受信することを特徴とする請求項４に記載の移動装置。
【請求項６】
前記所定の制御対象状態の１つは、走行中の移動装置が転倒した状態であることを特徴とする請求項１から５のいずれか１項に記載の移動装置。
【請求項７】
前記検出部は、自装置の周囲の環境の状態の１つとして、走行中の自装置の位置を検出し、
前記関数は、前記位置において前記走行中の移動装置に前記所定の制御対象状態が発生する可能性を示す発生可能性値を算出することを特徴とする請求項１から６のいずれか１項に記載の移動装置。
【請求項８】
前記検出部により検出される搭乗者の状態の１つは、当該搭乗者によって自装置の備える各種感圧センサに加えられる圧力の大きさであることを特徴とする請求項１から７のいずれか１項に記載の移動装置。
【請求項９】
前記受信部は、自装置が走行を開始する前に前記関数および前記制御基準情報を受信することを特徴とする請求項４に記載の移動装置。
【請求項１０】
前記送信部は、自装置の走行中に検出された状態を示す情報を、自装置の走行中に前記関数生成装置に送信することを特徴とする請求項３に記載の移動装置。
【請求項１１】
前記受信部は、前記関数生成装置が生成した前記関数および前記制御基準情報を、自装置の走行中に受信することを特徴とする請求項４に記載の移動装置。
【請求項１２】
ウェイトバランサをさらに備え、
前記制御処理実行部の実行する前記走行制御処理は、ウェイトバランサの変位制御を含む
ことを特徴とする請求項１から１１のいずれか１項に記載の移動装置。
【請求項１３】
前記ウェイトバランサは、前記移動装置の下部に配置されることを特徴とする請求項１２に記載の移動装置。
【請求項１４】
移動装置が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報を受信するサーバ受信部と、
前記サーバ受信部が受信した情報のうち、所定の制御対象状態が発生した前記移動装置に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、走行中の前記移動装置に当該所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数を生成する関数生成部と、
前記関数生成部が生成した前記関数を前記移動装置に送信するサーバ送信部と、を備えることを特徴とするサーバ。
【請求項１５】
前記サーバ受信部が受信した情報から、前記発生可能性値が所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報である制御基準情報を抽出する抽出部をさらに含み、
前記サーバ送信部は、前記抽出部が抽出した前記制御基準情報を前記移動装置に送信することを特徴とする請求項１４に記載のサーバ。
【請求項１６】
前記サーバ受信部は、前記移動装置の周囲の環境の状態を示す情報の１つとして、前記走行中の移動装置の位置に係る情報を受信し、
前記関数生成部は、前記位置において前記走行中の移動装置に前記所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数を生成することを特徴とする請求項１４または１５に記載のサーバ。
【請求項１７】
前記サーバ受信部は、複数の移動装置の各々が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報を受信し、
前記関数生成部は、走行中の前記複数の移動装置の各々に前記所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数を生成し、
前記サーバ送信部は、前記関数生成部が生成した前記関数を前記複数の移動装置の各々に送信することを特徴とする請求項１４から１６のいずれか１項に記載のサーバ。
【請求項１８】
走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を検出し、検出した状態を示す情報を、サーバに送信する移動装置と、
前記移動装置の検出した、走行中の、前記移動装置、前記搭乗者、および前記移動装置の周囲の環境の状態を示す情報を受信し、所定の制御対象状態が発生した前記移動装置に係る、当該所定の制御対象状態が発生するまでの、走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、走行中の前記移動装置に当該所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数を生成するサーバとを含み、
前記移動装置は、前記サーバから前記関数を受信し、前記関数に前記検出した状態を示す情報を入力して算出した前記発生可能性値が所定条件を満たす場合、前記検出した状態を示す情報に対応する走行制御処理を実行することを特徴とする移動装置制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば１人乗りまたは数人乗り程度のモビリティ（小型自動車、パーソナルモビリティ）である移動装置、および、その制御に関する。
【背景技術】
【０００２】
従来、１人乗り（または数人乗り程度）の（小型）モビリティについての検討が進んでいる。図２１および図２２は、各々、従来の小型モビリティの例を示す図である。
【０００３】
図２１の（ａ）は、非特許文献１に係るモビリティ２０００の概略を示す図であり、倒立振子技術を利用した、１人乗りまたは数人乗り程度の小型モビリティの例を示す図である。図２１の（ｂ）は、非特許文献２に係るモビリティ２１００の概略を示す図であり、倒立振子技術を用いない、三輪型あるいは四輪型の小型モビリティの例を示す図である。
【０００４】
図２２の（ａ）は、特許文献１に係るモビリティ２２００の概略を示す図であり、立乗型の小型モビリティ（個人用移動車両）の例を示す図である。モビリティ２２００は、搭乗者の重心移動に応じて倒立状態を維持して走行する倒立型の小型モビリティである。図２２の（ｂ）は、特許文献２に係るモビリティ２３００の概略を示す図であり、搭乗者が把持し上下方向へ伸縮可能なハンドルを備えている。ユーザは、モビリティ２３００に乗ったまま、ハンドルを伸縮させることにより、陳列された商品が高い位置にあっても、低い位置にあっても、商品を手にとって見ることができる。
【０００５】
図２１および図２２に例示した小型モビリティの利用空間は、ショッピングセンター、図書館、イベント会場、博物館、水族館、空港等が想定されている。今後、若い世代のみならず、高齢者、特に足が不自由で自由に外出することが困難な高齢者も、このような小型モビリティを利用することにより、自由に外出して買い物等をできるようになることが期待されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００３−５０２００２号公報（２０００年１２月１４日国際公開）
【特許文献２】特開２０１３‐０５６６０１号公報（２０１３年０３月２８日）
【非特許文献】
【０００７】
【非特許文献１】Honda, UNI-CUB(ユニカブ),[検索日 2015.06.04], インターネット〈http://www.honda.co.jp/UNI-CUB/>
【非特許文献２】電動シニアカー, 株式会社ミヤセ自動車,[検索日 2015.06.04], インターネット〈http://www.miyase-motor.co.jp/senior.html>
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述のような従来技術は、いずれも、移動装置自体が、転倒および衝突等の所定の制御対象状態の発生を高い精度で回避できるようにするという観点を考慮したものではないという問題がある。
【０００９】
上述の通り、図２１および図２２に例示したモビリティは、高齢者、特に足が不自由で自由に外出することが困難な高齢者にも利用されると考えられる。したがって、搭乗者自身が転倒および衝突等の所定の制御対象状態の発生を制御するだけでなく、移動装置自体が、転倒および衝突等の所定の制御対象状態の発生を高い精度で制御できるようにするのが望ましい。
【００１０】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、転倒および衝突等の所定の制御対象状態の発生を、高い精度で制御することのできる移動装置等を提供することである。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明の一態様に係る移動装置は、走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を検出する検出部と、走行中の移動装置に所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数に、前記検出部により検出された状態を示す情報を入力して、走行中の自装置についての前記発生可能性値を算出する算出部と、前記算出部により算出された前記発生可能性値が所定条件を満たす場合、検出された状態を示す情報に対応する走行制御処理を実行する制御処理実行部と、を備えている。
【００１２】
また、上記の課題を解決するために、本発明の一態様に係るサーバは、移動装置が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報を受信するサーバ受信部と、前記サーバ受信部が受信した情報のうち、所定の制御対象状態が発生した前記移動装置に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、走行中の前記移動装置に当該所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数を生成する関数生成部と、前記関数生成部が生成した前記関数を前記移動装置に送信するサーバ送信部と、を備えている。
【００１３】
さらに、上記の課題を解決するために、本発明の一態様に係る移動装置制御システムは、走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を検出し、検出した状態を示す情報を、サーバに送信する移動装置と、前記移動装置の検出した、走行中の、前記移動装置、前記搭乗者、および前記移動装置の周囲の環境の状態を示す情報を受信し、所定の制御対象状態が発生した前記移動装置に係る、当該所定の制御対象状態が発生するまでの、走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、走行中の前記移動装置に当該所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数を生成するサーバとを含み、前記移動装置は、前記サーバから前記関数を受信し、前記関数に前記検出した状態を示す情報を入力して算出した前記発生可能性値が所定条件を満たす場合、前記検出した状態を示す情報に対応する走行制御処理を実行する。
【発明の効果】
【００１４】
本発明の一態様によれば、転倒および衝突等の所定の制御対象状態の発生を、高い精度で制御することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態１に係る移動装置制御システムの移動装置およびサーバの要部構成を示すブロック図である。
【図２】本発明の実施形態１に係る移動装置制御システムの概要を示す図である。
【図３】図１の移動装置の変形例を示す図である。
【図４】図１の移動装置が通常の走行状態であるときの各種検出情報の一例を時系列に整理した図である。
【図５】図１の移動装置が転倒に陥りかけている状態および転倒した状態の各種検出情報の一例を時系列に整理した図である。
【図６】図１の移動装置が転倒に陥りかけている状態および転倒を回避できた状態の各種検出情報の一例を時系列に整理した図である。
【図７】本発明の実施形態１に係る移動装置制御システムにおける取得パラメータセットテーブルのデータ構造および具体例を示す図である。
【図８】図７に示したのとは別のデータが格納されている取得パラメータセットテーブルを示す図である。
【図９】図１のサーバに記憶されているサーバ新規パラメータセットテーブルのデータ構造および具体例を示す図である。
【図１０】図１の移動装置から図１のサーバへの各種検出情報の送信処理、および当該サーバでの転倒推定関数等の生成処理の一例を示すフローチャートである。
【図１１】図１の移動装置が図１のサーバから受信した転倒推定関数等を用いて行う転倒回避処理の一例を示すフローチャートである。
【図１２】本発明の実施形態２に係る移動装置制御システムの概要を示す図である。
【図１３】本発明の実施形態３に係る移動装置制御システムの概要を示す図である。
【図１４】図１３に示した移動装置が利用される環境の一例を示す図である。
【図１５】本発明の実施形態４に係る移動装置が利用される環境の一例を示す図である。
【図１６】本発明の実施形態４に係る移動装置制御システムの移動装置およびサーバの要部構成を示すブロック図である。
【図１７】本発明の実施形態５に係る移動装置の概要を示す図である。
【図１８】本発明の実施形態５に係る移動装置制御システムの移動装置およびサーバの要部構成を示すブロック図である。
【図１９】図１８の移動装置が備えるウェイトバランサの要部構成を示すブロック図である。
【図２０】本発明の実施形態６に係る移動装置制御システムにおいて実行される処理の一例を示すフローチャートである。
【図２１】従来技術に係る移動装置の例を示す図である。
【図２２】従来技術に係る別の移動装置の例を示す図である。
【発明を実施するための形態】
【００１６】
〔実施形態１〕
以下、本発明の実施の形態について、図１から図１１に基づいて詳細に説明する。まず、本実施形態に係る移動装置制御システム１（移動装置制御システム）の概要を、図２を用いて説明する。
【００１７】
（移動装置制御システム全体の概要）
図２は、移動装置制御システム１の概要を示す図である。図２に示すように、移動装置制御システム１は、ネットワークを介して相互に通信可能な移動装置１０とサーバ２０（関数生成装置）とを含む。移動装置１０とサーバ２０とは、任意の通信方式に基づいて通信し、つまり、両者を中継するネットワーク（通信網）は両者を通信可能にするものであれば通信方式は特に問わない。移動装置１０とサーバ２０とを接続するネットワークは、例えば、インターネットであってもよいし、ローカルエリアネットワーク（Local Area Network；ＬＡＮ）であってもよく、また、無線アクセスポイント等の中継器を介していてもよい。
【００１８】
（移動装置の概要）
移動装置１０は、車体１３の上に搭乗席１１が配置された１人乗りの二輪型移動装置（小型モビリティ）であり、搭乗者Ｐ（ユーザ）が搭乗席１１に座った状態で移動が可能であり、例えば、倒立振子制御によって移動制御される。移動装置１０は、移動装置１０の備える各種センシングデバイス（状態検知部１１０。詳細は後述する）の検知結果を含む取得パラメータセットをサーバ２０に送信する。また、移動装置１０は、サーバ２０が前記取得パラメータセットを用いて生成した以下の関数、および移動装置１０が走行制御処理を実行する際に参照する動作パラメータ（回避動作パラメータ）を受信する。
【００１９】
すなわち、移動装置１０は、サーバ２０から、走行中の移動装置に所定の制御対象状態（例えば、転倒状態）が発生する可能性を示す発生可能性値（転倒危険値）を算出する関数（転倒推定関数）を受信する。なお、移動装置１０は、サーバ２０から、転倒推定関数そのものではなく、転倒推定関数の係数を受信してもよい。
【００２０】
また、移動装置１０は、サーバ２０から、前記発生可能性値が前記所定条件を満たした後（例えば、第１所定値以上になった後）に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報である動作パラメータ（回避動作パラメータ）を受信する。回避動作パラメータとは、例えば、過去に、転倒（所定の制御対象状態）が発生する可能性を示す転倒危険値が第１所定値以上になった後に、転倒が発生しなかった移動装置（自装置であっても、他の移動装置であってもよい）の駆動出力および速度等を示す情報である。回避動作パラメータとは、以前に前記所定の制御対象状態の発生を回避できた移動装置の駆動出力および速度等の履歴情報と考えてもよい。
【００２１】
移動装置１０についての理解を容易にするため、移動装置１０の概要について最初に整理しておけば以下の通りである。すなわち、移動装置１０は、走行中の、自装置、搭乗者Ｐ、および自装置の周囲の環境の状態を検出する状態検知部１１０（検出部）と、走行中の移動装置に所定の制御対象状態（例えば、転倒状態）が発生する可能性を示す発生可能性値（転倒危険値）を算出する関数（転倒推定関数）に、状態検知部１１０により検出された状態を示す情報を入力して、走行中の自装置についての前記発生可能性値を算出する算出部１０２と、算出部１０２により算出された前記発生可能性値が所定条件を満たす場合、検出された状態を示す情報に対応する走行制御処理を実行する制御処理指示部１０３（制御処理実行部）と、を備えている。
【００２２】
前記の構成によれば、移動装置１０は、走行中の、自装置、搭乗者Ｐ、および自装置の周囲の環境の状態を示す情報と、前記関数とにより、走行中の自装置に所定の制御対象状態が発生する可能性を示す発生可能性値を算出し、当該発生可能性値が所定条件を満たす場合、当該検出された状態を示す情報に対応する走行制御処理を実行する。したがって、移動装置１０は、例えば、転倒等の所定の制御対象状態が走行中の自装置に発生する可能性を示す発生可能性値を算出し、当該発生可能性値が所定条件を満たす場合、走行中の自装置の状態等に対応する走行制御処理を実行し、転倒等の状態の発生を制御することができる（転倒等の状態を回避することができる）という効果を奏する。
【００２３】
なお、前記所定の制御対象状態は、移動装置１０の転倒状態等、自装置が回避すべき状態のみに限られるものではない。移動装置１０は、走行中の自装置に前記所定の制御対象状態が発生する可能性に応じて、走行中の自装置の状態等に対応する走行制御処理を実行することができる。すなわち、移動装置１０は、例えば、高速のままカーブに進入する場合、安全性を維持しつつ、つまり、スピン、蛇行、および横揺れ等が発生する可能性を考慮しつつ、高速でのカーブ走行を可能とする走行制御処理を実行することができるという効果を奏する。
【００２４】
ただし、以下の説明においては、移動装置１０およびサーバ２０の理解を容易にするため、「走行中の移動装置に所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数」としては、「走行中の移動装置に転倒状態が発生する可能性を示す転倒危険値を算出する」転倒推定関数を特に取り上げて説明を行う。
【００２５】
移動装置１０において、制御処理指示部１０３は、前記発生可能性値が前記所定条件を満たした後（例えば、転倒危険値が第１所定値以上になった後）に前記所定の制御対象状態（転倒状態）が発生しなかった移動装置（自装置であっても、他の移動装置であってもよい）の回避動作パラメータを用いて、走行中の自装置の駆動出力および速度を制御する。なお、制御処理指示部１０３は、駆動出力および速度だけでなく、例えば、ハンドルのロック、警告音の出力、エアバッグなどの搭乗者保護装置の起動等を追加的に行ってもよい。
【００２６】
前記の構成によれば、移動装置１０は、前記発生可能性値が前記所定条件を満たした後に前記所定の制御対象状態が発生しなかった（つまり、転倒が発生しなかった）移動装置の回避動作パラメータを用いて、走行中の自装置の駆動出力および速度を制御することができる。つまり、移動装置１０は、前記所定の制御対象状態の発生を回避することができた移動装置（自装置であっても、他の移動装置であってもよい）の回避動作パラメータを用いて、走行中の自装置の駆動出力および速度を制御することができるという効果を奏する。具体的には、移動装置１０は、前記所定の制御対象状態（例えば、転倒状態）の発生を回避することのできた移動装置が、前記所定の制御対象状態の発生を回避することができたときに検出した駆動出力および速度を示す情報（回避動作パラメータ）を用いて、走行制御処理を実行する。
【００２７】
移動装置１０は、サーバ２０（関数生成装置）に、状態検知部１１０により検出された状態を示す情報を送信する装置送信部１８１（送信部）をさらに備えている。なお、サーバ２０は、前記所定の制御対象状態が発生した移動装置（移動装置１０であっても、移動装置１０以外の移動装置であってもよい）に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、前記転倒推定関数を生成する。
【００２８】
ここで、学習アルゴリズム（機械学習）とは、ある程度の数のサンプルデータ集合（ここでは、「転倒危険値の付与された、時刻ごとの複数の取得パラメータセット」）を入力して解析を行い、そのデータから有用な規則、ルール、知識表現、判断基準などを抽出し、アルゴリズム（ここでは「転倒推定関数」）を発展させるものを指す。サーバ２０（サーバ２０の可能性値算出関数生成部２０１）の行なう機械学習は、医療診断、音声認識・文字認識などのパターン認識、ロボットなどの分野で既に用いられている周知の技術を利用すればよいので、詳細については説明を省略する。サーバ２０の学習アルゴリズムとしては、いわゆる「教師あり学習」に分類される学習アルゴリズムを用いてもよく、すなわち、入力（例えば、「状態検知部１１０により検出された状態を示す情報」）とそれに対応すべき出力（例えば、「所定の制御対象状態」）を写像する関数（例えば、「転倒推定関数」）を生成するものであってもよい。また、サーバ２０の学習アルゴリズムの採用する技法については、相関ルール学習、決定木学習、帰納論理プログラミング、クラスタリング等であってもよく、特に問わない。
【００２９】
前記の構成によれば、移動装置１０は、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態に係る情報を、サーバ２０に送信する。したがって、移動装置１０は、サーバ２０に、状態検知部１１０により検出された状態を示す情報を用いて、前記転倒推定関数を生成させることができるという効果を奏する。
【００３０】
移動装置１０は、サーバ２０が生成した、前記転倒推定関数と、前記発生可能性値が前記所定条件を満たした後（例えば、転倒危険値が第１所定値以上になった後）に前記所定の制御対象状態が発生しなかった移動装置（移動装置１０であっても、移動装置１０以外の移動装置であってもよい）の駆動出力および速度を示す情報である回避動作パラメータ（制御基準情報）とを受信する装置受信部１８２（受信部）をさらに備えている。
【００３１】
前記の構成によれば、移動装置１０は、サーバ２０の生成した前記転倒推定関数および前記回避動作パラメータを受信して前記走行制御処理を実行する。したがって、移動装置１０は、自装置において前記転倒推定関数および前記回避動作パラメータを生成することなく前記走行制御処理を実行することができ、自装置の実行する処理を単純化することができるという効果を奏する。
【００３２】
また、前記の構成によれば、移動装置１０は、例えば、自装置以外の移動装置の検出した状態を示す情報も用いてサーバ２０が生成した前記転倒推定関数および前記回避動作パラメータに基づいて前記走行制御処理を実行することができる。したがって、移動装置１０は、前記走行制御処理等の精度を上げることができるという効果を奏する。サーバ２０が前記転倒推定関数および前記回避動作パラメータを生成することにより移動装置１０の処理能力（情報処理能力）に余裕が生まれるとともに、複数の移動装置の検知情報を用いた、前記転倒推定関数および前記回避動作パラメータの生成が可能になるという効果を奏する。
【００３３】
移動装置１０について、前記所定の制御対象状態の１つは、走行中の移動装置が転倒した状態（転倒状態）である。
【００３４】
前記の構成によれば、移動装置１０は、走行中の、自装置、搭乗者Ｐ、および自装置の周囲の環境の状態を示す情報と、前記転倒推定関数とにより、走行中の自装置が転倒する可能性を示す発生可能性値（転倒危険値）を算出し、当該発生可能性値が所定条件を満たす場合、当該検出された状態を示す情報に対応する走行制御処理を実行する。したがって、移動装置１０は、走行中の自装置が転倒する可能性を示す発生可能性値を算出し、当該発生可能性値が所定条件を満たす場合、走行中の自装置の状態等に対応する走行制御処理（例えば、転倒回避処理）を実行し、転倒を回避することができるという効果を奏する。
【００３５】
状態検知部１１０により検出される搭乗者Ｐの状態の１つは、搭乗者Ｐによって自装置の備える各種感圧センサに加えられる圧力の大きさである。
【００３６】
前記の構成によれば、移動装置１０は、自装置に搭乗者Ｐによって加えられる圧力の大きさに係る情報を利用して、前記走行制御処理の実行要否を判定し、かつ、前記走行制御処理を実行する。
【００３７】
ここで、搭乗者Ｐによって加えられる圧力の大きさに係る情報とは、例えば、搭乗者Ｐの体重、および当該体重の移動（重心の移動）、移動装置１０を操作しようとして搭乗者Ｐが移動装置１０の操作受付部１５０（ユーザ操作受付部。例えば、操作レバー等）を掴む力（握力）の大きさ、および当該掴む力の大きさの変化、搭乗者Ｐが踏ん張ろうとして移動装置１０に加える力の大きさ、および当該力の大きさの変化等に係る情報である。
【００３８】
一般に、搭乗者Ｐは、移動装置１０に転倒等の所定の制御対象状態が発生しそうになる場合等において、搭乗者Ｐ自身の重心を移動させたり、操作受付部１５０を強く掴んだり、大きな力で踏ん張ろうとする。したがって、移動装置１０は、自装置に搭乗者Ｐによって加えられる圧力の大きさに係る情報を利用することによって、移動装置１０に転倒等の所定の制御対象状態が発生しつつある、または移動装置１０に当該所定の制御対象状態が発生したと判定することができる。
【００３９】
また、転倒等の所定の制御対象状態が発生しそうになっている場合、搭乗者Ｐは急ブレーキ、急ハンドル等の大きな力を移動装置１０に加えることが多い。したがって、移動装置１０は、自装置に搭乗者Ｐによって加えられる圧力の大きさに係る情報を利用することによって、搭乗者Ｐが移動装置１０に加える操作（ユーザ操作）を加味した、適切な前記走行制御処理を実行することができるようになるという効果を奏する。
【００４０】
装置受信部１８２は、自装置が走行を開始する前に前記転倒推定関数および前記回避動作パラメータ（制御基準情報）を受信する。
【００４１】
前記の構成によれば、移動装置１０は、前記走行制御処理の実行要否を判定するための前記転倒推定関数、および前記走行制御処理を実行するための前記回避動作パラメータを、自装置が走行を開始する前に受信する。したがって、移動装置１０は、自装置が走行を開始する前に受信した前記転倒推定関数および前記回避動作パラメータを用いて、前記走行制御処理を実行することができるという効果を奏する。
【００４２】
（サーバの概要）
サーバ２０は、移動装置１０から、移動装置１０の備える各種センシングデバイス（状態検知部１１０）の検知結果を含む取得パラメータセットを受信する。そして、サーバ２０は受信した取得パラメータセットから、転倒シナリオＰＳ１および予測転倒シナリオＰＳ２を生成する。サーバ２０は、さらに、転倒シナリオＰＳ１および予測転倒シナリオＰＳ２から、転倒推定関数および回避動作パラメータ（転倒回避動作パラメータ）を生成し、生成した転倒推定関数および回避動作パラメータを移動装置１０に送信する。
【００４３】
すなわち、サーバ２０の概要は、以下のように整理することができる。サーバ２０は、移動装置１０が検出した、走行中の、自装置、搭乗者Ｐ、および、自装置の周囲の環境の状態を示す情報を受信するサーバ受信部２１１と、サーバ受信部２１１が受信した情報のうち、所定の制御対象状態（例えば、転倒状態）が発生した移動装置（移動装置１０であっても、移動装置１０以外の移動装置であってもよい）に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、走行中の移動装置に当該所定の制御対象状態が発生する可能性を示す発生可能性値（転倒危険値）を算出する関数（転倒推定関数）を生成する可能性値算出関数生成部２０１（関数生成部）と、可能性値算出関数生成部２０１が生成した前記転倒推定関数を前記移動装置に送信するサーバ送信部２１２と、を備えている。
【００４４】
前記の構成によれば、サーバ２０は、移動装置１０が検出した、走行中の、自装置、搭乗者Ｐ、および、自装置の周囲の環境の状態を示す情報から前記転倒推定関数を生成し、生成した前記転倒推定関数を移動装置１０に送信する。したがって、サーバ２０は、移動装置１０に、前記転倒推定関数を利用して前記発生可能性値（転倒危険値）を算出させることができ、つまり、移動装置１０に、例えば、転倒等の所定の制御対象状態が走行中の自装置に発生する可能性を示す発生可能性値を算出させて、走行制御処理を実行させることができるという効果を奏する。
【００４５】
サーバ２０は、サーバ受信部２１１が受信した情報から、前記発生可能性値が所定条件を満たした後（例えば、転倒危険値が第１所定値以上になった後）に前記所定の制御対象状態が発生しなかった（つまり、転倒が発生しなかった）移動装置（移動装置１０であっても、移動装置１０以外の移動装置であってもよい）の駆動出力および速度を示す情報である回避動作パラメータ（制御基準情報）を抽出する目標走行状態抽出部２０２（抽出部）をさらに含み、サーバ送信部２１２は、目標走行状態抽出部２０２が抽出した前記回避動作パラメータを移動装置１０に送信する。
【００４６】
前記の構成によれば、サーバ２０は、移動装置１０が検出した、走行中の、自装置、搭乗者Ｐ、および、自装置の周囲の環境の状態を示す情報から、前記発生可能性値が所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置（移動装置１０であっても、移動装置１０以外の移動装置であってもよい）の駆動出力および速度を示す情報である回避動作パラメータを抽出し、抽出した回避動作パラメータを移動装置１０に送信する。したがって、サーバ２０は、移動装置１０に、前記回避動作パラメータを利用した走行制御処理を実行させることができるという効果を奏する。
【００４７】
以上に概要を説明した移動装置１０とサーバ２０とを含む移動装置制御システム１は、次のように整理することができる。すなわち、移動装置制御システム１は、走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を検出し、検出した状態を示す情報を、サーバ２０に送信する移動装置１０と、移動装置（移動装置１０、ただし、移動装置１０以外の移動装置を含んでもよい）の検出した、走行中の、前記移動装置、前記搭乗者、および前記移動装置の周囲の環境の状態を示す情報を受信し、所定の制御対象状態（例えば、転倒状態）が発生した前記移動装置に係る、当該所定の制御対象状態が発生するまでの、走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、走行中の前記移動装置に当該所定の制御対象状態が発生する可能性を示す発生可能性値（転倒危険値）を算出する関数（転倒推定関数）を生成するサーバ２０とを含み、移動装置１０は、サーバ２０から前記関数を受信し、前記関数に前記検出した状態を示す情報を入力して算出した前記発生可能性値が所定条件を満たす（例えば、算出した転倒危険値が第１所定値以上となった）場合、前記検出した状態を示す情報に対応する走行制御処理を実行する。
【００４８】
前記の構成によれば、移動装置制御システム１において、移動装置１０が検出した、走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を示す情報と、前記転倒推定関数と、によって前記発生可能性値（転倒危険値）が算出され、前記発生可能性値が所定条件を満たす場合、移動装置１０は、前記検出した状態を示す情報に対応する走行制御処理を実行する。したがって、移動装置制御システム１において、移動装置１０は、例えば、転倒等の所定の制御対象状態が走行中の自装置に発生する可能性を示す転倒危険値を算出し、当該転倒危険値が第１所定値以上となった場合、走行中の自装置の状態等に対応する走行制御処理を実行し、転倒等の状態を回避することができるという効果を奏する。
【００４９】
以上までに概要を整理した移動装置制御システム１の移動装置１０とサーバ２０とについて、次に詳細を説明する。
【００５０】
（移動装置の詳細）
（移動装置の外観）
図２に示すように、移動装置１０の車体１３の上には、搭乗席１１が配置されている。
【００５１】
車体１３は、左駆動輪１２Ｌと右駆動輪１２Ｒとを備え、左駆動輪１２Ｌおよび右駆動輪１２Ｒは各々、軸Ｃ１により、図示しないモータＬおよびモータＲの各々に接続されている。モータＬおよびモータＲは、例えば、搭乗席１１の下部に配置されており、操作受付部１５０が受け付けたユーザ操作等に応じて、左駆動輪１２Ｌおよび右駆動輪１２Ｒの各々を回転駆動する。例えば、移動装置１０は、ジャイロセンサ等からの出力に応じて左駆動輪１２Ｌおよび右駆動輪１２Ｒを駆動することによって、倒立状態を維持すると共に、倒立状態を維持したまま、搭乗者Ｐが操作する操作量に応じて移動する。左駆動輪１２Ｌおよび右駆動輪１２Ｒに回転駆動力を付与する駆動源であるモータＬおよびモータＲは、例えば、エンジン、電動モータ或いは油圧モータなどである。
【００５２】
搭乗席１１は、座面であるシート１１ａと、背もたれである背面１１ｂと、アームレスト１６と、フットステップ１７と、を含む。アームレスト１６には、操作受付部１５０が設けられている。操作受付部１５０は、例えば操作レバーであり、搭乗者Ｐのユーザ操作を受け付ける。移動装置１０は、操作受付部１５０の受け付けたユーザ操作に対応する走行速度および走行方向で移動する。すなわち、搭乗者Ｐは、操作受付部１５０に与える操作量を調整することによって、移動装置１０の走行速度および走行方向を調整することができる。例えば、移動装置１０は、操作受付部１５０が受け付けたユーザ操作に応じて、前進、停止、後退、左折、右折、左旋回、右旋回することができる。搭乗者Ｐが前進方向（例えば、移動装置１０の前方向）に操作受付部１５０を倒すことによって、移動装置１０を前進させ、制動方向（例えば、移動装置１０の後方向）に操作受付部１５０を倒すことによって、移動装置１０を制動することができる。
【００５３】
移動装置１０は、搭乗者Ｐがいない状態でも移動可能である。例えば、移動装置１０に搭乗したいユーザが、不図示のリモートコントローラ（移動装置１０を遠隔操作可能なスマホ等）を用いて、移動装置１０を遠隔操作できてもよい。また、所定の信号とともにユーザの位置情報を受信した移動装置１０が、該位置情報に基づいてユーザの位置まで自動で移動できてもよい。この移動時も、移動装置１０は、倒立振子制御により移動する。例えば、ユーザがリモートコントローラの呼び出しボタンなどを押すことで、移動装置１０がユーザの近傍まで移動し、ユーザは、ユーザの目の前まで自動で移動してきた移動装置１０に搭乗してもよい。
【００５４】
（移動装置の要部構成）
図１は、移動装置制御システム１の移動装置１０およびサーバ２０の要部構成を示すブロック図である。図１に示すように、移動装置１０は、装置制御部１００、状態検知部１１０、操作受付部１５０、駆動部１６０（モータ/駆動輪）、装置記憶部１７０、および装置通信部１８０を備えている。なお、移動装置１０は、バッテリ（電源）等、本発明の特徴的な構成に直接関係しない部材を備えていてもよい。本発明の特徴的な構成に直接関係しない部材および機能については、その図示および説明を省略し、または簡略化している。また、説明を簡略化するため、移動装置１０およびサーバ２０の備える機能について、周知技術を用いて行うことができるものについては、その説明はできる限り省略する。
【００５５】
（状態検知部について）
移動装置１０の状態検知部１１０は、ユーザ状態検知部１２０、装置状態検知部１３０、および環境状態検知部１４０を含む。すなわち、移動装置１０は、搭乗者Ｐの操作（ユーザ操作）に応じて動作する（走行する）のに必要な各種の情報を検知し、具体的には、自装置の状態（特に走行中の自装置の状態）を検知する装置状態検知部１３０、および、ユーザ操作を受け付ける操作受付部１５０を備えている。移動装置１０は、さらに、搭乗者Ｐの搭乗中（例えば、移動装置１０の走行中等）における、搭乗者Ｐの状態を検知するユーザ状態検知部１２０、および、自装置の周囲の環境の状態を検知する環境状態検知部１４０を備えている。移動装置１０は、検知した結果を含む情報を取得パラメータセットとして、取得パラメータセットテーブル１７１に格納する。
【００５６】
なお、状態検知部１１０は、各種の検知（センシング）を、所定のタイミングごとに行ってもよいし、搭乗者Ｐが搭乗状態であれば、移動中あるいは（倒立振子状態での）停車中の如何を問わず、常時センシングしていてもよい。
【００５７】
（搭乗者の状態に係る検知情報の取得）
搭乗席１１のシート周辺には、搭乗者Ｐの状態（例えば、搭乗者Ｐの姿勢等の状態）を検知する各種の検知部を含むユーザ状態検知部１２０が備えられている。ユーザ状態検知部１２０は、例えば、以下に説明する第１検出部１２１〜第５検出部１２５を含む。ただし、ユーザ状態検知部１２０は、操作受付部１５０を含んでもよいし、第１検出部１２１〜第５検出部１２５、および操作受付部１５０に加えて、搭乗者Ｐの状態を検知する他のセンシングデバイス（第Ｎ検出部１２６）を含んでもよい。
【００５８】
第１検出部１２１は、搭乗席１１の座面であるシート１１ａの上面であって、搭乗者Ｐが着座する位置に配置され、例えば感圧センサである。第２検出部１２２は、搭乗席１１の背面１１ｂの表面であって、搭乗者Ｐがもたれる位置に配置され、例えば感圧センサである。第１検出部１２１および第２検出部１２２を、搭乗席１１の、搭乗者Ｐに接触する位置に配置することにより、搭乗席１１に着座した搭乗者Ｐから加えられる圧力を精度良く検出することができる。ここで、搭乗者Ｐは搭乗姿勢を変化させる際、臀部および背中部分を動かす可能性が高い。したがって、第１検出部１２１および第２検出部１２２は、臀部および背中部分に対応する位置に配置されることにより、搭乗席１１に着座している搭乗者Ｐの姿勢変化等を、精度良く検出することができる。
【００５９】
第３検出部１２３は、フットステップ１７の上に設けられ、例えば感圧センサである。フットステップ１７は、車体１３の前方の搭乗席１１の下側に設けられている。搭乗者Ｐは、フットステップ１７に一度乗った後に搭乗席１１に座り、搭乗席１１に着座した搭乗者Ｐは、両足をフットステップ１７の上に乗せる。
【００６０】
第４検出部１２４は、アームレスト１６の上に設けられ、例えば感圧センサである。第５検出部１２５は、操作受付部１５０の先端に設けられ、搭乗者Ｐが操作受付部１５０（操作レバー）を握る力の大きさである握り力を検知し、例えば感圧センサである。第５検出部１２５は、例えば、移動装置１０が不意に転倒しそうになった時など、搭乗者Ｐが大きな握り力で操作受付部１５０を握るタイミング、および、そのタイミングで操作受付部１５０を握る力の大きさを検知する。
【００６１】
第１検出部１２１、第２検出部１２２、第３検出部１２３、第４検出部１２４、および第５検出部１２５は、各々、例えばマトリクス状に細かく分割されて配置された検出素子、あるいは複数配置された検出素子等で、（５１ａ、５１ｂ、５１ｃ、・・・５１ｎ）、（５２ａ、５２ｂ、５２ｃ、・・・５２ｎ）、・・・、（５５ａ、５５ｂ、５５ｃ、・・・５５ｎ）である検出素子で構成されていても構わない。
【００６２】
（自装置の状態に係る検知情報の取得）
移動装置１０は、装置状態検知部１３０を備え、具体的には、車体１３の左側に左側装置状態検知部１３０Ｌを、車体１３の右側に右側装置状態検知部１３０Ｒを備えている。左側装置状態検知部１３０Ｌおよび右側装置状態検知部１３０Ｒは、各々、車体１３の姿勢状態を検知し、例えば、ピッチ、ロール、およびヨー方向のジャイロセンサ１３１、および加速度センサ１３２を含む。また、移動装置１０は、回転角センサ１３３Ｌおよび１３３Ｒを備え、回転角センサ１３３Ｌおよび１３３Ｒは、各々、モータＬおよびモータＲの回転角を検知している。さらに、移動装置１０は、自装置の走行速度を検知する速度検知部１３４を備えている。
【００６３】
（自装置の周囲の環境に係る検知情報の取得）
移動装置１０は、環境状態検知部１４０を備えている。環境状態検知部１４０は、移動装置１０の周囲の環境（外部環境）の状態を検知する。環境状態検知部１４０は、例えば、搭乗者Ｐが移動装置１０に搭乗している時の、天候、風力、太陽の高度、温度、湿度、紫外線の強度など、搭乗者Ｐの運転に影響を与える得る各種の要因を計測している。すなわち、環境状態検知部１４０は、例えば、温度計１４１、湿度計１４２、風力計１４３を含む。
【００６４】
（装置制御部について）
装置制御部１００は、移動装置１０の機能を統括して制御するものである。図１に示す装置制御部１００は、機能ブロックとして、取得パラメータセット生成部１０１、算出部１０２、制御処理指示部１０３、駆動制御部１０４を含んでいる。取得パラメータセット生成部１０１は、状態検知部１１０により検出された状態を示す情報を、取得パラメータセットテーブル１７１に格納する。
【００６５】
算出部１０２は、可能性値算出関数テーブル１７２を参照して、転倒推定関数（走行中の移動装置に転倒状態が発生する可能性を示す発生可能性値を算出する関数）を取得する。そして、取得した転倒推定関数に、状態検知部１１０により検出された状態を示す情報（取得パラメータセットテーブル１７１に格納されている取得パラメータセット）を入力して、走行中の自装置についての転倒発生可能性値（転倒危険値）を算出する。
【００６６】
制御処理指示部１０３は、算出部１０２により算出された転倒危険値（転倒発生可能性値）が第１所定値以上である場合、状態検知部１１０により検出された状態を示す情報（取得パラメータセットテーブル１７１に格納されている取得パラメータセット）に対応する走行制御処理を実行する。
【００６７】
すなわち、制御処理指示部１０３は、装置受信部１８２がサーバ２０から受信し、目標走行状態テーブル１７３に格納されている回避動作パラメータを用いて、走行中の自装置の駆動出力および速度を制御する。
具体的には、制御処理指示部１０３は、算出部１０２により算出された転倒危険値が第１所定値以上であると判定すると、先ず、取得パラメータセットテーブル１７１に格納されている取得パラメータセットを取得する。制御処理指示部１０３は、次に、目標走行状態テーブル１７３を参照する。そして、「状態検知部１１０により検出された走行中の自装置の駆動出力および速度に類似する（対応する）駆動出力および速度」に係る回避動作パラメータを、目標走行状態テーブル１７３から取得する。つまり、取得パラメータセットテーブル１７１に格納されている取得パラメータセットに対応する回避動作パラメータを、目標走行状態テーブル１７３から取得する。そして、自装置の駆動出力および速度が、取得した回避動作パラメータに示される駆動出力および速度となるよう、駆動制御部１０４へ走行制御処理を指示する。駆動制御部１０４は、自装置の駆動出力および速度が、制御処理指示部１０３から指示された駆動出力および速度となるよう、駆動部１６０（モータ/駆動輪）を制御する。
【００６８】
（装置記憶部について）
装置記憶部１７０は、移動装置１０の装置制御部１００が実行する（１）制御プログラム、（２）ＯＳプログラム、（３）装置制御部が、移動装置１０の有する各種機能を実行するためのアプリケーションプログラム、および、（４）該アプリケーションプログラムを実行するときに読み出す各種データを非一時的に記憶するものである。
【００６９】
例えば、前記の（１）〜（４）のデータは、ＲＯＭ（read only memory）、フラッシュメモリ、ＥＰＲＯＭ（Erasable Programmable ROM）、ＥＥＰＲＯＭ（登録商標）（Electrically EPROM）、ＨＤＤ（Hard Disc Drive）等の不揮発性記憶装置に記憶される。
【００７０】
移動装置１０は、図示しない一時記憶部を備えていてもよい。一時記憶部は、移動装置１０が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、ＲＡＭ（Random Access Memory）などの揮発性記憶装置で構成される。
【００７１】
どのデータをどの記憶装置に記憶するのかについては、移動装置１０の使用目的、利便性、コスト、または、物理的な制約などから適宜決定される。
【００７２】
装置記憶部１７０は、状態検知部１１０により検出された状態を示す情報（取得パラメータセット）が格納される取得パラメータセットテーブル１７１、転倒推定関数が格納される可能性値算出関数テーブル１７２、および、回避動作パラメータが格納される目標走行状態テーブル１７３を含んでいる。取得パラメータセットおよび取得パラメータセットテーブル１７１について、詳細は後述する。
【００７３】
なお、装置送信部１８１は、取得パラメータセットテーブル１７１に格納されている取得パラメータセットをサーバ２０に送信する一方、装置受信部１８２は、転倒推定関数および回避動作パラメータをサーバ２０から受信する。
【００７４】
（モードの切り替え）
移動装置１０は、搭乗者Ｐの操作（ユーザ操作）に応じて動作する通常走行モードと、転倒危険値が第１所定値以上である場合に、回避動作パラメータを用いて実行する走行制御処理をユーザ操作よりも優先する回避モードの２つの走行モードで走行（運行）する。
【００７５】
（通常走行モード）
通常走行モードにおける移動装置１０の走行動作は、従来の小型モビリティと同様なので詳細は略記するが、例えば次のようなものであってもよい。すなわち、装置制御部１００（特に、駆動制御部１０４）は、操作受付部１５０からの操作量と、左側装置状態検知部１３０Ｌおよび右側装置状態検知部１３０Ｒ等の検知量とに基づき、倒立制御計算を行い、制御目標値を算出する。
【００７６】
さらに、駆動制御部１０４は、モータの現在の回転速度と、制御目標値に応じた目標回転速度の偏差とを算出する。回転角センサ１３３Ｌ、１３３ＲでモータＬ、モータＲの回転角を検知し、装置制御部１００にフィードバックする。また、加速度センサ１３２によって、移動装置１０の向き（傾斜等）を検出する。
【００７７】
そして、駆動制御部１０４は、この偏差に所定のフィードバックゲインを乗じて、フィードバック制御を行う。装置制御部１００は、モータＬ、モータＲに駆動トルクに応じた指令値を出力する。これにより、移動装置１０が、操作量に応じた速度および方向に移動する。
【００７８】
駆動制御部１０４は、装置記憶部１７０に格納されている、図示しない通常走行モードの制御プログラム（従来の小型モビリティにおいて利用されているのと同様の走行制御プログラム）に従って、各種制御を実行してもよい。
【００７９】
（回避モード）
移動装置１０は、サーバ２０から転倒推定関数および回避動作パラメータを受信する。また、移動装置１０は、走行中に状態検知部１１０が取得した各種の検知結果を取得パラメータセットとして取得パラメータセットテーブル１７１に格納する。そして、移動装置１０の算出部１０２は、取得パラメータセットテーブル１７１に格納されている取得パラメータセットを転倒推定関数に入力し、転倒危険値（転倒発生可能性値）を算出する。制御処理指示部１０３は、上記転倒危険値が第１所定値以上であると判定すると、目標走行状態テーブル１７３が格納されている回避動作パラメータを用いて実行する走行制御処理を、ユーザ操作よりも優先する回避モードで走行する。
【００８０】
（座席の高さ）
搭乗者Ｐは、前方を見渡したいときなど、視点の位置を高くしたい場合がある。例えば、人ごみの中に居る場合、および前方に視野を妨げるような障害物等がある場合、また、ショッピングセンター等において移動装置１０に搭乗しているときに、陳列棚の高い位置に陳列されている商品等を手に取ったり、見たりしようとする場合などである。
【００８１】
したがって、移動装置１０は、必要に応じて搭乗席１１の鉛直方向の位置（高さ）を高くして使用することができ、例えば、移動装置１０は、図示しない搭乗席昇降部を備え、搭乗席１１を鉛直方向に上下させることができてもよい。なお、前記搭乗席昇降部が搭乗席１１を鉛直上側に移動させている場合、搭乗者Ｐを含む移動装置１０の重心は高い位置にあるため、移動装置１０が転倒の発生可能性が高い。このような場合に、転倒危険値を用いた前記走行制御処理の要否判定、および回避動作パラメータを用いた走行制御処理の実行は、さらに有効性が高い。
【００８２】
なお、前記搭乗席昇降部は、移動装置１０の走行時には（例えば、操作受付部１５０が、移動装置１０を走行させようとするユーザ操作を受け付けた場合には）、搭乗席１１の鉛直方向の位置（高さ）を下げてもよい。走行時には座高が低い方が安定するためである。また、前記搭乗席昇降部は、操作受付部１５０が搭乗席１１の鉛直方向の位置を上げるユーザ操作を受け付けた場合、移動装置１０の走行が停止した、または走行速度が十分に遅くなったのを確認してから、搭乗席１１の鉛直方向の位置を上げるとしてもよい。
【００８３】
さらに、制御処理指示部１０３が、算出部１０２により算出された転倒危険値（転倒発生可能性値）が第１所定値以上であると判定した場合、前記搭乗席昇降部は、搭乗席１１の鉛直方向の位置（高さ）を下げてもよい。走行時には座高が低い方が安定するためである。
【００８４】
（移動装置の変形例について）
以上、移動装置１０の装置制御部１００、状態検知部１１０、操作受付部１５０、駆動部１６０（モータ/駆動輪）、装置記憶部１７０、および装置通信部１８０について、説明を行ってきた。しかしながら、移動装置１０が図２に示すような座乗型のものであることは必須ではなく、装置制御部１００、状態検知部１１０、操作受付部１５０、駆動部１６０、装置記憶部１７０、および装置通信部１８０を備えていれば、図３に示すようなものであってもよい。
【００８５】
図３は、図１の移動装置１０の変形例を示す図であり、図３の（ａ）は、移動装置１０の変形例である、立乗型の移動装置３０を示す図である。移動装置３０は、倒立振子制御の二輪立乗型の移動装置（小型モビリティ）であり、ステップカバーに搭乗した搭乗者Ｐが、移動装置３０の前後方向に体を傾けるなどして重心を移動させた際に前後方向へ傾斜する移動装置３０の姿勢角（ピッチ角）を、例えばジャイロセンサ等を利用して検出する。そして、検出した姿勢角に基づいて、移動装置３０の倒立状態を維持するように、左右の車輪を駆動する。移動装置３０は、移動装置１０と同様に、装置制御部１００、状態検知部１１０、操作受付部１５０、駆動部１６０（モータ/駆動輪）、装置記憶部１７０、および装置通信部１８０に備えている。すなわち、移動装置３０は、転倒危険値を用いて前記走行制御処理の要否判定を行うとともに、回避動作パラメータを用いた走行制御処理を実行する。
【００８６】
移動装置３０の支柱３１は、上下方向に伸縮可能であってもよい。例えばショッピングセンター等において、搭乗者Ｐは、移動装置３０に搭乗したまま、支柱３１を伸縮させることにより、高い位置に陳列された商品も、低い位置に陳列された商品も、手にとって見ることが可能となる。
【００８７】
ここで、搭乗者Ｐが商品を手に取ろうとして支柱３１を上下方向へ伸縮変化させた場合、搭乗者Ｐの姿勢変化に伴う大きな重心変化が生じる。しかしながら、移動装置３０は、大きな重心変化が生じた場合であっても、上述の回避動作パラメータを用いた走行制御処理を実行することにより転倒等を事前に予測して未然に回避することができる。
【００８８】
図３の（ｂ）は、移動装置１０の変形例である、４輪型の移動装置４０を示す図である。移動装置１０は、倒立振子制御を利用した移動装置であるとして説明を行ってきたが、移動装置１０が倒立振子制御を利用した移動装置であることは必須ではなく、倒立振子制御を利用しない移動装置であってもよい。すなわち、移動装置４０は、倒立振子制御を利用しない４輪型の移動装置であり、移動装置１０と同様に、装置制御部１００、状態検知部１１０、操作受付部１５０、駆動部１６０（モータ/駆動輪）、装置記憶部１７０、および装置通信部１８０に備えている。すなわち、移動装置４０は、転倒危険値を用いて前記走行制御処理の要否判定を行うとともに、回避動作パラメータを用いた走行制御処理を実行する。
【００８９】
以上に説明した移動装置１０、３０、および４０は、いずれも、転倒危険値を用いて前記走行制御処理の要否判定を行うとともに、回避動作パラメータを用いた走行制御処理を実行する。したがって、移動装置１０、３０、および４０は、転倒および衝突等の状態の発生を高い精度で回避することができる。移動装置１０、３０、および４０を利用することにより、高齢者、特に足が不自由で自由に外出することが困難な高齢者でも、より安全に、自由に外出する機会が増え、買い物等を行うことが可能になる。
【００９０】
（サーバの要部構成）
サーバ２０は、図１に示すように、サーバ制御部２００、サーバ通信部２１０、およびサーバ記憶部２２０を備えている。サーバ通信部２１０は、サーバ受信部２１１と、送信部２１２とを含む。サーバ受信部２１１は、移動装置１０が検出した、走行中の、自装置、搭乗者Ｐ、および、自装置の周囲の環境の状態を示す情報（取得パラメータセット）を移動装置１０から受信する。サーバ送信部２１２は、可能性値算出関数生成部２０１が生成した転倒推定関数および目標走行状態抽出部２０２が抽出した回避動作パラメータ（制御基準情報）を、移動装置１０に送信する。
【００９１】
サーバ制御部２００は、可能性値算出関数生成部２０１と、目標走行状態抽出部２０２とを含む。可能性値算出関数生成部２０１は、サーバ受信部２１１が受信した情報のうち、転倒状態が発生した移動装置（移動装置１０であっても、移動装置１０以外の移動装置であってもよい）に係る、転倒状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、転倒状態とから、学習アルゴリズムによって、走行中の移動装置に当該所定の制御対象状態が発生する可能性を示す転倒危険値（発生可能性値）を算出する転倒推定関数を生成する。
【００９２】
目標走行状態抽出部２０２は、サーバ受信部２１１が受信した情報から、前記転倒危険値が第１所定値以上になった後に転倒状態が発生しなかった移動装置（移動装置１０であっても、移動装置１０以外の移動装置であってもよい）の駆動出力および速度を示す情報である回避動作パラメータ（制御基準情報）を抽出する。
【００９３】
サーバ記憶部２２０には、サーバ取得パラメータセットテーブル２２１、サーバ新規パラメータセットテーブル２２２、生成可能性値算出関数２２３、および、生成目標走行状態テーブル２２４が格納されている。
【００９４】
以下に、移動装置１０の取得パラメータセットテーブル１７１およびサーバ２０のサーバ取得パラメータセットテーブル２２１に格納される取得パラメータセット、サーバ２０のサーバ新規パラメータセットテーブル２２２に格納される新規パラメータセット、転倒推定関数、および、目標走行状態テーブル１７３に格納される回避動作パラメータ等、移動装置制御システム１において用いられる各種情報について、図４から図９を用いて、詳細を説明していく。図４〜図６は、移動装置１０の状態検知部１１０が所定の間隔（例えば０．１秒間隔）で検知した検知量を時系列に整理した図である。
【００９５】
なお、最初に簡単に、取得パラメータセット、新規パラメータセット、転倒推定関数、および、回避動作パラメータの関係について説明しておけば以下の通りである。先ず、状態検知部１１０が検知した各種検知結果（検知情報）は、例えば、加速度センサ１３２によって検知された車体傾き量から判断される「１：転倒状態」または「０：非転倒状態」の情報（転倒フラグに格納される情報）等とともに、取得パラメータセットテーブル１７１に格納される。取得パラメータセットテーブル１７１に格納された取得パラメータセットは、移動装置１０からサーバ２０に送信される。
【００９６】
サーバ２０は、移動装置１０から受信した取得パラメータセットを、サーバ取得パラメータセットテーブル２２１に格納する。そして、サーバ２０は、サーバ取得パラメータセットテーブル２２１に格納されている取得パラメータセットについて、現在の転倒推定関数を用いて転倒危険値を算出し、算出した転倒危険値に応じた運行状態（第１状態〜第４状態）を状態フィールド１２０２に格納する（状態フィールド１２０２を更新する）。なお、第１状態は「通常の運行時、すなわち、転倒状態が発生しておらず、かつ転倒に陥りかけている状態でもない、通常の走行状態」、第２状態は「転倒等の状態に陥りかけている時の状態」、第３状態は「転倒等の状態に陥りかけたにもかかわらず転倒等に至らずに通常の運行に復帰した状態」、第４状態は「転倒等が発生しているときの状態」を示す。
【００９７】
サーバ２０は、状態フィールド１２０２に格納されている値と転倒フラグに格納されるとから、第１状態から第２状態、さらに第４状態への変化する取得パラメータセット（実転倒シナリオとして新規パラメータセットＰＳ１を）を抽出し、サーバ新規パラメータセットテーブル２２２に格納する。
【００９８】
また、サーバ２０は、状態フィールドに格納されている１２０２値が、第１状態から第２状態、さらに第３状態への変化する取得パラメータセットを抽出し、予測転倒シナリオとして新規パラメータセットＰＳ２を生成する。さらに、目標走行状態抽出部２０２は、状態フィールドに格納されている値が、第１状態から第２状態、さらに第４状態への変化する取得パラメータセットに類似する取得パラメータセット（類似の転倒シナリオ）を予測し、予測転倒シナリオとして新規パラメータセットＰＳ２を生成してもよい。
【００９９】
そして、サーバ２０は、サーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセットＰＳ１（さらに新規パラメータセットＰＳ２を含んでもよい）について機械学習を行うことにより、転倒推定関数を生成する。また、サーバ２０は、サーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセットＰＳ２を用いて、回避動作パラメータを抽出する。
【０１００】
以上に概要を説明した取得パラメータセット、新規パラメータセット、転倒推定関数、および、回避動作パラメータについて、次に詳細を説明していく。
【０１０１】
（移動装置制御システムにおいて用いられる各種情報）
図４は、移動装置１０が、通常の走行状態であるときの、状態検知部１１０が検知した各種検出情報の一例を時系列に整理した図である。具体的には、図４は、状態検知部１１０は、時刻欄に示す「１０時４０分１．１秒」から０．１秒間隔で「１０時４０分１．５秒」までに取得した（検知した）取得データ（検知量）の一例を時系列に整理した図である。図４では、紙面の右側列が時間的に早い時間（過去の時間）の検知量であり、左側が新しい時間の検知量である。各々の列には、状態検知部１１０によって同時刻に取得された検知量が示されている。取得パラメータセット生成部１０１は、図４（および、図５〜図６）に例示する各時間（列）の取得データ（検知量）に、転倒フラグデータ、取得パラメータＩＤを付加して、取得パラメータセットテーブル１７１に格納する。
【０１０２】
転倒フラグデータは、「転倒時は１」、「それ以外の時は０」が格納される。取得パラメータセットテーブル１７１における転倒フラグは、移動装置１０の状態を、「転倒等の回避すべき状態が発生している状態」（異常状態）と、「転倒等の回避すべき状態が発生していない状態」（通常の走行状態）とに分類している。
【０１０３】
取得パラメータＩＤは、各々の列のＩＤを示しており、移動装置の識別番号（例えば、製造番号。ただし、移動装置固有の番号であれば製造番号に限らない。）と、移動装置が運行した日付と、各データ（検知量）の入手時刻と、を含む英数値で構成される。すなわち、後述する図７は、「識別番号：ＡＢ１２」の移動装置１０に係る、移動装置１０が運行した日付：２０１４１２１７（２０１４年１２月１７日）における、各データ（検知量）を示している。なお、図４におけるレコード群１０００は、通常運行時の取得データ（検知量）の入手の様子を示している。
【０１０４】
図５は、移動装置１０が、転倒に陥りかけている状態および転倒した状態であるときの、状態検知部１１０が検知した各種検出情報の一例を時系列に整理した図である。具体的には、図５におけるレコード群１００１は、移動装置１０が転倒に陥りかけているときの状態検知部１１０の取得データ（検知量）を示している。また、図５におけるレコード群１００２は、移動装置１０が転倒しているときの状態検知部１１０の取得データ（検知量）を示している。
【０１０５】
図５において、レコード群１００１は、「１０時４５分５．０秒」および「１０時４５分５．１秒」の２つの時刻の取得データを示している。なお、実際にはこの０．２秒の間のみが、移動装置１０が転倒に陥りかけている状態の時間帯ではなく、前後の有る程度の時間帯（状況により異なる）は、移動装置１０が転倒に陥りかけている状態の時間帯である。ただし、紙面の都合上、ここでは、「１０時４５分５．０秒」および「１０時４５分５．１秒」の２つの時刻の取得データを取り上げて説明する。
【０１０６】
図５に示すレコード群１００１および１００２は、図４で示した通常運行時の各取得データ（検知量）、すなわちレコード群１０００とは、大きく異なった値になっている。なお、レコード群１００１（「１０時４５分５．０秒」および「１０時４５分５．１秒」）においては、まだ転倒が発生していないので、転倒フラグデータに「０」が格納されている。取得パラメータＩＤについては、図４で示した通常運行時の各取得データ（検知量）と同じであるから、説明を省略する。
【０１０７】
レコード群１００２は、「１０時４５分６．４秒」および「１０時４５分６．５秒」の２つの時刻の取得データを示している。実際にはこの０．２秒の間のみが、移動装置１０が転倒している状態の時間帯ではなく、前後の有る程度の時間帯（状況により異なる）が転倒時の時間帯であるが、紙面の都合上、この２つの時刻を取り上げて記載している。レコード群１００２（「１０時４５分６．４秒」および「１０時４５分６．５秒」）においては、転倒が発生しているので、転倒フラグデータに「１」が格納されている。
【０１０８】
図６は、移動装置１０が、転倒に陥りかけている状態および転倒を回避できた状態であるときの、状態検知部１１０が検知した各種検出情報の一例を時系列に整理した図である。具体的には、図６におけるレコード群１００１は、移動装置１０が転倒に陥りかけているときの状態検知部１１０の取得データ（検知量）を示している。また、図６におけるレコード群１００３は、移動装置１０が転倒を回避したときの状態検知部１１０の取得データ（検知量）を示している。図６におけるレコード群１００１は、図４のレコード群１００１と同様の状況を取り上げており、そこから転倒を回避した場合のデータがレコード群１００３である。図６においても、レコード群１００１は、「１０時４５分５．０秒」および「１０時４５分５．１秒」の２つの時刻の取得データを示している。また、図６におけるレコード群１００３は、「１０時４５分６．４秒」および「１０時４５分６．５秒」の２つの時刻の取得データを示している。
【０１０９】
図６のレコード群１００３は、転倒に陥りかけているときのレコード群１００１、および、図５に示した転倒時のレコード群１００２と大きく異なった値になっている。また、レコード群１００３は、図４で示した通常運行時のレコード群１０００と概ね同じ値（ほぼ同様の値）に戻っていることが分る。さらに、レコード群１００３においては、転倒が発生していないので、転倒フラグデータに「０」が格納されている。
【０１１０】
取得パラメータセット生成部１０１は、図４〜図６に例示した各時間（列）の取得データ（検知量）に、転倒フラグデータ、取得パラメータＩＤを付加して、取得パラメータセットテーブル１７１に格納する。図７および図８は、取得パラメータセットテーブル１７１（およびサーバ取得パラメータセットテーブル２２１）の一例を示す。
【０１１１】
図７は、移動装置制御システム１における取得パラメータセットテーブル１７１（およびサーバ取得パラメータセットテーブル２２１）のデータ構造および具体例を示す図である。取得パラメータセット生成部１０１は、図４〜図６に例示した検知量に基づき取得パラメータセットを生成し、生成した取得パラメータセットを取得パラメータセットテーブル１７１に格納する。
【０１１２】
取得パラメータセットテーブル１７１（およびサーバ取得パラメータセットテーブル２２１）は、取得パラメータＩＤを主キーとし、複数のフィールドを有する。前記複数のフィールドには、少なくとも、転倒フラグフィールド１２０１、状態フィールド１２０２、各取得データ（検知量）のフィールド群１２０３が含まれる。
【０１１３】
状態フィールド１２０２には、第１状態（通常の運行時、すなわち、転倒状態が発生しておらず、かつ転倒に陥りかけている状態でもない、通常の走行状態）、第２状態（転倒等の状態に陥りかけている時の状態）、第３状態（転倒等の状態に陥りかけたにもかかわらず転倒等に至らずに通常の運行に復帰した状態）、第４状態（転倒等が発生しているときの状態）の４つの運行状態の１つが格納される。
【０１１４】
運行状態は、（例えば、運用段階に入ってから、）以下に示すような基準に基づいて第１状態〜第１４態に分類される。すなわち、「時刻ｔにおいて取得した取得パラメータセットを転倒推定関数に入力して算出した転倒危険値がＳ１（例えば、「４００」）未満の状態が、過去指定時間分（例えば、２秒）維持されている場合」、第１状態とする。「算出転倒危険値がＳ１以上でＳ２（例えば、「９００」）未満の場合、およびＳ０（例えば、「１００」）以上Ｓ１未満の場合で過去指定時間の間にＳ１以上Ｓ２未満であった場合」、第２状態とする。「算出転倒危険値がＳ０未満であって、過去指定時間の間にＳ１以上Ｓ２未満であった場合」、第３状態とする。「算出転倒危険値がＳ２以上の場合」、第４状態とする。
【０１１５】
すなわち、図７は、第１状態から第２状態へ、そして第４状態へ変化する状況を示している。具体的には、図７のレコード群１２０４は通常運行時、レコード群1205は転倒等の状態に陥りかけている時、レコード群１２０６は転倒等に至った時の各レコードを示している。
【０１１６】
図８は、図７に示したのとは別のデータが格納されている取得パラメータセットテーブル１７１（およびサーバ取得パラメータセットテーブル２２１）を示す図である。具体的には、図８の状態フィールドに格納されている値は、第１状態から第２状態へ、そして転倒を回避して第３状態に変化している。すなわち、レコード群１２０７は通常運行時、レコード群１２０８は転倒等の状態に陥りかけている時、レコード群１２０９は転倒等の状態に陥りかけたにもかかわらず転倒等に至らず通常の運行に復帰した時の各レコードを示す。なお、レコード群１２０８’は、搭乗者Ｐが自発的に運行回復に向けて制御可能量を制御した例におけるレコード群を示している。すなわち、レコード群１２０８’は、レコード群１２０８に示される「転倒等の状態に陥りかけているとき」から、レコード群１２０９に示される「転倒等を回避できたとき」までの間の、「搭乗者Ｐが自発的にユーザ操作（例えば、ハンドル操作、速度制御、駆動輪の回転数制御等）を行っているとき」のレコード群を示している。
【０１１７】
図７および図８に例示した取得パラメータセットテーブル１７１に格納されている取得パラメータセットは、移動装置１０からサーバ２０へと送信され、サーバ２０は、受信した取得パラメータセットをいったんサーバ取得パラメータセットテーブル２２１に格納する。そして、サーバ２０は、サーバ取得パラメータセットテーブル２２１に格納した取得パラメータセットを更新するとともに、更新した取得パラメータセットから新規パラメータセットを生成し、生成した新規パラメータセットをサーバ新規パラメータセットテーブル２２２に格納する。サーバ新規パラメータセットテーブル２２２の詳細について、図９を用いて説明する。
【０１１８】
図９は、サーバ２０に記憶されているサーバ新規パラメータセットテーブル２２２のデータ構造および具体例を示す図である。サーバ制御部２００は、新規パラメータセットを以下の方法で生成する。すなわち、可能性値算出関数生成部２０１は、サーバ取得パラメータセットテーブル２２１を参照して、状態フィールド１２０２に格納されている値が、第１状態から第２状態、さらに第４状態への変化する取得パラメータセットを抽出し、実転倒シナリオとして新規パラメータセットＰＳ１を生成する。なお、運行（走行）時に実転倒が無かった場合は、新規パラメータセットＰＳ１は生成されない。
【０１１９】
また、目標走行状態抽出部２０２は、サーバ取得パラメータセットテーブル２２１を参照して、状態フィールド１２０２に格納されている値が、第１状態から第２状態、さらに第３状態への変化する取得パラメータセットを抽出し、予測転倒シナリオとして新規パラメータセットＰＳ２を生成する。さらに、目標走行状態抽出部２０２は、状態フィールド１２０２に格納されている値が、第１状態から第２状態、さらに第４状態への変化する取得パラメータセットに類似する取得パラメータセット（類似の転倒シナリオ）を予測し、予測転倒シナリオとして新規パラメータセットＰＳ２を生成してもよい。
【０１２０】
新規パラメータセットＰＳ１および新規パラメータセットＰＳ２はサーバ新規パラメータセットテーブル２２２に格納される。サーバ新規パラメータセットテーブル２２２は、サーバ取得パラメータセットテーブル２２１と同様に、転倒フラグフィールド１３０１、状態フィールド１３０２、各取得データ（検知量）のフィールド群１３０３を有する。サーバ新規パラメータセットテーブル２２２は、さらに、転倒危険値フィールド１３０４を有する。
【０１２１】
移動装置１０から受信した取得パラメータセットは、いったん、そのままの状態でサーバ新規パラメータセットテーブル２２２に格納される。サーバ新規パラメータセットテーブル２２２に格納されているデータを、そのまま、サーバ新規パラメータセットテーブル２２２に格納した場合、サーバ新規パラメータセットテーブル２２２の転倒危険値フィールド１３０４は「Ｎｕｌｌ」である。サーバ制御部２００は、転倒危険値フィールド１３０４を、以下の方法により、更新する。
【０１２２】
転倒危険値は、「０」〜「１０００」の値である。通常運行時（「取得パラメータＩＤ：ＡＢ１２−２０１４１２１７１０４００１４」および「取得パラメータＩＤ：ＡＢ１２−２０１４１２１７１０４００１５」のデータ）は、状態フィールド１３０２に第１状態が格納される。そして、通常運行時の転倒危険値フィールド１３０４には「０」もしくは「十分小さな値（図９では、「９」および「１０」）」が格納されている。
【０１２３】
図９に示す例では、「１０時４５分５．５秒」の時点で転倒に至っている。転倒に至っているときのデータは、「取得パラメータＩＤ：ＡＢ１２−０１４１２１７１０４５０６４」で示されるレコードであって、「２０１４年１２月１７日１０時４５分５．５秒」時点の取得データである。
【０１２４】
転倒危険値フィールド１３０４は、転倒直前の２秒間の取得データ、すなわち、「取得パラメータＩＤ：ＡＢ１２−２０１４１２１７１０４５０４４（１０時４５分４．４秒）」以後の２秒間の０．１秒毎のレコードを用いて、サーバ制御部２００によって生成される。この２秒間のレコードに対し、状態フィールド１３０２を全て第２状態に更新し、つまり、改めて２秒間内のレコード群を第２状態と定義し、書き換える。
【０１２５】
サーバ制御部２００は、転倒推定関数を用いて、転倒危険値フィールド１３０４を計算する。レコード群１３０５に対応する２秒間は転倒直前で、各フィールドの値が、状態フィールド１３０２に第１状態が格納されているときと比べ大きく変動しており、転倒危険値も大きくなり、図９では、この間は「５６４〜９０３」なる転倒危険値が返されている。
【０１２６】
次に、以上に示した処理の概要を、図１０および図１１を用いて整理する。
【０１２７】
（取得パラメータセット送信処理、およびサーバでの転倒推定関数等の生成処理）
図１０は、移動装置１０からサーバ２０への各種検出情報（取得パラメータセット）の送信処理、およびサーバ２０での転倒推定関数等の生成処理の一例を示すフローチャートである。特に、図１０は、移動装置１０の運行から起動停止後までの移動装置１０側の処理、および、移動装置１０の起動停止後からのサーバ２０側の処理のフローチャートを示している。
【０１２８】
運行中（つまり、起動の停止まで）、移動装置１０の取得パラメータセット生成部１０１は、状態検知部１１０が定期的に（もしくは常時）検知した各種検知量から取得パラメータセットを生成し（Ｓ１０）、生成した取得パラメータセットを取得パラメータセットテーブル１７１に格納する（Ｓ２０）。取得パラメータセットテーブル１７１は、一例として、図７および図８に例示するように、縦軸に各種検知部からの検知量と運行状態を整列し、横軸に時系列に配列したマトリクス状の情報になっている。
【０１２９】
移動装置１０の運行の終了等、起動の停止（Ｓ３０）時直後に、装置送信部１８１は、サーバ２０との通信を開始し（Ｓ４０）、取得パラメータセットテーブル１７１に格納されている取得パラメータセットをサーバ２０に転送（送信）する（Ｓ５０）。
【０１３０】
サーバ２０は、受信した取得パラメータセットを、サーバ取得パラメータセットテーブル２２１に格納する（Ｓ６０）。この際の通信用電源等は、内部バッテリー等で確保される。
【０１３１】
サーバ２０のサーバ制御部２００は、サーバ取得パラメータセットテーブル２２１に格納されている取得パラメータセット（サーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセット）を利用して転倒推定関数を生成する。通常、サーバ制御部２００は、サーバ取得パラメータセットテーブル２２１に格納されている全ての取得パラメータセット（サーバ新規パラメータセットテーブル２２２に格納されている全ての新規パラメータセット）を利用して（Ｓ６０でＹｓｅ）、新規の転倒推定関数を生成する（Ｓ８０）。
【０１３２】
しかし、「過去に蓄積されたパラメータの参照が必要でない場合」（Ｓ６０でＮｏ）、サーバ制御部２００は、今回受信した取得パラメータセット（今回受信した取得パラメータセットに対応する新規パラメータセット）を利用して転倒推定関数を生成し、生成した転倒推定関数で、過去に生成した転倒推定関数を更新する（Ｓ７０）。
【０１３３】
「過去に蓄積されたパラメータの参照が必要でない場合」とは、例えば、以下のようにユーザが判断し、選択した結果を用いてもよい。すなわち、ユーザが、サーバ２０における学習結果（または学習によって生成された転倒推定関数）が異常な学習結果（異常な転倒推定関数）になっていると判断し、履歴を用いない学習を選択した場合に、サーバ２０は過去に蓄積された取得パラメータセット（過去に蓄積された新規パラメータセット）を用いない学習を行ない、転倒推定関数を生成してもよい。また、サーバ２０が他の取得パラメータセット（他の新規パラメータセット）と比較して、異常値と判断した取得パラメータセット（他の新規パラメータセット）を、学習の対象から除外してもよい。例えば、他の取得パラメータセット（他の新規パラメータセット）に示されている傾向と所定範囲以上異なる傾向を示す取得パラメータセット（他の新規パラメータセット）を、学習の対象から除外してもよい。サーバ２０が異常値か否かを判断する方法については、従来の異常値データ検出方法を用いることができるため、ここでは詳細は省略する。
【０１３４】
上述のようにして、サーバ２０は転倒推定関数を完成させ（Ｓ８０）、完成した転倒推定関数を適宜、移動装置１０に送信する。
【０１３５】
（転倒回避処理）
図１１は、移動装置１０がサーバ２０から受信した転倒推定関数等を用いて行う転倒回避処理の一例を示すフローチャートである。特に、図１１は、移動装置１０の起動から運行時の動作のフローチャートを示している。
【０１３６】
移動装置１０を起動した際に（Ｓ１１０）、装置通信部１８０（特に、装置受信部１８２）はサーバ２０と通信し（Ｓ１２０）、転倒推定関数をロード（受信）する（Ｓ１３０）。移動装置１０の全くの初回の起動時は、工場でのテスト時等に取得され、工場出荷時に格納されたイニシャルの（工場出荷段階の）転倒推定関数が少量蓄積されているので、これをロードする。
【０１３７】
取得した転倒推定関数は、可能性値算出関数テーブル１７２に格納される。ここで、移動装置１０は、可能性値算出関数テーブル１７２に既に格納されている過去の転倒推定関数’を、今回取得した転倒推定関数に更新し（Ｓ１４０）、随時新しく進化した転倒推定関数を格納する（Ｓ１５０）。
【０１３８】
算出部１０２は、起動して運行中（Ｓ１６０）の、つまり走行中の移動装置１０において、状態検知部１１０が検知した検知量を含む取得パラメータセットを、Ｓ１３０でロードした転倒推定関数に入力して転倒危険値を算出する（Ｓ１７０）。
【０１３９】
制御処理指示部１０３が、Ｓ１７０で算出した転倒危険値が指定値（第１所定値）未満であると判定している間（Ｓ１８０でＮｏ）、Ｓ１６０およびＳ１７０が繰り返される。すなわち、走行中の自装置について適宜（例えば、所定時間ごとまたは常時）検知された各種検知情報を含む取得パラメータセットを転倒推定関数に入力して転倒危険値を算出し、転倒危険値が第１所定値未満であることを確認する。
【０１４０】
転倒危険値が第１所定値以上であると判定すると（Ｓ１８０でＹｅｓ）、制御処理指示部１０３は、搭乗者Ｐの操作（ユーザ操作）に応じて動作する通常走行モードから、回避動作パラメータを用いて実行する走行制御処理をユーザ操作よりも優先する回避モード（安全確保モード）へと、移動装置１０の走行モードを遷移させる（Ｓ１９０）。そして、走行中の自装置の状態についてモード分類を実施し（つまり、前記２４種分類のいずれに分類されるかを判定し）、モード分類に従ったモータ制御を実施する（Ｓ２００）。具体的には、制御処理指示部１０３は、「状態検知部１１０により検出された走行中の自装置の駆動出力および速度に類似する（対応する）駆動出力および速度」に係る回避動作パラメータを、目標走行状態テーブル１７３から取得する。そして、自装置の駆動出力および速度が、取得した回避動作パラメータに示される駆動出力および速度となるよう、駆動制御部１０４へ走行制御処理を指示する。駆動制御部１０４は、自装置の駆動出力および速度が、制御処理指示部１０３から指示された駆動出力および速度となるよう、駆動部１６０（モータ/駆動輪）を制御する。
【０１４１】
制御処理指示部１０３は、さらに、上記走行制御処理を実行したこと（通常走行モードから、回避モードへと遷移したこと）を搭乗者Ｐに通知する（Ｓ２１０）。例えば、制御処理指示部１０３は、ブザー・音声等によって、上記走行制御処理を実行したことを搭乗者Ｐに通知する。
【０１４２】
そして、Ｓ２１０における搭乗者Ｐへの通知に対応して、搭乗者Ｐから「非常停止を指示する」ユーザ操作を受け付けると、つまり、「非常停止する必要がある」と判定すると（Ｓ２２０でＹｅｓ）、装置制御部１００は移動装置１０を非常停止させる（Ｓ２３０）。搭乗者Ｐから「非常停止を指示する」ユーザ操作を受け付けない場合、つまり、「非常停止する必要がない」と判定すると（Ｓ２２０でＮｏ）、制御処理指示部１０３は、回避モード（安全確保モード）から通常走行モード（通常運転モード）へと、移動装置１０の走行モードを遷移させる（Ｓ２４０）。そして、その後は、Ｓ１６０およびＳ１７０の処理を繰り返す。
【０１４３】
なお、制御処理指示部１０３は、Ｓ１７０で算出した転倒危険値が第２所定値（第１所定値よりも大きな値であって、移動装置１０の転倒の可能性が極めて高いことを示す基準値）であると判定すると、装置制御部１００は移動装置１０を非常停止させる（Ｓ２３０）としてもよい。
【０１４４】
ここまで、「取得パラメータセット送信処理、およびサーバでの転倒推定関数等の生成処理」および「転倒回避処理」について説明を行ってきた。次に、「移動装置１０の製造段階、つまり出荷前の段階において実行される」および「移動装置１０の運用段階において実行される処理」について、これまでに説明してきたのとは別の観点から説明する。
【０１４５】
（移動装置の製造段階、つまり出荷前の段階）
第１に（Ｄ１段階）、移動装置１０を完成させる。この時、移動装置１０は、従来の移動装置に用いられていたのと同様の倒立制御を行っており、さらに、状態検知部１１０（各種センサ）による計測（状態検知）を行っている。移動装置１０は、状態検知部１１０（各種センサ）によって検知した結果（検知結果）を取得パラメータセットとして取得パラメータセットテーブル１７１に格納する。移動装置１０の取得パラメータセットテーブル１７１の例は、図７および図８に示した通りである。
【０１４６】
具体的には、移動装置１０（取得パラメータセット生成部１０１）は、一定時間ごと（例えば、０．１秒ごと）に状態検知部１１０の検知結果を取得し、取得した検知結果を、取得時刻（検知時刻）およびその時刻における移動装置１０の転倒状態（転倒しているか、否かを示す転倒フラグ）とともに、取得パラメータセットテーブル１７１に格納する。取得パラメータセットテーブル１７１における転倒フラグには、例えば、車体傾き量（状態検知部１１０の検知量の１つであり、例えば、加速度センサ１３２によって検知する）から判断して「１：転倒状態」、「０：非転倒状態」が格納される。
【０１４７】
第２に（Ｄ２段階）、Ｄ１段階のところで既に一部説明したように、取得パラメータセットテーブル１７１の作成が行われる。例えば、複数（ｎ人）の搭乗者の各々が移動装置１０（１）〜１０（ｎ）を運転し、多様な運行状態の取得パラメータセットテーブル１７１が作成される。その際、前記複数の搭乗者の各々は、正常な（転倒しない・転倒しそうにならない）走行のみならず、転倒する走行、転倒しそうになりながら持ち直す走行も行う。
【０１４８】
移動装置１０（１）〜１０（ｎ）の各々の取得パラメータセットテーブル１７１（１）〜１７１（ｎ）に格納されている取得パラメータセットは、適宜（例えば、随時、または、移動装置１０（１）〜１０（ｎ）の各々の機動停止後）、サーバ２０に送信される。サーバ２０への送信は、取得パラメータセットテーブル１７１に格納されている取得パラメータセットが一定量蓄積してからでも構わない。
【０１４９】
移動装置１０（１）〜１０（ｎ）の各々の取得パラメータセットテーブル１７１（１）〜１７１（ｎ）において、移動装置１０（１）〜１０（ｎ）の各々が走行時に検知した各種検知結果には、その時の運行状態（例えば１０秒単位の区分で、走行開始から８０秒は正常、そのあと１０秒は転倒しかけ、その後１２０秒は正常など）を示す情報（取得パラメータセットテーブル１７１の状態フィールド１２０２）が紐付される。状態フィールド１２０２に格納される第１状態〜第４状態の４つの運行状態については、既に説明しているので、ここでは説明を省略する。
【０１５０】
サーバ２０は、移動装置１０から取得パラメータセットを受信すると、受信した取得パラメータセットをサーバ取得パラメータセットテーブル２２１に格納する。
【０１５１】
第３に（Ｄ３段階）、サーバ２０は、サーバ取得パラメータセットテーブル２２１に格納されている時刻ごとの取得パラメータセットに対して、転倒危険値（「０」または「１０００」）の付与を行う。より正確には、サーバ２０は、Ｄ２段階で得たサーバ取得パラメータセットテーブル２２１に格納されている取得パラメータセットと運行状態とに対し、転倒危険値を付与し、サーバ新規パラメータセットテーブル２２２に格納する。ある時刻ｔにおける転倒危険値は、以下のルールで付与される。
【０１５２】
すなわち、転倒フラグと運行状態とから、時刻ｔにおいて転倒しておらず（転倒フラグ＝「０」）、かつ転倒しかけに至っていない状態（運行状態：正常）が時刻ｔから指定の時間（例えば、２秒）継続していると判定する場合、「転倒危険値：Ｋｍｉｎ（例えば、「０」）」を付与する。時刻ｔにおいて転倒している場合（転倒フラグ＝「１」）、「転倒危険値：Ｋｍａｘ（例えば、「１０００」）」を付与する。時刻ｔにおいて転倒していないが、時刻ｔから指定の時間（例えば、２秒）までに転倒していたのを確認した場合、「転倒危険値：数値を付与しない」。時刻ｔにおいて転倒していないが、時刻ｔから指定の時間（例えば、２秒）までに転倒しかけ（運行状態：転倒しかけ）に至った場合、「転倒危険値：数値を付与しない」。
【０１５３】
第４に（Ｄ４段階）、機械学習によって転倒推定関数を生成する。すなわち、サーバ２０は、Ｄ３段階で得られたサーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセット（転倒危険値の付与された、時刻ごとの取得パラメータセット）を元に、「入力（Ｘ）：過去２秒の新規パラメータセット、結果（ｔ）：転倒危険値」として、機械学習を行い、入力から結果を求める式(転倒推定関数)を導出する。
【０１５４】
第５に（Ｄ５段階）、「転倒しかけ」の判定から、転倒回避制御の学習を行ない、つまり、回避動作パラメータを取得する。先ず、サーバ２０は、Ｄ３段階で得たサーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセットにＤ４段階で得た転倒推定関数を用いて算出した転倒危険値を付与する。
【０１５５】
次に、転倒危険値がＳ１（例えば、「４００」）以上に至りながら、その後指定時間（例えば、２秒）以内に転倒危険値がＳ０（例えば、「１００」）未満になっている個所を探し出す。なお、サーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセットが十分に多く、前記箇所が多数あるものとする。前記箇所の、転倒危険値がＳ１以上に至った時刻から転倒危険値がＳ０未満に至るまでの時間の新規パラメータセットを元に、転倒危険値がＳ１以上となった個所の、ジャイロセンサ１３１の検知したピッチ・ヨー・ロール（例えば、ピッチ・ヨー・ロールの角速度）と加速度センサ１３２の検知した加速度の８種類のデータを、それぞれ、「０近傍（別途定める値範囲）」、「プラス値」、「マイナス値」のいずれかにカテゴライズする。すなわち、入力値を２４種に分類する。なお、分類１種類についても十分な数があるものとする。また、前記箇所の後で転倒危険値がＳ０未満に至るまでの時間のモータ出力（左右）を「前進」「後進」各ｍ段階（例えば５段階）にカテゴライズして、カテゴリごとの代表値を当該時のモータ出力値とする。
【０１５６】
２４種分類のそれぞれについて、転倒危険値がＳ１以上となった個所以降から転倒危険値がＳ０未満に戻るまでに行われた（転倒回避のために行われた）モータ出力遷移の平均値を求める（分類１種類について複数のデータ数があるため、それを平均する）。２４種分類の各転倒条件で求まったモータ出力遷移が、各転倒条件において転倒を回避するためのモータ出力遷移となる。
【０１５７】
前記２４種分類の各転倒条件において転倒を回避するためのモータ出力遷移を示す情報は、「回避動作パラメータ」として、生成目標走行状態テーブル２２４に格納される。そして、生成目標走行状態テーブル２２４に格納された回避動作パラメータは、適宜、移動装置１０へと送信される。
【０１５８】
移動装置１０の算出部１０２は、可能性値算出関数テーブル１７２に格納されている転倒推定関数に、走行中の自装置の状態等を示す情報（取得パラメータセットテーブル１７１に格納されている情報）を入力して転倒危険値を算出する。そして、算出した転倒危険値が第１所定値以上である場合、制御処理指示部１０３は、取得パラメータセットテーブル１７１を参照して、走行中の自装置の状態が前記２４種分類のいずれに該当するかを判定する。そして、制御処理指示部１０３は、走行中の自装置の状態が前記２４種分類のいずれに該当するかを確認すると、該当する分類に対応する回避動作パラメータを、生成目標走行状態テーブル２２４から取得し、取得した回避動作パラメータを駆動制御部１０４に通知する。駆動制御部１０４は、通知された回避動作パラメータに示されているモータ出力遷移を実現するよう、駆動部１６０を制御する。
【０１５９】
（移動装置の運用段階）
第１に（Ｏ１段階）、移動装置１０は、サーバ２０から転倒推定関数の係数、および回避動作パラメータを取得する。移動装置１０は、適宜（例えば、一定時間毎に、あるいは、起動時に、また、通信が可能となってから一定時間経過後など、タイミングについては特に限定しない）にサーバ２０から、Ｄ４段階（あるいはＯ４段階）で生成した転倒推定関数の係数（または、転倒推定関数そのもの）を取得する。また、Ｄ５段階（あるいはＯ６段階）で生成した、「各転倒条件において転倒を回避するためのモータ出力遷移」を示す回避動作パラメータをサーバ２０から取得する。
【０１６０】
第２に（Ｏ２段階）、移動装置１０は、取得パラメータセットを作成する。すなわち、移動装置１０は、走行を開始すると、走行時に取得した（検知した）各種検知情報を、パラメータセットとして、取得パラメータセットテーブル１７１に格納する。取得パラメータセットテーブル１７１に格納された取得パラメータセットは、適宜、サーバ２０に送信される（一定量蓄積してから送信、あるいは通信が可能な場合は常時でも構わない）。
【０１６１】
サーバ２０は、移動装置１０から取得パラメータセットを受信すると、受信した取得パラメータセットをサーバ取得パラメータセットテーブル２２１に格納する。
【０１６２】
第３に（Ｏ３段階）、サーバ２０は、サーバ取得パラメータセットテーブル２２１に格納されている時刻ごとの取得パラメータセットに対して、転倒危険値（「０」または「１０００」）の付与を行う。より正確には、サーバ２０は、Ｏ２段階で得たサーバ取得パラメータセットテーブル２２１に格納されている取得パラメータセットと運行状態とに対し、Ｄ４段階（あるいはＯ４段階）で得た転倒推定関数を元に転倒危険値を付与し、サーバ新規パラメータセットテーブル２２２に格納する。さらに、サーバ２０は、付与した転倒危険値を以下のルールで修正する。
【０１６３】
すなわち、ある時刻ｔにおける転倒危険値を、「時刻ｔにおいて転倒しておらず、算出転倒危険値がＳ０（例えば、「１００」）未満である」場合はＫｍｉｎ（例えば、「０」）に修正し、「時刻ｔにおいて転倒している」場合はＫｍａｘ（例えば、「１０００」）に修正し、上記以外の場合は修正を行わない。
【０１６４】
第４に（Ｏ４段階）、サーバ２０（可能性値算出関数生成部２０１）は、転倒推定関数の更新（機械学習）を行う。サーバ２０は、サーバ取得パラメータセットテーブル２２１にこれまで格納されている（全ての）新規パラメータセットと、Ｏ２段階で得た取得パラメータセット（より正確には、Ｏ２段階で得た取得パラメータセットに対応する新規パラメータセット）とを元に、「入力（Ｘ）：過去２秒の取得パラメータセット、結果（Ｔ）：転倒危険値」として、機械学習を行い、入力から結果を求める式(転倒推定関数)を導出する。ここで、過去に生成された転倒推定関数が既にある場合、最新の転倒推定関数に更新する。
【０１６５】
第５に（Ｏ５段階）、移動装置１０は、走行制御処理の実行要否を判定し、実行要と判定すると、走行制御処理（転倒回避制御）を実行する。具体的には、移動装置１０は、適宜（例えば、所定時間間隔で、あるいは常時）、取得パラメータセットを生成している。さらに、移動装置１０は、適宜（例えば、所定時間間隔で、あるいは常時）、前記取得パラメータセットをサーバ２０から受信した転倒推定関数に入力して転倒危険値を算出している。算出している転倒危険値が走行中にＳ１を超えたと判定すると、制御処理指示部１０３は、目標走行状態テーブル１７３を参照して、走行中の自装置の状態に対応する回避動作パラメータを取得する。
【０１６６】
すなわち、制御処理指示部１０３は、ジャイロセンサ１３１の検出したピッチ・ヨー・ロールと加速度センサ１３２の検出した加速度のデータとから、走行中の移動装置１０の状態が前記２４種分類のどれになるかを判定する。そして、判定した分類に対応する回避動作パラメータに示される「転倒回避のためのモータ出力遷移」となるように、モータ出力を制御するよう、駆動制御部１０４に指示を送信する。
【０１６７】
第６に（Ｏ６段階）、「転倒しかけ」の判定から、転倒回避制御の学習（更新）を行ない、つまり、最新の回避動作パラメータを取得する。先ず、サーバ２０は、Ｏ３段階で得たサーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセットにＯ４段階で得た転倒推定関数を用いて算出した転倒危険値を付与する。
【０１６８】
次に、転倒危険値がＳ１（例えば、「４００」）以上に至りながら、その後指定時間（例えば、２秒）以内に転倒危険値がＳ０（例えば、「１００」）未満になっている個所を探し出す。なお、サーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセットが十分に多く、前記箇所が多数あるものとする。前記箇所の、転倒危険値がＳ１以上に至った時刻から転倒危険値がＳ０未満に至るまでの時間の新規パラメータセットを元に、転倒危険値がＳ１以上となった個所の、ジャイロセンサ１３１の検知したピッチ・ヨー・ロールと加速度センサ１３２の検知した加速度の８種類のデータを、それぞれ、「０近傍（別途定める値範囲）」、「プラス値」、「マイナス値」のいずれかにカテゴライズする。すなわち、入力値を２４種に分類する。なお、分類１種類についても十分な数があるものとする。また、前記箇所の後で転倒危険値がＳ０未満に至るまでの時間のモータ出力（左右）を「前進」「後進」各ｍ段階（例えば５段階）にカテゴライズして、カテゴリごとの代表値を当該時のモータ出力値とする。
【０１６９】
２４種分類のそれぞれについて、転倒危険値がＳ１以上となった個所以降から転倒危険値がＳ０未満に戻るまでに行われた（転倒回避のために行われた）モータ出力遷移の平均値を求める（分類１種類について複数のデータ数があるため、それを平均する）。各転倒条件で求まったモータ出力遷移が、各転倒条件において転倒を回避するためのモータ出力遷移となる。
【０１７０】
各転倒条件において転倒を回避するためのモータ出力遷移を示す情報は、「回避動作パラメータ」として、生成目標走行状態テーブル２２４に格納される。そして、生成目標走行状態テーブル２２４に格納された回避動作パラメータは、適宜、移動装置１０へと送信される。
【０１７１】
各転倒条件において転倒を回避するためのモータ出力遷移を示す情報は、「回避動作パラメータ」として、生成目標走行状態テーブル２２４に格納される。そして、生成目標走行状態テーブル２２４に格納された回避動作パラメータは、適宜、移動装置１０へと送信される。
【０１７２】
（経時的変化への対応）
移動装置１０を含む小型モビリティは、一般に、使用を重ねるにつれて構成部品、機構等に錆、劣化、摩耗等の経時的変化が生じる傾向がある。移動装置１０は、このような経時的変化が生じる中で、過去に蓄積した取得パラメータセットに対し、移動装置１０の現在の状態について取得した新しい取得パラメータセットに更新することができる。また、サーバ２０は、前記新しい取得パラメータセットを利用して、転倒推定関数および回避動作パラメータを生成することができる。したがって、移動装置１０は、移動装置１０の状態に係る経時的変化に対応した新しい取得パラメータセットを、新しい取得パラメータセットを利用して生成された転倒推定関数に入力して、走行制御処理の実行要否を判定することができる。さらに、走行制御処理の実行が必要な場合、新しい取得パラメータセットを利用して生成された回避動作パラメータを用いた、走行制御処理を実行することができる。つまり、移動装置１０は、高い精度で、転倒および衝突等の状態の発生を防止することができる。
【０１７３】
〔実施形態２〕複数の移動装置のセンシングデータを利用して基準情報を形成。
【０１７４】
本発明の他の実施形態について、図１２に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０１７５】
図１２は、本発明の実施形態２に係る移動装置制御システム２の概要を示す図である。移動装置制御システム２が、実施形態１に係る移動装置制御システム１と異なる点は、サーバ２０が複数の（例えば、ｎ台の）移動装置１０（１）〜１０（ｎ）と通信を行う点である。移動装置制御システム２の移動装置１０およびサーバ２０は、移動装置制御システム１の移動装置１０およびサーバ２０と同様の構成であってもよいため、詳細は略記する。なお、以下の説明において、複数の移動装置１０（１）〜１０（ｎ）の各々を特に区別する必要がない場合は、単に「移動装置１０」と称する。
【０１７６】
移動装置制御システム２の移動装置１０における装置受信部１８２は、サーバ２０（関数生成装置）が、転倒状態（所定の制御対象状態）が発生した自装置を含む複数の移動装置１０（１）〜１０（ｎ）の各々に係る、転倒状態が発生するまでの、走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、転倒状態とから、学習アルゴリズムによって、生成した転倒推定関数と、サーバ２０が、走行中の複数の移動装置１０（１）〜１０（ｎ）の各々の状態を示す情報から抽出した、転倒危険値（転倒発生可能性値）が第１所定値以上になった後に転倒状態が発生しなかった移動装置の駆動出力および速度を示す情報である回避動作パラメータ（制御基準情報）と、を受信する。
【０１７７】
前記の構成によれば、移動装置１０は、複数の移動装置１０（１）〜１０（ｎ）の各々が検出した前記状態を示す情報を用いて生成された転倒推定関数と、転倒状態の発生を回避することができた複数の移動装置１０（１）〜１０（ｎ）の各々の駆動出力および速度を示す情報である回避動作パラメータ（制御基準情報）と、を受信する。
【０１７８】
つまり、移動装置１０は、自装置以外の移動装置の走行中の状態、当該自装置以外の移動装置の走行中の搭乗者の状態、および、当該自装置以外の移動装置の走行中の周囲の環境の状態に係る情報を用いて生成された転倒危険値と、転倒状態の発生を回避することのできた、自装置以外の移動装置に係る回避動作パラメータと、を受信して、前記走行制御処理を実行する。したがって、移動装置１０は、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態に係る情報のみから生成された転倒推定関数、および転倒状態の発生を回避することのできた自装置に係る回避動作パラメータのみを用いて前記走行制御処理を実行するのに比べて、より高い精度で前記走行制御処理の実行要否を判定し、かつ、より望ましい前記走行制御処理を実行することができるという効果を奏する。
【０１７９】
移動装置制御システム２のサーバ２０において、サーバ受信部２１１は、複数の移動装置１０（１）〜１０（ｎ）の各々が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報を受信し、可能性値算出関数生成部２０１（関数生成部）は、走行中の複数の移動装置１０（１）〜１０（ｎ）の各々に転倒状態が発生する可能性を示す転倒危険値（転倒発生可能性値）を算出する転倒推定関数を生成し、サーバ送信部２１２は、可能性値算出関数生成部２０１が生成した転倒推定関数を複数の移動装置１０（１）〜１０（ｎ）の各々に送信する。
【０１８０】
前記の構成によれば、サーバ２０は、複数の移動装置１０（１）〜１０（ｎ）の各々が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報から、転倒推定関数を生成する。したがって、サーバ２０は、複数の移動装置１０（１）〜１０（ｎ）の各々に、自装置以外の移動装置の走行中の状態、当該自装置以外の移動装置の走行中の搭乗者の状態、および、当該自装置以外の移動装置の走行中の周囲の環境の状態に係る情報を用いて生成された転倒推定関数を利用させて、例えば走行制御処理の実行要否を判断させることができるという効果を奏する。
【０１８１】
（転倒推定関数の平準化および非個性化）
移動装置制御システム１のサーバ２０は、１台の移動装置１０（例えば、特定の搭乗者Ｐが所有する移動装置１０）とのみ通信するものであった。したがって、サーバ２０が取得する取得パラメータセットも、搭乗者Ｐの身体的特徴（例えば、身長、体重）、運転の際の癖等に影響された、搭乗者Ｐに特有のものになりがちである。つまり、移動装置制御システム１においては、移動装置１０の取得パラメータセットから生成される転倒推定関数が、搭乗者Ｐの個性（例えば、搭乗者Ｐの身体的特徴、運転の際の癖等）の影響を受けたものとなりがちであった。
【０１８２】
これに対し、移動装置制御システム２においては、複数の移動装置１０（１）〜１０（ｎ）の各々の取得パラメータ（１）〜（ｎ）を利用して、転倒推定関数が生成される。つまり、複数の移動装置１０（１）〜１０（ｎ）の各々の取得パラメータ（１）〜（ｎ）という多様なデータから転倒推定関数が生成される。したがって、移動装置制御システム２は、複数の移動装置１０（１）〜１０（ｎ）の各々の搭乗者の個人要因からの影響を低減した転倒推定関数を生成することができる。移動装置制御システム２において生成される転倒推定関数は、移動装置制御システム１において生成される転倒推定関数に比べ、より非個性的、より匿名的で汎用性の高い転倒推定関数である。
【０１８３】
複数の移動装置１０（１）〜１０（ｎ）の各々は、自装置が経験した状態に係る取得パラメータと、自装置が直接経験したことはない状態であって、自装置以外の移動装置が経験した状態に係る取得パラメータとから生成された転倒推定関数を取得する。つまり、複数の移動装置１０（１）〜１０（ｎ）の各々は、自装置が直接経験したことがない状態を示す情報も利用して、転倒状態の発生可能性を判定することが可能となる。
【０１８４】
ただし、移動装置制御システム２は、複数の移動装置１０（１）〜１０（ｎ）の各々の搭乗者からの影響を除去していない転倒推定関数を生成し、複数の移動装置１０（１）〜１０（ｎ）の各々が、当該転倒推定関数を共通して利用してもよい。
【０１８５】
移動装置１０（１）〜１０（ｎ）の各々は、複数の個人（搭乗者）の各々が所有する移動装置であるため、移動装置１０（１）〜１０（ｎ）の各々は、広範囲に亘る多種多様な環境（例えば、屋外、屋内、室内、平地、段差、坂道、晴天路、雨天路）において利用され得る。移動装置１０（１）〜１０（ｎ）の各々は、これらの多種多様な環境下での運行に際して取得された幅広い取得パラメータから生成された転倒推定関数および回避動作パラメータを、複数の移動装置１０（１）〜１０（ｎ）の各々で共有できる。
【０１８６】
したがって、移動装置１０（１）〜１０（ｎ）の各々は、自装置の取得パラメータのみから生成された転倒推定関数および回避動作パラメータをサーバ２０から取得する場合に比べて、自装置が経験したことのない環境下での衝突および転倒等の状態の発生を、事前により高い精度で予測することができる。
【０１８７】
なお、移動装置制御システム２におけるサーバ２０は、移動装置制御システム１におけるサーバ２０が備えていなかった複数取得パラメータ整合部（不図示）を備えていてもよい。前記複数取得パラメータ整合部は、複数の取得パラメータ（１）〜（ｎ）から、複数の移動装置１０（１）〜１０（ｎ）が利用可能な転倒推定関数を生成する際に、複数の取得パラメータ（１）〜（ｎ）に含まれる、移動装置１０（１）〜１０（ｎ）の各々の搭乗者の個人的特徴に係る要因（例えば、前記特定の個人の身体的特徴、運転の際の癖等）について、転倒推定関数への寄与率（重み付け）を低減させるとしてもよい。
【０１８８】
〔実施形態３〕
本発明の他の実施形態について、図１３および図１４に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０１８９】
図１３は、本発明の実施形態３に係る移動装置制御システム３の概要を示す図である。移動装置制御システム３は、実施形態２に係る移動装置制御システム２と比べて、複数の（例えば、ｎ台の）移動装置３０（１）〜３０（ｎ）の各々が、他の移動装置との距離を検出している点である。例えば、移動装置３０（１）は、自装置以外の移動装置３０（２）〜３０（ｎ）との距離を検出している。
【０１９０】
なお、以下の説明において、複数の移動装置３０（１）〜３０（ｎ）の各々を特に区別する必要がない場合、単に「移動装置３０」と称する。また、説明の便宜のため、以下では特に移動装置３０（１）を取り上げて説明するが、移動装置３０（１）と、移動装置３０（２）〜３０（ｎ）の各々とは同様の構成である。
【０１９１】
移動装置３０（１）は、環境状態検知部１４０の１つとして距離センサを備えている。すなわち、移動装置３０（１）は、走行中の自装置の周囲の環境の状態の１つとして、自装置以外の移動装置３０（２）〜３０（ｎ）の各々との間の距離、および自装置と歩行者等との間の距離を検出している。移動装置３０（１）は、自装置以外の移動装置３０（２）〜３０（ｎ）の各々との間の距離、および自装置と歩行者等との間の距離を示す情報を含む取得パラメータセットをサーバ２０に送信する。
【０１９２】
サーバ２０は、複数の移動装置３０（１）〜３０（ｎ）間の距離、および、複数の移動装置３０（１）〜３０（ｎ）の各々と歩行者（人）等との間の距離に係る情報をも考慮した転倒推定関数および回避動作パラメータを生成する。
【０１９３】
すなわち、移動装置制御システム３の転倒推定関数および回避動作パラメータは、移動装置制御システム２の転倒推定関数および回避動作パラメータに比べ、複数の移動装置の各々の間の距離、および複数の移動装置の各々と歩行者（人）等との間の距離に係る情報をも考慮して生成されたものである点で異なる。
【０１９４】
図１４は、移動装置制御システム３の移動装置３０が利用される環境の一例を示す図であり、具体的には、イベント会場となっている建物の１階フロアの平面図である。図１４に示す環境においては、複数の移動装置３０（１）〜３０（ｎ）の各々を不特定多数の人が利用する。すなわち、１台の移動装置３０を不特定多数の人が利用する。図１４は、公共施設、イベント会場、アトラクション会場、買物施設、遊技施設等において、複数の利用者（例えば、来場者）が順次、１台の移動装置３０を利用するような環境を想定している。図１４に示すような環境で利用される移動装置３０は、公共施設等の「特定のエリア」で利用され、乗り降りがしやすく、軽快に移動することができるように、例えば、立ち乗り型であることが好ましい。
【０１９５】
図１４において、１階フロアには催し物Ａ〜Ｄが展示されている。来場者は、イベント会場の受付（不図示）等において移動装置３０を貸し出してもらい、図１４に示すイベント会場の中を、移動装置３０に搭乗しながら見学することができるものとする。このような公共的な場所では、移動装置３０の操作に慣れた搭乗者Ｐもいれば、不慣れな搭乗者Ｐもいることが想定される。また、複数の移動装置３０（１）〜３０（ｎ）が、イベント会場という限られたエリア内を走行している。さらに、このイベント会場には、移動装置３０に搭乗せず、歩行しながら見学している来場者（歩行者）も存在するものとする。
【０１９６】
図１４に例示する利用シーンの場合、実施形態１および実施形態２とは異なり、移動装置３０（１）は、自装置のみに起因する要因で転倒等の状態に陥る可能性に加えて、自装置以外の移動装置３０（２）〜３０（ｎ）、および歩行者等との接触または衝突に起因して転倒等の状態に陥る可能性がある。例えば、自装置以外の移動装置３０（２）〜３０（ｎ）および歩行者と接触し、または衝突したはずみで転倒したり、接触または衝突を回避しようとして転倒したりする可能性がある。
【０１９７】
移動装置３０（１）は、自装置以外の移動装置３０（２）〜３０（ｎ）、および歩行者等との接触または衝突を回避するための情報の検知も行なっている。自装置以外の移動装置３０（２）〜３０（ｎ）、および歩行者等との接触または衝突を回避するための情報とは、例えば、自装置と自装置以外の移動装置３０（２）〜３０（ｎ）、および歩行者等との間の距離、自装置以外の移動装置３０（２）〜３０（ｎ）の速度、および歩行者等の移動速度等である。移動装置３０（１）は、これらの情報を検知するために、例えば、環境状態検知部１４０の１つとして距離センサを備えている。
【０１９８】
自装置以外の移動装置３０（２）〜３０（ｎ）および歩行者等を検知するために、移動装置３０（１）は、距離センサとして、レーザ距離センサ、超音波センサ、赤外線センサ、およびカメラの少なくとも１つを備えている。レーザ距離センサは、自装置以外の移動装置３０（２）〜３０（ｎ）との距離、壁などの障害物等との距離、走行面の段差等を検知する。超音波センサも、自装置以外の移動装置３０（２）〜３０（ｎ）との距離、壁などの障害物等との距離を検知する。赤外線センサは、歩行者等、人の検知を行なうのに適している。カメラは、他の移動装置３０（２）〜３０（ｎ）、壁などの障害物、歩行者などの人、および走行面等に係る画像を取得する。なお、前記レーザ距離センサ、超音波センサ、赤外線センサ、およびカメラ等は、移動装置３０（１）の車体１３の前方に配置されるのが望ましい。
【０１９９】
ここで、前進、加速、あるいは減速、停止の動作に応じ、移動装置３０（１）は車輪の軸を中心に前後に回転傾斜する。したがって、レーザ距離センサおよび超音波センサ等が、走行面に対し平行に位置している必要がある場合、前記回転傾斜に応じて逆方向の回転傾斜を追従させるような（不図示の）機構にレーザ距離センサおよび超音波センサ等を設置して、移動装置３０（１）の本体（車体１３）に搭載するのがよい。
【０２００】
（接触推定関数）
移動装置制御システム３は、移動装置制御システム１および２における転倒推定関数に加えて、接触推定関数を生成してもよい。接触推定関数の生成方法については、移動装置制御システム１および２における転倒推定関数の生成方法と同様であるため、詳細説明は省略するが、例えば、以下のようなものであってもよい。すなわち、移動装置３０の前記レーザ距離センサ、超音波センサ、赤外線センサ、およびカメラ等が検知した検知量と、移動装置３０の装置状態検知部１３０が検知している移動装置３０の速度・移動方向等に係る検知量とを用いて、接触推定関数を生成してもよい。
【０２０１】
より具体的には、サーバ２０は、「接触危険性があるか否か」の判定を「転倒しかけているか否か」の判定に置き換え、「衝突したか否か」の判定を「転倒したか否か」の判定（転倒フラグ）と置き換えることで、前述の転倒推定関数の生成方法と同様の生成方法により、接触推定関数および接触回避動作パラメータを生成してもよい。
【０２０２】
また、移動装置３０は、移動装置１０の転倒推定関数および転倒回避動作パラメータの利用方法と同様の方法により、転倒危険値の代わりに「衝突危険値」を算出し、転倒回避動作パラメータを利用して「衝突を回避するためのモータ出力遷移」を行うとしてもよい。つまり、移動装置３０は、前記レーザ距離センサ、超音波センサ、赤外線センサ、およびカメラ等が検知した検知量と、装置状態検知部１３０が検知している速度・移動方向等に係る検知量とを接触推定関数に入力し、「接触危険性があるか」を判定することができる。
【０２０３】
さらに、移動装置３０は、前記検知量と、自動車等に実装済の周知の衝突防止技術等に類似の技術とを用いて、「接触危険性があるか」を判定してもよい。
【０２０４】
（転倒推定関数等の平準化）
年齢、体型、性別等の異なる不特定多数の搭乗者が比較的短時間利用する複数の移動装置３０（１）〜３０（ｎ）の各々の取得パラメータセットテーブル１７１（１）〜１７１（ｎ）に格納された取得パラメータセットを利用して、転倒推定関数が生成される。つまり、複数の移動装置３０（１）〜３０（ｎ）の各々の取得パラメータ（１）〜（ｎ）という多様なデータから転倒推定関数が生成される。したがって、移動装置制御システム３は、複数の移動装置３０（１）〜３０（ｎ）の各々の搭乗者の個人要因からの影響を低減した転倒推定関数を生成することができる。移動装置制御システム３において生成される転倒推定関数は、移動装置制御システム１において生成される転倒推定関数に比べ、より非個性的、より匿名的で汎用性の高い転倒推定関数である。
【０２０５】
また、転倒推定関数と同様の生成方法により生成可能な接触推定関数についても、非個性的、匿名的で汎用性の高い接触推定関数とすることが可能である。
【０２０６】
〔実施形態４〕
本発明の他の実施形態について、図１５および図１６に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０２０７】
図１５は、実施形態４に係る移動装置５０が利用される環境の一例を示す図であり、また図１６は、本発明の実施形態４に係る移動装置制御システム４の移動装置５０、ＲＦＩＤリーダライタ６００、およびサーバ７０の要部構成を示すブロック図である。
【０２０８】
移動装置制御システム４は、移動装置制御システム２および３と比べて、複数の（例えば、ｎ台の）移動装置５０（１）〜５０（ｎ）の各々の位置情報が検出されている点である。なお、以下の説明において、複数の移動装置５０（１）〜５０（ｎ）の各々を特に区別する必要がない場合は、単に「移動装置５０」と称する。また、説明の便宜のため、以下では特に移動装置５０（１）を取り上げて説明するが、移動装置５０（１）と、移動装置５０（２）〜５０（ｎ）の各々とは同様の構成である。さらに、移動装置５０は、不図示の自装置位置検出部を自ら備えていてもよいし、図１５に例示するように、自装置位置検出部を自ら備えなくともよい。移動装置５０が自装置位置検出部を自ら備えない場合、移動装置５０は移動装置３０と同様の構成である。なお、移動装置５０は、自装置位置検出部を自ら備える場合、当該自装置位置検出部を、環境状態検知部１４０の１つとして備えてもよい。すなわち、移動装置５０は、走行中の自装置の周囲の環境の状態の１つとして、自装置の位置を検出してもよい。移動装置５０は、自装置の位置を示す情報を含む取得パラメータセットをサーバ７０に送信する。
【０２０９】
移動装置５０において状態検知部１１０は、自装置の周囲の環境の状態の１つとして、走行中の自装置の位置を検出し、転倒推定関数は、前記位置において前記走行中の移動装置に転倒状態が発生する可能性を示す発生可能性値を算出する構成としてもよい。
【０２１０】
前記の構成によれば、前記移動装置は、走行中の自装置の位置を検出し、当該位置において走行中の自装置に転倒状態が発生する可能性を示す発生可能性値を算出する。したがって、前記移動装置は、例えば転倒等の所定の制御対象状態が特に発生しやすい位置において、当該所定の制御対象状態が発生する可能性を把握し、走行中の自装置の状態等に対応する走行制御処理を実行し、当該所定の制御対象状態が発生を回避することができるという効果を奏する。
【０２１１】
ただし、移動装置制御システム４において、移動装置５０が走行中の自装置の位置を自ら検出することは必須ではなく、例えば、ＲＦＩＤリーダライタ６００が走行中の移動装置５０の位置を検出してもよい。移動装置制御システム４においては、転倒推定関数が、走行中の移動装置５０の位置において走行中の移動装置５０に転倒状態が発生する可能性を示す発生可能性値を算出するものであればよく、走行中の移動装置５０の位置を検出するのは、移動装置５０であっても、移動装置５０以外の装置（例えば、ＲＦＩＤリーダライタ６００）であってもよい。
【０２１２】
サーバ７０は、サーバ受信部２１１は、移動装置５０の周囲の環境の状態を示す情報の１つとして、走行中の移動装置５０の位置に係る情報を受信し、可能性値算出関数生成部７０１（関数生成部）は、前記位置において走行中の移動装置５０に転倒状態が発生する可能性を示す転倒危険値（発生可能性値）を算出する転倒推定関数を生成する。
【０２１３】
前記の構成によれば、サーバ７０は、走行中の移動装置５０の位置において、走行中の移動装置５０に、転倒状態が発生する可能性を示す転倒危険値を算出する。したがって、サーバ７０は、移動装置５０に、例えば転倒等の所定の制御対象状態が特に発生しやすい位置において当該所定の制御対象状態が発生する可能性を把握させることができるという効果を奏する。
【０２１４】
図１６に示すように、複数の移動装置５０（１）〜５０（ｎ）の各々は、移動装置３０（１）〜３０（ｎ）の構成に加えてさらに、近距離無線通信部として、ＲＦＩＤ（Radio Frequency IDentification）カード５９０（１）〜５９０（ｎ）を備えている。また、図１５に示すように、ＲＦＩＤリーダライタ６００（１）〜６００（ｎ）が、移動装置５０（１）〜５０（ｎ）の走行する施設内に設置されている。施設内に設置されている複数のＲＦＩＤリーダライタ６００（１）〜６００（ｎ）の各々は、ＲＦＩＤカード５９０（１）〜５９０（ｎ）のデータの読み取りおよび書込み用のアンテナであり、例えば施設内の壁等に設置されている。
【０２１５】
なお、複数の移動装置５０（１）〜５０（ｎ）の各々が備える近距離無線通信部が、ＲＦＩＤカード５９０（１）〜５９０（ｎ）であることは必須ではない。移動装置５０（１）〜５０（ｎ）の各々が備える近距離無線通信部と、施設内の受信装置との近距離無線通信によって、移動装置５０（１）〜５０（ｎ）の各々の、当該施設内における位置を検出可能なものであれば、移動装置５０（１）〜５０（ｎ）の各々が備える近距離無線通信部は、ＲＦＩＤカード（ＲＦＩＤタグ）でなくともよい。また、複数の移動装置５０（１）〜５０（ｎ）の各々は、自らＧＰＳ受信部を備え、受信した（所定時刻ごとの）ＧＰＳ情報および当該ＧＰＳ情報に基づいて算出した測位情報などを、走行中の自装置の（所定時刻ごとの）位置情報として、サーバ７０に送信してもよい。移動装置５０自身が走行中の自装置の（所定時刻ごとの）位置情報をサーバ７０に送信する場合、移動装置制御システム４において、移動装置５０の位置検出装置としてのＲＦＩＤリーダライタ６００は不要としてもよい。
【０２１６】
図１５に示すように、複数の移動装置５０（１）〜５０（ｎ）の各々が、美術館等の施設において、歩行者とともに展示物を見学する状況において、複数の移動装置５０（１）〜５０（ｎ）の各々が備えるＲＦＩＤカード５９０（１）〜５９０（ｎ）は、当該施設内の要所毎に設置された複数のＲＦＩＤリーダライタ６００（１）〜６００（ｎ）によって検知される。複数のＲＦＩＤリーダライタ６００（１）〜６００（ｎ）の各々が検知したＲＦＩＤカード５９０（１）〜５９０（ｎ）のタグＩＤ（ＲＦＩＤタグＩＤ）は、当該タグＩＤを検知したＲＦＩＤリーダライタ６００の位置情報とともに、サーバ７０に送信される。したがって、サーバ７０は、複数の移動装置５０（１）〜５０（ｎ）の各々が、前記施設内のどの領域（どの位置）に存在していたかを把握することができる。
【０２１７】
サーバ７０は、複数の移動装置５０（１）〜５０（ｎ）の各々の位置情報と、複数の移動装置５０（１）〜５０（ｎ）の各々の取得パラメータセットテーブル１７１（１）〜１７１（１）に格納されている取得パラメータセットとを用いて、転倒推定関数および回避動作パラメータを生成する。つまり、サーバ７０は、例えば、施設内のどの場所で、どのような状態（例えば、転倒状態）が生じやすいかといった情報を取得し、蓄積することができる。そして、施設内の特定の位置と該特定の位置において発生確率の高い状態（例えば、転倒状態）との関係についての情報を含む転倒推定関数を生成し、生成した転倒推定関数を複数の移動装置５０（１）〜５０（ｎ）の各々に送信する。
【０２１８】
複数の移動装置５０（１）〜５０（ｎ）の各々は、美術館のような特定の利用エリアの中で取得された、位置毎の特性を反映した転倒推定関数および回避動作パラメータを、サーバ７０から受信し、利用することができる。したがって、移動装置５０は、走行位置毎に走行制御処理の実行要否をより高精度で判定することができ、かつ、必要な場合、走行位置毎の特性を反映したより高精度の走行制御処理を実行することができる。
【０２１９】
〔実施形態５〕
本発明の他の実施形態について、図１７、図１８、および図１９に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。実施形態５に係る移動装置８０の概要について最初に整理しておけば以下の通りである。
【０２２０】
すなわち、移動装置８０は、ウェイトバランサ８１を備え、制御処理指示部１０３（制御処理実行部）の実行する前記走行制御処理は、ウェイトバランサ８１の変位制御を含む。前記の構成によれば、移動装置８０は、ウェイトバランサ８１の変位を制御することにより、前記走行制御処理を実行することができるという効果を奏する。
【０２２１】
図１７は、移動装置８０の概要を示す図である。図１７に示すように、移動装置８０において、ウェイトバランサ８１は、移動装置８０の下部に配置されている。前記の構成によれば、移動装置８０は、自装置の下部に配置されているウェイトバランサ８１の変位を制御することにより、前記走行制御処理を実行する。したがって、移動装置８０は、自装置の下部に配置されたウェイトバランサ８１を用いて、自装置全体のバランスを安定化させて、前記走行制御処理を実行することができるという効果を奏する。
【０２２２】
図１８は、実施形態５に係る移動装置制御システム５の移動装置８０およびサーバ２０の要部構成を示すブロック図である。なお、移動装置制御システム５のサーバ２０は、移動装置制御システム１および２のサーバ２０と同様であるため、説明を省略する。
【０２２３】
算出部１０２が転倒推定関数を用いて算出した転倒危険値が第１所定値以上である場合、移動装置８０の制御処理指示部１０３は、移動装置１０、３０、および５０等が実行した走行制御処理に加えて、ウェイトバランサ８１の変位を制御する走行制御処理を実行する。
【０２２４】
（ウェイトバランサ）
図１９は、ウェイトバランサ８１の要部構成を示すブロック図である。なお、図１９において、ウェイトバランサ８１に装着するカバーとしての筐体等は図示を省略している。
【０２２５】
ウェイトバランサ８１は、互いに直交する２方向（図１９における、Ｘ方向およびＹ方向）に可動可能に構成されたリニアモータ８７Ｘおよび８７Ｙ（正確には、８７Ｙ１および８７Ｙ２）を備えている。Ｘ方向に移動可能なリニアモータ８７Ｘは、主に、レール部材８６Ｘと、レール部材８６Ｘに配置された固定子コイル８３Ｘと、レール部材８６Ｘの上に移動可能に配置された可動テーブル８４Ｘと、可動テーブル８４Ｘの下面に固定子コイル８３Ｘと対面するように配置された可動子コイル８５Ｘとを含む。可動テーブル８４Ｘの上には、例えば剛体で構成された塊８２（Ｍ０）が配置されている。レール部材８６Ｘの両側面にはリニアエンコーダからなる変位量センサ８８Ｘが配置され、塊８２（Ｍ０）を載せた可動テーブル８４Ｘの変位量が計測できるようになっている。
【０２２６】
同様に、Ｙ方向に移動可能なリニアモータ８７Ｙは、主に、レール部材８６Ｙ１および８６Ｙ２と、レール部材８６Ｙ１および８６Ｙ２上に配置された固定子コイル８３Ｙ１および８３Ｙ２、レール部材８６Ｙ１および８６Ｙ２上に移動可能に配置された可動テーブル８４Ｙ１および８４Ｙ２、可動テーブル８４Ｙ１および８４Ｙ２の下面に固定子コイル８３Ｙ１および８３Ｙ２と対面するように配置された可動子コイル８５Ｙ１および８５Ｙ２からなる。可動テーブル８４Ｙ１および８４Ｙ２の上には、それぞれ、剛体で構成された塊８２（Ｍ１）および８２（Ｍ２）が配置されている。レール部材８６Ｙ１および８６Ｙ２のそれぞれの両側面には、リニアエンコーダからなる変位量センサ８８Ｙ１および８８Ｙ２が配置され、塊８８（Ｍ１）および８８（Ｍ２）を載せた可動テーブル８４Ｙ１および８４Ｙ２の変位量が計測できるようになっている。
【０２２７】
ここで、Ｘ方向のリニアモータ８７Ｘのレール部材８６Ｘの両方の先端付近部は、それぞれＹ方向のリニアモータ８７Ｙの可動テーブル８４Ｙに固定されており、Ｘ方向のリニアモータ８７Ｘ、塊８２（Ｍ０）、および、変位量センサ８８Ｘは、その全体が、Ｙ方向のリニアモータ８７Ｙの可動テーブル８４Ｙに合わせて、Ｙ方向へ可動するよう構成されている。
【０２２８】
制御処理指示部１０３は、転倒推定関数に基づき、移動装置８０の転倒を防止するよう重心を移動すべく、Ｘ方向のリニアモータ８７Ｘ、Ｙ方向のリニアモータ８７Ｙを移動させる。これによって塊８２（Ｍ０）、８２（Ｍ１）、および８２（Ｍ２）が移動することによって移動装置８０の重心が変位し、移動装置８０の転倒を未然に防止できる。
【０２２９】
また、変位量は、変位量センサ８８Ｘおよび８８Ｙを介して装置制御部１００にフィードバックされ、取得パラメータセット生成部１０１により取得パラメータとして取得パラメータセットテーブル１７１に格納されると共に、サーバ２０にて新たな転倒推定関数および回避動作パラメータの生成に利用される。
【０２３０】
なお、図１７の（ｂ）は、移動装置８０の座席位置が高くなった状態を示している。この場合、座席位置が高くなったのに合わせて移動装置８０の重心が高い位置に変位する。しかしながら、移動装置８０の重心位置が高くなるのをできるだけ抑え、移動装置８０の安定性を向上するため、ウェイトバランサ８１は、移動装置８０の座席位置が高くなった場合でも、移動装置８０の最下部付近に配置されたまま、図１７の（ａ）に示した位置から変更されていないことが分かる。
【０２３１】
ウェイトバランサ８１は、剛体の塊８２（Ｍ０）、８２（Ｍ１）、および８２（Ｍ２）を含んで構成され、重量が大きいため、移動装置８０の下部に配置することで、移動装置８０の安定性が増す。また、移動装置８０の下部に配置することで、リニアモータ８７の短いストロークでの塊８２（Ｍ０）、８２（Ｍ１）、および８２（Ｍ２）の移動によって、移動装置８０の転倒回避のための重心移動が可能になる。
【０２３２】
〔実施形態６〕
本発明の他の実施形態について、図２０に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【０２３３】
上述までの各実施形態において、移動装置１０（および、３０、４０、５０、８０）は、運行中に取得パラメータセット生成部１０１が生成し、取得パラメータセットテーブル１７１に格納した取得パラメータセットを、当該運行の終了後（例えば、起動の停止後）に、サーバ２０（および、７０）に送信していた。サーバ２０（および、７０）は、移動装置１０（および、３０、４０、５０、８０）の運行の終了後に、当該移動装置が運行中に取得した取得パラメータセットを受信し、受信した取得パラメータセットを基に、転倒推定関数および回避動作パラメータ（制御基準情報）を生成する。
【０２３４】
また、サーバ２０（および、７０）が生成した転倒推定関数および回避動作パラメータ（制御基準情報）は、移動装置１０（および、３０、４０、５０、８０）の起動時に、当該移動装置が当該サーバから受信するものとして説明を行ってきた。移動装置１０（および、３０、４０、５０、８０）は、起動時（例えば、走行開始前）にサーバ２０（および、７０）から受信した転倒推定関数を用いて走行制御処理の実行要否を判定する。また、移動装置１０（および、３０、４０、５０、８０）は、走行制御処理の実行が必要と判定した場合、起動時（例えば、走行開始前）にサーバ２０（および、７０）から受信した回避動作パラメータを用いて走行制御処理を実行する。
【０２３５】
これに対し、本実施形態における移動装置１０は、運行中に取得パラメータセット生成部１０１が生成し、取得パラメータセットテーブル１７１に格納した取得パラメータセットを、随時（リアルタイムで）、サーバ２０に送信する。サーバ２０は、随時受信した取得パラメータセットを用いて転倒推定関数および回避動作パラメータ（制御基準情報）を生成し、生成した最新の転倒推定関数および最新の回避動作パラメータを、随時（リアルタイムで）、移動装置１０に送信する。移動装置１０は、サーバ２０から随時（リアルタイムで）受信した最新の転倒推定関数および最新の回避動作パラメータを用いて、走行制御処理の実行要否を判定し、必要な場合、走行制御処理を実行する。
【０２３６】
以上に概要を説明した本実施形態における移動装置１０は、以下のように整理することができる。すなわち、本実施形態における移動装置１０装置送信部１８１は、自装置の走行中に検出された状態を示す情報を、自装置の走行中にサーバ２０（関数生成装置）に送信する。
【０２３７】
前記の構成によれば、移動装置１０は、自装置の走行中に、走行中の、自装置、搭乗者Ｐ、および、自装置の周囲の環境の状態を示す情報を、サーバ２０に送信する。したがって、移動装置１０は、自装置の走行中に、サーバ２０に、自装置の走行中に状態検知部１１０により検出された状態を示す最新の情報を用いて、前記関数を生成させることができるという効果を奏する。
【０２３８】
本実施形態における移動装置１０の装置受信部１８２は、サーバ２０が生成した前記関数および前記回避動作パラメータ（制御基準情報）を、自装置の走行中に受信する。
【０２３９】
前記の構成によれば、移動装置１０は、走行中に、サーバ２０の生成した前記関数および前記回避動作パラメータを受信して、前記走行制御処理を実行する。したがって、移動装置１０は、自装置において前記関数および前記回避動作パラメータを生成することなく、サーバ２０の生成した最新の前記関数および前記回避動作パラメータを利用して、前記走行制御処理を実行することができるという効果を奏する。
【０２４０】
図２０は、本実施形態における移動装置制御システム６において実行される処理の一例を示すフローチャートである。
【０２４１】
図２０に示すように、移動装置１０の装置通信部１８０は、起動されると、サーバ２０と通信を開始し（Ｓ３１０）、装置通信部１８０（特に、装置受信部１８２）はサーバ２０から転倒推定関数および回避動作パラメータをロードする（Ｓ３２０）。移動装置１０の可能性値算出関数テーブル１７２および目標走行状態テーブル１７３の中に、過去に蓄積された転倒推定関数および回避動作パラメータがある場合（Ｓ３３０でＹｅｓ）、それをＳ３２０でロードした転倒推定関数および回避動作パラメータで更新する（Ｓ３４０）。つまり、装置受信部１８２は、移動装置１０の可能性値算出関数テーブル１７２および目標走行状態テーブル１７３に、Ｓ３２０でロードした最新の転倒推定関数および最新の回避動作パラメータを格納する（Ｓ３５０）。
【０２４２】
運行（走行）を開始すると（Ｓ３６０）、装置受信部１８２は、サーバ２０から、適宜、転倒推定関数を受信する（Ｓ３７０）。算出部１０２は、状態検知部１１０により検出された状態を示す情報が格納されている取得パラメータセットテーブル１７１を参照し、取得パラメータセットテーブル１７１に格納されている（最新の）取得パラメータセットをＳ３７０で受信した最新の転倒推定関数に入力して、転倒危険値を算出する（Ｓ３８０）。
【０２４３】
制御処理指示部１０３が、Ｓ３８０で算出した転倒危険値が指定値（第１所定値）未満であると判定している間（Ｓ３９０でＮｏ）、Ｓ３６０〜Ｓ３８０の処理が繰り返される。すなわち、走行を継続し、走行中にサーバ２０から適宜受信した最新の転倒推定関数に、走行中の自装置の状態を示す情報を入力し、走行中の自装置についての転倒危険値を算出する。
【０２４４】
転倒危険値が第１所定値以上であると判定すると（Ｓ３９０でＹｅｓ）、制御処理指示部１０３は、搭乗者Ｐの操作（ユーザ操作）に応じて動作する通常走行モードから、回避動作パラメータを用いて実行する走行制御処理をユーザ操作よりも優先する回避モード（安全確保モード）へと、移動装置１０の走行モードを遷移させる（Ｓ４００）。そして、走行中の自装置の状態についてモード分類を実施し、モード分類に従ったモータ制御を実施する（Ｓ４１０）。具体的には、制御処理指示部１０３は、「状態検知部１１０により検出された走行中の自装置の駆動出力および速度に類似する（対応する）駆動出力および速度」に係る回避動作パラメータを、目標走行状態テーブル１７３から取得する。そして、自装置の駆動出力および速度が、取得した回避動作パラメータに示される駆動出力および速度となるよう、駆動制御部１０４へ走行制御処理を指示する。駆動制御部１０４は、自装置の駆動出力および速度が、制御処理指示部１０３から指示された駆動出力および速度となるよう、駆動部１６０（モータ/駆動輪）を制御する。
【０２４５】
制御処理指示部１０３は、さらに、上記走行制御処理を実行したこと（通常走行モードから、回避モードへと遷移したこと）を搭乗者Ｐに伝達（通知）する（Ｓ４２０）。例えば、制御処理指示部１０３は、ブザー・音声等によって、上記走行制御処理を実行したことを搭乗者Ｐに通知する。
【０２４６】
Ｓ４２０における搭乗者Ｐへの通知に対応して、搭乗者Ｐから「非常停止を指示する」ユーザ操作を受け付けない場合、つまり、「非常停止する必要がない」と判定すると（Ｓ４３０でＮｏ）、制御処理指示部１０３は、回避モード（安全確保モード）から通常走行モード（通常運転モード）へと、移動装置１０の走行モードを遷移させる（Ｓ４４０）。そして、取得パラメータセット生成部１０１は、回避モード（安全確保モード）から通常走行モード（通常運転モード）へと、走行モードを遷移させた移動装置１０の状態等に係る情報を用いて、取得パラメータセットを生成する（Ｓ４５０）。すなわち、状態検知部１１０の検知した「回避モードから通常走行モードへと走行モードを遷移させた移動装置１０の状態等に係る情報」を、取得パラメータセット生成部１０１が取得パラメータセットテーブル１７１に格納する。装置送信部１８１は、取得パラメータセット生成部１０１が取得パラメータセットテーブル１７１に格納した最新の取得パラメータセットを含む取得パラメータセットを、サーバ２０に送信する（Ｓ４６０）。その後は、Ｓ３６０以降の処理を繰り返す。
【０２４７】
Ｓ４２０における搭乗者Ｐから「非常停止を指示する」ユーザ操作を受け付けると、つまり、「非常停止する必要がある」と判定すると（Ｓ４３０でＹｅｓ）、装置制御部１００は移動装置１０を非常停止させる（Ｓ４７０）。
【０２４８】
なお、制御処理指示部１０３は、Ｓ３８０で算出した転倒危険値が第２所定値（第１所定値よりも大きな値であって、移動装置１０の転倒の可能性が極めて高いことを示す基準値）であると判定すると、装置制御部１００は移動装置１０を非常停止させる（Ｓ４７０）としてもよい。
【０２４９】
そして、取得パラメータセット生成部１０１は、回避モードでの走行から非常停止までの移動装置１０の状態等に係る情報を用いて、取得パラメータセットを生成する（Ｓ４８０）。すなわち、状態検知部１１０の検知した「回避モードでの走行から非常停止までの移動装置１０の状態等に係る情報」を、取得パラメータセット生成部１０１が取得パラメータセットテーブル１７１に格納する。装置送信部１８１は、取得パラメータセット生成部１０１が取得パラメータセットテーブル１７１に格納した最新の取得パラメータセットを含む取得パラメータセットを、サーバ２０に送信する（Ｓ４９０）。その後は、Ｓ３６０以降の処理を繰り返す。
【０２５０】
サーバ２０は、Ｓ４９０で送信された取得パラメータセットをメモリに格納し、つまり、サーバ取得パラメータセットテーブル２２１に格納する（Ｓ５５０）。サーバ２０のサーバ制御部２００は、サーバ取得パラメータセットテーブル２２１に格納されている取得パラメータセット（サーバ新規パラメータセットテーブル２２２に格納されている新規パラメータセット）を利用して転倒推定関数を生成する。通常、サーバ制御部２００は、サーバ取得パラメータセットテーブル２２１に格納されている全ての取得パラメータセット（サーバ新規パラメータセットテーブル２２２に格納されている全ての新規パラメータセット）を利用して（Ｓ５１０でＹｓｅ）、新規の転倒推定関数を生成する（Ｓ５３０）。
【０２５１】
しかし、「過去に蓄積されたパラメータの参照が必要でない場合」（Ｓ５１０でＮｏ）、サーバ制御部２００は、Ｓ４９０で送信された取得パラメータセット（Ｓ５５０でサーバ取得パラメータセットテーブル２２１に格納した取得パラメータセットに対応する新規パラメータセット）を利用して転倒推定関数を生成し、生成した転倒推定関数で、過去に生成した転倒推定関数を更新する（Ｓ５２０）。
【０２５２】
「過去に蓄積されたパラメータの参照が必要でない場合」とは、例えば、以下のようにユーザが判断し、選択した結果を用いてもよい。すなわち、ユーザが、サーバ２０における学習結果（または学習によって生成された転倒推定関数）が異常な学習結果（異常な転倒推定関数）になっていると判断し、履歴を用いない学習を選択した場合に、サーバ２０は過去に蓄積された取得パラメータセット（過去に蓄積された新規パラメータセット）を用いない学習を行ない、転倒推定関数を生成してもよい。また、サーバ２０が他の取得パラメータセット（他の新規パラメータセット）と比較して、異常値と判断した取得パラメータセット（他の新規パラメータセット）を、学習の対象から除外してもよい。例えば、他の取得パラメータセット（他の新規パラメータセット）に示されている傾向と所定範囲以上異なる傾向を示す取得パラメータセット（他の新規パラメータセット）を、学習の対象から除外してもよい。
【０２５３】
上述のようにして、サーバ２０は転倒推定関数を完成させ（Ｓ５４０）、完成した転倒推定関数を適宜、移動装置１０に送信する（Ｓ５５０）。
【０２５４】
移動装置制御システム６の装置制御部１００は、運行中に、走行中の自装置の状態等を示す最新の取得パラメータを、走行中にサーバ２０から受信した最新の転倒推定関数に入力して転倒危険値を算出する。したがって、移動装置制御システム６の装置制御部１００は、移動装置制御システム１の装置制御部１００に比べて、前記走行制御処理の実行要否を、より高い精度で判定することができる。
【０２５５】
また、前記走行制御処理の実行要否の判定において、前記走行制御処理の実行が必要と判定した場合、移動装置制御システム６の装置制御部１００は、走行中にサーバ２０から受信した最新の回避動作パラメータを用いて、前記走行制御処理を実行する。したがって、移動装置制御システム６の装置制御部１００は、移動装置制御システム１の装置制御部１００に比べて、より安全性の高い走行制御処理を実行することができる。
【０２５６】
〔実施形態７〕
前記各実施形態では、１つのサーバ２０および７０を用いる例を説明したが、サーバ２０および７０の有する各機能が、個別のサーバにて実現されていてもよい。そして、複数のサーバを適用する場合においては、各サーバは、同じ事業者によって管理されていてもよいし、異なる事業者によって管理されていてもよい。
【０２５７】
〔実施形態８〕
移動装置１０、３０、４０、５０、８０、および、サーバ２０、７０の制御ブロック（特に、取得パラメータセット生成部１０１、算出部１０２、制御処理指示部１０３、駆動制御部１０４、および、可能性値算出関数生成部２０１、可能性値算出関数生成部７０１、目標走行状態抽出部２０２）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０２５８】
後者の場合、移動装置１０、３０、４０、５０、８０、および、サーバ２０、７０は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０２５９】
〔まとめ〕
本発明の態様１に係る移動装置（１０、３０、４０、５０、および８０）は、走行中の、自装置、搭乗者（Ｐ）、および自装置の周囲の環境の状態を検出する検出部（状態検知部１１０）と、走行中の移動装置に所定の制御対象状態（転倒状態）が発生する可能性を示す発生可能性値（転倒危険値）を算出する関数（転倒推定関数）に、前記検出部により検出された状態を示す情報を入力して、走行中の自装置についての前記発生可能性値を算出する算出部（１０２）と、前記算出部により算出された前記発生可能性値が所定条件を満たす（第１所定値以上である）場合、検出された状態を示す情報に対応する走行制御処理を実行する制御処理実行部（制御処理指示部１０３）と、を備える構成である。
【０２６０】
前記の構成によれば、前記移動装置は、走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を示す情報と、前記関数とにより、走行中の自装置に所定の制御対象状態が発生する可能性を示す発生可能性値を算出し、当該発生可能性値が所定条件を満たす場合、当該検出された状態を示す情報に対応する走行制御処理を実行する。したがって、前記移動装置は、例えば、転倒等の所定の制御対象状態が走行中の自装置に発生する可能性を示す発生可能性値を算出し、当該発生可能性値が所定条件を満たす場合、走行中の自装置の状態等に対応する走行制御処理を実行し、転倒等の状態を回避することができるという効果を奏する。
【０２６１】
なお、前記所定の制御対象状態は、前記移動装置の転倒状態等、自装置が回避すべき状態のみに限られるものではない。前記移動装置は、走行中の自装置に前記所定の制御対象状態が発生する可能性に応じて、走行中の自装置の状態等に対応する走行制御処理を実行することができる。すなわち、前記移動装置は、例えば、高速のままカーブに進入する場合、安全性を維持しつつ、つまり、スピン、蛇行、および横揺れ等が発生する可能性を考慮しつつ、高速でのカーブ走行を可能とする走行制御処理を実行することができるという効果を奏する。
【０２６２】
本発明の態様２に係る移動装置は、前記の態様１において、前記制御処理実行部は、前記発生可能性値が前記所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報（回避動作パラメータ）を用いて、走行中の自装置の駆動出力および速度を制御する構成としてもよい。
【０２６３】
前記の構成によれば、前記移動装置は、前記発生可能性値が前記所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報を用いて、走行中の自装置の駆動出力および速度を制御することができる。つまり、前記移動装置は、前記所定の制御対象状態の発生を回避することができた移動装置の駆動出力および速度を示す情報を用いて、走行中の自装置の駆動出力および速度を制御することができるという効果を奏する。
【０２６４】
本発明の態様３に係る移動装置は、前記の態様１または２において、前記所定の制御対象状態が発生した移動装置に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、前記関数を生成する関数生成装置（サーバ２０、７０）に、前記検出部により検出された状態を示す情報を送信する送信部（装置送信部１８１）をさらに備える構成としてもよい。
【０２６５】
前記の構成によれば、前記移動装置は、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報を、前記関数生成装置に送信する。したがって、前記移動装置は、前記関数生成装置に、前記検出部により検出された状態を示す情報を用いて、前記関数を生成させることができるという効果を奏する。
【０２６６】
本発明の態様４に係る移動装置は、前記の態様１または２において、前記所定の制御対象状態が発生した移動装置に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、前記関数を生成する関数生成装置（サーバ２０、７０）が生成した、前記関数と、前記発生可能性値が前記所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報である制御基準情報（回避動作パラメータ）と、を受信する受信部（装置受信部１８２）をさらに備える構成としてもよい。
【０２６７】
前記の構成によれば、前記移動装置は、前記関数生成装置の生成した前記関数および前記制御基準情報を受信して、前記走行制御処理を実行する。したがって、前記移動装置は、自装置において前記関数および前記制御基準情報を生成することなく前記走行制御処理を実行することができ、前記移動装置の実行する処理を単純化することができるという効果を奏する。
【０２６８】
また、前記の構成によれば、前記移動装置は、例えば、自装置以外の移動装置の検出した状態を示す情報も用いて前記関数生成装置が生成した前記関数および前記制御基準情報に基づいて前記走行制御処理を実行することができる。したがって、前記移動装置は、前記走行制御処理の精度を上げることができるという効果を奏する。前記関数生成装置が前記関数および前記制御基準情報を生成することにより前記移動装置の処理能力に余裕が生まれるとともに、複数の移動装置の検知情報を用いた、前記関数および前記制御基準情報の生成が可能になるという効果を奏する。
【０２６９】
本発明の態様５に係る移動装置は、前記の態様４において、前記受信部は、前記関数生成装置が、前記所定の制御対象状態が発生した自装置を含む複数の移動装置の各々に係る、当該所定の制御対象状態が発生するまでの、走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、生成した前記関数と、前記関数生成装置が、走行中の複数の移動装置の各々の状態を示す情報から抽出した、前記発生可能性値が前記所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報である制御基準情報と、を受信する構成としてもよい。
【０２７０】
前記の構成によれば、前記移動装置は、複数の移動装置の各々が検出した前記状態を示す情報を用いて生成された前記関数と、前記所定の制御対象状態の発生を回避することができた複数の移動装置の各々の駆動出力および速度を示す情報である制御基準情報と、を受信する。つまり、前記移動装置は、自装置以外の移動装置の走行中の状態、当該自装置以外の移動装置の走行中の搭乗者の状態、および、当該自装置以外の移動装置の走行中の周囲の環境の状態を示す情報を用いて生成された前記関数と、前記所定の制御対象状態の発生を回避することのできた、自装置以外の移動装置に係る前記制御基準情報と、を受信して、前記走行制御処理を実行する。したがって、前記移動装置は、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報のみから生成された前記関数、および前記所定の制御対象状態の発生を回避することのできた自装置に係る前記制御基準情報のみを用いて前記走行制御処理を実行するのに比べて、より高い精度で前記走行制御処理の実行要否を判定し、かつ、より望ましい前記走行制御処理を実行することができるという効果を奏する。
【０２７１】
本発明の態様６に係る移動装置は、前記の態様１から５のいずれか１項において、前記所定の制御対象状態の１つは、走行中の移動装置が転倒した状態である構成としてもよい。
【０２７２】
前記の構成によれば、前記移動装置は、走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を示す情報と、前記関数とにより、走行中の自装置が転倒する可能性を示す発生可能性値を算出し、当該発生可能性値が所定条件を満たす場合、当該検出された状態を示す情報に対応する走行制御処理を実行する。したがって、前記移動装置は、走行中の自装置が転倒する可能性を示す発生可能性値を算出し、当該発生可能性値が所定条件を満たす場合、走行中の自装置の状態等に対応する走行制御処理（例えば、転倒回避処理）を実行し、転倒を回避することができるという効果を奏する。
【０２７３】
本発明の態様７に係る移動装置は、前記の態様１から６のいずれか１項において、前記検出部は、自装置の周囲の環境の状態の１つとして、走行中の自装置の位置を検出し、前記関数は、前記位置において前記走行中の移動装置に前記所定の制御対象状態が発生する可能性を示す発生可能性値を算出する構成としてもよい。
【０２７４】
前記の構成によれば、前記移動装置は、走行中の自装置の位置を検出し、当該位置において走行中の自装置に前記所定の制御対象状態が発生する可能性を示す発生可能性値を算出する。したがって、前記移動装置は、例えば転倒等の所定の制御対象状態が特に発生しやすい位置において、当該所定の制御対象状態が発生する可能性を把握し、走行中の自装置の状態等に対応する走行制御処理を実行し、当該所定の制御対象状態が発生を回避することができるという効果を奏する。
【０２７５】
本発明の態様８に係る移動装置は、前記の態様１から７のいずれか１項において、前記検出部により検出される搭乗者の状態の１つは、当該搭乗者によって自装置の備える各種感圧センサに加えられる圧力の大きさである構成としてもよい。
【０２７６】
前記の構成によれば、前記移動装置は、自装置に前記搭乗者によって加えられる圧力の大きさに係る情報を利用して、前記走行制御処理の実行要否を判定し、かつ、前記走行制御処理を実行する。
【０２７７】
ここで、前記搭乗者によって加えられる圧力の大きさに係る情報とは、例えば、前記搭乗者の体重、および当該体重の移動（重心の移動）、前記移動装置を操作しようとして前記搭乗者が前記移動装置のユーザ操作受付部（例えば、操作レバー等）を掴む力（握力）の大きさ、および当該掴む力の大きさの変化、前記搭乗者が踏ん張ろうとして前記移動装置に加える力の大きさ、および当該力の大きさの変化等に係る情報である。
【０２７８】
一般に、前記搭乗者は、前記移動装置に転倒等の所定の制御対象状態が発生しそうになる場合等において、前記搭乗者の重心を移動させたり、前記ユーザ操作受付部を強く掴んだり、大きな力で踏ん張ろうとする。したがって、前記移動装置は、自装置に前記搭乗者によって加えられる圧力の大きさに係る情報を利用することによって、前記移動装置に転倒等の所定の制御対象状態が発生しつつある、または前記移動装置に当該所定の制御対象状態が発生したと判定することができる。
【０２７９】
また、転倒等の所定の制御対象状態が発生しそうになっている場合、前記搭乗者は急ブレーキ、急ハンドル等の大きな力を前記移動装置に加えることが多い。したがって、前記移動装置は、自装置に前記搭乗者によって加えられる圧力の大きさに係る情報を利用することによって、搭乗者が前記移動装置に加える操作（ユーザ操作）を加味した、適切な前記走行制御処理を実行することができるようになるという効果を奏する。
【０２８０】
本発明の態様９に係る移動装置は、前記の態様４において、前記受信部は、自装置が走行を開始する前に前記関数および前記制御基準情報を受信する構成としてもよい。
【０２８１】
前記の構成によれば、前記移動装置は、前記走行制御処理の実行要否を判定するための前記関数、および前記走行制御処理を実行するための前記制御基準情報を、自装置が走行を開始する前に受信する。したがって、前記移動装置は、自装置が走行を開始する前に受信した前記関数および前記制御基準情報を用いて、前記走行制御処理を実行することができるという効果を奏する。
【０２８２】
本発明の態様１０に係る移動装置は、前記の態様３において、前記送信部は、自装置の走行中に検出された状態を示す情報を、自装置の走行中に前記関数生成装置に送信する構成としてもよい。
【０２８３】
前記の構成によれば、前記移動装置は、自装置の走行中に、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報を、前記関数生成装置に送信する。したがって、前記移動装置は、自装置の走行中に、前記関数生成装置に、自装置の走行中に前記検出部により検出された状態を示す最新の情報を用いて、前記関数を生成させることができるという効果を奏する。
【０２８４】
本発明の態様１１に係る移動装置は、前記の態様４において、前記受信部は、前記関数生成装置が生成した前記関数および前記制御基準情報を、自装置の走行中に受信する構成としてもよい。
【０２８５】
前記の構成によれば、前記移動装置は、走行中に、前記関数生成装置の生成した前記関数および前記制御基準情報を受信して、前記走行制御処理を実行する。したがって、前記移動装置は、自装置において前記関数および前記制御基準情報を生成することなく、前記関数生成装置の生成した最新の前記関数および前記制御基準情報を利用して、前記走行制御処理を実行することができるという効果を奏する。
【０２８６】
本発明の態様１２に係る移動装置は、前記の態様１から１１のいずれか１項において、ウェイトバランサ（８１）をさらに備え、前記制御処理実行部の実行する前記走行制御処理は、ウェイトバランサの変位制御を含む構成としてもよい。
【０２８７】
前記の構成によれば、前記移動装置は、前記ウェイトバランサの変位を制御することにより、前記走行制御処理を実行することができるという効果を奏する。
【０２８８】
本発明の態様１３に係る移動装置は、前記の態様１２において、前記ウェイトバランサは、前記移動装置の下部に配置される構成としてもよい。
【０２８９】
前記の構成によれば、前記移動装置は、自装置の下部に配置されている前記ウェイトバランサの変位を制御することにより、前記走行制御処理を実行する。したがって、前記移動装置は、前記移動装置の下部に配置された前記ウェイトバランサを用いて、自装置全体のバランスを安定化させて、前記走行制御処理を実行することができるという効果を奏する。
【０２９０】
本発明の態様１４に係るサーバ（２０、７０）は、移動装置（１０、３０、４０、５０、および８０）が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報を受信するサーバ受信部（２１１）と、前記サーバ受信部が受信した情報のうち、所定の制御対象状態（転倒状態）が発生した前記移動装置に係る、当該所定の制御対象状態が発生するまでの走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、走行中の前記移動装置に当該所定の制御対象状態が発生する可能性（転倒危険値）を示す発生可能性値を算出する関数（転倒推定関数）を生成する関数生成部（可能性値算出関数生成部２０１、７０１）と、前記関数生成部が生成した前記関数を前記移動装置に送信するサーバ送信部（２１２）と、を備える構成である。
【０２９１】
前記の構成によれば、前記サーバは、前記移動装置が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報から前記関数を生成し、生成した前記関数を前記移動装置に送信する。したがって、前記サーバは、前記移動装置に、前記関数を利用して前記発生可能性値を算出させることができ、つまり、前記移動装置に、例えば、転倒等の所定の制御対象状態が走行中の自装置に発生する可能性を示す発生可能性値を算出させて、走行制御処理を実行させることができるという効果を奏する。
【０２９２】
本発明の態様１５に係るサーバは、前記の態様１４において、前記サーバ受信部が受信した情報から、前記発生可能性値が所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報である制御基準情報（回避動作パラメータ）を抽出する抽出部（目標走行状態抽出部２０２）をさらに含み、前記サーバ送信部は、前記抽出部が抽出した前記制御基準情報を前記移動装置に送信する構成としてもよい。
【０２９３】
前記の構成によれば、前記サーバは、前記移動装置が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報から、前記発生可能性値が所定条件を満たした後に前記所定の制御対象状態が発生しなかった移動装置の駆動出力および速度を示す情報である制御基準情報を抽出し、抽出した前記制御基準情報を前記移動装置に送信する。したがって、前記サーバは、前記移動装置に、前記制御基準情報を利用した走行制御処理を実行させることができるという効果を奏する。
【０２９４】
本発明の態様１６に係るサーバは、前記の態様１４または１５において、前記サーバ受信部は、前記移動装置の周囲の環境の状態を示す情報の１つとして、前記走行中の移動装置の位置に係る情報を受信し、前記関数生成部は、前記位置において前記走行中の移動装置に前記所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数を生成する構成としてもよい。
【０２９５】
前記の構成によれば、前記サーバは、走行中の移動装置の位置において、当該走行中の移動装置に、前記所定の制御対象状態が発生する可能性を示す発生可能性値を算出する。したがって、前記サーバは、前記移動装置に、例えば転倒等の所定の制御対象状態が特に発生しやすい位置において当該所定の制御対象状態が発生する可能性を把握させることができるという効果を奏する。
【０２９６】
本発明の態様１７に係るサーバは、前記の態様１４から１６のいずれか１項において、前記サーバ受信部は、複数の移動装置の各々が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報を受信し、前記関数生成部は、走行中の前記複数の移動装置の各々に前記所定の制御対象状態が発生する可能性を示す発生可能性値を算出する関数を生成し、前記サーバ送信部は、前記関数生成部が生成した前記関数を前記複数の移動装置の各々に送信する構成としてもよい。
【０２９７】
前記の構成によれば、前記サーバは、複数の移動装置の各々が検出した、走行中の、自装置、搭乗者、および、自装置の周囲の環境の状態を示す情報から、前記関数を生成する。したがって、前記サーバは、前記複数の移動装置の各々に、自装置以外の移動装置の走行中の状態、当該自装置以外の移動装置の走行中の搭乗者の状態、および、当該自装置以外の移動装置の走行中の周囲の環境の状態を示す情報を用いて生成された前記関数を利用させて、例えば走行制御処理の実行要否を判断させることができるという効果を奏する。
【０２９８】
本発明の態様１８に係る移動装置制御システム（１、２、３、４、５、６）は、走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を検出し、検出した状態を示す情報を、サーバに送信する移動装置（１０、３０、４０、５０、および８０）と、前記移動装置の検出した、走行中の、前記移動装置、前記搭乗者、および前記移動装置の周囲の環境の状態を示す情報を受信し、所定の制御対象状態（転倒状態）が発生した前記移動装置に係る、当該所定の制御対象状態が発生するまでの、走行中の、当該移動装置、搭乗者、および、当該移動装置の周囲の環境の状態を示す情報の少なくとも１つと、当該所定の制御対象状態とから、学習アルゴリズムによって、走行中の前記移動装置に当該所定の制御対象状態が発生する可能性を示す発生可能性値（転倒危険値）を算出する関数（転倒推定関数）を生成するサーバ（２０、７０）とを含み、前記移動装置は、前記サーバから前記関数を受信し、前記関数に前記検出した状態を示す情報を入力して算出した前記発生可能性値が所定条件を満たす場合、前記検出した状態を示す情報に対応する走行制御処理を実行する構成である。
【０２９９】
前記の構成によれば、前記移動装置制御システムにおいて、前記移動装置が検出した、走行中の、自装置、搭乗者、および自装置の周囲の環境の状態を示す情報と、前記関数と、によって前記発生可能性値が算出され、前記発生可能性値が所定条件を満たす場合、前記移動装置は、前記検出した状態を示す情報に対応する走行制御処理を実行する。したがって、前記移動装置制御システムにおいて、前記移動装置は、例えば、転倒等の所定の制御対象状態が走行中の自装置に発生する可能性を示す発生可能性値を算出し、当該発生可能性値が所定条件を満たす場合、走行中の自装置の状態等に対応する走行制御処理を実行し、転倒等の状態を回避することができるという効果を奏する。
【０３００】
本発明の各態様に係る移動装置および関数生成装置（サーバ）は、コンピュータによって実現してもよく、この場合には、コンピュータを前記移動装置および前記関数生成装置が備える各部（ソフトウェア要素）として動作させることにより前記移動装置および前記関数生成装置をコンピュータにて実現させる移動装置および関数生成装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【０３０１】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変さらが可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【符号の説明】
【０３０２】
１、２、３、４、５、６  移動装置制御システム
１０、３０、４０、５０、８０  移動装置
２０、７０  サーバ（関数生成装置、サーバ）
８１  ウェイトバランサ
１０２  算出部
１０３  制御処理指示部（制御処理実行部）
１１０  状態検知部（検出部）
１８１  装置送信部（送信部）
１８２  装置受信部（受信部）
２０１、７０１  可能性値算出関数生成部（関数生成部）
２０２  目標走行状態抽出部（抽出部）
２１１  サーバ受信部
２１２  サーバ送信部
【図１】
2017046491.tif 000003
【図２】
2017046491.tif 000004
【図３】
2017046491.tif 000005
【図４】
2017046491.tif 000006
【図５】
2017046491.tif 000007
【図６】
2017046491.tif 000008
【図７】
2017046491.tif 000009
【図８】
2017046491.tif 000010
【図９】
2017046491.tif 000011
【図１０】
2017046491.tif 000012
【図１１】
2017046491.tif 000013
【図１２】
2017046491.tif 000014
【図１３】
2017046491.tif 000015
【図１４】
2017046491.tif 000016
【図１５】
2017046491.tif 000017
【図１６】
2017046491.tif 000018
【図１７】
2017046491.tif 000019
【図１８】
2017046491.tif 000020
【図１９】
2017046491.tif 000021
【図２０】
2017046491.tif 000022
【図２１】
2017046491.tif 000023
【図２２】
2017046491.tif 000024