IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 学校法人明治大学の特許一覧

<>
  • 特許-移動体および制御方法 図1
  • 特許-移動体および制御方法 図2
  • 特許-移動体および制御方法 図3
  • 特許-移動体および制御方法 図4
  • 特許-移動体および制御方法 図5
  • 特許-移動体および制御方法 図6
  • 特許-移動体および制御方法 図7
  • 特許-移動体および制御方法 図8
  • 特許-移動体および制御方法 図9
  • 特許-移動体および制御方法 図10
  • 特許-移動体および制御方法 図11
  • 特許-移動体および制御方法 図12
  • 特許-移動体および制御方法 図13
  • 特許-移動体および制御方法 図14
  • 特許-移動体および制御方法 図15
  • 特許-移動体および制御方法 図16
  • 特許-移動体および制御方法 図17
  • 特許-移動体および制御方法 図18
  • 特許-移動体および制御方法 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-14
(45)【発行日】2023-08-22
(54)【発明の名称】移動体および制御方法
(51)【国際特許分類】
   G05D 1/02 20200101AFI20230815BHJP
【FI】
G05D1/02 H
【請求項の数】 7
(21)【出願番号】P 2021571144
(86)(22)【出願日】2021-01-04
(86)【国際出願番号】 JP2021000029
(87)【国際公開番号】W WO2021145229
(87)【国際公開日】2021-07-22
【審査請求日】2022-06-02
(31)【優先権主張番号】62/960,699
(32)【優先日】2020-01-14
(33)【優先権主張国・地域又は機関】US
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和元年度、国立研究開発法人新エネルギー・産業技術総合開発機構、次世代人工知能・ロボット中核技術開発委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】801000027
【氏名又は名称】学校法人明治大学
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100188558
【弁理士】
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100152272
【弁理士】
【氏名又は名称】川越 雄一郎
(74)【代理人】
【識別番号】100181722
【弁理士】
【氏名又は名称】春田 洋孝
(72)【発明者】
【氏名】黒田 洋司
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開平9-164968(JP,A)
【文献】特開2006-136962(JP,A)
【文献】高橋一貴、黒田洋司,動的障害物回避のための移動ロボットの機動性評価,ロボティクスメカトロニクス講演会2019講演会論文集,一般社団法人日本機械学会,2019年
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
自律移動型の移動体であって、
本体と、
電動機によって駆動され前記本体を移動させる二つの駆動輪と、
前記駆動輪同士の回転角速度に差を与えることにより前記本体を回頭させる差動機構と、
前記駆動輪の舵角を前記駆動輪ごとに変化させる転舵機構と、
目標軌道に沿って前記差動機構と前記転舵機構とを同時に制御する制御部と、
を備え
前記制御部は、前記目標軌道上の第1目標点と前記本体の方位との方位誤差をなくすよう前記駆動輪の目標方位角速度を決め、前記目標軌道上の第2目標点に向けて前記駆動輪の目標舵角を決め、
前記方位誤差、前記目標方位角速度及び前記目標舵角を、方位誤差をα、第1目標点を(xt1,yt1)、第2目標点を(xt2,yt2)、Ψをヨー角、ωdを目標ヨーレート、Lを追跡長、前進速度をv、δを舵の切り角(ステア角)とした場合に、式(1)から式(3)に従って決める、
α=arctan((yt1-y)/(xt1-x))-Ψ (1)
ωd=(1/L)vα (2)
δ=arctan((yt2-y)/(xt2-x))-Ψ (3)
移動体。
【請求項2】
前記差動機構は、前記駆動輪の接地面内の位置を旋回中心とする舵角を前記駆動輪ごとに変化させる請求項1に記載の移動体。
【請求項3】
前記制御部は、移動体の目標進路を示す進路情報と、前記駆動輪の移動速度と、前記本体の回頭速度と、前記駆動輪の舵角とに基づいて、前記駆動輪の目標回転角速度と、前記駆動輪の目標舵角とを算出する請求項に記載の移動体。
【請求項4】
移動方向視した場合の前記本体の投影面積が、鉛直視した場合の前記本体の投影面積よりも大きい
請求項1から請求項のいずれか一項に記載の移動体。
【請求項5】
高さが、前記二つの駆動輪をつなぐ軸の幅よりも長い請求項1から請求項のいずれか一項に記載の移動体。
【請求項6】
前記本体の姿勢を制御する姿勢制御装置
をさらに備える請求項1から請求項のいずれか一項に記載の移動体。
【請求項7】
自律移動型の移動体の制御方法であって、
制御部が、差動機構に目標進路を示す進路情報に基づいて、二つの駆動輪同士の回転角速度に差を与えることにより本体を回頭させることと、
前記制御部が、転舵機構に前記進路情報に基づいて、前記駆動輪の舵角を前記駆動輪ごとに変化させることと、
制御部が、目標軌道に沿って前記差動機構と前記転舵機構とを同時に制御することと、
前記制御部が、前記目標軌道上の第1目標点と前記本体の方位との方位誤差をなくすよう前記駆動輪の目標方位角速度を決め、前記目標軌道上の第2目標点に向けて前記駆動輪の目標舵角を決めることと、
前記制御部が、前記方位誤差、前記目標方位角速度及び前記目標舵角を、方位誤差をα、第1目標点を(xt1,yt1)、第2目標点を(xt2,yt2)、Ψをヨー角、ωdを目標ヨーレート、Lを追跡長、前進速度をv、δを舵の切り角(ステア角)とした場合に、式(1)から式(3)に従って決めることと、
α=arctan((yt1-y)/(xt1-x))-Ψ (1)
ωd=(1/L)vα (2)
δ=arctan((yt2-y)/(xt2-x))-Ψ (3)
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体および制御方法に関する。本願は、2020年 1月14日に、米国に出願された米国仮特許出願第62/960699号に基づき優先権を主張し、その内容をここに援用する。
【背景技術】
【0002】
近年、無人運転車等の自律移動型の移動体(例:自律移動型ロボット)開発が盛んである。車道を走る無人運転車の場合、道路、車線、信号機などのように、動作すべき決められた場所や規則がある。一方、人間が往来する環境で、特別な誘導なく、静的・動的障害物を回避しつつ移動しなくてはならないロボットもある。例えば、警備・案内用ロボット、清掃用ロボット、荷物運搬用ロボット、パーソナルモビリティ(人一人を輸送する)などの場合である。このような人間が往来する環境で移動するロボットの場合、より複雑な環境の中で人間の活動を邪魔せずに動くことができる柔軟性ある移動制御が必要となる。
人間が往来する環境で移動するロボットには、サイズ・形状の制約がある。例えば、屋内では、人間が利用するドア、エレベータなどをロボットも利用できる方がよいため、ロボットの横幅は、人間の体の横幅以下にする必要がある。また、人間が存在する環境で走行するため、人間から認識されやすい、ある程度の高さも必要である。そこで、警備・案内用のロボット等は、人間の体型に準じたサイズの縦長形状となることが多い。
【0003】
このため、人間が往来する環境で移動するロボットは、機構が複雑でなく小型にしやすい差動二輪機構で構成されることが多い。差動二輪機構は、左右二つの車輪をロボットに取り付け、それぞれを独立に駆動し、左右の車輪回転速度に差をつけることで、進路の方向を変えるものである。例えば、特許文献1には、差動二輪機構で動く移動体システムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-105901号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
人間が往来する環境には、机,椅子,壁などの静的障害物や、歩行する人間などの動的障害物が存在する。このため、ロボットは動的障害物を俊敏に避け、移動経路を変更する必要がある。しかし、差動二輪機構では、モーターが高速作動中に、左右二輪の車輪回転速度を変化させようとしても、反応が遅く、ゆっくりと大回りにしか曲がることができない。
本発明者は、人が集散する空間でのロボットの運用を検討するにあたり、人が集散する空間では障害物を回避することに困難が伴うこと、これにより、移動ロボットの停止頻度が増加するという課題を見出した。
また、この課題が、差動二輪を備える移動ロボットの目標軌道に追従する能力がモーターによる制御に依存しており、DCモーターの特性上、高回転数時にトルクが減少するため、走行時における目標軌道に追従する能力が劣化するという構造的な問題を有することが要因であることを見出した。
このような課題があるため、現在、都市中心部のような人が密集する空間でのロボットの運用には至っていない。
本発明は前記の点に鑑みてなされたものであり、目標軌道に追従する能力を向上できる移動体および制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
(1)本発明の一態様は、自律移動型の移動体であって、本体と、電動機によって駆動され前記本体を移動させる二つの駆動輪と、前記駆動輪同士の回転角速度に差を与えることにより前記本体を回頭させる差動機構と、前記駆動輪の舵角を前記駆動輪ごとに変化させる転舵機構と、目標軌道に沿って前記差動機構と前記転舵機構とを同時に制御する制御部と、を備え、前記制御部は、前記目標軌道上の第1目標点と前記本体の方位との方位誤差をなくすよう前記駆動輪の目標方位角速度を決め、前記目標軌道上の第2目標点に向けて前記駆動輪の目標舵角を決め、前記方位誤差、前記目標方位角速度及び前記目標舵角を、方位誤差をα、第1目標点を(xt1,yt1)、第2目標点を(xt2,yt2)、Ψをヨー角、ωdを目標ヨーレート、Lを追跡長、前進速度をv、δを舵の切り角(ステア角)とした場合に、式(1)から式(3)に従って決める、
α=arctan((yt1-y)/(xt1-x))-Ψ (1)
ωd=(1/L)vα (2)
δ=arctan((yt2-y)/(xt2-x))-Ψ (3)
移動体である。
(2)本発明の一態様は、上記(1)に記載の移動体において、前記差動機構は、前記駆動輪の接地面内の位置を旋回中心とする舵角を前記駆動輪ごとに変化させる。
)本発明の一態様は、上記()に記載の移動体において、前記制御部は、移動体の目標進路を示す進路情報と、前記駆動輪の移動速度と、前記本体の回頭速度と、前記駆動輪の舵角とに基づいて、前記駆動輪の目標回転角速度と、前記駆動輪の目標舵角とを算出する。
)本発明の一態様は、上記(1)から上記()のいずれか一項に記載の移動体において、移動方向視した場合の前記本体の投影面積が、鉛直視した場合の前記本体の投影面積よりも大きい。
)本発明の一態様は、上記(1)から上記()のいずれか一項に記載の移動体において、高さが、前記二の駆動輪をつなぐ軸の幅よりも長い。
)本発明の一態様は、上記(1)から上記()のいずれか一項に記載の移動体において、前記本体の姿勢を制御する姿勢制御装置をさらに備える。
)本発明の一態様は、自律移動型の移動体の制御方法であって、制御部が、差動機構に目標進路を示す進路情報に基づいて、二つの駆動輪同士の回転角速度に差を与えることにより本体を回頭させることと、前記制御部が、転舵機構に前記進路情報に基づいて、前記駆動輪の舵角を前記駆動輪ごとに変化させることと、制御部が、目標軌道に沿って前記差動機構と前記転舵機構とを同時に制御することと、前記制御部が、前記目標軌道上の第1目標点と前記本体の方位との方位誤差をなくすよう前記駆動輪の目標方位角速度を決め、前記目標軌道上の第2目標点に向けて前記駆動輪の目標舵角を決めることと、前記制御部が、前記方位誤差、前記目標方位角速度及び前記目標舵角を、方位誤差をα、第1目標点を(xt1,yt1)、第2目標点を(xt2,yt2)、Ψをヨー角、ωdを目標ヨーレート、Lを追跡長、前進速度をv、δを舵の切り角(ステア角)とした場合に、式(1)から式(3)に従って決めることと、
α=arctan((yt1-y)/(xt1-x))-Ψ (1)
ωd=(1/L)vα (2)
δ=arctan((yt2-y)/(xt2-x))-Ψ (3)
を有する制御方法である。
【発明の効果】
【0007】
本発明の実施形態によれば、目標軌道に追従する能力を向上できる移動体および制御方法を提供することができる。
【図面の簡単な説明】
【0008】
図1】本発明の一実施形態に係る移動体の模式図である。
図2】本実施形態に係る移動体の駆動方法の一例を示す図である。
図3】本実施形態に係る移動体を示すブロック図である。
図4】本実施形態に係る移動体の動作の一例を示す図である。
図5】移動体の軌道追跡性能の一例を示す図である。
図6】本実施形態に係る移動体の軌道追跡性能の一例を示す図である。
図7】本実施形態に係る移動体の舵角制御の一例を示す図である。図
図8】モデル式の一例を説明するための図である。
図9】モデル式の一例を説明するための図である。
図10】移動体の軌跡の一例を示す図である。
図11】本実施形態に係る移動体の軌跡の一例を示す図である。
図12】本実施形態に係る移動体の他の例を示す図である。
図13】実施形態の変形例に係る移動体の外観図である。
図14】実施形態の変形例に係る移動体を示す図である。
図15】実施形態の変形例に係る移動体の動作の一例を示す図である。
図16】移動体が受ける加速度の例1を説明するための図である。
図17】移動体が受ける加速度の例2を説明するための図である。
図18】移動体が受ける加速度の例3を説明するための図である。
図19】移動体の姿勢角の一例を説明するための図である。
【発明を実施するための形態】
【0009】
次に、本実施形態に係る移動体および制御方法を、図面を参照しつつ説明する。以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限られない。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0010】
(実施形態)
(移動体)
図1は、本発明の一実施形態に係る移動体の模式図である。本実施形態に係る移動体100は、予め設定した経路又は自動生成した経路を、予め与えられた速度プロファイル又は自動生成された速度プロファイルに追従して自律走行を行う。移動体100の一例は、ロボットである。
移動体100は、本体105とコントローラ130と駆動機構140とを備える。
本体105は、移動体100の筐体であり、コントローラ130と駆動機構140とを格納する。本体105の形状の一例は、楕円をその長軸を水平面(地面)に垂直にして載置した状態で長軸を回転軸として回転したときに得られる回転体(長球)である。本体105は、移動方向視した場合のその形状は楕円形であり、鉛直視した場合のその形状は円形である。本体105の高さは、例えば1m以上である。本体105は、移動方向視した場合のその投影面積は、鉛直視した場合のその投影面積よりも大きい(広い)。このように構成することによって、人間が存在する環境で走行する場合に、人間から認識されやすくできる。
【0011】
駆動機構140は、本体105を移動させる。駆動機構140は、二つの駆動輪と舵角機構とを含んで構成される。
二つの駆動輪の各々は、異なる電動機などの動力によって駆動される。本実施形態では一例として、二つの駆動輪の各々が異なる電動機によって駆動される場合について説明を続ける。
移動体100の高さは、二つの駆動輪をつなぐ幅(二つの駆動輪を結んだ線の長さ)よりも長い。
舵角機構は、移動体100の進行方向を変化させる。
図1において、二つの駆動輪を結んだ線の方向をY軸とし、移動体100の長手方向をZ軸とし、Y軸及びZ軸に垂直な方向をX軸とする場合について説明を続ける。移動体100の長手方向において鉛直上向きをZ軸のプラス方向とする。
コントローラ130は、二つの駆動輪の各々を制御する。コントローラ130は、本体105を回頭させる場合に、駆動輪同士の回転速度に差を与える。つまり、コントローラ130は、本体105を回頭させる場合に、二つの駆動輪の各々を異なる回転速度に制御する。コントローラ130は、舵角機構に対して、駆動輪の舵角を駆動輪ごとに変化させる。つまり、コントローラ130は、本体105を回頭させる場合に、舵角機構に対して、二つの駆動輪の各々を異なる舵角に制御する。
【0012】
図2は、本実施形態に係る移動体の駆動方法の一例を示す図である。
図2は、移動体100の駆動機構140をZ軸のプラス側から見た模式図である。前述したように駆動機構140は、二つの駆動輪(駆動輪A、駆動輪B)と舵角機構とを含んで構成される。二つの駆動輪は、それぞれ異なる電動機で駆動する。二つの駆動輪を結んだ長さは、例えば1m以内である。このように構成することによって、人間が利用するドア、エレベータなどを移動体100も利用させることができる。移動体100の最小回転半径は、例えば0.5m以内である。以下、角度については時計回りをプラスとして説明する。
図2の最上図は、移動体100がX軸のプラスの方向へ移動するときの駆動輪の状態を示す図である。図2の最上図には、本体105と駆動輪Aと駆動輪Bと車軸γと軸αとが示されている。移動体100がX軸のプラスの方向へ移動するときには、車軸γが軸αと同じ向きとなる。軸αは、本体105の重心付近を通ることが望ましい。
図2の上から二段目の図は、移動体100が右方向、換言すればY軸のプラス方向側へ移動するときの駆動輪の状態を示す図である。移動体100がY軸のプラス方向側へ移動するときには、コントローラ130は、駆動輪Aにおいて軸αに垂直な方向とX軸とのなす角度を角度aに制御し、駆動輪Bにおいて軸αに垂直な方向とX軸とのなす角度を角度bに制御する。移動体100をY軸のプラス方向側へ移動させるときに、コントローラ130は、角度aと角度bとを個別に設定する。角度aは、駆動輪Aが地面に接する面(以下「接地面」という)内の位置を旋回中心として設定される。角度bは、駆動輪Bが地面に接する接地面内の位置を旋回中心として設定される。なお、接地面とは、移動体を水平面上に置いた場合、駆動輪がその水平面と接する場所であり、接地点またはその近傍を意味する。
【0013】
図2の上から三段目の図は、移動体100が左方向、換言すればY軸のマイナス方向側へ移動するときの駆動輪の状態を示す図である。移動体100がY軸のマイナス方向側へ移動するときには、コントローラ130は、駆動輪Aにおいて軸αに垂直な方向とX軸とのなす角度を角度-cに制御し、駆動輪Bにおいて軸αに垂直な方向とX軸とのなす角度を角度-dに制御する。移動体100をY軸のマイナス方向側へ移動させるときに、コントローラ130は、角度-cと角度-dとを個別に設定する。角度-cは、駆動輪Aが地面に接する接地面内の位置を旋回中心として設定される。角度-dは、駆動輪Bが地面に接する接地面内の位置を旋回中心として設定される。
図2の最下図は、移動体100がさらに車輪を備えてもよいことを示す図である。駆動機構140は、軸αに垂直な方向に全方向に移動可能な車輪Cを一以上備える。図2の最下図に示される例では、軸αに垂直な方向で、Y軸を挟んだ二か所に全方向に移動可能な車輪C1と車輪C2とを備える場合を示す。ここでは、車輪C1と車輪C2とを備える場合について説明したが、車輪C1と車輪C2とのいずれかを備えるようにしてもよい。このように構成することによって、移動体100の走行を安定させることができる。
【0014】
図3は、本実施形態に係る移動体を示すブロック図である。前述したように、本実施形態に係る移動体100は、本体105と、コントローラ130と、駆動機構140とを備える。
コントローラ130は、制御装置131と、走行条件取得部132とを備える。
駆動機構140は、電動機141-1と、電動機141-2と、エンコーダ142-1とエンコーダ142-2と、操舵機構143-1と、操舵機構143-2とを備える。
電動機141-1は、制御装置131が出力した制御情報を取得する。電動機141-1は、取得した制御情報に基づいて駆動輪Aを駆動させる。
電動機141-2は、制御装置131が出力した制御情報を取得する。電動機141-2は、取得した制御情報に基づいて駆動輪Bを駆動させる。
エンコーダ142-1は、電動機141-1の回転速度n1を検出する。エンコーダ142-1は、電動機141-1の回転速度n1を示す情報を走行条件取得部132へ出力する。
エンコーダ142-2は、電動機141-2の回転速度n2を検出する。エンコーダ142-2は、電動機141-2の回転速度n2を示す情報を走行条件取得部132へ出力する。
操舵機構143-1は、駆動輪Aの操舵角を変更するためのステアリングアクチュエータ(図示なし)を備える。操舵機構143-1は、予め設定した経路又は自動生成した経路を追従するように駆動輪Aのステアリングアクチュエータの操舵角を変更する。操舵機構143-1は、制御装置131が出力する駆動輪Aの舵角(以下「目標舵角A」という)を示す情報を取得する。操舵機構143-1は、取得した目標舵角Aを示す情報に基づいて、駆動輪Aのステアリングアクチュエータの操舵角を変更する。
操舵機構143-2は、駆動輪Bの操舵角を変更するためのステアリングアクチュエータ(図示なし)を備える。操舵機構143-2は、予め設定した経路又は自動生成した経路を追従するように駆動輪Bのステアリングアクチュエータの操舵角を変更する。操舵機構143-2は、制御装置131が出力する駆動輪Bの舵角(以下「目標舵角B」という)を示す情報を取得する。操舵機構143-2は、取得した目標舵角Bを示す情報に基づいて、駆動輪Bのステアリングアクチュエータの操舵角を変更する。
【0015】
走行条件取得部132は、エンコーダ142-1と、エンコーダ142-2と、操舵機構143-1と、操舵機構143-2と、制御装置131とに接続される。走行条件取得部132は、エンコーダ142-1が出力した電動機141-1の回転速度n1を示す情報を取得する。走行条件取得部132は、エンコーダ142-2が出力した電動機141-2の回転速度n2を示す情報を取得する。走行条件取得部132は、操舵機構143-1が出力した駆動輪Aの舵角(ステア角)δ1を示す情報を取得する。走行条件取得部132は、操舵機構143-2が出力した駆動輪Bの舵角(ステア角)δ2を示す情報を取得する。
走行条件取得部132は、取得した電動機141-1の回転速度n1を示す情報に基づいて、移動体100の駆動輪Aの前進速度V1と移動体100を回頭させる場合の速度である回頭速度ω1とを導出する。走行条件取得部132は、取得した電動機141-2の回転速度n2を示す情報に基づいて、移動体100の駆動輪Bの前進速度V2と移動体100を回頭させる場合の速度である回頭速度ω2とを導出する。
走行条件取得部132は、導出した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報とを制御装置131に出力する。走行条件取得部132は、取得した駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを制御装置131に出力する。
【0016】
制御装置131は、舵角制御部135と、回転角速度制御部136とを備える。
舵角制御部135は、走行条件取得部132が出力した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを取得する。舵角制御部135は、取得した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とに基づいて、駆動輪Aの舵角(以下「目標舵角A」という)と駆動輪Bの舵角(以下「目標舵角B」という)とを導出する。舵角制御部135は、導出した目標舵角Aを示す情報を操舵機構143-1へ出力し、目標舵角Bを示す情報を操舵機構143-2へ出力する。
回転角速度制御部136は、走行条件取得部132が出力した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを取得する。回転角速度制御部136は、取得した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とに基づいて、駆動輪Aの回転角速度(以下「目標回転角速度A」という)と駆動輪Bの回転角速度(以下「目標回転角速度B」という)とを導出する。回転角速度制御部136は、導出した目標回転角速度Aで制御するための制御情報を電動機141-1へ出力し、目標回転角速度Bで制御するための制御情報を電動機141-2へ出力する。
制御装置131において、舵角制御部135が目標舵角Aを示す情報を操舵機構143-1へ出力し、目標舵角Bを示す情報を操舵機構143-2へ出力する制御と、回転角速度制御部136が目標回転角速度Aで制御するための制御情報を電動機141-1へ出力し、目標回転角速度Bで制御するための制御情報を電動機141-2へ出力する制御とは同時に行われる。
制御装置131において、舵角制御部135が目標舵角Aを示す情報を操舵機構143-1へ出力し、目標舵角Bを示す情報を操舵機構143-2へ出力する制御と、回転角速度制御部136が目標回転角速度Aで制御するための制御情報を電動機141-1へ出力し、目標回転角速度Bで制御するための制御情報を電動機141-2へ出力する制御とは、移動体100が走行しているときに任意にタイミングで行われる。
【0017】
(移動体の動作)
図4は、本実施形態に係る移動体の動作の一例を示す図である。図4を参照して、移動体100が目標軌道に追従する場合の処理について説明する。
(ステップS1-1)
走行条件取得部132は、エンコーダ142-1が出力した電動機141-1の回転速度n1を示す情報を取得する。走行条件取得部132は、エンコーダ142-2が出力した電動機141-2の回転速度n2を示す情報を取得する。
(ステップS2-1)
走行条件取得部132は、操舵機構143-1が出力した駆動輪Aの舵角(ステア角)δ1を示す情報を取得する。走行条件取得部132は、操舵機構143-2が出力した駆動輪Bの舵角(ステア角)δ2を示す情報を取得する。
(ステップS3-1)
走行条件取得部132は、取得した電動機141-1の回転速度n1を示す情報に基づいて、移動体100の駆動輪Aの前進速度V1と移動体100を回頭させる場合の速度である回頭速度ω1とを導出する。走行条件取得部132は、取得した電動機141-2の回転速度n2を示す情報に基づいて、移動体100の駆動輪Bの前進速度V2と移動体100を回頭させる場合の速度である回頭速度ω2とを導出する。
(ステップS4-1)
走行条件取得部132は、導出した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報とを制御装置131に出力する。走行条件取得部132は、取得した駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを制御装置131に出力する。
舵角制御部135は、走行条件取得部132が出力した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを取得する。舵角制御部135は、取得した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とに基づいて、駆動輪Aの目標舵角Aと駆動輪Bの目標舵角Bを導出する。
【0018】
(ステップS5-1)
舵角制御部135は、導出した目標舵角Aを示す情報を操舵機構143-1へ出力し、目標舵角Bを示す情報を操舵機構143-2へ出力する。
操舵機構143-1は、制御装置131が出力する駆動輪Aの目標舵角Aを示す情報を取得する。操舵機構143-1は、取得した目標舵角Aを示す情報に基づいて、駆動輪Aのステアリングアクチュエータの操舵角を変更する。
操舵機構143-2は、制御装置131が出力する駆動輪Bの目標舵角Bを示す情報を取得する。操舵機構143-2は、取得した目標舵角Bを示す情報に基づいて、駆動輪Bのステアリングアクチュエータの操舵角を変更する。
(ステップS6-1)
回転角速度制御部136は、走行条件取得部132が出力した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを取得する。回転角速度制御部136は、取得した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とに基づいて、駆動輪Aの目標回転角速度Aと駆動輪Bの目標回転角速度Bを導出する。回転角速度制御部136は、導出した目標回転角速度Aで制御するための制御情報を電動機141-1へ出力し、目標回転角速度Bで制御するための制御情報を電動機141-2へ出力する。
(ステップS7-1)
電動機141-1は、制御装置131が出力した制御情報を取得する。電動機141-1は、取得した制御情報に基づいて駆動輪Aを駆動させる。
電動機141-2は、制御装置131が出力した制御情報を取得する。電動機141-2は、取得した制御情報に基づいて駆動輪Bを駆動させる。
【0019】
(移動体の性能)
移動体100の軌道追跡性能について説明する。従来の移動体(ステア付き差動二輪台車)と移動体100との軌道追跡性能を比較するために、モデル式に基づくシミュレーションを行った。ここでは、一例としてPure Pursuit則による差動二輪型台車の軌道追跡結果を示す。Pure Pursuit則による差動二輪型台車の軌道追跡は、ロボットの分野で一般的に使用されている。Pure Pursuit則は、軌道上の目標(キャロット)を追いかける方式である。軌道上のキャロットを追いかける方式は、carrot seekとも言われる。このシミュレーションでは、ロボットの運動モデルを差動二輪型台車、目標(キャロット)までの距離を2[m]に設定している。目標速度は、3[m/s](約11[km/h])であり、一般的な歩行速度よりもかなり速く、小走りするくらいの速度とした。
図5は、移動体の軌道追跡性能の一例を示す図である。図5において、横軸はx座標であり、縦軸はy座標である。図5において、目標となる軌道(course)(以下「目標軌道」という)を太線で示し、従来の移動体の軌道(trajectory)を細線で示す。目標軌道は、振幅1[m]、周期約6[m]の小さな回避行動を内包したものである。このような軌道を想定することによって、人混みを避けることを想定できる。目標軌道は、時々刻々と変化する動的障害物(人)の将来の位置によって決まる。従って、移動体が目標軌道に追従できないことは、移動体が動的障害物(人)に衝突することを意味する。
図5によれば、移動体の走行速度が速いために回転半径を小さくできていないことが分かる。その結果、移動体は、目標軌道には全く沿えてないどころか、位相が逆転してしまっているところもある。位相が逆転するということは、避けるべき人がいると想定される場所を通過していることになるので、回避に失敗していることに相当する。
図6は、本実施形態に係る移動体の軌道追跡性能の一例を示す図である。図6では、Pure Pursuit則による軌道追跡に加え、ステアリングを切ることのできる台車(CCV)を用い、ステア制御により第2のキャロットを同時に追跡させた。図6において、横軸はx座標であり、縦軸はy座標である。図6において、目標軌道(course)を太線で示し、移動体100の軌道(trajectory)を細線で示す。目標軌道は、図5と同様に振幅1[m]、周期約6[m]の小さな回避行動を内包したものである。第1キャロットの追跡パラメータは、図5と同じ設定である。第2キャロットまでの距離は、0.5[m]、ステア角の最大値は24[deg](=0.42[rad])に設定した。
図6によれば、位相遅れもなく軌道追跡ができていることが分かる。
図7は、本実施形態に係る移動体の舵角制御の一例を示す図である。図7において、横軸は時間であり、縦軸は舵角である。図7によれば、移動体100が、目標軌道の振動に合わせて盛んに舵を切っているのが分かる。
【0020】
ここで、シミュレーションに使用したモデル式の一例について説明する。
図8は、モデル式の一例を説明するための図である。ここでは、一例として一輪車モデルについて説明する。
図8は、目標軌道TTに対して、座標(x,y)に位置する移動体100が、所定の距離の点を目標点(carrot1(第1目標点)、carrot2(第2目標点))として、その点に到達するために、旋回制御を行う様子を示す。
移動体100において、制御装置131が、carrot1を設定する方法について説明する。
ロボットの速度V[m/s]のとき、T[s]経過後に到達可能な距離はV×T[m]である。このため、制御装置131は、一般的にL1[m]≒VTとなるように設定する。ここで、時間Tの間で差動により回頭可能な方位角変化量αは、最大回頭速度をωmaxとして、α=ωmax×Tで表される。αが目標軌道の最大曲率ρmaxよりも大きければ(α>ρmax)目標軌道をトレースできることになる。
ロボット(移動体100)の前進速度Vが小さい場合にはこれを満たす解はあるが、Vが大きくなると満たす解がない場合がある。このため、トレーサビリティを上げるためにcarrot2を設定する。
移動体100において、制御装置131が、carrot2を設定する方法について説明する。
現在の位置からcarrot1までの距離をL1とし、現在の位置からcarrot2までの距離をL2とする。ロボット(移動体100)の舵角は、相対的に高速に変更可能である。このため、この目標までの距離L2は相対的に近くに置くことが可能である。つまり、L2<<L1が成り立つ。ただし、L2を近くしすぎる場合(L2が所定の閾値以下である場合)には、舵の切り方が激しく(大きく)なりすぎるため、ロボット(移動体100)が受ける加速度も大きくなる。このため、制御装置131は、carrot2を、0<<L2<<L1を満たす適当な場所(位置)に設定する。
Pure pursuitでは、図8に示すように、目標軌道TTの任意の点cxに対して、carrot1(xt1,yt1)と、carrot2(xt2,yt2)とが設定される。移動体100は、carrot1と、carrot2とを同時に追跡する。移動体100の目標速度は、前進速度vである。図8において、Ψはヨー角であり、δは舵の切り角(ステア角)である。
【0021】
更新式は、式(1)から式(4)で表される。ただし、|δ|≦|δmax|である。
x=x+vcos(Ψ+δ)dt (1)
y=y+vsin(Ψ+δ)dt (2)
Ψ=Ψ+(dΨ/dt)dt (3)
v=v+adt (4)
carrot1に対して、回転角速度制御部136は、目標軌道上の第1目標点と本体105の方位との方位誤差をなくすように駆動輪の目標方位角速度を設定し、設定した目標方位角速度に基づいて差動による姿勢方位制御を行う。つまり、回転角速度制御部136は、目標軌道上の第1目標点と本体105の方位との方位誤差を減少させる駆動輪の目標方位角速度を設定し、設定した目標方位角速度に基づいて差動による姿勢方位制御を行う。
carrot1に対して、移動体100との方位誤差αは、式(4)で表される。
α=arctan((yt1-y)/(xt1-x))-Ψ (4)
carrot1と移動体100の中心と円で結んだ場合、旋回半径Rは、R=L/(2sinα)で表される。
したがって、前進速度vを使用して、目標ヨーレートωdは式(5)で表される。ただし、Lはpursuit長(追跡長)、つまり現在地の位置から目標値までの距離である。
ωd=(1/L)vα (5)
carrot2に対して、舵角制御部135は、目標軌道上の第2目標点に向けて駆動輪の目標舵角を設定し、設定した目標舵角に基づいてステアを調整することによる速度ベクトルの方向制御を行う。
舵の切り角δは、式(6)で表される。ただし、δ≦δmaxである。
δ=arctan((yt2-y)/(xt2-x))-Ψ (6)
移動体100は、差動による姿勢方位制御(ゆっくり大きな動き)と、ステアによる速度ベクトルの方向制御(高速で小さな動き)との2つの制御を共存させて同時に実施する。このように構成することによって、姿勢方位制御と、速度ベクトルの方向制御との2つの制御を共存させない場合と比較して、高い軌道追従性能を発揮できる。
【0022】
図8では、一輪車モデルに置き換えた場合について説明した。一輪車モデルは、4輪車におけるbicycle modelに相当する。実際には、移動体100には左右に駆動輪があるので、二つの駆動輪の各々について舵角を決定しなければならない。次に、二つの駆動輪について、舵角を決定する場合について説明する。
図9は、モデル式の一例を説明するための図である。
舵がない一般的な差動二輪台車が走行しながら回頭する場合には、その回転(旋回)中心は必ず左右の車輪の中心を結ぶ線の延長線上にある。しかし、移動体100は、舵を備えるため、実際の舵角がとりうる限界値に応じて、旋回中心は図9において、斜線で示された範囲の中にある。-δmax以上δmax以下である場合には、斜線で示された範囲に回転中心を置くことができる。図9において、舵の切り角δiと舵の切り角δ0は式(7)と式(8)で表される。ただし、|δi|<|δmax|である。
δi=arctan(r×sinδ/(r×cosδ-(B/2)) (7)
δ0=arctan(r×sinδ/(r×cosδ+(B/2)) (8)
また、式(9)と式(10)とが成り立つ。
ω=(1/L1)vα (9)
r=v/ω (10)
斜線で示された範囲に置かれた旋回中心をそれぞれの車輪の車軸が貫くように舵角を決定する。このように構成することによって、移動体100は、舵角による(その瞬間での)走行方位の決定と、ある回転中心を周る方位角速度(ヨーレート)の発生とを同時に行うことができる。
【0023】
図10は、移動体の軌跡の一例を示す図である。図10は、一般的に用いられる差動二輪型台車などの移動体の軌跡の一例を示す。図10において、横軸は移動体の速度であり縦軸は移動体のY軸方向の軌跡である。黒色の実線は移動体の軌跡であり、薄い黒色の破線は黒色で示される移動体と比較して速度を1.5倍にした移動体の軌跡である。
一般的に用いられる移動体は、左右の車輪の走行速度差によって方向を制御している。このため、一般的に用いられる移動体は、速度差をどれだけ早くつけられるかによって方位転換の速度が決定される。換言すれば、一般的に用いられる移動体は、トルクの大きさによって方位転換の速度が決定される。
また、移動体の駆動には、DCモーター使用される。DCモーターは速度の増加に従って、リニアにトルクが減少する。図10に示すように、速度が1.5倍になった場合には、移動体100の軌跡の領域が減少する。よって、移動体の移動速度が高速になるほど、目標軌道への追従が困難になることが分かる。
【0024】
図11は、本実施形態に係る移動体の軌跡の一例を示す図である。図11には、比較のために一般的に用いられる差動二輪型台車などの移動体の軌跡の一例も示す。図11において、横軸は移動体の速度であり縦軸は移動体のY軸方向の軌跡である。薄い黒色の破線は図10に黒色の実線で示した移動体と比較して速度を1.5倍にした移動体の軌跡であり、図11の黒色の実線は移動体100の軌跡である。移動体100は、ステアを調整する機構(操舵機構143-1と操舵機構143-2)を備える。図11に示すように、ステアによって移動体100の進行方向を任意に変えた場合には、移動体100の軌跡の領域が増大する。移動体100は、差動二輪と比較して、入可能な領域が格段に増加する。つまり、移動体100は、ステアによって舵角の制限はあるが、移動体の移動速度に関わらず、目標軌道への追従が容易になることが分かる。
【0025】
前述した実施形態では、駆動機構140が、軸αに垂直な方向に全方向に移動可能な車輪Cを一以上備える場合について説明したが、この例に限られない。例えば、車輪Cの代わりに支持機構を一以上備えるようにしてもよい。
前述した実施形態では、駆動輪の方向を変える場合に車軸γが軸αと同じ向きである場合について説明したが、この例に限られない。例えば、駆動輪の方向を変える場合に車軸γに連結された車輪の方向を変化させてもよい。
前述した実施形態において、移動体100が二つの駆動輪(駆動輪A、駆動輪B)に加えて、補助輪を備えてもよい。
図12は、本実施形態に係る移動体の他の例を示す図である。図12は、移動体100に補助輪150を備えたものである。二つの駆動輪に加えて補助輪150を備えることによって、二つの駆動輪を備える場合と比較して、移動体100を安定させて移動させることができる。このため、移動体100が転倒してしまうことを減少させることができる。
前述した実施形態では、一例としてPure Pursuit則を使用して制御される差動二輪型台車の軌道追跡結果について説明したが、この例に限られない。例えば、LQR(Linear Quadratic Regulator)、モデル予測制御などを使用して、移動体100を制御することも可能である。
本実施形態に係る移動体100によれば、移動体100は、自律移動型であり、本体105と、電動機(電動機141-1、電動機141-2)によって駆動され本体105を移動させる二つの駆動輪(駆動輪A、駆動輪B)と、駆動輪同士の回転角速度に差を与えることにより本体105を回頭させる差動機構としての回転角速度制御部136と、駆動輪の舵角を駆動輪ごとに変化させる転舵機構としての舵角制御部135とを備える。このように構成することによって、駆動輪どうしの回転角速度に差を与えることにより本体105を回頭させるとともに、駆動輪の舵角を駆動輪ごとに変化させることができるため、移動体100の目標軌道に追従する能力を向上できる。
また、差動機構は、駆動輪の接地面内の位置を旋回中心とする舵角を駆動輪ごとに変化させる。このように構成することによって、駆動輪の接地面内の位置を旋回中心としない場合と比較して、小さいトルクで迅速に舵を切ることができるため、移動体100のエネルギー効率を向上できる。
また、目標軌道に沿って差動機構と転舵機構とを同時に制御する制御装置131としての制御部をさらに備える。このように構成することによって、移動体100において、差動機構は二つの駆動輪(駆動輪A、駆動輪B)の各々を異なる目標舵角で制御し、転舵機構は二つの駆動輪(駆動輪A、駆動輪B)の各々を異なる目標回転角速度で制御する。このため、移動体100に、迅速かつ小回りで障害物を回避させることができる。
また、制御部は、目標軌道上の第1目標点と本体105の方位との方位誤差をなくすように駆動輪の目標方位角速度を設定し、目標軌道上の第2目標点に向けて駆動輪の目標舵角を設定する。このように構成することによって、第1目標点と第2目標点との2種類の異なる目標点において、第1目標点に対して目標方位角速度を設定し、第2目標点に対して目標舵角を設定できるため、差動機構と転舵機構とを同時に制御できる。
また、制御部は、方位誤差、目標方位角速度及び目標舵角を、方位誤差をα、第1目標点を(xt1,yt1)、第2目標点を(xt2,yt2)、Ψをヨー角、ωdを目標ヨーレート、Lを追跡長、前進速度をv、δを舵の切り角(ステア角)とした場合に、式(1)から式(3)
α=arctan((yt1-y)/(xt1-x))-Ψ (1)
ωd=(1/L)vα (2)
δ=arctan((yt2-y)/(xt2-x))-Ψ (3)
に従って決める。ここで、vaを車体の前方向速度とした場合は、舵をδ切った車輪が走る速度vを用いて、va=v×cosδとなる。このように構成することによって、第1目標点に対して目標方位角速度を設定し、第2目標点に対して目標舵角を設定できる。
また、移動方向視した場合の本体105の投影面積が、鉛直視した場合の本体105の投影面積よりも大きい。
また、高さが、二つの駆動輪をつなぐ軸の幅よりも長い。このように構成することによって、人間が存在する環境で走行する場合に、人間から認識されやすくできる。
【0026】
(実施形態の変形例)
(移動体)
図13は、実施形態の変形例に係る移動体の外観図である。実施形態の変形例に係る移動体100aは、サーバ200が送信した進路情報を受信し、受信した進路情報を、予め与えられた速度プロファイル又は自動生成された速度プロファイルに追従するように自律走行を行う。
移動体100aは、ネットワークNWを介して、サーバ200と接続される。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、プロバイダ装置、無線基地局などを含む。
移動体100aは、本体105と測距部110と通信部120とコントローラ130と駆動機構140と補助輪150と慣性計測部160と通信部170と撮像部180と奥行検出部190とを備える。
本体105は、移動体100の筐体であり、測距部110と通信部120とコントローラ130と駆動機構140と慣性計測部160と通信部170と撮像部180と奥行検出部190とを格納する。
【0027】
測距部110は、移動体100aの周辺に存在する人、物などの障害物との間の距離を測定する。測距部110の一例は、三次元LiDAR(Light Detection and Ranging)である。三次元LiDARは、パルス状に発光するレーザー照射に対する散乱光を測定し、遠距離にある対象までの距離やその対象の性質を分析する。
通信部120は、通信モジュールによって実現される。通信部120は、ネットワークNWを介して、サーバ200などの外部の通信装置と通信する。通信部120は、例えばLTE(登録商標)などの無線通信方式で通信する。通信部120は、ネットワークNWを介してサーバ200と通信するために必要な通信情報を保持する。通信部120は、サーバ200が送信した進路情報通知を受信する。
慣性計測部160は、移動体100aの角速度、加速度を検出して、移動体100aの速度、移動距離、位置を導出する。慣性計測部160の一例は、3軸のジャイロと3方向の加速度計とを備える。慣性計測部160は、3軸のジャイロと3方向の加速度計とによって3次元の角速度と加速度とを導出する。慣性計測部160は、導出した3次元の角速度と加速度とに基づいて、移動体100aの速度、移動距離、位置を導出する。
通信部170は、通信モジュールによって実現される。通信部170は、ネットワークNWを介して、サーバ200などの外部の通信装置と通信する。通信部170は、例えば無線LAN、ブルートゥース(登録商標)などの無線通信方式で通信する。通信部170は、ネットワークNWを介してサーバ200と通信するために必要な通信情報を保持する。通信部170は、サーバ200が送信した進路情報通知を受信する。
撮像部180は、移動体100aの周辺を撮像する。撮像部180の一例は、高精細カメラである。
奥行検出部190は、移動体100aの周辺の人、物などの障害物の奥行きを検出する。奥行検出部190の一例は、360°デプスカメラである。
【0028】
図14は、実施形態の変形例に係る移動体を示す図である。前述したように、実施形態に係る移動体100aは、本体105と測距部110と通信部120とコントローラ130と駆動機構140と補助輪150と慣性計測部160と通信部170と撮像部180と奥行検出部190とを備える。
コントローラ130は、制御装置131aと、走行条件取得部132と、受付部133と、処理部134と、位置姿勢推定部137とを備える。
位置姿勢推定部137は、測距部110から移動体100aの周辺に存在する机、椅子、壁などの静的障害物との間の距離の測定結果と、歩行する人間などの動的障害物との間の距離の測定結果とを取得する。位置姿勢推定部137は、慣性計測部160から移動体100aの速度、移動距離、位置を導出した結果を取得する。位置姿勢推定部137は、奥行検出部190から移動体100aの周辺に存在する人、物などの障害物の奥行きの検出結果を取得する。位置姿勢推定部137は、取得した移動体100aの周辺に存在する静的障害物との間の距離の測定結果と、動的障害物との間の距離の測定結果と移動体100aの速度、移動距離、位置を導出した結果と移動体100aの周辺に存在する障害物の奥行きの検出結果とに基づいて、移動体100aの位置と姿勢とを推定する。
受付部133は、通信部120又は通信部170が受信した進路情報通知を取得し、取得した進路情報通知を受け付ける。
【0029】
制御装置131aは、舵角制御部135aと、回転角速度制御部136aとを備える。
舵角制御部135aは、走行条件取得部132が出力した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを取得する。
舵角制御部135aは、位置姿勢推定部137から移動体100aの位置と姿勢とを推定した結果を取得する。舵角制御部135aは、受付部133から進路情報通知を取得する。舵角制御部135aは、取得した進路情報通知に含まれる進路情報を取得する。
舵角制御部135aは、取得した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報と移動体100aの位置と姿勢とを推定した結果と進路情報とに基づいて、駆動輪Aの目標舵角Aと駆動輪Bの目標舵角Bを導出する。舵角制御部135は、導出した目標舵角Aを示す情報を操舵機構143-1へ出力し、目標舵角Bを示す情報を操舵機構143-2へ出力する。
【0030】
回転角速度制御部136aは、位置姿勢推定部137から移動体100aの位置と姿勢とを推定した結果を取得する。舵角制御部135aは、受付部133から進路情報通知を取得する。回転角速度制御部136aは、走行条件取得部132が出力した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを取得する。
回転角速度制御部136aは、取得した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報と移動体100aの位置と姿勢とを推定した結果と進路情報とに基づいて、駆動輪Aの目標回転角速度Aと駆動輪Bの目標回転角速度Bを導出する。回転角速度制御部136aは、導出した目標回転角速度Aで制御するための制御情報を電動機141-1へ出力し、目標回転角速度Bで制御するための制御情報を電動機141-2へ出力する。
【0031】
(移動体の動作)
図15は、実施形態の変形例に係る移動体の動作の一例を示す図である。ここでは、移動体100aが無線LANを使用できる環境に位置している場合について説明する。
(ステップS1-2)
サーバ200は、移動体100aの進路情報を取得する。
(ステップS2-2)
サーバ200は、取得した移動体100aの進路情報と含む、移動体100aを宛先とする進路情報通知を作成する。
(ステップS3-2)
サーバ200は、作成した進路情報通知を移動体100aへ送信する。
(ステップS4-2)
移動体100aにおいて、通信部170は、サーバ200が送信した進路情報通知を受信する。
(ステップS5-2)
移動体100aにおいて、受付部133は、通信部170が受信した進路情報通知を受け付ける。制御装置131aは、受付部133が受け付けた進路情報通知を取得する。制御装置131aは、取得した進路情報通知に含まれる進路情報を取得する。
(ステップS6-2)
移動体100aにおいて、位置姿勢推定部137は、測距部110から移動体100aの周辺に存在する静的障害物との間の距離の測定結果と、動的障害物との間の距離の測定結果とを取得する。位置姿勢推定部137は、慣性計測部160から移動体100aの速度、移動距離、位置を導出した結果を取得する。位置姿勢推定部137は、奥行検出部190から移動体100aの周辺に存在する人、物などの障害物の奥行きの検出結果を取得する。位置姿勢推定部137は、取得した移動体100aの周辺に存在する静的障害物との間の距離の測定結果と、動的障害物との間の距離の測定結果と移動体100aの速度、移動距離、位置を導出した結果と移動体100aの周辺に存在する障害物の奥行きの検出結果とに基づいて、移動体100aの位置と姿勢とを推定する。
【0032】
(ステップS7-2)
移動体100aにおいて、走行条件取得部132は、エンコーダ142-1が出力した電動機141-1の回転速度n1を示す情報を取得する。走行条件取得部132は、エンコーダ142-2が出力した電動機141-2の回転速度n2を示す情報を取得する。
(ステップS8-2)
移動体100aにおいて、走行条件取得部132は、操舵機構143-1が出力した駆動輪Aの舵角(ステア角)δ1を示す情報を取得する。走行条件取得部132は、操舵機構143-2が出力した駆動輪Bの舵角(ステア角)δ2を示す情報を取得する。
(ステップS9-2)
移動体100aにおいて、走行条件取得部132は、取得した電動機141-1の回転速度n1を示す情報に基づいて、移動体100の駆動輪Aの前進速度V1と移動体100を回頭させる場合の速度である回頭速度ω1とを導出する。走行条件取得部132は、取得した電動機141-2の回転速度n2を示す情報に基づいて、移動体100の駆動輪Bの前進速度V2と移動体100を回頭させる場合の速度である回頭速度ω2とを導出する。
(ステップS10-2)
移動体100aにおいて、走行条件取得部132は、導出した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報とを制御装置131aに出力する。走行条件取得部132は、取得した駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを制御装置131aに出力する。
舵角制御部135aは、走行条件取得部132が出力した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを取得する。舵角制御部135aは、位置姿勢推定部137から移動体100aの位置と姿勢とを推定した結果を取得する。舵角制御部135aは、進路情報を取得する。
舵角制御部135aは、取得した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報と移動体100aの位置と姿勢とを推定した結果と進路情報とに基づいて、駆動輪Aの目標舵角Aと駆動輪Bの目標舵角Bを導出する。
【0033】
(ステップS11-2)
移動体100aにおいて、舵角制御部135aは、導出した目標舵角Aを示す情報を操舵機構143-1へ出力し、目標舵角Bを示す情報を操舵機構143-2へ出力する。
操舵機構143-1は、制御装置131aが出力する駆動輪Aの目標舵角Aを示す情報を取得する。操舵機構143-1は、取得した目標舵角Aを示す情報に基づいて、駆動輪Aのステアリングアクチュエータの操舵角を変更する。
操舵機構143-2は、制御装置131aが出力する駆動輪Bの目標舵角Bを示す情報を取得する。操舵機構143-2は、取得した目標舵角Bを示す情報に基づいて、駆動輪Bのステアリングアクチュエータの操舵角を変更する。
(ステップS12-2)
回転角速度制御部136aは、走行条件取得部132が出力した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報とを取得する。舵角制御部135aは、位置姿勢推定部137から移動体100aの位置と姿勢とを推定した結果を取得する。舵角制御部135aは、進路情報を取得する。
回転角速度制御部136aは、取得した駆動輪Aの前進速度V1を示す情報と回頭速度ω1を示す情報と駆動輪Bの前進速度V2を示す情報と回頭速度ω2を示す情報と駆動輪Aの舵角δ1を示す情報と駆動輪Bの舵角δ2を示す情報と移動体100aの位置と姿勢とを推定した結果と進路情報とに基づいて、駆動輪Aの目標回転角速度Aと駆動輪Bの目標回転角速度Bを導出する。回転角速度制御部136は、導出した目標回転角速度Aで制御するための制御情報を電動機141-1へ出力し、目標回転角速度Bで制御するための制御情報を電動機141-2へ出力する。
(ステップS13-2)
電動機141-1は、制御装置131が出力した制御情報を取得する。電動機141-1は、取得した制御情報に基づいて駆動輪Aを駆動させる。
電動機141-2は、制御装置131が出力した制御情報を取得する。電動機141-2は、取得した制御情報に基づいて駆動輪Bを駆動させる。
【0034】
ここで、移動体100aが受ける加速度と姿勢角制御について説明する。移動体100aは、走行速度の変化、旋回およびステアリングが制御されることにより並進加速度を受ける。移動体100aは、前後左右に姿勢角を調整する機能を有する。移動体100aは、この機能を用いてZMP(Zero Moment Point)制御を行う。移動体100aの回転角速度制御部136aは、加速度のx方向成分とy方向成分とを導出する。
図16は、移動体が受ける加速度の例1を説明するための図である。図16において、移動体100aが向いている方向はNoseであり、駆動輪の舵角はδであり、移動体100aは速度v、走行加速度aでc2の方向に移動している。移動体100aの向心加速度をacとする。この場合、移動体100aの前後の揺れ方向であるSurge方向の加速度axは式(11)で表され、移動体100aの左右の揺れ方向であるSway方向の加速度ayは式(12)で表される。
ax=a×cosδ-ac×sinδ (11)
ay=a×sinδ+ac×cosδ (12)
図17は、移動体が受ける加速度の例2を説明するための図である。図16において、Ψは移動体100aのヨー角を示し、ωは移動体100aの回頭速度である。移動体100aの向心角速度acは、式(13)で表される。
ac=v×ω (13)
【0035】
図18は、移動体が受ける加速度の例3を説明するための図である。図18は、ステアリング角の変化と移動体100aが受ける加速度との関係を示す。図18において、上図は時間とステアリング角との関係を示す。上図において、横軸は時間[s]であり、縦軸はステアリング角(δ)[rad]である。下図は時間と加速度との関係を示す。下図において、横軸は時間[s]であり、縦軸は加速度[m/s2]である。加速度については、Surge成分(accel-x)とSway成分(accel-y)とを示す。図18によれば、Sway成分は、ステアリング角に追従していることが分かる。
図19は、移動体の姿勢角の一例を説明するための図である。図19は、ZMPが移動体100aの中心に一致するときの姿勢角を示す。図19において、上図は時間とピッチ角との関係を示す。上図において、横軸は時間[s]であり、縦軸はピッチ角[deg]である。下図は時間とローリングとの関係を示す。下図において、横軸は時間[s]であり、縦軸はローリング角[deg]である。図19は、加速するときは前傾、減速するときは後傾、右旋回するときは右傾する等の様子が示されている。シミュレーションは、3m/sと、移動体100aとしては比較的高速に走行させたときの状態を示している。図19によれば、ピッチ角で最大約10度、ロール角で約20度という大きな姿勢角調節が必要となるのが分かる。
【0036】
前述した実施形態の変形例では、移動体100aが、サーバ200が送信した進路情報に追従するように自律走行を行う場合について説明したが、この例に限られない。例えば、移動体100aが、予め設定した経路又は自動生成した経路を、予め与えられた速度プロファイル又は自動生成された速度プロファイルに追従するように自律走行を行うように構成してもよい。
前述した実施形態の変形例では、移動体100aの姿勢を変化させるときの反動としてのモーメントを考慮していないが、考慮してもよい。実際には移動体100aを傾斜させると、その反動としてのモーメントが発生する。高速に姿勢変化をする場合、無視できないほどの大きなモーメントが発生し、移動体100aが不安定になる可能性がある。
前述した実施形態の変形例では、移動体100aの姿勢を変化させるときのコリオリ力を考慮していないが、考慮してもよい。移動体100aが旋回しながら姿勢を急激に変化させるとそれぞれの回転軸に直する向きにモーメントが発生する(=コリオリの力)。例えば、旋回しながらピッチするとロールモーメントが旋回しながらロールするとピッチングモーメントがそれぞれ発生する。これにより急激に姿勢変化をさせると移動体100aが影響は比較的軽微だと思われるが不安定になる可能性がある。
実施形態の変形例に係る移動体100aによれば、制御部は、移動体100aの目標進路を示す進路情報と、駆動輪の移動速度と、本体105の回頭速度と、駆動輪の舵角とに基づいて、駆動輪の目標回転角速度と、駆動輪の目標舵角とを算出する。このように構成することによって、移動体100aの目標進路を示す進路情報にさらに基づいて、駆動輪の目標回転角速度と、駆動輪の目標舵角とを算出するできるため、移動体100aに目標進路を取らせることができる。
さらに、本体105の姿勢を制御する姿勢制御装置としての位置姿勢推定部137および制御装置131aをさらに備える。このように構成することによって、移動体100aの姿勢を安定させることができる。
【0037】
以上、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組合わせを行うことができる。これら実施形態及びその変形例は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
なお、前述した実施形態における移動体100と、実施形態の変形例における移動体100aに含まれる各装置の一部をコンピュータで実現するようにしてもよい。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。ここでいう「コンピュータシステム」とは、訪問管理システムに含まれる各装置に内蔵されたコンピュータシステムであって、OSや周辺機器等のハードウェアを含むものとする。
【0038】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また前述したプログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。また、前述した実施形態における訪問管理システムに含まれる各装置の各機能ブロックの一部、または全部を、LSI等の集積回路として実現してもよい。訪問管理システムに含まれる各装置の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0039】
100、100a…移動体、105…本体、110…測距部、120…通信部、130…コントローラ、131、131a…制御装置、132…走行条件取得部、133…受付部、134…処理部、135、135a…舵角制御部、136、136a…回転角速度制御部、137…位置姿勢推定部、140…駆動機構、141-1、141-2…電動機、142-1、142-2…エンコーダ、143-1、143-2…操舵機構、150…補助輪、160…慣性計測部、170…通信部、180…撮像部、190…奥行検出部、200…サーバ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19