JP2024038433A - 自走式ロボット及びその制御方法 - Google Patents

自走式ロボット及びその制御方法 Download PDF

Info

Publication number
JP2024038433A
JP2024038433A JP2024006091A JP2024006091A JP2024038433A JP 2024038433 A JP2024038433 A JP 2024038433A JP 2024006091 A JP2024006091 A JP 2024006091A JP 2024006091 A JP2024006091 A JP 2024006091A JP 2024038433 A JP2024038433 A JP 2024038433A
Authority
JP
Japan
Prior art keywords
correction amount
target speed
lateral force
self
drive wheel
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.)
Pending
Application number
JP2024006091A
Other languages
English (en)
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JP2024038433A publication Critical patent/JP2024038433A/ja
Pending legal-status Critical Current

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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/32Carpet-sweepers
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4063Driving means; Transmission means therefor
    • A47L11/4066Propulsion of the whole machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • 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/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D6/00Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits
    • B62D6/04Arrangements for automatically controlling steering depending on driving conditions sensed and responded to, e.g. control circuits responsive only to forces disturbing the intended course of the vehicle, e.g. forces acting transversely to the direction of vehicle travel
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D7/00Steering linkage; Stub axles or their mountings
    • B62D7/06Steering linkage; Stub axles or their mountings for individually-pivoted wheels, e.g. on king-pins
    • B62D7/14Steering linkage; Stub axles or their mountings for individually-pivoted wheels, e.g. on king-pins the pivotal axes being situated in more than one plane transverse to the longitudinal centre line of the vehicle, e.g. all-wheel steering
    • B62D7/15Steering linkage; Stub axles or their mountings for individually-pivoted wheels, e.g. on king-pins the pivotal axes being situated in more than one plane transverse to the longitudinal centre line of the vehicle, e.g. all-wheel steering characterised by means varying the ratio between the steering angles of the steered wheels
    • B62D7/159Steering linkage; Stub axles or their mountings for individually-pivoted wheels, e.g. on king-pins the pivotal axes being situated in more than one plane transverse to the longitudinal centre line of the vehicle, e.g. all-wheel steering characterised by means varying the ratio between the steering angles of the steered wheels characterised by computing methods or stabilisation processes or systems, e.g. responding to yaw rate, lateral wind, load, road condition

Abstract

【課題】本体が床面上を大きく旋回していなくても、横滑りを抑制する。【解決手段】自走式ロボットは、本体の直進時に、左駆動輪及び右駆動輪に作用する左駆動輪及び右駆動輪の車輪軸方向の力である横力を検出する力センサと、左駆動輪及び右駆動輪のそれぞれに対する左目標速度及び右目標速度を取得する取得部と、力検出部が検出した横力に基づいて左目標速度及び右目標速度のそれぞれに対する左補正量及び右補正量を算出する補正量算出部と、左補正量及び右補正量に基づいて左目標速度及び右目標速度のそれぞれを補正する補正部と、補正部により補正された左目標速度及び右目標速度に基づいて左駆動輪及び右駆動輪を駆動させる駆動部とを備える。【選択図】図1

Description

本開示は自走式ロボットに関するものである。
近年、カーペットなどの床面を自律的に走行し、床面を掃除する自走式ロボットが知られている。このような自走式ロボットでは、目標軌道が直進の場合、絨毯の毛並みの影響により、横方向に滑りながら直進することがあり、これを抑制することが要求される。
例えば、特許文献1には、車輪の回転を感知する第1のセンサセットによって感知された駆動特性と、本体の回転を感知する第2のセンサによって感知された運動特性とに基づいて、カーペットドリフトを推定するロボット装置が開示されている。
特表2015-521760号公報
しかしながら、特許文献1に示す従来のロボット装置は、ジャイロスコープセンサーにより構成されているため、本体がカーペット上を大きく旋回しなければ、横滑りを検出できず、さらなる改善が要求されている。
本開示は、このような課題を解決するためになされたものであり、本体が床面上を旋回していなくても、横滑りを抑制する自走式ロボットを提供することを目的とする。
本開示の一態様に係る自走式ロボットは、本体と、前記本体を床面上で走行させる左駆動輪及び右駆動輪と、前記本体の直進時に、前記左駆動輪及び前記右駆動輪に作用する前記左駆動輪及び前記右駆動輪の車輪軸方向の力である横力を検出する力センサと、前記左駆動輪及び前記右駆動輪のそれぞれに対する左目標速度及び右目標速度を取得する取得部と、前記力センサが検出した横力に基づいて前記左目標速度及び前記右目標速度のそれぞれに対する左補正量及び右補正量を算出する補正量算出部と、前記左補正量及び前記右補正量に基づいて前記左目標速度及び前記右目標速度のそれぞれを補正する補正部と、前記補正部により補正された前記左目標速度及び前記右目標速度に基づいて前記左駆動輪及び前記右駆動輪を駆動させる駆動部とを備える。
本開示によれば、本体が床面上を旋回していなくても、横滑りを抑制できる。
実施の形態1に係る自走式ロボットの構成の一例を示す図である。 キャスターが本体に対して旋回している状態を示した図である。 実施の形態1に係る自走式ロボットの制御構成を示すブロック図である。 進行方向算出部の処理の詳細を説明する図である。 自走式ロボットに作用する横力を示す図である。 補正データの特性を示すグラフである。 補正データの特性を示すグラフである。 実施の形態1に係る自走式ロボットの処理の一例を示すフローチャートである。 実施の形態2に係る自走式ロボットの構成の一例を示す図である。 実施の形態2に係る自走式ロボットの制御構成を示すブロック図である。 実施の形態2において、横力の算出方法の一例を示す図である。 補正データの特性を示すグラフである。 実施の形態2に係る自走式ロボットの処理の一例を示すフローチャートである。
(本開示に至る経緯)
自走式ロボットは、目標軌道が直進の場合、絨毯の毛並みによって横方向に滑りながら直進する横滑りが生じることがある。この場合、自走式ロボットは、目標軌道に沿って直進しているつもりであるが、実際の軌道が目標軌道に対して傾斜するため、目標軌道上の目標地点に到達することができなくなる。そのため、自走式ロボットでは、横滑りを抑制することが要求されている。
横滑りは、自走式ロボットが横方向に滑りながら直進する動作であるため、必ずしも旋回速度が発生する訳ではない。したがって、特許文献1のようにジャイロスコープセンサーを用いて、横滑り時に生じる旋回速度を検出しても、横滑りを十分に抑制することはできない。
そこで、本発明者は、自走式ロボットを構成する一対の駆動輪に作用する横力を検出或いは推定すれば、横滑りを正確に検出できるという知見を得て、本開示の下記に示す各態様を想到するに至った。
本開示の一態様に係る自走式ロボットは、本体と、前記本体を床面上で走行させる左駆動輪及び右駆動輪と、前記本体の直進時に、前記左駆動輪及び前記右駆動輪に作用する前記左駆動輪及び前記右駆動輪の車輪軸方向の力である横力を検出する力センサと、前記左駆動輪及び前記右駆動輪のそれぞれに対する左目標速度及び右目標速度を取得する取得部と、前記力センサが検出した横力に基づいて前記左目標速度及び前記右目標速度のそれぞれに対する左補正量及び右補正量を算出する補正量算出部と、前記左補正量及び前記右補正量に基づいて前記左目標速度及び前記右目標速度のそれぞれを補正する補正部と、前記補正部により補正された前記左目標速度及び前記右目標速度に基づいて前記左駆動輪及び前記右駆動輪を駆動させる駆動部とを備える。
本構成によれば、本体の直進時に、左駆動輪及び右駆動輪に作用する左駆動輪及び右駆動輪の車輪軸方向の力である横力が検出され、検出した横力に基づいて左補正量及び右補正量が算出され、左補正量及び右補正量に基づいて左目標速度及び右目標速度が補正され、補正された左目標速度及び右目標速度に基づいて、左駆動輪及び右駆動輪が駆動される。
ここで、横力は本体が旋回していなくても、本体が横滑りしていれば発生する。したがって、本構成は、本体が床面上を旋回していない場合であっても、横滑りを抑制できる。
上記態様において、前記左駆動輪及び前記右駆動輪のそれぞれに対する左回転速度及び右回転速度を検出する速度検出部と、前記左回転速度及び前記右回転速度に基づいて前記本体の進行方向を算出する進行方向算出部とをさらに備え、前記補正量算出部は、前記進行方向算出部により算出された前記進行方向が前記本体が直進していることを示す所定の条件を満たす場合にのみ、前記左補正量及び前記右補正量をそれぞれ算出してもよい。
横滑りは、自走式ロボットが直進しているつもりで走行している場合に発生するものであり、本体が明示的に旋回しているような場合に発生するものではない。本構成によれば、左駆動輪及び右駆動輪の左回転速度及び右回転速度に基づいて本体の進行方向が算出され、その進行方向が本体の直進を示す所定の条件を満たす場合にのみ、左補正量及び右補正量が算出されている。そのため、横滑りが発生している可能性が高い状況下において、左回転速度及び右回転速度を補正することができ、横滑りを確実に抑制できる。
上記態様において、前記力センサは、少なくとも一軸の検出方向を持つ力センサであってもよい。
加速度センサを用いると、横滑りを検出することは可能であるが、加速度センサは高価であり、自走式ロボットのコストが嵩んでしまう。本構成は、加速度センサに比べて一般的に安価な一軸の力センサで構成されているため、自走式ロボットを低コストに構成できる。
本開示の別の一態様に係る自走式ロボットは、本体と、前記本体を床面上で走行させる左駆動輪及び右駆動輪と、前記本体に対して旋回可能に設けられた従動キャスターと、前記従動キャスターの前記本体に対する旋回角度を検出する角度センサと、前記左駆動輪及び前記右駆動輪のそれぞれの状態を検出する状態センサと、前記左駆動輪及び前記右駆動輪のそれぞれに対する左目標速度及び右目標速度を取得する取得部と、前記状態センサが検出した前記左駆動輪及び前記右駆動輪のそれぞれの状態に基づいて、前記左駆動輪及び前記右駆動輪のそれぞれの回転方向に発生する左外乱及び右外乱を推定する外乱推定部と、前記角度センサにより検出された前記旋回角度と、前記外乱推定部により推定された前記左外乱及び前記右外乱とに基づいて、前記左駆動輪及び前記右駆動輪に作用する前記左駆動輪及び前記右駆動輪の車輪軸方向の力である横力を推定する横力推定部と、前記横力推定部が推定した横力に基づいて前記左目標速度及び前記右目標速度のそれぞれに対する左補正量及び右補正量を算出する補正量算出部と、前記左補正量及び前記右補正量に基づいて前記左目標速度及び前記右目標速度のそれぞれを補正する補正部と、前記補正部により補正された前記左目標速度及び前記右目標速度に基づいて前記左駆動輪及び前記右駆動輪を回転させる駆動部とを備える。
本構成によれば、状態センサが検出した左駆動輪及び右駆動輪のそれぞれの状態に基づいて、左駆動輪及び右駆動輪のそれぞれに対して回転方向に発生している左外乱及び右外乱の大きさが推定される。そして、角度センサにより検出された旋回角度と、外乱推定部により推定された左外乱及び右外乱とに基づいて、左駆動輪及び右駆動輪に作用する横力が推定される。そして、推定された横力に基づいて左補正量及び右補正量が算出され、左補正量及び右補正量に基づいて左目標速度及び右目標速度が補正され、補正された左目標速度及び右目標速度に基づいて、左駆動輪及び右駆動輪が駆動される。ここで、左駆動輪及び右駆動輪に作用する横力は本体が旋回していなくても、本体が横滑りしていれば発生する力である。したがって、本構成は、本体が床面上を旋回していない場合であっても、横滑りを抑制できる。また、本構成では、横力が推定されているため、力センサを用いなくても、横滑りを抑制できる。
上記態様において、前記駆動部は、前記左駆動輪を駆動する左モータと、前記右駆動輪を駆動する右モータとを含み、前記状態センサは、前記左モータ及び前記右モータのそれぞれの駆動電流を前記状態として検出する電流センサと、前記左モータ及び前記右モータのそれぞれの回転速度を前記状態として検出するエンコーダとを含んでもよい。
本構成によれば、左モータ及び右モータのそれぞれの駆動電流と、左モータ及び右モータのそれぞれの回転速度が状態として用いられるため、左外乱及び右外乱を正確に求めることができる。
上記態様において、前記横力推定部は、前記左外乱及び前記右外乱の差を、前記自走式ロボットに対して前記旋回角度の方向に発生している走行外乱として算出し、前記走行外乱の前記車輪軸方向の成分を前記横力として推定してもよい。
本構成によれば、横力を正確に推定できる。
上記態様において、前記補正量算出部は、前記本体が直進している場合のみ補正量を算出してもよい。
本構成によれば、本体が直進している場合のみ補正量が算出されているため、横滑りが発生する可能性の高い状況下においてのみ、横滑りを抑制できる。
上記態様において、車輪軸の左方向の前記横力が増大するにつれて、前記左補正量が前記右補正量に比べて増大するように前記横力と前記左補正量及び前記右補正量とが対応付けられ、且つ前記車輪軸の右方向の前記横力が増大するにつれて、前記右補正量が前記左補正量に比べて増大するように前記横力と前記右補正量及び前記左補正量とが対応付けられた補正データを記憶するメモリをさらに備え、前記補正量算出部は、検出又は推定された前記横力に対応する前記左補正量及び前記右補正量を前記補正データから取得することにより、前記左補正量及び前記右補正量を算出してもよい。
本構成によれば、左方向への横滑りが生じている場合、左方向の横力が増大するにつれて左補正量が右補正量よりも増大されるため、左駆動輪の駆動力が右駆動輪の駆動力よりも大きくなる結果、左方向への横滑りを抑制できる。また、右方向への横滑りが生じている場合、右方向の横力が増大するにつれて右補正量が左補正量よりも増大されるため、右駆動輪の駆動力が左駆動輪の駆動力よりも大きくなる結果、右方向への横滑りを抑制できる。
本開示は、このような自走式ロボットに含まれる特徴的な各構成をコンピュータに実行させる制御プログラム、或いはこの制御プログラムによって動作するシステムとして実現することもできる。また、このようなコンピュータプログラムを、CD-ROM等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることもできる。
(実施の形態1)
図1は、実施の形態1に係る自走式ロボット1の構成の一例を示す図である。以下、本明細書において、自走式ロボット1の上方向を+Z方向、下方向を-Z方向とおく。自走式ロボット1の正面方向を+Y方向、正面方向とは反対の方向を-Y方向とおく。正面方向を向いて自走式ロボット1の左方向を+X方向、正面方向を向いて自走式ロボット1の右方向を-X方向とおく。自走式ロボット1は、例えば、屋内を自律的に移動することで、屋内の床を掃除するロボットである。図1において、説明の便宜上、吸引機構の図示は省略されている。Z方向は、+Z方向と-Z方向とを総称した方向である。Y方向は、+Y方向と-Y方向とを総称した方向である。X方向は、+X方向と-X方向とを総称した方向である。図1において、上図は自走式ロボット1を+X方向に見た図であり、下図は自走式ロボット1を-Z方向、すなわち、本体10を上側から見た図である。
図1に示す自走式ロボット1は、本体10、駆動輪11、キャスター12、モータ13、及び力センサ14を含む。駆動輪11は、左右一対の左駆動輪11a及び右駆動輪11bを含む。モータ13は、左駆動輪11aを駆動させる左モータ13aと、右駆動輪11bを駆動させる右モータ13bとを含む。力センサ14は、左駆動輪11aに作用する横力を検出する力センサ14aと、右駆動輪11bに作用する横力を検出する力センサ14bとを含む。
左駆動輪11a及び右駆動輪11bは、それぞれ、本体10の裏面101に一部が露出して設けられている。左駆動輪11a及び右駆動輪11bは、それぞれ、図略の車輪軸を含む。左駆動輪11aは、左モータ13aからの動力により車輪軸周りに回転する。右駆動輪11bは、右モータ13bからの動力により車輪軸周りに回転する。車輪軸は、X方向と平行である。したがって、左駆動輪11a及び右駆動輪11bが同一の回転速度で前転することで本体10は前進する。左駆動輪11a及び右駆動輪11bが同一の回転速度で後転することで本体10は後進する。左駆動輪11a及び右駆動輪11bの回転速度に差を設けることで、本体10は旋回する。具体的には、前転する左駆動輪11aの回転速度が、右駆動輪11bの回転速度よりも大きい場合、本体10は右前方に旋回する。一方、前転する右駆動輪11bの回転速度が、左駆動輪11aの回転速度よりも大きい場合、本体10は左前方に旋回する。なお、自走式ロボット1は、後方旋回も可能である。
左モータ13a及び右モータ13bのそれぞれは本体10内に内蔵されたマイクロコントローラ(図略)によって速度制御が行われる。左モータ13aにはエンコーダ15a(図3参照)が内蔵され、右モータ13bにはエンコーダ15b(図3参照)が内蔵されている。エンコーダ15aは、左モータ13aの回転速度である左回転速度を検出する。エンコーダ15bは、右モータ13bの回転速度である右回転速度を検出する。エンコーダ15aは、左駆動輪11aの左回転速度を検出する速度検出部の一例であり、エンコーダ15bは、右駆動輪11bの右回転速度を検出する速度検出部の一例である。
キャスター12は、本体10の前後の倒れ込みを防ぎ、本体10の裏面101を床面90とほぼ平行に保つ役割を果たす。キャスター12は、車輪121と、車輪121を回転可能に保持するホルダー(図略)とを含む。ホルダー(図略)は、裏面101においてZ方向と平行な軸周りに旋回可能に取り付けられている。これにより、キャスター12は、本体10に対して旋回する。キャスター12の車輪121は、駆動力を持たず、本体10の移動速度に応じて受動的に回転する。キャスター12のホルダー(図略)は、駆動力を持たず、本体10の旋回に応じて受動的に旋回する。
力センサ14aは、左駆動輪11aと左駆動輪11aの車輪軸(図略)との間に発生する車輪軸方向の力である横力を検出する。力センサ14aは、例えば一軸の力センサで構成されている。力センサ14bは、右駆動輪11bと右駆動輪11bの車輪軸(図略)との間に発生する車輪軸方向の力である横力を検出する。力センサ14bは、例えば一軸の力センサで構成されている。力センサ14a,14bは、それぞれ例えば圧電式又は歪みゲージ式の力センサで構成できる。
図2は、キャスター12が本体10に対して旋回している状態を示した図である。図2に示すように、キャスター12は、本体10に対して旋回することが可能である。これにより、本体10の進行方向が、Y方向ではなく、Y方向に対して左斜め前方又は右斜め前方に向いている場合、車輪121を進行方向に向けて旋回させることができる。その結果、自走式ロボット1は、車輪121を引き摺ること無く、旋回することができる。
図3は、実施の形態1に係る自走式ロボット1の制御構成を示すブロック図である。自走式ロボット1は、上述した、左モータ13a、右モータ13b、力センサ14、エンコーダ15a、及びエンコーダ15bの他、目標軌道出力部20、取得部21、進行方向算出部22、補正量算出部23、駆動部24、補正部25、及びメモリ26を含む。図3において、目標軌道出力部20~補正部25は、マイクロコントローラにより構成されている。メモリ26は、例えば不揮発性の半導体メモリで構成されている。
目標軌道出力部20は自走式ロボット1の目的軌道を示す目標軌道データを出力する。
目標軌道データは、例えば、地点A1から地点A2まで目標速度V1で直進し、次に、地点A2で旋回半径r1で角速度ω1で旋回し、次に、地点A2から地点A3まで目標速度V2で走行するというように、自走式ロボット1を目標軌道に沿って走行させるための動作シーケンスを定義するデータである。目標軌道データは、例えば事前に作成され、メモリ26に記憶されている。したがって、目標軌道出力部20は、メモリ26から目標軌道データを読み出し、シーケンス番号にしたがって順次に目標軌道データを取得部21に出力すればよい。
取得部21は、目標軌道出力部20から目標軌道データを取得することによって目標速度を取得し、取得した目標軌道データに基づき、左モータ13aの目標速度である左目標速度Volと、右モータ13bの目標速度である右目標速度Vorとを計算し、補正部25に出力する。
進行方向算出部22は、エンコーダ15aから入力された左モータ13aの左回転速度θlと、エンコーダ15bから入力された右モータ13bの右回転速度θrとに基づいて本体10の進行方向を算出する。左回転速度θlは、左モータ13aの1秒間の回転量、すなわち、角速度である。右回転速度θrは、右モータ13bの1秒間の回転量、すなわち、角速度である。
進行方向算出部22の処理の詳細について、図4を用いて以下説明する。図4は、進行方向算出部22の処理の詳細を説明する図である。左駆動輪11a及び右駆動輪11bの半径は、それぞれrとする。この場合、1秒間の左駆動輪11aの移動距離はr・θlとなる。同様に、右駆動輪11bの1秒間の移動距離はr・θrとなる。右回転速度θr>左回転速度θlの場合、すなわち、本体10が左に旋回する場合、左駆動輪11aと右駆動輪11bとの移動距離の差は、r・(θr-θl)である。左駆動輪11aと右駆動輪11bとの車輪軸方向(X方向)の長さを2tとする。この場合、本体10の進行方向ωは、三角関数を用いて下記の式(1)で計算される。進行方向ωは本体10のヨー軸(Z軸)周りの1秒あたり旋回角度である。
ω=tan-1(r・(θr-θl)/2t) (1)
このことは、θr<θlの場合、すなわち、本体10が右に旋回する場合も同様である。進行方向算出部22は、式(1)を用いて計算した本体10の進行方向ωを補正量算出部23に出力する。
補正量算出部23は、力センサ14が検出した横力Fl,Frに基づいて、左目標速度Vol及び右目標速度Vorのそれぞれに対する左補正量ΔVol及び右補正量ΔVorを算出し、補正部25に出力する。
具体的には、補正量算出部23は、進行方向算出部22から出力された進行方向ωが本体10が直進しているとみなせる所定の条件を満たしているか否かを判定し、進行方向ωが所定の条件を満たしていると判定した場合にのみ、左補正量ΔVol及び右補正量ΔVorを算出する。所定の条件は、例えば、進行方向ωが事前に設定された角度εに対して、|ω|≦εであるという条件である。この条件は、進行方向ωがほぼ前進もしくは後進であることを示し、本体10に旋回が起きていないことを意味する。本体10に旋回が起きていない場合、自走式ロボット1に働くコーナリングフォースはほぼ0のため、横力Fl,Frは無いのが正常な状態である。しかし、カーペット上を走行する時にはカーペットの毛並みにより、左駆動輪11a及び右駆動輪11bには、横力Fl,Frが発生することがある。これにより、自走式ロボット1は、目標軌道が直進であるにも拘わらず、横方向に滑りながら直進する横滑りが発生するのである。
図5は、自走式ロボット1に作用する横力を示す図である。図5に示すように、横滑りが発生すると、左駆動輪11a及び右駆動輪11bのそれぞれに対して横力Fl,Frが生じる。図5の例では、+X方向(左方向)への横滑りが発生しているため、左駆動輪11a及び右駆動輪11bのそれぞれに対して+X方向(左方向)の横力Fl,Frが発生している。この場合、力センサ14により、一定値以上の横力Fl,Frが検出される。そのため、補正量算出部23は、横滑りが発生していると推定できる。
本実施の形態では、メモリ26は、事前実験によって得られた、横力Fl及び横力Frの和である横力Ftと、横力Ftの対応する左補正量ΔVolとの関係を示す補正データ261を記憶する。また、メモリ26は、事前実験によって得られた横力Ftと、横力Ftに対応する右補正量ΔVorとの関係を示す補正データ262を記憶する。補正量算出部23は、力センサ14により検出された横力Fl及び横力Frから横力Ftを算出し、横力Ftに対応する左補正量ΔVolを補正データ261を参照することによって取得すると共に、横力Ftに対応する右補正量ΔVorを補正データ262を参照することによって取得する。
図6は、補正データ261の特性を示すグラフである。図7は、補正データ262の特性を示すグラフである。補正データ261は、縦軸に左補正量ΔVolが設定され、横軸に横力Ftが設定されている。補正データ261において、横軸は、横力Ftが-X方向(右方向)を向く、すなわち、右方向への横滑りが発生している場合が正であり、横力Ftが+X方向(左方向)を向く、すなわち、左方向への横滑りが発生している場合が負である。
補正データ261は、横力Ftが横力Ft1よりも大きい場合、左補正量ΔVolは0であるが、横力Ftが横力Ft1以下の場合、左補正量ΔVolは横力Ftが負の方向に増大するにつれて例えばリニアに増大する。ここで、横力Ftが0より大きい場合、左補正量ΔVolが0であるのは、左方向への横滑りが発生していないため、左目標速度Volを補正する必要がないからである。横力Ftが横力Ft1より大きく0以下の場合、左補正量ΔVolが0である不感帯が設けられているのは、横力Ftが小さく、横滑りが発生しないと考えられるからである。横力Ftが横力Ft1以下の場合、横力Ftが負の方向に増大するにつれて左補正量ΔVolがリニア増大しているのは、左方向への横滑りを抑制するには、左方向に作用する横力Ftが増大するにつれて、左目標速度Volに加算する左補正量ΔVolを大きくする必要があるからである。
補正データ262は、縦軸に右補正量ΔVorが設定され、横軸に横力Ftが設定されている。補正データ262において、横軸は、横力Ftが-X方向(右方向)を向く、すなわち、右方向への横滑りが発生している場合が正であり、横力Ftが+X方向(左方向)を向く、すなわち、左方向への横滑りが発生している場合が負である。
補正データ262は、横力Ftが横力Ft2以下の場合、右補正量ΔVorは0であるが、横力Ftが横力Ft2より大きい場合、右補正量ΔVorは横力Ftが正の方向に増大するにつれて例えばリニアに増大する。ここで、横力Ftが0以下の場合、右補正量ΔVorが0であるのは、右方向への横滑りが発生していないため、右目標速度Vorを補正する必要がないからである。横力Ftが0より大きく横力Ft2より小さい場合、右補正量ΔVorが0である不感帯が設けられているのは、横力Ftが小さく、横滑りが発生しないと考えられるからである。横力Ftが横力Ft2より大きい場合、横力Ftが正の方向に増大するにつれて右補正量ΔVorがリニア増大しているのは、右方向に作用する横力Ftが増大するにつれて、右目標速度Vorに加算する右補正量ΔVorを大きくして、右方向への横滑りを抑制するためである。図6及び図7の例では、横力Ft1と横力Ft2とは正負は異なるが絶対値は同じである。
例えば、力センサ14により検出された横力FtがFtxであったとすると、補正量算出部23は、補正データ261を参照して、Ftxに対応する左補正量ΔVol(=ΔVoly)を取得すると共に、補正データ262を参照して、Ftxに対応する右補正量ΔVor(=0)を取得する。そして、補正量算出部23は、取得した左補正量ΔVol(=ΔVoly)と右補正量ΔVor(=0)とを補正部25に出力する。これにより、左方向への横滑りが生じている場合において、左補正量ΔVol(=ΔVoly)が左目標速度Volに加算される一方、右目標速度Vorには右補正量ΔVor(=0)が加算されるため、左目標速度Volの方が右目標速度Vorよりも大きくなる。その結果、左駆動輪11aの駆動力が右駆動輪11bの駆動力よりも大きくなり、本体10の左方向への横滑りが抑制される。
図3に参照を戻す。補正部25は、左補正量ΔVol及び右補正量ΔVorに基づいて左目標速度Vol及び右目標速度Vorのそれぞれを補正する。補正部25は、加算器251を含む。加算器251は、取得部21から出力された左目標速度Volに補正量算出部23から出力された左補正量ΔVolを加算することで、左目標速度Volを補正する。加算器251は、取得部21から出力された右目標速度Vorに補正量算出部23から出力された右補正量ΔVorを加算することで、右目標速度Vorを補正する。
駆動部24は、補正部25により補正された左目標速度Vol及び右目標速度Vorに基づいて左駆動輪11a及び右駆動輪11bを駆動させる。駆動部24は、図1で説明した左モータ13a、右モータ13b、エンコーダ15a、及びエンコーダ15bを含む。
補正部25によって補正された左目標速度Volは左モータ13aに入力される。これにより、左モータ13aは、左目標速度Volで回転するように制御される。また、補正部25によって補正された右目標速度Vorは右モータ13bに入力される。これにより、右モータ13bは、右目標速度Vorで回転するように制御される。
図8は、実施の形態1に係る自走式ロボット1の処理の一例を示すフローチャートである。なお、図8のフローは例えば所定の演算周期で繰り返し実行される。ステップS1では、取得部21は、目標軌道出力部20から取得した目標軌道データから左目標速度Vol及び右目標速度Vorを算出する。
ステップS2では、エンコーダ15aは左回転速度θlを検出し、エンコーダ15bは右回転速度θrを検出する。
ステップS3では、進行方向算出部22は、左駆動輪11aの移動距離r・θlと右駆動輪11bの移動距離r・θrとを算出する。
ステップS4では、進行方向算出部22は、移動距離r・θlと移動距離r・θrとの差r・(θr-θl)を算出する。
ステップS5では、進行方向算出部22は、r・(θr-θl)を式(1)に代入して進行方向ωを算出する。
ステップS6では、補正量算出部23は、進行方向ωが角度ε以下であるか否かを判定する。進行方向ωが角度ε以下である場合(ステップS6でYES)、力センサ14aは横力Flを検出し、力センサ14bは横力Frを検出する(ステップS7)。
ステップS8では、補正量算出部23は、横力Fl及び横力Frを加算して横力Ftを算出し、補正データ261を参照して横力Ftに対応する左補正量ΔVolを算出すると共に、補正データ262を参照して横力Ftに対応する右補正量ΔVorを算出する。
ステップS9では、補正部25は、左目標速度Volに左補正量ΔVolを加算して、左目標速度Volを補正すると共に、右目標速度Vorに右補正量ΔVorを加算して、右目標速度Vorを補正する。
ステップS10では、駆動部24は、補正後の左目標速度Volで左モータ13aを駆動し、補正後の右目標速度Vorで右モータ13bを駆動する。ステップS10が終了すると、処理はステップS1に戻る。
ステップS6において、進行方向ωが角度εより大きい場合(ステップS6でNO)、駆動部24は、ステップS1で算出した左目標速度Vol及び右目標速度Vorで左モータ13a及び右モータ13bを駆動する(ステップS11)。ステップS11が終了すると処理はステップS1に戻る。
このように、本実施の形態によれば、本体10の直進時に、左駆動輪11a及び右駆動輪11bに作用する横力Ftが検出され、検出した横力Ftに基づいて左補正量ΔVol及び右補正量ΔVorが算出され、左補正量ΔVol及び右補正量ΔVorに基づいて左目標速度Vol及び右目標速度Vorが補正され、補正された左目標速度Vol及び右目標速度Vorに基づいて、左駆動輪11a及び右駆動輪11bが駆動される。
ここで、左駆動輪11a及び右駆動輪11bに作用する横力Ftは本体10が旋回していなくても、本体10が横滑りしていれば発生する。したがって、本構成は、本体10が床面上を旋回していない場合であっても、横滑りを抑制できる。
さらに、実施の形態1では横力Fl,Frが直接検出されて、左目標速度Vol及び右目標速度Vorが補正されているため、実際に自走式ロボット1が進行方向とは別の方向に滑り出す前に左目標速度Vol及び右目標速度Vorを補正でき、進行方向に沿った直進動作を保つことができる。
さらに、実施の形態1では、左駆動輪11a及び右駆動輪11bにかかる横力Ftに基づいて左目標速度Vol及び右目標速度Vorが補正されているため、本体10に作用する横力Ftが、本体10の旋回に起因するものであるか、本体10の横滑りに起因するものであるかに関係なく、本体10の進行方向に沿った直進動作を保つことができる。
(実施の形態2)
実施の形態2に係る自走式ロボット1Aは、横力Fl,Frを推定するものである。図9は、実施の形態2に係る自走式ロボット1Aの構成の一例を示す図である。なお、本実施の形態において実施の形態1と共通する構成要素には同一の符号を付して、説明を省略する。自走式ロボット1Aは、自走式ロボット1に対して更にエンコーダ15cを含む。
エンコーダ15cは、キャスター12に取り付けられている。エンコーダ15cは、キャスター12の本体10に対する旋回角度γを検出する角度センサの一例である。旋回角度γは、キャスター12のZ軸(ヨー軸)周りの回転角度である。
図10は、実施の形態2に係る自走式ロボット1Aの制御構成を示すブロック図である。自走式ロボット1Aは、自走式ロボット1の力センサ14に代えて、電流センサ16を備える。電流センサ16は、電流センサ16a,16bを含む。電流センサ16aは、例えば左モータ13aに設けられている。電流センサ16bは、例えば右モータ13bに設けられている。電流センサ16aは、左モータ13aの駆動電流の電流値Iaを検出し、外乱推定部27に出力する。電流センサ16bは、右モータ13bの駆動電流の電流値Ibを検出し、外乱推定部27に出力する。
なお、本実施の形態において、電流センサ16及びエンコーダ15a,15bは左駆動輪11a及び右駆動輪11bの状態を検出する状態センサの一例である。
自走式ロボット1Aは、自走式ロボット1に対して、進行方向算出部22に代えて外乱推定部27、及び横力推定部28を備える。なお、図10において、実施の形態1と機能が相違する同一名称のブロックには符号の末尾にAが付されている。
外乱推定部27は、電流センサ16aで検出された電流値Iaと、エンコーダ15aにより検出された左回転速度θlとに基づいて左モータ13aに発生している左負荷外乱Tlを推定する。外乱推定部27は、電流センサ16bで検出された電流値Ibと、エンコーダ15bにより検出された右回転速度θrとに基づいて右モータ13bに発生している右負荷外乱Trを推定する。ここで、外乱推定部27は、例えば外乱オブザーバを用いて左負荷外乱Tl及び右負荷外乱Trを推定すればよい。左モータ13a及び右モータ13bのそれぞれに発生している左負荷外乱Tl及び右負荷外乱Trは、それぞれ、左モータ13a及び右モータ13bの回転方向のトルクに対する外乱である。そのため、左駆動輪11a及び右駆動輪11bのそれぞれの半径をrとすると、左駆動輪11aの回転方向に発生している左外乱Fflは、r・Tlにより算出され、右駆動輪11bの回転方向に発生している右外乱Ffrは、r・Trにより算出される。そこで、外乱推定部27は、r・Tlにより左外乱Fflを算出し、r・Trにより右外乱Ffrを算出する。
横力推定部28は、外乱推定部27から出力された左外乱Ffl及び右外乱Ffrと、エンコーダ15cから出力されたキャスター12の旋回角度γとに基づき左駆動輪11a及び右駆動輪11bに作用する車輪軸方向の力である横力Flatを推定する。
図11は、実施の形態2において、横力Flatの算出方法の一例を示す図である。この例では、左駆動輪11aで発生している左外乱Fflと、右駆動輪11bで発生している右外乱Ffrとにおいて、差の部分は走行に対する外乱(走行外乱)と考えられ、等しい部分は駆動力に相当すると考えられる。したがって、まず、横力推定部28は、Ffr-Fflにより、走行外乱を算出する。また、エンコーダ15cから出力された旋回角度γは、自走式ロボット1Aに発生している走行外乱の方向に近いと考えられる。すなわち、旋回角度γの方向に走行外乱Fallが発生しているとみなすことができる。そこで、横力推定部28は、式(2)を用いて、走行外乱Fallを推定する。
Fall=k・((Ffr-Ffl)/cosγ) (2)
kは事前の実験で決められた調整係数である。
ここで、自走式ロボット1Aに発生している走行外乱Fallのうち、車輪軸方向に相当する成分が横力Flatとみなすことができる。そのため、横力Flatは三角関数を用いて式(3)によって表される。
Flat=Fall・sinγ (3)
そこで、横力推定部28は、Flat・sinγにより、横力Flatを推定する。
補正量算出部23Aは、横力推定部28により推定された横力Flatに基づき左補正量ΔVolと右補正量ΔVorとを算出する。具体的には、補正量算出部23Aは、図12に示す補正データ263を参照して、左補正量ΔVolと右補正量ΔVorとを算出し、補正部25に出力する。図12は、補正データ263の特性を示すグラフである。補正データ263は、縦軸に左補正量ΔVol及び右補正量ΔVorが設定され、横軸に横力Flatが設定されている。補正データ263において、横軸は、横力Flatが-X方向(右方向)を向く、すなわち、右方向への横滑りが発生する場合が正であり、横力Flatが+X方向(左方向)を向く、すなわち、左方向への横滑りが発生する場合が負である。
図12において、実線で示す左補正量ΔVolは、横力Flatが0より大きい場合、0である。これは、横力Flatが0より大きい場合、左方向への横滑りが発生していないため、左目標速度Volを補正する必要がないからである。また、左補正量ΔVolは、横力Flatが0以下の場合、横力Flatが負の方向に増大するにつれて、例えばリニアに増大する。これは、左方向への横滑りを抑制するには、左方向に作用する横力Flatが増大するにつれて、左目標速度Volに加算する左補正量ΔVolを大きくする必要があるからである。
図12において、点線で示す右補正量ΔVorは、横力Flatが0以下の場合、0である。これは、横力Flatが0以下の場合、右方向への横滑りが発生していないため、右目標速度Vorを補正する必要がないからである。また、右補正量ΔVorは、横力Flatが0より大きい場合、横力Flatが正の方向に増大するにつれて、例えばリニアに増大する。これは、右方向への横滑りを抑制するには、右方向に作用する横力Flatが増大するにつれて、右目標速度Vorに加算する右補正量ΔVorを大きくする必要があるからである。
なお、図12では、図6、図7に示すように、不感帯が設けられていないのは、本実施の形態では、式(3)に示すようにキャスター12が本体10に対して旋回していることを条件に左補正量ΔVol、右補正量ΔVorが算出されているからである。すなわち、キャスター12が本体10に対して旋回しているということは、横滑りが生じるために必要な横力Flatが十分に発生していると考えられるからである。
例えば、力センサ14により検出された横力Flatが=Ftxであったとすると、補正量算出部23Aは、補正データ263を参照して、Ftxに対応する左補正量ΔVol(=ΔVoly)を取得すると共に、Ftxに対応する右補正量ΔVor(=0)を取得して、補正部25に出力する。これにより、左方向への横滑りが生じている場合において、左補正量ΔVol(=ΔVoly)が左目標速度Volに加算される一方、右目標速度Vorには右補正量ΔVor(=0)が加算されるため、左目標速度Volの方が右目標速度Vorよりも大きくなる。その結果、左駆動輪11aの駆動力が右駆動輪11bの駆動力よりも大きくなり、本体10の左方向への横滑りが抑制される。
図10に参照を戻す。目標軌道出力部20Aは自走式ロボット1Aの目標軌道データを取得部21に出力することに加えて、本実施の形態では、更に目標軌道データから得られる、自走式ロボット1が現在、直進走行中であるか否かを示す直進通知信号を補正量算出部23Aに出力する。左モータ13a及び右モータ13bのそれぞれの応答時間等の影響により、目標軌道データが取得部21に出力された時点から、実際に自走式ロボット1Aが目標軌道データしたがった動作を開始するまでには遅延が発生する。そこで、目標軌道出力部20Aは、事前に遅延時間(例えば1秒)を設定しておき、直進走行を示す目標軌道データを取得部21に出力した時点から遅延時間が経過した時点で、補正量算出部23Aに直進通知信号を出力してもよい。この場合、補正量算出部23Aは直進通知信号を受信してから左目標速度Vol及び右目標速度Vorの補正処理を開始すればよい。これにより、補正量算出部23Aは、目標軌道データが直進走行中であることを示す場合においてのみ、補正処理を行うことができる。
図13は、実施の形態2に係る自走式ロボット1Aの処理の一例を示すフローチャートである。なお、図13のフローは例えば所定の演算周期で繰り返し実行される。ステップS101では、取得部21は、目標軌道出力部20から取得した目標軌道データから左目標速度Vol及び右目標速度Vorを算出する。
ステップS102では、電流センサ16aは、左モータ13aの電流値Iaを検出し、電流センサ16bは、右モータ13bの電流値Ibを検出する。また、ステップS102では、エンコーダ15aは、左モータ13aの左回転速度θlを検出し、エンコーダ15bは、右モータ13bの右回転速度θrを検出する。また、ステップS2では、エンコーダ15cは、キャスター12の旋回角度γを検出する。
ステップS103では、外乱推定部27は、電流値Iaと左回転速度θlとに基づいて左負荷外乱Tlを推定すると共に、電流値Ibと右回転速度θrとに基づいて右負荷外乱Trを推定する。
ステップS104では、外乱推定部27は、r・Tlにより左外乱Fflを算出すると共に、r・Trにより右外乱Ffrを算出する。
ステップS105では、横力推定部28は、左外乱Ffl及び右外乱Ffrの差(=Ffr-Ffl)を算出する。
ステップS106では、横力推定部28は、左外乱Ffl及び右外乱Ffrの差(=Ffr-Ffl)と、旋回角度γとを式(2)に代入し、走行外乱Fallを算出する。
ステップS107では、横力推定部28は、走行外乱Fallと、旋回角度γとを式(3)に代入し、横力Flatを算出する。
ステップS108では、補正量算出部23Aは、補正データ263を参照することにより、推定された横力Flatに対する左補正量ΔVolと右補正量ΔVorとを算出する。
ステップS109、S110の処理は、図8に示すステップS9、S10と同じである。
以上、実施の形態2によれば、横力推定部28により推定された横力Flatに基づいて、補正量算出部23Aにより左補正量ΔVol及び右補正量ΔVorが算出され、左補正量ΔVol及び右補正量ΔVorに基づいて左目標速度Vol及び右目標速度Vorが補正されている。そのため、自走式ロボット1Aは、絨毯のような外乱のある環境下でも目標軌道が直進の時に横滑りすることなく直進動作を実現することができる。
ここで、走行外乱Fall及びキャスター12(従動キャスター)の旋回角度γを用いて、左駆動輪11a及び右駆動輪11bに作用する横力Flatを推定する意味を説明する。例えば、絨毯の影響により駆動輪11に対して横滑りまたは旋回が発生していてもそれを補正せず、かつ直進を意図して左右の駆動輪11に同一の速度指令を与え続けた場合、絨毯の影響により、左右の駆動輪11の速度差はほとんど発生しない場合がある。つまり、左右の駆動輪11に速度差のみに基づいて、絨毯による横滑りまたは旋回を検知することが難しい場合がある。一方、本実施形態では、絨毯の影響により駆動輪11に対して横滑りまたは旋回が発生している場合を、走行外乱Fallを用いることにより検出することができる。特に、本実施形態は、電流値Ia及び左回転速度θlに基づく左外乱Fflと、電流値Ib及び右回転速度θrに基づく右外乱Ffrとが、絨毯の影響により駆動輪11に対して横滑りまたは旋回が発生していてもそれを補正せず、かつ直進を意図して左右の駆動輪11に同一の速度指令を与え続ける場合でも、その差異が現れる知見を利用している。一方、この走行外乱Fallは、左右の駆動輪11の回転方向に加わる走行外乱であり、横滑りを引き起こす力とは、床面において垂直の関係にある。よって、本実施形態は、走行外乱Fallに加えて、横滑りを引き起こす方向の力に影響するキャスター12(従動キャスター)の旋回角度γを用いることにより、絨毯の影響の検知精度を高め、直進動作を実現している。
さらに、実施の形態2によれば、横力Flatが推定されているため、横力Flatを推定するためのセンサを用いることなく、自走式ロボット1Aに横滑りのない直進動作を行わせることができる。
さらに、実施の形態2によれば、左駆動輪11a及び右駆動輪11bにかかる横力Flatに基づいて左目標速度Vol及び右目標速度Vorが補正されているため、本体10に作用する横力Ftが、本体10の旋回に起因するものなのか、或いは本体10の横滑りに起因するものなのかに関係なく、本体10の直進動作を保つことができる。
本実施の形態は以下の変形例が採用できる。
(1)実施の形態2において、目標軌道出力部20Aは、補正量算出部23Aに対して走行通知信号を出力していたが、これは一例であり、走行通知信号を出力しなくてもよい。
(2)実施の形態1では、メモリ26は補正データ261と補正データ262とを備えているがこれは一例であり、メモリ26は補正データ261と補正データ262とが集約された補正データを記憶してもよい。この場合、メモリ26は、車輪軸の左方向の横力Ftが増大するにつれて、左補正量ΔVolが右補正量ΔVorに比べて増大するように横力Ftと左補正量ΔVol及び右補正量ΔVorとが対応付けられ、且つ車輪軸の右方向の横力Ftが増大するにつれて、右補正量ΔVorが左補正量ΔVolに比べて増大するように横力Ftと右補正量ΔVor及び左補正量ΔVolとが対応付けられた補正データを記憶すればよい。
(3)補正データ261及び補正データ262は、それぞれ不感帯を備えていたが、本開示はこれに限定されず、不感帯を備えていなくてもよい。
(4)実施の形態1では、2つの力センサ14a,14bが用いられているが、これは一例であり、自走式ロボット1は、力センサ14a,14bのうちのいずれか一方の力センサを備えていてもよい。この場合、補正量算出部23は、1つの力センサが検出した横力を2倍することで横力Ftを算出してもよい。或いは、補正データ261,262は、それぞれ、1つの力センサが検出した横力と左補正量ΔVolと右補正量ΔVorとを対応付けた補正データで構成されればよい。
本開示によれば、横滑りを抑制して自走式ロボットを目標軌道通りに走行させることができるため、掃除ロボットなどの自走式ロボットに有用である。
1 :自走式ロボット
1A :自走式ロボット
10 :本体
11 :駆動輪
11a :左駆動輪
11b :右駆動輪
12 :キャスター
13 :モータ
13a :左モータ
13b :右モータ
14 :力センサ
14a :力センサ
14b :力センサ
15a :エンコーダ
15b :エンコーダ
15c :エンコーダ
16 :電流センサ
16a :電流センサ
16b :電流センサ
20 :目標軌道出力部
20A :目標軌道出力部
21 :取得部
22 :進行方向算出部
23 :補正量算出部
23A :補正量算出部
24 :駆動部
25 :補正部
26 :メモリ
27 :外乱推定部
28 :横力推定部
251 :加算器

Claims (5)

  1. 2つの駆動輪と、少なくとも1つの従動キャスターと、前記2つの駆動輪をそれぞれ駆動する駆動部と、前記少なくとも1つの従動キャスターに接続されたセンサと、前記駆動部及び前記センサに接続された制御手段と、を備える自走式ロボットであって、
    前記センサは、前記少なくとも1つの従動キャスターの旋回角度を検出し、前記制御手段は、前記少なくとも1つの従動キャスターの前記旋回角度に基づいて前記2つの駆動輪を独立して動作させるように前記駆動部を制御する自走式ロボット。
  2. 前記センサは、前記旋回角度を検出する角度センサである、
    請求項1記載の自走式ロボット。
  3. 前記2つの駆動輪のそれぞれの状態を検出する状態センサをさらに備え、
    前記制御手段は、
    前記状態センサが検出した前記2つの駆動輪のそれぞれの状態に基づいて、前記2つの駆動輪のそれぞれの回転方向に発生する外乱を推定し、
    前記センサにより検出された前記旋回角度と、推定された前記2つの駆動輪のそれぞれの外乱とに基づいて、前記2つの駆動輪のそれぞれに作用する車輪軸方向の力である横力を推定し、
    推定した前記横力に基づいて前記2つの駆動輪のそれぞれの目標速度に対する補正量を算出し、
    前記2つの駆動輪のそれぞれの補正量に基づいて前記2つの駆動輪のそれぞれの目標速度を補正し、
    補正した前記2つの駆動輪の目標速度に基づいて前記2つの駆動輪を回転させる、
    請求項1又は2記載の自走式ロボット。
  4. 前記制御手段は、前記自走式ロボットが直進している場合のみ補正量を算出する、
    請求項3記載の自走式ロボット。
  5. 2つの駆動輪と、少なくとも1つの従動キャスターと、前記2つの駆動輪をそれぞれ駆動する駆動手段と、前記少なくとも1つの従動キャスターに接続されたセンサと、前記駆動手段及び前記センサに接続された制御手段と、を備える自走式ロボットの制御方法であって、
    前記センサが、前記少なくとも1つの従動キャスターの旋回角度を検出するステップと、
    前記制御手段が、前記少なくとも1つの従動キャスターの前記旋回角度に基づいて前記2つの駆動輪を独立して動作させるように前記駆動手段を制御するステップと、を備える制御方法。
JP2024006091A 2019-08-21 2024-01-18 自走式ロボット及びその制御方法 Pending JP2024038433A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019151532 2019-08-21
JP2019151532 2019-08-21
JP2020089786A JP7429902B2 (ja) 2019-08-21 2020-05-22 自走式ロボット

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020089786A Division JP7429902B2 (ja) 2019-08-21 2020-05-22 自走式ロボット

Publications (1)

Publication Number Publication Date
JP2024038433A true JP2024038433A (ja) 2024-03-19

Family

ID=74645709

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020089786A Active JP7429902B2 (ja) 2019-08-21 2020-05-22 自走式ロボット
JP2024006091A Pending JP2024038433A (ja) 2019-08-21 2024-01-18 自走式ロボット及びその制御方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020089786A Active JP7429902B2 (ja) 2019-08-21 2020-05-22 自走式ロボット

Country Status (3)

Country Link
US (1) US20210055738A1 (ja)
JP (2) JP7429902B2 (ja)
CN (2) CN117204771A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7407421B2 (ja) * 2019-08-09 2024-01-04 パナソニックIpマネジメント株式会社 移動ロボット、制御方法、及び制御プログラム
IT202100019280A1 (it) * 2021-07-21 2023-01-21 Alba Robot S R L Metodo per la correzione di errori di odometria durante la movimentazione autonoma di un apparato a rotelle e relativa unità di controllo

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2900001B2 (ja) * 1991-09-18 1999-06-02 日本電子工業株式会社 車両のアンチロックブレーキ装置及び車両のトラクションコントロール装置
JP3076648B2 (ja) * 1992-01-10 2000-08-14 松下電器産業株式会社 自走式掃除機
SE9302874L (sv) * 1992-09-08 1994-03-09 Gold Star Co Anordning vid självgående dammsugare
JP3748334B2 (ja) * 1997-10-15 2006-02-22 日野自動車株式会社 車両の姿勢制御装置
JP3889261B2 (ja) * 2001-10-11 2007-03-07 本田技研工業株式会社 車体ヨーレイト推定装置
JP3921394B2 (ja) 2002-02-19 2007-05-30 株式会社ジェイテクト 車両の操舵装置
JP2004272411A (ja) 2003-03-06 2004-09-30 Nippon Yusoki Co Ltd 自律走行車の操舵補正装置
JP4211638B2 (ja) * 2004-02-26 2009-01-21 三菱自動車工業株式会社 車両用パワーステアリング装置及び車両用外乱推定装置
JP4029856B2 (ja) * 2004-03-26 2008-01-09 トヨタ自動車株式会社 車輌の挙動制御装置
JP4638185B2 (ja) * 2004-08-04 2011-02-23 富士重工業株式会社 車両の挙動制御装置
JP4264902B2 (ja) 2005-10-21 2009-05-20 セイコーエプソン株式会社 画像処理システム
TWI326811B (en) * 2006-12-29 2010-07-01 Ind Tech Res Inst Moving apparatus and method of self-direction-test and self-direction-correction thereof
US7835846B2 (en) * 2007-02-28 2010-11-16 Gm Global Technology Operations, Inc. Nonlinear vehicle yaw/roll/sideslip command interpreter
JP5125669B2 (ja) * 2008-03-25 2013-01-23 トヨタ自動車株式会社 四輪駆動車の車体速推定装置
JP5463463B2 (ja) 2009-11-30 2014-04-09 株式会社 神崎高級工機製作所 乗用型対地作業車両
WO2011077669A1 (ja) * 2009-12-25 2011-06-30 本田技研工業株式会社 車両の後輪トー角制御装置
JP5621559B2 (ja) * 2010-12-02 2014-11-12 日産自動車株式会社 移動体の操舵反力調整装置
DE102011003693A1 (de) * 2011-02-07 2012-08-09 Robert Bosch Gmbh Vorrichtung zum Kompensieren eines Störgiermoments bei einem Fahrzeug mit mindestens zwei radindividuellen Antrieben
US9223312B2 (en) * 2012-06-08 2015-12-29 Irobot Corporation Carpet drift estimation using differential sensors or visual measurements
WO2014073180A1 (ja) * 2012-11-07 2014-05-15 日産自動車株式会社 操舵制御装置
CN103206936B (zh) * 2013-03-13 2015-08-05 洛阳轴研科技股份有限公司 用于轴承轴向凸出量检测的匀速转动及轴向力控制方法
KR101854680B1 (ko) * 2016-04-29 2018-06-14 엘지전자 주식회사 이동 로봇 및 그 제어방법
JP2018069998A (ja) * 2016-10-31 2018-05-10 株式会社ジェイテクト 車両用姿勢制御装置
CN109394095B (zh) * 2018-10-23 2020-09-15 珠海市一微半导体有限公司 一种机器人运动地毯偏移的控制方法、芯片及清洁机器人

Also Published As

Publication number Publication date
JP2021036416A (ja) 2021-03-04
JP7429902B2 (ja) 2024-02-09
US20210055738A1 (en) 2021-02-25
CN112401776B (zh) 2023-11-17
CN112401776A (zh) 2021-02-26
CN117204771A (zh) 2023-12-12

Similar Documents

Publication Publication Date Title
JP2024038433A (ja) 自走式ロボット及びその制御方法
JP6729155B2 (ja) アクチュエータ制御装置
JP6299415B2 (ja) ステアリング装置
US10077072B2 (en) Vehicle steering device and vehicle steering control method with reduced lateral speed
US20190367083A1 (en) Steering control apparatus
US11975787B2 (en) Control device for mobile body
CN111559379B (zh) 使用转向系统信号的道路摩擦系数估计
JP4625859B2 (ja) 倒立振子型移動機構
JP4264399B2 (ja) 無人搬送車
JP2009208602A (ja) 車線維持支援装置及び車線維持支援方法
JP5380860B2 (ja) 車線維持支援装置及び車線維持支援方法
JP2010058661A (ja) 車両用舵角検出装置及びこれを使用した電動パワーステアリング装置
JP5913001B2 (ja) 移動体制御装置、その制御方法、及び制御プログラム
JP5483194B2 (ja) スライディングモード制御装置及び車両の自動操舵制御装置
JP2017047705A (ja) 車両の挙動制御装置及び車両の挙動制御方法
CN111572548B (zh) 使用转向系统信号的道路摩擦系数估计
JP5768865B2 (ja) 電動パワーステアリング装置
US20140297124A1 (en) Inverted pendulum type vehicle
JP2005329798A (ja) 電動式パワーステアリング制御装置
JP7000636B2 (ja) 操舵装置
JP2005162153A (ja) 操舵制御装置
JP2008247248A (ja) 車両用操舵装置
JP5817359B2 (ja) 車両姿勢制御装置
JP4449911B2 (ja) 自律移動装置
JP2012003452A (ja) スライディングモード制御装置及び車両の自動操舵制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240118