JP6481347B2 - 移動量推定装置、自律移動体、及び移動量の推定方法 - Google Patents

移動量推定装置、自律移動体、及び移動量の推定方法 Download PDF

Info

Publication number
JP6481347B2
JP6481347B2 JP2014241158A JP2014241158A JP6481347B2 JP 6481347 B2 JP6481347 B2 JP 6481347B2 JP 2014241158 A JP2014241158 A JP 2014241158A JP 2014241158 A JP2014241158 A JP 2014241158A JP 6481347 B2 JP6481347 B2 JP 6481347B2
Authority
JP
Japan
Prior art keywords
movement amount
movement
position data
wheel
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014241158A
Other languages
English (en)
Other versions
JP2016103158A (ja
Inventor
遊亀 傳田
遊亀 傳田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2014241158A priority Critical patent/JP6481347B2/ja
Priority to US14/933,263 priority patent/US9802619B2/en
Priority to EP15196347.7A priority patent/EP3026520A3/en
Publication of JP2016103158A publication Critical patent/JP2016103158A/ja
Application granted granted Critical
Publication of JP6481347B2 publication Critical patent/JP6481347B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to vehicle motion
    • B60W40/101Side slip angle of tyre
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/12Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to parameters of the vehicle itself, e.g. tyre models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2530/00Input parameters relating to vehicle conditions or values, not covered by groups B60W2510/00 or B60W2520/00
    • B60W2530/20Tyre data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers

Description

本発明は、車輪の回転により移動可能な移動体の移動量を推定する移動量推定方法、当該移動量の推定装置、及び上記の移動量推定装置を備える自律移動体に関する。
従来、車輪の回転により所定の空間を移動可能な移動体が知られている。このような移動体は、車輪の回転量及び/又は移動体から周囲に存在する物体までの距離に基づいて、移動体の走行距離及び/又は現在位置を推定している。
例えば、特許文献1には、エンコーダと距離測定センサ(測距センサ)とを備え、走行車輪の回転駆動により走行可能な自律走行車が開示されている。この自律走行車は、エンコーダにより測定された回転数から自律走行車の走行距離を算出し、測距センサにより自律走行車から周囲に存在する壁や障害物までの距離を計測している。
また、特許文献1の自律走行車は、走行車輪の回転数から算出された所定時間あたりの走行距離を、測距センサにより測定された自律走行車から壁や障害物までの距離の上記の所定時間あたりの変化量を用いて補正している。すなわち、従来の自律走行車は、走行車輪の回転数から算出した走行距離に走行車輪と床との間の滑りなどに起因する誤差が含まれている場合に、当該誤差を測距センサにより測定された所定時間あたりの距離の変化量により補正している。
特開2004−318721号公報
しかし、測定誤差は、エンコーダにより測定された車輪の回転数(回転量)に基づいて算出された走行距離だけでなく、測距センサにより測定された自律走行車から障害物などの物体までの距離にも含まれる。このため、自律移動体の移動量が小さいと、後者で算出した走行距離の正しさは、前者で算出した走行距離の正しさを下回る。特許文献1の自律走行車において、測距センサにより測定された距離に誤差が含まれていると、自律移動体の移動量が小さい場合に、正しさで下回る走行距離に書き換えてしまう事態が生じる。
本発明の課題は、車輪の回転により移動可能な移動体において、車輪の回転量に基づいて算出された移動距離を、実際の移動体の移動距離に近い値となるよう正確に補正することにある。
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る移動量推定装置は、車輪の回転により移動する移動体の移動量を推定する装置である。移動量推定装置は、位置データ取得部と、第1推定部と、第2推定部と、を備える。
位置データ取得部は、投影物体像を形成する複数の位置データを取得する。投影物体像は、複数の位置データを所定の座標上にプロットすることにより形成される、移動体の周囲に存在する物体を所定の座標上に投影した像である。
第1推定部は、移動体が移動したときの移動量を算出する。具体的には、第1推定部は、第1投影物体像と移動投影物体像とが一致したときの複数の第2位置データの平行移動(並進)の移動量及び/又は回転移動(姿勢変位)の移動量を、移動体が移動したときの移動量とする。
第1投影物体像は、複数の第1位置データにより形成される投影物体像である。複数の第1位置データは、移動体の移動前又は移動後のいずれか一方において取得した複数の位置データである。
移動投影物体像は、複数の移動位置データにより形成される投影物体像である。複数の移動位置データは、複数の第2位置データを所定の座標上にて平行移動及び/又は回転移動することにより得られる複数の位置データである。複数の第2位置データは、移動体の移動前又は移動後の他方において取得した複数の位置データである。
なお、「移動体の移動前又は移動後の他方」とは、第1位置データを移動体の移動前に取得した場合には「移動体の移動後」のことを指し、一方、第1位置データを移動体の移動後に取得した場合には「移動体の移動前」のことを指す。
すなわち、第1推定部は、移動体が移動したときの移動量として、第1投影物体像と一致する移動投影物体像が形成される複数の移動位置データを得るために第2位置データを平行移動及び/又は回転移動したときの移動量を算出する。
第2推定部は、第2基準移動量と第1基準移動量との比較に基づいて、車輪の車輪移動量を補正する。また、第2推定部は、補正された車輪移動量を移動体の移動量として推定する。車輪移動量は、車輪の回転量に基づいて算出される移動量である。第2基準移動量は、移動体が移動中の所定の期間における車輪の回転量に基づいて算出した車輪移動量である。第1基準移動量は、移動体が所定の期間移動したときの第1推定部における移動量の算出値である。
上記の移動量推定装置においては、まず、移動体が所定の期間移動する際に、移動体の移動前又は移動後の一方において複数の第1位置データが、移動体の移動前又は移動後の他方において複数の第2位置データが、位置データ取得部により取得される。
複数の第1位置データ及び複数の第2位置データを取得後、第1推定部が第1基準移動量を算出する。具体的には、まず、第1推定部が、複数の第2位置データを所定の座標上において平行移動及び/又は回転移動して移動位置データを算出する。次に、第1推定部は、移動位置データにより形成される移動投影物体像と第1位置データにより形成される第1投影物体像とが一致するかどうかを判断する。移動投影物体像と第1投影物体像とが一致すると判断されたときに、第1推定部は、第1投影物体像と一致する移動投影物体像を形成する移動位置データを得るために第2位置データを平行移動及び/又は回転移動したときの平行移動の移動量及び/又は回転移動の移動量を第1基準移動量とする。
また、上記の所定の期間に測定された車輪の回転量に基づいて、第2基準移動量が算出される。
第1基準移動量及び第2基準移動量を算出後、第2推定部は、移動体が移動した際の車輪の回転量又はそれに基づいて算出した移動体の車輪移動量を、上記の第2基準移動量と第1基準移動量との比較に基づいて補正する。第2推定部は、補正後の車輪移動量を移動体の移動量として推定する。
上記の移動量推定装置においては、車輪移動量の補正に用いる第1基準移動量が、第1投影物体像と移動投影物体像とが一致したときの移動位置データが得られたときの第2位置データの平行移動量及び/又は回転移動の移動量とされている。言い換えると、複数の第2位置データにより形成される投影物体像を第1投影物体像に一致させるように移動した時の移動量を第1基準移動量としている。これにより、複数の位置データに含まれる測定誤差による影響を低減して、第1基準移動量を移動体の実際の移動量により近い値として算出できる。
以上の結果、第2推定部は、複数の位置データに含まれる測定誤差による影響を低減して算出した第1基準移動量を用いて、より正確に車輪移動量を補正できる。
また、上記の複数の第1位置データと複数の第2位置データは、移動体の移動前後という比較的短い時間間隔により取得されている。これにより、複数の第1位置データにより形成される第1投影物体像に存在した像が複数の第2位置データにより形成される投影物体像(第2投影物体像と呼ぶこともある)では存在しなくなっていたり、その逆に、第1投影物体像にて存在しない像が第2投影物体像に存在したりする問題(周囲環境変化と呼ばれる)が生じる可能性を低減できる。これにより、第1推定部は、第1基準移動量が周囲環境変化により誤って推定されることを低減して、第1基準移動量を精度よく算出できる。その結果、車輪移動量をより正確に補正できる。
上記の移動量推定装置は、補正係数算出部をさらに備えていてもよい。補正係数算出部は、補正係数を、第2基準移動量と第1基準移動量との比較結果として算出する。補正係数は、第1基準移動量と第2基準移動量とに基づいて算出される係数である。この場合、第2推定部は補正係数を用いて車輪移動量を補正する。
これにより、第2基準移動量と第1基準移動量との算出頻度を低減できる。また、移動体の周囲に壁などの物体が存在しない領域などの位置データを用いた位置推定や移動量の推定が困難な場所を移動体が移動中であっても、車輪移動量をより正確に補正できる。その結果、上記のような場所においても、補正された車輪移動量に基づいて、移動体の移動量を正確に推定できる。
上記の移動量推定装置は、評価部をさらに備えていてもよい。評価部は、過去補正係数と補正係数との比較結果に基づいて、補正係数が適切に算出されたかどうかを評価する。過去補正係数は、過去期間において算出された補正係数である。過去期間は、補正係数が算出された所定の期間よりも過去の期間である。
これにより、今回算出した補正係数が、前回算出した過去補正係数と比較して車輪の特性に基づいて合理的に算出されているかどうかを判断できる。
補正係数が適切に算出されていないと判断された場合、第2推定部は過去補正係数を補正係数として用いてもよい。これにより、今回算出された補正係数が誤った値として算出された場合に、第2推定部が当該誤って算出された補正係数を用いて車輪移動量を補正することを回避できる。すなわち、車輪移動量を不正確に補正することを防止できる。
補正係数算出部は、第1基準移動量と第2基準移動量との比較に基づいて算出される補正係数と所定の値を有する更新係数とに基づいて補正係数を算出してもよい。これにより、補正による変動の度合いを制御できる。
第2推定部は、予め決められた車輪の径である基準車輪径と車輪の回転量とに基づいて車輪移動量を算出してもよい。この場合、第2推定部は、補正係数を用いて車輪移動量を補正する。すなわち、第2推定部は、基準車輪径を用いて算出した車輪移動量を、補正係数を用いて補正する。これにより、より簡単な計算により車輪移動量を補正できる。
第2推定部は、補正車輪径を算出してもよい。補正車輪径は、基準車輪径と補正係数とに基づいて算出される。この場合、第2推定部は、補正車輪径と車輪の回転量とに基づいて移動体の移動量を算出する。すなわち、第2推定部は、基準車輪径を補正係数にて補正して補正車輪径を算出し、補正車輪径と車輪の回転量とに基づいて算出した値を移動体の移動量とする。これにより、車輪の回転量に基づいて算出される移動体の移動量を補正できると同時に、車輪径の補正もできる。
上記の移動量推定装置は、径変化算出部をさらに備えていてもよい。径変化算出部は、補正車輪径と基準車輪径との比較に基づいて、車輪の径の変化を算出する。これにより、車輪の径の変化をモニターできる。
上記の移動量推定装置は、補正データ取得指令部をさらに備えていてもよい。補正データ取得指令部は、第1基準移動量と第2基準移動量とを算出する所定の期間を指定する。これにより、複数の位置データと車輪の回転量とが両方取得可能なタイミングにおいて、第1基準移動量及び第2基準移動量を算出するためのデータを取得できる。
本発明の他の見地に係る自律移動体は、上記の移動量推定装置と、走行部と、位置推定部と、走行制御部と、を備える。走行部は車輪を有し、車輪の回転により走行可能である。すなわち、走行部は、車輪の回転により自律移動体を移動させる。位置推定部は、上記の移動量推定装置において推定される移動量に基づいて、自律移動体の現在位置を推定する。走行制御部は、自律移動体が現在位置から所定の目標位置まで走行するように、走行部を制御する。
上記の自律移動体においては、上記の移動量推定装置により、より正確に自律移動体の移動量が推定される。これにより、上記の自律移動体の位置推定部は、より正確な自律移動体の位置を推定できる。その結果、走行制御部は、自律移動体を現在位置から所定の目標位置まで適切に移動させるように、走行部を制御できる。つまり、自律移動体が上記の移動量推定装置を備えることにより、自律移動体は、意図した移動経路を正確に自律走行できる。
本発明のさらに他の見地に係る移動量の推定方法は、車輪の回転により移動する移動体の移動量の推定方法である。移動量の推定方法は、以下のステップを含む。
◎移動体が所定の期間に移動したときの移動前及び移動後において、移動体の周囲に存在する物体を所定の座標上に投影した投影物体像を形成する複数の位置データを取得するステップ。
◎移動前又は移動後のいずれか一方において取得した複数の第2位置データを、所定の座標上にて平行移動及び/又は回転移動して複数の移動位置データを算出するステップ。
◎移動前又は移動後の他方において取得した複数の第1位置データにより形成される第1投影物体像と複数の移動位置データにより形成される移動投影物体像とが一致したときの複数の移動位置データが得られたときの、複数の第2位置データの平行移動の移動量及び/又は回転移動の移動量に基づいて、第1基準移動量を算出するステップ。
◎上記の所定の期間における車輪の回転量に基づいて第2基準移動量を算出するステップ。
◎第2基準移動量と第1基準移動量との比較に基づいて、車輪の回転量に基づいて算出される車輪移動量を補正するステップ。
◎補正された車輪移動量を移動体の移動量として推定するステップ。
上記の移動量の推定方法においては、車輪移動量の補正に用いる第1基準移動量が、第1投影物体像と移動投影物体像とが一致したときの移動位置データが得られたときの第2位置データの平行移動量及び/又は車輪移動量とされている。言い換えると、複数の第2位置データにより形成される投影物体像を第1投影物体像に一致させるように移動した時の移動量を第1基準移動量としている。これにより、複数の位置データに含まれる測定誤差による影響を低減して、第1基準移動量を移動体の実際の移動量により近い値として算出できる。
以上の結果、上記の移動量の推定方法においては、複数の位置データに含まれる測定誤差による影響を低減して算出した第1基準移動量を用いて、より正確に車輪移動量を補正できる。
車輪の回転量に基づいて算出された移動距離(車輪移動量)を、実際の移動体の移動距離に近い値となるよう正確に補正できる。
自律移動体の全体構成を示す図。 制御部の構成を示す図。 第1実施形態に係る移動量算出部の構成を示す図。 ICP法を模式的に示す図。 ヒストグラムマッチング法を模式的に示す図。 補正係数の算出方法を示すフローチャート。 自律移動体の動作を示すフローチャート。 第2実施形態に係る移動量算出部の構成を示す図。 第3実施形態に係る移動量算出部の構成を示す図。
1.第1実施形態
(1)自律移動体の全体構成
以下、本発明の自律移動体について説明する。まず、第1実施形態に係る自律移動体100の全体構成について、図1を用いて説明する。本実施形態の自律移動体100は、予め決められた所望の予定走行経路を自律的に走行する移動体である。
自律移動体100は、本体部1と、走行部2と、位置データ取得部3と、制御部5と、を主に備える。本体部1は、自律移動体100の本体を構成する。
走行部2は、図1に示すように、車輪21a、21bを有し、車輪21a、21bが移動領域の床面などの走行面に接するように、モータ23a、23b(後述)を介して、本体部1の底部の中央付近に設置されている。また、車輪21a、21bは、本体部1の左右に設置されたモータ23a、23bの出力回転軸のそれぞれに、当該出力回転軸周りに回転可能に取り付けられている。
モータ23a、23bは、制御部5から駆動信号(後述)を受信し、当該制御部5からの駆動信号により、それぞれの出力回転軸を回転させる。車輪21a、21bは、制御部5からの駆動信号に応じた回転量及び/又は回転速度にて回転する。駆動信号に応じた回転量及び/又は回転速度にて回転する車輪21a、21bの回転により、走行部2は、本体部1(すなわち、自律移動体100)を移動する。モータ23a、23bとしては、例えば、ブラシレスモータなどの電動モータを用いることができる。
また、モータ23a、23bのそれぞれの出力回転軸には、図1において図示しない、モータ23a、23bのそれぞれの出力回転軸の回転数(回転量)を測定する装置が取り付けられている。そして、当該装置により測定された出力回転軸の回転量は、制御部5へ出力される。
これにより、制御部5は、モータ23a、23bのそれぞれの出力回転軸の回転量に基づいて、車輪21a、21bの回転量を算出できる。上記のモータ23a、23bの出力回転軸の回転量を測定する装置としては、例えば、エンコーダを用いることができる。例えば、インクリメンタル型のエンコーダを用いて出力回転軸の回転量を測定した場合、出力回転軸の回転量は、エンコーダから出力されるパルス信号に含まれる所定時間あたりのパルス数として測定できる。
位置データ取得部3は複数の位置データを取得する。複数の位置データは自律移動体100の周囲に存在する障害物や壁などの物体を、所定の座標上に投影した像(以後、「物体投影像」と呼ぶことにする)を形成する。すなわち、複数の位置データは、所定の座標上の座標値として定義されている。
上記の物体投影像を形成可能な複数の位置データは、例えば、レーザレンジファインダ(Laser Range Finder、LRF)を位置データ取得部3として用いることにより取得できる。その他、ToF(Time of Flight)カメラなど、自身の周囲にある物体の自身からの距離を測定できる装置を、位置データ取得部3として用いることができる。
本実施形態では、レーザレンジファインダを位置データ取得部3として用いるが、この場合、複数の位置データは、例えば、自律移動体100から上記の物体の所定の箇所(例えば、レーザレンジファインダから出力された信号を反射する物体の表面の一部)までの距離と、上記の物体の箇所が存在する自律移動体100からの方向を示す角度とを含む二次元のデータとして取得される。
また、ToFカメラを位置データ取得部3として用いた場合、複数の位置データは、例えば、自律移動体100から上記の物体の所定の箇所(例えば、ToFカメラから出力された信号を反射する物体の表面の一部)までの距離と、上記の物体の箇所が存在する自律移動体100からの方向を示す二次元平面上の水平方向の角度と鉛直方向の角度とを含む三次元のデータとして取得される。
なお、後述する複数の位置データに基づいて自律移動体100の移動量を推定する場合、得られた上記の距離と角度とを座標値として有する位置データを用いて移動量を推定してもよい。この場合、位置データは、自律移動体100から上記の物体までの距離と、上記の物体が存在する自律移動体100からの角度との座標値として定義される。
または、得られた位置データに対して適当な座標変換を行った新たな位置データを用いて、自律移動体100の移動量を推定してもよい。例えば、得られた位置データを、座標変換により、自律移動体100からの相対的な位置を表す座標(例えば、二次元ならX−Y座標、三次元ならX−Y−Z座標)(所定の座標の一例)の座標値とした位置データに変換できる。
本実施形態においては、得られた位置データを、上記のX−Y座標の座標値として位置データを定義して、自律移動体100の移動量を推定する。これにより、移動領域における自律移動体100の実際の移動量を直接的に推定できる。
位置データ取得部3において得られる位置データは、車輪21a、21bの使用による径変化の影響を受けていない座標値データである。従って、本実施形態においては、位置データ取得部3において取得された複数の位置データを、移動領域における自律移動体100の実際の移動量により近い移動量を算出するために用いている。
また、図1に示すように、位置データ取得部3は、前方データ取得部31と後方データ取得部33とにより構成されている。前方データ取得部31は、自律移動体100の前方に取り付けられており、自律移動体100の前方に存在する物体からの位置データを取得できる。一方、後方データ取得部33は、自律移動体100の進行方向の後方に取り付けられており、自律移動体100の後方に存在する物体からの位置データを取得できる。
本実施形態においては、前方データ取得部31の位置データ取得可能範囲が、後方データ取得部33の位置データ取得可能領域よりも広くなっている。例えば、本実施形態においては、後方データ取得部33が後方データ取得部33を中心とした半径10m程度の自律移動体100の後方の180°程度の範囲の物体を検出できる一方、前方データ取得部31は、前方データ取得部31を中心とした半径30m程度の自律移動体100の前方の270°程度の範囲に存在する物体を検出可能となっている。
こうして、位置データ取得部3は、自律移動体100を中心とした(特に、自律移動体100の前方において)より広い範囲に存在する物体を検出できる。なお、上記の前方データ取得部31の物体の検出範囲と後方データ取得部33の物体の検出範囲は、上記の検出範囲に限られず、必要に応じて、適宜適切な検出範囲を設定できる。
また、本実施形態において、前方データ取得部31及び/又は後方データ取得部33は、上記の本体部1の上方(の前方及び後方)に取り付けられている。これにより、移動領域の床面などに設置された物体の移動が頻繁に行なわれる場合に(例えば、大規模小売店などのように、棚や看板のレイアウト変動が頻繁に行われる場合に)、前方データ取得部31及び後方データ取得部33により取得された複数の位置データにより形成される投影物体像の時間的な変化(特に、ある時間に存在した物体が、他の時間において存在しないような変化)を低減できる。
従来の技術では、移動領域に設置された物体の移動が頻繁に起こる場合、自律移動体100の移動前に取得した複数の位置データにより形成される投影物体像と、移動後に取得した複数の位置データにより形成される投影物体像とが大きく異なる場合がある。移動前後において投影物体像が大きく異なっていると、移動前後の投影物体像の一方をどのように移動しても、他方の投影物体像に一致させることが困難となる。この場合、複数の位置データを用いた自律移動体100の移動量の推定が困難となる。
また、従来の技術では、自律移動体100の移動前後の投影物体像が大きく異なる場合に、移動させた投影物体像と基準となる投影物体像とが一致したと判断されても、移動させた投影物体像の移動量から推定される自律移動体100の移動量が、実際の自律移動体100の移動量とは大きくかけ離れる場合がある。つまり、複数の位置データに基づいて推定した自律移動体100の移動量と、実際の自律移動体100の移動量との間に、大きな誤差が生じる場合がある。
それら問題を解決するために、本実施形態では、上述したように、前方データ取得部31及び/又は後方データ取得部33を本体部1の上部に(例えば、人の頭や商品棚の高さを超える位置)設置して移動が頻繁に行なわれる物体を検知する可能性を低減している。この結果、前方データ取得部31及び後方データ取得部33(位置データ取得部3)により取得した複数の位置データを用いることで、大きな誤差などを生じることなく、つまり精度よく自律移動体100の移動量を推定できる。
制御部5は、走行部2を制御する。また、制御部5は、走行部2を制御するために自律移動体100の移動領域における位置を推定する。
自律移動体100が上記の構成を有することにより、自律移動体100は移動領域における自身の存在位置を推定しつつ、予め決められた走行経路を、自律的に移動できる。
図1に示すように、第1実施形態の自律移動体100は、取付部材9を介して本体部1に取り付けられた操作部7をさらに備えている。図1に示すように、操作部7は、回動可能な操作ハンドル71a、71bを有し、操作ハンドル71a、71bのそれぞれの操作量(回動量)を制御部5に出力可能となっている。これにより、制御部5は、操作ハンドル71a、71bの操作量に応じて、モータ23a、23bを制御する駆動信号を算出可能となる。
自律移動体100が上記の操作部7を備えることにより、操作者が自律移動体100を操作可能となる。具体的には、操作者が操作ハンドル71a、71bを回動するなどして車輪21a、21bの回動量や回転速度を調整することにより、操作者は自律移動体100を操作できる。
また、上記のように、制御部5は自律移動体100の移動領域における位置を推定可能となっている。そのため、例えば、操作者が操作部7を用いて自律移動体100を操作している時に所定の時間間隔にて自律移動体100の位置を推定し、推定された位置を記憶部51などに記憶することにより、自律移動体100(制御部5)に、操作者による自律移動体100の操作を、上記の予め決められた走行経路として教示できる。
なお、自律移動体100に走行経路を教示する方法は、上記した、操作者が操作部7を用いて自律移動体100を操作する間に自律移動体100の位置を推定して記憶する方法に限られない。例えば、移動領域を表す移動座標上の(複数の)座標点を記憶したデータにおいて、座標点を示す値を直接操作(あるいは直接入力)することによっても、自律移動体100に走行経路を教示できる。または、自律移動体100の移動領域における位置(移動座標の座標値)を指定するその他の方法によって、自律移動体100に走行経路を教示できる。
また、第1実施形態の自律移動体100は、補助輪部8をさらに備える。補助輪部8は、2つの補助車輪8a、8bを有する。2つの補助車輪8aと8bは、それぞれが独立に回転可能なように本体部1の後方底部に取り付けられている。補助輪部8を備えることにより、自律移動体100は安定に、かつ、スムーズに移動できる。
(2)制御部の構成
I.制御部の全体構成
次に、制御部5の全体構成について図2を用いて説明する。制御部5は、CPU(Central Processing Unit)と、ハードディスク装置と、ROM(Read Only Memory)と、RAM(Random Access Memory)と、記憶媒体読み出し装置などにより構成される記憶装置と、信号変換を行うインターフェースなどと、を備えたマイコンシステムなどにより実現できる。また、以下に示す制御部5の各部の機能の一部又は全部は、プログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、制御部5の各部の機能の一部又は全部は、カスタムICなどにより実現されていてもよい。
また、制御部5は、複数のマイコンシステムにより構成されていてもよい。例えば、後述する移動量推定部53(移動量推定装置の一例)と、走行制御部57と、制御部5の残りの構成要素とを個別のマイコンシステムにより構成してもよい。
制御部5は、記憶部51と、移動量推定部53と、位置推定部55と、走行制御部57と、を有する。記憶部51は、制御部5を構成する記憶装置の記憶領域の少なくとも一部に対応する。記憶部51は、自律移動体100が移動領域を自律的に移動するために必要な移動経路に関する情報などを記憶する。移動経路に関する情報は、例えば、自律移動体100が自律移動中に通過すべき移動領域における位置に対応する移動座標における座標値を表すデータや、移動領域を表す地図情報(グローバルマップ、または、環境地図と呼ばれることもある)などである。その他、記憶部51は、自律移動体100の動作に必要な各種設定値などを記憶している。
移動量推定部53は、自律移動体100が移動した距離を推定する。そのため、移動量推定部53は移動量算出部531を有している。移動量算出部531は、位置データ取得部3が取得した複数の位置データと、走行部2のモータ23a、23bのエンコーダなどにより測定された車輪21a、21bの回転量などとに基づいて、自律移動体100が移動した距離(移動量)を算出する。
位置推定部55は、自律移動体100の移動領域における存在位置を推定する。本実施形態において、位置推定部55は、SLAM(Simultaneous Localization and Mapping)法などを用いて、現在位置に存在する自律移動体100の周囲の壁や障害物などの物体の位置を示す地図情報(ローカルマップ)と、予め記憶されていた移動領域(の全体、又は、自律移動体100が移動する領域を少なくとも含む一部)を示す地図情報(グローバルマップ、環境地図)とのマップマッチング結果に基づいて、自律移動体100の現在位置を推定する。
具体的には、位置推定部55は、まず、移動量推定部53にて推定された移動量に所定の誤差分を追加して算出した「仮の現在位置」を複数個生成する。上記の仮の現在位置は、例えば、移動前に推定されていた自律移動体100の位置に、上記の誤差分を追加した移動量を加えることにより算出できる。
次に、上記の仮の現在位置のそれぞれに対して、現在位置において位置データ取得部3を用いて取得した複数の位置データを用いて、上記のローカルマップを生成する。その後、位置推定部55は、複数個生成したローカルマップのうち、上記の環境地図と最もよく一致したローカルマップを生成したときの仮の現在位置を、自律移動体100の現在位置と推定する。
また、自律移動体100が周囲に壁などが存在しない領域を移動しているために複数の位置データを取得できないとき、又は、分岐などがない直線的な通路を自律移動体100が移動しているため地図情報に時間的な変化がほとんどない場合などは、位置推定部55は、移動前に推定された位置に、移動量推定部53から入力した移動量を加えることにより、自律移動体100の現在位置を推定できる。
さらに、位置推定部55は、操作者が操作部7を用いて自律移動体100を操作しているときには、所定の時間間隔(例えば、制御周期毎)にて上記の方法により自律移動体100の位置を推定して、推定した位置についての情報(座標値など)を記憶部51に記憶してもよい。これにより、位置推定部55は、操作者による自律移動体100の移動操作を記憶部51に記憶できる。
なお、位置推定部55は、現在位置において作成したローカルマップを用いて、上記の環境地図を更新して記憶部51に記憶してもよい。これにより、移動領域中において障害物などの位置が変更された場合でも、障害物などの位置が変更された後の新しい環境地図を作成し記憶できる。
走行制御部57は、自律移動体100が自律的に移動するときには、自律移動体100を、現在位置から、記憶部51に記憶された予め決められた移動経路(例えば、上記の操作者による移動操作により移動した経路)に含まれる所定の目標位置まで走行するように、走行部2を制御する。
なお、走行制御部57は、モータ23a、23bのそれぞれに対して個別に駆動信号を出力する。すなわち、モータ23a、23bはそれぞれが異なる回転速度にて回転できる。例えば、自律移動体100を直進走行させたい場合には、モータ23a、23bを同じ回転速度にて回転させる。一方、モータ23a、23bのそれぞれを異なる回転速度にて回転させると、自律移動体100は回転運動(左折又は右折)できる。
図1に示した走行部2のように、2つの車輪21a、21bのそれぞれを個別にモータ23a、23bにより回転させて走行する走行部を、「差動二輪型」の走行部と呼ぶこともある。
また、走行制御部57は、操作部7から操作ハンドル71a、71bの回動量(操作量)を入力し、入力した回動量から上記の駆動信号を算出し、モータ23a、23bに出力可能となっている。これにより、自律移動体100は、操作ハンドル71a、71bを操作する操作者により操作可能となる。
走行制御部57としては、例えば、フィードバック制御理論を用いた制御装置などを用いることができる。フィードバック制御理論を用いた制御装置を走行制御部57として用いる場合、走行制御部57は、モータ23a、23bの出力回転軸に取り付けられたエンコーダからのパルス信号を入力し、モータ23a、23bの回転数を制御指令に示したとおりに制御できる。
(3)移動量算出部の構成
次に、第1実施形態の移動量算出部531の構成について、図3を用いて説明する。第1実施形態の移動量算出部531は、第1推定部5311と、第2推定部5312と、を有している。
第1推定部5311は、位置データ取得部3によって取得した複数の位置データを用いて、自律移動体100が移動したときの移動量を算出する。具体的には、第1推定部5311は、自律移動体100の移動前に取得した複数の位置データと、移動後に取得した複数の位置データとに基づいて、自律移動体100の移動量を算出する。
第2推定部5312は、自律移動体100が移動する間の車輪21a、21bの回転量に基づいて算出される車輪移動量に基づいて、自律移動体100の移動量を推定する。車輪移動量は、例えば、基準車輪円周長さ(車輪21a、21bの基準の車輪径(基準車輪径)を2π倍したもの)と測定された車輪21a、21bの回転量などとに基づいて算出できる。
また、第2推定部5312は、上記の車輪移動量を、第2基準移動量と第1基準移動量との比較に基づいて補正する。第2基準移動量は、自律移動体100の移動中の所定の期間における車輪21a、21bの回転量に基づいて算出される移動量である。また、第1基準移動量は、上記の所定の期間の前後において取得された複数の位置データを用いて第1推定部5311において推定された、所定の期間における自律移動体100の移動量の推定値である。
第2推定部5312は、補正した車輪移動量を自律移動体100の実際の移動量として推定する。これにより、複数の位置データを用いて推定された第1基準移動量を用いて、車輪移動量をより正確に補正できる。
本実施形態において、第2推定部5312は、算出した車輪移動量を、予め算出された補正係数(後述)を用いて補正する。例えば、第2推定部5312は、車輪移動量を補正係数倍することにより、車輪移動量を補正できる。予め算出した補正係数を用いて補正することにより、車輪移動量を補正するために用いる第2基準移動量や第1基準移動量の算出(測定)頻度を減少できる。
また、予め算出された補正係数を用いて車輪移動量を補正することにより、第2推定部5312は、壁や障害物などが周囲に存在しない広い移動領域などの位置データの取得が不可能な場所や、直線的な壁により形成される通路などの投影物体像の変化がほとんどない場所など、位置データを用いた位置推定や移動量の推定が困難な場所を自律移動体100が移動中であっても、車輪21a、21bの回転量に基づいて自律移動体100の移動量を正確に推定できる。
本実施形態の移動量算出部531は、補正係数算出部5313をさらに有する。補正係数算出部5313は、車輪21a、21bの回転量を、モータ23a、23bのエンコーダなどから第2取得指令部5314b(後述)を介して入力して、第2基準移動量を算出する。
また、補正係数算出部5313は、算出した第2基準移動量と、第1推定部5311から入力した第1基準移動量とに基づいて、補正係数を、第2基準移動量と第1基準移動量との比較結果として算出する。補正係数は、例えば、第1基準移動量と第2基準移動量との比として算出できる。
さらに、補正係数算出部5313は、算出した補正係数を、記憶部51などに記憶する。算出した補正係数を記憶することにより、第2推定部5312は、第2基準移動量と第1基準移動量を算出しないときであっても、補正係数を参照して車輪移動量を補正できる。
本実施形態の移動量算出部531は、補正データ取得指令部5314をさらに有する。補正データ取得指令部5314は、上記の所定の期間を決定する。本実施形態において、補正データ取得指令部5314は、第1取得指令部5314aと第2取得指令部5314bとを有する。
第1取得指令部5314aは、位置データ取得部3から第1推定部5311への位置データの入力期間を決定する。具体的には、第1取得指令部5314aは、第1推定部5311と位置データ取得部3とを上記の所定の期間だけ接続する。これにより、第1推定部5311は、所定の期間の開始タイミングと終了タイミングとにおける複数の位置データを取得できる。
一方、第2取得指令部5314bは、モータ23a、23bのエンコーダなどからの信号(パルス信号)の補正係数算出部5313への入力期間を決定する。具体的には、第2取得指令部5314bは、モータ23a、23bのエンコーダなどと補正係数算出部5313とを上記の所定の期間だけ接続する。これにより、補正係数算出部5313は、所定の期間の間の車輪21a、21bの回転量を取得できる。
なお、第1取得指令部5314a及び第2取得指令部5314bは、例えば、第1取得指令部5314aが位置データ取得部3にて自律移動体100の周囲の物体を検出しない(できない)ために位置データを入力しなくなったときに、位置データの第1推定部5311への入力、及び/又は、モータ23a、23bのエンコーダなどのパルス信号の補正係数算出部5313への入力を遮断してもよい。
また、第1取得指令部5314a及び第2取得指令部5314bは、互いに同期して動作してもよいし、独立に動作してもよい。さらに、第1取得指令部5314aが位置データを入力しなくなったときに限られず、決められた所定の時間毎に上記の信号の入力と遮断とを繰り返してもよい。第1取得指令部5314a及び第2取得指令部5314bは、必要に応じて、適宜、適切なタイミングにて上記の信号の入力と遮断を行える。
(4)自律移動体の動作
I.第1推定部における移動量の算出方法
次に、本実施形態の自律移動体100の動作について説明する。まず、第1推定部5311における自律移動体100の移動量の算出方法について説明する。上記のように、第1推定部5311は、自律移動体100の移動前後に取得した複数の位置データ(例えば、移動前に取得した複数の第1位置データと、移動後に取得した複数の第2位置データ)を用いて自律移動体100の移動量を推定する。
複数の位置データを用いて自律移動体100の移動量を推定する方法としては、複数の第1位置データ又は複数の第2位置データのいずれかを所定の座標上において移動して移動させなかった方の複数の位置データに一致させた時に、移動した複数の位置データの移動量に基づいて推定する方法がある。このような移動量の推定方法としては、ICP(Iterative Closest Point)法と、ヒストグラムマッチング法とがある。
(i)ICP法による移動量の推定方法
ICP法による移動量の推定方法について説明する。ICP法は、移動させない複数の位置データ(第1位置データとする)により形成される第1投影物体像と、移動させる複数の位置データ(第2位置データとする)により形成される投影物体像(移動投影物体像)とが一致するような、複数の第2位置データの移動量を探索して推定する方法である。
具体的には、以下のようにして第1投影物体像と第2投影物体像とが一致するような複数の第2位置データの移動量が算出される。
まず、複数の第2位置データを移動して算出される複数の移動位置データにより形成される移動投影物体像と、複数の第1位置データにより形成される第1投影物体像との間の距離を算出する。例えば、1つの第1位置データと、当該1つの第1位置データに対応する移動位置データ(1つであっても、複数であってもよい)との間の距離を所定の個数(例えば、第1位置データの個数)分合計して算出される距離を、移動投影物体像と第1投影物体像との間の距離として算出できる。
次に、移動投影物体像と第1投影物体像との間の距離と所定の閾値との比較に基づいて、移動投影物体像と第1投影物体像とが一致しているかどうかを判断する。例えば、2つの投影物体像の間の距離が所定の閾値以下である場合に、これら2つの投影物体像が一致したと判断できる。2つの投影物体像が一致したと判断された場合、今回の移動投影物体像を形成する複数の移動位置データの複数の第2位置データからの移動量を、自律移動体100の移動量と推定する。
一方、2つの投影物体像が一致していない場合には、今回の複数の移動位置データ(第2位置データ)をさらに移動させた後に、上記の2つの投影物体像の間の距離の算出と、2つの投影物体像が一致するかどうかの判断とを行う。これにより、2つの投影物体像が一致すると判断されるまで、移動位置データ(第2位置データ)の移動が繰り返される。なお、2つの投影物体像が一致していない場合の移動位置データ(第2位置データ)の移動量は、例えば、今回の2つの投影物体像の間の距離の算出結果と、前回の2つの投影物体像の間の距離の算出結果との比較に基づいて決定できる。
ICP法による移動量の推定方法を模式的に示すと、図4のようになる。まず、例えば、第1位置データの原点である第1原点Oと第2位置データの原点である第2原点O’とが一致するように、X−Y座標系に複数の第1位置データと複数の第2位置データとをプロットする。この場合、図4の(1)に示すような第1投影物体像(実線)と第2投影物体像(点線)とが同一座標上に形成される。この状態から、複数の第2位置データ(移動位置データ)を平行移動すると第2原点O’が移動し、回転移動すると第2位置データを定義している座標(X’−Y’座標)が第1位置データを定義している座標(X−Y座標)に対して傾く。
図4の(2)に示すように第1投影物体像と移動投影物体像とが一致したときの、第1原点Oと第2原点O’との間の距離が自律移動体100の平行移動の移動距離(すなわち、移動後の第2原点O’のX−Y座標におけるX座標がX方向の移動量に、移動後の第2原点O’のX−Y座標におけるY座標がY方向の移動量に)に対応し、X’−Y’座標の各軸(点線)のX−Y座標の対応する軸(実線)に対する傾き角度が自律移動体100の姿勢角度変化に対応する。
(ii)ヒストグラムマッチング法による移動量の推定方法
次に、ヒストグラムマッチング法による移動量の推定方法について説明する。ヒストグラムマッチング法は、図5に示すように、複数の第1位置データの座標値から生成される第1ヒストグラムと複数の第2位置データの座標値から生成される第2ヒストグラムとの一致度が最大値となるときの、第1ヒストグラム又は第2ヒストグラムの元のヒストグラムからのシフト量を自律移動体100の移動量と推定する方法である。図5は、ヒストグラムマッチング法による移動量の推定方法を模式的に示す図である。本実施形態では第1ヒストグラムと第2ヒストグラムとの相互相関関数の値を一致度として算出するが、これに限らず、第1ヒストグラムと第2ヒストグラムとの正規化相互相関関数の値やゼロ平均正規化相互相関関数の値を一致度として算出してもよい。
具体的には、以下のようにして、移動量が推定される。まず、1つの位置データと当該1つの位置データに隣接する位置データとを結ぶ直線の位置データを定義した座標の1つの軸(いずれの軸でもよい)に対する角度θの出現頻度を示すヒストグラムを生成する。
次に、角度θについて算出した2つのヒストグラムの相互相関関数を、H11(θ)*H21(θ−a)をとりうるθの値だけ加算したもの(H11(θ)*H21(θ−a)のθに対する積分値であるとも言える)として算出する。上記のa値が、図5において示したヒストグラムのシフト量に対応するものである。
その後、上記の相互相関関数が最大値となるa値を、角度θの移動量として算出する。角度θの移動量は、自律移動体100の姿勢角度変化に対応する移動量である。
具体的には、例えば、算出した相互相関関数において、とりうるa値のそれぞれに対して相互相関関数の値を算出し、算出された相互相関関数の値のうち最大であるものを算出したときのa値を、自律移動体100の姿勢角度変化として推定する。
次に、位置データの座標値の出現頻度を示すヒストグラムを、第1位置データ、及び、第2位置データを上記のように算出した回転移動量(姿勢角度変化)を用いて回転させた位置データ(移動位置データ)のそれぞれに対して、位置データを定義した座標の各座標軸(二次元であればX軸及びY軸、三次元であればX軸、Y軸、及びZ軸)に対して生成する。
この結果、第1位置データについてはさらに2つのヒストグラム(H12(X)、H13(Y))(二次元の場合)が生成される。一方、移動位置データについては2つのヒストグラム(H22(X)、H23(Y))(二次元の場合)が生成される。
さらに、上記と同様にして、X軸の座標値の出現頻度を表す2つのヒストグラムH12(X)、H22(X)の相互相関関数が最大値となるヒストグラムのシフト量を、自律移動体100のX軸方向の移動量と推定し、Y軸の座標値の出現頻度を表す2つのヒストグラムH13(Y)、H23(Y)の相互相関関数が最大値となるヒストグラムのシフト量を、自律移動体100のY軸方向の移動量と推定する。
なお、上記のように、各座標軸の座標値の出現頻度を表す2つのヒストグラムが一致するように1つのヒストグラムをシフトさせることは、図4に示すように、第2投影物体像を第1投影物体像と一致するように複数の第2位置データを移動させることに対応する。具体的には、角度θの移動量は、複数の第2位置データを複数の第1位置データに一致するように回転移動した移動量に対応する。また、上記のX軸方向の移動量及びY軸方向の移動量は、複数の第2位置データを複数の第1位置データに一致するように平行移動した移動量に対応する。
また、上記の第2ヒストグラムをシフトさせることは、複数の第2位置データを移動して複数の移動位置データを算出することに対応しているとも言える。
このように、第1推定部5311においては、ICP法やヒストグラムマッチング法により、複数の位置データを用いて算出される値(ICP法においては2つの投影物体像の間の距離。ヒストグラムマッチング法においては2つのヒストグラムの相互相関関数)に基づいて自律移動体100の移動量が推定されている。これにより、位置データ取得部3にて取得した位置データ(のいくつか)に測定誤差(ノイズなどを原因としている)が含まれていても、第1推定部5311は、当該測定誤差による影響を低減して移動量を推定できる。
また、上記の複数の第1位置データと複数の第2位置データは、移動体の移動前後という比較的短い時間間隔により取得されている。このため、第1推定部5311においては、第1投影物体像に存在していた像が第2投影物体像において存在していなかったり、その逆に、第1投影物体像に存在していない像が第2投影物体像において存在していたりする際に発生する環境変化問題が発生しにくい。
環境変化問題とは、ローカルマップとグローバルマップとのマップマッチング結果により自律移動体100の移動量と位置を推定するSLAM法など、位置データ取得部3などにより取得した地図情報のマッチングにより移動量や位置を推定する際に発生する問題のことを言う。
例えば、グローバルマップに存在していた物体がローカルマップに存在しない、及び/又は、グローバルマップに存在していない物体がローカルマップに存在していると、計算上は2つのマップ(地図情報)が一致したと判断されても、推定された移動量と位置とが実際の移動量や位置とは大きく食い違うことがある。
上記のように、第1位置データと第2位置データを短期間に取得すると、当該2つの位置データの間に周囲環境変化が発生しにくくなる。その結果、第1推定部5311においては精度よく移動量を推定できる。
II.補正係数の算出方法
次に、補正係数算出部5313における補正係数の算出方法について、図6を用いて説明する。補正係数算出部5313においては、所定の期間(例えば、補正データ取得指令部5314における位置データ及び/又は車輪21a、21bの回転量の入力期間により決まる)における車輪21a、21bの回転量に基づいて算出された第2基準移動量と、所定の期間における自律移動体100の第1推定部5311における移動量の算出値(すなわち、第1基準移動量)との比較に基づいて、補正係数が算出される。
具体的には、まず、第1取得指令部5314aが位置データを第1推定部5311に入力可能とし、また、第2取得指令部5314bがモータ23a、23bのエンコーダからのパルス信号を補正係数算出部5313に入力可能とする。(ステップS1001)。
このとき、第1推定部5311は、位置データ取得部3から、自律移動体100の移動前の(所定の期間の開始タイミングにおける)複数の位置データ(第1位置データに対応)を取得し、記憶部51に記憶する。
一方、補正係数算出部5313は、モータ23a、23bのエンコーダからのパルス信号の入力を開始して、車輪21a、21bの回転量の測定を開始する(ステップS1002)。
その後、第1推定部5311及び補正係数算出部5313は、位置データの第1推定部5311への入力を開始し、車輪21a、21bの回転量(エンコーダからのパルス信号)の補正係数算出部5313への入力を開始してから所定の期間経過したかどうか判断する(ステップS1003)。
第1位置データの取得及び車輪21a、21bの回転量の入力を開始してから所定の期間経過していないと判断された場合(ステップS1003において「No」の場合)、補正係数の算出プロセスはステップS1002に戻り、補正係数算出部5313が、車輪21a、21bの回転量を測定し続ける。
一方、第1位置データの取得及び車輪21a、21bの回転量の入力を開始してから所定の期間経過したと判断された場合(ステップS1003において「Yes」の場合)、第1推定部5311は、位置データ取得部3から複数の位置データ(第2位置データに対応)を取得し、記憶部51に記憶する(ステップS1004)。
その後、補正データ取得指令部5314の第1取得指令部5314aが、位置データの第1推定部5311への入力を遮断する。また、第2取得指令部5314bが、モータ23a、23bのエンコーダなどからのパルス信号の補正係数算出部5313への入力を遮断する。これにより、第1基準移動量と第2基準移動量とを算出するための所定の期間が決定される。
モータ23a、23bのエンコーダなどからのパルス信号の遮断後、補正係数算出部5313は、所定の期間の間の車輪21a、21bの回転量を、所定の期間の間のパルス信号に含まれるパルス数から算出する(ステップS1005)。具体的には、所定の期間に測定されたパルス信号のパルス数と、車輪21a、21bが1回転したときのパルス信号に含まれるパルス数(予め決定可能な一定値)との比により、車輪21a、21bの回転量を算出できる。
その後、第1推定部5311は、取得した複数の第1位置データと複数の第2位置データとを用いて、上記にて説明した自律移動体100の移動量の推定方法により、第1基準移動量を所定の期間の間に自律移動体100が移動した移動量として算出する(ステップS1006)。
一方、補正係数算出部5313は、所定の期間の間の車輪21a、21bの回転量から、所定の期間の間の車輪21a、21bによる自律移動体100の移動量(車輪移動量)を第2基準移動量として算出する(ステップS1007)。
具体的には、補正係数算出部5313は、所定の期間の間の車輪21a、21bの回転量と、予め決められた車輪21a、21bの径(基準車輪径)の円周長さ(すなわち、2π×基準車輪径)とに基づいて、第2基準移動量を算出する。
基準車輪径は、ある所定の時点における車輪21a、21bの径である。基準車輪径は、例えば、車輪21a、21bの使用前の車輪径である。このように、第2基準移動量は、車輪21a、21bの径変化を考慮することなく算出される仮定的な車輪21a、21bの回転量に基づく移動量であると分かる。
第1基準移動量及び第2基準移動量を算出後、補正係数算出部5313は、補正係数を算出する(ステップS1008)。
本実施形態において、補正係数算出部5313は、第1基準移動量と第2基準移動量との比(第1基準移動量/第2基準移動量)を、補正係数として算出する。補正係数を算出後、補正係数算出部5313は、算出した補正係数を記憶部51などに記憶して、補正係数算出プロセスを終了する。
上記のように、補正係数算出部5313が第1基準移動量及び第2基準移動量を用いて補正係数を算出して記憶部51などに記憶することにより、第2基準移動量と第1基準移動量の算出頻度を低減できる。
なお、上記の補正係数の算出方法の変形例として、補正係数算出部5313は、上記の第1基準移動量と第2基準移動量との比をさらに更新係数倍して補正係数としてもよい。この場合、更新係数は、例えば、1より小の正値である所定の値を有している。これにより、第1基準移動量と第2基準移動量との比が前回の算出時よりも大きく変化することにより、同じ車輪21a、21bの回転に対して大きく異なる移動量が算出されることを抑制できる。なお、更新係数が1より大の正値である所定の値を有していてもよい。この場合、第1基準移動量と第2基準移動量との比が前回の算出時と大きく変化しない場合でも、移動量をより大きく(積極的に)補正することができる。
III.自律移動体の動作
次に、本実施形態の自律移動体100の具体的な動作について、図7を用いて説明する。以下においては、自律移動体100が記憶部51などに記憶された予め決められた複数の目標点を通過しながら、最終的な目標点まで自律的に移動するときの動作について説明する。
まず、自律移動体100が自律的な移動を開始すると、補正係数算出部5313が補正係数を算出するかどうかを確認する(ステップS1)。
例えば、補正データ取得指令部5314が位置データを取得可能と判断して補正係数が算出可能であると判断した場合(ステップS1において「Yes」の場合)、補正係数算出部5313は、上記のステップS1001〜S1008を実行して補正係数を算出する(ステップS2)。補正係数算出部5313において補正係数を算出後、自律移動のプロセスは、ステップS3に進む。
なお、ステップS2において補正係数を算出するとき、補正係数算出部5313は、上記のステップS1006及びS1007にて算出した所定の期間の第1基準移動量及び第2基準移動量のそれぞれに、さらに、自律移動体100が現在までに移動してきた移動量の第1推定部5311における算出値の累積値と、現在までの車輪21a、21bの回転数の累積値から算出した移動量とを加算して、新たな第1基準移動量及び第2基準移動量としてもよい。
一方、例えば、補正データ取得指令部5314が位置データを取得不可能と判断して補正係数が算出不可能であると判断したか、又は、補正係数を算出しないと判断した場合(ステップS1において「No」の場合)、自律移動のプロセスは、ステップS3に進む。
補正係数の算出後、又は、補正係数の算出が不可能である(又は補正係数の算出を行わない)と判断後、第2推定部5312は、モータ23a、23bのエンコーダからパルス信号の入力を開始する。すなわち、第2推定部5312は、車輪21a、21bの回転量の測定を開始する(ステップS3)。
なお、ステップS3においては、位置データ取得部3において位置データが取得可能である場合(すなわち、第1取得指令部5314aが位置データを第1推定部5311に入力可能となっている場合)、第1推定部5311は、複数の位置データを取得してもよい。
車輪21a、21bの回転量を測定中、第2推定部5312は、車輪21a、21bの回転量の測定を開始してから一定時間が経過したかどうかを判断する(ステップS4)。上記の一定時間は、例えば、後述する現在位置の推定が必要となるタイミング(例えば、制御周期)など、必要に応じて任意に決定できる。
車輪21a、21bの回転量の測定を開始してから、上記の一定時間が経過していないと判断された場合(ステップS4において「No」の場合)、自律移動のプロセスはステップS3に戻り、車輪21a、21bの回転量の測定を継続する。
一方、車輪21a、21bの回転量の測定を開始してから上記の一定時間が経過したと判断された場合(ステップS4において「Yes」の場合)、第2推定部5312は、車輪21a、21bの回転量に基づく自律移動体100の移動量(車輪移動量)を算出する(ステップS5)。
具体的には、第2推定部5312は、まず、回転量の測定を開始してから一定時間が経過するまでの車輪21a、21bの回転量を、当該期間に入力したパルス信号のパルス数から算出する。次に、第2推定部5312は、算出した車輪21a、21bの回転量と、上記の基準車輪径における車輪21a、21bの周囲長さ(すなわち、2π×基準車輪径)とに基づいて車輪移動量を算出する。
なお、上記のステップS3において第1推定部5311が複数の位置データを取得した場合、第1推定部5311は、上記のステップS5においても複数の位置データを位置データ取得部3から取得してもよい。この場合、第1推定部5311は、上記に説明した第1推定部5311における移動量の算出方法により、自律移動体100が一定時間移動した移動前後にて取得した複数の位置データを用いて、上記の一定時間に自律移動体100が移動した移動量を算出してもよい。
上記の車輪移動量を算出後、第2推定部5312は、ステップS5にて算出した車輪移動量を補正する(ステップS6)。本実施形態において、第2推定部5312は、ステップS5にて算出した車輪移動量を、ステップS2にて算出した補正係数倍することにより、車輪移動量を補正する。これにより、第2推定部5312は、ステップS2において算出した第2基準移動量と第1基準移動量との比較に基づいてステップS5にて算出した車輪移動量を補正して、補正後の車輪移動量を、上記の一定時間に自律移動体100が移動した移動量として算出できる。
上記の一定時間に自律移動体100が移動した移動量を算出後、位置推定部55は、移動量推定部53から上記のステップS6において算出された移動量を入力し、入力した移動量に基づいて、上記に説明したマップマッチングによる自律移動体100の位置の推定方法を用いて、自律移動体100の現在位置を推定する(ステップS7)。
自律移動体100の現在位置を推定後、走行制御部57は、自律移動体100が現在位置から次の目標位置まで移動するための駆動信号を算出し、走行部2のモータ23a、23bに出力する(ステップS8)。
具体的には、走行制御部57は、まず、位置推定部55から上記のステップS7にて推定された自律移動体100の現在位置を入力する。また、走行制御部57は、入力した現在位置に基づいて、次の目標位置を記憶部51などから読み出す。その後、走行制御部57は、自律移動体100の現在位置から、読み出した次の目標位置まで自律移動体100を移動させるための制御指令を算出する。
走行制御部57にて算出される制御指令は、例えば、現在位置から次の目標位置まで移動する間の時間と自律移動体100の速度(車輪21a、21bの回転速度、すなわち、モータ23a、23bの回転速度)との関係を表したデータとして算出される。
制御指令を算出後、走行制御部57は、算出した制御指令に基づいて、モータ23a、23bを駆動(制御)する駆動信号を算出し、算出した駆動信号を走行部2のモータ23a、23bに出力する。
駆動信号を走行部2に出力後、制御部5は、例えば、記憶部51に記憶されている全ての目標位置を自律移動体100が通過したかどうかを判断して、自律移動を終了するかどうかを判断する(ステップS9)。
例えば、自律移動体100が全ての目標位置を通過していないと判断して、自律移動を継続すると判断した場合(ステップS9において「No」の場合)、自律移動のプロセスはステップS1に戻り、自律移動を継続する。
一方、自律移動体100が全ての目標位置を通過して自律移動を終了すると判断した場合(ステップS9において「Yes」の場合)、自律移動のプロセスを終了する。
第1実施形態の移動量推定部53においては、複数の第1位置データにより形成される第1投影物体像と、複数の移動位置データにより形成される移動投影物体像とが一致したときの、移動位置データが得られたときの第2位置データの平行移動量及び/又は回転移動の移動量が第1基準移動量とされている。言い換えると、複数の第2位置データにより形成される投影物体像を第1投影物体像に一致させるように移動した時の移動量を第1基準移動量としている。これにより、複数の位置データに含まれる測定誤差による影響を低減して、第1基準移動量を移動体の実際の移動量により近い値として算出できる。
以上の結果、第2推定部5312は、複数の位置データに含まれる測定誤差による影響を低減して算出した第1基準移動量を用いて、より正確に車輪移動量を補正できる。
また、第1実施形態の移動量推定部53においては、補正係数算出部5313が第1基準移動量と第2基準移動量とに基づいて補正係数を算出している。また、第2推定部5312が、第1基準移動量と第2基準移動量との比較結果として算出された補正係数を用いて、車輪移動量を補正している。
これにより、移動量推定部53において、第2基準移動量と第1基準移動量との算出頻度を低減できる。また、自律移動体100の周囲に壁などの障害物が存在しない広いエリアを走行中などの複数の位置データを取得できない場合でも、第2推定部5312は、補正係数を用いて、より正確に車輪移動量を補正し、より正確な自律移動体100の移動量を算出できる。
さらに、本実施形態の自律移動体100の移動量推定部53において、より正確に自律移動体100の移動量が推定される。これにより、位置推定部55は、より正確な自律移動体100の位置を推定できる。その結果、走行制御部57は、自律移動体100を現在位置から所定の目標位置まで適切に移動させるように、走行部2を制御できる。つまり、自律移動体100が移動量推定部53を備えることにより、自律移動体100は、意図した移動経路を正確に自律走行できる。
なお、上記の図6及び図7に示すフローチャートにて示した補正係数の算出方法や自律移動体100の自律移動方法などは、本発明の範囲を超えない範囲にて、任意に順番を入れ替えたり、各ステップの処理を変更したりできる。
例えば、変形例として、補正係数算出部5313は、第1基準移動量と第2基準移動量との差を補正係数として算出してもよい。この場合、第2推定部5312による車輪移動量の補正は、車輪移動量を補正係数倍するのではなく、車輪移動量に補正係数を加算することで行なえる。
2.第2実施形態
上記の第1実施形態の移動量算出部531においては、補正係数算出部5313において算出された補正係数が適切に算出されたかどうかを確認していなかった。しかし、これに限られない。第2実施形態の移動量算出部531’においては、補正係数算出部5313において算出された補正係数が適切かどうかを評価している。
そのため、図8に示すように、第2実施形態の移動量算出部531’は、第1推定部5311と、第2推定部5312と、補正係数算出部5313と、補正データ取得指令部5314と、さらに、評価部5315と、を有している。図8は、第2実施形態に係る移動量算出部の構成を示す図である。
第2実施形態の移動量算出部531’の第1推定部5311と、第2推定部5312と、補正係数算出部5313と、補正データ取得指令部5314とは、それぞれ、第1実施形態の第1推定部5311と、第2推定部5312と、補正係数算出部5313と、補正データ取得指令部5314と同じ構成及び機能を有しているため、ここでは説明を省略する。また、自律移動体100の構成も、移動量算出部531の構成が異なる以外は同じであるので、ここでは説明を省略する。そのため、以下の説明では、評価部5315についてのみ説明する。
評価部5315は、補正係数算出部5313にて今回算出された補正係数と、補正係数算出部5313において過去の期間である過去期間において算出され、記憶部51などに記憶されていた補正係数(過去補正係数と呼ぶ)との比較結果に基づいて、今回算出された補正係数が適切に算出されたかどうかを評価する。
評価部5315は、例えば、補正係数が第1基準移動量と第2基準移動量との比として算出された場合であって、今回算出された補正係数が1より大きな値の場合には、今回算出された補正係数を不適切に算出されたものと評価する。このように補正係数を評価するのは、以下の理由による。
なお、補正係数が第1基準移動量と第2基準移動量との差として算出された場合、評価部5315は、例えば、今回算出された補正係数が正値(第1基準移動量が第2基準移動量よりも大きい)の場合に、今回算出された補正係数が不適切なものであると評価する。
自律移動体100が車輪21a、21bを有する走行部2により床面を移動した場合、典型的には、車輪21a、21bの径は走行毎に減少する。本実施形態において、補正係数が1よりも大きくなることは、車輪21a、21bの径が車輪21a、21bの未使用時の径よりも大きくなっていることを意味するため、1より大きな補正係数は上記の車輪21a、21bの径が走行距離に応じて減少することと矛盾する。このように、一般的な現象と算出された補正係数の間に矛盾が生じる場合には、補正係数が不適切に算出されたものと評価する。
また、今回算出された補正係数が過去に算出された過去補正係数よりも大きくなることも、過去補正係数が算出されてから今回の補正係数が算出されるまでに車輪21a、21bの交換がなされる場合などを除いて、車輪21a、21bの径が走行毎(使用毎)に減少することと矛盾する。よって、評価部5315は、今回算出された補正係数が過去に算出された過去補正係数よりも大きくなった場合にも、今回の補正係数が不適切に算出されたと評価する。
移動量推定部53が評価部5315を有することにより、前回算出した過去補正係数と比較して、又は、走行部2において発生する一般的な現象を考慮して、今回算出した補正係数が車輪21a、21bの特性に基づいて合理的に算出されているかどうかを判断できる。
また、評価部5315は、補正係数が適切に算出されていないと評価した場合、記憶部51などに記憶されている過去補正係数を、今回算出した補正係数として、第2推定部5312に出力する。すなわち、第2推定部5312は、今回の補正係数が適切に算出されていないと評価された場合、過去補正係数を今回算出した補正係数として用いる。
これにより、今回算出された補正係数が誤った(合理的でない)値として算出された場合に、第2推定部5312が当該誤って算出された補正係数を用いて車輪移動量を誤って補正することを回避できる。
3.第3実施形態
上記の第1実施形態及び第2実施形態の移動量算出部531、531’においては、第2推定部5312は、車輪21a、21bの基準車輪径から算出した周囲長さと、車輪21a、21bの回転量などとに基づいて車輪移動量を算出し、補正係数を用いて車輪移動量を補正していた。しかし、補正の対象は車輪移動量に限られない。
第3実施形態の移動量算出部531’’においては、車輪移動量でなく、車輪21a、21bの車輪径に対して補正を行っている。上記のような第3実施形態の移動量算出部531’’は、図9に示すように、第1推定部5311と、第2推定部5312’’と、補正係数算出部5313と、補正データ取得指令部5314と、さらに、径変化算出部5316と、を有している。
第3実施形態において、第1推定部5311と、補正係数算出部5313と、補正データ取得指令部5314は、第1実施形態及び第2実施形態の第1推定部5311と、補正係数算出部5313と、補正データ取得指令部5314と同じ構成及び機能を有する。そのため、第3実施形態の第1推定部5311と、補正係数算出部5313と、補正データ取得指令部5314については、説明を省略する。
第2推定部5312’’は、基準車輪径と補正係数とに基づいて、車輪21a、21bの車輪径の補正を行う。例えば、第2推定部5312’’は、基準車輪径を補正係数倍(補正係数が第1基準移動量と第2基準移動量との比として算出された場合)することにより、車輪21a、21bの車輪径を補正できる。
一方、補正係数が第1基準移動量と第2基準移動量との差として算出された場合、第2推定部5312’’は、例えば、基準車輪径に車輪径の変化量(補正係数を車輪移動量とした場合に算出される車輪径)を加算することにより、車輪21a、21bの車輪径を補正できる。
また、第2推定部5312’’は、補正後の車輪径(補正車輪径と呼ぶことにする)から車輪21a、21bの現在の周囲長さを算出する。さらに、第2推定部5312’’は、上記の現在の周囲長さと車輪21a、21bの回転量とに基づいて車輪移動量(すなわち、自律移動体100の移動量)を算出する。これにより、車輪21a、21bの回転量に基づいて算出される自律移動体100の移動量を補正できると同時に、車輪径の補正もできる。
径変化算出部5316は、補正車輪径と基準車輪径との比較に基づいて、車輪21a、21bの径の変化を算出する。例えば、基準車輪径から補正車輪径を引いた値を、車輪21a、21bの径の減少量として算出できる。この他、基準車輪径と補正車輪径との比の値を、車輪21a、21bの径の減少量として算出してもよい。
なお、補正係数が第1基準移動量と第2基準移動量の差として算出されている場合には、補正係数を車輪移動量とした場合に算出される車輪径を、車輪21a、21bの径の変化とできる。
移動量算出部531’’が径変化算出部5316を有することにより、車輪21a、21bの径の変化をモニターできる。これにより、例えば、車輪21a、21bの径が所定の値以上に減少した場合などに、車輪21a、21bの交換を促すアラームを発生させたり、操作部7の表示部(図示せず)などに車輪21a、21bの交換を促すメッセージなどを表示したりして、ユーザに対して、車輪21a、21bの交換時を通知できる。
4.他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
例えば、上記の第1〜第3実施形態をすべて組み合わせてもよい。この場合、移動量推定部53’’’は、第1推定部5311と、第2推定部5312、5312’’と、補正係数算出部5313と、補正データ取得指令部5314と、評価部5315と、径変化算出部5316と、を有していてもよい。これにより、移動量推定部53’’’は、上記の第1〜第3実施形態における移動量算出部531、531’、531’’の全ての効果を発揮できる。
(A)走行部の他の実施形態
上記の第1〜第3実施形態における走行部2は、二輪差動型の走行部であった。しかし、これに限られず、オムニホイールなどの他の車輪を有する走行部を用いても、上記の第1〜第3実施形態における効果を得られる。
(B)第1推定部における移動量の算出方法の他の実施形態
上記の第1〜第3実施形態の第1推定部5311においては、上記のICP法又はヒストグラムマッチング法のいずれか1つを用いて、自律移動体100の移動量を算出していた。しかし、これに限られず、ICP法とヒストグラムマッチング法とを組み合わせて、移動量を算出してもよい。例えば、自律移動体100の回転運動の移動量(姿勢の変化量)をヒストグラムマッチング法により算出し、自律移動体100の移動量(平行移動量)をICP法により算出してもよい。
ICP法は、精度よく自律移動体100の移動量を算出できる一方、以下のような問題点を有している。すなわち、自律移動体100が姿勢を変化のみを行った場合にICP法により姿勢変化量を算出すると、移動前後において姿勢変化の中心点がずれた状態にて移動量が算出される場合がある。すなわち、自律移動体100が平行移動していないにも関わらず、平行移動したと推定される。一方、ヒストグラムマッチング法においては、このような回転中心の移動が発生しにくい。
従って、ヒストグラムマッチング法により自律移動体100の回転運動による姿勢変化量を算出し、ヒストグラムマッチング法により推定された姿勢変化量だけ複数の第2位置データを移動して、移動後の第2位置データと第1位置データを用いて、ICP法により平行移動量を算出することにより、より正確な自律移動体100の移動量を算出できる。
また、ICP法では移動量の算出のために必要な計算量が多い傾向にあるため、ICP法とヒストグラムマッチング法とを組み合わせることにより、第1推定部5311における移動量の算出のために必要な計算量を減少できる。
さらに、複数の位置データを用いて移動量を算出する際、複数の位置データを、予め決められた条件に基づいて決定されるいくつかのグループに分類し、1つのグループに含まれる位置データを用いて移動量を算出後に、当該移動量だけ複数の第2位置データを移動して、さらに他のグループに含まれる位置データを用いて移動量を算出してもよい。すなわち、多段的に移動量の算出を行ってもよい。これにより、特にICP法において、移動量を算出するために必要な計算量を減少できる。
(C)本体部の他の実施形態
上記の第1〜第3実施形態に係る自律移動体100の本体部1には、位置データ取得部3の位置データ検出可能領域に干渉するような部材は特に取り付けられていなかった。しかし、これに限られず、本体部1に、位置データ取得部3の位置データ検出可能領域に少なくとも一部が入るように、既知の形状の干渉部材を取り付けてもよい。
本体部1に、少なくとも一部が位置データ検出可能領域に入るように干渉部材を取り付けることにより、位置データ取得部3が正常に動作しているかどうかを確認できる。例えば、自律移動体100の周囲に壁や障害物などの物体が存在しない場合などに、干渉部材の一部の形状に対応する投影物体像が複数の位置データのいくつかにより形成されていれば、位置データ取得部3の異常により位置データが取得されないのではなく、自律移動体100が、物体が存在しない広い空間を移動中であると判断できる。
(D)補正係数の使用に関する他の実施形態
上記の第1〜第3実施形態においては、補正係数算出部5313にて算出された補正係数を、車輪移動量又は車輪21a、21bの径の補正に用いていた。しかし、これに限られず、移動領域の床面の状態を調べるために補正係数を用いてもよい。
例えば、補正係数算出部5313が第1基準移動量と第2基準移動量の比として補正係数を算出する実施形態の場合、補正係数が小さな値として算出された場合、移動領域の床面が濡れているか、または、砂などの自律移動体100を滑りやすくする物体が床面上に多く存在していると判断できる。なぜなら、床面が濡れていたり、砂などにより滑りやすくなっていたりすると、車輪21a、21bが多く回転しても、実際の自律移動体100の移動量は少ないからである。
例えば、上記に説明した第1〜第3実施形態に係る自律移動体100を清掃ロボットに応用した場合、補正係数に基づいて掃除箇所を決定できる。例えば、補正係数が小さな値と算出された箇所については、集中的に清掃するように清掃ロボットに指令できる。なお、補正係数算出部5313が第1基準移動量と第2基準移動量の差として補正係数を算出する実施形態の場合は、補正係数の絶対値が大きな値として算出された場合を検出することで、上記と同じ効果を得ることが出来る。
この他、補正係数算出部5313にて算出された補正係数や径変化算出部5316にて算出された車輪径の変化量を、自律移動体100内の及び/又は外部の記憶媒体に保存しておき、自律移動体100の次回起動時に上記保存された補正係数や車輪径変化量を読み出して使用してもよい。これにより、補正係数や径変化量を再度算出するための所定の期間が必要なくなり、移動量や車輪径の補正を即時に行なうことができる。
上記の第2実施形態においては、補正係数算出部5313にて算出された補正係数は、評価部5315のみで評価されていたが、SLAM法などのマップマッチングの結果に基づいて、補正係数を再度評価してもよい。例えば、第2推定部5312で補正された車輪移動量とマップマッチングの推定移動量(自律移動体100の移動前の自己位置と、マップマッチングで推定された自律移動体100の移動後の自己位置との差に相当)とを比較して、補正前の車輪移動量とマップマッチングの推定移動量との絶対誤差が小さく、補正された車輪移動量とマップマッチングの推定移動量との絶対誤差が大きい場合には、補正係数算出部5313にて算出された補正係数を不適切と判断してもよい。
さらに、車輪移動量とマップマッチングの推定移動量との比較に基づいて補正係数を算出し直す、及び/又は、径変化を算出し直すなどしてもよい。これにより、補正係数算出部5313にて算出された補正係数が適切かどうかさらに評価することができる。また、必要に応じて、マップマッチングに基づいた推定移動量を用いることによっても、補正係数を算出できる(つまり、車輪移動量を補正できる)。
その他、第2基準移動量(車輪移動量)に基づくマップマッチングと、第2推定部5312、5312’’で補正された移動量に基づくマップマッチングとを行う形態として、車輪移動量に基づくマップマッチングのマッチング度(事後確率の最大値など)と、第2推定部5312、5312’’で補正された移動量に基づくマップマッチングのマッチング度(事後確率の最大値など)とを比較して、第2推定部5312、5312’’で補正された移動量に基づくマップマッチングのマッチング度の値が小さい場合には、補正係数算出部5313にて算出された補正係数を不適切と判断してもよい。
これにより、補正係数算出部5313にて算出された補正係数が適切どうかさらに評価することができる。なぜならば、事後確率は、マップマッチング結果の良し悪しを示す指標であって、マップマッチングの結果がよいほど、すなわち、より正確に位置が推定されているほど大きな値となるためである。
上記各実施形態では、位置データ取得部として2次元の位置データを取得可能なLRFを利用して自律移動体100の2次元平面上の移動量を推定していたが、3次元の位置データを取得可能なToFカメラなどを用いることで、自律移動体100の3次元空間内での移動量を推定することもできる。
本発明は、車輪の回転により移動可能な移動体に広く適用できる。
100 自律移動体
1 本体部
2 走行部
21a、21b 車輪
23a、23bモータ
3 位置データ取得部
31 前方データ取得部
33 後方データ取得部
5 制御部
51 記憶部
53、53’’’ 移動量推定部
531、531’、531’’移動量算出部
5311 第1推定部
5312、5312’’ 第2推定部
5313 補正係数算出部
5314 補正データ取得指令部
5314a 第1取得指令部
5314b 第2取得指令部
5315 評価部
5316 径変化算出部
55 位置推定部
57 走行制御部
7 操作部
71a、71b 操作ハンドル
8 補助輪部
8a、8b 補助車輪
9 取付部材

Claims (11)

  1. 車輪の回転により、操作者による移動操作により教示された移動経路を自律的に移動する移動体の移動量を推定する移動量推定装置であって、
    前記移動体の周囲に存在する物体を所定の座標上に投影した投影物体像を形成する複数の位置データを取得する位置データ取得部と、
    前記移動体が移動したときの移動前又は移動後のいずれか一方において取得した複数の第1位置データにより形成される第1投影物体像と、前記移動前又は前記移動後の他方において取得した複数の第2位置データを前記所定の座標上にて平行移動及び/又は回転移動した複数の移動位置データにより形成される移動投影物体像とが一致したときの前記複数の第2位置データの前記平行移動の移動量及び/又は前記回転移動の移動量を、前記移動体が移動した移動量として算出する第1推定部と、
    前記移動体が移動中の所定の期間における前記車輪の回転量に基づいて算出した第2基準移動量と、前記移動体が前記所定の期間移動したときの前記第1推定部における移動量の算出値である第1基準移動量との比較に基づいて、前記車輪の回転量に基づいて算出される車輪移動量を補正し、補正された前記車輪移動量を前記移動体の移動量として推定する第2推定部と、
    を備える移動量推定装置。
  2. 前記第2基準移動量と前記第1基準移動量との比較結果としての補正係数を、前記第1基準移動量と前記第2基準移動量とに基づいて算出する補正係数算出部をさらに備え、
    前記第2推定部は前記補正係数を用いて前記車輪移動量を補正する、請求項1に記載の移動量推定装置。
  3. 前記所定の期間よりも過去の期間である過去期間において算出された過去補正係数と前記補正係数との比較結果に基づいて、前記補正係数が適切に算出されたかどうかを評価する評価部をさらに備える、請求項2に記載の移動量推定装置。
  4. 前記補正係数が適切に算出されていないと判断された場合、前記第2推定部は前記過去補正係数を前記補正係数として用いる、請求項3に記載の移動量推定装置。
  5. 前記補正係数算出部は、前記第1基準移動量と前記第2基準移動量と所定の値を有する更新係数とに基づいて前記補正係数を算出する、請求項2〜4のいずれかに記載の移動量推定装置。
  6. 前記第2推定部は、予め決められた前記車輪の径である基準車輪径と前記車輪の回転量とに基づいて前記車輪移動量を算出し、前記車輪移動量を前記補正係数に基づいて補正する、請求項2〜5のいずれかに記載の移動量推定装置。
  7. 前記第2推定部は、予め決められた前記車輪の径である基準車輪径と前記補正係数とに基づいて補正車輪径を算出し、前記補正車輪径と前記車輪の回転量とに基づいて前記移動体の移動量を算出する、請求項2〜6のいずれかに記載の移動量推定装置。
  8. 前記補正車輪径と前記基準車輪径との比較に基づいて、前記車輪の径の変化を算出する径変化算出部をさらに備える、請求項7に記載の移動量推定装置。
  9. 前記第1基準移動量と前記第2基準移動量とを算出する前記所定の期間を指定する補正データ取得指令部をさらに備える、請求項1〜8のいずれかに記載の移動量推定装置。
  10. 請求項1〜9のいずれかに記載の移動量推定装置と、
    車輪を有し、前記車輪の回転により走行可能な走行部と、
    前記移動量推定装置において推定される移動量に基づいて現在位置を推定する位置推定部と、
    前記現在位置から所定の目標位置まで走行するよう前記走行部を制御する走行制御部と、
    を備える自律移動体。
  11. 車輪の回転により、操作者による移動操作により教示された移動経路を自律的に移動する移動体の移動量の推定方法であって、
    前記移動体が所定の期間に移動したときの移動前及び移動後において、前記移動体の周囲に存在する物体を所定の座標上に投影した投影物体像を形成する複数の位置データを取得するステップと、
    前記移動前又は前記移動後のいずれか一方において取得した複数の第2位置データを、前記所定の座標上にて平行移動及び/又は回転移動して複数の移動位置データを算出するステップと、
    前記移動前又は前記移動後の他方において取得した複数の第1位置データにより形成される第1投影物体像と前記複数の移動位置データにより形成される移動投影物体像とが一致したときの前記複数の移動位置データが得られたときの、前記複数の第2位置データの前記平行移動の移動量及び/又は前記回転移動の移動量に基づいて、第1基準移動量を算出するステップと、
    前記所定の期間における前記車輪の回転量に基づいて第2基準移動量を算出するステップと、
    前記第2基準移動量と前記第1基準移動量との比較に基づいて、前記車輪の回転量に基づいて算出される車輪移動量を補正するステップと、
    補正された前記車輪移動量を前記移動体の移動量として推定するステップと、
    を含む移動量の推定方法。

JP2014241158A 2014-11-28 2014-11-28 移動量推定装置、自律移動体、及び移動量の推定方法 Active JP6481347B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014241158A JP6481347B2 (ja) 2014-11-28 2014-11-28 移動量推定装置、自律移動体、及び移動量の推定方法
US14/933,263 US9802619B2 (en) 2014-11-28 2015-11-05 Moving amount estimating apparatus, autonomous mobile body, and moving amount estimating method
EP15196347.7A EP3026520A3 (en) 2014-11-28 2015-11-25 Moving amount estimating apparatus, autonomous mobile body, and moving amount estimating method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014241158A JP6481347B2 (ja) 2014-11-28 2014-11-28 移動量推定装置、自律移動体、及び移動量の推定方法

Publications (2)

Publication Number Publication Date
JP2016103158A JP2016103158A (ja) 2016-06-02
JP6481347B2 true JP6481347B2 (ja) 2019-03-13

Family

ID=54707576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014241158A Active JP6481347B2 (ja) 2014-11-28 2014-11-28 移動量推定装置、自律移動体、及び移動量の推定方法

Country Status (3)

Country Link
US (1) US9802619B2 (ja)
EP (1) EP3026520A3 (ja)
JP (1) JP6481347B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10444758B2 (en) * 2015-12-01 2019-10-15 Ricoh Company, Ltd. Autonomous traveling device
JP6913339B2 (ja) * 2017-01-26 2021-08-04 学校法人千葉工業大学 移動軌跡算定システム、移動軌跡算定システムの制御方法及びプログラム
JP6878196B2 (ja) * 2017-08-03 2021-05-26 株式会社アイシン 位置推定装置
JP7075784B2 (ja) * 2018-03-08 2022-05-26 Dmg森精機株式会社 エンコーダ
CN111094895B (zh) * 2018-06-29 2023-08-22 百度时代网络技术(北京)有限公司 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法
DE102018211804A1 (de) * 2018-07-16 2020-01-16 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Schätzen eines aktuellen Radumfanges mindestens eines an einem Fahrzeug angeordneten Rades
CN111480131B (zh) * 2018-08-23 2024-01-12 日本精工株式会社 自行装置、自行装置的行进控制方法以及行进控制程序
US11747825B2 (en) 2018-10-12 2023-09-05 Boston Dynamics, Inc. Autonomous map traversal with waypoint matching
WO2021025707A1 (en) 2019-08-06 2021-02-11 Boston Dynamics, Inc. Intermediate waypoint generator
CN113254434B (zh) * 2021-06-18 2021-10-15 智己汽车科技有限公司 用于清理车辆行驶数据的方法、装置、设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0794986B2 (ja) * 1989-10-24 1995-10-11 日産自動車株式会社 自立航法における距離の補正装置
JP3581911B2 (ja) * 1996-06-07 2004-10-27 コニカミノルタホールディングス株式会社 移動走行車
JP2004318721A (ja) 2003-04-18 2004-11-11 Toshiba Tec Corp 自律走行車
KR100763234B1 (ko) * 2004-06-11 2007-10-04 삼성전자주식회사 주행 상태를 감지하는 시스템 및 방법
JP4561346B2 (ja) 2004-12-08 2010-10-13 株式会社豊田中央研究所 車両運動推定装置及び移動体検出装置
JP4377347B2 (ja) * 2005-03-11 2009-12-02 セコム株式会社 移動ロボット
KR101152720B1 (ko) * 2009-10-30 2012-06-18 주식회사 유진로봇 이동 로봇의 슬립 감지 장치 및 방법
JP5892663B2 (ja) * 2011-06-21 2016-03-23 国立大学法人 奈良先端科学技術大学院大学 自己位置推定装置、自己位置推定方法、自己位置推定プログラム、及び移動体
JP5429901B2 (ja) 2012-02-08 2014-02-26 富士ソフト株式会社 ロボット及び情報処理装置のプログラム
KR101945734B1 (ko) * 2012-08-16 2019-02-11 한화에어로스페이스 주식회사 로봇 시스템 및 그의 동작 방법
CN103926925B (zh) 2014-04-22 2015-04-29 江苏久祥汽车电器集团有限公司 一种基于改进的vfh算法的定位与避障方法及机器人

Also Published As

Publication number Publication date
US20160152241A1 (en) 2016-06-02
EP3026520A2 (en) 2016-06-01
US9802619B2 (en) 2017-10-31
JP2016103158A (ja) 2016-06-02
EP3026520A3 (en) 2016-08-03

Similar Documents

Publication Publication Date Title
JP6481347B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP6711138B2 (ja) 自己位置推定装置、及び、自己位置推定方法
US9274526B2 (en) Autonomous vehicle and method of estimating self position of autonomous vehicle
US8306684B2 (en) Autonomous moving apparatus
US8515612B2 (en) Route planning method, route planning device and autonomous mobile device
KR100772912B1 (ko) 절대 방위각을 이용한 로봇 및 이를 이용한 맵 작성 방법
WO2011074165A1 (ja) 自律移動装置
KR101992824B1 (ko) 노면 형상 측정 장치, 측정 방법 및 프로그램
JP6052045B2 (ja) 自律移動体
JP6191484B2 (ja) 移動ロボットの自己位置推定方法
JP2020004095A (ja) 自律移動体制御装置及び自律移動体
JP2021503334A5 (ja)
JP2020004342A (ja) 移動体制御装置
JP2016091086A (ja) 移動体
JP2018022215A (ja) 移動教示装置、及び、移動教示方法
JP2020024618A (ja) 移動経路取得方法、及び、移動経路取得装置
CN112345798B (zh) 位置姿势推定装置以及位置姿势推定方法
JP6589578B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
EP3680743B1 (en) Autonomously traveling cleaner and map correction and display method
JP6500385B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
US20210262804A1 (en) Information processing device, information processing method, and storage medium
JP2010262461A (ja) 移動体
JP6626248B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP6260509B2 (ja) ロボット
JP2021149229A (ja) 移動体、及び、位置推定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180828

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190128

R150 Certificate of patent or registration of utility model

Ref document number: 6481347

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250